<?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>143073</bug_id>
          
          <creation_ts>2015-03-25 21:05:19 -0700</creation_ts>
          <short_desc>Object cycles should not prevent allocation elimination/sinking</short_desc>
          <delta_ts>2016-09-01 11:18:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>161492</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Basile Clement">basile_clement</assigned_to>
          <cc>basile_clement</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1080182</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-25 21:05:19 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091526</commentid>
    <comment_count>1</comment_count>
      <attachid>252332</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-05-04 14:17:22 -0700</bug_when>
    <thetext>Created attachment 252332
Patch

First draft, does not handle OSR exit and needs testing (obviously WIP)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091965</commentid>
    <comment_count>2</comment_count>
      <attachid>252425</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-05-05 17:46:30 -0700</bug_when>
    <thetext>Created attachment 252425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091966</commentid>
    <comment_count>3</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-05-05 17:47:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created attachment 252425 [details]
&gt; Patch

Still WIP, needs lots of cleaning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092255</commentid>
    <comment_count>4</comment_count>
      <attachid>252500</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-05-06 11:44:34 -0700</bug_when>
    <thetext>Created attachment 252500
Patch

Cleanup, OSR exit, proper MovHints, probably needs StoreBarriers somewhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101998</commentid>
    <comment_count>5</comment_count>
      <attachid>254886</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-15 12:26:00 -0700</bug_when>
    <thetext>Created attachment 254886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102004</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-15 12:31:30 -0700</bug_when>
    <thetext>Attachment 254886 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:558:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:621:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:628:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:653:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:677:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:825:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:843:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:865:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:868:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:870:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:886:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:929:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:956:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:1142:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:1146:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:1195:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:1248:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationEliminationPhase.cpp:1252:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 18 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105108</commentid>
    <comment_count>7</comment_count>
      <attachid>255679</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-26 18:02:16 -0700</bug_when>
    <thetext>Created attachment 255679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105112</commentid>
    <comment_count>8</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-26 18:18:39 -0700</bug_when>
    <thetext>Not asking for review right now since I realized ChangeLogs are not ready and I spend a lot of time fighting absurd benchmarking problems.

If the following results can be trusted (I don&apos;t even know anymore ; I spent the afternoon seeing slower results with the Options::enableAllocationCycleSinking() check than when forcing it to either true *or* false), looks like a nice speedup on Octane/earley (but this might be the adding of GetScope/SkipScope/GetExecutable as non-escaping, which could be easily backported to the old sinking phase).
Otherwise, no real change - which kind of makes sense, I suppose, since people creating cyclic object graphs locally without ever using them is probably pretty rare. It might also be due to patterns such as:

  var o = {};
  if (foo)
    o.x = { x: val, y: val };
  else
    o.x = { x: val, y: val };

which currently kill the analysis. I will investigate if that&apos;s the case, because adding support for this in the new sinking phase should be much easier than in the old one.

(Posting the bench result in another comment due to hitting the comment size limit)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105113</commentid>
    <comment_count>9</comment_count>
      <attachid>255681</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-26 18:20:23 -0700</bug_when>
    <thetext>Created attachment 255681
Benchmark results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105247</commentid>
    <comment_count>10</comment_count>
      <attachid>255679</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-06-27 21:18:00 -0700</bug_when>
    <thetext>Comment on attachment 255679
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:285
&gt; +    Node* m_identifier;

m_identifier points to the node that does the allocation, right?  If so, it would be useful to document this in a brief comment, probably here.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:311
&gt; +    // argument a node-as-node. In the example graph above, at head
&gt; +    // of block #1, getAllocation(#@1) is ObjectAllocation(#@1, [{}])
&gt; +    // while onlyLocalAllocation(@1) is null (but
&gt; +    // onlyLocalAllocation(@2) = getAllocation(#@1))

Which example graph?  You have two above, and both have @1 that is a NewObject.

(Note to self: LGTM up to here so far.)

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:841
&gt; +            target = m_heap.onlyLocalAllocation(node-&gt;child2().node());

Why is this onlyLocalAllocation() rather than just getAllocation()?

(I guess I&apos;m having a hard time understanding the difference.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105250</commentid>
    <comment_count>11</comment_count>
      <attachid>255679</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-06-27 21:39:42 -0700</bug_when>
    <thetext>Comment on attachment 255679
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:311
&gt;&gt; +    // onlyLocalAllocation(@2) = getAllocation(#@1))
&gt; 
&gt; Which example graph?  You have two above, and both have @1 that is a NewObject.
&gt; 
&gt; (Note to self: LGTM up to here so far.)

Hmmm, I think I get it.  getAllocation() takes a node that is an actual allocation node, and gives us the allocation object for that node.  onlyLocalAllocation() takes any node that points to the allocation.

Now that I understand it, the names make sense to me.  I think this can be clarified in by:

- Making this comment have a copy of the example graph.  The redundancy is useful because the comment above may change, and because it&apos;s nice to read this comment without having to scroll to see the other one.
- Make it clear in the comment that getAllocation() takes a node that actually allocates.  The phrase &quot;node-as-identifier&quot; kind of says this, but you should clarify it.
- Add a comment on onlyLocalAllocation().

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:344
&gt; +    Allocation* onlyLocalAllocation(Node* node)

Add a comment here to indicate that this gives a solution to the points-to problem.  Given a node, which may be a heap read or an allocation, it gives us the allocation.  It would be cool to add a comment that hints how you are meant to use this - for example when abstractly executing a GetByOffset(@node, field).  Explain why getAllocation() would not be appropriate for that use case.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:365
&gt; +    void setWantEscapees()
&gt; +    {
&gt; +        m_wantEscapees = true;
&gt; +    }

You should explain what this is.  I guess it&apos;s a performance optimization to only compute the escapees when necessary?  If so, then it would be useful to note this here.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:371
&gt; +        HashMap&lt;Node*, Allocation&gt; result;
&gt; +        result.swap(m_escapees);
&gt; +        return result;

Hmmm, shouldn&apos;t &quot;return WTF::move(m_escapees)&quot; work here?

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:428
&gt; +                for (const auto&amp; pair : my.fields()) {
&gt; +                    auto iter = their.fields().find(pair.key);
&gt; +                    if (iter == their.fields().end()) {
&gt; +                        toEscape.add(pair.value);
&gt; +                        toRemove.append(pair.key);
&gt; +                    } else if (iter-&gt;value != pair.value) {
&gt; +                        toEscape.add(pair.value);
&gt; +                        toEscape.add(iter-&gt;value);
&gt; +                        toRemove.append(pair.key);
&gt; +                    }
&gt; +                }

So, if we have Phi(allocation1, allocation2), then all of the things that the fields of allocation1,allocation2 point to get escaped unless they point to the same thing?  I think a short blurb saying that this is what happens here would be useful.

Also, I find the reuse of &quot;pair&quot; and &quot;iter&quot; super confusing.  Could you rename them to say what they are.  Also I think that the term &quot;entry&quot; would be more correct for our HashMaps (which don&apos;t use std::pair).  So, you could rename this inner pair to &quot;fieldEntry&quot; and this inner iter to &quot;fieldIter&quot;.  The outer pair/iter could be renamed to &quot;allocationEntry&quot; and &quot;allocationIter&quot;.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458
&gt; +        Vector&lt;Node*&gt; toRemove;
&gt; +        for (const auto&amp; pair : m_pointers) {
&gt; +            auto iter = other.m_pointers.find(pair.key);
&gt; +            if (iter == other.m_pointers.end()) {
&gt; +                toEscape.add(pair.value);
&gt; +                toRemove.append(pair.key);
&gt; +            } else if (iter-&gt;value != pair.value) {
&gt; +                toEscape.add(pair.value);
&gt; +                toEscape.add(iter-&gt;value);
&gt; +                toRemove.append(pair.key);
&gt; +            }
&gt; +        }
&gt; +        for (const auto&amp; pair : other.m_pointers) {
&gt; +            if (m_pointers.contains(pair.key))
&gt; +                continue;
&gt; +            toEscape.add(pair.value);
&gt; +        }
&gt; +        for (Node* pointer : toRemove)
&gt; +            m_pointers.remove(pointer);

Hmmm, this look super similar to the three loops above for fields. :-)  Did you consider capturing this in some template stuff?

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:475
&gt; +    }

Note to self: LGTM up to here.

&gt;&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:841
&gt;&gt; +            target = m_heap.onlyLocalAllocation(node-&gt;child2().node());
&gt; 
&gt; Why is this onlyLocalAllocation() rather than just getAllocation()?
&gt; 
&gt; (I guess I&apos;m having a hard time understanding the difference.)

I think I get it now. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105409</commentid>
    <comment_count>12</comment_count>
      <attachid>255756</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-29 10:22:26 -0700</bug_when>
    <thetext>Created attachment 255756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105410</commentid>
    <comment_count>13</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-29 10:23:06 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:285
&gt; &gt; +    Node* m_identifier;
&gt; 
&gt; m_identifier points to the node that does the allocation, right?  If so, it
&gt; would be useful to document this in a brief comment, probably here.

Yes. Added a comment there.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:311
&gt; &gt; +    // argument a node-as-node. In the example graph above, at head
&gt; &gt; +    // of block #1, getAllocation(#@1) is ObjectAllocation(#@1, [{}])
&gt; &gt; +    // while onlyLocalAllocation(@1) is null (but
&gt; &gt; +    // onlyLocalAllocation(@2) = getAllocation(#@1))
&gt; 
&gt; Which example graph?  You have two above, and both have @1 that is a
&gt; NewObject.

There was an example graph at &quot;class LocalHeap&quot; at the time I wrote this that then got removed because it was trying to get across something that was actually irrelevant. I put back an example graph here, and tried to clarify the comments.
 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:841
&gt; &gt; +            target = m_heap.onlyLocalAllocation(node-&gt;child2().node());
&gt; 
&gt; Why is this onlyLocalAllocation() rather than just getAllocation()?
&gt; 
&gt; (I guess I&apos;m having a hard time understanding the difference.)

Cf new comments for getAllocation and follow/onlyLocalAllocation.

(In reply to comment #11)
&gt; &gt;&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:311
&gt; &gt;&gt; +    // onlyLocalAllocation(@2) = getAllocation(#@1))
&gt; &gt; 
&gt; &gt; Which example graph?  You have two above, and both have @1 that is a NewObject.
&gt; &gt; 
&gt; &gt; (Note to self: LGTM up to here so far.)
&gt; 
&gt; Hmmm, I think I get it.  getAllocation() takes a node that is an actual
&gt; allocation node, and gives us the allocation object for that node. 
&gt; onlyLocalAllocation() takes any node that points to the allocation.
&gt; 
&gt; Now that I understand it, the names make sense to me.  I think this can be
&gt; clarified in by:
&gt; 
&gt; - Making this comment have a copy of the example graph.  The redundancy is
&gt; useful because the comment above may change, and because it&apos;s nice to read
&gt; this comment without having to scroll to see the other one.
&gt; - Make it clear in the comment that getAllocation() takes a node that
&gt; actually allocates.  The phrase &quot;node-as-identifier&quot; kind of says this, but
&gt; you should clarify it.
&gt; - Add a comment on onlyLocalAllocation().

Done, done and done.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:344
&gt; &gt; +    Allocation* onlyLocalAllocation(Node* node)
&gt; 
&gt; Add a comment here to indicate that this gives a solution to the points-to
&gt; problem.  Given a node, which may be a heap read or an allocation, it gives
&gt; us the allocation.  It would be cool to add a comment that hints how you are
&gt; meant to use this - for example when abstractly executing a
&gt; GetByOffset(@node, field).  Explain why getAllocation() would not be
&gt; appropriate for that use case.

Done (although part of the explanation has rather been put in the comment above getAllocation()).

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:365
&gt; &gt; +    void setWantEscapees()
&gt; &gt; +    {
&gt; &gt; +        m_wantEscapees = true;
&gt; &gt; +    }
&gt; 
&gt; You should explain what this is.  I guess it&apos;s a performance optimization to
&gt; only compute the escapees when necessary?  If so, then it would be useful to
&gt; note this here.

Yes, added a comment.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:371
&gt; &gt; +        HashMap&lt;Node*, Allocation&gt; result;
&gt; &gt; +        result.swap(m_escapees);
&gt; &gt; +        return result;
&gt; 
&gt; Hmmm, shouldn&apos;t &quot;return WTF::move(m_escapees)&quot; work here?

I am not a big fan of move&apos;ing things that then get reused without being explicitly restored to a specific state first. No strong feeling here since WTF::HashTable would always restore m_escapees to an empty state, so I changed this.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:428
&gt; &gt; +                for (const auto&amp; pair : my.fields()) {
&gt; &gt; +                    auto iter = their.fields().find(pair.key);
&gt; &gt; +                    if (iter == their.fields().end()) {
&gt; &gt; +                        toEscape.add(pair.value);
&gt; &gt; +                        toRemove.append(pair.key);
&gt; &gt; +                    } else if (iter-&gt;value != pair.value) {
&gt; &gt; +                        toEscape.add(pair.value);
&gt; &gt; +                        toEscape.add(iter-&gt;value);
&gt; &gt; +                        toRemove.append(pair.key);
&gt; &gt; +                    }
&gt; &gt; +                }
&gt; 
&gt; So, if we have Phi(allocation1, allocation2), then all of the things that
&gt; the fields of allocation1,allocation2 point to get escaped unless they point
&gt; to the same thing?  I think a short blurb saying that this is what happens
&gt; here would be useful.

I added an explanation at top of the mergePointerSets template function that now abstracts this. Note that we don&apos;t handle Phi(allocation1, allocation2) right now, but only Phi(allocation1, allocation1), which is admittedly less interesting. I talk about the possibility of handling Phi(allocation1, allocation2) in the blurb at head of file, and that would require the following:

 - Stop identifying allocations by the node that created them and use some abstract identifier instead (e.g. an integer would work fine). We could still use an allocation node, but it would now be completely meaningless (see below).
 - When merging heaps, build an renaming table identifying allocations in both heaps through pointers, then through fields of unified allocations etc, escaping things as needed on the fly
 - Store into allocations the block in which they were last part of a renaming, because we will need a Phantom allocation node when merging allocations that don&apos;t come from the same block (instead of the Phi node we would have had otherwise)
 - Ensure that we store or recompute the renaming mappings when creating Upsilon nodes so that we can adequately redirect them

&gt; 
&gt; Also, I find the reuse of &quot;pair&quot; and &quot;iter&quot; super confusing.  Could you
&gt; rename them to say what they are.  Also I think that the term &quot;entry&quot; would
&gt; be more correct for our HashMaps (which don&apos;t use std::pair).  So, you could
&gt; rename this inner pair to &quot;fieldEntry&quot; and this inner iter to &quot;fieldIter&quot;. 
&gt; The outer pair/iter could be renamed to &quot;allocationEntry&quot; and
&gt; &quot;allocationIter&quot;.

Now called entry/iter in mergePointerSets. 

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458
&gt; &gt; +        Vector&lt;Node*&gt; toRemove;
&gt; &gt; +        for (const auto&amp; pair : m_pointers) {
&gt; &gt; +            auto iter = other.m_pointers.find(pair.key);
&gt; &gt; +            if (iter == other.m_pointers.end()) {
&gt; &gt; +                toEscape.add(pair.value);
&gt; &gt; +                toRemove.append(pair.key);
&gt; &gt; +            } else if (iter-&gt;value != pair.value) {
&gt; &gt; +                toEscape.add(pair.value);
&gt; &gt; +                toEscape.add(iter-&gt;value);
&gt; &gt; +                toRemove.append(pair.key);
&gt; &gt; +            }
&gt; &gt; +        }
&gt; &gt; +        for (const auto&amp; pair : other.m_pointers) {
&gt; &gt; +            if (m_pointers.contains(pair.key))
&gt; &gt; +                continue;
&gt; &gt; +            toEscape.add(pair.value);
&gt; &gt; +        }
&gt; &gt; +        for (Node* pointer : toRemove)
&gt; &gt; +            m_pointers.remove(pointer);
&gt; 
&gt; Hmmm, this look super similar to the three loops above for fields. :-)  Did
&gt; you consider capturing this in some template stuff?

See above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105866</commentid>
    <comment_count>14</comment_count>
      <attachid>255867</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-30 15:30:26 -0700</bug_when>
    <thetext>Created attachment 255867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105867</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-30 15:33:41 -0700</bug_when>
    <thetext>Attachment 255867 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:455:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:466:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:469:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:996:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1015:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1101:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1274:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1292:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1304:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1450:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1528:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1685:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1735:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:847:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:558:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 16 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105976</commentid>
    <comment_count>16</comment_count>
      <attachid>255867</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-06-30 23:11:39 -0700</bug_when>
    <thetext>Comment on attachment 255867
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:503
&gt; +    bool isValid() const

The only use of this is ASSERT(isValid()).  That means that if an error occurs, this method will return false, and the assertion will fire - but you won&apos;t know what about *this wasn&apos;t valid.

Maybe you can replace all uses of ASSERT(isValid()) with a call like assertIsValid(), rename this to assertIsValid(), have it return void, and put &quot;if (ASSERT_DISABLED) return&quot; at the top.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1075
&gt; +        // However, these rules allow for a sunk objet to be put into

*object

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1131
&gt; +        // Implement the closure rule

This would be clearer as &quot;Find the closure of sink candidates&quot; or something like that.  When I see this comment in isolation from the one above, it seems like this has to do with actual closures (i.e. activations).

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1255
&gt; +        HashMap&lt;Node*, HashSet&lt;Node*&gt;&gt; deps;
&gt; +        HashMap&lt;Node*, HashSet&lt;Node*&gt;&gt; rdeps;

I recommend better variables names here.  We usually don&apos;t use abbreviations.  How about dependencies and reverseDependencies?

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1332
&gt; +                int64_t maxEdges = 0;

Is it clear that you need int64_t here?  It seems like this is an unsigned quantity, and it&apos;s bounded by the number of nodes.  The number of nodes us usually unsigned, i.e. 32-bit.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1390
&gt; +    }

(Note to self: LGTM to here.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106084</commentid>
    <comment_count>17</comment_count>
      <attachid>255926</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-01 09:49:22 -0700</bug_when>
    <thetext>Created attachment 255926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106085</commentid>
    <comment_count>18</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-01 09:49:42 -0700</bug_when>
    <thetext>&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:503
&gt; &gt; +    bool isValid() const
&gt; 
&gt; The only use of this is ASSERT(isValid()).  That means that if an error
&gt; occurs, this method will return false, and the assertion will fire - but you
&gt; won&apos;t know what about *this wasn&apos;t valid.
&gt; 
&gt; Maybe you can replace all uses of ASSERT(isValid()) with a call like
&gt; assertIsValid(), rename this to assertIsValid(), have it return void, and
&gt; put &quot;if (ASSERT_DISABLED) return&quot; at the top.

Changed this.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1075
&gt; &gt; +        // However, these rules allow for a sunk objet to be put into
&gt; 
&gt; *object

Fixed.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1131
&gt; &gt; +        // Implement the closure rule
&gt; 
&gt; This would be clearer as &quot;Find the closure of sink candidates&quot; or something
&gt; like that.  When I see this comment in isolation from the one above, it
&gt; seems like this has to do with actual closures (i.e. activations).

Changed to &quot;Ensure that the set of sink candidates is closed for put operations&quot;.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1255
&gt; &gt; +        HashMap&lt;Node*, HashSet&lt;Node*&gt;&gt; deps;
&gt; &gt; +        HashMap&lt;Node*, HashSet&lt;Node*&gt;&gt; rdeps;
&gt; 
&gt; I recommend better variables names here.  We usually don&apos;t use
&gt; abbreviations.  How about dependencies and reverseDependencies?

Changed this, here and in determineSinkCandidates.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1332
&gt; &gt; +                int64_t maxEdges = 0;
&gt; 
&gt; Is it clear that you need int64_t here?  It seems like this is an unsigned
&gt; quantity, and it&apos;s bounded by the number of nodes.  The number of nodes us
&gt; usually unsigned, i.e. 32-bit.

The variable name is a misnomer from when I used the sum of incoming + outgoing edges (i.e. Put into this object and Put of this object into another) as a heuristic, while I now use the product of both, as it should reflect better of the &quot;centrality&quot; of the allocation w.r.t. others.
As a product of two 32-bit values we do need it to be 64-bit, but it should indeed be uint64_t. Changed that, and renamed it to maxEvaluation (and numEdges to evaluation).

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1390
&gt; &gt; +    }
&gt; 
&gt; (Note to self: LGTM to here.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106086</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-01 09:51:30 -0700</bug_when>
    <thetext>Attachment 255926 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:461:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:469:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:472:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:995:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1014:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1100:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1273:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1291:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1303:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1449:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1527:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1684:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1734:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:847:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:558:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 16 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106205</commentid>
    <comment_count>20</comment_count>
      <attachid>255926</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-01 15:55:02 -0700</bug_when>
    <thetext>Comment on attachment 255926
Patch

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

LGTM.  Please try to think of more correctness tests and add them in tests/stress.

You should split the ftl-no-cjit test run mode in run-jsc-stress-tests into ftl-no-cjit-experimental and ftl-no-cjit, where the -experimental one enables your phase.  You should do something similar for the internal spot check tests.  That way, while we still have both phases, our tests will test both of them.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1308
&gt; +        Vector&lt;PromotedHeapLocation&gt; toRecover;

Is there a better name?  Or add a comment that this is the cycle breaking.

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1329
&gt; +            // We have an actual cycle

This appears to select what to materialize based on a heuristic.  Can you at least mention the fact that it is a heuristic in the comment?

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1379
&gt; +            m_materializationSiteToRecoveries.add(
&gt; +                where, Vector&lt;PromotedHeapLocation&gt;()).iterator-&gt;value.appendRange(
&gt; +                    toRecover.begin(), toRecover.end());

Why not m_materializationSiteToRecoveries.add(where, toRecover)?

&gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1387
&gt; +            m_materializationSiteToRecoveries.add(
&gt; +                where, Vector&lt;PromotedHeapLocation&gt;()).iterator-&gt;value.appendRange(
&gt; +                    hints.begin(), hints.end());

Ditto.

&gt; Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp.orig:26
&gt; +/*
&gt; + * Copyright (C) 2014, 2015 Apple Inc. All rights reserved.
&gt; + *
&gt; + * Redistribution and use in source and binary forms, with or without
&gt; + * modification, are permitted provided that the following conditions
&gt; + * are met:
&gt; + * 1. Redistributions of source code must retain the above copyright
&gt; + *    notice, this list of conditions and the following disclaimer.
&gt; + * 2. Redistributions in binary form must reproduce the above copyright
&gt; + *    notice, this list of conditions and the following disclaimer in the
&gt; + *    documentation and/or other materials provided with the distribution.
&gt; + *
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS&apos;&apos; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
&gt; + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
&gt; + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
&gt; + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
&gt; + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
&gt; + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
&gt; + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
&gt; + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
&gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
&gt; + */
&gt; +
&gt; +#include &quot;config.h&quot;

Seems like this file shouldn&apos;t be added?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106220</commentid>
    <comment_count>21</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-01 16:17:42 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Comment on attachment 255926 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=255926&amp;action=review
&gt; 
&gt; LGTM.  Please try to think of more correctness tests and add them in
&gt; tests/stress.

Oh, it looks like the tests I talked about have been lost somewhere. Disregard what I said offline ; there are 5-6 more tests that belong in tests/stress that I will add back.

&gt; 
&gt; You should split the ftl-no-cjit test run mode in run-jsc-stress-tests into
&gt; ftl-no-cjit-experimental and ftl-no-cjit, where the -experimental one
&gt; enables your phase.  You should do something similar for the internal spot
&gt; check tests.  That way, while we still have both phases, our tests will test
&gt; both of them.

I will look at this. Submitting a new patch tomorrow or next week with all these.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1308
&gt; &gt; +        Vector&lt;PromotedHeapLocation&gt; toRecover;
&gt; 
&gt; Is there a better name?  Or add a comment that this is the cycle breaking.

I&apos;ll try to think about a better name and add a comment.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1329
&gt; &gt; +            // We have an actual cycle
&gt; 
&gt; This appears to select what to materialize based on a heuristic.  Can you at
&gt; least mention the fact that it is a heuristic in the comment?

There is a small explanation on the comment at 1218-1249 ; I&apos;ll add a comment for this.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1379
&gt; &gt; +            m_materializationSiteToRecoveries.add(
&gt; &gt; +                where, Vector&lt;PromotedHeapLocation&gt;()).iterator-&gt;value.appendRange(
&gt; &gt; +                    toRecover.begin(), toRecover.end());
&gt; 
&gt; Why not m_materializationSiteToRecoveries.add(where, toRecover)?
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1387
&gt; &gt; +            m_materializationSiteToRecoveries.add(
&gt; &gt; +                where, Vector&lt;PromotedHeapLocation&gt;()).iterator-&gt;value.appendRange(
&gt; &gt; +                    hints.begin(), hints.end());
&gt; 
&gt; Ditto.


Because we could have recoveries at the same node for several reasons. Off the top of my head I can only think of two cases (a terminal node that escapes an allocation and follows up to an edge that also escapes other allocations, and allocations that escape on two different outgoing edges) where this would happen, and I believe that those are not possible right now.
I preferred using the safe approach rather than introducing super subtle bugs when one day we end up with a Branch on a NewObject or something.

&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp.orig:26
&gt; &gt; +/*
&gt; &gt; + * Copyright (C) 2014, 2015 Apple Inc. All rights reserved.
&gt; &gt; + *
&gt; &gt; + * Redistribution and use in source and binary forms, with or without
&gt; &gt; + * modification, are permitted provided that the following conditions
&gt; &gt; + * are met:
&gt; &gt; + * 1. Redistributions of source code must retain the above copyright
&gt; &gt; + *    notice, this list of conditions and the following disclaimer.
&gt; &gt; + * 2. Redistributions in binary form must reproduce the above copyright
&gt; &gt; + *    notice, this list of conditions and the following disclaimer in the
&gt; &gt; + *    documentation and/or other materials provided with the distribution.
&gt; &gt; + *
&gt; &gt; + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS&apos;&apos; AND ANY
&gt; &gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
&gt; &gt; + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
&gt; &gt; + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
&gt; &gt; + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
&gt; &gt; + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
&gt; &gt; + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
&gt; &gt; + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
&gt; &gt; + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
&gt; &gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; &gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
&gt; &gt; + */
&gt; &gt; +
&gt; &gt; +#include &quot;config.h&quot;
&gt; 
&gt; Seems like this file shouldn&apos;t be added?

Oops, indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106418</commentid>
    <comment_count>22</comment_count>
      <attachid>256018</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-02 11:11:10 -0700</bug_when>
    <thetext>Created attachment 256018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106419</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-02 11:12:59 -0700</bug_when>
    <thetext>Attachment 256018 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:461:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:469:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:472:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:995:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1014:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1100:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1273:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1291:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1303:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1459:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1537:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1694:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1744:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:847:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:558:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 16 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106502</commentid>
    <comment_count>24</comment_count>
      <attachid>256041</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-02 15:40:55 -0700</bug_when>
    <thetext>Created attachment 256041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106505</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-02 15:44:19 -0700</bug_when>
    <thetext>Attachment 256041 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:458:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:461:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:469:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:472:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:995:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1014:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1100:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1273:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1291:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1303:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1457:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1535:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1692:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGAllocationCycleSinkingPhase.cpp:1742:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:847:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:558:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 16 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109209</commentid>
    <comment_count>26</comment_count>
      <attachid>256721</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-13 14:04:11 -0700</bug_when>
    <thetext>Created attachment 256721
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109210</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-13 14:05:33 -0700</bug_when>
    <thetext>Attachment 256721 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:458:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:461:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:469:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:472:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:995:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1014:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1100:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1273:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1291:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1303:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1457:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1535:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1692:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:1742:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGValidate.cpp:562:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 15 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109277</commentid>
    <comment_count>28</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-13 16:28:56 -0700</bug_when>
    <thetext>Committed r186795: &lt;http://trac.webkit.org/changeset/186795&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252332</attachid>
            <date>2015-05-04 14:17:22 -0700</date>
            <delta_ts>2015-05-05 17:46:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150504141608.patch</filename>
            <type>text/plain</type>
            <size>46699</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYThjMDc5
NmI1M2Q5N2M0YzNkMWE0MzE3OTIzN2I1MjVhYTdlYTI3ZC4uYzA5NTYzMWUwOGY4NDM0ZWU1ZTBi
NDZlOTJhNjYyNmE0ZDE4MGI4YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMTM2NCw2ICsxMzY0
LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0
ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAog
ICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0Ogog
ICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgogICAgIGNhc2UgUGhhbnRvbURpcmVjdEFyZ3Vt
ZW50czoKICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGQzODU3OWUzNGJiODA2NDMyNzE5NmVjMjUw
YzY5MzExMTQxZjFjMDMuLmJiZDRlNWFhNTE4YmZjZTJmOGVjMjQ0MzA5MjVmYjc4Yzk3MGI5ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC04NTcsNiAr
ODU3LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3Qg
UmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIE5ld1N0cmluZ09iamVj
dDoKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09i
amVjdDoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1
bmN0aW9uOgogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHdyaXRlKEhl
YXBPYmplY3RDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5k
ZXggNDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4uZjNmYzZhYmJiYTM5
NTA4Y2VkMGJjODdkYWI3MTIwZjM1ZWJjMzVhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9lc0dDLmNwcApAQCAtMTk3LDYgKzE5Nyw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKICAgICBjYXNlIEJvdHRvbVZh
bHVlOgogICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2Jq
ZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgogICAgIGNhc2UgUGhhbnRvbURpcmVj
dEFyZ3VtZW50czoKICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCBmNzRlY2JkZjQ0YjlkMTcz
MzM0YzMyYzA3ZjkwMWRiMmQ0ZDFhZTMwLi41YWZlODAxM2UyNTkzMWZjZjlmN2Y1NDg2Y2I0NmZh
Yjc4YzVmYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVw
UGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAKQEAgLTEwNDgsNiArMTA0OCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgUHV0SGludDoK
ICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0ZToKICAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZU5ld09iamVjdDoKKyAgICAgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKICAgICAg
ICAgY2FzZSBQdXRTdGFjazoKICAgICAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgICAgIGNhc2Ug
R2V0U3RhY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDY1NmZkNWZhMzBm
Y2M5YmMxOWViZWIxZWU5ZTdjNWMxODc4NzQ1NDUuLjU5ZTk2MjU1MGRkOTg0ZDUwN2U0ZjM2YjRi
ZDUzNGYwMDY3ZjBlOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xNDEy
LDcgKzE0MTIsMTMgQEAgc3RydWN0IE5vZGUgewogICAgIAogICAgIGJvb2wgaGFzT2JqZWN0TWF0
ZXJpYWxpemF0aW9uRGF0YSgpCiAgICAgewotICAgICAgICByZXR1cm4gb3AoKSA9PSBNYXRlcmlh
bGl6ZU5ld09iamVjdDsKKyAgICAgICAgc3dpdGNoIChvcCgpKSB7CisgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgfQogICAgIH0KICAgICAKICAgICBPYmplY3RNYXRlcmlhbGl6YXRp
b25EYXRhJiBvYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZVR5cGUuaAppbmRleCA1MjFkMTNkN2NiMTFmMTJiMmY0ZTM3MmVkY2ZmMTdkZTk1
YmJiMWUyLi45NjAzZDIyMzczOTRhODQ3NmY5ZWYyMGM2YmQ0YzQxM2NhNGVkYjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0yNTIsNiArMjUyLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKFB1dEhpbnQsIE5vZGVNdXN0
R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZUltbWVkaWF0ZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAogICAgIG1hY3JvKE1hdGVyaWFsaXplTmV3T2JqZWN0LCBOb2RlUmVzdWx0SlMg
fCBOb2RlSGFzVmFyQXJncykgXAorICAgIG1hY3JvKFBvcHVsYXRlTmV3T2JqZWN0LCBOb2RlTXVz
dEdlbmVyYXRlIHwgTm9kZUhhc1ZhckFyZ3MpIFwKICAgICBtYWNybyhQaGFudG9tTmV3RnVuY3Rp
b24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgLyogTm9k
ZXMgZm9yIG1pc2Mgb3BlcmF0aW9ucy4gKi9cCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAppbmRl
eCBkMGJmZTE0ZTgyOGVjMjNmMzUyMTg1ZTU4YzZhMGI0YmJiODc0YjI3Li41MjkwNzBlMDcwZDky
NzMzZDgzMjc4MmQzYjZjZTA2ZjQ5NmU2ZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAK
QEAgLTUyLDYgKzUyLDExIEBAIHB1YmxpYzoKICAgICAgICAgOiBQaGFzZShncmFwaCwgIm9iamVj
dCBhbGxvY2F0aW9uIHNpbmtpbmciKQogICAgICAgICAsIG1fc3NhQ2FsY3VsYXRvcihncmFwaCkK
ICAgICAgICAgLCBtX2luc2VydGlvblNldChncmFwaCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXpl
ZEF0SGVhZChncmFwaCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXplZEF0VGFpbChncmFwaCkKKyAg
ICAgICAgLCBtX3BvaW50c1RvQXRIZWFkKGdyYXBoKQorICAgICAgICAsIG1fcG9pbnRzVG9BdFRh
aWwoZ3JhcGgpCisgICAgICAgICwgbV93ZWFrbHlBbGl2ZUF0VGFpbChncmFwaCkKICAgICB7CiAg
ICAgfQogICAgIApAQCAtMTI2LDYgKzEzMSw3IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAg
ICAvLyBBdCB0aGlzIHBvaW50IHdlIGFyZSBjb21taXR0ZWQgdG8gc2lua2luZyB0aGUgc2lua2lu
ZyBjYW5kaWRhdGVzLgogICAgICAgICBwbGFjZU1hdGVyaWFsaXphdGlvblBvaW50cygpOworICAg
ICAgICBwcm9wYWdhdGVNdXN0UG9pbnRUb0FjY2Vzc2VzKCk7CiAgICAgICAgIGxvd2VyTm9uUmVh
ZGluZ09wZXJhdGlvbnNPblBoYW50b21BbGxvY2F0aW9ucygpOwogICAgICAgICBwcm9tb3RlU3Vu
a2VuRmllbGRzKCk7CiAgICAgICAgIApAQCAtMTM2LDcgKzE0MiwxNiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgZGF0YUxvZygiU2lua2luZyBpdGVyYXRpb24gY2hhbmdlZCB0aGUgZ3JhcGguXG4i
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIAorCisgICAgdm9pZCBjb21wdXRl
RmllbGRMaXZlbmVzcygpCisgICAgeworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDog
bV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBIYXNoU2V0PE5v
ZGUqPiBhbGl2ZSA9IGJsb2NrLT5zc2EtPmxpdmVBdFRhaWw7CisgICAgICAgICAgICBjbG9zZUZp
ZWxkcyhhbGl2ZSk7CisgICAgICAgICAgICBtX3dlYWtseUFsaXZlQXRUYWlsW2Jsb2NrXSA9IGFs
aXZlOworICAgICAgICB9CisgICAgfQorCiAgICAgdm9pZCBkZXRlcm1pbmVNYXRlcmlhbGl6YXRp
b25Qb2ludHMoKQogICAgIHsKICAgICAgICAgLy8gVGhlIHByZW1pc2Ugb2YgdGhpcyBwYXNzIGlz
IHRoYXQgaWYgdGhlcmUgZXhpc3RzIGEgcG9pbnQgaW4gdGhlIHByb2dyYW0gd2hlcmUgc29tZQpA
QCAtMTQ2LDYzICsxNjEsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIG1fc2lua0Nh
bmRpZGF0ZXMuY2xlYXIoKTsKICAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuY2xl
YXIoKTsKKyAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub1BvcHVsYXRlLmNsZWFyKCk7CisgICAg
ICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9IaW50cy5jbGVhcigpOwogICAgICAgICBtX21hdGVyaWFs
aXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKLSAgICAgICAgCi0gICAgICAg
IEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PiBtYXRlcmlhbGl6ZWRBdEhlYWQobV9ncmFw
aCk7Ci0gICAgICAgIEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PiBtYXRlcmlhbGl6ZWRB
dFRhaWwobV9ncmFwaCk7Ci0gICAgICAgIAotICAgICAgICBib29sIGNoYW5nZWQ7Ci0gICAgICAg
IGRvIHsKLSAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgIGRhdGFMb2co
IkRvaW5nIGl0ZXJhdGlvbiBvZiBtYXRlcmlhbGl6YXRpb24gcG9pbnQgcGxhY2VtZW50LlxuIik7
Ci0gICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7Ci0gICAgICAgICAgICBmb3IgKEJhc2ljQmxv
Y2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7Ci0gICAgICAgICAg
ICAgICAgSGFzaE1hcDxOb2RlKiwgYm9vbD4gbWF0ZXJpYWxpemVkID0gbWF0ZXJpYWxpemVkQXRI
ZWFkW2Jsb2NrXTsKLSAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAg
ICAgICAgZGF0YUxvZygiICAgIExvb2tpbmcgYXQgYmxvY2sgIiwgcG9pbnRlckR1bXAoYmxvY2sp
LCAiXG4iKTsKLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKLSAg
ICAgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQobm9kZSwgZmFsc2UpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1hdGVyaWFsaXplZC5m
aW5kKGVzY2FwZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1h
dGVyaWFsaXplZC5lbmQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAg
ICAiLCBlc2NhcGVlLCAiIGVzY2FwZXMgYXQgIiwgbm9kZSwgIlxuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGl0ZXItPnZhbHVlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAg
ICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICBNYXRlcmlhbGl6ZWQgYXQgdGFpbCBvZiAiLCBw
b2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobWF0ZXJpYWxpemVkKSwgIlxuIik7Ci0g
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZCA9PSBtYXRl
cmlhbGl6ZWRBdFRhaWxbYmxvY2tdKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2td
ID0gbWF0ZXJpYWxpemVkOwotICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIE9ubHkgcHJvcGFnYXRlIHRoaW5ncyB0byBv
dXIgc3VjY2Vzc29ycyBpZiB0aGV5IGFyZSBhbGl2ZSBpbiBhbGwgc3VjY2Vzc29ycy4KLSAgICAg
ICAgICAgICAgICAvLyBTbywgd2UgcHJ1bmUgbWF0ZXJpYWxpemVkLWF0LXRhaWwgdG8gb25seSBp
bmNsdWRlIHRoaW5ncyB0aGF0IGFyZSBsaXZlLgotICAgICAgICAgICAgICAgIFZlY3RvcjxOb2Rl
Kj4gdG9SZW1vdmU7Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6
ZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFibG9jay0+c3NhLT5saXZlQXRUYWlsLmNv
bnRhaW5zKHBhaXIua2V5KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVu
ZChwYWlyLmtleSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZvciAoTm9k
ZSoga2V5IDogdG9SZW1vdmUpCi0gICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZC5yZW1v
dmUoa2V5KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxv
Y2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgewotICAgICAgICAgICAg
ICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1hdGVyaWFsaXplZCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5hZGQoCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFpci5rZXksIGZhbHNlKS5pdGVyYXRvci0+dmFsdWUgfD0g
cGFpci52YWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CisKKyAgICAgICAgcnVuQW5h
bHlzaXMoKTsKICAgICAgICAgCiAgICAgICAgIC8vIERldGVybWluZSB0aGUgc2luayBjYW5kaWRh
dGVzLiBCcm9hZGx5LCBhIHNpbmsgY2FuZGlkYXRlIGlzIGEgbm9kZSB0aGF0IGhhbmRsZU5vZGUo
KQogICAgICAgICAvLyBiZWxpZXZlcyBpcyBzaW5rYWJsZSwgYW5kIG9uZSBvZiB0aGUgZm9sbG93
aW5nIGlzIHRydWU6CkBAIC0yMjEsMTMgKzE4NCwxNSBAQCBwcml2YXRlOgogICAgICAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoZSB0d28gb3RoZXIgcnVsZXMuCiAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwNzMgKHJ1bGUgIzEpCiAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwNzQgKHJ1bGUg
IzMpCi0gICAgICAgIAorCisgICAgICAgIGNvbXB1dGVGaWVsZExpdmVuZXNzKCk7CisKICAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIo
KSkgewotICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxv
Y2tdKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fbWF0ZXJpYWxpemVkQXRUYWls
W2Jsb2NrXSkgewogICAgICAgICAgICAgICAgIGlmIChwYWlyLnZhbHVlKQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsgLy8gSXQgd2FzIG1hdGVyaWFsaXplZC4KICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICBpZiAoYmxvY2stPnNzYS0+bGl2ZUF0VGFpbC5jb250YWlucyhw
YWlyLmtleSkpCisgICAgICAgICAgICAgICAgaWYgKG1fd2Vha2x5QWxpdmVBdFRhaWxbYmxvY2td
LmNvbnRhaW5zKHBhaXIua2V5KSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIEl0
IG1pZ2h0IHN0aWxsIGdldCBtYXRlcmlhbGl6ZWQgaW4gYWxsIG9mIHRoZSBzdWNjZXNzb3JzLgog
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIFdlIGtub3cgdGhhdCBpdCBkaWVk
IGluIHRoaXMgYmxvY2sgYW5kIGl0IHdhc24ndCBtYXRlcmlhbGl6ZWQuIFRoYXQgbWVhbnMgdGhh
dApAQCAtMjM5LDcgKzIwNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBpZiAobV9z
aW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAor
CiAgICAgICAgIC8vIEEgbWF0ZXJpYWxpemF0aW9uIGVkZ2UgZXhpc3RzIGF0IGFueSBwb2ludCB3
aGVyZSBhIG5vZGUgZXNjYXBlcyBidXQgaGFzbid0IGJlZW4KICAgICAgICAgLy8gbWF0ZXJpYWxp
emVkIHlldC4gV2UgZG8gdGhpcyBpbiB0d28gcGFydHMuIEZpcnN0IHdlIGZpbmQgYWxsIG9mIHRo
ZSBub2RlcyB0aGF0IGNhdXNlCiAgICAgICAgIC8vIGVzY2FwaW5nIHRvIGhhcHBlbiwgd2hlcmUg
dGhlIGVzY2FwZWUgaGFkIG5vdCB5ZXQgYmVlbiBtYXRlcmlhbGl6ZWQuIFRoaXMgY2F0Y2hlcwpA
QCAtMjcxLDQ1ICsyMzYsNDAgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gRmlyc3QgcGFzczogZmlu
ZCBpbnRyYS1ibG9jayBtYXRlcmlhbGl6YXRpb24gcG9pbnRzLgogICAgICAgICBmb3IgKEJhc2lj
QmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CiAgICAgICAg
ICAgICBIYXNoU2V0PE5vZGUqPiBtYXRlcmlhbGl6ZWQ7Ci0gICAgICAgICAgICBmb3IgKGF1dG8g
cGFpciA6IG1hdGVyaWFsaXplZEF0SGVhZFtibG9ja10pIHsKKyAgICAgICAgICAgIGZvciAoYXV0
byBwYWlyIDogbV9tYXRlcmlhbGl6ZWRBdEhlYWRbYmxvY2tdKSB7CiAgICAgICAgICAgICAgICAg
aWYgKHBhaXIudmFsdWUgJiYgbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhwYWlyLmtleSkpCiAg
ICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQocGFpci5rZXkpOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAg
ICAgICAgIGRhdGFMb2coIlBsYWNpbmcgbWF0ZXJpYWxpemF0aW9uIHBvaW50cyBpbiAiLCBwb2lu
dGVyRHVtcChibG9jayksICIgd2l0aCBtYXRlcmlhbGl6YXRpb24gc2V0ICIsIGxpc3REdW1wKG1h
dGVyaWFsaXplZCksICJcbiIpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4
KSB7Ci0gICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOwot
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGUsCi0gICAgICAgICAgICAgICAgICAgIFsmXSAoKSB7IH0sCi0gICAgICAg
ICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSkgeworICAgICAgICAgICAgaGFuZGxlQmxv
Y2soCisgICAgICAgICAgICAgICAgYmxvY2ssCisgICAgICAgICAgICAgICAgWyZdIChOb2RlKikg
eyB9LAorICAgICAgICAgICAgICAgIFsmXSAoSGFzaFNldDxOb2RlKj4gZXNjYXBlZXMsIE5vZGUq
IHdoZXJlKSB7CisgICAgICAgICAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvUmVtb3ZlOwor
ICAgICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIGVzY2FwZWUgOiBlc2NhcGVlcykgewogICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGF0YUxvZygiU2VlaW5nICIsIGVzY2FwZWUsICIgZXNjYXBlIGF0ICIsIG5vZGUsICJc
biIpOwotICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoIW1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMoZXNjYXBlZSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGF0YUxvZygiICAgIEl0J3Mgbm90IGEgc2luayBjYW5kaWRhdGUuXG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbWF0
ZXJpYWxpemVkLmFkZChlc2NhcGVlKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh
dGFMb2coIiAgIEl0J3MgYWxyZWFkeSBtYXRlcmlhbGl6ZWQuXG4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFs
aXplKGVzY2FwZWUsIG5vZGUpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJTZWVpbmcgIiwgZXNjYXBl
ZSwgIiBlc2NhcGUgYXQgIiwgd2hlcmUsICJcbiIpOworCisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIW1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMoZXNjYXBlZSkpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdG9SZW1vdmUuYWRkKGVzY2FwZWUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFtYXRlcmlhbGl6ZWQuYWRkKGVzY2FwZWUpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdG9SZW1vdmUuYWRkKGVzY2FwZWUpOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogcmVtb3ZlIDogdG9SZW1v
dmUpCisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGVlcy5yZW1vdmUocmVtb3ZlKTsKKwor
ICAgICAgICAgICAgICAgICAgICBpZiAoZXNjYXBlZXMuc2l6ZSgpID4gMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplQW5kUG9wdWxhdGUoZXNjYXBlZXMsIHdoZXJl
KTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgLy8g
U2Vjb25kIHBhc3M6IGZpbmQgQ0ZHIGVkZ2UgbWF0ZXJpYWxpemF0aW9uIHBvaW50cy4KICAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIo
KSkgewogICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2Nr
LT5zdWNjZXNzb3JzKCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1hdGVy
aWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10pIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1
dG8gcGFpciA6IG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXSkgewogICAgICAg
ICAgICAgICAgICAgICBOb2RlKiBhbGxvY2F0aW9uID0gcGFpci5rZXk7CiAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgaWYgaXQgaXMgbWF0
ZXJpYWxpemVkIGluIHRoZSBzdWNjZXNzb3IuCkBAIC0zMjEsNyArMjgxLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGlmIGl0IGlzbid0IG1hdGVyaWFs
aXplZCBpbiB0aGUgcHJlZGVjZXNzb3IuCi0gICAgICAgICAgICAgICAgICAgIGlmIChtYXRlcmlh
bGl6ZWRBdFRhaWxbYmxvY2tdLmdldChhbGxvY2F0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAg
aWYgKG1fbWF0ZXJpYWxpemVkQXRUYWlsW2Jsb2NrXS5nZXQoYWxsb2NhdGlvbikpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZGVjaWRlIGlmIHdlIHB1dCB0aGUgbWF0ZXJpYWxp
emF0aW9uIGF0IHRoZSBoZWFkIG9mIHRoZSBzdWNjZXNzb3IsCkBAIC0zMzMsMTMgKzI5MywyMiBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG9mIHdoYXQgaXQgbG9v
a3MgbGlrZSB3aGVuIHlvdSBkcmF3IGl0LgogICAgICAgICAgICAgICAgICAgICBib29sIG5ldmVy
TWF0ZXJpYWxpemVkSW5TaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBmb3IgKEJh
c2ljQmxvY2sqIHNoYWRvd0Jsb2NrIDogc3VjY2Vzc29yQmxvY2stPnByZWRlY2Vzc29ycykgewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZEF0VGFpbFtzaGFkb3dCbG9j
a10uZ2V0KGFsbG9jYXRpb24pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9tYXRl
cmlhbGl6ZWRBdFRhaWxbc2hhZG93QmxvY2tdLmdldChhbGxvY2F0aW9uKSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5ldmVyTWF0ZXJpYWxpemVkSW5TaGFkb3cgPSBmYWxzZTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgaWYgKG5ldmVyTWF0ZXJpYWxpemVkSW5TaGFkb3cpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIFRPRE86IEhlcmUgd2Ugc2hvdWxkIGhhdmUgYSBndWFyYW50ZWUgdGhh
dCBhbGwgdGhlIGZpZWxkcworICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGF2ZSBhbHJlYWR5
IGJlZW4gbWF0ZXJpYWxpemVkLgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFBU1NFUlRf
RElTQUJMRUQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBl
c2NhcGluZyB7IGFsbG9jYXRpb24gfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX21h
dGVyaWFsaXplZCA9IG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX3BvaW50c1RvID0gbV9wb2ludHNUb0F0SGVhZFtzdWNj
ZXNzb3JCbG9ja107CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VGaWVsZHMoZXNj
YXBpbmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChlc2NhcGluZy5zaXpl
KCkgPT0gMSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
ICAgICBjcmVhdGVNYXRlcmlhbGl6ZShhbGxvY2F0aW9uLCBzdWNjZXNzb3JCbG9jay0+Zmlyc3RP
cmlnaW5Ob2RlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
ICAgICAgICAgICAgIH0KQEAgLTM1MSw3ICszMjAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
ICAgICAgICAgLy8gd2hlcmUgdGhlIHByZWRlY2Vzc29yIGNvdWxkIGhhdmUgaGFkIG11bHRpcGxl
IHN1Y2Nlc3NvcnMuIFRoZXJlZm9yZSB3ZSBoYXZlCiAgICAgICAgICAgICAgICAgICAgIC8vIGFs
cmVhZHkgaGFuZGxlZCB0aGUgY2FzZSB3aGVyZSB0aGUgcHJlZGVjZXNzb3IgaGFzIG11bHRpcGxl
IHN1Y2Nlc3NvcnMuCiAgICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgYmxv
Y2ssIGJsb2NrLT5udW1TdWNjZXNzb3JzKCkgPT0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBIZXJlIGFzIHdlbGwsIGFsbCB0aGUgZmllbGRz
IHNob3VsZCBoYXZlIGJlZW4gbWF0ZXJpYWxpemVkCisgICAgICAgICAgICAgICAgICAgIGlmICgh
QVNTRVJUX0RJU0FCTEVEKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBIYXNoU2V0PE5vZGUq
PiBlc2NhcGluZyB7IGFsbG9jYXRpb24gfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fbWF0
ZXJpYWxpemVkID0gbV9tYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdOworICAgICAgICAgICAgICAg
ICAgICAgICAgbV9wb2ludHNUbyA9IG1fcG9pbnRzVG9BdFRhaWxbYmxvY2tdOworICAgICAgICAg
ICAgICAgICAgICAgICAgY2xvc2VGaWVsZHMoZXNjYXBpbmcpOworICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGVzY2FwaW5nLnNpemUoKSA9PSAxKTsKKyAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZShhbGxvY2F0aW9uLCBibG9j
ay0+dGVybWluYWwoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtNDI5
LDkgKzQwNSwxMyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIG1hcHBpbmcuc2V0KG9yaWdp
bmFsTm9kZSwgcGhpRGVmLT52YWx1ZSgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAor
ICAgICAgICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVyaWFsaXplZEF0SGVhZFtibG9ja107
CisgICAgICAgICAgICBtX3BvaW50c1RvID0gbV9wb2ludHNUb0F0SGVhZFtibG9ja107CisgICAg
ICAgICAgICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUlu
ZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgpIHsKICAgICAgICAgICAgICAgICBOb2Rl
KiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CiAKKyAgICAgICAgICAgICAgICAvLyBUT0RP
OiBXZSBuZWVkIHRvIGtlZXAgdGhlIG9yZGVyLi4uCiAgICAgICAgICAgICAgICAgZm9yIChOb2Rl
KiBtYXRlcmlhbGl6ZSA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5n
ZXQobm9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJp
YWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6ZSk7CiAgICAgICAgICAgICAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5kZXgsIG1hdGVyaWFsaXplKTsKQEAgLTQzOSw2
ICs0MTksMTYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9u
U2V0LCBub2RlSW5kZXgsIG5vZGUtPm9yaWdpbiwKICAgICAgICAgICAgICAgICAgICAgICAgIGF2
YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHksIGVzY2FwZWUsIG1hdGVyaWFsaXpl
KTsKICAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5zZXQoZXNjYXBlZSwgbWF0ZXJpYWxpemUp
OworICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX21hdGVyaWFsaXphdGlvblRvSGlu
dHMuZmluZChtYXRlcmlhbGl6ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1f
bWF0ZXJpYWxpemF0aW9uVG9IaW50cy5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
Zm9yIChOb2RlKiBoaW50IDogaXRlci0+dmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCwgaGludCk7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUq
IG1hdGVyaWFsaXplIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdl
dChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoTm9kZSogcG9wdWxhdGUgPSBtX21h
dGVyaWFsaXphdGlvblRvUG9wdWxhdGUuZ2V0KG1hdGVyaWFsaXplKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5kZXgsIHBvcHVsYXRlKTsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGF2
YWlsYWJpbGl0eUNhbGN1bGF0b3IuZXhlY3V0ZU5vZGUobm9kZSk7CkBAIC00NTEsMTQgKzQ0MSwx
NiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAvLyBJZiB5b3UgY2F1c2UgYW4gZXNjYXBlLCB5b3Ugc2hvdWxkbid0
IHNlZSB0aGUgb3JpZ2luYWwgZXNjYXBlZS4KKyAgICAgICAgICAgICAgICAvLyBOb3cgeW91IG1h
eSwgYmVjYXVzZSBjeWNsZXMuCisgICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgICBp
ZiAodmFsaWRhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBoYW5kbGVOb2Rl
KAogICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IFsmXSAoKSB7IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGVzY2FwZWUp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSopIHsgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSwgTm9kZSopIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG5vZGUsICFtX3NpbmtDYW5kaWRhdGVz
LmNvbnRhaW5zKGVzY2FwZWUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9ICovCiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIE5vZGVBbmRJbmRleCB0ZXJtaW5hbCA9IGJsb2NrLT5maW5kVGVy
bWluYWwoKTsKQEAgLTQ3Nyw2ICs0NjksNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gSWYgd2UgaGF2ZSBhIFBoaSB0aGF0IGNvbWJpbmVzIG1hdGVyaWFsaXphdGlvbnMg
d2l0aCB0aGUgb3JpZ2luYWwKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBoYW50b20gb2Jq
ZWN0LCB0aGVuIHRoZSBwYXRoIHdpdGggdGhlIHBoYW50b20gb2JqZWN0IG11c3QgbWF0ZXJpYWxp
emUuCiAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChmYWxzZSk7IC8vIGZvciBub3cuLi4gbm90IHN1cmUgaWYgd2UgbmVlZCB0byBtYXRlcmlh
bGl6ZSB0aGUgZmllbGRzLi4uIHRoYXQgd291bGQgYmUgYW5ub3lpbmcuLi4KICAgICAgICAgICAg
ICAgICAgICAgICAgIGluY29taW5nID0gY3JlYXRlTWF0ZXJpYWxpemUoYWxsb2NhdGlvbiwgdXBz
aWxvbldoZXJlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dCh1cHNpbG9uSW5zZXJ0aW9uUG9pbnQsIGluY29taW5nKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKApAQCAtNTA0LDcgKzQ5NywxMiBAQCBwcml2YXRl
OgogICAgICAgICAvLyBMb3dlciBldmVyeXRoaW5nIGJ1dCByZWFkaW5nIG9wZXJhdGlvbnMgb24g
cGhhbnRvbSBhbGxvY2F0aW9ucy4gV2UgYWJzb2x1dGVseSBoYXZlIHRvCiAgICAgICAgIC8vIGxv
d2VyIGFsbCB3cml0ZXMgc28gYXMgdG8gcmV2ZWFsIHRoZW0gdG8gdGhlIFNTQSBjYWxjdWxhdG9y
LiBXZSBjYW5ub3QgbG93ZXIgcmVhZHMKICAgICAgICAgLy8gYmVjYXVzZSB0aGUgd2hvbGUgcG9p
bnQgaXMgdGhhdCB0aG9zZSBnbyBhd2F5IGNvbXBsZXRlbHkuCi0gICAgICAgIAorCisKKyAgICAg
ICAgLy8gVE9ETzogUHJvYmFibHkgbmVlZHMgdG8gdXNlIHBvaW50c1RvIHRvIGZvbGxvdyBQdXRz
CisgICAgICAgIC8vIFRPRE86IFByb2JhYmx5IGFsc28gbmVlZHMgdG8gZm9sbG93IHRoZSBwcm9w
YWdhdGlvbiBvbiBnZXQgYW5kIHN0dWZmCisgICAgICAgIC8vIFRPRE86IHRoaXMgbWVhbnMgSSBh
Y3R1YWxseSBuZWVkIHRvIHVzZSBoYW5kbGVCbG9jayA6LSgKKyAgICAgICAgLy8gV2UgZG9uJ3Qg
bmVlZCB0byBmb2xsb3cgYmVjYXVzZSB3ZSBhcmUgYWZ0ZXIgcHJvcGFnYXRlTXVzdFBvaW50VG9B
Y2Nlc3NlcygpCiAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nr
c0luTmF0dXJhbE9yZGVyKCkpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4
ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgpIHsKICAgICAgICAg
ICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CkBAIC03NjgsNiArNzY2
LDIxNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOwogICAgIH0KIAor
ICAgIHZvaWQgcHJvcGFnYXRlTXVzdFBvaW50VG9BY2Nlc3NlcygpCisgICAgeworICAgICAgICBt
X2dyYXBoLmNsZWFyUmVwbGFjZW1lbnRzKCk7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxv
Y2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgaGFuZGxlQmxv
Y2soCisgICAgICAgICAgICAgICAgYmxvY2ssCisgICAgICAgICAgICAgICAgWyZdIChOb2RlKikg
eyB9LAorICAgICAgICAgICAgICAgIFsmXSAoSGFzaFNldDxOb2RlKj4sIE5vZGUqKSB7IH0sCisg
ICAgICAgICAgICAgICAgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHJ1bkFu
YWx5c2lzKCkKKyAgICB7CisgICAgICAgIG1fbWF0ZXJpYWxpemVkQXRIZWFkID0gQmxvY2tNYXA8
SGFzaE1hcDxOb2RlKiwgYm9vbD4+KG1fZ3JhcGgpOworICAgICAgICBtX21hdGVyaWFsaXplZEF0
VGFpbCA9IEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PihtX2dyYXBoKTsKKyAgICAgICAg
bV9wb2ludHNUb0F0SGVhZCA9IEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPj4+KG1fZ3JhcGgpOworICAgICAgICBtX3BvaW50
c1RvQXRUYWlsID0gQmxvY2tNYXA8SGFzaE1hcDxOb2RlKiwgSGFzaE1hcDxQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvciwgTm9kZSo+Pj4obV9ncmFwaCk7CisgICAgICAgIGJvb2wgY2hhbmdlZDsK
KyAgICAgICAgZG8geworICAgICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICAgICAg
Zm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkg
eworICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gaGFuZGxlQmxvY2soCisgICAgICAgICAgICAg
ICAgICAgIGJsb2NrLAorICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqKSB7IH0sCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoSGFzaFNldDxOb2RlKj4sIE5vZGUqKSB7IH0pOworICAgICAg
ICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICB9CisKKyAgICAvLyBBbHdh
eXMgcmV0dXJuIGVpdGhlciBudWxsLCBvciBzb21ldGhpbmcgcG9pbnRlZCB0byB0aGF0IGlzIG5v
dCBtYXRlcmlhbGl6ZWQKKyAgICAvLyB5ZXQgKGkuZS4sIHNvbWV0aGluZyBpbiBwb2ludHNUbyBp
dHNlbGYpCisgICAgTm9kZSogZm9sbG93KE5vZGUqIHNvdXJjZSkKKyAgICB7CisgICAgICAgIGlm
IChtX3BvaW50c1RvLmNvbnRhaW5zKHNvdXJjZSkpCisgICAgICAgICAgICByZXR1cm4gc291cmNl
OworCisgICAgICAgIE5vZGUqIHByZXZpb3VzID0gbnVsbHB0cjsKKyAgICAgICAgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IgZGVzYzsKKyAgICAgICAgc3dpdGNoIChzb3VyY2UtPm9wKCkpIHsK
KyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKKyAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJC
eU9mZnNldDogeworICAgICAgICAgICAgcHJldmlvdXMgPSBmb2xsb3coc291cmNlLT5jaGlsZDIo
KS5ub2RlKCkpOworICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IHNvdXJj
ZS0+c3RvcmFnZUFjY2Vzc0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgZGVz
YyA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlm
aWVyTnVtYmVyKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2Fz
ZSBNdWx0aUdldEJ5T2Zmc2V0OiB7CisgICAgICAgICAgICBwcmV2aW91cyA9IGZvbGxvdyhzb3Vy
Y2UtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVt
YmVyID0gc291cmNlLT5tdWx0aUdldEJ5T2Zmc2V0RGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7Cisg
ICAgICAgICAgICBkZXNjID0gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0
eVBMb2MsIGlkZW50aWZpZXJOdW1iZXIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoIXByZXZpb3VzKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICAgICAgYXV0byBmaWVsZHNNYXAgPSBtX3BvaW50c1RvLmdldChwcmV2aW91cyk7Cisg
ICAgICAgIGF1dG8gZmllbGRJdGVyID0gZmllbGRzTWFwLmZpbmQoZGVzYyk7CisgICAgICAgIGlm
IChmaWVsZEl0ZXIgPT0gZmllbGRzTWFwLmVuZCgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICAgICAgcmV0dXJuIG1fcG9pbnRzVG8uY29udGFpbnMoZmllbGRJdGVyLT52YWx1
ZSkgPyBmaWVsZEl0ZXItPnZhbHVlIDogbnVsbHB0cjsKKyAgICB9CisKKyAgICB2b2lkIGNsb3Nl
RmllbGRzKEhhc2hTZXQ8Tm9kZSo+JiBub2RlcykKKyAgICB7CisgICAgICAgIEhhc2hTZXQ8Tm9k
ZSo+IGV4YW1pbmVGaWVsZHMgPSBub2RlczsKKyAgICAgICAgd2hpbGUgKCFleGFtaW5lRmllbGRz
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgSGFzaFNldDxOb2RlKj4gbmV3Tm9kZXM7CisgICAg
ICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiBleGFtaW5lRmllbGRzKSB7CisgICAgICAgICAgICAg
ICAgYXV0byBpdGVyID0gbV9wb2ludHNUby5maW5kKG5vZGUpOworICAgICAgICAgICAgICAgIGlm
IChpdGVyID09IG1fcG9pbnRzVG8uZW5kKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIGZvciAoYXV0byBwYWlyIDogaXRlci0+dmFsdWUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKCFwYWlyLnZhbHVlKQorICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fbWF0ZXJpYWxpemVk
LmZpbmQocGFpci52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1fbWF0
ZXJpYWxpemVkLmVuZCgpICYmICFpdGVyLT52YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAg
JiYgbm9kZXMuYWRkKHBhaXIudmFsdWUpLmlzTmV3RW50cnkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChtX3BvaW50c1RvLmNvbnRhaW5zKHBhaXIudmFsdWUpKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld05vZGVzLmFkZChwYWlyLnZhbHVlKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGV4
YW1pbmVGaWVsZHMgPSBXVEY6Om1vdmUobmV3Tm9kZXMpOworICAgICAgICB9CisgICAgfQorCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgU2lua0NhbmRpZGF0ZUZ1bmN0b3IsIHR5cGVuYW1lIEVzY2Fw
ZUZ1bmN0b3I+CisgICAgYm9vbCBoYW5kbGVCbG9jaygKKyAgICAgICAgQmFzaWNCbG9jayogYmxv
Y2ssCisgICAgICAgIGNvbnN0IFNpbmtDYW5kaWRhdGVGdW5jdG9yJiBzaW5rQ2FuZGlkYXRlLAor
ICAgICAgICBjb25zdCBFc2NhcGVGdW5jdG9yJiBlc2NhcGUsCisgICAgICAgIGJvb2wgZm9sZCA9
IGZhbHNlKQorICAgIHsKKyAgICAgICAgYXV0byBkb0VzY2FwZUFsbG9jYXRpb25Fc2NhcGVlcyA9
IFsmXSAoSGFzaFNldDxOb2RlKj4gdG9Fc2NhcGUsIE5vZGUqIHdoZXJlKSB7CisgICAgICAgICAg
ICBjbG9zZUZpZWxkcyh0b0VzY2FwZSk7CisgICAgICAgICAgICBlc2NhcGUodG9Fc2NhcGUsIHdo
ZXJlKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogZXNjYXBpbmcgOiB0b0VzY2FwZSkgeworICAg
ICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fbWF0ZXJpYWxpemVkLmZpbmQoZXNjYXBpbmcpOwor
ICAgICAgICAgICAgICAgIEFTU0VSVChpdGVyICE9IG1fbWF0ZXJpYWxpemVkLmVuZCgpKTsKKyAg
ICAgICAgICAgICAgICBpdGVyLT52YWx1ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgbV9wb2lu
dHNUby5yZW1vdmUoZXNjYXBpbmcpOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAg
ICBhdXRvIGRvRXNjYXBlID0gWyZdIChOb2RlKiBlc2NhcGVlLCBOb2RlKiB3aGVyZSkgeworICAg
ICAgICAgICAgaWYgKGVzY2FwZWUgJiYgKGVzY2FwZWUgPSBmb2xsb3coZXNjYXBlZSkpKQorICAg
ICAgICAgICAgICAgIGRvRXNjYXBlQWxsb2NhdGlvbkVzY2FwZWVzKEhhc2hTZXQ8Tm9kZSo+IHsg
ZXNjYXBlZSB9LCB3aGVyZSk7CisgICAgICAgIH07CisgICAgICAgIGF1dG8gZG9TaW5rQ2FuZGlk
YXRlID0gWyZdIChOb2RlKiBub2RlKSB7CisgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKG5vZGUp
OworICAgICAgICAgICAgbV9tYXRlcmlhbGl6ZWQuYWRkKG5vZGUsIGZhbHNlKTsKKyAgICAgICAg
ICAgIG1fcG9pbnRzVG8uYWRkKG5vZGUsIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3IsIE5vZGUqPigpKTsKKyAgICAgICAgfTsKKyAgICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21h
dGVyaWFsaXplZEF0SGVhZFtibG9ja107CisgICAgICAgIG1fcG9pbnRzVG8gPSBtX3BvaW50c1Rv
QXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAg
ICAgICAgICBpZiAoZm9sZCkKKyAgICAgICAgICAgICAgICBtX2dyYXBoLnBlcmZvcm1TdWJzdGl0
dXRpb24obm9kZSk7CisgICAgICAgICAgICBoYW5kbGVOb2RlKG5vZGUsIGRvU2lua0NhbmRpZGF0
ZSwgZG9Fc2NhcGUpOworICAgICAgICAgICAgaWYgKGZvbGQpIHsKKyAgICAgICAgICAgICAgICBO
b2RlKiByZXBsYWNlbWVudCA9IGZvbGxvdyhub2RlKTsKKyAgICAgICAgICAgICAgICBpZiAocmVw
bGFjZW1lbnQgJiYgcmVwbGFjZW1lbnQgIT0gbm9kZSkKKyAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+cmVwbGFjZVdpdGgocmVwbGFjZW1lbnQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgLy8gQ2hlY2sgZm9yICJmaWVsZCB1cHNpbG9ucyI6IGlmIHRoZXJlIGlzIGEgZmll
bGQgd2hlcmUgd2UgY3VycmVudGx5IGhhdmUKKyAgICAgICAgLy8gYSBtdXN0LXBvaW50LXRvIHZh
bHVlIGFuZCB0aGUgc3VjY2Vzc29yIGRpc2FncmVlcyAoZWl0aGVyIGJlY2F1c2UgdGhlIHN1Y2Nl
c3NvcgorICAgICAgICAvLyBzYXlzIHRoZSBvd25lciBtdXN0IGJlIG1hdGVyaWFsaXplZCBvciBi
ZWNhdXNlIGl0IGhhcyBhIGRpZmZlcmVudCBtdXN0LXBvaW50LXRvCisgICAgICAgIC8vIHZhbHVl
KSwgd2UgbmVlZCB0byBlc2NhcGUgdGhlIHZhbHVlIGhlcmUuCisgICAgICAgIEhhc2hTZXQ8Tm9k
ZSo+IHRvRXNjYXBlOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDog
YmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX3Bv
aW50c1RvKSB7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9tYXRlcmlhbGl6ZWRBdEhl
YWRbc3VjY2Vzc29yQmxvY2tdLmZpbmQocGFpci5rZXkpOworICAgICAgICAgICAgICAgIGlmIChp
dGVyICE9IG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5lbmQoKSAmJiBpdGVy
LT52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8gZmllbGQgOiBwYWlyLnZh
bHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYgbV9wb2lu
dHNUby5jb250YWlucyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dG9Fc2NhcGUuYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fcG9p
bnRzVG9BdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmZpbmQocGFpci5rZXkpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoaXRlciA9PSBtX3BvaW50c1RvQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5lbmQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAg
ICBhdXRvIHN1Y2Nlc3NvckZpZWxkTWFwID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAg
ICAgIGZvciAoYXV0byBmaWVsZCA6IHBhaXIudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghZmllbGQudmFsdWUgfHwgIW1fcG9pbnRzVG8uY29udGFpbnMoZmllbGQudmFsdWUp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
ICAgICAgICAgYXV0byBzdWNjZXNzb3JGaWVsZCA9IHN1Y2Nlc3NvckZpZWxkTWFwLmZpbmQoZmll
bGQua2V5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzb3JGaWVsZCAhPSBz
dWNjZXNzb3JGaWVsZE1hcC5lbmQoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN1
Y2Nlc3NvckZpZWxkLT52YWx1ZSAhPSBmaWVsZC52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0b0VzY2FwZS5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNs
b3NlRmllbGRzKHRvRXNjYXBlKTsKKyAgICAgICAgZG9Fc2NhcGVBbGxvY2F0aW9uRXNjYXBlZXMo
dG9Fc2NhcGUsIGJsb2NrLT50ZXJtaW5hbCgpKTsKKworICAgICAgICBpZiAobV9tYXRlcmlhbGl6
ZWQgPT0gbV9tYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdICYmIG1fcG9pbnRzVG8gPT0gbV9wb2lu
dHNUb0F0VGFpbFtibG9ja10pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
bV9tYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdID0gbV9tYXRlcmlhbGl6ZWQ7CisgICAgICAgIG1f
cG9pbnRzVG9BdFRhaWxbYmxvY2tdID0gbV9wb2ludHNUbzsKKyAgICAgICAgCisgICAgICAgIC8v
IE9ubHkgcHJvcGFnYXRlIHRoaW5ncyB0byBvdXIgc3VjY2Vzc29ycyBpZiB0aGV5IGFyZSBhbGl2
ZSBpbiBhbGwgc3VjY2Vzc29ycywKKyAgICAgICAgLy8gb3IgdGhleSBhcmUgYSBmaWVsZCBvZiBh
IHZhbHVlIHRoYXQgaXMgYWxpdmUgaW4gYWxsIHN1Y2Nlc3NvcnMuCisgICAgICAgIEhhc2hTZXQ8
Tm9kZSo+IHRvS2VlcDsKKyAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX21hdGVyaWFsaXplZCkg
eworICAgICAgICAgICAgaWYgKGJsb2NrLT5zc2EtPmxpdmVBdFRhaWwuY29udGFpbnMocGFpci5r
ZXkpKQorICAgICAgICAgICAgICAgIHRvS2VlcC5hZGQocGFpci5rZXkpOworICAgICAgICB9Cisg
ICAgICAgIGNsb3NlRmllbGRzKHRvS2VlcCk7CisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvUmVt
b3ZlOworICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fbWF0ZXJpYWxpemVkKSB7CisgICAgICAg
ICAgICBpZiAoIXRvS2VlcC5jb250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgdG9S
ZW1vdmUuYWRkKHBhaXIua2V5KTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
OiB0b1JlbW92ZSkgeworICAgICAgICAgICAgbV9tYXRlcmlhbGl6ZWQucmVtb3ZlKG5vZGUpOwor
ICAgICAgICAgICAgbV9wb2ludHNUby5yZW1vdmUobm9kZSk7CisgICAgICAgIH0KKworICAgICAg
ICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkg
eworICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX21hdGVyaWFsaXplZCkgeworICAgICAg
ICAgICAgICAgIG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5hZGQoCisgICAg
ICAgICAgICAgICAgICAgIHBhaXIua2V5LCBmYWxzZSkuaXRlcmF0b3ItPnZhbHVlIHw9IHBhaXIu
dmFsdWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fcG9p
bnRzVG8pIHsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9yLCBOb2RlKj4mIHN1Y2Nlc3Nvck1hcCA9CisgICAgICAgICAgICAgICAgICAgIG1fcG9pbnRz
VG9BdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHBh
aXIua2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvciwgTm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgICAgICBm
b3IgKGF1dG8gZmllbGQgOiBwYWlyLnZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFdl
IGVuc3VyZWQgYmVmb3JlIHRoYXQgdGhpcyB3b3VsZCAqYWx3YXlzKiBiZSBhIG5ldyBlbnRyeQor
ICAgICAgICAgICAgICAgICAgICBzdWNjZXNzb3JNYXAuYWRkKGZpZWxkLmtleSwgZmllbGQudmFs
dWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgIC8vIElGIHRoZSBvd25lciBvZiB0aGUgZmllbGQgSVMgbWF0ZXJpYWxpemVkIGluIHRoZSBz
dWNjZXNzb3IsIHdlIE9OTFkgbmVlZCB0byBlc2NhcGUgdGhlIHZhbHVlLiBEb24ndCBzdG9yZSBB
TllUSElORyBpbiB0aGUgcG9pbnRzVG8hCisgICAgICAgIC8vIEl0IGlzIFZJVEFMTFkgSU1QT1JU
QU5UIHRoYXQgdGhlIGd1eXMgaW4gZG9tKHBvaW50c1RvKSBhcmUgQVQgQUxMIFRJTUVTLCBFWEFD
VExZIFRIRSBTQU1FIEdVWVMgYXMgdGhlIGd1eXMgaW4gbWF0ZXJpYWxpemVkIHdob3NlIHZhbHVl
IGlzIEZBTFNFLgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBTaW5rQ2FuZGlkYXRlRnVuY3RvciwgdHlwZW5hbWUgRXNjYXBlRnVuY3Rvcj4KICAg
ICB2b2lkIGhhbmRsZU5vZGUoCiAgICAgICAgIE5vZGUqIG5vZGUsCkBAIC03NzcsMjAgKzk4Niwy
MCBAQCBwcml2YXRlOgogICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKICAgICAgICAgY2Fz
ZSBOZXdPYmplY3Q6CiAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6Ci0gICAgICAg
ICAgICBzaW5rQ2FuZGlkYXRlKCk7CisgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKG5vZGUpOwog
ICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCiAgICAgICAgICAgICAgICAgbm9kZSwK
ICAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkgewotICAgICAgICAgICAgICAgICAgICBl
c2NhcGUoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2Rl
KCksIG5vZGUpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYnJlYWs7CiAKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKLSAgICAgICAgICAgIHNpbmtDYW5kaWRhdGUoKTsKKyAg
ICAgICAgICAgIHNpbmtDYW5kaWRhdGUobm9kZSk7CiAgICAgICAgICAgICBtX2dyYXBoLmRvVG9D
aGlsZHJlbigKICAgICAgICAgICAgICAgICBub2RlLAogICAgICAgICAgICAgICAgIFsmXSAoRWRn
ZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSwgbm9kZSk7CiAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICBicmVhazsKIApAQCAtODAwLDI2ICsxMDA5LDM2IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgUHV0SGludDoKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgUHV0U3RydWN0dXJlOgorICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZTogLy8gTm90ZSB0
aGF0IHRoaXMgd2lsbCBhbHdheXMgYmUgYWxsb2NhdGVkLCBubyBuZWVkIHRvIHJlY29yZCBpdCBp
biBwb2ludHNUbwogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgogICAgICAgICBjYXNlIEdl
dEJ5T2Zmc2V0OgogICAgICAgICBjYXNlIE11bHRpR2V0QnlPZmZzZXQ6CiAgICAgICAgIGNhc2Ug
R2V0R2V0dGVyU2V0dGVyQnlPZmZzZXQ6CiAgICAgICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAg
ICAgICBjYXNlIFN0b3JlQmFycmllcldpdGhOdWxsQ2hlY2s6IHsKLSAgICAgICAgICAgIE5vZGUq
IHRhcmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICghdGFyZ2V0
LT5pc09iamVjdEFsbG9jYXRpb24oKSkKLSAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsK
KyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IGZvbGxvdyhub2RlLT5jaGlsZDEoKS5ub2RlKCkp
OworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiAhdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24o
KSkKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0LCBub2RlKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBQdXRCeU9mZnNldDog
ewotICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQyKCkubm9kZSgpOwotICAg
ICAgICAgICAgaWYgKCF0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7Ci0gICAgICAgICAg
ICAgICAgZXNjYXBlKHRhcmdldCk7Ci0gICAgICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxk
MSgpLm5vZGUoKSk7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBmb2xsb3cobm9kZS0+Y2hp
bGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVj
dEFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fcG9pbnRzVG8u
ZmluZCh0YXJnZXQpOworICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1fcG9pbnRzVG8uZW5k
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBkZXNjID0gUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRlbnRpZmll
ck51bWJlcik7CisgICAgICAgICAgICAgICAgICAgIGl0ZXItPnZhbHVlLmFkZChkZXNjLCBudWxs
cHRyKS5pdGVyYXRvci0+dmFsdWUgPQorICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93KG5v
ZGUtPmNoaWxkMygpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2RlKCksIG5vZGUpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgp
LCBub2RlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpLCBu
b2RlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpLCBub2Rl
KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2Rl
KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtODI5
LDE5ICsxMDQ4LDcxIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAvLyBQaGFudG9tU3RydWN0dXJl
U2VsZWN0IG5vZGUgLSBzaW5jZSB0aGlzIHRyYW5zZm9ybXMgdGhlIFN0cnVjdHVyZSBpbiBhIGNv
bmRpdGlvbmFsCiAgICAgICAgICAgICAvLyB3YXkuCiAgICAgICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTI0Ci0gICAgICAgICAgICBlc2NhcGUo
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIo
KS5ub2RlKCkpOworICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwgbm9k
ZSk7CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpLCBub2RlKTsKICAg
ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBtX2dyYXBo
LmRvVG9DaGlsZHJlbigKICAgICAgICAgICAgICAgICBub2RlLAogICAgICAgICAgICAgICAgIFsm
XSAoRWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSwgbm9kZSk7CiAgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKworICAg
IHZvaWQgY3JlYXRlTWF0ZXJpYWxpemVBbmRQb3B1bGF0ZShIYXNoU2V0PE5vZGUqPiBlc2NhcGVl
cywgTm9kZSogd2hlcmUpCisgICAgeworICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIGEgc29ydCB0
aGF0IGxlYXZlcyBtaW5pbWFsIGVkZ2VzCisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8
UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPj4gZGVwbWFwOworICAgICAgICBmb3Ig
KE5vZGUqIGVzY2FwZWUgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgYXV0byYgZGVwID0gZGVw
bWFwLmFkZChlc2NhcGVlLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2Rl
Kj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgZm9yIChhdXRvIGZpZWxkIDogbV9w
b2ludHNUby5nZXQoZXNjYXBlZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUg
JiYgbV9wb2ludHNUby5jb250YWlucyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAg
IGRlcC5hZGQoZmllbGQua2V5LCBmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1hdGVyaWFsaXphdGlvbnM7CisgICAg
ICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwg
SGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBwb3B1bGF0ZUZpZWxk
czsKKyAgICAgICAgLy8gVE9ETzogV2UgbmVlZCB0byBwdXQgUHV0SGludHMgZm9yIGV2ZXJ5b25l
IHRoYXQgKnBvaW50cyB0byogdGhlc2UgZ3V5cyEhISEhIQorICAgICAgICBmb3IgKE5vZGUqIGVz
Y2FwZWUgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChlc2NhcGVl
KTsKKyAgICAgICAgICAgIE5vZGUqIG1hdGVyaWFsaXphdGlvbiA9IGNyZWF0ZU1hdGVyaWFsaXpl
KGVzY2FwZWUsIHdoZXJlKTsKKyAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbnMuYWRkKGVzY2Fw
ZWUsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICBhdXRvJiBkZXAgPSBwb3B1bGF0ZUZp
ZWxkcy5hZGQoZXNjYXBlZSwgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9k
ZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIGZvciAoYXV0byBmaWVsZCA6IGRl
cG1hcC5nZXQoZXNjYXBlZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIW1hdGVyaWFsaXplZC5j
b250YWlucyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgIGRlcC5hZGQoZmllbGQu
a2V5LCBmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEhhc2hTZXQ8
Tm9kZSo+JiBoaW50cyA9IG1fbWF0ZXJpYWxpemF0aW9uVG9IaW50cy5hZGQoCisgICAgICAgICAg
ICAgICAgbWF0ZXJpYWxpemF0aW9uLCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7
CisgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fcG9pbnRzVG8pIHsKKyAgICAgICAgICAg
ICAgICBpZiAobWF0ZXJpYWxpemVkLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGZpZWxkIDogcGFpci52
YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgPT0gZXNjYXBlZSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgaGludHMuYWRkKAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKHBhaXIua2V5LCBmaWVsZC5rZXkpLmNyZWF0
ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIHBhaXIua2V5
LT5vcmlnaW4sIG1hdGVyaWFsaXphdGlvbikpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoTm9k
ZSogZXNjYXBlZSA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICBhdXRvIGZpZWxkcyA9IHBvcHVs
YXRlRmllbGRzLmZpbmQoZXNjYXBlZSk7CisgICAgICAgICAgICBpZiAoZmllbGRzLT52YWx1ZS5z
aXplKCkgPiAwKSB7CisgICAgICAgICAgICAgICAgTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gbWF0
ZXJpYWxpemF0aW9ucy5nZXQoZXNjYXBlZSk7CisgICAgICAgICAgICAgICAgSGFzaE1hcDxQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IG1hdGVyaWFsaXplZEZpZWxkczsKKyAgICAg
ICAgICAgICAgICBmb3IgKGF1dG8gcGhhbnRvbSA6IGZpZWxkcy0+dmFsdWUpCisgICAgICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplZEZpZWxkcy5hZGQocGhhbnRvbS5rZXksIG1hdGVyaWFsaXph
dGlvbnMuZ2V0KHBoYW50b20udmFsdWUpKTsKKyAgICAgICAgICAgICAgICBtX21hdGVyaWFsaXph
dGlvblRvUG9wdWxhdGUuYWRkKG1hdGVyaWFsaXphdGlvbiwKKyAgICAgICAgICAgICAgICAgICAg
Y3JlYXRlUG9wdWxhdGUobWF0ZXJpYWxpemF0aW9uLCBtYXRlcmlhbGl6ZWRGaWVsZHMsIHdoZXJl
KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiAgICAgCiAgICAgTm9kZSogY3Jl
YXRlTWF0ZXJpYWxpemUoTm9kZSogZXNjYXBlZSwgTm9kZSogd2hlcmUpCiAgICAgewpAQCAtODg1
LDYgKzExNTYsNDMgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQorCisgICAgTm9kZSogY3JlYXRlUG9wdWxhdGUoTm9kZSogZXNjYXBlZSwgSGFzaE1h
cDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IGZpZWxkcywgTm9kZSogd2hlcmUp
CisgICAgeworICAgICAgICBOb2RlKiByZXN1bHQgPSBudWxscHRyOworCisgICAgICAgIHN3aXRj
aCAoZXNjYXBlZS0+b3AoKSkgeworICAgICAgICBjYXNlIE5ld09iamVjdDoKKyAgICAgICAgY2Fz
ZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgp
OworICAgICAgICAgICAgdW5zaWduZWQgZmlyc3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGls
ZHJlbi5zaXplKCk7CisgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5k
KEVkZ2UoZXNjYXBlZSwgS25vd25DZWxsVXNlKSk7IC8vIFRPRE86IFRISVMgTVVTVCBCRSBCT1RU
T00KKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShlc2Nh
cGVlLCBLbm93bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgZm9yIChhdXRvJiBmaWVsZCA6IGZp
ZWxkcykgeworICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQo
RWRnZShmaWVsZC52YWx1ZSwgS25vd25DZWxsVXNlKSk7CisKKyAgICAgICAgICAgICAgICBkYXRh
LT5tX3Byb3BlcnRpZXMuYXBwZW5kKFBoYW50b21Qcm9wZXJ0eVZhbHVlKGZpZWxkLmtleS5pbmZv
KCkpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVzdWx0ID0gbV9ncmFwaC5hZGRO
b2RlKAorICAgICAgICAgICAgICAgIFNwZWNOb25lLCBOb2RlOjpWYXJBcmcsIFBvcHVsYXRlTmV3
T2JqZWN0LAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAg
IGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9y
aWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5mbygpLCBm
aXJzdENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdfQ1JBU0gobV9n
cmFwaCwgZXNjYXBlZSwgIkJhZCBlc2NhcGVlIG9wIik7CisgICAgICAgIH0KKworICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KICAgICAKICAgICB2b2lkIHBvcHVsYXRlTWF0ZXJpYWxpemUo
QmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUpCiAgICAgewpAQCAt
ODk3LDkgKzEyMDUsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAgICAgUHJv
bW90ZWRIZWFwTG9jYXRpb24gc3RydWN0dXJlKFN0cnVjdHVyZVBMb2MsIGVzY2FwZWUpOwogICAg
ICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzdHJ1Y3R1cmUpKTsKLSAgICAgICAg
ICAgIAorCiAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2Uo
cmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25vd25DZWxsVXNlKSk7CiAgICAgICAgICAgICAK
KyAgICAgICAgICAgIE5vZGUqIHBvcHVsYXRlID0gbV9tYXRlcmlhbGl6YXRpb25Ub1BvcHVsYXRl
LmdldChub2RlKTsKKyAgICAgICAgICAgIGlmIChwb3B1bGF0ZSkKKyAgICAgICAgICAgICAgICBt
X2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW5bcG9wdWxhdGUtPmZpcnN0Q2hpbGQoKV0gPSBFZGdlKHJl
c29sdmUoYmxvY2ssIHN0cnVjdHVyZSksIEtub3duQ2VsbFVzZSk7CisgICAgICAgICAgICAKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kp
IHsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uc1tpXS5raW5kKCkpIHsKICAgICAg
ICAgICAgICAgICBjYXNlIFN0cnVjdHVyZVBMb2M6IHsKQEAgLTkwOSw3ICsxMjIxLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgY2FzZSBOYW1lZFBy
b3BlcnR5UExvYzogewogICAgICAgICAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUo
YmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS0+b3Ao
KSA9PSBCb3R0b21WYWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUtPm9wKCkg
PT0gQm90dG9tVmFsdWUgfHwgdmFsdWUtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gV2UgY2FuIHNraXAgQm90dG9tcyBlbnRpcmVseS4KICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC05Njgs
OSArMTI4MCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICB9Ci0gICAgCisKICAgICBTU0FDYWxjdWxhdG9yIG1fc3NhQ2FsY3VsYXRvcjsKICAgICBIYXNo
U2V0PE5vZGUqPiBtX3NpbmtDYW5kaWRhdGVzOworICAgIEhhc2hNYXA8Tm9kZSosIE5vZGUqPiBt
X21hdGVyaWFsaXphdGlvblRvUG9wdWxhdGU7CisgICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNldDxO
b2RlKj4+IG1fbWF0ZXJpYWxpemF0aW9uVG9IaW50czsKICAgICBIYXNoTWFwPE5vZGUqLCBOb2Rl
Kj4gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWU7CiAgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9y
PE5vZGUqPj4gbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zOwogICAgIEhh
c2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4+IG1fbG9jYXRpb25zRm9y
QWxsb2NhdGlvbjsKQEAgLTk3OCw2ICsxMjkyLDE0IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFBy
b21vdGVkSGVhcExvY2F0aW9uPiBtX2luZGV4VG9Mb2NhdGlvbjsKICAgICBIYXNoTWFwPFByb21v
dGVkSGVhcExvY2F0aW9uLCBOb2RlKj4gbV9sb2NhbE1hcHBpbmc7CiAgICAgSW5zZXJ0aW9uU2V0
IG1faW5zZXJ0aW9uU2V0OworCisgICAgQmxvY2tNYXA8SGFzaE1hcDxOb2RlKiwgYm9vbD4+IG1f
bWF0ZXJpYWxpemVkQXRIZWFkOworICAgIEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PiBt
X21hdGVyaWFsaXplZEF0VGFpbDsKKyAgICBIYXNoTWFwPE5vZGUqLCBib29sPiBtX21hdGVyaWFs
aXplZDsKKyAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBIYXNoTWFwPFByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9yLCBOb2RlKj4+PiBtX3BvaW50c1RvQXRIZWFkOworICAgIEJsb2NrTWFwPEhh
c2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPj4+
IG1fcG9pbnRzVG9BdFRhaWw7CisgICAgSGFzaE1hcDxOb2RlKiwgSGFzaE1hcDxQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBtX3BvaW50c1RvOworICAgIEJsb2NrTWFwPEhhc2hT
ZXQ8Tm9kZSo+PiBtX3dlYWtseUFsaXZlQXRUYWlsOwogfTsKICAgICAKIGJvb2wgcGVyZm9ybU9i
amVjdEFsbG9jYXRpb25TaW5raW5nKEdyYXBoJiBncmFwaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAK
aW5kZXggOWRmMzBmMWNlMzNkYzlkNWJlY2Y3MDBhNmY2ZTk1ZTNjNzU2ZjFlMS4uMmQ5MDllOTVi
YWRhMDY1ZWFlYjZkNDk5OTA4NWVmNjg5MjNmZWMxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAK
QEAgLTU1MCw2ICs1NTAsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFB1dEhpbnQ6CiAgICAg
ICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6CiAgICAgICAgIGNhc2UgTWF0ZXJpYWxp
emVOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CiAgICAgICAgIGNh
c2UgUHV0U3RhY2s6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdldFN0
YWNrOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVh
cExvY2F0aW9uLmgKaW5kZXggNTFmN2I5ZWUzZDU3M2I3MjQ3MzE5NTU0MTRkNGYyZjYwNGMwNWVj
Ny4uYzg1ZWJjNTM4YTFhNjdkY2UwZmMzOTExNTI3Nzc0OGNkZTk3NmI5MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaApAQCAt
NTUsNiArNTUsMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAgICAgCisgICAgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAg
ICA6IG1fa2luZChJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZv
KDEpCisgICAgeworICAgIH0KKyAgICAKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0
dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQ7IH0KICAgICAKICAgICBQ
cm9tb3RlZExvY2F0aW9uS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9CkBAIC05
MSw2ICs5NywxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAKK3N0cnVj
dCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJuIGtleS5o
YXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsgcmV0dXJu
IGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JE
ZWxldGVkID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsKIHB1Ymxp
YzoKICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE2NCw2ICsxNzYsMTYgQEAgbmFtZXNw
YWNlIFdURiB7CiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6UHJv
bW90ZWRMb2NhdGlvbktpbmQpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAgICB0eXBlZGVmIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvckhhc2ggSGFzaDsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBIYXNoVHJhaXRzOwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZH
OjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVt
cHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQ
cm9tb3RlZEhlYXBMb2NhdGlvbj4gewogICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVh
cExvY2F0aW9uSGFzaCBIYXNoOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
YWZlVG9FeGVjdXRlLmgKaW5kZXggYWE1YTcxYzE3Zjg4YjY4OGUzZmE1YjU3YjhkY2FiMjIzNDVk
NGYxZS4uZWQ1YWM4NDVmNWJhYjY0OTAyMDE3ZjZhM2Y3MDI2ZTA4NTUzYTg4NiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTI3Niw2ICsyNzYs
NyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYg
Z3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1
Y3R1cmVJbW1lZGlhdGU6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKKyAgICBjYXNl
IFBvcHVsYXRlTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbURpcmVjdEFyZ3VtZW50czoKICAg
ICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRNeUFyZ3VtZW50QnlW
YWw6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAppbmRleCBkNDU1NmM0MjkyYWE0YThiMThlZjJkYzMyZjdjYTQwYTZiZmUxNjYy
Li5iM2ZhZTk4N2YwMWViYjkxMDJlODcxYjkxNDFlNjM2MzM4ODlmZTdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAg
LTQ2NjMsNiArNDY2Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9k
ZSkKICAgICBjYXNlIFB1dEhpbnQ6CiAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0ZToK
ICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgorICAgIGNhc2UgUG9wdWxhdGVOZXdPYmpl
Y3Q6CiAgICAgY2FzZSBQdXRTdGFjazoKICAgICBjYXNlIEtpbGxTdGFjazoKICAgICBjYXNlIEdl
dFN0YWNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKaW5kZXggZTg1MmY3MmUwMzVmZjBkMjk2NDRiNDY4M2Y4NGU0YjMxZjFkZGM3Yi4u
ZjNmZjJlYzE2ODAxNjVhZDc1ZWMwNzIyYTk3OWUxZmNhOTEzMDdkNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00NzQ5LDYg
KzQ3NDksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAg
Y2FzZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6CiAgICAgY2Fz
ZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgogICAg
IGNhc2UgUHV0U3RhY2s6CiAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKaW5kZXggNTNlNzI4MWQy
N2Q1YTEwMzA4NTJkZjdlNTZhZDE4NzgyNjM4YThiOC4uYjU0ZWE5ZTcwMGJiZTUxYmVmMjMyMDI4
NDYyNzgwY2UxNTMxMjYyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdWYWxpZGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0
ZS5jcHAKQEAgLTQ1Nyw2ICs0NTcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGNhc2Ug
UHV0SGludDoKICAgICAgICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgog
ICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6CisgICAgICAgICAgICAg
ICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKICAgICAgICAgICAgICAgICBjYXNlIFB1dFN0YWNr
OgogICAgICAgICAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICAgICAgICAgIGNhc2Ug
R2V0U3RhY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5j
cHAKaW5kZXggMjhmNTRjOGZlZjJmNDEyMDk4OGEyM2RkOGJkNWE4MmE3YzcwNzBkYi4uMzExZmU3
YWE5MjkwOTkwYzU4NDI3ZWRlZmJlMjFkMTNlZTYxYTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTg0LDYgKzE4NCw3IEBAIGlubGlu
ZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgUHV0SGlu
dDoKICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgogICAgIGNhc2UgTWF0ZXJpYWxp
emVOZXdPYmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKICAgICBjYXNlIFBoYW50
b21EaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgogICAg
IGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCAwMTMyZGNlMGE4NzAzNjVmZmIwZDlmNjAxNzg2
YzBlMGM0MDkxMjEwLi41YTYzNjg4NDY3ZWNlNDA0ZmY0YTA3NjZmYjVjMzAwYTdlNDEyNzA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApA
QCAtODQ1LDYgKzg0NSw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdP
YmplY3Q6CiAgICAgICAgICAgICBjb21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QoKTsKICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgorICAgICAgICAg
ICAgY29tcGlsZVBvcHVsYXRlTmV3T2JqZWN0KCk7CisgICAgICAgICAgICBicmVhazsKIAogICAg
ICAgICBjYXNlIFBoYW50b21Mb2NhbDoKICAgICAgICAgY2FzZSBMb29wSGludDoKQEAgLTQ5MzYs
NyArNDkzOSw3IEBAIHByaXZhdGU6CiAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEm
IGRhdGEgPSBtX25vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKICAgICAgICAgCiAg
ICAgICAgIC8vIExvd2VyIHRoZSB2YWx1ZXMgZmlyc3QsIHRvIGF2b2lkIGNyZWF0aW5nIHZhbHVl
cyBpbnNpZGUgYSBjb250cm9sIGZsb3cgZGlhbW9uZC4KLSAgICAgICAgCisKICAgICAgICAgVmVj
dG9yPExWYWx1ZSwgOD4gdmFsdWVzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
ZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICB2YWx1ZXMuYXBwZW5k
KGxvd0pTVmFsdWUobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEgKyBpKSkpOwpAQCAtNTAz
OSw2ICs1MDQyLDY0IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1f
b3V0LmludFB0ciwgcmVzdWx0cykpOwogICAgIH0KIAorICAgIHZvaWQgY29tcGlsZVBvcHVsYXRl
TmV3T2JqZWN0KCkKKyAgICB7CisgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRh
dGEgPSBtX25vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKworICAgICAgICBMVmFs
dWUgb2JqZWN0ID0gbG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSkpOworICAg
ICAgICBMVmFsdWUgYnV0dGVyZmx5ID0gbV9vdXQubG9hZFB0cihvYmplY3QsIG1faGVhcHMuSlNP
YmplY3RfYnV0dGVyZmx5KTsKKworICAgICAgICBWZWN0b3I8TFZhbHVlLCA4PiB2YWx1ZXM7Cisg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7
ICsraSkKKyAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93Q2VsbChtX2dyYXBoLnZhckFyZ0No
aWxkKG1fbm9kZSwgMiArIGkpKSk7CisKKyAgICAgICAgU3RydWN0dXJlU2V0IHNldDsKKyAgICAg
ICAgbV9pbnRlcnByZXRlci5waGlDaGlsZHJlbigpLT5mb3JBbGxUcmFuc2l0aXZlSW5jb21pbmdW
YWx1ZXMoCisgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkubm9kZSgp
LAorICAgICAgICAgICAgWyZdIChOb2RlKiBpbmNvbWluZykgeworICAgICAgICAgICAgICAgIHNl
dC5hZGQoaW5jb21pbmctPmNhc3RDb25zdGFudDxTdHJ1Y3R1cmUqPigpKTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgIFZlY3RvcjxMQmFzaWNCbG9jaywgMT4gYmxvY2tzKHNldC5zaXplKCkp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzZXQuc2l6ZSgpOyBpLS07KQorICAgICAgICAg
ICAgYmxvY2tzW2ldID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJQb3B1bGF0ZU5ld09iamVjdCBj
YXNlICIsIGkpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgZHVtbXlEZWZhdWx0ID0gRlRMX05FV19C
TE9DSyhtX291dCwgKCJQb3B1bGF0ZU5ld09iamVjdCBkZWZhdWx0IGNhc2UiKSk7CisgICAgICAg
IExCYXNpY0Jsb2NrIG91dGVyQ29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJQ
b3B1bGF0ZU5ld09iamVjdCBjb250aW51YXRpb24iKSk7CisKKyAgICAgICAgVmVjdG9yPFN3aXRj
aENhc2UsIDE+IGNhc2VzKHNldC5zaXplKCkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBz
ZXQuc2l6ZSgpOyBpLS07KQorICAgICAgICAgICAgY2FzZXNbaV0gPSBTd2l0Y2hDYXNlKHdlYWtT
dHJ1Y3R1cmUoc2V0W2ldKSwgYmxvY2tzW2ldLCBXZWlnaHQoMSkpOworICAgICAgICBtX291dC5z
d2l0Y2hJbnN0cnVjdGlvbigKKyAgICAgICAgICAgIGxvd0NlbGwobV9ncmFwaC52YXJBcmdDaGls
ZChtX25vZGUsIDApKSwgY2FzZXMsIGR1bW15RGVmYXVsdCwgV2VpZ2h0KDApKTsKKworICAgICAg
ICBMQmFzaWNCbG9jayBvdXRlckxhc3ROZXh0ID0gbV9vdXQubV9uZXh0QmxvY2s7CisKKyAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gc2V0LnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgbV9v
dXQuYXBwZW5kVG8oYmxvY2tzW2ldLCAxICsgaSA8IHNldC5zaXplKCkgPyBibG9ja3NbaSArIDFd
IDogZHVtbXlEZWZhdWx0KTsKKworICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBz
ZXRbaV07CisKKyAgICAgICAgICAgIGZvciAoUHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVj
dHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKSB7CisgICAgICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyBpLS07KSB7CisgICAgICAg
ICAgICAgICAgICAgIFBoYW50b21Qcm9wZXJ0eVZhbHVlIHZhbHVlID0gZGF0YS5tX3Byb3BlcnRp
ZXNbaV07CisgICAgICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLmlkZW50aWZpZXJzKClbdmFs
dWUubV9pZGVudGlmaWVyTnVtYmVyXSAhPSBlbnRyeS5rZXkpCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICBMVmFsdWUgYmFzZSA9IGlzSW5s
aW5lT2Zmc2V0KGVudHJ5Lm9mZnNldCkgPyBvYmplY3QgOiBidXR0ZXJmbHk7CisgICAgICAgICAg
ICAgICAgICAgIHN0b3JlUHJvcGVydHkodmFsdWVzW2ldLCBiYXNlLCB2YWx1ZS5tX2lkZW50aWZp
ZXJOdW1iZXIsIGVudHJ5Lm9mZnNldCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAg
bV9vdXQuanVtcChvdXRlckNvbnRpbnVhdGlvbik7CisgICAgICAgIH0KKworICAgICAgICBtX291
dC5hcHBlbmRUbyhkdW1teURlZmF1bHQsIG91dGVyQ29udGludWF0aW9uKTsKKyAgICAgICAgbV9v
dXQudW5yZWFjaGFibGUoKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhvdXRlckNvbnRpbnVh
dGlvbiwgb3V0ZXJMYXN0TmV4dCk7CisgICAgfQorCiAjaWYgRU5BQkxFKEZUTF9OQVRJVkVfQ0FM
TF9JTkxJTklORykKICAgICBMVmFsdWUgZ2V0RnVuY3Rpb25CeVN5bWJvbChjb25zdCBDU3RyaW5n
IHN5bWJvbCkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252425</attachid>
            <date>2015-05-05 17:46:30 -0700</date>
            <delta_ts>2015-05-06 11:44:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150505174514.patch</filename>
            <type>text/plain</type>
            <size>66114</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggNTNjODQ1
ZjU2ZWI0MDQwODUzZjQxNzIxMjAwZDU1NTQwMThhOTc5MS4uNmVmYjEzZTQ2N2U1NDcyZmE1Zjc2
NmE2ODAyMjBhMDc5MmMzMWFhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMTQ5NCw4ICsxNDk0
LDEwIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1
dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogICAgICAgICAK
ICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoK
ICAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKICAgICBjYXNlIFBoYW50b21DcmVhdGVBY3Rp
dmF0aW9uOgorICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgUGhh
bnRvbURpcmVjdEFyZ3VtZW50czoKICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CiAg
ICAgY2FzZSBCb3R0b21WYWx1ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmgKaW5kZXggNjBhODk5NDgzYjA1YTg5M2ZkNmYzODViNDIzOTQ0Y2ExZDU2OWVkYy4uZGZm
ZTE4NmY0MGU1OThiZTVkMjQ1NzVhYjkxOWE2MDJmNWY0ZjBmMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg1Myw5ICs4NTMsMTEgQEAgdm9pZCBjbG9i
YmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQs
IGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIE5ld1N0cmluZ09iamVjdDoKICAgICBjYXNlIFBoYW50
b21OZXdPYmplY3Q6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKKyAgICBjYXNlIFBv
cHVsYXRlTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgogICAgIGNhc2Ug
UGhhbnRvbUNyZWF0ZUFjdGl2YXRpb246CiAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2
YXRpb246CisgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIHJlYWQo
SGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2Vz
R0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGE5
ZTMwYWNiNGIwYTNlNDZkMTlhYzI4YzkzMTY3MTBlMGRlYWMwNDUuLmRjOTc2YjgwYzE3YThmODVl
NGMwZjJkYmU2N2M2MDBjNjhkYjMyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAKQEAgLTE5Nyw4ICsxOTcsMTAgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBO
b2RlKiBub2RlKQogICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgogICAgIGNhc2UgQm90dG9tVmFsdWU6
CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgorICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6
CiAgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rpb246CiAgICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0
aXZhdGlvbjoKKyAgICBjYXNlIFBvcHVsYXRlQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIFBo
YW50b21EaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgog
ICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKaW5kZXggOWJlYTZjOGE5NzZhYzYyZjMzZGYyNDkxY2VkNDY0OGZj
NjNhMTU0Yi4uNGU0OTU3YzRjNjc3ODBlY2RlMDk2ZmVkNWRiZDhlYjYwNDM3M2RmMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMDM4LDYgKzEw
MzgsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgog
ICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVyaWFs
aXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKKyAg
ICAgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIGNhc2UgUHV0U3Rh
Y2s6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdldFN0YWNrOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCAyZDc3NWY1MWU1ZDU5ZTI3ODUyNzkxNDgx
ZDQ3M2RlNTAzMzJiZDA5Li40YzNiM2YxMWJhOGE3MmE3YTVkZGM1YWZlNDEzYzJiMjYwMWNlMjIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTQyNyw4ICsxNDI3LDkgQEAg
c3RydWN0IE5vZGUgewogICAgICAgICBzd2l0Y2ggKG9wKCkpIHsKICAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZU5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRp
b246CisgICAgICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgUG9wdWxh
dGVDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDc1Yzg4NDIzN2EwMGIxNmQ4NzBkMjQw
MTQ1OTMxOGRlZGMxYWU4ZmMuLjMxZjA5ZWNmZTU3ZGVlYTE1NzYzMTA4NTM0MWFkZDMwNWM3ZWJk
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI1Myw5ICsy
NTMsMTEgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKFB1dEhp
bnQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZUltbWVkaWF0
ZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKE1hdGVyaWFsaXplTmV3T2JqZWN0LCBO
b2RlUmVzdWx0SlMgfCBOb2RlSGFzVmFyQXJncykgXAorICAgIG1hY3JvKFBvcHVsYXRlTmV3T2Jq
ZWN0LCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUhhc1ZhckFyZ3MpIFwKICAgICBtYWNybyhQaGFu
dG9tTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBt
YWNybyhQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIG1hY3JvKE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3Vs
dEpTIHwgTm9kZUhhc1ZhckFyZ3MpIFwKKyAgICBtYWNybyhQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRp
b24sIE5vZGVNdXN0R2VuZXJhdGUgfCBOb2RlSGFzVmFyQXJncykgXAogICAgIFwKICAgICAvKiBO
b2RlcyBmb3IgbWlzYyBvcGVyYXRpb25zLiAqL1wKICAgICBtYWNybyhCcmVha3BvaW50LCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAppbmRleCAxOWFhMmJjMTRl
ZTNiNDM0Yjg2NTNmNDBiZGFjYmY3ZDUwNjQzM2VjLi4zMjAyOGRiOWRkZmZlZGU4ZTE1MzAyOTIy
NWZjNzg3NmRhMGY4MmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKQEAgLTUyLDYgKzUy
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgOiBQaGFzZShncmFwaCwgIm9iamVjdCBhbGxvY2F0aW9u
IHNpbmtpbmciKQogICAgICAgICAsIG1fc3NhQ2FsY3VsYXRvcihncmFwaCkKICAgICAgICAgLCBt
X2luc2VydGlvblNldChncmFwaCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXplZEF0SGVhZChncmFw
aCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXplZEF0VGFpbChncmFwaCkKKyAgICAgICAgLCBtX3Bv
aW50c1RvQXRIZWFkKGdyYXBoKQorICAgICAgICAsIG1fcG9pbnRzVG9BdFRhaWwoZ3JhcGgpCisg
ICAgICAgICwgbV93ZWFrbHlBbGl2ZUF0VGFpbChncmFwaCkKKyAgICAgICAgLCBtX3Npbmtpbmco
ZmFsc2UpCiAgICAgewogICAgIH0KICAgICAKQEAgLTEyNiw2ICsxMzIsNyBAQCBwcml2YXRlOgog
ICAgICAgICAKICAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBhcmUgY29tbWl0dGVkIHRvIHNp
bmtpbmcgdGhlIHNpbmtpbmcgY2FuZGlkYXRlcy4KICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRp
b25Qb2ludHMoKTsKKyAgICAgICAgcHJvcGFnYXRlTXVzdFBvaW50VG9BY2Nlc3NlcygpOwogICAg
ICAgICBsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFudG9tQWxsb2NhdGlvbnMoKTsKICAg
ICAgICAgcHJvbW90ZVN1bmtlbkZpZWxkcygpOwogICAgICAgICAKQEAgLTEzNiw3ICsxNDMsMTcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGRhdGFMb2coIlNpbmtpbmcgaXRlcmF0aW9uIGNoYW5n
ZWQgdGhlIGdyYXBoLlxuIik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICAKKwor
ICAgIHZvaWQgY29tcHV0ZUZpZWxkTGl2ZW5lc3MoKQorICAgIHsKKyAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAg
ICAgICAgSGFzaFNldDxOb2RlKj4gYWxpdmUgPSBibG9jay0+c3NhLT5saXZlQXRUYWlsOworICAg
ICAgICAgICAgbV9wb2ludHNUbyA9IG1fcG9pbnRzVG9BdFRhaWxbYmxvY2tdOworICAgICAgICAg
ICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVyaWFsaXplZEF0VGFpbFtibG9ja107CisgICAgICAg
ICAgICBtX3dlYWtseUFsaXZlQXRUYWlsW2Jsb2NrXSA9IGNsb3NlRmllbGRzKGFsaXZlKTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHZvaWQgZGV0ZXJtaW5lTWF0ZXJpYWxpemF0aW9uUG9pbnRz
KCkKICAgICB7CiAgICAgICAgIC8vIFRoZSBwcmVtaXNlIG9mIHRoaXMgcGFzcyBpcyB0aGF0IGlm
IHRoZXJlIGV4aXN0cyBhIHBvaW50IGluIHRoZSBwcm9ncmFtIHdoZXJlIHNvbWUKQEAgLTE0Niw2
NCArMTYzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBtX3NpbmtDYW5kaWRhdGVz
LmNsZWFyKCk7CiAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmNsZWFyKCk7Cisg
ICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZS5jbGVhcigpOworICAgICAgICBtX21h
dGVyaWFsaXphdGlvblRvSGludHMuY2xlYXIoKTsKICAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25T
aXRlVG9NYXRlcmlhbGl6YXRpb25zLmNsZWFyKCk7Ci0gICAgICAgIAotICAgICAgICBCbG9ja01h
cDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxpemVkQXRIZWFkKG1fZ3JhcGgpOwotICAg
ICAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxpemVkQXRUYWlsKG1f
Z3JhcGgpOwotICAgICAgICAKLSAgICAgICAgYm9vbCBjaGFuZ2VkOwotICAgICAgICBkbyB7Ci0g
ICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICBkYXRhTG9nKCJEb2luZyBp
dGVyYXRpb24gb2YgbWF0ZXJpYWxpemF0aW9uIHBvaW50IHBsYWNlbWVudC5cbiIpOwotICAgICAg
ICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9j
ayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewotICAgICAgICAgICAgICAgIEhh
c2hNYXA8Tm9kZSosIGJvb2w+IG1hdGVyaWFsaXplZCA9IG1hdGVyaWFsaXplZEF0SGVhZFtibG9j
a107Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRh
dGFMb2coIiAgICBMb29raW5nIGF0IGJsb2NrICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwgIlxuIik7
Ci0gICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGhhbmRsZU5vZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICBub2RlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtYXRlcmlhbGl6ZWQuYWRkKG5vZGUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGVzY2FwZWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtYXRlcmlhbGl6ZWQuZmluZChlc2Nh
cGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBtYXRlcmlhbGl6
ZWQuZW5kKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2Up
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgIiwgZXNj
YXBlZSwgIiBlc2NhcGVzIGF0ICIsIG5vZGUsICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpdGVyLT52YWx1ZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCIgICAgTWF0ZXJpYWxpemVkIGF0IHRhaWwgb2YgIiwgcG9pbnRlckR1
bXAoYmxvY2spLCAiOiAiLCBtYXBEdW1wKG1hdGVyaWFsaXplZCksICJcbiIpOwotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWQgPT0gbWF0ZXJpYWxpemVk
QXRUYWlsW2Jsb2NrXSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkQXRUYWlsW2Jsb2NrXSA9IG1hdGVy
aWFsaXplZDsKLSAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAvLyBPbmx5IHByb3BhZ2F0ZSB0aGluZ3MgdG8gb3VyIHN1Y2Nl
c3NvcnMgaWYgdGhleSBhcmUgYWxpdmUgaW4gYWxsIHN1Y2Nlc3NvcnMuCi0gICAgICAgICAgICAg
ICAgLy8gU28sIHdlIHBydW5lIG1hdGVyaWFsaXplZC1hdC10YWlsIHRvIG9ubHkgaW5jbHVkZSB0
aGluZ3MgdGhhdCBhcmUgbGl2ZS4KLSAgICAgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHRvUmVt
b3ZlOwotICAgICAgICAgICAgICAgIGZvciAoYXV0byBwYWlyIDogbWF0ZXJpYWxpemVkKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghYmxvY2stPnNzYS0+bGl2ZUF0VGFpbC5jb250YWlucyhw
YWlyLmtleSkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQocGFpci5r
ZXkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIGtleSA6
IHRvUmVtb3ZlKQotICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQucmVtb3ZlKGtleSk7
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNj
ZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
Zm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uYWRkKAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhaXIua2V5LCBmYWxzZSkuaXRlcmF0b3ItPnZhbHVlIHw9IHBhaXIudmFs
dWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0gd2hpbGUgKGNoYW5nZWQpOwotICAgICAgICAKKwogICAgICAgICAvLyBE
ZXRlcm1pbmUgdGhlIHNpbmsgY2FuZGlkYXRlcy4gQnJvYWRseSwgYSBzaW5rIGNhbmRpZGF0ZSBp
cyBhIG5vZGUgdGhhdCBoYW5kbGVOb2RlKCkKICAgICAgICAgLy8gYmVsaWV2ZXMgaXMgc2lua2Fi
bGUsIGFuZCBvbmUgb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOgogICAgICAgICAvLwpAQCAtMjIx
LDI1ICsxODQsNDIgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUg
dHdvIG90aGVyIHJ1bGVzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM3MDczIChydWxlICMxKQogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDc0IChydWxlICMzKQotICAgICAgICAKLSAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIo
KSkgewotICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxv
Y2tdKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBhaXIudmFsdWUpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOyAvLyBJdCB3YXMgbWF0ZXJpYWxpemVkLgotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIGlmIChibG9jay0+c3NhLT5saXZlQXRUYWlsLmNvbnRhaW5zKHBhaXIu
a2V5KSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIEl0IG1pZ2h0IHN0aWxsIGdl
dCBtYXRlcmlhbGl6ZWQgaW4gYWxsIG9mIHRoZSBzdWNjZXNzb3JzLgotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIC8vIFdlIGtub3cgdGhhdCBpdCBkaWVkIGluIHRoaXMgYmxvY2sg
YW5kIGl0IHdhc24ndCBtYXRlcmlhbGl6ZWQuIFRoYXQgbWVhbnMgdGhhdAotICAgICAgICAgICAg
ICAgIC8vIGlmIHdlIHNpbmsgdGhpcyBhbGxvY2F0aW9uLCB0aGVuICp0aGlzKiB3aWxsIGJlIGEg
cGF0aCBhbG9uZyB3aGljaCB3ZSBuZXZlcgotICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gYWxs
b2NhdGUuIFByb2ZpdCEKLSAgICAgICAgICAgICAgICBtX3NpbmtDYW5kaWRhdGVzLmFkZChwYWly
LmtleSk7CisKKyAgICAgICAgbV9zaW5raW5nID0gZmFsc2U7CisgICAgICAgIHJ1bkFuYWx5c2lz
KCk7CisgICAgICAgIGNvbXB1dGVGaWVsZExpdmVuZXNzKCk7CisgICAgICAgIG1fc2lua2luZyA9
IHRydWU7CisKKyAgICAgICAgZm9yICg7OykgeworCisgICAgICAgICAgICBIYXNoU2V0PE5vZGUq
PiBuZXdDYW5kaWRhdGVzOworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1f
Z3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgICAgIGZvciAoYXV0
byBwYWlyIDogbV9tYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChwYWlyLnZhbHVlKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8v
IEl0IHdhcyBtYXRlcmlhbGl6ZWQuCisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fd2Vha2x5
QWxpdmVBdFRhaWxbYmxvY2tdLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOyAvLyBJdCBtaWdodCBzdGlsbCBnZXQgbWF0ZXJpYWxpemVkIGluIGFs
bCBvZiB0aGUgc3VjY2Vzc29ycy4KKworICAgICAgICAgICAgICAgICAgICAvLyBXZSBrbm93IHRo
YXQgaXQgZGllZCBpbiB0aGlzIGJsb2NrIGFuZCBpdCB3YXNuJ3QgbWF0ZXJpYWxpemVkLiBUaGF0
IG1lYW5zIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgLy8gaWYgd2Ugc2luayB0aGlzIGFsbG9j
YXRpb24sIHRoZW4gKnRoaXMqIHdpbGwgYmUgYSBwYXRoIGFsb25nIHdoaWNoIHdlIG5ldmVyCisg
ICAgICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gYWxsb2NhdGUuIFByb2ZpdCEKKyAgICAgICAg
ICAgICAgICAgICAgbmV3Q2FuZGlkYXRlcy5hZGQocGFpci5rZXkpOworICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKG5ld0NhbmRpZGF0ZXMuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgaWYgKG1fc2lua0Nh
bmRpZGF0ZXMgPT0gbmV3Q2FuZGlkYXRlcykKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcyA9IG5ld0NhbmRpZGF0ZXM7CisKKyAgICAgICAgICAg
IHJ1bkFuYWx5c2lzKCk7CisKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKG1fc2lu
a0NhbmRpZGF0ZXMuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwog
ICAgICAgICAvLyBBIG1hdGVyaWFsaXphdGlvbiBlZGdlIGV4aXN0cyBhdCBhbnkgcG9pbnQgd2hl
cmUgYSBub2RlIGVzY2FwZXMgYnV0IGhhc24ndCBiZWVuCiAgICAgICAgIC8vIG1hdGVyaWFsaXpl
ZCB5ZXQuIFdlIGRvIHRoaXMgaW4gdHdvIHBhcnRzLiBGaXJzdCB3ZSBmaW5kIGFsbCBvZiB0aGUg
bm9kZXMgdGhhdCBjYXVzZQogICAgICAgICAvLyBlc2NhcGluZyB0byBoYXBwZW4sIHdoZXJlIHRo
ZSBlc2NhcGVlIGhhZCBub3QgeWV0IGJlZW4gbWF0ZXJpYWxpemVkLiBUaGlzIGNhdGNoZXMKQEAg
LTI3MSw0NSArMjUxLDQwIEBAIHByaXZhdGU6CiAgICAgICAgIC8vIEZpcnN0IHBhc3M6IGZpbmQg
aW50cmEtYmxvY2sgbWF0ZXJpYWxpemF0aW9uIHBvaW50cy4KICAgICAgICAgZm9yIChCYXNpY0Js
b2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewogICAgICAgICAg
ICAgSGFzaFNldDxOb2RlKj4gbWF0ZXJpYWxpemVkOwotICAgICAgICAgICAgZm9yIChhdXRvIHBh
aXIgOiBtYXRlcmlhbGl6ZWRBdEhlYWRbYmxvY2tdKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8g
cGFpciA6IG1fbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXSkgewogICAgICAgICAgICAgICAgIGlm
IChwYWlyLnZhbHVlICYmIG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMocGFpci5rZXkpKQogICAg
ICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKHBhaXIua2V5KTsKICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAg
ICAgICBkYXRhTG9nKCJQbGFjaW5nIG1hdGVyaWFsaXphdGlvbiBwb2ludHMgaW4gIiwgcG9pbnRl
ckR1bXAoYmxvY2spLCAiIHdpdGggbWF0ZXJpYWxpemF0aW9uIHNldCAiLCBsaXN0RHVtcChtYXRl
cmlhbGl6ZWQpLCAiXG4iKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkg
ewotICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAotICAgICAgICAgICAg
ICAgICAgICBub2RlLAotICAgICAgICAgICAgICAgICAgICBbJl0gKCkgeyB9LAotICAgICAgICAg
ICAgICAgICAgICBbJl0gKE5vZGUqIGVzY2FwZWUpIHsKKyAgICAgICAgICAgIGhhbmRsZUJsb2Nr
KAorICAgICAgICAgICAgICAgIGJsb2NrLAorICAgICAgICAgICAgICAgIFsmXSAoTm9kZSopIHsg
fSwKKyAgICAgICAgICAgICAgICBbJl0gKEhhc2hTZXQ8Tm9kZSo+IGVzY2FwZWVzLCBOb2RlKiB3
aGVyZSkgeworICAgICAgICAgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiB0b1JlbW92ZTsKKyAg
ICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBlc2NhcGVlIDogZXNjYXBlZXMpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRhdGFMb2coIlNlZWluZyAiLCBlc2NhcGVlLCAiIGVzY2FwZSBhdCAiLCBub2RlLCAiXG4i
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVzY2FwZWUpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRhdGFMb2coIiAgICBJdCdzIG5vdCBhIHNpbmsgY2FuZGlkYXRlLlxuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hdGVy
aWFsaXplZC5hZGQoZXNjYXBlZSkuaXNOZXdFbnRyeSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh
TG9nKCIgICBJdCdzIGFscmVhZHkgbWF0ZXJpYWxpemVkLlxuIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6
ZShlc2NhcGVlLCBub2RlKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiU2VlaW5nICIsIGVzY2FwZWUs
ICIgZXNjYXBlIGF0ICIsIHdoZXJlLCAiXG4iKTsKKworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVzY2FwZWUpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRvUmVtb3ZlLmFkZChlc2NhcGVlKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghbWF0ZXJpYWxpemVkLmFkZChlc2NhcGVlKS5pc05ld0VudHJ5KQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFkZChlc2NhcGVlKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIHJlbW92ZSA6IHRvUmVtb3Zl
KQorICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZXMucmVtb3ZlKHJlbW92ZSk7CisKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWVzLnNpemUoKSA+IDApCisgICAgICAgICAgICAg
ICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZUFuZFBvcHVsYXRlKGVzY2FwZWVzLCB3aGVyZSk7
CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIFNl
Y29uZCBwYXNzOiBmaW5kIENGRyBlZGdlIG1hdGVyaWFsaXphdGlvbiBwb2ludHMuCiAgICAgICAg
IGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkp
IHsKICAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+
c3VjY2Vzc29ycygpKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlh
bGl6ZWRBdEhlYWRbc3VjY2Vzc29yQmxvY2tdKSB7CisgICAgICAgICAgICAgICAgZm9yIChhdXRv
IHBhaXIgOiBtX21hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10pIHsKICAgICAgICAg
ICAgICAgICAgICAgTm9kZSogYWxsb2NhdGlvbiA9IHBhaXIua2V5OwogICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGlmIGl0IGlzIG1hdGVy
aWFsaXplZCBpbiB0aGUgc3VjY2Vzc29yLgpAQCAtMzIxLDcgKzI5Niw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgY2FyZSBpZiBpdCBpc24ndCBtYXRlcmlhbGl6
ZWQgaW4gdGhlIHByZWRlY2Vzc29yLgotICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxp
emVkQXRUYWlsW2Jsb2NrXS5nZXQoYWxsb2NhdGlvbikpCisgICAgICAgICAgICAgICAgICAgIGlm
IChtX21hdGVyaWFsaXplZEF0VGFpbFtibG9ja10uZ2V0KGFsbG9jYXRpb24pKQogICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRlY2lkZSBpZiB3ZSBwdXQgdGhlIG1hdGVyaWFsaXph
dGlvbiBhdCB0aGUgaGVhZCBvZiB0aGUgc3VjY2Vzc29yLApAQCAtMzMzLDE0ICszMDgsMTcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgLy8gYmVjYXVzZSBvZiB3aGF0IGl0IGxvb2tz
IGxpa2Ugd2hlbiB5b3UgZHJhdyBpdC4KICAgICAgICAgICAgICAgICAgICAgYm9vbCBuZXZlck1h
dGVyaWFsaXplZEluU2hhZG93ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBzaGFkb3dCbG9jayA6IHN1Y2Nlc3NvckJsb2NrLT5wcmVkZWNlc3NvcnMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWRBdFRhaWxbc2hhZG93QmxvY2td
LmdldChhbGxvY2F0aW9uKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fbWF0ZXJp
YWxpemVkQXRUYWlsW3NoYWRvd0Jsb2NrXS5nZXQoYWxsb2NhdGlvbikpIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuZXZlck1hdGVyaWFsaXplZEluU2hhZG93ID0gZmFsc2U7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgIGlmIChuZXZlck1hdGVyaWFsaXplZEluU2hhZG93KSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZShhbGxvY2F0aW9uLCBzdWNjZXNzb3JCbG9jay0+
Zmlyc3RPcmlnaW5Ob2RlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgSGFzaFNldDxOb2Rl
Kj4gZXNjYXBpbmcgeyBhbGxvY2F0aW9uIH07CisgICAgICAgICAgICAgICAgICAgICAgICBtX21h
dGVyaWFsaXplZCA9IG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fcG9pbnRzVG8gPSBtX3BvaW50c1RvQXRIZWFkW3N1Y2Nlc3Nv
ckJsb2NrXTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplQW5kUG9w
dWxhdGUoY2xvc2VGaWVsZHMoZXNjYXBpbmcpLCBzdWNjZXNzb3JCbG9jay0+Zmlyc3RPcmlnaW5O
b2RlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgCkBAIC0zNTEsOCArMzI5LDExIEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRoZSBwcmVkZWNlc3NvciBjb3VsZCBo
YXZlIGhhZCBtdWx0aXBsZSBzdWNjZXNzb3JzLiBUaGVyZWZvcmUgd2UgaGF2ZQogICAgICAgICAg
ICAgICAgICAgICAvLyBhbHJlYWR5IGhhbmRsZWQgdGhlIGNhc2Ugd2hlcmUgdGhlIHByZWRlY2Vz
c29yIGhhcyBtdWx0aXBsZSBzdWNjZXNzb3JzLgogICAgICAgICAgICAgICAgICAgICBERkdfQVNT
RVJUKG1fZ3JhcGgsIGJsb2NrLCBibG9jay0+bnVtU3VjY2Vzc29ycygpID09IDEpOwotICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemUoYWxs
b2NhdGlvbiwgYmxvY2stPnRlcm1pbmFsKCkpOworCisgICAgICAgICAgICAgICAgICAgIEhhc2hT
ZXQ8Tm9kZSo+IGVzY2FwaW5nIHsgYWxsb2NhdGlvbiB9OworICAgICAgICAgICAgICAgICAgICBt
X21hdGVyaWFsaXplZCA9IG1fbWF0ZXJpYWxpemVkQXRUYWlsW2Jsb2NrXTsKKyAgICAgICAgICAg
ICAgICAgICAgbV9wb2ludHNUbyA9IG1fcG9pbnRzVG9BdFRhaWxbYmxvY2tdOworICAgICAgICAg
ICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZUFuZFBvcHVsYXRlKGNsb3NlRmllbGRzKGVzY2Fw
aW5nKSwgYmxvY2stPnRlcm1pbmFsKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KICAgICAgICAgfQpAQCAtNDI5LDkgKzQxMCwxMyBAQCBwcml2YXRlOgogICAgICAgICAgICAg
ICAgIG1hcHBpbmcuc2V0KG9yaWdpbmFsTm9kZSwgcGhpRGVmLT52YWx1ZSgpKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIAorICAgICAgICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVy
aWFsaXplZEF0SGVhZFtibG9ja107CisgICAgICAgICAgICBtX3BvaW50c1RvID0gbV9wb2ludHNU
b0F0SGVhZFtibG9ja107CisgICAgICAgICAgICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
bm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgpIHsK
ICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CiAKKyAg
ICAgICAgICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIHRvIGtlZXAgdGhlIG9yZGVyLi4uCiAgICAg
ICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6ZSA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0
ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgTm9k
ZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6ZSk7
CiAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5kZXgsIG1h
dGVyaWFsaXplKTsKQEAgLTQzOSw2ICs0MjQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LCBub2RlSW5kZXgsIG5vZGUtPm9yaWdpbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHks
IGVzY2FwZWUsIG1hdGVyaWFsaXplKTsKICAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5zZXQo
ZXNjYXBlZSwgbWF0ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBt
X21hdGVyaWFsaXphdGlvblRvSGludHMuZmluZChtYXRlcmlhbGl6ZSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpdGVyICE9IG1fbWF0ZXJpYWxpemF0aW9uVG9IaW50cy5lbmQoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBoaW50IDogaXRlci0+dmFsdWUpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCwg
aGludCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXplIDogbV9tYXRlcmlhbGl6YXRpb25TaXRl
VG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAo
Tm9kZSogcG9wdWxhdGUgPSBtX21hdGVyaWFsaXphdGlvblRvUG9wdWxhdGUuZ2V0KG1hdGVyaWFs
aXplKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2Rl
SW5kZXgsIHBvcHVsYXRlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IuZXhlY3V0ZU5vZGUobm9k
ZSk7CkBAIC00NTEsMTQgKzQ0NiwxNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICB9
KTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBJZiB5b3UgY2F1c2UgYW4g
ZXNjYXBlLCB5b3Ugc2hvdWxkbid0IHNlZSB0aGUgb3JpZ2luYWwgZXNjYXBlZS4KLSAgICAgICAg
ICAgICAgICBpZiAodmFsaWRhdGlvbkVuYWJsZWQoKSkgeworICAgICAgICAgICAgICAgIC8vIE5v
dyB5b3UgbWF5LCBiZWNhdXNlIGN5Y2xlcy4KKyAgICAgICAgICAgICAgICAvLyBBQ1RVQUxMWSwg
dGhpcyBpcyBiZWNhdXNlIGhhbmRsZU5vZGUgaXMgbm8gbG9uZ2VyIHRoZSBmdW5jdGlvbiB0byBj
YWxsIGFzIGxvZ2ljIGhhcyBiZWVuIG1vdmVkIHRvIGhhbmRsZUJsb2NrLgorICAgICAgICAgICAg
ICAgIC8qIGlmICh2YWxpZGF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGhh
bmRsZU5vZGUoCiAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgWyZdICgpIHsgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSog
ZXNjYXBlZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKikgeyB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBlc2NhcGVlLCBOb2RlKikgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbm9kZSwgIW1fc2lua0Nh
bmRpZGF0ZXMuY29udGFpbnMoZXNjYXBlZSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gKi8KICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIAogICAgICAgICAgICAgTm9kZUFuZEluZGV4IHRlcm1pbmFsID0gYmxvY2st
PmZpbmRUZXJtaW5hbCgpOwpAQCAtNDkzLDcgKzQ5MCwxMiBAQCBwcml2YXRlOgogICAgICAgICAv
LyBMb3dlciBldmVyeXRoaW5nIGJ1dCByZWFkaW5nIG9wZXJhdGlvbnMgb24gcGhhbnRvbSBhbGxv
Y2F0aW9ucy4gV2UgYWJzb2x1dGVseSBoYXZlIHRvCiAgICAgICAgIC8vIGxvd2VyIGFsbCB3cml0
ZXMgc28gYXMgdG8gcmV2ZWFsIHRoZW0gdG8gdGhlIFNTQSBjYWxjdWxhdG9yLiBXZSBjYW5ub3Qg
bG93ZXIgcmVhZHMKICAgICAgICAgLy8gYmVjYXVzZSB0aGUgd2hvbGUgcG9pbnQgaXMgdGhhdCB0
aG9zZSBnbyBhd2F5IGNvbXBsZXRlbHkuCi0gICAgICAgIAorCisKKyAgICAgICAgLy8gVE9ETzog
UHJvYmFibHkgbmVlZHMgdG8gdXNlIHBvaW50c1RvIHRvIGZvbGxvdyBQdXRzCisgICAgICAgIC8v
IFRPRE86IFByb2JhYmx5IGFsc28gbmVlZHMgdG8gZm9sbG93IHRoZSBwcm9wYWdhdGlvbiBvbiBn
ZXQgYW5kIHN0dWZmCisgICAgICAgIC8vIFRPRE86IHRoaXMgbWVhbnMgSSBhY3R1YWxseSBuZWVk
IHRvIHVzZSBoYW5kbGVCbG9jayA6LSgKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBmb2xs
b3cgYmVjYXVzZSB3ZSBhcmUgYWZ0ZXIgcHJvcGFnYXRlTXVzdFBvaW50VG9BY2Nlc3NlcygpCiAg
ICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9y
ZGVyKCkpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUlu
ZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgpIHsKICAgICAgICAgICAgICAgICBOb2Rl
KiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CkBAIC04MDcsNiArODA5LDIzNCBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOwogICAgIH0KIAorICAgIHZvaWQgcHJv
cGFnYXRlTXVzdFBvaW50VG9BY2Nlc3NlcygpCisgICAgeworICAgICAgICBtX2dyYXBoLmNsZWFy
UmVwbGFjZW1lbnRzKCk7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBo
LmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgaGFuZGxlQmxvY2soCisgICAgICAg
ICAgICAgICAgYmxvY2ssCisgICAgICAgICAgICAgICAgWyZdIChOb2RlKikgeyB9LAorICAgICAg
ICAgICAgICAgIFsmXSAoSGFzaFNldDxOb2RlKj4sIE5vZGUqKSB7IH0sCisgICAgICAgICAgICAg
ICAgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHJ1bkFuYWx5c2lzKCkKKyAg
ICB7CisgICAgICAgIG1fbWF0ZXJpYWxpemVkQXRIZWFkID0gQmxvY2tNYXA8SGFzaE1hcDxOb2Rl
KiwgYm9vbD4+KG1fZ3JhcGgpOworICAgICAgICBtX21hdGVyaWFsaXplZEF0VGFpbCA9IEJsb2Nr
TWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PihtX2dyYXBoKTsKKyAgICAgICAgbV9wb2ludHNUb0F0
SGVhZCA9IEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IsIE5vZGUqPj4+KG1fZ3JhcGgpOworICAgICAgICBtX3BvaW50c1RvQXRUYWlsID0g
QmxvY2tNYXA8SGFzaE1hcDxOb2RlKiwgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ciwgTm9kZSo+Pj4obV9ncmFwaCk7CisgICAgICAgIGJvb2wgY2hhbmdlZDsKKyAgICAgICAgZG8g
eworICAgICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICAgICAgZm9yIChCYXNpY0Js
b2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAg
ICAgICAgIGNoYW5nZWQgfD0gaGFuZGxlQmxvY2soCisgICAgICAgICAgICAgICAgICAgIGJsb2Nr
LAorICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqKSB7IH0sCisgICAgICAgICAgICAgICAg
ICAgIFsmXSAoSGFzaFNldDxOb2RlKj4sIE5vZGUqKSB7IH0pOworICAgICAgICAgICAgfQorICAg
ICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICB9CisKKyAgICAvLyBBbHdheXMgcmV0dXJuIGVp
dGhlciBudWxsLCBvciBzb21ldGhpbmcgcG9pbnRlZCB0byB0aGF0IGlzIG5vdCBtYXRlcmlhbGl6
ZWQKKyAgICAvLyB5ZXQgKGkuZS4sIHNvbWV0aGluZyBpbiBwb2ludHNUbyBpdHNlbGYpCisgICAg
Tm9kZSogZm9sbG93KE5vZGUqIHNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmIChtX3BvaW50c1Rv
LmNvbnRhaW5zKHNvdXJjZSkpCisgICAgICAgICAgICByZXR1cm4gc291cmNlOworCisgICAgICAg
IE5vZGUqIHByZXZpb3VzID0gbnVsbHB0cjsKKyAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2Ny
aXB0b3IgZGVzYzsKKyAgICAgICAgc3dpdGNoIChzb3VyY2UtPm9wKCkpIHsKKyAgICAgICAgY2Fz
ZSBHZXRDbG9zdXJlVmFyOiB7CisgICAgICAgICAgICBwcmV2aW91cyA9IGZvbGxvdyhzb3VyY2Ut
PmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVy
ID0gc291cmNlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpOworICAgICAgICAgICAgZGVzYyA9IFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKENsb3N1cmVWYXJQTG9jLCBpZGVudGlmaWVyTnVtYmVy
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRCeU9m
ZnNldDoKKyAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDogeworICAgICAgICAg
ICAgcHJldmlvdXMgPSBmb2xsb3coc291cmNlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAg
ICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IHNvdXJjZS0+c3RvcmFnZUFjY2Vzc0RhdGEo
KS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgZGVzYyA9IFByb21vdGVkTG9jYXRpb25E
ZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVtYmVyKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNdWx0aUdldEJ5T2Zmc2V0OiB7
CisgICAgICAgICAgICBwcmV2aW91cyA9IGZvbGxvdyhzb3VyY2UtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gc291cmNlLT5tdWx0aUdl
dEJ5T2Zmc2V0RGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7CisgICAgICAgICAgICBkZXNjID0gUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0eVBMb2MsIGlkZW50aWZpZXJOdW1i
ZXIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXBy
ZXZpb3VzKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgYXV0byBmaWVs
ZHNNYXAgPSBtX3BvaW50c1RvLmdldChwcmV2aW91cyk7CisgICAgICAgIGF1dG8gZmllbGRJdGVy
ID0gZmllbGRzTWFwLmZpbmQoZGVzYyk7CisgICAgICAgIGlmIChmaWVsZEl0ZXIgPT0gZmllbGRz
TWFwLmVuZCgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgcmV0dXJu
IGZpZWxkSXRlci0+dmFsdWUgJiYgbV9wb2ludHNUby5jb250YWlucyhmaWVsZEl0ZXItPnZhbHVl
KSA/IGZpZWxkSXRlci0+dmFsdWUgOiBudWxscHRyOworICAgIH0KKworICAgIEhhc2hTZXQ8Tm9k
ZSo+IGNsb3NlRmllbGRzKEhhc2hTZXQ8Tm9kZSo+IG5vZGVzKQorICAgIHsKKyAgICAgICAgSGFz
aFNldDxOb2RlKj4gZXhhbWluZUZpZWxkcyA9IG5vZGVzOworICAgICAgICB3aGlsZSAoIWV4YW1p
bmVGaWVsZHMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBuZXdOb2Rl
czsKKyAgICAgICAgICAgIC8vIEFkZCB0aGUgYXJndW1lbnRzCisgICAgICAgICAgICBmb3IgKE5v
ZGUqIG5vZGUgOiBleGFtaW5lRmllbGRzKSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1Rv
Q2hpbGRyZW4oCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAg
IFsmXSAoRWRnZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcG9pbnRz
VG8uY29udGFpbnMoZWRnZS5ub2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg
bm9kZXMuYWRkKGVkZ2Uubm9kZSgpKS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5ld05vZGVzLmFkZChlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogZXhhbWluZUZp
ZWxkcykgeworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fcG9pbnRzVG8uZmluZChub2Rl
KTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlciA9PSBtX3BvaW50c1RvLmVuZCgpKQorICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6
IGl0ZXItPnZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghcGFpci52YWx1ZSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICBhdXRv
IGl0ZXIgPSBtX21hdGVyaWFsaXplZC5maW5kKHBhaXIudmFsdWUpOworICAgICAgICAgICAgICAg
ICAgICBpZiAoaXRlciAhPSBtX21hdGVyaWFsaXplZC5lbmQoKSAmJiAhaXRlci0+dmFsdWUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICYmIG5vZGVzLmFkZChwYWlyLnZhbHVlKS5pc05ld0VudHJ5
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQobV9wb2ludHNUby5jb250YWlucyhw
YWlyLnZhbHVlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBuZXdOb2Rlcy5hZGQocGFpci52
YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBleGFtaW5lRmllbGRzID0gV1RGOjptb3ZlKG5ld05vZGVzKTsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gbm9kZXM7CisgICAgfQorCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgU2lua0NhbmRpZGF0ZUZ1bmN0b3IsIHR5cGVuYW1lIEVzY2FwZUZ1bmN0b3I+Cisg
ICAgYm9vbCBoYW5kbGVCbG9jaygKKyAgICAgICAgQmFzaWNCbG9jayogYmxvY2ssCisgICAgICAg
IGNvbnN0IFNpbmtDYW5kaWRhdGVGdW5jdG9yJiBzaW5rQ2FuZGlkYXRlLAorICAgICAgICBjb25z
dCBFc2NhcGVGdW5jdG9yJiBlc2NhcGUsCisgICAgICAgIGJvb2wgZm9sZCA9IGZhbHNlKQorICAg
IHsKKyAgICAgICAgYXV0byBkb0VzY2FwZUFsbG9jYXRpb25Fc2NhcGVlcyA9IFsmXSAoSGFzaFNl
dDxOb2RlKj4gdG9Fc2NhcGUsIE5vZGUqIHdoZXJlKSB7CisgICAgICAgICAgICB0b0VzY2FwZSA9
IGNsb3NlRmllbGRzKHRvRXNjYXBlKTsKKyAgICAgICAgICAgIGVzY2FwZSh0b0VzY2FwZSwgd2hl
cmUpOworICAgICAgICAgICAgZm9yIChOb2RlKiBlc2NhcGluZyA6IHRvRXNjYXBlKSB7CisgICAg
ICAgICAgICAgICAgYXV0byBpdGVyID0gbV9tYXRlcmlhbGl6ZWQuZmluZChlc2NhcGluZyk7Cisg
ICAgICAgICAgICAgICAgQVNTRVJUKGl0ZXIgIT0gbV9tYXRlcmlhbGl6ZWQuZW5kKCkpOworICAg
ICAgICAgICAgICAgIGl0ZXItPnZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBtX3BvaW50
c1RvLnJlbW92ZShlc2NhcGluZyk7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IGF1dG8gZG9Fc2NhcGUgPSBbJl0gKE5vZGUqIGVzY2FwZWUsIE5vZGUqIHdoZXJlKSB7CisgICAg
ICAgICAgICBpZiAoZXNjYXBlZSAmJiAoZXNjYXBlZSA9IGZvbGxvdyhlc2NhcGVlKSkpCisgICAg
ICAgICAgICAgICAgZG9Fc2NhcGVBbGxvY2F0aW9uRXNjYXBlZXMoSGFzaFNldDxOb2RlKj4geyBl
c2NhcGVlIH0sIHdoZXJlKTsKKyAgICAgICAgfTsKKyAgICAgICAgYXV0byBkb1NpbmtDYW5kaWRh
dGUgPSBbJl0gKE5vZGUqIG5vZGUpIHsKKyAgICAgICAgICAgIHNpbmtDYW5kaWRhdGUobm9kZSk7
CisgICAgICAgICAgICBtX21hdGVyaWFsaXplZC5hZGQobm9kZSwgZmFsc2UpOworICAgICAgICAg
ICAgbV9wb2ludHNUby5hZGQobm9kZSwgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ciwgTm9kZSo+KCkpOworICAgICAgICB9OworICAgICAgICBtX21hdGVyaWFsaXplZCA9IG1fbWF0
ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgbV9wb2ludHNUbyA9IG1fcG9pbnRzVG9B
dEhlYWRbYmxvY2tdOworICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAg
ICAgICAgIGlmIChmb2xkKQorICAgICAgICAgICAgICAgIG1fZ3JhcGgucGVyZm9ybVN1YnN0aXR1
dGlvbihub2RlKTsKKyAgICAgICAgICAgIGhhbmRsZU5vZGUobm9kZSwgZG9TaW5rQ2FuZGlkYXRl
LCBkb0VzY2FwZSk7CisgICAgICAgICAgICBpZiAoZm9sZCkgeworICAgICAgICAgICAgICAgIE5v
ZGUqIHJlcGxhY2VtZW50ID0gZm9sbG93KG5vZGUpOworICAgICAgICAgICAgICAgIGlmIChyZXBs
YWNlbWVudCAmJiByZXBsYWNlbWVudCAhPSBub2RlKQorICAgICAgICAgICAgICAgICAgICBub2Rl
LT5yZXBsYWNlV2l0aChyZXBsYWNlbWVudCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwor
ICAgICAgICAvLyBDaGVjayBmb3IgImZpZWxkIHVwc2lsb25zIjogaWYgdGhlcmUgaXMgYSBmaWVs
ZCB3aGVyZSB3ZSBjdXJyZW50bHkgaGF2ZQorICAgICAgICAvLyBhIG11c3QtcG9pbnQtdG8gdmFs
dWUgYW5kIHRoZSBzdWNjZXNzb3IgZGlzYWdyZWVzIChlaXRoZXIgYmVjYXVzZSB0aGUgc3VjY2Vz
c29yCisgICAgICAgIC8vIHNheXMgdGhlIG93bmVyIG11c3QgYmUgbWF0ZXJpYWxpemVkIG9yIGJl
Y2F1c2UgaXQgaGFzIGEgZGlmZmVyZW50IG11c3QtcG9pbnQtdG8KKyAgICAgICAgLy8gdmFsdWUp
LCB3ZSBuZWVkIHRvIGVzY2FwZSB0aGUgdmFsdWUgaGVyZS4KKyAgICAgICAgSGFzaFNldDxOb2Rl
Kj4gdG9Fc2NhcGU7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBi
bG9jay0+c3VjY2Vzc29ycygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fcG9p
bnRzVG8pIHsKKyAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX21hdGVyaWFsaXplZEF0SGVh
ZFtzdWNjZXNzb3JCbG9ja10uZmluZChwYWlyLmtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0
ZXIgIT0gbV9tYXRlcmlhbGl6ZWRBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmVuZCgpICYmIGl0ZXIt
PnZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBmaWVsZCA6IHBhaXIudmFs
dWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSAmJiBtX3BvaW50
c1RvLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
b0VzY2FwZS5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9wb2lu
dHNUb0F0SGVhZFtzdWNjZXNzb3JCbG9ja10uZmluZChwYWlyLmtleSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpdGVyID09IG1fcG9pbnRzVG9BdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmVuZCgp
KQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gc3VjY2Vzc29yRmllbGRNYXAgPSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIChhdXRvIGZpZWxkIDogcGFpci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFmaWVsZC52YWx1ZSB8fCAhbV9wb2ludHNUby5jb250YWlucyhmaWVsZC52YWx1ZSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICBhdXRvIHN1Y2Nlc3NvckZpZWxkID0gc3VjY2Vzc29yRmllbGRNYXAuZmluZChmaWVs
ZC5rZXkpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3NvckZpZWxkICE9IHN1
Y2Nlc3NvckZpZWxkTWFwLmVuZCgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3Vj
Y2Vzc29yRmllbGQtPnZhbHVlICE9IGZpZWxkLnZhbHVlKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRvRXNjYXBlLmFkZChmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZG9F
c2NhcGVBbGxvY2F0aW9uRXNjYXBlZXMoY2xvc2VGaWVsZHModG9Fc2NhcGUpLCBibG9jay0+dGVy
bWluYWwoKSk7CisKKyAgICAgICAgaWYgKG1fbWF0ZXJpYWxpemVkID09IG1fbWF0ZXJpYWxpemVk
QXRUYWlsW2Jsb2NrXSAmJiBtX3BvaW50c1RvID09IG1fcG9pbnRzVG9BdFRhaWxbYmxvY2tdKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fbWF0ZXJpYWxpemVkQXRUYWls
W2Jsb2NrXSA9IG1fbWF0ZXJpYWxpemVkOworICAgICAgICBtX3BvaW50c1RvQXRUYWlsW2Jsb2Nr
XSA9IG1fcG9pbnRzVG87CisgICAgICAgIAorICAgICAgICAvLyBPbmx5IHByb3BhZ2F0ZSB0aGlu
Z3MgdG8gb3VyIHN1Y2Nlc3NvcnMgaWYgdGhleSBhcmUgYWxpdmUgaW4gYWxsIHN1Y2Nlc3NvcnMs
CisgICAgICAgIC8vIG9yIHRoZXkgYXJlIGEgZmllbGQgb2YgYSB2YWx1ZSB0aGF0IGlzIGFsaXZl
IGluIGFsbCBzdWNjZXNzb3JzLgorICAgICAgICBIYXNoU2V0PE5vZGUqPiB0b0tlZXA7CisgICAg
ICAgIGZvciAoYXV0byBwYWlyIDogbV9tYXRlcmlhbGl6ZWQpIHsKKyAgICAgICAgICAgIGlmIChi
bG9jay0+c3NhLT5saXZlQXRUYWlsLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAg
ICB0b0tlZXAuYWRkKHBhaXIua2V5KTsKKyAgICAgICAgfQorICAgICAgICB0b0tlZXAgPSBjbG9z
ZUZpZWxkcyh0b0tlZXApOworICAgICAgICBIYXNoU2V0PE5vZGUqPiB0b1JlbW92ZTsKKyAgICAg
ICAgZm9yIChhdXRvIHBhaXIgOiBtX21hdGVyaWFsaXplZCkgeworICAgICAgICAgICAgaWYgKCF0
b0tlZXAuY29udGFpbnMocGFpci5rZXkpKQorICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFkZChw
YWlyLmtleSk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogdG9SZW1vdmUp
IHsKKyAgICAgICAgICAgIG1fbWF0ZXJpYWxpemVkLnJlbW92ZShub2RlKTsKKyAgICAgICAgICAg
IG1fcG9pbnRzVG8ucmVtb3ZlKG5vZGUpOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAgICAg
ICAgIGZvciAoYXV0byBwYWlyIDogbV9tYXRlcmlhbGl6ZWQpIHsKKyAgICAgICAgICAgICAgICBt
X21hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uYWRkKAorICAgICAgICAgICAgICAg
ICAgICBwYWlyLmtleSwgZmFsc2UpLml0ZXJhdG9yLT52YWx1ZSB8PSBwYWlyLnZhbHVlOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX3BvaW50c1RvKSB7Cisg
ICAgICAgICAgICAgICAgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+
JiBzdWNjZXNzb3JNYXAgPQorICAgICAgICAgICAgICAgICAgICBtX3BvaW50c1RvQXRIZWFkW3N1
Y2Nlc3NvckJsb2NrXS5hZGQoCisgICAgICAgICAgICAgICAgICAgICAgICBwYWlyLmtleSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Is
IE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGZp
ZWxkIDogcGFpci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBlbnN1cmVkIGJl
Zm9yZSB0aGF0IHRoaXMgd291bGQgKmFsd2F5cyogYmUgYSBuZXcgZW50cnkKKyAgICAgICAgICAg
ICAgICAgICAgc3VjY2Vzc29yTWFwLmFkZChmaWVsZC5rZXksIGZpZWxkLnZhbHVlKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBJRiB0
aGUgb3duZXIgb2YgdGhlIGZpZWxkIElTIG1hdGVyaWFsaXplZCBpbiB0aGUgc3VjY2Vzc29yLCB3
ZSBPTkxZIG5lZWQgdG8gZXNjYXBlIHRoZSB2YWx1ZS4gRG9uJ3Qgc3RvcmUgQU5ZVEhJTkcgaW4g
dGhlIHBvaW50c1RvIQorICAgICAgICAvLyBJdCBpcyBWSVRBTExZIElNUE9SVEFOVCB0aGF0IHRo
ZSBndXlzIGluIGRvbShwb2ludHNUbykgYXJlIEFUIEFMTCBUSU1FUywgRVhBQ1RMWSBUSEUgU0FN
RSBHVVlTIGFzIHRoZSBndXlzIGluIG1hdGVyaWFsaXplZCB3aG9zZSB2YWx1ZSBpcyBGQUxTRS4K
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgU2lu
a0NhbmRpZGF0ZUZ1bmN0b3IsIHR5cGVuYW1lIEVzY2FwZUZ1bmN0b3I+CiAgICAgdm9pZCBoYW5k
bGVOb2RlKAogICAgICAgICBOb2RlKiBub2RlLApAQCAtODE3LDMxICsxMDQ3LDMzIEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3
T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKLSAgICAg
ICAgICAgIHNpbmtDYW5kaWRhdGUoKTsKKyAgICAgICAgICAgIHNpbmtDYW5kaWRhdGUobm9kZSk7
CiAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKICAgICAgICAgICAgICAgICBub2Rl
LAogICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5v
ZGUoKSwgbm9kZSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgaWYgKCFub2RlLT5jYXN0T3Bl
cmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxs
VmFsaWQoKSkKLSAgICAgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7Ci0gICAgICAgICAgICBt
X2dyYXBoLmRvVG9DaGlsZHJlbigKLSAgICAgICAgICAgICAgICBub2RlLAotICAgICAgICAgICAg
ICAgIFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5v
ZGUoKSk7Ci0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgc2lua0NhbmRpZGF0
ZShub2RlKTsKKyAgICAgICAgICAgIGlmIChtX3NpbmtpbmcgJiYgIW1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigK
KyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdl
IGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSwgbm9k
ZSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQogICAgICAgICAgICAg
YnJlYWs7CiAKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgaWYg
KCFtX2dyYXBoLnN5bWJvbFRhYmxlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnNpbmdsZXRv
blNjb3BlKCktPmlzU3RpbGxWYWxpZCgpKQotICAgICAgICAgICAgICAgIHNpbmtDYW5kaWRhdGUo
KTsKKyAgICAgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKG5vZGUpOwogICAgICAgICAgICAgbV9n
cmFwaC5kb1RvQ2hpbGRyZW4oCiAgICAgICAgICAgICAgICAgbm9kZSwKICAgICAgICAgICAgICAg
ICBbJl0gKEVkZ2UgZWRnZSkgewotICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2Rl
KCkpOworICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2RlKCksIG5vZGUpOwogICAg
ICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTg1MiwzMiArMTA4NCw1
NiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFN0b3JlQmFycmllcldpdGhOdWxsQ2hlY2s6CiAg
ICAgICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZToKKyAgICAgICAg
Y2FzZSBQdXRTdHJ1Y3R1cmU6IC8vIE5vdGUgdGhhdCB0aGlzIHdpbGwgYWx3YXlzIGJlIGFsbG9j
YXRlZCwgbm8gbmVlZCB0byByZWNvcmQgaXQgaW4gcG9pbnRzVG8KICAgICAgICAgY2FzZSBDaGVj
a1N0cnVjdHVyZToKICAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKICAgICAgICAgY2FzZSBNdWx0
aUdldEJ5T2Zmc2V0OgogICAgICAgICBjYXNlIEdldEdldHRlclNldHRlckJ5T2Zmc2V0OiB7Ci0g
ICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7Ci0gICAgICAg
ICAgICBpZiAoIXRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAg
ZXNjYXBlKHRhcmdldCk7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBmb2xsb3cobm9kZS0+
Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgIXRhcmdldC0+aXNP
YmplY3RBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdldCwgbm9kZSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNh
c2UgUHV0QnlPZmZzZXQ6IHsKLSAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxk
MigpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24o
KSkgewotICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQpOwotICAgICAgICAgICAgICAgIGVz
Y2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0g
Zm9sbG93KG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYm
IHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkgJiYgKCFtX3NpbmtpbmcgfHwgbV9zaW5rQ2Fu
ZGlkYXRlcy5jb250YWlucyh0YXJnZXQpKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9
IG1fcG9pbnRzVG8uZmluZCh0YXJnZXQpOworICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1f
cG9pbnRzVG8uZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBkZXNjID0gUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3Bl
cnR5UExvYywKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRh
KCkuaWRlbnRpZmllck51bWJlcik7CisgICAgICAgICAgICAgICAgICAgIGl0ZXItPnZhbHVlLmFk
ZChkZXNjLCBudWxscHRyKS5pdGVyYXRvci0+dmFsdWUgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgZm9sbG93KG5vZGUtPmNoaWxkMygpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2RlKCksIG5vZGUp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hp
bGQxKCkubm9kZSgpLCBub2RlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQy
KCkubm9kZSgpLCBub2RlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQzKCku
bm9kZSgpLCBub2RlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5j
aGlsZDMoKS5ub2RlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAg
ICBjYXNlIFB1dENsb3N1cmVWYXI6IHsKLSAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUt
PmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc0FjdGl2YXRpb25B
bGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdldCk7Ci0gICAgICAgICAg
ICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdl
dCA9IGZvbGxvdyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdl
dCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSAmJiAoIW1fc2lua2luZyB8fCBt
X3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHRhcmdldCkpKSB7CisgICAgICAgICAgICAgICAgYXV0
byBpdGVyID0gbV9wb2ludHNUby5maW5kKHRhcmdldCk7CisgICAgICAgICAgICAgICAgaWYgKGl0
ZXIgIT0gbV9wb2ludHNUby5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGRlc2Mg
PSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAgICAgICAgICAgICAgICAgICAgICAgIENs
b3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+c2NvcGVPZmZzZXQo
KS5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIGl0ZXItPnZhbHVlLmFkZChkZXNjLCBu
dWxscHRyKS5pdGVyYXRvci0+dmFsdWUgPQorICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93
KG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCksIG5vZGUpOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAg
ICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlIGVk
Z2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSwgbm9kZSk7
CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtODg3LDE5ICsxMTQzLDk2IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAvLyBQaGFudG9tU3RydWN0dXJlU2VsZWN0IG5vZGUgLSBzaW5jZSB0
aGlzIHRyYW5zZm9ybXMgdGhlIFN0cnVjdHVyZSBpbiBhIGNvbmRpdGlvbmFsCiAgICAgICAgICAg
ICAvLyB3YXkuCiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM2OTI0Ci0gICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgp
KTsKLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAg
ICAgZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwgbm9kZSk7CisgICAgICAgICAgICBlc2Nh
cGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpLCBub2RlKTsKICAgICAgICAgICAgIGJyZWFrOwogCiAg
ICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKICAgICAg
ICAgICAgICAgICBub2RlLAogICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGVzY2FwZShlZGdlLm5vZGUoKSwgbm9kZSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKworICAgIHZvaWQgY3JlYXRlTWF0ZXJpYWxp
emVBbmRQb3B1bGF0ZShIYXNoU2V0PE5vZGUqPiBlc2NhcGVlcywgTm9kZSogd2hlcmUpCisgICAg
eworICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIGEgc29ydCB0aGF0IGxlYXZlcyBtaW5pbWFsIGVk
Z2VzCisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2Ny
aXB0b3IsIE5vZGUqPj4gZGVwbWFwOworICAgICAgICBmb3IgKE5vZGUqIGVzY2FwZWUgOiBlc2Nh
cGVlcykgeworICAgICAgICAgICAgYXV0byYgZGVwID0gZGVwbWFwLmFkZChlc2NhcGVlLCBIYXNo
TWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVl
OworICAgICAgICAgICAgZm9yIChhdXRvIGZpZWxkIDogbV9wb2ludHNUby5nZXQoZXNjYXBlZSkp
IHsKKyAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYgbV9wb2ludHNUby5jb250YWlu
cyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgIGRlcC5hZGQoZmllbGQua2V5LCBm
aWVsZC52YWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgSGFzaE1hcDxO
b2RlKiwgTm9kZSo+IG1hdGVyaWFsaXphdGlvbnM7CisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1h
dGVyaWFsaXplZDsKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgSGFzaE1hcDxQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBwb3B1bGF0ZUZpZWxkczsKKyAgICAgICAgLy8gVE9ETzog
V2UgbmVlZCB0byBvcmRlciB0aGUgKm1hdGVyaWFsaXphdGlvbnMqIGluIHN1Y2ggYSB3YXkgdGhh
dCBpZiB0aGV5IHVzZSBvdGhlciBwaGFudG9tIG9iamVjdHMgYXMgdGhlaXIgYXJndW1lbnRzLCB0
aGVuIHRoZXkgYXJlIHB1dCBhZnRlciB0aG9zZS4KKyAgICAgICAgSGFzaFNldDxOb2RlKj4gdGVt
cCA9IGVzY2FwZWVzOworICAgICAgICB3aGlsZSAoIXRlbXAuaXNFbXB0eSgpKSB7CisgICAgICAg
ICAgICBIYXNoU2V0PE5vZGUqPiBsYXRlcjsKKyAgICAgICAgICAgIGZvciAoTm9kZSogZXNjYXBl
ZSA6IHRlbXApIHsKKyAgICAgICAgICAgICAgICBib29sIG9rID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlZSwK
KyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodGVtcC5jb250YWlucyhlZGdlLm5vZGUoKSkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2sgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICAgICAgaWYgKCFvaykgeworICAgICAgICAgICAgICAgICAgICBsYXRlci5hZGQoZXNjYXBl
ZSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBBU1NFUlQobV9wb2ludHNUby5jb250YWlucyhlc2NhcGVlKSk7CisgICAg
ICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChlc2NhcGVlKTsKKyAgICAgICAgICAgICAgICBO
b2RlKiBtYXRlcmlhbGl6YXRpb24gPSBjcmVhdGVNYXRlcmlhbGl6ZShlc2NhcGVlLCB3aGVyZSk7
CisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCisgICAgICAgICAgICAgICAg
ICAgIG1hdGVyaWFsaXphdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlJiBlZGdl
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtYXRlcmlhbGl6YXRpb25z
LmZpbmQoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0g
bWF0ZXJpYWxpemF0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGdl
LnNldE5vZGUoaXRlci0+dmFsdWUpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICAgICBtYXRlcmlhbGl6YXRpb25zLmFkZChlc2NhcGVlLCBtYXRlcmlhbGl6YXRpb24pOwor
ICAgICAgICAgICAgICAgIGF1dG8mIGRlcCA9IHBvcHVsYXRlRmllbGRzLmFkZChlc2NhcGVlLCBI
YXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4oKSkuaXRlcmF0b3ItPnZh
bHVlOworICAgICAgICAgICAgICAgIGZvciAoYXV0byBmaWVsZCA6IGRlcG1hcC5nZXQoZXNjYXBl
ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXRlcmlhbGl6ZWQuY29udGFpbnMoZmll
bGQudmFsdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVwLmFkZChmaWVsZC5rZXksIGZp
ZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBIYXNoU2V0
PE5vZGUqPiYgaGludHMgPSBtX21hdGVyaWFsaXphdGlvblRvSGludHMuYWRkKAorICAgICAgICAg
ICAgICAgICAgICBtYXRlcmlhbGl6YXRpb24sIEhhc2hTZXQ8Tm9kZSo+KCkpLml0ZXJhdG9yLT52
YWx1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fcG9pbnRzVG8pIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZC5jb250YWlucyhwYWlyLmtleSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgZm9y
IChhdXRvIGZpZWxkIDogcGFpci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGZpZWxkLnZhbHVlID09IGVzY2FwZWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
U1NFUlQobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhwYWlyLmtleSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhpbnRzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRIZWFwTG9jYXRpb24ocGFpci5rZXksIGZpZWxkLmtleSkuY3JlYXRlSGludCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIHBhaXIua2V5LT5v
cmlnaW4sIG1hdGVyaWFsaXphdGlvbikpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICAgICAgdGVtcCA9IFdURjo6bW92ZShsYXRlcik7CisgICAgICAgIH0KKyAgICAgICAgZm9y
IChOb2RlKiBlc2NhcGVlIDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgIGF1dG8gZmllbGRzID0g
cG9wdWxhdGVGaWVsZHMuZmluZChlc2NhcGVlKTsKKyAgICAgICAgICAgIGlmIChmaWVsZHMtPnZh
bHVlLnNpemUoKSA+IDApIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBtYXRlcmlhbGl6YXRpb24g
PSBtYXRlcmlhbGl6YXRpb25zLmdldChlc2NhcGVlKTsKKyAgICAgICAgICAgICAgICBIYXNoTWFw
PFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4gbWF0ZXJpYWxpemVkRmllbGRzOwor
ICAgICAgICAgICAgICAgIGZvciAoYXV0byBwaGFudG9tIDogZmllbGRzLT52YWx1ZSkKKyAgICAg
ICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkRmllbGRzLmFkZChwaGFudG9tLmtleSwgbWF0ZXJp
YWxpemF0aW9ucy5nZXQocGhhbnRvbS52YWx1ZSkpOworICAgICAgICAgICAgICAgIG1fbWF0ZXJp
YWxpemF0aW9uVG9Qb3B1bGF0ZS5hZGQobWF0ZXJpYWxpemF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICBjcmVhdGVQb3B1bGF0ZShtYXRlcmlhbGl6YXRpb24sIG1hdGVyaWFsaXplZEZpZWxkcywg
d2hlcmUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KICAgICAKICAgICBOb2Rl
KiBjcmVhdGVNYXRlcmlhbGl6ZShOb2RlKiBlc2NhcGVlLCBOb2RlKiB3aGVyZSkKICAgICB7CkBA
IC05NTYsNiArMTI4OSw2NCBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICB9CisKKyAgICBOb2RlKiBjcmVhdGVQb3B1bGF0ZShOb2RlKiBlc2NhcGVlLCBI
YXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4gZmllbGRzLCBOb2RlKiB3
aGVyZSkKKyAgICB7CisgICAgICAgIE5vZGUqIHJlc3VsdCA9IG51bGxwdHI7CisKKyAgICAgICAg
c3dpdGNoIChlc2NhcGVlLT5vcCgpKSB7CisgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAg
ICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhKiBkYXRhID0gbV9ncmFwaC5tX29iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEu
YWRkKCk7CisgICAgICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3ZhckFy
Z0NoaWxkcmVuLnNpemUoKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5h
cHBlbmQoRWRnZShlc2NhcGVlLCBLbm93bkNlbGxVc2UpKTsgLy8gVE9ETzogVEhJUyBNVVNUIEJF
IEJPVFRPTQorICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdl
KGVzY2FwZWUsIEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBmb3IgKGF1dG8mIGZpZWxk
IDogZmllbGRzKSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFw
cGVuZChFZGdlKGZpZWxkLnZhbHVlLCBLbm93bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgICAg
IGRhdGEtPm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUoZmllbGQua2V5
LmluZm8oKSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBo
LmFkZE5vZGUoCisgICAgICAgICAgICAgICAgU3BlY05vbmUsIE5vZGU6OlZhckFyZywgUG9wdWxh
dGVOZXdPYmplY3QsCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAg
ICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVy
ZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhkYXRhKSwgT3BJbmZv
KCksIGZpcnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCkgLSBmaXJzdENo
aWxkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjoKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAg
ICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0
TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGZpcnN0Q2hp
bGQgPSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpOworICAgICAgICAgICAgbV9ncmFw
aC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKGVzY2FwZWUsIEtub3duQ2VsbFVzZSkpOwor
CisgICAgICAgICAgICBmb3IgKGF1dG8mIGZpZWxkIDogZmllbGRzKSB7CisgICAgICAgICAgICAg
ICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKGZpZWxkLnZhbHVlLCBLbm93
bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgICAgIGRhdGEtPm1fcHJvcGVydGllcy5hcHBlbmQo
UGhhbnRvbVByb3BlcnR5VmFsdWUoZmllbGQua2V5LmluZm8oKSkpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAg
U3BlY05vbmUsIE5vZGU6OlZhckFyZywgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uLAorICAgICAg
ICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdp
bi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwK
KyAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5mbygpLCBmaXJzdENoaWxkLCBtX2dy
YXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpIC0gZmlyc3RDaGlsZCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdfQ1JB
U0gobV9ncmFwaCwgZXNjYXBlZSwgIkJhZCBlc2NhcGVlIG9wIik7CisgICAgICAgIH0KKworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KICAgICAKICAgICB2b2lkIHBvcHVsYXRlTWF0ZXJp
YWxpemUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUpCiAgICAg
ewpAQCAtOTY4LDkgKzEzNTksMTMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAg
ICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc3RydWN0dXJlKFN0cnVjdHVyZVBMb2MsIGVzY2FwZWUp
OwogICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzdHJ1Y3R1cmUpKTsKLSAg
ICAgICAgICAgIAorCiAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5k
KEVkZ2UocmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25vd25DZWxsVXNlKSk7CiAgICAgICAg
ICAgICAKKyAgICAgICAgICAgIE5vZGUqIHBvcHVsYXRlID0gbV9tYXRlcmlhbGl6YXRpb25Ub1Bv
cHVsYXRlLmdldChub2RlKTsKKyAgICAgICAgICAgIGlmIChwb3B1bGF0ZSkKKyAgICAgICAgICAg
ICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW5bcG9wdWxhdGUtPmZpcnN0Q2hpbGQoKV0gPSBF
ZGdlKHJlc29sdmUoYmxvY2ssIHN0cnVjdHVyZSksIEtub3duQ2VsbFVzZSk7CisgICAgICAgICAg
ICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsb2NhdGlvbnMuc2l6ZSgp
OyArK2kpIHsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uc1tpXS5raW5kKCkpIHsK
ICAgICAgICAgICAgICAgICBjYXNlIFN0cnVjdHVyZVBMb2M6IHsKQEAgLTk4MCw3ICsxMzc1LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgY2FzZSBO
YW1lZFByb3BlcnR5UExvYzogewogICAgICAgICAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IHJl
c29sdmUoYmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1
ZS0+b3AoKSA9PSBCb3R0b21WYWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUt
Pm9wKCkgPT0gQm90dG9tVmFsdWUgfHwgdmFsdWUtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgY2FuIHNraXAgQm90dG9tcyBlbnRpcmVseS4K
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CkBA
IC0xMDIyLDcgKzE0MTcsNyBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICAgICAgY2FzZSBDbG9z
dXJlVmFyUExvYzogewogICAgICAgICAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUo
YmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS0+b3Ao
KSA9PSBCb3R0b21WYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLT5vcCgpID09
IEJvdHRvbVZhbHVlIHx8IHZhbHVlLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAgICAgICBkYXRhLm1fcHJvcGVy
dGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRpb25zW2ldLmluZm8oKSkpOwpA
QCAtMTA3OSw5ICsxNDc0LDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgIH0KLSAgICAKKwogICAgIFNTQUNhbGN1bGF0b3IgbV9zc2FDYWxjdWxhdG9yOwog
ICAgIEhhc2hTZXQ8Tm9kZSo+IG1fc2lua0NhbmRpZGF0ZXM7CisgICAgSGFzaE1hcDxOb2RlKiwg
Tm9kZSo+IG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBI
YXNoU2V0PE5vZGUqPj4gbV9tYXRlcmlhbGl6YXRpb25Ub0hpbnRzOwogICAgIEhhc2hNYXA8Tm9k
ZSosIE5vZGUqPiBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZTsKICAgICBIYXNoTWFwPE5vZGUq
LCBWZWN0b3I8Tm9kZSo+PiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnM7
CiAgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPj4gbV9sb2Nh
dGlvbnNGb3JBbGxvY2F0aW9uOwpAQCAtMTA4OSw2ICsxNDg2LDE1IEBAIHByaXZhdGU6CiAgICAg
VmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBtX2luZGV4VG9Mb2NhdGlvbjsKICAgICBIYXNo
TWFwPFByb21vdGVkSGVhcExvY2F0aW9uLCBOb2RlKj4gbV9sb2NhbE1hcHBpbmc7CiAgICAgSW5z
ZXJ0aW9uU2V0IG1faW5zZXJ0aW9uU2V0OworCisgICAgQmxvY2tNYXA8SGFzaE1hcDxOb2RlKiwg
Ym9vbD4+IG1fbWF0ZXJpYWxpemVkQXRIZWFkOworICAgIEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSos
IGJvb2w+PiBtX21hdGVyaWFsaXplZEF0VGFpbDsKKyAgICBIYXNoTWFwPE5vZGUqLCBib29sPiBt
X21hdGVyaWFsaXplZDsKKyAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBIYXNoTWFwPFByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4+PiBtX3BvaW50c1RvQXRIZWFkOworICAgIEJs
b2NrTWFwPEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Is
IE5vZGUqPj4+IG1fcG9pbnRzVG9BdFRhaWw7CisgICAgSGFzaE1hcDxOb2RlKiwgSGFzaE1hcDxQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBtX3BvaW50c1RvOworICAgIEJsb2Nr
TWFwPEhhc2hTZXQ8Tm9kZSo+PiBtX3dlYWtseUFsaXZlQXRUYWlsOworICAgIGJvb2wgbV9zaW5r
aW5nOwogfTsKICAgICAKIGJvb2wgcGVyZm9ybU9iamVjdEFsbG9jYXRpb25TaW5raW5nKEdyYXBo
JiBncmFwaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggMzFkNjZhYmU1YzhhYzc0NzA2ZjFk
MmRhZDkyOTgxMzNmN2M4NTg2NS4uYjljYTVjMzZjMDY5ZTNmNzFkMjA4MDFkMzQzYzQ5OGE1MGRh
OTJjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTU1Miw2ICs1NTIsOCBAQCBwcml2YXRl
OgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgogICAgICAgICBjYXNlIE1h
dGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKKyAgICAgICAgY2FzZSBQb3B1
bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIGNhc2UgUHV0U3RhY2s6CiAgICAgICAgIGNh
c2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdldFN0YWNrOiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKaW5kZXggZjE4YzUw
ODFhNGUzOWJlNDMxODMxMGZkNzQxNTAxOGVmNzFjNGE5NS4uYmY0NmQyYzNjZjNjZmUwZDdhZDQ3
YTExNTQwYjUyMmQ5ODZiYzViYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaApAQCAtNTcsNiArNTcsMTIgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAgICAgCisgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoV1RGOjpI
YXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAgICA6IG1fa2luZChJbnZhbGlkUHJvbW90
ZWRMb2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZvKDEpCisgICAgeworICAgIH0KKyAgICAK
ICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJv
bW90ZWRMb2NhdGlvbktpbmQ7IH0KICAgICAKICAgICBQcm9tb3RlZExvY2F0aW9uS2luZCBraW5k
KCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9CkBAIC05Myw2ICs5OSwxMiBAQCBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAKK3N0cnVjdCBQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJuIGtleS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciYgYSwgY29uc3QgUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRpYyBj
b25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307CisKIGNs
YXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsKIHB1YmxpYzoKICAgICBQcm9tb3RlZEhlYXBMb2Nh
dGlvbigKQEAgLTE2Niw2ICsxNzgsMTYgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbktpbmQpOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAg
ICB0eXBlZGVmIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggSGFzaDsK
K307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwordGVtcGxhdGU8
PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvcj4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsK
K307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIHRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gewog
ICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uSGFzaCBIYXNoOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggZjRi
MDc5Zjg3YjAxOGMwMDU3MzI2ZWIwOTUxNDI2MDc4NWUzMmVjNi4uNDFkZjkwZmZhMmZiNDIwNzM5
MDllNzYyZjBkMjJmMWQyZjBiNDM1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTYWZlVG9FeGVjdXRlLmgKQEAgLTI3OCw2ICsyNzgsOCBAQCBib29sIHNhZmVUb0V4ZWN1dGUo
QWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAg
Y2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0ZToKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2Jq
ZWN0OgogICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgUG9w
dWxhdGVOZXdPYmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAg
Y2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3Vt
ZW50czoKICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDIzY2YyNDRi
MGM4M2M5NzE1YmU3MTE1NGViNmMyNjdlZDVhMzM4NzQuLjkxNTUxYzQ4NGJkNGFhZmQ3NTIwM2My
NDJmMjczZGM3YjhiMDE4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDYwMCw2ICs0NjAwLDggQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1
cmVJbW1lZGlhdGU6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKICAgICBjYXNlIE1h
dGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0Ogor
ICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgUHV0U3RhY2s6CiAg
ICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDNlNTc0ZDRmNjli
MDU5MzYxNGNjN2YyYmQzMWNlYjlkNThlZWNlMzAuLmJjMzM4M2RjN2FhY2U5NGVjMjczOTdkMDk3
NDVhZmJjN2FiMTM4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDY5Nyw2ICs0Njk3LDggQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlh
dGU6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKICAgICBjYXNlIE1hdGVyaWFsaXpl
Q3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgorICAgIGNhc2Ug
UG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgUHV0U3RhY2s6CiAgICAgY2FzZSBL
aWxsU3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdWYWxpZGF0ZS5jcHAKaW5kZXggZjg5MjQ1MzE1MDMxNDc5ODkyOThlODY3OWZmZjRkMzVkNzFl
ZTMyMi4uMWJhMDNmZGVlYjI2OTI0MWY5OTgyNTMxOTUxYzM1NjM3MzhkZTYxNSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKQEAgLTQzMCw2ICs0MzAsOCBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6CiAg
ICAgICAgICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKICAgICAgICAgICAgICAg
ICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgICAgICAgICBjYXNl
IFBvcHVsYXRlTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVB
Y3RpdmF0aW9uOgogICAgICAgICAgICAgICAgIGNhc2UgUHV0U3RhY2s6CiAgICAgICAgICAgICAg
ICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgICAgICAgICAgICAgY2FzZSBHZXRTdGFjazoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAwYmZkZmNj
YzZkMzJhZWRiNDgwYzczODlhZGNiZTE2NWI3N2I0ZTIzLi45MThjMjg2NTU1OTIxNjAzZjExYTdm
ZGY0NDlhYThmMDAyOGViOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
YXBhYmlsaXRpZXMuY3BwCkBAIC0xODYsNiArMTg2LDggQEAgaW5saW5lIENhcGFiaWxpdHlMZXZl
bCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0
ZToKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgIGNhc2UgTWF0ZXJpYWxpemVD
cmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CisgICAgY2FzZSBQ
b3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgY2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRz
OgogICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3VtZW50czoKICAgICBjYXNlIEdldE15QXJndW1l
bnRCeVZhbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGls
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4IGRm
MzI0ZjZkOThmMDJiZGQzMDg3NzJiOTFlZjRiMmI0NzQxNjQzZjguLmZjZDdkYjgzZjM1YzA5MTk3
Zjk5M2UxOTA2MjRiZDJiYWMzMWU5NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ29tcGlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
b21waWxlLmNwcApAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFz
ZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6
YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKQogICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXphdGlvbi0+YWNjb3VudEZvckxvY2Fsc09mZnNldChsb2NhbHNP
ZmZzZXQpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAodmVyYm9zZUNvbXBpbGF0aW9u
RW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAoZmFsc2UgJiYgdmVyYm9zZUNvbXBpbGF0aW9u
RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgRHVtcENvbnRleHQgY29udGV4dDsKICAgICAg
ICAgICAgICAgICBkYXRhTG9nKCIgICAgRXhpdCB2YWx1ZXM6ICIsIGluQ29udGV4dChleGl0Lm1f
dmFsdWVzLCAmY29udGV4dCksICJcbiIpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCA5MTUwYTQ2MGNiNTUw
N2I3Yzc1NzdkMjhlZDRhMjBlZDI3YzFmODZiLi5hZTUyM2E4YjQwMDY1MzllYzM1NWFlZTRjYWU5
MDIyMjIxM2E2OTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcApAQCAtODUxLDYgKzg1MSwxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNl
IE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVNYXRlcmlh
bGl6ZUNyZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IFBvcHVsYXRlTmV3T2JqZWN0OgorICAgICAgICAgICAgY29tcGlsZVBvcHVsYXRlTmV3T2JqZWN0
KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2
YXRpb246CisgICAgICAgICAgICBjb21waWxlUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uKCk7Cisg
ICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFBoYW50b21Mb2NhbDoKICAgICAgICAg
Y2FzZSBMb29wSGludDoKQEAgLTUxMTEsNyArNTExNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIE9i
amVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBtX25vZGUtPm9iamVjdE1hdGVyaWFsaXph
dGlvbkRhdGEoKTsKICAgICAgICAgCiAgICAgICAgIC8vIExvd2VyIHRoZSB2YWx1ZXMgZmlyc3Qs
IHRvIGF2b2lkIGNyZWF0aW5nIHZhbHVlcyBpbnNpZGUgYSBjb250cm9sIGZsb3cgZGlhbW9uZC4K
LSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPExWYWx1ZSwgOD4gdmFsdWVzOwogICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpCiAg
ICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUobV9ncmFwaC52YXJBcmdDaGlsZCht
X25vZGUsIDEgKyBpKSkpOwpAQCAtNTI2MSw2ICs1MjY3LDgyIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAgICAgbV9oZWFwcy5KU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlc1tkYXRhLm1fcHJv
cGVydGllc1tpXS5tX2lkZW50aWZpZXJOdW1iZXJdKTsKICAgICAgICAgfQogICAgICAgICBzZXRK
U1ZhbHVlKGFjdGl2YXRpb24pOworCisgICAgfQorCisgICAgdm9pZCBjb21waWxlUG9wdWxhdGVD
cmVhdGVBY3RpdmF0aW9uKCkKKyAgICB7CisgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRh
dGEmIGRhdGEgPSBtX25vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKworICAgICAg
ICBWZWN0b3I8TFZhbHVlLCA4PiB2YWx1ZXM7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgIHZhbHVlcy5h
cHBlbmQobG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7CisKKyAg
ICAgICAgTFZhbHVlIGFjdGl2YXRpb24gPSBsb3dDZWxsKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAwKSk7CisKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9w
ZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBtX291dC5zdG9yZTY0KHZhbHVlc1tp
XSwKKyAgICAgICAgICAgICAgICBhY3RpdmF0aW9uLAorICAgICAgICAgICAgICAgIG1faGVhcHMu
SlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXNbZGF0YS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVu
dGlmaWVyTnVtYmVyXSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVQb3B1
bGF0ZU5ld09iamVjdCgpCisgICAgeworICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRh
JiBkYXRhID0gbV9ub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7CisKKyAgICAgICAg
TFZhbHVlIG9iamVjdCA9IGxvd0NlbGwobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEpKTsK
KyAgICAgICAgTFZhbHVlIGJ1dHRlcmZseSA9IG1fb3V0LmxvYWRQdHIob2JqZWN0LCBtX2hlYXBz
LkpTT2JqZWN0X2J1dHRlcmZseSk7CisKKyAgICAgICAgVmVjdG9yPExWYWx1ZSwgOD4gdmFsdWVz
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3BlcnRpZXMuc2l6
ZSgpOyArK2kpCisgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0NlbGwobV9ncmFwaC52YXJB
cmdDaGlsZChtX25vZGUsIDIgKyBpKSkpOworCisgICAgICAgIFN0cnVjdHVyZVNldCBzZXQ7Cisg
ICAgICAgIG1faW50ZXJwcmV0ZXIucGhpQ2hpbGRyZW4oKS0+Zm9yQWxsVHJhbnNpdGl2ZUluY29t
aW5nVmFsdWVzKAorICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApLm5v
ZGUoKSwKKyAgICAgICAgICAgIFsmXSAoTm9kZSogaW5jb21pbmcpIHsKKyAgICAgICAgICAgICAg
ICBzZXQuYWRkKGluY29taW5nLT5jYXN0Q29uc3RhbnQ8U3RydWN0dXJlKj4oKSk7CisgICAgICAg
ICAgICB9KTsKKworICAgICAgICBWZWN0b3I8TEJhc2ljQmxvY2ssIDE+IGJsb2NrcyhzZXQuc2l6
ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc2V0LnNpemUoKTsgaS0tOykKKyAgICAg
ICAgICAgIGJsb2Nrc1tpXSA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUG9wdWxhdGVOZXdPYmpl
Y3QgY2FzZSAiLCBpKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGR1bW15RGVmYXVsdCA9IEZUTF9O
RVdfQkxPQ0sobV9vdXQsICgiUG9wdWxhdGVOZXdPYmplY3QgZGVmYXVsdCBjYXNlIikpOworICAg
ICAgICBMQmFzaWNCbG9jayBvdXRlckNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiUG9wdWxhdGVOZXdPYmplY3QgY29udGludWF0aW9uIikpOworCisgICAgICAgIFZlY3RvcjxT
d2l0Y2hDYXNlLCAxPiBjYXNlcyhzZXQuc2l6ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gc2V0LnNpemUoKTsgaS0tOykKKyAgICAgICAgICAgIGNhc2VzW2ldID0gU3dpdGNoQ2FzZSh3
ZWFrU3RydWN0dXJlKHNldFtpXSksIGJsb2Nrc1tpXSwgV2VpZ2h0KDEpKTsKKyAgICAgICAgbV9v
dXQuc3dpdGNoSW5zdHJ1Y3Rpb24oCisgICAgICAgICAgICBsb3dDZWxsKG1fZ3JhcGgudmFyQXJn
Q2hpbGQobV9ub2RlLCAwKSksIGNhc2VzLCBkdW1teURlZmF1bHQsIFdlaWdodCgwKSk7CisKKyAg
ICAgICAgTEJhc2ljQmxvY2sgb3V0ZXJMYXN0TmV4dCA9IG1fb3V0Lm1fbmV4dEJsb2NrOworCisg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IHNldC5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAg
IG1fb3V0LmFwcGVuZFRvKGJsb2Nrc1tpXSwgMSArIGkgPCBzZXQuc2l6ZSgpID8gYmxvY2tzW2kg
KyAxXSA6IGR1bW15RGVmYXVsdCk7CisKKyAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gc2V0W2ldOworCisgICAgICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkgOiBz
dHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgeworICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgaS0tOykgeworICAg
ICAgICAgICAgICAgICAgICBQaGFudG9tUHJvcGVydHlWYWx1ZSB2YWx1ZSA9IGRhdGEubV9wcm9w
ZXJ0aWVzW2ldOworICAgICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC5pZGVudGlmaWVycygp
W3ZhbHVlLm1faWRlbnRpZmllck51bWJlcl0gIT0gZW50cnkua2V5KQorICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgTFZhbHVlIGJhc2UgPSBp
c0lubGluZU9mZnNldChlbnRyeS5vZmZzZXQpID8gb2JqZWN0IDogYnV0dGVyZmx5OworICAgICAg
ICAgICAgICAgICAgICBzdG9yZVByb3BlcnR5KHZhbHVlc1tpXSwgYmFzZSwgdmFsdWUubV9pZGVu
dGlmaWVyTnVtYmVyLCBlbnRyeS5vZmZzZXQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIG1fb3V0Lmp1bXAob3V0ZXJDb250aW51YXRpb24pOworICAgICAgICB9CisKKyAgICAgICAg
bV9vdXQuYXBwZW5kVG8oZHVtbXlEZWZhdWx0LCBvdXRlckNvbnRpbnVhdGlvbik7CisgICAgICAg
IG1fb3V0LnVucmVhY2hhYmxlKCk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8ob3V0ZXJDb250
aW51YXRpb24sIG91dGVyTGFzdE5leHQpOwogICAgIH0KIAogI2lmIEVOQUJMRShGVExfTkFUSVZF
X0NBTExfSU5MSU5JTkcpCkBAIC03OTc3LDcgKzgwNTksNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgICAgIGV4aXRWYWx1ZUZvckF2YWlsYWJpbGl0eShhcmd1bWVudHMsIG1hcCwgaGVhcFBhaXIu
dmFsdWUpKTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgaWYgKHZlcmJvc2VDb21waWxh
dGlvbkVuYWJsZWQoKSkKKyAgICAgICAgaWYgKGZhbHNlICYmIHZlcmJvc2VDb21waWxhdGlvbkVu
YWJsZWQoKSkKICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgICAgRXhpdCB2YWx1ZXM6ICIsIGV4
aXQubV92YWx1ZXMsICJcbiIpOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCA4ZmRkYzM5YTQ3ZjU1M2U3MTg4
NWNmNDU2ZjQzYWZhMzRkOTUyMTRjLi41ZDJkMjFmZjg0NGFkOTczZTEyMjgwOTczNTQ2MDVkZWYx
YTA1NWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRD
b21waWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29t
cGlsZXIuY3BwCkBAIC0yMjQsMTMgKzIyNCw1NSBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigK
ICAgICAgICAgaWYgKCEhZXhpdC5tX3ZhbHVlUHJvZmlsZSkKICAgICAgICAgICAgIGppdC5zdG9y
ZTY0KEdQUkluZm86OnJlZ1QwLCBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWlsQnVja2V0
KDApKTsKICAgICB9CisKKyAgICAvLyBNYXRlcmlhbGl6ZSBhbGwgb2JqZWN0cworCisgICAgZm9y
IChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uIDogZXhpdC5t
X21hdGVyaWFsaXphdGlvbnMpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBwcm9wZXJ0eUluZGV4
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBwcm9wZXJ0eUluZGV4LS07
KSB7CisgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVlID0gbWF0ZXJpYWxpemF0aW9u
LT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF0udmFsdWUoKTsKKyAgICAgICAgICAgIGlmICh2
YWx1ZS5pc09iamVjdE1hdGVyaWFsaXphdGlvbigpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgY29tcGlsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgIGppdCwgdmFs
dWUsIHJlY29yZCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCisgICAgICAg
ICAgICAgICAgbWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyKTsKKyAgICAgICAgICAgIGppdC5zdG9y
ZVB0cihHUFJJbmZvOjpyZWdUMCwgbWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzICsgcHJvcGVydHlJ
bmRleCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIFRoaXMgY2FsbCBhc3N1bWVz
IHRoYXQgd2UgZG9uJ3QgcGFzcyBhcmd1bWVudHMgb24gdGhlIHN0YWNrLgorICAgICAgICBqaXQu
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbiksCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzKSk7CisgICAgICAgIGppdC5t
b3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KG9wZXJh
dGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAg
ICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOworICAgICAgICBqaXQuc3RvcmVQdHIo
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIG1hdGVyaWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0
ZXJpYWxpemF0aW9uKSk7CisgICAgfQorCisgICAgLy8gTm93IHBvcHVsYXRlIHRoZW0KKworICAg
IGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IGV4
aXQubV9tYXRlcmlhbGl6YXRpb25zKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgcHJvcGVydHlJ
bmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgcHJvcGVydHlJbmRl
eC0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2YWx1ZSA9IG1hdGVyaWFsaXph
dGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVlKCk7CisgICAgICAgICAgICBj
b21waWxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgaml0LCB2YWx1ZSwgcmVjb3JkLCBqaXRD
b2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwKKyAgICAgICAgICAgICAgICBtYXRlcmlh
bGl6YXRpb25Ub1BvaW50ZXIpOworICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJl
Z1QwLCBtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMgKyBwcm9wZXJ0eUluZGV4KTsKKyAgICAgICAg
fQorCisgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoCisgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uKSwKKyAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIu
Z2V0KG1hdGVyaWFsaXphdGlvbikpLAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50cykpOworICAgICAgICBqaXQubW92ZShDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb25Qb3B1
bGF0ZU9iamVjdEluT1NSKSksIEdQUkluZm86Om5vbkFyZ0dQUjApOworICAgICAgICBqaXQuY2Fs
bChHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICB9CiAgICAgCiAgICAgLy8gTWF0ZXJpYWxpemUg
YWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFuIG9iamVjdCB1bnRpbCBhbGwgb2YgdGhl
IG9iamVjdHMgaXQgbmVlZHMKICAgICAvLyBoYXZlIGJlZW4gbWF0ZXJpYWxpemVkLiBDdXJpb3Vz
bHksIHRoaXMgaXMgdGhlIG9ubHkgcGxhY2UgdGhhdCB3ZSBoYXZlIGFuIGFsZ29yaXRobSB0aGF0
IHByZXZlbnRzCiAgICAgLy8gT1NSIGV4aXQgZnJvbSBoYW5kbGluZyBjeWNsaWMgb2JqZWN0IG1h
dGVyaWFsaXphdGlvbnMuIE9mIGNvdXJzZSwgb2JqZWN0IGFsbG9jYXRpb24gc2lua2luZwogICAg
IC8vIGN1cnJlbnRseSB3b3VsZG4ndCByZWNvZ25pemUgYSBjeWNsZSBhcyBiZWluZyBzaW5rYWJs
ZSAtIGJ1dCBpZiBpdCBkaWQgdGhlbiB0aGUgb25seSB0aGluZyB0aGF0Ci0gICAgLy8gd291bGQg
YWh2ZSB0byBjaGFuZ2UgaXMgdGhpcyBmaXhwb2ludC4gSW5zdGVhZCB3ZSB3b3VsZCBhbGxvY2F0
ZSB0aGUgb2JqZWN0cyBmaXJzdCBhbmQgcG9wdWxhdGUKKyAgICAvLyB3b3VsZCBoYXZlIHRvIGNo
YW5nZSBpcyB0aGlzIGZpeHBvaW50LiBJbnN0ZWFkIHdlIHdvdWxkIGFsbG9jYXRlIHRoZSBvYmpl
Y3RzIGZpcnN0IGFuZCBwb3B1bGF0ZQogICAgIC8vIHRoZW0gd2l0aCBkYXRhIGxhdGVyLgorICAg
IC8qCiAgICAgSGFzaFNldDxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbio+IHRvTWF0ZXJp
YWxpemU7CiAgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxp
emF0aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpCiAgICAgICAgIHRvTWF0ZXJpYWxpemUu
YWRkKG1hdGVyaWFsaXphdGlvbik7CkBAIC0yODIsNyArMzI0LDcgQEAgc3RhdGljIHZvaWQgY29t
cGlsZVN0dWIoCiAgICAgICAgIC8vIGlzIHNvbWV0aGluZyBicm9rZW4gYWJvdXQgdGhpcyBmaXhw
b2ludC4gT3IsIHRoaXMgY291bGQgaGFwcGVuIGlmIHdlIGV2ZXIgdmlvbGF0ZSB0aGUKICAgICAg
ICAgLy8gIm1hdGVyaWFsaXphdGlvbnMgZm9ybSBhIERBRyIgcnVsZS4KICAgICAgICAgUkVMRUFT
RV9BU1NFUlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2aW91c1RvTWF0ZXJpYWxpemVTaXpl
KTsKLSAgICB9CisgICAgfSAqLwogCiAgICAgLy8gU2F2ZSBhbGwgc3RhdGUgZnJvbSB3aGVyZXZl
ciB0aGUgZXhpdCBkYXRhIHRlbGxzIHVzIGl0IHdhcywgaW50byB0aGUgYXBwcm9wcmlhdGUgcGxh
Y2UgaW4KICAgICAvLyB0aGUgc2NyYXRjaCBidWZmZXIuIFRoaXMgYWxzbyBkb2VzIHRoZSByZWJv
eGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9u
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4
IGFkNmI1ZjU0OThjMWM2OWYzNjk0NzU1MjZiNjMwODdmZWFiNWNkZDkuLjIwODhhZmE0YjMxODkw
OTg4YTFiMzhlNzYwYmYzMDA0MjE0NDFjZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExPcGVyYXRpb25zLmNwcApAQCAtNDgsMTEgKzQ4LDcxIEBAIGV4dGVybiAiQyIgSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRl
KiBleGVjCiAgICAgcmV0dXJuIEpTRmluYWxPYmplY3Q6OmNyZWF0ZShleGVjLCBzdHJ1Y3R1cmUs
IGJ1dHRlcmZseSk7CiB9CiAKK2V4dGVybiAiQyIgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blBvcHVsYXRlT2JqZWN0SW5PU1IoCisgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVj
dE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLAorICAgIEVuY29kZWRKU1ZhbHVlKiBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlKiB2YWx1ZXMpCit7CisgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwor
ICAgIAorICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxh
Y2VzLgorICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKKworICAgIHN3aXRj
aCAobWF0ZXJpYWxpemF0aW9uLT50eXBlKCkpIHsKKyAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6
IHsKKyAgICAgICAgSlNGaW5hbE9iamVjdCogb2JqZWN0ID0ganNDYXN0PEpTRmluYWxPYmplY3Qq
PihKU1ZhbHVlOjpkZWNvZGUoKmVuY29kZWRWYWx1ZSkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKCk7CisgICAgICAgIC8vIE5vdyBmaWd1cmUgb3V0
IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9iamVjdCB3aXRoLiBVc2UgZ2V0UHJvcGVy
dGllc0NvbmN1cnJlbnRseSgpCisgICAgICAgIC8vIGJlY2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJl
IGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQor
ICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gb2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50
IHRvIGhhdmUgbWluaW1hbCB2aXNpYmxlIGVmZmVjdHMgb24gdGhlCisgICAgICAgIC8vIHN5c3Rl
bS4gQWxzbywgZG9uJ3QgbWluZCB0aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRl
ci4gV2Ugb25seSBnZXQgaGVyZSBmcm9tIE9TUgorICAgICAgICAvLyBleGl0LgorICAgICAgICBm
b3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25j
dXJyZW50bHkoKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0
aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICAgICAgY29uc3Qg
RXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KClbaV07CisgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9
IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICBpZiAoY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCku
aW5mbygpKS5pbXBsKCkgIT0gZW50cnkua2V5KQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBl
bnRyeS5vZmZzZXQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIFBoYW50b21OZXdG
dW5jdGlvbjoKKyAgICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVudHM6CisgICAgY2FzZSBQaGFu
dG9tQ2xvbmVkQXJndW1lbnRzOiAKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFBoYW50b21D
cmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiBhY3RpdmF0
aW9uID0ganNDYXN0PEpTTGV4aWNhbEVudmlyb25tZW50Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNv
ZGVkVmFsdWUpKTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhl
IGFjdGl2YXRpb24gd2l0aAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRp
b24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRQ
cm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ld
OworICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVW
YXJQTG9jKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhY3RpdmF0
aW9uLT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSku
c2V0KGV4ZWMtPnZtKCksIGFjdGl2YXRpb24sIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsK
KyAgICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAgIH0KKworCisgICAgZGVmYXVsdDoKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICB9Cit9CisKIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVy
aWFsaXplT2JqZWN0SW5PU1IoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1h
dGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLCBFbmNvZGVkSlNWYWx1ZSogdmFsdWVzKQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBl
eGVjLT5jb2RlQmxvY2soKTsKIAogICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50
ZXJzIGluIGV2aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFw
KTsKQEAgLTczLDIzICsxMzMsMTIgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICAKICAgICAgICAgLy8gTGV0J3Mg
Y3JlYXRlIHRoYXQgb2JqZWN0IQogICAgICAgICBKU0ZpbmFsT2JqZWN0KiByZXN1bHQgPSBKU0Zp
bmFsT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7Ci0gICAgCi0gICAgICAgIC8vIE5vdyBm
aWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9iamVjdCB3aXRoLiBVc2Ug
Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpCi0gICAgICAgIC8vIGJlY2F1c2UgdGhhdCBoYXBw
ZW5zIHRvIGJlIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hh
bmdlIHRoZQotICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gb2YgdGhlIHByb3BlcnR5IHRhYmxl
LiBXZSB3YW50IHRvIGhhdmUgbWluaW1hbCB2aXNpYmxlIGVmZmVjdHMgb24gdGhlCi0gICAgICAg
IC8vIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZCB0aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vz
bid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZSBmcm9tIE9TUgotICAgICAgICAvLyBleGl0Lgor
CisgICAgICAgLyoKICAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0
dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKLSAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewot
ICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwotICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0
eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExvYykKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGNvZGVCbG9jay0+aWRlbnRpZmll
cihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9IGVudHJ5LmtleSkKLSAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBy
ZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVz
W2ldKSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwg
ZW50cnkub2Zmc2V0LCBqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgfQorICAgICAgICovCiAgICAg
CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtMTI5LDE2ICsxNzgsNiBAQCBleHRl
cm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdElu
T1NSKAogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvZGVCbG9jay0+Z2xvYmFsT2Jq
ZWN0KCktPmFjdGl2YXRpb25TdHJ1Y3R1cmUoKTsKIAogICAgICAgICBKU0xleGljYWxFbnZpcm9u
bWVudCogcmVzdWx0ID0gSlNMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSh2bSwgc3RydWN0dXJl
LCBzY29wZSwgdGFibGUpOwotCi0gICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0byBwb3B1bGF0
ZSB0aGUgYWN0aXZhdGlvbiB3aXRoCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFs
aXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewotICAgICAgICAgICAgY29uc3Qg
RXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KClbaV07Ci0gICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gQ2xv
c3VyZVZhclBMb2MpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIHJl
c3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkp
LnNldChleGVjLT52bSgpLCByZXN1bHQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKLSAg
ICAgICAgfQotCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCmluZGV4IGQxNWYxOGViOWFkZDMzNzlmYjVjZjE0
MmRlMzQ2MTNjNDg1Nzc1MDUuLmE1NTY4ZjkxYjExNzJiNTEyOWY4ODM5NzgzZTczYmM2ZDhjODNm
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCkBAIC00MCw2
ICs0MCw5IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3RXaXRoQnV0
dGVyZmx5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdUCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICBFeGVjU3RhdGUqLCBFeGl0VGlt
ZU9iamVjdE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVlKikgV1RGX0lOVEVSTkFMOwog
Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUigKKyAgICBF
eGVjU3RhdGUqLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVl
KiwgRW5jb2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CisKIH0gLy8gZXh0ZXJuICJDIgogCiB9
IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL3NjcmlwdC10ZXN0cy9zaW5rLWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
Y3JpcHQtdGVzdHMvc2luay1jeWNsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDY5ZDU1YWM0YzZjOWVmNTNh
MTU3OTA5MGRmMjI5NWFkNTQyNWZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvc2luay1jeWNsZS5qcwpAQCAtMCwwICsxLDEyIEBACitmdW5j
dGlvbiBmb28oKSB7CisgICAgdmFyIGEgPSB7ICd2YWwnOiAxMCB9OworICAgIHZhciBiID0geyAn
ZmF0aGVyJzogYSB9OworICAgIGEuc29uID0gYjsKKyAgICByZXR1cm4gYS52YWw7Cit9Citub0lu
bGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDAwOyBpKyspCisgICAgdmFy
IHJlc3VsdCA9IGZvbygpOworICAgIGlmIChyZXN1bHQgIT0gMTApCisgICAgICAgIHRocm93ICJF
cnJvcjogRXhwZWN0ZWQgMTAsIGdvdCAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2luay1yZWN1cnNpdmUtY2xvc3VyZS5qcyBiL0xh
eW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmstcmVjdXJzaXZlLWNsb3N1cmUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzRhNWY4NTg0NGFjNTY5YTAxOWNjMTRlZWI4MmNmODcxNTY4NmNkNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Np
bmstcmVjdXJzaXZlLWNsb3N1cmUuanMKQEAgLTAsMCArMSw4IEBACitmdW5jdGlvbiBmb28ocCkg
eworICAgIHZhciBmID0gZnVuY3Rpb24gKHgpIHsgaWYgKHgpIHJldHVybiBmKCFwKTsgZWxzZSBy
ZXR1cm4gMDsgfTsKKyAgICBpZiAocCkgcmV0dXJuIGY7Cit9Citub0lubGluZShmb28pOworCitm
b3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDAwOyBpKyspCisgICAgZm9vKGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252500</attachid>
            <date>2015-05-06 11:44:34 -0700</date>
            <delta_ts>2015-06-15 12:25:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150506114317.patch</filename>
            <type>text/plain</type>
            <size>67272</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggNTNjODQ1
ZjU2ZWI0MDQwODUzZjQxNzIxMjAwZDU1NTQwMThhOTc5MS4uNmVmYjEzZTQ2N2U1NDcyZmE1Zjc2
NmE2ODAyMjBhMDc5MmMzMWFhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMTQ5NCw4ICsxNDk0
LDEwIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1
dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogICAgICAgICAK
ICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoK
ICAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKICAgICBjYXNlIFBoYW50b21DcmVhdGVBY3Rp
dmF0aW9uOgorICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgUGhh
bnRvbURpcmVjdEFyZ3VtZW50czoKICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CiAg
ICAgY2FzZSBCb3R0b21WYWx1ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmgKaW5kZXggNjBhODk5NDgzYjA1YTg5M2ZkNmYzODViNDIzOTQ0Y2ExZDU2OWVkYy4uZGZm
ZTE4NmY0MGU1OThiZTVkMjQ1NzVhYjkxOWE2MDJmNWY0ZjBmMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg1Myw5ICs4NTMsMTEgQEAgdm9pZCBjbG9i
YmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQs
IGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIE5ld1N0cmluZ09iamVjdDoKICAgICBjYXNlIFBoYW50
b21OZXdPYmplY3Q6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKKyAgICBjYXNlIFBv
cHVsYXRlTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgogICAgIGNhc2Ug
UGhhbnRvbUNyZWF0ZUFjdGl2YXRpb246CiAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2
YXRpb246CisgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIHJlYWQo
SGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2Vz
R0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGE5
ZTMwYWNiNGIwYTNlNDZkMTlhYzI4YzkzMTY3MTBlMGRlYWMwNDUuLmRjOTc2YjgwYzE3YThmODVl
NGMwZjJkYmU2N2M2MDBjNjhkYjMyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAKQEAgLTE5Nyw4ICsxOTcsMTAgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBO
b2RlKiBub2RlKQogICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgogICAgIGNhc2UgQm90dG9tVmFsdWU6
CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgorICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6
CiAgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rpb246CiAgICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0
aXZhdGlvbjoKKyAgICBjYXNlIFBvcHVsYXRlQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIFBo
YW50b21EaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgog
ICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKaW5kZXggOWJlYTZjOGE5NzZhYzYyZjMzZGYyNDkxY2VkNDY0OGZj
NjNhMTU0Yi4uNGU0OTU3YzRjNjc3ODBlY2RlMDk2ZmVkNWRiZDhlYjYwNDM3M2RmMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMDM4LDYgKzEw
MzgsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgog
ICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVyaWFs
aXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoKKyAg
ICAgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIGNhc2UgUHV0U3Rh
Y2s6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdldFN0YWNrOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCAyZDc3NWY1MWU1ZDU5ZTI3ODUyNzkxNDgx
ZDQ3M2RlNTAzMzJiZDA5Li40YzNiM2YxMWJhOGE3MmE3YTVkZGM1YWZlNDEzYzJiMjYwMWNlMjIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTQyNyw4ICsxNDI3LDkgQEAg
c3RydWN0IE5vZGUgewogICAgICAgICBzd2l0Y2ggKG9wKCkpIHsKICAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZU5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRp
b246CisgICAgICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgUG9wdWxh
dGVDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDc1Yzg4NDIzN2EwMGIxNmQ4NzBkMjQw
MTQ1OTMxOGRlZGMxYWU4ZmMuLjMxZjA5ZWNmZTU3ZGVlYTE1NzYzMTA4NTM0MWFkZDMwNWM3ZWJk
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI1Myw5ICsy
NTMsMTEgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKFB1dEhp
bnQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZUltbWVkaWF0
ZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKE1hdGVyaWFsaXplTmV3T2JqZWN0LCBO
b2RlUmVzdWx0SlMgfCBOb2RlSGFzVmFyQXJncykgXAorICAgIG1hY3JvKFBvcHVsYXRlTmV3T2Jq
ZWN0LCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUhhc1ZhckFyZ3MpIFwKICAgICBtYWNybyhQaGFu
dG9tTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBt
YWNybyhQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIG1hY3JvKE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3Vs
dEpTIHwgTm9kZUhhc1ZhckFyZ3MpIFwKKyAgICBtYWNybyhQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRp
b24sIE5vZGVNdXN0R2VuZXJhdGUgfCBOb2RlSGFzVmFyQXJncykgXAogICAgIFwKICAgICAvKiBO
b2RlcyBmb3IgbWlzYyBvcGVyYXRpb25zLiAqL1wKICAgICBtYWNybyhCcmVha3BvaW50LCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAppbmRleCAxOWFhMmJjMTRl
ZTNiNDM0Yjg2NTNmNDBiZGFjYmY3ZDUwNjQzM2VjLi5mZjU3OGFkNDI1MzI2ZmJmZDUxNjNhMjAw
N2U3ZWM4NTFiMzM3ZTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKQEAgLTUyLDYgKzUy
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgOiBQaGFzZShncmFwaCwgIm9iamVjdCBhbGxvY2F0aW9u
IHNpbmtpbmciKQogICAgICAgICAsIG1fc3NhQ2FsY3VsYXRvcihncmFwaCkKICAgICAgICAgLCBt
X2luc2VydGlvblNldChncmFwaCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXplZEF0SGVhZChncmFw
aCkKKyAgICAgICAgLCBtX21hdGVyaWFsaXplZEF0VGFpbChncmFwaCkKKyAgICAgICAgLCBtX3Bv
aW50c1RvQXRIZWFkKGdyYXBoKQorICAgICAgICAsIG1fcG9pbnRzVG9BdFRhaWwoZ3JhcGgpCisg
ICAgICAgICwgbV93ZWFrbHlBbGl2ZUF0VGFpbChncmFwaCkKKyAgICAgICAgLCBtX3Npbmtpbmco
ZmFsc2UpCiAgICAgewogICAgIH0KICAgICAKQEAgLTEyMyw5ICsxMjksMTAgQEAgcHJpdmF0ZToK
ICAgICAgICAgZGV0ZXJtaW5lTWF0ZXJpYWxpemF0aW9uUG9pbnRzKCk7CiAgICAgICAgIGlmICht
X3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgCisKICAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBhcmUgY29tbWl0dGVkIHRvIHNp
bmtpbmcgdGhlIHNpbmtpbmcgY2FuZGlkYXRlcy4KICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRp
b25Qb2ludHMoKTsKKyAgICAgICAgcHJvcGFnYXRlTXVzdFBvaW50VG9BY2Nlc3NlcygpOwogICAg
ICAgICBsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFudG9tQWxsb2NhdGlvbnMoKTsKICAg
ICAgICAgcHJvbW90ZVN1bmtlbkZpZWxkcygpOwogICAgICAgICAKQEAgLTEzNiw3ICsxNDMsMTcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGRhdGFMb2coIlNpbmtpbmcgaXRlcmF0aW9uIGNoYW5n
ZWQgdGhlIGdyYXBoLlxuIik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICAKKwor
ICAgIHZvaWQgY29tcHV0ZUZpZWxkTGl2ZW5lc3MoKQorICAgIHsKKyAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAg
ICAgICAgSGFzaFNldDxOb2RlKj4gYWxpdmUgPSBibG9jay0+c3NhLT5saXZlQXRUYWlsOworICAg
ICAgICAgICAgbV9wb2ludHNUbyA9IG1fcG9pbnRzVG9BdFRhaWxbYmxvY2tdOworICAgICAgICAg
ICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVyaWFsaXplZEF0VGFpbFtibG9ja107CisgICAgICAg
ICAgICBtX3dlYWtseUFsaXZlQXRUYWlsW2Jsb2NrXSA9IGNsb3NlRmllbGRzKGFsaXZlKTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHZvaWQgZGV0ZXJtaW5lTWF0ZXJpYWxpemF0aW9uUG9pbnRz
KCkKICAgICB7CiAgICAgICAgIC8vIFRoZSBwcmVtaXNlIG9mIHRoaXMgcGFzcyBpcyB0aGF0IGlm
IHRoZXJlIGV4aXN0cyBhIHBvaW50IGluIHRoZSBwcm9ncmFtIHdoZXJlIHNvbWUKQEAgLTE0Niw2
NCArMTYzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBtX3NpbmtDYW5kaWRhdGVz
LmNsZWFyKCk7CiAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmNsZWFyKCk7Cisg
ICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZS5jbGVhcigpOworICAgICAgICBtX21h
dGVyaWFsaXphdGlvblRvSGludHMuY2xlYXIoKTsKICAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25T
aXRlVG9NYXRlcmlhbGl6YXRpb25zLmNsZWFyKCk7Ci0gICAgICAgIAotICAgICAgICBCbG9ja01h
cDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxpemVkQXRIZWFkKG1fZ3JhcGgpOwotICAg
ICAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxpemVkQXRUYWlsKG1f
Z3JhcGgpOwotICAgICAgICAKLSAgICAgICAgYm9vbCBjaGFuZ2VkOwotICAgICAgICBkbyB7Ci0g
ICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICBkYXRhTG9nKCJEb2luZyBp
dGVyYXRpb24gb2YgbWF0ZXJpYWxpemF0aW9uIHBvaW50IHBsYWNlbWVudC5cbiIpOwotICAgICAg
ICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9j
ayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewotICAgICAgICAgICAgICAgIEhh
c2hNYXA8Tm9kZSosIGJvb2w+IG1hdGVyaWFsaXplZCA9IG1hdGVyaWFsaXplZEF0SGVhZFtibG9j
a107Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRh
dGFMb2coIiAgICBMb29raW5nIGF0IGJsb2NrICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwgIlxuIik7
Ci0gICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGhhbmRsZU5vZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICBub2RlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtYXRlcmlhbGl6ZWQuYWRkKG5vZGUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGVzY2FwZWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtYXRlcmlhbGl6ZWQuZmluZChlc2Nh
cGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBtYXRlcmlhbGl6
ZWQuZW5kKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2Up
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgIiwgZXNj
YXBlZSwgIiBlc2NhcGVzIGF0ICIsIG5vZGUsICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpdGVyLT52YWx1ZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCIgICAgTWF0ZXJpYWxpemVkIGF0IHRhaWwgb2YgIiwgcG9pbnRlckR1
bXAoYmxvY2spLCAiOiAiLCBtYXBEdW1wKG1hdGVyaWFsaXplZCksICJcbiIpOwotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWQgPT0gbWF0ZXJpYWxpemVk
QXRUYWlsW2Jsb2NrXSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkQXRUYWlsW2Jsb2NrXSA9IG1hdGVy
aWFsaXplZDsKLSAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAvLyBPbmx5IHByb3BhZ2F0ZSB0aGluZ3MgdG8gb3VyIHN1Y2Nl
c3NvcnMgaWYgdGhleSBhcmUgYWxpdmUgaW4gYWxsIHN1Y2Nlc3NvcnMuCi0gICAgICAgICAgICAg
ICAgLy8gU28sIHdlIHBydW5lIG1hdGVyaWFsaXplZC1hdC10YWlsIHRvIG9ubHkgaW5jbHVkZSB0
aGluZ3MgdGhhdCBhcmUgbGl2ZS4KLSAgICAgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHRvUmVt
b3ZlOwotICAgICAgICAgICAgICAgIGZvciAoYXV0byBwYWlyIDogbWF0ZXJpYWxpemVkKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghYmxvY2stPnNzYS0+bGl2ZUF0VGFpbC5jb250YWlucyhw
YWlyLmtleSkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQocGFpci5r
ZXkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIGtleSA6
IHRvUmVtb3ZlKQotICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQucmVtb3ZlKGtleSk7
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNj
ZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
Zm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uYWRkKAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhaXIua2V5LCBmYWxzZSkuaXRlcmF0b3ItPnZhbHVlIHw9IHBhaXIudmFs
dWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0gd2hpbGUgKGNoYW5nZWQpOwotICAgICAgICAKKwogICAgICAgICAvLyBE
ZXRlcm1pbmUgdGhlIHNpbmsgY2FuZGlkYXRlcy4gQnJvYWRseSwgYSBzaW5rIGNhbmRpZGF0ZSBp
cyBhIG5vZGUgdGhhdCBoYW5kbGVOb2RlKCkKICAgICAgICAgLy8gYmVsaWV2ZXMgaXMgc2lua2Fi
bGUsIGFuZCBvbmUgb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOgogICAgICAgICAvLwpAQCAtMjIx
LDI1ICsxODQsNTggQEAgcHJpdmF0ZToKICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUg
dHdvIG90aGVyIHJ1bGVzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM3MDczIChydWxlICMxKQogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDc0IChydWxlICMzKQotICAgICAgICAKLSAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIo
KSkgewotICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxv
Y2tdKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBhaXIudmFsdWUpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOyAvLyBJdCB3YXMgbWF0ZXJpYWxpemVkLgotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIGlmIChibG9jay0+c3NhLT5saXZlQXRUYWlsLmNvbnRhaW5zKHBhaXIu
a2V5KSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIEl0IG1pZ2h0IHN0aWxsIGdl
dCBtYXRlcmlhbGl6ZWQgaW4gYWxsIG9mIHRoZSBzdWNjZXNzb3JzLgotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIC8vIFdlIGtub3cgdGhhdCBpdCBkaWVkIGluIHRoaXMgYmxvY2sg
YW5kIGl0IHdhc24ndCBtYXRlcmlhbGl6ZWQuIFRoYXQgbWVhbnMgdGhhdAotICAgICAgICAgICAg
ICAgIC8vIGlmIHdlIHNpbmsgdGhpcyBhbGxvY2F0aW9uLCB0aGVuICp0aGlzKiB3aWxsIGJlIGEg
cGF0aCBhbG9uZyB3aGljaCB3ZSBuZXZlcgotICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gYWxs
b2NhdGUuIFByb2ZpdCEKLSAgICAgICAgICAgICAgICBtX3NpbmtDYW5kaWRhdGVzLmFkZChwYWly
LmtleSk7CisKKyAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIGFyZSBzdGFydGluZyB3aXRoIGFs
bCBhbGxvY2F0aW9ucyBiZWluZyBzaW5rIGNhbmRpZGF0ZXMuCisgICAgICAgIC8vIFRvIGF2b2lk
IGNvbGxlY3RpbmcgdGhvc2Ugd2UgY2FuIHNpbXBseSB1c2UgYSBib29sZWFuCisgICAgICAgIG1f
c2lua2luZyA9IGZhbHNlOworICAgICAgICBydW5BbmFseXNpcygpOworICAgICAgICBjb21wdXRl
RmllbGRMaXZlbmVzcygpOworICAgICAgICBtX3NpbmtpbmcgPSB0cnVlOworCisgICAgICAgIC8v
IFdlIG5lZWQgdG8gc2hyaW5rIHRoZSBjYW5kaWRhdGUgc2V0IGluIGNhc2Ugd2Ugd2VyZSBzaW5r
aW5nIHRocm91Z2gKKyAgICAgICAgLy8gcHV0cyBvdmVyIG5vZGVzIHRoYXQgZW5kIHVwIG5vdCBi
ZWluZyBzaW5rIGNhbmRpZGF0ZXMuCisgICAgICAgIC8vIEUuZy46CisgICAgICAgIC8vIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgLy8gICB2YXIgYSA9IHt9LCBiID0ge307CisgICAgICAgIC8v
ICAgYS54ID0gYjsKKyAgICAgICAgLy8gICBhLnggPSAwOworICAgICAgICAvLyAgIHJldHVybiBh
OworICAgICAgICAvLyB9CisgICAgICAgIC8vIGluaXRpYWxseSB3ZSB3b3VsZCB3YW50IHRvIHNp
bmsgW2JdIHRocm91Z2ggdGhlIGFzc2lnbm1lbnQgW2EueCA9IGJdIGJ1dAorICAgICAgICAvLyBh
cyB3ZSB3aWxsIGFsd2F5cyBuZWVkIHRvIGFsbG9jYXRlIFthXSBhbnl3YXksIGl0IGlzIG5vIGxv
bmdlciBjb3JyZWN0IHRvCisgICAgICAgIC8vIHBlcmZvcm0gdGhhdCBzaW5raW5nLgorCisgICAg
ICAgIGRvIHsKKworICAgICAgICAgICAgSGFzaFNldDxOb2RlKj4gc2hydW5rQ2FuZGlkYXRlczsK
KyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0
dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1fbWF0ZXJp
YWxpemVkQXRUYWlsW2Jsb2NrXSkgeworICAgICAgICAgICAgICAgICAgICBpZiAocGFpci52YWx1
ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBJdCB3YXMgbWF0ZXJpYWxp
emVkLgorCisgICAgICAgICAgICAgICAgICAgIGlmIChtX3dlYWtseUFsaXZlQXRUYWlsW2Jsb2Nr
XS5jb250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsg
Ly8gSXQgbWlnaHQgc3RpbGwgZ2V0IG1hdGVyaWFsaXplZCBpbiBhbGwgb2YgdGhlIHN1Y2Nlc3Nv
cnMuCisKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Uga25vdyB0aGF0IGl0IGRpZWQgaW4gdGhp
cyBibG9jayBhbmQgaXQgd2Fzbid0IG1hdGVyaWFsaXplZC4gVGhhdCBtZWFucyB0aGF0CisgICAg
ICAgICAgICAgICAgICAgIC8vIGlmIHdlIHNpbmsgdGhpcyBhbGxvY2F0aW9uLCB0aGVuICp0aGlz
KiB3aWxsIGJlIGEgcGF0aCBhbG9uZyB3aGljaCB3ZSBuZXZlcgorICAgICAgICAgICAgICAgICAg
ICAvLyBoYXZlIHRvIGFsbG9jYXRlLiBQcm9maXQhCisgICAgICAgICAgICAgICAgICAgIHNocnVu
a0NhbmRpZGF0ZXMuYWRkKHBhaXIua2V5KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICAgICAgCisKKyAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRh
dGVzID09IHNocnVua0NhbmRpZGF0ZXMpCisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgICAgIG1fc2lua0NhbmRpZGF0ZXMgPSBzaHJ1bmtDYW5kaWRhdGVzOworCisgICAgICAgICAg
ICBydW5BbmFseXNpcygpOworICAgICAgICAgICAgY29tcHV0ZUZpZWxkTGl2ZW5lc3MoKTsKKwor
ICAgICAgICB9IHdoaWxlICghbV9zaW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCkpOworCiAgICAgICAg
IGlmIChtX3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgCisKICAgICAgICAgLy8gQSBtYXRlcmlhbGl6YXRpb24gZWRnZSBleGlzdHMgYXQgYW55
IHBvaW50IHdoZXJlIGEgbm9kZSBlc2NhcGVzIGJ1dCBoYXNuJ3QgYmVlbgogICAgICAgICAvLyBt
YXRlcmlhbGl6ZWQgeWV0LiBXZSBkbyB0aGlzIGluIHR3byBwYXJ0cy4gRmlyc3Qgd2UgZmluZCBh
bGwgb2YgdGhlIG5vZGVzIHRoYXQgY2F1c2UKICAgICAgICAgLy8gZXNjYXBpbmcgdG8gaGFwcGVu
LCB3aGVyZSB0aGUgZXNjYXBlZSBoYWQgbm90IHlldCBiZWVuIG1hdGVyaWFsaXplZC4gVGhpcyBj
YXRjaGVzCkBAIC0yNzEsNDUgKzI2Nyw0MCBAQCBwcml2YXRlOgogICAgICAgICAvLyBGaXJzdCBw
YXNzOiBmaW5kIGludHJhLWJsb2NrIG1hdGVyaWFsaXphdGlvbiBwb2ludHMuCiAgICAgICAgIGZv
ciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsK
ICAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKLSAgICAgICAgICAgIGZv
ciAoYXV0byBwYWlyIDogbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXSkgeworICAgICAgICAgICAg
Zm9yIChhdXRvIHBhaXIgOiBtX21hdGVyaWFsaXplZEF0SGVhZFtibG9ja10pIHsKICAgICAgICAg
ICAgICAgICBpZiAocGFpci52YWx1ZSAmJiBtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHBhaXIu
a2V5KSkKICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChwYWlyLmtleSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHZlcmJvc2UpCiAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiUGxhY2luZyBtYXRlcmlhbGl6YXRpb24gcG9pbnRzIGlu
ICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwgIiB3aXRoIG1hdGVyaWFsaXphdGlvbiBzZXQgIiwgbGlz
dER1bXAobWF0ZXJpYWxpemVkKSwgIlxuIik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytu
b2RlSW5kZXgpIHsKLSAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJ
bmRleCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKLSAg
ICAgICAgICAgICAgICAgICAgbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsgfSwK
LSAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBlc2NhcGVlKSB7CisgICAgICAgICAgICBo
YW5kbGVCbG9jaygKKyAgICAgICAgICAgICAgICBibG9jaywKKyAgICAgICAgICAgICAgICBbJl0g
KE5vZGUqKSB7IH0sCisgICAgICAgICAgICAgICAgWyZdIChIYXNoU2V0PE5vZGUqPiBlc2NhcGVl
cywgTm9kZSogd2hlcmUpIHsKKyAgICAgICAgICAgICAgICAgICAgSGFzaFNldDxOb2RlKj4gdG9S
ZW1vdmU7CisgICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogZXNjYXBlZSA6IGVzY2FwZWVz
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhTG9nKCJTZWVpbmcgIiwgZXNjYXBlZSwgIiBlc2NhcGUgYXQgIiwg
bm9kZSwgIlxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhlc2NhcGVlKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkYXRhTG9nKCIgICAgSXQncyBub3QgYSBzaW5rIGNhbmRpZGF0ZS5cbiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCFtYXRlcmlhbGl6ZWQuYWRkKGVzY2FwZWUpLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGF0YUxvZygiICAgSXQncyBhbHJlYWR5IG1hdGVyaWFsaXplZC5cbiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRl
TWF0ZXJpYWxpemUoZXNjYXBlZSwgbm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIlNlZWluZyAi
LCBlc2NhcGVlLCAiIGVzY2FwZSBhdCAiLCB3aGVyZSwgIlxuIik7CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhlc2NhcGVlKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hZGQoZXNjYXBlZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIW1hdGVyaWFsaXplZC5hZGQoZXNjYXBlZSkuaXNOZXdFbnRyeSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hZGQoZXNjYXBlZSk7CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiByZW1vdmUg
OiB0b1JlbW92ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZWVzLnJlbW92ZShyZW1v
dmUpOworCisgICAgICAgICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5zaXplKCkgPiAwKQorICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemVBbmRQb3B1bGF0ZShlc2NhcGVl
cywgd2hlcmUpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICAvLyBTZWNvbmQgcGFzczogZmluZCBDRkcgZWRnZSBtYXRlcmlhbGl6YXRpb24gcG9pbnRz
LgogICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVy
YWxPcmRlcigpKSB7CiAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2Nr
IDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgewotICAgICAgICAgICAgICAgIGZvciAoYXV0byBwYWly
IDogbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXSkgeworICAgICAgICAgICAgICAg
IGZvciAoYXV0byBwYWlyIDogbV9tYXRlcmlhbGl6ZWRBdEhlYWRbc3VjY2Vzc29yQmxvY2tdKSB7
CiAgICAgICAgICAgICAgICAgICAgIE5vZGUqIGFsbG9jYXRpb24gPSBwYWlyLmtleTsKICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgY2FyZSBpZiBp
dCBpcyBtYXRlcmlhbGl6ZWQgaW4gdGhlIHN1Y2Nlc3Nvci4KQEAgLTMyMSw3ICszMTIsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgaWYgaXQgaXNuJ3Qg
bWF0ZXJpYWxpemVkIGluIHRoZSBwcmVkZWNlc3Nvci4KLSAgICAgICAgICAgICAgICAgICAgaWYg
KG1hdGVyaWFsaXplZEF0VGFpbFtibG9ja10uZ2V0KGFsbG9jYXRpb24pKQorICAgICAgICAgICAg
ICAgICAgICBpZiAobV9tYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdLmdldChhbGxvY2F0aW9uKSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkZWNpZGUgaWYgd2UgcHV0IHRoZSBt
YXRlcmlhbGl6YXRpb24gYXQgdGhlIGhlYWQgb2YgdGhlIHN1Y2Nlc3NvciwKQEAgLTMzMywxNCAr
MzI0LDE3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIC8vIGJlY2F1c2Ugb2Ygd2hh
dCBpdCBsb29rcyBsaWtlIHdoZW4geW91IGRyYXcgaXQuCiAgICAgICAgICAgICAgICAgICAgIGJv
b2wgbmV2ZXJNYXRlcmlhbGl6ZWRJblNoYWRvdyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAg
IGZvciAoQmFzaWNCbG9jayogc2hhZG93QmxvY2sgOiBzdWNjZXNzb3JCbG9jay0+cHJlZGVjZXNz
b3JzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxpemVkQXRUYWlsW3No
YWRvd0Jsb2NrXS5nZXQoYWxsb2NhdGlvbikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChtX21hdGVyaWFsaXplZEF0VGFpbFtzaGFkb3dCbG9ja10uZ2V0KGFsbG9jYXRpb24pKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXJNYXRlcmlhbGl6ZWRJblNoYWRvdyA9IGZh
bHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICBpZiAobmV2ZXJNYXRlcmlhbGl6ZWRJblNoYWRvdykgewotICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemUoYWxsb2NhdGlvbiwgc3VjY2Vz
c29yQmxvY2stPmZpcnN0T3JpZ2luTm9kZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIEhh
c2hTZXQ8Tm9kZSo+IGVzY2FwaW5nIHsgYWxsb2NhdGlvbiB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9j
a107CisgICAgICAgICAgICAgICAgICAgICAgICBtX3BvaW50c1RvID0gbV9wb2ludHNUb0F0SGVh
ZFtzdWNjZXNzb3JCbG9ja107CisgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVNYXRlcmlh
bGl6ZUFuZFBvcHVsYXRlKGNsb3NlRmllbGRzKGVzY2FwaW5nKSwgc3VjY2Vzc29yQmxvY2stPmZp
cnN0T3JpZ2luTm9kZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIApAQCAtMzUxLDggKzM0NSwx
MSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAvLyB3aGVyZSB0aGUgcHJlZGVjZXNz
b3IgY291bGQgaGF2ZSBoYWQgbXVsdGlwbGUgc3VjY2Vzc29ycy4gVGhlcmVmb3JlIHdlIGhhdmUK
ICAgICAgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBoYW5kbGVkIHRoZSBjYXNlIHdoZXJlIHRo
ZSBwcmVkZWNlc3NvciBoYXMgbXVsdGlwbGUgc3VjY2Vzc29ycy4KICAgICAgICAgICAgICAgICAg
ICAgREZHX0FTU0VSVChtX2dyYXBoLCBibG9jaywgYmxvY2stPm51bVN1Y2Nlc3NvcnMoKSA9PSAx
KTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVy
aWFsaXplKGFsbG9jYXRpb24sIGJsb2NrLT50ZXJtaW5hbCgpKTsKKworICAgICAgICAgICAgICAg
ICAgICBIYXNoU2V0PE5vZGUqPiBlc2NhcGluZyB7IGFsbG9jYXRpb24gfTsKKyAgICAgICAgICAg
ICAgICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVyaWFsaXplZEF0VGFpbFtibG9ja107Cisg
ICAgICAgICAgICAgICAgICAgIG1fcG9pbnRzVG8gPSBtX3BvaW50c1RvQXRUYWlsW2Jsb2NrXTsK
KyAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemVBbmRQb3B1bGF0ZShjbG9zZUZp
ZWxkcyhlc2NhcGluZyksIGJsb2NrLT50ZXJtaW5hbCgpKTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTQyOSwxNiArNDI2LDM1IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAgICAgbWFwcGluZy5zZXQob3JpZ2luYWxOb2RlLCBwaGlEZWYtPnZhbHVlKCkp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgICAgICBtX21hdGVyaWFsaXpl
ZCA9IG1fbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIG1fcG9pbnRzVG8g
PSBtX3BvaW50c1RvQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25v
ZGVJbmRleCkgewogICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUlu
ZGV4KTsKIAorICAgICAgICAgICAgICAgIC8vIFRPRE86IFdlIG5lZWQgdG8ga2VlcCB0aGUgb3Jk
ZXIuLi4KICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXplIDogbV9tYXRlcmlh
bGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgewotICAgICAgICAgICAg
ICAgICAgICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1h
dGVyaWFsaXplKTsKICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5v
ZGVJbmRleCwgbWF0ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBt
X21hdGVyaWFsaXphdGlvblRvSGludHMuZmluZChtYXRlcmlhbGl6ZSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpdGVyICE9IG1fbWF0ZXJpYWxpemF0aW9uVG9IaW50cy5lbmQoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBoaW50IDogaXRlci0+dmFsdWUpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCwg
aGludCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICAvLyBUT0RPOiBEbyB3ZSBuZWVkIFN0b3JlQmFycmllcnMgaGVyZT8KKworICAg
ICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemUgOiBtX21hdGVyaWFsaXphdGlvblNp
dGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
IChOb2RlKiBwb3B1bGF0ZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZS5nZXQobWF0ZXJp
YWxpemUpKQorICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5v
ZGVJbmRleCwgcG9wdWxhdGUpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGZvciAoTm9kZSogbWF0ZXJpYWxpemUgOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFs
aXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIGVzY2FwZWUg
PSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobWF0ZXJpYWxpemUpOworICAgICAgICAg
ICAgICAgICAgICBtYXBwaW5nLnNldChlc2NhcGVlLCBtYXRlcmlhbGl6ZSk7CiAgICAgICAgICAg
ICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAogICAgICAgICAgICAgICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQsIG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLAogICAgICAgICAgICAg
ICAgICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwgZXNjYXBl
ZSwgbWF0ZXJpYWxpemUpOwotICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLnNldChlc2NhcGVl
LCBtYXRlcmlhbGl6ZSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmV4ZWN1dGVOb2RlKG5vZGUp
OwpAQCAtNDUxLDE0ICs0NjcsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgfSk7
CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8gSWYgeW91IGNhdXNlIGFuIGVz
Y2FwZSwgeW91IHNob3VsZG4ndCBzZWUgdGhlIG9yaWdpbmFsIGVzY2FwZWUuCi0gICAgICAgICAg
ICAgICAgaWYgKHZhbGlkYXRpb25FbmFibGVkKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBOb3cg
eW91IG1heSwgYmVjYXVzZSBjeWNsZXMuCisgICAgICAgICAgICAgICAgLy8gQUNUVUFMTFksIHRo
aXMgaXMgYmVjYXVzZSBoYW5kbGVOb2RlIGlzIG5vIGxvbmdlciB0aGUgZnVuY3Rpb24gdG8gY2Fs
bCBhcyBsb2dpYyBoYXMgYmVlbiBtb3ZlZCB0byBoYW5kbGVCbG9jay4KKyAgICAgICAgICAgICAg
ICAvKiBpZiAodmFsaWRhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBoYW5k
bGVOb2RlKAogICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIFsmXSAoKSB7IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGVz
Y2FwZWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSopIHsgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSwgTm9kZSopIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG5vZGUsICFtX3NpbmtDYW5k
aWRhdGVzLmNvbnRhaW5zKGVzY2FwZWUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9ICovCiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIE5vZGVBbmRJbmRleCB0ZXJtaW5hbCA9IGJsb2NrLT5m
aW5kVGVybWluYWwoKTsKQEAgLTQ5Myw3ICs1MTEsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgLy8g
TG93ZXIgZXZlcnl0aGluZyBidXQgcmVhZGluZyBvcGVyYXRpb25zIG9uIHBoYW50b20gYWxsb2Nh
dGlvbnMuIFdlIGFic29sdXRlbHkgaGF2ZSB0bwogICAgICAgICAvLyBsb3dlciBhbGwgd3JpdGVz
IHNvIGFzIHRvIHJldmVhbCB0aGVtIHRvIHRoZSBTU0EgY2FsY3VsYXRvci4gV2UgY2Fubm90IGxv
d2VyIHJlYWRzCiAgICAgICAgIC8vIGJlY2F1c2UgdGhlIHdob2xlIHBvaW50IGlzIHRoYXQgdGhv
c2UgZ28gYXdheSBjb21wbGV0ZWx5LgotICAgICAgICAKKworCisgICAgICAgIC8vIFRPRE86IFBy
b2JhYmx5IG5lZWRzIHRvIHVzZSBwb2ludHNUbyB0byBmb2xsb3cgUHV0cworICAgICAgICAvLyBU
T0RPOiBQcm9iYWJseSBhbHNvIG5lZWRzIHRvIGZvbGxvdyB0aGUgcHJvcGFnYXRpb24gb24gZ2V0
IGFuZCBzdHVmZgorICAgICAgICAvLyBUT0RPOiB0aGlzIG1lYW5zIEkgYWN0dWFsbHkgbmVlZCB0
byB1c2UgaGFuZGxlQmxvY2sgOi0oCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gZm9sbG93
IGJlY2F1c2Ugd2UgYXJlIGFmdGVyIHByb3BhZ2F0ZU11c3RQb2ludFRvQWNjZXNzZXMoKQogICAg
ICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRl
cigpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRl
eCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CiAgICAgICAgICAgICAgICAgTm9kZSog
bm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOwpAQCAtODA3LDYgKzgzMCwyMzQgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIGRlZi0+dmFsdWUoKTsKICAgICB9CiAKKyAgICB2b2lkIHByb3Bh
Z2F0ZU11c3RQb2ludFRvQWNjZXNzZXMoKQorICAgIHsKKyAgICAgICAgbV9ncmFwaC5jbGVhclJl
cGxhY2VtZW50cygpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5i
bG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgIGhhbmRsZUJsb2NrKAorICAgICAgICAg
ICAgICAgIGJsb2NrLAorICAgICAgICAgICAgICAgIFsmXSAoTm9kZSopIHsgfSwKKyAgICAgICAg
ICAgICAgICBbJl0gKEhhc2hTZXQ8Tm9kZSo+LCBOb2RlKikgeyB9LAorICAgICAgICAgICAgICAg
IHRydWUpOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBydW5BbmFseXNpcygpCisgICAg
eworICAgICAgICBtX21hdGVyaWFsaXplZEF0SGVhZCA9IEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSos
IGJvb2w+PihtX2dyYXBoKTsKKyAgICAgICAgbV9tYXRlcmlhbGl6ZWRBdFRhaWwgPSBCbG9ja01h
cDxIYXNoTWFwPE5vZGUqLCBib29sPj4obV9ncmFwaCk7CisgICAgICAgIG1fcG9pbnRzVG9BdEhl
YWQgPSBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNj
cmlwdG9yLCBOb2RlKj4+PihtX2dyYXBoKTsKKyAgICAgICAgbV9wb2ludHNUb0F0VGFpbCA9IEJs
b2NrTWFwPEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Is
IE5vZGUqPj4+KG1fZ3JhcGgpOworICAgICAgICBib29sIGNoYW5nZWQ7CisgICAgICAgIGRvIHsK
KyAgICAgICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9j
ayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAg
ICAgICBjaGFuZ2VkIHw9IGhhbmRsZUJsb2NrKAorICAgICAgICAgICAgICAgICAgICBibG9jaywK
KyAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKikgeyB9LAorICAgICAgICAgICAgICAgICAg
ICBbJl0gKEhhc2hTZXQ8Tm9kZSo+LCBOb2RlKikgeyB9KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSB3aGlsZSAoY2hhbmdlZCk7CisgICAgfQorCisgICAgLy8gQWx3YXlzIHJldHVybiBlaXRo
ZXIgbnVsbCwgb3Igc29tZXRoaW5nIHBvaW50ZWQgdG8gdGhhdCBpcyBub3QgbWF0ZXJpYWxpemVk
CisgICAgLy8geWV0IChpLmUuLCBzb21ldGhpbmcgaW4gcG9pbnRzVG8gaXRzZWxmKQorICAgIE5v
ZGUqIGZvbGxvdyhOb2RlKiBzb3VyY2UpCisgICAgeworICAgICAgICBpZiAobV9wb2ludHNUby5j
b250YWlucyhzb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTsKKworICAgICAgICBO
b2RlKiBwcmV2aW91cyA9IG51bGxwdHI7CisgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9yIGRlc2M7CisgICAgICAgIHN3aXRjaCAoc291cmNlLT5vcCgpKSB7CisgICAgICAgIGNhc2Ug
R2V0Q2xvc3VyZVZhcjogeworICAgICAgICAgICAgcHJldmlvdXMgPSBmb2xsb3coc291cmNlLT5j
aGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9
IHNvdXJjZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIGRlc2MgPSBQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgaWRlbnRpZmllck51bWJlcik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR2V0QnlPZmZz
ZXQ6CisgICAgICAgIGNhc2UgR2V0R2V0dGVyU2V0dGVyQnlPZmZzZXQ6IHsKKyAgICAgICAgICAg
IHByZXZpb3VzID0gZm9sbG93KHNvdXJjZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAg
IHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBzb3VyY2UtPnN0b3JhZ2VBY2Nlc3NEYXRhKCku
aWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgIGRlc2MgPSBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRlbnRpZmllck51bWJlcik7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDogewor
ICAgICAgICAgICAgcHJldmlvdXMgPSBmb2xsb3coc291cmNlLT5jaGlsZDEoKS5ub2RlKCkpOwor
ICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IHNvdXJjZS0+bXVsdGlHZXRC
eU9mZnNldERhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgZGVzYyA9IFByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVtYmVy
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFwcmV2
aW91cykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIGF1dG8gZmllbGRz
TWFwID0gbV9wb2ludHNUby5nZXQocHJldmlvdXMpOworICAgICAgICBhdXRvIGZpZWxkSXRlciA9
IGZpZWxkc01hcC5maW5kKGRlc2MpOworICAgICAgICBpZiAoZmllbGRJdGVyID09IGZpZWxkc01h
cC5lbmQoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiBm
aWVsZEl0ZXItPnZhbHVlICYmIG1fcG9pbnRzVG8uY29udGFpbnMoZmllbGRJdGVyLT52YWx1ZSkg
PyBmaWVsZEl0ZXItPnZhbHVlIDogbnVsbHB0cjsKKyAgICB9CisKKyAgICBIYXNoU2V0PE5vZGUq
PiBjbG9zZUZpZWxkcyhIYXNoU2V0PE5vZGUqPiBub2RlcykKKyAgICB7CisgICAgICAgIEhhc2hT
ZXQ8Tm9kZSo+IGV4YW1pbmVGaWVsZHMgPSBub2RlczsKKyAgICAgICAgd2hpbGUgKCFleGFtaW5l
RmllbGRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgSGFzaFNldDxOb2RlKj4gbmV3Tm9kZXM7
CisgICAgICAgICAgICAvLyBBZGQgdGhlIGFyZ3VtZW50cworICAgICAgICAgICAgZm9yIChOb2Rl
KiBub2RlIDogZXhhbWluZUZpZWxkcykgeworICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0No
aWxkcmVuKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBb
Jl0gKEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX3BvaW50c1Rv
LmNvbnRhaW5zKGVkZ2Uubm9kZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIG5v
ZGVzLmFkZChlZGdlLm5vZGUoKSkuaXNOZXdFbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXdOb2Rlcy5hZGQoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6IGV4YW1pbmVGaWVs
ZHMpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX3BvaW50c1RvLmZpbmQobm9kZSk7
CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgPT0gbV9wb2ludHNUby5lbmQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBp
dGVyLT52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXBhaXIudmFsdWUpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBp
dGVyID0gbV9tYXRlcmlhbGl6ZWQuZmluZChwYWlyLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGl0ZXIgIT0gbV9tYXRlcmlhbGl6ZWQuZW5kKCkgJiYgIWl0ZXItPnZhbHVlCisgICAg
ICAgICAgICAgICAgICAgICAgICAmJiBub2Rlcy5hZGQocGFpci52YWx1ZSkuaXNOZXdFbnRyeSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKG1fcG9pbnRzVG8uY29udGFpbnMocGFp
ci52YWx1ZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgbmV3Tm9kZXMuYWRkKHBhaXIudmFs
dWUpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZXhhbWluZUZpZWxkcyA9IFdURjo6bW92ZShuZXdOb2Rlcyk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG5vZGVzOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFNpbmtDYW5kaWRhdGVGdW5jdG9yLCB0eXBlbmFtZSBFc2NhcGVGdW5jdG9yPgorICAg
IGJvb2wgaGFuZGxlQmxvY2soCisgICAgICAgIEJhc2ljQmxvY2sqIGJsb2NrLAorICAgICAgICBj
b25zdCBTaW5rQ2FuZGlkYXRlRnVuY3RvciYgc2lua0NhbmRpZGF0ZSwKKyAgICAgICAgY29uc3Qg
RXNjYXBlRnVuY3RvciYgZXNjYXBlLAorICAgICAgICBib29sIGZvbGQgPSBmYWxzZSkKKyAgICB7
CisgICAgICAgIGF1dG8gZG9Fc2NhcGVBbGxvY2F0aW9uRXNjYXBlZXMgPSBbJl0gKEhhc2hTZXQ8
Tm9kZSo+IHRvRXNjYXBlLCBOb2RlKiB3aGVyZSkgeworICAgICAgICAgICAgdG9Fc2NhcGUgPSBj
bG9zZUZpZWxkcyh0b0VzY2FwZSk7CisgICAgICAgICAgICBlc2NhcGUodG9Fc2NhcGUsIHdoZXJl
KTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogZXNjYXBpbmcgOiB0b0VzY2FwZSkgeworICAgICAg
ICAgICAgICAgIGF1dG8gaXRlciA9IG1fbWF0ZXJpYWxpemVkLmZpbmQoZXNjYXBpbmcpOworICAg
ICAgICAgICAgICAgIEFTU0VSVChpdGVyICE9IG1fbWF0ZXJpYWxpemVkLmVuZCgpKTsKKyAgICAg
ICAgICAgICAgICBpdGVyLT52YWx1ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgbV9wb2ludHNU
by5yZW1vdmUoZXNjYXBpbmcpOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICBh
dXRvIGRvRXNjYXBlID0gWyZdIChOb2RlKiBlc2NhcGVlLCBOb2RlKiB3aGVyZSkgeworICAgICAg
ICAgICAgaWYgKGVzY2FwZWUgJiYgKGVzY2FwZWUgPSBmb2xsb3coZXNjYXBlZSkpKQorICAgICAg
ICAgICAgICAgIGRvRXNjYXBlQWxsb2NhdGlvbkVzY2FwZWVzKEhhc2hTZXQ8Tm9kZSo+IHsgZXNj
YXBlZSB9LCB3aGVyZSk7CisgICAgICAgIH07CisgICAgICAgIGF1dG8gZG9TaW5rQ2FuZGlkYXRl
ID0gWyZdIChOb2RlKiBub2RlKSB7CisgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKG5vZGUpOwor
ICAgICAgICAgICAgbV9tYXRlcmlhbGl6ZWQuYWRkKG5vZGUsIGZhbHNlKTsKKyAgICAgICAgICAg
IG1fcG9pbnRzVG8uYWRkKG5vZGUsIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Is
IE5vZGUqPigpKTsKKyAgICAgICAgfTsKKyAgICAgICAgbV9tYXRlcmlhbGl6ZWQgPSBtX21hdGVy
aWFsaXplZEF0SGVhZFtibG9ja107CisgICAgICAgIG1fcG9pbnRzVG8gPSBtX3BvaW50c1RvQXRI
ZWFkW2Jsb2NrXTsKKyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAgICAg
ICAgICBpZiAoZm9sZCkKKyAgICAgICAgICAgICAgICBtX2dyYXBoLnBlcmZvcm1TdWJzdGl0dXRp
b24obm9kZSk7CisgICAgICAgICAgICBoYW5kbGVOb2RlKG5vZGUsIGRvU2lua0NhbmRpZGF0ZSwg
ZG9Fc2NhcGUpOworICAgICAgICAgICAgaWYgKGZvbGQpIHsKKyAgICAgICAgICAgICAgICBOb2Rl
KiByZXBsYWNlbWVudCA9IGZvbGxvdyhub2RlKTsKKyAgICAgICAgICAgICAgICBpZiAocmVwbGFj
ZW1lbnQgJiYgcmVwbGFjZW1lbnQgIT0gbm9kZSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZS0+
cmVwbGFjZVdpdGgocmVwbGFjZW1lbnQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgLy8gQ2hlY2sgZm9yICJmaWVsZCB1cHNpbG9ucyI6IGlmIHRoZXJlIGlzIGEgZmllbGQg
d2hlcmUgd2UgY3VycmVudGx5IGhhdmUKKyAgICAgICAgLy8gYSBtdXN0LXBvaW50LXRvIHZhbHVl
IGFuZCB0aGUgc3VjY2Vzc29yIGRpc2FncmVlcyAoZWl0aGVyIGJlY2F1c2UgdGhlIHN1Y2Nlc3Nv
cgorICAgICAgICAvLyBzYXlzIHRoZSBvd25lciBtdXN0IGJlIG1hdGVyaWFsaXplZCBvciBiZWNh
dXNlIGl0IGhhcyBhIGRpZmZlcmVudCBtdXN0LXBvaW50LXRvCisgICAgICAgIC8vIHZhbHVlKSwg
d2UgbmVlZCB0byBlc2NhcGUgdGhlIHZhbHVlIGhlcmUuCisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+
IHRvRXNjYXBlOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxv
Y2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX3BvaW50
c1RvKSB7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9tYXRlcmlhbGl6ZWRBdEhlYWRb
c3VjY2Vzc29yQmxvY2tdLmZpbmQocGFpci5rZXkpOworICAgICAgICAgICAgICAgIGlmIChpdGVy
ICE9IG1fbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5lbmQoKSAmJiBpdGVyLT52
YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8gZmllbGQgOiBwYWlyLnZhbHVl
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYgbV9wb2ludHNU
by5jb250YWlucyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9F
c2NhcGUuYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fcG9pbnRz
VG9BdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmZpbmQocGFpci5rZXkpOworICAgICAgICAgICAgICAg
ICAgICBpZiAoaXRlciA9PSBtX3BvaW50c1RvQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5lbmQoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICBh
dXRvIHN1Y2Nlc3NvckZpZWxkTWFwID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAg
IGZvciAoYXV0byBmaWVsZCA6IHBhaXIudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICghZmllbGQudmFsdWUgfHwgIW1fcG9pbnRzVG8uY29udGFpbnMoZmllbGQudmFsdWUpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byBzdWNjZXNzb3JGaWVsZCA9IHN1Y2Nlc3NvckZpZWxkTWFwLmZpbmQoZmllbGQu
a2V5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzb3JGaWVsZCAhPSBzdWNj
ZXNzb3JGaWVsZE1hcC5lbmQoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN1Y2Nl
c3NvckZpZWxkLT52YWx1ZSAhPSBmaWVsZC52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0b0VzY2FwZS5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGRvRXNj
YXBlQWxsb2NhdGlvbkVzY2FwZWVzKGNsb3NlRmllbGRzKHRvRXNjYXBlKSwgYmxvY2stPnRlcm1p
bmFsKCkpOworCisgICAgICAgIGlmIChtX21hdGVyaWFsaXplZCA9PSBtX21hdGVyaWFsaXplZEF0
VGFpbFtibG9ja10gJiYgbV9wb2ludHNUbyA9PSBtX3BvaW50c1RvQXRUYWlsW2Jsb2NrXSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBtX21hdGVyaWFsaXplZEF0VGFpbFti
bG9ja10gPSBtX21hdGVyaWFsaXplZDsKKyAgICAgICAgbV9wb2ludHNUb0F0VGFpbFtibG9ja10g
PSBtX3BvaW50c1RvOworICAgICAgICAKKyAgICAgICAgLy8gT25seSBwcm9wYWdhdGUgdGhpbmdz
IHRvIG91ciBzdWNjZXNzb3JzIGlmIHRoZXkgYXJlIGFsaXZlIGluIGFsbCBzdWNjZXNzb3JzLAor
ICAgICAgICAvLyBvciB0aGV5IGFyZSBhIGZpZWxkIG9mIGEgdmFsdWUgdGhhdCBpcyBhbGl2ZSBp
biBhbGwgc3VjY2Vzc29ycy4KKyAgICAgICAgSGFzaFNldDxOb2RlKj4gdG9LZWVwOworICAgICAg
ICBmb3IgKGF1dG8gcGFpciA6IG1fbWF0ZXJpYWxpemVkKSB7CisgICAgICAgICAgICBpZiAoYmxv
Y2stPnNzYS0+bGl2ZUF0VGFpbC5jb250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAg
dG9LZWVwLmFkZChwYWlyLmtleSk7CisgICAgICAgIH0KKyAgICAgICAgdG9LZWVwID0gY2xvc2VG
aWVsZHModG9LZWVwKTsKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gdG9SZW1vdmU7CisgICAgICAg
IGZvciAoYXV0byBwYWlyIDogbV9tYXRlcmlhbGl6ZWQpIHsKKyAgICAgICAgICAgIGlmICghdG9L
ZWVwLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAgICB0b1JlbW92ZS5hZGQocGFp
ci5rZXkpOworICAgICAgICB9CisgICAgICAgIGZvciAoTm9kZSogbm9kZSA6IHRvUmVtb3ZlKSB7
CisgICAgICAgICAgICBtX21hdGVyaWFsaXplZC5yZW1vdmUobm9kZSk7CisgICAgICAgICAgICBt
X3BvaW50c1RvLnJlbW92ZShub2RlKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoQmFzaWNC
bG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKSB7CisgICAgICAgICAg
ICBmb3IgKGF1dG8gcGFpciA6IG1fbWF0ZXJpYWxpemVkKSB7CisgICAgICAgICAgICAgICAgbV9t
YXRlcmlhbGl6ZWRBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmFkZCgKKyAgICAgICAgICAgICAgICAg
ICAgcGFpci5rZXksIGZhbHNlKS5pdGVyYXRvci0+dmFsdWUgfD0gcGFpci52YWx1ZTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoYXV0byBwYWlyIDogbV9wb2ludHNUbykgeworICAg
ICAgICAgICAgICAgIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiYg
c3VjY2Vzc29yTWFwID0KKyAgICAgICAgICAgICAgICAgICAgbV9wb2ludHNUb0F0SGVhZFtzdWNj
ZXNzb3JCbG9ja10uYWRkKAorICAgICAgICAgICAgICAgICAgICAgICAgcGFpci5rZXksCisgICAg
ICAgICAgICAgICAgICAgICAgICBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBO
b2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgICAgIGZvciAoYXV0byBmaWVs
ZCA6IHBhaXIudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgZW5zdXJlZCBiZWZv
cmUgdGhhdCB0aGlzIHdvdWxkICphbHdheXMqIGJlIGEgbmV3IGVudHJ5CisgICAgICAgICAgICAg
ICAgICAgIHN1Y2Nlc3Nvck1hcC5hZGQoZmllbGQua2V5LCBmaWVsZC52YWx1ZSk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gSUYgdGhl
IG93bmVyIG9mIHRoZSBmaWVsZCBJUyBtYXRlcmlhbGl6ZWQgaW4gdGhlIHN1Y2Nlc3Nvciwgd2Ug
T05MWSBuZWVkIHRvIGVzY2FwZSB0aGUgdmFsdWUuIERvbid0IHN0b3JlIEFOWVRISU5HIGluIHRo
ZSBwb2ludHNUbyEKKyAgICAgICAgLy8gSXQgaXMgVklUQUxMWSBJTVBPUlRBTlQgdGhhdCB0aGUg
Z3V5cyBpbiBkb20ocG9pbnRzVG8pIGFyZSBBVCBBTEwgVElNRVMsIEVYQUNUTFkgVEhFIFNBTUUg
R1VZUyBhcyB0aGUgZ3V5cyBpbiBtYXRlcmlhbGl6ZWQgd2hvc2UgdmFsdWUgaXMgRkFMU0UuCisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFNpbmtD
YW5kaWRhdGVGdW5jdG9yLCB0eXBlbmFtZSBFc2NhcGVGdW5jdG9yPgogICAgIHZvaWQgaGFuZGxl
Tm9kZSgKICAgICAgICAgTm9kZSogbm9kZSwKQEAgLTgxNywzMSArMTA2OCwzMyBAQCBwcml2YXRl
OgogICAgICAgICBjYXNlIE5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09i
amVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246Ci0gICAgICAg
ICAgICBzaW5rQ2FuZGlkYXRlKCk7CisgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKG5vZGUpOwog
ICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCiAgICAgICAgICAgICAgICAgbm9kZSwK
ICAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkgewotICAgICAgICAgICAgICAgICAgICBl
c2NhcGUoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2Rl
KCksIG5vZGUpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYnJlYWs7CiAKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgIGlmICghbm9kZS0+Y2FzdE9wZXJh
bmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZh
bGlkKCkpCi0gICAgICAgICAgICAgICAgc2lua0NhbmRpZGF0ZSgpOwotICAgICAgICAgICAgbV9n
cmFwaC5kb1RvQ2hpbGRyZW4oCi0gICAgICAgICAgICAgICAgbm9kZSwKLSAgICAgICAgICAgICAg
ICBbJl0gKEVkZ2UgZWRnZSkgewotICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2Rl
KCkpOwotICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIHNpbmtDYW5kaWRhdGUo
bm9kZSk7CisgICAgICAgICAgICBpZiAobV9zaW5raW5nICYmICFtX3NpbmtDYW5kaWRhdGVzLmNv
bnRhaW5zKG5vZGUpKSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCisg
ICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBl
ZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2RlKCksIG5vZGUp
OworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJy
ZWFrOwogCiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgICAgIGlmICgh
bV9ncmFwaC5zeW1ib2xUYWJsZUZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5zaW5nbGV0b25T
Y29wZSgpLT5pc1N0aWxsVmFsaWQoKSkKLSAgICAgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7
CisgICAgICAgICAgICAgICAgc2lua0NhbmRpZGF0ZShub2RlKTsKICAgICAgICAgICAgIG1fZ3Jh
cGguZG9Ub0NoaWxkcmVuKAogICAgICAgICAgICAgICAgIG5vZGUsCiAgICAgICAgICAgICAgICAg
WyZdIChFZGdlIGVkZ2UpIHsKLSAgICAgICAgICAgICAgICAgICAgZXNjYXBlKGVkZ2Uubm9kZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlKGVkZ2Uubm9kZSgpLCBub2RlKTsKICAgICAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC04NTIsMzIgKzExMDUsNTgg
QEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBTdG9yZUJhcnJpZXJXaXRoTnVsbENoZWNrOgogICAg
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CisgICAgICAgIGNh
c2UgUHV0U3RydWN0dXJlOiAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGFsd2F5cyBiZSBhbGxvY2F0
ZWQsIG5vIG5lZWQgdG8gcmVjb3JkIGl0IGluIHBvaW50c1RvCiAgICAgICAgIGNhc2UgQ2hlY2tT
dHJ1Y3R1cmU6CiAgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CiAgICAgICAgIGNhc2UgTXVsdGlH
ZXRCeU9mZnNldDoKICAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDogewotICAg
ICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQxKCkubm9kZSgpOwotICAgICAgICAg
ICAgaWYgKCF0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKQotICAgICAgICAgICAgICAgIGVz
Y2FwZSh0YXJnZXQpOworICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gZm9sbG93KG5vZGUtPmNo
aWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmICF0YXJnZXQtPmlzT2Jq
ZWN0QWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQsIG5vZGUpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNl
IFB1dEJ5T2Zmc2V0OiB7Ci0gICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDIo
KS5ub2RlKCk7Ci0gICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkp
IHsKLSAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBlc2Nh
cGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IGZv
bGxvdyhub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0
YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpICYmICghbV9zaW5raW5nIHx8IG1fc2lua0NhbmRp
ZGF0ZXMuY29udGFpbnModGFyZ2V0KSkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBt
X3BvaW50c1RvLmZpbmQodGFyZ2V0KTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBtX3Bv
aW50c1RvLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gZGVzYyA9IFByb21vdGVk
TG9jYXRpb25EZXNjcmlwdG9yKAorICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRQcm9wZXJ0
eVBMb2MsCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5zdG9yYWdlQWNjZXNzRGF0YSgp
LmlkZW50aWZpZXJOdW1iZXIpOworICAgICAgICAgICAgICAgICAgICBpdGVyLT52YWx1ZS5hZGQo
ZGVzYywgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlID0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGZvbGxvdyhub2RlLT5jaGlsZDMoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpLCBub2RlKTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRy
ZW4oCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAo
RWRnZSBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2RlKCks
IG5vZGUpOworICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2RlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KIAogICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6IHsKLSAgICAgICAgICAgIE5v
ZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICghdGFy
Z2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAgZXNjYXBlKHRh
cmdldCk7Ci0gICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAg
ICAgICAgIE5vZGUqIHRhcmdldCA9IGZvbGxvdyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAg
ICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSAm
JiAoIW1fc2lua2luZyB8fCBtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHRhcmdldCkpKSB7Cisg
ICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9wb2ludHNUby5maW5kKHRhcmdldCk7CisgICAg
ICAgICAgICAgICAgaWYgKGl0ZXIgIT0gbV9wb2ludHNUby5lbmQoKSkgeworICAgICAgICAgICAg
ICAgICAgICBhdXRvIGRlc2MgPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIGl0ZXIt
PnZhbHVlLmFkZChkZXNjLCBudWxscHRyKS5pdGVyYXRvci0+dmFsdWUgPQorICAgICAgICAgICAg
ICAgICAgICAgICAgZm9sbG93KG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2Rl
KCksIG5vZGUpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2dyYXBo
LmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAg
ICAgICAgWyZdIChFZGdlIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShl
ZGdlLm5vZGUoKSwgbm9kZSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtODg3LDE5
ICsxMTY2LDk2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAvLyBQaGFudG9tU3RydWN0dXJlU2Vs
ZWN0IG5vZGUgLSBzaW5jZSB0aGlzIHRyYW5zZm9ybXMgdGhlIFN0cnVjdHVyZSBpbiBhIGNvbmRp
dGlvbmFsCiAgICAgICAgICAgICAvLyB3YXkuCiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTI0Ci0gICAgICAgICAgICBlc2NhcGUobm9k
ZS0+Y2hpbGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIoKS5u
b2RlKCkpOworICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwgbm9kZSk7
CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpLCBub2RlKTsKICAgICAg
ICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBtX2dyYXBoLmRv
VG9DaGlsZHJlbigKICAgICAgICAgICAgICAgICBub2RlLAogICAgICAgICAgICAgICAgIFsmXSAo
RWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSwgbm9kZSk7CiAgICAgICAgICAg
ICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKworICAgIHZv
aWQgY3JlYXRlTWF0ZXJpYWxpemVBbmRQb3B1bGF0ZShIYXNoU2V0PE5vZGUqPiBlc2NhcGVlcywg
Tm9kZSogd2hlcmUpCisgICAgeworICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIGEgc29ydCB0aGF0
IGxlYXZlcyBtaW5pbWFsIGVkZ2VzCisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPj4gZGVwbWFwOworICAgICAgICBmb3IgKE5v
ZGUqIGVzY2FwZWUgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgYXV0byYgZGVwID0gZGVwbWFw
LmFkZChlc2NhcGVlLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4o
KSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgZm9yIChhdXRvIGZpZWxkIDogbV9wb2lu
dHNUby5nZXQoZXNjYXBlZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYg
bV9wb2ludHNUby5jb250YWlucyhmaWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgIGRl
cC5hZGQoZmllbGQua2V5LCBmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1hdGVyaWFsaXphdGlvbnM7CisgICAgICAg
IEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgSGFz
aE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBwb3B1bGF0ZUZpZWxkczsK
KyAgICAgICAgLy8gVE9ETzogV2UgbmVlZCB0byBvcmRlciB0aGUgKm1hdGVyaWFsaXphdGlvbnMq
IGluIHN1Y2ggYSB3YXkgdGhhdCBpZiB0aGV5IHVzZSBvdGhlciBwaGFudG9tIG9iamVjdHMgYXMg
dGhlaXIgYXJndW1lbnRzLCB0aGVuIHRoZXkgYXJlIHB1dCBhZnRlciB0aG9zZS4KKyAgICAgICAg
SGFzaFNldDxOb2RlKj4gdGVtcCA9IGVzY2FwZWVzOworICAgICAgICB3aGlsZSAoIXRlbXAuaXNF
bXB0eSgpKSB7CisgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBsYXRlcjsKKyAgICAgICAgICAg
IGZvciAoTm9kZSogZXNjYXBlZSA6IHRlbXApIHsKKyAgICAgICAgICAgICAgICBib29sIG9rID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAg
ICAgICAgICAgZXNjYXBlZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlJiBlZGdlKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVtcC5jb250YWlucyhlZGdlLm5vZGUoKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICAgICAgaWYgKCFvaykgeworICAgICAgICAgICAgICAgICAg
ICBsYXRlci5hZGQoZXNjYXBlZSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBBU1NFUlQobV9wb2ludHNUby5jb250YWlu
cyhlc2NhcGVlKSk7CisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChlc2NhcGVlKTsK
KyAgICAgICAgICAgICAgICBOb2RlKiBtYXRlcmlhbGl6YXRpb24gPSBjcmVhdGVNYXRlcmlhbGl6
ZShlc2NhcGVlLCB3aGVyZSk7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgWyZdIChFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIg
PSBtYXRlcmlhbGl6YXRpb25zLmZpbmQoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGl0ZXIgIT0gbWF0ZXJpYWxpemF0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlZGdlLnNldE5vZGUoaXRlci0+dmFsdWUpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBtYXRlcmlhbGl6YXRpb25zLmFkZChlc2NhcGVlLCBt
YXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgIGF1dG8mIGRlcCA9IHBvcHVsYXRlRmll
bGRzLmFkZChlc2NhcGVlLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2Rl
Kj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgICAgIGZvciAoYXV0byBmaWVsZCA6
IGRlcG1hcC5nZXQoZXNjYXBlZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXRlcmlh
bGl6ZWQuY29udGFpbnMoZmllbGQudmFsdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVw
LmFkZChmaWVsZC5rZXksIGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiYgaGludHMgPSBtX21hdGVyaWFsaXphdGlvblRvSGlu
dHMuYWRkKAorICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6YXRpb24sIEhhc2hTZXQ8Tm9k
ZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6
IG1fcG9pbnRzVG8pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZC5jb250
YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICAgICAgZm9yIChhdXRvIGZpZWxkIDogcGFpci52YWx1ZSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlID09IGVzY2FwZWUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBBU1NFUlQobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhwYWlyLmtl
eSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRzLmFkZCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24ocGFpci5rZXksIGZpZWxk
LmtleSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGgsIHBhaXIua2V5LT5vcmlnaW4sIG1hdGVyaWFsaXphdGlvbikpOworICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgdGVtcCA9IFdURjo6bW92ZShsYXRlcik7CisgICAg
ICAgIH0KKyAgICAgICAgZm9yIChOb2RlKiBlc2NhcGVlIDogZXNjYXBlZXMpIHsKKyAgICAgICAg
ICAgIGF1dG8gZmllbGRzID0gcG9wdWxhdGVGaWVsZHMuZmluZChlc2NhcGVlKTsKKyAgICAgICAg
ICAgIGlmIChmaWVsZHMtPnZhbHVlLnNpemUoKSA+IDApIHsKKyAgICAgICAgICAgICAgICBOb2Rl
KiBtYXRlcmlhbGl6YXRpb24gPSBtYXRlcmlhbGl6YXRpb25zLmdldChlc2NhcGVlKTsKKyAgICAg
ICAgICAgICAgICBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4gbWF0
ZXJpYWxpemVkRmllbGRzOworICAgICAgICAgICAgICAgIGZvciAoYXV0byBwaGFudG9tIDogZmll
bGRzLT52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkRmllbGRzLmFkZChw
aGFudG9tLmtleSwgbWF0ZXJpYWxpemF0aW9ucy5nZXQocGhhbnRvbS52YWx1ZSkpOworICAgICAg
ICAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZS5hZGQobWF0ZXJpYWxpemF0aW9u
LAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVQb3B1bGF0ZShtYXRlcmlhbGl6YXRpb24sIG1h
dGVyaWFsaXplZEZpZWxkcywgd2hlcmUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KICAgICAKICAgICBOb2RlKiBjcmVhdGVNYXRlcmlhbGl6ZShOb2RlKiBlc2NhcGVlLCBOb2Rl
KiB3aGVyZSkKICAgICB7CkBAIC05NTYsNiArMTMxMiw2NCBAQCBwcml2YXRlOgogICAgICAgICAK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CisKKyAgICBOb2RlKiBjcmVhdGVQb3B1bGF0
ZShOb2RlKiBlc2NhcGVlLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2Rl
Kj4gZmllbGRzLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIE5vZGUqIHJlc3VsdCA9IG51
bGxwdHI7CisKKyAgICAgICAgc3dpdGNoIChlc2NhcGVlLT5vcCgpKSB7CisgICAgICAgIGNhc2Ug
TmV3T2JqZWN0OgorICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CisgICAgICAg
ICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKiBkYXRhID0gbV9ncmFwaC5tX29iamVjdE1h
dGVyaWFsaXphdGlvbkRhdGEuYWRkKCk7CisgICAgICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxk
ID0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUoKTsKKyAgICAgICAgICAgIG1fZ3JhcGgu
bV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShlc2NhcGVlLCBLbm93bkNlbGxVc2UpKTsgLy8g
VE9ETzogVEhJUyBNVVNUIEJFIEJPVFRPTQorICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0No
aWxkcmVuLmFwcGVuZChFZGdlKGVzY2FwZWUsIEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAg
ICBmb3IgKGF1dG8mIGZpZWxkIDogZmllbGRzKSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5t
X3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKGZpZWxkLnZhbHVlLCBLbm93bkNlbGxVc2UpKTsK
KworICAgICAgICAgICAgICAgIGRhdGEtPm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3Bl
cnR5VmFsdWUoZmllbGQua2V5LmluZm8oKSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICByZXN1bHQgPSBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgU3BlY05vbmUsIE5v
ZGU6OlZhckFyZywgUG9wdWxhdGVOZXdPYmplY3QsCisgICAgICAgICAgICAgICAgTm9kZU9yaWdp
bigKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGljLAorICAgICAg
ICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9w
SW5mbyhkYXRhKSwgT3BJbmZvKCksIGZpcnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJl
bi5zaXplKCkgLSBmaXJzdENoaWxkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFj
dGl2YXRpb246IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEg
PSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAg
IHVuc2lnbmVkIGZpcnN0Q2hpbGQgPSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpOwor
ICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKGVzY2FwZWUs
IEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBmb3IgKGF1dG8mIGZpZWxkIDogZmllbGRz
KSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdl
KGZpZWxkLnZhbHVlLCBLbm93bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgICAgIGRhdGEtPm1f
cHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUoZmllbGQua2V5LmluZm8oKSkp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBoLmFkZE5vZGUo
CisgICAgICAgICAgICAgICAgU3BlY05vbmUsIE5vZGU6OlZhckFyZywgUG9wdWxhdGVDcmVhdGVB
Y3RpdmF0aW9uLAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAg
ICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUt
Pm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5mbygp
LCBmaXJzdENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpIC0gZmlyc3RDaGls
ZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgZXNjYXBlZSwgIkJhZCBlc2NhcGVlIG9wIik7
CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KICAgICAKICAgICB2
b2lkIHBvcHVsYXRlTWF0ZXJpYWxpemUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5v
ZGUqIGVzY2FwZWUpCiAgICAgewpAQCAtOTY4LDkgKzEzODIsMTMgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc3RydWN0dXJlKFN0cnVj
dHVyZVBMb2MsIGVzY2FwZWUpOwogICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlu
cyhzdHJ1Y3R1cmUpKTsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBtX2dyYXBoLm1fdmFy
QXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25vd25D
ZWxsVXNlKSk7CiAgICAgICAgICAgICAKKyAgICAgICAgICAgIE5vZGUqIHBvcHVsYXRlID0gbV9t
YXRlcmlhbGl6YXRpb25Ub1BvcHVsYXRlLmdldChub2RlKTsKKyAgICAgICAgICAgIGlmIChwb3B1
bGF0ZSkKKyAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW5bcG9wdWxhdGUt
PmZpcnN0Q2hpbGQoKV0gPSBFZGdlKHJlc29sdmUoYmxvY2ssIHN0cnVjdHVyZSksIEtub3duQ2Vs
bFVzZSk7CisgICAgICAgICAgICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0
aW9uc1tpXS5raW5kKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIFN0cnVjdHVyZVBMb2M6IHsK
QEAgLTk4MCw3ICsxMzk4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzogewogICAgICAgICAgICAgICAgICAg
ICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh2YWx1ZS0+b3AoKSA9PSBCb3R0b21WYWx1ZSkgeworICAgICAgICAgICAg
ICAgICAgICBpZiAodmFsdWUtPm9wKCkgPT0gQm90dG9tVmFsdWUgfHwgdmFsdWUtPmlzUGhhbnRv
bUFsbG9jYXRpb24oKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgY2FuIHNraXAg
Qm90dG9tcyBlbnRpcmVseS4KICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgICAgICB9CkBAIC0xMDIyLDcgKzE0NDAsNyBAQCBwcml2YXRlOgogCiAgICAgICAg
ICAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzogewogICAgICAgICAgICAgICAgICAgICBOb2Rl
KiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh2YWx1ZS0+b3AoKSA9PSBCb3R0b21WYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHZhbHVlLT5vcCgpID09IEJvdHRvbVZhbHVlIHx8IHZhbHVlLT5pc1BoYW50b21BbGxvY2F0
aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAg
ICAgICBkYXRhLm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRp
b25zW2ldLmluZm8oKSkpOwpAQCAtMTA3OSw5ICsxNDk3LDExIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIFNTQUNhbGN1bGF0b3Ig
bV9zc2FDYWxjdWxhdG9yOwogICAgIEhhc2hTZXQ8Tm9kZSo+IG1fc2lua0NhbmRpZGF0ZXM7Cisg
ICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fbWF0ZXJpYWxpemF0aW9uVG9Qb3B1bGF0ZTsKKyAg
ICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0PE5vZGUqPj4gbV9tYXRlcmlhbGl6YXRpb25Ub0hpbnRz
OwogICAgIEhhc2hNYXA8Tm9kZSosIE5vZGUqPiBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZTsK
ICAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8Tm9kZSo+PiBtX21hdGVyaWFsaXphdGlvblNpdGVU
b01hdGVyaWFsaXphdGlvbnM7CiAgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21vdGVkSGVh
cExvY2F0aW9uPj4gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uOwpAQCAtMTA4OSw2ICsxNTA5LDE1
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBtX2luZGV4VG9M
b2NhdGlvbjsKICAgICBIYXNoTWFwPFByb21vdGVkSGVhcExvY2F0aW9uLCBOb2RlKj4gbV9sb2Nh
bE1hcHBpbmc7CiAgICAgSW5zZXJ0aW9uU2V0IG1faW5zZXJ0aW9uU2V0OworCisgICAgQmxvY2tN
YXA8SGFzaE1hcDxOb2RlKiwgYm9vbD4+IG1fbWF0ZXJpYWxpemVkQXRIZWFkOworICAgIEJsb2Nr
TWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PiBtX21hdGVyaWFsaXplZEF0VGFpbDsKKyAgICBIYXNo
TWFwPE5vZGUqLCBib29sPiBtX21hdGVyaWFsaXplZDsKKyAgICBCbG9ja01hcDxIYXNoTWFwPE5v
ZGUqLCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2RlKj4+PiBtX3BvaW50
c1RvQXRIZWFkOworICAgIEJsb2NrTWFwPEhhc2hNYXA8Tm9kZSosIEhhc2hNYXA8UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPj4+IG1fcG9pbnRzVG9BdFRhaWw7CisgICAgSGFzaE1h
cDxOb2RlKiwgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+PiBtX3Bv
aW50c1RvOworICAgIEJsb2NrTWFwPEhhc2hTZXQ8Tm9kZSo+PiBtX3dlYWtseUFsaXZlQXRUYWls
OworICAgIGJvb2wgbV9zaW5raW5nOwogfTsKICAgICAKIGJvb2wgcGVyZm9ybU9iamVjdEFsbG9j
YXRpb25TaW5raW5nKEdyYXBoJiBncmFwaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggMzFk
NjZhYmU1YzhhYzc0NzA2ZjFkMmRhZDkyOTgxMzNmN2M4NTg2NS4uYjljYTVjMzZjMDY5ZTNmNzFk
MjA4MDFkMzQzYzQ5OGE1MGRhOTJjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTU1Miw2
ICs1NTIsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRl
OgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1hdGVy
aWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBQb3B1bGF0ZU5ld09iamVjdDoK
KyAgICAgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgIGNhc2UgUHV0
U3RhY2s6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdldFN0YWNrOiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExv
Y2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0
aW9uLmgKaW5kZXggZjE4YzUwODFhNGUzOWJlNDMxODMxMGZkNzQxNTAxOGVmNzFjNGE5NS4uYmY0
NmQyYzNjZjNjZmUwZDdhZDQ3YTExNTQwYjUyMmQ5ODZiYzViYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaApAQCAtNTcsNiAr
NTcsMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAgICAgCisgICAgUHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3IoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAgICA6IG1f
a2luZChJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZvKDEpCisg
ICAgeworICAgIH0KKyAgICAKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuIG1f
a2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQ7IH0KICAgICAKICAgICBQcm9tb3Rl
ZExvY2F0aW9uS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9CkBAIC05Myw2ICs5
OSwxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAKK3N0cnVjdCBQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJuIGtleS5oYXNoKCk7
IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsgcmV0dXJuIGEgPT0g
YjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
ID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsKIHB1YmxpYzoKICAg
ICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE2Niw2ICsxNzgsMTYgQEAgbmFtZXNwYWNlIFdU
RiB7CiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6UHJvbW90ZWRM
b2NhdGlvbktpbmQpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3I+IHsKKyAgICB0eXBlZGVmIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvckhhc2ggSGFzaDsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNo
VHJhaXRzOwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3I+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvcj4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFs
dWVJc1plcm8gPSBmYWxzZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZh
dWx0SGFzaDsKIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3Rl
ZEhlYXBMb2NhdGlvbj4gewogICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0
aW9uSGFzaCBIYXNoOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKaW5kZXggZjRiMDc5Zjg3YjAxOGMwMDU3MzI2ZWIwOTUxNDI2MDc4NWUzMmVjNi4u
NDFkZjkwZmZhMmZiNDIwNzM5MDllNzYyZjBkMjJmMWQyZjBiNDM1OCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTI3OCw2ICsyNzgsOCBAQCBi
b29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgs
IE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0ZToKICAgICBjYXNl
IE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0
aW9uOgorICAgIGNhc2UgUG9wdWxhdGVOZXdPYmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZUNyZWF0
ZUFjdGl2YXRpb246CiAgICAgY2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2Ug
UGhhbnRvbUNsb25lZEFyZ3VtZW50czoKICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCmluZGV4IDIzY2YyNDRiMGM4M2M5NzE1YmU3MTE1NGViNmMyNjdlZDVhMzM4NzQuLjkxNTUx
YzQ4NGJkNGFhZmQ3NTIwM2MyNDJmMjczZGM3YjhiMDE4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDYwMCw2
ICs0NjAwLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAg
IGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09i
amVjdDoKICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIFBv
cHVsYXRlTmV3T2JqZWN0OgorICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAg
IGNhc2UgUHV0U3RhY2s6CiAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CmluZGV4IDNlNTc0ZDRmNjliMDU5MzYxNGNjN2YyYmQzMWNlYjlkNThlZWNlMzAuLmJjMzM4M2Rj
N2FhY2U5NGVjMjczOTdkMDk3NDVhZmJjN2FiMTM4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDY5Nyw2ICs0Njk3LDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgQ2hl
Y2tTdHJ1Y3R1cmVJbW1lZGlhdGU6CiAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKICAg
ICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIFBvcHVsYXRlTmV3
T2JqZWN0OgorICAgIGNhc2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgUHV0
U3RhY2s6CiAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKaW5kZXggZjg5MjQ1MzE1MDMxNDc5ODky
OThlODY3OWZmZjRkMzVkNzFlZTMyMi4uMWJhMDNmZGVlYjI2OTI0MWY5OTgyNTMxOTUxYzM1NjM3
MzhkZTYxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKQEAg
LTQzMCw2ICs0MzAsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1
Y3R1cmVJbW1lZGlhdGU6CiAgICAgICAgICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVj
dDoKICAgICAgICAgICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAg
ICAgICAgICAgICAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgIGNh
c2UgUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgICAgIGNhc2UgUHV0U3Rh
Y2s6CiAgICAgICAgICAgICAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgICAgICAgICAgICAgY2Fz
ZSBHZXRTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcAppbmRleCAwYmZkZmNjYzZkMzJhZWRiNDgwYzczODlhZGNiZTE2NWI3N2I0ZTIzLi45MThj
Mjg2NTU1OTIxNjAzZjExYTdmZGY0NDlhYThmMDAyOGViOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xODYsNiArMTg2LDggQEAgaW5s
aW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDaGVj
a1N0cnVjdHVyZUltbWVkaWF0ZToKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAg
IGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgUG9wdWxhdGVOZXdP
YmplY3Q6CisgICAgY2FzZSBQb3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgY2FzZSBQaGFu
dG9tRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3VtZW50czoKICAg
ICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENv
bXBpbGUuY3BwCmluZGV4IGRmMzI0ZjZkOThmMDJiZGQzMDg3NzJiOTFlZjRiMmI0NzQxNjQzZjgu
LmZjZDdkYjgzZjM1YzA5MTk3Zjk5M2UxOTA2MjRiZDJiYWMzMWU5NTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcApAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyB2
b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgIGZvciAoRXhpdFRp
bWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IGV4aXQubV9tYXRlcmlh
bGl6YXRpb25zKQogICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbi0+YWNjb3VudEZvckxv
Y2Fsc09mZnNldChsb2NhbHNPZmZzZXQpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAo
dmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAoZmFsc2UgJiYg
dmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgRHVtcENvbnRl
eHQgY29udGV4dDsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgRXhpdCB2YWx1ZXM6ICIs
IGluQ29udGV4dChleGl0Lm1fdmFsdWVzLCAmY29udGV4dCksICJcbiIpOwogICAgICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExW
TS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApp
bmRleCA5MTUwYTQ2MGNiNTUwN2I3Yzc1NzdkMjhlZDRhMjBlZDI3YzFmODZiLi5hZTUyM2E4YjQw
MDY1MzllYzM1NWFlZTRjYWU5MDIyMjIxM2E2OTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtODUxLDYgKzg1MSwxMiBAQCBwcml2
YXRlOgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAg
ICAgIGNvbXBpbGVNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFBvcHVsYXRlTmV3T2JqZWN0OgorICAgICAgICAgICAgY29tcGls
ZVBvcHVsYXRlTmV3T2JqZWN0KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQ
b3B1bGF0ZUNyZWF0ZUFjdGl2YXRpb246CisgICAgICAgICAgICBjb21waWxlUG9wdWxhdGVDcmVh
dGVBY3RpdmF0aW9uKCk7CisgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFBoYW50
b21Mb2NhbDoKICAgICAgICAgY2FzZSBMb29wSGludDoKQEAgLTUxMTEsNyArNTExNyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBtX25vZGUt
Pm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKICAgICAgICAgCiAgICAgICAgIC8vIExvd2Vy
IHRoZSB2YWx1ZXMgZmlyc3QsIHRvIGF2b2lkIGNyZWF0aW5nIHZhbHVlcyBpbnNpZGUgYSBjb250
cm9sIGZsb3cgZGlhbW9uZC4KLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPExWYWx1ZSwgOD4g
dmFsdWVzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3BlcnRp
ZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUobV9n
cmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEgKyBpKSkpOwpAQCAtNTI2MSw2ICs1MjY3LDgyIEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbV9oZWFwcy5KU0Vudmlyb25tZW50UmVjb3JkX3Zh
cmlhYmxlc1tkYXRhLm1fcHJvcGVydGllc1tpXS5tX2lkZW50aWZpZXJOdW1iZXJdKTsKICAgICAg
ICAgfQogICAgICAgICBzZXRKU1ZhbHVlKGFjdGl2YXRpb24pOworCisgICAgfQorCisgICAgdm9p
ZCBjb21waWxlUG9wdWxhdGVDcmVhdGVBY3RpdmF0aW9uKCkKKyAgICB7CisgICAgICAgIE9iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBtX25vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlv
bkRhdGEoKTsKKworICAgICAgICBWZWN0b3I8TFZhbHVlLCA4PiB2YWx1ZXM7CisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkKKyAg
ICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9k
ZSwgMSArIGkpKSk7CisKKyAgICAgICAgTFZhbHVlIGFjdGl2YXRpb24gPSBsb3dDZWxsKG1fZ3Jh
cGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKSk7CisKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBtX291
dC5zdG9yZTY0KHZhbHVlc1tpXSwKKyAgICAgICAgICAgICAgICBhY3RpdmF0aW9uLAorICAgICAg
ICAgICAgICAgIG1faGVhcHMuSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXNbZGF0YS5tX3By
b3BlcnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyXSk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICB2b2lkIGNvbXBpbGVQb3B1bGF0ZU5ld09iamVjdCgpCisgICAgeworICAgICAgICBPYmplY3RN
YXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhKCk7CisKKyAgICAgICAgTFZhbHVlIG9iamVjdCA9IGxvd0NlbGwobV9ncmFwaC52YXJBcmdD
aGlsZChtX25vZGUsIDEpKTsKKyAgICAgICAgTFZhbHVlIGJ1dHRlcmZseSA9IG1fb3V0LmxvYWRQ
dHIob2JqZWN0LCBtX2hlYXBzLkpTT2JqZWN0X2J1dHRlcmZseSk7CisKKyAgICAgICAgVmVjdG9y
PExWYWx1ZSwgOD4gdmFsdWVzOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0
YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxv
d0NlbGwobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDIgKyBpKSkpOworCisgICAgICAgIFN0
cnVjdHVyZVNldCBzZXQ7CisgICAgICAgIG1faW50ZXJwcmV0ZXIucGhpQ2hpbGRyZW4oKS0+Zm9y
QWxsVHJhbnNpdGl2ZUluY29taW5nVmFsdWVzKAorICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdD
aGlsZChtX25vZGUsIDApLm5vZGUoKSwKKyAgICAgICAgICAgIFsmXSAoTm9kZSogaW5jb21pbmcp
IHsKKyAgICAgICAgICAgICAgICBzZXQuYWRkKGluY29taW5nLT5jYXN0Q29uc3RhbnQ8U3RydWN0
dXJlKj4oKSk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICBWZWN0b3I8TEJhc2ljQmxvY2ss
IDE+IGJsb2NrcyhzZXQuc2l6ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc2V0LnNp
emUoKTsgaS0tOykKKyAgICAgICAgICAgIGJsb2Nrc1tpXSA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiUG9wdWxhdGVOZXdPYmplY3QgY2FzZSAiLCBpKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGR1
bW15RGVmYXVsdCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUG9wdWxhdGVOZXdPYmplY3QgZGVm
YXVsdCBjYXNlIikpOworICAgICAgICBMQmFzaWNCbG9jayBvdXRlckNvbnRpbnVhdGlvbiA9IEZU
TF9ORVdfQkxPQ0sobV9vdXQsICgiUG9wdWxhdGVOZXdPYmplY3QgY29udGludWF0aW9uIikpOwor
CisgICAgICAgIFZlY3RvcjxTd2l0Y2hDYXNlLCAxPiBjYXNlcyhzZXQuc2l6ZSgpKTsKKyAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gc2V0LnNpemUoKTsgaS0tOykKKyAgICAgICAgICAgIGNhc2Vz
W2ldID0gU3dpdGNoQ2FzZSh3ZWFrU3RydWN0dXJlKHNldFtpXSksIGJsb2Nrc1tpXSwgV2VpZ2h0
KDEpKTsKKyAgICAgICAgbV9vdXQuc3dpdGNoSW5zdHJ1Y3Rpb24oCisgICAgICAgICAgICBsb3dD
ZWxsKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKSksIGNhc2VzLCBkdW1teURlZmF1bHQs
IFdlaWdodCgwKSk7CisKKyAgICAgICAgTEJhc2ljQmxvY2sgb3V0ZXJMYXN0TmV4dCA9IG1fb3V0
Lm1fbmV4dEJsb2NrOworCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHNldC5zaXplKCk7IGkt
LTspIHsKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGJsb2Nrc1tpXSwgMSArIGkgPCBzZXQu
c2l6ZSgpID8gYmxvY2tzW2kgKyAxXSA6IGR1bW15RGVmYXVsdCk7CisKKyAgICAgICAgICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gc2V0W2ldOworCisgICAgICAgICAgICBmb3IgKFByb3BlcnR5
TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkg
eworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRhdGEubV9wcm9wZXJ0aWVzLnNp
emUoKTsgaS0tOykgeworICAgICAgICAgICAgICAgICAgICBQaGFudG9tUHJvcGVydHlWYWx1ZSB2
YWx1ZSA9IGRhdGEubV9wcm9wZXJ0aWVzW2ldOworICAgICAgICAgICAgICAgICAgICBpZiAobV9n
cmFwaC5pZGVudGlmaWVycygpW3ZhbHVlLm1faWRlbnRpZmllck51bWJlcl0gIT0gZW50cnkua2V5
KQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAg
ICAgTFZhbHVlIGJhc2UgPSBpc0lubGluZU9mZnNldChlbnRyeS5vZmZzZXQpID8gb2JqZWN0IDog
YnV0dGVyZmx5OworICAgICAgICAgICAgICAgICAgICBzdG9yZVByb3BlcnR5KHZhbHVlc1tpXSwg
YmFzZSwgdmFsdWUubV9pZGVudGlmaWVyTnVtYmVyLCBlbnRyeS5vZmZzZXQpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0Lmp1bXAob3V0ZXJDb250aW51YXRpb24pOworICAg
ICAgICB9CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oZHVtbXlEZWZhdWx0LCBvdXRlckNvbnRp
bnVhdGlvbik7CisgICAgICAgIG1fb3V0LnVucmVhY2hhYmxlKCk7CisKKyAgICAgICAgbV9vdXQu
YXBwZW5kVG8ob3V0ZXJDb250aW51YXRpb24sIG91dGVyTGFzdE5leHQpOwogICAgIH0KIAogI2lm
IEVOQUJMRShGVExfTkFUSVZFX0NBTExfSU5MSU5JTkcpCkBAIC03OTc3LDcgKzgwNTksNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIGV4aXRWYWx1ZUZvckF2YWlsYWJpbGl0eShhcmd1bWVu
dHMsIG1hcCwgaGVhcFBhaXIudmFsdWUpKTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAg
aWYgKHZlcmJvc2VDb21waWxhdGlvbkVuYWJsZWQoKSkKKyAgICAgICAgaWYgKGZhbHNlICYmIHZl
cmJvc2VDb21waWxhdGlvbkVuYWJsZWQoKSkKICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgICAg
RXhpdCB2YWx1ZXM6ICIsIGV4aXQubV92YWx1ZXMsICJcbiIpOwogICAgIH0KICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCA4
ZmRkYzM5YTQ3ZjU1M2U3MTg4NWNmNDU2ZjQzYWZhMzRkOTUyMTRjLi41ZDJkMjFmZjg0NGFkOTcz
ZTEyMjgwOTczNTQ2MDVkZWYxYTA1NWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCkBAIC0yMjQsMTMgKzIyNCw1NSBAQCBzdGF0aWMg
dm9pZCBjb21waWxlU3R1YigKICAgICAgICAgaWYgKCEhZXhpdC5tX3ZhbHVlUHJvZmlsZSkKICAg
ICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBleGl0Lm1fdmFsdWVQcm9maWxl
LmdldFNwZWNGYWlsQnVja2V0KDApKTsKICAgICB9CisKKyAgICAvLyBNYXRlcmlhbGl6ZSBhbGwg
b2JqZWN0cworCisgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJp
YWxpemF0aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpIHsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBwcm9wZXJ0eUluZGV4ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgp
OyBwcm9wZXJ0eUluZGV4LS07KSB7CisgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVl
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF0udmFsdWUoKTsK
KyAgICAgICAgICAgIGlmICh2YWx1ZS5pc09iamVjdE1hdGVyaWFsaXphdGlvbigpKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgY29tcGlsZVJlY292ZXJ5KAorICAgICAg
ICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3Rl
clNjcmF0Y2gsCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyKTsKKyAg
ICAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUMCwgbWF0ZXJpYWxpemF0aW9uQXJn
dW1lbnRzICsgcHJvcGVydHlJbmRleCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8v
IFRoaXMgY2FsbCBhc3N1bWVzIHRoYXQgd2UgZG9uJ3QgcGFzcyBhcmd1bWVudHMgb24gdGhlIHN0
YWNrLgorICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKAorICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbiksCisgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uQXJndW1lbnRz
KSk7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNl
X2Nhc3Q8dm9pZCo+KG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpKSwgR1BSSW5mbzo6
bm9uQXJnR1BSMCk7CisgICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOworICAg
ICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIG1hdGVyaWFsaXphdGlv
blRvUG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSk7CisgICAgfQorCisgICAgLy8gTm93IHBv
cHVsYXRlIHRoZW0KKworICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1h
dGVyaWFsaXphdGlvbiA6IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKSB7CisgICAgICAgIGZvciAo
dW5zaWduZWQgcHJvcGVydHlJbmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNp
emUoKTsgcHJvcGVydHlJbmRleC0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2
YWx1ZSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVl
KCk7CisgICAgICAgICAgICBjb21waWxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgaml0LCB2
YWx1ZSwgcmVjb3JkLCBqaXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwKKyAgICAg
ICAgICAgICAgICBtYXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIpOworICAgICAgICAgICAgaml0LnN0
b3JlUHRyKEdQUkluZm86OnJlZ1QwLCBtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMgKyBwcm9wZXJ0
eUluZGV4KTsKKyAgICAgICAgfQorCisgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxp
emF0aW9uKSwKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlh
bGl6YXRpb25Ub1BvaW50ZXIuZ2V0KG1hdGVyaWFsaXphdGlvbikpLAorICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50cykpOworICAg
ICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZv
aWQqPihvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKSksIEdQUkluZm86Om5vbkFyZ0dQUjAp
OworICAgICAgICBqaXQuY2FsbChHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICB9CiAgICAgCiAg
ICAgLy8gTWF0ZXJpYWxpemUgYWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFuIG9iamVj
dCB1bnRpbCBhbGwgb2YgdGhlIG9iamVjdHMgaXQgbmVlZHMKICAgICAvLyBoYXZlIGJlZW4gbWF0
ZXJpYWxpemVkLiBDdXJpb3VzbHksIHRoaXMgaXMgdGhlIG9ubHkgcGxhY2UgdGhhdCB3ZSBoYXZl
IGFuIGFsZ29yaXRobSB0aGF0IHByZXZlbnRzCiAgICAgLy8gT1NSIGV4aXQgZnJvbSBoYW5kbGlu
ZyBjeWNsaWMgb2JqZWN0IG1hdGVyaWFsaXphdGlvbnMuIE9mIGNvdXJzZSwgb2JqZWN0IGFsbG9j
YXRpb24gc2lua2luZwogICAgIC8vIGN1cnJlbnRseSB3b3VsZG4ndCByZWNvZ25pemUgYSBjeWNs
ZSBhcyBiZWluZyBzaW5rYWJsZSAtIGJ1dCBpZiBpdCBkaWQgdGhlbiB0aGUgb25seSB0aGluZyB0
aGF0Ci0gICAgLy8gd291bGQgYWh2ZSB0byBjaGFuZ2UgaXMgdGhpcyBmaXhwb2ludC4gSW5zdGVh
ZCB3ZSB3b3VsZCBhbGxvY2F0ZSB0aGUgb2JqZWN0cyBmaXJzdCBhbmQgcG9wdWxhdGUKKyAgICAv
LyB3b3VsZCBoYXZlIHRvIGNoYW5nZSBpcyB0aGlzIGZpeHBvaW50LiBJbnN0ZWFkIHdlIHdvdWxk
IGFsbG9jYXRlIHRoZSBvYmplY3RzIGZpcnN0IGFuZCBwb3B1bGF0ZQogICAgIC8vIHRoZW0gd2l0
aCBkYXRhIGxhdGVyLgorICAgIC8qCiAgICAgSGFzaFNldDxFeGl0VGltZU9iamVjdE1hdGVyaWFs
aXphdGlvbio+IHRvTWF0ZXJpYWxpemU7CiAgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFs
aXphdGlvbiogbWF0ZXJpYWxpemF0aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpCiAgICAg
ICAgIHRvTWF0ZXJpYWxpemUuYWRkKG1hdGVyaWFsaXphdGlvbik7CkBAIC0yODIsNyArMzI0LDcg
QEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAgICAgIC8vIGlzIHNvbWV0aGluZyBicm9r
ZW4gYWJvdXQgdGhpcyBmaXhwb2ludC4gT3IsIHRoaXMgY291bGQgaGFwcGVuIGlmIHdlIGV2ZXIg
dmlvbGF0ZSB0aGUKICAgICAgICAgLy8gIm1hdGVyaWFsaXphdGlvbnMgZm9ybSBhIERBRyIgcnVs
ZS4KICAgICAgICAgUkVMRUFTRV9BU1NFUlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2aW91
c1RvTWF0ZXJpYWxpemVTaXplKTsKLSAgICB9CisgICAgfSAqLwogCiAgICAgLy8gU2F2ZSBhbGwg
c3RhdGUgZnJvbSB3aGVyZXZlciB0aGUgZXhpdCBkYXRhIHRlbGxzIHVzIGl0IHdhcywgaW50byB0
aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4KICAgICAvLyB0aGUgc2NyYXRjaCBidWZmZXIuIFRoaXMg
YWxzbyBkb2VzIHRoZSByZWJveGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9w
ZXJhdGlvbnMuY3BwCmluZGV4IGFkNmI1ZjU0OThjMWM2OWYzNjk0NzU1MjZiNjMwODdmZWFiNWNk
ZDkuLjIwODhhZmE0YjMxODkwOTg4YTFiMzhlNzYwYmYzMDA0MjE0NDFjZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcApAQCAtNDgsMTEgKzQ4LDcxIEBA
IGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdFdpdGhC
dXR0ZXJmbHkoRXhlY1N0YXRlKiBleGVjCiAgICAgcmV0dXJuIEpTRmluYWxPYmplY3Q6OmNyZWF0
ZShleGVjLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSk7CiB9CiAKK2V4dGVybiAiQyIgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5PU1IoCisgICAgRXhlY1N0YXRlKiBl
eGVjLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLAorICAg
IEVuY29kZWRKU1ZhbHVlKiBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlKiB2YWx1ZXMpCit7
CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4
ZWMtPmNvZGVCbG9jaygpOworICAgIAorICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBv
aW50ZXJzIGluIGV2aWwgcGxhY2VzLgorICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5o
ZWFwKTsKKworICAgIHN3aXRjaCAobWF0ZXJpYWxpemF0aW9uLT50eXBlKCkpIHsKKyAgICBjYXNl
IFBoYW50b21OZXdPYmplY3Q6IHsKKyAgICAgICAgSlNGaW5hbE9iamVjdCogb2JqZWN0ID0ganND
YXN0PEpTRmluYWxPYmplY3QqPihKU1ZhbHVlOjpkZWNvZGUoKmVuY29kZWRWYWx1ZSkpOworICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKCk7CisgICAgICAg
IC8vIE5vdyBmaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9iamVjdCB3
aXRoLiBVc2UgZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpCisgICAgICAgIC8vIGJlY2F1c2Ug
dGhhdCBoYXBwZW5zIHRvIGJlIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZlbmllbnQuIEl0IGRv
ZXNuJ3QgY2hhbmdlIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gb2YgdGhlIHByb3Bl
cnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUgbWluaW1hbCB2aXNpYmxlIGVmZmVjdHMgb24gdGhl
CisgICAgICAgIC8vIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZCB0aGF0IHRoaXMgaXMgTyhuXjIp
LiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZSBmcm9tIE9TUgorICAgICAgICAv
LyBleGl0LgorICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUt
PmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAg
ICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxp
emF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CisgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5Lmxv
Y2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBpZiAoY29kZUJsb2NrLT5pZGVudGlmaWVyKHBy
b3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5pbXBsKCkgIT0gZW50cnkua2V5KQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG9iamVj
dC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0p
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAg
ICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAgICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVu
dHM6CisgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOiAKKyAgICAgICAgYnJlYWs7CisK
KyAgICBjYXNlIFBoYW50b21DcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgIEpTTGV4aWNhbEVu
dmlyb25tZW50KiBhY3RpdmF0aW9uID0ganNDYXN0PEpTTGV4aWNhbEVudmlyb25tZW50Kj4oSlNW
YWx1ZTo6ZGVjb2RlKCplbmNvZGVkVmFsdWUpKTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdo
YXQgdG8gcG9wdWxhdGUgdGhlIGFjdGl2YXRpb24gd2l0aAorICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAg
ICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlv
bi0+cHJvcGVydGllcygpW2ldOworICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCku
a2luZCgpICE9IENsb3N1cmVWYXJQTG9jKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICBhY3RpdmF0aW9uLT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5Lmxv
Y2F0aW9uKCkuaW5mbygpKSkuc2V0KGV4ZWMtPnZtKCksIGFjdGl2YXRpb24sIEpTVmFsdWU6OmRl
Y29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAgIH0KKwor
CisgICAgZGVmYXVsdDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgYnJlYWs7CisKKyAgICB9Cit9CisKIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgRXhlY1N0YXRlKiBleGVj
LCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLCBFbmNvZGVk
SlNWYWx1ZSogdmFsdWVzKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgQ29kZUJs
b2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKIAogICAgIC8vIFdlIGNhbm5vdCBH
Qy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hp
bGUgZGVmZXJHQyh2bS5oZWFwKTsKQEAgLTczLDIzICsxMzMsMTIgQEAgZXh0ZXJuICJDIiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICAK
ICAgICAgICAgLy8gTGV0J3MgY3JlYXRlIHRoYXQgb2JqZWN0IQogICAgICAgICBKU0ZpbmFsT2Jq
ZWN0KiByZXN1bHQgPSBKU0ZpbmFsT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7Ci0gICAg
Ci0gICAgICAgIC8vIE5vdyBmaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhl
IG9iamVjdCB3aXRoLiBVc2UgZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpCi0gICAgICAgIC8v
IGJlY2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJlIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZlbmll
bnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQotICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gb2Yg
dGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUgbWluaW1hbCB2aXNpYmxlIGVmZmVj
dHMgb24gdGhlCi0gICAgICAgIC8vIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZCB0aGF0IHRoaXMg
aXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZSBmcm9tIE9TUgot
ICAgICAgICAvLyBleGl0LgorCisgICAgICAgLyoKICAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVu
dHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKLSAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygp
LnNpemUoKTsgaS0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVl
JiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwotICAgICAgICAg
ICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExv
YykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGNv
ZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9
IGVudHJ5LmtleSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1Zh
bHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICByZXN1
bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBqc1VuZGVmaW5lZCgpKTsKICAgICAgICAg
fQorICAgICAgICovCiAgICAgCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtMTI5
LDE2ICsxNzgsNiBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25N
YXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNv
ZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFjdGl2YXRpb25TdHJ1Y3R1cmUoKTsKIAogICAgICAg
ICBKU0xleGljYWxFbnZpcm9ubWVudCogcmVzdWx0ID0gSlNMZXhpY2FsRW52aXJvbm1lbnQ6OmNy
ZWF0ZSh2bSwgc3RydWN0dXJlLCBzY29wZSwgdGFibGUpOwotCi0gICAgICAgIC8vIEZpZ3VyZSBv
dXQgd2hhdCB0byBwb3B1bGF0ZSB0aGUgYWN0aXZhdGlvbiB3aXRoCi0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewot
ICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxp
emF0aW9uLT5wcm9wZXJ0aWVzKClbaV07Ci0gICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRp
b24oKS5raW5kKCkgIT0gQ2xvc3VyZVZhclBMb2MpCi0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0KLSAgICAgICAgICAgIHJlc3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5s
b2NhdGlvbigpLmluZm8oKSkpLnNldChleGVjLT52bSgpLCByZXN1bHQsIEpTVmFsdWU6OmRlY29k
ZSh2YWx1ZXNbaV0pKTsKLSAgICAgICAgfQotCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCmluZGV4IGQxNWYx
OGViOWFkZDMzNzlmYjVjZjE0MmRlMzQ2MTNjNDg1Nzc1MDUuLmE1NTY4ZjkxYjExNzJiNTEyOWY4
ODM5NzgzZTczYmM2ZDhjODNmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3Bl
cmF0aW9ucy5oCkBAIC00MCw2ICs0MCw5IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdPYmplY3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdUCiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICBF
eGVjU3RhdGUqLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVl
KikgV1RGX0lOVEVSTkFMOwogCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVP
YmplY3RJbk9TUigKKyAgICBFeGVjU3RhdGUqLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlv
biosIEVuY29kZWRKU1ZhbHVlKiwgRW5jb2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CisKIH0g
Ly8gZXh0ZXJuICJDIgogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rLWN5Y2xlLmpzIGIvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2luay1jeWNsZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
ZDY5ZDU1YWM0YzZjOWVmNTNhMTU3OTA5MGRmMjI5NWFkNTQyNWZlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2luay1jeWNsZS5qcwpAQCAt
MCwwICsxLDEyIEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFyIGEgPSB7ICd2YWwnOiAxMCB9
OworICAgIHZhciBiID0geyAnZmF0aGVyJzogYSB9OworICAgIGEuc29uID0gYjsKKyAgICByZXR1
cm4gYS52YWw7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDAwOyBpKyspCisgICAgdmFyIHJlc3VsdCA9IGZvbygpOworICAgIGlmIChyZXN1bHQgIT0gMTAp
CisgICAgICAgIHRocm93ICJFcnJvcjogRXhwZWN0ZWQgMTAsIGdvdCAiICsgcmVzdWx0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2luay1yZWN1cnNp
dmUtY2xvc3VyZS5qcyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Npbmst
cmVjdXJzaXZlLWNsb3N1cmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRhNWY4NTg0NGFjNTY5YTAxOWNjMTRl
ZWI4MmNmODcxNTY4NmNkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jl
c3Mvc2NyaXB0LXRlc3RzL3NpbmstcmVjdXJzaXZlLWNsb3N1cmUuanMKQEAgLTAsMCArMSw4IEBA
CitmdW5jdGlvbiBmb28ocCkgeworICAgIHZhciBmID0gZnVuY3Rpb24gKHgpIHsgaWYgKHgpIHJl
dHVybiBmKCFwKTsgZWxzZSByZXR1cm4gMDsgfTsKKyAgICBpZiAocCkgcmV0dXJuIGY7Cit9Citu
b0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDAwOyBpKyspCisgICAg
Zm9vKGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254886</attachid>
            <date>2015-06-15 12:26:00 -0700</date>
            <delta_ts>2015-06-26 18:02:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150615122526.patch</filename>
            <type>text/plain</type>
            <size>88311</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NDNlODQ0OWFhOTM4NWIyODczYzY4OTlhNmFjMTE1ZDRkZThmNWViLi43ZWViNjFjNTk4NDFkN2M1
ODk2ODdlYzUyNjcyOTQxYmRiZTUzYmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OCBAQAorMjAxNS0wNi0xNSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRm
Zy9ERkdMYXp5Tm9kZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6TGF6eU5vZGU6OmR1bXApOgor
ICAgICAgICAqIGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5jcHA6IEFk
ZGVkLgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0UG9pbnRlcjo6QWJzdHJhY3RQb2ludGVy
KToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFBvaW50ZXI6Om1lcmdlKToKKyAgICAgICAg
KEpTQzo6REZHOjpBYnN0cmFjdFBvaW50ZXI6Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlNDOjpE
Rkc6OkFic3RyYWN0UG9pbnRlcjo6b3BlcmF0b3IhPSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RQb2ludGVyOjpmb3JBbGxBbGlhc2VzKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFj
dFBvaW50ZXI6OmR1bXApOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0UG9pbnRlcjo6dG9w
KToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdExvY2FsQWxsb2NhdGlvbjo6QWJzdHJhY3RM
b2NhbEFsbG9jYXRpb24pOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0
aW9uOjptZXJnZUluSGVhcCk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEFsbG9j
YXRpb246OnBydW5lKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdExvY2FsQWxsb2NhdGlv
bjo6ZXNjYXBlKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdExvY2FsQWxsb2NhdGlvbjo6
ZXNjYXBlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEFsbG9jYXRpb246Omlz
VmFsaWQpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0aW9uOjptdXN0
SGF2ZSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEFsbG9jYXRpb246OnNldFN0
cnVjdHVyZXMpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0aW9uOjpm
aWx0ZXJTdHJ1Y3R1cmVzKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdExvY2FsQWxsb2Nh
dGlvbjo6b3BlcmF0b3I9PSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEFsbG9j
YXRpb246Om9wZXJhdG9yIT0pOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxv
Y2F0aW9uOjpnZXQpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0aW9u
OjpzZXQpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0aW9uOjpmb3JB
bGxGaWVsZHMpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxBbGxvY2F0aW9uOjpk
dW1wKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdExvY2FsSGVhcDo6bmV3QWxsb2NhdGlv
bik6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6Om1lcmdlQWxsb2NhdGlv
bik6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6OmlzQWxsb2NhdGlvbik6
CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6OnBvaW50ZXIpOgorICAgICAg
ICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxIZWFwOjpmb3JBbGxBbGxvY2F0aW9ucyk6CisgICAg
ICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6OmZvckFsbEFsaWFzZXMpOgorICAgICAg
ICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxIZWFwOjpvbmx5QWxsb2NhdGlvbik6CisgICAgICAg
IChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6Om9ubHlMb2NhbEFsbG9jYXRpb24pOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxIZWFwOjpmb2xsb3cpOgorICAgICAgICAoSlND
OjpERkc6OkFic3RyYWN0TG9jYWxIZWFwOjplc2NhcGUpOgorICAgICAgICAoSlNDOjpERkc6OkFi
c3RyYWN0TG9jYWxIZWFwOjpvcGVyYXRvcj09KToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFj
dExvY2FsSGVhcDo6b3BlcmF0b3IhPSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2Nh
bEhlYXA6OmlzVmFsaWQpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0TG9jYWxIZWFwOjpw
cnVuZSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RMb2NhbEhlYXA6OmR1bXApOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0UG9pbnRlcjo6b25seUFsaWFzKToKKyAgICAgICAgKEpT
Qzo6REZHOjpBYnN0cmFjdFBvaW50ZXI6OmVzY2FwZSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RQb2ludGVyOjppc1ZhbGlkKToKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFBvaW50
ZXI6OnBydW5lKToKKyAgICAgICAgKEpTQzo6REZHOjppc0FsbG9jYXRpb24pOgorICAgICAgICAo
SlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25FbGltaW5hdGlvblBoYXNlOjpPYmplY3RBbGxvY2F0
aW9uRWxpbWluYXRpb25QaGFzZSk6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlv
bkVsaW1pbmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2Nh
dGlvbkVsaW1pbmF0aW9uUGhhc2U6OnBlcmZvcm1TaW5raW5nKToKKyAgICAgICAgKEpTQzo6REZH
OjpPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZTo6cGVyZm9ybUFuYWx5c2lzKToKKyAg
ICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZTo6ZXhlY3V0
ZU5vZGUpOgorICAgICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25FbGltaW5hdGlvblBo
YXNlOjplbmRCbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvbkVsaW1p
bmF0aW9uUGhhc2U6OmRldGVybWluZUVsaW1pbmF0aW9uQ2FuZGlkYXRlcyk6CisgICAgICAgIChK
U0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2U6Omxvd2VyTm9uUmVhZGlu
Z09wZXJhdGlvbnNPblBoYW50b21BbGxvY2F0aW9ucyk6CisgICAgICAgIChKU0M6OkRGRzo6T2Jq
ZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2U6OnByb21vdGVTdW5rZW5GaWVsZHMpOgorICAg
ICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25FbGltaW5hdGlvblBoYXNlOjpyZXNvbHZl
KToKKyAgICAgICAgKEpTQzo6REZHOjpwZXJmb3JtT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9u
KToKKyAgICAgICAgKiBkZmcvREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaDog
Q29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5Tm9kZS5jcHAuCisg
ICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBp
bGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5o
OgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3JIYXNoOjpoYXNoKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvckhhc2g6OmVxdWFsKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZEhl
YXBMb2NhdGlvbjo6b3BlcmF0b3IhPSk6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpWYWxpZGF0ZTo6dmFsaWRhdGVTU0EpOgorICAgICAgICAqIGZ0
bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwOgorICAgICAgICAoSlNDOjpGVEw6Om5lZWRlZEZvck1h
dGVyaWFsaXphdGlvbik6CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAg
ICAqIGZ0bC9GVExPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25Q
b3B1bGF0ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25NYXRlcmlh
bGl6ZU9iamVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0aW9ucy5oOgorCiAyMDE1
LTA2LTEzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogY29uc29sZS50YWJsZSgpIHdpdGggYSBsaXN0IG9mIG9iamVjdHMgbm8g
bG9uZ2VyIHdvcmtzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDk5MTdkOWM0OTA1ODQ3NTA0NGNiZTU5MDViOWU4NWRjMGQ1ZmVh
YzAuLmE3YmQ0NWFiNWFlNTdhMzIwYzEyNDk4MWIzYTU0YzllNmFmZjZkZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTUtMDYtMTUgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBw
bGUuY29tPgorCisgICAgICAgIE9iamVjdCBjeWNsZXMgc2hvdWxkIG5vdCBwcmV2ZW50IGFsbG9j
YXRpb24gZWxpbWluYXRpb24vc2lua2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG9wZXJhdG9yIT0gdG8gV1RGOjpIYXNoU2V0IGFuZCBXVEY6
OlRpbnlQdHJTZXQuCisKKyAgICAgICAgKiB3dGYvSGFzaFNldC5oOgorICAgICAgICAoV1RGOjpI
YXNoU2V0OjpvcGVyYXRvciE9KTogQWRkZWQuCisgICAgICAgICogd3RmL1RpbnlQdHJTZXQuaDoK
KyAgICAgICAgKFdURjo6VGlueVB0clNldDo6b3BlcmF0b3IhPSk6IEFkZGVkLgorCiAyMDE1LTA2
LTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xp
Yl0gTW92ZSBmaWxlcyB1bmRlciBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0IHRvIFNvdXJjZS9XVEYv
d3RmL2dsaWIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxNTI4MGIwODQz
NWQxMDU5Zjc4ZDQxZDY2NTYwMDQ4ODI5OTJjNzMyLi4xOGFmOTc2ZDRiODVhODU4M2JjZTMzYzkw
ZjdhN2M3ZGJkNjljYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0y
MTAsNiArMjEwLDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBkZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcAogICAgIGRmZy9ERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVy
LmNwcAogICAgIGRmZy9ERkdPU1JFeGl0UHJlcGFyYXRpb24uY3BwCisgICAgZGZnL0RGR09iamVj
dEFsbG9jYXRpb25FbGltaW5hdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlLmNwcAogICAgIGRmZy9ERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRh
LmNwcAogICAgIGRmZy9ERkdPcGVyYXRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKaW5kZXggZmMxN2QxNmU1MjZiN2ZhNDdlMzNmMzE2ZDhhNDFjOTI5Njg0Mjgx
Ny4uNGU3YWRkMTBlODRkNGFkNTdlMTc2NTBkMzVjNTZjMTdlMjRjNGIwNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC00NDgsNiArNDQ4LDcgQEAKICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR09TUkV4aXRQcmVwYXJh
dGlvbi5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHT2JqZWN0QWxs
b2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cZGZnXERGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR1BoYW50b21JbnNlcnRpb25QaGFz
ZS5jcHAiIC8+CkBAIC0xMTM2LDYgKzExMzcsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cZGZnXERGR05vZGVGbGFncy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZn
XERGR05vZGVPcmlnaW4uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdO
b2RlVHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR09iamVjdEFs
bG9jYXRpb25FbGltaW5hdGlvblBoYXNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxkZmdcREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cZGZnXERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdPcGVyYXRpb25zLmgiIC8+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggN2VjNDIy
ZDM4Y2YyMzk0YjUxNDgwZDFhMDQ3ODc2NjRiMzI2M2U3OS4uMDFkYTQ2MzIyNTg1YWQ4ZWFmOThm
ZTg3NmM4MDVhNTk4ZmM1Y2Y0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTczMSw2ICsxNzMxLDkgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGRmZ1xERkdOYWl2ZURvbWluYXRvcnMuY3BwIj4KICAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxkZmdcREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwIj4KKyAgICAgIDxG
aWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxkZmdcREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAiPgogICAgICAg
PEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQyMzIsNiArNDIzNSw5
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHTmFpdmVEb21pbmF0b3JzLmgi
PgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFz
ZS5oIj4KKyAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFz
ZS5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgzZmEyMjFjZTI4ZjY3MThjMjFhZmUzMjc4N2Iw
Y2EwZGU5NjM2MGIuLjQ4NzI5ODllNGEyOTQ4MmU0MmYwNjcyNjlmMzgyYjZjYzgzZmI4ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NjAsNiArOTYwLDggQEAKIAkJNURCQjE1
MUIxMzFEMEIzMTAwNTZBRDM2IC8qIHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEQ4NTc3NDBBNDY5NkM4MDAzMjE0
NkMgLyogdGVzdGFwaS5qcyAqLzsgfTsKIAkJNURCQjE1MjUxMzFEMEJENzAwNTZBRDM2IC8qIG1p
bmlkb20uanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDEyMTEwRDBBNDg3ODg3MDA0ODAyNTUgLyogbWluaWRvbS5qcyAqLzsgfTsK
IAkJNURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NTQwMjU1NTk3RDAx
RkY2MEY3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KCk7IH07IH07CisJCTYyNThBMUQ4MUIyOENCRDMwMEM1RTEwMCAvKiBERkdPYmplY3RBbGxvY2F0
aW9uRWxpbWluYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2MjU4QTFENjFCMjhDQkQzMDBDNUUxMDAgLyogREZHT2JqZWN0QWxsb2Nh
dGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwICovOyB9OworCQk2MjU4QTFEOTFCMjhDQkQzMDBDNUUx
MDAgLyogREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNThBMUQ3MUIyOENCRDMwMEM1RTEw
MCAvKiBERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5oICovOyB9OwogCQk2MkQy
RDM4RjFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MkQyRDM4RDFBREYxMDNGMDAwMjA2
QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5jcHAgKi87IH07CiAJCTYyRDJEMzkwMUFERjEwM0YwMDAy
MDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2MkQyRDM4RTFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJl
RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTYyRjJBQTM3MUIwQkVERTMwMDYxMEM3QSAvKiBERkdMYXp5Tm9kZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MkE5QTI5RTFCMEJFRDQ4MDBCRDU0
Q0EgLyogREZHTGF6eU5vZGUuY3BwICovOyB9OwpAQCAtMjY4MCw2ICsyNjgyLDggQEAKIAkJNURB
RkQ2Q0IxNDZCNjg2MzAwRkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBKU0Mu
eGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVERERGNDQ2MTRGRUU3MjIw
MEI0RkI0RCAvKiBMTEludERlc2lyZWRPZmZzZXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IExMSW50RGVzaXJlZE9mZnNldHMuaDsgcGF0aCA9IExMSW50T2Zmc2V0cy9MTElu
dERlc2lyZWRPZmZzZXRzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTVERTNEMEY0MEREOERERkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QXZhaWxhYmlsaXR5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyNThBMUQ2MUIyOENCRDMwMEM1RTEwMCAvKiBERkdPYmpl
Y3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5jcHA7IHBh
dGggPSBkZmcvREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2MjU4QTFENzFCMjhDQkQzMDBDNUUxMDAgLyogREZHT2Jq
ZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRm
Zy9ERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2MkE5QTI5RTFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6eU5vZGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTGF6eU5vZGUuY3BwOyBw
YXRoID0gZGZnL0RGR0xhenlOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjJBOUEyOUYxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xhenlOb2RlLmg7IHBhdGggPSBkZmcvREZHTGF6eU5vZGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjJEMkQzOEQxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRnVuY3Rpb25SYXJlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC01MDMyLDYgKzUwMzYsOCBAQAogCQkJCTBGQTU4MUI4MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdO
b2RlRmxhZ3MuaCAqLywKIAkJCQkwRjMwMEI3NzE4QUIwNTExMDBBNkQ3MkUgLyogREZHTm9kZU9y
aWdpbi5oICovLAogCQkJCTBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5o
ICovLAorCQkJCTYyNThBMUQ2MUIyOENCRDMwMEM1RTEwMCAvKiBERkdPYmplY3RBbGxvY2F0aW9u
RWxpbWluYXRpb25QaGFzZS5jcHAgKi8sCisJCQkJNjI1OEExRDcxQjI4Q0JEMzAwQzVFMTAwIC8q
IERGR09iamVjdEFsbG9jYXRpb25FbGltaW5hdGlvblBoYXNlLmggKi8sCiAJCQkJMEYyQjlDREEx
OUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwICov
LAogCQkJCTBGMkI5Q0RCMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdPYmplY3RBbGxvY2F0aW9uU2lu
a2luZ1BoYXNlLmggKi8sCiAJCQkJMEYyQjlDREMxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEuY3BwICovLApAQCAtNjI0MSw2ICs2MjQ3LDcgQEAKIAkJCQkw
RkUwNTAyRDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjJCNjcwMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OENsYW1wZWRBcnJheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODZFM0M2MTIxNjdCQUJENzAwNkQ3NjBBIC8qIEpTVmFsdWUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTYyNThBMUQ5MUIyOENCRDMwMEM1RTEwMCAvKiBERkdPYmplY3RBbGxv
Y2F0aW9uRWxpbWluYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZFM0M2MUIxNjdC
QUJFRTAwNkQ3NjBBIC8qIEpTVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
OEM0MkMwRTE2RjVDRDAwQjM0NDYwIC8qIEpTVmFsdWVSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDJEMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmggaW4gSGVh
ZGVycyAqLywKQEAgLTc1MDAsNiArNzUwNyw3IEBACiAJCQkJMTQ0NjlERTQxMDdFQzdFNzAwNjUw
NDQ2IC8qIE51bWJlclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkYzRUVCRTE2
OENERTkzMDA3N0I5MkEgLyogT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQkxNDQ2OURFNTEwN0VDN0U3MDA2NTA0NDYgLyogT2JqZWN0Q29uc3RydWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNjI1OEExRDgxQjI4Q0JEMzAwQzVFMTAwIC8qIERGR09iamVjdEFs
bG9jYXRpb25FbGltaW5hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDY5REU2
MTA3RUM3RTcwMDY1MDQ0NiAvKiBPYmplY3RQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTEyNEE4RjgwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTk2OUEwNzlBMEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlO
b2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCmluZGV4
IDk1NGVkOTg1NWQ1ZWUyYTUzNjJhOWMxN2I3YTU3MzE0YjJhMjU0NjkuLmM4ZDA5NDBlNzdmM2Zk
YjkxMWJhYTQ0ZGI1YzRkZWUyMDg1OTEyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGF6eU5vZGUuY3BwCkBAIC0zOCw4ICszOCw3IEBAIHZvaWQgTGF6eU5vZGU6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKICAgICAgICAgaWYgKGlzTm9kZSgpKQogICAgICAgICAgICAg
b3V0LnByaW50KCJMYXp5Tm9kZTpAIiwgYXNOb2RlKCktPmluZGV4KCkpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIkxhenlOb2RlOkZyb3plblZhbHVlOiIsIEdyYXBoOjpv
cE5hbWUob3AoKSksICIsICIsIHBvaW50ZXJEdW1wKGFzVmFsdWUoKSkpOwotICAgICAgICBvdXQu
cHJpbnQoIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWUo
IiwgR3JhcGg6Om9wTmFtZShvcCgpKSwgIiwgIiwgcG9pbnRlckR1bXAoYXNWYWx1ZSgpKSwgIiki
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzEzYjdmN2RkNjVjYTk0ODA1Nzc2MmQ0NzZhM2E3ZWE1OGY5YmQ0NwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1p
bmF0aW9uUGhhc2UuY3BwCkBAIC0wLDAgKzEsMTMyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJE
RkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5oIgorCisjaWYgRU5BQkxFKERGR19K
SVQpCisKKyNpbmNsdWRlICJERkdCbG9ja01hcElubGluZXMuaCIKKyNpbmNsdWRlICJERkdHcmFw
aC5oIgorI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgorI2luY2x1ZGUgIkRGR1BoYXNlLmgi
CisjaW5jbHVkZSAiREZHUGhpQ2hpbGRyZW4uaCIKKyNpbmNsdWRlICJERkdQcm9tb3RlSGVhcEFj
Y2Vzcy5oIgorI2luY2x1ZGUgIkRGR1NTQUNhbGN1bGF0b3IuaCIKKyNpbmNsdWRlICJERkdWYWxp
ZGF0ZS5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBERkcgeworCitzdGF0aWMgYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKK2NsYXNzIEFic3Ry
YWN0TG9jYWxIZWFwOworCitjbGFzcyBBYnN0cmFjdFBvaW50ZXIgeworcHVibGljOgorICAgIEFi
c3RyYWN0UG9pbnRlcigpCisgICAgeworICAgIH0KKworICAgIGV4cGxpY2l0IEFic3RyYWN0UG9p
bnRlcihOb2RlKiBub2RlKQorICAgICAgICA6IG1fYWxpYXNlcyB7IG5vZGUgfQorICAgIHsKKyAg
ICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IEFic3RyYWN0UG9pbnRlciYgb3RoZXIpCisgICAg
eworICAgICAgICBtX3RvcCB8PSBvdGhlci5tX3RvcDsKKyAgICAgICAgbV9hbGlhc2VzLmFkZChv
dGhlci5tX2FsaWFzZXMuYmVnaW4oKSwgb3RoZXIubV9hbGlhc2VzLmVuZCgpKTsKKyAgICB9CisK
KyAgICBOb2RlKiBvbmx5QWxpYXMoY29uc3QgQWJzdHJhY3RMb2NhbEhlYXAmKSBjb25zdDsKKwor
ICAgIHZvaWQgZXNjYXBlKEFic3RyYWN0TG9jYWxIZWFwJik7CisKKyAgICBib29sIGlzVmFsaWQo
Y29uc3QgQWJzdHJhY3RMb2NhbEhlYXAmKSBjb25zdDsKKworICAgIGJvb2wgb3BlcmF0b3I9PShj
b25zdCBBYnN0cmFjdFBvaW50ZXImIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fdG9wID09IG90aGVyLm1fdG9wICYmIG1fYWxpYXNlcyA9PSBvdGhlci5tX2FsaWFzZXM7Cisg
ICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFic3RyYWN0UG9pbnRlciYgb3RoZXIp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQor
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICB2b2lkIGZvckFsbEFsaWFzZXMo
Y29uc3QgRnVuY3RvciYgY2FsbGJhY2spCisgICAgeworICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
OiBtX2FsaWFzZXMpCisgICAgICAgICAgICBjYWxsYmFjayhub2RlKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgIHZvaWQgZm9yQWxsQWxpYXNlcyhjb25zdCBG
dW5jdG9yJiBjYWxsYmFjaykgY29uc3QKKyAgICB7CisgICAgICAgIGZvciAoTm9kZSogbm9kZSA6
IG1fYWxpYXNlcykKKyAgICAgICAgICAgIGNhbGxiYWNrKG5vZGUpOworICAgIH0KKworICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAgb3V0LnByaW50
KGxpc3REdW1wKG1fYWxpYXNlcywgIiwgIikpOworICAgICAgICBpZiAobV90b3ApCisgICAgICAg
ICAgICBvdXQucHJpbnQobV9hbGlhc2VzLmlzRW1wdHkoKSA/ICIiIDogIiwgIiwgIjxoZWFwPiIp
OworICAgIH0KKworICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGFyZSBvbmx5IGtlZXBpbmcg
dHJhY2sgb2YgdW5lc2NhcGVkIGxvY2FsCisgICAgLy8gYWxsb2NhdGlvbnMgZm9yIHRoZSBjdXJy
ZW50IGhlYXAuIFBydW5pbmcgaXMgbmVlZGVkIGF0IHRoZSBoZWFkCisgICAgLy8gb2YgYmxvY2tz
IHNvIHRoYXQgd2UgZG9uJ3QgY29uZnVzZSBhbiBhbGxvY2F0aW9uIGluIGEgbG9vcCB3aXRoCisg
ICAgLy8gYSBwcmV2aW91cyB2ZXJzaW9uIG9mIGl0c2VsZi4KKyAgICAvLyBUZWNobmljYWxseSwg
d2Ugb25seSBuZWVkIHRvIHBydW5lIGF0IHRoZSBoZWFkIG9mIGJsb2NrcyB0aGF0CisgICAgLy8g
aGF2ZSBpbmNvbWluZyBiYWNrd2FyZHMgZWRnZXMsIGFuZCB3ZSBjb3VsZCBhdm9pZCBwcnVuaW5n
CisgICAgLy8gZW50aXJlbHkgYnkgaGF2aW5nIHJldmVyc2UgcG9pbnRlcnMgZnJvbSB0aGUgYWxs
b2NhdGlvbnMgdG8gdGhlCisgICAgLy8gcG9pbnRlcnMgdGhhdCBjYW4gcG9pbnQgdG8gaXQsIGFu
ZCBwZXJmb3JtaW5nIHRoZSByZW1vdmFsIGF0CisgICAgLy8gdGhlIG1vbWVudCB3ZSBlc2NhcGUu
CisgICAgLy8gSWYgd2UgZGlkIHRoaXMsIHdlIGNvdWxkIGNoZWNrIHRoYXQgYWxsIHRoZSBhbGlh
c2VzIGFyZQorICAgIC8vIHVuZXNjYXBlZCBhbGxvY2F0aW9ucyAoaW5zdGVhZCBvZiBtZXJlbHkg
YWxsb2NhdGlvbnMpIGluCisgICAgLy8gaXNWYWxpZCgpLgorICAgIHZvaWQgcHJ1bmUoQWJzdHJh
Y3RMb2NhbEhlYXAmKTsKKworICAgIHN0YXRpYyBBYnN0cmFjdFBvaW50ZXIgdG9wKCkKKyAgICB7
CisgICAgICAgIHJldHVybiBBYnN0cmFjdFBvaW50ZXIodHJ1ZSk7CisgICAgfQorCitwcml2YXRl
OgorICAgIEFic3RyYWN0UG9pbnRlcihib29sIHRvcCkKKyAgICAgICAgOiBtX3RvcCh0b3ApCisg
ICAgeworICAgIH0KKworICAgIC8vIFRoZXNlIGFyZSB0aGUgbG9jYWwgYWxsb2NhdGlvbnMgdGhp
cyBjYW4gcG9pbnQgdG8uCisgICAgLy8gRXhjZXB0IGF0IHRoZSBoZWFkIG9mIGEgYmxvY2ssIGl0
IG1heSBjb250YWluIGVzY2FwZWQgbG9jYWwKKyAgICAvLyBhbGxvY2F0aW9ucy4KKyAgICBIYXNo
U2V0PE5vZGUqPiBtX2FsaWFzZXM7CisgICAgLy8gVGhpcyB0ZWxscyB1cyB3aGV0aGVyIHRoZSBw
b2ludGVyIGNhbiBwb2ludCB0byBzb21ldGhpbmcgb3RoZXIKKyAgICAvLyB0aGFuIGFuIHVuZXNj
YXBlZCBsb2NhbCBhbGxvY2F0aW9uCisgICAgYm9vbCBtX3RvcCA9IGZhbHNlOworfTsKKworY2xh
c3MgQWJzdHJhY3RMb2NhbEFsbG9jYXRpb24geworcHVibGljOgorICAgIEFic3RyYWN0TG9jYWxB
bGxvY2F0aW9uKCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBtZXJnZUluSGVhcChjb25zdCBB
YnN0cmFjdExvY2FsQWxsb2NhdGlvbiYgb3RoZXIsIEFic3RyYWN0TG9jYWxIZWFwJiBoZWFwKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fZXNjYXBlZCkgeworICAgICAgICAgICAgZm9yIChhdXRvIHBh
aXIgOiBvdGhlci5tX2ZpZWxkcykKKyAgICAgICAgICAgICAgICBwYWlyLnZhbHVlLmVzY2FwZSho
ZWFwKTsKKyAgICAgICAgfSBlbHNlIGlmIChvdGhlci5tX2VzY2FwZWQpCisgICAgICAgICAgICBl
c2NhcGUoaGVhcCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIg
OiBvdGhlci5tX2ZpZWxkcykKKyAgICAgICAgICAgICAgICBtX2ZpZWxkcy5hZGQocGFpci5rZXks
IEFic3RyYWN0UG9pbnRlcigpKS5pdGVyYXRvci0+dmFsdWUubWVyZ2UocGFpci52YWx1ZSk7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHBydW5lKEFic3RyYWN0TG9jYWxIZWFwJiBoZWFw
KQorICAgIHsKKyAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9maWVsZHMpCisgICAgICAgICAg
ICBwYWlyLnZhbHVlLnBydW5lKGhlYXApOworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKEFic3Ry
YWN0TG9jYWxIZWFwJiBoZWFwKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXNjYXBlZCkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBtX2VzY2FwZWQgPSB0cnVlOworICAgICAgICBmb3Ig
KGF1dG8gcGFpciA6IG1fZmllbGRzKQorICAgICAgICAgICAgcGFpci52YWx1ZS5lc2NhcGUoaGVh
cCk7CisgICAgICAgIG1fZmllbGRzLmNsZWFyKCk7CisgICAgICAgIG1fc3RydWN0dXJlcy5jbGVh
cigpOworICAgIH0KKworICAgIGJvb2wgZXNjYXBlZCgpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9lc2NhcGVkOworICAgIH0KKworICAgIGJvb2wgaXNWYWxpZChjb25zdCBBYnN0cmFj
dExvY2FsSGVhcCYgaGVhcCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX2VzY2FwZWQpCisg
ICAgICAgICAgICByZXR1cm4gbV9maWVsZHMuaXNFbXB0eSgpICYmIG1fc3RydWN0dXJlcy5pc0Vt
cHR5KCk7CisKKyAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtX2ZpZWxkcykgeworICAgICAgICAg
ICAgaWYgKCFwYWlyLnZhbHVlLmlzVmFsaWQoaGVhcCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBQYXJhbXM+CisgICAgYm9vbCBtdXN0SGF2ZShHcmFwaCYg
Z3JhcGgsIFBhcmFtcy4uLiBwYXJhbXMpCisgICAgeworICAgICAgICByZXR1cm4gbXVzdEhhdmUo
Z3JhcGgsIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKHBhcmFtcy4uLikpOworICAgIH0KKwor
ICAgIGJvb2wgbXVzdEhhdmUoR3JhcGgmIGdyYXBoLCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmtpbmQoKSkg
eworICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICAvLyBOb3Rl
IHRoYXQgdGhpcyByZXR1cm5zIHRydWUgaWYgd2UgaGF2ZSBubyBzdHJ1Y3R1cmVzLgorICAgICAg
ICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IGdyYXBoLmlkZW50aWZpZXJzKClbZGVzY3Jp
cHRvci5pbmZvKCldOworICAgICAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1f
c3RydWN0dXJlcykgeworICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChzdHJ1Y3R1
cmUtPmdldENvbmN1cnJlbnRseSh1aWQpKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
KworICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOgorICAgICAgICAgICAgcmV0dXJuIG1fZmll
bGRzLmNvbnRhaW5zKGRlc2NyaXB0b3IpOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgfQorCisgICAg
dm9pZCBzZXRTdHJ1Y3R1cmVzKGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7
CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlcy5pc0VtcHR5KCkpOworICAgICAgICBtX3N0cnVj
dHVyZXMgPSBzdHJ1Y3R1cmVzOworICAgIH0KKworICAgIHZvaWQgZmlsdGVyU3RydWN0dXJlcyhj
b25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAgeworICAgICAgICBtX3N0cnVjdHVy
ZXMuZmlsdGVyKHN0cnVjdHVyZXMpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9lc2NhcGVkID09IG90aGVyLm1fZXNjYXBlZAorICAgICAgICAgICAgJiYgbV9maWVs
ZHMgPT0gb3RoZXIubV9maWVsZHMKKyAgICAgICAgICAgICYmIG1fc3RydWN0dXJlcyA9PSBvdGhl
ci5tX3N0cnVjdHVyZXM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFic3Ry
YWN0TG9jYWxBbGxvY2F0aW9uJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAh
KCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFBh
cmFtcz4KKyAgICBBYnN0cmFjdFBvaW50ZXIgZ2V0KFBhcmFtcy4uLiBwYXJhbXMpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gZ2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKHBhcmFt
cy4uLikpOworICAgIH0KKworICAgIEFic3RyYWN0UG9pbnRlciBnZXQoUHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3N0
cnVjdHVyZXMuaXNFbXB0eSgpIHx8IG1fZmllbGRzLmNvbnRhaW5zKGRlc2NyaXB0b3IpKTsKKyAg
ICAgICAgcmV0dXJuIG1fZmllbGRzLmdldChkZXNjcmlwdG9yKTsKKyAgICB9CisKKyAgICB2b2lk
IHNldChQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yLCBBYnN0cmFjdFBvaW50
ZXIgcG9pbnRlcikKKyAgICB7CisgICAgICAgIG1fZmllbGRzLnNldChkZXNjcmlwdG9yLCBwb2lu
dGVyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgIHZvaWQg
Zm9yQWxsRmllbGRzKGNvbnN0IEZ1bmN0b3ImIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZm9y
IChhdXRvJiBwYWlyIDogbV9maWVsZHMpCisgICAgICAgICAgICBjYWxsYmFjayhwYWlyLmtleSwg
cGFpci52YWx1ZSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAg
ICB2b2lkIGZvckFsbEZpZWxkcyhjb25zdCBGdW5jdG9yJiBjYWxsYmFjaykgY29uc3QKKyAgICB7
CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1fZmllbGRzKQorICAgICAgICAgICAg
Y2FsbGJhY2socGFpci5rZXksIHBhaXIudmFsdWUpOworICAgIH0KKworICAgIHZvaWQgZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fZXNjYXBlZCkKKyAg
ICAgICAgICAgIG91dC5wcmludCgiZXNjYXBlZCIpOworICAgICAgICBvdXQucHJpbnQoIlxuICAg
ICAgIiwgbWFwRHVtcChtX2ZpZWxkcywgIiA9PiAiLCAiXG4gICAgICAiKSwgIlxuIik7CisgICAg
fQorCitwcml2YXRlOgorICAgIGJvb2wgbV9lc2NhcGVkID0gZmFsc2U7CisgICAgSGFzaE1hcDxQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgQWJzdHJhY3RQb2ludGVyPiBtX2ZpZWxkczsKKyAg
ICBTdHJ1Y3R1cmVTZXQgbV9zdHJ1Y3R1cmVzOworfTsKKworY2xhc3MgQWJzdHJhY3RMb2NhbEhl
YXAgeworcHVibGljOgorICAgIEFic3RyYWN0TG9jYWxBbGxvY2F0aW9uJiBuZXdBbGxvY2F0aW9u
KE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdGlvbnMuY29udGFp
bnMobm9kZSkpOworICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9ucy5hZGQobm9kZSwgQWJzdHJh
Y3RMb2NhbEFsbG9jYXRpb24oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgIH0KKworICAgIHZvaWQg
bWVyZ2VBbGxvY2F0aW9uKE5vZGUqIG5vZGUsIGNvbnN0IEFic3RyYWN0TG9jYWxBbGxvY2F0aW9u
JiBhbGxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgbV9hbGxvY2F0aW9ucy5hZGQoCisgICAgICAg
ICAgICBub2RlLCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbigpKS5pdGVyYXRvci0+dmFsdWUubWVy
Z2VJbkhlYXAoYWxsb2NhdGlvbiwgKnRoaXMpOworICAgIH0KKworICAgIGJvb2wgaXNBbGxvY2F0
aW9uKE5vZGUqIG5vZGUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9u
cy5jb250YWlucyhub2RlKTsKKyAgICB9CisKKyAgICBBYnN0cmFjdFBvaW50ZXImIHBvaW50ZXIo
Tm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FsaWFzZXMuYWRkKG5vZGUsIEFi
c3RyYWN0UG9pbnRlcigpKS5pdGVyYXRvci0+dmFsdWU7CisgICAgfQorCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICB2b2lkIGZvckFsbEFsbG9jYXRpb25zKGNvbnN0IEZ1bmN0
b3ImIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9hbGxvY2F0
aW9ucykKKyAgICAgICAgICAgIGNhbGxiYWNrKHBhaXIua2V5LCBwYWlyLnZhbHVlKTsKKyAgICB9
CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgIHZvaWQgZm9yQWxsQWxsb2Nh
dGlvbnMoY29uc3QgRnVuY3RvciYgY2FsbGJhY2spIGNvbnN0CisgICAgeworICAgICAgICBmb3Ig
KGNvbnN0IGF1dG8mIHBhaXIgOiBtX2FsbG9jYXRpb25zKQorICAgICAgICAgICAgY2FsbGJhY2so
cGFpci5rZXksIHBhaXIudmFsdWUpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1
bmN0b3I+CisgICAgdm9pZCBmb3JBbGxBbGlhc2VzKGNvbnN0IEZ1bmN0b3ImIGNhbGxiYWNrKQor
ICAgIHsKKyAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9hbGlhc2VzKQorICAgICAgICAgICAg
Y2FsbGJhY2socGFpci5rZXksIHBhaXIudmFsdWUpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEZ1bmN0b3I+CisgICAgdm9pZCBmb3JBbGxBbGlhc2VzKGNvbnN0IEZ1bmN0b3ImIGNh
bGxiYWNrKSBjb25zdAorICAgIHsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9h
bGlhc2VzKQorICAgICAgICAgICAgY2FsbGJhY2socGFpci5rZXksIHBhaXIudmFsdWUpOworICAg
IH0KKworICAgIFdURjo6S2V5VmFsdWVQYWlyPE5vZGUqLCBjb25zdCBBYnN0cmFjdExvY2FsQWxs
b2NhdGlvbio+IG9ubHlBbGxvY2F0aW9uKE5vZGUqIG5vZGUpIGNvbnN0CisgICAgeworICAgICAg
ICB7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX2FsbG9jYXRpb25zLmZpbmQobm9kZSk7Cisg
ICAgICAgICAgICBpZiAoaXRlciAhPSBtX2FsbG9jYXRpb25zLmVuZCgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiB7IG5vZGUsICZpdGVyLT52YWx1ZSB9OworICAgICAgICB9CisgICAgICAgIHsK
KyAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fYWxpYXNlcy5maW5kKG5vZGUpOworICAgICAgICAg
ICAgaWYgKGl0ZXIgPT0gbV9hbGlhc2VzLmVuZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiB7
IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICAgICAgICAgIE5vZGUqIGFsaWFzID0gaXRlci0+dmFs
dWUub25seUFsaWFzKCp0aGlzKTsKKyAgICAgICAgICAgIGlmICghYWxpYXMpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHsgbnVsbHB0ciwgbnVsbHB0ciB9OworICAgICAgICAgICAgQVNTRVJUKG1f
YWxsb2NhdGlvbnMuY29udGFpbnMoYWxpYXMpKTsKKyAgICAgICAgICAgIHJldHVybiB7IGFsaWFz
LCAmbV9hbGxvY2F0aW9ucy5maW5kKGFsaWFzKS0+dmFsdWUgfTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIFdURjo6S2V5VmFsdWVQYWlyPE5vZGUqLCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbio+
IG9ubHlBbGxvY2F0aW9uKE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICB7CisgICAgICAgICAg
ICBhdXRvIGl0ZXIgPSBtX2FsbG9jYXRpb25zLmZpbmQobm9kZSk7CisgICAgICAgICAgICBpZiAo
aXRlciAhPSBtX2FsbG9jYXRpb25zLmVuZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IG5v
ZGUsICZpdGVyLT52YWx1ZSB9OworICAgICAgICB9CisgICAgICAgIHsKKyAgICAgICAgICAgIGF1
dG8gaXRlciA9IG1fYWxpYXNlcy5maW5kKG5vZGUpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
bV9hbGlhc2VzLmVuZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxw
dHIgfTsKKyAgICAgICAgICAgIE5vZGUqIGFsaWFzID0gaXRlci0+dmFsdWUub25seUFsaWFzKCp0
aGlzKTsKKyAgICAgICAgICAgIGlmICghYWxpYXMpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsg
bnVsbHB0ciwgbnVsbHB0ciB9OworICAgICAgICAgICAgQVNTRVJUKG1fYWxsb2NhdGlvbnMuY29u
dGFpbnMoYWxpYXMpKTsKKyAgICAgICAgICAgIHJldHVybiB7IGFsaWFzLCAmbV9hbGxvY2F0aW9u
cy5maW5kKGFsaWFzKS0+dmFsdWUgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIFdURjo6S2V5
VmFsdWVQYWlyPE5vZGUqLCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbio+IG9ubHlMb2NhbEFsbG9j
YXRpb24oTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIFdURjo6S2V5VmFsdWVQYWlyPE5vZGUq
LCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbio+IHJlc3VsdCA9IG9ubHlBbGxvY2F0aW9uKG5vZGUp
OworICAgICAgICBpZiAocmVzdWx0LnZhbHVlICYmICFyZXN1bHQudmFsdWUtPmVzY2FwZWQoKSkK
KyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51
bGxwdHIgfTsKKyAgICB9CisKKyAgICBBYnN0cmFjdFBvaW50ZXIgZm9sbG93KE5vZGUqIG5vZGUp
IGNvbnN0CisgICAgeworICAgICAgICB7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX2FsbG9j
YXRpb25zLmZpbmQobm9kZSk7CisgICAgICAgICAgICBpZiAoaXRlciAhPSBtX2FsbG9jYXRpb25z
LmVuZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBpdGVyLT52YWx1ZS5lc2NhcGVkKCkgPyBB
YnN0cmFjdFBvaW50ZXI6OnRvcCgpIDogQWJzdHJhY3RQb2ludGVyKG5vZGUpOworICAgICAgICB9
CisgICAgICAgIHsKKyAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fYWxpYXNlcy5maW5kKG5vZGUp
OworICAgICAgICAgICAgcmV0dXJuIGl0ZXIgPT0gbV9hbGlhc2VzLmVuZCgpID8gQWJzdHJhY3RQ
b2ludGVyOjp0b3AoKSA6IGl0ZXItPnZhbHVlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9p
ZCBlc2NhcGUoTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIHsKKyAgICAgICAgICAgIGF1dG8g
aXRlciA9IG1fYWxsb2NhdGlvbnMuZmluZChub2RlKTsKKyAgICAgICAgICAgIGlmIChpdGVyICE9
IG1fYWxsb2NhdGlvbnMuZW5kKCkpCisgICAgICAgICAgICAgICAgaXRlci0+dmFsdWUuZXNjYXBl
KCp0aGlzKTsKKyAgICAgICAgfQorICAgICAgICB7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBt
X2FsaWFzZXMuZmluZChub2RlKTsKKyAgICAgICAgICAgIGlmIChpdGVyICE9IG1fYWxpYXNlcy5l
bmQoKSkKKyAgICAgICAgICAgICAgICBpdGVyLT52YWx1ZS5lc2NhcGUoKnRoaXMpOworICAgICAg
ICB9CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFic3RyYWN0TG9jYWxIZWFw
JiBvdGhlcikKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25zID09IG90aGVyLm1f
YWxsb2NhdGlvbnMKKyAgICAgICAgICAgICYmIG1fYWxpYXNlcyA9PSBvdGhlci5tX2FsaWFzZXM7
CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFic3RyYWN0TG9jYWxIZWFwJiBv
dGhlcikKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisK
KyAgICBib29sIGlzVmFsaWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgZm9yIChhdXRvIHBhaXIg
OiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICBpZiAoIXBhaXIudmFsdWUuaXNWYWxpZCgq
dGhpcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAg
ICAgZm9yIChhdXRvIHBhaXIgOiBtX2FsaWFzZXMpIHsKKyAgICAgICAgICAgIGlmICghcGFpci52
YWx1ZS5pc1ZhbGlkKCp0aGlzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHBydW5lKCkK
KyAgICB7CisgICAgICAgIGZvciAoYXV0byYgcGFpciA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAg
ICAgICBwYWlyLnZhbHVlLnBydW5lKCp0aGlzKTsKKyAgICAgICAgZm9yIChhdXRvJiBwYWlyIDog
bV9hbGlhc2VzKQorICAgICAgICAgICAgcGFpci52YWx1ZS5wcnVuZSgqdGhpcyk7CisgICAgfQor
CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQgPSBXVEY6OmRhdGFGaWxlKCkpIGNvbnN0
CisgICAgeworICAgICAgICBvdXQucHJpbnQoIiAgQWxsb2NhdGlvbnM6XG4gICAgIiwgbWFwRHVt
cChtX2FsbG9jYXRpb25zLCAiID0+ICIsICJcbiAgICAiKSwgIlxuIik7CisgICAgICAgIG91dC5w
cmludCgiICBBbGlhc2VzOlxuICAgICIsIG1hcER1bXAobV9hbGlhc2VzLCAiID0+ICIsICJcbiAg
ICAiKSwgIlxuIik7CisgICAgfQorCitwcml2YXRlOgorICAgIEhhc2hNYXA8Tm9kZSosIEFic3Ry
YWN0TG9jYWxBbGxvY2F0aW9uPiBtX2FsbG9jYXRpb25zOworICAgIEhhc2hNYXA8Tm9kZSosIEFi
c3RyYWN0UG9pbnRlcj4gbV9hbGlhc2VzOworfTsKKworTm9kZSogQWJzdHJhY3RQb2ludGVyOjpv
bmx5QWxpYXMoY29uc3QgQWJzdHJhY3RMb2NhbEhlYXAmIGhlYXApIGNvbnN0Cit7CisgICAgaWYg
KG1fdG9wIHx8IG1fYWxpYXNlcy5zaXplKCkgIT0gMSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICBOb2RlKiBhbGlhcyA9ICptX2FsaWFzZXMuYmVnaW4oKTsKKyAgICBBU1NFUlQoaGVh
cC5pc0FsbG9jYXRpb24oYWxpYXMpKTsKKyAgICBpZiAoaGVhcC5vbmx5QWxsb2NhdGlvbihhbGlh
cykudmFsdWUtPmVzY2FwZWQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJu
IGFsaWFzOworfQorCit2b2lkIEFic3RyYWN0UG9pbnRlcjo6ZXNjYXBlKEFic3RyYWN0TG9jYWxI
ZWFwJiBoZWFwKQoreworICAgIGZvciAoTm9kZSogYWxpYXMgOiBtX2FsaWFzZXMpCisgICAgICAg
IGhlYXAub25seUFsbG9jYXRpb24oYWxpYXMpLnZhbHVlLT5lc2NhcGUoaGVhcCk7CisgICAgaWYg
KG1fYWxpYXNlcy5zaXplKCkgPiAwKQorICAgICAgICBtX3RvcCA9IHRydWU7CisgICAgbV9hbGlh
c2VzLmNsZWFyKCk7Cit9CisKK2Jvb2wgQWJzdHJhY3RQb2ludGVyOjppc1ZhbGlkKGNvbnN0IEFi
c3RyYWN0TG9jYWxIZWFwJiBoZWFwKSBjb25zdAoreworICAgIGZvciAoTm9kZSogbm9kZSA6IG1f
YWxpYXNlcykgeworICAgICAgICBpZiAoIWhlYXAuaXNBbGxvY2F0aW9uKG5vZGUpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lk
IEFic3RyYWN0UG9pbnRlcjo6cHJ1bmUoQWJzdHJhY3RMb2NhbEhlYXAmIGhlYXApCit7CisgICAg
VmVjdG9yPE5vZGUqPiB0b1JlbW92ZTsKKyAgICBmb3IgKE5vZGUqIG5vZGUgOiBtX2FsaWFzZXMp
IHsKKyAgICAgICAgQWJzdHJhY3RMb2NhbEFsbG9jYXRpb24qIGFsbG9jYXRpb24gPSBoZWFwLm9u
bHlBbGxvY2F0aW9uKG5vZGUpLnZhbHVlOworICAgICAgICBpZiAoIWFsbG9jYXRpb24gfHwgYWxs
b2NhdGlvbi0+ZXNjYXBlZCgpKQorICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKG5vZGUpOwor
ICAgIH0KKyAgICBmb3IgKE5vZGUqIG5vZGUgOiB0b1JlbW92ZSkKKyAgICAgICAgbV9hbGlhc2Vz
LnJlbW92ZShub2RlKTsKKyAgICBpZiAodG9SZW1vdmUuc2l6ZSgpID4gMCkKKyAgICAgICAgbV90
b3AgPSB0cnVlOworICAgIEFTU0VSVChpc1ZhbGlkKGhlYXApKTsKK30KKworc3RhdGljIGJvb2wg
aXNBbGxvY2F0aW9uKE5vZGUqIG5vZGUpCit7CisgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7Cisg
ICAgY2FzZSBOZXdPYmplY3Q6CisgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICBjYXNlIE1hdGVy
aWFsaXplTmV3T2JqZWN0OgorICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE1h
dGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitjbGFzcyBPYmplY3RB
bGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CitwdWJsaWM6CisgICAg
T2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAgICA6
IFBoYXNlKGdyYXBoLCAib2JqZWN0IGFsbG9jYXRpb24gZWxpbWluYXRpb24iKQorICAgICAgICAs
IG1fc3NhQ2FsY3VsYXRvcihncmFwaCkKKyAgICAgICAgLCBtX2luc2VydGlvblNldChncmFwaCkK
KyAgICB7CisgICAgfQorCisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
Z3JhcGgubV9mb3JtID09IFNTQSk7CisgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZml4cG9pbnRT
dGF0ZSA9PSBGaXhwb2ludE5vdENvbnZlcmdlZCk7CisKKyAgICAgICAgaWYgKCFwZXJmb3JtU2lu
a2luZygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlIChwZXJm
b3JtU2lua2luZygpKSB7IH0KKworICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAg
ZGF0YUxvZygiR3JhcGggYWZ0ZXIgc2lua2luZzpcbiIpOworICAgICAgICAgICAgbV9ncmFwaC5k
dW1wKCk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKK3ByaXZh
dGU6CisgICAgYm9vbCBwZXJmb3JtU2lua2luZygpCisgICAgeworICAgICAgICBtX2dyYXBoLmNv
bXB1dGVSZWZDb3VudHMoKTsKKyAgICAgICAgbV9ncmFwaC5pbml0aWFsaXplTm9kZU93bmVycygp
OworICAgICAgICBtX3BoaUNoaWxkcmVuID0gUGhpQ2hpbGRyZW4obV9ncmFwaCk7CisKKyAgICAg
ICAgQ1N0cmluZyBncmFwaEJlZm9yZVNpbmtpbmc7CisgICAgICAgIGlmIChPcHRpb25zOjp2ZXJi
b3NlVmFsaWRhdGlvbkZhaWx1cmUoKSAmJiBPcHRpb25zOjp2YWxpZGF0ZUdyYXBoQXRFYWNoUGhh
c2UoKSkgeworICAgICAgICAgICAgU3RyaW5nUHJpbnRTdHJlYW0gb3V0OworICAgICAgICAgICAg
bV9ncmFwaC5kdW1wKG91dCk7CisgICAgICAgICAgICBncmFwaEJlZm9yZVNpbmtpbmcgPSBvdXQu
dG9DU3RyaW5nKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAg
ICAgICAgZGF0YUxvZygiR3JhcGggYmVmb3JlIHNpbmtpbmc6XG4iKTsKKyAgICAgICAgICAgIG1f
Z3JhcGguZHVtcCgpOworICAgICAgICB9CisKKyAgICAgICAgcGVyZm9ybUFuYWx5c2lzKCk7Cisg
ICAgICAgIGRldGVybWluZUVsaW1pbmF0aW9uQ2FuZGlkYXRlcygpOworCisgICAgICAgIGlmICht
X2VsaW1pbmF0aW9uQ2FuZGlkYXRlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgbG93ZXJOb25SZWFkaW5nT3BlcmF0aW9uc09uUGhhbnRvbUFsbG9jYXRp
b25zKCk7CisgICAgICAgIHByb21vdGVTdW5rZW5GaWVsZHMoKTsKKworICAgICAgICBpZiAoT3B0
aW9uczo6dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkpCisgICAgICAgICAgICB2YWxpZGF0ZSht
X2dyYXBoLCBEdW1wR3JhcGgsIGdyYXBoQmVmb3JlU2lua2luZyk7CisKKyAgICAgICAgaWYgKHZl
cmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCJTaW5raW5nIGl0ZXJhdGlvbiBjaGFuZ2VkIHRo
ZSBncmFwaC5cbiIpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHBl
cmZvcm1BbmFseXNpcygpCisgICAgeworICAgICAgICAvLyBUaGUgcHJlbWlzZSBvZiB0aGlzIHBh
c3MgaXMgdGhhdCBpZiB0aGVyZSBleGlzdHMgYSBwb2ludCBpbiB0aGUgcHJvZ3JhbSB3aGVyZSBz
b21lCisgICAgICAgIC8vIHBhdGggZnJvbSBhIHBoYW50b20gYWxsb2NhdGlvbiBzaXRlIHRvIHRo
YXQgcG9pbnQgY2F1c2VzIG1hdGVyaWFsaXphdGlvbiwgdGhlbiAqYWxsKgorICAgICAgICAvLyBw
YXRocyBjYXVzZSBtYXRlcmlhbGl6YXRpb24uIFRoaXMgc2hvdWxkIG1lYW4gdGhhdCB0aGVyZSBh
cmUgbmV2ZXIgYW55IHJlZHVuZGFudAorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb25zLgorCisg
ICAgICAgIG1faGVhcEF0SGVhZCA9IEJsb2NrTWFwPEFic3RyYWN0TG9jYWxIZWFwPihtX2dyYXBo
KTsKKyAgICAgICAgbV9oZWFwQXRUYWlsID0gQmxvY2tNYXA8QWJzdHJhY3RMb2NhbEhlYXA+KG1f
Z3JhcGgpOworCisgICAgICAgIGJvb2wgY2hhbmdlZDsKKyAgICAgICAgZG8geworICAgICAgICAg
ICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiRG9pbmcgaXRlcmF0aW9u
IG9mIGVzY2FwZSBhbmFseXNpcy5cbiIpOworICAgICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwor
CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblBy
ZU9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxvY2td
OworCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKQorICAgICAgICAg
ICAgICAgICAgICBleGVjdXRlTm9kZShub2RlKTsKKworICAgICAgICAgICAgICAgIGVuZEJsb2Nr
KGJsb2NrKTsKKworICAgICAgICAgICAgICAgIGlmIChtX2hlYXAgPT0gbV9oZWFwQXRUYWlsW2Js
b2NrXSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBt
X2hlYXBBdFRhaWxbYmxvY2tdID0gbV9oZWFwOworICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0
cnVlOworCisgICAgICAgICAgICAgICAgQVNTRVJUKG1faGVhcEF0VGFpbFtibG9ja10uaXNWYWxp
ZCgpKTsKKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgZG9pbmcgbGl2
ZW5lc3MgcHJ1bmluZyBzbyB0aGF0CisgICAgICAgICAgICAgICAgLy8gd2Ugb25seSBwcm9wYWdh
dGUgdGhpbmdzIHRoYXQgYXJlIGFsaXZlLgorICAgICAgICAgICAgICAgIC8vIEZvciBub3csIHdl
IHVzZSB0aGUgc3RyaWN0LWRvbWluYW5jZSBhcHByb3hpbWF0aW9uLAorICAgICAgICAgICAgICAg
IC8vIGJ1dCB0aGUgY29ycmVjdCB3YXkgb2YgZG9pbmcgdGhpbmdzIGlzIHRvIHByb3BhZ2F0ZQor
ICAgICAgICAgICAgICAgIC8vIG9ubHkgdW5zZXNjYXBlZCB0aGluZ3MgdGhhdCBhcmUgYWxpdmUs
IG9yCisgICAgICAgICAgICAgICAgLy8gKHJlY3Vyc2l2ZWx5KSBzdG9yZWQgaW50byBhIGZpZWxk
IG9mIGFuIGFsaXZlIG5vZGUuCisKKyAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1
Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgICAg
ICBtX2hlYXAuZm9yQWxsQWxsb2NhdGlvbnMoCisgICAgICAgICAgICAgICAgICAgICAgICBbJl0g
KE5vZGUqIG5vZGUsIGNvbnN0IEFic3RyYWN0TG9jYWxBbGxvY2F0aW9uJiBhbGxvY2F0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2dyYXBoLm1fZG9taW5hdG9ycy5z
dHJpY3RseURvbWluYXRlcyhub2RlLT5vd25lciwgc3VjY2Vzc29yQmxvY2spKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXBBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLm1lcmdlQWxsb2NhdGlvbihub2RlLCBh
bGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAuZm9yQWxsQWxpYXNlcygKKyAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAo
Tm9kZSogbm9kZSwgY29uc3QgQWJzdHJhY3RQb2ludGVyJiBwb2ludGVyKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCFtX2dyYXBoLm1fZG9taW5hdG9ycy5zdHJpY3RseURvbWlu
YXRlcyhub2RlLT5vd25lciwgc3VjY2Vzc29yQmxvY2spKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2hlYXBB
dEhlYWRbc3VjY2Vzc29yQmxvY2tdLnBvaW50ZXIobm9kZSkubWVyZ2UocG9pbnRlcik7CisgICAg
ICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwQXRIZWFk
W3N1Y2Nlc3NvckJsb2NrXS5wcnVuZSgpOworCisgICAgICAgICAgICAgICAgICAgIEFTU0VSVCht
X2hlYXBBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmlzVmFsaWQoKSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKworICAgICAgICAv
LyBSZWRpcmVjdCB0aGUgZWRnZXMgc28gdGhhdCBzdWJzZXF1ZW50IHN0ZXBzIGRvbid0IG5lZWQg
dG8KKyAgICAgICAgLy8gcnVuIHRoZSBwb2ludHMtdG8gYW5hbHlzaXMgdG8ga25vdyB3aGljaCBh
bGxvY2F0aW9uIGEgUHV0KgorICAgICAgICAvLyBub2RlIGlzIHdyaXRpbmcgdG8uCisgICAgICAg
IC8vIEZJWE1FOiBUaGlzIGlzIGFsc28gd2hlbiB3ZSBzaG91bGQgYmUgcmVjb3JkaW5nIGVzY2Fw
ZSBwb2ludHMKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tz
SW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiSGVhcCBhdCBoZWFkIG9mICIsICpibG9jaywgIjogXG4iLCBtX2hlYXBB
dEhlYWRbYmxvY2tdKTsKKworICAgICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2Nr
XTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAg
ICAgICAgICAgICAgICAgICBbJl0gKEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChOb2RlKiBhbGxvY2F0aW9uID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24oZWRn
ZS5ub2RlKCkpLmtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGdlLnNldE5vZGUo
YWxsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGV4
ZWN1dGVOb2RlKG5vZGUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJIZWFwIGF0IHRhaWwgb2YgIiwgKmJsb2NrLCAi
OiBcbiIsIG1faGVhcEF0VGFpbFtibG9ja10pOworICAgICAgICB9CisgICAgfQorCisgICAgdm9p
ZCBleGVjdXRlTm9kZShOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1faGVhcC5p
c1ZhbGlkKCkpOworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgY2FzZSBO
ZXdPYmplY3Q6CisgICAgICAgICAgICBtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlKS5zZXRTdHJ1
Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIFN0cnVjdHVyZVNldCBz
dHJ1Y3R1cmVzOworICAgICAgICAgICAgbV9waGlDaGlsZHJlbi5mb3JBbGxUcmFuc2l0aXZlSW5j
b21pbmdWYWx1ZXMoCisgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAw
KS5ub2RlKCksCisgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBzdHJ1Y3R1cmUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNDb25zdGFudCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc3RydWN0dXJlcy5hZGQoc3RydWN0dXJlLT5jYXN0Q29uc3RhbnQ8U3RydWN0
dXJlKj4oKSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBBYnN0cmFjdExvY2Fs
QWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUpOworICAg
ICAgICAgICAgYWxsb2NhdGlvbi5zZXRTdHJ1Y3R1cmVzKHN0cnVjdHVyZXMpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRh
dGEoKS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBhbGxvY2F0
aW9uLnNldCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Io
CisgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRp
ZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwLmZv
bGxvdyhtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2RlKCkpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjogeworICAgICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhl
Y3V0YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAg
ICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gTm8gbmVlZCB0
byBzZXQgdGhlIEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2Mgc2luY2UgaXQgaXMgYSBjb25zdGFudAor
ICAgICAgICAgICAgbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSkuc2V0KEZ1bmN0aW9uQWN0aXZh
dGlvblBMb2MsIG1faGVhcC5mb2xsb3cobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjog
eworICAgICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2lu
Z2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAu
ZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbiYgYWxsb2Nh
dGlvbiA9IG1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUpOworICAgICAgICAgICAgLy8gTm8gbmVl
ZCB0byBzZXQgdGhlIFN5bWJvbFRhYmxlUExvYyBzaW5jZSBpdCBpcyBhIGNvbnN0YW50CisgICAg
ICAgICAgICBhbGxvY2F0aW9uLnNldChBY3RpdmF0aW9uU2NvcGVQTG9jLCBtX2hlYXAuZm9sbG93
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOworICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9IG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxl
Kj4oKTsKKyAgICAgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihzeW1ib2xU
YWJsZS0+bV9sb2NrKTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaXRlciA9IHN5bWJvbFRh
YmxlLT5iZWdpbihsb2NrZXIpLCBlbmQgPSBzeW1ib2xUYWJsZS0+ZW5kKGxvY2tlcik7IGl0ZXIg
IT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5zZXQoCisg
ICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJl
VmFyUExvYywgaXRlci0+dmFsdWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICBBYnN0cmFjdFBvaW50ZXI6OnRvcCgpKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAg
IGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICAvLyBXZSBo
YXZlIHN1bmsgdGhpcyBvbmNlIGFscmVhZHkgLSB0aGVyZSBpcyBubyB3YXkgdGhlCisgICAgICAg
ICAgICAvLyBzeW1ib2wgdGFibGUncyBzaW5nbGV0b24gc2NvcGUgaXMgc3RpbGwgdmFsaWQuCisg
ICAgICAgICAgICBBU1NFUlQoIW5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2lu
Z2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpOworICAgICAgICAgICAgQWJzdHJhY3RMb2Nh
bEFsbG9jYXRpb24mIGFsbG9jYXRpb24gPSBtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlKTsKKyAg
ICAgICAgICAgIC8vIE5vIG5lZWQgdG8gc2V0IHRoZSBTeW1ib2xUYWJsZVBMb2Mgc2luY2UgaXQg
aXMgYQorICAgICAgICAgICAgLy8gY29uc3RhbnQKKyAgICAgICAgICAgIGFsbG9jYXRpb24uc2V0
KEFjdGl2YXRpb25TY29wZVBMb2MsIG1faGVhcC5mb2xsb3cobV9ncmFwaC52YXJBcmdDaGlsZChu
b2RlLCAwKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBu
b2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytp
KSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5zZXQoCisgICAgICAgICAgICAgICAgICAg
IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKAorICAgICAgICAgICAgICAgICAgICAgICAgQ2xv
c3VyZVZhclBMb2MsCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5vYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ldLm1faWRlbnRpZmllck51bWJlciksCisgICAg
ICAgICAgICAgICAgICAgIG1faGVhcC5mb2xsb3cobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBp
ICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorCisgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOiB7CisgICAgICAgICAgICBhdXRvIHBh
aXIgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOwor
ICAgICAgICAgICAgaWYgKHBhaXIua2V5ICYmIHBhaXIua2V5LT5pc09iamVjdEFsbG9jYXRpb24o
KSkKKyAgICAgICAgICAgICAgICBwYWlyLnZhbHVlLT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnRyYW5z
aXRpb24oKS0+bmV4dCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKworICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CisgICAgICAgICAgICBhdXRv
IHBhaXIgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkp
OworICAgICAgICAgICAgaWYgKHBhaXIua2V5ICYmIHBhaXIua2V5LT5pc09iamVjdEFsbG9jYXRp
b24oKSkKKyAgICAgICAgICAgICAgICBwYWlyLnZhbHVlLT5maWx0ZXJTdHJ1Y3R1cmVzKG5vZGUt
PnN0cnVjdHVyZVNldCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CisgICAgICAgIGNhc2UgR2V0R2V0
dGVyU2V0dGVyQnlPZmZzZXQ6IHsKKyAgICAgICAgICAgIGF1dG8gcGFpciA9IG1faGVhcC5vbmx5
TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAo
cGFpci5rZXkgJiYgcGFpci5rZXktPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRh
KCkuaWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICBBU1NFUlQocGFpci52YWx1ZS0+
bXVzdEhhdmUobV9ncmFwaCwgTmFtZWRQcm9wZXJ0eVBMb2MsIGlkZW50aWZpZXJOdW1iZXIpKTsK
KyAgICAgICAgICAgICAgICBtX2hlYXAucG9pbnRlcihub2RlKS5tZXJnZShwYWlyLnZhbHVlLT5n
ZXQoTmFtZWRQcm9wZXJ0eVBMb2MsIGlkZW50aWZpZXJOdW1iZXIpKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2Rl
KCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAg
ICAgY2FzZSBNdWx0aUdldEJ5T2Zmc2V0OiB7CisgICAgICAgICAgICBhdXRvIHBhaXIgPSBtX2hl
YXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAg
ICAgaWYgKHBhaXIua2V5ICYmIHBhaXIua2V5LT5pc09iamVjdEFsbG9jYXRpb24oKSkgeworICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBub2RlLT5zdG9yYWdlQWNj
ZXNzRGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7CisgICAgICAgICAgICAgICAgQVNTRVJUKHBhaXIu
dmFsdWUtPm11c3RIYXZlKG1fZ3JhcGgsIE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVt
YmVyKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLnBvaW50ZXIobm9kZSkubWVyZ2UocGFpci52
YWx1ZS0+Z2V0KE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVtYmVyKSk7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2Ug
UHV0QnlPZmZzZXQ6IHsKKyAgICAgICAgICAgIGF1dG8gcGFpciA9IG1faGVhcC5vbmx5TG9jYWxB
bGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAocGFpci5r
ZXkgJiYgcGFpci5rZXktPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICBwYWlyLnZhbHVlLT5zZXQoCisgICAgICAg
ICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9j
LCBpZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwLmZvbGxvdyhu
b2RlLT5jaGlsZDMoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAg
ICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAg
ICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMygpLm5vZGUoKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZh
cjogeworICAgICAgICAgICAgYXV0byBwYWlyID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24o
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmIChwYWlyLmtleSAmJiBwYWly
LmtleS0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJU
KHBhaXIudmFsdWUtPm11c3RIYXZlKG1fZ3JhcGgsIENsb3N1cmVWYXJQTG9jLCBub2RlLT5zY29w
ZU9mZnNldCgpLm9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLnBvaW50ZXIobm9k
ZSkubWVyZ2UocGFpci52YWx1ZS0+Z2V0KENsb3N1cmVWYXJQTG9jLCBub2RlLT5zY29wZU9mZnNl
dCgpLm9mZnNldCgpKSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjogeworICAgICAgICAgICAgYXV0
byBwYWlyID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgp
KTsKKyAgICAgICAgICAgIGlmIChwYWlyLmtleSAmJiBwYWlyLmtleS0+aXNBY3RpdmF0aW9uQWxs
b2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgcGFpci52YWx1ZS0+c2V0KAorICAgICAgICAg
ICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9k
ZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgIG1faGVhcC5m
b2xsb3cobm9kZS0+Y2hpbGQyKCkubm9kZSgpKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAg
ICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ2hl
Y2s6CisgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICBu
b2RlLAorICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBlZGdlKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChlZGdlLndpbGxOb3RIYXZlQ2hlY2soKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBpZiAoYWxyZWFkeUNoZWNrZWQoZWRnZS51
c2VLaW5kKCksIFNwZWNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUoZWRnZS5ub2RlKCkpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBNb3ZIaW50
OgorICAgICAgICBjYXNlIFB1dEhpbnQ6CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCisgICAgICAgICAgICAg
ICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkgeworICAgICAgICAgICAg
ICAgICAgICBtX2hlYXAuZXNjYXBlKGVkZ2Uubm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIEFTU0VSVChtX2hlYXAuaXNW
YWxpZCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGVuZEJsb2NrKEJhc2ljQmxvY2sqIGJsb2NrKQor
ICAgIHsKKyAgICAgICAgLy8gRW11bGF0ZSBVcHNpbG9uIG5vZGVzIHdoZW4gbmVlZGVkIDsgd2Ug
bmVlZCBhbiBlc2NhcGUKKyAgICAgICAgLy8gYmVjYXVzZSBPU1IgZXhpdAorICAgICAgICAvLyBG
SVhNRTogVGhlIGNvcnJlY3Qgd2F5IG9mIGhhbmRsaW5nIHRoaXMgaXMgdGhhdCBpcyBhCisgICAg
ICAgIC8vIG5vbi1kb21pbmF0ZWQgbG9jYWwgYWxsb2NhdGlvbiBpcyBwdXQgaW50byBhICpsaXZl
KiBsb2NhbAorICAgICAgICAvLyBhbGxvY2F0aW9uLCBpdCBzaG91bGQgYmUgZXNjYXBlZC4gIkxp
dmUiIGluIHRoaXMgc2Vuc2UKKyAgICAgICAgLy8gbmVlZHMgdG8gY29uc2lkZXIgdGhlIHBvc3Np
YmlsaXR5IHRoYXQgYSBkZWFkIGFsbG9jYXRpb24KKyAgICAgICAgLy8gY2FuIGFjdHVhbGx5IGJl
IGxpdmUgYmVjYXVzZSBpdCBtYXkgYmUgcG9pbnRlZCB0byBlaXRoZXIgYnkKKyAgICAgICAgLy8g
YSBmaWVsZCBvZiBhbm90aGVyIGFsbG9jYXRpb24sIG9yIGJ5IGFuIGFsaWFzLgorICAgICAgICBp
ZiAoYmxvY2stPm51bVN1Y2Nlc3NvcnMoKSA9PSAxKSB7CisgICAgICAgICAgICBmb3IgKEJhc2lj
QmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAg
ICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvRXNjYXBlOworICAgICAgICAgICAgICAgIG1faGVhcC5m
b3JBbGxBbGxvY2F0aW9ucygKKyAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBub2RlLCBB
YnN0cmFjdExvY2FsQWxsb2NhdGlvbiYgYWxsb2NhdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fZ3JhcGgubV9kb21pbmF0b3JzLnN0cmljdGx5RG9taW5hdGVzKG5vZGUtPm93
bmVyLCBzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxv
Y2F0aW9uLmZvckFsbEZpZWxkcygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyZd
IChQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgQWJzdHJhY3RQb2ludGVyJiBwb2ludGVyKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLmZvckFsbEFsaWFz
ZXMoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBh
bGlhcykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IW1fZ3JhcGgubV9kb21pbmF0b3JzLnN0cmljdGx5RG9taW5hdGVzKGFsaWFzLT5vd25lciwgc3Vj
Y2Vzc29yQmxvY2spKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG9Fc2NhcGUuYWRkKGFsaWFzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgICAgIGZvciAoTm9kZSogbm9kZSA6IHRvRXNjYXBlKQorICAgICAgICAgICAgICAgICAgICBt
X2hlYXAub25seUFsbG9jYXRpb24obm9kZSkudmFsdWUtPmVzY2FwZShtX2hlYXApOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisjaWYgIUFTU0VSVF9ESVNBQkxFRAorICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIC8vIFdlIGhhdmUgYnJva2VuIGNyaXRpY2FsIGVkZ2VzIHNvIHRoZSBkb21p
bmF0b3JzIHNob3VsZCBub3QgY2hhbmdlCisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1
Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgIG1f
aGVhcC5mb3JBbGxBbGxvY2F0aW9ucygKKyAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBu
b2RlLCBjb25zdCBBYnN0cmFjdExvY2FsQWxsb2NhdGlvbiYgYWxsb2NhdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9kb21pbmF0b3JzLnN0cmljdGx5RG9t
aW5hdGVzKG5vZGUtPm93bmVyLCBzdWNjZXNzb3JCbG9jaykpOworICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGFsbG9jYXRpb24uaXNWYWxpZChtX2hlYXApKTsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZiAvLyAhQVNTRVJUX0RJ
U0FCTEVECisgICAgfQorCisgICAgdm9pZCBkZXRlcm1pbmVFbGltaW5hdGlvbkNhbmRpZGF0ZXMo
KQorICAgIHsKKyAgICAgICAgbV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY2xlYXIoKTsKKworICAg
ICAgICAvLyBUaGUgZWxpbWluYXRpb24gY2FuZGlkYXRlcyBhcmUgdGhlIG9iamVjdCBhbGxvY2F0
aW9ucyB0aGF0CisgICAgICAgIC8vIG5ldmVyIGVzY2FwZXMsIGFuZCBhcmUgbmV2ZXIgcHV0IGlu
dG8gZXNjYXBpbmcgb2JqZWN0cy4KKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgYm9vbD4gZXNjYXBp
bmc7CisgICAgICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxOb2RlKj4+IGRlcHM7CisgICAgICAg
IGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkp
IHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAg
ICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxp
emVOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNBbGxvY2F0aW9uKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZXBzLmFkZChub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
ZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2Rl
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5j
dGlvbjoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzQWxsb2NhdGlvbihub2RlLT5jaGlsZDEo
KS5ub2RlKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVwcy5hZGQobm9kZSwgVmVjdG9y
PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBDcmVh
dGVBY3RpdmF0aW9uOgorICAgICAgICAgICAgICAgICAgICBpZiAoaXNBbGxvY2F0aW9uKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBkZXBzLmFkZChub2Rl
LCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQobm9kZS0+Y2hpbGQxKCku
bm9kZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBj
YXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgbV9n
cmFwaC5kb1RvQ2hpbGRyZW4oCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgWyZdIChjb25zdCBFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGlzQWxsb2NhdGlvbihlZGdlLm5vZGUoKSkpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlcHMuYWRkKG5vZGUsIFZlY3RvcjxOb2RlKj4oKSkuaXRl
cmF0b3ItPnZhbHVlLmFwcGVuZChlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNl
IFB1dEJ5T2Zmc2V0OgorICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQyKCktPmlz
T2JqZWN0QWxsb2NhdGlvbigpICYmIGlzQWxsb2NhdGlvbihub2RlLT5jaGlsZDMoKS5ub2RlKCkp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXBzLmFkZCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlLT5jaGlsZDIoKS5ub2RlKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKG5vZGUtPmNoaWxk
MygpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CisgICAgICAgICAg
ICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpICYm
IGlzQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBkZXBzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jaGls
ZDEoKS5ub2RlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVjdG9yPE5vZGUqPigp
KS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtX2hlYXBBdFRhaWxbYmxvY2tdLmZvckFs
bEFsbG9jYXRpb25zKAorICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogbm9kZSwgY29uc3QgQWJz
dHJhY3RMb2NhbEFsbG9jYXRpb24mIGFsbG9jYXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
ZXNjYXBpbmcuYWRkKG5vZGUsIGZhbHNlKS5pdGVyYXRvci0+dmFsdWUgfD0gYWxsb2NhdGlvbi5l
c2NhcGVkKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBWZWN0
b3I8Tm9kZSo+IHdvcmtsaXN0OworICAgICAgICBmb3IgKGF1dG8gcGFpciA6IGVzY2FwaW5nKSB7
CisgICAgICAgICAgICBpZiAocGFpci52YWx1ZSkKKyAgICAgICAgICAgICAgICB3b3JrbGlzdC5h
cHBlbmQocGFpci5rZXkpOworICAgICAgICB9CisKKyAgICAgICAgd2hpbGUgKCF3b3JrbGlzdC5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6IGRlcHMuZ2V0KHdvcmts
aXN0LnRha2VMYXN0KCkpKSB7CisgICAgICAgICAgICAgICAgaWYgKGVzY2FwaW5nLmNvbnRhaW5z
KG5vZGUpICYmICFlc2NhcGluZy5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgZXNj
YXBpbmcuc2V0KG5vZGUsIHRydWUpOworICAgICAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBl
bmQobm9kZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBlc2NhcGluZykgeworICAgICAgICAgICAgaWYgKCFw
YWlyLnZhbHVlKQorICAgICAgICAgICAgICAgIG1fZWxpbWluYXRpb25DYW5kaWRhdGVzLmFkZChw
YWlyLmtleSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAg
IGRhdGFMb2coIkNhbmRpZGF0ZXM6ICIsIGxpc3REdW1wKG1fZWxpbWluYXRpb25DYW5kaWRhdGVz
KSwgIlxuIik7CisgICAgfQorCisgICAgdm9pZCBsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25Q
aGFudG9tQWxsb2NhdGlvbnMoKQorICAgIHsKKyAgICAgICAgLy8gTG93ZXIgZXZlcnl0aGluZyBi
dXQgcmVhZGluZyBvcGVyYXRpb25zIG9uIHBoYW50b20gYWxsb2NhdGlvbnMuIFdlIGFic29sdXRl
bHkgaGF2ZSB0bworICAgICAgICAvLyBsb3dlciBhbGwgd3JpdGVzIHNvIGFzIHRvIHJldmVhbCB0
aGVtIHRvIHRoZSBTU0EgY2FsY3VsYXRvci4gV2UgY2Fubm90IGxvd2VyIHJlYWRzCisgICAgICAg
IC8vIGJlY2F1c2UgdGhlIHdob2xlIHBvaW50IGlzIHRoYXQgdGhvc2UgZ28gYXdheSBjb21wbGV0
ZWx5LgorCisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0lu
UHJlT3JkZXIoKSkgeworICAgICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsK
KyAgICAgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxv
Y2stPnNpemUoKTsgKytub2RlSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0g
YmxvY2stPmF0KG5vZGVJbmRleCk7CisgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgp
KSB7CisgICAgICAgICAgICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAg
IGlmIChtX2VsaW1pbmF0aW9uQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgTm9kZSogc3RydWN0dXJlID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29u
c3RhbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+
b3JpZ2luLCBKU1ZhbHVlKG5vZGUtPnN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBM
b2NhdGlvbihTdHJ1Y3R1cmVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIHN0cnVjdHVyZSkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld09iamVjdCgpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fZWxpbWluYXRpb25DYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
cm9tb3RlZEhlYXBMb2NhdGlvbihTdHJ1Y3R1cmVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3Jh
cGgudmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0
YSgpLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ld
Lm1faWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRl
eCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0
aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRQcm9wZXJ0eVBM
b2MsIG5vZGUsIGlkZW50aWZpZXJOdW1iZXIpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwg
aSArIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld09iamVjdCgpOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAg
ICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fZWxpbWluYXRp
b25DYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBO
b2RlKiBleGVjdXRhYmxlID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+b3JpZ2luLCBub2RlLT5j
ZWxsT3BlcmFuZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmlu
c2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEZ1bmN0aW9uRXhlY3V0
YWJsZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgZXhlY3V0YWJsZSkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRI
ZWFwTG9jYXRpb24oRnVuY3Rpb25BY3RpdmF0aW9uUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBub2Rl
LT5jaGlsZDEoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZl
cnRUb1BoYW50b21OZXdGdW5jdGlvbigpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0
aW9uOgorICAgICAgICAgICAgICAgICAgICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY29u
dGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHVuZGVmaW5lZCA9
IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGVJbmRleCArIDEsIG5vZGUtPm9yaWdpbiwganNVbmRlZmluZWQoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBOb2RlKiBzeW1ib2xUYWJsZU5vZGUgPSBtX2luc2VydGlvblNldC5p
bnNlcnRDb25zdGFudCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAx
LCBub2RlLT5vcmlnaW4sIG5vZGUtPmNlbGxPcGVyYW5kKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFw
TG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzeW1i
b2xUYWJsZU5vZGUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmlu
c2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TY29w
ZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN5bWJv
bFRhYmxlLT5tX2xvY2spOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBp
dGVyID0gc3ltYm9sVGFibGUtPmJlZ2luKGxvY2tlciksIGVuZCA9IHN5bWJvbFRhYmxlLT5lbmQo
bG9ja2VyKTsgaXRlciAhPSBlbmQ7ICsraXRlcikgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ2xvc3VyZVZhclBMb2MsIG5vZGUsIGl0ZXItPnZhbHVlLnNjb3BlT2Zmc2V0
KCkub2Zmc2V0KCkpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgdW5kZWZpbmVkKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb24o
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgorICAgICAg
ICAgICAgICAgICAgICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHN5bWJvbFRhYmxlTm9kZSA9IG1faW5z
ZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVJbmRleCArIDEsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2VsbE9wZXJhbmQoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
cm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVh
dGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5v
cmlnaW4sIHN5bWJvbFRhYmxlTm9kZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNl
cnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCAr
IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0
aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBub2RlLT5jaGlsZDEoKS5ub2RlKCkp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2Rl
LT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXph
dGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBDbG9zdXJlVmFyUExvYywgbm9kZSwgaWRlbnRpZmllck51bWJlcikuY3JlYXRl
SGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBu
b2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+
Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb24oKTsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgUHV0
U3RydWN0dXJlOgorICAgICAgICAgICAgICAgICAgICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0
ZXMuY29udGFpbnMobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKG5vZGUtPmNoaWxkMSgpLT5pc1BoYW50b21PYmplY3RBbGxvY2F0aW9uKCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogc3RydWN0dXJlID0gbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4
LCBub2RlLT5vcmlnaW4sIEpTVmFsdWUobm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QdXRTdHJ1Y3R1cmVIaW50KHN0cnVj
dHVyZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0OgorICAgICAgICAgICAgICAgICAg
ICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY29udGFpbnMobm9kZS0+Y2hpbGQyKCkubm9k
ZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUtPmNoaWxkMigpLT5p
c1BoYW50b21PYmplY3RBbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvUHV0QnlPZmZzZXRIaW50KCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIFB1dENsb3N1
cmVWYXI6CisgICAgICAgICAgICAgICAgICAgIGlmIChtX2VsaW1pbmF0aW9uQ2FuZGlkYXRlcy5j
b250YWlucyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQobm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbUFjdGl2YXRpb25BbGxvY2F0aW9uKCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUHV0Q2xvc3VyZVZhckhp
bnQoKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsK
KworICAgICAgICAgICAgICAgIGNhc2UgU3RvcmVCYXJyaWVyOiB7CisgICAgICAgICAgICAgICAg
ICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiVW5leHBlY3RlZCBzdG9yZSBiYXJyaWVyIGR1
cmluZyBzaW5raW5nLiIpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtX2lu
c2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQg
cHJvbW90ZVN1bmtlbkZpZWxkcygpCisgICAgeworICAgICAgICAvLyBDb2xsZWN0IHRoZSBzZXQg
b2YgaGVhcCBsb2NhdGlvbnMgdGhhdCB3ZSB3aWxsIGJlIG9wZXJhdGluZyBvdmVyLgorICAgICAg
ICBIYXNoU2V0PFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnM7CisgICAgICAgIGZvciAo
QmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAg
ICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIHBy
b21vdGVIZWFwQWNjZXNzKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAg
ICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBFZGdlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY29udGFpbnMo
bG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbnMu
YWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fZWxpbWluYXRpb25DYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJh
c2UoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLmFkZChsb2NhdGlv
bik7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBsb2NhdGlvbnMgYmVsb25nIHRvIHdoaWNoIGFs
bG9jYXRpb25zLgorICAgICAgICBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uY2xlYXIoKTsKKyAg
ICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykgewor
ICAgICAgICAgICAgYXV0byByZXN1bHQgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uYWRkKGxv
Y2F0aW9uLmJhc2UoKSwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPigpKTsKKyAgICAgICAg
ICAgIEFTU0VSVCghcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5jb250YWlucyhsb2NhdGlvbikpOwor
ICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQobG9jYXRpb24pOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gV2hlbiB0aGUgYWxsb2NhdGlvbiBpcyBjcmVhdGVkIHdlIG5l
ZWQgdG8gY3JlYXRlIEJvdHRvbSB2YWx1ZXMgZm9yCisgICAgICAgIC8vIGFsbCBvZiBpdHMgZmll
bGRzIGJlY2F1c2Ugc29tZSBmaWVsZHMgbWF5IGJlIGFkZGVkCisgICAgICAgIC8vIGNvbmRpdGlv
bm5hbHkuCisgICAgICAgIE5vZGUqIGJvdHRvbSA9IG51bGxwdHI7CisgICAgICAgIGZvciAoQmFz
aWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAg
ICAgICAgIGlmIChibG9jayA9PSBtX2dyYXBoLmJsb2NrKDApKQorICAgICAgICAgICAgICAgIGJv
dHRvbSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KDAsIE5vZGVPcmlnaW4oKSwganNO
dW1iZXIoMTkyNykpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBu
b2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkgeworICAgICAgICAgICAgICAg
IE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAgICAgICAgICAgICBmb3Ig
KFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9u
LmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQo
CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBsb2NhdGlvbi5jcmVhdGVI
aW50KG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgYm90dG9tKSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7
CisgICAgICAgIH0KKworICAgICAgICBtX3NzYUNhbGN1bGF0b3IucmVzZXQoKTsKKworICAgICAg
ICAvLyBDb2xsZWN0IHRoZSBzZXQgb2YgInZhcmlhYmxlcyIgdGhhdCB3ZSB3aWxsIGJlIHNpbmtp
bmcuCisgICAgICAgIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmNsZWFyKCk7CisgICAgICAgIG1faW5k
ZXhUb0xvY2F0aW9uLmNsZWFyKCk7CisgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24g
bG9jYXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlh
YmxlKiB2YXJpYWJsZSA9IG1fc3NhQ2FsY3VsYXRvci5uZXdWYXJpYWJsZSgpOworICAgICAgICAg
ICAgbV9sb2NhdGlvblRvVmFyaWFibGUuYWRkKGxvY2F0aW9uLCB2YXJpYWJsZSk7CisgICAgICAg
ICAgICBBU1NFUlQobV9pbmRleFRvTG9jYXRpb24uc2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgp
KTsKKyAgICAgICAgICAgIG1faW5kZXhUb0xvY2F0aW9uLmFwcGVuZChsb2NhdGlvbik7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBDcmVhdGUgRGVmcyBmcm9tIHRoZSBleGlzdGluZyBoaW50cy4K
KyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFs
T3JkZXIoKSkgeworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAg
ICAgICAgICAgICAgcHJvbW90ZUhlYXBBY2Nlc3MoCisgICAgICAgICAgICAgICAgICAgIG5vZGUs
CisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24s
IEVkZ2UgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9lbGltaW5hdGlv
bkNhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3Nl
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIkRlZmluaW5nICIsIGxvY2F0
aW9uLCAiID0gIiwgdmFsdWUubm9kZSgpLCAiIGF0ICIsIG5vZGUsICJcbiIpOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2xv
Y2F0aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAg
bV9zc2FDYWxjdWxhdG9yLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIHZhbHVlLm5vZGUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRI
ZWFwTG9jYXRpb24pIHsgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAv
LyBPTUcgcnVuIHRoZSBTU0EgY2FsY3VsYXRvciB0byBjcmVhdGUgUGhpcyEKKyAgICAgICAgbV9z
c2FDYWxjdWxhdG9yLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAgWyZdIChTU0FDYWxjdWxhdG9y
OjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2RlKiB7CisgICAg
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBtX2luZGV4VG9Mb2Nh
dGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgaWYgKCFtX2dyYXBoLm1f
ZG9taW5hdG9ycy5zdHJpY3RseURvbWluYXRlcyhsb2NhdGlvbi5iYXNlKCktPm93bmVyLCBibG9j
aykpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICAg
ICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVhcFRvcCwgUGhpLCBOb2Rl
T3JpZ2luKCkpOworICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdlRmxhZ3MoTm9kZVJlc3Vs
dEpTKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAgICAgICAgICAgIH0pOwor
CisgICAgICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhlIHJpZ2h0IHBsYWNlcywgcmVwbGFjZSBhbGwg
dXNlcyBvZiBhbnkgbG9hZCB3aXRoIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICAvLyB2YWx1ZSwg
YW5kIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgVXBzaWxvbiBub2Rlcy4KKyAgICAgICAgbV9ncmFw
aC5jbGVhclJlcGxhY2VtZW50cygpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDog
bV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgbWFwcGlu
ZyB0YWJsZSBpcyBpbnRlbmRlZCB0byBiZSBsYXp5LiBJZiBzb21ldGhpbmcgaXMgb21pdHRlZCBm
cm9tIHRoZSB0YWJsZSwKKyAgICAgICAgICAgIC8vIGl0IG1lYW5zIHRoYXQgdGhlcmUgaGF2ZW4n
dCBiZWVuIGFueSBsb2NhbCBzdG9yZXMgdG8gdGhhdCBwcm9tb3RlZCBoZWFwIGxvY2F0aW9uLgor
ICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuY2xlYXIoKTsKKworICAgICAgICAgICAgLy8gSW5z
ZXJ0IHRoZSBQaGkgZnVuY3Rpb25zIHRoYXQgd2UgaGFkIHByZXZpb3VzbHkgY3JlYXRlZC4KKyAg
ICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX3NzYUNhbGN1bGF0
b3IucGhpc0ZvckJsb2NrKGJsb2NrKSkgeworICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uID0gbV9pbmRleFRvTG9jYXRpb25bcGhpRGVmLT52YXJpYWJsZSgpLT5p
bmRleCgpXTsKKworICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgwLCBwaGlE
ZWYtPnZhbHVlKCkpOworICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAg
ICAgICAgICAgICAgICAgICAgMCwgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBOb2RlT3Jp
Z2luKCksIHBoaURlZi0+dmFsdWUoKSkpOworICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5n
LmFkZChsb2NhdGlvbiwgcGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWFwcGlu
ZyBhdCAiLCBwb2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobV9sb2NhbE1hcHBpbmcp
LCAiXG4iKTsKKworICAgICAgICAgICAgLy8gUHJvY2VzcyB0aGUgYmxvY2sgYW5kIHJlcGxhY2Ug
YWxsIHVzZXMgb2YgbG9hZHMgd2l0aCB0aGUgcHJvbW90ZWQgdmFsdWUuCisgICAgICAgICAgICBm
b3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBtX2dyYXBoLnBlcmZv
cm1TdWJzdGl0dXRpb24obm9kZSk7CisKKyAgICAgICAgICAgICAgICBwcm9tb3RlSGVhcEFjY2Vz
cygKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgRWRnZSB2YWx1ZSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG1fZWxpbWluYXRpb25DYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9u
LmJhc2UoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0
KGxvY2F0aW9uLCB2YWx1ZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAobV9lbGltaW5hdGlvbkNhbmRpZGF0ZXMuY29udGFpbnMo
bG9jYXRpb24uYmFzZSgpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAo
bm9kZS0+b3AoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1
Y3R1cmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0No
ZWNrU3RydWN0dXJlSW1tZWRpYXRlKHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVw
bGFjZVdpdGgocmVzb2x2ZShibG9jaywgbG9jYXRpb24pKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy8gR290dGEgZHJvcCBzb21lIFVwc2lsb25zLgorICAgICAgICAg
ICAgTm9kZUFuZEluZGV4IHRlcm1pbmFsID0gYmxvY2stPmZpbmRUZXJtaW5hbCgpOworICAgICAg
ICAgICAgc2l6ZV90IHVwc2lsb25JbnNlcnRpb25Qb2ludCA9IHRlcm1pbmFsLmluZGV4OworICAg
ICAgICAgICAgTm9kZU9yaWdpbiB1cHNpbG9uT3JpZ2luID0gdGVybWluYWwubm9kZS0+b3JpZ2lu
OworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5z
dWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiog
cGhpRGVmIDogbV9zc2FDYWxjdWxhdG9yLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsK
KyAgICAgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAg
ICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhp
RGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
biBsb2NhdGlvbiA9IG1faW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAg
ICAgICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7
CisKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVwc2ls
b24sIHVwc2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhpTm9k
ZSksIGluY29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOworICAg
ICAgICB9CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Jsb2NrKiBibG9jaywgUHJv
bW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pCisgICAgeworICAgICAgICBpZiAoTm9kZSogcmVz
dWx0ID0gbV9sb2NhbE1hcHBpbmcuZ2V0KGxvY2F0aW9uKSkKKyAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisKKyAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQgdGhlcmUgaXMgbm8gbG9jYWwg
bWFwcGluZy4gRmluZCBhIG5vbi1sb2NhbCBtYXBwaW5nLgorICAgICAgICBTU0FDYWxjdWxhdG9y
OjpEZWYqIGRlZiA9IG1fc3NhQ2FsY3VsYXRvci5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAg
ICAgICAgYmxvY2ssIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbikpOworICAgICAg
ICBERkdfQVNTRVJUKG1fZ3JhcGgsIGJsb2NrLCBkZWYpOworICAgICAgICBBU1NFUlQoZGVmLT52
YWx1ZSgpKTsKKyAgICAgICAgbV9sb2NhbE1hcHBpbmcuYWRkKGxvY2F0aW9uLCBkZWYtPnZhbHVl
KCkpOworICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOworICAgIH0KKworICAgIFNTQUNhbGN1
bGF0b3IgbV9zc2FDYWxjdWxhdG9yOworICAgIEhhc2hTZXQ8Tm9kZSo+IG1fZWxpbWluYXRpb25D
YW5kaWRhdGVzOworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlv
bj4+IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbjsKKyAgICBIYXNoTWFwPFByb21vdGVkSGVhcExv
Y2F0aW9uLCBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSo+IG1fbG9jYXRpb25Ub1ZhcmlhYmxlOwor
ICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbV9pbmRleFRvTG9jYXRpb247CisgICAg
SGFzaE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTm9kZSo+IG1fbG9jYWxNYXBwaW5nOworICAg
IEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsKKyAgICBQaGlDaGlsZHJlbiBtX3BoaUNoaWxk
cmVuOworCisgICAgQmxvY2tNYXA8QWJzdHJhY3RMb2NhbEhlYXA+IG1faGVhcEF0SGVhZDsKKyAg
ICBCbG9ja01hcDxBYnN0cmFjdExvY2FsSGVhcD4gbV9oZWFwQXRUYWlsOworICAgIEFic3RyYWN0
TG9jYWxIZWFwIG1faGVhcDsKK307CisKK2Jvb2wgcGVyZm9ybU9iamVjdEFsbG9jYXRpb25FbGlt
aW5hdGlvbihHcmFwaCYgZ3JhcGgpCit7CisgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdp
b24oIkRGRyBPYmplY3QgQWxsb2NhdGlvbiBFbGltaW5hdGlvbiBQaGFzZSIpOworICAgIHJldHVy
biBydW5QaGFzZTxPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZT4oZ3JhcGgpOworfQor
Cit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlv
bkVsaW1pbmF0aW9uUGhhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0
QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWVhZDJkZTlkYmU3YWQx
NmJkMDc4ZWU0Yjc2MzQyNzgwOTU3Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZS5oCkBAIC0w
LDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBERkdPYmplY3RBbGxvY2F0aW9uRWxpbWluYXRpb25QaGFzZV9oCisjZGVmaW5l
IERGR09iamVjdEFsbG9jYXRpb25FbGltaW5hdGlvblBoYXNlX2gKKworI2lmIEVOQUJMRShERkdf
SklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CisKK2NsYXNzIEdyYXBoOwor
CisvLyBFbGltaW5hdGVzIG9iamVjdCBhbGxvY2F0aW9ucyB0aGF0IGFyZSBuZXZlciB1c2VkIGV4
Y2VwdCBsb2NhbGx5LiBUaGlzIHdpbGwKKy8vIGluc2VydCBwaGFudG9tIGFsbG9jYXRpb25zIGFu
ZCBzdG9yZSBoaW50cyBzbyB0aGF0IE9TUiBleGl0IGNhbiBtYXRlcmlhbGl6ZQorLy8gdGhlIG9i
amVjdHMuIFJlcGxhY2VzIGFsbCB1c2VzIG9mIHRoZSBvYmplY3RzJyBmaWVsZHMgd2l0aCBTU0Eg
ZGF0YSBmbG93LgorLy8gVGhpcyBpcyBhYmxlIHRvIGVsaW1pbmF0ZSBjeWNsaWMgb2JqZWN0IGdy
YXBocy4KKworYm9vbCBwZXJmb3JtT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uKEdyYXBoJik7
CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdfSklU
KQorCisjZW5kaWYgLy8gREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2VfaAorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAppbmRleCBhMmUyN2Q1OGYzNDMzZDYxZDhm
ZmZjOGQ0OWQ4NjkzOTFhOWU1Y2RjLi4wZDIxYzVmMjEwN2ZmNTZhZThhNWZmMjgzMGQ2ZTJkYzQ2
Njc4NGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKQEAgLTUyLDYgKzUy
LDcgQEAKICNpbmNsdWRlICJERkdNb3ZIaW50UmVtb3ZhbFBoYXNlLmgiCiAjaW5jbHVkZSAiREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oIgogI2luY2x1ZGUgIkRGR09TUkVudHJ5cG9p
bnRDcmVhdGlvblBoYXNlLmgiCisjaW5jbHVkZSAiREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0
aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmgi
CiAjaW5jbHVkZSAiREZHUGhhbnRvbUluc2VydGlvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHUHJl
ZGljdGlvbkluamVjdGlvblBoYXNlLmgiCkBAIC0zNjUsNiArMzY2LDcgQEAgUGxhbjo6Q29tcGls
YXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdM
aXZlZFN0YXRlKQogICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmcoKSkgewogICAgICAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtQ3JpdGljYWxFZGdlQnJl
YWtpbmcoZGZnKTsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gcGVyZm9ybU9iamVjdEFsbG9jYXRp
b25TaW5raW5nKGRmZyk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1PYmplY3RBbGxv
Y2F0aW9uRWxpbWluYXRpb24oZGZnKTsKICAgICAgICAgfQogICAgICAgICBpZiAoY2hhbmdlZCkg
ewogICAgICAgICAgICAgLy8gU3RhdGUtYXQtdGFpbCBhbmQgc3RhdGUtYXQtaGVhZCB3aWxsIGJl
IGludmFsaWQgaWYgd2UgZGlkIHN0cmVuZ3RoIHJlZHVjdGlvbiBzaW5jZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCmluZGV4IGJj
MTUxNTg0ODA3NDM3ZGIwNzI5NDE0MTllOGI0YjliYTNlNTYyY2IuLjdlNTA2OWQ2NjJkNzM0YWZl
Yjk1NDAzM2Y0YjE4OTVkNGY2YjAyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKQEAgLTU3LDYgKzU3LDEyIEBAIHB1Ymxp
YzoKICAgICAgICAgLCBtX2luZm8oaW5mbykKICAgICB7CiAgICAgfQorCisgICAgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAg
ICA6IG1fa2luZChJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZv
KDEpCisgICAgeworICAgIH0KICAgICAKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0
dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQ7IH0KICAgICAKQEAgLTk0
LDYgKzEwMCwxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAKK3N0cnVj
dCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJuIGtleS5o
YXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsgcmV0dXJu
IGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JE
ZWxldGVkID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsKIHB1Ymxp
YzoKICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE0MSw2ICsxNTMsMTEgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gbV9iYXNlID09IG90aGVyLm1fYmFzZQogICAgICAgICAgICAgJiYg
bV9tZXRhID09IG90aGVyLm1fbWV0YTsKICAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29u
c3QgUHJvbW90ZWRIZWFwTG9jYXRpb24mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KICAgICAKICAgICBib29sIGlzSGFzaFRhYmxl
RGVsZXRlZFZhbHVlKCkgY29uc3QKICAgICB7CkBAIC0xNzYsNiArMTkzLDE2IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiA6IFNp
bXBsZUNsYXNzSGFzaFRyCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9
IGZhbHNlOwogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwor
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25E
ZXNjcmlwdG9yPiB7CisgICAgdHlwZWRlZiBKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2Ny
aXB0b3JIYXNoIEhhc2g7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRy
YWl0czsKK3RlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVl
SXNaZXJvID0gZmFsc2U7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVO
QUJMRShERkdfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdW
YWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApp
bmRleCAyYmEzMzM4NDkzOTllNDNiNmM0MWY1ZGZmYmU5MDkzMzUxNTFmNTUyLi5hOTY5YzEzYzk2
MTZiOGQ0NmY4YTVhMTI2NmMzZWJhOTg4ODAwNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtNTI0LDEyICs1MjQsNDIgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBjYXNlIFBoYW50b206CiAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChu
b2RlKSwgISJiYWQgbm9kZSB0eXBlIGZvciBTU0EiKTsKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBtb3JlIHRoaW5ncyBoZXJlLgogICAgICAg
ICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIzNDcxCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNl
IFBoYW50b21OZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rp
b246CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAg
ICAgICAgICAgICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVudHM6CisgICAgICAgICAgICAgICAg
Y2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgorICAgICAgICAgICAgICAgIGNhc2UgTW92SGlu
dDoKKyAgICAgICAgICAgICAgICBjYXNlIFVwc2lsb246CisgICAgICAgICAgICAgICAgY2FzZSBG
b3J3YXJkVmFyYXJnczoKKyAgICAgICAgICAgICAgICBjYXNlIENhbGxGb3J3YXJkVmFyYXJnczoK
KyAgICAgICAgICAgICAgICBjYXNlIENvbnN0cnVjdEZvcndhcmRWYXJhcmdzOgorICAgICAgICAg
ICAgICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsOgorICAgICAgICAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2s6CisgICAgICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIHByb2JhYmx5IG5vdCBjb3JyZWN0LgorICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgUHV0SGludDoKKyAgICAgICAgICAgICAg
ICAgICAgVkFMSURBVEUoKG5vZGUpLCBub2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tQWxsb2NhdGlv
bigpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBbJl0gKGNvbnN0
IEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9k
ZSksICFlZGdlLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCAyNzc4OGU3ZjZhNWE5ZmI5ZTUzMDY5
ZWM1NGMwOTAwZGVjZDllYzdlLi4xNmYxOTVmNDc3YTk2NzZiMTY0NTdlN2E5YjhmYWU2NWY4YTY1
ZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21w
aWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGls
ZXIuY3BwCkBAIC00Nyw2ICs0NywxOCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKIHVzaW5nIG5hbWVzcGFjZSBERkc7CiAKK3N0YXRpYyBib29sIG5lZWRlZEZvck1hdGVyaWFs
aXphdGlvbihQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBsb2NhdGlvbikKK3sKKyAgICBzd2l0
Y2ggKGxvY2F0aW9uLmtpbmQoKSkgeworICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBMb2M6CisgICAg
Y2FzZSBDbG9zdXJlVmFyUExvYzoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVmYXVs
dDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfQorCiBzdGF0aWMgdm9pZCBjb21waWxl
UmVjb3ZlcnkoCiAgICAgQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUs
IFN0YWNrTWFwczo6UmVjb3JkKiByZWNvcmQsIFN0YWNrTWFwcyYgc3RhY2ttYXBzLAogICAgIGNo
YXIqIHJlZ2lzdGVyU2NyYXRjaCwKQEAgLTIyMCwyNCArMjMyLDI0IEBAIHN0YXRpYyB2b2lkIGNv
bXBpbGVTdHViKAogICAgICAgICAgICAgICAgIGppdC5vcjMyKEdQUkluZm86OnJlZ1QyLCBNYWNy
b0Fzc2VtYmxlcjo6QWJzb2x1dGVBZGRyZXNzKGFycmF5UHJvZmlsZS0+YWRkcmVzc09mQXJyYXlN
b2RlcygpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAg
aWYgKCEhZXhpdC5tX3ZhbHVlUHJvZmlsZSkKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUklu
Zm86OnJlZ1QwLCBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWlsQnVja2V0KDApKTsKICAg
ICB9Ci0gICAgCi0gICAgLy8gTWF0ZXJpYWxpemUgYWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFs
aXplIGFuIG9iamVjdCB1bnRpbCBhbGwgb2YgdGhlIG9iamVjdHMgaXQgbmVlZHMKLSAgICAvLyBo
YXZlIGJlZW4gbWF0ZXJpYWxpemVkLiBDdXJpb3VzbHksIHRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ug
dGhhdCB3ZSBoYXZlIGFuIGFsZ29yaXRobSB0aGF0IHByZXZlbnRzCi0gICAgLy8gT1NSIGV4aXQg
ZnJvbSBoYW5kbGluZyBjeWNsaWMgb2JqZWN0IG1hdGVyaWFsaXphdGlvbnMuIE9mIGNvdXJzZSwg
b2JqZWN0IGFsbG9jYXRpb24gc2lua2luZwotICAgIC8vIGN1cnJlbnRseSB3b3VsZG4ndCByZWNv
Z25pemUgYSBjeWNsZSBhcyBiZWluZyBzaW5rYWJsZSAtIGJ1dCBpZiBpdCBkaWQgdGhlbiB0aGUg
b25seSB0aGluZyB0aGF0Ci0gICAgLy8gd291bGQgYWh2ZSB0byBjaGFuZ2UgaXMgdGhpcyBmaXhw
b2ludC4gSW5zdGVhZCB3ZSB3b3VsZCBhbGxvY2F0ZSB0aGUgb2JqZWN0cyBmaXJzdCBhbmQgcG9w
dWxhdGUKLSAgICAvLyB0aGVtIHdpdGggZGF0YSBsYXRlci4KKworICAgIC8vIE1hdGVyaWFsaXpl
IGFsbCBvYmplY3RzLiBEb24ndCBtYXRlcmlhbGl6ZSBhbiBvYmplY3QgdW50aWwgYWxsCisgICAg
Ly8gb2YgdGhlIG9iamVjdHMgaXQgbmVlZHMgaGF2ZSBiZWVuIG1hdGVyaWFsaXplZC4gV2UgYnJl
YWsgY3ljbGVzCisgICAgLy8gYnkgcG9wdWxhdGluZyBvYmplY3RzIGxhdGUgLSB3ZSBvbmx5IGNv
bnNpZGVyIGFuIG9iamVjdCBhcworICAgIC8vIG5lZWRpbmcgYW5vdGhlciBvYmplY3QgaWYgdGhl
IGxhdGVyIGlzIG5lZWRlZCBmb3IgdGhlCisgICAgLy8gYWxsb2NhdGlvbiBvZiB0aGUgZm9ybWVy
LgorCiAgICAgSGFzaFNldDxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbio+IHRvTWF0ZXJp
YWxpemU7CiAgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxp
emF0aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpCiAgICAgICAgIHRvTWF0ZXJpYWxpemUu
YWRkKG1hdGVyaWFsaXphdGlvbik7Ci0gICAgCisKICAgICB3aGlsZSAoIXRvTWF0ZXJpYWxpemUu
aXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIHByZXZpb3VzVG9NYXRlcmlhbGl6ZVNpemUg
PSB0b01hdGVyaWFsaXplLnNpemUoKTsKLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPEV4aXRU
aW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKj4gd29ya2xpc3Q7CiAgICAgICAgIHdvcmtsaXN0LmFw
cGVuZFJhbmdlKHRvTWF0ZXJpYWxpemUuYmVnaW4oKSwgdG9NYXRlcmlhbGl6ZS5lbmQoKSk7CiAg
ICAgICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlv
biA6IHdvcmtsaXN0KSB7CkBAIC0yNDYsMjAgKzI1OCwyOCBAQCBzdGF0aWMgdm9pZCBjb21waWxl
U3R1YigKICAgICAgICAgICAgIGZvciAoRXhpdFByb3BlcnR5VmFsdWUgdmFsdWUgOiBtYXRlcmlh
bGl6YXRpb24tPnByb3BlcnRpZXMoKSkgewogICAgICAgICAgICAgICAgIGlmICghdmFsdWUudmFs
dWUoKS5pc09iamVjdE1hdGVyaWFsaXphdGlvbigpKQogICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgICAgICAgICBpZiAoIW5lZWRlZEZvck1hdGVyaWFsaXphdGlvbih2YWx1
ZS5sb2NhdGlvbigpKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg
ICAgICAgaWYgKHRvTWF0ZXJpYWxpemUuY29udGFpbnModmFsdWUudmFsdWUoKS5vYmplY3RNYXRl
cmlhbGl6YXRpb24oKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gR290dGEgc2tpcCB0aGlz
IG9uZSwgc2luY2Ugb25lIG9mIGl0cyBmaWVsZHMgcG9pbnRzIHRvIGEgbWF0ZXJpYWxpemF0aW9u
Ci0gICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgaGFzbid0IGJlZW4gbWF0ZXJpYWxpemVkLgor
ICAgICAgICAgICAgICAgICAgICAvLyBHb3R0YSBza2lwIHRoaXMgb25lLCBzaW5jZSBpdCBuZWVk
cyBhCisgICAgICAgICAgICAgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiB0aGF0IGhhc24ndCBi
ZWVuIG1hdGVyaWFsaXplZC4KICAgICAgICAgICAgICAgICAgICAgYWxsR29vZCA9IGZhbHNlOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBpZiAoIWFsbEdvb2QpCiAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEFsbCBzeXN0ZW1zIGdvIGZvciBtYXRlcmlh
bGl6aW5nIHRoZSBvYmplY3QuIEZpcnN0IHdlIHJlY292ZXIgdGhlIHZhbHVlcyBvZiBhbGwgb2YK
LSAgICAgICAgICAgIC8vIGl0cyBmaWVsZHMgYW5kIHRoZW4gd2UgY2FsbCBhIGZ1bmN0aW9uIHRv
IGFjdHVhbGx5IGFsbG9jYXRlIHRoZSBiZWFzdC4KKworICAgICAgICAgICAgLy8gQWxsIHN5c3Rl
bXMgZ28gZm9yIG1hdGVyaWFsaXppbmcgdGhlIG9iamVjdC4gRmlyc3Qgd2UKKyAgICAgICAgICAg
IC8vIHJlY292ZXIgdGhlIHZhbHVlcyBvZiBhbGwgb2YgaXRzIGZpZWxkcyBhbmQgdGhlbiB3ZQor
ICAgICAgICAgICAgLy8gY2FsbCBhIGZ1bmN0aW9uIHRvIGFjdHVhbGx5IGFsbG9jYXRlIHRoZSBi
ZWFzdC4KKyAgICAgICAgICAgIC8vIFdlIG9ubHkgcmVjb3ZlciB0aGUgZmllbGRzIHRoYXQgYXJl
IG5lZWRlZCBmb3IgdGhlIGFsbG9jYXRpb24uCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIHBy
b3BlcnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IHByb3Bl
cnR5SW5kZXgtLTspIHsKLSAgICAgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVlID0g
bWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF0udmFsdWUoKTsKKyAg
ICAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlh
bGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XTsKKyAgICAgICAgICAgICAgICBj
b25zdCBFeGl0VmFsdWUmIHZhbHVlID0gcHJvcGVydHkudmFsdWUoKTsKKyAgICAgICAgICAgICAg
ICBpZiAoIW5lZWRlZEZvck1hdGVyaWFsaXphdGlvbihwcm9wZXJ0eS5sb2NhdGlvbigpKSkKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgICAgICBjb21waWxlUmVj
b3ZlcnkoCiAgICAgICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwgaml0Q29kZS0+
c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCiAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFs
aXphdGlvblRvUG9pbnRlcik7CkBAIC0yNzMsNyArMjkzLDcgQEAgc3RhdGljIHZvaWQgY29tcGls
ZVN0dWIoCiAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
Yml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKSksIEdQ
UkluZm86Om5vbkFyZ0dQUjApOwogICAgICAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJn
R1BSMCk7CiAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIs
IG1hdGVyaWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSk7Ci0gICAgICAg
ICAgICAKKwogICAgICAgICAgICAgLy8gTGV0IGV2ZXJ5b25lIGtub3cgdGhhdCB3ZSdyZSBkb25l
LgogICAgICAgICAgICAgdG9NYXRlcmlhbGl6ZS5yZW1vdmUobWF0ZXJpYWxpemF0aW9uKTsKICAg
ICAgICAgfQpAQCAtMjg0LDYgKzMwNCwyNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2aW91c1RvTWF0
ZXJpYWxpemVTaXplKTsKICAgICB9CiAKKyAgICAvLyBOb3cgdGhhdCBhbGwgdGhlIG9iamVjdHMg
aGF2ZSBiZWVuIGFsbG9jYXRlZCwgd2UgcG9wdWxhdGUgdGhlbQorICAgIC8vIHdpdGggdGhlIGNv
cnJlY3QgdmFsdWVzLiBUaGlzIHRpbWUgd2UgY2FuIHJlY292ZXIgYWxsIHRoZQorICAgIC8vIGZp
ZWxkcywgaW5jbHVkaW5nIHRob3NlIHRoYXQgYXJlIG9ubHkgbmVlZGVkIGZvciB0aGUgYWxsb2Nh
dGlvbi4KKyAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6
YXRpb24gOiBleGl0Lm1fbWF0ZXJpYWxpemF0aW9ucykgeworICAgICAgICBmb3IgKHVuc2lnbmVk
IHByb3BlcnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IHBy
b3BlcnR5SW5kZXgtLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBt
YXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1ZSgpOworICAg
ICAgICAgICAgY29tcGlsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJl
Y29yZCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCisgICAgICAgICAgICAg
ICAgbWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyKTsKKyAgICAgICAgICAgIGppdC5zdG9yZVB0cihH
UFJJbmZvOjpyZWdUMCwgbWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzICsgcHJvcGVydHlJbmRleCk7
CisgICAgICAgIH0KKworICAgICAgICAvLyBUaGlzIGNhbGwgYXNzdW1lcyB0aGF0IHdlIGRvbid0
IHBhc3MgYXJndW1lbnRzIG9uIHRoZSBzdGFjaworICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1h
dGVyaWFsaXphdGlvbiksCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
bWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKSwKKyAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMp
KTsKKyAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGJpdHdpc2Vf
Y2FzdDx2b2lkKj4ob3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUikpLCBHUFJJbmZvOjpub25B
cmdHUFIwKTsKKyAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgfQor
CiAgICAgLy8gU2F2ZSBhbGwgc3RhdGUgZnJvbSB3aGVyZXZlciB0aGUgZXhpdCBkYXRhIHRlbGxz
IHVzIGl0IHdhcywgaW50byB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4KICAgICAvLyB0aGUgc2Ny
YXRjaCBidWZmZXIuIFRoaXMgYWxzbyBkb2VzIHRoZSByZWJveGluZy4KICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDRlNWM4YjNmYjc5M2E4
M2IyMzY3ZmIwMGE3ZTdjMWI3NGE0ODQ5ZTAuLjRjMzgzNzM4ODZhMzVlZmY4ZDJmOTI0Y2Y0MmI3
MWQzMTFmNTM3OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3Bl
cmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25z
LmNwcApAQCAtNDgsNDkgKzQ4LDExMCBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdPYmplY3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSogZXhlYwogICAgIHJl
dHVybiBKU0ZpbmFsT2JqZWN0OjpjcmVhdGUoZXhlYywgc3RydWN0dXJlLCBidXR0ZXJmbHkpOwog
fQogCitleHRlcm4gIkMiIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qb3B1bGF0ZU9iamVj
dEluT1NSKAorICAgIEV4ZWNTdGF0ZSogZXhlYywgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRp
b24qIG1hdGVyaWFsaXphdGlvbiwKKyAgICBFbmNvZGVkSlNWYWx1ZSogZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSogdmFsdWVzKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKworICAgIC8vIFdlIGNh
bm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgorICAgIC8vIEZJWE1F
OiBXZSBhcmUgbm90IGRvaW5nIGFueXRoaW5nIHRoYXQgY2FuIEdDIGhlcmUsIGFuZCB0aGlzIGlz
CisgICAgLy8gcHJvYmFibHkgdW5uZWNlc3NhcnkuCisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZl
ckdDKHZtLmhlYXApOworCisgICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5cGUoKSkgewor
ICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDogeworICAgICAgICBKU0ZpbmFsT2JqZWN0KiBvYmpl
Y3QgPSBqc0Nhc3Q8SlNGaW5hbE9iamVjdCo+KEpTVmFsdWU6OmRlY29kZSgqZW5jb2RlZFZhbHVl
KSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsK
KworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9i
amVjdCB3aXRoLiBVc2UKKyAgICAgICAgLy8gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpIGJl
Y2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJlCisgICAgICAgIC8vIGxvd2VyLWxldmVsIGFuZCBtb3Jl
IGNvbnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6
YXRpb24gb2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUKKyAgICAgICAgLy8g
bWluaW1hbCB2aXNpYmxlIGVmZmVjdHMgb24gdGhlIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZAor
ICAgICAgICAvLyB0aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25s
eSBnZXQgaGVyZQorICAgICAgICAvLyBmcm9tIE9TUiBleGl0LgorICAgICAgICBmb3IgKFByb3Bl
cnR5TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHko
KSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9w
ZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICAgICAgY29uc3QgRXhpdFByb3Bl
cnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07Cisg
ICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJv
cGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAg
ICBpZiAoY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5p
bXBsKCkgIT0gZW50cnkua2V5KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAg
ICAgICAgICAgICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6
OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICB9CisKKyAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAgICBjYXNlIFBo
YW50b21EaXJlY3RBcmd1bWVudHM6CisgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgor
ICAgICAgICAvLyBUaG9zZSBhcmUgY29tcGxldGVseSBoYW5kbGVkIGJ5IG9wZXJhdGlvbk1hdGVy
aWFsaXplT2JqZWN0SW5PU1IKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFBoYW50b21DcmVh
dGVBY3RpdmF0aW9uOiB7CisgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiBhY3RpdmF0aW9u
ID0ganNDYXN0PEpTTGV4aWNhbEVudmlyb25tZW50Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNvZGVk
VmFsdWUpKTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhlIGFj
dGl2YXRpb24gd2l0aAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24t
PnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9w
ZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwor
ICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVWYXJQ
TG9jKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhY3RpdmF0aW9u
LT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0
KGV4ZWMtPnZtKCksIGFjdGl2YXRpb24sIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAgIH0KKworCisgICAgZGVmYXVsdDoKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICB9
Cit9CisKIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFs
aXplT2JqZWN0SW5PU1IoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1hdGVy
aWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLCBFbmNvZGVkSlNWYWx1ZSogdmFsdWVzKQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
LT5jb2RlQmxvY2soKTsKIAogICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJz
IGluIGV2aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsK
ICAgICAKICAgICBzd2l0Y2ggKG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CiAgICAgY2FzZSBQ
aGFudG9tTmV3T2JqZWN0OiB7Ci0gICAgICAgIC8vIEZpcnN0IGZpZ3VyZSBvdXQgd2hhdCB0aGUg
c3RydWN0dXJlIGlzLgorICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0cnVjdHVyZSBp
cwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CiAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykg
ewogICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJp
YWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9j
YXRpb24oKSAhPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihTdHJ1Y3R1cmVQTG9jKSkKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCisKICAgICAgICAgICAgIHN0cnVjdHVy
ZSA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1
cmUpOwotICAgIAotICAgICAgICAvLyBMZXQncyBjcmVhdGUgdGhhdCBvYmplY3QhCisKICAgICAg
ICAgSlNGaW5hbE9iamVjdCogcmVzdWx0ID0gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1
Y3R1cmUpOwotICAgIAotICAgICAgICAvLyBOb3cgZmlndXJlIG91dCB3aGF0IHRoZSBoZWNrIHRv
IHBvcHVsYXRlIHRoZSBvYmplY3Qgd2l0aC4gVXNlIGdldFByb3BlcnRpZXNDb25jdXJyZW50bHko
KQotICAgICAgICAvLyBiZWNhdXNlIHRoYXQgaGFwcGVucyB0byBiZSBsb3dlci1sZXZlbCBhbmQg
bW9yZSBjb252ZW5pZW50LiBJdCBkb2Vzbid0IGNoYW5nZSB0aGUKLSAgICAgICAgLy8gbWF0ZXJp
YWxpemF0aW9uIG9mIHRoZSBwcm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0byBoYXZlIG1pbmltYWwg
dmlzaWJsZSBlZmZlY3RzIG9uIHRoZQotICAgICAgICAvLyBzeXN0ZW0uIEFsc28sIGRvbid0IG1p
bmQgdGhhdCB0aGlzIGlzIE8obl4yKS4gSXQgZG9lc24ndCBtYXR0ZXIuIFdlIG9ubHkgZ2V0IGhl
cmUgZnJvbSBPU1IKLSAgICAgICAgLy8gZXhpdC4KLSAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVu
dHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKLSAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygp
LnNpemUoKTsgaS0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVl
JiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwotICAgICAgICAg
ICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExv
YykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGNv
ZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9
IGVudHJ5LmtleSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1Zh
bHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAK
KworICAgICAgICAvLyBUaGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5
CisgICAgICAgIC8vIG9wZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFdlIGNhbid0IGZp
bGwgdGhlbSBpbgorICAgICAgICAvLyBub3csIGJlY2F1c2UgdGhleSBtYXkgbm90IGJlIGF2YWls
YWJsZSB5ZXQgKHR5cGljYWxseQorICAgICAgICAvLyBiZWNhdXNlIHdlIGhhdmUgYSBjeWNsaWMg
ZGVwZW5kZW5jeSBncmFwaCkuCisKKyAgICAgICAgLy8gV2UgcHV0IGEgZHVtbXkgdmFsdWUgaGVy
ZSBpbiBvcmRlciB0byBhdm9pZCBzdXBlci1zdWJ0bGUKKyAgICAgICAgLy8gR0MtYW5kLU9TUi1l
eGl0IGNyYXNoZXMgaW4gY2FzZSB3ZSBoYXZlIGEgYnVnIGFuZCBzb21lCisgICAgICAgIC8vIGZp
ZWxkIGlzLCBmb3IgYW55IHJlYXNvbiwgbm90IGZpbGxlZCBsYXRlci4KKyAgICAgICAgLy8gV2Ug
dXNlIGEgcmFuZG9tLWlzaCBudW1iZXIgaW5zdGVhZCBvZiBhIHNlbnNpYmxlIHZhbHVlIGxpa2UK
KyAgICAgICAgLy8gdW5kZWZpbmVkIHRvIG1ha2UgcG9zc2libGUgYnVncyBlYXNpZXIgdG8gdHJh
Y2suCisgICAgICAgIGZvciAoUHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0
UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qo
dm0sIGVudHJ5Lm9mZnNldCwganNOdW1iZXIoMTk3MjMpKTsKKwogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIApAQCAtMTEzLDcgKzE3NCw3IEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgfQogCiAgICAg
Y2FzZSBQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbjogewotICAgICAgICAvLyBGaWd1cmUgb3V0IHdo
ZXJlIHRoZSBzY29wZSBpcworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHNjb3BlIGFu
ZCBzeW1ib2wgdGFibGUgYXJlCiAgICAgICAgIEpTU2NvcGUqIHNjb3BlID0gbnVsbHB0cjsKICAg
ICAgICAgU3ltYm9sVGFibGUqIHRhYmxlID0gbnVsbHB0cjsKICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CkBAIC0x
MzMsMTMgKzE5NCwxNyBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRp
b25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgICAgICBKU0xleGljYWxFbnZpcm9ubWVudCog
cmVzdWx0ID0gSlNMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBzY29w
ZSwgdGFibGUpOwogCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlvbi0+cHJv
cGVydGllcygpLnNpemUoKSAtIDIgPT0gdGFibGUtPnNjb3BlU2l6ZSgpKTsKLSAgICAgICAgLy8g
RmlndXJlIG91dCB3aGF0IHRvIHBvcHVsYXRlIHRoZSBhY3RpdmF0aW9uIHdpdGgKKworICAgICAg
ICAvLyBUaGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5CisgICAgICAg
IC8vIG9wZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFNlZSB0aGUgUGhhbnRvbU5ld09i
amVjdAorICAgICAgICAvLyBjYXNlIGZvciBkZXRhaWxzLgogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKICAgICAg
ICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlv
bi0+cHJvcGVydGllcygpW2ldOwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCku
a2luZCgpICE9IENsb3N1cmVWYXJQTG9jKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0g
ICAgICAgICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRp
b24oKS5pbmZvKCkpKS5zZXQoZXhlYy0+dm0oKSwgcmVzdWx0LCBKU1ZhbHVlOjpkZWNvZGUodmFs
dWVzW2ldKSk7CisgICAgICAgICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJv
cGVydHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoCisgICAgICAgICAgICAgICAgZXhlYy0+dm0o
KSwgcmVzdWx0LCBqc051bWJlcigyOTgzNCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHZh
bGlkYXRpb25FbmFibGVkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRp
b25zLmgKaW5kZXggZDE1ZjE4ZWI5YWRkMzM3OWZiNWNmMTQyZGUzNDYxM2M0ODU3NzUwNS4uYTU1
NjhmOTFiMTE3MmI1MTI5Zjg4Mzk3ODNlNzNiYzZkOGM4M2Y3YyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKQEAgLTQwLDYgKzQwLDkgQEAgSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlKikgV1QKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9i
amVjdEluT1NSKAogICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9u
KiwgRW5jb2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CiAKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKAorICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uKiwgRW5jb2RlZEpTVmFsdWUqLCBFbmNvZGVkSlNWYWx1ZSopIFdU
Rl9JTlRFUk5BTDsKKwogfSAvLyBleHRlcm4gIkMiCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpE
RkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hTZXQuaCBiL1NvdXJjZS9XVEYvd3Rm
L0hhc2hTZXQuaAppbmRleCA2YjBjOTI3MWE1NzUzMDIxZDRjNGZmNDdhNjMxZTcwZDY5ODNjMTE2
Li44YzJmNWViOTc5OGVmYjRkNGVjZjEwYTE5ODY4YWE3NTg2MDkzYWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9IYXNoU2V0LmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFNldC5oCkBA
IC0xMTcsNiArMTE3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIAogICAgICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgSGFzaFNldCYpIGNvbnN0OwogCisgICAgICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBIYXNoU2V0JikgY29uc3Q7CisKICAgICBwcml2YXRlOgogICAgICAgICBIYXNo
VGFibGVUeXBlIG1faW1wbDsKICAgICB9OwpAQCAtMzQ4LDYgKzM1MCwxMiBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4KKyAgICBpbmxpbmUgYm9vbCBIYXNoU2V0PFQs
IFUsIFY+OjpvcGVyYXRvciE9KGNvbnN0IEhhc2hTZXQmIG90aGVyKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKwogfSAvLyBuYW1lc3BhY2Ug
V1RGCiAKIHVzaW5nIFdURjo6SGFzaFNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Rp
bnlQdHJTZXQuaCBiL1NvdXJjZS9XVEYvd3RmL1RpbnlQdHJTZXQuaAppbmRleCA5M2IxOThjZjg5
ODZkM2ZlNjY4NzAyNzc3ZWIxNTAzODg0OWE1ZTZiLi43NzZhZjgyMzI4OGU4ZWM4NmM4ZTcwMjQ3
MzZkZmI3NmE1NWFiOTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaW55UHRyU2V0LmgK
KysrIGIvU291cmNlL1dURi93dGYvVGlueVB0clNldC5oCkBAIC0zNjYsNiArMzY2LDExIEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIGlzU3Vic2V0
T2Yob3RoZXIpOwogICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBUaW55UHRyU2V0
JiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsK
KyAgICB9CiAgICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBKU0M6OkRGRzo6U3RydWN0
dXJlQWJzdHJhY3RWYWx1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255679</attachid>
            <date>2015-06-26 18:02:16 -0700</date>
            <delta_ts>2015-06-29 10:22:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150626180129.patch</filename>
            <type>text/plain</type>
            <size>131915</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OTBiZTM1OWRjMjJmNjE4ZDVmYzEzZjY4Y2U3NzFiNGMyM2I2Yjg1Li44MjQ5MjI4NDlhZmViOGE2
M2UyZjQ1MjMxYTEwZDUyNWJmNTY4ZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjcgQEAKKzIwMTUtMDYtMjYgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRA
YXBwbGUuY29tPgorCisgICAgICAgIE9iamVjdCBjeWNsZXMgc2hvdWxkIG5vdCBwcmV2ZW50IGFs
bG9jYXRpb24gZWxpbWluYXRpb24vc2lua2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBk
ZmcvREZHR3JhcGguaDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6YWRkU3RydWN0dXJlU2V0
KTogQWxsb3cgZW1wdHkgc3RydWN0dXJlIHNldHMKKyAgICAgICAgKiBkZmcvREZHTGF6eU5vZGUu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkxhenlOb2RlOjpkdW1wKTogUHJldHRpZXIgZHVtcAor
ICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6Y2VsbE9w
ZXJhbmQpOiBNb3ZlIHRvIG9wSW5mbyBmb3IgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uCisg
ICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzU3RydWN0dXJlU2V0KTogQWRkIE1hdGVyaWFsaXpl
TmV3T2JqZWN0CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6b2JqZWN0TWF0ZXJpYWxpemF0aW9u
RGF0YSk6IE1vdmUgdG8gb3BJbmZvMgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlB
bmFseXNpc1BoYXNlLmNwcDogUmVtb3ZlIHVudXNlZCBoZWFkZXIKKyAgICAgICAgKiBkZmcvREZH
T2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6REZHOjpwZXJmb3JtT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uKToKKyAgICAgICAgKiBk
ZmcvREZHT2JqZWN0QWxsb2NhdGlvbkVsaW1pbmF0aW9uUGhhc2UuaDogQWRkZWQuCisgICAgICAg
ICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRo
cmVhZEltcGwpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oOiBBZGQg
YSBoYXNoIGFuZCBhIGhlbHBlciBmdW5jdGlvbiB0byBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
cgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3I6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVk
TG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6aGFzaCk6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoOjplcXVhbCk6CisgICAgICAgIChKU0M6OkRGRzo6UHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I6Om5lZWRlZEZvck1hdGVyaWFsaXphdGlvbik6CisgICAg
ICAgIChKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb246Om9wZXJhdG9yIT0pOgorICAgICAg
ICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VmFsaWRhdGU6OnZh
bGlkYXRlU1NBKTogQXNzZXJ0IHRoYXQgbW9zdCBub2RlcyBuZXZlciBzZWUgYSBwaGFudG9tIGFs
bG9jYXRpb24KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOiAKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTWF0ZXJpYWxpemVOZXdPYmpl
Y3QpOiBVc2UgdGhlIG5ldyBzdHJ1Y3R1cmVTZXQoKSBvcGVyYW5kCisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlv
bik6IE5vZGUgaGFzIGEgbmV3IGNoaWxkCisgICAgICAgICogZnRsL0ZUTE9TUkV4aXRDb21waWxl
ci5jcHA6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVzCisgICAgICAgIChKU0M6OkZUTDo6
Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25zLmNwcDogSGFuZGxlIG1h
dGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25Qb3B1bGF0
ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25NYXRlcmlhbGl6ZU9i
amVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0aW9ucy5oOiBIYW5kbGUgbWF0ZXJp
YWxpemF0aW9uIGN5Y2xlcworCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmFkZFN0cnVj
dHVyZVNldCk6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR0xhenlOb2RlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpMYXp5Tm9kZTo6ZHVtcCk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpjZWxsT3BlcmFuZCk6CisgICAgICAgIChKU0M6OkRG
Rzo6Tm9kZTo6aGFzU3RydWN0dXJlU2V0KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpvYmpl
Y3RNYXRlcmlhbGl6YXRpb25EYXRhKToKKyAgICAgICAgKiBkZmcvREZHT1NSQXZhaWxhYmlsaXR5
QW5hbHlzaXNQaGFzZS5jcHA6CisgICAgICAgICogZGZnL0RGR09iamVjdEFsbG9jYXRpb25FbGlt
aW5hdGlvblBoYXNlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OkRGRzo6cGVyZm9ybU9iamVj
dEFsbG9jYXRpb25FbGltaW5hdGlvbik6CisgICAgICAgICogZGZnL0RGR09iamVjdEFsbG9jYXRp
b25FbGltaW5hdGlvblBoYXNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTGF6eU5vZGUuY3BwLgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBkZmcvREZH
UHJvbW90ZWRIZWFwTG9jYXRpb24uaDoKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlND
OjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVyYXRvciBib29sKToKKyAgICAg
ICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcjo6bmVlZGVkRm9yTWF0ZXJp
YWxpemF0aW9uKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ckhhc2g6Omhhc2gpOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9ySGFzaDo6ZXF1YWwpOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9u
OjpvcGVyYXRvciE9KToKKyAgICAgICAgKiBkZmcvREZHVmFsaWRhdGUuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlZhbGlkYXRlOjp2YWxpZGF0ZVNTQSk6CisgICAgICAgICogZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpj
b21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0xMVk06OmNvbXBpbGVNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24pOgorICAgICAg
ICAqIGZ0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNvbXBp
bGVTdHViKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6b3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUik6CisgICAgICAgIChKU0M6OkZUTDo6
b3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUik6CisgICAgICAgICogZnRsL0ZUTE9wZXJh
dGlvbnMuaDoKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRm
Zy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6REZHOjpwZXJmb3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyk6CisgICAgICAgICogZGZnL0RG
R0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcC4KKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoK
KyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6YWRkU3RydWN0dXJlU2V0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBkZmcvREZHTGF6eU5vZGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkxhenlOb2Rl
OjpkdW1wKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6OmNlbGxPcGVyYW5kKToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNTdHJ1Y3R1cmVT
ZXQpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Om9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEp
OgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcDoKKyAg
ICAgICAgKiBkZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6cnVuKToKKyAgICAgICAg
KEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpsb3dlck5vblJlYWRpbmdP
cGVyYXRpb25zT25QaGFudG9tQWxsb2NhdGlvbnMpOgorICAgICAgICAoSlNDOjpERkc6Ok9iamVj
dEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OmZpbGxTdHJ1Y3R1cmVTZXRzKToKKyAgICAgICAgKEpT
Qzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpjcmVhdGVNYXRlcmlhbGl6ZSk6
CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6cG9wdWxh
dGVNYXRlcmlhbGl6ZSk6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlND
OjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRmZy9ERkdQcm9t
b3RlZEhlYXBMb2NhdGlvbi5oOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25E
ZXNjcmlwdG9yOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkRG
Rzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICAo
SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpuZWVkZWRGb3JNYXRlcmlhbGl6
YXRpb24pOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFz
aDo6aGFzaCk6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JI
YXNoOjplcXVhbCk6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpWYWxpZGF0ZTo6dmFsaWRhdGVTU0EpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRG
R1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29t
cGlsZU1hdGVyaWFsaXplTmV3T2JqZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2Vy
REZHVG9MTFZNOjpjb21waWxlTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uKToKKyAgICAgICAg
KiBmdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjb21waWxl
U3R1Yik6CisgICAgICAgICogZnRsL0ZUTE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpG
VEw6Om9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5PU1IpOgorICAgICAgICAoSlNDOjpGVEw6Om9w
ZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRp
b25zLmg6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTUtMDYtMjYgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgQVJNdjdB
c3NlbWJsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2M5NDBi
NGE1YjI1NDNjZDE0YmNlZDU4YjAyYzFiOTgxNTY5YmM0Yi4uMTAzMjFkMzY0YTBmMjk1ZWQ2Mzhm
MDk0MWZiNTBiMmJjYmUwYjNhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMTI2LDYgKzEyNiw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAKICAgICBkZmcv
REZHQWJzdHJhY3RIZWFwLmNwcAogICAgIGRmZy9ERkdBYnN0cmFjdFZhbHVlLmNwcAorICAgIGRm
Zy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCiAgICAgZGZnL0RGR0FyZ3VtZW50
c0VsaW1pbmF0aW9uUGhhc2UuY3BwCiAgICAgZGZnL0RGR0FyZ3VtZW50c1V0aWxpdGllcy5jcHAK
ICAgICBkZmcvREZHQXJpdGhNb2RlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZj
eHByb2oKaW5kZXggYjE0MmE2YTJjNjY3NDMwMDdhZTliNWMyYWI3Y2JkOGQxZDFkNzkxMC4uNzVk
MDQyNjRmNDE5MjkyZjI3ODllMjljMGYwMGVmOTdiMTFhZWMwZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC0zNjQsNiArMzY0LDcgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyU2NvcGUuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0SGVhcC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWJzdHJhY3RWYWx1ZS5jcHAiIC8+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1bWVudHNFbGltaW5hdGlvblBo
YXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1bWVudHNV
dGlsaXRpZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0FyaXRo
TW9kZS5jcHAiIC8+CkBAIC0xMDM3LDYgKzEwMzgsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0Fic3RyYWN0VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGRmZ1xERkdBZGphY2VuY3lMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxkZmdcREZHQWxsb2NhdG9yLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdc
REZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxkZmdcREZHQW5hbHlzaXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBcmd1bWVudFBvc2l0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxkZmdcREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGQzZTAyZTNkNDM0MDdk
YjFmMjdiNGEzYmYzNDBmYTU2MWZmM2NiNDUuLjljNTQzMDBkMTZkNDIzNmE2YzJlODMxOGM4OTY2
NmRhMThiZDlmZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qLmZpbHRlcnMKQEAgLTE2ODAsNiArMTY4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxkZmdcREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5jcHAiPgogICAgICAgPEZpbHRlcj5k
Zmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIj4KKyAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxkZmdcREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0zMzkxLDYgKzMzOTQsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRvci5oIj4KICAgICAgIDxGaWx0
ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiPgorICAgICAgPEZpbHRl
cj5kZmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGRmZ1xERkdBbmFseXNpcy5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI4OGVhMDA4OGVi
YmI0NWI2MTM1ZmIwZmVmZjBlNzY4NWVjNTJhNGUuLjIyMjNiZTlkYzJkNjkyOWRmMDA1NTY5OWZh
ZDlkZDlhNDllNzAwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NjIsNiAr
OTYyLDggQEAKIAkJNURCQjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8qIHRlc3RhcGkuanMgaW4gQ29w
eSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEQ4
NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLzsgfTsKIAkJNURCQjE1MjUxMzFE
MEJENzAwNTZBRDM2IC8qIG1pbmlkb20uanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwRDBBNDg3ODg3MDA0ODAyNTUgLyog
bWluaWRvbS5qcyAqLzsgfTsKIAkJNURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9o
YXNoX3RhYmxlIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjY5MkE4NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTYyNzdDQzIyMUIzREUyNTgwMEQxNkQyRSAv
KiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI3N0NDMjAxQjNERTI1ODAwRDE2RDJFIC8qIERG
R0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi87IH07CisJCTYyNzdDQzIzMUIzREUy
NTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNzdDQzIxMUIzREUyNTgwMEQx
NkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCAqLzsgfTsKIAkJNjJEMkQz
OEYxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEQxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovOyB9OwogCQk2MkQyRDM5MDFBREYxMDNGMDAwMjA2
QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
MkYyQUEzNzFCMEJFREUzMDA2MTBDN0EgLyogREZHTGF6eU5vZGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJBOUEyOUUxQjBCRUQ0ODAwQkQ1NENB
IC8qIERGR0xhenlOb2RlLmNwcCAqLzsgfTsKQEAgLTI2NzksNiArMjY4MSw4IEBACiAJCTVEQUZE
NkNCMTQ2QjY4NjMwMEZCRUZCNCAvKiBKU0MueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gSlNDLnhj
Y29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RERERjQ0NjE0RkVFNzIyMDBC
NEZCNEQgLyogTExJbnREZXNpcmVkT2Zmc2V0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBMTEludERlc2lyZWRPZmZzZXRzLmg7IHBhdGggPSBMTEludE9mZnNldHMvTExJbnRE
ZXNpcmVkT2Zmc2V0cy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1
REUzRDBGNDBERDhEREZCMDA0Njg3MTQgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWlsYWJpbGl0eS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2Mjc3Q0MyMDFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjI3N0NDMjExQjNERTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25DeWNsZVNpbmtp
bmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBbGxvY2F0aW9u
Q3ljbGVTaW5raW5nUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5n
UGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjJBOUEyOUUxQjBCRUQ0ODAw
QkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0xhenlOb2RlLmNwcDsgcGF0aCA9IGRmZy9ERkdMYXp5Tm9kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyQTlBMjlGMUIwQkVENDgwMEJENTRDQSAvKiBERkdM
YXp5Tm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMYXp5Tm9kZS5o
OyBwYXRoID0gZGZnL0RGR0xhenlOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTYyRDJEMzhEMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0aW9uUmFyZURhdGEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDg1Miw2ICs0ODU2LDggQEAKIAkJCQkwRjU1QzE5
MzE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5jcHAgKi8sCiAJCQkJMEY2MjAx
NkYxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUuaCAqLywKIAkJCQkwRjY2RTE2
ODE0REYzRjEzMDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovLAorCQkJCTYyNzdDQzIw
MUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwICov
LAorCQkJCTYyNzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5r
aW5nUGhhc2UuaCAqLywKIAkJCQkwRkI0QjUxOTE2QjYyNzcyMDAzRjY5NkIgLyogREZHQWxsb2Nh
dG9yLmggKi8sCiAJCQkJQTczNzgxMDkxNzk5RUEyRTAwODE3NTMzIC8qIERGR0FuYWx5c2lzLmgg
Ki8sCiAJCQkJMEYxRTNBNDMxNTM0Q0JBRDAwMEY5NDU2IC8qIERGR0FyZ3VtZW50UG9zaXRpb24u
aCAqLywKQEAgLTYxMjYsNiArNjEzMiw3IEBACiAJCQkJMEYyQjY2RTkxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZFQTE3QjZC
NUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBN0JEQUVDQjE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk2Mjc3Q0MyMzFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxODBFMTZGNUNEMDBC
MzQ0NjAgLyogSlNCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJENERFOTE5ODMyREFDMDA3
RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDBEMTdENzBFOEFE
NEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC03MTAxLDYg
KzcxMDgsNyBAQAogCQkJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc3QTQyM0QxN0EwQkJGRDAw
QThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjU1QzE5
NDE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk2Mjc3Q0MyMjFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2lu
Z1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzIxMTg3NzUwNTYwMDgzQjY4NyAv
KiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyRDREREQxOTgzMkQzNDAw
N0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2Mzk0ODQx
NUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2lu
Z1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xl
U2lua2luZ1BoYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzZhZGM0NGRiZDUwNWU3NjQ1Zjc3NDIzODRi
NjhkM2Y0MDVhN2JkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCkBAIC0wLDAgKzEsMjA1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCIKKwor
I2lmIEVOQUJMRShERkdfSklUKQorCisjaW5jbHVkZSAiREZHQmxvY2tNYXBJbmxpbmVzLmgiCisj
aW5jbHVkZSAiREZHQ29tYmluZWRMaXZlbmVzcy5oIgorI2luY2x1ZGUgIkRGR0dyYXBoLmgiCisj
aW5jbHVkZSAiREZHSW5zZXJ0aW9uU2V0LmgiCisjaW5jbHVkZSAiREZHTGF6eU5vZGUuaCIKKyNp
bmNsdWRlICJERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCIKKyNpbmNsdWRlICJERkdPU1JBdmFp
bGFiaWxpdHlBbmFseXNpc1BoYXNlLmgiCisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNsdWRl
ICJERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIgorI2luY2x1ZGUgIkRGR1NTQUNhbGN1bGF0b3Iu
aCIKKyNpbmNsdWRlICJERkdWYWxpZGF0ZS5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKwor
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgeworCituYW1lc3BhY2UgeworCitib29sIHZl
cmJvc2UgPSBmYWxzZTsKKworLy8gSW4gb3JkZXIgdG8gc2luayBvYmplY3QgY3ljbGVzLCB3ZSB1
c2UgYSBwb2ludHMtdG8gYW5hbHlzaXMgY291cGxlZAorLy8gd2l0aCBhbiBlc2NhcGUgYW5hbHlz
aXMuIFRoaXMgYW5hbHlzaXMgaXMgYWN0dWFsbHkgc2ltaWxhciB0byBhbgorLy8gYWJzdHJhY3Qg
aW50ZXJwcmV0ZXIgZm9jdXNlZCBvbiBsb2NhbCBhbGxvY2F0aW9ucyBhbmQgaWdub3JpbmcKKy8v
IGV2ZXJ5dGhpbmcgZWxzZS4KKy8vCisvLyBXZSByZXByZXNlbnQgdGhlIGxvY2FsIGhlYXAgdXNp
bmcgdHdvIG1hcHBpbmdzOgorLy8KKy8vIC0gQSBzZXQgb2YgdGhlIGxvY2FsIGFsbG9jYXRpb25z
IHByZXNlbnQgaW4gdGhlIGZ1bmN0aW9uLCB3aGVyZQorLy8gICBlYWNoIG9mIHRob3NlIGhhdmUg
YSBmdXJ0aGVyIG1hcHBpbmcgZnJvbQorLy8gICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciB0
byBsb2NhbCBhbGxvY2F0aW9ucyB0aGV5IG11c3QgcG9pbnQKKy8vICAgdG8uCisvLworLy8gLSBB
ICJwb2ludGVyIiBtYXBwaW5nIGZyb20gbm9kZXMgdG8gbG9jYWwgYWxsb2NhdGlvbnMsIGlmIHRo
ZXkgbXVzdAorLy8gICBiZSBlcXVhbCB0byBzYWlkIGxvY2FsIGFsbG9jYXRpb24gYW5kIGFyZSBj
dXJyZW50bHkgbGl2ZS4gVGhpcworLy8gICBjYW4gYmUgYmVjYXVzZSB0aGUgbm9kZSBpcyB0aGUg
YWN0dWFsIG5vZGUgdGhhdCBjcmVhdGVkIHRoZQorLy8gICBhbGxvY2F0aW9uLCBvciBhbnkgb3Ro
ZXIgbm9kZSB0aGF0IG11c3QgY3VycmVudGx5IHBvaW50IHRvIGl0IC0KKy8vICAgd2UgZG9uJ3Qg
bWFrZSBhIGRpZmZlcmVuY2UuCisvLworLy8gVGhlIGZvbGxvd2luZyBncmFwaCBpcyBhIG1vdGl2
YXRpb24gZm9yIHdoeSB3ZSBzZXBhcmF0ZSBhbGxvY2F0aW9ucworLy8gZnJvbSBwb2ludGVyczoK
Ky8vCisvLyBCbG9jayAjMAorLy8gIDA6IE5ld09iamVjdCh7fSkKKy8vICAxOiBOZXdPYmplY3Qo
e30pCisvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShA
MCwge3g6MH0pCisvLyAgMjogR2V0QnlPZmZzZXQoQDAsIHgpCisvLyAgLTogSnVtcCgjMSkKKy8v
CisvLyBCbG9jayAjMQorLy8gIC06IFJldHVybihAMikKKy8vCisvLyBIZXJlLCB3ZSBuZWVkIHRv
IHJlbWVtYmVyIGluIGJsb2NrICMxIHRoYXQgQDIgcG9pbnRzIHRvIGEgbG9jYWwKKy8vIGFsbG9j
YXRpb24gd2l0aCBhcHByb3ByaWF0ZSBmaWVsZHMgYW5kIHN0cnVjdHVyZXMgaW5mb3JtYXRpb24K
Ky8vIChiZWNhdXNlIHdlIHNob3VsZCBiZSBhYmxlIHRvIHBsYWNlIGEgbWF0ZXJpYWxpemF0aW9u
IG9uIHRvcCBvZgorLy8gYmxvY2sgIzEgaGVyZSksIGV2ZW4gdGhvdWdoIEAxIGlzIGRlYWQuIFdl
ICpjb3VsZCoganVzdCBrZWVwIEAxCisvLyBhcnRpZmljaWFsbHkgYWxpdmUgaGVyZSwgYnV0IHRo
ZXJlIGlzIG5vIHJlYWwgcmVhc29uIHRvIGRvIGl0OgorLy8gYWZ0ZXIgYWxsLCBieSB0aGUgZW5k
IG9mIGJsb2NrICMwLCBAMSBhbmQgQDIgc2hvdWxkIGJlIGNvbXBsZXRlbHkKKy8vIGludGVyY2hh
bmdlYWJsZSwgYW5kIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IgdXMgdG8gYXJ0aWZpY2lhbGx5IG1h
a2UKKy8vIEAxIG1vcmUgaW1wb3J0YW50LgorLy8KKy8vIEFuIGltcG9ydGFudCBwb2ludCB0byBj
b25zaWRlciB0byB1bmRlcnN0YW5kIHRoaXMgc2VwYXJhdGlvbiBpcworLy8gdGhhdCB3ZSBzaG91
bGQgdGhpbmsgb2YgdGhlIGxvY2FsIGhlYXAgYXMgZm9sbG93OiB3ZSBoYXZlIGEKKy8vIGJ1bmNo
IG9mIG5vZGVzIHRoYXQgYXJlIHBvaW50ZXJzIHRvICJhbGxvY2F0aW9ucyIgdGhhdCBsaXZlCisv
LyBzb21lcGxhY2Ugb24gdGhlIGhlYXAsIGFuZCB0aG9zZSBhbGxvY2F0aW9ucyBjYW4gaGF2ZSBw
b2ludGVycyBpbgorLy8gYmV0d2VlbiB0aGVtc2VsdmVzIGFzIHdlbGwuIFdlIHNob3VsZG4ndCBj
YXJlIGFib3V0IHdoYXRldmVyCisvLyBuYW1lcyB3ZSBnaXZlIHRvIHRoZSBhbGxvY2F0aW9ucyA7
IHdoYXQgbWF0dGVycyB3aGVuCisvLyBjb21wYXJpbmcvbWVyZ2luZyB0d28gaGVhcHMgaXMgdGhl
IGlzb21vcnBoaXNtL2NvbXBhcmlzb24gYmV0d2VlbgorLy8gdGhlIGFsbG9jYXRpb24gZ3JhcGhz
IGFzIHNlZW4gYnkgdGhlIG5vZGVzLgorLy8KKy8vIEZvciBpbnN0YW5jZSwgaW4gdGhlIGZvbGxv
d2luZyBncmFwaDoKKy8vCisvLyBCbG9jayAjMAorLy8gIDA6IE5ld09iamVjdCh7fSkKKy8vICAt
OiBCcmFuY2goIzEsICMyKQorLy8KKy8vIEJsb2NrICMxCisvLyAgMTogTmV3T2JqZWN0KHt9KQor
Ly8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkKKy8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4
OjB9KQorLy8gIC06IEp1bXAoIzMpCisvLworLy8gQmxvY2sgIzIKKy8vICAyOiBOZXdPYmplY3Qo
e30pCisvLyAgLTogUHV0QnlPZmZzZXQoQDIsIHVuZGVmaW5lZCwgeCkKKy8vICAtOiBQdXRTdHJ1
Y3R1cmUoQDIsIHt4OjB9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMiwgeCkKKy8vICAtOiBQ
dXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorLy8gIC06IEp1bXAoIzMpCisvLworLy8gQmxvY2sgIzMK
Ky8vICAtOiBSZXR1cm4oQDApCisvLworLy8gd2Ugc2hvdWxkIHRoaW5rIG9mIHRoZSBoZWFwcyBh
dCB0YWlsIG9mIGJsb2NrcyAjMSBhbmQgIzIgYXMgYmVpbmcKKy8vIGV4YWN0bHkgdGhlIHNhbWUs
IGV2ZW4gdGhvdWdoIG9uZSBoYXMgQDAueCBwb2ludGluZyB0byBAMSBhbmQgdGhlCisvLyBvdGhl
ciBoYXMgQDAueCBwb2ludGluZyB0byBAMiwgYmVjYXVzZSBpbiBlc3NlbmNlIHRoaXMgc2hvdWxk
IG5vdAorLy8gYmUgZGlmZmVyZW50IGZyb20gdGhlIGdyYXBoIHdoZXJlIHdlIGhvaXN0ZWQgQDEg
YW5kIEAyIGludG8gYQorLy8gc2luZ2xlIGFsbG9jYXRpb24gaW4gYmxvY2sgIzAuIFdlIGN1cnJl
bnRseSB3aWxsIG5vdCBoYW5kbGUgdGhpcworLy8gY2FzZSwgYmVjYXVzZSB3ZSBtZXJnZSBhbGxv
Y2F0aW9ucyBiYXNlZCBvbiB0aGUgbm9kZSB0aGV5IGFyZQorLy8gY29taW5nIGZyb20sIGJ1dCB0
aGlzIGlzIG9ubHkgYSB0ZWNobmljYWxpdHkgZm9yIHRoZSBzYWtlIG9mCisvLyBzaW1wbGljaXR5
IHRoYXQgc2hvdWxkbid0IGhpZGUgdGhlIGRlZXBlciBpZGVhIG91dGxpbmVkIGhlcmUuCisKK2Ns
YXNzIEFsbG9jYXRpb24geworcHVibGljOgorICAgIC8vIFdlIHVzZSBFc2NhcGVkIGFzIGEgc3Bl
Y2lhbCBhbGxvY2F0aW9uIGtpbmQgYmVjYXVzZSB3aGVuIHdlCisgICAgLy8gZGVjaWRlIHRvIHNp
bmsgYW4gYWxsb2NhdGlvbiwgd2Ugc3RpbGwgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGl0CisgICAg
Ly8gb25jZSBpdCBpcyBlc2NhcGVkIGlmIGl0IHN0aWxsIGhhcyBwb2ludGVycyB0byBpdCBpbiBv
cmRlciB0bworICAgIC8vIHJlcGxhY2UgYW55IHVzZSBvZiB0aG9zZSBwb2ludGVycyBieSB0aGUg
Y29ycmVzcG9uZGluZworICAgIC8vIG1hdGVyaWFsaXphdGlvbgorICAgIGVudW0gY2xhc3MgS2lu
ZCB7IEVzY2FwZWQsIE9iamVjdCwgQWN0aXZhdGlvbiwgRnVuY3Rpb24gfTsKKworICAgIGV4cGxp
Y2l0IEFsbG9jYXRpb24oTm9kZSogaWRlbnRpZmllciA9IG51bGxwdHIsIEtpbmQga2luZCA9IEtp
bmQ6OkVzY2FwZWQpCisgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgICAg
ICwgbV9raW5kKGtpbmQpCisgICAgeworICAgIH0KKworCisgICAgY29uc3QgSGFzaE1hcDxQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+JiBmaWVsZHMoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIG1fZmllbGRzOworICAgIH0KKworICAgIE5vZGUqIGdldChQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZmll
bGRzLmdldChkZXNjcmlwdG9yKTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBzZXQoUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvciwgTm9kZSogdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBQb2ludGluZyB0byBhbnl0aGluZyBlbHNlIHRoYW4gYW4gdW5lc2NhcGVkIGxvY2Fs
CisgICAgICAgIC8vIGFsbG9jYXRpb24gaXMgcmVwcmVzZW50ZWQgYnkgc2ltcGx5IG5vdCBoYXZp
bmcgdGhlCisgICAgICAgIC8vIGZpZWxkCisgICAgICAgIGlmICh2YWx1ZSkKKyAgICAgICAgICAg
IG1fZmllbGRzLnNldChkZXNjcmlwdG9yLCB2YWx1ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIG1fZmllbGRzLnJlbW92ZShkZXNjcmlwdG9yKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOwor
ICAgIH0KKworICAgIHZvaWQgcmVtb3ZlKFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2Ny
aXB0b3IpCisgICAgeworICAgICAgICBzZXQoZGVzY3JpcHRvciwgbnVsbHB0cik7CisgICAgfQor
CisgICAgYm9vbCBoYXNTdHJ1Y3R1cmVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAo
a2luZCgpKSB7CisgICAgICAgIGNhc2UgS2luZDo6T2JqZWN0OgorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIEFsbG9jYXRpb24mIHNldFN0cnVjdHVyZXMoY29uc3QgU3Ry
dWN0dXJlU2V0JiBzdHJ1Y3R1cmVzKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1N0cnVjdHVy
ZXMoKSAmJiAhc3RydWN0dXJlcy5pc0VtcHR5KCkpOworICAgICAgICBtX3N0cnVjdHVyZXMgPSBz
dHJ1Y3R1cmVzOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgQWxsb2NhdGlv
biYgbWVyZ2VTdHJ1Y3R1cmVzKGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7
CisgICAgICAgIEFTU0VSVChoYXNTdHJ1Y3R1cmVzKCkgfHwgc3RydWN0dXJlcy5pc0VtcHR5KCkp
OworICAgICAgICBtX3N0cnVjdHVyZXMubWVyZ2Uoc3RydWN0dXJlcyk7CisgICAgICAgIHJldHVy
biAqdGhpczsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBmaWx0ZXJTdHJ1Y3R1cmVzKGNvbnN0
IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNTdHJ1
Y3R1cmVzKCkpOworICAgICAgICBtX3N0cnVjdHVyZXMuZmlsdGVyKHN0cnVjdHVyZXMpOworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1
Y3R1cmVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZXM7CisgICAg
fQorCisgICAgTm9kZSogaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQorCisgICAgS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9CisKKyAgICBib29s
IGlzRXNjYXBlZEFsbG9jYXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGtpbmQo
KSA9PSBLaW5kOjpFc2NhcGVkOworICAgIH0KKworICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9u
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2tpbmQgPT0gS2luZDo6T2JqZWN0Owor
ICAgIH0KKworICAgIGJvb2wgaXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9raW5kID09IEtpbmQ6OkFjdGl2YXRpb247CisgICAgfQorCisgICAg
Ym9vbCBpc0Z1bmN0aW9uQWxsb2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
bV9raW5kID09IEtpbmQ6OkZ1bmN0aW9uOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShj
b25zdCBBbGxvY2F0aW9uJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2lk
ZW50aWZpZXIgPT0gb3RoZXIubV9pZGVudGlmaWVyCisgICAgICAgICAgICAmJiBtX2tpbmQgPT0g
b3RoZXIubV9raW5kCisgICAgICAgICAgICAmJiBtX2ZpZWxkcyA9PSBvdGhlci5tX2ZpZWxkcwor
ICAgICAgICAgICAgJiYgbV9zdHJ1Y3R1cmVzID09IG90aGVyLm1fc3RydWN0dXJlczsKKyAgICB9
CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgeworICAgICAgICBkdW1wSW5Db250
ZXh0KG91dCwgbnVsbHB0cik7CisgICAgfQorCisgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50
U3RyZWFtJiBvdXQsIER1bXBDb250ZXh0KiBjb250ZXh0KSBjb25zdAorICAgIHsKKyAgICAgICAg
c3dpdGNoIChtX2tpbmQpIHsKKyAgICAgICAgY2FzZSBLaW5kOjpFc2NhcGVkOgorICAgICAgICAg
ICAgb3V0LnByaW50KCJFc2NhcGVkIik7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBj
YXNlIEtpbmQ6Ok9iamVjdDoKKyAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0Iik7CisgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEtpbmQ6OkZ1bmN0aW9uOgorICAgICAgICAg
ICAgb3V0LnByaW50KCJGdW5jdGlvbiIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
Y2FzZSBLaW5kOjpBY3RpdmF0aW9uOgorICAgICAgICAgICAgb3V0LnByaW50KCJBY3RpdmF0aW9u
Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBvdXQucHJpbnQoIkFs
bG9jYXRpb24oIik7CisgICAgICAgIGlmICghbV9zdHJ1Y3R1cmVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIG91dC5wcmludChpbkNvbnRleHQobV9zdHJ1Y3R1cmVzLCBjb250ZXh0KSk7CisgICAg
ICAgIGlmICghbV9maWVsZHMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBpZiAoIW1fc3RydWN0
dXJlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgb3V0LnByaW50KCIsICIpOworICAgICAg
ICAgICAgb3V0LnByaW50KG1hcER1bXAobV9maWVsZHMsICIgPT4gIyIsICIsICIpKTsKKyAgICAg
ICAgfQorICAgICAgICBvdXQucHJpbnQoIikiKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgTm9k
ZSogbV9pZGVudGlmaWVyOworICAgIEtpbmQgbV9raW5kOworICAgIEhhc2hNYXA8UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiBtX2ZpZWxkczsKKyAgICBTdHJ1Y3R1cmVTZXQgbV9z
dHJ1Y3R1cmVzOworfTsKKworY2xhc3MgTG9jYWxIZWFwIHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0
aW9uJiBuZXdBbGxvY2F0aW9uKE5vZGUqIG5vZGUsIEFsbG9jYXRpb246OktpbmQga2luZCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVCghbV9wb2ludGVycy5jb250YWlucyhub2RlKSAmJiAhaXNBbGxv
Y2F0aW9uKG5vZGUpKTsKKyAgICAgICAgbV9wb2ludGVycy5hZGQobm9kZSwgbm9kZSk7CisgICAg
ICAgIHJldHVybiBtX2FsbG9jYXRpb25zLnNldChub2RlLCBBbGxvY2F0aW9uKG5vZGUsIGtpbmQp
KS5pdGVyYXRvci0+dmFsdWU7CisgICAgfQorCisgICAgYm9vbCBpc0FsbG9jYXRpb24oTm9kZSog
aWRlbnRpZmllcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25zLmNv
bnRhaW5zKGlkZW50aWZpZXIpOworICAgIH0KKworICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIGZ1
bmRhbWVudGFsbHkgZGlmZmVyZW50IGZyb20KKyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKCkg
YmVsb3cuIGdldEFsbG9jYXRpb24oKSB0YWtlcyBhcyBhcmd1bWVudAorICAgIC8vIGEgbm9kZS1h
cy1pZGVudGlmaWVyLCB3aGlsZSBvbmx5TG9jYWxBbGxvY2F0aW9uKCkgdGFrZXMgYXMKKyAgICAv
LyBhcmd1bWVudCBhIG5vZGUtYXMtbm9kZS4gSW4gdGhlIGV4YW1wbGUgZ3JhcGggYWJvdmUsIGF0
IGhlYWQKKyAgICAvLyBvZiBibG9jayAjMSwgZ2V0QWxsb2NhdGlvbigjQDEpIGlzIE9iamVjdEFs
bG9jYXRpb24oI0AxLCBbe31dKQorICAgIC8vIHdoaWxlIG9ubHlMb2NhbEFsbG9jYXRpb24oQDEp
IGlzIG51bGwgKGJ1dAorICAgIC8vIG9ubHlMb2NhbEFsbG9jYXRpb24oQDIpID0gZ2V0QWxsb2Nh
dGlvbigjQDEpKQorICAgIEFsbG9jYXRpb24mIGdldEFsbG9jYXRpb24oTm9kZSogaWRlbnRpZmll
cikKKyAgICB7CisgICAgICAgIGF1dG8gaXRlciA9IG1fYWxsb2NhdGlvbnMuZmluZChpZGVudGlm
aWVyKTsKKyAgICAgICAgQVNTRVJUKGl0ZXIgIT0gbV9hbGxvY2F0aW9ucy5lbmQoKSk7CisgICAg
ICAgIHJldHVybiBpdGVyLT52YWx1ZTsKKyAgICB9CisKKyAgICB2b2lkIG5ld1BvaW50ZXIoTm9k
ZSogbm9kZSwgTm9kZSogaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9hbGxv
Y2F0aW9ucy5jb250YWlucyhub2RlKSAmJiAhbV9wb2ludGVycy5jb250YWlucyhub2RlKSk7Cisg
ICAgICAgIEFTU0VSVChpc0FsbG9jYXRpb24oaWRlbnRpZmllcikpOworICAgICAgICBtX3BvaW50
ZXJzLmFkZChub2RlLCBpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICBOb2RlKiBmb2xsb3coTm9k
ZSogbm9kZSkgY29uc3QKKyAgICB7CisgICAgICAgIGF1dG8gaXRlciA9IG1fcG9pbnRlcnMuZmlu
ZChub2RlKTsKKyAgICAgICAgQVNTRVJUKGl0ZXIgPT0gbV9wb2ludGVycy5lbmQoKSB8fCBtX2Fs
bG9jYXRpb25zLmNvbnRhaW5zKGl0ZXItPnZhbHVlKSk7CisgICAgICAgIHJldHVybiBpdGVyID09
IG1fcG9pbnRlcnMuZW5kKCkgPyBudWxscHRyIDogaXRlci0+dmFsdWU7CisgICAgfQorCisgICAg
Tm9kZSogZm9sbG93KFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKSBjb25zdAorICAgIHsK
KyAgICAgICAgY29uc3QgQWxsb2NhdGlvbiYgYmFzZSA9IG1fYWxsb2NhdGlvbnMuZmluZChsb2Nh
dGlvbi5iYXNlKCkpLT52YWx1ZTsKKyAgICAgICAgYXV0byBpdGVyID0gYmFzZS5maWVsZHMoKS5m
aW5kKGxvY2F0aW9uLmRlc2NyaXB0b3IoKSk7CisKKyAgICAgICAgaWYgKGl0ZXIgPT0gYmFzZS5m
aWVsZHMoKS5lbmQoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJl
dHVybiBpdGVyLT52YWx1ZTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxv
Y2F0aW9uKE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9s
bG93KG5vZGUpOworICAgICAgICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgICAgICByZXR1cm4gJmdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7Cisg
ICAgfQorCisgICAgQWxsb2NhdGlvbiogb25seUxvY2FsQWxsb2NhdGlvbihQcm9tb3RlZEhlYXBM
b2NhdGlvbiBsb2NhdGlvbikKKyAgICB7CisgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSBmb2xs
b3cobG9jYXRpb24pOworICAgICAgICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gJmdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7
CisgICAgfQorCisgICAgdm9pZCBzZXRXYW50RXNjYXBlZXMoKQorICAgIHsKKyAgICAgICAgbV93
YW50RXNjYXBlZXMgPSB0cnVlOworICAgIH0KKworICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRp
b24+IHRha2VFc2NhcGVlcygpCisgICAgeworICAgICAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0
aW9uPiByZXN1bHQ7CisgICAgICAgIHJlc3VsdC5zd2FwKG1fZXNjYXBlZXMpOworICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKE5vZGUqIG5vZGUpCisgICAg
eworICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAo
IWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXNjYXBlQWxsb2Nh
dGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IExvY2FsSGVh
cCYgb3RoZXIpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWYWxpZCgpICYmIG90aGVyLmlzVmFs
aWQoKSk7CisgICAgICAgIEFTU0VSVCghbV93YW50RXNjYXBlZXMpOworCisgICAgICAgIGlmICgh
cmVhY2hlZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQob3RoZXIucmVhY2hlZCgpKTsKKyAgICAg
ICAgICAgICp0aGlzID0gb3RoZXI7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBIYXNoU2V0PE5vZGUqPiB0b0VzY2FwZTsKKworICAgICAgICBmb3IgKGF1dG8mIHBh
aXIgOiBvdGhlci5tX2FsbG9jYXRpb25zKQorICAgICAgICAgICAgbV9hbGxvY2F0aW9ucy5hZGQo
cGFpci5rZXksIHBhaXIudmFsdWUpOworICAgICAgICBmb3IgKGF1dG8mIHBhaXIgOiBtX2FsbG9j
YXRpb25zKSB7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBvdGhlci5tX2FsbG9jYXRpb25zLmZp
bmQocGFpci5rZXkpOworCisgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGl0IGFuZCB0aGV5IGRv
bid0LCBpdCBkaWVkIGZvciB0aGVtIGJ1dCB3ZQorICAgICAgICAgICAgLy8gYXJlIGtlZXBpbmcg
aXQgYWxpdmUgZnJvbSBhbm90aGVyIGZpZWxkIHNvbWV3aGVyZS4KKyAgICAgICAgICAgIC8vIFRo
ZXJlIGlzIG5vdGhpbmcgdG8gZG8gLSB3ZSB3aWxsIGJlIGVzY2FwZWQKKyAgICAgICAgICAgIC8v
IGF1dG9tYXRpY2FsbHkgd2hlbiB3ZSBoYW5kbGUgdGhhdCBvdGhlciBmaWVsZC4KKyAgICAgICAg
ICAgIC8vIFRoaXMgd2lsbCBhbHNvIGhhcHBlbiBmb3IgYWxsb2NhdGlvbiB0aGF0IHdlIGhhdmUg
YW5kCisgICAgICAgICAgICAvLyB0aGV5IGRvbid0LCBhbmQgYWxsIG9mIHRob3NlIHdpbGwgZ2V0
IHBydW5lZC4KKyAgICAgICAgICAgIGlmIChpdGVyID09IG90aGVyLm1fYWxsb2NhdGlvbnMuZW5k
KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmIChwYWlyLnZh
bHVlLmtpbmQoKSAhPSBpdGVyLT52YWx1ZS5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICB0b0Vz
Y2FwZS5hZGQocGFpci5rZXkpOworICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZmll
bGQgOiBpdGVyLT52YWx1ZS5maWVsZHMoKSkKKyAgICAgICAgICAgICAgICAgICAgdG9Fc2NhcGUu
YWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
QWxsb2NhdGlvbiYgbXkgPSBwYWlyLnZhbHVlOworICAgICAgICAgICAgICAgIGNvbnN0IEFsbG9j
YXRpb24mIHRoZWlyID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgVmVjdG9yPFByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yPiB0b1JlbW92ZTsKKyAgICAgICAgICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIHBhaXIgOiBteS5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRv
IGl0ZXIgPSB0aGVpci5maWVsZHMoKS5maW5kKHBhaXIua2V5KTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGl0ZXIgPT0gdGhlaXIuZmllbGRzKCkuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRvRXNjYXBlLmFkZChwYWlyLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRvUmVtb3ZlLmFwcGVuZChwYWlyLmtleSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaXRlci0+dmFsdWUgIT0gcGFpci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
dG9Fc2NhcGUuYWRkKHBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgdG9Fc2Nh
cGUuYWRkKGl0ZXItPnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFw
cGVuZChwYWlyLmtleSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogdGhlaXIuZmllbGRzKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG15LmZpZWxkcygpLmNvbnRhaW5zKHBhaXIua2V5
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAg
ICB0b0VzY2FwZS5hZGQocGFpci52YWx1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIGZvciAoUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZmllbGQgOiB0b1JlbW92ZSkK
KyAgICAgICAgICAgICAgICAgICAgbXkucmVtb3ZlKGZpZWxkKTsKKyAgICAgICAgICAgICAgICBt
eS5tZXJnZVN0cnVjdHVyZXModGhlaXIuc3RydWN0dXJlcygpKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorCisgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9SZW1vdmU7CisgICAgICAgIGZvciAo
Y29uc3QgYXV0byYgcGFpciA6IG1fcG9pbnRlcnMpIHsKKyAgICAgICAgICAgIGF1dG8gaXRlciA9
IG90aGVyLm1fcG9pbnRlcnMuZmluZChwYWlyLmtleSk7CisgICAgICAgICAgICBpZiAoaXRlciA9
PSBvdGhlci5tX3BvaW50ZXJzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgdG9Fc2NhcGUuYWRk
KHBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChwYWlyLmtleSk7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZXItPnZhbHVlICE9IHBhaXIudmFsdWUpIHsKKyAg
ICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQocGFpci52YWx1ZSk7CisgICAgICAgICAgICAgICAg
dG9Fc2NhcGUuYWRkKGl0ZXItPnZhbHVlKTsKKyAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBl
bmQocGFpci5rZXkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoY29u
c3QgYXV0byYgcGFpciA6IG90aGVyLm1fcG9pbnRlcnMpIHsKKyAgICAgICAgICAgIGlmIChtX3Bv
aW50ZXJzLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIHRvRXNjYXBlLmFkZChwYWlyLnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBm
b3IgKE5vZGUqIHBvaW50ZXIgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgIG1fcG9pbnRlcnMucmVt
b3ZlKHBvaW50ZXIpOworCisgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvRXNjYXBl
KQorICAgICAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihpZGVudGlmaWVyKTsKKworICAgICAgICBp
ZiAoIUFTU0VSVF9ESVNBQkxFRCkgeworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWly
IDogbV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHBhaXIsIHBh
aXIudmFsdWUuaXNFc2NhcGVkQWxsb2NhdGlvbigpIHx8IG90aGVyLm1fYWxsb2NhdGlvbnMuY29u
dGFpbnMocGFpci5rZXkpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzIG5v
IHJlbWFpbmluZyBwb2ludGVyIHRvIGFuIGFsbG9jYXRpb24sIHdlIGNhbgorICAgICAgICAvLyBy
ZW1vdmUgaXQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGZvciBlc2NhcGVkIGFsbG9jYXRpb25z
LAorICAgICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgbWVyZ2UgbGl2ZW5lc3MtcHJ1bmVkIGhlYXBz
IGluIHRoZSBmaXJzdAorICAgICAgICAvLyBwbGFjZS4KKyAgICAgICAgcHJ1bmUoKTsKKworICAg
ICAgICBBU1NFUlQoaXNWYWxpZCgpKTsKKyAgICB9CisKKyAgICB2b2lkIHBydW5lQnlMaXZlbmVz
cyhjb25zdCBIYXNoU2V0PE5vZGUqPiYgbGl2ZSkKKyAgICB7CisgICAgICAgIFZlY3RvcjxOb2Rl
Kj4gdG9SZW1vdmU7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1fcG9pbnRlcnMp
IHsKKyAgICAgICAgICAgIGlmICghbGl2ZS5jb250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAg
ICAgICAgdG9SZW1vdmUuYXBwZW5kKHBhaXIua2V5KTsKKyAgICAgICAgfQorICAgICAgICBmb3Ig
KE5vZGUqIG5vZGUgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgIG1fcG9pbnRlcnMucmVtb3ZlKG5v
ZGUpOworICAgICAgICAKKyAgICAgICAgcHJ1bmUoKTsKKyAgICB9CisKKyAgICBib29sIGlzVmFs
aWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgLy8gUG9pbnRlcnMgc2hvdWxkIHBvaW50IHRvIGFu
IGFjdHVhbCBhbGxvY2F0aW9uCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1fcG9p
bnRlcnMpIHsKKyAgICAgICAgICAgIGlmICghcGFpci52YWx1ZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX2FsbG9jYXRpb25zLmZpbmQo
cGFpci52YWx1ZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBtX2FsbG9jYXRpb25zLmVuZCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgcGFpciA6IG1fYWxsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIC8vIEZp
ZWxkcyBzaG91bGQgcG9pbnQgdG8gYW4gYWN0dWFsIGFsbG9jYXRpb24KKyAgICAgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgZmllbGQgOiBwYWlyLnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKCFmaWVsZC52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5maW5kKGZpZWxk
LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlciA9PSBtX2FsbG9jYXRpb25zLmVuZCgp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IExvY2FsSGVhcCYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaXNW
YWxpZCgpICYmIG90aGVyLmlzVmFsaWQoKSk7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25z
ID09IG90aGVyLm1fYWxsb2NhdGlvbnMKKyAgICAgICAgICAgICYmIG1fcG9pbnRlcnMgPT0gb3Ro
ZXIubV9wb2ludGVyczsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTG9jYWxI
ZWFwJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVy
KTsKKyAgICB9CisKKyAgICBjb25zdCBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBhbGxvY2F0
aW9ucygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9uczsKKyAgICB9
CisKKyAgICBjb25zdCBIYXNoTWFwPE5vZGUqLCBOb2RlKj4gcG9pbnRlcnMoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIG1fcG9pbnRlcnM7CisgICAgfQorCisgICAgdm9pZCBkdW1wKFBy
aW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgeworICAgICAgICBvdXQucHJpbnQoIiAgQWxsb2Nh
dGlvbnM6XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9hbGxvY2F0aW9u
cykKKyAgICAgICAgICAgIG91dC5wcmludCgiICAgICMiLCBwYWlyLmtleSwgIjogIiwgcGFpci52
YWx1ZSwgIlxuIik7CisgICAgICAgIG91dC5wcmludCgiICBQb2ludGVyczpcbiIpOworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBtX3BvaW50ZXJzKQorICAgICAgICAgICAgb3V0LnBy
aW50KCIgICAgIiwgcGFpci5rZXksICIgPT4gIyIsIHBhaXIudmFsdWUsICJcbiIpOworICAgIH0K
KworICAgIGJvb2wgcmVhY2hlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9yZWFj
aGVkOworICAgIH0KKworICAgIHZvaWQgc2V0UmVhY2hlZCgpCisgICAgeworICAgICAgICBtX3Jl
YWNoZWQgPSB0cnVlOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lkIGVzY2FwZUFsbG9jYXRp
b24oTm9kZSogaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIEFsbG9jYXRpb24mIGFsbG9jYXRp
b24gPSBnZXRBbGxvY2F0aW9uKGlkZW50aWZpZXIpOworICAgICAgICBpZiAoYWxsb2NhdGlvbi5p
c0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgQWxs
b2NhdGlvbiB1bmVzY2FwZWQgPSBXVEY6Om1vdmUoYWxsb2NhdGlvbik7CisgICAgICAgIGFsbG9j
YXRpb24gPSBBbGxvY2F0aW9uKHVuZXNjYXBlZC5pZGVudGlmaWVyKCksIEFsbG9jYXRpb246Oktp
bmQ6OkVzY2FwZWQpOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IHVuZXNjYXBl
ZC5maWVsZHMoKSkKKyAgICAgICAgICAgIGVzY2FwZUFsbG9jYXRpb24ocGFpci52YWx1ZSk7CisK
KyAgICAgICAgaWYgKG1fd2FudEVzY2FwZWVzKQorICAgICAgICAgICAgbV9lc2NhcGVlcy5hZGQo
dW5lc2NhcGVkLmlkZW50aWZpZXIoKSwgV1RGOjptb3ZlKHVuZXNjYXBlZCkpOworICAgIH0KKwor
ICAgIHZvaWQgcHJ1bmUoKQorICAgIHsKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gcmVhY2hhYmxl
OworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBtX3BvaW50ZXJzKQorICAgICAgICAg
ICAgcmVhY2hhYmxlLmFkZChwYWlyLnZhbHVlKTsKKworICAgICAgICAvLyBSZXBlYXRlZGx5IG1h
cmsgYXMgcmVhY2hhYmxlIGFsbG9jYXRpb25zIGluIGZpZWxkcyBvZiBvdGhlcgorICAgICAgICAv
LyByZWFjaGFibGUgYWxsb2NhdGlvbnMKKyAgICAgICAgeworICAgICAgICAgICAgVmVjdG9yPE5v
ZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZFJhbmdlKHJlYWNoYWJs
ZS5iZWdpbigpLCByZWFjaGFibGUuZW5kKCkpOworCisgICAgICAgICAgICB3aGlsZSAoIXdvcmts
aXN0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSB3b3Jr
bGlzdC50YWtlTGFzdCgpOworICAgICAgICAgICAgICAgIEFsbG9jYXRpb24mIGFsbG9jYXRpb24g
PSBtX2FsbG9jYXRpb25zLmZpbmQoaWRlbnRpZmllciktPnZhbHVlOworICAgICAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgcGFpciA6IGFsbG9jYXRpb24uZmllbGRzKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHJlYWNoYWJsZS5hZGQocGFpci52YWx1ZSkuaXNOZXdFbnRyeSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZChwYWlyLnZhbHVlKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBSZW1v
dmUgdW5yZWFjaGFibGUgYWxsb2NhdGlvbnMKKyAgICAgICAgeworICAgICAgICAgICAgVmVjdG9y
PE5vZGUqPiB0b1JlbW92ZTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1f
YWxsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXJlYWNoYWJsZS5jb250YWlucyhw
YWlyLmtleSkpCisgICAgICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChwYWlyLmtleSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiB0b1Jl
bW92ZSkKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25zLnJlbW92ZShpZGVudGlmaWVyKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIGJvb2wgbV9yZWFjaGVkID0gZmFsc2U7CisgICAgSGFz
aE1hcDxOb2RlKiwgTm9kZSo+IG1fcG9pbnRlcnM7CisgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2Nh
dGlvbj4gbV9hbGxvY2F0aW9uczsKKworICAgIGJvb2wgbV93YW50RXNjYXBlZXMgPSBmYWxzZTsK
KyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBtX2VzY2FwZWVzOworfTsKKworY2xhc3Mg
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlIDogcHVibGljIFBoYXNlIHsKK3B1YmxpYzoKKyAg
ICBBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAgICA6IFBo
YXNlKGdyYXBoLCAib2JqZWN0IGFsbG9jYXRpb24gZWxpbWluYXRpb24iKQorICAgICAgICAsIG1f
cG9pbnRlclNTQShncmFwaCkKKyAgICAgICAgLCBtX2FsbG9jYXRpb25TU0EoZ3JhcGgpCisgICAg
ICAgICwgbV9pbnNlcnRpb25TZXQoZ3JhcGgpCisgICAgeworICAgIH0KKworICAgIGJvb2wgcnVu
KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpOworICAgICAg
ICBBU1NFUlQobV9ncmFwaC5tX2ZpeHBvaW50U3RhdGUgPT0gRml4cG9pbnROb3RDb252ZXJnZWQp
OworCisgICAgICAgIGlmICghcGVyZm9ybVNpbmtpbmcoKSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgZGF0YUxvZygiR3Jh
cGggYWZ0ZXIgZWxpbWluYXRpb246XG4iKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcCgpOwor
ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCitwcml2YXRlOgorICAg
IGJvb2wgcGVyZm9ybVNpbmtpbmcoKQorICAgIHsKKyAgICAgICAgbV9ncmFwaC5jb21wdXRlUmVm
Q291bnRzKCk7CisgICAgICAgIG1fZ3JhcGguaW5pdGlhbGl6ZU5vZGVPd25lcnMoKTsKKyAgICAg
ICAgcGVyZm9ybUxpdmVuZXNzQW5hbHlzaXMobV9ncmFwaCk7CisgICAgICAgIHBlcmZvcm1PU1JB
dmFpbGFiaWxpdHlBbmFseXNpcyhtX2dyYXBoKTsKKyAgICAgICAgbV9jb21iaW5lZExpdmVuZXNz
ID0gQ29tYmluZWRMaXZlbmVzcyhtX2dyYXBoKTsKKworICAgICAgICBDU3RyaW5nIGdyYXBoQmVm
b3JlU2lua2luZzsKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VWYWxpZGF0aW9uRmFpbHVy
ZSgpICYmIE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKSB7CisgICAgICAgICAg
ICBTdHJpbmdQcmludFN0cmVhbSBvdXQ7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAob3V0KTsK
KyAgICAgICAgICAgIGdyYXBoQmVmb3JlU2lua2luZyA9IG91dC50b0NTdHJpbmcoKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBkYXRhTG9nKCJHcmFw
aCBiZWZvcmUgZWxpbWluYXRpb246XG4iKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcCgpOwor
ICAgICAgICB9CisKKyAgICAgICAgcGVyZm9ybUFuYWx5c2lzKCk7CisKKyAgICAgICAgaWYgKCFk
ZXRlcm1pbmVTaW5rQ2FuZGlkYXRlcygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2Nr
IDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICAgICAgZGF0
YUxvZygiSGVhcCBhdCBoZWFkIG9mICIsICpibG9jaywgIjogXG4iLCBtX2hlYXBBdEhlYWRbYmxv
Y2tdKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJIZWFwIGF0IHRhaWwgb2YgIiwgKmJsb2Nr
LCAiOiBcbiIsIG1faGVhcEF0VGFpbFtibG9ja10pOworICAgICAgICAgICAgfQorICAgICAgICB9
CisKKyAgICAgICAgcHJvbW90ZUxvY2FsSGVhcCgpOworCisgICAgICAgIGlmIChPcHRpb25zOjp2
YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2UoKSkKKyAgICAgICAgICAgIHZhbGlkYXRlKG1fZ3JhcGgs
IER1bXBHcmFwaCwgZ3JhcGhCZWZvcmVTaW5raW5nKTsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgdm9pZCBwZXJmb3JtQW5hbHlzaXMoKQorICAgIHsKKyAgICAgICAgbV9oZWFw
QXRIZWFkID0gQmxvY2tNYXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKyAgICAgICAgbV9oZWFwQXRU
YWlsID0gQmxvY2tNYXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKworICAgICAgICBib29sIGNoYW5n
ZWQ7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAg
ICAgIGRhdGFMb2coIkRvaW5nIGl0ZXJhdGlvbiBvZiBlc2NhcGUgYW5hbHlzaXMuXG4iKTsKKyAg
ICAgICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2Nr
KiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAgICAgICAg
bV9oZWFwQXRIZWFkW2Jsb2NrXS5zZXRSZWFjaGVkKCk7CisgICAgICAgICAgICAgICAgbV9oZWFw
ID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbm9k
ZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFtdIChQcm9tb3Rl
ZEhlYXBMb2NhdGlvbiwgTGF6eU5vZGUpIHsgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsm
XSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX2hlYXAgPT0gbV9oZWFwQXRU
YWlsW2Jsb2NrXSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAg
ICAgICBtX2hlYXBBdFRhaWxbYmxvY2tdID0gbV9oZWFwOworICAgICAgICAgICAgICAgIGNoYW5n
ZWQgPSB0cnVlOworCisgICAgICAgICAgICAgICAgQVNTRVJUKG1faGVhcC5pc1ZhbGlkKCkpOwor
CisgICAgICAgICAgICAgICAgLy8gV2Uga2VlcCBvbmx5IHBvaW50ZXJzIHRoYXQgYXJlIGxpdmUs
IGFuZCBvbmx5CisgICAgICAgICAgICAgICAgLy8gYWxsb2NhdGlvbnMgdGhhdCBhcmUgZWl0aGVy
IGxpdmUsIHBvaW50ZWQgdG8gYnkgYQorICAgICAgICAgICAgICAgIC8vIGxpdmUgcG9pbnRlciwg
b3IgKHJlY3Vyc2l2ZWx5KSBzdG9yZWQgaW4gYSBmaWVsZCBvZgorICAgICAgICAgICAgICAgIC8v
IGEgbGl2ZSBhbGxvY2F0aW9uLgorICAgICAgICAgICAgICAgIC8vCisgICAgICAgICAgICAgICAg
Ly8gVGhpcyBtZWFucyB3ZSBjYW4gYWNjaWRlbnRhbHkgbGVhayBub24tZG9taW5hdGluZworICAg
ICAgICAgICAgICAgIC8vIG5vZGVzIGludG8gdGhlIHN1Y2Nlc3Nvci4gSG93ZXZlciwgZHVlIHRv
IHRoZQorICAgICAgICAgICAgICAgIC8vIG5vbi1kb21pbmFuY2UgcHJvcGVydHksIHdlIGFyZSBn
dWFyYW50ZWVkIHRoYXQgdGhlCisgICAgICAgICAgICAgICAgLy8gc3VjY2Vzc29yIGhhcyBhdCBs
ZWFzdCBvbmUgcHJlZGVjZXNzb3IgdGhhdCBpcyBub3QKKyAgICAgICAgICAgICAgICAvLyBkb21p
bmF0ZWQgZWl0aGVyOiB0aGlzIG1lYW5zIGFueSByZWZlcmVuY2UgdG8gYQorICAgICAgICAgICAg
ICAgIC8vIG5vbi1kb21pbmF0aW5nIGFsbG9jYXRpb24gaW4gdGhlIHN1Y2Nlc3NvciB3aWxsCisg
ICAgICAgICAgICAgICAgLy8gdHJpZ2dlciBhbiBlc2NhcGUgYW5kIGdldCBwcnVuZWQgZHVyaW5n
IHRoZSBtZXJnZS4KKyAgICAgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29t
YmluZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgICAgICBmb3Ig
KEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkKKyAgICAg
ICAgICAgICAgICAgICAgbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5tZXJnZShtX2hlYXAp
OworICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlc29sdmVGdW5jdG9y
PgorICAgIHZvaWQgaGFuZGxlTm9kZSgKKyAgICAgICAgTm9kZSogbm9kZSwKKyAgICAgICAgY29u
c3QgV3JpdGVGdW5jdG9yJiBoZWFwV3JpdGUsCisgICAgICAgIGNvbnN0IFJlc29sdmVGdW5jdG9y
JiBoZWFwUmVzb2x2ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2hlYXAuaXNWYWxpZCgpKTsK
KyAgICAgICAgQVNTRVJUKG1faGVhcC50YWtlRXNjYXBlZXMoKS5pc0VtcHR5KCkpOworCisgICAg
ICAgIEFsbG9jYXRpb24qIHRhcmdldCA9IG51bGxwdHI7CisgICAgICAgIEhhc2hNYXA8UHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIExhenlOb2RlPiB3cml0ZXM7CisgICAgICAgIFByb21vdGVk
TG9jYXRpb25EZXNjcmlwdG9yIGV4YWN0UmVhZDsKKworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9w
KCkpIHsKKyAgICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9o
ZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2NhdGlvbjo6S2luZDo6T2JqZWN0KTsKKyAgICAg
ICAgICAgIHRhcmdldC0+c2V0U3RydWN0dXJlcyhub2RlLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAg
ICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgIFN0cnVjdHVyZVBMb2MsIExhenlOb2Rl
KG1fZ3JhcGguZnJlZXplKG5vZGUtPnN0cnVjdHVyZSgpKSkpOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAgICAgdGFy
Z2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6Ok9iamVj
dCk7CisgICAgICAgICAgICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlU2V0
KCkpOworICAgICAgICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVQ
TG9jLCBMYXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUoKSkpOworICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXph
dGlvbkRhdGEoKS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICB3
cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
cigKKyAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVkUHJvcGVydHlQTG9jLAorICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVy
dGllc1tpXS5tX2lkZW50aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9k
ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2RlKCkpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdGdW5j
dGlvbjogeworICAgICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0
YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAg
ICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVh
cC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6OkZ1bmN0aW9uKTsKKyAgICAg
ICAgICAgIHdyaXRlcy5hZGQoRnVuY3Rpb25FeGVjdXRhYmxlUExvYywgTGF6eU5vZGUobm9kZS0+
Y2VsbE9wZXJhbmQoKSkpOworICAgICAgICAgICAgd3JpdGVzLmFkZChGdW5jdGlvbkFjdGl2YXRp
b25QTG9jLCBMYXp5Tm9kZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAg
ICAgICAgICBpZiAobm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpLT5zaW5nbGV0b25T
Y29wZSgpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBB
bGxvY2F0aW9uOjpLaW5kOjpBY3RpdmF0aW9uKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0
aXZhdGlvblN5bWJvbFRhYmxlUExvYywgTGF6eU5vZGUobm9kZS0+Y2VsbE9wZXJhbmQoKSkpOwor
ICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU2NvcGVQTG9jLCBMYXp5Tm9kZShub2Rl
LT5jaGlsZDEoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTeW1i
b2xUYWJsZSogc3ltYm9sVGFibGUgPSBub2RlLT5jYXN0T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCk7
CisgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIoc3ltYm9sVGFibGUt
Pm1fbG9jayk7CisgICAgICAgICAgICAgICAgTGF6eU5vZGUgdW5kZWZpbmVkKG1fZ3JhcGguZnJl
ZXplKGpzVW5kZWZpbmVkKCkpKTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaXRlciA9IHN5
bWJvbFRhYmxlLT5iZWdpbihsb2NrZXIpLCBlbmQgPSBzeW1ib2xUYWJsZS0+ZW5kKGxvY2tlcik7
IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgd3JpdGVzLmFkZCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKENsb3N1
cmVWYXJQTG9jLCBpdGVyLT52YWx1ZS5zY29wZU9mZnNldCgpLm9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVuZGVmaW5lZCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE1hdGVy
aWFsaXplQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAgICAgLy8gV2UgaGF2ZSBzdW5rIHRo
aXMgb25jZSBhbHJlYWR5IC0gdGhlcmUgaXMgbm8gd2F5IHRoZQorICAgICAgICAgICAgLy8gd2F0
Y2hwb2ludCBpcyBzdGlsbCB2YWxpZC4KKyAgICAgICAgICAgIEFTU0VSVCghbm9kZS0+Y2FzdE9w
ZXJhbmQ8U3ltYm9sVGFibGUqPigpLT5zaW5nbGV0b25TY29wZSgpLT5pc1N0aWxsVmFsaWQoKSk7
CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2Nh
dGlvbjo6S2luZDo6QWN0aXZhdGlvbik7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFjdGl2YXRp
b25TeW1ib2xUYWJsZVBMb2MsIExhenlOb2RlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCku
bm9kZSgpKSk7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFjdGl2YXRpb25TY29wZVBMb2MsIExh
enlOb2RlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMSkubm9kZSgpKSk7CisgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0
YSgpLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIHdyaXRlcy5h
ZGQoCisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ2xvc3VyZVZhclBMb2MsCisgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ldLm1f
aWRlbnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobm9kZSwgaSArIDIpLm5vZGUoKSkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZToKKyAg
ICAgICAgICAgIHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxk
MSgpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RB
bGxvY2F0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKFN0cnVjdHVyZVBMb2Ms
IExhenlOb2RlKG1fZ3JhcGguZnJlZXplKEpTVmFsdWUobm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0
KSkpKTsKKyAgICAgICAgICAgICAgICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+dHJhbnNp
dGlvbigpLT5uZXh0KTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1faGVh
cC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6IHsKKyAgICAgICAgICAgIEFsbG9jYXRpb24qIGFs
bG9jYXRpb24gPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2Rl
KCkpOworICAgICAgICAgICAgaWYgKGFsbG9jYXRpb24gJiYgYWxsb2NhdGlvbi0+aXNPYmplY3RB
bGxvY2F0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLT5maWx0ZXJTdHJ1Y3R1
cmVzKG5vZGUtPnN0cnVjdHVyZVNldCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoTm9kZSogdmFs
dWUgPSBoZWFwUmVzb2x2ZShQcm9tb3RlZEhlYXBMb2NhdGlvbihhbGxvY2F0aW9uLT5pZGVudGlm
aWVyKCksIFN0cnVjdHVyZVBMb2MpKSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVy
dFRvQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGUodmFsdWUpOworICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEdldEJ5T2Zmc2V0Ogor
ICAgICAgICBjYXNlIEdldEdldHRlclNldHRlckJ5T2Zmc2V0OgorICAgICAgICAgICAgdGFyZ2V0
ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAg
ICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24oKSkgewor
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBub2RlLT5zdG9yYWdl
QWNjZXNzRGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7CisgICAgICAgICAgICAgICAgZXhhY3RSZWFk
ID0gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0eVBMb2MsIGlkZW50aWZp
ZXJOdW1iZXIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAu
ZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVz
Y2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgY2FzZSBNdWx0aUdldEJ5T2Zmc2V0OgorICAgICAgICAgICAgdGFy
Z2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24oKSkg
eworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBub2RlLT5tdWx0
aUdldEJ5T2Zmc2V0RGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7CisgICAgICAgICAgICAgICAgZXhh
Y3RSZWFkID0gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0eVBMb2MsIGlk
ZW50aWZpZXJOdW1iZXIpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9o
ZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdldCA9IG1faGVhcC5v
bmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICBp
ZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKKyAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+c3RvcmFnZUFjY2Vzc0RhdGEo
KS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAg
ICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9j
LCBpZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobm9kZS0+
Y2hpbGQzKCkubm9kZSgpKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9o
ZWFwLmVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgorICAgICAgICAgICAg
dGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgp
KTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0
aW9uKCkpIHsKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPQorICAgICAgICAgICAgICAgICAg
ICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9kZS0+c2NvcGVP
ZmZzZXQoKS5vZmZzZXQoKSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hl
YXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAg
ICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkgeworICAg
ICAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yKENsb3N1cmVWYXJQTG9jLCBub2RlLT5zY29wZU9mZnNldCgpLm9mZnNl
dCgpKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobm9kZS0+Y2hpbGQyKCkubm9kZSgp
KSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5v
ZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIFNraXBTY29wZToKKyAgICAgICAgICAgIHRhcmdldCA9IG1faGVhcC5v
bmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBp
ZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpKQorICAgICAgICAg
ICAgICAgIGV4YWN0UmVhZCA9IEFjdGl2YXRpb25TY29wZVBMb2M7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOwor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBHZXRFeGVjdXRhYmxlOgorICAgICAg
ICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCku
bm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0Z1bmN0aW9uQWxs
b2NhdGlvbigpKQorICAgICAgICAgICAgICAgIGV4YWN0UmVhZCA9IEZ1bmN0aW9uRXhlY3V0YWJs
ZVBMb2M7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShu
b2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2Fz
ZSBHZXRTY29wZToKKyAgICAgICAgICAgIHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0
aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRh
cmdldC0+aXNGdW5jdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQg
PSBGdW5jdGlvbkFjdGl2YXRpb25QTG9jOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgIGNhc2UgQ2hlY2s6CisgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGls
ZHJlbigKKyAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBl
ZGdlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChlZGdlLndpbGxOb3RIYXZlQ2hlY2soKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBp
ZiAoYWxyZWFkeUNoZWNrZWQoZWRnZS51c2VLaW5kKCksIFNwZWNPYmplY3QpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgICAgIG1faGVhcC5lc2Nh
cGUoZWRnZS5ub2RlKCkpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBNb3ZIaW50OgorICAgICAgICBjYXNlIFB1dEhpbnQ6CisgICAgICAg
ICAgICAvLyBIYW5kbGVkIGJ5IE9TUiBhdmFpbGFiaWxpdHkgYW5hbHlzaXMKKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGls
ZHJlbigKKyAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBl
ZGdlKSB7CisgICAgICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUoZWRnZS5ub2RlKCkpOwor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBpZiAoZXhhY3RSZWFkKSB7CisgICAgICAgICAgICBBU1NFUlQodGFyZ2V0KTsKKyAgICAg
ICAgICAgIEFTU0VSVCh3cml0ZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIGlmIChOb2RlKiB2
YWx1ZSA9IGhlYXBSZXNvbHZlKFByb21vdGVkSGVhcExvY2F0aW9uKHRhcmdldC0+aWRlbnRpZmll
cigpLCBleGFjdFJlYWQpKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVCghdmFsdWUtPnJlcGxh
Y2VtZW50KCkpOworICAgICAgICAgICAgICAgIG5vZGUtPnJlcGxhY2VXaXRoKHZhbHVlKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSB0YXJnZXQtPmdldChl
eGFjdFJlYWQpOworICAgICAgICAgICAgaWYgKGlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAg
bV9oZWFwLm5ld1BvaW50ZXIobm9kZSwgaWRlbnRpZmllcik7CisgICAgICAgIH0KKworICAgICAg
ICBmb3IgKGF1dG8gcGFpciA6IHdyaXRlcykgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdldCk7
CisgICAgICAgICAgICBpZiAocGFpci52YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICB0
YXJnZXQtPnNldChwYWlyLmtleSwgbV9oZWFwLmZvbGxvdyhwYWlyLnZhbHVlLmFzTm9kZSgpKSk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1vdmUocGFpci5r
ZXkpOworICAgICAgICAgICAgaGVhcFdyaXRlKFByb21vdGVkSGVhcExvY2F0aW9uKHRhcmdldC0+
aWRlbnRpZmllcigpLCBwYWlyLmtleSksIHBhaXIudmFsdWUpOworICAgICAgICB9CisKKyAgICAg
ICAgQVNTRVJUKG1faGVhcC5pc1ZhbGlkKCkpOworICAgIH0KKworICAgIGJvb2wgZGV0ZXJtaW5l
U2lua0NhbmRpZGF0ZXMoKQorICAgIHsKKyAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5jbGVhcigp
OworICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5jbGVhcigpOworICAgICAgICBt
X21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKKyAgICAgICAg
bV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmNsZWFyKCk7CisKKyAgICAgICAgLy8g
TG9naWNhbGx5IHdlIHdpc2ggdG8gY29uc2lkZXIgZXZlcnkgYWxsb2NhdGlvbiBhbmQgc2luawor
ICAgICAgICAvLyBpdC4gSG93ZXZlciwgaXQgaXMgcHJvYmFibHkgbm90IHByb2ZpdGFibGUgdG8g
c2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIHRoYXQgd2lsbCBhbHdheXMgZXNjYXBlLiBT
bywgd2Ugb25seSBzaW5rIGFuCisgICAgICAgIC8vIGFsbG9jYXRpb24gaWYgb25lIG9mIHRoZSBm
b2xsb3dpbmcgaXMgdHJ1ZToKKyAgICAgICAgLy8KKyAgICAgICAgLy8gMSkgVGhlcmUgZXhpc3Rz
IGEgYmFzaWMgYmxvY2sgd2l0aCBvbmx5IGJhY2t3YXJkcyBvdXRnb2luZworICAgICAgICAvLyAg
ICBlZGdlcyAob3Igbm8gb3V0Z29pbmcgZWRnZXMpIGluIHdoaWNoIHRoZSBub2RlIHdhc24ndAor
ICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZWQuIFRoaXMgaXMgbWVhbnQgdG8gY2F0Y2gKKyAgICAg
ICAgLy8gICAgZWZmZWN0aXZlbHktaW5maW5pdGUgbG9vcHMgaW4gd2hpY2ggd2UgZG9uJ3QgbmVl
ZCB0bworICAgICAgICAvLyAgICBoYXZlIGFsbG9jYXRlZCB0aGUgb2JqZWN0LgorICAgICAgICAv
LworICAgICAgICAvLyAyKSBUaGVyZSBleGlzdHMgYSBiYXNpYyBibG9jayBhdCB0aGUgdGFpbCBv
ZiB3aGljaCB0aGUgbm9kZQorICAgICAgICAvLyAgICBpcyBkZWFkIGFuZCBub3QgbWF0ZXJpYWxp
emVkLgorICAgICAgICAvLworICAgICAgICAvLyAzKSBUaGUgc3VtIG9mIGV4ZWN1dGlvbiBjb3Vu
dHMgb2YgdGhlIG1hdGVyaWFsaXphdGlvbnMgaXMKKyAgICAgICAgLy8gICAgbGVzcyB0aGFuIHRo
ZSBzdW0gb2YgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgb3JpZ2luYWwKKyAgICAgICAgLy8gICAg
bm9kZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gV2UgY3VycmVudGx5IGltcGxlbWVudCBvbmx5
IHJ1bGUgIzIuCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIHR3byBvdGhlciBydWxl
cy4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzA3MyAocnVsZSAjMSkKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNzA3NCAocnVsZSAjMykKKyAgICAgICAgLy8KKyAgICAgICAgLy8gSG93ZXZl
ciwgdGhlc2UgcnVsZXMgYWxsb3cgZm9yIGEgc3VuayBvYmpldCB0byBiZSBwdXQgaW50bworICAg
ICAgICAvLyBhIG5vbi1zdW5rIG9uZSwgd2hpY2ggd2UgZG9uJ3Qgc3VwcG9ydC4gV2UgY291bGQg
c29sdmUgdGhpcworICAgICAgICAvLyBieSBzdXBwb3J0aW5nIFB1dEhpbnRzIG9uIGxvY2FsIGFs
bG9jYXRpb25zLCBtYWtpbmcgdGhlc2UKKyAgICAgICAgLy8gb2JqZWN0cyBvbmx5IHBhcnRpYWxs
eSBjb3JyZWN0LCBhbmQgd2Ugd291bGQgbmVlZCB0byBhZGFwdAorICAgICAgICAvLyB0aGUgT1NS
IGF2YWlsYWJpbGl0eSBhbmFseXNpcyBhbmQgT1NSIGV4aXQgdG8gaGFuZGxlCisgICAgICAgIC8v
IHRoaXMuIFRoaXMgd291bGQgYmUgdG90YWxseSBkb2FibGUsIGJ1dCB3b3VsZCBjcmVhdGUgYQor
ICAgICAgICAvLyBzdXBlciByYXJlLCBhbmQgdGh1cyBidWctcHJvbmUsIGNvZGUgcGF0aC4KKyAg
ICAgICAgLy8gU28sIGluc3RlYWQsIHdlIG5lZWQgdG8gaW1wbGVtZW50IG9uZSBvZiB0aGUgZm9s
bG93aW5nCisgICAgICAgIC8vIGNsb3N1cmUgcnVsZXM6CisgICAgICAgIC8vCisgICAgICAgIC8v
IDEpIElmIHdlIHB1dCBhIHNpbmsgY2FuZGlkYXRlIGludG8gYSBsb2NhbCBhbGxvY2F0aW9uIHRo
YXQKKyAgICAgICAgLy8gICAgaXMgbm90IGEgc2luayBjYW5kaWRhdGUsIGNoYW5nZSBvdXIgbWlu
ZHMgYW5kIGRvbid0CisgICAgICAgIC8vICAgIGFjdHVhbGx5IHNpbmsgdGhlIHNpbmsgY2FuZGlk
YXRlLgorICAgICAgICAvLworICAgICAgICAvLyAyKSBJZiB3ZSBwdXQgYSBzaW5rIGNhbmRpZGF0
ZSBpbnRvIGEgbG9jYWwgYWxsb2NhdGlvbiwgdGhhdAorICAgICAgICAvLyAgICBhbGxvY2F0aW9u
IGJlY29tZXMgYSBzaW5rIGNhbmRpZGF0ZSBhcyB3ZWxsLgorICAgICAgICAvLworICAgICAgICAv
LyBXZSBjdXJyZW50bHkgY2hvb3NlIHRvIGltcGxlbWVudCBjbG9zdXJlIHJ1bGUgIzIuCisgICAg
ICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxOb2RlKj4+IGRlcHM7CisgICAgICAgIGJvb2wgaGFz
VW5lc2NhcGVkUmVhZHMgPSBmYWxzZTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6
IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hl
YXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2sp
IHsKKyAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2Rl
LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9u
LCBMYXp5Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5p
c05vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEFsbG9jYXRpb24qIGFsbG9jYXRpb24gPSBtX2hlYXAub25seUxvY2Fs
QWxsb2NhdGlvbih2YWx1ZS5hc05vZGUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
YWxsb2NhdGlvbiAmJiAhYWxsb2NhdGlvbi0+aXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlcHMuYWRkKGFsbG9jYXRpb24tPmlkZW50aWZpZXIoKSwg
VmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKGxvY2F0aW9uLmJhc2UoKSk7
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90
ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhhc1Vu
ZXNjYXBlZFJlYWRzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgLy8gVGhlIHNpbmsgY2FuZGlkYXRlcyBhcmUgaW5pdGlhbGx5IHRoZSB1bmVzY2FwZWQKKyAg
ICAgICAgICAgIC8vIGFsbG9jYXRpb25zIGR5aW5nIGF0IHRhaWwgb2YgYmxvY2tzCisgICAgICAg
ICAgICBIYXNoU2V0PE5vZGUqPiBhbGxvY2F0aW9uczsKKyAgICAgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgcGFpciA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFwYWlyLnZhbHVlLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
YWxsb2NhdGlvbnMuYWRkKHBhaXIua2V5KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
bV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9j
a10pOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiBhbGxvY2F0aW9ucykg
eworICAgICAgICAgICAgICAgIGlmICghbV9oZWFwLmlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSkK
KyAgICAgICAgICAgICAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5hZGQoaWRlbnRpZmllcik7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBJbXBsZW1lbnQgdGhlIGNsb3N1
cmUgcnVsZQorICAgICAgICBWZWN0b3I8Tm9kZSo+IHdvcmtsaXN0OworICAgICAgICB3b3JrbGlz
dC5hcHBlbmRSYW5nZShtX3NpbmtDYW5kaWRhdGVzLmJlZ2luKCksIG1fc2lua0NhbmRpZGF0ZXMu
ZW5kKCkpOworCisgICAgICAgIHdoaWxlICghd29ya2xpc3QuaXNFbXB0eSgpKSB7CisgICAgICAg
ICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiBkZXBzLmdldCh3b3JrbGlzdC50YWtlTGFzdCgp
KSkgeworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmFkZChpZGVudGlmaWVy
KS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQoaWRlbnRp
Zmllcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAobV9zaW5rQ2Fu
ZGlkYXRlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gaGFzVW5lc2NhcGVkUmVhZHM7
CisKKyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCJDYW5kaWRhdGVz
OiAiLCBsaXN0RHVtcChtX3NpbmtDYW5kaWRhdGVzKSwgIlxuIik7CisKKyAgICAgICAgLy8gQ3Jl
YXRlIHRoZSBtYXRlcmlhbGl6YXRpb24gbm9kZXMKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBi
bG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgbV9o
ZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIG1faGVhcC5zZXRXYW50RXNj
YXBlZXMoKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAg
ICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAg
ICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uLCBMYXp5Tm9kZSkgeyB9LAor
ICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBhdXRvIGVzY2FwZWVzID0gbV9oZWFwLnRha2VFc2Nh
cGVlcygpOworICAgICAgICAgICAgICAgIGlmICghZXNjYXBlZXMuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgICAgICAgICBwbGFjZU1hdGVyaWFsaXphdGlvbnMoZXNjYXBlZXMsIG5vZGUpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29tYmlu
ZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBlc2NhcGluZ09uRWRnZTsKKyAgICAg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBtX2hlYXAuYWxsb2NhdGlvbnMoKSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAocGFpci52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9u
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAg
ICAgICBib29sIG11c3RFc2NhcGUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChC
YXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5pc0Fs
bG9jYXRpb24ocGFpci5rZXkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgbV9oZWFw
QXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5nZXRBbGxvY2F0aW9uKHBhaXIua2V5KS5pc0VzY2FwZWRB
bGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVzdEVzY2FwZSA9IHRy
dWU7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBpZiAobXVz
dEVzY2FwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwaW5nT25FZGdlLmFkZChwYWly
LmtleSwgcGFpci52YWx1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBs
YWNlTWF0ZXJpYWxpemF0aW9ucyhXVEY6Om1vdmUoZXNjYXBpbmdPbkVkZ2UpLCBibG9jay0+dGVy
bWluYWwoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gaGFz
VW5lc2NhcGVkUmVhZHMgfHwgIW1fc2lua0NhbmRpZGF0ZXMuaXNFbXB0eSgpOworICAgIH0KKwor
ICAgIHZvaWQgcGxhY2VNYXRlcmlhbGl6YXRpb25zKEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+
IGVzY2FwZWVzLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIC8vIFdlIGRvbid0IGNyZWF0
ZSBtYXRlcmlhbGl6YXRpb25zIGlmIHRoZSBlc2NhcGVlIGlzIG5vdCBhCisgICAgICAgIC8vIHNp
bmsgY2FuZGlkYXRlCisgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9SZW1vdmU7CisgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgcGFpciA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICBpZiAoIW1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMocGFpci5rZXkpKQorICAgICAgICAgICAgICAgIHRvUmVtb3Zl
LmFwcGVuZChwYWlyLmtleSk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChOb2RlKiBpZGVudGlm
aWVyIDogdG9SZW1vdmUpCisgICAgICAgICAgICBlc2NhcGVlcy5yZW1vdmUoaWRlbnRpZmllcik7
CisKKyAgICAgICAgaWYgKGVzY2FwZWVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAvLyBGaXJzdCBjb2xsZWN0IHRoZSBoaW50cyB0aGF0IHdpbGwgYmUgbmVlZGVk
IHdoZW4gdGhlIG5vZGUKKyAgICAgICAgLy8gd2UgbWF0ZXJpYWxpemUgaXMgc3RpbGwgc3RvcmVk
IGludG8gb3RoZXIgdW5lc2NhcGVkIHNpbmsgY2FuZGlkYXRlcworICAgICAgICBWZWN0b3I8UHJv
bW90ZWRIZWFwTG9jYXRpb24+IGhpbnRzOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIg
OiBtX2hlYXAuYWxsb2NhdGlvbnMoKSkgeworICAgICAgICAgICAgaWYgKGVzY2FwZWVzLmNvbnRh
aW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
Zm9yIChjb25zdCBhdXRvJiBmaWVsZCA6IHBhaXIudmFsdWUuZmllbGRzKCkpIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhwYWlyLmtleSkgfHwgIWVz
Y2FwZWVzLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSk7CisgICAgICAgICAgICAgICAgaWYgKGVzY2Fw
ZWVzLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSAmJiAhZmllbGQua2V5Lm5lZWRlZEZvck1hdGVyaWFs
aXphdGlvbigpKQorICAgICAgICAgICAgICAgICAgICBoaW50cy5hcHBlbmQoUHJvbW90ZWRIZWFw
TG9jYXRpb24ocGFpci5rZXksIGZpZWxkLmtleSkpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisKKyAgICAgICAgLy8gTm93IHdlIG5lZWQgdG8gb3JkZXIgdGhlIG1hdGVyaWFsaXphdGlvbi4g
QW55IG9yZGVyIGlzCisgICAgICAgIC8vIHZhbGlkIChhcyBsb25nIGFzIHdlIG1hdGVyaWFsaXpl
IGEgbm9kZSBmaXJzdCBpZiBpdCBpcworICAgICAgICAvLyBuZWVkZWQgZm9yIHRoZSBtYXRlcmlh
bGl6YXRpb24gb2YgYW5vdGhlciBub2RlLCBlLmcuIGEKKyAgICAgICAgLy8gZnVuY3Rpb24ncyBh
Y3RpdmF0aW9uIG11c3QgYmUgbWF0ZXJpYWxpemVkIGJlZm9yZSB0aGUKKyAgICAgICAgLy8gZnVu
Y3Rpb24gaXRzZWxmKSwgYnV0IHdlIHdhbnQgdG8gdHJ5IG1pbmltaXppbmcgdGhlIG51bWJlcgor
ICAgICAgICAvLyBvZiB0aW1lcyB3ZSBoYXZlIHRvIHBsYWNlIFB1dHMgdG8gY2xvc2UgY3ljbGVz
IGFmdGVyIGEKKyAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uLiBJbiBvdGhlciB3b3Jkcywgd2Ug
YXJlIHRyeWluZyB0byBmaW5kIHRoZQorICAgICAgICAvLyBtaW5pbXVtIG51bWJlciBvZiBtYXRl
cmlhbGl6YXRpb25zIHRvIHJlbW92ZSBmcm9tIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRp
b24gZ3JhcGggdG8gbWFrZSBpdCBhIERBRywga25vd24gYXMgdGhlCisgICAgICAgIC8vICh2ZXJ0
ZXgpIGZlZWRiYWNrIHNldCBwcm9ibGVtLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGlzIGEKKyAgICAg
ICAgLy8gTlAtaGFyZCBwcm9ibGVtLCB3aGljaCB3ZSBkb24ndCB3YW50IHRvIHNvbHZlIGV4YWN0
bHkuCisgICAgICAgIC8vCisgICAgICAgIC8vIEluc3RlYWQsIHdlIHVzZSBhIHNpbXBsZSBncmVl
ZHkgcHJvY2VkdXJlLCB0aGF0IHByb2NlZGVzIGFzCisgICAgICAgIC8vIGZvbGxvdzoKKyAgICAg
ICAgLy8gIC0gV2hpbGUgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIG5vZGUgd2l0aCBubyBvdXRnb2lu
ZyBlZGdlCisgICAgICAgIC8vICAgIGFtb25nc3QgdGhlIHJlbWFpbmluZyBtYXRlcmlhbGl6YXRp
b25zLCBtYXRlcmlhbGl6ZSBpdAorICAgICAgICAvLyAgICBmaXJzdAorICAgICAgICAvLyAKKyAg
ICAgICAgLy8gIC0gU2ltaWxhcmlseSwgd2hpbGUgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIG5vZGUg
d2l0aCBubworICAgICAgICAvLyAgICBpbmNvbWluZyBlZGdlIGFtb25nc3QgdGhlIHJlbWFpbmlu
ZyBtYXRlcmlhbGl6YXRpb25zLAorICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZSBpdCBsYXN0Lgor
ICAgICAgICAvLworICAgICAgICAvLyAgLSBXaGVuIGJvdGggcHJldmlvdXMgY29uZGl0aW9ucyBh
cmUgZmFsc2UsIHdlIGhhdmUgYW4KKyAgICAgICAgLy8gICAgYWN0dWFsIGN5Y2xlLCBhbmQgd2Ug
bmVlZCB0byBwaWNrIGEgbm9kZSB0bworICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZS4gV2UgdHJ5
IGdyZWVkaWx5IHRvIHJlbW92ZSB0aGUgInByZXNzdXJlIiBvbgorICAgICAgICAvLyAgICB0aGUg
cmVtYWluaW5nIG5vZGVzIGJ5IGNob29zaW5nIHRoZSBub2RlIHdpdGggbWF4aW11bQorICAgICAg
ICAvLyAgICB8aW5jb21pbmcgZWRnZXN8ICogfG91dGdvaW5nIGVkZ2VzfCBhcyBhIG1lYXN1cmUg
b2YgaG93CisgICAgICAgIC8vICAgICJjZW50cmFsIiB0byB0aGUgZ3JhcGggaXQgaXMuIFdlIG1h
dGVyaWFsaXplIGl0IGZpcnN0LAorICAgICAgICAvLyAgICBzbyB0aGF0IGFsbCB0aGUgcmVjb3Zl
cmllcyB3aWxsIGJlIFB1dHMgb2YgdGhpbmdzIGludG8KKyAgICAgICAgLy8gICAgaXQgKHJhdGhl
ciB0aGFuIFB1dHMgb2YgdGhlIG1hdGVyaWFsaXphdGlvbiBpbnRvIG90aGVyCisgICAgICAgIC8v
ICAgIG9iamVjdHMpLCB3aGljaCBtZWFucyB3ZSB3aWxsIGhhdmUgYSBzaW5nbGUKKyAgICAgICAg
Ly8gICAgU3RvcmVCYXJyaWVyLgorCisKKyAgICAgICAgLy8gQ29tcHV0ZSBkZXBlbmRlbmNpZXMg
YmV0d2VlbiBtYXRlcmlhbGl6YXRpb25zCisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8
Tm9kZSo+PiBkZXBzOworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0PE5vZGUqPj4gcmRl
cHM7CisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiBmb3JNYXRlcmlhbGl6
YXRpb247CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IGVzY2FwZWVzKSB7CisgICAg
ICAgICAgICBhdXRvJiBteURlcHMgPSBkZXBzLmFkZChwYWlyLmtleSwgSGFzaFNldDxOb2RlKj4o
KSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgYXV0byYgbXlEZXBzRm9yTWF0ZXJpYWxp
emF0aW9uID0gZm9yTWF0ZXJpYWxpemF0aW9uLmFkZChwYWlyLmtleSwgSGFzaFNldDxOb2RlKj4o
KSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgcmRlcHMuYWRkKHBhaXIua2V5LCBIYXNo
U2V0PE5vZGUqPigpKTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZmllbGQgOiBwYWly
LnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWVzLmNvbnRhaW5z
KGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZSAhPSBwYWlyLmtleSkgeworICAgICAgICAgICAg
ICAgICAgICBteURlcHMuYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgcmRl
cHMuYWRkKGZpZWxkLnZhbHVlLCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYWRk
KHBhaXIua2V5KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmtleS5uZWVkZWRGb3JN
YXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG15RGVwc0Zvck1hdGVy
aWFsaXphdGlvbi5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0byB1cGRhdGUg
dGhlIG1hdGVyaWFsaXplZCBzZXQgYW5kIHRoZQorICAgICAgICAvLyBkZXBlbmRlbmNpZXMKKyAg
ICAgICAgSGFzaFNldDxOb2RlKj4gbWF0ZXJpYWxpemVkOworICAgICAgICBhdXRvIG1hdGVyaWFs
aXplID0gWyZdIChOb2RlKiBpZGVudGlmaWVyKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZWQu
YWRkKGlkZW50aWZpZXIpOworICAgICAgICAgICAgZm9yIChOb2RlKiBkZXAgOiBkZXBzLmdldChp
ZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICByZGVwcy5maW5kKGRlcCktPnZhbHVlLnJlbW92
ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogcmRlcCA6IHJkZXBzLmdldChp
ZGVudGlmaWVyKSkgeworICAgICAgICAgICAgICAgIGRlcHMuZmluZChyZGVwKS0+dmFsdWUucmVt
b3ZlKGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAgIGZvck1hdGVyaWFsaXphdGlvbi5maW5k
KHJkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBkZXBzLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIHJkZXBzLnJlbW92ZShp
ZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvck1hdGVyaWFsaXphdGlvbi5yZW1vdmUoaWRlbnRp
Zmllcik7CisgICAgICAgIH07CisKKyAgICAgICAgLy8gTm9kZXMgd2l0aG91dCByZW1haW5pbmcg
dW5tYXRlcmlhbGl6ZWQgZmllbGRzIHdpbGwgYmUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemVkIGZp
cnN0IC0gYW1vbmdzdCB0aGUgcmVtYWluaW5nIHVubWF0ZXJpYWxpemVkCisgICAgICAgIC8vIG5v
ZGVzCisgICAgICAgIHN0ZDo6bGlzdDxBbGxvY2F0aW9uPiB0b01hdGVyaWFsaXplOworICAgICAg
ICBhdXRvIGZpcnN0UG9zID0gdG9NYXRlcmlhbGl6ZS5iZWdpbigpOworICAgICAgICBhdXRvIG1h
dGVyaWFsaXplRmlyc3QgPSBbJl0gKEFsbG9jYXRpb24mJiBhbGxvY2F0aW9uKSB7CisgICAgICAg
ICAgICBtYXRlcmlhbGl6ZShhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICAv
LyBXZSBuZWVkIHRvIGluc2VydCAqYWZ0ZXIqIHRoZSBjdXJyZW50IHBvc2l0aW9uCisgICAgICAg
ICAgICBpZiAoZmlyc3RQb3MgIT0gdG9NYXRlcmlhbGl6ZS5lbmQoKSkKKyAgICAgICAgICAgICAg
ICArK2ZpcnN0UG9zOworICAgICAgICAgICAgZmlyc3RQb3MgPSB0b01hdGVyaWFsaXplLmluc2Vy
dChmaXJzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRpb24pKTsKKyAgICAgICAgfTsKKworICAgICAg
ICAvLyBOb2RlcyB0aGF0IG5vIG90aGVyIHVubWF0ZXJpYWxpemVkIG5vZGUgcG9pbnRzIHRvIHdp
bGwgYmUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemVkIGxhc3QgLSBhbW9uZ3N0IHRoZSByZW1haW5p
bmcgdW5tYXRlcmlhbGl6ZWQKKyAgICAgICAgLy8gbm9kZXMKKyAgICAgICAgYXV0byBsYXN0UG9z
ID0gdG9NYXRlcmlhbGl6ZS5lbmQoKTsKKyAgICAgICAgYXV0byBtYXRlcmlhbGl6ZUxhc3QgPSBb
Jl0gKEFsbG9jYXRpb24mJiBhbGxvY2F0aW9uKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZShh
bGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBsYXN0UG9zID0gdG9NYXRlcmlh
bGl6ZS5pbnNlcnQobGFzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRpb24pKTsKKyAgICAgICAgfTsK
KworICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IHRvUmVjb3ZlcjsKKworICAg
ICAgICB3aGlsZSAoIWVzY2FwZWVzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgbWF0ZXJpYWxp
emVkLmNsZWFyKCk7CisKKyAgICAgICAgICAgIC8vIE1hdGVyaWFsaXplIG5vZGVzIHRoYXQgd29u
J3QgcmVxdWlyZSByZWNvdmVyaWVzIGlmIHdlIGNhbgorICAgICAgICAgICAgZm9yIChhdXRvJiBw
YWlyIDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWZvck1hdGVyaWFsaXphdGlv
bi5maW5kKHBhaXIua2V5KS0+dmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgICAgIGlmIChkZXBzLmZpbmQocGFpci5rZXkpLT52YWx1
ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVGaXJzdChXVEY6
Om1vdmUocGFpci52YWx1ZSkpOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAocmRlcHMuZmluZChwYWlyLmtleSkt
PnZhbHVlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUxhc3Qo
V1RGOjptb3ZlKHBhaXIudmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBXZSBoYXZl
IGFuIGFjdHVhbCBjeWNsZQorICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgICAgICBpbnQ2NF90IG1heEVkZ2VzID0gMDsKKyAgICAgICAgICAgICAg
ICBBbGxvY2F0aW9uKiBiZXN0QWxsb2NhdGlvbjsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8m
IHBhaXIgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgICAgICAgICBpZiAoIWZvck1hdGVyaWFs
aXphdGlvbi5maW5kKHBhaXIua2V5KS0+dmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgaW50NjRfdCBudW1FZGdl
cyA9CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ2NF90PihkZXBzLmdl
dChwYWlyLmtleSkuc2l6ZSgpKSAqIHJkZXBzLmdldChwYWlyLmtleSkuc2l6ZSgpOworICAgICAg
ICAgICAgICAgICAgICBpZiAobnVtRWRnZXMgPiBtYXhFZGdlcykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4RWRnZXMgPSBudW1FZGdlczsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJl
c3RBbGxvY2F0aW9uID0gJnBhaXIudmFsdWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF4RWRnZXMgPiAw
KTsKKworICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplRmlyc3QoV1RGOjptb3ZlKCpiZXN0QWxs
b2NhdGlvbikpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1h
dGVyaWFsaXplZC5pc0VtcHR5KCkpOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZp
ZXIgOiBtYXRlcmlhbGl6ZWQpCisgICAgICAgICAgICAgICAgZXNjYXBlZXMucmVtb3ZlKGlkZW50
aWZpZXIpOworICAgICAgICB9CisKKyAgICAgICAgbWF0ZXJpYWxpemVkLmNsZWFyKCk7CisKKyAg
ICAgICAgSGFzaFNldDxOb2RlKj4gZXNjYXBlZDsKKyAgICAgICAgZm9yIChjb25zdCBBbGxvY2F0
aW9uJiBhbGxvY2F0aW9uIDogdG9NYXRlcmlhbGl6ZSkKKyAgICAgICAgICAgIGVzY2FwZWQuYWRk
KGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgZm9yIChjb25zdCBBbGxvY2F0aW9u
JiBhbGxvY2F0aW9uIDogdG9NYXRlcmlhbGl6ZSkgeworICAgICAgICAgICAgZm9yIChjb25zdCBh
dXRvJiBmaWVsZCA6IGFsbG9jYXRpb24uZmllbGRzKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
ZXNjYXBlZC5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgIW1hdGVyaWFsaXplZC5jb250YWlucyhm
aWVsZC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgIHRvUmVjb3Zlci5hcHBlbmQoUHJvbW90
ZWRIZWFwTG9jYXRpb24oYWxsb2NhdGlvbi5pZGVudGlmaWVyKCksIGZpZWxkLmtleSkpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBWZWN0b3I8Tm9kZSo+JiBtYXRlcmlhbGl6
YXRpb25zID0gbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmFkZCgKKyAg
ICAgICAgICAgIHdoZXJlLCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKworICAg
ICAgICBmb3IgKGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVyaWFsaXplKSB7
CisgICAgICAgICAgICBOb2RlKiBtYXRlcmlhbGl6YXRpb24gPSBjcmVhdGVNYXRlcmlhbGl6YXRp
b24oYWxsb2NhdGlvbiwgd2hlcmUpOworICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9ucy5hcHBl
bmQobWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2Nh
cGVlLmFkZChtYXRlcmlhbGl6YXRpb24sIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghdG9SZWNvdmVyLmlzRW1wdHkoKSkgeworICAgICAgICAgICAg
bV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmFkZCgKKyAgICAgICAgICAgICAgICB3
aGVyZSwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPigpKS5pdGVyYXRvci0+dmFsdWUuYXBw
ZW5kUmFuZ2UoCisgICAgICAgICAgICAgICAgICAgIHRvUmVjb3Zlci5iZWdpbigpLCB0b1JlY292
ZXIuZW5kKCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVGhlIGhpbnRzIG5lZWQgdG8gYmUg
YWZ0ZXIgdGhlICJyZWFsIiByZWNvdmVyaWVzIHNvIHRoYXQgd2UKKyAgICAgICAgLy8gZG9uJ3Qg
aGludCBub3QteWV0LWNvbXBsZXRlIG9iamVjdHMKKyAgICAgICAgaWYgKCFoaW50cy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5hZGQo
CisgICAgICAgICAgICAgICAgd2hlcmUsIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4oKSku
aXRlcmF0b3ItPnZhbHVlLmFwcGVuZFJhbmdlKAorICAgICAgICAgICAgICAgICAgICBoaW50cy5i
ZWdpbigpLCBoaW50cy5lbmQoKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBOb2RlKiBjcmVh
dGVNYXRlcmlhbGl6YXRpb24oY29uc3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiwgTm9kZSogd2hl
cmUpCisgICAgeworICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB0aGUgb25seSBwbGFjZSB3aGVy
ZSB3ZSBhY3R1YWxseSB1c2UgdGhlCisgICAgICAgIC8vIGZhY3QgdGhhdCBhbiBhbGxvY2F0aW9u
J3MgaWRlbnRpZmllciBpcyBpbmRlZWQgdGhlIG5vZGUKKyAgICAgICAgLy8gdGhhdCBjcmVhdGVk
IHRoZSBhbGxvY2F0aW9uLgorICAgICAgICBzd2l0Y2ggKGFsbG9jYXRpb24ua2luZCgpKSB7Cisg
ICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6T2JqZWN0OiB7CisgICAgICAgICAgICBPYmpl
Y3RNYXRlcmlhbGl6YXRpb25EYXRhKiBkYXRhID0gbV9ncmFwaC5tX29iamVjdE1hdGVyaWFsaXph
dGlvbkRhdGEuYWRkKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmVTZXQqIHNldCA9IG1fZ3JhcGgu
YWRkU3RydWN0dXJlU2V0KGFsbG9jYXRpb24uc3RydWN0dXJlcygpKTsKKworICAgICAgICAgICAg
cmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKS0+cHJlZGljdGlvbigpLCBOb2RlOjpWYXJBcmcsIE1hdGVyaWFsaXplTmV3T2JqZWN0
LAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGFsbG9j
YXRpb24uaWRlbnRpZmllcigpLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAg
IHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgT3BJbmZvKHNldCksIE9w
SW5mbyhkYXRhKSwgMCwgMCk7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEFsbG9jYXRpb246
OktpbmQ6OkZ1bmN0aW9uOiB7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZXhlY3V0YWJsZSA9
IGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5jZWxsT3BlcmFuZCgpOworCisgICAgICAgICAgICBy
ZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRp
ZmllcigpLT5wcmVkaWN0aW9uKCksIE5ld0Z1bmN0aW9uLAorICAgICAgICAgICAgICAgIE5vZGVP
cmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5vcmln
aW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCks
CisgICAgICAgICAgICAgICAgT3BJbmZvKGV4ZWN1dGFibGUpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5kOjpBY3RpdmF0aW9u
OiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKiBkYXRhID0gbV9ncmFw
aC5tX29iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuYWRkKCk7CisgICAgICAgICAgICBGcm96ZW5W
YWx1ZSogc3ltYm9sVGFibGUgPSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+Y2VsbE9wZXJhbmQo
KTsKKworICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAg
ICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+cHJlZGljdGlvbigpLCBOb2RlOjpWYXJBcmcsIE1h
dGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAor
ICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+b3JpZ2luLnNlbWFu
dGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAg
ICAgICAgICAgIE9wSW5mbyhzeW1ib2xUYWJsZSksIE9wSW5mbyhkYXRhKSwgMCwgMCk7CisgICAg
ICAgIH0KKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgs
IGFsbG9jYXRpb24uaWRlbnRpZmllcigpLCAiQmFkIGFsbG9jYXRpb24ga2luZCIpOworICAgICAg
ICB9CisgICAgfQorCisgICAgdm9pZCBwcm9tb3RlTG9jYWxIZWFwKCkKKyAgICB7CisgICAgICAg
IC8vIENvbGxlY3QgdGhlIHNldCBvZiBoZWFwIGxvY2F0aW9ucyB0aGF0IHdlIHdpbGwgYmUgb3Bl
cmF0aW5nCisgICAgICAgIC8vIG92ZXIuCisgICAgICAgIEhhc2hTZXQ8UHJvbW90ZWRIZWFwTG9j
YXRpb24+IGxvY2F0aW9uczsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3Jh
cGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgbV9oZWFwID0gbV9oZWFw
QXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7
CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwK
KyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwg
TGF6eU5vZGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBsb2NhdGlvbiBp
cyBub3Qgb24gYSBzaW5rIGNhbmRpZGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdl
IG9ubHkgc2luayBpdCBpZiBpdCBpcyByZWFkCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
bV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxvY2F0aW9ucy5hZGQobG9jYXRpb24pOworICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbnMuYWRk
KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IC8vIEZpZ3VyZSBvdXQgd2hpY2ggbG9jYXRpb25zIGJlbG9uZyB0byB3aGljaCBhbGxvY2F0aW9u
cy4KKyAgICAgICAgbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmNsZWFyKCk7CisgICAgICAgIGZv
ciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAg
ICAgIGF1dG8gcmVzdWx0ID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmFkZCgKKyAgICAgICAg
ICAgICAgICBsb2NhdGlvbi5iYXNlKCksCisgICAgICAgICAgICAgICAgVmVjdG9yPFByb21vdGVk
SGVhcExvY2F0aW9uPigpKTsKKyAgICAgICAgICAgIEFTU0VSVCghcmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZS5jb250YWlucyhsb2NhdGlvbikpOworICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZS5hcHBlbmQobG9jYXRpb24pOworICAgICAgICB9CisKKyAgICAgICAgbV9wb2ludGVyU1NB
LnJlc2V0KCk7CisgICAgICAgIG1fYWxsb2NhdGlvblNTQS5yZXNldCgpOworCisgICAgICAgIC8v
IENvbGxlY3QgdGhlIHNldCBvZiAidmFyaWFibGVzIiB0aGF0IHdlIHdpbGwgYmUgc2lua2luZy4K
KyAgICAgICAgbV9sb2NhdGlvblRvVmFyaWFibGUuY2xlYXIoKTsKKyAgICAgICAgbV9ub2RlVG9W
YXJpYWJsZS5jbGVhcigpOworICAgICAgICBWZWN0b3I8Tm9kZSo+IGluZGV4VG9Ob2RlOworICAg
ICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGluZGV4VG9Mb2NhdGlvbjsKKworICAg
ICAgICBmb3IgKE5vZGUqIGluZGV4IDogbV9zaW5rQ2FuZGlkYXRlcykgeworICAgICAgICAgICAg
U1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9hbGxvY2F0aW9uU1NBLm5ld1Zh
cmlhYmxlKCk7CisgICAgICAgICAgICBtX25vZGVUb1ZhcmlhYmxlLmFkZChpbmRleCwgdmFyaWFi
bGUpOworICAgICAgICAgICAgQVNTRVJUKGluZGV4VG9Ob2RlLnNpemUoKSA9PSB2YXJpYWJsZS0+
aW5kZXgoKSk7CisgICAgICAgICAgICBpbmRleFRvTm9kZS5hcHBlbmQoaW5kZXgpOworICAgICAg
ICB9CisKKyAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0
aW9ucykgeworICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0g
bV9wb2ludGVyU1NBLm5ld1ZhcmlhYmxlKCk7CisgICAgICAgICAgICBtX2xvY2F0aW9uVG9WYXJp
YWJsZS5hZGQobG9jYXRpb24sIHZhcmlhYmxlKTsKKyAgICAgICAgICAgIEFTU0VSVChpbmRleFRv
TG9jYXRpb24uc2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAgIGluZGV4
VG9Mb2NhdGlvbi5hcHBlbmQobG9jYXRpb24pOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ug
aW5zZXJ0IGFsbCByZXF1aXJlZCBjb25zdGFudHMgYXQgdG9wIG9mIGJsb2NrIDAgc28gdGhhdAor
ICAgICAgICAvLyB0aGV5IGFyZSBpbnNlcnRlZCBvbmx5IG9uY2UgYW5kIHdlIGRvbid0IGNsdXR0
ZXIgdGhlIGdyYXBoCisgICAgICAgIC8vIHdpdGggdXNlbGVzcyBjb25zdGFudHMgZXZlcnl3aGVy
ZQorICAgICAgICBIYXNoTWFwPEZyb3plblZhbHVlKiwgTm9kZSo+IGxhenlNYXBwaW5nOworICAg
ICAgICBpZiAoIW1fYm90dG9tKQorICAgICAgICAgICAgbV9ib3R0b20gPSBtX2luc2VydGlvblNl
dC5pbnNlcnRDb25zdGFudCgwLCBOb2RlT3JpZ2luKCksIGpzTnVtYmVyKDE5MjcpKTsKKyAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIo
KSkgeworICAgICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6
ZSgpOyArK25vZGVJbmRleCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+
YXQobm9kZUluZGV4KTsKKworICAgICAgICAgICAgICAgIC8vIFNvbWUgbmFtZWQgcHJvcGVydGll
cyBjYW4gYmUgYWRkZWQgY29uZGl0aW9uYWxseSwKKyAgICAgICAgICAgICAgICAvLyBhbmQgdGhh
dCB3b3VsZCBuZWNlc3NpdGF0ZSBib3R0b21zCisgICAgICAgICAgICAgICAgZm9yIChQcm9tb3Rl
ZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQobm9k
ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uLmtpbmQoKSAhPSBOYW1lZFBy
b3BlcnR5UExvYykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
ICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fbG9jYXRp
b25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1fcG9pbnRl
clNTQS5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCBtX2JvdHRvbSk7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6YXRpb24gOiBtX21hdGVy
aWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIGVzY2FwZWUgPSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQo
bWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgbV9hbGxvY2F0aW9uU1NBLm5l
d0RlZihtX25vZGVUb1ZhcmlhYmxlLmdldChlc2NhcGVlKSwgYmxvY2ssIG1hdGVyaWFsaXphdGlv
bik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRp
ZGF0ZXMuY29udGFpbnMobm9kZSkpCisgICAgICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvblNT
QS5uZXdEZWYobV9ub2RlVG9WYXJpYWJsZS5nZXQobm9kZSksIGJsb2NrLCBub2RlKTsKKworICAg
ICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlO
b2RlIHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWxvY2F0aW9ucy5jb250
YWlucyhsb2NhdGlvbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlVmFsdWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZVZhbHVlID0gdmFsdWUuYXNOb2RlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBsYXp5TWFwcGluZy5m
aW5kKHZhbHVlLmFzVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0
ZXIgIT0gbGF6eU1hcHBpbmcuZW5kKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVWYWx1ZSA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5l
bnN1cmVJc05vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldCwgbV9ncmFwaC5ibG9jaygwKSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxhenlNYXBwaW5nLmFkZCh2YWx1ZS5hc1ZhbHVlKCksIG5vZGVWYWx1ZSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUg
PSBtX2xvY2F0aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9wb2ludGVyU1NBLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIG5vZGVWYWx1ZSk7Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFtdIChQcm9tb3RlZEhl
YXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUobV9ncmFwaC5ibG9jaygwKSk7CisKKyAg
ICAgICAgLy8gUnVuIHRoZSBTU0EgY2FsY3VsYXRvcnMgdG8gY3JlYXRlIFBoaXMKKyAgICAgICAg
bV9wb2ludGVyU1NBLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAgWyZdIChTU0FDYWxjdWxhdG9y
OjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2RlKiB7CisgICAg
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBpbmRleFRvTG9jYXRp
b25bdmFyaWFibGUtPmluZGV4KCldOworCisgICAgICAgICAgICAgICAgLy8gRG9uJ3QgY3JlYXRl
IFBoaSBub2RlcyBmb3IgZmllbGRzIG9mIGRlYWQgYWxsb2NhdGlvbnMKKyAgICAgICAgICAgICAg
ICBpZiAoIW1faGVhcEF0SGVhZFtibG9ja10uaXNBbGxvY2F0aW9uKGxvY2F0aW9uLmJhc2UoKSkp
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICAgICAg
Ly8gRG9uJ3QgY3JlYXRlIFBoaSBub2RlcyBvbmNlIHdlIGFyZSBlc2NhcGVkCisgICAgICAgICAg
ICAgICAgaWYgKG1faGVhcEF0SGVhZFtibG9ja10uZ2V0QWxsb2NhdGlvbihsb2NhdGlvbi5iYXNl
KCkpLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICAgICAgICAgICAgICAvLyBJZiB3ZSBwb2ludCB0byBhIHNpbmdsZSBhbGxv
Y2F0aW9uLCB3ZSB3aWxsCisgICAgICAgICAgICAgICAgLy8gZGlyZWN0bHkgdXNlIGl0cyBtYXRl
cmlhbGl6YXRpb24KKyAgICAgICAgICAgICAgICBpZiAobV9oZWFwQXRIZWFkW2Jsb2NrXS5mb2xs
b3cobG9jYXRpb24pKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBtX2dyYXBoLmFkZE5vZGUoU3BlY0hlYXBUb3As
IFBoaSwgTm9kZU9yaWdpbigpKTsKKyAgICAgICAgICAgICAgICBwaGlOb2RlLT5tZXJnZUZsYWdz
KE5vZGVSZXN1bHRKUyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBoaU5vZGU7CisgICAgICAg
ICAgICB9KTsKKworICAgICAgICBtX2FsbG9jYXRpb25TU0EuY29tcHV0ZVBoaXMoCisgICAgICAg
ICAgICBbJl0gKFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSwgQmFzaWNCbG9jayog
YmxvY2spIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gaW5k
ZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldOworCisgICAgICAgICAgICAgICAgLy8gRG9uJ3Qg
Y3JlYXRlIFBoaSBub2RlcyBmb3IgZGVhZCBhbGxvY2F0aW9ucworICAgICAgICAgICAgICAgIGlm
ICghbV9oZWFwQXRIZWFkW2Jsb2NrXS5pc0FsbG9jYXRpb24oaWRlbnRpZmllcikpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICAgICAgLy8gRG9uJ3Qg
Y3JlYXRlIFBoaSBub2RlcyB1bnRpbCB3ZSBhcmUgZXNjYXBlZAorICAgICAgICAgICAgICAgIGlm
ICghbV9oZWFwQXRIZWFkW2Jsb2NrXS5nZXRBbGxvY2F0aW9uKGlkZW50aWZpZXIpLmlzRXNjYXBl
ZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gbV9ncmFwaC5hZGROb2RlKFNwZWNIZWFwVG9w
LCBQaGksIE5vZGVPcmlnaW4oKSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVyZ2VGbGFn
cyhOb2RlUmVzdWx0SlMpOworICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOworICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgLy8gUGxhY2UgUGhpcyBpbiB0aGUgcmlnaHQgcGxhY2VzLCBy
ZXBsYWNlIGFsbCB1c2VzIG9mIGFueSBsb2FkIHdpdGggdGhlIGFwcHJvcHJpYXRlCisgICAgICAg
IC8vIHZhbHVlLCBhbmQgY3JlYXRlIHRoZSBtYXRlcmlhbGl6YXRpb24gbm9kZXMuCisgICAgICAg
IExvY2FsT1NSQXZhaWxhYmlsaXR5Q2FsY3VsYXRvciBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yOwor
ICAgICAgICBtX2dyYXBoLmNsZWFyUmVwbGFjZW1lbnRzKCk7CisgICAgICAgIGZvciAoQmFzaWNC
bG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAg
bV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNh
bGN1bGF0b3IuYmVnaW5CbG9jayhibG9jayk7CisKKyAgICAgICAgICAgIC8vIFRoZXNlIG1hcHBp
bmcgdGFibGVzIGFyZSBpbnRlbmRlZCB0byBiZSBsYXp5LiBJZgorICAgICAgICAgICAgLy8gc29t
ZXRoaW5nIGlzIG9taXR0ZWQgZnJvbSB0aGUgdGFibGUsIGl0IG1lYW5zIHRoYXQKKyAgICAgICAg
ICAgIC8vIHRoZXJlIGhhdmVuJ3QgYmVlbiBhbnkgbG9jYWwgc3RvcmVzIHRvIHRoZSBwcm9tb3Rl
ZAorICAgICAgICAgICAgLy8gaGVhcCBsb2NhdGlvbiAob3IgYW55IGxvY2FsIG1hdGVyaWFsaXph
dGlvbikuCisgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5jbGVhcigpOworICAgICAgICAgICAg
bV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uY2xlYXIoKTsKKworICAgICAgICAgICAgLy8gSW5z
ZXJ0IHRoZSBQaGkgZnVuY3Rpb25zIHRoYXQgd2UgaGFkIHByZXZpb3VzbHkKKyAgICAgICAgICAg
IC8vIGNyZWF0ZWQuCisgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVm
IDogbV9wb2ludGVyU1NBLnBoaXNGb3JCbG9jayhibG9jaykpIHsKKyAgICAgICAgICAgICAgICBT
U0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBwaGlEZWYtPnZhcmlhYmxlKCk7Cisg
ICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KDAsIHBoaURlZi0+dmFsdWUoKSk7
CisKKyAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IGluZGV4
VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgbV9sb2NhbE1h
cHBpbmcuc2V0KGxvY2F0aW9uLCBwaGlEZWYtPnZhbHVlKCkpOworCisgICAgICAgICAgICAgICAg
aWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkgeworICAgICAg
ICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAwLCBsb2NhdGlvbi5jcmVhdGVIaW50KG1fZ3JhcGgsIE5vZGVPcmlnaW4oKSwgcGhpRGVm
LT52YWx1ZSgpKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9hbGxvY2F0aW9uU1NBLnBo
aXNGb3JCbG9jayhibG9jaykpIHsKKyAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJp
YWJsZSogdmFyaWFibGUgPSBwaGlEZWYtPnZhcmlhYmxlKCk7CisgICAgICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuaW5zZXJ0KDAsIHBoaURlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgICAgICAg
ICBOb2RlKiBpZGVudGlmaWVyID0gaW5kZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldOworICAg
ICAgICAgICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmFkZChpZGVudGlmaWVyLCBw
aGlEZWYtPnZhbHVlKCkpOworICAgICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRl
KDAsIE5vZGVPcmlnaW4oKSwgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwg
aWRlbnRpZmllciwgcGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJMb2NhbCBtYXBwaW5n
IGF0ICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwgIjogIiwgbWFwRHVtcChtX2xvY2FsTWFwcGluZyks
ICJcbiIpOworICAgICAgICAgICAgICAgIGRhdGFMb2coIkxvY2FsIG1hdGVyaWFsaXphdGlvbnMg
YXQgIiwgcG9pbnRlckR1bXAoYmxvY2spLCAiOiAiLCBtYXBEdW1wKG1fZXNjYXBlZVRvTWF0ZXJp
YWxpemF0aW9uKSwgIlxuIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5k
ZXgpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7
CisgICAgICAgICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IG1f
bG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGxvY2F0aW9uLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExvYykKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5n
LnNldChsb2NhdGlvbiwgbV9ib3R0b20pOworCisgICAgICAgICAgICAgICAgICAgIGlmIChtX3Np
bmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlu
ZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5jcmVhdGVIaW50
KG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbV9ib3R0b20pKTsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJp
YWxpemF0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChu
b2RlKSkgeworICAgICAgICAgICAgICAgICAgICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6
YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAg
IHBvcHVsYXRlTWF0ZXJpYWxpemF0aW9uKGJsb2NrLCBtYXRlcmlhbGl6YXRpb24sIGVzY2FwZWUp
OworICAgICAgICAgICAgICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5zZXQoZXNj
YXBlZSwgbWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0KG5vZGVJbmRleCwgbWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJNYXRlcmlh
bGl6aW5nICIsIGVzY2FwZWUsICIgPT4gIiwgbWF0ZXJpYWxpemF0aW9uLCAiIGF0ICIsIG5vZGUs
ICJcbiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90
ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJp
ZXMuZ2V0KG5vZGUpKQorICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQo
bm9kZUluZGV4LCBjcmVhdGVSZWNvdmVyeShibG9jaywgbG9jYXRpb24sIG5vZGUpKTsKKworICAg
ICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcHV0IHRoZSBPU1IgaGludHMgYWZ0ZXIgdGhlIHJl
Y292ZXJpZXMsCisgICAgICAgICAgICAgICAgLy8gYmVjYXVzZSB3ZSBvbmx5IHdhbnQgdGhlIGhp
bnRzIG9uY2UgdGhlIG9iamVjdCBpcworICAgICAgICAgICAgICAgIC8vIGNvbXBsZXRlCisgICAg
ICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6YXRpb24gOiBtX21hdGVyaWFsaXphdGlv
blNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAg
IE5vZGUqIGVzY2FwZWUgPSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobWF0ZXJpYWxp
emF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgaW5zZXJ0T1NSSGludHNGb3JVcGRhdGUoCisg
ICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXgsIG5vZGUtPm9yaWdpbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHksIGVz
Y2FwZWUsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpCisgICAgICAgICAgICAg
ICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLnNldChub2RlLCBub2RlKTsKKworICAg
ICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IuZXhlY3V0ZU5vZGUobm9kZSk7CisK
KyAgICAgICAgICAgICAgICBib29sIGRvTG93ZXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBo
YW5kbGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAg
ICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFsb2NhdGlvbnMuY29udGFpbnMobG9jYXRpb24p
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAg
ICAgICAgICAgTm9kZSogbm9kZVZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZh
bHVlLmlzTm9kZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9IHZh
bHVlLmFzTm9kZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9IGxhenlNYXBwaW5nLmdldCh2YWx1ZS5hc1ZhbHVl
KCkpOworCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSByZXNvbHZlKGJsb2Nr
LCBub2RlVmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5z
ZXQobG9jYXRpb24sIG5vZGVWYWx1ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
bV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICAgICAgZG9Mb3dl
ciA9IHRydWU7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dChub2RlSW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLmNy
ZWF0ZUhpbnQobV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBub2RlVmFsdWUpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlv
biBsb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJl
c29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSB8fCBkb0xvd2Vy
KSB7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAg
ICAgICAgICAgICBjYXNlIE5ld09iamVjdDoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZU5ld09iamVjdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRU
b1BoYW50b21OZXdPYmplY3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CisgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tTmV3RnVuY3Rpb24oKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRp
b246CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tQ3JlYXRl
QWN0aXZhdGlvbigpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnJlbW92
ZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGls
ZHJlbigKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZd
IChFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlZGdlLnNldE5vZGUocmVz
b2x2ZShibG9jaywgZWRnZS5ub2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEdvdHRhIGRyb3Agc29tZSBVcHNpbG9ucy4KKyAg
ICAgICAgICAgIE5vZGVBbmRJbmRleCB0ZXJtaW5hbCA9IGJsb2NrLT5maW5kVGVybWluYWwoKTsK
KyAgICAgICAgICAgIHNpemVfdCB1cHNpbG9uSW5zZXJ0aW9uUG9pbnQgPSB0ZXJtaW5hbC5pbmRl
eDsKKyAgICAgICAgICAgIE5vZGVPcmlnaW4gdXBzaWxvbk9yaWdpbiA9IHRlcm1pbmFsLm5vZGUt
Pm9yaWdpbjsKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBi
bG9jay0+c3VjY2Vzc29ycygpKSB7CisgICAgICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9y
OjpEZWYqIHBoaURlZiA6IG1fcG9pbnRlclNTQS5waGlzRm9yQmxvY2soc3VjY2Vzc29yQmxvY2sp
KSB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBwaGlEZWYtPnZhbHVlKCk7
CisgICAgICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9
IHBoaURlZi0+dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9j
YXRpb24gbG9jYXRpb24gPSBpbmRleFRvTG9jYXRpb25bdmFyaWFibGUtPmluZGV4KCldOworICAg
ICAgICAgICAgICAgICAgICBOb2RlKiBpbmNvbWluZyA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9u
KTsKKworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgdXBzaWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBz
aWxvbiwgdXBzaWxvbk9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlO
b2RlKSwgaW5jb21pbmctPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX2FsbG9jYXRp
b25TU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2NrKSkgeworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgpOworICAgICAgICAgICAgICAgICAgICBT
U0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBwaGlEZWYtPnZhcmlhYmxlKCk7Cisg
ICAgICAgICAgICAgICAgICAgIE5vZGUqIGluY29taW5nID0gZ2V0TWF0ZXJpYWxpemF0aW9uKGJs
b2NrLCBpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV0pOworCisgICAgICAgICAgICAgICAg
ICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICB1
cHNpbG9uSW5zZXJ0aW9uUG9pbnQsIFNwZWNOb25lLCBVcHNpbG9uLCB1cHNpbG9uT3JpZ2luLAor
ICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKHBoaU5vZGUpLCBpbmNvbWluZy0+ZGVmYXVs
dEVkZ2UoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IE5vZGUqIHJlc29sdmUoQmFzaWNCbG9jayogYmxvY2ssIFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uKQorICAgIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBwb2ludGluZyB0
byBhIHNpbmdsZSBsb2NhbCBhbGxvY2F0aW9uLAorICAgICAgICAvLyBzaW1wbHkgcmV0dXJuIHRo
ZSBhc3NvY2lhdGVkIG1hdGVyaWFsaXphdGlvbi4KKyAgICAgICAgaWYgKE5vZGUqIGlkZW50aWZp
ZXIgPSBtX2hlYXAuZm9sbG93KGxvY2F0aW9uKSkKKyAgICAgICAgICAgIHJldHVybiBnZXRNYXRl
cmlhbGl6YXRpb24oYmxvY2ssIGlkZW50aWZpZXIpOworCisgICAgICAgIGlmIChOb2RlKiByZXN1
bHQgPSBtX2xvY2FsTWFwcGluZy5nZXQobG9jYXRpb24pKQorICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKworICAgICAgICAvLyBUaGlzIGltcGxpZXMgdGhhdCB0aGVyZSBpcyBubyBsb2NhbCBt
YXBwaW5nLiBGaW5kIGEgbm9uLWxvY2FsIG1hcHBpbmcuCisgICAgICAgIFNTQUNhbGN1bGF0b3I6
OkRlZiogZGVmID0gbV9wb2ludGVyU1NBLm5vbkxvY2FsUmVhY2hpbmdEZWYoCisgICAgICAgICAg
ICBibG9jaywgbV9sb2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKSk7CisgICAgICAgIEFT
U0VSVChkZWYpOworICAgICAgICBBU1NFUlQoZGVmLT52YWx1ZSgpKTsKKworICAgICAgICBOb2Rl
KiByZXN1bHQgPSBkZWYtPnZhbHVlKCk7CisKKyAgICAgICAgQVNTRVJUKCFyZXN1bHQtPnJlcGxh
Y2VtZW50KCkpOworCisgICAgICAgIG1fbG9jYWxNYXBwaW5nLmFkZChsb2NhdGlvbiwgcmVzdWx0
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBOb2RlKiByZXNvbHZlKEJh
c2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgLy8gSWYgd2UgYXJl
IGN1cnJlbnRseSBwb2ludGluZyB0byBhIHNpbmdsZSBsb2NhbCBhbGxvY2F0aW9uLAorICAgICAg
ICAvLyBzaW1wbHkgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIG1hdGVyaWFsaXphdGlvbi4KKyAgICAg
ICAgaWYgKE5vZGUqIGlkZW50aWZpZXIgPSBtX2hlYXAuZm9sbG93KG5vZGUpKQorICAgICAgICAg
ICAgcmV0dXJuIGdldE1hdGVyaWFsaXphdGlvbihibG9jaywgaWRlbnRpZmllcik7CisKKyAgICAg
ICAgaWYgKG5vZGUtPnJlcGxhY2VtZW50KCkpCisgICAgICAgICAgICBub2RlID0gbm9kZS0+cmVw
bGFjZW1lbnQoKTsKKyAgICAgICAgQVNTRVJUKCFub2RlLT5yZXBsYWNlbWVudCgpKTsKKworICAg
ICAgICByZXR1cm4gbm9kZTsKKyAgICB9CisKKyAgICBOb2RlKiBnZXRNYXRlcmlhbGl6YXRpb24o
QmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIGlkZW50aWZpZXIpCisgICAgeworICAgICAgICBBU1NF
UlQobV9oZWFwLmlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSk7CisgICAgICAgIGlmICghbV9zaW5r
Q2FuZGlkYXRlcy5jb250YWlucyhpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybiBpZGVu
dGlmaWVyOworCisgICAgICAgIGlmIChOb2RlKiBtYXRlcmlhbGl6YXRpb24gPSBtX2VzY2FwZWVU
b01hdGVyaWFsaXphdGlvbi5nZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm4gbWF0
ZXJpYWxpemF0aW9uOworCisgICAgICAgIFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0gbV9hbGxv
Y2F0aW9uU1NBLm5vbkxvY2FsUmVhY2hpbmdEZWYoCisgICAgICAgICAgICBibG9jaywgbV9ub2Rl
VG9WYXJpYWJsZS5nZXQoaWRlbnRpZmllcikpOworICAgICAgICBBU1NFUlQoZGVmICYmIGRlZi0+
dmFsdWUoKSk7CisgICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmFkZChpZGVudGlm
aWVyLCBkZWYtPnZhbHVlKCkpOworICAgICAgICBBU1NFUlQoIWRlZi0+dmFsdWUoKS0+cmVwbGFj
ZW1lbnQoKSk7CisgICAgICAgIHJldHVybiBkZWYtPnZhbHVlKCk7CisgICAgfQorCisgICAgdm9p
ZCBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSh1bnNpZ25lZCBub2RlSW5kZXgsIE5vZGVPcmlnaW4g
b3JpZ2luLCBBdmFpbGFiaWxpdHlNYXAmIGF2YWlsYWJpbGl0eSwgTm9kZSogZXNjYXBlZSwgTm9k
ZSogbWF0ZXJpYWxpemF0aW9uKQorICAgIHsKKyAgICAgICAgLy8gV2UgbmVlZCB0byBmb2xsb3co
KSB0aGUgdmFsdWUgaW4gdGhlIGhlYXAuCisgICAgICAgIC8vIENvbnNpZGVyIHRoZSBmb2xsb3dp
bmcgZ3JhcGg6CisgICAgICAgIC8vCisgICAgICAgIC8vIEJsb2NrICMwCisgICAgICAgIC8vICAg
MDogTmV3T2JqZWN0KHt9KQorICAgICAgICAvLyAgIDE6IE5ld09iamVjdCh7fSkKKyAgICAgICAg
Ly8gICAtOiBQdXRCeU9mZnNldChAMCwgQDEsIHg6MCkKKyAgICAgICAgLy8gICAtOiBQdXRTdHJ1
Y3R1cmUoQDAsIHt4OjB9KQorICAgICAgICAvLyAgIDI6IEdldEJ5T2Zmc2V0KEAwLCB4OjApCisg
ICAgICAgIC8vICAgLTogTW92SGludChAMiwgbG9jMSkKKyAgICAgICAgLy8gICAtOiBCcmFuY2go
IzEsICMyKQorICAgICAgICAvLworICAgICAgICAvLyBCbG9jayAjMQorICAgICAgICAvLyAgIDM6
IENhbGwoZiwgQDEpCisgICAgICAgIC8vICAgNDogUmV0dXJuKEAwKQorICAgICAgICAvLworICAg
ICAgICAvLyBCbG9jayAjMgorICAgICAgICAvLyAgIC06IFJldHVybih1bmRlZmluZWQpCisgICAg
ICAgIC8vCisgICAgICAgIC8vIFdlIG5lZWQgdG8gbWF0ZXJpYWxpemUgQDEgYXQgQDMsIGFuZCB3
aGVuIGRvaW5nIHNvIHdlIG5lZWQKKyAgICAgICAgLy8gdG8gaW5zZXJ0IGEgTW92SGludCBmb3Ig
dGhlIG1hdGVyaWFsaXphdGlvbiBpbnRvIGxvYzEgYXMKKyAgICAgICAgLy8gd2VsbC4KKyAgICAg
ICAgLy8gSW4gb3JkZXIgdG8gZG8gdGhpcywgd2Ugc2F5IHRoYXQgd2UgbmVlZCB0byBpbnNlcnQg
YW4KKyAgICAgICAgLy8gdXBkYXRlIGhpbnQgZm9yIGFueSBhdmFpbGFiaWxpdHkgd2hvc2Ugbm9k
ZSByZXNvbHZlKClzIHRvCisgICAgICAgIC8vIHRoZSBtYXRlcmlhbGl6YXRpb24uCisgICAgICAg
IGZvciAoYXV0byBwYWlyIDogYXZhaWxhYmlsaXR5Lm1faGVhcCkgeworICAgICAgICAgICAgaWYg
KCFwYWlyLnZhbHVlLmhhc05vZGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIGlmIChtX2hlYXAuZm9sbG93KHBhaXIudmFsdWUubm9kZSgpKSAhPSBlc2NhcGVlKQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBtX2luc2VydGlvblNldC5p
bnNlcnQoCisgICAgICAgICAgICAgICAgbm9kZUluZGV4LCBwYWlyLmtleS5jcmVhdGVIaW50KG1f
Z3JhcGgsIG9yaWdpbiwgbWF0ZXJpYWxpemF0aW9uKSk7CisgICAgICAgIH0KKworICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBhdmFpbGFiaWxpdHkubV9sb2NhbHMuc2l6ZSgpOyBpLS07KSB7Cisg
ICAgICAgICAgICBpZiAoIWF2YWlsYWJpbGl0eS5tX2xvY2Fsc1tpXS5oYXNOb2RlKCkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAobV9oZWFwLmZvbGxvdyhhdmFp
bGFiaWxpdHkubV9sb2NhbHNbaV0ubm9kZSgpKSAhPSBlc2NhcGVlKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICBpbnQgb3BlcmFuZCA9IGF2YWlsYWJpbGl0eS5tX2xv
Y2Fscy5vcGVyYW5kRm9ySW5kZXgoaSk7CisgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnROb2RlKAorICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgU3BlY05vbmUsIE1vdkhpbnQsIG9y
aWdpbiwgT3BJbmZvKG9wZXJhbmQpLAorICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbi0+
ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHBvcHVsYXRlTWF0
ZXJpYWxpemF0aW9uKEJhc2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBub2RlLCBOb2RlKiBlc2NhcGVl
KQorICAgIHsKKyAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1faGVhcC5nZXRBbGxv
Y2F0aW9uKGVzY2FwZWUpOworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAg
Y2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIGZpcnN0Q2hpbGQgPSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4u
c2l6ZSgpOworCisgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0
aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNjYXBlZSk7CisKKyAgICAgICAg
ICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN0cnVjdHVyZShTdHJ1Y3R1cmVQTG9jLCBhbGxvY2F0
aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5z
KHN0cnVjdHVyZSkpOworCisgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBw
ZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25vd25DZWxsVXNlKSk7CisKKyAg
ICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMp
IHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLmtpbmQoKSkgeworICAgICAgICAg
ICAgICAgIGNhc2UgU3RydWN0dXJlUExvYzoKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxv
Y2F0aW9uID09IHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgICAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzogeworICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb24uYmFzZSgpID09IGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZGF0YS5tX3Byb3BlcnRpZXMuYXBwZW5kKFBoYW50b21Qcm9wZXJ0
eVZhbHVlKGxvY2F0aW9uLmluZm8oKSkpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiB2YWx1
ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1f
c2lua0NhbmRpZGF0ZXMuY29udGFpbnModmFsdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChtX2JvdHRvbSk7CisgICAgICAgICAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGls
ZHJlbi5hcHBlbmQodmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAg
ICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBub2RlLT5jaGlsZHJlbiA9
IEFkamFjZW5jeUxpc3QoCisgICAgICAgICAgICAgICAgQWRqYWNlbmN5TGlzdDo6VmFyaWFibGUs
CisgICAgICAgICAgICAgICAgZmlyc3RDaGlsZCwgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNp
emUoKSAtIGZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAgICAgT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlv
bkRhdGEoKTsKKworICAgICAgICAgICAgdW5zaWduZWQgZmlyc3RDaGlsZCA9IG1fZ3JhcGgubV92
YXJBcmdDaGlsZHJlbi5zaXplKCk7CisKKyAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBM
b2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2NhcGVl
KTsKKworICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc3ltYm9sVGFibGUoQWN0aXZh
dGlvblN5bWJvbFRhYmxlUExvYywgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzeW1ib2xUYWJsZSkpOworICAgICAgICAgICAg
QVNTRVJUKG5vZGUtPmNlbGxPcGVyYW5kKCkgPT0gcmVzb2x2ZShibG9jaywgc3ltYm9sVGFibGUp
LT5jb25zdGFudCgpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBl
bmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSksIEtub3duQ2VsbFVzZSkpOworCisg
ICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzY29wZShBY3RpdmF0aW9uU2NvcGVQTG9j
LCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25z
LmNvbnRhaW5zKHNjb3BlKSk7CisgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4u
YXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc2NvcGUpLCBLbm93bkNlbGxVc2UpKTsKKworICAg
ICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykg
eworICAgICAgICAgICAgICAgIHN3aXRjaCAobG9jYXRpb24ua2luZCgpKSB7CisgICAgICAgICAg
ICAgICAgY2FzZSBBY3RpdmF0aW9uU2NvcGVQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChsb2NhdGlvbiA9PSBzY29wZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2UgQWN0aXZhdGlvblN5bWJvbFRh
YmxlUExvYzogeworICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24gPT0gc3ltYm9s
VGFibGUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOiB7CisgICAgICAgICAgICAgICAg
ICAgIEFTU0VSVChsb2NhdGlvbi5iYXNlKCkgPT0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOwor
ICAgICAgICAgICAgICAgICAgICBkYXRhLm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3Bl
cnR5VmFsdWUobG9jYXRpb24uaW5mbygpKSk7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHZh
bHVlID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAo
bV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKG1fYm90dG9tKTsKKyAgICAgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0No
aWxkcmVuLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
ICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIGxvY2F0aW9uIGtpbmQiKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVu
ID0gQWRqYWNlbmN5TGlzdCgKKyAgICAgICAgICAgICAgICBBZGphY2VuY3lMaXN0OjpWYXJpYWJs
ZSwKKyAgICAgICAgICAgICAgICBmaXJzdENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4u
c2l6ZSgpIC0gZmlyc3RDaGlsZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisg
ICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKKyAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhl
YXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2Nh
cGVlKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuc2l6ZSgpID09IDIpOworCisgICAg
ICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBleGVjdXRhYmxlKEZ1bmN0aW9uRXhlY3V0YWJs
ZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVF9VTlVT
RUQoZXhlY3V0YWJsZSwgbG9jYXRpb25zLmNvbnRhaW5zKGV4ZWN1dGFibGUpKTsKKworICAgICAg
ICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gYWN0aXZhdGlvbihGdW5jdGlvbkFjdGl2YXRpb25Q
TG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRp
b25zLmNvbnRhaW5zKGFjdGl2YXRpb24pKTsKKworICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCkg
PSBFZGdlKHJlc29sdmUoYmxvY2ssIGFjdGl2YXRpb24pLCBLbm93bkNlbGxVc2UpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
REZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbWF0ZXJpYWxpemUgb3AiKTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIE5vZGUqIGNyZWF0ZVJlY292ZXJ5KEJhc2ljQmxvY2sqIGJsb2NrLCBQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTm9kZSogd2hlcmUpCisgICAgeworICAgICAg
ICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRhdGFMb2coIlJlY292ZXJpbmcgIiwgbG9jYXRp
b24sICIgYXQgIiwgd2hlcmUsICJcbiIpOworICAgICAgICBBU1NFUlQobG9jYXRpb24uYmFzZSgp
LT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICBOb2RlKiBiYXNlID0gZ2V0TWF0ZXJp
YWxpemF0aW9uKGJsb2NrLCBsb2NhdGlvbi5iYXNlKCkpOworICAgICAgICBOb2RlKiB2YWx1ZSA9
IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKworICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgIGRhdGFMb2coIkJhc2UgaXMgIiwgYmFzZSwgIiBhbmQgdmFsdWUgaXMgIiwgdmFsdWUs
ICJcbiIpOworCisgICAgICAgIGlmIChiYXNlLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpIHsKKyAg
ICAgICAgICAgIHJldHVybiBQcm9tb3RlZEhlYXBMb2NhdGlvbihiYXNlLCBsb2NhdGlvbi5kZXNj
cmlwdG9yKCkpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgbV9ncmFwaCwKKyAgICAgICAg
ICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5vcmlnaW4uc2Vt
YW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAg
ICAgICAgICAgICAgdmFsdWUpOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChsb2NhdGlv
bi5raW5kKCkpIHsKKyAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzogeworICAgICAgICAg
ICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1faGVhcC5nZXRBbGxvY2F0aW9uKGxvY2F0aW9u
LmJhc2UoKSk7CisgICAgICAgIAorICAgICAgICAgICAgVmVjdG9yPFN0cnVjdHVyZSo+IHN0cnVj
dHVyZXM7CisgICAgICAgICAgICBzdHJ1Y3R1cmVzLmFwcGVuZFJhbmdlKGFsbG9jYXRpb24uc3Ry
dWN0dXJlcygpLmJlZ2luKCksIGFsbG9jYXRpb24uc3RydWN0dXJlcygpLmVuZCgpKTsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBsb2NhdGlvbi5pbmZvKCk7CisgICAg
ICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lk
ZW50aWZpZXJOdW1iZXJdOworCisgICAgICAgICAgICBzdGQ6OnNvcnQoCisgICAgICAgICAgICAg
ICAgc3RydWN0dXJlcy5iZWdpbigpLAorICAgICAgICAgICAgICAgIHN0cnVjdHVyZXMuZW5kKCks
CisgICAgICAgICAgICAgICAgW3VpZF0gKFN0cnVjdHVyZSAqYSwgU3RydWN0dXJlKiBiKSAtPiBi
b29sIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEtPmdldENvbmN1cnJlbnRseSh1aWQp
IDwgYi0+Z2V0Q29uY3VycmVudGx5KHVpZCk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IGZpcnN0T2Zmc2V0ID0gc3RydWN0dXJlc1swXS0+Z2V0Q29u
Y3VycmVudGx5KHVpZCk7CisKKyAgICAgICAgICAgIGlmIChmaXJzdE9mZnNldCA9PSBzdHJ1Y3R1
cmVzLmxhc3QoKS0+Z2V0Q29uY3VycmVudGx5KHVpZCkpIHsKKyAgICAgICAgICAgICAgICBOb2Rl
KiBzdG9yYWdlID0gYmFzZTsKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2hlbiB3ZSBkZWNp
ZGUgdG8gc2luayBvYmplY3RzIHdpdGggYQorICAgICAgICAgICAgICAgIC8vIHByb3BlcnR5IHN0
b3JhZ2UsIHdlIHNob3VsZCBoYW5kbGUgbm9uLWlubGluZSBvZmZzZXRzLgorICAgICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KGZpcnN0T2Zmc2V0KSk7CisKKyAgICAg
ICAgICAgICAgICBTdG9yYWdlQWNjZXNzRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9zdG9yYWdlQWNj
ZXNzRGF0YS5hZGQoKTsKKyAgICAgICAgICAgICAgICBkYXRhLT5vZmZzZXQgPSBmaXJzdE9mZnNl
dDsKKyAgICAgICAgICAgICAgICBkYXRhLT5pZGVudGlmaWVyTnVtYmVyID0gaWRlbnRpZmllck51
bWJlcjsKKworICAgICAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAg
ICAgICAgICAgICAgIFNwZWNOb25lLAorICAgICAgICAgICAgICAgICAgICBQdXRCeU9mZnNldCwK
KyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAg
T3BJbmZvKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICBFZGdlKHN0b3JhZ2UsIEtub3duQ2Vs
bFVzZSksCisgICAgICAgICAgICAgICAgICAgIEVkZ2UoYmFzZSwgS25vd25DZWxsVXNlKSwKKyAg
ICAgICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBNdWx0aVB1dEJ5T2Zmc2V0RGF0YSogZGF0YSA9IG1fZ3JhcGgubV9tdWx0
aVB1dEJ5T2Zmc2V0RGF0YS5hZGQoKTsKKyAgICAgICAgICAgIGRhdGEtPmlkZW50aWZpZXJOdW1i
ZXIgPSBpZGVudGlmaWVyTnVtYmVyOworCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
UHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IGZpcnN0T2Zmc2V0OworICAgICAgICAgICAg
ICAgIFN0cnVjdHVyZVNldCBjdXJyZW50U2V0OworICAgICAgICAgICAgICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgOiBzdHJ1Y3R1cmVzKSB7CisgICAgICAgICAgICAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCk7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChvZmZzZXQgIT0gY3VycmVudE9mZnNldCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgZGF0YS0+dmFyaWFudHMuYXBwZW5kKAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFB1dEJ5SWRWYXJpYW50OjpyZXBsYWNlKGN1cnJlbnRTZXQsIGN1cnJlbnRPZmZz
ZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRPZmZzZXQgPSBvZmZzZXQ7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2V0LmNsZWFyKCk7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFNldC5hZGQoc3RydWN0dXJlKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZGF0YS0+dmFyaWFudHMuYXBwZW5k
KFB1dEJ5SWRWYXJpYW50OjpyZXBsYWNlKGN1cnJlbnRTZXQsIGN1cnJlbnRPZmZzZXQpKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAg
ICAgICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICBNdWx0aVB1dEJ5T2Zmc2V0LAor
ICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGJhc2UtPm9y
aWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0
KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksCisgICAgICAgICAgICAgICAgRWRnZShi
YXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAgIHZhbHVlLT5kZWZhdWx0RWRnZSgp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBDbG9zdXJl
VmFyUExvYzogeworICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAg
ICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICBQdXRDbG9zdXJlVmFyLAorICAgICAg
ICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGJhc2UtPm9yaWdpbi5z
ZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAg
ICAgICAgICAgICAgICBPcEluZm8obG9jYXRpb24uaW5mbygpKSwKKyAgICAgICAgICAgICAgICBF
ZGdlKGJhc2UsIEtub3duQ2VsbFVzZSksCisgICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRF
ZGdlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIGJhc2UsICJCYWQgbG9jYXRpb24ga2lu
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBTU0FDYWxj
dWxhdG9yIG1fcG9pbnRlclNTQTsKKyAgICBTU0FDYWxjdWxhdG9yIG1fYWxsb2NhdGlvblNTQTsK
KyAgICBIYXNoU2V0PE5vZGUqPiBtX3NpbmtDYW5kaWRhdGVzOworICAgIEhhc2hNYXA8UHJvbW90
ZWRIZWFwTG9jYXRpb24sIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKj4gbV9sb2NhdGlvblRvVmFy
aWFibGU7CisgICAgSGFzaE1hcDxOb2RlKiwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBtX25v
ZGVUb1ZhcmlhYmxlOworICAgIEhhc2hNYXA8UHJvbW90ZWRIZWFwTG9jYXRpb24sIE5vZGUqPiBt
X2xvY2FsTWFwcGluZzsKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2RlKj4gbV9lc2NhcGVlVG9NYXRl
cmlhbGl6YXRpb247CisgICAgSW5zZXJ0aW9uU2V0IG1faW5zZXJ0aW9uU2V0OworICAgIENvbWJp
bmVkTGl2ZW5lc3MgbV9jb21iaW5lZExpdmVuZXNzOworCisgICAgSGFzaE1hcDxOb2RlKiwgTm9k
ZSo+IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlOworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3Rv
cjxOb2RlKj4+IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9uczsKKyAgICBI
YXNoTWFwPE5vZGUqLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+PiBtX21hdGVyaWFsaXph
dGlvblNpdGVUb1JlY292ZXJpZXM7CisKKyAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8UHJvbW90
ZWRIZWFwTG9jYXRpb24+PiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb247CisKKyAgICBCbG9ja01h
cDxMb2NhbEhlYXA+IG1faGVhcEF0SGVhZDsKKyAgICBCbG9ja01hcDxMb2NhbEhlYXA+IG1faGVh
cEF0VGFpbDsKKyAgICBMb2NhbEhlYXAgbV9oZWFwOworCisgICAgTm9kZSogbV9ib3R0b20gPSBu
dWxscHRyOworfTsKKworfQorCitib29sIHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVTaW5raW5nKEdy
YXBoJiBncmFwaCkKK3sKKyAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIEFs
bG9jYXRpb24gQ3ljbGUgU2lua2luZyBQaGFzZSIpOworICAgIHJldHVybiBydW5QaGFzZTxBbGxv
Y2F0aW9uQ3ljbGVTaW5raW5nUGhhc2U+KGdyYXBoKTsKK30KKworfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkRGRworCisjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MmQ2ZDVjNTc5YTNlODljZTU4Yjc5MGU1NTYzMWE3ZjU2M2NmMDg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3lj
bGVTaW5raW5nUGhhc2UuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgREZHQWxsb2NhdGlvbkN5Y2xlU2lua2lu
Z1BoYXNlX2gKKyNkZWZpbmUgREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlX2gKKworI2lm
IEVOQUJMRShERkdfSklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CisKK2Ns
YXNzIEdyYXBoOworCisvLyBFbGltaW5hdGVzIGFsbG9jYXRpb25zIGFsbG9jYXRpb25zIHRoYXQg
YXJlIG5ldmVyIHVzZWQgZXhjZXB0CisvLyBsb2NhbGx5LiBUaGlzIHdpbGwgaW5zZXJ0IHBoYW50
b20gYWxsb2NhdGlvbnMgYW5kIHN0b3JlIGhpbnRzIHNvCisvLyB0aGF0IE9TUiBleGl0IGNhbiBt
YXRlcmlhbGl6ZSB0aGUgb2JqZWN0cy4gUmVwbGFjZXMgYWxsIHVzZXMgb2YgdGhlCisvLyBvYmpl
Y3RzJyBmaWVsZHMgd2l0aCBTU0EgZGF0YSBmbG93LiBDb250cmFyeSB0byB0aGUKKy8vIE9iamVj
dEFsbG9jYXRpb25TaW5raW5nUGhhc2UsIHRoaXMgcGhhc2UgaXMgYWJsZSB0byBoYW5kbGUgY3lj
bGljCisvLyBhbGxvY2F0aW9uIGdyYXBocy4KKworYm9vbCBwZXJmb3JtQWxsb2NhdGlvbkN5Y2xl
U2lua2luZyhHcmFwaCYpOworCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAv
LyBFTkFCTEUoREZHX0pJVCkKKworI2VuZGlmIC8vIERGR09iamVjdEN5Y2xlU2lua2luZ1BoYXNl
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAppbmRleCBiYWM1MzhmMDI1ZDNlY2Ux
MzdiZTMxNzgwNjg4MTVkOTUzN2M5NWE4Li5mZWQ2YTY4N2Q3YThkYTlhMzY5MTUyMGExMDA0NGU4
NmY0ZTU4MWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCkBAIC0zMjUsNyAr
MzI1LDYgQEAgcHVibGljOgogICAgIAogICAgIFN0cnVjdHVyZVNldCogYWRkU3RydWN0dXJlU2V0
KGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlU2V0KQogICAgIHsKLSAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZVNldC5zaXplKCkpOwogICAgICAgICBtX3N0cnVjdHVyZVNldC5hcHBlbmQoc3Ry
dWN0dXJlU2V0KTsKICAgICAgICAgcmV0dXJuICZtX3N0cnVjdHVyZVNldC5sYXN0KCk7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5Tm9kZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcAppbmRleCA5NTRlZDk4
NTVkNWVlMmE1MzYyYTljMTdiN2E1NzMxNGIyYTI1NDY5Li5jOGQwOTQwZTc3ZjNmZGI5MTFiYWE0
NGRiNWM0ZGVlMjA4NTkxMmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0xhenlOb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlO
b2RlLmNwcApAQCAtMzgsOCArMzgsNyBAQCB2b2lkIExhenlOb2RlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiAgICAgICAgIGlmIChpc05vZGUoKSkKICAgICAgICAgICAgIG91dC5wcmlu
dCgiTGF6eU5vZGU6QCIsIGFzTm9kZSgpLT5pbmRleCgpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgb3V0LnByaW50KCJMYXp5Tm9kZTpGcm96ZW5WYWx1ZToiLCBHcmFwaDo6b3BOYW1lKG9w
KCkpLCAiLCAiLCBwb2ludGVyRHVtcChhc1ZhbHVlKCkpKTsKLSAgICAgICAgb3V0LnByaW50KCIp
Iik7CisgICAgICAgICAgICBvdXQucHJpbnQoIkxhenlOb2RlOkZyb3plblZhbHVlKCIsIEdyYXBo
OjpvcE5hbWUob3AoKSksICIsICIsIHBvaW50ZXJEdW1wKGFzVmFsdWUoKSksICIpIik7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDViZWZkODM5ZWM4MzY4
YTRmN2Q4ODJhN2QzZjJiMjU2NGU2ZWQ4ZDkuLjUyMDVhZmM5MWNkYWMyM2YxMmRkODUxM2I0NzZm
MDkxMmM1YTExNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xMjkzLDEz
ICsxMjkzLDcgQEAgc3RydWN0IE5vZGUgewogICAgIEZyb3plblZhbHVlKiBjZWxsT3BlcmFuZCgp
CiAgICAgewogICAgICAgICBBU1NFUlQoaGFzQ2VsbE9wZXJhbmQoKSk7Ci0gICAgICAgIHN3aXRj
aCAob3AoKSkgewotICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKLSAg
ICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PEZyb3plblZhbHVlKj4obV9vcEluZm8y
KTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PEZyb3plblZhbHVlKj4obV9vcEluZm8pOwotICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PEZyb3pl
blZhbHVlKj4obV9vcEluZm8pOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgpAQCAtMTM1OSw2ICsxMzUzLDcgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBzd2l0Y2ggKG9w
KCkpIHsKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAgICAgICAgY2FzZSBDaGVja1N0
cnVjdHVyZUltbWVkaWF0ZToKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMTQ0NCw3ICsxNDM5LDcgQEAgc3RydWN0IE5vZGUgewogICAgIE9iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEmIG9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKGhhc09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKSk7Ci0gICAgICAg
IHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKj4obV9v
cEluZm8pOworICAgICAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8T2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YSo+KG1fb3BJbmZvMik7CiAgICAgfQogCiAgICAgYm9vbCBpc09iamVjdEFsbG9j
YXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JBdmFp
bGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKaW5kZXggZmY1ZmQ5NWE3YzBjODUxNWYz
ZDc3MTdjZjZhNWU2NGQ0NmYxZDI3Yi4uOGM4NDE5YTgxOGNkMjY0MTkzOTlmNGU0OTEwZjQ5NzBi
ZGRiMTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JBdmFp
bGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAj
aW5jbHVkZSAiREZHR3JhcGguaCIKICNpbmNsdWRlICJERkdJbnNlcnRpb25TZXQuaCIKICNpbmNs
dWRlICJERkdQaGFzZS5oIgotI2luY2x1ZGUgIkRGR1Byb21vdGVIZWFwQWNjZXNzLmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25T
aW5raW5nUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxv
Y2F0aW9uU2lua2luZ1BoYXNlLmNwcAppbmRleCAwNDBkNTc4MWRlMjUyY2UxZWFjZjE3Y2RkOTcx
OThmNGFmYjUwNTkyLi41ZGFmYTI1NjkyOWNhMjhhYTQzZjQwNGI5NzRmNTZjZTBmMTA4MDJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25T
aW5raW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0
QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJE
RkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCIKICNpbmNsdWRlICJERkdPU1JBdmFpbGFiaWxpdHlB
bmFseXNpc1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNsdWRlICJERkdQaGlD
aGlsZHJlbi5oIgogI2luY2x1ZGUgIkRGR1Byb21vdGVIZWFwQWNjZXNzLmgiCiAjaW5jbHVkZSAi
REZHU1NBQ2FsY3VsYXRvci5oIgogI2luY2x1ZGUgIkRGR1ZhbGlkYXRlLmgiCkBAIC05NCw2ICs5
NSw4IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgICAgIHdoaWxlIChwZXJmb3JtU2lua2luZygp
KSB7IH0KICAgICAgICAgCisgICAgICAgIGZpbGxTdHJ1Y3R1cmVTZXRzKCk7CisKICAgICAgICAg
aWYgKHZlcmJvc2UpIHsKICAgICAgICAgICAgIGRhdGFMb2coIkdyYXBoIGFmdGVyIHNpbmtpbmc6
XG4iKTsKICAgICAgICAgICAgIG1fZ3JhcGguZHVtcCgpOwpAQCAtNjE2LDE0ICs2MTksMTIgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFp
bnMobm9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TY29wZVBM
b2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90
ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgbm9kZSkuY3JlYXRlSGlu
dCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2lu
LCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUoKSkpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgTm9kZSogc3ltYm9sVGFibGVOb2RlID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29u
c3RhbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+
b3JpZ2luLCBub2RlLT5jZWxsT3BlcmFuZCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1f
aW5zZXJ0aW9uU2V0Lmluc2VydCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5k
ZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
KEFjdGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgc3ltYm9sVGFibGVO
b2RlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24o
QWN0aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxk
KG5vZGUsIDEpLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0TWF0ZXJp
YWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1f
cHJvcGVydGllcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBkYXRhLm1fcHJvcGVydGllc1tpXS5tX2lkZW50aWZp
ZXJOdW1iZXI7CkBAIC02MzIsNyArNjMzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBDbG9zdXJlVmFyUExvYywgbm9kZSwgaWRlbnRpZmllck51bWJlciku
Y3JlYXRlSGludCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgs
IG5vZGUtPm9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMikubm9kZSgp
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBu
b2RlLT5jb252ZXJ0VG9QaGFudG9tQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAgICAgICAgICAg
ICAgICB9CkBAIC04MzEsNiArODMyLDI1IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBkZWYt
PnZhbHVlKCk7CiAgICAgfQogCisgICAgdm9pZCBmaWxsU3RydWN0dXJlU2V0cygpCisgICAgewor
ICAgICAgICBQaGlDaGlsZHJlbiBwaGlDaGlsZHJlbihtX2dyYXBoKTsKKworICAgICAgICBmb3Ig
KEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7Cisg
ICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBp
ZiAobm9kZS0+b3AoKSAhPSBNYXRlcmlhbGl6ZU5ld09iamVjdCkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMg
PSBub2RlLT5zdHJ1Y3R1cmVTZXQoKTsKKyAgICAgICAgICAgICAgICBwaGlDaGlsZHJlbi5mb3JB
bGxUcmFuc2l0aXZlSW5jb21pbmdWYWx1ZXMoCisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpLAorICAgICAgICAgICAgICAgICAgICBbJl0gKE5v
ZGUqIHN0cnVjdHVyZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlcy5hZGQo
c3RydWN0dXJlLT5jYXN0Q29uc3RhbnQ8U3RydWN0dXJlKj4oKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgU2lua0NhbmRpZGF0ZUZ1bmN0b3IsIHR5cGVuYW1lIEVzY2FwZUZ1bmN0b3I+CiAg
ICAgdm9pZCBoYW5kbGVOb2RlKAogICAgICAgICBOb2RlKiBub2RlLApAQCAtOTQzLDEzICs5NjMs
MTQgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBOZXdPYmplY3Q6CiAgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVOZXdPYmplY3Q6IHsKICAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRh
dGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAg
ICAgICAgICAgIFN0cnVjdHVyZVNldCogc3RydWN0dXJlcyA9IG1fZ3JhcGguYWRkU3RydWN0dXJl
U2V0KFN0cnVjdHVyZVNldCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgcmVzdWx0ID0g
bV9ncmFwaC5hZGROb2RlKAogICAgICAgICAgICAgICAgIGVzY2FwZWUtPnByZWRpY3Rpb24oKSwg
Tm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKICAgICAgICAgICAgICAgICBOb2Rl
T3JpZ2luKAogICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCiAg
ICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCi0gICAgICAgICAgICAg
ICAgT3BJbmZvKGRhdGEpLCBPcEluZm8oKSwgMCwgMCk7CisgICAgICAgICAgICAgICAgT3BJbmZv
KHN0cnVjdHVyZXMpLCBPcEluZm8oZGF0YSksIDAsIDApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KIApAQCAtOTcyLDcgKzk5Myw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAg
Tm9kZU9yaWdpbigKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGlj
LAogICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAotICAgICAgICAg
ICAgICAgIE9wSW5mbyhkYXRhKSwgT3BJbmZvKHN5bWJvbFRhYmxlKSwgMCwgMCk7CisgICAgICAg
ICAgICAgICAgT3BJbmZvKHN5bWJvbFRhYmxlKSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTEwNDIsMTAgKzEwNjMsMTIgQEAgcHJpdmF0
ZToKIAogICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMg
PSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOwogCi0gICAgICAgICAgICBQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBzY29wZShBY3RpdmF0aW9uU2NvcGVQTG9jLCBlc2NhcGVlKTsK
ICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN5bWJvbFRhYmxlKEFjdGl2YXRpb25T
eW1ib2xUYWJsZVBMb2MsIGVzY2FwZWUpOwotICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5j
b250YWlucyhzY29wZSkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhz
eW1ib2xUYWJsZSkpOworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVu
ZChFZGdlKHJlc29sdmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CiAKKyAg
ICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2Ms
IGVzY2FwZWUpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzY29wZSkp
OwogICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29s
dmUoYmxvY2ssIHNjb3BlKSwgS25vd25DZWxsVXNlKSk7CiAKICAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1BsYW4uY3BwCmluZGV4IDY0OWM2MDU3MWM5M2ZhYzhiNzVkYjI3NWVkYjMzN2M3
YTNjZWY2YmMuLjUwMDZkNTQxNWM5OTg0Y2RkNTdjZjNlNWFkYWZmYWE1OWNhNGRmMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVO
QUJMRShERkdfSklUKQogCiAjaW5jbHVkZSAiREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5o
IgorI2luY2x1ZGUgIkRGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIgogI2luY2x1ZGUg
IkRGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdCeXRlQ29kZVBh
cnNlci5oIgogI2luY2x1ZGUgIkRGR0NGQVBoYXNlLmgiCkBAIC0zNjUsMTAgKzM2NiwxMSBAQCBQ
bGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbChMb25nTGl2ZWRT
dGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAgICAgICAgIHBlcmZvcm1DbGVhblVwKGRmZyk7IC8vIFJl
ZHVjZSB0aGUgZ3JhcGggc2l6ZSBhIGxvdC4KICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwogICAg
ICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1TdHJlbmd0aFJlZHVjdGlvbihkZmcpOwotICAgICAgICBp
ZiAoT3B0aW9uczo6ZW5hYmxlT2JqZWN0QWxsb2NhdGlvblNpbmtpbmcoKSkgewotICAgICAgICAg
ICAgY2hhbmdlZCB8PSBwZXJmb3JtQ3JpdGljYWxFZGdlQnJlYWtpbmcoZGZnKTsKKyAgICAgICAg
Y2hhbmdlZCB8PSBwZXJmb3JtQ3JpdGljYWxFZGdlQnJlYWtpbmcoZGZnKTsKKyAgICAgICAgaWYg
KE9wdGlvbnM6OmVuYWJsZUFsbG9jYXRpb25DeWNsZVNpbmtpbmcoKSkKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gcGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcoZGZnKTsKKyAgICAgICAgZWxz
ZQogICAgICAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtT2JqZWN0QWxsb2NhdGlvblNpbmtpbmco
ZGZnKTsKLSAgICAgICAgfQogICAgICAgICBpZiAoY2hhbmdlZCkgewogICAgICAgICAgICAgLy8g
U3RhdGUtYXQtdGFpbCBhbmQgc3RhdGUtYXQtaGVhZCB3aWxsIGJlIGludmFsaWQgaWYgd2UgZGlk
IHN0cmVuZ3RoIHJlZHVjdGlvbiBzaW5jZQogICAgICAgICAgICAgLy8gaXQgbWlnaHQgaW5jcmVh
c2UgbGl2ZSByYW5nZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1Byb21vdGVkSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1By
b21vdGVkSGVhcExvY2F0aW9uLmgKaW5kZXggYmMxNTE1ODQ4MDc0MzdkYjA3Mjk0MTQxOWU4YjRi
OWJhM2U1NjJjYi4uYTIxZTRkYTFhZjliNWIwZmI2MDRjM2IyMjM3MDcxZjUxNWZhNjU0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlv
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRp
b24uaApAQCAtNTcsOCArNTcsMTYgQEAgcHVibGljOgogICAgICAgICAsIG1faW5mbyhpbmZvKQog
ICAgIHsKICAgICB9Ci0gICAgCisKKyAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihXVEY6
Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCisgICAgICAgIDogbV9raW5kKEludmFsaWRQcm9t
b3RlZExvY2F0aW9uS2luZCkKKyAgICAgICAgLCBtX2luZm8oMSkKKyAgICB7CisgICAgfQorCiAg
ICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gSW52YWxpZFByb21v
dGVkTG9jYXRpb25LaW5kOyB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3Qg
eyByZXR1cm4gISEqdGhpczsgfQogICAgIAogICAgIFByb21vdGVkTG9jYXRpb25LaW5kIGtpbmQo
KSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KICAgICB1bnNpZ25lZCBpbmZvKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbmZvOyB9CkBAIC04Niw2ICs5NCwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9raW5kID09IEludmFsaWRQcm9tb3RlZExvY2F0aW9uS2luZCAmJiBtX2luZm87
CiAgICAgfQorCisgICAgYm9vbCBuZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSBjb25zdAorICAg
IHsKKyAgICAgICAgc3dpdGNoIChraW5kKCkpIHsKKyAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5
UExvYzoKKyAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzoKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgIH0KKyAgICB9CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
OwogCkBAIC05NCw2ICsxMTQsMTIgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2luZm87CiB9
OwogCitzdHJ1Y3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIHsKKyAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciYga2V5KSB7IHJl
dHVybiBrZXkuaGFzaCgpOyB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3ImIGEsIGNvbnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBi
KSB7IHJldHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJl
VG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCiBjbGFzcyBQcm9tb3RlZEhlYXBMb2NhdGlv
biB7CiBwdWJsaWM6CiAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCkBAIC0xNzYsNiArMjAyLDE2
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExv
Y2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlW
YWx1ZUlzWmVybyA9IGZhbHNlOwogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERl
ZmF1bHRIYXNoOwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CisgICAgdHlwZWRlZiBKU0M6OkRGRzo6UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3JIYXNoIEhhc2g7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKK3RlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6
OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9v
bCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Zh
bGlkYXRlLmNwcAppbmRleCAyYmEzMzM4NDkzOTllNDNiNmM0MWY1ZGZmYmU5MDkzMzUxNTFmNTUy
Li5hOTY5YzEzYzk2MTZiOGQ0NmY4YTVhMTI2NmMzZWJhOTg4ODAwNjFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtNTI0LDEyICs1MjQsNDIgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICBjYXNlIFBoYW50b206CiAgICAgICAgICAgICAgICAgICAg
IFZBTElEQVRFKChub2RlKSwgISJiYWQgbm9kZSB0eXBlIGZvciBTU0EiKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBtb3JlIHRoaW5ncyBo
ZXJlLgogICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIzNDcxCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAg
ICAgICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgY2FzZSBQaGFu
dG9tTmV3RnVuY3Rpb246CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVudHM6CisgICAg
ICAgICAgICAgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgorICAgICAgICAgICAgICAg
IGNhc2UgTW92SGludDoKKyAgICAgICAgICAgICAgICBjYXNlIFVwc2lsb246CisgICAgICAgICAg
ICAgICAgY2FzZSBGb3J3YXJkVmFyYXJnczoKKyAgICAgICAgICAgICAgICBjYXNlIENhbGxGb3J3
YXJkVmFyYXJnczoKKyAgICAgICAgICAgICAgICBjYXNlIENvbnN0cnVjdEZvcndhcmRWYXJhcmdz
OgorICAgICAgICAgICAgICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsOgorICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2s6CisgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHByb2JhYmx5IG5vdCBjb3JyZWN0LgorICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgUHV0SGludDoKKyAg
ICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCBub2RlLT5jaGlsZDEoKS0+aXNQaGFu
dG9tQWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJl
bigKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICBbJl0gKGNvbnN0IEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
QUxJREFURSgobm9kZSksICFlZGdlLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZDVjZTBkN2YxYjI0
NTcwMzYzNGMwNTAzNTc3YzJjNWMxYmQ0MWIxZC4uODhmNTRkMDRlZDhiYjc3Y2UwYzIxNGY1MzBl
M2RlZWY3NjE3NjlmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKQEAgLTUyODYsMTIgKzUyODYsNyBAQCBwcml2YXRlOgogICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpCiAg
ICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUobV9ncmFwaC52YXJBcmdDaGlsZCht
X25vZGUsIDEgKyBpKSkpOwogICAgICAgICAKLSAgICAgICAgU3RydWN0dXJlU2V0IHNldDsKLSAg
ICAgICAgbV9pbnRlcnByZXRlci5waGlDaGlsZHJlbigpLT5mb3JBbGxUcmFuc2l0aXZlSW5jb21p
bmdWYWx1ZXMoCi0gICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkubm9k
ZSgpLAotICAgICAgICAgICAgWyZdIChOb2RlKiBpbmNvbWluZykgewotICAgICAgICAgICAgICAg
IHNldC5hZGQoaW5jb21pbmctPmNhc3RDb25zdGFudDxTdHJ1Y3R1cmUqPigpKTsKLSAgICAgICAg
ICAgIH0pOworICAgICAgICBjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCA9IG1fbm9kZS0+c3RydWN0
dXJlU2V0KCk7CiAgICAgICAgIAogICAgICAgICBWZWN0b3I8TEJhc2ljQmxvY2ssIDE+IGJsb2Nr
cyhzZXQuc2l6ZSgpKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc2V0LnNpemUoKTsgaS0t
OykKQEAgLTUzOTAsMTAgKzUzODUsMTEgQEAgcHJpdmF0ZToKIAogICAgICAgICBWZWN0b3I8TFZh
bHVlLCA4PiB2YWx1ZXM7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1f
cHJvcGVydGllcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93SlNW
YWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7CisgICAgICAgICAgICB2
YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDIgKyBp
KSkpOwogCi0gICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9ncmFwaC52YXJBcmdDaGls
ZChtX25vZGUsIDApKTsKKyAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX2dyYXBoLnZh
ckFyZ0NoaWxkKG1fbm9kZSwgMSkpOwogICAgICAgICBTeW1ib2xUYWJsZSogdGFibGUgPSBtX25v
ZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKTsKKyAgICAgICAgQVNTRVJUKHRhYmxlID09
IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKS0+Y2FzdENvbnN0YW50PFN5bWJvbFRhYmxl
Kj4oKSk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9ncmFwaC5nbG9iYWxPYmpl
Y3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hY3RpdmF0aW9uU3RydWN0dXJlKCk7CiAK
ICAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk1h
dGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiBzbG93IHBhdGgiKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKaW5kZXggMjc3ODhlN2Y2YTVh
OWZiOWU1MzA2OWVjNTRjMDkwMGRlY2Q5ZWM3ZS4uMTY1MDE0M2E1NmI5MmM3MGI1NTFmOTk5ZjQ2
ODFlOTU5MzU0NjZhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
U1JFeGl0Q29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NS
RXhpdENvbXBpbGVyLmNwcApAQCAtMjIwLDI0ICsyMjAsMjQgQEAgc3RhdGljIHZvaWQgY29tcGls
ZVN0dWIoCiAgICAgICAgICAgICAgICAgaml0Lm9yMzIoR1BSSW5mbzo6cmVnVDIsIE1hY3JvQXNz
ZW1ibGVyOjpBYnNvbHV0ZUFkZHJlc3MoYXJyYXlQcm9maWxlLT5hZGRyZXNzT2ZBcnJheU1vZGVz
KCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAo
ISFleGl0Lm1fdmFsdWVQcm9maWxlKQogICAgICAgICAgICAgaml0LnN0b3JlNjQoR1BSSW5mbzo6
cmVnVDAsIGV4aXQubV92YWx1ZVByb2ZpbGUuZ2V0U3BlY0ZhaWxCdWNrZXQoMCkpOwogICAgIH0K
LSAgICAKLSAgICAvLyBNYXRlcmlhbGl6ZSBhbGwgb2JqZWN0cy4gRG9uJ3QgbWF0ZXJpYWxpemUg
YW4gb2JqZWN0IHVudGlsIGFsbCBvZiB0aGUgb2JqZWN0cyBpdCBuZWVkcwotICAgIC8vIGhhdmUg
YmVlbiBtYXRlcmlhbGl6ZWQuIEN1cmlvdXNseSwgdGhpcyBpcyB0aGUgb25seSBwbGFjZSB0aGF0
IHdlIGhhdmUgYW4gYWxnb3JpdGhtIHRoYXQgcHJldmVudHMKLSAgICAvLyBPU1IgZXhpdCBmcm9t
IGhhbmRsaW5nIGN5Y2xpYyBvYmplY3QgbWF0ZXJpYWxpemF0aW9ucy4gT2YgY291cnNlLCBvYmpl
Y3QgYWxsb2NhdGlvbiBzaW5raW5nCi0gICAgLy8gY3VycmVudGx5IHdvdWxkbid0IHJlY29nbml6
ZSBhIGN5Y2xlIGFzIGJlaW5nIHNpbmthYmxlIC0gYnV0IGlmIGl0IGRpZCB0aGVuIHRoZSBvbmx5
IHRoaW5nIHRoYXQKLSAgICAvLyB3b3VsZCBhaHZlIHRvIGNoYW5nZSBpcyB0aGlzIGZpeHBvaW50
LiBJbnN0ZWFkIHdlIHdvdWxkIGFsbG9jYXRlIHRoZSBvYmplY3RzIGZpcnN0IGFuZCBwb3B1bGF0
ZQotICAgIC8vIHRoZW0gd2l0aCBkYXRhIGxhdGVyLgorCisgICAgLy8gTWF0ZXJpYWxpemUgYWxs
IG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFuIG9iamVjdCB1bnRpbCBhbGwKKyAgICAvLyBv
ZiB0aGUgb2JqZWN0cyBpdCBuZWVkcyBoYXZlIGJlZW4gbWF0ZXJpYWxpemVkLiBXZSBicmVhayBj
eWNsZXMKKyAgICAvLyBieSBwb3B1bGF0aW5nIG9iamVjdHMgbGF0ZSAtIHdlIG9ubHkgY29uc2lk
ZXIgYW4gb2JqZWN0IGFzCisgICAgLy8gbmVlZGluZyBhbm90aGVyIG9iamVjdCBpZiB0aGUgbGF0
ZXIgaXMgbmVlZGVkIGZvciB0aGUKKyAgICAvLyBhbGxvY2F0aW9uIG9mIHRoZSBmb3JtZXIuCisK
ICAgICBIYXNoU2V0PEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKj4gdG9NYXRlcmlhbGl6
ZTsKICAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRp
b24gOiBleGl0Lm1fbWF0ZXJpYWxpemF0aW9ucykKICAgICAgICAgdG9NYXRlcmlhbGl6ZS5hZGQo
bWF0ZXJpYWxpemF0aW9uKTsKLSAgICAKKwogICAgIHdoaWxlICghdG9NYXRlcmlhbGl6ZS5pc0Vt
cHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgcHJldmlvdXNUb01hdGVyaWFsaXplU2l6ZSA9IHRv
TWF0ZXJpYWxpemUuc2l6ZSgpOwotICAgICAgICAKKwogICAgICAgICBWZWN0b3I8RXhpdFRpbWVP
YmplY3RNYXRlcmlhbGl6YXRpb24qPiB3b3JrbGlzdDsKICAgICAgICAgd29ya2xpc3QuYXBwZW5k
UmFuZ2UodG9NYXRlcmlhbGl6ZS5iZWdpbigpLCB0b01hdGVyaWFsaXplLmVuZCgpKTsKICAgICAg
ICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uIDog
d29ya2xpc3QpIHsKQEAgLTI0NiwyMCArMjQ2LDI4IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHVi
KAogICAgICAgICAgICAgZm9yIChFeGl0UHJvcGVydHlWYWx1ZSB2YWx1ZSA6IG1hdGVyaWFsaXph
dGlvbi0+cHJvcGVydGllcygpKSB7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS52YWx1ZSgp
LmlzT2JqZWN0TWF0ZXJpYWxpemF0aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIGlmICghdmFsdWUubG9jYXRpb24oKS5uZWVkZWRGb3JNYXRlcmlh
bGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgaWYgKHRvTWF0ZXJpYWxpemUuY29udGFpbnModmFsdWUudmFsdWUoKS5vYmplY3RNYXRlcmlh
bGl6YXRpb24oKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gR290dGEgc2tpcCB0aGlzIG9u
ZSwgc2luY2Ugb25lIG9mIGl0cyBmaWVsZHMgcG9pbnRzIHRvIGEgbWF0ZXJpYWxpemF0aW9uCi0g
ICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgaGFzbid0IGJlZW4gbWF0ZXJpYWxpemVkLgorICAg
ICAgICAgICAgICAgICAgICAvLyBHb3R0YSBza2lwIHRoaXMgb25lLCBzaW5jZSBpdCBuZWVkcyBh
CisgICAgICAgICAgICAgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiB0aGF0IGhhc24ndCBiZWVu
IG1hdGVyaWFsaXplZC4KICAgICAgICAgICAgICAgICAgICAgYWxsR29vZCA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAoIWFsbEdvb2QpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEFsbCBzeXN0ZW1zIGdvIGZvciBtYXRlcmlhbGl6
aW5nIHRoZSBvYmplY3QuIEZpcnN0IHdlIHJlY292ZXIgdGhlIHZhbHVlcyBvZiBhbGwgb2YKLSAg
ICAgICAgICAgIC8vIGl0cyBmaWVsZHMgYW5kIHRoZW4gd2UgY2FsbCBhIGZ1bmN0aW9uIHRvIGFj
dHVhbGx5IGFsbG9jYXRlIHRoZSBiZWFzdC4KKworICAgICAgICAgICAgLy8gQWxsIHN5c3RlbXMg
Z28gZm9yIG1hdGVyaWFsaXppbmcgdGhlIG9iamVjdC4gRmlyc3Qgd2UKKyAgICAgICAgICAgIC8v
IHJlY292ZXIgdGhlIHZhbHVlcyBvZiBhbGwgb2YgaXRzIGZpZWxkcyBhbmQgdGhlbiB3ZQorICAg
ICAgICAgICAgLy8gY2FsbCBhIGZ1bmN0aW9uIHRvIGFjdHVhbGx5IGFsbG9jYXRlIHRoZSBiZWFz
dC4KKyAgICAgICAgICAgIC8vIFdlIG9ubHkgcmVjb3ZlciB0aGUgZmllbGRzIHRoYXQgYXJlIG5l
ZWRlZCBmb3IgdGhlIGFsbG9jYXRpb24uCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIHByb3Bl
cnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IHByb3BlcnR5
SW5kZXgtLTspIHsKLSAgICAgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVlID0gbWF0
ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF0udmFsdWUoKTsKKyAgICAg
ICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6
YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XTsKKyAgICAgICAgICAgICAgICBjb25z
dCBFeGl0VmFsdWUmIHZhbHVlID0gcHJvcGVydHkudmFsdWUoKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXByb3BlcnR5LmxvY2F0aW9uKCkubmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKCkpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgICAgICAgICAgY29tcGlsZVJlY292
ZXJ5KAogICAgICAgICAgICAgICAgICAgICBqaXQsIHZhbHVlLCByZWNvcmQsIGppdENvZGUtPnN0
YWNrbWFwcywgcmVnaXN0ZXJTY3JhdGNoLAogICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6
YXRpb25Ub1BvaW50ZXIpOwpAQCAtMjczLDcgKzI4MSw3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVT
dHViKAogICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGJp
dHdpc2VfY2FzdDx2b2lkKj4ob3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUikpLCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKICAgICAgICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQ
UjApOwogICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBt
YXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIuZ2V0KG1hdGVyaWFsaXphdGlvbikpOwotICAgICAgICAg
ICAgCisKICAgICAgICAgICAgIC8vIExldCBldmVyeW9uZSBrbm93IHRoYXQgd2UncmUgZG9uZS4K
ICAgICAgICAgICAgIHRvTWF0ZXJpYWxpemUucmVtb3ZlKG1hdGVyaWFsaXphdGlvbik7CiAgICAg
ICAgIH0KQEAgLTI4NCw2ICsyOTIsMjcgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHRvTWF0ZXJpYWxpemUuc2l6ZSgpIDwgcHJldmlvdXNUb01hdGVy
aWFsaXplU2l6ZSk7CiAgICAgfQogCisgICAgLy8gTm93IHRoYXQgYWxsIHRoZSBvYmplY3RzIGhh
dmUgYmVlbiBhbGxvY2F0ZWQsIHdlIHBvcHVsYXRlIHRoZW0KKyAgICAvLyB3aXRoIHRoZSBjb3Jy
ZWN0IHZhbHVlcy4gVGhpcyB0aW1lIHdlIGNhbiByZWNvdmVyIGFsbCB0aGUKKyAgICAvLyBmaWVs
ZHMsIGluY2x1ZGluZyB0aG9zZSB0aGF0IGFyZSBvbmx5IG5lZWRlZCBmb3IgdGhlIGFsbG9jYXRp
b24uCisgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0
aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBw
cm9wZXJ0eUluZGV4ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBwcm9w
ZXJ0eUluZGV4LS07KSB7CisgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVlID0gbWF0
ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF0udmFsdWUoKTsKKyAgICAg
ICAgICAgIGNvbXBpbGVSZWNvdmVyeSgKKyAgICAgICAgICAgICAgICBqaXQsIHZhbHVlLCByZWNv
cmQsIGppdENvZGUtPnN0YWNrbWFwcywgcmVnaXN0ZXJTY3JhdGNoLAorICAgICAgICAgICAgICAg
IG1hdGVyaWFsaXphdGlvblRvUG9pbnRlcik7CisgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BS
SW5mbzo6cmVnVDAsIG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50cyArIHByb3BlcnR5SW5kZXgpOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gVGhpcyBjYWxsIGFzc3VtZXMgdGhhdCB3ZSBkb24ndCBw
YXNzIGFyZ3VtZW50cyBvbiB0aGUgc3RhY2sKKyAgICAgICAgaml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZSgKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRl
cmlhbGl6YXRpb24pLAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1h
dGVyaWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSksCisgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzKSk7
CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nh
c3Q8dm9pZCo+KG9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5PU1IpKSwgR1BSSW5mbzo6bm9uQXJn
R1BSMCk7CisgICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOworICAgIH0KKwog
ICAgIC8vIFNhdmUgYWxsIHN0YXRlIGZyb20gd2hlcmV2ZXIgdGhlIGV4aXQgZGF0YSB0ZWxscyB1
cyBpdCB3YXMsIGludG8gdGhlIGFwcHJvcHJpYXRlIHBsYWNlIGluCiAgICAgLy8gdGhlIHNjcmF0
Y2ggYnVmZmVyLiBUaGlzIGFsc28gZG9lcyB0aGUgcmVib3hpbmcuCiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcAppbmRleCA0ZTVjOGIzZmI3OTNhODNi
MjM2N2ZiMDBhN2U3YzFiNzRhNDg0OWUwLi40YzM4MzczODg2YTM1ZWZmOGQyZjkyNGNmNDJiNzFk
MzExZjUzNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5j
cHAKQEAgLTQ4LDQ5ICs0OCwxMTAgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3T2JqZWN0V2l0aEJ1dHRlcmZseShFeGVjU3RhdGUqIGV4ZWMKICAgICByZXR1
cm4gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKGV4ZWMsIHN0cnVjdHVyZSwgYnV0dGVyZmx5KTsKIH0K
IAorZXh0ZXJuICJDIiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJ
bk9TUigKKyAgICBFeGVjU3RhdGUqIGV4ZWMsIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9u
KiBtYXRlcmlhbGl6YXRpb24sCisgICAgRW5jb2RlZEpTVmFsdWUqIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUqIHZhbHVlcykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7CisKKyAgICAvLyBXZSBjYW5u
b3QgR0MuIFdlJ3ZlIGdvdCBwb2ludGVycyBpbiBldmlsIHBsYWNlcy4KKyAgICAvLyBGSVhNRTog
V2UgYXJlIG5vdCBkb2luZyBhbnl0aGluZyB0aGF0IGNhbiBHQyBoZXJlLCBhbmQgdGhpcyBpcwor
ICAgIC8vIHByb2JhYmx5IHVubmVjZXNzYXJ5LgorICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJH
Qyh2bS5oZWFwKTsKKworICAgIHN3aXRjaCAobWF0ZXJpYWxpemF0aW9uLT50eXBlKCkpIHsKKyAg
ICBjYXNlIFBoYW50b21OZXdPYmplY3Q6IHsKKyAgICAgICAgSlNGaW5hbE9iamVjdCogb2JqZWN0
ID0ganNDYXN0PEpTRmluYWxPYmplY3QqPihKU1ZhbHVlOjpkZWNvZGUoKmVuY29kZWRWYWx1ZSkp
OworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKCk7CisK
KyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRoZSBoZWNrIHRvIHBvcHVsYXRlIHRoZSBvYmpl
Y3Qgd2l0aC4gVXNlCisgICAgICAgIC8vIGdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSBiZWNh
dXNlIHRoYXQgaGFwcGVucyB0byBiZQorICAgICAgICAvLyBsb3dlci1sZXZlbCBhbmQgbW9yZSBj
b252ZW5pZW50LiBJdCBkb2Vzbid0IGNoYW5nZSB0aGUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemF0
aW9uIG9mIHRoZSBwcm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0byBoYXZlCisgICAgICAgIC8vIG1p
bmltYWwgdmlzaWJsZSBlZmZlY3RzIG9uIHRoZSBzeXN0ZW0uIEFsc28sIGRvbid0IG1pbmQKKyAg
ICAgICAgLy8gdGhhdCB0aGlzIGlzIE8obl4yKS4gSXQgZG9lc24ndCBtYXR0ZXIuIFdlIG9ubHkg
Z2V0IGhlcmUKKyAgICAgICAgLy8gZnJvbSBPU1IgZXhpdC4KKyAgICAgICAgZm9yIChQcm9wZXJ0
eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkp
IHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVy
dGllcygpLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0
eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOworICAg
ICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3Bl
cnR5UExvYykKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
aWYgKGNvZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1w
bCgpICE9IGVudHJ5LmtleSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgICAgICAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1ZhbHVlOjpk
ZWNvZGUodmFsdWVzW2ldKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CisgICAgfQorCisgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rpb246CisgICAgY2FzZSBQaGFu
dG9tRGlyZWN0QXJndW1lbnRzOgorICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3VtZW50czoKKyAg
ICAgICAgLy8gVGhvc2UgYXJlIGNvbXBsZXRlbHkgaGFuZGxlZCBieSBvcGVyYXRpb25NYXRlcmlh
bGl6ZU9iamVjdEluT1NSCisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBQaGFudG9tQ3JlYXRl
QWN0aXZhdGlvbjogeworICAgICAgICBKU0xleGljYWxFbnZpcm9ubWVudCogYWN0aXZhdGlvbiA9
IGpzQ2FzdDxKU0xleGljYWxFbnZpcm9ubWVudCo+KEpTVmFsdWU6OmRlY29kZSgqZW5jb2RlZFZh
bHVlKSk7CisKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRvIHBvcHVsYXRlIHRoZSBhY3Rp
dmF0aW9uIHdpdGgKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5w
cm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVy
dHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKKyAg
ICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBDbG9zdXJlVmFyUExv
YykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgYWN0aXZhdGlvbi0+
dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkpLnNldChl
eGVjLT52bSgpLCBhY3RpdmF0aW9uLCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CisgICAg
ICAgIH0KKworICAgICAgICBicmVhazsKKyAgICB9CisKKworICAgIGRlZmF1bHQ6CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworCisgICAgfQor
fQorCiBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6
ZU9iamVjdEluT1NSKAogICAgIEV4ZWNTdGF0ZSogZXhlYywgRXhpdFRpbWVPYmplY3RNYXRlcmlh
bGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiwgRW5jb2RlZEpTVmFsdWUqIHZhbHVlcykKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+
Y29kZUJsb2NrKCk7CiAKICAgICAvLyBXZSBjYW5ub3QgR0MuIFdlJ3ZlIGdvdCBwb2ludGVycyBp
biBldmlsIHBsYWNlcy4KICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Modm0uaGVhcCk7CiAg
ICAgCiAgICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5cGUoKSkgewogICAgIGNhc2UgUGhh
bnRvbU5ld09iamVjdDogewotICAgICAgICAvLyBGaXJzdCBmaWd1cmUgb3V0IHdoYXQgdGhlIHN0
cnVjdHVyZSBpcy4KKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRoZSBzdHJ1Y3R1cmUgaXMK
ICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsK
ICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFs
aXphdGlvbi0+cHJvcGVydGllcygpW2ldOwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0
aW9uKCkgIT0gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoU3RydWN0dXJlUExvYykpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAorCiAgICAgICAgICAgICBzdHJ1Y3R1cmUg
PSBqc0Nhc3Q8U3RydWN0dXJlKj4oSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJl
KTsKLSAgICAKLSAgICAgICAgLy8gTGV0J3MgY3JlYXRlIHRoYXQgb2JqZWN0IQorCiAgICAgICAg
IEpTRmluYWxPYmplY3QqIHJlc3VsdCA9IEpTRmluYWxPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0
dXJlKTsKLSAgICAKLSAgICAgICAgLy8gTm93IGZpZ3VyZSBvdXQgd2hhdCB0aGUgaGVjayB0byBw
b3B1bGF0ZSB0aGUgb2JqZWN0IHdpdGguIFVzZSBnZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkK
LSAgICAgICAgLy8gYmVjYXVzZSB0aGF0IGhhcHBlbnMgdG8gYmUgbG93ZXItbGV2ZWwgYW5kIG1v
cmUgY29udmVuaWVudC4gSXQgZG9lc24ndCBjaGFuZ2UgdGhlCi0gICAgICAgIC8vIG1hdGVyaWFs
aXphdGlvbiBvZiB0aGUgcHJvcGVydHkgdGFibGUuIFdlIHdhbnQgdG8gaGF2ZSBtaW5pbWFsIHZp
c2libGUgZWZmZWN0cyBvbiB0aGUKLSAgICAgICAgLy8gc3lzdGVtLiBBbHNvLCBkb24ndCBtaW5k
IHRoYXQgdGhpcyBpcyBPKG5eMikuIEl0IGRvZXNuJ3QgbWF0dGVyLiBXZSBvbmx5IGdldCBoZXJl
IGZyb20gT1NSCi0gICAgICAgIC8vIGV4aXQuCi0gICAgICAgIGZvciAoUHJvcGVydHlNYXBFbnRy
eSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKSB7Ci0gICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5z
aXplKCk7IGktLTspIHsKLSAgICAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYg
cHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKLSAgICAgICAgICAg
ICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0eVBMb2Mp
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGlmIChjb2Rl
QmxvY2stPmlkZW50aWZpZXIocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpLmltcGwoKSAhPSBl
bnRyeS5rZXkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGVudHJ5Lm9mZnNldCwgSlNWYWx1
ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgCisK
KyAgICAgICAgLy8gVGhlIHJlYWwgdmFsdWVzIHdpbGwgYmUgcHV0IHN1YnNlcXVlbnRseSBieQor
ICAgICAgICAvLyBvcGVyYXRpb25Qb3B1bGF0ZU5ld09iamVjdEluT1NSLiBXZSBjYW4ndCBmaWxs
IHRoZW0gaW4KKyAgICAgICAgLy8gbm93LCBiZWNhdXNlIHRoZXkgbWF5IG5vdCBiZSBhdmFpbGFi
bGUgeWV0ICh0eXBpY2FsbHkKKyAgICAgICAgLy8gYmVjYXVzZSB3ZSBoYXZlIGEgY3ljbGljIGRl
cGVuZGVuY3kgZ3JhcGgpLgorCisgICAgICAgIC8vIFdlIHB1dCBhIGR1bW15IHZhbHVlIGhlcmUg
aW4gb3JkZXIgdG8gYXZvaWQgc3VwZXItc3VidGxlCisgICAgICAgIC8vIEdDLWFuZC1PU1ItZXhp
dCBjcmFzaGVzIGluIGNhc2Ugd2UgaGF2ZSBhIGJ1ZyBhbmQgc29tZQorICAgICAgICAvLyBmaWVs
ZCBpcywgZm9yIGFueSByZWFzb24sIG5vdCBmaWxsZWQgbGF0ZXIuCisgICAgICAgIC8vIFdlIHVz
ZSBhIHJhbmRvbS1pc2ggbnVtYmVyIGluc3RlYWQgb2YgYSBzZW5zaWJsZSB2YWx1ZSBsaWtlCisg
ICAgICAgIC8vIHVuZGVmaW5lZCB0byBtYWtlIHBvc3NpYmxlIGJ1Z3MgZWFzaWVyIHRvIHRyYWNr
LgorICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFBy
b3BlcnRpZXNDb25jdXJyZW50bHkoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBlbnRyeS5vZmZzZXQsIGpzTnVtYmVyKDE5NzIzKSk7CisKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9CiAKQEAgLTExMyw3ICsxNzQsNyBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgIH0KIAogICAgIGNh
c2UgUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb246IHsKLSAgICAgICAgLy8gRmlndXJlIG91dCB3aGVy
ZSB0aGUgc2NvcGUgaXMKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRoZSBzY29wZSBhbmQg
c3ltYm9sIHRhYmxlIGFyZQogICAgICAgICBKU1Njb3BlKiBzY29wZSA9IG51bGxwdHI7CiAgICAg
ICAgIFN5bWJvbFRhYmxlKiB0YWJsZSA9IG51bGxwdHI7CiAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewpAQCAtMTMz
LDEzICsxOTQsMTcgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICAgICAgSlNMZXhpY2FsRW52aXJvbm1lbnQqIHJl
c3VsdCA9IEpTTGV4aWNhbEVudmlyb25tZW50OjpjcmVhdGUodm0sIHN0cnVjdHVyZSwgc2NvcGUs
IHRhYmxlKTsKIAogICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXRlcmlhbGl6YXRpb24tPnByb3Bl
cnRpZXMoKS5zaXplKCkgLSAyID09IHRhYmxlLT5zY29wZVNpemUoKSk7Ci0gICAgICAgIC8vIEZp
Z3VyZSBvdXQgd2hhdCB0byBwb3B1bGF0ZSB0aGUgYWN0aXZhdGlvbiB3aXRoCisKKyAgICAgICAg
Ly8gVGhlIHJlYWwgdmFsdWVzIHdpbGwgYmUgcHV0IHN1YnNlcXVlbnRseSBieQorICAgICAgICAv
LyBvcGVyYXRpb25Qb3B1bGF0ZU5ld09iamVjdEluT1NSLiBTZWUgdGhlIFBoYW50b21OZXdPYmpl
Y3QKKyAgICAgICAgLy8gY2FzZSBmb3IgZGV0YWlscy4KICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAg
ICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24t
PnByb3BlcnRpZXMoKVtpXTsKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtp
bmQoKSAhPSBDbG9zdXJlVmFyUExvYykKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICAgICAgcmVzdWx0LT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9u
KCkuaW5mbygpKSkuc2V0KGV4ZWMtPnZtKCksIHJlc3VsdCwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVl
c1tpXSkpOworICAgICAgICAgICAgcmVzdWx0LT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3Bl
cnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0KAorICAgICAgICAgICAgICAgIGV4ZWMtPnZtKCks
IHJlc3VsdCwganNOdW1iZXIoMjk4MzQpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICh2YWxp
ZGF0aW9uRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9u
cy5oCmluZGV4IGQxNWYxOGViOWFkZDMzNzlmYjVjZjE0MmRlMzQ2MTNjNDg1Nzc1MDUuLmE1NTY4
ZjkxYjExNzJiNTEyOWY4ODM5NzgzZTczYmM2ZDhjODNmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCkBAIC00MCw2ICs0MCw5IEBAIEpTQ2VsbCogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZSopIFdUCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmpl
Y3RJbk9TUigKICAgICBFeGVjU3RhdGUqLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbios
IEVuY29kZWRKU1ZhbHVlKikgV1RGX0lOVEVSTkFMOwogCit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUigKKyAgICBFeGVjU3RhdGUqLCBFeGl0VGltZU9iamVj
dE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVlKiwgRW5jb2RlZEpTVmFsdWUqKSBXVEZf
SU5URVJOQUw7CisKIH0gLy8gZXh0ZXJuICJDIgogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZH
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggZmQxNjgyY2QzNDMw
YTNlMmMyYzdlYzA3YTA5ZTJkZTU1MWQ1MGY4My4uNmZjN2MzMmEzODY3N2ZjZjJhZjFiMGIyYTg0
MDk5N2RkZmQ1NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaApA
QCAtMTg1LDcgKzE4NSw3IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAg
IHYoZG91YmxlLCBtaW5pbXVtQ2FsbFRvS25vd25SYXRlLCAwLjUxLCBudWxscHRyKSBcCiAgICAg
dihib29sLCBvcHRpbWl6ZU5hdGl2ZUNhbGxzLCBmYWxzZSwgbnVsbHB0cikgXAogICAgIHYoYm9v
bCwgZW5hYmxlTW92SGludFJlbW92YWwsIHRydWUsIG51bGxwdHIpIFwKLSAgICB2KGJvb2wsIGVu
YWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nLCB0cnVlLCBudWxscHRyKSBcCisgICAgdihib29s
LCBlbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nLCBmYWxzZSwgbnVsbHB0cikgXAogICAgIFwK
ICAgICB2KGJvb2wsIGVuYWJsZUNvbmN1cnJlbnRKSVQsIHRydWUsICJhbGxvd3MgdGhlIERGRyAv
IEZUTCBjb21waWxhdGlvbiBpbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIGV4ZWN1dGluZyBKUyB0
aHJlYWQiKSBcCiAgICAgdih1bnNpZ25lZCwgbnVtYmVyT2ZERkdDb21waWxlclRocmVhZHMsIGNv
bXB1dGVOdW1iZXJPZldvcmtlclRocmVhZHMoMiwgMikgLSAxLCBudWxscHRyKSBcCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTk3MTA0ODQxZWJj
N2U5OGZkNDAzMzE0NmVlYmY3OGI2YTU2ZWE1NS4uZGUyZTgzMmQxNTVmMmEzZTRkNDRiNGY3Zjcx
ZWQwZTI2NGRkYzM1OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTA2LTI2ICBCYXNpbGUgQ2xlbWVudCAgPGJh
c2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KKworICAgICAgICBPYmplY3QgY3ljbGVzIHNob3VsZCBu
b3QgcHJldmVudCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uL3NpbmtpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlw
dGNvcmUtdGVzdHM6CisKIDIwMTUtMDYtMjYgIFBlciBBcm5lIFZvbGxhbiAgPHBlYXZvQG91dGxv
b2suY29tPgogCiAgICAgICAgIFdpbkxhdW5jaGVyIGZhaWxzIHRvIGRvd25sb2FkIGZpbGVzLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA0OTQxZDdmN2JlODBjNGYw
NzhiOGEwYWI5Zjg1YjVkZGRhMTFmMTg3Li40ZmJiMWYyYmNmNDhjZTg0YTQ0ZTYzOWNlNWQ5MmQ5
MWUyMTM1ODU1IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtMTQ0
LDYgKzE0NCw3IEBAIGlmICghZGVmaW5lZCgkcm9vdCkgJiYgJGJ1aWxkSlNDKSB7CiBteSAkcHJv
ZHVjdERpciA9IGpzY1Byb2R1Y3REaXIoKTsKICRFTlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAk
cHJvZHVjdERpcjsKICRFTlZ7SlNDX3RpbWVvdXR9ID0gNjAgdW5sZXNzICRFTlZ7SlNDX3RpbWVv
dXR9OyAjIFNldCBhIDYwIHNlY29uZCB0aW1lb3V0IG9uIGFsbCBqc2MgdGVzdHMgKGlmIGVudmly
b25tZW50IHZhcmlhYmxlIG5vdCBkZWZpbmVkIGFscmVhZHkpLgorJEVOVntKU0NfZW5hYmxlQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ30gPSAxIHVubGVzcyBkZWZpbmVkKCRFTlZ7SlNDX2VuYWJsZUFs
bG9jYXRpb25DeWNsZVNpbmtpbmd9KQogJEVOVntUWn09IlVTL1BhY2lmaWMiOyAjIFNvbWUgdGVz
dHMgZmFpbCBpZiB0aGUgdGltZSB6b25lIGlzIG5vdCBzZXQgdG8gVVMvUGFjaWZpYyAoPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzEzNjM2Mz4pCiBzZXRQYXRoRm9yUnVubmluZ1dlYktpdEFwcChcJUVO
VikgaWYgaXNDeWd3aW4oKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFhNzdkNGQyNTk3MjJlZGEyMmNhYjgzZjJkNDll
NTQxMGI0MDY4NTYuLmI3OGMyNjBlMGQzMGYxOTA1NjNkNTRjM2I3YmRlMjkwZmUzYjIxYjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNi0yNiAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVf
Y2xlbWVudEBhcHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHBy
ZXZlbnQgYWxsb2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBmZXcgbWljcm9iZW5jaG1hcmtzIHRo
YXQgc2hvdyBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCB3aGVuCisgICAgICAgIHNpbmtpbmcgb3Ig
ZWxpbWluaW5hdGluZyBvYmplY3QgY3ljbGVzLgorCisgICAgICAgICoganMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChz
dW1PZkFyaXRoU2VyaWVzKToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICoganMvcmVncmVzcy9z
Y3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChm
YWN0b3JpYWwuZik6CisgICAgICAgIChmYWN0b3JpYWwpOgorICAgICAgICAqIGpzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanM6IEFkZGVkLgorICAgICAg
ICAoc3VtT2ZBcml0aFNlcmllcyk6CisgICAgICAgICh2ZXJpZnkpOgorICAgICAgICAoZm9vKToK
KwogMjAxNS0wNi0yNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gU2Fucy1zZXJpZiBnZW5lcmljIGZvbnQgZmFtaWx5IHNob3VsZCBt
YXAgdG8gUGluZ0ZhbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0
LXRlc3RzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQxMGI0NDgyNzdiMTIwZWFiYjAxNzcwODY1MzQyOTRiY2JiYzk3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXctb2Jq
ZWN0LWN5Y2xlLmpzCkBAIC0wLDAgKzEsMjQgQEAKK2Z1bmN0aW9uIHN1bU9mQXJpdGhTZXJpZXMo
bGltaXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAxKSAvIDI7Cit9CisKK3ZhciBu
ID0gMTAwMDAwMDA7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9OworICAg
ICAgICB2YXIgbGVhZiA9IHtmOmksIHRyZWU6IHF9OworICAgICAgICB2YXIgbyA9IHtmOmxlYWYs
IHRyZWU6IHF9OworICAgICAgICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6IHF9OworICAgICAgICBx
LmYgPSBvOworICAgICAgICBxLmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICBy
ZXN1bHQgKz0gcS5mLmYuZjsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordmFyIHJl
c3VsdCA9IGZvbygpOworaWYgKHJlc3VsdCAhPSBzdW1PZkFyaXRoU2VyaWVzKG4gLSAxKSkKKyAg
ICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpz
IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1j
eWNsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MTQ4ZGJiNDA5YWVkMTlkNDc5NzMxOTE4NGY3M2QyZjQ3ZDM1
NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVz
dHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBm
YWN0b3JpYWwoeCkgeworICAgIGlmICh4IDwgMCkgdGhyb3cgIldlIGFyZSBub3QgR2FtbWEiOwor
CisgICAgaWYgKHggPT09IDApCisgICAgICAgIHJldHVybiAxOworCisgICAgZnVuY3Rpb24gZihp
LCBhY2MpIHsKKyAgICAgICAgaWYgKGkgPT09IDEpCisgICAgICAgICAgICByZXR1cm4gYWNjOwor
ICAgICAgICByZXR1cm4gZihpIC0gMSwgaSAqIGFjYyk7CisgICAgfQorCisgICAgcmV0dXJuIGYo
eCwgMSk7Cit9Citub0lubGluZShmYWN0b3JpYWwpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEw
MDAwMDA7ICsraSkKKyAgICBmYWN0b3JpYWwoaSAlIDMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5qcyBi
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3Qt
Y3ljbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTYwODE3MjJkZDIzY2E5NzRhNGVkOGIwZGQwMTc4YTAwZjU4
NTA2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMKQEAgLTAsMCArMSwzOCBAQAorZnVuY3Rp
b24gc3VtT2ZBcml0aFNlcmllcyhsaW1pdCkgeworICAgIHJldHVybiBsaW1pdCAqIChsaW1pdCAr
IDEpIC8gMjsKK30KKwordmFyIG4gPSAxMDAwMDAwMDsKKworZnVuY3Rpb24gdmVyaWZ5KHEsIGkp
IHsKKyAgICBpZiAocS5mID09IHEuZykKKyAgICAgICAgdGhyb3cgIkVycm9yOiBxLmYgPT0gcS5n
IjsKKyAgICBpZiAocS5mLmYgIT0gcS5nLmYpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mLmYg
IT0gcS5nLmYiOworICAgIGlmIChxLmYuZi5mICE9IGkpCisgICAgICAgIHRocm93ICJFcnJvcjog
cS5mLmYuZiAhPSBpIjsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgIHZhciByZXN1bHQgPSAw
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBxID0ge307
CisgICAgICAgIHZhciBsZWFmID0ge2Y6aSwgdHJlZTpxfTsKKyAgICAgICAgdmFyIG8gPSB7Zjps
ZWFmLCB0cmVlOnF9OworICAgICAgICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6cX07CisgICAgICAg
IHEuZiA9IG87CisgICAgICAgIHEuZyA9IHA7CisgICAgICAgIHEudHJlZSA9IHE7CisgICAgICAg
IHJlc3VsdCArPSBxLmYuZi5mOworICAgICAgICBpZiAoIShpICUgMTAwKSkKKyAgICAgICAgICAg
IHZlcmlmeShxLCBpKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbm9JbmxpbmUo
Zm9vKTsKK25vSW5saW5lKHZlcmlmeSk7CisKK3ZhciByZXN1bHQgPSBmb28oKTsKK2lmIChyZXN1
bHQgIT0gc3VtT2ZBcml0aFNlcmllcyhuIC0gMSkpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVz
dWx0OiAiICsgcmVzdWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>255681</attachid>
            <date>2015-06-26 18:20:23 -0700</date>
            <delta_ts>2015-06-26 18:20:23 -0700</delta_ts>
            <desc>Benchmark results</desc>
            <filename>file_143073.txt</filename>
            <type>text/plain</type>
            <size>68449</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">QmVuY2htYXJrIHJlcG9ydCBmb3IgU3VuU3BpZGVyLCBMb25nU3BpZGVyLCBWOFNwaWRlciwgT2N0
YW5lLCBLcmFrZW4sIEpTUmVncmVzcywgQXNtQmVuY2gsIGFuZCBDb21wcmVzc2lvbkJlbmNoIG9u
IEJhc2lsZXMtTWFjQm9vay1Qcm8gKE1hY0Jvb2tQcm8xMSwzKS4NCg0KVk1zIHRlc3RlZDoNCiJU
aXBPZlRyZWUiIGF0IC9Wb2x1bWVzL0RhdGEvcHJpbWFyeS9PcGVuU291cmNlL1dlYktpdEJ1aWxk
L1JlbGVhc2UvanNjDQoiT2JqZWN0U2lua2luZyIgYXQgL1ZvbHVtZXMvRGF0YS9wcmltYXJ5L09w
ZW5Tb3VyY2UvV2ViS2l0QnVpbGQvR2FyZGVuaW5nL1JlbGVhc2UvanNjDQogICAgZXhwb3J0IEpT
Q19lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nPTANCiJDeWNsZVNpbmtpbmciIGF0IC9Wb2x1
bWVzL0RhdGEvcHJpbWFyeS9PcGVuU291cmNlL1dlYktpdEJ1aWxkL0dhcmRlbmluZy9SZWxlYXNl
L2pzYw0KICAgIGV4cG9ydCBKU0NfZW5hYmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZz0xDQoNCkNv
bGxlY3RlZCA2IHNhbXBsZXMgcGVyIGJlbmNobWFyay9WTSwgd2l0aCA2IFZNIGludm9jYXRpb25z
IHBlciBiZW5jaG1hcmsuIEVtaXR0ZWQgYSBjYWxsIHRvIGdjKCkgYmV0d2VlbiBzYW1wbGUgbWVh
c3VyZW1lbnRzLiBVc2VkIDEgYmVuY2htYXJrIGl0ZXJhdGlvbg0KcGVyIFZNIGludm9jYXRpb24g
Zm9yIHdhcm0tdXAuIFVzZWQgdGhlIGpzYy1zcGVjaWZpYyBwcmVjaXNlVGltZSgpIGZ1bmN0aW9u
IHRvIGdldCBtaWNyb3NlY29uZC1sZXZlbCB0aW1pbmcuIFJlcG9ydGluZyBiZW5jaG1hcmsgZXhl
Y3V0aW9uIHRpbWVzIHdpdGggOTUlDQpjb25maWRlbmNlIGludGVydmFscyBpbiBtaWxsaXNlY29u
ZHMuDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGlwT2ZUcmVlICAgICAgICAgICAgICAgT2JqZWN0U2lua2luZyAgICAgICAgICAgICAg
Q3ljbGVTaW5raW5nICAgICAgICAgQ3ljbGVTaW5raW5nIHYuIFRpcE9mVHJlZSANClN1blNwaWRl
cjoNCiAgIDNkLWN1YmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDYuMzgyNCstMC4yNTMyICAgICAgICAgICAgNi4yODMxKy0wLjMxNTIgICAgICAgICAgICA2LjIw
ODArLTAuMDQ5MSAgICAgICAgICBtaWdodCBiZSAxLjAyODF4IGZhc3Rlcg0KICAgM2QtbW9ycGgg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zNDUwKy0wLjA1OTgg
ICAgID8gICAgICA3LjQzMzUrLTAuMjA0MiAgICAgPyAgICAgIDcuNDQzMystMC4yNjg4ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDEzNHggc2xvd2VyDQogICAzZC1yYXl0cmFjZSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIxMzUrLTAuMDg5OCAgICAgICAgICAgIDcuMjA4
NSstMC4wOTgzICAgICA/ICAgICAgNy4zNzc3Ky0wLjIzNjMgICAgICAgID8gbWlnaHQgYmUgMS4w
MjI4eCBzbG93ZXINCiAgIGFjY2Vzcy1iaW5hcnktdHJlZXMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIuODA2MistMC4wODg0ICAgICA/ICAgICAgMi44NDI3Ky0wLjEyNDYgICAgICAg
ICAgICAyLjc5MjkrLTAuMDQ2MCAgICAgICAgDQogICBhY2Nlc3MtZmFubmt1Y2ggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA3LjQ1MTcrLTAuMDc5MiAgICAgPyAgICAgIDcuNTAw
NSstMC4yMTc4ICAgICAgICAgICAgNy40NDA0Ky0wLjAzMzEgICAgICAgIA0KICAgYWNjZXNzLW5i
b2R5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy40MjI0Ky0wLjA0NTIg
ICAgID8gICAgICAzLjQ0MDQrLTAuMDQxOCAgICAgICAgICAgIDMuNDE0OCstMC4wMzg4ICAgICAg
ICANCiAgIGFjY2Vzcy1uc2lldmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDQuMjA3NistMC4wNzE3ICAgICA/ICAgICAgNC4zNDg1Ky0wLjE5NzIgICAgICAgICAgICA0LjI2
MzMrLTAuMDQ1NiAgICAgICAgPyBtaWdodCBiZSAxLjAxMzJ4IHNsb3dlcg0KICAgYml0b3BzLTNi
aXQtYml0cy1pbi1ieXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4wMjc5Ky0wLjA5ODEg
ICAgID8gICAgICAyLjAyODArLTAuMDQ5MSAgICAgICAgICAgIDEuOTk1NistMC4wNDczICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDE2MnggZmFzdGVyDQogICBiaXRvcHMtYml0cy1pbi1ieXRlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA0LjYwNzUrLTAuMTkzNSAgICAgICAgICAgIDQuNTg4
MystMC4yMjE2ICAgICAgICAgICAgNC41MzIzKy0wLjA2NzkgICAgICAgICAgbWlnaHQgYmUgMS4w
MTY2eCBmYXN0ZXINCiAgIGJpdG9wcy1iaXR3aXNlLWFuZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIuOTIzMCstMC4xNTc3ICAgICA/ICAgICAgMy4wNDQ0Ky0wLjMzNDEgICAgICAg
ICAgICAyLjg1OTgrLTAuMDA2MiAgICAgICAgICBtaWdodCBiZSAxLjAyMjF4IGZhc3Rlcg0KICAg
Yml0b3BzLW5zaWV2ZS1iaXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4xOTI0
Ky0wLjMxMjAgICAgICAgICAgICA0LjEzMDcrLTAuMDQ2MiAgICAgPyAgICAgIDQuMTg5MistMC4x
NjI4ICAgICAgICANCiAgIGNvbnRyb2xmbG93LXJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIuNzIyMistMC4wMzM4ICAgICA/ICAgICAgMi44MTUyKy0wLjI1NzMgICAgICAg
ICAgICAyLjcxNTcrLTAuMDU4MCAgICAgICAgDQogICBjcnlwdG8tYWVzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA1LjMyMzgrLTAuMTcxNiAgICAgICAgICAgIDUuMjg2
MCstMC4wNDY0ICAgICA/ICAgICAgNS4zMzIyKy0wLjExODIgICAgICAgID8NCiAgIGNyeXB0by1t
ZDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzc0MCstMC4wNjI5
ICAgICA/ICAgICAgMy4zNzQ5Ky0wLjAyNzAgICAgICAgICAgICAzLjM0MDcrLTAuMDQxOSAgICAg
ICAgDQogICBjcnlwdG8tc2hhMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAzLjE0MjgrLTAuMTQ5NCAgICAgPyAgICAgIDMuMjM0NystMC4xODY5ICAgICA/ICAgICAgMy4y
NDk5Ky0wLjI3NjYgICAgICAgID8gbWlnaHQgYmUgMS4wMzQxeCBzbG93ZXINCiAgIGRhdGUtZm9y
bWF0LXRvZnRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuNTAzOSstMC4yMDgx
ICAgICAgICAgICAgOS4zODMzKy0wLjQ2NjEgICAgICAgICAgICA5LjI5MzgrLTAuMjQwNCAgICAg
ICAgICBtaWdodCBiZSAxLjAyMjZ4IGZhc3Rlcg0KICAgZGF0ZS1mb3JtYXQteHBhcmIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNi43NDc0Ky0wLjA1NDEgICAgICAgICAgICA2Ljcz
MDErLTAuMDkwMyAgICAgPyAgICAgIDYuODEzNCstMC4xMTk1ICAgICAgICA/DQogICBtYXRoLWNv
cmRpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjgxODcrLTAuMDM3
MCAgICAgPyAgICAgIDMuODUzNystMC4wNzUzICAgICA/ICAgICAgMy44NzAwKy0wLjA5NTYgICAg
ICAgID8gbWlnaHQgYmUgMS4wMTM0eCBzbG93ZXINCiAgIG1hdGgtcGFydGlhbC1zdW1zICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuNDMyOSstMC4xMjcyICAgICAgICAgICAgNi4z
NTg3Ky0wLjEwMzggICAgICAgICAgICA2LjM1NzErLTAuMTAyOSAgICAgICAgICBtaWdodCBiZSAx
LjAxMTl4IGZhc3Rlcg0KICAgbWF0aC1zcGVjdHJhbC1ub3JtICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMi41MTQ1Ky0wLjA3NTAgICAgID8gICAgICAyLjUyNzgrLTAuMTc4OCAgICAg
PyAgICAgIDIuNTU2OCstMC4yMTAyICAgICAgICA/IG1pZ2h0IGJlIDEuMDE2OHggc2xvd2VyDQog
ICByZWdleHAtZG5hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4Ljg5
ODYrLTAuMDg4NSAgICAgPyAgICAgIDguOTcxNSstMC4yOTYxICAgICAgICAgICAgOC45MDA3Ky0w
LjA5NDkgICAgICAgID8NCiAgIHN0cmluZy1iYXNlNjQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDYuMTk0MystMC4wNjcwICAgICA/ICAgICAgNi4yOTA1Ky0wLjIzODEgICAg
ICAgICAgICA2LjE4NDIrLTAuMDc4MyAgICAgICAgDQogICBzdHJpbmctZmFzdGEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4LjIyMjErLTAuMDc4NiAgICAgPyAgICAgIDgu
MzI1NCstMC4xNzk0ICAgICAgICAgICAgOC4yNzkxKy0wLjEyOTkgICAgICAgID8NCiAgIHN0cmlu
Zy10YWdjbG91ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuMjMxNistMC4x
NDAzICAgICA/ICAgICAxMS42NjQzKy0wLjMyMjYgICAgICAgICAgIDExLjU1OTcrLTAuMjk4NCAg
ICAgICAgPyBtaWdodCBiZSAxLjAyOTJ4IHNsb3dlcg0KICAgc3RyaW5nLXVucGFjay1jb2RlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNy4zMDAyKy0wLjI5MzQgICAgID8gICAgIDI3
LjUwNjErLTAuMjQ2NyAgICAgICAgICAgMjcuMzg5MistMC4yMjk1ICAgICAgICA/DQogICBzdHJp
bmctdmFsaWRhdGUtaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjMzMzcrLTAu
MTM4NCAgICAgPyAgICAgIDYuNDI2MistMC4xOTc3ICAgICA/ICAgICAgNi40NjA1Ky0wLjIzNTgg
ICAgICAgID8gbWlnaHQgYmUgMS4wMjAweCBzbG93ZXINCg0KICAgPGFyaXRobWV0aWM+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4zMjA4Ky0wLjAyMjUgICAgICEgICAg
ICA2LjM2OTErLTAuMDE1MSAgICAgICAgICAgIDYuMzM5MistMC4wNDkxICAgICAgICA/IG1pZ2h0
IGJlIDEuMDAyOXggc2xvd2VyDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGlwT2ZUcmVlICAgICAgICAgICAgICAgT2JqZWN0U2lua2lu
ZyAgICAgICAgICAgICAgQ3ljbGVTaW5raW5nICAgICAgICAgQ3ljbGVTaW5raW5nIHYuIFRpcE9m
VHJlZSANCkxvbmdTcGlkZXI6DQogICAzZC1jdWJlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxMTcyLjYwMjIrLTcxLjY1MDggICAgICAgIDExMzAuODI2OSstOS4zNzM4
ICAgICA/ICAgMTIzNy43NzM2Ky0yODcuMzczMyAgICAgID8gbWlnaHQgYmUgMS4wNTU2eCBzbG93
ZXINCiAgIDNkLW1vcnBoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIy
NTAuNDcxMCstMC4wOTg3ICAgICA/ICAgMjI1MC41NzE0Ky0wLjEyNTUgICAgICAgICAyMjUwLjQ5
MDArLTAuMTY5MSAgICAgICAgPw0KICAgM2QtcmF5dHJhY2UgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDkwOS4zNDE4Ky0xMS41MDcwICAgID8gICAgOTIzLjg3MTgrLTE2LjQ5
NDQgICAgICAgICA5MTQuMDY2OCstMy44ODIyICAgICAgICA/DQogICBhY2Nlc3MtYmluYXJ5LXRy
ZWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwLjgzMjMrLTMuMjQxNCAgICAgPyAg
IDExNDYuNDkxNCstMTAuMzczOCAgICAgICAgMTE0Mi44ODE4Ky03LjM2NjggICAgICAgID8NCiAg
IGFjY2Vzcy1mYW5ua3VjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDguODg3
MSstMC43OTQ0ICAgICAgICAgIDQwOC44NDc3Ky0wLjI4MDEgICAgID8gICAgNDA4Ljg2MTgrLTAu
ODE4NiAgICAgICAgDQogICBhY2Nlc3MtbmJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNzYxLjQ2NzgrLTAuMTY2OCAgICAgISAgICA3NjMuODQxOCstMC40MTI3ICAgICAg
ICAgIDc2My40NjI4Ky0wLjM1NjUgICAgICAgICEgZGVmaW5pdGVseSAxLjAwMjZ4IHNsb3dlcg0K
ICAgYWNjZXNzLW5zaWV2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4NS4z
NTY0Ky0zLjg4NzIgICAgID8gICAgNDg1Ljg2MTkrLTIuNjUxNSAgICAgICAgICA0ODUuNDg3MSst
My4yMDkxICAgICAgICA/DQogICBiaXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUgICAgICAgICAgICAg
ICAgICAgICAgICAgIDU4LjY1MDgrLTAuMDcxNiAgICAgPyAgICAgNTkuNjUxMystMi40MTAyICAg
ICAgICAgICA1OC45MTUzKy0wLjMxNTYgICAgICAgID8NCiAgIGJpdG9wcy1iaXRzLWluLWJ5dGUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTguMzEzOCstMi4zNTY5ICAgICAgICAgIDEx
NC44NzcxKy03LjY0NTQgICAgID8gICAgMTYyLjk4MjcrLTExMS42MTMzICAgICAgPyBtaWdodCBi
ZSAxLjM3NzV4IHNsb3dlcg0KICAgYml0b3BzLW5zaWV2ZS1iaXRzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDU5My43MTA0Ky0yLjY2NTcgICAgICAgICAgNTkxLjc0MTcrLTQuMjEyMCAg
ICAgPyAgICA1OTMuNDgxMistMy4yNzQ2ICAgICAgICANCiAgIGNvbnRyb2xmbG93LXJlY3Vyc2l2
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA2NTMuNTc3MSstMC44ODU5ICAgICA/ICAgIDY1
NC4xODI1Ky05LjM3NzIgICAgID8gICAgNjU2LjQ3MzgrLTMuMDg5MSAgICAgICAgPw0KICAgY3J5
cHRvLWFlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgyMy4wODY5Ky01
LjMxNDMgICAgID8gICAgODI2LjMyMzArLTIuMDU3NSAgICAgPyAgICA4MjkuMjc4NystMi43MTYx
ICAgICAgICA/DQogICBjcnlwdG8tbWQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNjkyLjg3OTYrLTEuOTUxNSAgICAgICAgICA2OTIuNDI5NystNS40MzUxICAgICA/ICAg
IDY5My40MzAzKy0xMC40MTY4ICAgICAgID8NCiAgIGNyeXB0by1zaGExICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA4OTQuOTI3NystMTIuOTM5NSAgICAgICAgIDg5MS45MTQ3
Ky0zLjQzNDcgICAgID8gICAgODk3LjAwODYrLTYuODI4MiAgICAgICAgPw0KICAgZGF0ZS1mb3Jt
YXQtdG9mdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcyMC40OTI3Ky01LjI4ODQg
ICAgID8gICAgNzI5LjE0NDkrLTkuMzkwMCAgICAgPyAgICA3MzEuOTk1MCstMTIuOTkzMSAgICAg
ICA/IG1pZ2h0IGJlIDEuMDE2MHggc2xvd2VyDQogICBkYXRlLWZvcm1hdC14cGFyYiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOTM0LjkxMzUrLTMzLjk4MzIgICAgICAgICA5MzAuMzEz
NCstMTUuNDgyMCAgICAgICAgIDkyNC40NDY4Ky0yLjk1NTYgICAgICAgICAgbWlnaHQgYmUgMS4w
MTEzeCBmYXN0ZXINCiAgIGhhc2gtbWFwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyMjguNDI3MystMi40Nzg0ICAgICAgICAgIDIyMy42ODc5Ky02Ljc2NTIgICAgID8g
ICAgMjIzLjk3NDgrLTQuMjk1OCAgICAgICAgICBtaWdodCBiZSAxLjAxOTl4IGZhc3Rlcg0KICAg
bWF0aC1jb3JkaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcyNy4zOTk4
Ky0wLjIxMDMgICAgICAgICAgNzI3LjMxMDgrLTAuMjA0MCAgICAgPyAgICA3MjcuMzQ1OCstMC41
MjE0ICAgICAgICANCiAgIG1hdGgtcGFydGlhbC1zdW1zICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA2MTkuMzIzMystMTAuMzM3NyAgICAgICAgIDYxNC45NzE1Ky0wLjA2NjAgICAgICEg
ICAgNjE1LjMzMTArLTAuMjQ0OCAgICAgICAgDQogICBtYXRoLXNwZWN0cmFsLW5vcm0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgODIzLjc2NjUrLTAuMTkxNyAgICAgICAgICA4MjMuMjA0
MSstMC44NTE1ICAgICA/ICAgIDgyMy4zMzcxKy0wLjcwNDEgICAgICAgIA0KICAgc3RyaW5nLWJh
c2U2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ5OC4xMjc1Ky00LjQ4NDkg
ICAgID8gICAgNDk5LjAxMTkrLTQuNjEwOCAgICAgPyAgICA1MDcuMjM0NCstMTkuNTExMCAgICAg
ICA/IG1pZ2h0IGJlIDEuMDE4M3ggc2xvd2VyDQogICBzdHJpbmctZmFzdGEgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNTUzLjI3MTUrLTE2LjYxMjAgICAgICAgICA1NTAuOTAx
OSstOC42ODQ1ICAgICA/ICAgIDU1MS43MzIyKy01LjkwNzAgICAgICAgIA0KICAgc3RyaW5nLXRh
Z2Nsb3VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0OS43NzE2Ky0zLjAyNTcg
ICAgID8gICAgMjUyLjIzNTYrLTIuOTU2OSAgICAgICAgICAyNTEuMjk3NCstMS43MzA1ICAgICAg
ICA/DQoNCiAgIDxnZW9tZXRyaWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA1NjcuODkxMistMi4zNTQyICAgICAgICAgIDU2Ni44NjgzKy0yLjc5NDcgICAgID8gICAgNTc0
LjcxMTIrLTEyLjgzNDQgICAgICAgPyBtaWdodCBiZSAxLjAxMjB4IHNsb3dlcg0KDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpcE9mVHJl
ZSAgICAgICAgICAgICAgIE9iamVjdFNpbmtpbmcgICAgICAgICAgICAgIEN5Y2xlU2lua2luZyAg
ICAgICAgIEN5Y2xlU2lua2luZyB2LiBUaXBPZlRyZWUgDQpWOFNwaWRlcjoNCiAgIGNyeXB0byAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNzAuMjA3NistMy40ODQx
ICAgICA/ICAgICA3MS45NTg1Ky0zLjE0MDUgICAgICAgICAgIDY4LjMxODErLTIuNTc2OSAgICAg
ICAgICBtaWdodCBiZSAxLjAyNzd4IGZhc3Rlcg0KICAgZGVsdGFibHVlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDExMi44NDg3Ky04LjQ4NjAgICAgID8gICAgMTE3LjYy
NTMrLTE3LjM1NDggICAgICAgICAxMDYuNDk1NCstOS4xMDU0ICAgICAgICAgIG1pZ2h0IGJlIDEu
MDU5N3ggZmFzdGVyDQogICBlYXJsZXktYm95ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDU1LjQ0NzMrLTEuMzk1MiAgICAgPyAgICAgNTYuMDQ1MCstMC44NTQ3ICAgICAg
ICAgICA1NS4xNjUyKy0wLjkwMDAgICAgICAgIA0KICAgcmF5dHJhY2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA0MS4yNDQ3Ky0xLjI4NzkgICAgICAgICAgIDQxLjEx
MTIrLTIuNTIxMSAgICAgPyAgICAgNDIuMjY1OSstMS42MDM1ICAgICAgICA/IG1pZ2h0IGJlIDEu
MDI0OHggc2xvd2VyDQogICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDkwLjY0NTYrLTAuNDUwNCAgICAgICAgICAgOTAuMzU2NCstMS4xNDEyICAgICAg
ICAgICA4OS44MjMzKy0wLjYzOTcgICAgICAgIA0KICAgcmljaGFyZHMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEwMC45OTkxKy0xLjUyMzkgICAgICAgICAgIDk4Ljc4
MTMrLTMuMDE0MSAgICAgPyAgICAxMDAuMjk5MCstMS40MjI0ICAgICAgICANCiAgIHNwbGF5ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDguMjUyOCstMi40MDk2
ICAgICA/ICAgICA0OC45MDMyKy0yLjg0MTggICAgID8gICAgIDUwLjg2MjUrLTIuMDU2MSAgICAg
ICAgPyBtaWdodCBiZSAxLjA1NDF4IHNsb3dlcg0KDQogICA8Z2VvbWV0cmljPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY5LjY3NDcrLTAuOTkzNCAgICAgPyAgICAgNzAu
MjI3MCstMS4yMjM4ICAgICAgICAgICA2OS4zODQ0Ky0xLjEwODUgICAgICAgICAgbWlnaHQgYmUg
MS4wMDQyeCBmYXN0ZXINCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBUaXBPZlRyZWUgICAgICAgICAgICAgICBPYmplY3RTaW5raW5nICAg
ICAgICAgICAgICBDeWNsZVNpbmtpbmcgICAgICAgICBDeWNsZVNpbmtpbmcgdi4gVGlwT2ZUcmVl
IA0KT2N0YW5lOg0KICAgZW5jcnlwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwLjMwNDU5Ky0wLjAwMTgyICAgICAgICAgIDAuMzA0MjErLTAuMDAwNzcgICAgICAg
ICAgMC4zMDQxNystMC4wMDA5OCAgICAgICANCiAgIGRlY3J5cHQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNS4wMzM4NystMC4wNjE5MiAgICAgICAgICA1LjAwMzMz
Ky0wLjA0NDE2ICAgICAgICAgIDQuOTg0MTQrLTAuMDE3NzEgICAgICAgDQogICBkZWx0YWJsdWUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAgIDAuMjI2NjcrLTAuMDAyNDgg
ICAgPyAgICAgMC4yMjczNystMC4wMDYyMyAgICA/ICAgICAwLjIyODc3Ky0wLjAwMTAyICAgICAg
ID8NCiAgIGVhcmxleSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MC40NTI2OSstMC4wMDU1NyAgICAgICAgICAwLjQ1MTUxKy0wLjAwMzM1ICAgIF4gICAgIDAuNDIy
MjIrLTAuMDAyODMgICAgICAgXiBkZWZpbml0ZWx5IDEuMDcyMnggZmFzdGVyDQogICBib3llciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuNTU1NTArLTAuMDY4
MjYgICAgPyAgICAgNi42MDMxNSstMC4wMzM1MCAgICAgICAgICA2LjU3NjkyKy0wLjAyMjY5ICAg
ICAgID8NCiAgIG5hdmllci1zdG9rZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAg
ICAgNy40NjUwOSstMC4wMjA2MyAgICA/ICAgICA3LjQ2NzQwKy0wLjAxNzE2ICAgICAgICAgIDcu
NDY2MDkrLTAuMDIyNDkgICAgICAgPw0KICAgcmF5dHJhY2UgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB4MiAgICAgICAxLjU4ODIyKy0wLjAxNzMwICAgICAgICAgIDEuNTYxNTUrLTAu
MDUxNzggICAgICAgICAgMS41MTgwNistMC4wNjUyMiAgICAgICAgIG1pZ2h0IGJlIDEuMDQ2Mngg
ZmFzdGVyDQogICByaWNoYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAg
ICAgIDAuMTUyNDYrLTAuMDAyMjQgICAgPyAgICAgMC4xNTM1MystMC4wMDIwNyAgICAgICAgICAw
LjE1MjY0Ky0wLjAwMjIxICAgICAgID8NCiAgIHNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeDIgICAgICAgMC40OTgzNCstMC4wMDU5MyAgICA/ICAgICAwLjUwMDMyKy0w
LjAwNTQwICAgICAgICAgIDAuNDk4NTMrLTAuMDA4NTYgICAgICAgPw0KICAgcmVnZXhwICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgIDM3LjAwNjY0Ky0wLjY0MjU3ICAg
ICAgICAgMzUuOTY0NDkrLTAuNjI5MjMgICAgICAgICAzNS44OTc4MistMC4zMDU1MyAgICAgICBe
IGRlZmluaXRlbHkgMS4wMzA5eCBmYXN0ZXINCiAgIHBkZmpzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeDIgICAgICA1My43MTk2NSstMS43MDc1NCAgICA/ICAgIDU0LjAyNjYy
Ky0yLjA5NzA3ICAgICAgICAgNTMuNDE5ODcrLTAuMzU0NTYgICAgICAgDQogICBtYW5kcmVlbCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAgNjguNjI5OTYrLTAuODg1Njkg
ICAgICAgICA2OC41Mzg5NSstMC43MzE2OSAgICA/ICAgIDY4LjY3NjU3Ky0wLjUwNzI1ICAgICAg
ID8NCiAgIGdiZW11ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAgICA1
Ni4zMjYzNistMC43NzU2NiAgICA/ICAgIDU2LjQ2Mjc2Ky0wLjM4MDA3ICAgICAgICAgNTYuMTM3
OTErLTAuOTQ5MTAgICAgICAgDQogICBjbG9zdXJlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAuNzU4NzErLTAuMDAyOTkgICAgICAgICAgMC43NTQ1NistMC4wMDMy
NyAgICA/ICAgICAwLjc1NTIyKy0wLjAwNDAzICAgICAgIA0KICAganF1ZXJ5ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LjgzODkyKy0wLjA0MjQyICAgID8gICAg
IDkuODU2MTMrLTAuMDM0MjUgICAgPyAgICAgOS44Njg3NSstMC4wMjk3OCAgICAgICA/DQogICBi
b3gyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAgMTUuMzgxNTkr
LTAuMTg2NzUgICAgPyAgICAxNS41OTI4OCstMC4yODU4OCAgICAgICAgIDE1LjU2NTczKy0wLjE3
MTcyICAgICAgID8gbWlnaHQgYmUgMS4wMTIweCBzbG93ZXINCiAgIHpsaWIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAgIDUzMC41NzI5NCstMjEuMDQ3MzAgICA/ICAg
NTM2LjAxNzMyKy00LjY3MTE1ICAgID8gICA1MzcuMjkzMzMrLTUuMTY5MDYgICAgICAgPyBtaWdo
dCBiZSAxLjAxMjd4IHNsb3dlcg0KICAgdHlwZXNjcmlwdCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB4MiAgICAgODg2LjExNjMzKy0xMS4xMzYyMCAgID8gICA4OTEuNDgyMjYrLTE1Ljg0
NjI1ICAgICAgIDg4OC45NTEwNSstMjEuODY3MjYgICAgICA/DQoNCiAgIDxnZW9tZXRyaWM+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC4zNDI4NCstMC4wMzA4NSAgICA/
ICAgICA4LjM0NDEzKy0wLjA1MjkwICAgICAgICAgIDguMjk1OTMrLTAuMDQ0MTcgICAgICAgICBt
aWdodCBiZSAxLjAwNTd4IGZhc3Rlcg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRpcE9mVHJlZSAgICAgICAgICAgICAgIE9iamVjdFNp
bmtpbmcgICAgICAgICAgICAgIEN5Y2xlU2lua2luZyAgICAgICAgIEN5Y2xlU2lua2luZyB2LiBU
aXBPZlRyZWUgDQpLcmFrZW46DQogICBhaS1hc3RhciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDM0OC4yMTkrLTIuMTUxICAgICAgICAgICAgMzQyLjAyMystMTEuMjEw
ICAgICA/ICAgICAzNDUuODI2Ky01LjIyMyAgICAgICAgIA0KICAgYXVkaW8tYmVhdC1kZXRlY3Rp
b24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTguODQyKy0wLjkzNCAgICAgID8gICAg
ICA5OS43NTArLTEuNDc4ICAgICAgICAgICAgIDk5LjcwOSstMS4yNzUgICAgICAgICA/DQogICBh
dWRpby1kZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1My40MDgr
LTEuOTQzICAgICAgICAgICAgMTUzLjA3MistMS44MDAgICAgICA/ICAgICAxNTMuODUyKy0xLjU3
MSAgICAgICAgID8NCiAgIGF1ZGlvLWZmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDg0LjgwOSstMC4yMzggICAgICA/ICAgICAgODQuODU4Ky0wLjE1NCAgICAgICAg
ICAgICA4Mi4xMzErLTYuNzg2ICAgICAgICAgICBtaWdodCBiZSAxLjAzMjZ4IGZhc3Rlcg0KICAg
YXVkaW8tb3NjaWxsYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTAuNzQz
Ky0wLjIwNyAgICAgICAgICAgICA5MC43MDErLTAuMjA5ICAgICAgICAgICAgIDkwLjY0NCstMC4x
MDEgICAgICAgICANCiAgIGltYWdpbmctZGFya3Jvb20gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTI5LjE0NSstMC40MDggICAgICA/ICAgICAxMjkuNjI1Ky0xLjQ4MCAgICAgICAg
ICAgIDEyOC4wMTYrLTEuODE4ICAgICAgICAgDQogICBpbWFnaW5nLWRlc2F0dXJhdGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA3OC42OTUrLTUuMDUzICAgICAgPyAgICAgIDgwLjA4
OSstNC4xMTUgICAgICA/ICAgICAgODAuMjU3Ky00LjA4OSAgICAgICAgID8gbWlnaHQgYmUgMS4w
MTk5eCBzbG93ZXINCiAgIGltYWdpbmctZ2F1c3NpYW4tYmx1ciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTIzLjM1NystMC42ODAgICAgICA/ICAgICAxMjYuMjQxKy03LjIzNyAgICAgICAg
ICAgIDEyMy42OTErLTAuMzI5ICAgICAgICAgPw0KICAganNvbi1wYXJzZS1maW5hbmNpYWwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTUuOTkxKy0wLjIyNyAgICAgID8gICAgICA1Ni4w
NDcrLTAuNzg1ICAgICAgPyAgICAgIDU2LjEwNystMC44MjMgICAgICAgICA/DQogICBqc29uLXN0
cmluZ2lmeS10aW5kZXJib3ggICAgICAgICAgICAgICAgICAgICAgICAgICAzNi4xNzgrLTAuNDIy
ICAgICAgPyAgICAgIDM3LjI3OCstMC44MzQgICAgICA/ICAgICAgMzcuNzk5Ky0wLjk1MCAgICAg
ICAgICEgZGVmaW5pdGVseSAxLjA0NDh4IHNsb3dlcg0KICAgc3RhbmZvcmQtY3J5cHRvLWFlcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUuODQ4Ky0wLjM1NCAgICAgID8gICAgICA3
Ni4zOTgrLTAuNTgzICAgICAgPyAgICAgIDc2LjY4MistMS4zMjQgICAgICAgICA/IG1pZ2h0IGJl
IDEuMDExMHggc2xvd2VyDQogICBzdGFuZm9yZC1jcnlwdG8tY2NtICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA1NS40MjkrLTEuMTkwICAgICAgPyAgICAgIDU2LjE0NSstMS41NDkgICAg
ICAgICAgICAgNTUuODAwKy0xLjE0MSAgICAgICAgID8NCiAgIHN0YW5mb3JkLWNyeXB0by1wYmtk
ZjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQ0LjUxNCstMi4zMzEgICAgICA/ICAgICAx
NDQuNzkzKy0zLjk4MCAgICAgICAgICAgIDE0My4yNzUrLTAuMjcxICAgICAgICAgDQogICBzdGFu
Zm9yZC1jcnlwdG8tc2hhMjU2LWl0ZXJhdGl2ZSAgICAgICAgICAgICAgICAgICA1NC40ODQrLTAu
MjA0ICAgICAgPyAgICAgIDU0LjU2MistMC42NTQgICAgICAgICAgICAgNTQuNDQ0Ky0wLjIxNyAg
ICAgICAgIA0KDQogICA8YXJpdGhtZXRpYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEwOS4yNjErLTAuMjMyICAgICAgPyAgICAgMTA5LjM5OSstMS4wODMgICAgICAgICAg
ICAxMDkuMTYwKy0wLjQwMCAgICAgICAgICAgbWlnaHQgYmUgMS4wMDA5eCBmYXN0ZXINCg0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaXBP
ZlRyZWUgICAgICAgICAgICAgICBPYmplY3RTaW5raW5nICAgICAgICAgICAgICBDeWNsZVNpbmtp
bmcgICAgICAgICBDeWNsZVNpbmtpbmcgdi4gVGlwT2ZUcmVlIA0KSlNSZWdyZXNzOg0KICAgYWJj
LWZvcndhcmQtbG9vcC1lcXVhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My4wNDI4Ky0w
Ljg5ODAgICAgICAgICAgIDQyLjMzMjkrLTAuMDk2OCAgICAgPyAgICAgNDIuOTM2NistMC44MTUz
ICAgICAgICANCiAgIGFiYy1wb3N0Zml4LWJhY2t3YXJkLWxvb3AgICAgICAgICAgICAgICAgICAg
ICAgICAgNDIuNTAwNCstMC4xMjU3ICAgICAgICAgICA0Mi4xODExKy0wLjI1NzkgICAgID8gICAg
IDQyLjM1NzkrLTAuMjYyMCAgICAgICAgDQogICBhYmMtc2ltcGxlLWJhY2t3YXJkLWxvb3AgICAg
ICAgICAgICAgICAgICAgICAgICAgIDQ2Ljc4OTMrLTExLjg5OTkgICAgICAgICAgNDIuMDA3NSst
MC4wNDcxICAgICA/ICAgICA0Mi4wNTIwKy0wLjIxNjIgICAgICAgICAgbWlnaHQgYmUgMS4xMTI3
eCBmYXN0ZXINCiAgIGFiYy1zaW1wbGUtZm9yd2FyZC1sb29wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNDEuOTY0NistMC4xOTE4ICAgICA/ICAgICA0Mi4yMDQzKy0wLjE1NDcgICAgICAgICAg
IDQyLjEwMTkrLTAuMjQ4NyAgICAgICAgPw0KICAgYWJjLXNraXBweS1sb29wICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzMC4xOTE5Ky0wLjIxMzggICAgID8gICAgIDMwLjI0ODgr
LTAuMjk2MiAgICAgICAgICAgMzAuMjAyNSstMC40Mjg1ICAgICAgICA/DQogICBhYnMtYm9vbGVh
biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjQ2MjQrLTAuMTk2NyAg
ICAgICAgICAgIDMuNDI1OCstMC4xOTU0ICAgICA/ICAgICAgMy40NjU1Ky0wLjI0MzMgICAgICAg
ID8NCiAgIGFkYXB0LXRvLWRvdWJsZS1kaXZpZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjMuMTcyMistMC40MDIzICAgICAgICAgICAyMy4xMTI5Ky0wLjE3OTkgICAgID8gICAgIDIzLjU1
NjYrLTAuNDUwNiAgICAgICAgPyBtaWdodCBiZSAxLjAxNjZ4IHNsb3dlcg0KICAgYWxpYXNlZC1h
cmd1bWVudHMtZ2V0Ynl2YWwgICAgICAgICAgICAgICAgICAgICAgICAgMS41NDYzKy0wLjA0ODIg
ICAgID8gICAgICAxLjYyNDMrLTAuMjEwMSAgICAgICAgICAgIDEuNTcwNystMC4xNTE4ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDE1N3ggc2xvd2VyDQogICBhbGxvY2F0ZS1iaWctb2JqZWN0ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAzLjUxNDArLTAuMzY0MyAgICAgICAgICAgIDMuNDk3
NCstMC4xMDU4ICAgICAgICAgICAgMy40ODA1Ky0wLjEwNzkgICAgICAgIA0KICAgYXJndW1lbnRz
LW5hbWVkLWFuZC1yZWZsZWN0aXZlICAgICAgICAgICAgICAgICAgICAxNS43NTg4Ky0wLjExMDcg
ICAgICAgICAgIDE1LjYyODcrLTAuMTYxNyAgICAgICAgICAgMTUuNjAwNSstMC4yNDk0ICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDEwMXggZmFzdGVyDQogICBhcmd1bWVudHMtb3V0LW9mLWJvdW5kcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDE0LjA4MTcrLTAuMjMxMSAgICAgICAgICAgMTQuMDc1
MCstMC4yMTU1ICAgICA/ICAgICAxNC4yMzMzKy0wLjI4NDUgICAgICAgID8gbWlnaHQgYmUgMS4w
MTA4eCBzbG93ZXINCiAgIGFyZ3VtZW50cy1zdHJpY3QtbW9kZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTMuNjAyMystMC4zNzQ5ICAgICA/ICAgICAxMy42NzMwKy0wLjIwNDAgICAgID8g
ICAgIDEzLjY5NDcrLTAuMjkwMyAgICAgICAgPw0KICAgYXJndW1lbnRzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxMi4xNDY4Ky0wLjEyMjcgICAgICAgICAgIDEyLjEz
NzArLTAuMjI1NCAgICAgPyAgICAgMTIuMzczNSstMC4yNjE4ICAgICAgICA/IG1pZ2h0IGJlIDEu
MDE4N3ggc2xvd2VyDQogICBhcml0eS1taXNtYXRjaC1pbmxpbmluZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxLjA5ODArLTAuMDI1MCAgICAgPyAgICAgIDEuMTA3MSstMC4wMjUzICAgICA/
ICAgICAgMS4xMTIxKy0wLjA0NDEgICAgICAgID8gbWlnaHQgYmUgMS4wMTI5eCBzbG93ZXINCiAg
IGFycmF5LWFjY2Vzcy1wb2x5bW9ycGhpYy1zdHJ1Y3R1cmUgICAgICAgICAgICAgICAgIDguNzA0
OCstMC4xNTg1ICAgICAgICAgICAgOC42ODQwKy0wLjExNzEgICAgICAgICAgICA4LjYyNTQrLTAu
MjE3NiAgICAgICAgDQogICBhcnJheS1ub25hcnJheS1wb2x5bW9yaHBpYy1hY2Nlc3MgICAgICAg
ICAgICAgICAgIDM0Ljg0OTcrLTAuNTMxOCAgICAgPyAgICAgMzUuNDE5MCstMS4xMDA4ICAgICAg
ICAgICAzNC44NjgyKy0wLjQ2MzQgICAgICAgID8NCiAgIGFycmF5LXByb3RvdHlwZS1ldmVyeSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTIuNDE1NCstMC42NDQ3ICAgICBeICAgIDExMS4y
MzIyKy0wLjIwODMgICAgICAgICAgMTExLjAzODMrLTAuMjQ4NiAgICAgICAgXiBkZWZpbml0ZWx5
IDEuMDEyNHggZmFzdGVyDQogICBhcnJheS1wcm90b3R5cGUtZm9yRWFjaCAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTA5Ljc4NTArLTAuMTAxOSAgICAgPyAgICAxMDkuOTIyNCstMC42OTU1ICAg
ICAgICAgIDEwOS44NzQwKy0xLjgxMjYgICAgICAgID8NCiAgIGFycmF5LXByb3RvdHlwZS1tYXAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjIuMzY0NystMS45NzIyICAgICAgICAgIDEy
MS44NjkzKy0xLjUzNzcgICAgICAgICAgMTIxLjQ4ODgrLTAuNTYwNyAgICAgICAgDQogICBhcnJh
eS1wcm90b3R5cGUtcmVkdWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTA1LjQ0MDArLTAu
Nzg1OCAgICAgICAgICAxMDQuODU5NCstMC42NDA5ICAgICAgICAgIDEwNC41NTg2Ky0wLjQ2NTgg
ICAgICAgIA0KICAgYXJyYXktcHJvdG90eXBlLXJlZHVjZVJpZ2h0ICAgICAgICAgICAgICAgICAg
ICAgIDEwNy4xMjE3Ky0xLjQ0NzMgICAgICAgICAgMTA1LjEzODArLTAuOTUwNCAgICAgICAgICAx
MDQuNjk2NystMS43ODc3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDIzMnggZmFzdGVyDQogICBhcnJh
eS1wcm90b3R5cGUtc29tZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEyLjEzODMrLTAu
MTM3NyAgICAgXiAgICAxMTAuOTMxMistMC4yMjExICAgICA/ICAgIDExMS4wNTgzKy0wLjE0NjYg
ICAgICAgIF4gZGVmaW5pdGVseSAxLjAwOTd4IGZhc3Rlcg0KICAgYXJyYXktc3BsaWNlLWNvbnRp
Z3VvdXMgICAgICAgICAgICAgICAgICAgICAgICAgICAyOS4zNTk5Ky0wLjQ0NDAgICAgID8gICAg
IDMyLjIzODYrLTYuMjgzNiAgICAgICAgICAgMzAuNTQwOSstMS4xNzIyICAgICAgICA/IG1pZ2h0
IGJlIDEuMDQwMnggc2xvd2VyDQogICBhcnJheS13aXRoLWRvdWJsZS1hZGQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0Ljc1NDQrLTAuMDU2MCAgICAgPyAgICAgIDQuODA2MistMC4wNzA5
ICAgICAgICAgICAgNC43NTg1Ky0wLjA2MjAgICAgICAgID8NCiAgIGFycmF5LXdpdGgtZG91Ymxl
LWluY3JlbWVudCAgICAgICAgICAgICAgICAgICAgICAgIDQuMzAyMistMC4xMDk1ICAgICAgICAg
ICAgNC4yNjE0Ky0wLjA1MjcgICAgICAgICAgICA0LjI0MTgrLTAuMDMxOSAgICAgICAgICBtaWdo
dCBiZSAxLjAxNDJ4IGZhc3Rlcg0KICAgYXJyYXktd2l0aC1kb3VibGUtbXVsLWFkZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgNS44Mjc2Ky0wLjAzNjMgICAgID8gICAgICA2LjM0NTIrLTEuMzA2
NiAgICAgICAgICAgIDUuODQxNystMC4wNTMzICAgICAgICA/DQogICBhcnJheS13aXRoLWRvdWJs
ZS1zdW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjQ0ODErLTAuMDEyMiAgICAgPyAg
ICAgIDQuNDY1MSstMC4wMzgwICAgICA/ICAgICAgNC41MDM0Ky0wLjA1NjggICAgICAgID8gbWln
aHQgYmUgMS4wMTI0eCBzbG93ZXINCiAgIGFycmF5LXdpdGgtaW50MzItYWRkLXN1YiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDguMDk5NCstMC4wMzEzICAgICA/ICAgICAgOC4xMjE1Ky0wLjAy
MDYgICAgID8gICAgICA4LjEzNzIrLTAuMDY5MSAgICAgICAgPw0KICAgYXJyYXktd2l0aC1pbnQz
Mi1vci1kb3VibGUtc3VtICAgICAgICAgICAgICAgICAgICAgNC40ODAzKy0wLjAzNTggICAgID8g
ICAgICA0LjgwNzcrLTAuNzg1NyAgICAgICAgICAgIDQuNDY3OCstMC4wMjIwICAgICAgICANCiAg
IEFycmF5QnVmZmVyLURhdGFWaWV3LWFsbG9jLWxhcmdlLWxvbmctbGl2ZWQgICANCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzguNTg1MSstMC4z
NDY3ICAgICAgICAgICAzOC4xMjMzKy0wLjYyMzIgICAgICAgICAgIDM4LjAzOTUrLTAuODE4NSAg
ICAgICAgICBtaWdodCBiZSAxLjAxNDN4IGZhc3Rlcg0KICAgQXJyYXlCdWZmZXItRGF0YVZpZXct
YWxsb2MtbG9uZy1saXZlZCAgICAgICAgICAgICAxNy43MDkzKy0wLjIzMDEgICAgICAgICAgIDE3
LjM5OTMrLTAuMzMzNiAgICAgICAgICAgMTcuMDYwMystMC4yNzk4ICAgICAgICBeIGRlZmluaXRl
bHkgMS4wMzgweCBmYXN0ZXINCiAgIEFycmF5QnVmZmVyLUludDMyQXJyYXktYnl0ZU9mZnNldCAg
ICAgICAgICAgICAgICAgIDUuMTUwNystMC4wMjM1ICAgICAgICAgICAgNS4xMjY1Ky0wLjAxNDUg
ICAgID8gICAgICA1LjIzNDcrLTAuMTQ2MSAgICAgICAgPyBtaWdodCBiZSAxLjAxNjN4IHNsb3dl
cg0KICAgQXJyYXlCdWZmZXItSW50OEFycmF5LWFsbG9jLWxhcmdlLWxvbmctbGl2ZWQgICANCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzguNjQw
NystMS4wOTAzICAgICAgICAgICAzOC4xMTE2Ky0wLjM2NDQgICAgID8gICAgIDM4LjE1NTkrLTAu
MjgzMyAgICAgICAgICBtaWdodCBiZSAxLjAxMjd4IGZhc3Rlcg0KICAgQXJyYXlCdWZmZXItSW50
OEFycmF5LWFsbG9jLWxvbmctbGl2ZWQtYnVmZmVyICAgDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI4Ljc5NzkrLTAuMjc4NiAgICAgICAgICAg
MjguNzcxNystMC41MzYxICAgICAgICAgICAyOC43Njk0Ky0wLjI3MzkgICAgICAgIA0KICAgQXJy
YXlCdWZmZXItSW50OEFycmF5LWFsbG9jLWxvbmctbGl2ZWQgICAgICAgICAgICAxNi40ODg2Ky0w
LjA5OTMgICAgICAgICAgIDE2LjM2MjErLTAuMjY2OSAgICAgPyAgICAgMTYuNTcwMystMC4zMTE1
ICAgICAgICA/DQogICBBcnJheUJ1ZmZlci1JbnQ4QXJyYXktYWxsb2MgICAgICAgICAgICAgICAg
ICAgICAgIDE0LjAyNzUrLTAuMzMxNCAgICAgICAgICAgMTMuODEwOSstMC4wOTE3ICAgICA/ICAg
ICAxMy44NjYwKy0wLjE2MTYgICAgICAgICAgbWlnaHQgYmUgMS4wMTE3eCBmYXN0ZXINCiAgIGFz
bWpzX2Jvb2xfYnVnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuNDk5Myst
MC4zNjE5ICAgICAgICAgICAgOS4yMjk3Ky0wLjI4ODggICAgID8gICAgICA5LjI0MDArLTAuNDMz
NyAgICAgICAgICBtaWdodCBiZSAxLjAyODF4IGZhc3Rlcg0KICAgYXNzaWduLWN1c3RvbS1zZXR0
ZXItcG9seW1vcnBoaWMgICAgICAgICAgICAgICAgICAgMy41MjY0Ky0wLjA2NDkgICAgID8gICAg
ICAzLjU4NDUrLTAuMDM0NiAgICAgICAgICAgIDMuNTc5MSstMC4wNTk5ICAgICAgICA/IG1pZ2h0
IGJlIDEuMDE0OXggc2xvd2VyDQogICBhc3NpZ24tY3VzdG9tLXNldHRlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0LjgyMDMrLTAuMDk2MSAgICAgPyAgICAgIDQuOTA2NystMC4wNjA1
ICAgICAgICAgICAgNC44NTYyKy0wLjA0MjIgICAgICAgID8NCiAgIGJhc2ljLXNldCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuNjEwNSstMC4yNzUxICAgICAgICAg
ICAxMS40MjE1Ky0wLjMwMDggICAgID8gICAgIDExLjUzNTYrLTAuMzE2NCAgICAgICAgDQogICBi
aWctaW50LW11bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjgyMzYr
LTAuMDUxMyAgICAgICAgICAgIDQuODA2NystMC4wMzExICAgICA/ICAgICAgNC44MjA3Ky0wLjA1
MDcgICAgICAgIA0KICAgYm9vbGVhbi10ZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNC4wMjgwKy0wLjAzNzUgICAgID8gICAgICA0LjQ3MjArLTAuNzMzMCAgICAgICAg
ICAgIDQuMDUzOCstMC4wNTAzICAgICAgICA/DQogICBicmFuY2gtZm9sZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA0Ljk4ODArLTAuMDE2NCAgICAgPyAgICAgIDUuNzQ3
OCstMS45NjY3ICAgICAgICAgICAgNS4xMTgyKy0wLjIyMzUgICAgICAgID8gbWlnaHQgYmUgMS4w
MjYxeCBzbG93ZXINCiAgIGJyYW5jaC1vbi1zdHJpbmctYXMtYm9vbGVhbiAgICAgICAgICAgICAg
ICAgICAgICAgMjMuNDAyNistMC4zNzIxICAgICAgICAgICAyMi45NjUzKy0wLjI3ODMgICAgID8g
ICAgIDIzLjE1MjYrLTAuNDM3NSAgICAgICAgICBtaWdodCBiZSAxLjAxMDh4IGZhc3Rlcg0KICAg
YnktdmFsLWdlbmVyaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4yMzE0
Ky0wLjE3NjkgICAgID8gICAgIDEwLjMyMjArLTAuMDM4MiAgICAgICAgICAgMTAuMjcxMystMC4y
NTg2ICAgICAgICA/DQogICBjYWxsLXNwcmVhZC1hcHBseSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDM2LjcxNDYrLTAuMTY3NSAgICAgISAgICAgMzguOTQ2MCstMS45MjM4ICAgICAg
ICAgICAzNy43NDQzKy0xLjMxNTkgICAgICAgID8gbWlnaHQgYmUgMS4wMjgweCBzbG93ZXINCiAg
IGNhbGwtc3ByZWFkLWNhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAuMDI3
MSstMC4xODI4ICAgICA/ICAgICAzMS43NzAwKy0yLjA5ODYgICAgICAgICAgIDMxLjI0ODkrLTIu
Mzk1OSAgICAgICAgPyBtaWdodCBiZSAxLjA0MDd4IHNsb3dlcg0KICAgY2FwdHVyZWQtYXNzaWdu
bWVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41NjIzKy0wLjAzNDIgICAgICAg
ICAgICAwLjU0NTkrLTAuMDExNCAgICAgPyAgICAgIDAuNTYyNSstMC4wMjI4ICAgICAgICA/DQog
ICBjYXN0LWludC10by1kb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjA2
MzYrLTAuMDQ2NiAgICAgICAgICAgIDcuMDUxOCstMC4wMjcwICAgICA/ICAgICAgNy4wOTE3Ky0w
LjA1MjEgICAgICAgID8NCiAgIGNlbGwtYXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDguOTA4MSstMC4yMTYxICAgICAgICAgICAgOC44OTk1Ky0wLjExNjMgICAg
ID8gICAgICA4Ljk4ODcrLTAuMjc4MyAgICAgICAgPw0KICAgY2ZnLXNpbXBsaWZ5ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy44NzQzKy0wLjA1NzkgICAgICAgICAgICAz
Ljg1MTYrLTAuMDYwNCAgICAgICAgICAgIDMuODQ3NistMC4wMzYxICAgICAgICANCiAgIGNoYWlu
LWdldHRlci1hY2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuMzkwMistMC4w
NTUwICAgICA/ICAgICAxMS41NzcwKy0wLjMwNjQgICAgICAgICAgIDExLjQ2OTErLTAuMDc4MCAg
ICAgICAgPw0KICAgY21wZXEtb2JqLXRvLW9iai1vdGhlciAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxNi4yMDEwKy0xLjExMzIgICAgID8gICAgIDE2LjQ0MDYrLTEuMTA3MSAgICAgICAgICAg
MTYuMjkzMistMS4zNjQzICAgICAgICA/DQogICBjb25zdGFudC10ZXN0ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA2LjkyMjMrLTAuNDczMiAgICAgICAgICAgIDYuNzM4Myst
MC4wNDUwICAgICA/ICAgICAgNi43OTkxKy0wLjEyNjUgICAgICAgICAgbWlnaHQgYmUgMS4wMTgx
eCBmYXN0ZXINCiAgIGNyZWF0ZS1sb3RzLW9mLWZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAg
ICAgICAgMTMuMjAxMCstMC43NzY3ICAgICAgICAgICAxMy4wMDcxKy0wLjc2ODIgICAgICAgICAg
IDEyLjgwODErLTAuNDA4MyAgICAgICAgICBtaWdodCBiZSAxLjAzMDd4IGZhc3Rlcg0KICAgY3Nl
LW5ldy1hcnJheS1idWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wMTIxKy0w
LjA0NzMgICAgID8gICAgICAzLjEwMzArLTAuMDkyNyAgICAgICAgICAgIDMuMDgyNistMC4xOTk5
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzNHggc2xvd2VyDQogICBjc2UtbmV3LWFycmF5ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjA2NTgrLTAuMTIzMiAgICAgPyAgICAg
IDMuMTI2OSstMC4wNDAzICAgICA/ICAgICAgMy4xNTIzKy0wLjAyNzAgICAgICAgID8gbWlnaHQg
YmUgMS4wMjgyeCBzbG93ZXINCiAgIERhdGFWaWV3LWN1c3RvbS1wcm9wZXJ0aWVzICAgICAgICAg
ICAgICAgICAgICAgICAgNDYuMDIzMCstMC41OTI2ICAgICAgICAgICA0NS42NjMxKy0wLjUxOTkg
ICAgICAgICAgIDQ1LjY1MzIrLTAuNTY2OSAgICAgICAgDQogICBkZWNvbnN0cnVjdGluZy1wYXJh
bWV0ZXJzLW92ZXJyaWRkZW4tYnktZnVuY3Rpb24gICANCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNjM1OCstMC4wNzgxICAgICAgICAgICAg
MC42MjQzKy0wLjAyNzkgICAgICAgICAgICAwLjYwMDQrLTAuMDE5MCAgICAgICAgICBtaWdodCBi
ZSAxLjA1OTB4IGZhc3Rlcg0KICAgZGVsYXktdGVhci1vZmYtYXJndW1lbnRzLXN0cmljdG1vZGUg
ICAgICAgICAgICAgICAxNy4zODAwKy0wLjI0NjEgICAgID8gICAgIDE3Ljk3NTcrLTEuMTAyMiAg
ICAgPyAgICAgMTguNTQ2NystMS41MjA5ICAgICAgICA/IG1pZ2h0IGJlIDEuMDY3MXggc2xvd2Vy
DQogICBkZWx0YWJsdWUtdmFyYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjI0
Ljg4NzcrLTMuODM4MyAgICAgICAgICAyMjQuNTc1MistMy43Nzc1ICAgICAgICAgIDIyMi40NTU3
Ky00LjczNDUgICAgICAgICAgbWlnaHQgYmUgMS4wMTA5eCBmYXN0ZXINCiAgIGRlc3RydWN0dXJp
bmctYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAyMzIuMDI3MystMS40MTExICAg
ICA/ICAgIDIzNS4zNDk2Ky0yLjQwNjYgICAgID8gICAgMjM3LjMzNjUrLTIuODQwOCAgICAgICAg
ISBkZWZpbml0ZWx5IDEuMDIyOXggc2xvd2VyDQogICBkZXN0cnVjdHVyaW5nLXN3YXAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA2LjU0MDQrLTAuMDI4MiAgICAgPyAgICAgIDYuNjU5
MystMC4xMTk5ICAgICAgICAgICAgNi41ODYyKy0wLjE1MDkgICAgICAgID8NCiAgIGRpcmVjdC1h
cmd1bWVudHMtZ2V0Ynl2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNTg4NistMC4yMjkz
ICAgICA/ICAgICAgMi4wNDQ1Ky0xLjI0MjQgICAgICAgICAgICAxLjU4NjUrLTAuMDY5MCAgICAg
ICAgDQogICBkaXYtYm9vbGVhbi1kb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA3LjU2OTUrLTAuMTgyMiAgICAgICAgICAgIDcuNTUxNCstMC4xMTU2ICAgICA/ICAgICAgNy41
NzA3Ky0wLjE1MTAgICAgICAgID8NCiAgIGRpdi1ib29sZWFuICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMTEuNzQ1MistMC4xMTY3ICAgICAgICAgICAxMS43MDA2Ky0wLjAy
MjMgICAgID8gICAgIDExLjcxOTArLTAuMDQxNSAgICAgICAgDQogICBkb3VibGUtZ2V0LWJ5LXZh
bC1vdXQtb2YtYm91bmRzICAgICAgICAgICAgICAgICAgICA2LjA0NDArLTAuMDgzNiAgICAgXiAg
ICAgIDUuNzQxMistMC4xMjc1ICAgICA/ICAgICAgNS44MTYzKy0wLjA0OTkgICAgICAgIF4gZGVm
aW5pdGVseSAxLjAzOTF4IGZhc3Rlcg0KICAgZG91YmxlLXBvbGx1dGlvbi1nZXRieXZhbCAgICAg
ICAgICAgICAgICAgICAgICAgICAxMi40MDgwKy0wLjEwMDkgICAgICAgICAgIDEyLjM2OTYrLTAu
MDU5OSAgICAgPyAgICAgMTIuMzg4MistMC4wMTE1ICAgICAgICANCiAgIGRvdWJsZS1wb2xsdXRp
b24tcHV0YnlvZmZzZXQgICAgICAgICAgICAgICAgICAgICAgIDUuMzc3MistMC4xNDU4ICAgICA/
ICAgICAgNS40MzUyKy0wLjMyMzIgICAgID8gICAgICA1LjQ1MTArLTAuMjc1NyAgICAgICAgPyBt
aWdodCBiZSAxLjAxMzd4IHNsb3dlcg0KICAgZG91YmxlLXJlYWwtdXNlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAzNy40MjkyKy0zLjQ5MDUgICAgID8gICAgIDM3LjY5OTErLTMu
NzY3NSAgICAgPyAgICAgMzguODcwNCstMy4zNDE1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM4NXgg
c2xvd2VyDQogICBkb3VibGUtdG8taW50MzItdHlwZWQtYXJyYXktbm8taW5saW5lICAgICAgICAg
ICAgICAyLjg0MjQrLTAuMDc1NiAgICAgICAgICAgIDIuODM5NistMC4wNDU5ICAgICA/ICAgICAg
My40MjYzKy0xLjMxNDggICAgICAgID8gbWlnaHQgYmUgMS4yMDU0eCBzbG93ZXINCiAgIGRvdWJs
ZS10by1pbnQzMi10eXBlZC1hcnJheSAgICAgICAgICAgICAgICAgICAgICAgIDIuMzg5NCstMC4x
MTA1ICAgICA/ICAgICAgMi44MDM1Ky0xLjA5OTAgICAgICAgICAgICAyLjUzMDgrLTAuMjY4MCAg
ICAgICAgPyBtaWdodCBiZSAxLjA1OTF4IHNsb3dlcg0KICAgZG91YmxlLXRvLXVpbnQzMi10eXBl
ZC1hcnJheS1uby1pbmxpbmUgICAgICAgICAgICAgMi44Nzk4Ky0wLjA2NjkgICAgID8gICAgICAy
Ljg4MDMrLTAuMDQ4MiAgICAgPyAgICAgIDIuODkwOSstMC4wODg0ICAgICAgICA/DQogICBkb3Vi
bGUtdG8tdWludDMyLXR5cGVkLWFycmF5ICAgICAgICAgICAgICAgICAgICAgICAyLjYxMDcrLTAu
Mjg3MSAgICAgICAgICAgIDIuNTI2NistMC4wNzk3ICAgICAgICAgICAgMi41MTQ2Ky0wLjEyMzkg
ICAgICAgICAgbWlnaHQgYmUgMS4wMzgyeCBmYXN0ZXINCiAgIGVsaWRhYmxlLW5ldy1vYmplY3Qt
Y3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAyNzguNzg2MCstMC41MjMyICAgICA/ICAgIDI3
OC45ODAxKy0wLjg3MjAgICAgIF4gICAgIDUwLjgwMDMrLTAuNDc2NSAgICAgICAgXiBkZWZpbml0
ZWx5IDUuNDg3OXggZmFzdGVyDQogICBlbGlkYWJsZS1uZXctb2JqZWN0LWRhZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQ3LjUyNDIrLTAuNTI0NCAgICAgPyAgICAgNDcuOTM2OCstMC4zOTIz
ICAgICAgICAgICA0Ny41MTc4Ky0wLjYwNDYgICAgICAgIA0KICAgZWxpZGFibGUtbmV3LW9iamVj
dC1yb2ZsY29wdGVyICAgICAgICAgICAgICAgICAgICA0OC4xODc5Ky0wLjIwNjIgICAgID8gICAg
IDQ4LjIzMDErLTAuMjk4MyAgICAgXiAgICAgNDcuMTE0OSstMC4yMTE2ICAgICAgICBeIGRlZmlu
aXRlbHkgMS4wMjI4eCBmYXN0ZXINCiAgIGVsaWRhYmxlLW5ldy1vYmplY3QtdGhlbi1jYWxsICAg
ICAgICAgICAgICAgICAgICAgNDUuMDQ5MistMC4yMjQ0ICAgICAgICAgICA0NS4wMDYzKy0wLjQw
MzcgICAgICAgICAgIDQ0Ljc2NzErLTAuMjgzNyAgICAgICAgDQogICBlbGlkYWJsZS1uZXctb2Jq
ZWN0LXRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgIDUyLjIwNDUrLTAuNjIwOCAgICAgICAg
ICAgNTIuMDE2NCstMC4yNDA4ICAgICAgICAgICA1MS40MDU2Ky0wLjQ1NjMgICAgICAgICAgbWln
aHQgYmUgMS4wMTU1eCBmYXN0ZXINCiAgIGVtcHR5LXN0cmluZy1wbHVzLWludCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDYuNzc3NystMC4xNDUwICAgICAgICAgICAgNi43NzQ0Ky0wLjIx
MjAgICAgID8gICAgICA2LjgyMDcrLTAuMTUwNSAgICAgICAgPw0KICAgZW1zY3JpcHRlbi1jdWJl
Mmhhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNC44ODE2Ky0xLjE5NzIgICAgICEg
ICAgIDM3LjgwMzQrLTEuMjg3OSAgICAgICAgICAgMzcuMzk4NistMC44MDk5ICAgICAgICAhIGRl
ZmluaXRlbHkgMS4wNzIyeCBzbG93ZXINCiAgIGV4aXQtbGVuZ3RoLW9uLXBsYWluLW9iamVjdCAg
ICAgICAgICAgICAgICAgICAgICAgMTguMDg2MistMC4yODAwICAgICBeICAgICAxNy4zMzc4Ky0w
LjE4MTYgICAgID8gICAgIDE3LjQxNTArLTAuMjI1NiAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDM4
NXggZmFzdGVyDQogICBleHRlcm5hbC1hcmd1bWVudHMtZ2V0Ynl2YWwgICAgICAgICAgICAgICAg
ICAgICAgICAxLjU5MjArLTAuMDUyMiAgICAgPyAgICAgIDEuNjEwMystMC4wNjY5ICAgICAgICAg
ICAgMS41ODU0Ky0wLjA1NTIgICAgICAgIA0KICAgZXh0ZXJuYWwtYXJndW1lbnRzLXB1dGJ5dmFs
ICAgICAgICAgICAgICAgICAgICAgICAgMy4wMjEyKy0wLjE1ODcgICAgID8gICAgICAzLjE0Njkr
LTAuMjc4NSAgICAgICAgICAgIDIuOTUxMystMC4wOTI1ICAgICAgICAgIG1pZ2h0IGJlIDEuMDIz
N3ggZmFzdGVyDQogICBmaXhlZC10eXBlZC1hcnJheS1zdG9yYWdlLXZhci1pbmRleCAgICAgICAg
ICAgICAgICAxLjYwNzIrLTAuMDI5OCAgICAgICAgICAgIDEuNTc4OSstMC4wMzYzICAgICA/ICAg
ICAgMS43MjIwKy0wLjEzMDIgICAgICAgID8gbWlnaHQgYmUgMS4wNzE0eCBzbG93ZXINCiAgIGZp
eGVkLXR5cGVkLWFycmF5LXN0b3JhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTM2NSst
MC4wMzY1ICAgICA/ICAgICAgMS4xNzk1Ky0wLjA5NTQgICAgICAgICAgICAxLjE0NTErLTAuMDE3
OCAgICAgICAgPw0KICAgRmxvYXQzMkFycmF5LW1hdHJpeC1tdWx0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNS40MzExKy0wLjExNjcgICAgID8gICAgICA1LjQ4NDQrLTAuMjAwMyAgICAgICAg
ICAgIDUuNDAwNistMC4wNzE0ICAgICAgICANCiAgIEZsb2F0MzJBcnJheS10by1GbG9hdDY0QXJy
YXktc2V0ICAgICAgICAgICAgICAgICAgNjkuNjI5MystMC4wODU1ICAgICBeICAgICA2OS4xNTM2
Ky0wLjA3MTkgICAgICAgICAgIDY5LjA2ODMrLTAuMTE3NyAgICAgICAgXiBkZWZpbml0ZWx5IDEu
MDA4MXggZmFzdGVyDQogICBGbG9hdDY0QXJyYXktYWxsb2MtbG9uZy1saXZlZCAgICAgICAgICAg
ICAgICAgICAgIDc3LjQ2MDUrLTEuMDQ5NyAgICAgICAgICAgNzcuMzkwNSstMS4xODQ1ICAgICA/
ICAgICA3OC4xNDMxKy0xLjIzODggICAgICAgID8NCiAgIEZsb2F0NjRBcnJheS10by1JbnQxNkFy
cmF5LXNldCAgICAgICAgICAgICAgICAgICAgODEuNjQ2OSstMC4xNTkzICAgICAhICAgICA4Mi4z
MTg4Ky0wLjM0NjIgICAgICAgICAgIDgyLjA4MjYrLTAuMTQxNiAgICAgICAgISBkZWZpbml0ZWx5
IDEuMDA1M3ggc2xvd2VyDQogICBmb2xkLWRvdWJsZS10by1pbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDE3Ljk2ODMrLTAuMTYyNSAgICAgPyAgICAgMTguMTAwNistMC4yMDk3ICAg
ICAgICAgICAxOC4wODY3Ky0wLjE3MjcgICAgICAgID8NCiAgIGZvbGQtZ2V0LWJ5LWlkLXRvLW11
bHRpLWdldC1ieS1vZmZzZXQtcmFyZS1pbnQgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQuNDk5OCstMC42MTYzICAgICAgICAgICAxNC4x
NDAzKy0wLjY4MzcgICAgID8gICAgIDE0LjMzOTgrLTAuNjcwMCAgICAgICAgICBtaWdodCBiZSAx
LjAxMTJ4IGZhc3Rlcg0KICAgZm9sZC1nZXQtYnktaWQtdG8tbXVsdGktZ2V0LWJ5LW9mZnNldCAg
ICAgICAgICAgICAxMS44MTM0Ky0wLjU5MTYgICAgICAgICAgIDExLjcyODQrLTAuMjk1MiAgICAg
ICAgICAgMTEuNjI2MSstMC42MzExICAgICAgICAgIG1pZ2h0IGJlIDEuMDE2MXggZmFzdGVyDQog
ICBmb2xkLW11bHRpLWdldC1ieS1vZmZzZXQtdG8tZ2V0LWJ5LW9mZnNldCAgIA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS43MDczKy0xLjEz
NTUgICAgID8gICAgIDExLjcyMzMrLTAuOTU4MCAgICAgICAgICAgMTEuNjg5MystMS4zNjY4ICAg
ICAgICANCiAgIGZvbGQtbXVsdGktZ2V0LWJ5LW9mZnNldC10by1wb2x5LWdldC1ieS1vZmZzZXQg
ICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MTAuNzQxMCstMC43OTgzICAgICA/ICAgICAxMS41NzA5Ky0wLjU1NDkgICAgICAgICAgIDEwLjU4
MDgrLTEuNjY0OSAgICAgICAgICBtaWdodCBiZSAxLjAxNTF4IGZhc3Rlcg0KICAgZm9sZC1tdWx0
aS1wdXQtYnktb2Zmc2V0LXRvLXBvbHktcHV0LWJ5LW9mZnNldCAgIA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC44NjAyKy0wLjMzNDUgICAg
IF4gICAgICA5Ljk5NzQrLTAuNDA1NSAgICAgICAgICAgIDkuNjAxNystMS40NjAwICAgICAgICAg
IG1pZ2h0IGJlIDEuMTMxMXggZmFzdGVyDQogICBmb2xkLW11bHRpLXB1dC1ieS1vZmZzZXQtdG8t
cHV0LWJ5LW9mZnNldCAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNi44MTYzKy0wLjU5OTUgICAgID8gICAgICA3LjkyOTYrLTAuNzY1MCAg
ICAgICAgICAgIDcuMDc5NistMS4wOTM1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM4Nnggc2xvd2Vy
DQogICBmb2xkLW11bHRpLXB1dC1ieS1vZmZzZXQtdG8tcmVwbGFjZS1vci10cmFuc2l0aW9uLXB1
dC1ieS1vZmZzZXQgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTIuMjU2OCstMC40MjQyICAgICAgICAgICAxMi4wMzYzKy0wLjI3NzQgICAg
ID8gICAgIDEyLjQ0NjkrLTAuNzU3OSAgICAgICAgPyBtaWdodCBiZSAxLjAxNTV4IHNsb3dlcg0K
ICAgZm9sZC1wdXQtYnktaWQtdG8tbXVsdGktcHV0LWJ5LW9mZnNldCAgICAgICAgICAgICAxMi41
NzQ1Ky0wLjg5MzggICAgID8gICAgIDEyLjcwODMrLTAuNjExNSAgICAgICAgICAgMTIuNjI2OCst
MC42MzQwICAgICAgICA/DQogICBmb2xkLXB1dC1zdHJ1Y3R1cmUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA3LjgwMzIrLTAuNDIxOCAgICAgICAgICAgIDcuMjQwNCstMC4zMDk2ICAg
ICA/ICAgICAgNy4zODQ0Ky0wLjYwMDYgICAgICAgICAgbWlnaHQgYmUgMS4wNTY3eCBmYXN0ZXIN
CiAgIGZvci1vZi1pdGVyYXRlLWFycmF5LWVudHJpZXMgICAgICAgICAgICAgICAgICAgICAgMTYu
NzAxMCstMC40MTA1ICAgICA/ICAgICAxNi43MDg5Ky0wLjMxOTEgICAgICAgICAgIDE2LjI1MzUr
LTAuMjA0OSAgICAgICAgICBtaWdodCBiZSAxLjAyNzV4IGZhc3Rlcg0KICAgZm9yLW9mLWl0ZXJh
dGUtYXJyYXkta2V5cyAgICAgICAgICAgICAgICAgICAgICAgICAgNS4xMjg4Ky0wLjExNzMgICAg
ICAgICAgICA1LjAwOTUrLTAuMjA1NSAgICAgPyAgICAgIDUuMDIyMCstMC4yMDYwICAgICAgICAg
IG1pZ2h0IGJlIDEuMDIxM3ggZmFzdGVyDQogICBmb3Itb2YtaXRlcmF0ZS1hcnJheS12YWx1ZXMg
ICAgICAgICAgICAgICAgICAgICAgICA1LjE4NDArLTAuMTkzMCAgICAgICAgICAgIDQuOTM4Nist
MC4xNDkwICAgICA/ICAgICAgNS4xODc0Ky0wLjI5NzAgICAgICAgID8NCiAgIGZyb3VuZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjUuNzk0NCstMC4yNTY5ICAg
ICA/ICAgICAyNi4yNTA1Ky0wLjc1NjcgICAgICAgICAgIDI2LjAyNjMrLTAuNTMwNCAgICAgICAg
Pw0KICAgZnRsLWxpYnJhcnktaW5saW5pbmctZGF0YXZpZXcgICAgICAgICAgICAgICAgICAgICA4
Mi45MjExKy0wLjA3MDMgICAgICEgICAgIDgzLjE2MDYrLTAuMDE4NSAgICAgICAgICAgODMuMTQw
MCstMC4wNTEzICAgICAgICAhIGRlZmluaXRlbHkgMS4wMDI2eCBzbG93ZXINCiAgIGZ0bC1saWJy
YXJ5LWlubGluaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTkuNzIyNystMC4wNjE3
ICAgICBeICAgIDE2NS4xMzA0Ky0wLjE0NTAgICAgID8gICAgMTY1LjE2MzcrLTAuMDU0OSAgICAg
ICAgXiBkZWZpbml0ZWx5IDEuMjA5MnggZmFzdGVyDQogICBmdW5jdGlvbi1kb3QtYXBwbHkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjY4MjErLTAuMDI1NyAgICAgPyAgICAgIDIu
Njk2OSstMC4wNjU2ICAgICA/ICAgICAgMy4wMjU1Ky0wLjgxODIgICAgICAgID8gbWlnaHQgYmUg
MS4xMjgweCBzbG93ZXINCiAgIGZ1bmN0aW9uLXRlc3QgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDMuODA1NystMC4wNDI2ICAgICBeICAgICAgMy43MDMzKy0wLjA1MDEgICAg
ICAgICAgICAzLjY2NjArLTAuMDI3NyAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDM4MXggZmFzdGVy
DQogICBmdW5jdGlvbi13aXRoLWV2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI2
LjAxMTMrLTAuNjUxOCAgICAgPyAgICAxMjYuNjU3NSstMS4xMjMxICAgICA/ICAgIDEyNy4zNTUx
Ky0wLjQ4MjIgICAgICAgICEgZGVmaW5pdGVseSAxLjAxMDd4IHNsb3dlcg0KICAgZ2NzZS1wb2x5
LWdldC1sZXNzLW9idmlvdXMgICAgICAgICAgICAgICAgICAgICAgICAyMC43MjMwKy0wLjE4MzUg
ICAgICAgICAgIDIwLjQ4NDcrLTAuMjA5NyAgICAgPyAgICAgMjAuNTQ3MCstMC4xMTkxICAgICAg
ICANCiAgIGdjc2UtcG9seS1nZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjAuMzI1NCstMC4yMTg4ICAgICA/ICAgICAyMC40MjEwKy0wLjIxMTIgICAgID8gICAgIDIwLjUx
NTUrLTAuMTM1MCAgICAgICAgPw0KICAgZ2NzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNS40MzY1Ky0wLjE2NjYgICAgICAgICAgICA1LjQxNjErLTAuMTI1
NyAgICAgICAgICAgIDUuMzc1NistMC4wNjI2ICAgICAgICAgIG1pZ2h0IGJlIDEuMDExM3ggZmFz
dGVyDQogICBnZXQtYnktaWQtYmltb3JwaGljLWNoZWNrLXN0cnVjdHVyZS1lbGltaW5hdGlvbi1z
aW1wbGUgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDMuNjE3MistMC4wNTQ5ICAgICAgICAgICAgMy41OTExKy0wLjA0NjQgICAgID8gICAg
ICAzLjYwMDgrLTAuMDcwNSAgICAgICAgDQogICBnZXQtYnktaWQtYmltb3JwaGljLWNoZWNrLXN0
cnVjdHVyZS1lbGltaW5hdGlvbiAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOC4xNzUzKy0wLjEwMjggICAgICAgICAgICA4LjEwNDQrLTAu
MDI2MiAgICAgPyAgICAgIDkuMzUxNistMi4xNTgzICAgICAgICA/IG1pZ2h0IGJlIDEuMTQzOXgg
c2xvd2VyDQogICBnZXQtYnktaWQtY2hhaW4tZnJvbS10cnktYmxvY2sgICAgICAgICAgICAgICAg
ICAgICA5LjIyODArLTAuMDIwMSAgICAgPyAgICAgIDkuMjYxNistMC4wNDAwICAgICAgICAgICAg
OS4yMzMwKy0wLjAzOTUgICAgICAgID8NCiAgIGdldC1ieS1pZC1jaGVjay1zdHJ1Y3R1cmUtZWxp
bWluYXRpb24gICAgICAgICAgICAgIDYuMTYwNSstMC4wMzcyICAgICA/ICAgICAgNi4xOTA2Ky0w
LjA0MjAgICAgICAgICAgICA2LjE4NzgrLTAuMDExNSAgICAgICAgPw0KICAgZ2V0LWJ5LWlkLXBy
b3RvLW9yLXNlbGYgICAgICAgICAgICAgICAgICAgICAgICAgICAyMS4xMTkzKy0xLjg4NjcgICAg
ID8gICAgIDIxLjY1MDgrLTEuNzI1MSAgICAgICAgICAgMjAuNzMxNistMS4yMzUyICAgICAgICAg
IG1pZ2h0IGJlIDEuMDE4N3ggZmFzdGVyDQogICBnZXQtYnktaWQtcXVhZG1vcnBoaWMtY2hlY2st
c3RydWN0dXJlLWVsaW1pbmF0aW9uLXNpbXBsZSAgIA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wMjM2Ky0wLjAzNzggICAgID8gICAgICA0
LjA2NzMrLTAuMTY3NCAgICAgICAgICAgIDQuMDM5OSstMC4wNjc5ICAgICAgICA/DQogICBnZXQt
YnktaWQtc2VsZi1vci1wcm90byAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwLjQ0NDYrLTAu
NTU0MiAgICAgPyAgICAgMjAuNjkxMystMS4wMzQyICAgICAgICAgICAyMC42ODIzKy0wLjQ5MDUg
ICAgICAgID8gbWlnaHQgYmUgMS4wMTE2eCBzbG93ZXINCiAgIGdldC1ieS12YWwtb3V0LW9mLWJv
dW5kcyAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuOTE5MSstMC4xNzQ3ICAgICAgICAgICAg
NS41OTYxKy0wLjE4MzAgICAgICAgICAgICA1LjUzMjcrLTAuMDkzOSAgICAgICAgXiBkZWZpbml0
ZWx5IDEuMDY5OHggZmFzdGVyDQogICBnZXRfY2FsbGVlX21vbm9tb3JwaGljICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAzLjQ4MjErLTAuMTU5OSAgICAgICAgICAgIDMuNDE3MistMC4xODU4
ICAgICAgICAgICAgMy4zNzM1Ky0wLjA5MzMgICAgICAgICAgbWlnaHQgYmUgMS4wMzIyeCBmYXN0
ZXINCiAgIGdldF9jYWxsZWVfcG9seW1vcnBoaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDQuNjIwMSstMC4xNDA4ICAgICA/ICAgICAgNC42ODE4Ky0wLjA5NTUgICAgICAgICAgICA0LjYy
NzIrLTAuMDkwOCAgICAgICAgPw0KICAgZ2V0dGVyLW5vLWFjdGl2YXRpb24gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNi44MDMxKy0wLjE2MjcgICAgICAgICAgICA2LjcxMDMrLTAuMTY4
MCAgICAgICAgICAgIDYuNzA0MystMC4yMjI0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE0N3ggZmFz
dGVyDQogICBnZXR0ZXItcHJvdG90eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDE0LjA3ODUrLTAuMzY4NiAgICAgICAgICAgMTMuOTcxNystMC4zNzk1ICAgICA/ICAgICAxNC4y
MzIyKy0wLjIxMjYgICAgICAgID8gbWlnaHQgYmUgMS4wMTA5eCBzbG93ZXINCiAgIGdldHRlci1y
aWNoYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTMuMzI5NSstMTAuMjYx
NiAgICA/ICAgIDE1Ni42NjQ3Ky01Ljg3MjYgICAgID8gICAgMTU3LjAzNTMrLTMuOTE1MyAgICAg
ICAgPyBtaWdodCBiZSAxLjAyNDJ4IHNsb3dlcg0KICAgZ2V0dGVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yNTQ2Ky0wLjM1MzIgICAgID8gICAgICA3LjM0
OTkrLTAuMzMyMyAgICAgPyAgICAgIDcuNDY1MistMC40NjcyICAgICAgICA/IG1pZ2h0IGJlIDEu
MDI5MHggc2xvd2VyDQogICBnbG9iYWwtdmFyLWNvbnN0LWluZmVyLWZpcmUtZnJvbS1vcHQgICAg
ICAgICAgICAgICAxLjMzNjArLTAuMTA0NyAgICAgICAgICAgIDEuMjg4NSstMC4xMDM4ICAgICAg
ICAgICAgMS4xODA2Ky0wLjEyMjIgICAgICAgICAgbWlnaHQgYmUgMS4xMzE3eCBmYXN0ZXINCiAg
IGdsb2JhbC12YXItY29uc3QtaW5mZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMDA3
NCstMC4wNzU3ICAgICA/ICAgICAgMS4wMjYyKy0wLjEwMTkgICAgID8gICAgICAxLjAzMTUrLTAu
MTA0NSAgICAgICAgPyBtaWdodCBiZSAxLjAyMzl4IHNsb3dlcg0KICAgSGFzaE1hcC1wdXQtZ2V0
LWl0ZXJhdGUta2V5cyAgICAgICAgICAgICAgICAgICAgICAzNy4yMjM0Ky0xLjk0NjcgICAgID8g
ICAgIDQyLjA4MjArLTEyLjkzOTYgICAgICAgICAgMzUuOTk5OCstMi42MDAxICAgICAgICAgIG1p
Z2h0IGJlIDEuMDM0MHggZmFzdGVyDQogICBIYXNoTWFwLXB1dC1nZXQtaXRlcmF0ZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDM2LjY0MjgrLTAuNDE4NiAgICAgPyAgICAgMzcuMDg4NystMS4z
MDQyICAgICAgICAgICAzNi4xMjU0Ky0yLjMyOTkgICAgICAgICAgbWlnaHQgYmUgMS4wMTQzeCBm
YXN0ZXINCiAgIEhhc2hNYXAtc3RyaW5nLXB1dC1nZXQtaXRlcmF0ZSAgICAgICAgICAgICAgICAg
ICAgMzUuMzc1MSstMS44MzE1ICAgICAgICAgICAzNC45MDY5Ky0wLjYyMDcgICAgICAgICAgIDM0
LjI2MjUrLTAuNzU2MyAgICAgICAgICBtaWdodCBiZSAxLjAzMjV4IGZhc3Rlcg0KICAgaG9pc3Qt
bWFrZS1yb3BlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS4xNTAxKy0wLjM5
MDcgICAgID8gICAgIDExLjI3ODArLTAuNjE1MCAgICAgICAgICAgMTAuOTMzNCstMC41MDI4ICAg
ICAgICAgIG1pZ2h0IGJlIDEuMDE5OHggZmFzdGVyDQogICBob2lzdC1wb2x5LWNoZWNrLXN0cnVj
dHVyZS1lZmZlY3RmdWwtbG9vcCAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNS44MDc5Ky0wLjA4OTEgICAgID8gICAgICA1LjgxNzArLTAu
MTg3OSAgICAgICAgICAgIDUuODA4OCstMC4xMTU3ICAgICAgICA/DQogICBob2lzdC1wb2x5LWNo
ZWNrLXN0cnVjdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICA0LjU0NjgrLTAuMDQxOSAgICAg
PyAgICAgIDQuNTYzOCstMC4wMjY0ICAgICA/ICAgICAgNC42NTcyKy0wLjI3NTMgICAgICAgID8g
bWlnaHQgYmUgMS4wMjQzeCBzbG93ZXINCiAgIGltdWwtZG91YmxlLW9ubHkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDkuODk4NSstMC4yMjg0ICAgICA/ICAgICAgOS45Njc4Ky0w
LjE1NTAgICAgID8gICAgIDEwLjAxMDcrLTAuMjQzMiAgICAgICAgPyBtaWdodCBiZSAxLjAxMTN4
IHNsb3dlcg0KICAgaW11bC1pbnQtb25seSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxMS4xNzA5Ky0wLjI5MTIgICAgID8gICAgIDExLjE5NzMrLTAuMjk3OSAgICAgPyAgICAg
MTEuODc5OCstMS4xMzcxICAgICAgICA/IG1pZ2h0IGJlIDEuMDYzNXggc2xvd2VyDQogICBpbXVs
LW1peGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LjA3MTgrLTAu
MDg3MCAgICAgICAgICAgIDkuMDU5NCstMC4xMzAwICAgICAgICAgICAgOS4wMDg5Ky0wLjI1MzMg
ICAgICAgIA0KICAgaW4tZm91ci1jYXNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAyNS4wMzA3Ky0wLjk0NTIgICAgICAgICAgIDI0LjY3MjQrLTAuMTkxMyAgICAgPyAgICAg
MjQuNzA0OSstMC4yMDI0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzMnggZmFzdGVyDQogICBpbi1v
bmUtY2FzZS1mYWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzLjM2ODErLTAu
Mzg0OSAgICAgICAgICAgMTMuMjE5MSstMC4xODI1ICAgICA/ICAgICAxMy4zNTY5Ky0wLjA5NzYg
ICAgICAgIA0KICAgaW4tb25lLWNhc2UtdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxMy4zMjc4Ky0wLjMwMDkgICAgID8gICAgIDEzLjM4NTkrLTAuMzMyOCAgICAgICAgICAg
MTMuMjQxNCstMC4yNzEwICAgICAgICANCiAgIGluLXR3by1jYXNlcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTMuNjk0MSstMC4zNTkzICAgICA/ICAgICAxMy44OTYzKy0w
LjE3OTEgICAgICAgICAgIDEzLjcyOTUrLTAuMzQ0MSAgICAgICAgPw0KICAgaW5kZXhlZC1wcm9w
ZXJ0aWVzLWluLW9iamVjdHMgICAgICAgICAgICAgICAgICAgICAgMy44NDMyKy0wLjA0MDAgICAg
ID8gICAgICAzLjg2MzYrLTAuMDQ2MyAgICAgICAgICAgIDMuODUwMistMC4wMzQwICAgICAgICA/
DQogICBpbmZlci1jbG9zdXJlLWNvbnN0LXRoZW4tbW92LW5vLWlubGluZSAgICAgICAgICAgICA0
LjM5MjcrLTAuMDMxNyAgICAgPyAgICAgIDQuNDA1NCstMC4wNDcxICAgICA/ICAgICAgNC41MTMw
Ky0wLjM2NDEgICAgICAgID8gbWlnaHQgYmUgMS4wMjc0eCBzbG93ZXINCiAgIGluZmVyLWNsb3N1
cmUtY29uc3QtdGhlbi1tb3YgICAgICAgICAgICAgICAgICAgICAgMjQuMDIzNistMC4yNjI2ICAg
ICAgICAgICAyMy44MDQ5Ky0wLjQyMDkgICAgICAgICAgIDIzLjYzMDUrLTAuMzY1NyAgICAgICAg
ICBtaWdodCBiZSAxLjAxNjZ4IGZhc3Rlcg0KICAgaW5mZXItY2xvc3VyZS1jb25zdC10aGVuLXB1
dC10by1zY29wZS1uby1pbmxpbmUgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTYuNjU3NCstMC4wNTUxICAgICA/ICAgICAxNi43NzM0Ky0w
LjE3ODcgICAgICAgICAgIDE2LjY3MjUrLTAuMTA1NSAgICAgICAgPw0KICAgaW5mZXItY2xvc3Vy
ZS1jb25zdC10aGVuLXB1dC10by1zY29wZSAgICAgICAgICAgICAzMS42NDkzKy0wLjc0MjEgICAg
ICAgICAgIDMxLjEyNzArLTAuODUyOSAgICAgPyAgICAgMzEuNDA4NCstMC43NzU2ICAgICAgICAN
CiAgIGluZmVyLWNsb3N1cmUtY29uc3QtdGhlbi1yZWVudGVyLW5vLWlubGluZSAgIA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2OS44OTIxKy0w
LjA0MDAgICAgID8gICAgIDY5Ljg5NTArLTAuMDcwMyAgICAgPyAgICAgNjkuOTQxMystMC4xMTAx
ICAgICAgICA/DQogICBpbmZlci1jbG9zdXJlLWNvbnN0LXRoZW4tcmVlbnRlciAgICAgICAgICAg
ICAgICAgIDMxLjY4OTIrLTAuNzM2MSAgICAgICAgICAgMzEuNTAzNCstMC44OTM2ICAgICA/ICAg
ICAzMi4xMjU5Ky0xLjAzMTUgICAgICAgID8gbWlnaHQgYmUgMS4wMTM4eCBzbG93ZXINCiAgIGlu
ZmVyLWNvbnN0YW50LWdsb2JhbC1wcm9wZXJ0eSAgICAgICAgICAgICAgICAgICAgIDQuNzYxNCst
MC4wNDgwICAgICAgICAgICAgNC43Mzk5Ky0wLjAyMTMgICAgID8gICAgICA0Ljc2NzkrLTAuMDM5
MyAgICAgICAgPw0KICAgaW5mZXItY29uc3RhbnQtcHJvcGVydHkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMy42MDM0Ky0wLjAzODcgICAgICAgICAgICAzLjU5OTIrLTAuMDE2MiAgICAgPyAg
ICAgIDMuNjI0NystMC4wNTc4ICAgICAgICA/DQogICBpbmZlci1vbmUtdGltZS1jbG9zdXJlLXRl
bi12YXJzICAgICAgICAgICAgICAgICAgIDExLjg5ODYrLTAuMTUxNyAgICAgPyAgICAgMTEuOTU1
MystMC4yNDk5ICAgICAgICAgICAxMS45NTEwKy0wLjA1ODUgICAgICAgID8NCiAgIGluZmVyLW9u
ZS10aW1lLWNsb3N1cmUtdHdvLXZhcnMgICAgICAgICAgICAgICAgICAgMTEuNDY3NystMC4xODQ5
ICAgICA/ICAgICAxMS42MjM5Ky0wLjI2OTkgICAgICAgICAgIDExLjM2MjMrLTAuMTM2NiAgICAg
ICAgDQogICBpbmZlci1vbmUtdGltZS1jbG9zdXJlICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDExLjIyOTMrLTAuMTQ0MiAgICAgPyAgICAgMTEuMzIwOCstMC4xNzI4ICAgICAgICAgICAxMS4x
MzM0Ky0wLjE4NjAgICAgICAgIA0KICAgaW5mZXItb25lLXRpbWUtZGVlcC1jbG9zdXJlICAgICAg
ICAgICAgICAgICAgICAgICAxOC40MjUwKy0wLjE0NTggICAgICAgICAgIDE4LjA4OTgrLTAuMzE5
MiAgICAgPyAgICAgMTguMTc0MSstMC40NDIxICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzOHggZmFz
dGVyDQogICBpbmxpbmUtYXJndW1lbnRzLWFjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA1LjQxMDYrLTAuMTk4NCAgICAgICAgICAgIDUuNDA0MystMC4yOTg5ICAgICA/ICAgICAgNS40
MTUxKy0wLjEwOTEgICAgICAgID8NCiAgIGlubGluZS1hcmd1bWVudHMtYWxpYXNlZC1hY2Nlc3Mg
ICAgICAgICAgICAgICAgICAgIDUuNDQ3NistMC4xMjk4ICAgICAgICAgICAgNS4zNzc3Ky0wLjE3
MDIgICAgID8gICAgICA1LjQxNzQrLTAuMTMxNiAgICAgICAgDQogICBpbmxpbmUtYXJndW1lbnRz
LWxvY2FsLWVzY2FwZSAgICAgICAgICAgICAgICAgICAgICA1LjMxNTErLTAuMTYwOSAgICAgPyAg
ICAgIDUuNDQyNystMC4xNjIxICAgICAgICAgICAgNS4yNzAxKy0wLjE3MjEgICAgICAgIA0KICAg
aW5saW5lLWdldC1zY29wZWQtdmFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi40Mjcz
Ky0wLjEwNjAgICAgID8gICAgICA2LjQ1MTArLTAuMDc4NCAgICAgICAgICAgIDYuNDExNistMC4x
ODI3ICAgICAgICANCiAgIGlubGluZWQtcHV0LWJ5LWlkLXRyYW5zaXRpb24gICAgICAgICAgICAg
ICAgICAgICAgMTQuMjUwMCstMC4yODg3ICAgICAgICAgICAxMy40NzU5Ky0wLjgzODUgICAgID8g
ICAgIDEzLjg5ODYrLTAuMzM4OSAgICAgICAgICBtaWdodCBiZSAxLjAyNTN4IGZhc3Rlcg0KICAg
aW50LW9yLW90aGVyLWFicy10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgNi43NjYy
Ky0wLjIwMzggICAgICAgICAgICA2LjY3OTYrLTAuMDM1MCAgICAgICAgICAgIDYuNjY4OCstMC4w
NDY3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE0NnggZmFzdGVyDQogICBpbnQtb3Itb3RoZXItYWJz
LXplcm8tdGhlbi1nZXQtYnktdmFsICAgICAgICAgICAgIDIzLjU5NTErLTAuNjAyMCAgICAgICAg
ICAgMjMuMDYyOSstMC4xNjQ5ICAgICAgICAgICAyMy4wMDk3Ky0wLjExNzIgICAgICAgICAgbWln
aHQgYmUgMS4wMjU0eCBmYXN0ZXINCiAgIGludC1vci1vdGhlci1hZGQtdGhlbi1nZXQtYnktdmFs
ICAgICAgICAgICAgICAgICAgIDUuNzc4NSstMC4xNzI1ICAgICAgICAgICAgNS42Mjg3Ky0wLjAy
NDUgICAgID8gICAgICA1LjYzMzUrLTAuMDU2OSAgICAgICAgICBtaWdodCBiZSAxLjAyNTd4IGZh
c3Rlcg0KICAgaW50LW9yLW90aGVyLWFkZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgNi44MDM5Ky0wLjAyNjIgICAgID8gICAgICA2LjgzNDQrLTAuMTA3NiAgICAgICAgICAgIDYu
ODE1OSstMC4wNDQ4ICAgICAgICA/DQogICBpbnQtb3Itb3RoZXItZGl2LXRoZW4tZ2V0LWJ5LXZh
bCAgICAgICAgICAgICAgICAgICA1LjIxMTQrLTAuMDU0NiAgICAgPyAgICAgIDUuMjU2NSstMC4x
NjQyICAgICAgICAgICAgNS4xOTQ3Ky0wLjA0MTEgICAgICAgIA0KICAgaW50LW9yLW90aGVyLW1h
eC10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgNS41NzM5Ky0wLjA3MzEgICAgICAg
ICAgICA1LjU3MTkrLTAuMDU3OSAgICAgPyAgICAgIDUuNjA5NistMC4wOTI0ICAgICAgICA/DQog
ICBpbnQtb3Itb3RoZXItbWluLXRoZW4tZ2V0LWJ5LXZhbCAgICAgICAgICAgICAgICAgICA1LjU1
NjIrLTAuMDM3MyAgICAgPyAgICAgIDUuNTc0OSstMC4wNTMzICAgICA/ICAgICAgNS41NzgzKy0w
LjA0NzQgICAgICAgID8NCiAgIGludC1vci1vdGhlci1tb2QtdGhlbi1nZXQtYnktdmFsICAgICAg
ICAgICAgICAgICAgIDQuOTg4MistMC4wNjY4ICAgICA/ICAgICAgNS4wODgwKy0wLjI2MzIgICAg
ICAgICAgICA0LjkzMzMrLTAuMTIwMyAgICAgICAgICBtaWdodCBiZSAxLjAxMTF4IGZhc3Rlcg0K
ICAgaW50LW9yLW90aGVyLW11bC10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgNS4x
MDYyKy0wLjA3OTkgICAgICAgICAgICA1LjA0MzErLTAuMDU0MiAgICAgPyAgICAgIDUuMDczNCst
MC4wODUxICAgICAgICANCiAgIGludC1vci1vdGhlci1uZWctdGhlbi1nZXQtYnktdmFsICAgICAg
ICAgICAgICAgICAgIDYuMjY3MCstMC4wODkxICAgICA/ICAgICAgNi4zNTU0Ky0wLjE5MTEgICAg
ICAgICAgICA2LjI0OTQrLTAuMDUwOSAgICAgICAgDQogICBpbnQtb3Itb3RoZXItbmVnLXplcm8t
dGhlbi1nZXQtYnktdmFsICAgICAgICAgICAgIDIzLjMxMjkrLTAuMTkxNCAgICAgICAgICAgMjMu
MDI0NSstMC4xOTQxICAgICAgICAgICAyMi45NzQxKy0wLjIyNTAgICAgICAgICAgbWlnaHQgYmUg
MS4wMTQ3eCBmYXN0ZXINCiAgIGludC1vci1vdGhlci1zdWItdGhlbi1nZXQtYnktdmFsICAgICAg
ICAgICAgICAgICAgIDUuNjY0NCstMC4wNDk4ICAgICA/ICAgICAgNS42NzUxKy0wLjA1MjQgICAg
ID8gICAgICA1LjY4MTQrLTAuMDE2NyAgICAgICAgPw0KICAgaW50LW9yLW90aGVyLXN1YiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC43NTE5Ky0wLjA0NTAgICAgID8gICAgICA0
Ljc2MzgrLTAuMDgyNyAgICAgPyAgICAgIDQuODEzNystMC4wNDg0ICAgICAgICA/IG1pZ2h0IGJl
IDEuMDEzMHggc2xvd2VyDQogICBpbnQtb3ZlcmZsb3ctbG9jYWwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA1Ljk3MzgrLTAuMDUzMCAgICAgICAgICAgIDUuOTYwMystMC4wMTQzICAg
ICA/ICAgICAgNi44NTY5Ky0yLjE1MzkgICAgICAgID8gbWlnaHQgYmUgMS4xNDc4eCBzbG93ZXIN
CiAgIEludDE2QXJyYXktYWxsb2MtbG9uZy1saXZlZCAgICAgICAgICAgICAgICAgICAgICAgNjAu
MTIyNSstMC45NDc5ICAgICAgICAgICA2MC4wNzgwKy0xLjEwNDEgICAgID8gICAgIDYwLjE0MjAr
LTAuNzQ0NyAgICAgICAgPw0KICAgSW50MTZBcnJheS1idWJibGUtc29ydC13aXRoLWJ5dGVMZW5n
dGggICAgICAgICAgICAyNS4zNDQzKy0wLjI1NTYgICAgID8gICAgIDI2LjQ4OTUrLTIuMDM0NSAg
ICAgICAgICAgMjUuODU4MCstMS42NjA0ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIwM3ggc2xvd2Vy
DQogICBJbnQxNkFycmF5LWJ1YmJsZS1zb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI1
LjIyMTUrLTAuMjc2NSAgICAgPyAgICAgMjUuMzgxOCstMC4yMTQzICAgICAgICAgICAyNS4yNjk1
Ky0wLjMzODEgICAgICAgID8NCiAgIEludDE2QXJyYXktbG9hZC1pbnQtbXVsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEuOTE2MystMC4wMjgwICAgICAgICAgICAgMS45MTYzKy0wLjAyNDcg
ICAgID8gICAgICAxLjkzMDcrLTAuMDQ2NSAgICAgICAgPw0KICAgSW50MTZBcnJheS10by1JbnQz
MkFycmF5LXNldCAgICAgICAgICAgICAgICAgICAgICA2Ny4zMDIzKy0wLjE0NDcgICAgID8gICAg
IDY3LjQyMDgrLTAuMDkyNCAgICAgICAgICAgNjcuMzkyMCstMC4xNDA5ICAgICAgICA/DQogICBJ
bnQzMkFycmF5LWFsbG9jLWxhcmdlICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LjgyMjgr
LTAuNDYxOSAgICAgICAgICAgMTYuMTI2MystMC40MTY2ICAgICAgICAgICAxNS45OTk2Ky0wLjI1
MzQgICAgICAgIF4gZGVmaW5pdGVseSAxLjA1MTV4IGZhc3Rlcg0KICAgSW50MzJBcnJheS1hbGxv
Yy1sb25nLWxpdmVkICAgICAgICAgICAgICAgICAgICAgICA2NC42NTkwKy0wLjIzMzkgICAgICAg
ICAgIDY0LjMxNjQrLTAuNjc3NSAgICAgPyAgICAgNjQuNDQwMistMC40NjE3ICAgICAgICANCiAg
IEludDMyQXJyYXktYWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuODk3
MystMC4xMDU2ICAgICAgICAgICAgMy44NjEyKy0wLjI0MDQgICAgID8gICAgICAzLjkzODQrLTAu
MTY1MSAgICAgICAgPyBtaWdodCBiZSAxLjAxMDZ4IHNsb3dlcg0KICAgSW50MzJBcnJheS1JbnQ4
QXJyYXktdmlldy1hbGxvYyAgICAgICAgICAgICAgICAgICAgOC42NDMzKy0wLjIzODkgICAgID8g
ICAgICA4LjcwMTkrLTAuMjk4NCAgICAgICAgICAgIDguNjcwNystMC4yNzE5ICAgICAgICA/DQog
ICBpbnQ1Mi1zcGlsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjI3
NjQrLTAuMDgxOSAgICAgPyAgICAgIDYuMzE4NCstMC4wMzQ2ICAgICA/ICAgICAgNi4zODc3Ky0w
LjA3OTIgICAgICAgID8gbWlnaHQgYmUgMS4wMTc3eCBzbG93ZXINCiAgIEludDhBcnJheS1hbGxv
Yy1sb25nLWxpdmVkICAgICAgICAgICAgICAgICAgICAgICAgNTcuODc0NistOS4zODY3ICAgICAg
ICAgICA1NC4xNzk2Ky0wLjgxOTIgICAgICAgICAgIDUzLjUwMzMrLTAuNDY2MyAgICAgICAgICBt
aWdodCBiZSAxLjA4MTd4IGZhc3Rlcg0KICAgSW50OEFycmF5LWxvYWQtd2l0aC1ieXRlTGVuZ3Ro
ICAgICAgICAgICAgICAgICAgICAgNC43NzMzKy0wLjA2NzkgICAgICAgICAgICA0Ljc1MDkrLTAu
MDEwMyAgICAgPyAgICAgIDQuNzU1MistMC4wMjQ1ICAgICAgICANCiAgIEludDhBcnJheS1sb2Fk
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNzUzNistMC4wMTc4ICAgICA/
ICAgICAgNC45NjQ1Ky0wLjUyMDIgICAgICAgICAgICA0Ljc0NTUrLTAuMDExNiAgICAgICAgDQog
ICBpbnRlZ2VyLWRpdmlkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0LjUz
ODIrLTAuMDU1NCAgICAgPyAgICAgMTQuNTkyMistMC4wNjY0ICAgICA/ICAgICAxNC42MjM5Ky0w
LjE1OTggICAgICAgID8NCiAgIGludGVnZXItbW9kdWxvICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDIuMzM3NCstMC4xMDMwICAgICA/ICAgICAgMi40MDkzKy0wLjMzODIgICAg
ICAgICAgICAyLjI4ODQrLTAuMDcxNCAgICAgICAgICBtaWdodCBiZSAxLjAyMTR4IGZhc3Rlcg0K
ICAgaXMtYm9vbGVhbi1mb2xkLXRyaWNreSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4y
OTY0Ky0wLjA2MTQgICAgICAgICAgICA1LjI4MzgrLTAuMDE5NCAgICAgPyAgICAgIDUuMzI5NSst
MC4wOTQxICAgICAgICA/DQogICBpcy1ib29sZWFuLWZvbGQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzLjcyOTUrLTAuMTE5NSAgICAgICAgICAgIDMuNjI4OSstMC4wMjg1ICAg
ICA/ICAgICAgMy43MjM2Ky0wLjE3NDkgICAgICAgIA0KICAgaXMtZnVuY3Rpb24tZm9sZC10cmlj
a3ktaW50ZXJuYWwtZnVuY3Rpb24gICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTQuMTExNCstMC4xNDk4ICAgICAhICAgICAxNC40MDQ2Ky0w
LjExOTEgICAgID8gICAgIDE0LjQyMjYrLTAuMTgxMCAgICAgICAgPyBtaWdodCBiZSAxLjAyMjF4
IHNsb3dlcg0KICAgaXMtZnVuY3Rpb24tZm9sZC10cmlja3kgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNS43OTQ2Ky0wLjAxNTkgICAgID8gICAgICA1Ljc5NjcrLTAuMDMyNSAgICAgPyAgICAg
IDUuODE2MystMC4wNTIxICAgICAgICA/DQogICBpcy1mdW5jdGlvbi1mb2xkICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzLjcxMzcrLTAuMDc1NyAgICAgPyAgICAgIDMuNzE0MCst
MC4wOTczICAgICA/ICAgICAgMy43NjYwKy0wLjE3NzMgICAgICAgID8gbWlnaHQgYmUgMS4wMTQx
eCBzbG93ZXINCiAgIGlzLW51bWJlci1mb2xkLXRyaWNreSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDUuNzM0MCstMC4wNDU1ICAgICA/ICAgICAgNS43NzIxKy0wLjEzODAgICAgICAgICAg
ICA1LjY4MTErLTAuMDEwOCAgICAgICAgDQogICBpcy1udW1iZXItZm9sZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzLjYyNTQrLTAuMDI2MCAgICAgPyAgICAgIDMuNjU0NCst
MC4wNTAwICAgICAgICAgICAgMy42NDY1Ky0wLjA1NDUgICAgICAgID8NCiAgIGlzLW9iamVjdC1v
ci1udWxsLWZvbGQtZnVuY3Rpb25zICAgICAgICAgICAgICAgICAgIDMuNjk3MystMC4wMjM3ICAg
ICAgICAgICAgMy42ODMwKy0wLjAxOTQgICAgID8gICAgICAzLjcwNTkrLTAuMDUwMSAgICAgICAg
Pw0KICAgaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1sZXNzLXRyaWNreSAgICAgICAgICAgICAgICAg
NS43NzE2Ky0wLjAyODMgICAgICAgICAgICA1LjczNjUrLTAuMDExMCAgICAgISAgICAgIDUuODA3
NystMC4wMzQ4ICAgICAgICA/DQogICBpcy1vYmplY3Qtb3ItbnVsbC1mb2xkLXRyaWNreSAgICAg
ICAgICAgICAgICAgICAgICA3LjM2MDIrLTAuMTU1NyAgICAgICAgICAgIDcuMzQzMystMC4xMDU5
ICAgICA/ICAgICAgNy40MTIyKy0wLjA3NjEgICAgICAgID8NCiAgIGlzLW9iamVjdC1vci1udWxs
LWZvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNzA4NCstMC4wODcyICAgICAgICAg
ICAgMy42NzMzKy0wLjAzMzIgICAgID8gICAgICAzLjcxOTIrLTAuMDY1NCAgICAgICAgPw0KICAg
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItZnVuY3Rpb24gICAgICAgICAgICAgICAgNS43OTEy
Ky0wLjAyNzAgICAgID8gICAgICA1LjkzNDIrLTAuMTUxNyAgICAgICAgICAgIDUuODE1NystMC4w
Nzc1ICAgICAgICA/DQogICBpcy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1pbnRlcm5hbC1mdW5j
dGlvbiAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxNC45MjkxKy0wLjA4MjUgICAgICEgICAgIDE1LjU0ODkrLTAuMTQwMSAgICAgPyAgICAg
MTUuOTE0NystMC42MzA5ICAgICAgICAhIGRlZmluaXRlbHkgMS4wNjYweCBzbG93ZXINCiAgIGlz
LW9iamVjdC1vci1udWxsLXRyaWNreS1mdW5jdGlvbiAgICAgICAgICAgICAgICAgIDUuODE1NCst
MC4wODIyICAgICA/ICAgICAgNS45MDIwKy0wLjIwMjUgICAgID8gICAgICA1LjkxNTkrLTAuMTg3
MyAgICAgICAgPyBtaWdodCBiZSAxLjAxNzN4IHNsb3dlcg0KICAgaXMtb2JqZWN0LW9yLW51bGwt
dHJpY2t5LWludGVybmFsLWZ1bmN0aW9uICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDExLjA0NTMrLTAuMjUyNyAgICAgPyAgICAgMTEuMjI4
NistMC4xMzc3ICAgICA/ICAgICAxMS41MzA1Ky0wLjMxMzcgICAgICAgID8gbWlnaHQgYmUgMS4w
NDM5eCBzbG93ZXINCiAgIGlzLXN0cmluZy1mb2xkLXRyaWNreSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDUuNzA0NistMC4wNjE2ICAgICA/ICAgICAgNS43MTk3Ky0wLjEzMjYgICAgICAg
ICAgICA1LjY3MjIrLTAuMDI0MSAgICAgICAgDQogICBpcy1zdHJpbmctZm9sZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAzLjYzNzMrLTAuMDIyNiAgICAgPyAgICAgIDMuODU3
MystMC40NjAwICAgICAgICAgICAgMy42Mzk0Ky0wLjAzNjggICAgICAgID8NCiAgIGlzLXVuZGVm
aW5lZC1mb2xkLXRyaWNreSAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNzc4MSstMC4yNTI2
ICAgICAgICAgICAgNC42NzMzKy0wLjA0OTEgICAgID8gICAgICA0LjY4NDkrLTAuMDU4OSAgICAg
ICAgICBtaWdodCBiZSAxLjAxOTl4IGZhc3Rlcg0KICAgaXMtdW5kZWZpbmVkLWZvbGQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMy42NDA0Ky0wLjAzMjcgICAgID8gICAgICAzLjY1
NTIrLTAuMDMyMCAgICAgICAgICAgIDMuNjIwMystMC4wMDg3ICAgICAgICANCiAgIGxhcmdlLWlu
dC1jYXB0dXJlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuNjE3OCstMC4wNjY5
ICAgICA/ICAgICAgNS42NTQ3Ky0wLjEyOTcgICAgICAgICAgICA1LjYyNDArLTAuMTEzMiAgICAg
ICAgPw0KICAgbGFyZ2UtaW50LW5lZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyMC4yMDI0Ky0wLjQxOTUgICAgICAgICAgIDE5Ljk5ODMrLTAuMTg4OCAgICAgPyAgICAgMjAu
MDk0NistMC4yMzUxICAgICAgICANCiAgIGxhcmdlLWludCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMTkuNzQ0MCstMC4zMzA2ICAgICAgICAgICAxOS42NTg5Ky0wLjUx
NDMgICAgICAgICAgIDE5LjU4ODMrLTAuNDIxMiAgICAgICAgDQogICBsb2FkLXZhcmFyZ3MtZWxp
bWluYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgIDMwLjE4NjcrLTAuNTI5NiAgICAgICAg
ICAgMzAuMTQ0NSstMC4yNjUzICAgICAgICAgICAzMC4xMzY0Ky0wLjEzNzAgICAgICAgIA0KICAg
bG9naWNhbC1ub3Qtd2VpcmQtdHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy45NjQ0
Ky0wLjA0MTAgICAgID8gICAgICA0LjA0NDcrLTAuMTA2MSAgICAgICAgICAgIDQuMDI1NistMC4w
ODA4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDE1NHggc2xvd2VyDQogICBsb2dpY2FsLW5vdCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Ljk0MjMrLTAuMDc5NSAgICAgPyAg
ICAgIDUuOTg2MCstMC4xNzYwICAgICAgICAgICAgNS45MDI3Ky0wLjE1MzAgICAgICAgIA0KICAg
bG90cy1vZi1maWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMy4zNTkw
Ky0wLjIxNDAgICAgID8gICAgIDEzLjQwMzErLTAuMTEwMSAgICAgICAgICAgMTMuMzMzMSstMC4x
NzAxICAgICAgICANCiAgIG1ha2UtaW5kZXhlZC1zdG9yYWdlICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDMuNzgyMystMC4xMjc0ICAgICAgICAgICAgMy43MTgzKy0wLjI1MzYgICAgID8g
ICAgICAzLjcxOTcrLTAuMzMyNCAgICAgICAgICBtaWdodCBiZSAxLjAxNjh4IGZhc3Rlcg0KICAg
bWFrZS1yb3BlLWNzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4zNDIw
Ky0wLjA3OTQgICAgICAgICAgICA1LjI4MzcrLTAuMTA0MSAgICAgPyAgICAgIDUuMzQwMistMC4x
NTI4ICAgICAgICANCiAgIG1hcnNhZ2xpYS1sYXJnZXItaW50cyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNDcuMjY4OCstMS4zNzQ5ICAgICAgICAgICA0Ni44OTgzKy0wLjQ5OTcgICAgID8g
ICAgIDQ3LjczNzArLTEuMjI1NSAgICAgICAgPw0KICAgbWFyc2FnbGlhLW9zci1lbnRyeSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyOS45ODM0Ky0wLjI3MzMgICAgICAgICAgIDI5Ljg2
MzgrLTAuMTk1MiAgICAgPyAgICAgMjkuOTEyMystMC4zOTkzICAgICAgICANCiAgIG1hdGgtd2l0
aC1vdXQtb2YtYm91bmRzLWFycmF5LXZhbHVlcyAgICAgICAgICAgICAgMzAuNTY4MistMC4wNjgz
ICAgICA/ICAgICAzMC42NjU4Ky0wLjIzMzcgICAgID8gICAgIDMwLjc2NTkrLTAuMzM4OCAgICAg
ICAgPw0KICAgbWF4LWJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMy43NTk3Ky0wLjA1MDMgICAgID8gICAgICAzLjc3NzcrLTAuMDkzNCAgICAgICAgICAgIDMu
NzU5MystMC4wMzIzICAgICAgICANCiAgIG1ldGhvZC1vbi1udW1iZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMjQuMDQzNystMC40NDAzICAgICBeICAgICAyMi45MTIyKy0wLjA4
NTggICAgID8gICAgIDIyLjk2MjcrLTAuMTM4NyAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDQ3MXgg
ZmFzdGVyDQogICBtaW4tYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzLjc5MzkrLTAuMjU4MiAgICAgICAgICAgIDMuNjgzMCstMC4wNTczICAgICA/ICAgICAg
My42OTQxKy0wLjEzNzQgICAgICAgICAgbWlnaHQgYmUgMS4wMjcweCBmYXN0ZXINCiAgIG1pbnVz
LWJvb2xlYW4tZG91YmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMzI1NCstMC4w
MTE3ICAgICAgICAgICAgNC4zMTU0Ky0wLjAxNTcgICAgID8gICAgICA0LjMyMjYrLTAuMDI4OCAg
ICAgICAgDQogICBtaW51cy1ib29sZWFuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzLjI1ODkrLTAuMDUxMiAgICAgICAgICAgIDMuMjA1MystMC4wMjM0ICAgICA/ICAgICAg
My4yNDc2Ky0wLjA1ODUgICAgICAgIA0KICAgbWlzYy1zdHJpY3QtZXEgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA0My42ODIyKy0wLjM0NzkgICAgID8gICAgIDQ1LjE3OTYrLTMu
NDQ3MSAgICAgICAgICAgNDMuNzkzNCstMC4zNTg3ICAgICAgICA/DQogICBtb2QtYm9vbGVhbi1k
b3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LjE3NTMrLTAuMDgwOSAgICAg
PyAgICAgMTYuMjExNSstMC4wODMyICAgICA/ICAgICAxNi4yNTE5Ky0wLjIyNjAgICAgICAgID8N
CiAgIG1vZC1ib29sZWFuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEu
OTI1OCstMC4wNjY4ICAgICAgICAgICAxMS45MTc5Ky0wLjA0OTAgICAgID8gICAgIDEyLjAxMDMr
LTAuMTkzNSAgICAgICAgPw0KICAgbXVsLWJvb2xlYW4tZG91YmxlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNS4xMDYzKy0wLjA4MTkgICAgID8gICAgICA1LjE2ODQrLTAuMDgwNCAg
ICAgICAgICAgIDUuMDk1NistMC4wMjc3ICAgICAgICANCiAgIG11bC1ib29sZWFuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuOTM0MSstMC4wODkxICAgICAgICAgICAg
My45MDQ1Ky0wLjAxNjggICAgID8gICAgICAzLjkxNTIrLTAuMDM3MSAgICAgICAgDQogICBuZWct
Ym9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjMzMDgrLTAu
MDM5NyAgICAgPyAgICAgIDQuMzY3MCstMC4wMzY4ICAgICAgICAgICAgNC4zNTQ4Ky0wLjA1NDkg
ICAgICAgID8NCiAgIG5lZ2F0aXZlLXplcm8tZGl2aWRlICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAuNDQ2OSstMC4wMDQyICAgICA/ICAgICAgMC40NDk3Ky0wLjAwMjQgICAgID8gICAg
ICAwLjQ2MjArLTAuMDQxMCAgICAgICAgPyBtaWdodCBiZSAxLjAzNDB4IHNsb3dlcg0KICAgbmVn
YXRpdmUtemVyby1tb2R1bG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40Nzg2Ky0w
LjEzMjMgICAgICAgICAgICAwLjQzODgrLTAuMDA5MiAgICAgICAgICAgIDAuNDMwOCstMC4wMDU1
ICAgICAgICAgIG1pZ2h0IGJlIDEuMTEwOXggZmFzdGVyDQogICBuZWdhdGl2ZS16ZXJvLW5lZ2F0
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQxNTIrLTAuMDA3MSAgICAgICAgICAg
IDAuNDEzOCstMC4wMTYxICAgICAgICAgICAgMC40MTM0Ky0wLjAwNTIgICAgICAgIA0KICAgbmVz
dGVkLWZ1bmN0aW9uLXBhcnNpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICA0OC40MTAyKy0w
LjQ4NjggICAgICAgICAgIDQ3LjYzOTkrLTAuMzczMSAgICAgPyAgICAgNDguMDg4MCstMC42MjI4
ICAgICAgICANCiAgIG5ldy1hcnJheS1idWZmZXItZGVhZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxMTguMzgxMSstMC4yODM3ICAgICA/ICAgIDExOC42MzY5Ky0wLjQ4MTYgICAgID8gICAg
MTE4LjcwOTgrLTAuODE0MSAgICAgICAgPw0KICAgbmV3LWFycmF5LWJ1ZmZlci1wdXNoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOC4zMjMyKy0wLjE4MTEgICAgID8gICAgICA4LjYxOTIr
LTAuMzE4MyAgICAgICAgICAgIDguNDI5MCstMC4yMzYzICAgICAgICA/IG1pZ2h0IGJlIDEuMDEy
N3ggc2xvd2VyDQogICBuZXctYXJyYXktZGVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDE5LjAwMTUrLTAuNjAzNiAgICAgPyAgICAgMTkuMTY4NystMC43ODUzICAgICAgICAg
ICAxOS4xMjI5Ky0wLjg0NzcgICAgICAgID8NCiAgIG5ldy1hcnJheS1wdXNoICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDQuODE5OSstMC4wNzM0ICAgICAgICAgICAgNC43Njcw
Ky0wLjEzMjIgICAgICAgICAgICA0LjY5MTcrLTAuMTA0OSAgICAgICAgICBtaWdodCBiZSAxLjAy
NzN4IGZhc3Rlcg0KICAgbm8taW5saW5lLWNvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA0NC4xODEyKy0wLjk3NTggICAgICAgICAgIDQzLjQ1NjUrLTAuNDQ5MyAgICAgPyAg
ICAgNDMuNjAxMystMC4xNzI2ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzM3ggZmFzdGVyDQogICBu
dW1iZXItdGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjAwMjYr
LTAuMDMzMSAgICAgICAgICAgIDMuOTc1MistMC4wMzQ4ICAgICAgICAgICAgMy45NzM1Ky0wLjAz
NzkgICAgICAgIA0KICAgb2JqZWN0LWNsb3N1cmUtY2FsbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNi43OTUyKy0wLjA5NjMgICAgICAgICAgICA2Ljc4NjcrLTAuMTIzNCAgICAgICAg
ICAgIDYuNzY3NystMC4wNTUzICAgICAgICANCiAgIG9iamVjdC10ZXN0ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMuNjExMCstMC4wMjU2ICAgICA/ICAgICAgMy42Mjc4
Ky0wLjA0NDAgICAgICAgICAgICAzLjYyMDUrLTAuMDQyNSAgICAgICAgPw0KICAgb2J2aW91cy1z
aW5rLXBhdGhvbG9neS10YWtlbiAgICAgICAgICAgICAgICAgICAgIDEzNy42NTA1Ky0wLjc0OTEg
ICAgICAgICAgMTM2Ljg5NzErLTEuMzk2MSAgICAgPyAgICAxMzcuMjM4MistMC4zNDg3ICAgICAg
ICANCiAgIG9idmlvdXMtc2luay1wYXRob2xvZ3kgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MzAuMTQ1NystMS4yMzk2ICAgICAgICAgIDEyOS44MDE5Ky0wLjU1MTcgICAgID8gICAgMTI5Ljgz
MzQrLTAuNjE1MCAgICAgICAgDQogICBvYnZpb3VzbHktZWxpZGFibGUtbmV3LW9iamVjdCAgICAg
ICAgICAgICAgICAgICAgIDQwLjQzMzgrLTEuNTQyNiAgICAgICAgICAgNDAuMzgyNystMS42NjQ3
ICAgICAgICAgICA0MC4zMzYwKy0xLjc1MjYgICAgICAgIA0KICAgcGx1cy1ib29sZWFuLWFyaXRo
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4yOTg2Ky0wLjA1MjYgICAgID8gICAg
ICAzLjMzMzQrLTAuMTE0MSAgICAgICAgICAgIDMuMjg1NSstMC4wMTc5ICAgICAgICANCiAgIHBs
dXMtYm9vbGVhbi1kb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMzYyOCst
MC4wNjA4ICAgICAgICAgICAgNC4zMjI4Ky0wLjAxOTAgICAgID8gICAgICA0LjMzMjErLTAuMDIx
MCAgICAgICAgDQogICBwbHVzLWJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAzLjU2MDUrLTAuMDQyMSAgICAgPyAgICAgIDMuNTkxNSstMC4wNjc3ICAgICA/ICAg
ICAgMy42MjEzKy0wLjA3NzIgICAgICAgID8gbWlnaHQgYmUgMS4wMTcxeCBzbG93ZXINCiAgIHBv
bHktY2hhaW4tYWNjZXNzLWRpZmZlcmVudC1wcm90b3R5cGVzLXNpbXBsZSAgIA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy43ODA3Ky0wLjAz
OTMgICAgID8gICAgICAzLjg1MDMrLTAuMjI0OSAgICAgICAgICAgIDMuNzQ2MystMC4wMjM0ICAg
ICAgICANCiAgIHBvbHktY2hhaW4tYWNjZXNzLWRpZmZlcmVudC1wcm90b3R5cGVzICAgICAgICAg
ICAgIDMuNDU4MystMC4wMzY3ICAgICAgICAgICAgMy40NTU0Ky0wLjAyMzYgICAgID8gICAgICAz
LjQ3MDcrLTAuMDYwNiAgICAgICAgPw0KICAgcG9seS1jaGFpbi1hY2Nlc3Mtc2ltcGxlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgMy43NzUxKy0wLjEyNzAgICAgID8gICAgICAzLjgyMTArLTAu
MTMzOSAgICAgICAgICAgIDMuODE1OCstMC4xMjA2ICAgICAgICA/IG1pZ2h0IGJlIDEuMDEwOHgg
c2xvd2VyDQogICBwb2x5LWNoYWluLWFjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzLjQ0NjMrLTAuMDIwMyAgICAgPyAgICAgIDMuNDU3MystMC4wNDE2ICAgICA/ICAgICAg
My40NzQ4Ky0wLjA3MTYgICAgICAgID8NCiAgIHBvbHktc3RyaWN0ZXEgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNzQuOTgwOCstMC4wODI3ICAgICBeICAgICA3My43MjExKy0w
LjA1MTAgICAgID8gICAgIDczLjc4MzQrLTAuMDc0MiAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDE2
MnggZmFzdGVyDQogICBwb2x5bW9ycGhpYy1hcnJheS1jYWxsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxLjYzNDYrLTAuMDYxOSAgICAgPyAgICAgIDEuNjY1OSstMC4wODM5ICAgICA/ICAg
ICAgMS42ODU0Ky0wLjA4ODkgICAgICAgID8gbWlnaHQgYmUgMS4wMzExeCBzbG93ZXINCiAgIHBv
bHltb3JwaGljLWdldC1ieS1pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuOTcyMist
MC4yMDMxICAgICAgICAgICAgMy45MDc4Ky0wLjAzNzggICAgICAgICAgICAzLjg4NzcrLTAuMDQw
NCAgICAgICAgICBtaWdodCBiZSAxLjAyMTd4IGZhc3Rlcg0KICAgcG9seW1vcnBoaWMtcHV0LWJ5
LWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNS45MzQxKy0xLjIxMTkgICAgICAgICAg
IDM1LjQ5MTUrLTAuOTQ5MCAgICAgPyAgICAgMzUuNjgwNystMS4yMTc4ICAgICAgICANCiAgIHBv
bHltb3JwaGljLXN0cnVjdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTguODQzNSst
MC4yMTY0ICAgICA/ICAgICAxOC44NzcxKy0wLjA5MjggICAgID8gICAgIDE4LjkyNDgrLTAuMTUz
MyAgICAgICAgPw0KICAgcG9seXZhcmlhbnQtbW9ub21vcnBoaWMtZ2V0LWJ5LWlkICAgICAgICAg
ICAgICAgICAgOS42MDk2Ky0wLjYyMzUgICAgICAgICAgICA5LjI1MzUrLTAuNzI1NiAgICAgICAg
ICAgIDkuMTg3NistMC42MTMyICAgICAgICAgIG1pZ2h0IGJlIDEuMDQ1OXggZmFzdGVyDQogICBw
cm90by1nZXR0ZXItYWNjZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExLjU0OTEr
LTAuNDE1NiAgICAgICAgICAgMTEuNDE0NSstMC4xOTc4ICAgICA/ICAgICAxMS42MzEyKy0wLjE5
NjcgICAgICAgID8NCiAgIHB1dC1ieS1pZC1yZXBsYWNlLWFuZC10cmFuc2l0aW9uICAgICAgICAg
ICAgICAgICAgMTEuMDk4NCstMC43NDM2ICAgICAgICAgICAxMC43MzAwKy0wLjMwOTEgICAgID8g
ICAgIDEwLjczMzYrLTAuMTIyMCAgICAgICAgICBtaWdodCBiZSAxLjAzNDB4IGZhc3Rlcg0KICAg
cHV0LWJ5LWlkLXNsaWdodGx5LXBvbHltb3JwaGljICAgICAgICAgICAgICAgICAgICAgMy42MjIy
Ky0wLjAzNjggICAgID8gICAgICAzLjY4NDErLTAuMDc0NCAgICAgICAgICAgIDMuNjIwNistMC4w
MTg2ICAgICAgICANCiAgIHB1dC1ieS1pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTMuMzgwOSstMC40MjQ2ICAgICA/ICAgICAxNC41NjM5Ky0yLjUxNjggICAgICAg
ICAgIDEzLjY1NzArLTAuNzY5NCAgICAgICAgPyBtaWdodCBiZSAxLjAyMDZ4IHNsb3dlcg0KICAg
cHV0LWJ5LXZhbC1kaXJlY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40Njk1
Ky0wLjA0MzUgICAgICAgICAgICAwLjQ1MDMrLTAuMDEzOSAgICAgPyAgICAgIDAuNDgzNystMC4x
MTE1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDMwM3ggc2xvd2VyDQogICBwdXQtYnktdmFsLWxhcmdl
LWluZGV4LWJsYW5rLWluZGV4aW5nLXR5cGUgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuNTAwMystMC4xMDk4ICAgICAgICAgICAgNy40
NjY3Ky0wLjE5OTEgICAgICAgICAgICA3LjM1ODYrLTAuMTkxMSAgICAgICAgICBtaWdodCBiZSAx
LjAxOTJ4IGZhc3Rlcg0KICAgcHV0LWJ5LXZhbC1tYWNoaW5lLWludCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMy40NDg5Ky0wLjIwMTQgICAgICAgICAgICAzLjM5MTUrLTAuMDYxNiAgICAg
ICAgICAgIDMuMzY0NSstMC4xMDEyICAgICAgICAgIG1pZ2h0IGJlIDEuMDI1MXggZmFzdGVyDQog
ICByYXJlLW9zci1leGl0LW9uLWxvY2FsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxLjM0
MDIrLTAuMjM0NSAgICAgICAgICAgMjAuOTUyMystMC4yNTc4ICAgICA/ICAgICAyMC45NzY5Ky0w
LjQyNzkgICAgICAgICAgbWlnaHQgYmUgMS4wMTczeCBmYXN0ZXINCiAgIHJlZ2lzdGVyLXByZXNz
dXJlLWZyb20tb3NyICAgICAgICAgICAgICAgICAgICAgICAgMjMuNTQ5MistMC4yMzc0ICAgICA/
ICAgICAyMy41NTkwKy0wLjE4MzIgICAgICAgICAgIDIzLjQ3MzErLTAuMDYzOCAgICAgICAgDQog
ICByZXBlYXQtbXVsdGktZ2V0LWJ5LW9mZnNldCAgICAgICAgICAgICAgICAgICAgICAgIDMxLjEx
NzYrLTAuMDUyMSAgICAgPyAgICAgMzEuMjI1OSstMC4wODU2ICAgICA/ICAgICAzMS4zMDA1Ky0w
LjI1OTAgICAgICAgID8NCiAgIHNldHRlci1wcm90b3R5cGUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTAuNTQ5MCstMC4yNjY2ICAgICAgICAgICAxMC40MTUyKy0wLjExODggICAg
ID8gICAgIDEwLjUyNjQrLTAuMzM1OCAgICAgICAgDQogICBzZXR0ZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjMwMjIrLTAuMjAzOSAgICAgPyAgICAgIDcu
NzU1NystMC41NTA3ICAgICAgICAgICAgNy41MDg1Ky0wLjU4NjMgICAgICAgID8gbWlnaHQgYmUg
MS4wMjgyeCBzbG93ZXINCiAgIHNpbXBsZS1hY3RpdmF0aW9uLWRlbW8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMzQuNzk0NystMC4wOTEzICAgICA/ICAgICAzNC44MzQwKy0wLjE4ODMgICAg
ICAgICAgIDM0LjgzMjMrLTAuMjMzOSAgICAgICAgPw0KICAgc2ltcGxlLWdldHRlci1hY2Nlc3Mg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNC44NzMwKy0wLjI0NDQgICAgICAgICAgIDE0
Ljg1MTUrLTAuMzM0MSAgICAgPyAgICAgMTUuMDA3NCstMC4xNTU1ICAgICAgICA/DQogICBzaW1w
bGUtcG9seS1jYWxsLW5lc3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyLjM3MTIrLTAu
ODQyOSAgICAgICAgICAgMTEuODM3OSstMC44MjA0ICAgICA/ICAgICAxMi4xOTk1Ky0wLjcyMjcg
ICAgICAgICAgbWlnaHQgYmUgMS4wMTQxeCBmYXN0ZXINCiAgIHNpbXBsZS1wb2x5LWNhbGwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzkxOSstMC4xNTk4ICAgICA/ICAgICAg
MS44MzEyKy0wLjMxNTQgICAgICAgICAgICAxLjc3NzQrLTAuMDcyNyAgICAgICAgDQogICBzaW4t
Ym9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0Ljg4NzcrLTAu
NDczMyAgICAgICAgICAgMjQuNjc2NistMC42MTI2ICAgICA/ICAgICAyNC45MTgyKy0wLjQ4NDIg
ICAgICAgID8NCiAgIHNpbmdsZXRvbi1zY29wZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgODEuNjA3MystMC4wNDc0ICAgICA/ICAgICA4MS42NjYyKy0wLjA2MDEgICAgICAgICAg
IDgxLjYxNjcrLTAuMDM4MSAgICAgICAgPw0KICAgc2luay1mdW5jdGlvbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxMy40MTg0Ky0xLjAxMTAgICAgID8gICAgIDE0LjEzNDkr
LTAuODc5OCAgICAgICAgICAgMTMuNzY5NistMC42ODQwICAgICAgICA/IG1pZ2h0IGJlIDEuMDI2
Mnggc2xvd2VyDQogICBzaW5rLWh1Z2UtYWN0aXZhdGlvbiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDIyLjczNjYrLTAuNjYwNSAgICAgPyAgICAgMjIuNzgzNCstMC45MDI0ICAgICAgICAg
ICAyMi4zMjY0Ky0wLjU0NDkgICAgICAgICAgbWlnaHQgYmUgMS4wMTg0eCBmYXN0ZXINCiAgIHNp
bmthYmxlLWNsb3N1cmUtY3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAuMDE2Mist
MC4xNDYyICAgICAgICAgICAyOS45NDE1Ky0wLjIwMzkgICAgIF4gICAgIDI3LjY1MjYrLTAuNDQ0
NiAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDg1NXggZmFzdGVyDQogICBzaW5rYWJsZS1uZXctb2Jq
ZWN0LWN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgMjg1LjA5ODYrLTEuMDIzMSAgICAgICAg
ICAyODQuODEyOSstMS42NjI3ICAgICBeICAgICA4NC42Nzk0Ky0zLjE5ODMgICAgICAgIF4gZGVm
aW5pdGVseSAzLjM2Njh4IGZhc3Rlcg0KICAgc2lua2FibGUtbmV3LW9iamVjdC1kYWcgICAgICAg
ICAgICAgICAgICAgICAgICAgICA3OS41MTM3Ky0xLjMwNzkgICAgID8gICAgIDgwLjE4MjkrLTIu
ODMxNyAgICAgICAgICAgNzkuOTk2NystMS4wMDgxICAgICAgICA/DQogICBzaW5rYWJsZS1uZXct
b2JqZWN0LXRha2VuICAgICAgICAgICAgICAgICAgICAgICAgIDYwLjg0MzgrLTAuOTU2OCAgICAg
ICAgICAgNjAuODE1OCstMS4xMzgxICAgICA/ICAgICA2MS4wMjM2Ky0xLjE2MjggICAgICAgID8N
CiAgIHNpbmthYmxlLW5ldy1vYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIu
NzA5NistMC4zNTMyICAgICA/ICAgICA0Mi44ODU3Ky0wLjIyNDAgICAgICAgICAgIDQyLjY1MDUr
LTAuNDU2MyAgICAgICAgDQogICBzbG93LWFycmF5LXByb2ZpbGUtY29udmVyZ2VuY2UgICAgICAg
ICAgICAgICAgICAgICAzLjYzNjQrLTAuMjM5MCAgICAgICAgICAgIDMuNDkzNystMC4xNDY3ICAg
ICAgICAgICAgMy40ODE4Ky0wLjE1ODcgICAgICAgICAgbWlnaHQgYmUgMS4wNDQ0eCBmYXN0ZXIN
CiAgIHNsb3ctY29udmVyZ2VuY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMu
NDA1MSstMC4yMTc2ICAgICAgICAgICAgMy4zNDc4Ky0wLjA0NjcgICAgID8gICAgICAzLjQxNTAr
LTAuMTg2NCAgICAgICAgPw0KICAgc2xvdy10ZXJuYXJpZXMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyNS4zMDg4Ky0wLjI3NjYgICAgICAgICAgIDI1LjI2NTIrLTAuMjE0NCAg
ICAgPyAgICAgMjUuMzUxOCstMC4zNDExICAgICAgICA/DQogICBzb3J0aW5nLWJlbmNobWFyayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0LjA4OTcrLTAuMjYzNyAgICAgPyAgICAg
MjQuMjE3OCstMC4yMzI4ICAgICAgICAgICAyMy45NTU3Ky0wLjQ2ODQgICAgICAgIA0KICAgc3Bh
cnNlLWNvbmRpdGlvbmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41MjcxKy0w
LjAyODIgICAgID8gICAgICAxLjU0NzArLTAuMDQ4MSAgICAgICAgICAgIDEuNTI4MystMC4wMTgz
ICAgICAgICA/DQogICBzcGxpY2UtdG8tcmVtb3ZlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDE5LjAwOTErLTIuMDA2NCAgICAgICAgICAgMTcuNzUzMSstMC4yMjYwICAgICA/ICAg
ICAxNy43ODY1Ky0wLjIzNTAgICAgICAgICAgbWlnaHQgYmUgMS4wNjg3eCBmYXN0ZXINCiAgIHN0
cmluZy1jaGFyLWNvZGUtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAuNTY0NCst
MC4yMTc4ICAgICAgICAgICAyMC41MjgzKy0wLjE1NDEgICAgICAgICAgIDIwLjUxNTArLTAuMTYy
MCAgICAgICAgDQogICBzdHJpbmctY29uY2F0LW9iamVjdCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAzLjIwNzIrLTAuMTMwOSAgICAgICAgICAgIDMuMTgwMistMC4wODYxICAgICAgICAg
ICAgMy4wOTE2Ky0wLjE5NjYgICAgICAgICAgbWlnaHQgYmUgMS4wMzc0eCBmYXN0ZXINCiAgIHN0
cmluZy1jb25jYXQtcGFpci1vYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMjgyMyst
MC4yMDAyICAgICAgICAgICAgMy4yNTUzKy0wLjA2MDMgICAgICAgICAgICAzLjIxNDgrLTAuMTMw
NCAgICAgICAgICBtaWdodCBiZSAxLjAyMTB4IGZhc3Rlcg0KICAgc3RyaW5nLWNvbmNhdC1wYWly
LXNpbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAxMy40MzYyKy0wLjQzODggICAgIF4gICAg
IDEyLjY0MDArLTAuMjQ3MCAgICAgPyAgICAgMTIuODM4OCstMC40MDk2ICAgICAgICAgIG1pZ2h0
IGJlIDEuMDQ2NXggZmFzdGVyDQogICBzdHJpbmctY29uY2F0LXNpbXBsZSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEyLjgwNDIrLTAuMTg2MyAgICAgPyAgICAgMTMuMDgxNCstMC4yNjUy
ICAgICAgICAgICAxMi42OTcyKy0wLjEzNDMgICAgICAgIA0KICAgc3RyaW5nLWNvbnMtcmVwZWF0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS4zMDM5Ky0wLjIyMzYgICAgICAgICAg
ICA5LjEwOTcrLTAuMTYyMCAgICAgPyAgICAgIDkuMTU5OSstMC4xMDI4ICAgICAgICAgIG1pZ2h0
IGJlIDEuMDE1N3ggZmFzdGVyDQogICBzdHJpbmctY29ucy10b3dlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA5LjU4NDMrLTAuMjkzNyAgICAgICAgICAgIDkuNTI2MistMC40Mjg0
ICAgICAgICAgICAgOS4zOTc2Ky0wLjEwNTYgICAgICAgICAgbWlnaHQgYmUgMS4wMTk5eCBmYXN0
ZXINCiAgIHN0cmluZy1lcXVhbGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjEuOTk4MSstMC4zMTU4ICAgICAgICAgICAyMS45MzQwKy0wLjM0NDYgICAgICAgICAgIDIxLjky
NjIrLTAuMTcyNSAgICAgICAgDQogICBzdHJpbmctZ2V0LWJ5LXZhbC1iaWctY2hhciAgICAgICAg
ICAgICAgICAgICAgICAgICA5LjUzNzQrLTAuMTUzNiAgICAgXiAgICAgIDkuMTk1NCstMC4xNDMz
ICAgICA/ICAgICAgOS4zOTYxKy0wLjE1MTIgICAgICAgICAgbWlnaHQgYmUgMS4wMTUweCBmYXN0
ZXINCiAgIHN0cmluZy1nZXQtYnktdmFsLW91dC1vZi1ib3VuZHMtaW5zYW5lICAgICAgICAgICAg
IDQuNjk1MystMC4wMjQ1ICAgICA/ICAgICAgNC43MTg4Ky0wLjQ5ODYgICAgICAgICAgICA0LjUy
MzUrLTAuMDUzMSAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDM4MHggZmFzdGVyDQogICBzdHJpbmct
Z2V0LWJ5LXZhbC1vdXQtb2YtYm91bmRzICAgICAgICAgICAgICAgICAgICA1Ljc2NDQrLTAuMTA1
OCAgICAgPyAgICAgIDUuNzg3NSstMC4xNzUwICAgICAgICAgICAgNS42ODYyKy0wLjEwMDUgICAg
ICAgICAgbWlnaHQgYmUgMS4wMTM3eCBmYXN0ZXINCiAgIHN0cmluZy1nZXQtYnktdmFsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuOTQwNSstMC4wMjU0ICAgICA/ICAgICAgMy45
NzQwKy0wLjEzMTcgICAgICAgICAgICAzLjk2NzcrLTAuMDc3NyAgICAgICAgPw0KICAgc3RyaW5n
LWhhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41MDY3Ky0wLjAy
NDMgICAgICAgICAgICAyLjQ5NzkrLTAuMDI4MyAgICAgPyAgICAgIDIuNTE3MistMC4wNTE2ICAg
ICAgICA/DQogICBzdHJpbmctbG9uZy1pZGVudC1lcXVhbGl0eSAgICAgICAgICAgICAgICAgICAg
ICAgIDE4LjA4MjgrLTAuMDUwNCAgICAgPyAgICAgMTguMTM5NistMC4wNzYxICAgICAgICAgICAx
OC4wOTc1Ky0wLjA1NDcgICAgICAgID8NCiAgIHN0cmluZy1vdXQtb2YtYm91bmRzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTUuMDMxNSstMC4zNzI2ICAgICA/ICAgICAxNi4yNTQ1Ky0z
LjEyMTEgICAgICAgICAgIDE1LjAzNTcrLTAuMzUzNCAgICAgICAgPw0KICAgc3RyaW5nLXJlcGVh
dC1hcml0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MC4wNDQ2Ky0wLjE1NjEgICAg
ID8gICAgIDQwLjExOTIrLTAuMTc2NSAgICAgPyAgICAgNDAuMTIzMystMC4xMTkyICAgICAgICA/
DQogICBzdHJpbmctc3ViICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc4
Ljg0ODErLTAuMzY5NSAgICAgXiAgICAgNzcuNTI5NSstMC4zMTQ3ICAgICA/ICAgICA3Ny42MDY4
Ky0wLjIzNDAgICAgICAgIF4gZGVmaW5pdGVseSAxLjAxNjB4IGZhc3Rlcg0KICAgc3RyaW5nLXRl
c3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy43ODMwKy0wLjAyOTgg
ICAgID8gICAgICAzLjgwMTkrLTAuMDI5MCAgICAgPyAgICAgIDMuODIyNistMC4wNTg2ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDEwNXggc2xvd2VyDQogICBzdHJpbmctdmFyLWVxdWFsaXR5ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDM2LjMyNjgrLTAuMTc5NCAgICAgICAgICAgMzYuMzI2
MistMC4wMzQ1ICAgICA/ICAgICAzNi40ODAyKy0wLjMyNzIgICAgICAgID8NCiAgIHN0cnVjdHVy
ZS1ob2lzdC1vdmVyLXRyYW5zaXRpb25zICAgICAgICAgICAgICAgICAgIDMuMzExNistMC4xMDQ5
ICAgICAgICAgICAgMy4yNzU1Ky0wLjA1NjkgICAgID8gICAgICAzLjI5NDYrLTAuMDcwNiAgICAg
ICAgDQogICBzdWJzdHJpbmctY29uY2F0LXdlaXJkICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDU0LjA5ODErLTAuMTYyNiAgICAgXiAgICAgNTMuNTczMystMC4xNzM1ICAgICA/ICAgICA1My42
NjA0Ky0wLjQ3MDUgICAgICAgIA0KICAgc3Vic3RyaW5nLWNvbmNhdCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA1OC45MTg5Ky0wLjQ1NzQgICAgICAgICAgIDU4LjExNDQrLTAuNjk5
MCAgICAgICAgICAgNTcuODE4NSstMC4zMzc3ICAgICAgICBeIGRlZmluaXRlbHkgMS4wMTkweCBm
YXN0ZXINCiAgIHN1YnN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgNjYuMDgzOCstMC4xMzE4ICAgICBeICAgICA2NS4wOTIyKy0wLjA5NjggICAgID8gICAgIDY1
LjE0MDYrLTAuMTc5NCAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDE0NXggZmFzdGVyDQogICBzd2l0
Y2gtY2hhci1jb25zdGFudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjU5NzUrLTAu
MDM1OSAgICAgICAgICAgIDMuNTkyNCstMC4wMjIwICAgICA/ICAgICAgMy42MTY3Ky0wLjAzNDAg
ICAgICAgID8NCiAgIHN3aXRjaC1jaGFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDguMTMyNSstMS4wMzExICAgICAgICAgICAgOC4wMDkwKy0xLjA1NDMgICAgICAgICAg
ICA3Ljk3MTIrLTAuODE2NCAgICAgICAgICBtaWdodCBiZSAxLjAyMDJ4IGZhc3Rlcg0KICAgc3dp
dGNoLWNvbnN0YW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS4wMDgxKy0x
LjA3MjAgICAgID8gICAgIDExLjMwNjgrLTEuMDcyMSAgICAgPyAgICAgMTEuNDM2MSstMC41Njg3
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM4OXggc2xvd2VyDQogICBzd2l0Y2gtc3RyaW5nLWJhc2lj
LWJpZy12YXIgICAgICAgICAgICAgICAgICAgICAgIDIzLjA1NzUrLTAuNzg2NyAgICAgPyAgICAg
MjMuNDMxNSstMC41MDg5ICAgICAgICAgICAyMy40MTg5Ky0wLjU3NTcgICAgICAgID8gbWlnaHQg
YmUgMS4wMTU3eCBzbG93ZXINCiAgIHN3aXRjaC1zdHJpbmctYmFzaWMtYmlnICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMjEuMjA2NCstMC4yMTMzICAgICA/ICAgICAyMS4yNTY2Ky0wLjI2NDEg
ICAgICAgICAgIDIxLjEzMzkrLTAuMTAxMyAgICAgICAgDQogICBzd2l0Y2gtc3RyaW5nLWJhc2lj
LXZhciAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5LjA2MDErLTAuMjIyNyAgICAgPyAgICAg
MTkuMDc0MSstMC4xNjQwICAgICAgICAgICAxOS4wMjQyKy0wLjIxMDUgICAgICAgIA0KICAgc3dp
dGNoLXN0cmluZy1iYXNpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOC43NzQ3Ky0w
LjIwMzYgICAgID8gICAgIDE4LjgxOTErLTAuMjIwMCAgICAgPyAgICAgMTguOTExMystMC4xMTY0
ICAgICAgICA/DQogICBzd2l0Y2gtc3RyaW5nLWJpZy1sZW5ndGgtdG93ZXItdmFyICAgICAgICAg
ICAgICAgIDI1LjQwMTMrLTAuMTU1NiAgICAgPyAgICAgMjUuNTkzNCstMC4yNjA2ICAgICAgICAg
ICAyNS4yNzQwKy0wLjE1OTYgICAgICAgIA0KICAgc3dpdGNoLXN0cmluZy1sZW5ndGgtdG93ZXIt
dmFyICAgICAgICAgICAgICAgICAgICAxOC45NDUxKy0wLjE5MjIgICAgICAgICAgIDE4Ljc4NjYr
LTAuMTYwMCAgICAgICAgICAgMTguNzY3NCstMC4xMDg2ICAgICAgICANCiAgIHN3aXRjaC1zdHJp
bmctbGVuZ3RoLXRvd2VyICAgICAgICAgICAgICAgICAgICAgICAgMTguMjcxOSstMy4wNTk4ICAg
ICAgICAgICAxNy4wMzEzKy0wLjAzMjUgICAgICAgICAgIDE2Ljk5ODcrLTAuMDQzMCAgICAgICAg
ICBtaWdodCBiZSAxLjA3NDl4IGZhc3Rlcg0KICAgc3dpdGNoLXN0cmluZy1zaG9ydCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxOS4wNTQ5Ky00Ljk4OTYgICAgICAgICAgIDE3LjA2NzMr
LTAuMjA1MCAgICAgICAgICAgMTcuMDA3NistMC4wNTk4ICAgICAgICAgIG1pZ2h0IGJlIDEuMTIw
NHggZmFzdGVyDQogICBzd2l0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDE1LjgwMDkrLTAuMjA1OSAgICAgPyAgICAgMTYuMjU3NSstMS41OTE3ICAgICAgICAg
ICAxNi4wNjA4Ky0wLjMyMjUgICAgICAgID8gbWlnaHQgYmUgMS4wMTY0eCBzbG93ZXINCiAgIHRl
YXItb2ZmLWFyZ3VtZW50cy1zaW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMjY0Nist
MC4wOTE0ICAgICA/ICAgICAgNC4yOTcyKy0wLjEyNzUgICAgICAgICAgICA0LjI2ODIrLTAuMTEw
NSAgICAgICAgPw0KICAgdGVhci1vZmYtYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNS44ODM4Ky0wLjExODAgICAgID8gICAgICA1LjkzMTArLTAuMTYxMyAgICAgPyAg
ICAgIDUuOTU1NCstMC4zMTkxICAgICAgICA/IG1pZ2h0IGJlIDEuMDEyMnggc2xvd2VyDQogICB0
ZW1wb3JhbC1zdHJ1Y3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3LjMzNTUr
LTAuMTQxOCAgICAgPyAgICAgMTcuMzk1MystMC4xNDY3ICAgICAgICAgICAxNy4zMjU0Ky0wLjE2
ODUgICAgICAgIA0KICAgdG8taW50MzItYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxOC44MTk1Ky0wLjA1NjggICAgID8gICAgIDE5LjAwMzYrLTAuMTY1NSAgICAgICAg
ICAgMTguOTU3MCstMC4wNjM4ICAgICAgICAhIGRlZmluaXRlbHkgMS4wMDczeCBzbG93ZXINCiAg
IHRyeS1jYXRjaC1nZXQtYnktdmFsLWNsb25lZC1hcmd1bWVudHMgICAgICAgICAgICAgMTguNDgw
NCstMC4zMTE1ICAgICA/ICAgICAxOC43ODY0Ky0wLjcyMDkgICAgID8gICAgIDE5LjE2NDYrLTEu
NDE3NCAgICAgICAgPyBtaWdodCBiZSAxLjAzNzB4IHNsb3dlcg0KICAgdHJ5LWNhdGNoLWdldC1i
eS12YWwtZGlyZWN0LWFyZ3VtZW50cyAgICAgICAgICAgICAgOC4yMTU5Ky0wLjA5MjkgICAgICEg
ICAgICA4LjQ2NTArLTAuMTA2MiAgICAgPyAgICAgIDguNDcwMistMC4wNzQ5ICAgICAgICAhIGRl
ZmluaXRlbHkgMS4wMzA5eCBzbG93ZXINCiAgIHRyeS1jYXRjaC1nZXQtYnktdmFsLXNjb3BlZC1h
cmd1bWVudHMgICAgICAgICAgICAgIDkuODI1NCstMC4xMzA4ICAgICA/ICAgICAgOS44NzIyKy0w
LjMxNDkgICAgID8gICAgICA5Ljg4NTgrLTAuMDYxOCAgICAgICAgPw0KICAgdHlwZWQtYXJyYXkt
Z2V0LXNldC1ieS12YWwtcHJvZmlsaW5nICAgICAgICAgICAgICAzOS4wNzQwKy0wLjc3NjggICAg
ID8gICAgIDM5LjE1MzErLTAuODYxMyAgICAgICAgICAgMzguMjU4MCstMC43NTk0ICAgICAgICAg
IG1pZ2h0IGJlIDEuMDIxM3ggZmFzdGVyDQogICB1bmRlZmluZWQtcHJvcGVydHktYWNjZXNzICAg
ICAgICAgICAgICAgICAgICAgICAgMzIyLjAyNTErLTcuNDM0NCAgICAgICAgICAzMjAuMTE4Mist
Mi4zNjAzICAgICAgICAgIDMxOS4wMTUyKy0wLjM3OTAgICAgICAgIA0KICAgdW5kZWZpbmVkLXRl
c3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy45NTg5Ky0wLjA0MjUgICAg
ID8gICAgICA0LjAxODErLTAuMDY0MCAgICAgICAgICAgIDMuOTg3NCstMC4wMjkwICAgICAgICA/
DQogICB1bnByb2ZpbGVkLWxpY20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIw
LjAzNDUrLTAuMjY2NiAgICAgPyAgICAgMjAuMTUwOCstMC4xNzYyICAgICA/ICAgICAyMC4zNTgw
Ky0wLjM1MzcgICAgICAgID8gbWlnaHQgYmUgMS4wMTYxeCBzbG93ZXINCiAgIHZhcmFyZ3MtY2Fs
bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTkuMTMxMSstMC4zMjkxICAg
ICAgICAgICAxOC45OTI0Ky0wLjIxMzYgICAgID8gICAgIDE5LjMzODUrLTAuNDQ2NyAgICAgICAg
PyBtaWdodCBiZSAxLjAxMDh4IHNsb3dlcg0KICAgdmFyYXJncy1jb25zdHJ1Y3QtaW5saW5lICAg
ICAgICAgICAgICAgICAgICAgICAgICAzMS44MjU3Ky0wLjYyODMgICAgID8gICAgIDMxLjgyNjUr
LTAuNzA4NiAgICAgICAgICAgMzEuNjQ2NCstMC43NzUzICAgICAgICANCiAgIHZhcmFyZ3MtY29u
c3RydWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcuODc4OCstMC4xOTIzICAg
ICA/ICAgICAyOC43MDM3Ky0xLjg3OTQgICAgICAgICAgIDI3LjkwNTcrLTAuMTkzMCAgICAgICAg
Pw0KICAgdmFyYXJncy1pbmxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MS44ODUwKy0wLjA2MDcgICAgID8gICAgIDExLjk1MzMrLTAuMjUzMCAgICAgICAgICAgMTEuOTMz
NistMC4wNzk0ICAgICAgICA/DQogICB2YXJhcmdzLXN0cmljdC1tb2RlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEzLjA0MDUrLTAuMDcxNCAgICAgPyAgICAgMTMuMTQyMistMC4yMDE0
ICAgICAgICAgICAxMy4wNTE1Ky0wLjA0MjcgICAgICAgID8NCiAgIHZhcmFyZ3MgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMuMDI2NSstMC4wNDMwICAgICAgICAg
ICAxMy4wMDU1Ky0wLjEwMDUgICAgID8gICAgIDEzLjA1MzcrLTAuMDM4NSAgICAgICAgPw0KICAg
d2VpcmQtaW5saW5pbmctY29uc3QtcHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgMi44Njgz
Ky0wLjA5NjMgICAgID8gICAgICAyLjkzODMrLTAuMzgzMyAgICAgICAgICAgIDIuNzg4OCstMC4y
MDI5ICAgICAgICAgIG1pZ2h0IGJlIDEuMDI4NXggZmFzdGVyDQoNCiAgIDxnZW9tZXRyaWM+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuMTU2NSstMC4wMzkxICAgICA/
ICAgICAxMS4xNjc1Ky0wLjAyOTggICAgIF4gICAgIDExLjAzNTErLTAuMDI3OCAgICAgICAgXiBk
ZWZpbml0ZWx5IDEuMDExMHggZmFzdGVyDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGlwT2ZUcmVlICAgICAgICAgICAgICAgT2JqZWN0
U2lua2luZyAgICAgICAgICAgICAgQ3ljbGVTaW5raW5nICAgICAgICAgQ3ljbGVTaW5raW5nIHYu
IFRpcE9mVHJlZSANCkFzbUJlbmNoOg0KICAgYmlnZmliLmNwcCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDY1NS4wNjg4Ky00Ljk4NjYgICAgICAgICAgNjUzLjg0NTUrLTIu
NzgwMyAgICAgICAgICA2NTMuMzcwNistMi44MjkxICAgICAgICANCiAgIGNyYXkuYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1OTEuMzY3MCstNS44ODUxICAgICAg
ICAgIDU4OS42NTcyKy0xLjY4NTcgICAgICAgICAgNTg5LjM5MzcrLTIuMzQxMyAgICAgICAgDQog
ICBkcnkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjM5LjM3
NDkrLTIwLjc4ODYgICAgICAgICA2MzEuMjcxMistNDEuMjc1MyAgICA/ICAgIDY0OS4yMDEwKy02
MC42NjE5ICAgICAgID8gbWlnaHQgYmUgMS4wMTU0eCBzbG93ZXINCiAgIEZsb2F0TU0uYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMjcuNzQ2MistMC40MTg4ICAgICA/
ICAgMTAyOC4xNDE1Ky0wLjg2MjUgICAgID8gICAxMDI4LjIxODUrLTAuNTM3OSAgICAgICAgPw0K
ICAgZ2NjLWxvb3BzLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTEyMS40
NDMyKy0zLjE0OTIgICAgID8gICA1MTY4LjAxODUrLTcwLjc0MTYgICAgPyAgIDUxNzAuNTI1NCst
NDEuMjU1NyAgICAgICAhIGRlZmluaXRlbHkgMS4wMDk2eCBzbG93ZXINCiAgIG4tYm9keS5jICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyNDEuNTY2NistMC40NjQ1ICAg
ICA/ICAgMTI0Mi4wOTM5Ky0xLjE1OTEgICAgICAgICAxMjQxLjk3NTUrLTAuOTI4NCAgICAgICAg
Pw0KICAgUXVpY2tzb3J0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYw
OS40NTM4Ky01Ljc3MjcgICAgICAgICAgNjA5LjQ0NTYrLTUuNzA4NSAgICAgPyAgICA2MDkuNzg0
NSstNS4yMzQzICAgICAgICA/DQogICBzdGVwYW5vdl9jb250YWluZXIuY3BwICAgICAgICAgICAg
ICAgICAgICAgICAgICA1MTk0Ljk0NzUrLTIzLjUxNjUgICAgPyAgIDUxOTkuNDk4MystMTkuNDA0
MSAgICA/ICAgNTIwOS4zODQ3Ky0yNC4xODgxICAgICAgID8NCiAgIFRvd2Vycy5jICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTIuMDI3NCstMi4yNDg4ICAgICAgICAg
IDM0OS4wNzA3Ky0zLjI4OTAgICAgID8gICAgMzQ5LjQ1NjUrLTIuODgyNiAgICAgICAgDQoNCiAg
IDxnZW9tZXRyaWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwNjcuNjk0
OCstMi41NDcxICAgICAgICAgMTA2NS43NjIxKy03LjA5OTEgICAgID8gICAxMDY5LjI2OTcrLTEx
LjExNTUgICAgICAgPyBtaWdodCBiZSAxLjAwMTV4IHNsb3dlcg0KDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpcE9mVHJlZSAgICAgICAg
ICAgICAgIE9iamVjdFNpbmtpbmcgICAgICAgICAgICAgIEN5Y2xlU2lua2luZyAgICAgICAgIEN5
Y2xlU2lua2luZyB2LiBUaXBPZlRyZWUgDQpDb21wcmVzc2lvbkJlbmNoOg0KICAgaHVmZm1hbiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI4NS4yODQwKy0yLjQ3NjIg
ICAgICAgICAgMjg1LjEyNDQrLTMuMTg4NiAgICAgICAgICAyODIuNjA4MSstMi4wODA4ICAgICAg
ICANCiAgIGFyaXRobWV0aWMtc2ltcGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAz
OTcuMDE0MCstMTcuMzAyMCAgICAgICAgIDM5My4yODEyKy0xLjQzMjggICAgID8gICAgMzkzLjQx
NDArLTAuNjI1MCAgICAgICAgDQogICBhcml0aG1ldGljLXByZWNpc2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMzU0LjYwMzMrLTMuOTQ5NSAgICAgPyAgICAzNTguOTA3NystMTIuODk2
MSAgICAgICAgIDM1NC41Mjk0Ky0yLjg1OTAgICAgICAgIA0KICAgYXJpdGhtZXRpYy1jb21wbGV4
LXByZWNpc2UgICAgICAgICAgICAgICAgICAgICAgIDM1NC45Njc3Ky0yLjQ1MDMgICAgICAgICAg
MzUyLjkzMjArLTIuNDA3NiAgICAgICAgICAzNTIuNjY1NSstMi4yMDE2ICAgICAgICANCiAgIGFy
aXRobWV0aWMtcHJlY2lzZS1vcmRlci0wICAgICAgICAgICAgICAgICAgICAgICAzOTguMDQzOSst
MC44NTgwICAgICA/ICAgIDQwMC41ODA1Ky0xLjc1MTUgICAgICAgICAgMzk4Ljg5NjgrLTAuOTMy
NiAgICAgICAgPw0KICAgYXJpdGhtZXRpYy1wcmVjaXNlLW9yZGVyLTEgICAgICAgICAgICAgICAg
ICAgICAgIDQzOS4wMzc1Ky0yLjYwMzYgICAgICEgICAgNDQzLjMxNjYrLTEuNDQwNyAgICAgICAg
ICA0NDIuNDkyNSstMi4wNjY3ICAgICAgICA/DQogICBhcml0aG1ldGljLXByZWNpc2Utb3JkZXIt
MiAgICAgICAgICAgICAgICAgICAgICAgNDkzLjY2NTgrLTIuMjIzMiAgICAgPyAgICA0OTguMTU1
MCstMy4wMjAwICAgICA/ICAgIDQ5OS4yNjIyKy0xMC4wMjgyICAgICAgID8gbWlnaHQgYmUgMS4w
MTEzeCBzbG93ZXINCiAgIGFyaXRobWV0aWMtc2ltcGxlLW9yZGVyLTEgICAgICAgICAgICAgICAg
ICAgICAgICA0NzEuNzA5NSstMy4zNzM5ICAgICA/ICAgIDQ4My40NDQ2Ky0xNy4wMTgzICAgICAg
ICAgNDczLjQ1ODYrLTIuNjQ2NCAgICAgICAgPw0KICAgYXJpdGhtZXRpYy1zaW1wbGUtb3JkZXIt
MiAgICAgICAgICAgICAgICAgICAgICAgIDU1NS4xOTQ0Ky01LjEwNjMgICAgICAgICAgNTUxLjc0
NDgrLTguMzE0NSAgICAgPyAgICA1NTIuMzk1NSstMy43NjQ3ICAgICAgICANCiAgIGx6LXN0cmlu
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MjQuMzMyMistNC4yNjEy
ICAgICA/ICAgIDQyNC41MDE4Ky0zLjM5MjUgICAgID8gICAgNDI3LjY5MzQrLTQuNjEyNCAgICAg
ICAgPw0KDQogICA8Z2VvbWV0cmljPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgNDEwLjcxMTArLTIuMTc3NiAgICAgPyAgICA0MTIuMzUyMSstMS43MzA1ICAgICAgICAgIDQx
MC44Mzc0Ky0xLjM0MjkgICAgICAgID8gbWlnaHQgYmUgMS4wMDAzeCBzbG93ZXINCg0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaXBPZlRy
ZWUgICAgICAgICAgICAgICBPYmplY3RTaW5raW5nICAgICAgICAgICAgICBDeWNsZVNpbmtpbmcg
ICAgICAgICBDeWNsZVNpbmtpbmcgdi4gVGlwT2ZUcmVlIA0KR2VvbWVhbiBvZiBwcmVmZXJyZWQg
bWVhbnM6DQogICA8c2NhbGVkLXJlc3VsdD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDc2LjAxODYrLTAuMTcwNCAgICAgPyAgICAgNzYuMTkxOSstMC4yNjI5ICAgICAgICAgICA3
NS45Njg3Ky0wLjM1OTkgICAgICAgICAgbWlnaHQgYmUgMS4wMDA3eCBmYXN0ZXINCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255756</attachid>
            <date>2015-06-29 10:22:26 -0700</date>
            <delta_ts>2015-06-30 15:30:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150629102136.patch</filename>
            <type>text/plain</type>
            <size>131684</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OTBiZTM1OWRjMjJmNjE4ZDVmYzEzZjY4Y2U3NzFiNGMyM2I2Yjg1Li42ZTUzMWYzYjhmYjc1NjFj
YmI5OGVlMDg5NTExZjQyNTdhMWE4NWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MyBAQAorMjAxNS0wNi0yOSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRm
Zy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6REZHOjpwZXJmb3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyk6CisgICAgICAgICogZGZnL0RG
R0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBkZmcvREZH
R3JhcGguaDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6YWRkU3RydWN0dXJlU2V0KTogQWxs
b3cgZW1wdHkgc3RydWN0dXJlIHNldHMKKyAgICAgICAgKiBkZmcvREZHTGF6eU5vZGUuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkxhenlOb2RlOjpkdW1wKTogUHJldHRpZXIgZHVtcAorICAgICAg
ICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6Y2VsbE9wZXJhbmQp
OiBNb3ZlIHRvIG9wSW5mbyBmb3IgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uCisgICAgICAg
IChKU0M6OkRGRzo6Tm9kZTo6aGFzU3RydWN0dXJlU2V0KTogQWRkIE1hdGVyaWFsaXplTmV3T2Jq
ZWN0CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSk6
IE1vdmUgdG8gb3BJbmZvMgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNp
c1BoYXNlLmNwcDogUmVtb3ZlIHVudXNlZCBoZWFkZXIKKyAgICAgICAgKiBkZmcvREZHT2JqZWN0
QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHA6IE1hdGVyaWFsaXplTmV3T2JqZWN0L01hdGVyaWFs
aXplQ3JlYXRlQWN0aXZhdGlvbiBjaGFuZ2VkCisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxs
b2NhdGlvblNpbmtpbmdQaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxv
Y2F0aW9uU2lua2luZ1BoYXNlOjpsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFudG9tQWxs
b2NhdGlvbnMpOgorICAgICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhh
c2U6OmZpbGxTdHJ1Y3R1cmVTZXRzKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlOjpjcmVhdGVNYXRlcmlhbGl6ZSk6CisgICAgICAgIChKU0M6OkRGRzo6
T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6cG9wdWxhdGVNYXRlcmlhbGl6ZSk6CisgICAg
ICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oOiBB
ZGQgYSBoYXNoIGFuZCBhIGhlbHBlciBmdW5jdGlvbiB0byBQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvcgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRMb2Nh
dGlvbkRlc2NyaXB0b3I6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICAoSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6aGFzaCk6CisgICAgICAgIChKU0M6OkRGRzo6UHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoOjplcXVhbCk6CisgICAgICAgIChKU0M6OkRGRzo6
UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I6Om5lZWRlZEZvck1hdGVyaWFsaXphdGlvbik6Cisg
ICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpWYWxpZGF0
ZTo6dmFsaWRhdGVTU0EpOiBBc3NlcnQgdGhhdCBtb3N0IG5vZGVzIG5ldmVyIHNlZSBhIHBoYW50
b20gYWxsb2NhdGlvbgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6IAorICAg
ICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVNYXRlcmlhbGl6ZU5l
d09iamVjdCk6IFVzZSB0aGUgbmV3IHN0cnVjdHVyZVNldCgpIG9wZXJhbmQKKyAgICAgICAgKEpT
Qzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTWF0ZXJpYWxpemVDcmVhdGVBY3Rp
dmF0aW9uKTogTm9kZSBoYXMgYSBuZXcgY2hpbGQKKyAgICAgICAgKiBmdGwvRlRMT1NSRXhpdENv
bXBpbGVyLmNwcDogSGFuZGxlIG1hdGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6
RlRMOjpjb21waWxlU3R1Yik6CisgICAgICAgICogZnRsL0ZUTE9wZXJhdGlvbnMuY3BwOiBIYW5k
bGUgbWF0ZXJpYWxpemF0aW9uIGN5Y2xlcworICAgICAgICAoSlNDOjpGVEw6Om9wZXJhdGlvblBv
cHVsYXRlT2JqZWN0SW5PU1IpOgorICAgICAgICAoSlNDOjpGVEw6Om9wZXJhdGlvbk1hdGVyaWFs
aXplT2JqZWN0SW5PU1IpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25zLmg6IEhhbmRsZSBt
YXRlcmlhbGl6YXRpb24gY3ljbGVzCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6IFJlbW92
ZSBvbGQgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nIGFuZCBhZGQgSlNDX2VuYWJs
ZUFsbG9jYXRpb25DeWNsZVNpbmtpbmcKKwogMjAxNS0wNi0yNiAgQ3NhYmEgT3N6dHJvZ29uw6Fj
ICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBBUk12N0Fzc2VtYmxlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzYzk0MGI0YTViMjU0M2NkMTRi
Y2VkNThiMDJjMWI5ODE1NjliYzRiLi4xMDMyMWQzNjRhMGYyOTVlZDYzOGYwOTQxZmI1MGIyYmNi
ZTBiM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjYsNiArMTI2
LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKIAogICAgIGRmZy9ERkdBYnN0cmFjdEhl
YXAuY3BwCiAgICAgZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCisgICAgZGZnL0RGR0FsbG9jYXRp
b25DeWNsZVNpbmtpbmdQaGFzZS5jcHAKICAgICBkZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25Q
aGFzZS5jcHAKICAgICBkZmcvREZHQXJndW1lbnRzVXRpbGl0aWVzLmNwcAogICAgIGRmZy9ERkdB
cml0aE1vZGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBi
MTQyYTZhMmM2Njc0MzAwN2FlOWI1YzJhYjdjYmQ4ZDFkMWQ3OTEwLi43NWQwNDI2NGY0MTkyOTJm
Mjc4OWUyOWMwZjAwZWY5N2IxMWFlYzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2oKQEAgLTM2NCw2ICszNjQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
ZGVidWdnZXJcRGVidWdnZXJTY29wZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxkZmdcREZHQWJzdHJhY3RIZWFwLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBYnN0cmFjdFZhbHVlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZGZnXERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0FyZ3VtZW50c1V0aWxpdGllcy5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQXJpdGhNb2RlLmNwcCIgLz4K
QEAgLTEwMzcsNiArMTAzOCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZH
QWJzdHJhY3RWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fk
amFjZW5jeUxpc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxv
Y2F0b3IuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxvY2F0aW9u
Q3ljbGVTaW5raW5nUGhhc2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xE
RkdBbmFseXNpcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FyZ3Vt
ZW50UG9zaXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRl
cnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZDNlMDJlM2Q0MzQwN2RiMWYyN2I0YTNiZjM0
MGZhNTYxZmYzY2I0NS4uOWM1NDMwMGQxNmQ0MjM2YTZjMmU4MzE4Yzg5NjY2ZGExOGJkOWZkYiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwpA
QCAtMTY4MCw2ICsxNjgwLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9j
YXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAiPgorICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4K
KyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdTdHJ1
Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAiPgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KQEAgLTMzOTEsNiArMzM5NCw5IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdG9yLmgiPgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRl
cj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCI+CisgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVy
PgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fu
YWx5c2lzLmgiPgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjg4ZWEwMDg4ZWJiYjQ1YjYxMzVmYjBm
ZWZmMGU3Njg1ZWM1MmE0ZS4uMjIyM2JlOWRjMmQ2OTI5ZGYwMDU1Njk5ZmFkOWRkOWE0OWU3MDBk
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk2Miw2ICs5NjIsOCBAQAogCQk1
REJCMTUxQjEzMUQwQjMxMDA1NkFEMzYgLyogdGVzdGFwaS5qcyBpbiBDb3B5IFN1cHBvcnQgU2Ny
aXB0ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RDg1Nzc0MEE0Njk2Qzgw
MDMyMTQ2QyAvKiB0ZXN0YXBpLmpzICovOyB9OwogCQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYg
LyogbWluaWRvbS5qcyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICov
OyB9OwogCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1NDAyNTU1
OTdEMDFGRjYwRjcgLyogY3JlYXRlX2hhc2hfdGFibGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoKTsgfTsgfTsKKwkJNjI3N0NDMjIxQjNERTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRp
b25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2Mjc3Q0MyMDFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmNwcCAqLzsgfTsKKwkJNjI3N0NDMjMxQjNERTI1ODAwRDE2RDJFIC8q
IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI3N0NDMjExQjNERTI1ODAwRDE2RDJFIC8qIERGR0Fs
bG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oICovOyB9OwogCQk2MkQyRDM4RjFBREYxMDNGMDAw
MjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MkQyRDM4RDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25S
YXJlRGF0YS5jcHAgKi87IH07CiAJCTYyRDJEMzkwMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlv
blJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MkQyRDM4RTFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyRjJBQTM3MUIwQkVE
RTMwMDYxMEM3QSAvKiBERkdMYXp5Tm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MkE5QTI5RTFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6eU5v
ZGUuY3BwICovOyB9OwpAQCAtMjY3OSw2ICsyNjgxLDggQEAKIAkJNURBRkQ2Q0IxNDZCNjg2MzAw
RkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBKU0MueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVERERGNDQ2MTRGRUU3MjIwMEI0RkI0RCAvKiBMTElu
dERlc2lyZWRPZmZzZXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50
RGVzaXJlZE9mZnNldHMuaDsgcGF0aCA9IExMSW50T2Zmc2V0cy9MTEludERlc2lyZWRPZmZzZXRz
Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTVERTNEMEY0MEREOERE
RkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViS2l0QXZhaWxhYmlsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTYyNzdDQzIwMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5r
aW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdBbGxvY2F0aW9uQ3lj
bGVTaW5raW5nUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2Mjc3Q0My
MTFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQ
aGFzZS5oOyBwYXRoID0gZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MkE5QTI5RTFCMEJFRDQ4MDBCRDU0Q0EgLyogREZH
TGF6eU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTGF6
eU5vZGUuY3BwOyBwYXRoID0gZGZnL0RGR0xhenlOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNjJBOUEyOUYxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xhenlOb2RlLmg7IHBhdGggPSBkZmcv
REZHTGF6eU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjJEMkQzOEQxQURG
MTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRnVuY3Rpb25SYXJlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC00ODUyLDYgKzQ4NTYsOCBAQAogCQkJCTBGNTVDMTkzMTcyNzZFNDYwMENF
QUJGRCAvKiBERkdBYnN0cmFjdFZhbHVlLmNwcCAqLywKIAkJCQkwRjYyMDE2RjE0M0ZDRDJGMDA2
OEI3N0MgLyogREZHQWJzdHJhY3RWYWx1ZS5oICovLAogCQkJCTBGNjZFMTY4MTRERjNGMTMwMEI3
QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi8sCisJCQkJNjI3N0NDMjAxQjNERTI1ODAwRDE2
RDJFIC8qIERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi8sCisJCQkJNjI3N0ND
MjExQjNERTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oICov
LAogCQkJCTBGQjRCNTE5MTZCNjI3NzIwMDNGNjk2QiAvKiBERkdBbGxvY2F0b3IuaCAqLywKIAkJ
CQlBNzM3ODEwOTE3OTlFQTJFMDA4MTc1MzMgLyogREZHQW5hbHlzaXMuaCAqLywKIAkJCQkwRjFF
M0E0MzE1MzRDQkFEMDAwRjk0NTYgLyogREZHQXJndW1lbnRQb3NpdGlvbi5oICovLApAQCAtNjEy
Niw2ICs2MTMyLDcgQEAKIAkJCQkwRjJCNjZFOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1
ZmZlclZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkVBMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkRBRUNC
MTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTYyNzdDQzIzMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0Jh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkQ0REU5MTk4MzJEQUMwMDdENEIxOSAvKiBUb1Ro
aXNTdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MEQxN0Q3MEU4QUQ0QTkwMDBDRDE3RCAv
KiBKU0Jhc2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTcxMDEsNiArNzEwOCw3IEBACiAJ
CQkJMEZDNzEyREUxN0NEODc3OTAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzdBNDIzRDE3QTBCQkZEMDBBOERCODEgLyogREZH
QWJzdHJhY3RIZWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNTVDMTk0MTcyNzZFNDYwMENF
QUJGRCAvKiBERkdBYnN0cmFjdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTYyNzdDQzIy
MUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjExODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9k
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjJENERERDE5ODMyRDM0MDA3RDRCMTkgLyogRGVi
dWdnZXJTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjYzOTQ4NDE1RTQ4MTE4MDA2QTU5
N0MgLyogREZHQXJyYXlNb2RlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2Uu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUwMThlYmZjMTcyZGE0ZTc3OTQ1MTUxZGEwOGQ2NDUzMTQyNjAxZjkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRp
b25DeWNsZVNpbmtpbmdQaGFzZS5jcHAKQEAgLTAsMCArMSwyMTI5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkRGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIgorCisjaWYgRU5BQkxFKERG
R19KSVQpCisKKyNpbmNsdWRlICJERkdCbG9ja01hcElubGluZXMuaCIKKyNpbmNsdWRlICJERkdD
b21iaW5lZExpdmVuZXNzLmgiCisjaW5jbHVkZSAiREZHR3JhcGguaCIKKyNpbmNsdWRlICJERkdJ
bnNlcnRpb25TZXQuaCIKKyNpbmNsdWRlICJERkdMYXp5Tm9kZS5oIgorI2luY2x1ZGUgIkRGR0xp
dmVuZXNzQW5hbHlzaXNQaGFzZS5oIgorI2luY2x1ZGUgIkRGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuaCIKKyNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmgiCisjaW5jbHVkZSAiREZHU1NBQ2FsY3VsYXRvci5oIgorI2luY2x1ZGUg
IkRGR1ZhbGlkYXRlLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CisKK25hbWVzcGFjZSB7CisKK2Jvb2wgdmVyYm9zZSA9IGZhbHNl
OworCisvLyBJbiBvcmRlciB0byBzaW5rIG9iamVjdCBjeWNsZXMsIHdlIHVzZSBhIHBvaW50cy10
byBhbmFseXNpcyBjb3VwbGVkCisvLyB3aXRoIGFuIGVzY2FwZSBhbmFseXNpcy4gVGhpcyBhbmFs
eXNpcyBpcyBhY3R1YWxseSBzaW1pbGFyIHRvIGFuCisvLyBhYnN0cmFjdCBpbnRlcnByZXRlciBm
b2N1c2VkIG9uIGxvY2FsIGFsbG9jYXRpb25zIGFuZCBpZ25vcmluZworLy8gZXZlcnl0aGluZyBl
bHNlLgorLy8KKy8vIFdlIHJlcHJlc2VudCB0aGUgbG9jYWwgaGVhcCB1c2luZyB0d28gbWFwcGlu
Z3M6CisvLworLy8gLSBBIHNldCBvZiB0aGUgbG9jYWwgYWxsb2NhdGlvbnMgcHJlc2VudCBpbiB0
aGUgZnVuY3Rpb24sIHdoZXJlCisvLyAgIGVhY2ggb2YgdGhvc2UgaGF2ZSBhIGZ1cnRoZXIgbWFw
cGluZyBmcm9tCisvLyAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIHRvIGxvY2FsIGFsbG9j
YXRpb25zIHRoZXkgbXVzdCBwb2ludAorLy8gICB0by4KKy8vCisvLyAtIEEgInBvaW50ZXIiIG1h
cHBpbmcgZnJvbSBub2RlcyB0byBsb2NhbCBhbGxvY2F0aW9ucywgaWYgdGhleSBtdXN0CisvLyAg
IGJlIGVxdWFsIHRvIHNhaWQgbG9jYWwgYWxsb2NhdGlvbiBhbmQgYXJlIGN1cnJlbnRseSBsaXZl
LiBUaGlzCisvLyAgIGNhbiBiZSBiZWNhdXNlIHRoZSBub2RlIGlzIHRoZSBhY3R1YWwgbm9kZSB0
aGF0IGNyZWF0ZWQgdGhlCisvLyAgIGFsbG9jYXRpb24sIG9yIGFueSBvdGhlciBub2RlIHRoYXQg
bXVzdCBjdXJyZW50bHkgcG9pbnQgdG8gaXQgLQorLy8gICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVy
ZW5jZS4KKy8vCisvLyBUaGUgZm9sbG93aW5nIGdyYXBoIGlzIGEgbW90aXZhdGlvbiBmb3Igd2h5
IHdlIHNlcGFyYXRlIGFsbG9jYXRpb25zCisvLyBmcm9tIHBvaW50ZXJzOgorLy8KKy8vIEJsb2Nr
ICMwCisvLyAgMDogTmV3T2JqZWN0KHt9KQorLy8gIDE6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQ
dXRCeU9mZnNldChAMCwgQDEsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8v
ICAyOiBHZXRCeU9mZnNldChAMCwgeCkKKy8vICAtOiBKdW1wKCMxKQorLy8KKy8vIEJsb2NrICMx
CisvLyAgLTogUmV0dXJuKEAyKQorLy8KKy8vIEhlcmUsIHdlIG5lZWQgdG8gcmVtZW1iZXIgaW4g
YmxvY2sgIzEgdGhhdCBAMiBwb2ludHMgdG8gYSBsb2NhbAorLy8gYWxsb2NhdGlvbiB3aXRoIGFw
cHJvcHJpYXRlIGZpZWxkcyBhbmQgc3RydWN0dXJlcyBpbmZvcm1hdGlvbgorLy8gKGJlY2F1c2Ug
d2Ugc2hvdWxkIGJlIGFibGUgdG8gcGxhY2UgYSBtYXRlcmlhbGl6YXRpb24gb24gdG9wIG9mCisv
LyBibG9jayAjMSBoZXJlKSwgZXZlbiB0aG91Z2ggQDEgaXMgZGVhZC4gV2UgKmNvdWxkKiBqdXN0
IGtlZXAgQDEKKy8vIGFydGlmaWNpYWxseSBhbGl2ZSBoZXJlLCBidXQgdGhlcmUgaXMgbm8gcmVh
bCByZWFzb24gdG8gZG8gaXQ6CisvLyBhZnRlciBhbGwsIGJ5IHRoZSBlbmQgb2YgYmxvY2sgIzAs
IEAxIGFuZCBAMiBzaG91bGQgYmUgY29tcGxldGVseQorLy8gaW50ZXJjaGFuZ2VhYmxlLCBhbmQg
dGhlcmUgaXMgbm8gcmVhc29uIGZvciB1cyB0byBhcnRpZmljaWFsbHkgbWFrZQorLy8gQDEgbW9y
ZSBpbXBvcnRhbnQuCisvLworLy8gQW4gaW1wb3J0YW50IHBvaW50IHRvIGNvbnNpZGVyIHRvIHVu
ZGVyc3RhbmQgdGhpcyBzZXBhcmF0aW9uIGlzCisvLyB0aGF0IHdlIHNob3VsZCB0aGluayBvZiB0
aGUgbG9jYWwgaGVhcCBhcyBmb2xsb3c6IHdlIGhhdmUgYQorLy8gYnVuY2ggb2Ygbm9kZXMgdGhh
dCBhcmUgcG9pbnRlcnMgdG8gImFsbG9jYXRpb25zIiB0aGF0IGxpdmUKKy8vIHNvbWVwbGFjZSBv
biB0aGUgaGVhcCwgYW5kIHRob3NlIGFsbG9jYXRpb25zIGNhbiBoYXZlIHBvaW50ZXJzIGluCisv
LyBiZXR3ZWVuIHRoZW1zZWx2ZXMgYXMgd2VsbC4gV2Ugc2hvdWxkbid0IGNhcmUgYWJvdXQgd2hh
dGV2ZXIKKy8vIG5hbWVzIHdlIGdpdmUgdG8gdGhlIGFsbG9jYXRpb25zIDsgd2hhdCBtYXR0ZXJz
IHdoZW4KKy8vIGNvbXBhcmluZy9tZXJnaW5nIHR3byBoZWFwcyBpcyB0aGUgaXNvbW9ycGhpc20v
Y29tcGFyaXNvbiBiZXR3ZWVuCisvLyB0aGUgYWxsb2NhdGlvbiBncmFwaHMgYXMgc2VlbiBieSB0
aGUgbm9kZXMuCisvLworLy8gRm9yIGluc3RhbmNlLCBpbiB0aGUgZm9sbG93aW5nIGdyYXBoOgor
Ly8KKy8vIEJsb2NrICMwCisvLyAgMDogTmV3T2JqZWN0KHt9KQorLy8gIC06IEJyYW5jaCgjMSwg
IzIpCisvLworLy8gQmxvY2sgIzEKKy8vICAxOiBOZXdPYmplY3Qoe30pCisvLyAgLTogUHV0QnlP
ZmZzZXQoQDAsIEAxLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisvLyAgLTog
SnVtcCgjMykKKy8vCisvLyBCbG9jayAjMgorLy8gIDI6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQ
dXRCeU9mZnNldChAMiwgdW5kZWZpbmVkLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShAMiwge3g6
MH0pCisvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAyLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShA
MCwge3g6MH0pCisvLyAgLTogSnVtcCgjMykKKy8vCisvLyBCbG9jayAjMworLy8gIC06IFJldHVy
bihAMCkKKy8vCisvLyB3ZSBzaG91bGQgdGhpbmsgb2YgdGhlIGhlYXBzIGF0IHRhaWwgb2YgYmxv
Y2tzICMxIGFuZCAjMiBhcyBiZWluZworLy8gZXhhY3RseSB0aGUgc2FtZSwgZXZlbiB0aG91Z2gg
b25lIGhhcyBAMC54IHBvaW50aW5nIHRvIEAxIGFuZCB0aGUKKy8vIG90aGVyIGhhcyBAMC54IHBv
aW50aW5nIHRvIEAyLCBiZWNhdXNlIGluIGVzc2VuY2UgdGhpcyBzaG91bGQgbm90CisvLyBiZSBk
aWZmZXJlbnQgZnJvbSB0aGUgZ3JhcGggd2hlcmUgd2UgaG9pc3RlZCBAMSBhbmQgQDIgaW50byBh
CisvLyBzaW5nbGUgYWxsb2NhdGlvbiBpbiBibG9jayAjMC4gV2UgY3VycmVudGx5IHdpbGwgbm90
IGhhbmRsZSB0aGlzCisvLyBjYXNlLCBiZWNhdXNlIHdlIG1lcmdlIGFsbG9jYXRpb25zIGJhc2Vk
IG9uIHRoZSBub2RlIHRoZXkgYXJlCisvLyBjb21pbmcgZnJvbSwgYnV0IHRoaXMgaXMgb25seSBh
IHRlY2huaWNhbGl0eSBmb3IgdGhlIHNha2Ugb2YKKy8vIHNpbXBsaWNpdHkgdGhhdCBzaG91bGRu
J3QgaGlkZSB0aGUgZGVlcGVyIGlkZWEgb3V0bGluZWQgaGVyZS4KKworY2xhc3MgQWxsb2NhdGlv
biB7CitwdWJsaWM6CisgICAgLy8gV2UgdXNlIEVzY2FwZWQgYXMgYSBzcGVjaWFsIGFsbG9jYXRp
b24ga2luZCBiZWNhdXNlIHdoZW4gd2UKKyAgICAvLyBkZWNpZGUgdG8gc2luayBhbiBhbGxvY2F0
aW9uLCB3ZSBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgaXQKKyAgICAvLyBvbmNlIGl0IGlz
IGVzY2FwZWQgaWYgaXQgc3RpbGwgaGFzIHBvaW50ZXJzIHRvIGl0IGluIG9yZGVyIHRvCisgICAg
Ly8gcmVwbGFjZSBhbnkgdXNlIG9mIHRob3NlIHBvaW50ZXJzIGJ5IHRoZSBjb3JyZXNwb25kaW5n
CisgICAgLy8gbWF0ZXJpYWxpemF0aW9uCisgICAgZW51bSBjbGFzcyBLaW5kIHsgRXNjYXBlZCwg
T2JqZWN0LCBBY3RpdmF0aW9uLCBGdW5jdGlvbiB9OworCisgICAgZXhwbGljaXQgQWxsb2NhdGlv
bihOb2RlKiBpZGVudGlmaWVyID0gbnVsbHB0ciwgS2luZCBraW5kID0gS2luZDo6RXNjYXBlZCkK
KyAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAgICAgLCBtX2tpbmQoa2lu
ZCkKKyAgICB7CisgICAgfQorCisKKyAgICBjb25zdCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25E
ZXNjcmlwdG9yLCBOb2RlKj4mIGZpZWxkcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
bV9maWVsZHM7CisgICAgfQorCisgICAgTm9kZSogZ2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9yIGRlc2NyaXB0b3IpCisgICAgeworICAgICAgICByZXR1cm4gbV9maWVsZHMuZ2V0KGRlc2Ny
aXB0b3IpOworICAgIH0KKworICAgIEFsbG9jYXRpb24mIHNldChQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yLCBOb2RlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIC8vIFBvaW50
aW5nIHRvIGFueXRoaW5nIGVsc2UgdGhhbiBhbiB1bmVzY2FwZWQgbG9jYWwKKyAgICAgICAgLy8g
YWxsb2NhdGlvbiBpcyByZXByZXNlbnRlZCBieSBzaW1wbHkgbm90IGhhdmluZyB0aGUKKyAgICAg
ICAgLy8gZmllbGQKKyAgICAgICAgaWYgKHZhbHVlKQorICAgICAgICAgICAgbV9maWVsZHMuc2V0
KGRlc2NyaXB0b3IsIHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9maWVsZHMu
cmVtb3ZlKGRlc2NyaXB0b3IpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAg
dm9pZCByZW1vdmUoUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7
CisgICAgICAgIHNldChkZXNjcmlwdG9yLCBudWxscHRyKTsKKyAgICB9CisKKyAgICBib29sIGhh
c1N0cnVjdHVyZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kKCkpIHsKKyAg
ICAgICAgY2FzZSBLaW5kOjpPYmplY3Q6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAg
fQorCisgICAgQWxsb2NhdGlvbiYgc2V0U3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0
cnVjdHVyZXMpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpICYmICFzdHJ1
Y3R1cmVzLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RydWN0dXJlcyA9IHN0cnVjdHVyZXM7Cisg
ICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBtZXJnZVN0cnVj
dHVyZXMoY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVzKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKGhhc1N0cnVjdHVyZXMoKSB8fCBzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CisgICAgICAgIG1f
c3RydWN0dXJlcy5tZXJnZShzdHJ1Y3R1cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAg
IH0KKworICAgIEFsbG9jYXRpb24mIGZpbHRlclN0cnVjdHVyZXMoY29uc3QgU3RydWN0dXJlU2V0
JiBzdHJ1Y3R1cmVzKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1N0cnVjdHVyZXMoKSk7Cisg
ICAgICAgIG1fc3RydWN0dXJlcy5maWx0ZXIoc3RydWN0dXJlcyk7CisgICAgICAgIHJldHVybiAq
dGhpczsKKyAgICB9CisKKyAgICBjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMoKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlczsKKyAgICB9CisKKyAgICBOb2Rl
KiBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICBLaW5k
IGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KKworICAgIGJvb2wgaXNFc2NhcGVkQWxs
b2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4ga2luZCgpID09IEtpbmQ6OkVz
Y2FwZWQ7CisgICAgfQorCisgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb24oKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpPYmplY3Q7CisgICAgfQorCisgICAg
Ym9vbCBpc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX2tpbmQgPT0gS2luZDo6QWN0aXZhdGlvbjsKKyAgICB9CisKKyAgICBib29sIGlzRnVuY3Rp
b25BbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2tpbmQgPT0gS2lu
ZDo6RnVuY3Rpb247CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFsbG9jYXRp
b24mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faWRlbnRpZmllciA9PSBv
dGhlci5tX2lkZW50aWZpZXIKKyAgICAgICAgICAgICYmIG1fa2luZCA9PSBvdGhlci5tX2tpbmQK
KyAgICAgICAgICAgICYmIG1fZmllbGRzID09IG90aGVyLm1fZmllbGRzCisgICAgICAgICAgICAm
JiBtX3N0cnVjdHVyZXMgPT0gb3RoZXIubV9zdHJ1Y3R1cmVzOworICAgIH0KKworICAgIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBBbGxvY2F0aW9uJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKKyAgICB7CisgICAgICAgIGR1bXBJbkNvbnRleHQob3V0LCBudWxs
cHRyKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwg
RHVtcENvbnRleHQqIGNvbnRleHQpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fa2lu
ZCkgeworICAgICAgICBjYXNlIEtpbmQ6OkVzY2FwZWQ6CisgICAgICAgICAgICBvdXQucHJpbnQo
IkVzY2FwZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgS2luZDo6T2Jq
ZWN0OgorICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3QiKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgS2luZDo6RnVuY3Rpb246CisgICAgICAgICAgICBvdXQucHJpbnQo
IkZ1bmN0aW9uIik7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEtpbmQ6OkFj
dGl2YXRpb246CisgICAgICAgICAgICBvdXQucHJpbnQoIkFjdGl2YXRpb24iKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIG91dC5wcmludCgiQWxsb2NhdGlvbigiKTsK
KyAgICAgICAgaWYgKCFtX3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgb3V0LnBy
aW50KGluQ29udGV4dChtX3N0cnVjdHVyZXMsIGNvbnRleHQpKTsKKyAgICAgICAgaWYgKCFtX2Zp
ZWxkcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmICghbV9zdHJ1Y3R1cmVzLmlzRW1wdHko
KSkKKyAgICAgICAgICAgICAgICBvdXQucHJpbnQoIiwgIik7CisgICAgICAgICAgICBvdXQucHJp
bnQobWFwRHVtcChtX2ZpZWxkcywgIiA9PiAjIiwgIiwgIikpOworICAgICAgICB9CisgICAgICAg
IG91dC5wcmludCgiKSIpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBOb2RlKiBtX2lkZW50aWZp
ZXI7IC8vIFRoaXMgaXMgdGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUgYWxsb2NhdGlv
bgorICAgIEtpbmQgbV9raW5kOworICAgIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3IsIE5vZGUqPiBtX2ZpZWxkczsKKyAgICBTdHJ1Y3R1cmVTZXQgbV9zdHJ1Y3R1cmVzOworfTsK
KworY2xhc3MgTG9jYWxIZWFwIHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0aW9uJiBuZXdBbGxvY2F0
aW9uKE5vZGUqIG5vZGUsIEFsbG9jYXRpb246OktpbmQga2luZCkKKyAgICB7CisgICAgICAgIEFT
U0VSVCghbV9wb2ludGVycy5jb250YWlucyhub2RlKSAmJiAhaXNBbGxvY2F0aW9uKG5vZGUpKTsK
KyAgICAgICAgbV9wb2ludGVycy5hZGQobm9kZSwgbm9kZSk7CisgICAgICAgIHJldHVybiBtX2Fs
bG9jYXRpb25zLnNldChub2RlLCBBbGxvY2F0aW9uKG5vZGUsIGtpbmQpKS5pdGVyYXRvci0+dmFs
dWU7CisgICAgfQorCisgICAgYm9vbCBpc0FsbG9jYXRpb24oTm9kZSogaWRlbnRpZmllcikgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25zLmNvbnRhaW5zKGlkZW50aWZp
ZXIpOworICAgIH0KKworICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIGZ1bmRhbWVudGFsbHkgZGlm
ZmVyZW50IGZyb20KKyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKCkgYmVsb3cuIGdldEFsbG9j
YXRpb24oKSB0YWtlcyBhcyBhcmd1bWVudAorICAgIC8vIGEgbm9kZS1hcy1pZGVudGlmaWVyLCB0
aGF0IGlzLCBhbiBhbGxvY2F0aW9uIG5vZGUuIFRoaXMKKyAgICAvLyBhbGxvY2F0aW9uIG5vZGUg
ZG9lc24ndCBoYXZlIHRvIGJlIGFsaXZlOyBpdCBtYXkgb25seSBiZQorICAgIC8vIHBvaW50ZWQg
dG8gYnkgb3RoZXIgbm9kZXMgb3IgYWxsb2NhdGlvbiBmaWVsZHMuCisgICAgLy8gRm9yIGluc3Rh
bmNlLCBpbiB0aGUgZm9sbG93aW5nIGdyYXBoOgorICAgIC8vCisgICAgLy8gQmxvY2sgIzAKKyAg
ICAvLyAgMDogTmV3T2JqZWN0KHt9KQorICAgIC8vICAxOiBOZXdPYmplY3Qoe30pCisgICAgLy8g
IC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7
eDowfSkKKyAgICAvLyAgMjogR2V0QnlPZmZzZXQoQDAsIHgpCisgICAgLy8gIC06IEp1bXAoIzEp
CisgICAgLy8KKyAgICAvLyBCbG9jayAjMQorICAgIC8vICAtOiBSZXR1cm4oQDIpCisgICAgLy8K
KyAgICAvLyBBdCBoZWFkIG9mIGJsb2NrICMxLCB0aGUgb25seSByZWFjaGFibGUgYWxsb2NhdGlv
biBpcyAjQDEsCisgICAgLy8gd2hpY2ggY2FuIGJlIHJlYWNoZWQgdGhyb3VnaCBub2RlIEAyLiBU
aHVzLCBnZXRBbGxvY2F0aW9uKCNAMSkKKyAgICAvLyBjb250YWlucyB0aGUgYXBwcm9wcmlhdGUg
bWV0YWRhdGEgZm9yIHRoaXMgYWxsb2NhdGlvbiwgYnV0CisgICAgLy8gb25seUxvY2FsQWxsb2Nh
dGlvbihAMSkgaXMgbnVsbCwgYXMgQDEgaXMgbm8gbG9uZ2VyIGEgcG9pbnRlcgorICAgIC8vIHRv
ICNAMSAoc2luY2UgaXQgaXMgZGVhZCkuIENvbnZlcnNlbHksIG9ubHlMb2NhbEFsbG9jYXRpb24o
QDIpCisgICAgLy8gaXMgdGhlIHNhbWUgYXMgZ2V0QWxsb2NhdGlvbigjQDEpLCB3aGlsZSBnZXRB
bGxvY2F0aW9uKCNAMikKKyAgICAvLyBkb2VzIG5vdCBtYWtlIHNlbnNlIHNpbmNlIEAyIGlzIG5v
dCBhbiBhbGxvY2F0aW9uIG5vZGUuCisgICAgLy8KKyAgICAvLyBUaGlzIGlzIG1lYW50IHRvIGJl
IHVzZWQgd2hlbiB0aGUgbm9kZSBpcyBhbHJlYWR5IGtub3duIHRvIGJlCisgICAgLy8gYW4gaWRl
bnRpZmllciAoaS5lLiBhbiBhbGxvY2F0aW9uKSAtIHByb2JhYmx5IGJlY2F1c2UgaXQgd2FzCisg
ICAgLy8gZm91bmQgYXMgdmFsdWUgb2YgYSBmaWVsZCBvciBwb2ludGVyIGluIHRoZSBjdXJyZW50
IGhlYXAsIG9yCisgICAgLy8gd2FzIHRoZSByZXN1bHQgb2YgYSBjYWxsIHRvIGZvbGxvdygpLiBJ
biBhbnkgb3RoZXIgY2FzZXMgKHN1Y2gKKyAgICAvLyBhcyB3aGVuIGRvaW5nIGFueXRoaW5nIHdo
aWxlIHRyYXZlcnNpbmcgdGhlIGdyYXBoKSwgdGhlCisgICAgLy8gYXBwcm9wcmlhdGUgZnVuY3Rp
b24gdG8gY2FsbCBpcyBwcm9iYWJseSBvbmx5TG9jYWxBbGxvY2F0aW9uLgorICAgIEFsbG9jYXRp
b24mIGdldEFsbG9jYXRpb24oTm9kZSogaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGF1dG8g
aXRlciA9IG1fYWxsb2NhdGlvbnMuZmluZChpZGVudGlmaWVyKTsKKyAgICAgICAgQVNTRVJUKGl0
ZXIgIT0gbV9hbGxvY2F0aW9ucy5lbmQoKSk7CisgICAgICAgIHJldHVybiBpdGVyLT52YWx1ZTsK
KyAgICB9CisKKyAgICB2b2lkIG5ld1BvaW50ZXIoTm9kZSogbm9kZSwgTm9kZSogaWRlbnRpZmll
cikKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9hbGxvY2F0aW9ucy5jb250YWlucyhub2RlKSAm
JiAhbV9wb2ludGVycy5jb250YWlucyhub2RlKSk7CisgICAgICAgIEFTU0VSVChpc0FsbG9jYXRp
b24oaWRlbnRpZmllcikpOworICAgICAgICBtX3BvaW50ZXJzLmFkZChub2RlLCBpZGVudGlmaWVy
KTsKKyAgICB9CisKKyAgICAvLyBmb2xsb3cgc29sdmVzIHRoZSBwb2ludHMtdG8gcHJvYmxlbS4g
R2l2ZW4gYSBsaXZlIG5vZGUsIHdoaWNoCisgICAgLy8gbWF5IGJlIGVpdGhlciBhbiBhbGxvY2F0
aW9uIGl0c2VsZiBvciBhIGhlYXAgcmVhZCAoZS5nLiBhCisgICAgLy8gR2V0QnlPZmZzZXQgbm9k
ZSksIGl0IHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgYWxsb2NhdGlvbgorICAgIC8vIG5vZGUs
IGlmIHRoZXJlIGlzIG9uZS4gSWYgdGhlIGFyZ3VtZW50IG5vZGUgaXMgbmVpdGhlciBhbgorICAg
IC8vIGFsbG9jYXRpb24gb3IgYSBoZWFwIHJlYWQsIG9yIG1heSBwb2ludCB0byBkaWZmZXJlbnQg
bm9kZXMsCisgICAgLy8gbnVsbHB0ciB3aWxsIGJlIHJldHVybmVkLiBOb3RlIHRoYXQgYSBub2Rl
IHRoYXQgcG9pbnRzIHRvCisgICAgLy8gZGlmZmVyZW50IG5vZGVzIGNhbiBuZXZlciBwb2ludCB0
byBhbiB1bmVzY2FwZWQgbG9jYWwKKyAgICAvLyBhbGxvY2F0aW9uLgorICAgIE5vZGUqIGZvbGxv
dyhOb2RlKiBub2RlKSBjb25zdAorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9wb2ludGVy
cy5maW5kKG5vZGUpOworICAgICAgICBBU1NFUlQoaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgpIHx8
IG1fYWxsb2NhdGlvbnMuY29udGFpbnMoaXRlci0+dmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGl0
ZXIgPT0gbV9wb2ludGVycy5lbmQoKSA/IG51bGxwdHIgOiBpdGVyLT52YWx1ZTsKKyAgICB9CisK
KyAgICBOb2RlKiBmb2xsb3coUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pIGNvbnN0Cisg
ICAgeworICAgICAgICBjb25zdCBBbGxvY2F0aW9uJiBiYXNlID0gbV9hbGxvY2F0aW9ucy5maW5k
KGxvY2F0aW9uLmJhc2UoKSktPnZhbHVlOworICAgICAgICBhdXRvIGl0ZXIgPSBiYXNlLmZpZWxk
cygpLmZpbmQobG9jYXRpb24uZGVzY3JpcHRvcigpKTsKKworICAgICAgICBpZiAoaXRlciA9PSBi
YXNlLmZpZWxkcygpLmVuZCgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAg
ICAgcmV0dXJuIGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIC8vIG9ubHlMb2NhbEFsbG9jYXRp
b24gZmluZCB0aGUgY29ycmVzcG9uZGluZyBhbGxvY2F0aW9uIG1ldGFkYXRhCisgICAgLy8gZm9y
IGFueSBsaXZlIG5vZGUuIG9ubHlMb2NhbEFsbG9jYXRpb24obm9kZSkgaXMgZXNzZW50aWFsbHkK
KyAgICAvLyBnZXRBbGxvY2F0aW9uKGZvbGxvdyhub2RlKSksIHdpdGggYXBwcm9wcmlhdGUgbnVs
bCBoYW5kbGluZy4KKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxvY2F0aW9uKE5vZGUqIG5v
ZGUpCisgICAgeworICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAg
ICAgICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICByZXR1cm4gJmdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAgQWxs
b2NhdGlvbiogb25seUxvY2FsQWxsb2NhdGlvbihQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
bikKKyAgICB7CisgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSBmb2xsb3cobG9jYXRpb24pOwor
ICAgICAgICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICByZXR1cm4gJmdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAg
Ly8gVGhpcyBhbGxvd3MgdXMgdG8gc3RvcmUgdGhlIGVzY2FwZWVzIG9ubHkgd2hlbiBuZWNlc3Nh
cnkuIElmCisgICAgLy8gc2V0LCB0aGUgY3VycmVudCBlc2NhcGVlcyBjYW4gYmUgcmV0cmlldmVk
IGF0IGFueSB0aW1lIHVzaW5nCisgICAgLy8gdGFrZUVzY2FwZWVzKCksIHdoaWNoIHdpbGwgY2xl
YXIgdGhlIGNhY2hlZCBzZXQgb2YgZXNjYXBlZXM7CisgICAgLy8gb3RoZXJ3aXNlIHRoZSBoZWFw
IHdvbid0IHJlbWVtYmVyIGVzY2FwaW5nIGFsbG9jYXRpb25zLgorICAgIHZvaWQgc2V0V2FudEVz
Y2FwZWVzKCkKKyAgICB7CisgICAgICAgIG1fd2FudEVzY2FwZWVzID0gdHJ1ZTsKKyAgICB9CisK
KyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiB0YWtlRXNjYXBlZXMoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIFdURjo6bW92ZShtX2VzY2FwZWVzKTsKKyAgICB9CisKKyAgICB2b2lkIGVz
Y2FwZShOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IGZvbGxv
dyhub2RlKTsKKyAgICAgICAgaWYgKCFpZGVudGlmaWVyKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGVzY2FwZUFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAgdm9p
ZCBtZXJnZShjb25zdCBMb2NhbEhlYXAmIG90aGVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
VmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkpOworICAgICAgICBBU1NFUlQoIW1fd2FudEVzY2Fw
ZWVzKTsKKworICAgICAgICBpZiAoIXJlYWNoZWQoKSkgeworICAgICAgICAgICAgQVNTRVJUKG90
aGVyLnJlYWNoZWQoKSk7CisgICAgICAgICAgICAqdGhpcyA9IG90aGVyOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gdG9Fc2NhcGU7CisK
KyAgICAgICAgZm9yIChhdXRvJiBhbGxvY2F0aW9uRW50cnkgOiBvdGhlci5tX2FsbG9jYXRpb25z
KQorICAgICAgICAgICAgbV9hbGxvY2F0aW9ucy5hZGQoYWxsb2NhdGlvbkVudHJ5LmtleSwgYWxs
b2NhdGlvbkVudHJ5LnZhbHVlKTsKKyAgICAgICAgZm9yIChhdXRvJiBhbGxvY2F0aW9uRW50cnkg
OiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICBhdXRvIGFsbG9jYXRpb25JdGVyID0gb3Ro
ZXIubV9hbGxvY2F0aW9ucy5maW5kKGFsbG9jYXRpb25FbnRyeS5rZXkpOworCisgICAgICAgICAg
ICAvLyBJZiB3ZSBoYXZlIGl0IGFuZCB0aGV5IGRvbid0LCBpdCBkaWVkIGZvciB0aGVtIGJ1dCB3
ZQorICAgICAgICAgICAgLy8gYXJlIGtlZXBpbmcgaXQgYWxpdmUgZnJvbSBhbm90aGVyIGZpZWxk
IHNvbWV3aGVyZS4KKyAgICAgICAgICAgIC8vIFRoZXJlIGlzIG5vdGhpbmcgdG8gZG8gLSB3ZSB3
aWxsIGJlIGVzY2FwZWQKKyAgICAgICAgICAgIC8vIGF1dG9tYXRpY2FsbHkgd2hlbiB3ZSBoYW5k
bGUgdGhhdCBvdGhlciBmaWVsZC4KKyAgICAgICAgICAgIC8vIFRoaXMgd2lsbCBhbHNvIGhhcHBl
biBmb3IgYWxsb2NhdGlvbiB0aGF0IHdlIGhhdmUgYW5kCisgICAgICAgICAgICAvLyB0aGV5IGRv
bid0LCBhbmQgYWxsIG9mIHRob3NlIHdpbGwgZ2V0IHBydW5lZC4KKyAgICAgICAgICAgIGlmIChh
bGxvY2F0aW9uSXRlciA9PSBvdGhlci5tX2FsbG9jYXRpb25zLmVuZCgpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoYWxsb2NhdGlvbkVudHJ5LnZhbHVlLmtp
bmQoKSAhPSBhbGxvY2F0aW9uSXRlci0+dmFsdWUua2luZCgpKSB7CisgICAgICAgICAgICAgICAg
dG9Fc2NhcGUuYWRkKGFsbG9jYXRpb25FbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGZvciAo
Y29uc3QgYXV0byYgZmllbGRFbnRyeSA6IGFsbG9jYXRpb25JdGVyLT52YWx1ZS5maWVsZHMoKSkK
KyAgICAgICAgICAgICAgICAgICAgdG9Fc2NhcGUuYWRkKGZpZWxkRW50cnkudmFsdWUpOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtZXJnZVBvaW50ZXJTZXRzKAorICAg
ICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uRW50cnkudmFsdWUuZmllbGRzKCksIGFsbG9jYXRp
b25JdGVyLT52YWx1ZS5maWVsZHMoKSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBp
ZGVudGlmaWVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQoaWRlbnRp
Zmllcik7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAo
UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZmllbGQpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGFsbG9jYXRpb25FbnRyeS52YWx1ZS5yZW1vdmUoZmllbGQpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uRW50cnkudmFsdWUubWVyZ2VTdHJ1
Y3R1cmVzKGFsbG9jYXRpb25JdGVyLT52YWx1ZS5zdHJ1Y3R1cmVzKCkpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisKKyAgICAgICAgbWVyZ2VQb2ludGVyU2V0cyhtX3BvaW50ZXJzLCBvdGhl
ci5tX3BvaW50ZXJzLAorICAgICAgICAgICAgWyZdIChOb2RlKiBpZGVudGlmaWVyKSB7CisgICAg
ICAgICAgICAgICAgdG9Fc2NhcGUuYWRkKGlkZW50aWZpZXIpOworICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIFsmXSAoTm9kZSogZmllbGQpIHsKKyAgICAgICAgICAgICAgICBtX3BvaW50ZXJz
LnJlbW92ZShmaWVsZCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICBmb3IgKE5vZGUqIGlk
ZW50aWZpZXIgOiB0b0VzY2FwZSkKKyAgICAgICAgICAgIGVzY2FwZUFsbG9jYXRpb24oaWRlbnRp
Zmllcik7CisKKyAgICAgICAgaWYgKCFBU1NFUlRfRElTQUJMRUQpIHsKKyAgICAgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgcGFpciA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICAgICAgQVNT
RVJUX1VOVVNFRChwYWlyLCBwYWlyLnZhbHVlLmlzRXNjYXBlZEFsbG9jYXRpb24oKSB8fCBvdGhl
ci5tX2FsbG9jYXRpb25zLmNvbnRhaW5zKHBhaXIua2V5KSk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBJZiB0aGVyZSBpcyBubyByZW1haW5pbmcgcG9pbnRlciB0byBhbiBhbGxvY2F0aW9uLCB3
ZSBjYW4KKyAgICAgICAgLy8gcmVtb3ZlIGl0LiBUaGlzIHNob3VsZCBvbmx5IGhhcHBlbiBmb3Ig
ZXNjYXBlZCBhbGxvY2F0aW9ucywKKyAgICAgICAgLy8gYmVjYXVzZSB3ZSBvbmx5IG1lcmdlIGxp
dmVuZXNzLXBydW5lZCBoZWFwcyBpbiB0aGUgZmlyc3QKKyAgICAgICAgLy8gcGxhY2UuCisgICAg
ICAgIHBydW5lKCk7CisKKyAgICAgICAgQVNTRVJUKGlzVmFsaWQoKSk7CisgICAgfQorCisgICAg
dm9pZCBwcnVuZUJ5TGl2ZW5lc3MoY29uc3QgSGFzaFNldDxOb2RlKj4mIGxpdmUpCisgICAgewor
ICAgICAgICBWZWN0b3I8Tm9kZSo+IHRvUmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8m
IHBhaXIgOiBtX3BvaW50ZXJzKSB7CisgICAgICAgICAgICBpZiAoIWxpdmUuY29udGFpbnMocGFp
ci5rZXkpKQorICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChwYWlyLmtleSk7CisgICAg
ICAgIH0KKyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogdG9SZW1vdmUpCisgICAgICAgICAgICBt
X3BvaW50ZXJzLnJlbW92ZShub2RlKTsKKyAgICAgICAgCisgICAgICAgIHBydW5lKCk7CisgICAg
fQorCisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIFBvaW50ZXJz
IHNob3VsZCBwb2ludCB0byBhbiBhY3R1YWwgYWxsb2NhdGlvbgorICAgICAgICBmb3IgKGNvbnN0
IGF1dG8mIHBhaXIgOiBtX3BvaW50ZXJzKSB7CisgICAgICAgICAgICBpZiAoIXBhaXIudmFsdWUp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgYXV0byBpdGVyID0g
bV9hbGxvY2F0aW9ucy5maW5kKHBhaXIudmFsdWUpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
bV9hbGxvY2F0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0KKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBtX2FsbG9jYXRpb25zKSB7
CisgICAgICAgICAgICAvLyBGaWVsZHMgc2hvdWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0
aW9uCisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogcGFpci52YWx1ZS5maWVs
ZHMoKSkgeworICAgICAgICAgICAgICAgIGlmICghZmllbGQudmFsdWUpCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1fYWxs
b2NhdGlvbnMuZmluZChmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
bV9hbGxvY2F0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBMb2NhbEhlYXAmIG90aGVyKSBjb25zdAorICAgIHsK
KyAgICAgICAgQVNTRVJUKGlzVmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkpOworICAgICAgICBy
ZXR1cm4gbV9hbGxvY2F0aW9ucyA9PSBvdGhlci5tX2FsbG9jYXRpb25zCisgICAgICAgICAgICAm
JiBtX3BvaW50ZXJzID09IG90aGVyLm1fcG9pbnRlcnM7CisgICAgfQorCisgICAgYm9vbCBvcGVy
YXRvciE9KGNvbnN0IExvY2FsSGVhcCYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgY29uc3QgSGFzaE1hcDxOb2RlKiwg
QWxsb2NhdGlvbj4gYWxsb2NhdGlvbnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
YWxsb2NhdGlvbnM7CisgICAgfQorCisgICAgY29uc3QgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IHBv
aW50ZXJzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3BvaW50ZXJzOworICAgIH0K
KworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAg
b3V0LnByaW50KCIgIEFsbG9jYXRpb25zOlxuIik7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYg
cGFpciA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICBvdXQucHJpbnQoIiAgICAjIiwgcGFp
ci5rZXksICI6ICIsIHBhaXIudmFsdWUsICJcbiIpOworICAgICAgICBvdXQucHJpbnQoIiAgUG9p
bnRlcnM6XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9wb2ludGVycykK
KyAgICAgICAgICAgIG91dC5wcmludCgiICAgICIsIHBhaXIua2V5LCAiID0+ICMiLCBwYWlyLnZh
bHVlLCAiXG4iKTsKKyAgICB9CisKKyAgICBib29sIHJlYWNoZWQoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIG1fcmVhY2hlZDsKKyAgICB9CisKKyAgICB2b2lkIHNldFJlYWNoZWQoKQor
ICAgIHsKKyAgICAgICAgbV9yZWFjaGVkID0gdHJ1ZTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
Ly8gV2hlbiB3ZSBtZXJnZSB0d28gaGVhcHMsIHdlIGVzY2FwZSBhbGwgZmllbGRzIG9mIGFsbG9j
YXRpb25zLAorICAgIC8vIHVubGVzcyB0aGV5IHBvaW50IHRvIHRoZSBzYW1lIHRoaW5nIGluIGJv
dGggaGVhcHMuCisgICAgLy8gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGl0IGFsbG93cyB1
cyBub3QgdG8gZG8gZXh0cmEgd29yaworICAgIC8vIGZvciBkaWFtb25kIGdyYXBocyB3aGVyZSB3
ZSB3b3VsZCBvdGhlcndpc2UgaGF2ZSB0byBjaGVjaworICAgIC8vIHdoZXRoZXIgd2UgaGF2ZSBh
IHNpbmdsZSBkZWZpbml0aW9uIG9yIG5vdCwgd2hpY2ggd291bGQgYmUKKyAgICAvLyBjdW1iZXJz
b21lLgorICAgIC8vCisgICAgLy8gTm90ZSB0aGF0IHdlIHNob3VsZCB0cnkgdG8gdW5pZnkgbm9k
ZXMgZXZlbiB3aGVuIHRoZXkgYXJlIG5vdAorICAgIC8vIGZyb20gdGhlIHNhbWUgYWxsb2NhdGlv
bjsgZm9yIGluc3RhbmNlIHdlIHNob3VsZCBiZSBhYmxlIHRvCisgICAgLy8gY29tcGxldGVseSBl
bGltaW5hdGUgYWxsIGFsbG9jYXRpb25zIGZyb20gdGhlIGZvbGxvd2luZyBncmFwaDoKKyAgICAv
LworICAgIC8vIEJsb2NrICMwCisgICAgLy8gIDA6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTog
QnJhbmNoKCMxLCAjMikKKyAgICAvLworICAgIC8vIEJsb2NrICMxCisgICAgLy8gIDE6IE5ld09i
amVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDEsICJsZWZ0IiwgdmFsKQorICAgIC8v
ICAtOiBQdXRTdHJ1Y3R1cmUoQDEsIHt2YWw6MH0pCisgICAgLy8gIC06IFB1dEJ5T2Zmc2V0KEAw
LCBAMSwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAvLyAgLTog
SnVtcCgjMykKKyAgICAvLworICAgIC8vIEJsb2NrICMyCisgICAgLy8gIDI6IE5ld09iamVjdCh7
fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDIsICJyaWdodCIsIHZhbCkKKyAgICAvLyAgLTog
UHV0U3RydWN0dXJlKEAyLCB7dmFsOjB9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMCwgQDIs
IHgpCisgICAgLy8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisgICAgLy8gIC06IEp1bXAo
IzMpCisgICAgLy8KKyAgICAvLyBCbG9jayAjMzoKKyAgICAvLyAgMzogR2V0QnlPZmZzZXQoQDAs
IHgpCisgICAgLy8gIDQ6IEdldEJ5T2Zmc2V0KEAzLCB2YWwpCisgICAgLy8gIC06IFJldHVybihA
NCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIEVzY2FwZUZ1bmN0b3IsIHR5
cGVuYW1lIFJlbW92ZUZ1bmN0b3I+CisgICAgdm9pZCBtZXJnZVBvaW50ZXJTZXRzKAorICAgICAg
ICBjb25zdCBIYXNoTWFwPEtleSwgTm9kZSo+JiBteSwgY29uc3QgSGFzaE1hcDxLZXksIE5vZGUq
PiYgdGhlaXIsCisgICAgICAgIGNvbnN0IEVzY2FwZUZ1bmN0b3ImIGVzY2FwZSwgY29uc3QgUmVt
b3ZlRnVuY3RvciYgcmVtb3ZlKQorICAgIHsKKyAgICAgICAgVmVjdG9yPEtleT4gdG9SZW1vdmU7
CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBteSkgeworICAgICAgICAgICAgYXV0
byBpdGVyID0gdGhlaXIuZmluZChlbnRyeS5rZXkpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
dGhlaXIuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQoZW50cnkua2V5
KTsKKyAgICAgICAgICAgICAgICBlc2NhcGUoZW50cnkudmFsdWUpOworICAgICAgICAgICAgfSBl
bHNlIGlmIChpdGVyLT52YWx1ZSAhPSBlbnRyeS52YWx1ZSkgeworICAgICAgICAgICAgICAgIHRv
UmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGVzY2FwZShlbnRyeS52
YWx1ZSk7CisgICAgICAgICAgICAgICAgZXNjYXBlKGl0ZXItPnZhbHVlKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogdGhlaXIpIHsK
KyAgICAgICAgICAgIGlmIChteS5jb250YWlucyhlbnRyeS5rZXkpKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgZXNjYXBlKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgfQor
ICAgICAgICBmb3IgKEtleSBrZXkgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgIHJlbW92ZShrZXkp
OworICAgIH0KKworICAgIHZvaWQgZXNjYXBlQWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVyKQor
ICAgIHsKKyAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IGdldEFsbG9jYXRpb24oaWRl
bnRpZmllcik7CisgICAgICAgIGlmIChhbGxvY2F0aW9uLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBbGxvY2F0aW9uIHVuZXNjYXBlZCA9IFdU
Rjo6bW92ZShhbGxvY2F0aW9uKTsKKyAgICAgICAgYWxsb2NhdGlvbiA9IEFsbG9jYXRpb24odW5l
c2NhcGVkLmlkZW50aWZpZXIoKSwgQWxsb2NhdGlvbjo6S2luZDo6RXNjYXBlZCk7CisKKyAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogdW5lc2NhcGVkLmZpZWxkcygpKQorICAgICAgICAg
ICAgZXNjYXBlQWxsb2NhdGlvbihwYWlyLnZhbHVlKTsKKworICAgICAgICBpZiAobV93YW50RXNj
YXBlZXMpCisgICAgICAgICAgICBtX2VzY2FwZWVzLmFkZCh1bmVzY2FwZWQuaWRlbnRpZmllcigp
LCBXVEY6Om1vdmUodW5lc2NhcGVkKSk7CisgICAgfQorCisgICAgdm9pZCBwcnVuZSgpCisgICAg
eworICAgICAgICBIYXNoU2V0PE5vZGUqPiByZWFjaGFibGU7CisgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgcGFpciA6IG1fcG9pbnRlcnMpCisgICAgICAgICAgICByZWFjaGFibGUuYWRkKHBhaXIu
dmFsdWUpOworCisgICAgICAgIC8vIFJlcGVhdGVkbHkgbWFyayBhcyByZWFjaGFibGUgYWxsb2Nh
dGlvbnMgaW4gZmllbGRzIG9mIG90aGVyCisgICAgICAgIC8vIHJlYWNoYWJsZSBhbGxvY2F0aW9u
cworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHdvcmtsaXN0OworICAgICAg
ICAgICAgd29ya2xpc3QuYXBwZW5kUmFuZ2UocmVhY2hhYmxlLmJlZ2luKCksIHJlYWNoYWJsZS5l
bmQoKSk7CisKKyAgICAgICAgICAgIHdoaWxlICghd29ya2xpc3QuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IHdvcmtsaXN0LnRha2VMYXN0KCk7CisgICAg
ICAgICAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1fYWxsb2NhdGlvbnMuZmluZChp
ZGVudGlmaWVyKS0+dmFsdWU7CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWly
IDogYWxsb2NhdGlvbi5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAocmVhY2hh
YmxlLmFkZChwYWlyLnZhbHVlKS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAg
d29ya2xpc3QuYXBwZW5kKHBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlbW92ZSB1bnJlYWNoYWJsZSBhbGxvY2F0
aW9ucworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHRvUmVtb3ZlOworICAg
ICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9hbGxvY2F0aW9ucykgeworICAgICAg
ICAgICAgICAgIGlmICghcmVhY2hhYmxlLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAg
ICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKHBhaXIua2V5KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvUmVtb3ZlKQorICAgICAgICAgICAgICAg
IG1fYWxsb2NhdGlvbnMucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICB9CisgICAgfQorCisg
ICAgYm9vbCBtX3JlYWNoZWQgPSBmYWxzZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2RlKj4gbV9w
b2ludGVyczsKKyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBtX2FsbG9jYXRpb25zOwor
CisgICAgYm9vbCBtX3dhbnRFc2NhcGVlcyA9IGZhbHNlOworICAgIEhhc2hNYXA8Tm9kZSosIEFs
bG9jYXRpb24+IG1fZXNjYXBlZXM7Cit9OworCitjbGFzcyBBbGxvY2F0aW9uQ3ljbGVTaW5raW5n
UGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAgIEFsbG9jYXRpb25DeWNsZVNpbmtp
bmdQaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAgIDogUGhhc2UoZ3JhcGgsICJvYmplY3QgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbiIpCisgICAgICAgICwgbV9wb2ludGVyU1NBKGdyYXBoKQorICAg
ICAgICAsIG1fYWxsb2NhdGlvblNTQShncmFwaCkKKyAgICAgICAgLCBtX2luc2VydGlvblNldChn
cmFwaCkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKG1fZ3JhcGgubV9mb3JtID09IFNTQSk7CisgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZml4
cG9pbnRTdGF0ZSA9PSBGaXhwb2ludE5vdENvbnZlcmdlZCk7CisKKyAgICAgICAgaWYgKCFwZXJm
b3JtU2lua2luZygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmICh2
ZXJib3NlKSB7CisgICAgICAgICAgICBkYXRhTG9nKCJHcmFwaCBhZnRlciBlbGltaW5hdGlvbjpc
biIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7CisgICAgICAgIH0KKworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBwZXJmb3JtU2lua2luZygp
CisgICAgeworICAgICAgICBtX2dyYXBoLmNvbXB1dGVSZWZDb3VudHMoKTsKKyAgICAgICAgbV9n
cmFwaC5pbml0aWFsaXplTm9kZU93bmVycygpOworICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFs
eXNpcyhtX2dyYXBoKTsKKyAgICAgICAgcGVyZm9ybU9TUkF2YWlsYWJpbGl0eUFuYWx5c2lzKG1f
Z3JhcGgpOworICAgICAgICBtX2NvbWJpbmVkTGl2ZW5lc3MgPSBDb21iaW5lZExpdmVuZXNzKG1f
Z3JhcGgpOworCisgICAgICAgIENTdHJpbmcgZ3JhcGhCZWZvcmVTaW5raW5nOworICAgICAgICBp
ZiAoT3B0aW9uczo6dmVyYm9zZVZhbGlkYXRpb25GYWlsdXJlKCkgJiYgT3B0aW9uczo6dmFsaWRh
dGVHcmFwaEF0RWFjaFBoYXNlKCkpIHsKKyAgICAgICAgICAgIFN0cmluZ1ByaW50U3RyZWFtIG91
dDsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcChvdXQpOworICAgICAgICAgICAgZ3JhcGhCZWZv
cmVTaW5raW5nID0gb3V0LnRvQ1N0cmluZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHZl
cmJvc2UpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBoIGJlZm9yZSBlbGltaW5hdGlvbjpc
biIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7CisgICAgICAgIH0KKworICAgICAgICBw
ZXJmb3JtQW5hbHlzaXMoKTsKKworICAgICAgICBpZiAoIWRldGVybWluZVNpbmtDYW5kaWRhdGVz
KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsK
KyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0
dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJIZWFwIGF0IGhlYWQgb2Yg
IiwgKmJsb2NrLCAiOiBcbiIsIG1faGVhcEF0SGVhZFtibG9ja10pOworICAgICAgICAgICAgICAg
IGRhdGFMb2coIkhlYXAgYXQgdGFpbCBvZiAiLCAqYmxvY2ssICI6IFxuIiwgbV9oZWFwQXRUYWls
W2Jsb2NrXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwcm9tb3RlTG9j
YWxIZWFwKCk7CisKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFz
ZSgpKQorICAgICAgICAgICAgdmFsaWRhdGUobV9ncmFwaCwgRHVtcEdyYXBoLCBncmFwaEJlZm9y
ZVNpbmtpbmcpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHBlcmZv
cm1BbmFseXNpcygpCisgICAgeworICAgICAgICBtX2hlYXBBdEhlYWQgPSBCbG9ja01hcDxMb2Nh
bEhlYXA+KG1fZ3JhcGgpOworICAgICAgICBtX2hlYXBBdFRhaWwgPSBCbG9ja01hcDxMb2NhbEhl
YXA+KG1fZ3JhcGgpOworCisgICAgICAgIGJvb2wgY2hhbmdlZDsKKyAgICAgICAgZG8geworICAg
ICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiRG9pbmcgaXRl
cmF0aW9uIG9mIGVzY2FwZSBhbmFseXNpcy5cbiIpOworICAgICAgICAgICAgY2hhbmdlZCA9IGZh
bHNlOworCisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9j
a3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXBBdEhlYWRbYmxvY2tdLnNl
dFJlYWNoZWQoKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxvY2td
OworCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAgICAg
ICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uLCBMYXp5Tm9k
ZSkgeyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlv
bikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKG1faGVhcCA9PSBtX2hlYXBBdFRhaWxbYmxvY2tdKQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIG1faGVhcEF0VGFpbFtibG9j
a10gPSBtX2hlYXA7CisgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CisKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV9oZWFwLmlzVmFsaWQoKSk7CisKKyAgICAgICAgICAgICAgICAvLyBX
ZSBrZWVwIG9ubHkgcG9pbnRlcnMgdGhhdCBhcmUgbGl2ZSwgYW5kIG9ubHkKKyAgICAgICAgICAg
ICAgICAvLyBhbGxvY2F0aW9ucyB0aGF0IGFyZSBlaXRoZXIgbGl2ZSwgcG9pbnRlZCB0byBieSBh
CisgICAgICAgICAgICAgICAgLy8gbGl2ZSBwb2ludGVyLCBvciAocmVjdXJzaXZlbHkpIHN0b3Jl
ZCBpbiBhIGZpZWxkIG9mCisgICAgICAgICAgICAgICAgLy8gYSBsaXZlIGFsbG9jYXRpb24uCisg
ICAgICAgICAgICAgICAgLy8KKyAgICAgICAgICAgICAgICAvLyBUaGlzIG1lYW5zIHdlIGNhbiBh
Y2NpZGVudGFseSBsZWFrIG5vbi1kb21pbmF0aW5nCisgICAgICAgICAgICAgICAgLy8gbm9kZXMg
aW50byB0aGUgc3VjY2Vzc29yLiBIb3dldmVyLCBkdWUgdG8gdGhlCisgICAgICAgICAgICAgICAg
Ly8gbm9uLWRvbWluYW5jZSBwcm9wZXJ0eSwgd2UgYXJlIGd1YXJhbnRlZWQgdGhhdCB0aGUKKyAg
ICAgICAgICAgICAgICAvLyBzdWNjZXNzb3IgaGFzIGF0IGxlYXN0IG9uZSBwcmVkZWNlc3NvciB0
aGF0IGlzIG5vdAorICAgICAgICAgICAgICAgIC8vIGRvbWluYXRlZCBlaXRoZXI6IHRoaXMgbWVh
bnMgYW55IHJlZmVyZW5jZSB0byBhCisgICAgICAgICAgICAgICAgLy8gbm9uLWRvbWluYXRpbmcg
YWxsb2NhdGlvbiBpbiB0aGUgc3VjY2Vzc29yIHdpbGwKKyAgICAgICAgICAgICAgICAvLyB0cmln
Z2VyIGFuIGVzY2FwZSBhbmQgZ2V0IHBydW5lZCBkdXJpbmcgdGhlIG1lcmdlLgorICAgICAgICAg
ICAgICAgIG1faGVhcC5wcnVuZUJ5TGl2ZW5lc3MobV9jb21iaW5lZExpdmVuZXNzLmxpdmVBdFRh
aWxbYmxvY2tdKTsKKworICAgICAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29y
QmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKQorICAgICAgICAgICAgICAgICAgICBtX2hlYXBB
dEhlYWRbc3VjY2Vzc29yQmxvY2tdLm1lcmdlKG1faGVhcCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gd2hpbGUgKGNoYW5nZWQpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFdy
aXRlRnVuY3RvciwgdHlwZW5hbWUgUmVzb2x2ZUZ1bmN0b3I+CisgICAgdm9pZCBoYW5kbGVOb2Rl
KAorICAgICAgICBOb2RlKiBub2RlLAorICAgICAgICBjb25zdCBXcml0ZUZ1bmN0b3ImIGhlYXBX
cml0ZSwKKyAgICAgICAgY29uc3QgUmVzb2x2ZUZ1bmN0b3ImIGhlYXBSZXNvbHZlKQorICAgIHsK
KyAgICAgICAgQVNTRVJUKG1faGVhcC5pc1ZhbGlkKCkpOworICAgICAgICBBU1NFUlQobV9oZWFw
LnRha2VFc2NhcGVlcygpLmlzRW1wdHkoKSk7CisKKyAgICAgICAgQWxsb2NhdGlvbiogdGFyZ2V0
ID0gbnVsbHB0cjsKKyAgICAgICAgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwg
TGF6eU5vZGU+IHdyaXRlczsKKyAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZXhh
Y3RSZWFkOworCisgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICBjYXNlIE5l
d09iamVjdDoKKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2Rl
LCBBbGxvY2F0aW9uOjpLaW5kOjpPYmplY3QpOworICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1
Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAg
ICAgICAgICAgICAgU3RydWN0dXJlUExvYywgTGF6eU5vZGUobV9ncmFwaC5mcmVlemUobm9kZS0+
c3RydWN0dXJlKCkpKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIE1hdGVy
aWFsaXplTmV3T2JqZWN0OiB7CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9j
YXRpb24obm9kZSwgQWxsb2NhdGlvbjo6S2luZDo6T2JqZWN0KTsKKyAgICAgICAgICAgIHRhcmdl
dC0+c2V0U3RydWN0dXJlcyhub2RlLT5zdHJ1Y3R1cmVTZXQoKSk7CisgICAgICAgICAgICB3cml0
ZXMuYWRkKAorICAgICAgICAgICAgICAgIFN0cnVjdHVyZVBMb2MsIExhenlOb2RlKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpKSk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGll
cy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAg
ICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKAorICAgICAgICAgICAgICAgICAg
ICAgICAgTmFtZWRQcm9wZXJ0eVBMb2MsCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5v
YmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ldLm1faWRlbnRpZmllck51
bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG1fZ3JhcGgudmFyQXJnQ2hpbGQo
bm9kZSwgaSArIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CisgICAgICAgICAgICBp
ZiAobm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVu
Y3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwg
QWxsb2NhdGlvbjo6S2luZDo6RnVuY3Rpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChGdW5j
dGlvbkV4ZWN1dGFibGVQTG9jLCBMYXp5Tm9kZShub2RlLT5jZWxsT3BlcmFuZCgpKSk7CisgICAg
ICAgICAgICB3cml0ZXMuYWRkKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2MsIExhenlOb2RlKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIGlmIChub2RlLT5jYXN0
T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCktPnNpbmdsZXRvblNjb3BlKCktPmlzU3RpbGxWYWxpZCgp
KSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkp
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFy
Z2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6OkFjdGl2
YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9j
LCBMYXp5Tm9kZShub2RlLT5jZWxsT3BlcmFuZCgpKSk7CisgICAgICAgICAgICB3cml0ZXMuYWRk
KEFjdGl2YXRpb25TY29wZVBMb2MsIExhenlOb2RlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9
IG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKTsKKyAgICAgICAgICAgICAgICBDb25j
dXJyZW50SklUTG9ja2VyIGxvY2tlcihzeW1ib2xUYWJsZS0+bV9sb2NrKTsKKyAgICAgICAgICAg
ICAgICBMYXp5Tm9kZSB1bmRlZmluZWQobV9ncmFwaC5mcmVlemUoanNVbmRlZmluZWQoKSkpOwor
ICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdGVyID0gc3ltYm9sVGFibGUtPmJlZ2luKGxvY2tl
ciksIGVuZCA9IHN5bWJvbFRhYmxlLT5lbmQobG9ja2VyKTsgaXRlciAhPSBlbmQ7ICsraXRlcikg
eworICAgICAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIGl0ZXItPnZhbHVl
LnNjb3BlT2Zmc2V0KCkub2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZp
bmVkKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9u
OiB7CisgICAgICAgICAgICAvLyBXZSBoYXZlIHN1bmsgdGhpcyBvbmNlIGFscmVhZHkgLSB0aGVy
ZSBpcyBubyB3YXkgdGhlCisgICAgICAgICAgICAvLyB3YXRjaHBvaW50IGlzIHN0aWxsIHZhbGlk
LgorICAgICAgICAgICAgQVNTRVJUKCFub2RlLT5jYXN0T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCkt
PnNpbmdsZXRvblNjb3BlKCktPmlzU3RpbGxWYWxpZCgpKTsKKyAgICAgICAgICAgIHRhcmdldCA9
ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpBY3RpdmF0aW9u
KTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgTGF6
eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKKyAgICAgICAgICAg
IHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywgTGF6eU5vZGUobV9ncmFwaC52YXJBcmdD
aGlsZChub2RlLCAxKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUo
KTsgKytpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICBD
bG9zdXJlVmFyUExvYywKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVy
aWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAg
ICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsg
Mikubm9kZSgpKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9o
ZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24oKSkgeworICAgICAg
ICAgICAgICAgIHdyaXRlcy5hZGQoU3RydWN0dXJlUExvYywgTGF6eU5vZGUobV9ncmFwaC5mcmVl
emUoSlNWYWx1ZShub2RlLT50cmFuc2l0aW9uKCktPm5leHQpKSkpOworICAgICAgICAgICAgICAg
IHRhcmdldC0+c2V0U3RydWN0dXJlcyhub2RlLT50cmFuc2l0aW9uKCktPm5leHQpOworICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEo
KS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBDaGVja1N0cnVj
dHVyZTogeworICAgICAgICAgICAgQWxsb2NhdGlvbiogYWxsb2NhdGlvbiA9IG1faGVhcC5vbmx5
TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAo
YWxsb2NhdGlvbiAmJiBhbGxvY2F0aW9uLT5pc09iamVjdEFsbG9jYXRpb24oKSkgeworICAgICAg
ICAgICAgICAgIGFsbG9jYXRpb24tPmZpbHRlclN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlU2V0
KCkpOworICAgICAgICAgICAgICAgIGlmIChOb2RlKiB2YWx1ZSA9IGhlYXBSZXNvbHZlKFByb21v
dGVkSGVhcExvY2F0aW9uKGFsbG9jYXRpb24tPmlkZW50aWZpZXIoKSwgU3RydWN0dXJlUExvYykp
KQorICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9DaGVja1N0cnVjdHVyZUltbWVk
aWF0ZSh2YWx1ZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAu
ZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorCisgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CisgICAgICAgIGNhc2UgR2V0R2V0dGVy
U2V0dGVyQnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxs
b2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAm
JiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRlbnRpZmll
ck51bWJlcjsKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRlbnRpZmllck51bWJlcik7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCku
bm9kZSgpKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMigpLm5v
ZGUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IE11bHRpR2V0QnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2Fs
QWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdl
dCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPm11bHRpR2V0QnlPZmZzZXREYXRhKCkuaWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRlbnRpZmllck51bWJlcik7CisgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxk
MSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFB1dEJ5T2Zm
c2V0OgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9k
ZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5p
c09iamVjdEFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXJOdW1iZXIgPSBub2RlLT5zdG9yYWdlQWNjZXNzRGF0YSgpLmlkZW50aWZpZXJOdW1iZXI7Cisg
ICAgICAgICAgICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0eVBMb2MsIGlkZW50aWZpZXJOdW1iZXIpLAor
ICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShub2RlLT5jaGlsZDMoKS5ub2RlKCkpKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5j
aGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hp
bGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxk
MygpLm5vZGUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBjYXNlIEdldENsb3N1cmVWYXI6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxv
Y2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRh
cmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAg
ICAgIGV4YWN0UmVhZCA9CisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNj
cmlwdG9yKENsb3N1cmVWYXJQTG9jLCBub2RlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpKTsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hp
bGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgUHV0Q2xv
c3VyZVZhcjoKKyAgICAgICAgICAgIHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9u
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdl
dC0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFk
ZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3Vy
ZVZhclBMb2MsIG5vZGUtPnNjb3BlT2Zmc2V0KCkub2Zmc2V0KCkpLAorICAgICAgICAgICAgICAg
ICAgICBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkp
OworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU2tpcFNj
b3BlOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9k
ZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5p
c0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0gQWN0
aXZhdGlvblNjb3BlUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAg
aWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAg
ICAgICAgZXhhY3RSZWFkID0gRnVuY3Rpb25FeGVjdXRhYmxlUExvYzsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEdldFNjb3BlOgorICAgICAgICAg
ICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9k
ZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0Z1bmN0aW9uQWxsb2Nh
dGlvbigpKQorICAgICAgICAgICAgICAgIGV4YWN0UmVhZCA9IEZ1bmN0aW9uQWN0aXZhdGlvblBM
b2M7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2Rl
LT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBD
aGVjazoKKyAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAg
IG5vZGUsCisgICAgICAgICAgICAgICAgWyZdIChFZGdlIGVkZ2UpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGVkZ2Uud2lsbE5vdEhhdmVDaGVjaygpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgICAgIGlmIChhbHJlYWR5Q2hlY2tlZChlZGdl
LnVzZUtpbmQoKSwgU3BlY09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIE1vdkhp
bnQ6CisgICAgICAgIGNhc2UgUHV0SGludDoKKyAgICAgICAgICAgIC8vIEhhbmRsZWQgYnkgT1NS
IGF2YWlsYWJpbGl0eSBhbmFseXNpcworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAg
IG5vZGUsCisgICAgICAgICAgICAgICAgWyZdIChFZGdlIGVkZ2UpIHsKKyAgICAgICAgICAgICAg
ICAgICAgbV9oZWFwLmVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChleGFjdFJlYWQpIHsK
KyAgICAgICAgICAgIEFTU0VSVCh0YXJnZXQpOworICAgICAgICAgICAgQVNTRVJUKHdyaXRlcy5p
c0VtcHR5KCkpOworICAgICAgICAgICAgaWYgKE5vZGUqIHZhbHVlID0gaGVhcFJlc29sdmUoUHJv
bW90ZWRIZWFwTG9jYXRpb24odGFyZ2V0LT5pZGVudGlmaWVyKCksIGV4YWN0UmVhZCkpKSB7Cisg
ICAgICAgICAgICAgICAgQVNTRVJUKCF2YWx1ZS0+cmVwbGFjZW1lbnQoKSk7CisgICAgICAgICAg
ICAgICAgbm9kZS0+cmVwbGFjZVdpdGgodmFsdWUpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgTm9kZSogaWRlbnRpZmllciA9IHRhcmdldC0+Z2V0KGV4YWN0UmVhZCk7CisgICAgICAgICAg
ICBpZiAoaWRlbnRpZmllcikKKyAgICAgICAgICAgICAgICBtX2hlYXAubmV3UG9pbnRlcihub2Rl
LCBpZGVudGlmaWVyKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoYXV0byBwYWlyIDogd3Jp
dGVzKSB7CisgICAgICAgICAgICBBU1NFUlQodGFyZ2V0KTsKKyAgICAgICAgICAgIGlmIChwYWly
LnZhbHVlLmlzTm9kZSgpKQorICAgICAgICAgICAgICAgIHRhcmdldC0+c2V0KHBhaXIua2V5LCBt
X2hlYXAuZm9sbG93KHBhaXIudmFsdWUuYXNOb2RlKCkpKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICB0YXJnZXQtPnJlbW92ZShwYWlyLmtleSk7CisgICAgICAgICAgICBoZWFw
V3JpdGUoUHJvbW90ZWRIZWFwTG9jYXRpb24odGFyZ2V0LT5pZGVudGlmaWVyKCksIHBhaXIua2V5
KSwgcGFpci52YWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQobV9oZWFwLmlzVmFs
aWQoKSk7CisgICAgfQorCisgICAgYm9vbCBkZXRlcm1pbmVTaW5rQ2FuZGlkYXRlcygpCisgICAg
eworICAgICAgICBtX3NpbmtDYW5kaWRhdGVzLmNsZWFyKCk7CisgICAgICAgIG1fbWF0ZXJpYWxp
emF0aW9uVG9Fc2NhcGVlLmNsZWFyKCk7CisgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRv
TWF0ZXJpYWxpemF0aW9ucy5jbGVhcigpOworICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVU
b1JlY292ZXJpZXMuY2xlYXIoKTsKKworICAgICAgICAvLyBMb2dpY2FsbHkgd2Ugd2lzaCB0byBj
b25zaWRlciBldmVyeSBhbGxvY2F0aW9uIGFuZCBzaW5rCisgICAgICAgIC8vIGl0LiBIb3dldmVy
LCBpdCBpcyBwcm9iYWJseSBub3QgcHJvZml0YWJsZSB0byBzaW5rIGFuCisgICAgICAgIC8vIGFs
bG9jYXRpb24gdGhhdCB3aWxsIGFsd2F5cyBlc2NhcGUuIFNvLCB3ZSBvbmx5IHNpbmsgYW4KKyAg
ICAgICAgLy8gYWxsb2NhdGlvbiBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOgorICAg
ICAgICAvLworICAgICAgICAvLyAxKSBUaGVyZSBleGlzdHMgYSBiYXNpYyBibG9jayB3aXRoIG9u
bHkgYmFja3dhcmRzIG91dGdvaW5nCisgICAgICAgIC8vICAgIGVkZ2VzIChvciBubyBvdXRnb2lu
ZyBlZGdlcykgaW4gd2hpY2ggdGhlIG5vZGUgd2Fzbid0CisgICAgICAgIC8vICAgIG1hdGVyaWFs
aXplZC4gVGhpcyBpcyBtZWFudCB0byBjYXRjaAorICAgICAgICAvLyAgICBlZmZlY3RpdmVseS1p
bmZpbml0ZSBsb29wcyBpbiB3aGljaCB3ZSBkb24ndCBuZWVkIHRvCisgICAgICAgIC8vICAgIGhh
dmUgYWxsb2NhdGVkIHRoZSBvYmplY3QuCisgICAgICAgIC8vCisgICAgICAgIC8vIDIpIFRoZXJl
IGV4aXN0cyBhIGJhc2ljIGJsb2NrIGF0IHRoZSB0YWlsIG9mIHdoaWNoIHRoZSBub2RlCisgICAg
ICAgIC8vICAgIGlzIGRlYWQgYW5kIG5vdCBtYXRlcmlhbGl6ZWQuCisgICAgICAgIC8vCisgICAg
ICAgIC8vIDMpIFRoZSBzdW0gb2YgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgbWF0ZXJpYWxpemF0
aW9ucyBpcworICAgICAgICAvLyAgICBsZXNzIHRoYW4gdGhlIHN1bSBvZiBleGVjdXRpb24gY291
bnRzIG9mIHRoZSBvcmlnaW5hbAorICAgICAgICAvLyAgICBub2RlLgorICAgICAgICAvLworICAg
ICAgICAvLyBXZSBjdXJyZW50bHkgaW1wbGVtZW50IG9ubHkgcnVsZSAjMi4KKyAgICAgICAgLy8g
RklYTUU6IEltcGxlbWVudCB0aGUgdHdvIG90aGVyIHJ1bGVzLgorICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDczIChydWxlICMxKQorICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDc0IChydWxl
ICMzKQorICAgICAgICAvLworICAgICAgICAvLyBIb3dldmVyLCB0aGVzZSBydWxlcyBhbGxvdyBm
b3IgYSBzdW5rIG9iamV0IHRvIGJlIHB1dCBpbnRvCisgICAgICAgIC8vIGEgbm9uLXN1bmsgb25l
LCB3aGljaCB3ZSBkb24ndCBzdXBwb3J0LiBXZSBjb3VsZCBzb2x2ZSB0aGlzCisgICAgICAgIC8v
IGJ5IHN1cHBvcnRpbmcgUHV0SGludHMgb24gbG9jYWwgYWxsb2NhdGlvbnMsIG1ha2luZyB0aGVz
ZQorICAgICAgICAvLyBvYmplY3RzIG9ubHkgcGFydGlhbGx5IGNvcnJlY3QsIGFuZCB3ZSB3b3Vs
ZCBuZWVkIHRvIGFkYXB0CisgICAgICAgIC8vIHRoZSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lz
IGFuZCBPU1IgZXhpdCB0byBoYW5kbGUKKyAgICAgICAgLy8gdGhpcy4gVGhpcyB3b3VsZCBiZSB0
b3RhbGx5IGRvYWJsZSwgYnV0IHdvdWxkIGNyZWF0ZSBhCisgICAgICAgIC8vIHN1cGVyIHJhcmUs
IGFuZCB0aHVzIGJ1Zy1wcm9uZSwgY29kZSBwYXRoLgorICAgICAgICAvLyBTbywgaW5zdGVhZCwg
d2UgbmVlZCB0byBpbXBsZW1lbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcKKyAgICAgICAgLy8gY2xv
c3VyZSBydWxlczoKKyAgICAgICAgLy8KKyAgICAgICAgLy8gMSkgSWYgd2UgcHV0IGEgc2luayBj
YW5kaWRhdGUgaW50byBhIGxvY2FsIGFsbG9jYXRpb24gdGhhdAorICAgICAgICAvLyAgICBpcyBu
b3QgYSBzaW5rIGNhbmRpZGF0ZSwgY2hhbmdlIG91ciBtaW5kcyBhbmQgZG9uJ3QKKyAgICAgICAg
Ly8gICAgYWN0dWFsbHkgc2luayB0aGUgc2luayBjYW5kaWRhdGUuCisgICAgICAgIC8vCisgICAg
ICAgIC8vIDIpIElmIHdlIHB1dCBhIHNpbmsgY2FuZGlkYXRlIGludG8gYSBsb2NhbCBhbGxvY2F0
aW9uLCB0aGF0CisgICAgICAgIC8vICAgIGFsbG9jYXRpb24gYmVjb21lcyBhIHNpbmsgY2FuZGlk
YXRlIGFzIHdlbGwuCisgICAgICAgIC8vCisgICAgICAgIC8vIFdlIGN1cnJlbnRseSBjaG9vc2Ug
dG8gaW1wbGVtZW50IGNsb3N1cmUgcnVsZSAjMi4KKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgVmVj
dG9yPE5vZGUqPj4gZGVwczsKKyAgICAgICAgYm9vbCBoYXNVbmVzY2FwZWRSZWFkcyA9IGZhbHNl
OworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9y
ZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisKKyAg
ICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGhh
bmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAg
IFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlOb2RlIHZhbHVlKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLmlzTm9kZSgpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2Nh
dGlvbiogYWxsb2NhdGlvbiA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKHZhbHVlLmFzTm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uICYmICFhbGxvY2F0
aW9uLT5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVwcy5hZGQoYWxsb2NhdGlvbi0+aWRlbnRpZmllcigpLCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJh
dG9yLT52YWx1ZS5hcHBlbmQobG9jYXRpb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9k
ZSogeworICAgICAgICAgICAgICAgICAgICAgICAgaGFzVW5lc2NhcGVkUmVhZHMgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBUaGUgc2luayBjYW5kaWRh
dGVzIGFyZSBpbml0aWFsbHkgdGhlIHVuZXNjYXBlZAorICAgICAgICAgICAgLy8gYWxsb2NhdGlv
bnMgZHlpbmcgYXQgdGFpbCBvZiBibG9ja3MKKyAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IGFs
bG9jYXRpb25zOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9oZWFwLmFs
bG9jYXRpb25zKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXBhaXIudmFsdWUuaXNFc2NhcGVk
QWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9ucy5hZGQocGFpci5r
ZXkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNz
KG1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgIGZv
ciAoTm9kZSogaWRlbnRpZmllciA6IGFsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFtX2hlYXAuaXNBbGxvY2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBt
X3NpbmtDYW5kaWRhdGVzLmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIC8vIEltcGxlbWVudCB0aGUgY2xvc3VyZSBydWxlCisgICAgICAgIFZlY3Rv
cjxOb2RlKj4gd29ya2xpc3Q7CisgICAgICAgIHdvcmtsaXN0LmFwcGVuZFJhbmdlKG1fc2lua0Nh
bmRpZGF0ZXMuYmVnaW4oKSwgbV9zaW5rQ2FuZGlkYXRlcy5lbmQoKSk7CisKKyAgICAgICAgd2hp
bGUgKCF3b3JrbGlzdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRp
ZmllciA6IGRlcHMuZ2V0KHdvcmtsaXN0LnRha2VMYXN0KCkpKSB7CisgICAgICAgICAgICAgICAg
aWYgKG1fc2lua0NhbmRpZGF0ZXMuYWRkKGlkZW50aWZpZXIpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCisgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybiBoYXNVbmVzY2FwZWRSZWFkczsKKworICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgIGRhdGFMb2coIkNhbmRpZGF0ZXM6ICIsIGxpc3REdW1wKG1fc2lua0Nh
bmRpZGF0ZXMpLCAiXG4iKTsKKworICAgICAgICAvLyBDcmVhdGUgdGhlIG1hdGVyaWFsaXphdGlv
biBub2RlcworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJ
bk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxv
Y2tdOworICAgICAgICAgICAgbV9oZWFwLnNldFdhbnRFc2NhcGVlcygpOworCisgICAgICAgICAg
ICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBoYW5kbGVOb2Rl
KAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJv
bW90ZWRIZWFwTG9jYXRpb24sIExhenlOb2RlKSB7IH0sCisgICAgICAgICAgICAgICAgICAgIFtd
IChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
ICAgIGF1dG8gZXNjYXBlZXMgPSBtX2hlYXAudGFrZUVzY2FwZWVzKCk7CisgICAgICAgICAgICAg
ICAgaWYgKCFlc2NhcGVlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIHBsYWNlTWF0
ZXJpYWxpemF0aW9ucyhlc2NhcGVlcywgbm9kZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIG1faGVhcC5wcnVuZUJ5TGl2ZW5lc3MobV9jb21iaW5lZExpdmVuZXNzLmxpdmVBdFRhaWxb
YmxvY2tdKTsKKworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEhhc2hNYXA8Tm9kZSos
IEFsbG9jYXRpb24+IGVzY2FwaW5nT25FZGdlOworICAgICAgICAgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgcGFpciA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChwYWlyLnZhbHVlLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgIGJvb2wgbXVzdEVzY2FwZSA9
IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJs
b2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCFtX2hlYXBBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmlzQWxsb2NhdGlvbihwYWlyLmtleSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBtX2hlYXBBdEhlYWRbc3VjY2Vzc29yQmxvY2td
LmdldEFsbG9jYXRpb24ocGFpci5rZXkpLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtdXN0RXNjYXBlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgICAgIGlmIChtdXN0RXNjYXBlKQorICAgICAgICAgICAg
ICAgICAgICAgICAgZXNjYXBpbmdPbkVkZ2UuYWRkKHBhaXIua2V5LCBwYWlyLnZhbHVlKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRpb25zKFdU
Rjo6bW92ZShlc2NhcGluZ09uRWRnZSksIGJsb2NrLT50ZXJtaW5hbCgpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBoYXNVbmVzY2FwZWRSZWFkcyB8fCAhbV9z
aW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCk7CisgICAgfQorCisgICAgdm9pZCBwbGFjZU1hdGVyaWFs
aXphdGlvbnMoSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gZXNjYXBlZXMsIE5vZGUqIHdoZXJl
KQorICAgIHsKKyAgICAgICAgLy8gV2UgZG9uJ3QgY3JlYXRlIG1hdGVyaWFsaXphdGlvbnMgaWYg
dGhlIGVzY2FwZWUgaXMgbm90IGEKKyAgICAgICAgLy8gc2luayBjYW5kaWRhdGUKKyAgICAgICAg
VmVjdG9yPE5vZGUqPiB0b1JlbW92ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDog
ZXNjYXBlZXMpIHsKKyAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhw
YWlyLmtleSkpCisgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKHBhaXIua2V5KTsKKyAg
ICAgICAgfQorICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiB0b1JlbW92ZSkKKyAgICAg
ICAgICAgIGVzY2FwZWVzLnJlbW92ZShpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoZXNjYXBl
ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIEZpcnN0IGNv
bGxlY3QgdGhlIGhpbnRzIHRoYXQgd2lsbCBiZSBuZWVkZWQgd2hlbiB0aGUgbm9kZQorICAgICAg
ICAvLyB3ZSBtYXRlcmlhbGl6ZSBpcyBzdGlsbCBzdG9yZWQgaW50byBvdGhlciB1bmVzY2FwZWQg
c2luayBjYW5kaWRhdGVzCisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gaGlu
dHM7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1faGVhcC5hbGxvY2F0aW9ucygp
KSB7CisgICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMocGFpci5rZXkpKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxk
IDogcGFpci52YWx1ZS5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtX3NpbmtD
YW5kaWRhdGVzLmNvbnRhaW5zKHBhaXIua2V5KSB8fCAhZXNjYXBlZXMuY29udGFpbnMoZmllbGQu
dmFsdWUpKTsKKyAgICAgICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMoZmllbGQudmFs
dWUpICYmICFmaWVsZC5rZXkubmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAg
ICAgICAgICAgIGhpbnRzLmFwcGVuZChQcm9tb3RlZEhlYXBMb2NhdGlvbihwYWlyLmtleSwgZmll
bGQua2V5KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBOb3cgd2Ug
bmVlZCB0byBvcmRlciB0aGUgbWF0ZXJpYWxpemF0aW9uLiBBbnkgb3JkZXIgaXMKKyAgICAgICAg
Ly8gdmFsaWQgKGFzIGxvbmcgYXMgd2UgbWF0ZXJpYWxpemUgYSBub2RlIGZpcnN0IGlmIGl0IGlz
CisgICAgICAgIC8vIG5lZWRlZCBmb3IgdGhlIG1hdGVyaWFsaXphdGlvbiBvZiBhbm90aGVyIG5v
ZGUsIGUuZy4gYQorICAgICAgICAvLyBmdW5jdGlvbidzIGFjdGl2YXRpb24gbXVzdCBiZSBtYXRl
cmlhbGl6ZWQgYmVmb3JlIHRoZQorICAgICAgICAvLyBmdW5jdGlvbiBpdHNlbGYpLCBidXQgd2Ug
d2FudCB0byB0cnkgbWluaW1pemluZyB0aGUgbnVtYmVyCisgICAgICAgIC8vIG9mIHRpbWVzIHdl
IGhhdmUgdG8gcGxhY2UgUHV0cyB0byBjbG9zZSBjeWNsZXMgYWZ0ZXIgYQorICAgICAgICAvLyBt
YXRlcmlhbGl6YXRpb24uIEluIG90aGVyIHdvcmRzLCB3ZSBhcmUgdHJ5aW5nIHRvIGZpbmQgdGhl
CisgICAgICAgIC8vIG1pbmltdW0gbnVtYmVyIG9mIG1hdGVyaWFsaXphdGlvbnMgdG8gcmVtb3Zl
IGZyb20gdGhlCisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiBncmFwaCB0byBtYWtlIGl0IGEg
REFHLCBrbm93biBhcyB0aGUKKyAgICAgICAgLy8gKHZlcnRleCkgZmVlZGJhY2sgc2V0IHByb2Js
ZW0uIFVuZm9ydHVuYXRlbHksIHRoaXMgaXMgYQorICAgICAgICAvLyBOUC1oYXJkIHByb2JsZW0s
IHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc29sdmUgZXhhY3RseS4KKyAgICAgICAgLy8KKyAgICAg
ICAgLy8gSW5zdGVhZCwgd2UgdXNlIGEgc2ltcGxlIGdyZWVkeSBwcm9jZWR1cmUsIHRoYXQgcHJv
Y2VkZXMgYXMKKyAgICAgICAgLy8gZm9sbG93OgorICAgICAgICAvLyAgLSBXaGlsZSB0aGVyZSBp
cyBhdCBsZWFzdCBvbmUgbm9kZSB3aXRoIG5vIG91dGdvaW5nIGVkZ2UKKyAgICAgICAgLy8gICAg
YW1vbmdzdCB0aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsIG1hdGVyaWFsaXplIGl0Cisg
ICAgICAgIC8vICAgIGZpcnN0CisgICAgICAgIC8vIAorICAgICAgICAvLyAgLSBTaW1pbGFyaWx5
LCB3aGlsZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgbm9kZSB3aXRoIG5vCisgICAgICAgIC8vICAg
IGluY29taW5nIGVkZ2UgYW1vbmdzdCB0aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsCisg
ICAgICAgIC8vICAgIG1hdGVyaWFsaXplIGl0IGxhc3QuCisgICAgICAgIC8vCisgICAgICAgIC8v
ICAtIFdoZW4gYm90aCBwcmV2aW91cyBjb25kaXRpb25zIGFyZSBmYWxzZSwgd2UgaGF2ZSBhbgor
ICAgICAgICAvLyAgICBhY3R1YWwgY3ljbGUsIGFuZCB3ZSBuZWVkIHRvIHBpY2sgYSBub2RlIHRv
CisgICAgICAgIC8vICAgIG1hdGVyaWFsaXplLiBXZSB0cnkgZ3JlZWRpbHkgdG8gcmVtb3ZlIHRo
ZSAicHJlc3N1cmUiIG9uCisgICAgICAgIC8vICAgIHRoZSByZW1haW5pbmcgbm9kZXMgYnkgY2hv
b3NpbmcgdGhlIG5vZGUgd2l0aCBtYXhpbXVtCisgICAgICAgIC8vICAgIHxpbmNvbWluZyBlZGdl
c3wgKiB8b3V0Z29pbmcgZWRnZXN8IGFzIGEgbWVhc3VyZSBvZiBob3cKKyAgICAgICAgLy8gICAg
ImNlbnRyYWwiIHRvIHRoZSBncmFwaCBpdCBpcy4gV2UgbWF0ZXJpYWxpemUgaXQgZmlyc3QsCisg
ICAgICAgIC8vICAgIHNvIHRoYXQgYWxsIHRoZSByZWNvdmVyaWVzIHdpbGwgYmUgUHV0cyBvZiB0
aGluZ3MgaW50bworICAgICAgICAvLyAgICBpdCAocmF0aGVyIHRoYW4gUHV0cyBvZiB0aGUgbWF0
ZXJpYWxpemF0aW9uIGludG8gb3RoZXIKKyAgICAgICAgLy8gICAgb2JqZWN0cyksIHdoaWNoIG1l
YW5zIHdlIHdpbGwgaGF2ZSBhIHNpbmdsZQorICAgICAgICAvLyAgICBTdG9yZUJhcnJpZXIuCisK
KworICAgICAgICAvLyBDb21wdXRlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIG1hdGVyaWFsaXphdGlv
bnMKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IGRlcHM7CisgICAgICAg
IEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiByZGVwczsKKyAgICAgICAgSGFzaE1hcDxO
b2RlKiwgSGFzaFNldDxOb2RlKj4+IGZvck1hdGVyaWFsaXphdGlvbjsKKyAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBwYWlyIDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgIGF1dG8mIG15RGVwcyA9
IGRlcHMuYWRkKHBhaXIua2V5LCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7Cisg
ICAgICAgICAgICBhdXRvJiBteURlcHNGb3JNYXRlcmlhbGl6YXRpb24gPSBmb3JNYXRlcmlhbGl6
YXRpb24uYWRkKHBhaXIua2V5LCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7Cisg
ICAgICAgICAgICByZGVwcy5hZGQocGFpci5rZXksIEhhc2hTZXQ8Tm9kZSo+KCkpOworICAgICAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBmaWVsZCA6IHBhaXIudmFsdWUuZmllbGRzKCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMoZmllbGQudmFsdWUpICYmIGZpZWxk
LnZhbHVlICE9IHBhaXIua2V5KSB7CisgICAgICAgICAgICAgICAgICAgIG15RGVwcy5hZGQoZmll
bGQudmFsdWUpOworICAgICAgICAgICAgICAgICAgICByZGVwcy5hZGQoZmllbGQudmFsdWUsIEhh
c2hTZXQ8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hZGQocGFpci5rZXkpOworICAgICAgICAg
ICAgICAgICAgICBpZiAoZmllbGQua2V5Lm5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgbXlEZXBzRm9yTWF0ZXJpYWxpemF0aW9uLmFkZChmaWVsZC52
YWx1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbWF0ZXJpYWxpemVkIHNldCBh
bmQgdGhlCisgICAgICAgIC8vIGRlcGVuZGVuY2llcworICAgICAgICBIYXNoU2V0PE5vZGUqPiBt
YXRlcmlhbGl6ZWQ7CisgICAgICAgIGF1dG8gbWF0ZXJpYWxpemUgPSBbJl0gKE5vZGUqIGlkZW50
aWZpZXIpIHsKKyAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQoaWRlbnRpZmllcik7CisgICAg
ICAgICAgICBmb3IgKE5vZGUqIGRlcCA6IGRlcHMuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICAg
ICAgICAgIHJkZXBzLmZpbmQoZGVwKS0+dmFsdWUucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAg
ICAgICAgZm9yIChOb2RlKiByZGVwIDogcmRlcHMuZ2V0KGlkZW50aWZpZXIpKSB7CisgICAgICAg
ICAgICAgICAgZGVwcy5maW5kKHJkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAg
ICAgICAgICAgICAgZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQocmRlcCktPnZhbHVlLnJlbW92ZShp
ZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlcHMucmVtb3ZlKGlkZW50
aWZpZXIpOworICAgICAgICAgICAgcmRlcHMucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICAg
ICAgZm9yTWF0ZXJpYWxpemF0aW9uLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgfTsKKwor
ICAgICAgICAvLyBOb2RlcyB3aXRob3V0IHJlbWFpbmluZyB1bm1hdGVyaWFsaXplZCBmaWVsZHMg
d2lsbCBiZQorICAgICAgICAvLyBtYXRlcmlhbGl6ZWQgZmlyc3QgLSBhbW9uZ3N0IHRoZSByZW1h
aW5pbmcgdW5tYXRlcmlhbGl6ZWQKKyAgICAgICAgLy8gbm9kZXMKKyAgICAgICAgc3RkOjpsaXN0
PEFsbG9jYXRpb24+IHRvTWF0ZXJpYWxpemU7CisgICAgICAgIGF1dG8gZmlyc3RQb3MgPSB0b01h
dGVyaWFsaXplLmJlZ2luKCk7CisgICAgICAgIGF1dG8gbWF0ZXJpYWxpemVGaXJzdCA9IFsmXSAo
QWxsb2NhdGlvbiYmIGFsbG9jYXRpb24pIHsKKyAgICAgICAgICAgIG1hdGVyaWFsaXplKGFsbG9j
YXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gaW5zZXJ0ICph
ZnRlciogdGhlIGN1cnJlbnQgcG9zaXRpb24KKyAgICAgICAgICAgIGlmIChmaXJzdFBvcyAhPSB0
b01hdGVyaWFsaXplLmVuZCgpKQorICAgICAgICAgICAgICAgICsrZmlyc3RQb3M7CisgICAgICAg
ICAgICBmaXJzdFBvcyA9IHRvTWF0ZXJpYWxpemUuaW5zZXJ0KGZpcnN0UG9zLCBXVEY6Om1vdmUo
YWxsb2NhdGlvbikpOworICAgICAgICB9OworCisgICAgICAgIC8vIE5vZGVzIHRoYXQgbm8gb3Ro
ZXIgdW5tYXRlcmlhbGl6ZWQgbm9kZSBwb2ludHMgdG8gd2lsbCBiZQorICAgICAgICAvLyBtYXRl
cmlhbGl6ZWQgbGFzdCAtIGFtb25nc3QgdGhlIHJlbWFpbmluZyB1bm1hdGVyaWFsaXplZAorICAg
ICAgICAvLyBub2RlcworICAgICAgICBhdXRvIGxhc3RQb3MgPSB0b01hdGVyaWFsaXplLmVuZCgp
OworICAgICAgICBhdXRvIG1hdGVyaWFsaXplTGFzdCA9IFsmXSAoQWxsb2NhdGlvbiYmIGFsbG9j
YXRpb24pIHsKKyAgICAgICAgICAgIG1hdGVyaWFsaXplKGFsbG9jYXRpb24uaWRlbnRpZmllcigp
KTsKKyAgICAgICAgICAgIGxhc3RQb3MgPSB0b01hdGVyaWFsaXplLmluc2VydChsYXN0UG9zLCBX
VEY6Om1vdmUoYWxsb2NhdGlvbikpOworICAgICAgICB9OworCisgICAgICAgIFZlY3RvcjxQcm9t
b3RlZEhlYXBMb2NhdGlvbj4gdG9SZWNvdmVyOworCisgICAgICAgIHdoaWxlICghZXNjYXBlZXMu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuY2xlYXIoKTsKKworICAgICAg
ICAgICAgLy8gTWF0ZXJpYWxpemUgbm9kZXMgdGhhdCB3b24ndCByZXF1aXJlIHJlY292ZXJpZXMg
aWYgd2UgY2FuCisgICAgICAgICAgICBmb3IgKGF1dG8mIHBhaXIgOiBlc2NhcGVlcykgeworICAg
ICAgICAgICAgICAgIGlmICghZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQocGFpci5rZXkpLT52YWx1
ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICAgICAgaWYgKGRlcHMuZmluZChwYWlyLmtleSktPnZhbHVlLmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUZpcnN0KFdURjo6bW92ZShwYWlyLnZhbHVlKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmIChyZGVwcy5maW5kKHBhaXIua2V5KS0+dmFsdWUuaXNFbXB0eSgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplTGFzdChXVEY6Om1vdmUocGFpci52YWx1ZSkp
OworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgYW4gYWN0dWFsIGN5Y2xlCisgICAg
ICAgICAgICBpZiAobWF0ZXJpYWxpemVkLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIGlu
dDY0X3QgbWF4RWRnZXMgPSAwOworICAgICAgICAgICAgICAgIEFsbG9jYXRpb24qIGJlc3RBbGxv
Y2F0aW9uOworICAgICAgICAgICAgICAgIGZvciAoYXV0byYgcGFpciA6IGVzY2FwZWVzKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICghZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQocGFpci5rZXkp
LT52YWx1ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IG51bUVkZ2VzID0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXRpY19jYXN0PGludDY0X3Q+KGRlcHMuZ2V0KHBhaXIua2V5KS5zaXplKCkpICog
cmRlcHMuZ2V0KHBhaXIua2V5KS5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChudW1F
ZGdlcyA+IG1heEVkZ2VzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtYXhFZGdlcyA9IG51
bUVkZ2VzOworICAgICAgICAgICAgICAgICAgICAgICAgYmVzdEFsbG9jYXRpb24gPSAmcGFpci52
YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXhFZGdlcyA+IDApOworCisgICAgICAgICAgICAgICAg
bWF0ZXJpYWxpemVGaXJzdChXVEY6Om1vdmUoKmJlc3RBbGxvY2F0aW9uKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbWF0ZXJpYWxpemVkLmlzRW1wdHkoKSk7
CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IG1hdGVyaWFsaXplZCkKKyAg
ICAgICAgICAgICAgICBlc2NhcGVlcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH0KKwor
ICAgICAgICBtYXRlcmlhbGl6ZWQuY2xlYXIoKTsKKworICAgICAgICBIYXNoU2V0PE5vZGUqPiBl
c2NhcGVkOworICAgICAgICBmb3IgKGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01h
dGVyaWFsaXplKQorICAgICAgICAgICAgZXNjYXBlZC5hZGQoYWxsb2NhdGlvbi5pZGVudGlmaWVy
KCkpOworICAgICAgICBmb3IgKGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVy
aWFsaXplKSB7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogYWxsb2NhdGlv
bi5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkLmNvbnRhaW5zKGZpZWxk
LnZhbHVlKSAmJiAhbWF0ZXJpYWxpemVkLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSkKKyAgICAgICAg
ICAgICAgICAgICAgdG9SZWNvdmVyLmFwcGVuZChQcm9tb3RlZEhlYXBMb2NhdGlvbihhbGxvY2F0
aW9uLmlkZW50aWZpZXIoKSwgZmllbGQua2V5KSk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBtYXRlcmlhbGl6ZWQuYWRkKGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgfQor
CisgICAgICAgIFZlY3RvcjxOb2RlKj4mIG1hdGVyaWFsaXphdGlvbnMgPSBtX21hdGVyaWFsaXph
dGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuYWRkKAorICAgICAgICAgICAgd2hlcmUsIFZlY3Rv
cjxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworCisgICAgICAgIGZvciAoY29uc3QgQWxsb2Nh
dGlvbiYgYWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAgIE5vZGUqIG1h
dGVyaWFsaXphdGlvbiA9IGNyZWF0ZU1hdGVyaWFsaXphdGlvbihhbGxvY2F0aW9uLCB3aGVyZSk7
CisgICAgICAgICAgICBtYXRlcmlhbGl6YXRpb25zLmFwcGVuZChtYXRlcmlhbGl6YXRpb24pOwor
ICAgICAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuYWRkKG1hdGVyaWFsaXphdGlv
biwgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF0
b1JlY292ZXIuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVU
b1JlY292ZXJpZXMuYWRkKAorICAgICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8UHJvbW90ZWRI
ZWFwTG9jYXRpb24+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmRSYW5nZSgKKyAgICAgICAgICAg
ICAgICAgICAgdG9SZWNvdmVyLmJlZ2luKCksIHRvUmVjb3Zlci5lbmQoKSk7CisgICAgICAgIH0K
KworICAgICAgICAvLyBUaGUgaGludHMgbmVlZCB0byBiZSBhZnRlciB0aGUgInJlYWwiIHJlY292
ZXJpZXMgc28gdGhhdCB3ZQorICAgICAgICAvLyBkb24ndCBoaW50IG5vdC15ZXQtY29tcGxldGUg
b2JqZWN0cworICAgICAgICBpZiAoIWhpbnRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgbV9t
YXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmFkZCgKKyAgICAgICAgICAgICAgICB3aGVy
ZSwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5k
UmFuZ2UoCisgICAgICAgICAgICAgICAgICAgIGhpbnRzLmJlZ2luKCksIGhpbnRzLmVuZCgpKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIE5vZGUqIGNyZWF0ZU1hdGVyaWFsaXphdGlvbihjb25z
dCBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGFjdHVhbGx5IHVzZSB0aGUK
KyAgICAgICAgLy8gZmFjdCB0aGF0IGFuIGFsbG9jYXRpb24ncyBpZGVudGlmaWVyIGlzIGluZGVl
ZCB0aGUgbm9kZQorICAgICAgICAvLyB0aGF0IGNyZWF0ZWQgdGhlIGFsbG9jYXRpb24uCisgICAg
ICAgIHN3aXRjaCAoYWxsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9u
OjpLaW5kOjpPYmplY3Q6IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEq
IGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAg
ICAgICAgIFN0cnVjdHVyZVNldCogc2V0ID0gbV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQoYWxsb2Nh
dGlvbi5zdHJ1Y3R1cmVzKCkpOworCisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2Rl
KAorICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5wcmVkaWN0aW9uKCks
IE5vZGU6OlZhckFyZywgTWF0ZXJpYWxpemVOZXdPYmplY3QsCisgICAgICAgICAgICAgICAgTm9k
ZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9y
aWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0
KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oc2V0KSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6RnVuY3Rpb246IHsKKyAg
ICAgICAgICAgIEZyb3plblZhbHVlKiBleGVjdXRhYmxlID0gYWxsb2NhdGlvbi5pZGVudGlmaWVy
KCktPmNlbGxPcGVyYW5kKCk7CisKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUo
CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rpb24oKSwg
TmV3RnVuY3Rpb24sCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAg
ICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAg
ICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcElu
Zm8oZXhlY3V0YWJsZSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICBjYXNlIEFsbG9jYXRpb246OktpbmQ6OkFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIE9iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBzeW1ib2xUYWJsZSA9IGFs
bG9jYXRpb24uaWRlbnRpZmllcigpLT5jZWxsT3BlcmFuZCgpOworCisgICAgICAgICAgICByZXR1
cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRpZmll
cigpLT5wcmVkaWN0aW9uKCksIE5vZGU6OlZhckFyZywgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0
aW9uLAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGFs
bG9jYXRpb24uaWRlbnRpZmllcigpLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAg
ICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgT3BJbmZvKHN5bWJv
bFRhYmxlKSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgYWxsb2NhdGlvbi5pZGVudGlmaWVy
KCksICJCYWQgYWxsb2NhdGlvbiBraW5kIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lk
IHByb21vdGVMb2NhbEhlYXAoKQorICAgIHsKKyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9m
IGhlYXAgbG9jYXRpb25zIHRoYXQgd2Ugd2lsbCBiZSBvcGVyYXRpbmcKKyAgICAgICAgLy8gb3Zl
ci4KKyAgICAgICAgSGFzaFNldDxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zOworICAg
ICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRl
cigpKSB7CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAg
ICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBoYW5k
bGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBb
Jl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gSWYgdGhlIGxvY2F0aW9uIGlzIG5vdCBvbiBhIHNpbmsgY2FuZGlk
YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2Ugb25seSBzaW5rIGl0IGlmIGl0IGlz
IHJlYWQKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRh
aW5zKGxvY2F0aW9uLmJhc2UoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRp
b25zLmFkZChsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pIC0+IE5vZGUqIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9ucy5hZGQobG9jYXRpb24pOworICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBs
b2NhdGlvbnMgYmVsb25nIHRvIHdoaWNoIGFsbG9jYXRpb25zLgorICAgICAgICBtX2xvY2F0aW9u
c0ZvckFsbG9jYXRpb24uY2xlYXIoKTsKKyAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlv
biBsb2NhdGlvbiA6IGxvY2F0aW9ucykgeworICAgICAgICAgICAgYXV0byByZXN1bHQgPSBtX2xv
Y2F0aW9uc0ZvckFsbG9jYXRpb24uYWRkKAorICAgICAgICAgICAgICAgIGxvY2F0aW9uLmJhc2Uo
KSwKKyAgICAgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpOworICAg
ICAgICAgICAgQVNTRVJUKCFyZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmNvbnRhaW5zKGxvY2F0aW9u
KSk7CisgICAgICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChsb2NhdGlvbik7
CisgICAgICAgIH0KKworICAgICAgICBtX3BvaW50ZXJTU0EucmVzZXQoKTsKKyAgICAgICAgbV9h
bGxvY2F0aW9uU1NBLnJlc2V0KCk7CisKKyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9mICJ2
YXJpYWJsZXMiIHRoYXQgd2Ugd2lsbCBiZSBzaW5raW5nLgorICAgICAgICBtX2xvY2F0aW9uVG9W
YXJpYWJsZS5jbGVhcigpOworICAgICAgICBtX25vZGVUb1ZhcmlhYmxlLmNsZWFyKCk7CisgICAg
ICAgIFZlY3RvcjxOb2RlKj4gaW5kZXhUb05vZGU7CisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhl
YXBMb2NhdGlvbj4gaW5kZXhUb0xvY2F0aW9uOworCisgICAgICAgIGZvciAoTm9kZSogaW5kZXgg
OiBtX3NpbmtDYW5kaWRhdGVzKSB7CisgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJs
ZSogdmFyaWFibGUgPSBtX2FsbG9jYXRpb25TU0EubmV3VmFyaWFibGUoKTsKKyAgICAgICAgICAg
IG1fbm9kZVRvVmFyaWFibGUuYWRkKGluZGV4LCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NF
UlQoaW5kZXhUb05vZGUuc2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAg
IGluZGV4VG9Ob2RlLmFwcGVuZChpbmRleCk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKFBy
b21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAgICBT
U0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX3BvaW50ZXJTU0EubmV3VmFyaWFi
bGUoKTsKKyAgICAgICAgICAgIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmFkZChsb2NhdGlvbiwgdmFy
aWFibGUpOworICAgICAgICAgICAgQVNTRVJUKGluZGV4VG9Mb2NhdGlvbi5zaXplKCkgPT0gdmFy
aWFibGUtPmluZGV4KCkpOworICAgICAgICAgICAgaW5kZXhUb0xvY2F0aW9uLmFwcGVuZChsb2Nh
dGlvbik7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBpbnNlcnQgYWxsIHJlcXVpcmVkIGNv
bnN0YW50cyBhdCB0b3Agb2YgYmxvY2sgMCBzbyB0aGF0CisgICAgICAgIC8vIHRoZXkgYXJlIGlu
c2VydGVkIG9ubHkgb25jZSBhbmQgd2UgZG9uJ3QgY2x1dHRlciB0aGUgZ3JhcGgKKyAgICAgICAg
Ly8gd2l0aCB1c2VsZXNzIGNvbnN0YW50cyBldmVyeXdoZXJlCisgICAgICAgIEhhc2hNYXA8RnJv
emVuVmFsdWUqLCBOb2RlKj4gbGF6eU1hcHBpbmc7CisgICAgICAgIGlmICghbV9ib3R0b20pCisg
ICAgICAgICAgICBtX2JvdHRvbSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KDAsIE5v
ZGVPcmlnaW4oKSwganNOdW1iZXIoMTkyNykpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJs
b2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hl
YXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5v
ZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7Cisg
ICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworCisgICAg
ICAgICAgICAgICAgLy8gU29tZSBuYW1lZCBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCBjb25kaXRp
b25hbGx5LAorICAgICAgICAgICAgICAgIC8vIGFuZCB0aGF0IHdvdWxkIG5lY2Vzc2l0YXRlIGJv
dHRvbXMKKyAgICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9u
IDogbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChub2RlKSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAobG9jYXRpb24ua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3Vs
YXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9sb2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0
aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wb2ludGVyU1NBLm5ld0RlZih2YXJpYWJsZSwg
YmxvY2ssIG1fYm90dG9tKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBm
b3IgKE5vZGUqIG1hdGVyaWFsaXphdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJp
YWxpemF0aW9ucy5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBl
ZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAg
ICAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25TU0EubmV3RGVmKG1fbm9kZVRvVmFyaWFibGUu
Z2V0KGVzY2FwZWUpLCBibG9jaywgbWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkK
KyAgICAgICAgICAgICAgICAgICAgbV9hbGxvY2F0aW9uU1NBLm5ld0RlZihtX25vZGVUb1Zhcmlh
YmxlLmdldChub2RlKSwgYmxvY2ssIG5vZGUpOworCisgICAgICAgICAgICAgICAgaGFuZGxlTm9k
ZSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghbG9jYXRpb25zLmNvbnRhaW5zKGxvY2F0aW9uKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAg
IE5vZGUqIG5vZGVWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pc05v
ZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5hc05v
ZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8gaXRlciA9IGxhenlNYXBwaW5nLmZpbmQodmFsdWUuYXNWYWx1ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBsYXp5TWFwcGluZy5lbmQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gaXRlci0+dmFs
dWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9IHZhbHVlLmVuc3VyZUlzTm9kZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LCBtX2dyYXBoLmJsb2Nr
KDApLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF6eU1hcHBpbmcuYWRk
KHZhbHVlLmFzVmFsdWUoKSwgbm9kZVZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAg
IFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fbG9jYXRpb25Ub1ZhcmlhYmxl
LmdldChsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICBtX3BvaW50ZXJTU0EubmV3
RGVmKHZhcmlhYmxlLCBibG9jaywgbm9kZVZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbV9pbnNlcnRpb25T
ZXQuZXhlY3V0ZShtX2dyYXBoLmJsb2NrKDApKTsKKworICAgICAgICAvLyBSdW4gdGhlIFNTQSBj
YWxjdWxhdG9ycyB0byBjcmVhdGUgUGhpcworICAgICAgICBtX3BvaW50ZXJTU0EuY29tcHV0ZVBo
aXMoCisgICAgICAgICAgICBbJl0gKFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSwg
QmFzaWNCbG9jayogYmxvY2spIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICBQcm9tb3RlZEhl
YXBMb2NhdGlvbiBsb2NhdGlvbiA9IGluZGV4VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07
CisKKyAgICAgICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIGZvciBmaWVsZHMg
b2YgZGVhZCBhbGxvY2F0aW9ucworICAgICAgICAgICAgICAgIGlmICghbV9oZWFwQXRIZWFkW2Js
b2NrXS5pc0FsbG9jYXRpb24obG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5v
ZGVzIG9uY2Ugd2UgYXJlIGVzY2FwZWQKKyAgICAgICAgICAgICAgICBpZiAobV9oZWFwQXRIZWFk
W2Jsb2NrXS5nZXRBbGxvY2F0aW9uKGxvY2F0aW9uLmJhc2UoKSkuaXNFc2NhcGVkQWxsb2NhdGlv
bigpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAg
ICAgIC8vIElmIHdlIHBvaW50IHRvIGEgc2luZ2xlIGFsbG9jYXRpb24sIHdlIHdpbGwKKyAgICAg
ICAgICAgICAgICAvLyBkaXJlY3RseSB1c2UgaXRzIG1hdGVyaWFsaXphdGlvbgorICAgICAgICAg
ICAgICAgIGlmIChtX2hlYXBBdEhlYWRbYmxvY2tdLmZvbGxvdyhsb2NhdGlvbikpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICAgICAgTm9kZSogcGhp
Tm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVhcFRvcCwgUGhpLCBOb2RlT3JpZ2luKCkpOwor
ICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdlRmxhZ3MoTm9kZVJlc3VsdEpTKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgIG1f
YWxsb2NhdGlvblNTQS5jb21wdXRlUGhpcygKKyAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRv
cjo6VmFyaWFibGUqIHZhcmlhYmxlLCBCYXNpY0Jsb2NrKiBibG9jaykgLT4gTm9kZSogeworICAg
ICAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSBpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5k
ZXgoKV07CisKKyAgICAgICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIGZvciBk
ZWFkIGFsbG9jYXRpb25zCisgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2td
LmlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICAgICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIHVudGls
IHdlIGFyZSBlc2NhcGVkCisgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2td
LmdldEFsbG9jYXRpb24oaWRlbnRpZmllcikuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIE5vZGUqIHBo
aU5vZGUgPSBtX2dyYXBoLmFkZE5vZGUoU3BlY0hlYXBUb3AsIFBoaSwgTm9kZU9yaWdpbigpKTsK
KyAgICAgICAgICAgICAgICBwaGlOb2RlLT5tZXJnZUZsYWdzKE5vZGVSZXN1bHRKUyk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHBoaU5vZGU7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAv
LyBQbGFjZSBQaGlzIGluIHRoZSByaWdodCBwbGFjZXMsIHJlcGxhY2UgYWxsIHVzZXMgb2YgYW55
IGxvYWQgd2l0aCB0aGUgYXBwcm9wcmlhdGUKKyAgICAgICAgLy8gdmFsdWUsIGFuZCBjcmVhdGUg
dGhlIG1hdGVyaWFsaXphdGlvbiBub2Rlcy4KKyAgICAgICAgTG9jYWxPU1JBdmFpbGFiaWxpdHlD
YWxjdWxhdG9yIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3I7CisgICAgICAgIG1fZ3JhcGguY2xlYXJS
ZXBsYWNlbWVudHMoKTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGgu
YmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRb
YmxvY2tdOworICAgICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5iZWdpbkJsb2NrKGJs
b2NrKTsKKworICAgICAgICAgICAgLy8gVGhlc2UgbWFwcGluZyB0YWJsZXMgYXJlIGludGVuZGVk
IHRvIGJlIGxhenkuIElmCisgICAgICAgICAgICAvLyBzb21ldGhpbmcgaXMgb21pdHRlZCBmcm9t
IHRoZSB0YWJsZSwgaXQgbWVhbnMgdGhhdAorICAgICAgICAgICAgLy8gdGhlcmUgaGF2ZW4ndCBi
ZWVuIGFueSBsb2NhbCBzdG9yZXMgdG8gdGhlIHByb21vdGVkCisgICAgICAgICAgICAvLyBoZWFw
IGxvY2F0aW9uIChvciBhbnkgbG9jYWwgbWF0ZXJpYWxpemF0aW9uKS4KKyAgICAgICAgICAgIG1f
bG9jYWxNYXBwaW5nLmNsZWFyKCk7CisgICAgICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXph
dGlvbi5jbGVhcigpOworCisgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIFBoaSBmdW5jdGlvbnMg
dGhhdCB3ZSBoYWQgcHJldmlvdXNseQorICAgICAgICAgICAgLy8gY3JlYXRlZC4KKyAgICAgICAg
ICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX3BvaW50ZXJTU0EucGhpc0Zv
ckJsb2NrKGJsb2NrKSkgeworICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxl
KiB2YXJpYWJsZSA9IHBoaURlZi0+dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnQoMCwgcGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIFBy
b21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5p
bmRleCgpXTsKKyAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5zZXQobG9jYXRpb24sIHBo
aURlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5j
b250YWlucyhsb2NhdGlvbi5iYXNlKCkpKSB7CisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0
aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgIDAsIGxvY2F0aW9uLmNyZWF0
ZUhpbnQobV9ncmFwaCwgTm9kZU9yaWdpbigpLCBwaGlEZWYtPnZhbHVlKCkpKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRv
cjo6RGVmKiBwaGlEZWYgOiBtX2FsbG9jYXRpb25TU0EucGhpc0ZvckJsb2NrKGJsb2NrKSkgewor
ICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURl
Zi0+dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoMCwg
cGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSBp
bmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgbV9lc2NhcGVl
VG9NYXRlcmlhbGl6YXRpb24uYWRkKGlkZW50aWZpZXIsIHBoaURlZi0+dmFsdWUoKSk7CisgICAg
ICAgICAgICAgICAgaW5zZXJ0T1NSSGludHNGb3JVcGRhdGUoMCwgTm9kZU9yaWdpbigpLCBhdmFp
bGFiaWxpdHlDYWxjdWxhdG9yLm1fYXZhaWxhYmlsaXR5LCBpZGVudGlmaWVyLCBwaGlEZWYtPnZh
bHVlKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodmVyYm9zZSkgeworICAg
ICAgICAgICAgICAgIGRhdGFMb2coIkxvY2FsIG1hcHBpbmcgYXQgIiwgcG9pbnRlckR1bXAoYmxv
Y2spLCAiOiAiLCBtYXBEdW1wKG1fbG9jYWxNYXBwaW5nKSwgIlxuIik7CisgICAgICAgICAgICAg
ICAgZGF0YUxvZygiTG9jYWwgbWF0ZXJpYWxpemF0aW9ucyBhdCAiLCBwb2ludGVyRHVtcChibG9j
ayksICI6ICIsIG1hcER1bXAobV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24pLCAiXG4iKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBu
b2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkgeworICAgICAgICAgICAgICAg
IE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAgICAgICAgICAgICBmb3Ig
KFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9u
LmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobG9jYXRpb24ua2luZCgpICE9
IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0KGxvY2F0aW9uLCBtX2JvdHRv
bSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMo
bm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwgbm9kZS0+b3JpZ2lu
LCBtX2JvdHRvbSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6YXRpb24gOiBtX21hdGVyaWFs
aXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAg
ICAgICAgIE5vZGUqIGVzY2FwZWUgPSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobWF0
ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgcG9wdWxhdGVNYXRlcmlhbGl6YXRp
b24oYmxvY2ssIG1hdGVyaWFsaXphdGlvbiwgZXNjYXBlZSk7CisgICAgICAgICAgICAgICAgICAg
IG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLnNldChlc2NhcGVlLCBtYXRlcmlhbGl6YXRpb24p
OworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQobm9kZUluZGV4LCBt
YXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIk1hdGVyaWFsaXppbmcgIiwgZXNjYXBlZSwgIiA9
PiAiLCBtYXRlcmlhbGl6YXRpb24sICIgYXQgIiwgbm9kZSwgIlxuIik7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
biA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5nZXQobm9kZSkpCisgICAgICAg
ICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5kZXgsIGNyZWF0ZVJlY292
ZXJ5KGJsb2NrLCBsb2NhdGlvbiwgbm9kZSkpOworCisgICAgICAgICAgICAgICAgLy8gV2UgbmVl
ZCB0byBwdXQgdGhlIE9TUiBoaW50cyBhZnRlciB0aGUgcmVjb3ZlcmllcywKKyAgICAgICAgICAg
ICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgd2FudCB0aGUgaGludHMgb25jZSB0aGUgb2JqZWN0IGlz
CisgICAgICAgICAgICAgICAgLy8gY29tcGxldGUKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUq
IG1hdGVyaWFsaXphdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9u
cy5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0
ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAg
ICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxh
YmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwgZXNjYXBlZSwgbWF0ZXJpYWxpemF0aW9u
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlk
YXRlcy5jb250YWlucyhub2RlKSkKKyAgICAgICAgICAgICAgICAgICAgbV9lc2NhcGVlVG9NYXRl
cmlhbGl6YXRpb24uc2V0KG5vZGUsIG5vZGUpOworCisgICAgICAgICAgICAgICAgYXZhaWxhYmls
aXR5Q2FsY3VsYXRvci5leGVjdXRlTm9kZShub2RlKTsKKworICAgICAgICAgICAgICAgIGJvb2wg
ZG9Mb3dlciA9IGZhbHNlOworICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAg
ICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9j
YXRpb24gbG9jYXRpb24sIExhenlOb2RlIHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIWxvY2F0aW9ucy5jb250YWlucyhsb2NhdGlvbikpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlVmFs
dWU7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaXNOb2RlKCkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gdmFsdWUuYXNOb2RlKCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZh
bHVlID0gbGF6eU1hcHBpbmcuZ2V0KHZhbHVlLmFzVmFsdWUoKSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG5vZGVWYWx1ZSA9IHJlc29sdmUoYmxvY2ssIG5vZGVWYWx1ZSk7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5nLnNldChsb2NhdGlvbiwgbm9kZVZhbHVl
KTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRh
aW5zKGxvY2F0aW9uLmJhc2UoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICAgICAgICAgICAgICBkb0xvd2VyID0gdHJ1ZTsKKworICAgICAgICAg
ICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCArIDEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBub2Rl
LT5vcmlnaW4sIG5vZGVWYWx1ZSkpOworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKSAtPiBOb2RlKiB7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShibG9jaywgbG9jYXRpb24p
OworICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtD
YW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpIHx8IGRvTG93ZXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTmV3T2Jq
ZWN0OgorICAgICAgICAgICAgICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgorICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld09iamVjdCgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1Bo
YW50b21OZXdGdW5jdGlvbigpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgICAgICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICAgICAgICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVtb3ZlKCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAg
ICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKEVkZ2UmIGVkZ2UpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGVkZ2Uuc2V0Tm9kZShyZXNvbHZlKGJsb2NrLCBlZGdlLm5vZGUo
KSkpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgLy8gR290dGEgZHJvcCBzb21lIFVwc2lsb25zLgorICAgICAgICAgICAgTm9kZUFuZEluZGV4
IHRlcm1pbmFsID0gYmxvY2stPmZpbmRUZXJtaW5hbCgpOworICAgICAgICAgICAgc2l6ZV90IHVw
c2lsb25JbnNlcnRpb25Qb2ludCA9IHRlcm1pbmFsLmluZGV4OworICAgICAgICAgICAgTm9kZU9y
aWdpbiB1cHNpbG9uT3JpZ2luID0gdGVybWluYWwubm9kZS0+b3JpZ2luOworICAgICAgICAgICAg
Zm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsK
KyAgICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9wb2lu
dGVyU1NBLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAg
ICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAg
U1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOwor
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IGluZGV4
VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgICAgIE5vZGUq
IGluY29taW5nID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworCisgICAgICAgICAgICAgICAg
ICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICB1
cHNpbG9uSW5zZXJ0aW9uUG9pbnQsIFNwZWNOb25lLCBVcHNpbG9uLCB1cHNpbG9uT3JpZ2luLAor
ICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKHBoaU5vZGUpLCBpbmNvbWluZy0+ZGVmYXVs
dEVkZ2UoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChTU0FD
YWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fYWxsb2NhdGlvblNTQS5waGlzRm9yQmxvY2soc3Vj
Y2Vzc29yQmxvY2spKSB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBwaGlE
ZWYtPnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxl
KiB2YXJpYWJsZSA9IHBoaURlZi0+dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICAgICAgTm9k
ZSogaW5jb21pbmcgPSBnZXRNYXRlcmlhbGl6YXRpb24oYmxvY2ssIGluZGV4VG9Ob2RlW3Zhcmlh
YmxlLT5pbmRleCgpXSk7CisKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwg
U3BlY05vbmUsIFVwc2lsb24sIHVwc2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAg
ICBPcEluZm8ocGhpTm9kZSksIGluY29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1
dGUoYmxvY2spOworICAgICAgICB9CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Js
b2NrKiBibG9jaywgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pCisgICAgeworICAgICAg
ICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IHBvaW50aW5nIHRvIGEgc2luZ2xlIGxvY2FsIGFsbG9j
YXRpb24sCisgICAgICAgIC8vIHNpbXBseSByZXR1cm4gdGhlIGFzc29jaWF0ZWQgbWF0ZXJpYWxp
emF0aW9uLgorICAgICAgICBpZiAoTm9kZSogaWRlbnRpZmllciA9IG1faGVhcC5mb2xsb3cobG9j
YXRpb24pKQorICAgICAgICAgICAgcmV0dXJuIGdldE1hdGVyaWFsaXphdGlvbihibG9jaywgaWRl
bnRpZmllcik7CisKKyAgICAgICAgaWYgKE5vZGUqIHJlc3VsdCA9IG1fbG9jYWxNYXBwaW5nLmdl
dChsb2NhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworCisgICAgICAgIC8vIFRo
aXMgaW1wbGllcyB0aGF0IHRoZXJlIGlzIG5vIGxvY2FsIG1hcHBpbmcuIEZpbmQgYSBub24tbG9j
YWwgbWFwcGluZy4KKyAgICAgICAgU1NBQ2FsY3VsYXRvcjo6RGVmKiBkZWYgPSBtX3BvaW50ZXJT
U0Eubm9uTG9jYWxSZWFjaGluZ0RlZigKKyAgICAgICAgICAgIGJsb2NrLCBtX2xvY2F0aW9uVG9W
YXJpYWJsZS5nZXQobG9jYXRpb24pKTsKKyAgICAgICAgQVNTRVJUKGRlZik7CisgICAgICAgIEFT
U0VSVChkZWYtPnZhbHVlKCkpOworCisgICAgICAgIE5vZGUqIHJlc3VsdCA9IGRlZi0+dmFsdWUo
KTsKKworICAgICAgICBBU1NFUlQoIXJlc3VsdC0+cmVwbGFjZW1lbnQoKSk7CisKKyAgICAgICAg
bV9sb2NhbE1hcHBpbmcuYWRkKGxvY2F0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0KKworICAgIE5vZGUqIHJlc29sdmUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUq
IG5vZGUpCisgICAgeworICAgICAgICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IHBvaW50aW5nIHRv
IGEgc2luZ2xlIGxvY2FsIGFsbG9jYXRpb24sCisgICAgICAgIC8vIHNpbXBseSByZXR1cm4gdGhl
IGFzc29jaWF0ZWQgbWF0ZXJpYWxpemF0aW9uLgorICAgICAgICBpZiAoTm9kZSogaWRlbnRpZmll
ciA9IG1faGVhcC5mb2xsb3cobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZ2V0TWF0ZXJpYWxp
emF0aW9uKGJsb2NrLCBpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAobm9kZS0+cmVwbGFjZW1l
bnQoKSkKKyAgICAgICAgICAgIG5vZGUgPSBub2RlLT5yZXBsYWNlbWVudCgpOworICAgICAgICBB
U1NFUlQoIW5vZGUtPnJlcGxhY2VtZW50KCkpOworCisgICAgICAgIHJldHVybiBub2RlOworICAg
IH0KKworICAgIE5vZGUqIGdldE1hdGVyaWFsaXphdGlvbihCYXNpY0Jsb2NrKiBibG9jaywgTm9k
ZSogaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2hlYXAuaXNBbGxvY2F0aW9u
KGlkZW50aWZpZXIpKTsKKyAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGlk
ZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuIGlkZW50aWZpZXI7CisKKyAgICAgICAgaWYg
KE5vZGUqIG1hdGVyaWFsaXphdGlvbiA9IG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmdldChp
ZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybiBtYXRlcmlhbGl6YXRpb247CisKKyAgICAg
ICAgU1NBQ2FsY3VsYXRvcjo6RGVmKiBkZWYgPSBtX2FsbG9jYXRpb25TU0Eubm9uTG9jYWxSZWFj
aGluZ0RlZigKKyAgICAgICAgICAgIGJsb2NrLCBtX25vZGVUb1ZhcmlhYmxlLmdldChpZGVudGlm
aWVyKSk7CisgICAgICAgIEFTU0VSVChkZWYgJiYgZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgbV9l
c2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uYWRkKGlkZW50aWZpZXIsIGRlZi0+dmFsdWUoKSk7Cisg
ICAgICAgIEFTU0VSVCghZGVmLT52YWx1ZSgpLT5yZXBsYWNlbWVudCgpKTsKKyAgICAgICAgcmV0
dXJuIGRlZi0+dmFsdWUoKTsKKyAgICB9CisKKyAgICB2b2lkIGluc2VydE9TUkhpbnRzRm9yVXBk
YXRlKHVuc2lnbmVkIG5vZGVJbmRleCwgTm9kZU9yaWdpbiBvcmlnaW4sIEF2YWlsYWJpbGl0eU1h
cCYgYXZhaWxhYmlsaXR5LCBOb2RlKiBlc2NhcGVlLCBOb2RlKiBtYXRlcmlhbGl6YXRpb24pCisg
ICAgeworICAgICAgICAvLyBXZSBuZWVkIHRvIGZvbGxvdygpIHRoZSB2YWx1ZSBpbiB0aGUgaGVh
cC4KKyAgICAgICAgLy8gQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBncmFwaDoKKyAgICAgICAgLy8K
KyAgICAgICAgLy8gQmxvY2sgIzAKKyAgICAgICAgLy8gICAwOiBOZXdPYmplY3Qoe30pCisgICAg
ICAgIC8vICAgMTogTmV3T2JqZWN0KHt9KQorICAgICAgICAvLyAgIC06IFB1dEJ5T2Zmc2V0KEAw
LCBAMSwgeDowKQorICAgICAgICAvLyAgIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisgICAg
ICAgIC8vICAgMjogR2V0QnlPZmZzZXQoQDAsIHg6MCkKKyAgICAgICAgLy8gICAtOiBNb3ZIaW50
KEAyLCBsb2MxKQorICAgICAgICAvLyAgIC06IEJyYW5jaCgjMSwgIzIpCisgICAgICAgIC8vCisg
ICAgICAgIC8vIEJsb2NrICMxCisgICAgICAgIC8vICAgMzogQ2FsbChmLCBAMSkKKyAgICAgICAg
Ly8gICA0OiBSZXR1cm4oQDApCisgICAgICAgIC8vCisgICAgICAgIC8vIEJsb2NrICMyCisgICAg
ICAgIC8vICAgLTogUmV0dXJuKHVuZGVmaW5lZCkKKyAgICAgICAgLy8KKyAgICAgICAgLy8gV2Ug
bmVlZCB0byBtYXRlcmlhbGl6ZSBAMSBhdCBAMywgYW5kIHdoZW4gZG9pbmcgc28gd2UgbmVlZAor
ICAgICAgICAvLyB0byBpbnNlcnQgYSBNb3ZIaW50IGZvciB0aGUgbWF0ZXJpYWxpemF0aW9uIGlu
dG8gbG9jMSBhcworICAgICAgICAvLyB3ZWxsLgorICAgICAgICAvLyBJbiBvcmRlciB0byBkbyB0
aGlzLCB3ZSBzYXkgdGhhdCB3ZSBuZWVkIHRvIGluc2VydCBhbgorICAgICAgICAvLyB1cGRhdGUg
aGludCBmb3IgYW55IGF2YWlsYWJpbGl0eSB3aG9zZSBub2RlIHJlc29sdmUoKXMgdG8KKyAgICAg
ICAgLy8gdGhlIG1hdGVyaWFsaXphdGlvbi4KKyAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBhdmFp
bGFiaWxpdHkubV9oZWFwKSB7CisgICAgICAgICAgICBpZiAoIXBhaXIudmFsdWUuaGFzTm9kZSgp
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKG1faGVhcC5mb2xs
b3cocGFpci52YWx1ZS5ub2RlKCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAg
ICBub2RlSW5kZXgsIHBhaXIua2V5LmNyZWF0ZUhpbnQobV9ncmFwaCwgb3JpZ2luLCBtYXRlcmlh
bGl6YXRpb24pKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGF2YWls
YWJpbGl0eS5tX2xvY2Fscy5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGlmICghYXZhaWxh
YmlsaXR5Lm1fbG9jYWxzW2ldLmhhc05vZGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgIGlmIChtX2hlYXAuZm9sbG93KGF2YWlsYWJpbGl0eS5tX2xvY2Fsc1tpXS5u
b2RlKCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIGludCBvcGVyYW5kID0gYXZhaWxhYmlsaXR5Lm1fbG9jYWxzLm9wZXJhbmRGb3JJbmRleChp
KTsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisgICAgICAgICAgICAg
ICAgbm9kZUluZGV4LCBTcGVjTm9uZSwgTW92SGludCwgb3JpZ2luLCBPcEluZm8ob3BlcmFuZCks
CisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIHZvaWQgcG9wdWxhdGVNYXRlcmlhbGl6YXRpb24oQmFzaWNCbG9j
ayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUpCisgICAgeworICAgICAgICBBbGxv
Y2F0aW9uJiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24oZXNjYXBlZSk7CisgICAg
ICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2Jq
ZWN0OiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0gbm9k
ZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworICAgICAgICAgICAgdW5zaWduZWQgZmly
c3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCk7CisKKyAgICAgICAgICAg
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JB
bGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24gc3RydWN0dXJlKFN0cnVjdHVyZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAg
ICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc3RydWN0dXJlKSk7CisKKyAgICAg
ICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2Nr
LCBzdHJ1Y3R1cmUpLCBLbm93bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgZm9yIChQcm9tb3Rl
ZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykgeworICAgICAgICAgICAgICAgIHN3
aXRjaCAobG9jYXRpb24ua2luZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBTdHJ1Y3R1cmVQ
TG9jOgorICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24gPT0gc3RydWN0dXJlKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIE5hbWVk
UHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbi5iYXNl
KCkgPT0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgICAgICAgICBkYXRh
Lm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRpb24uaW5mbygp
KSk7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShibG9jaywgbG9j
YXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlu
cyh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRy
ZW4uYXBwZW5kKG1fYm90dG9tKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZCh2YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBu
b2RlLCAiQmFkIGxvY2F0aW9uIGtpbmQiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVuID0gQWRqYWNlbmN5TGlzdCgKKyAgICAg
ICAgICAgICAgICBBZGphY2VuY3lMaXN0OjpWYXJpYWJsZSwKKyAgICAgICAgICAgICAgICBmaXJz
dENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpIC0gZmlyc3RDaGlsZCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVD
cmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRh
JiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworCisgICAgICAgICAg
ICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUoKTsK
KworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMgPSBt
X2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworCisgICAgICAgICAgICBQcm9t
b3RlZEhlYXBMb2NhdGlvbiBzeW1ib2xUYWJsZShBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBh
bGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNv
bnRhaW5zKHN5bWJvbFRhYmxlKSk7CisgICAgICAgICAgICBBU1NFUlQobm9kZS0+Y2VsbE9wZXJh
bmQoKSA9PSByZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSktPmNvbnN0YW50KCkpOworICAgICAg
ICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29sdmUoYmxvY2ss
IHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVh
cExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmll
cigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc2NvcGUpKTsKKyAg
ICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJs
b2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBmb3IgKFByb21vdGVk
SGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgc3dp
dGNoIChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIEFjdGl2YXRpb25T
Y29wZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uID09IHNjb3Bl
KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgY2FzZSBBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jOiB7CisgICAgICAgICAg
ICAgICAgICAgIEFTU0VSVChsb2NhdGlvbiA9PSBzeW1ib2xUYWJsZSk7CisgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2Ug
Q2xvc3VyZVZhclBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uLmJh
c2UoKSA9PSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICAgICAgICAgIGRh
dGEubV9wcm9wZXJ0aWVzLmFwcGVuZChQaGFudG9tUHJvcGVydHlWYWx1ZShsb2NhdGlvbi5pbmZv
KCkpKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdmFsdWUgPSByZXNvbHZlKGJsb2NrLCBs
b2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRh
aW5zKHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGls
ZHJlbi5hcHBlbmQobV9ib3R0b20pOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKHZhbHVlKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgs
IG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4gPSBBZGphY2VuY3lMaXN0KAorICAg
ICAgICAgICAgICAgIEFkamFjZW5jeUxpc3Q6OlZhcmlhYmxlLAorICAgICAgICAgICAgICAgIGZp
cnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCkgLSBmaXJzdENoaWxkKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdGdW5jdGlv
bjogeworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMg
PSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworICAgICAgICAgICAgQVNT
RVJUKGxvY2F0aW9ucy5zaXplKCkgPT0gMik7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExv
Y2F0aW9uIGV4ZWN1dGFibGUoRnVuY3Rpb25FeGVjdXRhYmxlUExvYywgYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChleGVjdXRhYmxlLCBsb2NhdGlv
bnMuY29udGFpbnMoZXhlY3V0YWJsZSkpOworCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2Nh
dGlvbiBhY3RpdmF0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2MsIGFsbG9jYXRpb24uaWRlbnRp
ZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoYWN0aXZhdGlv
bikpOworCisgICAgICAgICAgICBub2RlLT5jaGlsZDEoKSA9IEVkZ2UocmVzb2x2ZShibG9jaywg
YWN0aXZhdGlvbiksIEtub3duQ2VsbFVzZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9k
ZSwgIkJhZCBtYXRlcmlhbGl6ZSBvcCIpOworICAgICAgICB9CisgICAgfQorCisgICAgTm9kZSog
Y3JlYXRlUmVjb3ZlcnkoQmFzaWNCbG9jayogYmxvY2ssIFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAg
ICAgICAgZGF0YUxvZygiUmVjb3ZlcmluZyAiLCBsb2NhdGlvbiwgIiBhdCAiLCB3aGVyZSwgIlxu
Iik7CisgICAgICAgIEFTU0VSVChsb2NhdGlvbi5iYXNlKCktPmlzUGhhbnRvbUFsbG9jYXRpb24o
KSk7CisgICAgICAgIE5vZGUqIGJhc2UgPSBnZXRNYXRlcmlhbGl6YXRpb24oYmxvY2ssIGxvY2F0
aW9uLmJhc2UoKSk7CisgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShibG9jaywgbG9jYXRp
b24pOworCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiQmFzZSBp
cyAiLCBiYXNlLCAiIGFuZCB2YWx1ZSBpcyAiLCB2YWx1ZSwgIlxuIik7CisKKyAgICAgICAgaWYg
KGJhc2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgcmV0dXJuIFByb21v
dGVkSGVhcExvY2F0aW9uKGJhc2UsIGxvY2F0aW9uLmRlc2NyaXB0b3IoKSkuY3JlYXRlSGludCgK
KyAgICAgICAgICAgICAgICBtX2dyYXBoLAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisg
ICAgICAgICAgICAgICAgICAgIGJhc2UtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAg
ICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICB2YWx1ZSk7Cisg
ICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLmtpbmQoKSkgeworICAgICAgICBj
YXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0
aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24obG9jYXRpb24uYmFzZSgpKTsKKyAgICAgICAgCisg
ICAgICAgICAgICBWZWN0b3I8U3RydWN0dXJlKj4gc3RydWN0dXJlczsKKyAgICAgICAgICAgIHN0
cnVjdHVyZXMuYXBwZW5kUmFuZ2UoYWxsb2NhdGlvbi5zdHJ1Y3R1cmVzKCkuYmVnaW4oKSwgYWxs
b2NhdGlvbi5zdHJ1Y3R1cmVzKCkuZW5kKCkpOworICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRp
Zmllck51bWJlciA9IGxvY2F0aW9uLmluZm8oKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CisKKyAg
ICAgICAgICAgIHN0ZDo6c29ydCgKKyAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmJlZ2luKCks
CisgICAgICAgICAgICAgICAgc3RydWN0dXJlcy5lbmQoKSwKKyAgICAgICAgICAgICAgICBbdWlk
XSAoU3RydWN0dXJlICphLCBTdHJ1Y3R1cmUqIGIpIC0+IGJvb2wgeworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gYS0+Z2V0Q29uY3VycmVudGx5KHVpZCkgPCBiLT5nZXRDb25jdXJyZW50bHko
dWlkKTsKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQg
Zmlyc3RPZmZzZXQgPSBzdHJ1Y3R1cmVzWzBdLT5nZXRDb25jdXJyZW50bHkodWlkKTsKKworICAg
ICAgICAgICAgaWYgKGZpcnN0T2Zmc2V0ID09IHN0cnVjdHVyZXMubGFzdCgpLT5nZXRDb25jdXJy
ZW50bHkodWlkKSkgeworICAgICAgICAgICAgICAgIE5vZGUqIHN0b3JhZ2UgPSBiYXNlOworICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBXaGVuIHdlIGRlY2lkZSB0byBzaW5rIG9iamVjdHMgd2l0
aCBhCisgICAgICAgICAgICAgICAgLy8gcHJvcGVydHkgc3RvcmFnZSwgd2Ugc2hvdWxkIGhhbmRs
ZSBub24taW5saW5lIG9mZnNldHMuCisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJ
bmxpbmVPZmZzZXQoZmlyc3RPZmZzZXQpKTsKKworICAgICAgICAgICAgICAgIFN0b3JhZ2VBY2Nl
c3NEYXRhKiBkYXRhID0gbV9ncmFwaC5tX3N0b3JhZ2VBY2Nlc3NEYXRhLmFkZCgpOworICAgICAg
ICAgICAgICAgIGRhdGEtPm9mZnNldCA9IGZpcnN0T2Zmc2V0OworICAgICAgICAgICAgICAgIGRh
dGEtPmlkZW50aWZpZXJOdW1iZXIgPSBpZGVudGlmaWVyTnVtYmVyOworCisgICAgICAgICAgICAg
ICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgU3BlY05vbmUs
CisgICAgICAgICAgICAgICAgICAgIFB1dEJ5T2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICB3
aGVyZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksCisgICAgICAg
ICAgICAgICAgICAgIEVkZ2Uoc3RvcmFnZSwgS25vd25DZWxsVXNlKSwKKyAgICAgICAgICAgICAg
ICAgICAgRWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAgICAgICB2YWx1
ZS0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE11bHRpUHV0
QnlPZmZzZXREYXRhKiBkYXRhID0gbV9ncmFwaC5tX211bHRpUHV0QnlPZmZzZXREYXRhLmFkZCgp
OworICAgICAgICAgICAgZGF0YS0+aWRlbnRpZmllck51bWJlciA9IGlkZW50aWZpZXJOdW1iZXI7
CisKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50
T2Zmc2V0ID0gZmlyc3RPZmZzZXQ7CisgICAgICAgICAgICAgICAgU3RydWN0dXJlU2V0IGN1cnJl
bnRTZXQ7CisgICAgICAgICAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IHN0cnVj
dHVyZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3Ry
dWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9m
ZnNldCAhPSBjdXJyZW50T2Zmc2V0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT52
YXJpYW50cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHV0QnlJZFZhcmlh
bnQ6OnJlcGxhY2UoY3VycmVudFNldCwgY3VycmVudE9mZnNldCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgY3VycmVudE9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRTZXQuY2xlYXIoKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBjdXJyZW50U2V0LmFkZChzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBkYXRhLT52YXJpYW50cy5hcHBlbmQoUHV0QnlJZFZhcmlhbnQ6OnJlcGxh
Y2UoY3VycmVudFNldCwgY3VycmVudE9mZnNldCkpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIFNwZWNOb25lLAor
ICAgICAgICAgICAgICAgIE11bHRpUHV0QnlPZmZzZXQsCisgICAgICAgICAgICAgICAgTm9kZU9y
aWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNlbWFudGljLAorICAgICAg
ICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9w
SW5mbyhkYXRhKSwKKyAgICAgICAgICAgICAgICBFZGdlKGJhc2UsIEtub3duQ2VsbFVzZSksCisg
ICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKworICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOiB7CisgICAgICAgICAg
ICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIFNwZWNOb25lLAorICAg
ICAgICAgICAgICAgIFB1dENsb3N1cmVWYXIsCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigK
KyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAg
ICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhs
b2NhdGlvbi5pbmZvKCkpLAorICAgICAgICAgICAgICAgIEVkZ2UoYmFzZSwgS25vd25DZWxsVXNl
KSwKKyAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdfQ1JB
U0gobV9ncmFwaCwgYmFzZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KKworICAgIFNTQUNhbGN1bGF0b3IgbV9wb2ludGVyU1NBOwor
ICAgIFNTQUNhbGN1bGF0b3IgbV9hbGxvY2F0aW9uU1NBOworICAgIEhhc2hTZXQ8Tm9kZSo+IG1f
c2lua0NhbmRpZGF0ZXM7CisgICAgSGFzaE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgU1NBQ2Fs
Y3VsYXRvcjo6VmFyaWFibGUqPiBtX2xvY2F0aW9uVG9WYXJpYWJsZTsKKyAgICBIYXNoTWFwPE5v
ZGUqLCBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSo+IG1fbm9kZVRvVmFyaWFibGU7CisgICAgSGFz
aE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTm9kZSo+IG1fbG9jYWxNYXBwaW5nOworICAgIEhh
c2hNYXA8Tm9kZSosIE5vZGUqPiBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbjsKKyAgICBJbnNl
cnRpb25TZXQgbV9pbnNlcnRpb25TZXQ7CisgICAgQ29tYmluZWRMaXZlbmVzcyBtX2NvbWJpbmVk
TGl2ZW5lc3M7CisKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2RlKj4gbV9tYXRlcmlhbGl6YXRpb25U
b0VzY2FwZWU7CisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPE5vZGUqPj4gbV9tYXRlcmlhbGl6
YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zOworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxQ
cm9tb3RlZEhlYXBMb2NhdGlvbj4+IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3ZlcmllczsK
KworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4+IG1fbG9j
YXRpb25zRm9yQWxsb2NhdGlvbjsKKworICAgIEJsb2NrTWFwPExvY2FsSGVhcD4gbV9oZWFwQXRI
ZWFkOworICAgIEJsb2NrTWFwPExvY2FsSGVhcD4gbV9oZWFwQXRUYWlsOworICAgIExvY2FsSGVh
cCBtX2hlYXA7CisKKyAgICBOb2RlKiBtX2JvdHRvbSA9IG51bGxwdHI7Cit9OworCit9CisKK2Jv
b2wgcGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcoR3JhcGgmIGdyYXBoKQoreworICAgIFNh
bXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgQWxsb2NhdGlvbiBDeWNsZSBTaW5raW5n
IFBoYXNlIik7CisgICAgcmV0dXJuIHJ1blBoYXNlPEFsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFz
ZT4oZ3JhcGgpOworfQorCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAvLyBF
TkFCTEUoREZHX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZDZkNWM1Nzlh
M2U4OWNlNThiNzkwZTU1NjMxYTdmNTYzY2YwODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oCkBAIC0w
LDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2VfaAorI2RlZmluZSBERkdB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2VfaAorCisjaWYgRU5BQkxFKERGR19KSVQpCisKK25h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xhc3MgR3JhcGg7CisKKy8vIEVsaW1p
bmF0ZXMgYWxsb2NhdGlvbnMgYWxsb2NhdGlvbnMgdGhhdCBhcmUgbmV2ZXIgdXNlZCBleGNlcHQK
Ky8vIGxvY2FsbHkuIFRoaXMgd2lsbCBpbnNlcnQgcGhhbnRvbSBhbGxvY2F0aW9ucyBhbmQgc3Rv
cmUgaGludHMgc28KKy8vIHRoYXQgT1NSIGV4aXQgY2FuIG1hdGVyaWFsaXplIHRoZSBvYmplY3Rz
LiBSZXBsYWNlcyBhbGwgdXNlcyBvZiB0aGUKKy8vIG9iamVjdHMnIGZpZWxkcyB3aXRoIFNTQSBk
YXRhIGZsb3cuIENvbnRyYXJ5IHRvIHRoZQorLy8gT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFz
ZSwgdGhpcyBwaGFzZSBpcyBhYmxlIHRvIGhhbmRsZSBjeWNsaWMKKy8vIGFsbG9jYXRpb24gZ3Jh
cGhzLgorCitib29sIHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVTaW5raW5nKEdyYXBoJik7CisKK30g
fSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQorCisj
ZW5kaWYgLy8gREZHT2JqZWN0Q3ljbGVTaW5raW5nUGhhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5oCmluZGV4IGJhYzUzOGYwMjVkM2VjZTEzN2JlMzE3ODA2ODgxNWQ5NTM3Yzk1
YTguLmZlZDZhNjg3ZDdhOGRhOWEzNjkxNTIwYTEwMDQ0ZTg2ZjRlNTgxYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKQEAgLTMyNSw3ICszMjUsNiBAQCBwdWJsaWM6CiAgICAg
CiAgICAgU3RydWN0dXJlU2V0KiBhZGRTdHJ1Y3R1cmVTZXQoY29uc3QgU3RydWN0dXJlU2V0JiBz
dHJ1Y3R1cmVTZXQpCiAgICAgewotICAgICAgICBBU1NFUlQoc3RydWN0dXJlU2V0LnNpemUoKSk7
CiAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFwcGVuZChzdHJ1Y3R1cmVTZXQpOwogICAgICAgICBy
ZXR1cm4gJm1fc3RydWN0dXJlU2V0Lmxhc3QoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTGF6eU5vZGUuY3BwCmluZGV4IDk1NGVkOTg1NWQ1ZWUyYTUzNjJhOWMxN2I3YTU3
MzE0YjJhMjU0NjkuLmM4ZDA5NDBlNzdmM2ZkYjkxMWJhYTQ0ZGI1YzRkZWUyMDg1OTEyYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCkBAIC0zOCw4ICszOCw3
IEBAIHZvaWQgTGF6eU5vZGU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICAgICAg
aWYgKGlzTm9kZSgpKQogICAgICAgICAgICAgb3V0LnByaW50KCJMYXp5Tm9kZTpAIiwgYXNOb2Rl
KCktPmluZGV4KCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdXQucHJpbnQoIkxhenlO
b2RlOkZyb3plblZhbHVlOiIsIEdyYXBoOjpvcE5hbWUob3AoKSksICIsICIsIHBvaW50ZXJEdW1w
KGFzVmFsdWUoKSkpOwotICAgICAgICBvdXQucHJpbnQoIikiKTsKKyAgICAgICAgICAgIG91dC5w
cmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWUoIiwgR3JhcGg6Om9wTmFtZShvcCgpKSwgIiwgIiwg
cG9pbnRlckR1bXAoYXNWYWx1ZSgpKSwgIikiKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmgKaW5kZXggNWJlZmQ4MzllYzgzNjhhNGY3ZDg4MmE3ZDNmMmIyNTY0ZTZl
ZDhkOS4uNTIwNWFmYzkxY2RhYzIzZjEyZGQ4NTEzYjQ3NmYwOTEyYzVhMTE2YiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyOTMsMTMgKzEyOTMsNyBAQCBzdHJ1Y3QgTm9k
ZSB7CiAgICAgRnJvemVuVmFsdWUqIGNlbGxPcGVyYW5kKCkKICAgICB7CiAgICAgICAgIEFTU0VS
VChoYXNDZWxsT3BlcmFuZCgpKTsKLSAgICAgICAgc3dpdGNoIChvcCgpKSB7Ci0gICAgICAgIGNh
c2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgotICAgICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5mbzIpOwotICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5m
byk7Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5mbyk7CiAg
ICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC0xMzU5LDYgKzEzNTMsNyBA
QCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIHN3aXRjaCAob3AoKSkgewogICAgICAgICBjYXNlIENo
ZWNrU3RydWN0dXJlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgorICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDQ0LDcg
KzE0MzksNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYg
b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQoaGFzT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuICpyZWludGVycHJldF9j
YXN0PE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqPihtX29wSW5mbyk7CisgICAgICAgIHJldHVy
biAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKj4obV9vcEluZm8y
KTsKICAgICB9CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2NhdGlvbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNp
c1BoYXNlLmNwcAppbmRleCBmZjVmZDk1YTdjMGM4NTE1ZjNkNzcxN2NmNmE1ZTY0ZDQ2ZjFkMjdi
Li44Yzg0MTlhODE4Y2QyNjQxOTM5OWY0ZTQ5MTBmNDk3MGJkZGIxNDU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZhaWxhYmlsaXR5QW5h
bHlzaXNQaGFzZS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJERkdHcmFwaC5oIgog
I2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2luY2x1ZGUgIkRGR1BoYXNlLmgiCi0jaW5j
bHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAK
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3Bw
CmluZGV4IDA0MGQ1NzgxZGUyNTJjZTFlYWNmMTdjZGQ5NzE5OGY0YWZiNTA1OTIuLjVkYWZhMjU2
OTI5Y2EyOGFhNDNmNDA0Yjk3NGY1NmNlMGYxMDgwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNl
LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkRGR0xpdmVuZXNzQW5hbHlzaXNQaGFz
ZS5oIgogI2luY2x1ZGUgIkRGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuaCIKICNpbmNs
dWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1BoaUNoaWxkcmVuLmgiCiAjaW5jbHVkZSAi
REZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNsdWRlICJERkdTU0FDYWxjdWxhdG9yLmgiCiAj
aW5jbHVkZSAiREZHVmFsaWRhdGUuaCIKQEAgLTk0LDYgKzk1LDggQEAgcHVibGljOgogICAgICAg
ICAKICAgICAgICAgd2hpbGUgKHBlcmZvcm1TaW5raW5nKCkpIHsgfQogICAgICAgICAKKyAgICAg
ICAgZmlsbFN0cnVjdHVyZVNldHMoKTsKKwogICAgICAgICBpZiAodmVyYm9zZSkgewogICAgICAg
ICAgICAgZGF0YUxvZygiR3JhcGggYWZ0ZXIgc2lua2luZzpcbiIpOwogICAgICAgICAgICAgbV9n
cmFwaC5kdW1wKCk7CkBAIC02MTYsMTQgKzYxOSwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAg
ICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJv
bW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0
aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hpbGQo
bm9kZSwgMCkubm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBzeW1ib2xU
YWJsZU5vZGUgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNlbGxPcGVy
YW5kKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRhYmxl
UExvYywgbm9kZSkuY3JlYXRlSGludCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzeW1ib2xUYWJsZU5vZGUpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU2NvcGVQTG9jLCBu
b2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMSkubm9kZSgpKSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0g
bm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJl
ciA9IGRhdGEubV9wcm9wZXJ0aWVzW2ldLm1faWRlbnRpZmllck51bWJlcjsKQEAgLTYzMiw3ICs2
MzMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3Rl
ZEhlYXBMb2NhdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3N1
cmVWYXJQTG9jLCBub2RlLCBpZGVudGlmaWVyTnVtYmVyKS5jcmVhdGVIaW50KAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBp
ICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dy
YXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21D
cmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTgzMSw2ICs4MzIs
MjUgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGRlZi0+dmFsdWUoKTsKICAgICB9CiAKKyAg
ICB2b2lkIGZpbGxTdHJ1Y3R1cmVTZXRzKCkKKyAgICB7CisgICAgICAgIFBoaUNoaWxkcmVuIHBo
aUNoaWxkcmVuKG1fZ3JhcGgpOworCisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBt
X2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSog
bm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpICE9IE1hdGVy
aWFsaXplTmV3T2JqZWN0KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICAgICAgICAgIFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcyA9IG5vZGUtPnN0cnVjdHVyZVNldCgp
OworICAgICAgICAgICAgICAgIHBoaUNoaWxkcmVuLmZvckFsbFRyYW5zaXRpdmVJbmNvbWluZ1Zh
bHVlcygKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5u
b2RlKCksCisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogc3RydWN0dXJlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmFkZChzdHJ1Y3R1cmUtPmNhc3RDb25zdGFu
dDxTdHJ1Y3R1cmUqPigpKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTaW5rQ2FuZGlkYXRl
RnVuY3RvciwgdHlwZW5hbWUgRXNjYXBlRnVuY3Rvcj4KICAgICB2b2lkIGhhbmRsZU5vZGUoCiAg
ICAgICAgIE5vZGUqIG5vZGUsCkBAIC05NDMsMTMgKzk2MywxNCBAQCBwcml2YXRlOgogICAgICAg
ICBjYXNlIE5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogewog
ICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9v
YmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgU3RydWN0dXJlU2V0
KiBzdHJ1Y3R1cmVzID0gbV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQoU3RydWN0dXJlU2V0KCkpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBoLmFkZE5vZGUoCiAgICAg
ICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlvbigpLCBOb2RlOjpWYXJBcmcsIE1hdGVyaWFs
aXplTmV3T2JqZWN0LAogICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCiAgICAgICAgICAgICAg
ICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKICAgICAgICAgICAgICAgICAgICAgd2hl
cmUtPm9yaWdpbi5mb3JFeGl0KSwKLSAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5m
bygpLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBPcEluZm8oc3RydWN0dXJlcyksIE9wSW5mbyhk
YXRhKSwgMCwgMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC05NzIsNyAr
OTkzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAogICAgICAgICAg
ICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCiAgICAgICAgICAgICAgICAgICAg
IHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCi0gICAgICAgICAgICAgICAgT3BJbmZvKGRhdGEpLCBP
cEluZm8oc3ltYm9sVGFibGUpLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBPcEluZm8oc3ltYm9s
VGFibGUpLCBPcEluZm8oZGF0YSksIDAsIDApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIApAQCAtMTA0MiwxMCArMTA2MywxMiBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICBWZWN0
b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2Nh
dGlvbi5nZXQoZXNjYXBlZSk7CiAKLSAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHNj
b3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGVzY2FwZWUpOwogICAgICAgICAgICAgUHJvbW90ZWRI
ZWFwTG9jYXRpb24gc3ltYm9sVGFibGUoQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgZXNjYXBl
ZSk7Ci0gICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3BlKSk7CisgICAg
ICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHN5bWJvbFRhYmxlKSk7CisgICAgICAg
ICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywg
c3ltYm9sVGFibGUpLCBLbm93bkNlbGxVc2UpKTsKIAorICAgICAgICAgICAgUHJvbW90ZWRIZWFw
TG9jYXRpb24gc2NvcGUoQWN0aXZhdGlvblNjb3BlUExvYywgZXNjYXBlZSk7CisgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3BlKSk7CiAgICAgICAgICAgICBtX2dyYXBo
Lm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc2NvcGUpLCBLbm93
bkNlbGxVc2UpKTsKIAogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxvY2F0
aW9ucy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQbGFuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKaW5k
ZXggNjQ5YzYwNTcxYzkzZmFjOGI3NWRiMjc1ZWRiMzM3YzdhM2NlZjZiYy4uZDU1ZTNmMDFkNDcy
NWI1OTdiNWNjYTgxMDg5Y2ZmOWZlMzAyMTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQbGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1BsYW4uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2lu
Y2x1ZGUgIkRGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIgogI2luY2x1ZGUgIkRGR0Fy
Z3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdCYWNrd2FyZHNQcm9wYWdh
dGlvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHQnl0ZUNvZGVQYXJzZXIuaCIKQEAgLTM2NSwxMCAr
MzY2LDExIEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBs
KExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKICAgICAgICAgcGVyZm9ybUNsZWFuVXAo
ZGZnKTsgLy8gUmVkdWNlIHRoZSBncmFwaCBzaXplIGEgbG90LgogICAgICAgICBjaGFuZ2VkID0g
ZmFsc2U7CiAgICAgICAgIGNoYW5nZWQgfD0gcGVyZm9ybVN0cmVuZ3RoUmVkdWN0aW9uKGRmZyk7
Ci0gICAgICAgIGlmIChPcHRpb25zOjplbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZygpKSB7
Ci0gICAgICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1Dcml0aWNhbEVkZ2VCcmVha2luZyhkZmcp
OworICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1Dcml0aWNhbEVkZ2VCcmVha2luZyhkZmcpOwor
ICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZygpKQorICAg
ICAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyhkZmcpOwor
ICAgICAgICBlbHNlCiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1PYmplY3RBbGxvY2F0
aW9uU2lua2luZyhkZmcpOwotICAgICAgICB9CiAgICAgICAgIGlmIChjaGFuZ2VkKSB7CiAgICAg
ICAgICAgICAvLyBTdGF0ZS1hdC10YWlsIGFuZCBzdGF0ZS1hdC1oZWFkIHdpbGwgYmUgaW52YWxp
ZCBpZiB3ZSBkaWQgc3RyZW5ndGggcmVkdWN0aW9uIHNpbmNlCiAgICAgICAgICAgICAvLyBpdCBt
aWdodCBpbmNyZWFzZSBsaXZlIHJhbmdlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaAppbmRleCBiYzE1MTU4NDgwNzQzN2RiMDcy
OTQxNDE5ZThiNGI5YmEzZTU2MmNiLi5hMjFlNGRhMWFmOWI1YjBmYjYwNGMzYjIyMzcwNzFmNTE1
ZmE2NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3Rl
ZEhlYXBMb2NhdGlvbi5oCkBAIC01Nyw4ICs1NywxNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9p
bmZvKGluZm8pCiAgICAgewogICAgIH0KLSAgICAKKworICAgIFByb21vdGVkTG9jYXRpb25EZXNj
cmlwdG9yKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKKyAgICAgICAgOiBtX2tpbmQo
SW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5kKQorICAgICAgICAsIG1faW5mbygxKQorICAgIHsK
KyAgICB9CisKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBJ
bnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQ7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJv
b2woKSBjb25zdCB7IHJldHVybiAhISp0aGlzOyB9CiAgICAgCiAgICAgUHJvbW90ZWRMb2NhdGlv
bktpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIHVuc2lnbmVkIGluZm8o
KSBjb25zdCB7IHJldHVybiBtX2luZm87IH0KQEAgLTg2LDYgKzk0LDE4IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgICAgIHJldHVybiBtX2tpbmQgPT0gSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5k
ICYmIG1faW5mbzsKICAgICB9CisKKyAgICBib29sIG5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigp
IGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIE5h
bWVkUHJvcGVydHlQTG9jOgorICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOgorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgIH0KICAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3Q7CiAKQEAgLTk0LDYgKzExNCwxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faW5mbzsKIH07CiAKK3N0cnVjdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggewor
ICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9y
JiBrZXkpIHsgcmV0dXJuIGtleS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3ImIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVk
SGVhcExvY2F0aW9uIHsKIHB1YmxpYzoKICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE3
Niw2ICsyMDIsMTYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJv
bW90ZWRIZWFwTG9jYXRpb24+IDogU2ltcGxlQ2xhc3NIYXNoVHIKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CiB9OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6
OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAgICB0eXBlZGVmIEpTQzo6REZH
OjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggSGFzaDsKK307CisKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0
czxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IDogU2ltcGxlQ2xhc3NIYXNo
VHJhaXRzPEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4geworICAgIHN0YXRp
YyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKK307CisKIH0gLy8gbmFtZXNw
YWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHVmFsaWRhdGUuY3BwCmluZGV4IDJiYTMzMzg0OTM5OWU0M2I2YzQxZjVkZmZiZTkw
OTMzNTE1MWY1NTIuLmE5NjljMTNjOTYxNmI4ZDQ2ZjhhNWExMjY2YzNlYmE5ODg4MDA2MWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCkBAIC01MjQsMTIgKzUy
NCw0MiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAg
ICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCAhImJhZCBub2RlIHR5cGUgZm9yIFNTQSIpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgCisKICAgICAg
ICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIG1v
cmUgdGhpbmdzIGhlcmUuCiAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM0NzEKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkg
eworICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKKyAgICAgICAgICAgICAg
ICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21D
cmVhdGVBY3RpdmF0aW9uOgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbURpcmVjdEFyZ3Vt
ZW50czoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CisgICAg
ICAgICAgICAgICAgY2FzZSBNb3ZIaW50OgorICAgICAgICAgICAgICAgIGNhc2UgVXBzaWxvbjoK
KyAgICAgICAgICAgICAgICBjYXNlIEZvcndhcmRWYXJhcmdzOgorICAgICAgICAgICAgICAgIGNh
c2UgQ2FsbEZvcndhcmRWYXJhcmdzOgorICAgICAgICAgICAgICAgIGNhc2UgQ29uc3RydWN0Rm9y
d2FyZFZhcmFyZ3M6CisgICAgICAgICAgICAgICAgY2FzZSBHZXRNeUFyZ3VtZW50QnlWYWw6Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBDaGVjazoK
KyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgcHJvYmFibHkgbm90IGNvcnJl
Y3QuCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBQ
dXRIaW50OgorICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksIG5vZGUtPmNoaWxk
MSgpLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
ZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFsmXSAoY29uc3QgRWRnZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgIWVkZ2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBk
NWNlMGQ3ZjFiMjQ1NzAzNjM0YzA1MDM1NzdjMmM1YzFiZDQxYjFkLi44OGY1NGQwNGVkOGJiNzdj
ZTBjMjE0ZjUzMGUzZGVlZjc2MTc2OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtNTI4NiwxMiArNTI4Niw3IEBAIHByaXZhdGU6
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXpl
KCk7ICsraSkKICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZh
ckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7CiAgICAgICAgIAotICAgICAgICBTdHJ1Y3R1cmVT
ZXQgc2V0OwotICAgICAgICBtX2ludGVycHJldGVyLnBoaUNoaWxkcmVuKCktPmZvckFsbFRyYW5z
aXRpdmVJbmNvbWluZ1ZhbHVlcygKLSAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAwKS5ub2RlKCksCi0gICAgICAgICAgICBbJl0gKE5vZGUqIGluY29taW5nKSB7Ci0gICAg
ICAgICAgICAgICAgc2V0LmFkZChpbmNvbWluZy0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkp
OwotICAgICAgICAgICAgfSk7CisgICAgICAgIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0ID0gbV9u
b2RlLT5zdHJ1Y3R1cmVTZXQoKTsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjxMQmFzaWNCbG9j
aywgMT4gYmxvY2tzKHNldC5zaXplKCkpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzZXQu
c2l6ZSgpOyBpLS07KQpAQCAtNTM5MCwxMCArNTM4NSwxMSBAQCBwcml2YXRlOgogCiAgICAgICAg
IFZlY3RvcjxMVmFsdWUsIDg+IHZhbHVlczsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgdmFsdWVzLmFw
cGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAxICsgaSkpKTsKKyAg
ICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1f
bm9kZSwgMiArIGkpKSk7CiAKLSAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX2dyYXBo
LnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkpOworICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxs
KG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAxKSk7CiAgICAgICAgIFN5bWJvbFRhYmxlKiB0
YWJsZSA9IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOworICAgICAgICBBU1NF
UlQodGFibGUgPT0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApLT5jYXN0Q29uc3RhbnQ8
U3ltYm9sVGFibGUqPigpKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBo
Lmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFjdGl2YXRpb25TdHJ1
Y3R1cmUoKTsKIAogICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0so
bV9vdXQsICgiTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uIHNsb3cgcGF0aCIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCAy
Nzc4OGU3ZjZhNWE5ZmI5ZTUzMDY5ZWM1NGMwOTAwZGVjZDllYzdlLi4xNjUwMTQzYTU2YjkyYzcw
YjU1MWY5OTlmNDY4MWU5NTkzNTQ2NmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCkBAIC0yMjAsMjQgKzIyMCwyNCBAQCBzdGF0aWMg
dm9pZCBjb21waWxlU3R1YigKICAgICAgICAgICAgICAgICBqaXQub3IzMihHUFJJbmZvOjpyZWdU
MiwgTWFjcm9Bc3NlbWJsZXI6OkFic29sdXRlQWRkcmVzcyhhcnJheVByb2ZpbGUtPmFkZHJlc3NP
ZkFycmF5TW9kZXMoKSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAg
ICAgICAgIGlmICghIWV4aXQubV92YWx1ZVByb2ZpbGUpCiAgICAgICAgICAgICBqaXQuc3RvcmU2
NChHUFJJbmZvOjpyZWdUMCwgZXhpdC5tX3ZhbHVlUHJvZmlsZS5nZXRTcGVjRmFpbEJ1Y2tldCgw
KSk7CiAgICAgfQotICAgIAotICAgIC8vIE1hdGVyaWFsaXplIGFsbCBvYmplY3RzLiBEb24ndCBt
YXRlcmlhbGl6ZSBhbiBvYmplY3QgdW50aWwgYWxsIG9mIHRoZSBvYmplY3RzIGl0IG5lZWRzCi0g
ICAgLy8gaGF2ZSBiZWVuIG1hdGVyaWFsaXplZC4gQ3VyaW91c2x5LCB0aGlzIGlzIHRoZSBvbmx5
IHBsYWNlIHRoYXQgd2UgaGF2ZSBhbiBhbGdvcml0aG0gdGhhdCBwcmV2ZW50cwotICAgIC8vIE9T
UiBleGl0IGZyb20gaGFuZGxpbmcgY3ljbGljIG9iamVjdCBtYXRlcmlhbGl6YXRpb25zLiBPZiBj
b3Vyc2UsIG9iamVjdCBhbGxvY2F0aW9uIHNpbmtpbmcKLSAgICAvLyBjdXJyZW50bHkgd291bGRu
J3QgcmVjb2duaXplIGEgY3ljbGUgYXMgYmVpbmcgc2lua2FibGUgLSBidXQgaWYgaXQgZGlkIHRo
ZW4gdGhlIG9ubHkgdGhpbmcgdGhhdAotICAgIC8vIHdvdWxkIGFodmUgdG8gY2hhbmdlIGlzIHRo
aXMgZml4cG9pbnQuIEluc3RlYWQgd2Ugd291bGQgYWxsb2NhdGUgdGhlIG9iamVjdHMgZmlyc3Qg
YW5kIHBvcHVsYXRlCi0gICAgLy8gdGhlbSB3aXRoIGRhdGEgbGF0ZXIuCisKKyAgICAvLyBNYXRl
cmlhbGl6ZSBhbGwgb2JqZWN0cy4gRG9uJ3QgbWF0ZXJpYWxpemUgYW4gb2JqZWN0IHVudGlsIGFs
bAorICAgIC8vIG9mIHRoZSBvYmplY3RzIGl0IG5lZWRzIGhhdmUgYmVlbiBtYXRlcmlhbGl6ZWQu
IFdlIGJyZWFrIGN5Y2xlcworICAgIC8vIGJ5IHBvcHVsYXRpbmcgb2JqZWN0cyBsYXRlIC0gd2Ug
b25seSBjb25zaWRlciBhbiBvYmplY3QgYXMKKyAgICAvLyBuZWVkaW5nIGFub3RoZXIgb2JqZWN0
IGlmIHRoZSBsYXRlciBpcyBuZWVkZWQgZm9yIHRoZQorICAgIC8vIGFsbG9jYXRpb24gb2YgdGhl
IGZvcm1lci4KKwogICAgIEhhc2hTZXQ8RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qPiB0
b01hdGVyaWFsaXplOwogICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1h
dGVyaWFsaXphdGlvbiA6IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKQogICAgICAgICB0b01hdGVy
aWFsaXplLmFkZChtYXRlcmlhbGl6YXRpb24pOwotICAgIAorCiAgICAgd2hpbGUgKCF0b01hdGVy
aWFsaXplLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBwcmV2aW91c1RvTWF0ZXJpYWxp
emVTaXplID0gdG9NYXRlcmlhbGl6ZS5zaXplKCk7Ci0gICAgICAgIAorCiAgICAgICAgIFZlY3Rv
cjxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbio+IHdvcmtsaXN0OwogICAgICAgICB3b3Jr
bGlzdC5hcHBlbmRSYW5nZSh0b01hdGVyaWFsaXplLmJlZ2luKCksIHRvTWF0ZXJpYWxpemUuZW5k
KCkpOwogICAgICAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlh
bGl6YXRpb24gOiB3b3JrbGlzdCkgewpAQCAtMjQ2LDIwICsyNDYsMjggQEAgc3RhdGljIHZvaWQg
Y29tcGlsZVN0dWIoCiAgICAgICAgICAgICBmb3IgKEV4aXRQcm9wZXJ0eVZhbHVlIHZhbHVlIDog
bWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXZh
bHVlLnZhbHVlKCkuaXNPYmplY3RNYXRlcmlhbGl6YXRpb24oKSkKICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5sb2NhdGlvbigpLm5lZWRl
ZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgICAgICBpZiAodG9NYXRlcmlhbGl6ZS5jb250YWlucyh2YWx1ZS52YWx1ZSgpLm9i
amVjdE1hdGVyaWFsaXphdGlvbigpKSkgewotICAgICAgICAgICAgICAgICAgICAvLyBHb3R0YSBz
a2lwIHRoaXMgb25lLCBzaW5jZSBvbmUgb2YgaXRzIGZpZWxkcyBwb2ludHMgdG8gYSBtYXRlcmlh
bGl6YXRpb24KLSAgICAgICAgICAgICAgICAgICAgLy8gdGhhdCBoYXNuJ3QgYmVlbiBtYXRlcmlh
bGl6ZWQuCisgICAgICAgICAgICAgICAgICAgIC8vIEdvdHRhIHNraXAgdGhpcyBvbmUsIHNpbmNl
IGl0IG5lZWRzIGEKKyAgICAgICAgICAgICAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIHRoYXQg
aGFzbid0IGJlZW4gbWF0ZXJpYWxpemVkLgogICAgICAgICAgICAgICAgICAgICBhbGxHb29kID0g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICghYWxsR29vZCkKICAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gQWxsIHN5c3RlbXMgZ28gZm9y
IG1hdGVyaWFsaXppbmcgdGhlIG9iamVjdC4gRmlyc3Qgd2UgcmVjb3ZlciB0aGUgdmFsdWVzIG9m
IGFsbCBvZgotICAgICAgICAgICAgLy8gaXRzIGZpZWxkcyBhbmQgdGhlbiB3ZSBjYWxsIGEgZnVu
Y3Rpb24gdG8gYWN0dWFsbHkgYWxsb2NhdGUgdGhlIGJlYXN0LgorCisgICAgICAgICAgICAvLyBB
bGwgc3lzdGVtcyBnbyBmb3IgbWF0ZXJpYWxpemluZyB0aGUgb2JqZWN0LiBGaXJzdCB3ZQorICAg
ICAgICAgICAgLy8gcmVjb3ZlciB0aGUgdmFsdWVzIG9mIGFsbCBvZiBpdHMgZmllbGRzIGFuZCB0
aGVuIHdlCisgICAgICAgICAgICAvLyBjYWxsIGEgZnVuY3Rpb24gdG8gYWN0dWFsbHkgYWxsb2Nh
dGUgdGhlIGJlYXN0LgorICAgICAgICAgICAgLy8gV2Ugb25seSByZWNvdmVyIHRoZSBmaWVsZHMg
dGhhdCBhcmUgbmVlZGVkIGZvciB0aGUgYWxsb2NhdGlvbi4KICAgICAgICAgICAgIGZvciAodW5z
aWduZWQgcHJvcGVydHlJbmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUo
KTsgcHJvcGVydHlJbmRleC0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYg
dmFsdWUgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1
ZSgpOworICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9
IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdOworICAgICAgICAg
ICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBwcm9wZXJ0eS52YWx1ZSgpOworICAgICAg
ICAgICAgICAgIGlmICghcHJvcGVydHkubG9jYXRpb24oKS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRp
b24oKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgICAgICBj
b21waWxlUmVjb3ZlcnkoCiAgICAgICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwg
aml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCiAgICAgICAgICAgICAgICAgICAg
IG1hdGVyaWFsaXphdGlvblRvUG9pbnRlcik7CkBAIC0yNzMsNyArMjgxLDcgQEAgc3RhdGljIHZv
aWQgY29tcGlsZVN0dWIoCiAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdElu
T1NSKSksIEdQUkluZm86Om5vbkFyZ0dQUjApOwogICAgICAgICAgICAgaml0LmNhbGwoR1BSSW5m
bzo6bm9uQXJnR1BSMCk7CiAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmV0dXJu
VmFsdWVHUFIsIG1hdGVyaWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSk7
Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgLy8gTGV0IGV2ZXJ5b25lIGtub3cgdGhhdCB3
ZSdyZSBkb25lLgogICAgICAgICAgICAgdG9NYXRlcmlhbGl6ZS5yZW1vdmUobWF0ZXJpYWxpemF0
aW9uKTsKICAgICAgICAgfQpAQCAtMjg0LDYgKzI5MiwyNyBAQCBzdGF0aWMgdm9pZCBjb21waWxl
U3R1YigKICAgICAgICAgUkVMRUFTRV9BU1NFUlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2
aW91c1RvTWF0ZXJpYWxpemVTaXplKTsKICAgICB9CiAKKyAgICAvLyBOb3cgdGhhdCBhbGwgdGhl
IG9iamVjdHMgaGF2ZSBiZWVuIGFsbG9jYXRlZCwgd2UgcG9wdWxhdGUgdGhlbQorICAgIC8vIHdp
dGggdGhlIGNvcnJlY3QgdmFsdWVzLiBUaGlzIHRpbWUgd2UgY2FuIHJlY292ZXIgYWxsIHRoZQor
ICAgIC8vIGZpZWxkcywgaW5jbHVkaW5nIHRob3NlIHRoYXQgYXJlIG9ubHkgbmVlZGVkIGZvciB0
aGUgYWxsb2NhdGlvbi4KKyAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBt
YXRlcmlhbGl6YXRpb24gOiBleGl0Lm1fbWF0ZXJpYWxpemF0aW9ucykgeworICAgICAgICBmb3Ig
KHVuc2lnbmVkIHByb3BlcnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5z
aXplKCk7IHByb3BlcnR5SW5kZXgtLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYg
dmFsdWUgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1
ZSgpOworICAgICAgICAgICAgY29tcGlsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgIGppdCwg
dmFsdWUsIHJlY29yZCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCisgICAg
ICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyKTsKKyAgICAgICAgICAgIGppdC5z
dG9yZVB0cihHUFJJbmZvOjpyZWdUMCwgbWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzICsgcHJvcGVy
dHlJbmRleCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUaGlzIGNhbGwgYXNzdW1lcyB0aGF0
IHdlIGRvbid0IHBhc3MgYXJndW1lbnRzIG9uIHRoZSBzdGFjaworICAgICAgICBqaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKG1hdGVyaWFsaXphdGlvbiksCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uVG9Qb2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKSwK
KyAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb25B
cmd1bWVudHMpKTsKKyAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KGJpdHdpc2VfY2FzdDx2b2lkKj4ob3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUikpLCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKKyAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7
CisgICAgfQorCiAgICAgLy8gU2F2ZSBhbGwgc3RhdGUgZnJvbSB3aGVyZXZlciB0aGUgZXhpdCBk
YXRhIHRlbGxzIHVzIGl0IHdhcywgaW50byB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4KICAgICAv
LyB0aGUgc2NyYXRjaCBidWZmZXIuIFRoaXMgYWxzbyBkb2VzIHRoZSByZWJveGluZy4KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDRlNWM4
YjNmYjc5M2E4M2IyMzY3ZmIwMGE3ZTdjMWI3NGE0ODQ5ZTAuLjRjMzgzNzM4ODZhMzVlZmY4ZDJm
OTI0Y2Y0MmI3MWQzMTFmNTM3OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
cGVyYXRpb25zLmNwcApAQCAtNDgsNDkgKzQ4LDExMCBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSogZXhl
YwogICAgIHJldHVybiBKU0ZpbmFsT2JqZWN0OjpjcmVhdGUoZXhlYywgc3RydWN0dXJlLCBidXR0
ZXJmbHkpOwogfQogCitleHRlcm4gIkMiIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qb3B1
bGF0ZU9iamVjdEluT1NSKAorICAgIEV4ZWNTdGF0ZSogZXhlYywgRXhpdFRpbWVPYmplY3RNYXRl
cmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiwKKyAgICBFbmNvZGVkSlNWYWx1ZSogZW5jb2Rl
ZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSogdmFsdWVzKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKworICAg
IC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgorICAg
IC8vIEZJWE1FOiBXZSBhcmUgbm90IGRvaW5nIGFueXRoaW5nIHRoYXQgY2FuIEdDIGhlcmUsIGFu
ZCB0aGlzIGlzCisgICAgLy8gcHJvYmFibHkgdW5uZWNlc3NhcnkuCisgICAgRGVmZXJHQ0ZvckFX
aGlsZSBkZWZlckdDKHZtLmhlYXApOworCisgICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5
cGUoKSkgeworICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDogeworICAgICAgICBKU0ZpbmFsT2Jq
ZWN0KiBvYmplY3QgPSBqc0Nhc3Q8SlNGaW5hbE9iamVjdCo+KEpTVmFsdWU6OmRlY29kZSgqZW5j
b2RlZFZhbHVlKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1
Y3R1cmUoKTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxh
dGUgdGhlIG9iamVjdCB3aXRoLiBVc2UKKyAgICAgICAgLy8gZ2V0UHJvcGVydGllc0NvbmN1cnJl
bnRseSgpIGJlY2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJlCisgICAgICAgIC8vIGxvd2VyLWxldmVs
IGFuZCBtb3JlIGNvbnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQorICAgICAgICAvLyBt
YXRlcmlhbGl6YXRpb24gb2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUKKyAg
ICAgICAgLy8gbWluaW1hbCB2aXNpYmxlIGVmZmVjdHMgb24gdGhlIHN5c3RlbS4gQWxzbywgZG9u
J3QgbWluZAorICAgICAgICAvLyB0aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRl
ci4gV2Ugb25seSBnZXQgaGVyZQorICAgICAgICAvLyBmcm9tIE9TUiBleGl0LgorICAgICAgICBm
b3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25j
dXJyZW50bHkoKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0
aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICAgICAgY29uc3Qg
RXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KClbaV07CisgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9
IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICBpZiAoY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCku
aW5mbygpKS5pbXBsKCkgIT0gZW50cnkua2V5KQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQs
IEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAg
ICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVudHM6CisgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJn
dW1lbnRzOgorICAgICAgICAvLyBUaG9zZSBhcmUgY29tcGxldGVseSBoYW5kbGVkIGJ5IG9wZXJh
dGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFBo
YW50b21DcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiBh
Y3RpdmF0aW9uID0ganNDYXN0PEpTTGV4aWNhbEVudmlyb25tZW50Kj4oSlNWYWx1ZTo6ZGVjb2Rl
KCplbmNvZGVkVmFsdWUpKTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdG8gcG9wdWxh
dGUgdGhlIGFjdGl2YXRpb24gd2l0aAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlh
bGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGNvbnN0
IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGll
cygpW2ldOworICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENs
b3N1cmVWYXJQTG9jKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBh
Y3RpdmF0aW9uLT52YXJpYWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5m
bygpKSkuc2V0KGV4ZWMtPnZtKCksIGFjdGl2YXRpb24sIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNb
aV0pKTsKKyAgICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAgIH0KKworCisgICAgZGVmYXVs
dDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICB9Cit9CisKIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9i
amVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uLCBFbmNvZGVkSlNWYWx1ZSogdmFs
dWVzKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBleGVjLT5jb2RlQmxvY2soKTsKIAogICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290
IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2
bS5oZWFwKTsKICAgICAKICAgICBzd2l0Y2ggKG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CiAg
ICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OiB7Ci0gICAgICAgIC8vIEZpcnN0IGZpZ3VyZSBvdXQg
d2hhdCB0aGUgc3RydWN0dXJlIGlzLgorICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0
cnVjdHVyZSBpcwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CiAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUo
KTsgaS0tOykgewogICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJv
cGVydHkubG9jYXRpb24oKSAhPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihTdHJ1Y3R1cmVQ
TG9jKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCisKICAgICAgICAgICAg
IHN0cnVjdHVyZSA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ld
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBSRUxFQVNFX0FTU0VS
VChzdHJ1Y3R1cmUpOwotICAgIAotICAgICAgICAvLyBMZXQncyBjcmVhdGUgdGhhdCBvYmplY3Qh
CisKICAgICAgICAgSlNGaW5hbE9iamVjdCogcmVzdWx0ID0gSlNGaW5hbE9iamVjdDo6Y3JlYXRl
KHZtLCBzdHJ1Y3R1cmUpOwotICAgIAotICAgICAgICAvLyBOb3cgZmlndXJlIG91dCB3aGF0IHRo
ZSBoZWNrIHRvIHBvcHVsYXRlIHRoZSBvYmplY3Qgd2l0aC4gVXNlIGdldFByb3BlcnRpZXNDb25j
dXJyZW50bHkoKQotICAgICAgICAvLyBiZWNhdXNlIHRoYXQgaGFwcGVucyB0byBiZSBsb3dlci1s
ZXZlbCBhbmQgbW9yZSBjb252ZW5pZW50LiBJdCBkb2Vzbid0IGNoYW5nZSB0aGUKLSAgICAgICAg
Ly8gbWF0ZXJpYWxpemF0aW9uIG9mIHRoZSBwcm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0byBoYXZl
IG1pbmltYWwgdmlzaWJsZSBlZmZlY3RzIG9uIHRoZQotICAgICAgICAvLyBzeXN0ZW0uIEFsc28s
IGRvbid0IG1pbmQgdGhhdCB0aGlzIGlzIE8obl4yKS4gSXQgZG9lc24ndCBtYXR0ZXIuIFdlIG9u
bHkgZ2V0IGhlcmUgZnJvbSBPU1IKLSAgICAgICAgLy8gZXhpdC4KLSAgICAgICAgZm9yIChQcm9w
ZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5
KCkpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJv
cGVydGllcygpLnNpemUoKTsgaS0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9w
ZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwot
ICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFBy
b3BlcnR5UExvYykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAg
ICAgaWYgKGNvZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSku
aW1wbCgpICE9IGVudHJ5LmtleSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zm
c2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAKKworICAgICAgICAvLyBUaGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2Vx
dWVudGx5IGJ5CisgICAgICAgIC8vIG9wZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFdl
IGNhbid0IGZpbGwgdGhlbSBpbgorICAgICAgICAvLyBub3csIGJlY2F1c2UgdGhleSBtYXkgbm90
IGJlIGF2YWlsYWJsZSB5ZXQgKHR5cGljYWxseQorICAgICAgICAvLyBiZWNhdXNlIHdlIGhhdmUg
YSBjeWNsaWMgZGVwZW5kZW5jeSBncmFwaCkuCisKKyAgICAgICAgLy8gV2UgcHV0IGEgZHVtbXkg
dmFsdWUgaGVyZSBpbiBvcmRlciB0byBhdm9pZCBzdXBlci1zdWJ0bGUKKyAgICAgICAgLy8gR0Mt
YW5kLU9TUi1leGl0IGNyYXNoZXMgaW4gY2FzZSB3ZSBoYXZlIGEgYnVnIGFuZCBzb21lCisgICAg
ICAgIC8vIGZpZWxkIGlzLCBmb3IgYW55IHJlYXNvbiwgbm90IGZpbGxlZCBsYXRlci4KKyAgICAg
ICAgLy8gV2UgdXNlIGEgcmFuZG9tLWlzaCBudW1iZXIgaW5zdGVhZCBvZiBhIHNlbnNpYmxlIHZh
bHVlIGxpa2UKKyAgICAgICAgLy8gdW5kZWZpbmVkIHRvIG1ha2UgcG9zc2libGUgYnVncyBlYXNp
ZXIgdG8gdHJhY2suCisgICAgICAgIGZvciAoUHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVj
dHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKQorICAgICAgICAgICAgcmVzdWx0LT5w
dXREaXJlY3Qodm0sIGVudHJ5Lm9mZnNldCwganNOdW1iZXIoMTk3MjMpKTsKKwogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0KIApAQCAtMTEzLDcgKzE3NCw3IEBAIGV4dGVybiAiQyIgSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAg
fQogCiAgICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbjogewotICAgICAgICAvLyBGaWd1
cmUgb3V0IHdoZXJlIHRoZSBzY29wZSBpcworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhl
IHNjb3BlIGFuZCBzeW1ib2wgdGFibGUgYXJlCiAgICAgICAgIEpTU2NvcGUqIHNjb3BlID0gbnVs
bHB0cjsKICAgICAgICAgU3ltYm9sVGFibGUqIHRhYmxlID0gbnVsbHB0cjsKICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07
KSB7CkBAIC0xMzMsMTMgKzE5NCwxNyBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElP
TiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgICAgICBKU0xleGljYWxFbnZp
cm9ubWVudCogcmVzdWx0ID0gSlNMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSh2bSwgc3RydWN0
dXJlLCBzY29wZSwgdGFibGUpOwogCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXph
dGlvbi0+cHJvcGVydGllcygpLnNpemUoKSAtIDIgPT0gdGFibGUtPnNjb3BlU2l6ZSgpKTsKLSAg
ICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRvIHBvcHVsYXRlIHRoZSBhY3RpdmF0aW9uIHdpdGgK
KworICAgICAgICAvLyBUaGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5
CisgICAgICAgIC8vIG9wZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFNlZSB0aGUgUGhh
bnRvbU5ld09iamVjdAorICAgICAgICAvLyBjYXNlIGZvciBkZXRhaWxzLgogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTsp
IHsKICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwogICAgICAgICAgICAgaWYgKHByb3BlcnR5Lmxv
Y2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVWYXJQTG9jKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogCi0gICAgICAgICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVy
dHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoZXhlYy0+dm0oKSwgcmVzdWx0LCBKU1ZhbHVlOjpk
ZWNvZGUodmFsdWVzW2ldKSk7CisgICAgICAgICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVP
ZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoCisgICAgICAgICAgICAgICAg
ZXhlYy0+dm0oKSwgcmVzdWx0LCBqc051bWJlcigyOTgzNCkpOwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKHZhbGlkYXRpb25FbmFibGVkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmgKaW5kZXggZDE1ZjE4ZWI5YWRkMzM3OWZiNWNmMTQyZGUzNDYxM2M0ODU3
NzUwNS4uYTU1NjhmOTFiMTE3MmI1MTI5Zjg4Mzk3ODNlNzNiYzZkOGM4M2Y3YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKQEAgLTQwLDYgKzQwLDkgQEAgSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0
YXRlKiwgU3RydWN0dXJlKikgV1QKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRl
cmlhbGl6ZU9iamVjdEluT1NSKAogICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0ZXJp
YWxpemF0aW9uKiwgRW5jb2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CiAKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKAorICAgIEV4ZWNTdGF0ZSosIEV4
aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiwgRW5jb2RlZEpTVmFsdWUqLCBFbmNvZGVkSlNW
YWx1ZSopIFdURl9JTlRFUk5BTDsKKwogfSAvLyBleHRlcm4gIkMiCiAKIH0gfSAvLyBuYW1lc3Bh
Y2UgSlNDOjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCBm
ZDE2ODJjZDM0MzBhM2UyYzJjN2VjMDdhMDllMmRlNTUxZDUwZjgzLi42ZmM3YzMyYTM4Njc3ZmNm
MmFmMWIwYjJhODQwOTk3ZGRmZDU3MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCkBAIC0xODUsNyArMTg1LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25T
dHJpbmc7CiAgICAgdihkb3VibGUsIG1pbmltdW1DYWxsVG9Lbm93blJhdGUsIDAuNTEsIG51bGxw
dHIpIFwKICAgICB2KGJvb2wsIG9wdGltaXplTmF0aXZlQ2FsbHMsIGZhbHNlLCBudWxscHRyKSBc
CiAgICAgdihib29sLCBlbmFibGVNb3ZIaW50UmVtb3ZhbCwgdHJ1ZSwgbnVsbHB0cikgXAotICAg
IHYoYm9vbCwgZW5hYmxlT2JqZWN0QWxsb2NhdGlvblNpbmtpbmcsIHRydWUsIG51bGxwdHIpIFwK
KyAgICB2KGJvb2wsIGVuYWJsZUFsbG9jYXRpb25DeWNsZVNpbmtpbmcsIGZhbHNlLCBudWxscHRy
KSBcCiAgICAgXAogICAgIHYoYm9vbCwgZW5hYmxlQ29uY3VycmVudEpJVCwgdHJ1ZSwgImFsbG93
cyB0aGUgREZHIC8gRlRMIGNvbXBpbGF0aW9uIGluIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUgZXhl
Y3V0aW5nIEpTIHRocmVhZCIpIFwKICAgICB2KHVuc2lnbmVkLCBudW1iZXJPZkRGR0NvbXBpbGVy
VGhyZWFkcywgY29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFkcygyLCAyKSAtIDEsIG51bGxwdHIp
IFwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAx
OTcxMDQ4NDFlYmM3ZTk4ZmQ0MDMzMTQ2ZWViZjc4YjZhNTZlYTU1Li5hZTdkMjlmZTViODVlZDM3
MGZhZGE4MmJkNTQ3N2E4NjMwMDVhYzRkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDYtMjkgIEJhc2lsZSBD
bGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgorCisgICAgICAgIE9iamVjdCBjeWNs
ZXMgc2hvdWxkIG5vdCBwcmV2ZW50IGFsbG9jYXRpb24gZWxpbWluYXRpb24vc2lua2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDczCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3ljbGljIGFsbG9j
YXRpb24gc2lua2luZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCBpdCB0byBy
dW4KKyAgICAgICAgdGVzdHMuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0czoKKwogMjAxNS0wNi0yNiAgUGVyIEFybmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5j
b20+CiAKICAgICAgICAgV2luTGF1bmNoZXIgZmFpbHMgdG8gZG93bmxvYWQgZmlsZXMuCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IDQ5NDFkN2Y3YmU4MGM0ZjA3OGI4
YTBhYjlmODViNWRkZGExMWYxODcuLjA2ODliZTU4ZGE1YTA5NTdhZWYzODE3MGJiZTUzMDVmM2U0
N2U0NzQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3Rz
CisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC0xNDQsNiAr
MTQ0LDcgQEAgaWYgKCFkZWZpbmVkKCRyb290KSAmJiAkYnVpbGRKU0MpIHsKIG15ICRwcm9kdWN0
RGlyID0ganNjUHJvZHVjdERpcigpOwogJEVOVntEWUxEX0ZSQU1FV09SS19QQVRIfSA9ICRwcm9k
dWN0RGlyOwogJEVOVntKU0NfdGltZW91dH0gPSA2MCB1bmxlc3MgJEVOVntKU0NfdGltZW91dH07
ICMgU2V0IGEgNjAgc2Vjb25kIHRpbWVvdXQgb24gYWxsIGpzYyB0ZXN0cyAoaWYgZW52aXJvbm1l
bnQgdmFyaWFibGUgbm90IGRlZmluZWQgYWxyZWFkeSkuCiskRU5We0pTQ19lbmFibGVBbGxvY2F0
aW9uQ3ljbGVTaW5raW5nfSA9IDEgdW5sZXNzIGRlZmluZWQoJEVOVntKU0NfZW5hYmxlQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZ30pOwogJEVOVntUWn09IlVTL1BhY2lmaWMiOyAjIFNvbWUgdGVzdHMg
ZmFpbCBpZiB0aGUgdGltZSB6b25lIGlzIG5vdCBzZXQgdG8gVVMvUGFjaWZpYyAoPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzEzNjM2Mz4pCiBzZXRQYXRoRm9yUnVubmluZ1dlYktpdEFwcChcJUVOVikg
aWYgaXNDeWd3aW4oKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFhNzdkNGQyNTk3MjJlZGEyMmNhYjgzZjJkNDllNTQx
MGI0MDY4NTYuLjkzY2I3NDNkNTM3N2YzOTU0Mjc5MTM3ZWRhZTQyODJlMDA3NThmY2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNi0yOSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xl
bWVudEBhcHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZl
bnQgYWxsb2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBmZXcgbWljcm9iZW5jaG1hcmtzIHRoYXQg
c2hvdyBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCB3aGVuCisgICAgICAgIHNpbmtpbmcgb3IgZWxp
bWluaW5hdGluZyBvYmplY3QgY3ljbGVzLgorCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQt
dGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChzdW1P
ZkFyaXRoU2VyaWVzKToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICoganMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChmYWN0
b3JpYWwuZik6CisgICAgICAgIChmYWN0b3JpYWwpOgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2Ny
aXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAo
c3VtT2ZBcml0aFNlcmllcyk6CisgICAgICAgICh2ZXJpZnkpOgorICAgICAgICAoZm9vKToKKwog
MjAxNS0wNi0yNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gU2Fucy1zZXJpZiBnZW5lcmljIGZvbnQgZmFtaWx5IHNob3VsZCBtYXAg
dG8gUGluZ0ZhbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQx
MGI0NDgyNzdiMTIwZWFiYjAxNzcwODY1MzQyOTRiY2JiYzk3YTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0
LWN5Y2xlLmpzCkBAIC0wLDAgKzEsMjQgQEAKK2Z1bmN0aW9uIHN1bU9mQXJpdGhTZXJpZXMobGlt
aXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAxKSAvIDI7Cit9CisKK3ZhciBuID0g
MTAwMDAwMDA7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9OworICAgICAg
ICB2YXIgbGVhZiA9IHtmOmksIHRyZWU6IHF9OworICAgICAgICB2YXIgbyA9IHtmOmxlYWYsIHRy
ZWU6IHF9OworICAgICAgICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6IHF9OworICAgICAgICBxLmYg
PSBvOworICAgICAgICBxLmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICByZXN1
bHQgKz0gcS5mLmYuZjsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordmFyIHJlc3Vs
dCA9IGZvbygpOworaWYgKHJlc3VsdCAhPSBzdW1PZkFyaXRoU2VyaWVzKG4gLSAxKSkKKyAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzIGIv
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNs
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42MTQ4ZGJiNDA5YWVkMTlkNDc5NzMxOTE4NGY3M2QyZjQ3ZDM1NGE1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMv
c2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBmYWN0
b3JpYWwoeCkgeworICAgIGlmICh4IDwgMCkgdGhyb3cgIldlIGFyZSBub3QgR2FtbWEiOworCisg
ICAgaWYgKHggPT09IDApCisgICAgICAgIHJldHVybiAxOworCisgICAgZnVuY3Rpb24gZihpLCBh
Y2MpIHsKKyAgICAgICAgaWYgKGkgPT09IDEpCisgICAgICAgICAgICByZXR1cm4gYWNjOworICAg
ICAgICByZXR1cm4gZihpIC0gMSwgaSAqIGFjYyk7CisgICAgfQorCisgICAgcmV0dXJuIGYoeCwg
MSk7Cit9Citub0lubGluZShmYWN0b3JpYWwpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDA7ICsraSkKKyAgICBmYWN0b3JpYWwoaSAlIDMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5qcyBiL0xh
eW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3lj
bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTYwODE3MjJkZDIzY2E5NzRhNGVkOGIwZGQwMTc4YTAwZjU4NTA2
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMKQEAgLTAsMCArMSwzOCBAQAorZnVuY3Rpb24g
c3VtT2ZBcml0aFNlcmllcyhsaW1pdCkgeworICAgIHJldHVybiBsaW1pdCAqIChsaW1pdCArIDEp
IC8gMjsKK30KKwordmFyIG4gPSAxMDAwMDAwMDsKKworZnVuY3Rpb24gdmVyaWZ5KHEsIGkpIHsK
KyAgICBpZiAocS5mID09IHEuZykKKyAgICAgICAgdGhyb3cgIkVycm9yOiBxLmYgPT0gcS5nIjsK
KyAgICBpZiAocS5mLmYgIT0gcS5nLmYpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mLmYgIT0g
cS5nLmYiOworICAgIGlmIChxLmYuZi5mICE9IGkpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5m
LmYuZiAhPSBpIjsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgIHZhciByZXN1bHQgPSAwOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBxID0ge307Cisg
ICAgICAgIHZhciBsZWFmID0ge2Y6aSwgdHJlZTpxfTsKKyAgICAgICAgdmFyIG8gPSB7ZjpsZWFm
LCB0cmVlOnF9OworICAgICAgICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6cX07CisgICAgICAgIHEu
ZiA9IG87CisgICAgICAgIHEuZyA9IHA7CisgICAgICAgIHEudHJlZSA9IHE7CisgICAgICAgIHJl
c3VsdCArPSBxLmYuZi5mOworICAgICAgICBpZiAoIShpICUgMTAwKSkKKyAgICAgICAgICAgIHZl
cmlmeShxLCBpKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbm9JbmxpbmUoZm9v
KTsKK25vSW5saW5lKHZlcmlmeSk7CisKK3ZhciByZXN1bHQgPSBmb28oKTsKK2lmIChyZXN1bHQg
IT0gc3VtT2ZBcml0aFNlcmllcyhuIC0gMSkpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0
OiAiICsgcmVzdWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255867</attachid>
            <date>2015-06-30 15:30:26 -0700</date>
            <delta_ts>2015-07-01 09:49:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150630152935.patch</filename>
            <type>text/plain</type>
            <size>184850</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NjdjNjVjZjA3MGRlYjFkZTQwMzQ1MGU1ZDg4YzkyNWI4OTg1ZTFiLi41NDE0OWJkYTc1ZGE4NmUw
ZGMwNzQ0MWRkYzYwNDQxNGFkYjUxZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2OCBAQAogMjAxNS0wNi0zMCAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CiAKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgYWxsb2NhdGlv
biBzaW5raW5nIHBoYXNlIHRoYXQgaXMgYWJsZSB0bworICAgICAgICBzaW5rIGN5Y2xlcywgaW4g
REZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcC4gVGhpcyBwaGFzZQorICAgICAgICBz
dXBlcnNlZGVzIHRoZSBvbGQgYWxsb2NhdGlvbiBzaW5raW5nIHBoYXNlIGluCisgICAgICAgIERG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLCBhcyB0aGF0IHByZXZpb3VzIHBoYXNl
IHdhcyBuZXZlcgorICAgICAgICBhYmxlIHRvIHNpbmsgYWxsb2NhdGlvbiBjeWNsZXMgd2hpbGUg
dGhlIG5ldyBwaGFzZSBzb21ldGltZXMgY2FuOyBzZWUKKyAgICAgICAgREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmNwcCBmb3IgZGV0YWlscy4KKworICAgICAgICBGb3Igbm93LCB0aGUg
bmV3IHNpbmtpbmcgcGhhc2UgaXMga2VwdCBiZWhpbmQgYQorICAgICAgICBKU0NfZW5hYmxlQWxs
b2NhdGlvbkN5Y2xlU2lua2luZyBmbGFnIHRoYXQgcmV2ZXJ0cyB0byB0aGUgb2xkIHNpbmtpbmcK
KyAgICAgICAgcGhhc2Ugd2hlbiBmYWxzZSAoaS5lLiwgYnkgZGVmYXVsdCkuIFRoaXMgYWxzbyBy
ZW1vdmVzIHRoZSBvbGQKKyAgICAgICAgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5n
IGZsYWcuIHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICBkZWZhdWx0cyB0byB1c2lu
ZyB0aGUgbmV3IHNpbmtpbmcgcGhhc2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OkRGRzo6cGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcpOgor
ICAgICAgICAqIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDogQWRkZWQuCisg
ICAgICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmFkZFN0
cnVjdHVyZVNldCk6IEFsbG93IGVtcHR5IHN0cnVjdHVyZSBzZXRzCisgICAgICAgICogZGZnL0RG
R0xhenlOb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMYXp5Tm9kZTo6ZHVtcCk6IFByZXR0
aWVyIGR1bXAKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6OmNlbGxPcGVyYW5kKTogTW92ZSB0byBvcEluZm8gZm9yIE1hdGVyaWFsaXplQ3JlYXRlQWN0
aXZhdGlvbgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1N0cnVjdHVyZVNldCk6IEFkZCBN
YXRlcmlhbGl6ZU5ld09iamVjdAorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Om9iamVjdE1hdGVy
aWFsaXphdGlvbkRhdGEpOiBNb3ZlIHRvIG9wSW5mbzIKKyAgICAgICAgKiBkZmcvREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA6IFJlbW92ZSB1bnVzZWQgaGVhZGVyCisgICAgICAg
ICogZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwOiBNYXRlcmlhbGl6ZU5l
d09iamVjdC9NYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24gY2hhbmdlZAorICAgICAgICAoSlND
OjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6
OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6bG93ZXJOb25SZWFkaW5nT3BlcmF0
aW9uc09uUGhhbnRvbUFsbG9jYXRpb25zKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxv
Y2F0aW9uU2lua2luZ1BoYXNlOjpmaWxsU3RydWN0dXJlU2V0cyk6CisgICAgICAgIChKU0M6OkRG
Rzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6Y3JlYXRlTWF0ZXJpYWxpemUpOgorICAg
ICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnBvcHVsYXRlTWF0
ZXJpYWxpemUpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRI
ZWFwTG9jYXRpb24uaDogQWRkIGEgaGFzaCBhbmQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpE
Rkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVyYXRvciBib29sKToKKyAgICAgICAg
KEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2g6Omhhc2gpOgorICAgICAg
ICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6ZXF1YWwpOgorICAg
ICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpuZWVkZWRGb3JNYXRl
cmlhbGl6YXRpb24pOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKTogQXNzZXJ0IHRoYXQgbW9zdCBub2RlcyBu
ZXZlciBzZWUgYSBwaGFudG9tIGFsbG9jYXRpb24KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwOiAKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21w
aWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOiBVc2UgdGhlIG5ldyBzdHJ1Y3R1cmVTZXQoKSBvcGVy
YW5kCisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVy
aWFsaXplQ3JlYXRlQWN0aXZhdGlvbik6IE5vZGUgaGFzIGEgbmV3IGNoaWxkCisgICAgICAgICog
ZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHA6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVz
CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0bC9GVExPcGVy
YXRpb25zLmNwcDogSGFuZGxlIG1hdGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6
RlRMOjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpv
cGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0
aW9ucy5oOiBIYW5kbGUgbWF0ZXJpYWxpemF0aW9uIGN5Y2xlcworICAgICAgICAqIHJ1bnRpbWUv
T3B0aW9ucy5oOiBSZW1vdmUgb2xkIEpTQ19lbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZyBh
bmQgYWRkIEpTQ19lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nCisKKzIwMTUtMDYtMzAgIEJh
c2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgorCiAgICAgICAgIEFsbG93
IG9iamVjdCBhbGxvY2F0aW9uIHNpbmtpbmcgdGhyb3VnaCBHZXRTY29wZSwgR2V0RXhlY3V0YWJs
ZSBhbmQgU2tpcFNjb3BlIG5vZGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDY0MzEKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDNjOTQwYjRhNWIyNTQzY2QxNGJjZWQ1OGIwMmMxYjk4MTU2OWJjNGIuLjEwMzIxZDM2NGEw
ZjI5NWVkNjM4ZjA5NDFmYjUwYjJiY2JlMGIzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTEyNiw2ICsxMjYsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwog
CiAgICAgZGZnL0RGR0Fic3RyYWN0SGVhcC5jcHAKICAgICBkZmcvREZHQWJzdHJhY3RWYWx1ZS5j
cHAKKyAgICBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcAogICAgIGRmZy9E
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdBcmd1bWVudHNVdGls
aXRpZXMuY3BwCiAgICAgZGZnL0RGR0FyaXRoTW9kZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCmluZGV4IGIxNDJhNmEyYzY2NzQzMDA3YWU5YjVjMmFiN2NiZDhkMWQx
ZDc5MTAuLjc1ZDA0MjY0ZjQxOTI5MmYyNzg5ZTI5YzBmMDBlZjk3YjExYWVjMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtMzY0LDYgKzM2NCw3IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZWJ1Z2dlclxEZWJ1Z2dlclNjb3BlLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBYnN0cmFjdEhlYXAuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0VmFsdWUuY3BwIiAvPgorICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFz
ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRzRWxp
bWluYXRpb25QaGFzZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZH
QXJndW1lbnRzVXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRm
Z1xERkdBcml0aE1vZGUuY3BwIiAvPgpAQCAtMTAzNyw2ICsxMDM4LDcgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBYnN0cmFjdFZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWRqYWNlbmN5TGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRvci5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FuYWx5c2lzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRQb3NpdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZGZnXERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBkM2Uw
MmUzZDQzNDA3ZGIxZjI3YjRhM2JmMzQwZmE1NjFmZjNjYjQ1Li45YzU0MzAwZDE2ZDQyMzZhNmMy
ZTgzMThjODk2NjZkYTE4YmQ5ZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0xNjgwLDYgKzE2ODAsOSBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwIj4KICAgICAg
IDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCI+CisgICAg
ICA8RmlsdGVyPmRmZzwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cZGZnXERGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzM5MSw2ICszMzk0
LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxvY2F0b3IuaCI+CiAg
ICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIj4KKyAg
ICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQW5hbHlzaXMuaCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
ODhlYTAwODhlYmJiNDViNjEzNWZiMGZlZmYwZTc2ODVlYzUyYTRlLi4yMjIzYmU5ZGMyZDY5Mjlk
ZjAwNTU2OTlmYWQ5ZGQ5YTQ5ZTcwMGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTYyLDYgKzk2Miw4IEBACiAJCTVEQkIxNTFCMTMxRDBCMzEwMDU2QUQzNiAvKiB0ZXN0YXBp
LmpzIGluIENvcHkgU3VwcG9ydCBTY3JpcHQgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTREODU3NzQwQTQ2OTZDODAwMzIxNDZDIC8qIHRlc3RhcGkuanMgKi87IH07CiAJCTVE
QkIxNTI1MTMxRDBCRDcwMDU2QUQzNiAvKiBtaW5pZG9tLmpzIGluIENvcHkgU3VwcG9ydCBTY3Jp
cHQgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxMjExMEQwQTQ4Nzg4NzAw
NDgwMjU1IC8qIG1pbmlkb20uanMgKi87IH07CiAJCTVERTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAv
KiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY2OTJBODU0MDI1NTU5N0QwMUZGNjBGNyAvKiBjcmVhdGVfaGFzaF90YWJsZSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQk2Mjc3Q0MyMjFCM0RFMjU4
MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNzdDQzIwMUIzREUyNTgwMEQx
NkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwICovOyB9OworCQk2Mjc3
Q0MyMzFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2Mjc3Q0MyMTFC
M0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggKi87IH07
CiAJCTYyRDJEMzhGMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyRDJEMzhEMUFERjEw
M0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmNwcCAqLzsgfTsKIAkJNjJEMkQzOTAxQURG
MTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyRDJEMzhFMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5j
dGlvblJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNjJGMkFBMzcxQjBCRURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQTlBMjlFMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi87IH07CkBAIC0yNjc5LDYgKzI2ODEsOCBA
QAogCQk1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQgLyogSlNDLnhjY29uZmlnICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0
aCA9IEpTQy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUREREY0NDYx
NEZFRTcyMjAwQjRGQjREIC8qIExMSW50RGVzaXJlZE9mZnNldHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTExJbnREZXNpcmVkT2Zmc2V0cy5oOyBwYXRoID0gTExJbnRPZmZz
ZXRzL0xMSW50RGVzaXJlZE9mZnNldHMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKIAkJNURFM0QwRjQwREQ4RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWlsYWJpbGl0eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRBdmFpbGFiaWxpdHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjI3N0NDMjAxQjNERTI1ODAwRDE2RDJFIC8q
IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTYyNzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9u
Q3ljbGVTaW5raW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyQTlBMjlF
MUIwQkVENDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdMYXp5Tm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTGF6eU5vZGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0
Q0EgLyogREZHTGF6eU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
TGF6eU5vZGUuaDsgcGF0aCA9IGRmZy9ERkdMYXp5Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MkQyRDM4RDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGdW5jdGlvblJhcmVEYXRh
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NTIsNiArNDg1Niw4IEBACiAJ
CQkJMEY1NUMxOTMxNzI3NkU0NjAwQ0VBQkZEIC8qIERGR0Fic3RyYWN0VmFsdWUuY3BwICovLAog
CQkJCTBGNjIwMTZGMTQzRkNEMkYwMDY4Qjc3QyAvKiBERkdBYnN0cmFjdFZhbHVlLmggKi8sCiAJ
CQkJMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLywKKwkJ
CQk2Mjc3Q0MyMDFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1Bo
YXNlLmNwcCAqLywKKwkJCQk2Mjc3Q0MyMTFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlv
bkN5Y2xlU2lua2luZ1BoYXNlLmggKi8sCiAJCQkJMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8q
IERGR0FsbG9jYXRvci5oICovLAogCQkJCUE3Mzc4MTA5MTc5OUVBMkUwMDgxNzUzMyAvKiBERkdB
bmFseXNpcy5oICovLAogCQkJCTBGMUUzQTQzMTUzNENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVu
dFBvc2l0aW9uLmggKi8sCkBAIC02MTI2LDYgKzYxMzIsNyBAQAogCQkJCTBGMkI2NkU5MTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYy
QjY2RUExN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTdCREFFQ0IxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjI3N0NDMjMxQjNERTI1ODAwRDE2RDJFIC8qIERGR0Fs
bG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTgw
RTE2RjVDRDAwQjM0NDYwIC8qIEpTQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyRDRERTkx
OTgzMkRBQzAwN0Q0QjE5IC8qIFRvVGhpc1N0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQw
RDE3RDcwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLApA
QCAtNzEwMSw2ICs3MTA4LDcgQEAKIAkJCQkwRkM3MTJERTE3Q0Q4Nzc5MDA4Q0M5M0MgLyogRGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3N0E0MjNE
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY1NUMxOTQxNzI3NkU0NjAwQ0VBQkZEIC8qIERGR0Fic3RyYWN0VmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjI3N0NDMjIxQjNERTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25D
eWNsZVNpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMyMTE4Nzc1MDU2
MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMkQ0RERE
MTk4MzJEMzQwMDdENEIxOSAvKiBEZWJ1Z2dlclNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNjM5NDg0MTVFNDgxMTgwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25D
eWNsZVNpbmtpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9j
YXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAxOGViZmMxNzJkYTRlNzc5
NDUxNTFkYTA4ZDY0NTMxNDI2MDFmOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcApAQCAtMCwwICsx
LDIxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1Bo
YXNlLmgiCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworI2luY2x1ZGUgIkRGR0Jsb2NrTWFwSW5s
aW5lcy5oIgorI2luY2x1ZGUgIkRGR0NvbWJpbmVkTGl2ZW5lc3MuaCIKKyNpbmNsdWRlICJERkdH
cmFwaC5oIgorI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgorI2luY2x1ZGUgIkRGR0xhenlO
b2RlLmgiCisjaW5jbHVkZSAiREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmgiCisjaW5jbHVkZSAi
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1BoYXNlLmgi
CisjaW5jbHVkZSAiREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaCIKKyNpbmNsdWRlICJERkdTU0FD
YWxjdWxhdG9yLmgiCisjaW5jbHVkZSAiREZHVmFsaWRhdGUuaCIKKyNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworbmFtZXNwYWNlIHsK
KworYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKKy8vIEluIG9yZGVyIHRvIHNpbmsgb2JqZWN0IGN5
Y2xlcywgd2UgdXNlIGEgcG9pbnRzLXRvIGFuYWx5c2lzIGNvdXBsZWQKKy8vIHdpdGggYW4gZXNj
YXBlIGFuYWx5c2lzLiBUaGlzIGFuYWx5c2lzIGlzIGFjdHVhbGx5IHNpbWlsYXIgdG8gYW4KKy8v
IGFic3RyYWN0IGludGVycHJldGVyIGZvY3VzZWQgb24gbG9jYWwgYWxsb2NhdGlvbnMgYW5kIGln
bm9yaW5nCisvLyBldmVyeXRoaW5nIGVsc2UuCisvLworLy8gV2UgcmVwcmVzZW50IHRoZSBsb2Nh
bCBoZWFwIHVzaW5nIHR3byBtYXBwaW5nczoKKy8vCisvLyAtIEEgc2V0IG9mIHRoZSBsb2NhbCBh
bGxvY2F0aW9ucyBwcmVzZW50IGluIHRoZSBmdW5jdGlvbiwgd2hlcmUKKy8vICAgZWFjaCBvZiB0
aG9zZSBoYXZlIGEgZnVydGhlciBtYXBwaW5nIGZyb20KKy8vICAgUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IgdG8gbG9jYWwgYWxsb2NhdGlvbnMgdGhleSBtdXN0IHBvaW50CisvLyAgIHRvLgor
Ly8KKy8vIC0gQSAicG9pbnRlciIgbWFwcGluZyBmcm9tIG5vZGVzIHRvIGxvY2FsIGFsbG9jYXRp
b25zLCBpZiB0aGV5IG11c3QKKy8vICAgYmUgZXF1YWwgdG8gc2FpZCBsb2NhbCBhbGxvY2F0aW9u
IGFuZCBhcmUgY3VycmVudGx5IGxpdmUuIFRoaXMKKy8vICAgY2FuIGJlIGJlY2F1c2UgdGhlIG5v
ZGUgaXMgdGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUKKy8vICAgYWxsb2NhdGlvbiwg
b3IgYW55IG90aGVyIG5vZGUgdGhhdCBtdXN0IGN1cnJlbnRseSBwb2ludCB0byBpdCAtCisvLyAg
IHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlLgorLy8KKy8vIFRoZSBmb2xsb3dpbmcgZ3JhcGgg
aXMgYSBtb3RpdmF0aW9uIGZvciB3aHkgd2Ugc2VwYXJhdGUgYWxsb2NhdGlvbnMKKy8vIGZyb20g
cG9pbnRlcnM6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qoe30pCisvLyAgMTog
TmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkKKy8vICAtOiBQdXRT
dHJ1Y3R1cmUoQDAsIHt4OjB9KQorLy8gIDI6IEdldEJ5T2Zmc2V0KEAwLCB4KQorLy8gIC06IEp1
bXAoIzEpCisvLworLy8gQmxvY2sgIzEKKy8vICAtOiBSZXR1cm4oQDIpCisvLworLy8gSGVyZSwg
d2UgbmVlZCB0byByZW1lbWJlciBpbiBibG9jayAjMSB0aGF0IEAyIHBvaW50cyB0byBhIGxvY2Fs
CisvLyBhbGxvY2F0aW9uIHdpdGggYXBwcm9wcmlhdGUgZmllbGRzIGFuZCBzdHJ1Y3R1cmVzIGlu
Zm9ybWF0aW9uCisvLyAoYmVjYXVzZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBwbGFjZSBhIG1hdGVy
aWFsaXphdGlvbiBvbiB0b3Agb2YKKy8vIGJsb2NrICMxIGhlcmUpLCBldmVuIHRob3VnaCBAMSBp
cyBkZWFkLiBXZSAqY291bGQqIGp1c3Qga2VlcCBAMQorLy8gYXJ0aWZpY2lhbGx5IGFsaXZlIGhl
cmUsIGJ1dCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiB0byBkbyBpdDoKKy8vIGFmdGVyIGFsbCwg
YnkgdGhlIGVuZCBvZiBibG9jayAjMCwgQDEgYW5kIEAyIHNob3VsZCBiZSBjb21wbGV0ZWx5Cisv
LyBpbnRlcmNoYW5nZWFibGUsIGFuZCB0aGVyZSBpcyBubyByZWFzb24gZm9yIHVzIHRvIGFydGlm
aWNpYWxseSBtYWtlCisvLyBAMSBtb3JlIGltcG9ydGFudC4KKy8vCisvLyBBbiBpbXBvcnRhbnQg
cG9pbnQgdG8gY29uc2lkZXIgdG8gdW5kZXJzdGFuZCB0aGlzIHNlcGFyYXRpb24gaXMKKy8vIHRo
YXQgd2Ugc2hvdWxkIHRoaW5rIG9mIHRoZSBsb2NhbCBoZWFwIGFzIGZvbGxvdzogd2UgaGF2ZSBh
CisvLyBidW5jaCBvZiBub2RlcyB0aGF0IGFyZSBwb2ludGVycyB0byAiYWxsb2NhdGlvbnMiIHRo
YXQgbGl2ZQorLy8gc29tZXBsYWNlIG9uIHRoZSBoZWFwLCBhbmQgdGhvc2UgYWxsb2NhdGlvbnMg
Y2FuIGhhdmUgcG9pbnRlcnMgaW4KKy8vIGJldHdlZW4gdGhlbXNlbHZlcyBhcyB3ZWxsLiBXZSBz
aG91bGRuJ3QgY2FyZSBhYm91dCB3aGF0ZXZlcgorLy8gbmFtZXMgd2UgZ2l2ZSB0byB0aGUgYWxs
b2NhdGlvbnMgOyB3aGF0IG1hdHRlcnMgd2hlbgorLy8gY29tcGFyaW5nL21lcmdpbmcgdHdvIGhl
YXBzIGlzIHRoZSBpc29tb3JwaGlzbS9jb21wYXJpc29uIGJldHdlZW4KKy8vIHRoZSBhbGxvY2F0
aW9uIGdyYXBocyBhcyBzZWVuIGJ5IHRoZSBub2Rlcy4KKy8vCisvLyBGb3IgaW5zdGFuY2UsIGlu
IHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qo
e30pCisvLyAgLTogQnJhbmNoKCMxLCAjMikKKy8vCisvLyBCbG9jayAjMQorLy8gIDE6IE5ld09i
amVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDEsIHgpCisvLyAgLTogUHV0U3RydWN0
dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8vIEJsb2NrICMyCisvLyAgMjog
TmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAyLCB1bmRlZmluZWQsIHgpCisvLyAg
LTogUHV0U3RydWN0dXJlKEAyLCB7eDowfSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDIsIHgp
CisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8v
IEJsb2NrICMzCisvLyAgLTogUmV0dXJuKEAwKQorLy8KKy8vIHdlIHNob3VsZCB0aGluayBvZiB0
aGUgaGVhcHMgYXQgdGFpbCBvZiBibG9ja3MgIzEgYW5kICMyIGFzIGJlaW5nCisvLyBleGFjdGx5
IHRoZSBzYW1lLCBldmVuIHRob3VnaCBvbmUgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDEgYW5kIHRo
ZQorLy8gb3RoZXIgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDIsIGJlY2F1c2UgaW4gZXNzZW5jZSB0
aGlzIHNob3VsZCBub3QKKy8vIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBncmFwaCB3aGVyZSB3ZSBo
b2lzdGVkIEAxIGFuZCBAMiBpbnRvIGEKKy8vIHNpbmdsZSBhbGxvY2F0aW9uIGluIGJsb2NrICMw
LiBXZSBjdXJyZW50bHkgd2lsbCBub3QgaGFuZGxlIHRoaXMKKy8vIGNhc2UsIGJlY2F1c2Ugd2Ug
bWVyZ2UgYWxsb2NhdGlvbnMgYmFzZWQgb24gdGhlIG5vZGUgdGhleSBhcmUKKy8vIGNvbWluZyBm
cm9tLCBidXQgdGhpcyBpcyBvbmx5IGEgdGVjaG5pY2FsaXR5IGZvciB0aGUgc2FrZSBvZgorLy8g
c2ltcGxpY2l0eSB0aGF0IHNob3VsZG4ndCBoaWRlIHRoZSBkZWVwZXIgaWRlYSBvdXRsaW5lZCBo
ZXJlLgorCitjbGFzcyBBbGxvY2F0aW9uIHsKK3B1YmxpYzoKKyAgICAvLyBXZSB1c2UgRXNjYXBl
ZCBhcyBhIHNwZWNpYWwgYWxsb2NhdGlvbiBraW5kIGJlY2F1c2Ugd2hlbiB3ZQorICAgIC8vIGRl
Y2lkZSB0byBzaW5rIGFuIGFsbG9jYXRpb24sIHdlIHN0aWxsIG5lZWQgdG8ga2VlcCB0cmFjayBv
ZiBpdAorICAgIC8vIG9uY2UgaXQgaXMgZXNjYXBlZCBpZiBpdCBzdGlsbCBoYXMgcG9pbnRlcnMg
dG8gaXQgaW4gb3JkZXIgdG8KKyAgICAvLyByZXBsYWNlIGFueSB1c2Ugb2YgdGhvc2UgcG9pbnRl
cnMgYnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAvLyBtYXRlcmlhbGl6YXRpb24KKyAgICBlbnVt
IGNsYXNzIEtpbmQgeyBFc2NhcGVkLCBPYmplY3QsIEFjdGl2YXRpb24sIEZ1bmN0aW9uIH07CisK
KyAgICBleHBsaWNpdCBBbGxvY2F0aW9uKE5vZGUqIGlkZW50aWZpZXIgPSBudWxscHRyLCBLaW5k
IGtpbmQgPSBLaW5kOjpFc2NhcGVkKQorICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQorICAgICAgICAsIG1fa2luZChraW5kKQorICAgIHsKKyAgICB9CisKKworICAgIGNvbnN0IEhh
c2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiYgZmllbGRzKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtX2ZpZWxkczsKKyAgICB9CisKKyAgICBOb2RlKiBnZXQo
UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2ZpZWxkcy5nZXQoZGVzY3JpcHRvcik7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYg
c2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IsIE5vZGUqIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgLy8gUG9pbnRpbmcgdG8gYW55dGhpbmcgZWxzZSB0aGFuIGFuIHVuZXNj
YXBlZCBsb2NhbAorICAgICAgICAvLyBhbGxvY2F0aW9uIGlzIHJlcHJlc2VudGVkIGJ5IHNpbXBs
eSBub3QgaGF2aW5nIHRoZQorICAgICAgICAvLyBmaWVsZAorICAgICAgICBpZiAodmFsdWUpCisg
ICAgICAgICAgICBtX2ZpZWxkcy5zZXQoZGVzY3JpcHRvciwgdmFsdWUpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBtX2ZpZWxkcy5yZW1vdmUoZGVzY3JpcHRvcik7CisgICAgICAgIHJldHVy
biAqdGhpczsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgc2V0KGRlc2NyaXB0b3IsIG51bGxwdHIp
OworICAgIH0KKworICAgIGJvb2wgaGFzU3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAg
ICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIEtpbmQ6Ok9iamVjdDoKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBzZXRTdHJ1Y3R1cmVz
KGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7CisgICAgICAgIEFTU0VSVCho
YXNTdHJ1Y3R1cmVzKCkgJiYgIXN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1
Y3R1cmVzID0gc3RydWN0dXJlczsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAg
IEFsbG9jYXRpb24mIG1lcmdlU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVy
ZXMpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpIHx8IHN0cnVjdHVyZXMu
aXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLm1lcmdlKHN0cnVjdHVyZXMpOworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYgZmlsdGVyU3RydWN0
dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAgeworICAgICAgICBBU1NF
UlQoaGFzU3RydWN0dXJlcygpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLmZpbHRlcihzdHJ1Y3R1
cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIGNvbnN0IFN0cnVjdHVy
ZVNldCYgc3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1
cmVzOworICAgIH0KKworICAgIE5vZGUqIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KKworICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQor
CisgICAgYm9vbCBpc0VzY2FwZWRBbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBraW5kKCkgPT0gS2luZDo6RXNjYXBlZDsKKyAgICB9CisKKyAgICBib29sIGlzT2JqZWN0
QWxsb2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9raW5kID09IEtpbmQ6
Ok9iamVjdDsKKyAgICB9CisKKyAgICBib29sIGlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpBY3RpdmF0aW9uOworICAg
IH0KKworICAgIGJvb2wgaXNGdW5jdGlvbkFsbG9jYXRpb24oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpGdW5jdGlvbjsKKyAgICB9CisKKyAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9pZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllcgorICAgICAgICAgICAgJiYg
bV9raW5kID09IG90aGVyLm1fa2luZAorICAgICAgICAgICAgJiYgbV9maWVsZHMgPT0gb3RoZXIu
bV9maWVsZHMKKyAgICAgICAgICAgICYmIG1fc3RydWN0dXJlcyA9PSBvdGhlci5tX3N0cnVjdHVy
ZXM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFsbG9jYXRpb24mIG90aGVy
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0K
KworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAg
ZHVtcEluQ29udGV4dChvdXQsIG51bGxwdHIpOworICAgIH0KKworICAgIHZvaWQgZHVtcEluQ29u
dGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKKyAgICB7
CisgICAgICAgIHN3aXRjaCAobV9raW5kKSB7CisgICAgICAgIGNhc2UgS2luZDo6RXNjYXBlZDoK
KyAgICAgICAgICAgIG91dC5wcmludCgiRXNjYXBlZCIpOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBLaW5kOjpPYmplY3Q6CisgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVj
dCIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5kOjpGdW5jdGlvbjoK
KyAgICAgICAgICAgIG91dC5wcmludCgiRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgS2luZDo6QWN0aXZhdGlvbjoKKyAgICAgICAgICAgIG91dC5wcmludCgi
QWN0aXZhdGlvbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgb3V0
LnByaW50KCJBbGxvY2F0aW9uKCIpOworICAgICAgICBpZiAoIW1fc3RydWN0dXJlcy5pc0VtcHR5
KCkpCisgICAgICAgICAgICBvdXQucHJpbnQoaW5Db250ZXh0KG1fc3RydWN0dXJlcywgY29udGV4
dCkpOworICAgICAgICBpZiAoIW1fZmllbGRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaWYg
KCFtX3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dC5wcmludCgiLCAi
KTsKKyAgICAgICAgICAgIG91dC5wcmludChtYXBEdW1wKG1fZmllbGRzLCAiID0+ICMiLCAiLCAi
KSk7CisgICAgICAgIH0KKyAgICAgICAgb3V0LnByaW50KCIpIik7CisgICAgfQorCitwcml2YXRl
OgorICAgIE5vZGUqIG1faWRlbnRpZmllcjsgLy8gVGhpcyBpcyB0aGUgYWN0dWFsIG5vZGUgdGhh
dCBjcmVhdGVkIHRoZSBhbGxvY2F0aW9uCisgICAgS2luZCBtX2tpbmQ7CisgICAgSGFzaE1hcDxQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IG1fZmllbGRzOworICAgIFN0cnVjdHVy
ZVNldCBtX3N0cnVjdHVyZXM7Cit9OworCitjbGFzcyBMb2NhbEhlYXAgeworcHVibGljOgorICAg
IEFsbG9jYXRpb24mIG5ld0FsbG9jYXRpb24oTm9kZSogbm9kZSwgQWxsb2NhdGlvbjo6S2luZCBr
aW5kKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3BvaW50ZXJzLmNvbnRhaW5zKG5vZGUpICYm
ICFpc0FsbG9jYXRpb24obm9kZSkpOworICAgICAgICBtX3BvaW50ZXJzLmFkZChub2RlLCBub2Rl
KTsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvbnMuc2V0KG5vZGUsIEFsbG9jYXRpb24obm9k
ZSwga2luZCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBib29sIGlzQWxsb2NhdGlv
bihOb2RlKiBpZGVudGlmaWVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2Nh
dGlvbnMuY29udGFpbnMoaWRlbnRpZmllcik7CisgICAgfQorCisgICAgLy8gTm90ZSB0aGF0IHRo
aXMgaXMgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQgZnJvbQorICAgIC8vIG9ubHlMb2NhbEFsbG9j
YXRpb24oKSBiZWxvdy4gZ2V0QWxsb2NhdGlvbigpIHRha2VzIGFzIGFyZ3VtZW50CisgICAgLy8g
YSBub2RlLWFzLWlkZW50aWZpZXIsIHRoYXQgaXMsIGFuIGFsbG9jYXRpb24gbm9kZS4gVGhpcwor
ICAgIC8vIGFsbG9jYXRpb24gbm9kZSBkb2Vzbid0IGhhdmUgdG8gYmUgYWxpdmU7IGl0IG1heSBv
bmx5IGJlCisgICAgLy8gcG9pbnRlZCB0byBieSBvdGhlciBub2RlcyBvciBhbGxvY2F0aW9uIGZp
ZWxkcy4KKyAgICAvLyBGb3IgaW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisgICAg
Ly8KKyAgICAvLyBCbG9jayAjMAorICAgIC8vICAwOiBOZXdPYmplY3Qoe30pCisgICAgLy8gIDE6
IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4KQorICAgIC8v
ICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorICAgIC8vICAyOiBHZXRCeU9mZnNldChAMCwg
eCkKKyAgICAvLyAgLTogSnVtcCgjMSkKKyAgICAvLworICAgIC8vIEJsb2NrICMxCisgICAgLy8g
IC06IFJldHVybihAMikKKyAgICAvLworICAgIC8vIEF0IGhlYWQgb2YgYmxvY2sgIzEsIHRoZSBv
bmx5IHJlYWNoYWJsZSBhbGxvY2F0aW9uIGlzICNAMSwKKyAgICAvLyB3aGljaCBjYW4gYmUgcmVh
Y2hlZCB0aHJvdWdoIG5vZGUgQDIuIFRodXMsIGdldEFsbG9jYXRpb24oI0AxKQorICAgIC8vIGNv
bnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBtZXRhZGF0YSBmb3IgdGhpcyBhbGxvY2F0aW9uLCBidXQK
KyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKEAxKSBpcyBudWxsLCBhcyBAMSBpcyBubyBsb25n
ZXIgYSBwb2ludGVyCisgICAgLy8gdG8gI0AxIChzaW5jZSBpdCBpcyBkZWFkKS4gQ29udmVyc2Vs
eSwgb25seUxvY2FsQWxsb2NhdGlvbihAMikKKyAgICAvLyBpcyB0aGUgc2FtZSBhcyBnZXRBbGxv
Y2F0aW9uKCNAMSksIHdoaWxlIGdldEFsbG9jYXRpb24oI0AyKQorICAgIC8vIGRvZXMgbm90IG1h
a2Ugc2Vuc2Ugc2luY2UgQDIgaXMgbm90IGFuIGFsbG9jYXRpb24gbm9kZS4KKyAgICAvLworICAg
IC8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCB3aGVuIHRoZSBub2RlIGlzIGFscmVhZHkga25v
d24gdG8gYmUKKyAgICAvLyBhbiBpZGVudGlmaWVyIChpLmUuIGFuIGFsbG9jYXRpb24pIC0gcHJv
YmFibHkgYmVjYXVzZSBpdCB3YXMKKyAgICAvLyBmb3VuZCBhcyB2YWx1ZSBvZiBhIGZpZWxkIG9y
IHBvaW50ZXIgaW4gdGhlIGN1cnJlbnQgaGVhcCwgb3IKKyAgICAvLyB3YXMgdGhlIHJlc3VsdCBv
ZiBhIGNhbGwgdG8gZm9sbG93KCkuIEluIGFueSBvdGhlciBjYXNlcyAoc3VjaAorICAgIC8vIGFz
IHdoZW4gZG9pbmcgYW55dGhpbmcgd2hpbGUgdHJhdmVyc2luZyB0aGUgZ3JhcGgpLCB0aGUKKyAg
ICAvLyBhcHByb3ByaWF0ZSBmdW5jdGlvbiB0byBjYWxsIGlzIHByb2JhYmx5IG9ubHlMb2NhbEFs
bG9jYXRpb24uCisgICAgQWxsb2NhdGlvbiYgZ2V0QWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVy
KQorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5maW5kKGlkZW50aWZp
ZXIpOworICAgICAgICBBU1NFUlQoaXRlciAhPSBtX2FsbG9jYXRpb25zLmVuZCgpKTsKKyAgICAg
ICAgcmV0dXJuIGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIHZvaWQgbmV3UG9pbnRlcihOb2Rl
KiBub2RlLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2FsbG9j
YXRpb25zLmNvbnRhaW5zKG5vZGUpICYmICFtX3BvaW50ZXJzLmNvbnRhaW5zKG5vZGUpKTsKKyAg
ICAgICAgQVNTRVJUKGlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSk7CisgICAgICAgIG1fcG9pbnRl
cnMuYWRkKG5vZGUsIGlkZW50aWZpZXIpOworICAgIH0KKworICAgIC8vIGZvbGxvdyBzb2x2ZXMg
dGhlIHBvaW50cy10byBwcm9ibGVtLiBHaXZlbiBhIGxpdmUgbm9kZSwgd2hpY2gKKyAgICAvLyBt
YXkgYmUgZWl0aGVyIGFuIGFsbG9jYXRpb24gaXRzZWxmIG9yIGEgaGVhcCByZWFkIChlLmcuIGEK
KyAgICAvLyBHZXRCeU9mZnNldCBub2RlKSwgaXQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBh
bGxvY2F0aW9uCisgICAgLy8gbm9kZSwgaWYgdGhlcmUgaXMgb25lLiBJZiB0aGUgYXJndW1lbnQg
bm9kZSBpcyBuZWl0aGVyIGFuCisgICAgLy8gYWxsb2NhdGlvbiBvciBhIGhlYXAgcmVhZCwgb3Ig
bWF5IHBvaW50IHRvIGRpZmZlcmVudCBub2RlcywKKyAgICAvLyBudWxscHRyIHdpbGwgYmUgcmV0
dXJuZWQuIE5vdGUgdGhhdCBhIG5vZGUgdGhhdCBwb2ludHMgdG8KKyAgICAvLyBkaWZmZXJlbnQg
bm9kZXMgY2FuIG5ldmVyIHBvaW50IHRvIGFuIHVuZXNjYXBlZCBsb2NhbAorICAgIC8vIGFsbG9j
YXRpb24uCisgICAgTm9kZSogZm9sbG93KE5vZGUqIG5vZGUpIGNvbnN0CisgICAgeworICAgICAg
ICBhdXRvIGl0ZXIgPSBtX3BvaW50ZXJzLmZpbmQobm9kZSk7CisgICAgICAgIEFTU0VSVChpdGVy
ID09IG1fcG9pbnRlcnMuZW5kKCkgfHwgbV9hbGxvY2F0aW9ucy5jb250YWlucyhpdGVyLT52YWx1
ZSkpOworICAgICAgICByZXR1cm4gaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgpID8gbnVsbHB0ciA6
IGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIE5vZGUqIGZvbGxvdyhQcm9tb3RlZEhlYXBMb2Nh
dGlvbiBsb2NhdGlvbikgY29uc3QKKyAgICB7CisgICAgICAgIGNvbnN0IEFsbG9jYXRpb24mIGJh
c2UgPSBtX2FsbG9jYXRpb25zLmZpbmQobG9jYXRpb24uYmFzZSgpKS0+dmFsdWU7CisgICAgICAg
IGF1dG8gaXRlciA9IGJhc2UuZmllbGRzKCkuZmluZChsb2NhdGlvbi5kZXNjcmlwdG9yKCkpOwor
CisgICAgICAgIGlmIChpdGVyID09IGJhc2UuZmllbGRzKCkuZW5kKCkpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7CisgICAgfQorCisg
ICAgLy8gb25seUxvY2FsQWxsb2NhdGlvbiBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGFsbG9jYXRp
b24gbWV0YWRhdGEKKyAgICAvLyBmb3IgYW55IGxpdmUgbm9kZS4gb25seUxvY2FsQWxsb2NhdGlv
bihub2RlKSBpcyBlc3NlbnRpYWxseQorICAgIC8vIGdldEFsbG9jYXRpb24oZm9sbG93KG5vZGUp
KSwgd2l0aCBhcHByb3ByaWF0ZSBudWxsIGhhbmRsaW5nLgorICAgIEFsbG9jYXRpb24qIG9ubHlM
b2NhbEFsbG9jYXRpb24oTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIE5vZGUqIGlkZW50aWZp
ZXIgPSBmb2xsb3cobm9kZSk7CisgICAgICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2NhdGlvbihpZGVudGlm
aWVyKTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxvY2F0aW9uKFByb21v
dGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgTm9kZSogaWRlbnRpZmll
ciA9IGZvbGxvdyhsb2NhdGlvbik7CisgICAgICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2NhdGlvbihpZGVu
dGlmaWVyKTsKKyAgICB9CisKKyAgICAvLyBUaGlzIGFsbG93cyB1cyB0byBzdG9yZSB0aGUgZXNj
YXBlZXMgb25seSB3aGVuIG5lY2Vzc2FyeS4gSWYKKyAgICAvLyBzZXQsIHRoZSBjdXJyZW50IGVz
Y2FwZWVzIGNhbiBiZSByZXRyaWV2ZWQgYXQgYW55IHRpbWUgdXNpbmcKKyAgICAvLyB0YWtlRXNj
YXBlZXMoKSwgd2hpY2ggd2lsbCBjbGVhciB0aGUgY2FjaGVkIHNldCBvZiBlc2NhcGVlczsKKyAg
ICAvLyBvdGhlcndpc2UgdGhlIGhlYXAgd29uJ3QgcmVtZW1iZXIgZXNjYXBpbmcgYWxsb2NhdGlv
bnMuCisgICAgdm9pZCBzZXRXYW50RXNjYXBlZXMoKQorICAgIHsKKyAgICAgICAgbV93YW50RXNj
YXBlZXMgPSB0cnVlOworICAgIH0KKworICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+IHRh
a2VFc2NhcGVlcygpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjptb3ZlKG1fZXNjYXBlZXMp
OworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICBO
b2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAoIWlkZW50aWZpZXIp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihpZGVudGlm
aWVyKTsKKyAgICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IExvY2FsSGVhcCYgb3RoZXIpCisg
ICAgeworICAgICAgICBBU1NFUlQoaXNWYWxpZCgpICYmIG90aGVyLmlzVmFsaWQoKSk7CisgICAg
ICAgIEFTU0VSVCghbV93YW50RXNjYXBlZXMpOworCisgICAgICAgIGlmICghcmVhY2hlZCgpKSB7
CisgICAgICAgICAgICBBU1NFUlQob3RoZXIucmVhY2hlZCgpKTsKKyAgICAgICAgICAgICp0aGlz
ID0gb3RoZXI7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBIYXNo
U2V0PE5vZGUqPiB0b0VzY2FwZTsKKworICAgICAgICBmb3IgKGF1dG8mIGFsbG9jYXRpb25FbnRy
eSA6IG90aGVyLm1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICBtX2FsbG9jYXRpb25zLmFkZChh
bGxvY2F0aW9uRW50cnkua2V5LCBhbGxvY2F0aW9uRW50cnkudmFsdWUpOworICAgICAgICBmb3Ig
KGF1dG8mIGFsbG9jYXRpb25FbnRyeSA6IG1fYWxsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIGF1
dG8gYWxsb2NhdGlvbkl0ZXIgPSBvdGhlci5tX2FsbG9jYXRpb25zLmZpbmQoYWxsb2NhdGlvbkVu
dHJ5LmtleSk7CisKKyAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgaXQgYW5kIHRoZXkgZG9uJ3Qs
IGl0IGRpZWQgZm9yIHRoZW0gYnV0IHdlCisgICAgICAgICAgICAvLyBhcmUga2VlcGluZyBpdCBh
bGl2ZSBmcm9tIGFub3RoZXIgZmllbGQgc29tZXdoZXJlLgorICAgICAgICAgICAgLy8gVGhlcmUg
aXMgbm90aGluZyB0byBkbyAtIHdlIHdpbGwgYmUgZXNjYXBlZAorICAgICAgICAgICAgLy8gYXV0
b21hdGljYWxseSB3aGVuIHdlIGhhbmRsZSB0aGF0IG90aGVyIGZpZWxkLgorICAgICAgICAgICAg
Ly8gVGhpcyB3aWxsIGFsc28gaGFwcGVuIGZvciBhbGxvY2F0aW9uIHRoYXQgd2UgaGF2ZSBhbmQK
KyAgICAgICAgICAgIC8vIHRoZXkgZG9uJ3QsIGFuZCBhbGwgb2YgdGhvc2Ugd2lsbCBnZXQgcHJ1
bmVkLgorICAgICAgICAgICAgaWYgKGFsbG9jYXRpb25JdGVyID09IG90aGVyLm1fYWxsb2NhdGlv
bnMuZW5kKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmIChh
bGxvY2F0aW9uRW50cnkudmFsdWUua2luZCgpICE9IGFsbG9jYXRpb25JdGVyLT52YWx1ZS5raW5k
KCkpIHsKKyAgICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQoYWxsb2NhdGlvbkVudHJ5LmtleSk7
CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBmaWVsZEVudHJ5IDogYWxsb2NhdGlv
bkl0ZXItPnZhbHVlLmZpZWxkcygpKQorICAgICAgICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQo
ZmllbGRFbnRyeS52YWx1ZSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IG1lcmdlUG9pbnRlclNldHMoCisgICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb25FbnRyeS52
YWx1ZS5maWVsZHMoKSwgYWxsb2NhdGlvbkl0ZXItPnZhbHVlLmZpZWxkcygpLAorICAgICAgICAg
ICAgICAgICAgICBbJl0gKE5vZGUqIGlkZW50aWZpZXIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRvRXNjYXBlLmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBmaWVsZCkg
eworICAgICAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLnJlbW92ZShm
aWVsZCk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGFsbG9jYXRp
b25FbnRyeS52YWx1ZS5tZXJnZVN0cnVjdHVyZXMoYWxsb2NhdGlvbkl0ZXItPnZhbHVlLnN0cnVj
dHVyZXMoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBtZXJnZVBvaW50
ZXJTZXRzKG1fcG9pbnRlcnMsIG90aGVyLm1fcG9pbnRlcnMsCisgICAgICAgICAgICBbJl0gKE5v
ZGUqIGlkZW50aWZpZXIpIHsKKyAgICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQoaWRlbnRpZmll
cik7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgWyZdIChOb2RlKiBmaWVsZCkgeworICAg
ICAgICAgICAgICAgIG1fcG9pbnRlcnMucmVtb3ZlKGZpZWxkKTsKKyAgICAgICAgICAgIH0pOwor
CisgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvRXNjYXBlKQorICAgICAgICAgICAg
ZXNjYXBlQWxsb2NhdGlvbihpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoIUFTU0VSVF9ESVNB
QkxFRCkgeworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9hbGxvY2F0aW9u
cykKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHBhaXIsIHBhaXIudmFsdWUuaXNFc2Nh
cGVkQWxsb2NhdGlvbigpIHx8IG90aGVyLm1fYWxsb2NhdGlvbnMuY29udGFpbnMocGFpci5rZXkp
KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIHJlbWFpbmluZyBwb2lu
dGVyIHRvIGFuIGFsbG9jYXRpb24sIHdlIGNhbgorICAgICAgICAvLyByZW1vdmUgaXQuIFRoaXMg
c2hvdWxkIG9ubHkgaGFwcGVuIGZvciBlc2NhcGVkIGFsbG9jYXRpb25zLAorICAgICAgICAvLyBi
ZWNhdXNlIHdlIG9ubHkgbWVyZ2UgbGl2ZW5lc3MtcHJ1bmVkIGhlYXBzIGluIHRoZSBmaXJzdAor
ICAgICAgICAvLyBwbGFjZS4KKyAgICAgICAgcHJ1bmUoKTsKKworICAgICAgICBBU1NFUlQoaXNW
YWxpZCgpKTsKKyAgICB9CisKKyAgICB2b2lkIHBydW5lQnlMaXZlbmVzcyhjb25zdCBIYXNoU2V0
PE5vZGUqPiYgbGl2ZSkKKyAgICB7CisgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9SZW1vdmU7Cisg
ICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1fcG9pbnRlcnMpIHsKKyAgICAgICAgICAg
IGlmICghbGl2ZS5jb250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgdG9SZW1vdmUu
YXBwZW5kKHBhaXIua2V5KTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiB0
b1JlbW92ZSkKKyAgICAgICAgICAgIG1fcG9pbnRlcnMucmVtb3ZlKG5vZGUpOworICAgICAgICAK
KyAgICAgICAgcHJ1bmUoKTsKKyAgICB9CisKKyAgICBib29sIGlzVmFsaWQoKSBjb25zdAorICAg
IHsKKyAgICAgICAgLy8gUG9pbnRlcnMgc2hvdWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0
aW9uCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IG1fcG9pbnRlcnMpIHsKKyAgICAg
ICAgICAgIGlmICghcGFpci52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICBhdXRvIGl0ZXIgPSBtX2FsbG9jYXRpb25zLmZpbmQocGFpci52YWx1ZSk7Cisg
ICAgICAgICAgICBpZiAoaXRlciA9PSBtX2FsbG9jYXRpb25zLmVuZCgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoY29uc3QgYXV0byYg
cGFpciA6IG1fYWxsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIC8vIEZpZWxkcyBzaG91bGQgcG9p
bnQgdG8gYW4gYWN0dWFsIGFsbG9jYXRpb24KKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYg
ZmllbGQgOiBwYWlyLnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFmaWVs
ZC52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAg
ICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5maW5kKGZpZWxkLnZhbHVlKTsKKyAgICAg
ICAgICAgICAgICBpZiAoaXRlciA9PSBtX2FsbG9jYXRpb25zLmVuZCgpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IExvY2FsSGVh
cCYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaXNWYWxpZCgpICYmIG90aGVy
LmlzVmFsaWQoKSk7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25zID09IG90aGVyLm1fYWxs
b2NhdGlvbnMKKyAgICAgICAgICAgICYmIG1fcG9pbnRlcnMgPT0gb3RoZXIubV9wb2ludGVyczsK
KyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTG9jYWxIZWFwJiBvdGhlcikgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKKyAg
ICBjb25zdCBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBhbGxvY2F0aW9ucygpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9uczsKKyAgICB9CisKKyAgICBjb25zdCBI
YXNoTWFwPE5vZGUqLCBOb2RlKj4gcG9pbnRlcnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fcG9pbnRlcnM7CisgICAgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CisgICAgeworICAgICAgICBvdXQucHJpbnQoIiAgQWxsb2NhdGlvbnM6XG4iKTsKKyAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAg
IG91dC5wcmludCgiICAgICMiLCBwYWlyLmtleSwgIjogIiwgcGFpci52YWx1ZSwgIlxuIik7Cisg
ICAgICAgIG91dC5wcmludCgiICBQb2ludGVyczpcbiIpOworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHBhaXIgOiBtX3BvaW50ZXJzKQorICAgICAgICAgICAgb3V0LnByaW50KCIgICAgIiwgcGFp
ci5rZXksICIgPT4gIyIsIHBhaXIudmFsdWUsICJcbiIpOworICAgIH0KKworICAgIGJvb2wgcmVh
Y2hlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9yZWFjaGVkOworICAgIH0KKwor
ICAgIHZvaWQgc2V0UmVhY2hlZCgpCisgICAgeworICAgICAgICBtX3JlYWNoZWQgPSB0cnVlOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICAvLyBXaGVuIHdlIG1lcmdlIHR3byBoZWFwcywgd2UgZXNj
YXBlIGFsbCBmaWVsZHMgb2YgYWxsb2NhdGlvbnMsCisgICAgLy8gdW5sZXNzIHRoZXkgcG9pbnQg
dG8gdGhlIHNhbWUgdGhpbmcgaW4gYm90aCBoZWFwcy4KKyAgICAvLyBUaGUgcmVhc29uIGZvciB0
aGlzIGlzIHRoYXQgaXQgYWxsb3dzIHVzIG5vdCB0byBkbyBleHRyYSB3b3JrCisgICAgLy8gZm9y
IGRpYW1vbmQgZ3JhcGhzIHdoZXJlIHdlIHdvdWxkIG90aGVyd2lzZSBoYXZlIHRvIGNoZWNrCisg
ICAgLy8gd2hldGhlciB3ZSBoYXZlIGEgc2luZ2xlIGRlZmluaXRpb24gb3Igbm90LCB3aGljaCB3
b3VsZCBiZQorICAgIC8vIGN1bWJlcnNvbWUuCisgICAgLy8KKyAgICAvLyBOb3RlIHRoYXQgd2Ug
c2hvdWxkIHRyeSB0byB1bmlmeSBub2RlcyBldmVuIHdoZW4gdGhleSBhcmUgbm90CisgICAgLy8g
ZnJvbSB0aGUgc2FtZSBhbGxvY2F0aW9uOyBmb3IgaW5zdGFuY2Ugd2Ugc2hvdWxkIGJlIGFibGUg
dG8KKyAgICAvLyBjb21wbGV0ZWx5IGVsaW1pbmF0ZSBhbGwgYWxsb2NhdGlvbnMgZnJvbSB0aGUg
Zm9sbG93aW5nIGdyYXBoOgorICAgIC8vCisgICAgLy8gQmxvY2sgIzAKKyAgICAvLyAgMDogTmV3
T2JqZWN0KHt9KQorICAgIC8vICAtOiBCcmFuY2goIzEsICMyKQorICAgIC8vCisgICAgLy8gQmxv
Y2sgIzEKKyAgICAvLyAgMTogTmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChA
MSwgImxlZnQiLCB2YWwpCisgICAgLy8gIC06IFB1dFN0cnVjdHVyZShAMSwge3ZhbDowfSkKKyAg
ICAvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4KQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUo
QDAsIHt4OjB9KQorICAgIC8vICAtOiBKdW1wKCMzKQorICAgIC8vCisgICAgLy8gQmxvY2sgIzIK
KyAgICAvLyAgMjogTmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMiwgInJp
Z2h0IiwgdmFsKQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDIsIHt2YWw6MH0pCisgICAgLy8g
IC06IFB1dEJ5T2Zmc2V0KEAwLCBAMiwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7
eDowfSkKKyAgICAvLyAgLTogSnVtcCgjMykKKyAgICAvLworICAgIC8vIEJsb2NrICMzOgorICAg
IC8vICAzOiBHZXRCeU9mZnNldChAMCwgeCkKKyAgICAvLyAgNDogR2V0QnlPZmZzZXQoQDMsIHZh
bCkKKyAgICAvLyAgLTogUmV0dXJuKEA0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlw
ZW5hbWUgRXNjYXBlRnVuY3RvciwgdHlwZW5hbWUgUmVtb3ZlRnVuY3Rvcj4KKyAgICB2b2lkIG1l
cmdlUG9pbnRlclNldHMoCisgICAgICAgIGNvbnN0IEhhc2hNYXA8S2V5LCBOb2RlKj4mIG15LCBj
b25zdCBIYXNoTWFwPEtleSwgTm9kZSo+JiB0aGVpciwKKyAgICAgICAgY29uc3QgRXNjYXBlRnVu
Y3RvciYgZXNjYXBlLCBjb25zdCBSZW1vdmVGdW5jdG9yJiByZW1vdmUpCisgICAgeworICAgICAg
ICBWZWN0b3I8S2V5PiB0b1JlbW92ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6
IG15KSB7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSB0aGVpci5maW5kKGVudHJ5LmtleSk7Cisg
ICAgICAgICAgICBpZiAoaXRlciA9PSB0aGVpci5lbmQoKSkgeworICAgICAgICAgICAgICAgIHRv
UmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGVzY2FwZShlbnRyeS52
YWx1ZSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZXItPnZhbHVlICE9IGVudHJ5LnZhbHVl
KSB7CisgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAg
ICAgICAgICAgZXNjYXBlKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUoaXRl
ci0+dmFsdWUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgZW50cnkgOiB0aGVpcikgeworICAgICAgICAgICAgaWYgKG15LmNvbnRhaW5zKGVudHJ5
LmtleSkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBlc2NhcGUoZW50
cnkudmFsdWUpOworICAgICAgICB9CisgICAgICAgIGZvciAoS2V5IGtleSA6IHRvUmVtb3ZlKQor
ICAgICAgICAgICAgcmVtb3ZlKGtleSk7CisgICAgfQorCisgICAgdm9pZCBlc2NhcGVBbGxvY2F0
aW9uKE5vZGUqIGlkZW50aWZpZXIpCisgICAgeworICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0
aW9uID0gZ2V0QWxsb2NhdGlvbihpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKGFsbG9jYXRpb24u
aXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEFs
bG9jYXRpb24gdW5lc2NhcGVkID0gV1RGOjptb3ZlKGFsbG9jYXRpb24pOworICAgICAgICBhbGxv
Y2F0aW9uID0gQWxsb2NhdGlvbih1bmVzY2FwZWQuaWRlbnRpZmllcigpLCBBbGxvY2F0aW9uOjpL
aW5kOjpFc2NhcGVkKTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiB1bmVzY2Fw
ZWQuZmllbGRzKCkpCisgICAgICAgICAgICBlc2NhcGVBbGxvY2F0aW9uKHBhaXIudmFsdWUpOwor
CisgICAgICAgIGlmIChtX3dhbnRFc2NhcGVlcykKKyAgICAgICAgICAgIG1fZXNjYXBlZXMuYWRk
KHVuZXNjYXBlZC5pZGVudGlmaWVyKCksIFdURjo6bW92ZSh1bmVzY2FwZWQpKTsKKyAgICB9CisK
KyAgICB2b2lkIHBydW5lKCkKKyAgICB7CisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHJlYWNoYWJs
ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9wb2ludGVycykKKyAgICAgICAg
ICAgIHJlYWNoYWJsZS5hZGQocGFpci52YWx1ZSk7CisKKyAgICAgICAgLy8gUmVwZWF0ZWRseSBt
YXJrIGFzIHJlYWNoYWJsZSBhbGxvY2F0aW9ucyBpbiBmaWVsZHMgb2Ygb3RoZXIKKyAgICAgICAg
Ly8gcmVhY2hhYmxlIGFsbG9jYXRpb25zCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3RvcjxO
b2RlKj4gd29ya2xpc3Q7CisgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmRSYW5nZShyZWFjaGFi
bGUuYmVnaW4oKSwgcmVhY2hhYmxlLmVuZCgpKTsKKworICAgICAgICAgICAgd2hpbGUgKCF3b3Jr
bGlzdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gd29y
a2xpc3QudGFrZUxhc3QoKTsKKyAgICAgICAgICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9u
ID0gbV9hbGxvY2F0aW9ucy5maW5kKGlkZW50aWZpZXIpLT52YWx1ZTsKKyAgICAgICAgICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBhbGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChyZWFjaGFibGUuYWRkKHBhaXIudmFsdWUpLmlzTmV3RW50cnkpCisg
ICAgICAgICAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQocGFpci52YWx1ZSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gUmVt
b3ZlIHVucmVhY2hhYmxlIGFsbG9jYXRpb25zCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxOb2RlKj4gdG9SZW1vdmU7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBt
X2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgaWYgKCFyZWFjaGFibGUuY29udGFpbnMo
cGFpci5rZXkpKQorICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQocGFpci5rZXkp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogdG9S
ZW1vdmUpCisgICAgICAgICAgICAgICAgbV9hbGxvY2F0aW9ucy5yZW1vdmUoaWRlbnRpZmllcik7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBib29sIG1fcmVhY2hlZCA9IGZhbHNlOworICAgIEhh
c2hNYXA8Tm9kZSosIE5vZGUqPiBtX3BvaW50ZXJzOworICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9j
YXRpb24+IG1fYWxsb2NhdGlvbnM7CisKKyAgICBib29sIG1fd2FudEVzY2FwZWVzID0gZmFsc2U7
CisgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gbV9lc2NhcGVlczsKK307CisKK2NsYXNz
IEFsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CitwdWJsaWM6Cisg
ICAgQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlKEdyYXBoJiBncmFwaCkKKyAgICAgICAgOiBQ
aGFzZShncmFwaCwgIm9iamVjdCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uIikKKyAgICAgICAgLCBt
X3BvaW50ZXJTU0EoZ3JhcGgpCisgICAgICAgICwgbV9hbGxvY2F0aW9uU1NBKGdyYXBoKQorICAg
ICAgICAsIG1faW5zZXJ0aW9uU2V0KGdyYXBoKQorICAgIHsKKyAgICB9CisKKyAgICBib29sIHJ1
bigpCisgICAgeworICAgICAgICBBU1NFUlQobV9ncmFwaC5tX2Zvcm0gPT0gU1NBKTsKKyAgICAg
ICAgQVNTRVJUKG1fZ3JhcGgubV9maXhwb2ludFN0YXRlID09IEZpeHBvaW50Tm90Q29udmVyZ2Vk
KTsKKworICAgICAgICBpZiAoIXBlcmZvcm1TaW5raW5nKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIkdy
YXBoIGFmdGVyIGVsaW1pbmF0aW9uOlxuIik7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBib29sIHBlcmZvcm1TaW5raW5nKCkKKyAgICB7CisgICAgICAgIG1fZ3JhcGguY29tcHV0ZVJl
ZkNvdW50cygpOworICAgICAgICBtX2dyYXBoLmluaXRpYWxpemVOb2RlT3duZXJzKCk7CisgICAg
ICAgIHBlcmZvcm1MaXZlbmVzc0FuYWx5c2lzKG1fZ3JhcGgpOworICAgICAgICBwZXJmb3JtT1NS
QXZhaWxhYmlsaXR5QW5hbHlzaXMobV9ncmFwaCk7CisgICAgICAgIG1fY29tYmluZWRMaXZlbmVz
cyA9IENvbWJpbmVkTGl2ZW5lc3MobV9ncmFwaCk7CisKKyAgICAgICAgQ1N0cmluZyBncmFwaEJl
Zm9yZVNpbmtpbmc7CisgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlVmFsaWRhdGlvbkZhaWx1
cmUoKSAmJiBPcHRpb25zOjp2YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2UoKSkgeworICAgICAgICAg
ICAgU3RyaW5nUHJpbnRTdHJlYW0gb3V0OworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKG91dCk7
CisgICAgICAgICAgICBncmFwaEJlZm9yZVNpbmtpbmcgPSBvdXQudG9DU3RyaW5nKCk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgZGF0YUxvZygiR3Jh
cGggYmVmb3JlIGVsaW1pbmF0aW9uOlxuIik7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHBlcmZvcm1BbmFseXNpcygpOworCisgICAgICAgIGlmICgh
ZGV0ZXJtaW5lU2lua0NhbmRpZGF0ZXMoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9j
ayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgICAgIGRh
dGFMb2coIkhlYXAgYXQgaGVhZCBvZiAiLCAqYmxvY2ssICI6IFxuIiwgbV9oZWFwQXRIZWFkW2Js
b2NrXSk7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiSGVhcCBhdCB0YWlsIG9mICIsICpibG9j
aywgIjogXG4iLCBtX2hlYXBBdFRhaWxbYmxvY2tdKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIHByb21vdGVMb2NhbEhlYXAoKTsKKworICAgICAgICBpZiAoT3B0aW9uczo6
dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkpCisgICAgICAgICAgICB2YWxpZGF0ZShtX2dyYXBo
LCBEdW1wR3JhcGgsIGdyYXBoQmVmb3JlU2lua2luZyk7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIHZvaWQgcGVyZm9ybUFuYWx5c2lzKCkKKyAgICB7CisgICAgICAgIG1faGVh
cEF0SGVhZCA9IEJsb2NrTWFwPExvY2FsSGVhcD4obV9ncmFwaCk7CisgICAgICAgIG1faGVhcEF0
VGFpbCA9IEJsb2NrTWFwPExvY2FsSGVhcD4obV9ncmFwaCk7CisKKyAgICAgICAgYm9vbCBjaGFu
Z2VkOworICAgICAgICBkbyB7CisgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAg
ICAgICBkYXRhTG9nKCJEb2luZyBpdGVyYXRpb24gb2YgZXNjYXBlIGFuYWx5c2lzLlxuIik7Cisg
ICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CisKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9j
ayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgICAg
IG1faGVhcEF0SGVhZFtibG9ja10uc2V0UmVhY2hlZCgpOworICAgICAgICAgICAgICAgIG1faGVh
cCA9IG1faGVhcEF0SGVhZFtibG9ja107CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG5v
ZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90
ZWRIZWFwTG9jYXRpb24sIExhenlOb2RlKSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICBb
Jl0gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAobV9oZWFwID09IG1faGVhcEF0
VGFpbFtibG9ja10pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICAgICAgbV9oZWFwQXRUYWlsW2Jsb2NrXSA9IG1faGVhcDsKKyAgICAgICAgICAgICAgICBjaGFu
Z2VkID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIEFTU0VSVChtX2hlYXAuaXNWYWxpZCgpKTsK
KworICAgICAgICAgICAgICAgIC8vIFdlIGtlZXAgb25seSBwb2ludGVycyB0aGF0IGFyZSBsaXZl
LCBhbmQgb25seQorICAgICAgICAgICAgICAgIC8vIGFsbG9jYXRpb25zIHRoYXQgYXJlIGVpdGhl
ciBsaXZlLCBwb2ludGVkIHRvIGJ5IGEKKyAgICAgICAgICAgICAgICAvLyBsaXZlIHBvaW50ZXIs
IG9yIChyZWN1cnNpdmVseSkgc3RvcmVkIGluIGEgZmllbGQgb2YKKyAgICAgICAgICAgICAgICAv
LyBhIGxpdmUgYWxsb2NhdGlvbi4KKyAgICAgICAgICAgICAgICAvLworICAgICAgICAgICAgICAg
IC8vIFRoaXMgbWVhbnMgd2UgY2FuIGFjY2lkZW50YWx5IGxlYWsgbm9uLWRvbWluYXRpbmcKKyAg
ICAgICAgICAgICAgICAvLyBub2RlcyBpbnRvIHRoZSBzdWNjZXNzb3IuIEhvd2V2ZXIsIGR1ZSB0
byB0aGUKKyAgICAgICAgICAgICAgICAvLyBub24tZG9taW5hbmNlIHByb3BlcnR5LCB3ZSBhcmUg
Z3VhcmFudGVlZCB0aGF0IHRoZQorICAgICAgICAgICAgICAgIC8vIHN1Y2Nlc3NvciBoYXMgYXQg
bGVhc3Qgb25lIHByZWRlY2Vzc29yIHRoYXQgaXMgbm90CisgICAgICAgICAgICAgICAgLy8gZG9t
aW5hdGVkIGVpdGhlcjogdGhpcyBtZWFucyBhbnkgcmVmZXJlbmNlIHRvIGEKKyAgICAgICAgICAg
ICAgICAvLyBub24tZG9taW5hdGluZyBhbGxvY2F0aW9uIGluIHRoZSBzdWNjZXNzb3Igd2lsbAor
ICAgICAgICAgICAgICAgIC8vIHRyaWdnZXIgYW4gZXNjYXBlIGFuZCBnZXQgcHJ1bmVkIGR1cmlu
ZyB0aGUgbWVyZ2UuCisgICAgICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2Nv
bWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICAgICAgZm9y
IChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpCisgICAg
ICAgICAgICAgICAgICAgIG1faGVhcEF0SGVhZFtzdWNjZXNzb3JCbG9ja10ubWVyZ2UobV9oZWFw
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CisgICAgfQorCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgV3JpdGVGdW5jdG9yLCB0eXBlbmFtZSBSZXNvbHZlRnVuY3Rv
cj4KKyAgICB2b2lkIGhhbmRsZU5vZGUoCisgICAgICAgIE5vZGUqIG5vZGUsCisgICAgICAgIGNv
bnN0IFdyaXRlRnVuY3RvciYgaGVhcFdyaXRlLAorICAgICAgICBjb25zdCBSZXNvbHZlRnVuY3Rv
ciYgaGVhcFJlc29sdmUpCisgICAgeworICAgICAgICBBU1NFUlQobV9oZWFwLmlzVmFsaWQoKSk7
CisgICAgICAgIEFTU0VSVChtX2hlYXAudGFrZUVzY2FwZWVzKCkuaXNFbXB0eSgpKTsKKworICAg
ICAgICBBbGxvY2F0aW9uKiB0YXJnZXQgPSBudWxscHRyOworICAgICAgICBIYXNoTWFwPFByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yLCBMYXp5Tm9kZT4gd3JpdGVzOworICAgICAgICBQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvciBleGFjdFJlYWQ7CisKKyAgICAgICAgc3dpdGNoIChub2RlLT5v
cCgpKSB7CisgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgdGFyZ2V0ID0gJm1f
aGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdCk7CisgICAg
ICAgICAgICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlKCkpOworICAgICAg
ICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVQTG9jLCBMYXp5Tm9k
ZShtX2dyYXBoLmZyZWV6ZShub2RlLT5zdHJ1Y3R1cmUoKSkpKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIHRh
cmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpPYmpl
Y3QpOworICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZVNl
dCgpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgU3RydWN0dXJl
UExvYywgTGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
d3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3IoCisgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3Bl
cnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5v
ZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246IHsKKyAgICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1
dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAg
ICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hl
YXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbik7CisgICAg
ICAgICAgICB3cml0ZXMuYWRkKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIExhenlOb2RlKG5vZGUt
PmNlbGxPcGVyYW5kKCkpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoRnVuY3Rpb25BY3RpdmF0
aW9uUExvYywgTGF6eU5vZGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjogeworICAg
ICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9u
U2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwg
QWxsb2NhdGlvbjo6S2luZDo6QWN0aXZhdGlvbik7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFj
dGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxPcGVyYW5kKCkpKTsK
KyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywgTGF6eU5vZGUobm9k
ZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3lt
Ym9sVGFibGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigp
OworICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxl
LT5tX2xvY2spOworICAgICAgICAgICAgICAgIExhenlOb2RlIHVuZGVmaW5lZChtX2dyYXBoLmZy
ZWV6ZShqc1VuZGVmaW5lZCgpKSk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBz
eW1ib2xUYWJsZS0+YmVnaW4obG9ja2VyKSwgZW5kID0gc3ltYm9sVGFibGUtPmVuZChsb2NrZXIp
OyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQo
CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9z
dXJlVmFyUExvYywgaXRlci0+dmFsdWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICB1bmRlZmluZWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgc3VuayB0
aGlzIG9uY2UgYWxyZWFkeSAtIHRoZXJlIGlzIG5vIHdheSB0aGUKKyAgICAgICAgICAgIC8vIHdh
dGNocG9pbnQgaXMgc3RpbGwgdmFsaWQuCisgICAgICAgICAgICBBU1NFUlQoIW5vZGUtPmNhc3RP
cGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkp
OworICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9j
YXRpb246OktpbmQ6OkFjdGl2YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0
aW9uU3ltYm9sVGFibGVQTG9jLCBMYXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDAp
Lm5vZGUoKSkpOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU2NvcGVQTG9jLCBM
YXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpLm5vZGUoKSkpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRh
dGEoKS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICB3cml0ZXMu
YWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGllc1tpXS5t
X2lkZW50aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShtX2dyYXBo
LnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6Cisg
ICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGls
ZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0
QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZChTdHJ1Y3R1cmVQTG9j
LCBMYXp5Tm9kZShtX2dyYXBoLmZyZWV6ZShKU1ZhbHVlKG5vZGUtPnRyYW5zaXRpb24oKS0+bmV4
dCkpKSk7CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnRyYW5z
aXRpb24oKS0+bmV4dCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9uKiBh
bGxvY2F0aW9uID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9k
ZSgpKTsKKyAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uICYmIGFsbG9jYXRpb24tPmlzT2JqZWN0
QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi0+ZmlsdGVyU3RydWN0
dXJlcyhub2RlLT5zdHJ1Y3R1cmVTZXQoKSk7CisgICAgICAgICAgICAgICAgaWYgKE5vZGUqIHZh
bHVlID0gaGVhcFJlc29sdmUoUHJvbW90ZWRIZWFwTG9jYXRpb24oYWxsb2NhdGlvbi0+aWRlbnRp
ZmllcigpLCBTdHJ1Y3R1cmVQTG9jKSkpCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZl
cnRUb0NoZWNrU3RydWN0dXJlSW1tZWRpYXRlKHZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoK
KyAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdl
dCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsK
KyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+c3RvcmFn
ZUFjY2Vzc0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVh
ZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlm
aWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKKyAgICAgICAgICAgIHRh
cmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkp
IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+bXVs
dGlHZXRCeU9mZnNldERhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4
YWN0UmVhZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBp
ZGVudGlmaWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1f
aGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAg
aWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRh
KCkuaWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExv
YywgaWRlbnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUt
PmNoaWxkMygpLm5vZGUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAg
bV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1f
aGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKKyAgICAgICAgICAg
IHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUo
KSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0KKyAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIG5vZGUtPnNjb3Bl
T2Zmc2V0KCkub2Zmc2V0KCkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
bV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9o
ZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZz
ZXQoKSksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxkMigpLm5vZGUo
KSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShu
b2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBTa2lwU2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAg
aWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAg
ICAgICAgICBleGFjdFJlYWQgPSBBY3RpdmF0aW9uU2NvcGVQTG9jOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0RXhlY3V0YWJsZToKKyAgICAg
ICAgICAgIHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNGdW5jdGlvbkFs
bG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBGdW5jdGlvbkV4ZWN1dGFi
bGVQTG9jOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgR2V0U2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2Nh
dGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0
YXJnZXQtPmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFk
ID0gRnVuY3Rpb25BY3RpdmF0aW9uUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hp
bGRyZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2Ug
ZWRnZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZWRnZS53aWxsTm90SGF2ZUNoZWNrKCkp
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGFscmVhZHlDaGVja2VkKGVkZ2UudXNlS2luZCgpLCBTcGVjT2JqZWN0KSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNj
YXBlKGVkZ2Uubm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTW92SGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAg
ICAgICAgLy8gSGFuZGxlZCBieSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzCisgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hp
bGRyZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2Ug
ZWRnZSkgeworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVkZ2Uubm9kZSgpKTsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKGV4YWN0UmVhZCkgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdldCk7CisgICAg
ICAgICAgICBBU1NFUlQod3JpdGVzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBpZiAoTm9kZSog
dmFsdWUgPSBoZWFwUmVzb2x2ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0YXJnZXQtPmlkZW50aWZp
ZXIoKSwgZXhhY3RSZWFkKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXZhbHVlLT5yZXBs
YWNlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBub2RlLT5yZXBsYWNlV2l0aCh2YWx1ZSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gdGFyZ2V0LT5nZXQo
ZXhhY3RSZWFkKTsKKyAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQorICAgICAgICAgICAgICAg
IG1faGVhcC5uZXdQb2ludGVyKG5vZGUsIGlkZW50aWZpZXIpOworICAgICAgICB9CisKKyAgICAg
ICAgZm9yIChhdXRvIHBhaXIgOiB3cml0ZXMpIHsKKyAgICAgICAgICAgIEFTU0VSVCh0YXJnZXQp
OworICAgICAgICAgICAgaWYgKHBhaXIudmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAgICAg
dGFyZ2V0LT5zZXQocGFpci5rZXksIG1faGVhcC5mb2xsb3cocGFpci52YWx1ZS5hc05vZGUoKSkp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRhcmdldC0+cmVtb3ZlKHBhaXIu
a2V5KTsKKyAgICAgICAgICAgIGhlYXBXcml0ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0YXJnZXQt
PmlkZW50aWZpZXIoKSwgcGFpci5rZXkpLCBwYWlyLnZhbHVlKTsKKyAgICAgICAgfQorCisgICAg
ICAgIEFTU0VSVChtX2hlYXAuaXNWYWxpZCgpKTsKKyAgICB9CisKKyAgICBib29sIGRldGVybWlu
ZVNpbmtDYW5kaWRhdGVzKCkKKyAgICB7CisgICAgICAgIG1fc2lua0NhbmRpZGF0ZXMuY2xlYXIo
KTsKKyAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuY2xlYXIoKTsKKyAgICAgICAg
bV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmNsZWFyKCk7CisgICAgICAg
IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5jbGVhcigpOworCisgICAgICAgIC8v
IExvZ2ljYWxseSB3ZSB3aXNoIHRvIGNvbnNpZGVyIGV2ZXJ5IGFsbG9jYXRpb24gYW5kIHNpbmsK
KyAgICAgICAgLy8gaXQuIEhvd2V2ZXIsIGl0IGlzIHByb2JhYmx5IG5vdCBwcm9maXRhYmxlIHRv
IHNpbmsgYW4KKyAgICAgICAgLy8gYWxsb2NhdGlvbiB0aGF0IHdpbGwgYWx3YXlzIGVzY2FwZS4g
U28sIHdlIG9ubHkgc2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIGlmIG9uZSBvZiB0aGUg
Zm9sbG93aW5nIGlzIHRydWU6CisgICAgICAgIC8vCisgICAgICAgIC8vIDEpIFRoZXJlIGV4aXN0
cyBhIGJhc2ljIGJsb2NrIHdpdGggb25seSBiYWNrd2FyZHMgb3V0Z29pbmcKKyAgICAgICAgLy8g
ICAgZWRnZXMgKG9yIG5vIG91dGdvaW5nIGVkZ2VzKSBpbiB3aGljaCB0aGUgbm9kZSB3YXNuJ3QK
KyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemVkLiBUaGlzIGlzIG1lYW50IHRvIGNhdGNoCisgICAg
ICAgIC8vICAgIGVmZmVjdGl2ZWx5LWluZmluaXRlIGxvb3BzIGluIHdoaWNoIHdlIGRvbid0IG5l
ZWQgdG8KKyAgICAgICAgLy8gICAgaGF2ZSBhbGxvY2F0ZWQgdGhlIG9iamVjdC4KKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gMikgVGhlcmUgZXhpc3RzIGEgYmFzaWMgYmxvY2sgYXQgdGhlIHRhaWwg
b2Ygd2hpY2ggdGhlIG5vZGUKKyAgICAgICAgLy8gICAgaXMgZGVhZCBhbmQgbm90IG1hdGVyaWFs
aXplZC4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gMykgVGhlIHN1bSBvZiBleGVjdXRpb24gY291
bnRzIG9mIHRoZSBtYXRlcmlhbGl6YXRpb25zIGlzCisgICAgICAgIC8vICAgIGxlc3MgdGhhbiB0
aGUgc3VtIG9mIGV4ZWN1dGlvbiBjb3VudHMgb2YgdGhlIG9yaWdpbmFsCisgICAgICAgIC8vICAg
IG5vZGUuCisgICAgICAgIC8vCisgICAgICAgIC8vIFdlIGN1cnJlbnRseSBpbXBsZW1lbnQgb25s
eSBydWxlICMyLgorICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZSB0d28gb3RoZXIgcnVs
ZXMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzcwNzMgKHJ1bGUgIzEpCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzcwNzQgKHJ1bGUgIzMpCisgICAgICAgIC8vCisgICAgICAgIC8vIEhvd2V2
ZXIsIHRoZXNlIHJ1bGVzIGFsbG93IGZvciBhIHN1bmsgb2JqZXQgdG8gYmUgcHV0IGludG8KKyAg
ICAgICAgLy8gYSBub24tc3VuayBvbmUsIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQuIFdlIGNvdWxk
IHNvbHZlIHRoaXMKKyAgICAgICAgLy8gYnkgc3VwcG9ydGluZyBQdXRIaW50cyBvbiBsb2NhbCBh
bGxvY2F0aW9ucywgbWFraW5nIHRoZXNlCisgICAgICAgIC8vIG9iamVjdHMgb25seSBwYXJ0aWFs
bHkgY29ycmVjdCwgYW5kIHdlIHdvdWxkIG5lZWQgdG8gYWRhcHQKKyAgICAgICAgLy8gdGhlIE9T
UiBhdmFpbGFiaWxpdHkgYW5hbHlzaXMgYW5kIE9TUiBleGl0IHRvIGhhbmRsZQorICAgICAgICAv
LyB0aGlzLiBUaGlzIHdvdWxkIGJlIHRvdGFsbHkgZG9hYmxlLCBidXQgd291bGQgY3JlYXRlIGEK
KyAgICAgICAgLy8gc3VwZXIgcmFyZSwgYW5kIHRodXMgYnVnLXByb25lLCBjb2RlIHBhdGguCisg
ICAgICAgIC8vIFNvLCBpbnN0ZWFkLCB3ZSBuZWVkIHRvIGltcGxlbWVudCBvbmUgb2YgdGhlIGZv
bGxvd2luZworICAgICAgICAvLyBjbG9zdXJlIHJ1bGVzOgorICAgICAgICAvLworICAgICAgICAv
LyAxKSBJZiB3ZSBwdXQgYSBzaW5rIGNhbmRpZGF0ZSBpbnRvIGEgbG9jYWwgYWxsb2NhdGlvbiB0
aGF0CisgICAgICAgIC8vICAgIGlzIG5vdCBhIHNpbmsgY2FuZGlkYXRlLCBjaGFuZ2Ugb3VyIG1p
bmRzIGFuZCBkb24ndAorICAgICAgICAvLyAgICBhY3R1YWxseSBzaW5rIHRoZSBzaW5rIGNhbmRp
ZGF0ZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gMikgSWYgd2UgcHV0IGEgc2luayBjYW5kaWRh
dGUgaW50byBhIGxvY2FsIGFsbG9jYXRpb24sIHRoYXQKKyAgICAgICAgLy8gICAgYWxsb2NhdGlv
biBiZWNvbWVzIGEgc2luayBjYW5kaWRhdGUgYXMgd2VsbC4KKyAgICAgICAgLy8KKyAgICAgICAg
Ly8gV2UgY3VycmVudGx5IGNob29zZSB0byBpbXBsZW1lbnQgY2xvc3VyZSBydWxlICMyLgorICAg
ICAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8Tm9kZSo+PiBkZXBzOworICAgICAgICBib29sIGhh
c1VuZXNjYXBlZFJlYWRzID0gZmFsc2U7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgbV9oZWFwID0gbV9o
ZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2Nr
KSB7CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbm9k
ZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
biwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUu
aXNOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBBbGxvY2F0aW9uKiBhbGxvY2F0aW9uID0gbV9oZWFwLm9ubHlMb2Nh
bEFsbG9jYXRpb24odmFsdWUuYXNOb2RlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGFsbG9jYXRpb24gJiYgIWFsbG9jYXRpb24tPmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkZXBzLmFkZChhbGxvY2F0aW9uLT5pZGVudGlmaWVyKCks
IFZlY3RvcjxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChsb2NhdGlvbi5iYXNlKCkp
OworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21v
dGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAgICAgICBoYXNV
bmVzY2FwZWRSZWFkcyA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIC8vIFRoZSBzaW5rIGNhbmRpZGF0ZXMgYXJlIGluaXRpYWxseSB0aGUgdW5lc2NhcGVkCisg
ICAgICAgICAgICAvLyBhbGxvY2F0aW9ucyBkeWluZyBhdCB0YWlsIG9mIGJsb2NrcworICAgICAg
ICAgICAgSGFzaFNldDxOb2RlKj4gYWxsb2NhdGlvbnM7CisgICAgICAgICAgICBmb3IgKGNvbnN0
IGF1dG8mIHBhaXIgOiBtX2hlYXAuYWxsb2NhdGlvbnMoKSkgeworICAgICAgICAgICAgICAgIGlm
ICghcGFpci52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAg
IGFsbG9jYXRpb25zLmFkZChwYWlyLmtleSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IG1faGVhcC5wcnVuZUJ5TGl2ZW5lc3MobV9jb21iaW5lZExpdmVuZXNzLmxpdmVBdFRhaWxbYmxv
Y2tdKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogYWxsb2NhdGlvbnMp
IHsKKyAgICAgICAgICAgICAgICBpZiAoIW1faGVhcC5pc0FsbG9jYXRpb24oaWRlbnRpZmllcikp
CisgICAgICAgICAgICAgICAgICAgIG1fc2lua0NhbmRpZGF0ZXMuYWRkKGlkZW50aWZpZXIpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gSW1wbGVtZW50IHRoZSBjbG9z
dXJlIHJ1bGUKKyAgICAgICAgVmVjdG9yPE5vZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgd29ya2xp
c3QuYXBwZW5kUmFuZ2UobV9zaW5rQ2FuZGlkYXRlcy5iZWdpbigpLCBtX3NpbmtDYW5kaWRhdGVz
LmVuZCgpKTsKKworICAgICAgICB3aGlsZSAoIXdvcmtsaXN0LmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogZGVwcy5nZXQod29ya2xpc3QudGFrZUxhc3Qo
KSkpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5hZGQoaWRlbnRpZmll
cikuaXNOZXdFbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgd29ya2xpc3QuYXBwZW5kKGlkZW50
aWZpZXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKG1fc2lua0Nh
bmRpZGF0ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGhhc1VuZXNjYXBlZFJlYWRz
OworCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiQ2FuZGlkYXRl
czogIiwgbGlzdER1bXAobV9zaW5rQ2FuZGlkYXRlcyksICJcbiIpOworCisgICAgICAgIC8vIENy
ZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzCisgICAgICAgIGZvciAoQmFzaWNCbG9jayog
YmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1f
aGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisgICAgICAgICAgICBtX2hlYXAuc2V0V2FudEVz
Y2FwZWVzKCk7CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAg
ICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAg
ICAgICAgICAgICAgICAgIFtdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTGF6eU5vZGUpIHsgfSwK
KyAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICAgICAgYXV0byBlc2NhcGVlcyA9IG1faGVhcC50YWtlRXNj
YXBlZXMoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWVzY2FwZWVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRpb25zKGVzY2FwZWVzLCBub2RlKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2NvbWJp
bmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gZXNjYXBpbmdPbkVkZ2U7CisgICAg
ICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogbV9oZWFwLmFsbG9jYXRpb25zKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBhaXIudmFsdWUuaXNFc2NhcGVkQWxsb2NhdGlv
bigpKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAg
ICAgICAgYm9vbCBtdXN0RXNjYXBlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
QmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoIW1faGVhcEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uaXNB
bGxvY2F0aW9uKHBhaXIua2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IG1faGVh
cEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uZ2V0QWxsb2NhdGlvbihwYWlyLmtleSkuaXNFc2NhcGVk
QWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11c3RFc2NhcGUgPSB0
cnVlOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG11
c3RFc2NhcGUpCisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGluZ09uRWRnZS5hZGQocGFp
ci5rZXksIHBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBw
bGFjZU1hdGVyaWFsaXphdGlvbnMoV1RGOjptb3ZlKGVzY2FwaW5nT25FZGdlKSwgYmxvY2stPnRl
cm1pbmFsKCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGhh
c1VuZXNjYXBlZFJlYWRzIHx8ICFtX3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKTsKKyAgICB9CisK
KyAgICB2b2lkIHBsYWNlTWF0ZXJpYWxpemF0aW9ucyhIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9u
PiBlc2NhcGVlcywgTm9kZSogd2hlcmUpCisgICAgeworICAgICAgICAvLyBXZSBkb24ndCBjcmVh
dGUgbWF0ZXJpYWxpemF0aW9ucyBpZiB0aGUgZXNjYXBlZSBpcyBub3QgYQorICAgICAgICAvLyBz
aW5rIGNhbmRpZGF0ZQorICAgICAgICBWZWN0b3I8Tm9kZSo+IHRvUmVtb3ZlOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgaWYgKCFtX3Np
bmtDYW5kaWRhdGVzLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAgICAgICAgICAgICAgICB0b1JlbW92
ZS5hcHBlbmQocGFpci5rZXkpOworICAgICAgICB9CisgICAgICAgIGZvciAoTm9kZSogaWRlbnRp
ZmllciA6IHRvUmVtb3ZlKQorICAgICAgICAgICAgZXNjYXBlZXMucmVtb3ZlKGlkZW50aWZpZXIp
OworCisgICAgICAgIGlmIChlc2NhcGVlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgLy8gRmlyc3QgY29sbGVjdCB0aGUgaGludHMgdGhhdCB3aWxsIGJlIG5lZWRl
ZCB3aGVuIHRoZSBub2RlCisgICAgICAgIC8vIHdlIG1hdGVyaWFsaXplIGlzIHN0aWxsIHN0b3Jl
ZCBpbnRvIG90aGVyIHVuZXNjYXBlZCBzaW5rIGNhbmRpZGF0ZXMKKyAgICAgICAgVmVjdG9yPFBy
b21vdGVkSGVhcExvY2F0aW9uPiBoaW50czsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWly
IDogbV9oZWFwLmFsbG9jYXRpb25zKCkpIHsKKyAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250
YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgZmllbGQgOiBwYWlyLnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMocGFpci5rZXkpIHx8ICFl
c2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkpOworICAgICAgICAgICAgICAgIGlmIChlc2Nh
cGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgIWZpZWxkLmtleS5uZWVkZWRGb3JNYXRlcmlh
bGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgaGludHMuYXBwZW5kKFByb21vdGVkSGVh
cExvY2F0aW9uKHBhaXIua2V5LCBmaWVsZC5rZXkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIC8vIE5vdyB3ZSBuZWVkIHRvIG9yZGVyIHRoZSBtYXRlcmlhbGl6YXRpb24u
IEFueSBvcmRlciBpcworICAgICAgICAvLyB2YWxpZCAoYXMgbG9uZyBhcyB3ZSBtYXRlcmlhbGl6
ZSBhIG5vZGUgZmlyc3QgaWYgaXQgaXMKKyAgICAgICAgLy8gbmVlZGVkIGZvciB0aGUgbWF0ZXJp
YWxpemF0aW9uIG9mIGFub3RoZXIgbm9kZSwgZS5nLiBhCisgICAgICAgIC8vIGZ1bmN0aW9uJ3Mg
YWN0aXZhdGlvbiBtdXN0IGJlIG1hdGVyaWFsaXplZCBiZWZvcmUgdGhlCisgICAgICAgIC8vIGZ1
bmN0aW9uIGl0c2VsZiksIGJ1dCB3ZSB3YW50IHRvIHRyeSBtaW5pbWl6aW5nIHRoZSBudW1iZXIK
KyAgICAgICAgLy8gb2YgdGltZXMgd2UgaGF2ZSB0byBwbGFjZSBQdXRzIHRvIGNsb3NlIGN5Y2xl
cyBhZnRlciBhCisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbi4gSW4gb3RoZXIgd29yZHMsIHdl
IGFyZSB0cnlpbmcgdG8gZmluZCB0aGUKKyAgICAgICAgLy8gbWluaW11bSBudW1iZXIgb2YgbWF0
ZXJpYWxpemF0aW9ucyB0byByZW1vdmUgZnJvbSB0aGUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemF0
aW9uIGdyYXBoIHRvIG1ha2UgaXQgYSBEQUcsIGtub3duIGFzIHRoZQorICAgICAgICAvLyAodmVy
dGV4KSBmZWVkYmFjayBzZXQgcHJvYmxlbS4gVW5mb3J0dW5hdGVseSwgdGhpcyBpcyBhCisgICAg
ICAgIC8vIE5QLWhhcmQgcHJvYmxlbSwgd2hpY2ggd2UgZG9uJ3Qgd2FudCB0byBzb2x2ZSBleGFj
dGx5LgorICAgICAgICAvLworICAgICAgICAvLyBJbnN0ZWFkLCB3ZSB1c2UgYSBzaW1wbGUgZ3Jl
ZWR5IHByb2NlZHVyZSwgdGhhdCBwcm9jZWRlcyBhcworICAgICAgICAvLyBmb2xsb3c6CisgICAg
ICAgIC8vICAtIFdoaWxlIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBub2RlIHdpdGggbm8gb3V0Z29p
bmcgZWRnZQorICAgICAgICAvLyAgICBhbW9uZ3N0IHRoZSByZW1haW5pbmcgbWF0ZXJpYWxpemF0
aW9ucywgbWF0ZXJpYWxpemUgaXQKKyAgICAgICAgLy8gICAgZmlyc3QKKyAgICAgICAgLy8gCisg
ICAgICAgIC8vICAtIFNpbWlsYXJpbHksIHdoaWxlIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBub2Rl
IHdpdGggbm8KKyAgICAgICAgLy8gICAgaW5jb21pbmcgZWRnZSBhbW9uZ3N0IHRoZSByZW1haW5p
bmcgbWF0ZXJpYWxpemF0aW9ucywKKyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemUgaXQgbGFzdC4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gIC0gV2hlbiBib3RoIHByZXZpb3VzIGNvbmRpdGlvbnMg
YXJlIGZhbHNlLCB3ZSBoYXZlIGFuCisgICAgICAgIC8vICAgIGFjdHVhbCBjeWNsZSwgYW5kIHdl
IG5lZWQgdG8gcGljayBhIG5vZGUgdG8KKyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemUuIFdlIHRy
eSBncmVlZGlseSB0byByZW1vdmUgdGhlICJwcmVzc3VyZSIgb24KKyAgICAgICAgLy8gICAgdGhl
IHJlbWFpbmluZyBub2RlcyBieSBjaG9vc2luZyB0aGUgbm9kZSB3aXRoIG1heGltdW0KKyAgICAg
ICAgLy8gICAgfGluY29taW5nIGVkZ2VzfCAqIHxvdXRnb2luZyBlZGdlc3wgYXMgYSBtZWFzdXJl
IG9mIGhvdworICAgICAgICAvLyAgICAiY2VudHJhbCIgdG8gdGhlIGdyYXBoIGl0IGlzLiBXZSBt
YXRlcmlhbGl6ZSBpdCBmaXJzdCwKKyAgICAgICAgLy8gICAgc28gdGhhdCBhbGwgdGhlIHJlY292
ZXJpZXMgd2lsbCBiZSBQdXRzIG9mIHRoaW5ncyBpbnRvCisgICAgICAgIC8vICAgIGl0IChyYXRo
ZXIgdGhhbiBQdXRzIG9mIHRoZSBtYXRlcmlhbGl6YXRpb24gaW50byBvdGhlcgorICAgICAgICAv
LyAgICBvYmplY3RzKSwgd2hpY2ggbWVhbnMgd2Ugd2lsbCBoYXZlIGEgc2luZ2xlCisgICAgICAg
IC8vICAgIFN0b3JlQmFycmllci4KKworCisgICAgICAgIC8vIENvbXB1dGUgZGVwZW5kZW5jaWVz
IGJldHdlZW4gbWF0ZXJpYWxpemF0aW9ucworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0
PE5vZGUqPj4gZGVwczsKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IHJk
ZXBzOworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0PE5vZGUqPj4gZm9yTWF0ZXJpYWxp
emF0aW9uOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBlc2NhcGVlcykgeworICAg
ICAgICAgICAgYXV0byYgbXlEZXBzID0gZGVwcy5hZGQocGFpci5rZXksIEhhc2hTZXQ8Tm9kZSo+
KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIGF1dG8mIG15RGVwc0Zvck1hdGVyaWFs
aXphdGlvbiA9IGZvck1hdGVyaWFsaXphdGlvbi5hZGQocGFpci5rZXksIEhhc2hTZXQ8Tm9kZSo+
KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIHJkZXBzLmFkZChwYWlyLmtleSwgSGFz
aFNldDxOb2RlKj4oKSk7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogcGFp
ci52YWx1ZS5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250YWlu
cyhmaWVsZC52YWx1ZSkgJiYgZmllbGQudmFsdWUgIT0gcGFpci5rZXkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbXlEZXBzLmFkZChmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIHJk
ZXBzLmFkZChmaWVsZC52YWx1ZSwgSGFzaFNldDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFk
ZChwYWlyLmtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5rZXkubmVlZGVkRm9y
TWF0ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBteURlcHNGb3JNYXRl
cmlhbGl6YXRpb24uYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gdXBkYXRl
IHRoZSBtYXRlcmlhbGl6ZWQgc2V0IGFuZCB0aGUKKyAgICAgICAgLy8gZGVwZW5kZW5jaWVzCisg
ICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKKyAgICAgICAgYXV0byBtYXRlcmlh
bGl6ZSA9IFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAgICAgbWF0ZXJpYWxpemVk
LmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogZGVwIDogZGVwcy5nZXQo
aWRlbnRpZmllcikpCisgICAgICAgICAgICAgICAgcmRlcHMuZmluZChkZXApLT52YWx1ZS5yZW1v
dmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIHJkZXAgOiByZGVwcy5nZXQo
aWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgICAgICBkZXBzLmZpbmQocmRlcCktPnZhbHVlLnJl
bW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBmb3JNYXRlcmlhbGl6YXRpb24uZmlu
ZChyZGVwKS0+dmFsdWUucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZGVwcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICByZGVwcy5yZW1vdmUo
aWRlbnRpZmllcik7CisgICAgICAgICAgICBmb3JNYXRlcmlhbGl6YXRpb24ucmVtb3ZlKGlkZW50
aWZpZXIpOworICAgICAgICB9OworCisgICAgICAgIC8vIE5vZGVzIHdpdGhvdXQgcmVtYWluaW5n
IHVubWF0ZXJpYWxpemVkIGZpZWxkcyB3aWxsIGJlCisgICAgICAgIC8vIG1hdGVyaWFsaXplZCBm
aXJzdCAtIGFtb25nc3QgdGhlIHJlbWFpbmluZyB1bm1hdGVyaWFsaXplZAorICAgICAgICAvLyBu
b2RlcworICAgICAgICBzdGQ6Omxpc3Q8QWxsb2NhdGlvbj4gdG9NYXRlcmlhbGl6ZTsKKyAgICAg
ICAgYXV0byBmaXJzdFBvcyA9IHRvTWF0ZXJpYWxpemUuYmVnaW4oKTsKKyAgICAgICAgYXV0byBt
YXRlcmlhbGl6ZUZpcnN0ID0gWyZdIChBbGxvY2F0aW9uJiYgYWxsb2NhdGlvbikgeworICAgICAg
ICAgICAgbWF0ZXJpYWxpemUoYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAg
Ly8gV2UgbmVlZCB0byBpbnNlcnQgKmFmdGVyKiB0aGUgY3VycmVudCBwb3NpdGlvbgorICAgICAg
ICAgICAgaWYgKGZpcnN0UG9zICE9IHRvTWF0ZXJpYWxpemUuZW5kKCkpCisgICAgICAgICAgICAg
ICAgKytmaXJzdFBvczsKKyAgICAgICAgICAgIGZpcnN0UG9zID0gdG9NYXRlcmlhbGl6ZS5pbnNl
cnQoZmlyc3RQb3MsIFdURjo6bW92ZShhbGxvY2F0aW9uKSk7CisgICAgICAgIH07CisKKyAgICAg
ICAgLy8gTm9kZXMgdGhhdCBubyBvdGhlciB1bm1hdGVyaWFsaXplZCBub2RlIHBvaW50cyB0byB3
aWxsIGJlCisgICAgICAgIC8vIG1hdGVyaWFsaXplZCBsYXN0IC0gYW1vbmdzdCB0aGUgcmVtYWlu
aW5nIHVubWF0ZXJpYWxpemVkCisgICAgICAgIC8vIG5vZGVzCisgICAgICAgIGF1dG8gbGFzdFBv
cyA9IHRvTWF0ZXJpYWxpemUuZW5kKCk7CisgICAgICAgIGF1dG8gbWF0ZXJpYWxpemVMYXN0ID0g
WyZdIChBbGxvY2F0aW9uJiYgYWxsb2NhdGlvbikgeworICAgICAgICAgICAgbWF0ZXJpYWxpemUo
YWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbGFzdFBvcyA9IHRvTWF0ZXJp
YWxpemUuaW5zZXJ0KGxhc3RQb3MsIFdURjo6bW92ZShhbGxvY2F0aW9uKSk7CisgICAgICAgIH07
CisKKyAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiB0b1JlY292ZXI7CisKKyAg
ICAgICAgd2hpbGUgKCFlc2NhcGVlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1hdGVyaWFs
aXplZC5jbGVhcigpOworCisgICAgICAgICAgICAvLyBNYXRlcmlhbGl6ZSBub2RlcyB0aGF0IHdv
bid0IHJlcXVpcmUgcmVjb3ZlcmllcyBpZiB3ZSBjYW4KKyAgICAgICAgICAgIGZvciAoYXV0byYg
cGFpciA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICAgICAgaWYgKCFmb3JNYXRlcmlhbGl6YXRp
b24uZmluZChwYWlyLmtleSktPnZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgICAgICBpZiAoZGVwcy5maW5kKHBhaXIua2V5KS0+dmFs
dWUuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplRmlyc3QoV1RG
Ojptb3ZlKHBhaXIudmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHJkZXBzLmZpbmQocGFpci5rZXkp
LT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVMYXN0
KFdURjo6bW92ZShwYWlyLnZhbHVlKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gV2UgaGF2
ZSBhbiBhY3R1YWwgY3ljbGUKKyAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWQuaXNFbXB0eSgp
KSB7CisgICAgICAgICAgICAgICAgaW50NjRfdCBtYXhFZGdlcyA9IDA7CisgICAgICAgICAgICAg
ICAgQWxsb2NhdGlvbiogYmVzdEFsbG9jYXRpb247CisgICAgICAgICAgICAgICAgZm9yIChhdXRv
JiBwYWlyIDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3JNYXRlcmlh
bGl6YXRpb24uZmluZChwYWlyLmtleSktPnZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgIGludDY0X3QgbnVtRWRn
ZXMgPQorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50NjRfdD4oZGVwcy5n
ZXQocGFpci5rZXkpLnNpemUoKSkgKiByZGVwcy5nZXQocGFpci5rZXkpLnNpemUoKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKG51bUVkZ2VzID4gbWF4RWRnZXMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1heEVkZ2VzID0gbnVtRWRnZXM7CisgICAgICAgICAgICAgICAgICAgICAgICBi
ZXN0QWxsb2NhdGlvbiA9ICZwYWlyLnZhbHVlOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1heEVkZ2VzID4g
MCk7CisKKyAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUZpcnN0KFdURjo6bW92ZSgqYmVzdEFs
bG9jYXRpb24pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFt
YXRlcmlhbGl6ZWQuaXNFbXB0eSgpKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlm
aWVyIDogbWF0ZXJpYWxpemVkKQorICAgICAgICAgICAgICAgIGVzY2FwZWVzLnJlbW92ZShpZGVu
dGlmaWVyKTsKKyAgICAgICAgfQorCisgICAgICAgIG1hdGVyaWFsaXplZC5jbGVhcigpOworCisg
ICAgICAgIEhhc2hTZXQ8Tm9kZSo+IGVzY2FwZWQ7CisgICAgICAgIGZvciAoY29uc3QgQWxsb2Nh
dGlvbiYgYWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpCisgICAgICAgICAgICBlc2NhcGVkLmFk
ZChhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgIGZvciAoY29uc3QgQWxsb2NhdGlv
biYgYWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgZmllbGQgOiBhbGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgaWYg
KGVzY2FwZWQuY29udGFpbnMoZmllbGQudmFsdWUpICYmICFtYXRlcmlhbGl6ZWQuY29udGFpbnMo
ZmllbGQudmFsdWUpKQorICAgICAgICAgICAgICAgICAgICB0b1JlY292ZXIuYXBwZW5kKFByb21v
dGVkSGVhcExvY2F0aW9uKGFsbG9jYXRpb24uaWRlbnRpZmllcigpLCBmaWVsZC5rZXkpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQoYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPE5vZGUqPiYgbWF0ZXJpYWxp
emF0aW9ucyA9IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5hZGQoCisg
ICAgICAgICAgICB3aGVyZSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7CisKKyAg
ICAgICAgZm9yIChjb25zdCBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uIDogdG9NYXRlcmlhbGl6ZSkg
eworICAgICAgICAgICAgTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gY3JlYXRlTWF0ZXJpYWxpemF0
aW9uKGFsbG9jYXRpb24sIHdoZXJlKTsKKyAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbnMuYXBw
ZW5kKG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNj
YXBlZS5hZGQobWF0ZXJpYWxpemF0aW9uLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoIXRvUmVjb3Zlci5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5hZGQoCisgICAgICAgICAgICAgICAg
d2hlcmUsIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFw
cGVuZFJhbmdlKAorICAgICAgICAgICAgICAgICAgICB0b1JlY292ZXIuYmVnaW4oKSwgdG9SZWNv
dmVyLmVuZCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRoZSBoaW50cyBuZWVkIHRvIGJl
IGFmdGVyIHRoZSAicmVhbCIgcmVjb3ZlcmllcyBzbyB0aGF0IHdlCisgICAgICAgIC8vIGRvbid0
IGhpbnQgbm90LXlldC1jb21wbGV0ZSBvYmplY3RzCisgICAgICAgIGlmICghaGludHMuaXNFbXB0
eSgpKSB7CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJpZXMuYWRk
KAorICAgICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkp
Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmRSYW5nZSgKKyAgICAgICAgICAgICAgICAgICAgaGludHMu
YmVnaW4oKSwgaGludHMuZW5kKCkpOworICAgICAgICB9CisgICAgfQorCisgICAgTm9kZSogY3Jl
YXRlTWF0ZXJpYWxpemF0aW9uKGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24sIE5vZGUqIHdo
ZXJlKQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ugd2hl
cmUgd2UgYWN0dWFsbHkgdXNlIHRoZQorICAgICAgICAvLyBmYWN0IHRoYXQgYW4gYWxsb2NhdGlv
bidzIGlkZW50aWZpZXIgaXMgaW5kZWVkIHRoZSBub2RlCisgICAgICAgIC8vIHRoYXQgY3JlYXRl
ZCB0aGUgYWxsb2NhdGlvbi4KKyAgICAgICAgc3dpdGNoIChhbGxvY2F0aW9uLmtpbmQoKSkgewor
ICAgICAgICBjYXNlIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdDogeworICAgICAgICAgICAgT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgU3RydWN0dXJlU2V0KiBzZXQgPSBtX2dyYXBo
LmFkZFN0cnVjdHVyZVNldChhbGxvY2F0aW9uLnN0cnVjdHVyZXMoKSk7CisKKyAgICAgICAgICAg
IHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVj
dCwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBhbGxv
Y2F0aW9uLmlkZW50aWZpZXIoKS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAg
ICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhzZXQpLCBP
cEluZm8oZGF0YSksIDAsIDApOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9u
OjpLaW5kOjpGdW5jdGlvbjogeworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGV4ZWN1dGFibGUg
PSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+Y2VsbE9wZXJhbmQoKTsKKworICAgICAgICAgICAg
cmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKS0+cHJlZGljdGlvbigpLCBOZXdGdW5jdGlvbiwKKyAgICAgICAgICAgICAgICBOb2Rl
T3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+b3Jp
Z2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQp
LAorICAgICAgICAgICAgICAgIE9wSW5mbyhleGVjdXRhYmxlKSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6QWN0aXZhdGlv
bjogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3Jh
cGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgRnJvemVu
VmFsdWUqIHN5bWJvbFRhYmxlID0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPmNlbGxPcGVyYW5k
KCk7CisKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAg
ICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBN
YXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24sCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigK
KyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9yaWdpbi5zZW1h
bnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAg
ICAgICAgICAgICBPcEluZm8oc3ltYm9sVGFibGUpLCBPcEluZm8oZGF0YSksIDAsIDApOworICAg
ICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBo
LCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSwgIkJhZCBhbGxvY2F0aW9uIGtpbmQiKTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIHZvaWQgcHJvbW90ZUxvY2FsSGVhcCgpCisgICAgeworICAgICAg
ICAvLyBDb2xsZWN0IHRoZSBzZXQgb2YgaGVhcCBsb2NhdGlvbnMgdGhhdCB3ZSB3aWxsIGJlIG9w
ZXJhdGluZworICAgICAgICAvLyBvdmVyLgorICAgICAgICBIYXNoU2V0PFByb21vdGVkSGVhcExv
Y2F0aW9uPiBsb2NhdGlvbnM7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dy
YXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVh
cEF0SGVhZFtibG9ja107CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykg
eworICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUs
CisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24s
IExhenlOb2RlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbG9jYXRpb24g
aXMgbm90IG9uIGEgc2luayBjYW5kaWRhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB3
ZSBvbmx5IHNpbmsgaXQgaWYgaXQgaXMgcmVhZAorICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsb2NhdGlvbnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBs
b2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLmFk
ZChsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICAvLyBGaWd1cmUgb3V0IHdoaWNoIGxvY2F0aW9ucyBiZWxvbmcgdG8gd2hpY2ggYWxsb2NhdGlv
bnMuCisgICAgICAgIG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5jbGVhcigpOworICAgICAgICBm
b3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAg
ICAgICBhdXRvIHJlc3VsdCA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5hZGQoCisgICAgICAg
ICAgICAgICAgbG9jYXRpb24uYmFzZSgpLAorICAgICAgICAgICAgICAgIFZlY3RvcjxQcm9tb3Rl
ZEhlYXBMb2NhdGlvbj4oKSk7CisgICAgICAgICAgICBBU1NFUlQoIXJlc3VsdC5pdGVyYXRvci0+
dmFsdWUuY29udGFpbnMobG9jYXRpb24pKTsKKyAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+
dmFsdWUuYXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcG9pbnRlclNT
QS5yZXNldCgpOworICAgICAgICBtX2FsbG9jYXRpb25TU0EucmVzZXQoKTsKKworICAgICAgICAv
LyBDb2xsZWN0IHRoZSBzZXQgb2YgInZhcmlhYmxlcyIgdGhhdCB3ZSB3aWxsIGJlIHNpbmtpbmcu
CisgICAgICAgIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmNsZWFyKCk7CisgICAgICAgIG1fbm9kZVRv
VmFyaWFibGUuY2xlYXIoKTsKKyAgICAgICAgVmVjdG9yPE5vZGUqPiBpbmRleFRvTm9kZTsKKyAg
ICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBpbmRleFRvTG9jYXRpb247CisKKyAg
ICAgICAgZm9yIChOb2RlKiBpbmRleCA6IG1fc2lua0NhbmRpZGF0ZXMpIHsKKyAgICAgICAgICAg
IFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fYWxsb2NhdGlvblNTQS5uZXdW
YXJpYWJsZSgpOworICAgICAgICAgICAgbV9ub2RlVG9WYXJpYWJsZS5hZGQoaW5kZXgsIHZhcmlh
YmxlKTsKKyAgICAgICAgICAgIEFTU0VSVChpbmRleFRvTm9kZS5zaXplKCkgPT0gdmFyaWFibGUt
PmluZGV4KCkpOworICAgICAgICAgICAgaW5kZXhUb05vZGUuYXBwZW5kKGluZGV4KTsKKyAgICAg
ICAgfQorCisgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2Nh
dGlvbnMpIHsKKyAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9
IG1fcG9pbnRlclNTQS5uZXdWYXJpYWJsZSgpOworICAgICAgICAgICAgbV9sb2NhdGlvblRvVmFy
aWFibGUuYWRkKGxvY2F0aW9uLCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXhU
b0xvY2F0aW9uLnNpemUoKSA9PSB2YXJpYWJsZS0+aW5kZXgoKSk7CisgICAgICAgICAgICBpbmRl
eFRvTG9jYXRpb24uYXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdl
IGluc2VydCBhbGwgcmVxdWlyZWQgY29uc3RhbnRzIGF0IHRvcCBvZiBibG9jayAwIHNvIHRoYXQK
KyAgICAgICAgLy8gdGhleSBhcmUgaW5zZXJ0ZWQgb25seSBvbmNlIGFuZCB3ZSBkb24ndCBjbHV0
dGVyIHRoZSBncmFwaAorICAgICAgICAvLyB3aXRoIHVzZWxlc3MgY29uc3RhbnRzIGV2ZXJ5d2hl
cmUKKyAgICAgICAgSGFzaE1hcDxGcm96ZW5WYWx1ZSosIE5vZGUqPiBsYXp5TWFwcGluZzsKKyAg
ICAgICAgaWYgKCFtX2JvdHRvbSkKKyAgICAgICAgICAgIG1fYm90dG9tID0gbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0Q29uc3RhbnQoMCwgTm9kZU9yaWdpbigpLCBqc051bWJlcigxOTI3KSk7CisgICAg
ICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVy
KCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisKKyAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNp
emUoKTsgKytub2RlSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2st
PmF0KG5vZGVJbmRleCk7CisKKyAgICAgICAgICAgICAgICAvLyBTb21lIG5hbWVkIHByb3BlcnRp
ZXMgY2FuIGJlIGFkZGVkIGNvbmRpdGlvbmFsbHksCisgICAgICAgICAgICAgICAgLy8gYW5kIHRo
YXQgd291bGQgbmVjZXNzaXRhdGUgYm90dG9tcworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90
ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5v
ZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbi5raW5kKCkgIT0gTmFtZWRQ
cm9wZXJ0eVBMb2MpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2xvY2F0
aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBtX3BvaW50
ZXJTU0EubmV3RGVmKHZhcmlhYmxlLCBibG9jaywgbV9ib3R0b20pOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRl
cmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAg
ICAgICAgICAgICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0
KG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvblNTQS5u
ZXdEZWYobV9ub2RlVG9WYXJpYWJsZS5nZXQoZXNjYXBlZSksIGJsb2NrLCBtYXRlcmlhbGl6YXRp
b24pOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5k
aWRhdGVzLmNvbnRhaW5zKG5vZGUpKQorICAgICAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25T
U0EubmV3RGVmKG1fbm9kZVRvVmFyaWFibGUuZ2V0KG5vZGUpLCBibG9jaywgbm9kZSk7CisKKyAg
ICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAg
ICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5
Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFsb2NhdGlvbnMuY29u
dGFpbnMobG9jYXRpb24pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogbm9kZVZhbHVlOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHZhbHVlLmlzTm9kZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVWYWx1ZSA9IHZhbHVlLmFzTm9kZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbGF6eU1hcHBpbmcu
ZmluZCh2YWx1ZS5hc1ZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChp
dGVyICE9IGxhenlNYXBwaW5nLmVuZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub2RlVmFsdWUgPSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gdmFsdWUu
ZW5zdXJlSXNOb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNl
cnRpb25TZXQsIG1fZ3JhcGguYmxvY2soMCksIDApOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsYXp5TWFwcGluZy5hZGQodmFsdWUuYXNWYWx1ZSgpLCBub2RlVmFsdWUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxl
ID0gbV9sb2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1fcG9pbnRlclNTQS5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCBub2RlVmFsdWUpOwor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRI
ZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKG1fZ3JhcGguYmxvY2soMCkpOworCisg
ICAgICAgIC8vIFJ1biB0aGUgU1NBIGNhbGN1bGF0b3JzIHRvIGNyZWF0ZSBQaGlzCisgICAgICAg
IG1fcG9pbnRlclNTQS5jb21wdXRlUGhpcygKKyAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRv
cjo6VmFyaWFibGUqIHZhcmlhYmxlLCBCYXNpY0Jsb2NrKiBibG9jaykgLT4gTm9kZSogeworICAg
ICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0
aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0
ZSBQaGkgbm9kZXMgZm9yIGZpZWxkcyBvZiBkZWFkIGFsbG9jYXRpb25zCisgICAgICAgICAgICAg
ICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2tdLmlzQWxsb2NhdGlvbihsb2NhdGlvbi5iYXNlKCkp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAg
IC8vIERvbid0IGNyZWF0ZSBQaGkgbm9kZXMgb25jZSB3ZSBhcmUgZXNjYXBlZAorICAgICAgICAg
ICAgICAgIGlmIChtX2hlYXBBdEhlYWRbYmxvY2tdLmdldEFsbG9jYXRpb24obG9jYXRpb24uYmFz
ZSgpKS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgICAgICAgICAgICAgLy8gSWYgd2UgcG9pbnQgdG8gYSBzaW5nbGUgYWxs
b2NhdGlvbiwgd2Ugd2lsbAorICAgICAgICAgICAgICAgIC8vIGRpcmVjdGx5IHVzZSBpdHMgbWF0
ZXJpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgaWYgKG1faGVhcEF0SGVhZFtibG9ja10uZm9s
bG93KGxvY2F0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gbV9ncmFwaC5hZGROb2RlKFNwZWNIZWFwVG9w
LCBQaGksIE5vZGVPcmlnaW4oKSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVyZ2VGbGFn
cyhOb2RlUmVzdWx0SlMpOworICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOworICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgbV9hbGxvY2F0aW9uU1NBLmNvbXB1dGVQaGlzKAorICAgICAg
ICAgICAgWyZdIChTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sq
IGJsb2NrKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IGlu
ZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0
IGNyZWF0ZSBQaGkgbm9kZXMgZm9yIGRlYWQgYWxsb2NhdGlvbnMKKyAgICAgICAgICAgICAgICBp
ZiAoIW1faGVhcEF0SGVhZFtibG9ja10uaXNBbGxvY2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIERvbid0
IGNyZWF0ZSBQaGkgbm9kZXMgdW50aWwgd2UgYXJlIGVzY2FwZWQKKyAgICAgICAgICAgICAgICBp
ZiAoIW1faGVhcEF0SGVhZFtibG9ja10uZ2V0QWxsb2NhdGlvbihpZGVudGlmaWVyKS5pc0VzY2Fw
ZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVhcFRv
cCwgUGhpLCBOb2RlT3JpZ2luKCkpOworICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdlRmxh
Z3MoTm9kZVJlc3VsdEpTKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAgICAg
ICAgICAgIH0pOworCisgICAgICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhlIHJpZ2h0IHBsYWNlcywg
cmVwbGFjZSBhbGwgdXNlcyBvZiBhbnkgbG9hZCB3aXRoIHRoZSBhcHByb3ByaWF0ZQorICAgICAg
ICAvLyB2YWx1ZSwgYW5kIGNyZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzLgorICAgICAg
ICBMb2NhbE9TUkF2YWlsYWJpbGl0eUNhbGN1bGF0b3IgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvcjsK
KyAgICAgICAgbV9ncmFwaC5jbGVhclJlcGxhY2VtZW50cygpOworICAgICAgICBmb3IgKEJhc2lj
QmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAg
IG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisgICAgICAgICAgICBhdmFpbGFiaWxpdHlD
YWxjdWxhdG9yLmJlZ2luQmxvY2soYmxvY2spOworCisgICAgICAgICAgICAvLyBUaGVzZSBtYXBw
aW5nIHRhYmxlcyBhcmUgaW50ZW5kZWQgdG8gYmUgbGF6eS4gSWYKKyAgICAgICAgICAgIC8vIHNv
bWV0aGluZyBpcyBvbWl0dGVkIGZyb20gdGhlIHRhYmxlLCBpdCBtZWFucyB0aGF0CisgICAgICAg
ICAgICAvLyB0aGVyZSBoYXZlbid0IGJlZW4gYW55IGxvY2FsIHN0b3JlcyB0byB0aGUgcHJvbW90
ZWQKKyAgICAgICAgICAgIC8vIGhlYXAgbG9jYXRpb24gKG9yIGFueSBsb2NhbCBtYXRlcmlhbGl6
YXRpb24pLgorICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuY2xlYXIoKTsKKyAgICAgICAgICAg
IG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmNsZWFyKCk7CisKKyAgICAgICAgICAgIC8vIElu
c2VydCB0aGUgUGhpIGZ1bmN0aW9ucyB0aGF0IHdlIGhhZCBwcmV2aW91c2x5CisgICAgICAgICAg
ICAvLyBjcmVhdGVkLgorICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURl
ZiA6IG1fcG9pbnRlclNTQS5waGlzRm9yQmxvY2soYmxvY2spKSB7CisgICAgICAgICAgICAgICAg
U1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOwor
ICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgwLCBwaGlEZWYtPnZhbHVlKCkp
OworCisgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBpbmRl
eFRvTG9jYXRpb25bdmFyaWFibGUtPmluZGV4KCldOworICAgICAgICAgICAgICAgIG1fbG9jYWxN
YXBwaW5nLnNldChsb2NhdGlvbiwgcGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAg
IGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgMCwgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBOb2RlT3JpZ2luKCksIHBoaURl
Zi0+dmFsdWUoKSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fYWxsb2NhdGlvblNTQS5w
aGlzRm9yQmxvY2soYmxvY2spKSB7CisgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFy
aWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgIG1f
aW5zZXJ0aW9uU2V0Lmluc2VydCgwLCBwaGlEZWYtPnZhbHVlKCkpOworCisgICAgICAgICAgICAg
ICAgTm9kZSogaWRlbnRpZmllciA9IGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAg
ICAgICAgICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRpZmllciwg
cGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0
ZSgwLCBOb2RlT3JpZ2luKCksIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHks
IGlkZW50aWZpZXIsIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWFwcGlu
ZyBhdCAiLCBwb2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobV9sb2NhbE1hcHBpbmcp
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJMb2NhbCBtYXRlcmlhbGl6YXRpb25z
IGF0ICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwgIjogIiwgbWFwRHVtcChtX2VzY2FwZWVUb01hdGVy
aWFsaXphdGlvbiksICJcbiIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUlu
ZGV4KSB7CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgp
OworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBt
X2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChsb2NhdGlvbi5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0eVBMb2MpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGlu
Zy5zZXQobG9jYXRpb24sIG1fYm90dG9tKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAobV9z
aW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
bV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJ
bmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uY3JlYXRlSGlu
dChtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fYm90dG9tKSk7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVy
aWFsaXphdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQo
bm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxp
emF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAg
ICBwb3B1bGF0ZU1hdGVyaWFsaXphdGlvbihibG9jaywgbWF0ZXJpYWxpemF0aW9uLCBlc2NhcGVl
KTsKKyAgICAgICAgICAgICAgICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uc2V0KGVz
Y2FwZWUsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9u
U2V0Lmluc2VydChub2RlSW5kZXgsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAg
ICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiTWF0ZXJp
YWxpemluZyAiLCBlc2NhcGVlLCAiID0+ICIsIG1hdGVyaWFsaXphdGlvbiwgIiBhdCAiLCBub2Rl
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKFByb21v
dGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVy
aWVzLmdldChub2RlKSkKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0
KG5vZGVJbmRleCwgY3JlYXRlUmVjb3ZlcnkoYmxvY2ssIGxvY2F0aW9uLCBub2RlKSk7CisKKyAg
ICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHB1dCB0aGUgT1NSIGhpbnRzIGFmdGVyIHRoZSBy
ZWNvdmVyaWVzLAorICAgICAgICAgICAgICAgIC8vIGJlY2F1c2Ugd2Ugb25seSB3YW50IHRoZSBo
aW50cyBvbmNlIHRoZSBvYmplY3QgaXMKKyAgICAgICAgICAgICAgICAvLyBjb21wbGV0ZQorICAg
ICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRlcmlhbGl6YXRp
b25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFs
aXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4LCBub2RlLT5vcmlnaW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLm1fYXZhaWxhYmlsaXR5LCBl
c2NhcGVlLCBtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKQorICAgICAgICAgICAg
ICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5zZXQobm9kZSwgbm9kZSk7CisKKyAg
ICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmV4ZWN1dGVOb2RlKG5vZGUpOwor
CisgICAgICAgICAgICAgICAgYm9vbCBkb0xvd2VyID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
aGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAg
ICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYXRpb25zLmNvbnRhaW5zKGxvY2F0aW9u
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIG5vZGVWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2
YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2
YWx1ZS5hc05vZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSBsYXp5TWFwcGluZy5nZXQodmFsdWUuYXNWYWx1
ZSgpKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gcmVzb2x2ZShibG9j
aywgbm9kZVZhbHVlKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcu
c2V0KGxvY2F0aW9uLCBub2RlVmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IW1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvTG93
ZXIgPSB0cnVlOworCisgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnQobm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5j
cmVhdGVIaW50KG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbm9kZVZhbHVlKSk7CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRp
b24gbG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBy
ZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAg
ICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkgfHwgZG9Mb3dl
cikgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0
VG9QaGFudG9tTmV3T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgorICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld0Z1bmN0aW9uKCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBjYXNlIENyZWF0ZUFjdGl2
YXRpb246CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0
aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0
ZUFjdGl2YXRpb24oKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5yZW1v
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hp
bGRyZW4oCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsm
XSAoRWRnZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZWRnZS5zZXROb2RlKHJl
c29sdmUoYmxvY2ssIGVkZ2Uubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBHb3R0YSBkcm9wIHNvbWUgVXBzaWxvbnMuCisg
ICAgICAgICAgICBOb2RlQW5kSW5kZXggdGVybWluYWwgPSBibG9jay0+ZmluZFRlcm1pbmFsKCk7
CisgICAgICAgICAgICBzaXplX3QgdXBzaWxvbkluc2VydGlvblBvaW50ID0gdGVybWluYWwuaW5k
ZXg7CisgICAgICAgICAgICBOb2RlT3JpZ2luIHVwc2lsb25PcmlnaW4gPSB0ZXJtaW5hbC5ub2Rl
LT5vcmlnaW47CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDog
YmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRv
cjo6RGVmKiBwaGlEZWYgOiBtX3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2Nr
KSkgeworICAgICAgICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgp
OworICAgICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUg
PSBwaGlEZWYtPnZhcmlhYmxlKCk7CisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAg
ICAgICAgICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlv
bik7CisKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVw
c2lsb24sIHVwc2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhp
Tm9kZSksIGluY29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9hbGxvY2F0
aW9uU1NBLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAg
ICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAg
U1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOwor
ICAgICAgICAgICAgICAgICAgICBOb2RlKiBpbmNvbWluZyA9IGdldE1hdGVyaWFsaXphdGlvbihi
bG9jaywgaW5kZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldKTsKKworICAgICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAg
dXBzaWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBzaWxvbiwgdXBzaWxvbk9yaWdpbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlOb2RlKSwgaW5jb21pbmctPmRlZmF1
bHRFZGdlKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBOb2RlKiByZXNvbHZlKEJhc2ljQmxvY2sqIGJsb2NrLCBQcm9tb3RlZEhlYXBMb2NhdGlvbiBs
b2NhdGlvbikKKyAgICB7CisgICAgICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgcG9pbnRpbmcg
dG8gYSBzaW5nbGUgbG9jYWwgYWxsb2NhdGlvbiwKKyAgICAgICAgLy8gc2ltcGx5IHJldHVybiB0
aGUgYXNzb2NpYXRlZCBtYXRlcmlhbGl6YXRpb24uCisgICAgICAgIGlmIChOb2RlKiBpZGVudGlm
aWVyID0gbV9oZWFwLmZvbGxvdyhsb2NhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZ2V0TWF0
ZXJpYWxpemF0aW9uKGJsb2NrLCBpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoTm9kZSogcmVz
dWx0ID0gbV9sb2NhbE1hcHBpbmcuZ2V0KGxvY2F0aW9uKSkKKyAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisKKyAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQgdGhlcmUgaXMgbm8gbG9jYWwg
bWFwcGluZy4gRmluZCBhIG5vbi1sb2NhbCBtYXBwaW5nLgorICAgICAgICBTU0FDYWxjdWxhdG9y
OjpEZWYqIGRlZiA9IG1fcG9pbnRlclNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAg
ICAgYmxvY2ssIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbikpOworICAgICAgICBB
U1NFUlQoZGVmKTsKKyAgICAgICAgQVNTRVJUKGRlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgTm9k
ZSogcmVzdWx0ID0gZGVmLT52YWx1ZSgpOworCisgICAgICAgIEFTU0VSVCghcmVzdWx0LT5yZXBs
YWNlbWVudCgpKTsKKworICAgICAgICBtX2xvY2FsTWFwcGluZy5hZGQobG9jYXRpb24sIHJlc3Vs
dCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShC
YXNpY0Jsb2NrKiBibG9jaywgTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIC8vIElmIHdlIGFy
ZSBjdXJyZW50bHkgcG9pbnRpbmcgdG8gYSBzaW5nbGUgbG9jYWwgYWxsb2NhdGlvbiwKKyAgICAg
ICAgLy8gc2ltcGx5IHJldHVybiB0aGUgYXNzb2NpYXRlZCBtYXRlcmlhbGl6YXRpb24uCisgICAg
ICAgIGlmIChOb2RlKiBpZGVudGlmaWVyID0gbV9oZWFwLmZvbGxvdyhub2RlKSkKKyAgICAgICAg
ICAgIHJldHVybiBnZXRNYXRlcmlhbGl6YXRpb24oYmxvY2ssIGlkZW50aWZpZXIpOworCisgICAg
ICAgIGlmIChub2RlLT5yZXBsYWNlbWVudCgpKQorICAgICAgICAgICAgbm9kZSA9IG5vZGUtPnJl
cGxhY2VtZW50KCk7CisgICAgICAgIEFTU0VSVCghbm9kZS0+cmVwbGFjZW1lbnQoKSk7CisKKyAg
ICAgICAgcmV0dXJuIG5vZGU7CisgICAgfQorCisgICAgTm9kZSogZ2V0TWF0ZXJpYWxpemF0aW9u
KEJhc2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKG1faGVhcC5pc0FsbG9jYXRpb24oaWRlbnRpZmllcikpOworICAgICAgICBpZiAoIW1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm4gaWRl
bnRpZmllcjsKKworICAgICAgICBpZiAoTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gbV9lc2NhcGVl
VG9NYXRlcmlhbGl6YXRpb24uZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuIG1h
dGVyaWFsaXphdGlvbjsKKworICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fYWxs
b2NhdGlvblNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxvY2ssIG1fbm9k
ZVRvVmFyaWFibGUuZ2V0KGlkZW50aWZpZXIpKTsKKyAgICAgICAgQVNTRVJUKGRlZiAmJiBkZWYt
PnZhbHVlKCkpOworICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRp
ZmllciwgZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgQVNTRVJUKCFkZWYtPnZhbHVlKCktPnJlcGxh
Y2VtZW50KCkpOworICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOworICAgIH0KKworICAgIHZv
aWQgaW5zZXJ0T1NSSGludHNGb3JVcGRhdGUodW5zaWduZWQgbm9kZUluZGV4LCBOb2RlT3JpZ2lu
IG9yaWdpbiwgQXZhaWxhYmlsaXR5TWFwJiBhdmFpbGFiaWxpdHksIE5vZGUqIGVzY2FwZWUsIE5v
ZGUqIG1hdGVyaWFsaXphdGlvbikKKyAgICB7CisgICAgICAgIC8vIFdlIG5lZWQgdG8gZm9sbG93
KCkgdGhlIHZhbHVlIGluIHRoZSBoZWFwLgorICAgICAgICAvLyBDb25zaWRlciB0aGUgZm9sbG93
aW5nIGdyYXBoOgorICAgICAgICAvLworICAgICAgICAvLyBCbG9jayAjMAorICAgICAgICAvLyAg
IDA6IE5ld09iamVjdCh7fSkKKyAgICAgICAgLy8gICAxOiBOZXdPYmplY3Qoe30pCisgICAgICAg
IC8vICAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4OjApCisgICAgICAgIC8vICAgLTogUHV0U3Ry
dWN0dXJlKEAwLCB7eDowfSkKKyAgICAgICAgLy8gICAyOiBHZXRCeU9mZnNldChAMCwgeDowKQor
ICAgICAgICAvLyAgIC06IE1vdkhpbnQoQDIsIGxvYzEpCisgICAgICAgIC8vICAgLTogQnJhbmNo
KCMxLCAjMikKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sgIzEKKyAgICAgICAgLy8gICAz
OiBDYWxsKGYsIEAxKQorICAgICAgICAvLyAgIDQ6IFJldHVybihAMCkKKyAgICAgICAgLy8KKyAg
ICAgICAgLy8gQmxvY2sgIzIKKyAgICAgICAgLy8gICAtOiBSZXR1cm4odW5kZWZpbmVkKQorICAg
ICAgICAvLworICAgICAgICAvLyBXZSBuZWVkIHRvIG1hdGVyaWFsaXplIEAxIGF0IEAzLCBhbmQg
d2hlbiBkb2luZyBzbyB3ZSBuZWVkCisgICAgICAgIC8vIHRvIGluc2VydCBhIE1vdkhpbnQgZm9y
IHRoZSBtYXRlcmlhbGl6YXRpb24gaW50byBsb2MxIGFzCisgICAgICAgIC8vIHdlbGwuCisgICAg
ICAgIC8vIEluIG9yZGVyIHRvIGRvIHRoaXMsIHdlIHNheSB0aGF0IHdlIG5lZWQgdG8gaW5zZXJ0
IGFuCisgICAgICAgIC8vIHVwZGF0ZSBoaW50IGZvciBhbnkgYXZhaWxhYmlsaXR5IHdob3NlIG5v
ZGUgcmVzb2x2ZSgpcyB0bworICAgICAgICAvLyB0aGUgbWF0ZXJpYWxpemF0aW9uLgorICAgICAg
ICBmb3IgKGF1dG8gcGFpciA6IGF2YWlsYWJpbGl0eS5tX2hlYXApIHsKKyAgICAgICAgICAgIGlm
ICghcGFpci52YWx1ZS5oYXNOb2RlKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICBpZiAobV9oZWFwLmZvbGxvdyhwYWlyLnZhbHVlLm5vZGUoKSkgIT0gZXNjYXBlZSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQu
aW5zZXJ0KAorICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgcGFpci5rZXkuY3JlYXRlSGludCht
X2dyYXBoLCBvcmlnaW4sIG1hdGVyaWFsaXphdGlvbikpOworICAgICAgICB9CisKKyAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gYXZhaWxhYmlsaXR5Lm1fbG9jYWxzLnNpemUoKTsgaS0tOykgewor
ICAgICAgICAgICAgaWYgKCFhdmFpbGFiaWxpdHkubV9sb2NhbHNbaV0uaGFzTm9kZSgpKQorICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKG1faGVhcC5mb2xsb3coYXZh
aWxhYmlsaXR5Lm1fbG9jYWxzW2ldLm5vZGUoKSkgIT0gZXNjYXBlZSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgaW50IG9wZXJhbmQgPSBhdmFpbGFiaWxpdHkubV9s
b2NhbHMub3BlcmFuZEZvckluZGV4KGkpOworICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICBub2RlSW5kZXgsIFNwZWNOb25lLCBNb3ZIaW50LCBv
cmlnaW4sIE9wSW5mbyhvcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBtYXRlcmlhbGl6YXRpb24t
PmRlZmF1bHRFZGdlKCkpOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBwb3B1bGF0ZU1h
dGVyaWFsaXphdGlvbihCYXNpY0Jsb2NrKiBibG9jaywgTm9kZSogbm9kZSwgTm9kZSogZXNjYXBl
ZSkKKyAgICB7CisgICAgICAgIEFsbG9jYXRpb24mIGFsbG9jYXRpb24gPSBtX2hlYXAuZ2V0QWxs
b2NhdGlvbihlc2NhcGVlKTsKKyAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAg
IGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFs
aXphdGlvbkRhdGEmIGRhdGEgPSBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7Cisg
ICAgICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVu
LnNpemUoKTsKKworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2Nh
dGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworCisgICAgICAg
ICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzdHJ1Y3R1cmUoU3RydWN0dXJlUExvYywgYWxsb2Nh
dGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlu
cyhzdHJ1Y3R1cmUpKTsKKworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFw
cGVuZChFZGdlKHJlc29sdmUoYmxvY2ssIHN0cnVjdHVyZSksIEtub3duQ2VsbFVzZSkpOworCisg
ICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25z
KSB7CisgICAgICAgICAgICAgICAgc3dpdGNoIChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAg
ICAgICAgICBjYXNlIFN0cnVjdHVyZVBMb2M6CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChs
b2NhdGlvbiA9PSBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICAgICAgICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBMb2M6IHsKKyAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9uLmJhc2UoKSA9PSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFwcGVuZChQaGFudG9tUHJvcGVy
dHlWYWx1ZShsb2NhdGlvbi5pbmZvKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdmFs
dWUgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlmICht
X3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQobV9ib3R0b20pOworICAgICAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hp
bGRyZW4uYXBwZW5kKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4g
PSBBZGphY2VuY3lMaXN0KAorICAgICAgICAgICAgICAgIEFkamFjZW5jeUxpc3Q6OlZhcmlhYmxl
LAorICAgICAgICAgICAgICAgIGZpcnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5z
aXplKCkgLSBmaXJzdENoaWxkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIE9i
amVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRp
b25EYXRhKCk7CisKKyAgICAgICAgICAgIHVuc2lnbmVkIGZpcnN0Q2hpbGQgPSBtX2dyYXBoLm1f
dmFyQXJnQ2hpbGRyZW4uc2l6ZSgpOworCisgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFw
TG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNjYXBl
ZSk7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN5bWJvbFRhYmxlKEFjdGl2
YXRpb25TeW1ib2xUYWJsZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAg
ICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc3ltYm9sVGFibGUpKTsKKyAgICAgICAgICAg
IEFTU0VSVChub2RlLT5jZWxsT3BlcmFuZCgpID09IHJlc29sdmUoYmxvY2ssIHN5bWJvbFRhYmxl
KS0+Y29uc3RhbnQoKSk7CisgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBw
ZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3ltYm9sVGFibGUpLCBLbm93bkNlbGxVc2UpKTsKKwor
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc2NvcGUoQWN0aXZhdGlvblNjb3BlUExv
YywgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9u
cy5jb250YWlucyhzY29wZSkpOworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVu
LmFwcGVuZChFZGdlKHJlc29sdmUoYmxvY2ssIHNjb3BlKSwgS25vd25DZWxsVXNlKSk7CisKKyAg
ICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMp
IHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLmtpbmQoKSkgeworICAgICAgICAg
ICAgICAgIGNhc2UgQWN0aXZhdGlvblNjb3BlUExvYzogeworICAgICAgICAgICAgICAgICAgICBB
U1NFUlQobG9jYXRpb24gPT0gc2NvcGUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIEFjdGl2YXRpb25TeW1ib2xU
YWJsZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uID09IHN5bWJv
bFRhYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzogeworICAgICAgICAgICAgICAg
ICAgICBBU1NFUlQobG9jYXRpb24uYmFzZSgpID09IGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsK
KyAgICAgICAgICAgICAgICAgICAgZGF0YS5tX3Byb3BlcnRpZXMuYXBwZW5kKFBoYW50b21Qcm9w
ZXJ0eVZhbHVlKGxvY2F0aW9uLmluZm8oKSkpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiB2
YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnModmFsdWUpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChtX2JvdHRvbSk7CisgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdD
aGlsZHJlbi5hcHBlbmQodmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
ICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBub2RlLT5jaGlsZHJl
biA9IEFkamFjZW5jeUxpc3QoCisgICAgICAgICAgICAgICAgQWRqYWNlbmN5TGlzdDo6VmFyaWFi
bGUsCisgICAgICAgICAgICAgICAgZmlyc3RDaGlsZCwgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVu
LnNpemUoKSAtIGZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwor
ICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CisgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRI
ZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNj
YXBlZSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLnNpemUoKSA9PSAyKTsKKworICAg
ICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gZXhlY3V0YWJsZShGdW5jdGlvbkV4ZWN1dGFi
bGVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlRfVU5V
U0VEKGV4ZWN1dGFibGUsIGxvY2F0aW9ucy5jb250YWlucyhleGVjdXRhYmxlKSk7CisKKyAgICAg
ICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGFjdGl2YXRpb24oRnVuY3Rpb25BY3RpdmF0aW9u
UExvYywgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0
aW9ucy5jb250YWlucyhhY3RpdmF0aW9uKSk7CisKKyAgICAgICAgICAgIG5vZGUtPmNoaWxkMSgp
ID0gRWRnZShyZXNvbHZlKGJsb2NrLCBhY3RpdmF0aW9uKSwgS25vd25DZWxsVXNlKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIG1hdGVyaWFsaXplIG9wIik7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBOb2RlKiBjcmVhdGVSZWNvdmVyeShCYXNpY0Jsb2NrKiBibG9jaywg
UHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIE5vZGUqIHdoZXJlKQorICAgIHsKKyAgICAg
ICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCJSZWNvdmVyaW5nICIsIGxvY2F0
aW9uLCAiIGF0ICIsIHdoZXJlLCAiXG4iKTsKKyAgICAgICAgQVNTRVJUKGxvY2F0aW9uLmJhc2Uo
KS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKTsKKyAgICAgICAgTm9kZSogYmFzZSA9IGdldE1hdGVy
aWFsaXphdGlvbihibG9jaywgbG9jYXRpb24uYmFzZSgpKTsKKyAgICAgICAgTm9kZSogdmFsdWUg
PSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisKKyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAg
ICAgICAgICBkYXRhTG9nKCJCYXNlIGlzICIsIGJhc2UsICIgYW5kIHZhbHVlIGlzICIsIHZhbHVl
LCAiXG4iKTsKKworICAgICAgICBpZiAoYmFzZS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKSB7Cisg
ICAgICAgICAgICByZXR1cm4gUHJvbW90ZWRIZWFwTG9jYXRpb24oYmFzZSwgbG9jYXRpb24uZGVz
Y3JpcHRvcigpKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgIG1fZ3JhcGgsCisgICAgICAg
ICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNl
bWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAg
ICAgICAgICAgICAgIHZhbHVlKTsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAobG9jYXRp
b24ua2luZCgpKSB7CisgICAgICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBMb2M6IHsKKyAgICAgICAg
ICAgIEFsbG9jYXRpb24mIGFsbG9jYXRpb24gPSBtX2hlYXAuZ2V0QWxsb2NhdGlvbihsb2NhdGlv
bi5iYXNlKCkpOworICAgICAgICAKKyAgICAgICAgICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBzdHJ1
Y3R1cmVzOworICAgICAgICAgICAgc3RydWN0dXJlcy5hcHBlbmRSYW5nZShhbGxvY2F0aW9uLnN0
cnVjdHVyZXMoKS5iZWdpbigpLCBhbGxvY2F0aW9uLnN0cnVjdHVyZXMoKS5lbmQoKSk7CisgICAg
ICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbG9jYXRpb24uaW5mbygpOworICAg
ICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtp
ZGVudGlmaWVyTnVtYmVyXTsKKworICAgICAgICAgICAgc3RkOjpzb3J0KAorICAgICAgICAgICAg
ICAgIHN0cnVjdHVyZXMuYmVnaW4oKSwKKyAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmVuZCgp
LAorICAgICAgICAgICAgICAgIFt1aWRdIChTdHJ1Y3R1cmUgKmEsIFN0cnVjdHVyZSogYikgLT4g
Ym9vbCB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLT5nZXRDb25jdXJyZW50bHkodWlk
KSA8IGItPmdldENvbmN1cnJlbnRseSh1aWQpOworICAgICAgICAgICAgICAgIH0pOworCisgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBmaXJzdE9mZnNldCA9IHN0cnVjdHVyZXNbMF0tPmdldENv
bmN1cnJlbnRseSh1aWQpOworCisgICAgICAgICAgICBpZiAoZmlyc3RPZmZzZXQgPT0gc3RydWN0
dXJlcy5sYXN0KCktPmdldENvbmN1cnJlbnRseSh1aWQpKSB7CisgICAgICAgICAgICAgICAgTm9k
ZSogc3RvcmFnZSA9IGJhc2U7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdoZW4gd2UgZGVj
aWRlIHRvIHNpbmsgb2JqZWN0cyB3aXRoIGEKKyAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0eSBz
dG9yYWdlLCB3ZSBzaG91bGQgaGFuZGxlIG5vbi1pbmxpbmUgb2Zmc2V0cy4KKyAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChmaXJzdE9mZnNldCkpOworCisgICAg
ICAgICAgICAgICAgU3RvcmFnZUFjY2Vzc0RhdGEqIGRhdGEgPSBtX2dyYXBoLm1fc3RvcmFnZUFj
Y2Vzc0RhdGEuYWRkKCk7CisgICAgICAgICAgICAgICAgZGF0YS0+b2Zmc2V0ID0gZmlyc3RPZmZz
ZXQ7CisgICAgICAgICAgICAgICAgZGF0YS0+aWRlbnRpZmllck51bWJlciA9IGlkZW50aWZpZXJO
dW1iZXI7CisKKyAgICAgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAg
ICAgICAgICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgUHV0QnlPZmZzZXQs
CisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgICAg
IE9wSW5mbyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgRWRnZShzdG9yYWdlLCBLbm93bkNl
bGxVc2UpLAorICAgICAgICAgICAgICAgICAgICBFZGdlKGJhc2UsIEtub3duQ2VsbFVzZSksCisg
ICAgICAgICAgICAgICAgICAgIHZhbHVlLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgTXVsdGlQdXRCeU9mZnNldERhdGEqIGRhdGEgPSBtX2dyYXBoLm1fbXVs
dGlQdXRCeU9mZnNldERhdGEuYWRkKCk7CisgICAgICAgICAgICBkYXRhLT5pZGVudGlmaWVyTnVt
YmVyID0gaWRlbnRpZmllck51bWJlcjsKKworICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBmaXJzdE9mZnNldDsKKyAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmVTZXQgY3VycmVudFNldDsKKyAgICAgICAgICAgICAgICBmb3IgKFN0cnVj
dHVyZSogc3RydWN0dXJlIDogc3RydWN0dXJlcykgeworICAgICAgICAgICAgICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQpOworICAg
ICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0ICE9IGN1cnJlbnRPZmZzZXQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGEtPnZhcmlhbnRzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQdXRCeUlkVmFyaWFudDo6cmVwbGFjZShjdXJyZW50U2V0LCBjdXJyZW50T2Zm
c2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0Owor
ICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNldC5jbGVhcigpOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTZXQuYWRkKHN0cnVjdHVyZSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGRhdGEtPnZhcmlhbnRzLmFwcGVu
ZChQdXRCeUlkVmFyaWFudDo6cmVwbGFjZShjdXJyZW50U2V0LCBjdXJyZW50T2Zmc2V0KSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAg
ICAgICAgICAgICAgU3BlY05vbmUsCisgICAgICAgICAgICAgICAgTXVsdGlQdXRCeU9mZnNldCwK
KyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5v
cmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhp
dCksCisgICAgICAgICAgICAgICAgT3BJbmZvKGRhdGEpLAorICAgICAgICAgICAgICAgIEVkZ2Uo
YmFzZSwgS25vd25DZWxsVXNlKSwKKyAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2Uo
KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ2xvc3Vy
ZVZhclBMb2M6IHsKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAg
ICAgICAgICAgU3BlY05vbmUsCisgICAgICAgICAgICAgICAgUHV0Q2xvc3VyZVZhciwKKyAgICAg
ICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5vcmlnaW4u
c2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisg
ICAgICAgICAgICAgICAgT3BJbmZvKGxvY2F0aW9uLmluZm8oKSksCisgICAgICAgICAgICAgICAg
RWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAgIHZhbHVlLT5kZWZhdWx0
RWRnZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBiYXNlLCAiQmFkIGxvY2F0aW9uIGtp
bmQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgU1NBQ2Fs
Y3VsYXRvciBtX3BvaW50ZXJTU0E7CisgICAgU1NBQ2FsY3VsYXRvciBtX2FsbG9jYXRpb25TU0E7
CisgICAgSGFzaFNldDxOb2RlKj4gbV9zaW5rQ2FuZGlkYXRlczsKKyAgICBIYXNoTWFwPFByb21v
dGVkSGVhcExvY2F0aW9uLCBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSo+IG1fbG9jYXRpb25Ub1Zh
cmlhYmxlOworICAgIEhhc2hNYXA8Tm9kZSosIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKj4gbV9u
b2RlVG9WYXJpYWJsZTsKKyAgICBIYXNoTWFwPFByb21vdGVkSGVhcExvY2F0aW9uLCBOb2RlKj4g
bV9sb2NhbE1hcHBpbmc7CisgICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fZXNjYXBlZVRvTWF0
ZXJpYWxpemF0aW9uOworICAgIEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsKKyAgICBDb21i
aW5lZExpdmVuZXNzIG1fY29tYmluZWRMaXZlbmVzczsKKworICAgIEhhc2hNYXA8Tm9kZSosIE5v
ZGUqPiBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBWZWN0
b3I8Tm9kZSo+PiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnM7CisgICAg
SGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPj4gbV9tYXRlcmlhbGl6
YXRpb25TaXRlVG9SZWNvdmVyaWVzOworCisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21v
dGVkSGVhcExvY2F0aW9uPj4gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uOworCisgICAgQmxvY2tN
YXA8TG9jYWxIZWFwPiBtX2hlYXBBdEhlYWQ7CisgICAgQmxvY2tNYXA8TG9jYWxIZWFwPiBtX2hl
YXBBdFRhaWw7CisgICAgTG9jYWxIZWFwIG1faGVhcDsKKworICAgIE5vZGUqIG1fYm90dG9tID0g
bnVsbHB0cjsKK307CisKK30KKworYm9vbCBwZXJmb3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyhH
cmFwaCYgZ3JhcGgpCit7CisgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdpb24oIkRGRyBB
bGxvY2F0aW9uIEN5Y2xlIFNpbmtpbmcgUGhhc2UiKTsKKyAgICByZXR1cm4gcnVuUGhhc2U8QWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlPihncmFwaCk7Cit9CisKK30gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODJkNmQ1YzU3OWEzZTg5Y2U1OGI3OTBlNTU2MzFhN2Y1NjNjZjA4OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERGR0FsbG9jYXRpb25DeWNsZVNpbmtp
bmdQaGFzZV9oCisjZGVmaW5lIERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZV9oCisKKyNp
ZiBFTkFCTEUoREZHX0pJVCkKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgeworCitj
bGFzcyBHcmFwaDsKKworLy8gRWxpbWluYXRlcyBhbGxvY2F0aW9ucyBhbGxvY2F0aW9ucyB0aGF0
IGFyZSBuZXZlciB1c2VkIGV4Y2VwdAorLy8gbG9jYWxseS4gVGhpcyB3aWxsIGluc2VydCBwaGFu
dG9tIGFsbG9jYXRpb25zIGFuZCBzdG9yZSBoaW50cyBzbworLy8gdGhhdCBPU1IgZXhpdCBjYW4g
bWF0ZXJpYWxpemUgdGhlIG9iamVjdHMuIFJlcGxhY2VzIGFsbCB1c2VzIG9mIHRoZQorLy8gb2Jq
ZWN0cycgZmllbGRzIHdpdGggU1NBIGRhdGEgZmxvdy4gQ29udHJhcnkgdG8gdGhlCisvLyBPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLCB0aGlzIHBoYXNlIGlzIGFibGUgdG8gaGFuZGxlIGN5
Y2xpYworLy8gYWxsb2NhdGlvbiBncmFwaHMuCisKK2Jvb2wgcGVyZm9ybUFsbG9jYXRpb25DeWNs
ZVNpbmtpbmcoR3JhcGgmKTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRworCisjZW5kaWYg
Ly8gRU5BQkxFKERGR19KSVQpCisKKyNlbmRpZiAvLyBERkdPYmplY3RDeWNsZVNpbmtpbmdQaGFz
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKaW5kZXggYmFjNTM4ZjAyNWQzZWNl
MTM3YmUzMTc4MDY4ODE1ZDk1MzdjOTVhOC4uZmVkNmE2ODdkN2E4ZGE5YTM2OTE1MjBhMTAwNDRl
ODZmNGU1ODFhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFw
aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaApAQCAtMzI1LDcg
KzMyNSw2IEBAIHB1YmxpYzoKICAgICAKICAgICBTdHJ1Y3R1cmVTZXQqIGFkZFN0cnVjdHVyZVNl
dChjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZVNldCkKICAgICB7Ci0gICAgICAgIEFTU0VS
VChzdHJ1Y3R1cmVTZXQuc2l6ZSgpKTsKICAgICAgICAgbV9zdHJ1Y3R1cmVTZXQuYXBwZW5kKHN0
cnVjdHVyZVNldCk7CiAgICAgICAgIHJldHVybiAmbV9zdHJ1Y3R1cmVTZXQubGFzdCgpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5Tm9kZS5jcHAKaW5kZXggOTU0ZWQ5
ODU1ZDVlZTJhNTM2MmE5YzE3YjdhNTczMTRiMmEyNTQ2OS4uYzhkMDk0MGU3N2YzZmRiOTExYmFh
NDRkYjVjNGRlZTIwODU5MTJjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdMYXp5Tm9kZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5
Tm9kZS5jcHAKQEAgLTM4LDggKzM4LDcgQEAgdm9pZCBMYXp5Tm9kZTo6ZHVtcChQcmludFN0cmVh
bSYgb3V0KSBjb25zdAogICAgICAgICBpZiAoaXNOb2RlKCkpCiAgICAgICAgICAgICBvdXQucHJp
bnQoIkxhenlOb2RlOkAiLCBhc05vZGUoKS0+aW5kZXgoKSk7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIG91dC5wcmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWU6IiwgR3JhcGg6Om9wTmFtZShv
cCgpKSwgIiwgIiwgcG9pbnRlckR1bXAoYXNWYWx1ZSgpKSk7Ci0gICAgICAgIG91dC5wcmludCgi
KSIpOworICAgICAgICAgICAgb3V0LnByaW50KCJMYXp5Tm9kZTpGcm96ZW5WYWx1ZSgiLCBHcmFw
aDo6b3BOYW1lKG9wKCkpLCAiLCAiLCBwb2ludGVyRHVtcChhc1ZhbHVlKCkpLCAiKSIpOwogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA5Y2EyY2RjNjgxOGEy
M2JjMmE2YjdjMTM2MzBjNGI5MjJiYmVkMzFmLi41MGJhMWRkMjkwZmJhYTZlZmEzODdkNmUyZWU4
NjA3NWE5NTBhNmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTI5Mywx
MyArMTI5Myw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICBGcm96ZW5WYWx1ZSogY2VsbE9wZXJhbmQo
KQogICAgIHsKICAgICAgICAgQVNTRVJUKGhhc0NlbGxPcGVyYW5kKCkpOwotICAgICAgICBzd2l0
Y2ggKG9wKCkpIHsKLSAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246Ci0g
ICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxGcm96ZW5WYWx1ZSo+KG1fb3BJbmZv
Mik7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxGcm96ZW5WYWx1ZSo+KG1fb3BJbmZvKTsKLSAgICAgICAgfQotICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxGcm96
ZW5WYWx1ZSo+KG1fb3BJbmZvKTsKICAgICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4KQEAgLTEzNTksNiArMTM1Myw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgc3dpdGNoIChv
cCgpKSB7CiAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6CiAgICAgICAgIGNhc2UgQ2hlY2tT
dHJ1Y3R1cmVJbW1lZGlhdGU6CisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6CiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTE0NDQsNyArMTQzOSw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICBPYmpl
Y3RNYXRlcmlhbGl6YXRpb25EYXRhJiBvYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkKICAgICB7
CiAgICAgICAgIEFTU0VSVChoYXNPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkpOwotICAgICAg
ICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8T2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSo+KG1f
b3BJbmZvKTsKKyAgICAgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PE9iamVjdE1hdGVyaWFs
aXphdGlvbkRhdGEqPihtX29wSW5mbzIpOwogICAgIH0KIAogICAgIGJvb2wgaXNPYmplY3RBbGxv
Y2F0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwCmluZGV4IGZmNWZkOTVhN2MwYzg1MTVm
M2Q3NzE3Y2Y2YTVlNjRkNDZmMWQyN2IuLjhjODQxOWE4MThjZDI2NDE5Mzk5ZjRlNDkxMGY0OTcw
YmRkYjE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcApAQCAtMzIsNyArMzIsNiBAQAog
I2luY2x1ZGUgIkRGR0dyYXBoLmgiCiAjaW5jbHVkZSAiREZHSW5zZXJ0aW9uU2V0LmgiCiAjaW5j
bHVkZSAiREZHUGhhc2UuaCIKLSNpbmNsdWRlICJERkdQcm9tb3RlSGVhcEFjY2Vzcy5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9u
U2lua2luZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxs
b2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKaW5kZXggNDIyMzgyZmYyOWQxNzk3NWJiZjJmMTgzYjY3
ODExYTU4OGVmNTZjNi4uNGZiNzkxMmQ3ODkwZTE0ZDRmZDVjNTI1NzZiMjY2OTczZTI1NTE3NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9u
U2lua2luZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVj
dEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
REZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHT1NSQXZhaWxhYmlsaXR5
QW5hbHlzaXNQaGFzZS5oIgogI2luY2x1ZGUgIkRGR1BoYXNlLmgiCisjaW5jbHVkZSAiREZHUGhp
Q2hpbGRyZW4uaCIKICNpbmNsdWRlICJERkdQcm9tb3RlSGVhcEFjY2Vzcy5oIgogI2luY2x1ZGUg
IkRGR1NTQUNhbGN1bGF0b3IuaCIKICNpbmNsdWRlICJERkdWYWxpZGF0ZS5oIgpAQCAtOTQsNiAr
OTUsOCBAQCBwdWJsaWM6CiAgICAgICAgIAogICAgICAgICB3aGlsZSAocGVyZm9ybVNpbmtpbmco
KSkgeyB9CiAgICAgICAgIAorICAgICAgICBmaWxsU3RydWN0dXJlU2V0cygpOworCiAgICAgICAg
IGlmICh2ZXJib3NlKSB7CiAgICAgICAgICAgICBkYXRhTG9nKCJHcmFwaCBhZnRlciBzaW5raW5n
OlxuIik7CiAgICAgICAgICAgICBtX2dyYXBoLmR1bXAoKTsKQEAgLTYxNiwxNCArNjE5LDEyIEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRh
aW5zKG5vZGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU2NvcGVQ
TG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21v
dGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIG5vZGUpLmNyZWF0ZUhp
bnQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdp
biwgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIHN5bWJvbFRhYmxlTm9kZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENv
bnN0YW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUt
Pm9yaWdpbiwgbm9kZS0+Y2VsbE9wZXJhbmQoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlu
ZGV4ICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
bihBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIHN5bWJvbFRhYmxl
Tm9kZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
KEFjdGl2YXRpb25TY29wZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbV9ncmFwaC52YXJBcmdDaGls
ZChub2RlLCAxKS5ub2RlKCkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdE1hdGVy
aWFsaXphdGlvbkRhdGEmIGRhdGEgPSBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5t
X3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gZGF0YS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVudGlm
aWVyTnVtYmVyOwpAQCAtNjMyLDcgKzYzMyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ2xvc3VyZVZhclBMb2MsIG5vZGUsIGlkZW50aWZpZXJOdW1iZXIp
LmNyZWF0ZUhpbnQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LCBub2RlLT5vcmlnaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dy
YXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2RlKCkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDIpLm5vZGUo
KSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgICAg
ICAgICAgfQpAQCAtODMxLDYgKzgzMiwyNSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZGVm
LT52YWx1ZSgpOwogICAgIH0KIAorICAgIHZvaWQgZmlsbFN0cnVjdHVyZVNldHMoKQorICAgIHsK
KyAgICAgICAgUGhpQ2hpbGRyZW4gcGhpQ2hpbGRyZW4obV9ncmFwaCk7CisKKyAgICAgICAgZm9y
IChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewor
ICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAgICAgICAgICAgICAg
aWYgKG5vZGUtPm9wKCkgIT0gTWF0ZXJpYWxpemVOZXdPYmplY3QpCisgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVz
ID0gbm9kZS0+c3RydWN0dXJlU2V0KCk7CisgICAgICAgICAgICAgICAgcGhpQ2hpbGRyZW4uZm9y
QWxsVHJhbnNpdGl2ZUluY29taW5nVmFsdWVzKAorICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUoKSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChO
b2RlKiBzdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZXMuYWRk
KHN0cnVjdHVyZS0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFNpbmtDYW5kaWRhdGVGdW5jdG9yLCB0eXBlbmFtZSBFc2NhcGVGdW5jdG9yPgog
ICAgIHZvaWQgaGFuZGxlTm9kZSgKICAgICAgICAgTm9kZSogbm9kZSwKQEAgLTk2NCwxMyArOTg0
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgTmV3T2JqZWN0OgogICAgICAgICBjYXNlIE1h
dGVyaWFsaXplTmV3T2JqZWN0OiB7CiAgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhKiBkYXRhID0gbV9ncmFwaC5tX29iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuYWRkKCk7Cisg
ICAgICAgICAgICBTdHJ1Y3R1cmVTZXQqIHN0cnVjdHVyZXMgPSBtX2dyYXBoLmFkZFN0cnVjdHVy
ZVNldChTdHJ1Y3R1cmVTZXQoKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHJlc3VsdCA9
IG1fZ3JhcGguYWRkTm9kZSgKICAgICAgICAgICAgICAgICBlc2NhcGVlLT5wcmVkaWN0aW9uKCks
IE5vZGU6OlZhckFyZywgTWF0ZXJpYWxpemVOZXdPYmplY3QsCiAgICAgICAgICAgICAgICAgTm9k
ZU9yaWdpbigKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGljLAog
ICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAotICAgICAgICAgICAg
ICAgIE9wSW5mbyhkYXRhKSwgT3BJbmZvKCksIDAsIDApOworICAgICAgICAgICAgICAgIE9wSW5m
byhzdHJ1Y3R1cmVzKSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAKQEAgLTk5Myw3ICsxMDE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAg
ICBOb2RlT3JpZ2luKAogICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50
aWMsCiAgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCi0gICAgICAg
ICAgICAgICAgT3BJbmZvKGRhdGEpLCBPcEluZm8oc3ltYm9sVGFibGUpLCAwLCAwKTsKKyAgICAg
ICAgICAgICAgICBPcEluZm8oc3ltYm9sVGFibGUpLCBPcEluZm8oZGF0YSksIDAsIDApOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTA2MywxMCArMTA4NCwxMiBAQCBwcml2
YXRlOgogCiAgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0aW9u
cyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNjYXBlZSk7CiAKLSAgICAgICAgICAg
IFByb21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGVzY2FwZWUp
OwogICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc3ltYm9sVGFibGUoQWN0aXZhdGlv
blN5bWJvbFRhYmxlUExvYywgZXNjYXBlZSk7Ci0gICAgICAgICAgICBBU1NFUlQobG9jYXRpb25z
LmNvbnRhaW5zKHNjb3BlKSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5z
KHN5bWJvbFRhYmxlKSk7CisgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBw
ZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3ltYm9sVGFibGUpLCBLbm93bkNlbGxVc2UpKTsKIAor
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc2NvcGUoQWN0aXZhdGlvblNjb3BlUExv
YywgZXNjYXBlZSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3Bl
KSk7CiAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVz
b2x2ZShibG9jaywgc2NvcGUpLCBLbm93bkNlbGxVc2UpKTsKIAogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGxvY2F0aW9ucy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNl
LmNwcC5vcmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9u
U2lua2luZ1BoYXNlLmNwcC5vcmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMjM4MmZmMjlkMTc5NzViYmYyZjE4
M2I2NzgxMWE1ODhlZjU2YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLm9yaWcKQEAgLTAsMCAr
MSwxMTY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJERkdPYmplY3RBbGxvY2F0aW9u
U2lua2luZ1BoYXNlLmgiCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworI2luY2x1ZGUgIkRGR0Fi
c3RyYWN0SGVhcC5oIgorI2luY2x1ZGUgIkRGR0Jsb2NrTWFwSW5saW5lcy5oIgorI2luY2x1ZGUg
IkRGR0Nsb2JiZXJpemUuaCIKKyNpbmNsdWRlICJERkdDb21iaW5lZExpdmVuZXNzLmgiCisjaW5j
bHVkZSAiREZHR3JhcGguaCIKKyNpbmNsdWRlICJERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5o
IgorI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgorI2luY2x1ZGUgIkRGR0xpdmVuZXNzQW5h
bHlzaXNQaGFzZS5oIgorI2luY2x1ZGUgIkRGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
aCIKKyNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1Byb21vdGVIZWFwQWNjZXNz
LmgiCisjaW5jbHVkZSAiREZHU1NBQ2FsY3VsYXRvci5oIgorI2luY2x1ZGUgIkRGR1ZhbGlkYXRl
LmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IERGRyB7CisKK3N0YXRpYyBib29sIHZlcmJvc2UgPSBmYWxzZTsKKworY2xhc3MgT2JqZWN0QWxs
b2NhdGlvblNpbmtpbmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CitwdWJsaWM6CisgICAgT2JqZWN0
QWxsb2NhdGlvblNpbmtpbmdQaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAgIDogUGhhc2UoZ3Jh
cGgsICJvYmplY3QgYWxsb2NhdGlvbiBzaW5raW5nIikKKyAgICAgICAgLCBtX3NzYUNhbGN1bGF0
b3IoZ3JhcGgpCisgICAgICAgICwgbV9pbnNlcnRpb25TZXQoZ3JhcGgpCisgICAgeworICAgIH0K
KyAgICAKKyAgICBib29sIHJ1bigpCisgICAgeworICAgICAgICBBU1NFUlQobV9ncmFwaC5tX2Zp
eHBvaW50U3RhdGUgPT0gRml4cG9pbnROb3RDb252ZXJnZWQpOworICAgICAgICAKKyAgICAgICAg
bV9ncmFwaC5tX2RvbWluYXRvcnMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOworICAgICAg
ICAKKyAgICAgICAgLy8gTG9naWNhbGx5IHdlIHdpc2ggdG8gY29uc2lkZXIgZXZlcnkgTmV3T2Jq
ZWN0IGFuZCBzaW5rIGl0LiBIb3dldmVyIGl0J3MgcHJvYmFibHkgbm90CisgICAgICAgIC8vIHBy
b2ZpdGFibGUgdG8gc2luayBhIE5ld09iamVjdCB0aGF0IHdpbGwgYWx3YXlzIGVzY2FwZS4gU28s
IGZpcnN0IHdlIGRvIGEgdmVyeSBzaW1wbGUKKyAgICAgICAgLy8gZm9yd2FyZCBmbG93IGFuYWx5
c2lzIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc2V0IG9mIE5ld09iamVjdCBub2RlcyB0aGF0IGhhdmUg
YW55IGNoYW5jZQorICAgICAgICAvLyBvZiBiZW5lZml0aW5nIGZyb20gb2JqZWN0IGFsbG9jYXRp
b24gc2lua2luZy4gVGhlbiB3ZSBmaXhwb2ludCB0aGUgZm9sbG93aW5nIHJ1bGVzOgorICAgICAg
ICAvLworICAgICAgICAvLyAtIEZvciBlYWNoIE5ld09iamVjdCwgd2UgdHVybiB0aGUgb3JpZ2lu
YWwgTmV3T2JqZWN0IGludG8gYSBQaGFudG9tTmV3T2JqZWN0IGFuZCB0aGVuCisgICAgICAgIC8v
ICAgd2UgaW5zZXJ0IE1hdGVyaWFsaXplTmV3T2JqZWN0IGp1c3QgYmVmb3JlIHRob3NlIGVzY2Fw
aW5nIHNpdGVzIHRoYXQgY29tZSBiZWZvcmUgYW55CisgICAgICAgIC8vICAgb3RoZXIgZXNjYXBp
bmcgc2l0ZXMgLSB0aGF0IGlzLCB0aGVyZSBpcyBubyBwYXRoIGJldHdlZW4gdGhlIGFsbG9jYXRp
b24gYW5kIHRob3NlIHNpdGVzCisgICAgICAgIC8vICAgdGhhdCB3b3VsZCBzZWUgYW55IG90aGVy
IGVzY2FwZS4gTm90ZSB0aGF0IFVwc2lsb25zIGNvbnN0aXR1dGUgZXNjYXBpbmcgc2l0ZXMuIFRo
ZW4gd2UKKyAgICAgICAgLy8gICBpbnNlcnQgYWRkaXRpb25hbCBNYXRlcmlhbGl6ZU5ld09iamVj
dCBub2RlcyBvbiBVcHNpbG9ucyB0aGF0IGZlZWQgaW50byBQaGlzIHRoYXQgbWl4CisgICAgICAg
IC8vICAgbWF0ZXJpYWxpemF0aW9ucyBhbmQgdGhlIG9yaWdpbmFsIFBoYW50b21OZXdPYmplY3Qu
IFdlIHRoZW4gdHVybiBlYWNoIFB1dEJ5T2Zmc2V0IG92ZXIgYQorICAgICAgICAvLyAgIFBoYW50
b21OZXdPYmplY3QgaW50byBhIFB1dEhpbnQuCisgICAgICAgIC8vCisgICAgICAgIC8vIC0gV2Ug
cGVyZm9ybSB0aGUgc2FtZSBvcHRpbWl6YXRpb24gZm9yIE1hdGVyaWFsaXplTmV3T2JqZWN0LiBU
aGlzIGFsbG93cyB1cyB0byBjb3ZlcgorICAgICAgICAvLyAgIGNhc2VzIHdoZXJlIHdlIGhhZCBN
YXRlcmlhbGl6ZU5ld09iamVjdCBmbG93aW5nIGludG8gYSBQdXRIaW50LgorICAgICAgICAvLwor
ICAgICAgICAvLyBXZSBjb3VsZCBhbHNvIGFkZCB0aGlzIHJ1bGU6CisgICAgICAgIC8vCisgICAg
ICAgIC8vIC0gSWYgYWxsIG9mIHRoZSBVcHNpbG9ucyBvZiBhIFBoaSBoYXZlIGEgTWF0ZXJpYWxp
emVOZXdPYmplY3QgdGhhdCBpc24ndCB1c2VkIGJ5IGFueW9uZQorICAgICAgICAvLyAgIGVsc2Us
IHRoZW4gcmVwbGFjZSB0aGUgUGhpIHdpdGggdGhlIE1hdGVyaWFsaXplTmV3T2JqZWN0LgorICAg
ICAgICAvLworICAgICAgICAvLyAgIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4gTm90ZSB0aGF0IHRo
aXMgdG90YWxseSBkb2FibGUgYnV0IGl0IHJlcXVpcmVzIHNvbWUgZ25hcmx5CisgICAgICAgIC8v
ICAgY29kZSwgYW5kIHRvIGJlIGVmZmVjdGl2ZSB0aGUgcHJ1bmVyIG5lZWRzIHRvIGJlIGF3YXJl
IG9mIGl0LiBDdXJyZW50bHkgYW55IFVwc2lsb24KKyAgICAgICAgLy8gICBpcyBjb25zaWRlcmVk
IHRvIGJlIGFuIGVzY2FwZSBldmVuIGJ5IHRoZSBwcnVuZXIsIHNvIGl0J3MgdW5saWtlbHkgdGhh
dCB3ZSdsbCBzZWUKKyAgICAgICAgLy8gICBtYW55IGNhc2VzIG9mIFBoaSBvdmVyIE1hdGVyaWFs
aXphdGlvbnMuCisgICAgICAgIC8vICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzNjkyNworICAgICAgICAKKyAgICAgICAgaWYgKCFwZXJmb3JtU2lua2luZygpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgd2hpbGUgKHBlcmZv
cm1TaW5raW5nKCkpIHsgfQorICAgICAgICAKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAg
ICAgICAgIGRhdGFMb2coIkdyYXBoIGFmdGVyIHNpbmtpbmc6XG4iKTsKKyAgICAgICAgICAgIG1f
Z3JhcGguZHVtcCgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBwZXJmb3JtU2lua2luZygpCisgICAgeworICAg
ICAgICBtX2dyYXBoLmNvbXB1dGVSZWZDb3VudHMoKTsKKyAgICAgICAgcGVyZm9ybUxpdmVuZXNz
QW5hbHlzaXMobV9ncmFwaCk7CisgICAgICAgIHBlcmZvcm1PU1JBdmFpbGFiaWxpdHlBbmFseXNp
cyhtX2dyYXBoKTsKKyAgICAgICAgbV9jb21iaW5lZExpdmVuZXNzID0gQ29tYmluZWRMaXZlbmVz
cyhtX2dyYXBoKTsKKyAgICAgICAgCisgICAgICAgIENTdHJpbmcgZ3JhcGhCZWZvcmVTaW5raW5n
OworICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZVZhbGlkYXRpb25GYWlsdXJlKCkgJiYgT3B0
aW9uczo6dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkpIHsKKyAgICAgICAgICAgIFN0cmluZ1By
aW50U3RyZWFtIG91dDsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcChvdXQpOworICAgICAgICAg
ICAgZ3JhcGhCZWZvcmVTaW5raW5nID0gb3V0LnRvQ1N0cmluZygpOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgZGF0YUxvZygiR3JhcGgg
YmVmb3JlIHNpbmtpbmc6XG4iKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcCgpOworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICBkZXRlcm1pbmVNYXRlcmlhbGl6YXRpb25Qb2ludHMoKTsK
KyAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBhcmUgY29t
bWl0dGVkIHRvIHNpbmtpbmcgdGhlIHNpbmtpbmcgY2FuZGlkYXRlcy4KKyAgICAgICAgcGxhY2VN
YXRlcmlhbGl6YXRpb25Qb2ludHMoKTsKKyAgICAgICAgbG93ZXJOb25SZWFkaW5nT3BlcmF0aW9u
c09uUGhhbnRvbUFsbG9jYXRpb25zKCk7CisgICAgICAgIHByb21vdGVTdW5rZW5GaWVsZHMoKTsK
KyAgICAgICAgCisgICAgICAgIGlmIChPcHRpb25zOjp2YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2Uo
KSkKKyAgICAgICAgICAgIHZhbGlkYXRlKG1fZ3JhcGgsIER1bXBHcmFwaCwgZ3JhcGhCZWZvcmVT
aW5raW5nKTsKKyAgICAgICAgCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0
YUxvZygiU2lua2luZyBpdGVyYXRpb24gY2hhbmdlZCB0aGUgZ3JhcGguXG4iKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIHZvaWQgZGV0ZXJtaW5lTWF0ZXJpYWxpemF0
aW9uUG9pbnRzKCkKKyAgICB7CisgICAgICAgIC8vIFRoZSBwcmVtaXNlIG9mIHRoaXMgcGFzcyBp
cyB0aGF0IGlmIHRoZXJlIGV4aXN0cyBhIHBvaW50IGluIHRoZSBwcm9ncmFtIHdoZXJlIHNvbWUK
KyAgICAgICAgLy8gcGF0aCBmcm9tIGEgcGhhbnRvbSBhbGxvY2F0aW9uIHNpdGUgdG8gdGhhdCBw
b2ludCBjYXVzZXMgbWF0ZXJpYWxpemF0aW9uLCB0aGVuICphbGwqCisgICAgICAgIC8vIHBhdGhz
IGNhdXNlIG1hdGVyaWFsaXphdGlvbi4gVGhpcyBzaG91bGQgbWVhbiB0aGF0IHRoZXJlIGFyZSBu
ZXZlciBhbnkgcmVkdW5kYW50CisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbnMuCisgICAgICAg
IAorICAgICAgICBtX3NpbmtDYW5kaWRhdGVzLmNsZWFyKCk7CisgICAgICAgIG1fbWF0ZXJpYWxp
emF0aW9uVG9Fc2NhcGVlLmNsZWFyKCk7CisgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRv
TWF0ZXJpYWxpemF0aW9ucy5jbGVhcigpOworICAgICAgICAKKyAgICAgICAgQmxvY2tNYXA8SGFz
aE1hcDxOb2RlKiwgYm9vbD4+IG1hdGVyaWFsaXplZEF0SGVhZChtX2dyYXBoKTsKKyAgICAgICAg
QmxvY2tNYXA8SGFzaE1hcDxOb2RlKiwgYm9vbD4+IG1hdGVyaWFsaXplZEF0VGFpbChtX2dyYXBo
KTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgY2hhbmdlZDsKKyAgICAgICAgZG8geworICAgICAg
ICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiRG9pbmcgaXRlcmF0
aW9uIG9mIG1hdGVyaWFsaXphdGlvbiBwb2ludCBwbGFjZW1lbnQuXG4iKTsKKyAgICAgICAgICAg
IGNoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBt
X2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBIYXNoTWFw
PE5vZGUqLCBib29sPiBtYXRlcmlhbGl6ZWQgPSBtYXRlcmlhbGl6ZWRBdEhlYWRbYmxvY2tdOwor
ICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICBkYXRhTG9n
KCIgICAgTG9va2luZyBhdCBibG9jayAiLCBwb2ludGVyRHVtcChibG9jayksICJcbiIpOworICAg
ICAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAg
ICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFsmXSAoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0
ZXJpYWxpemVkLmFkZChub2RlLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBlc2NhcGVlKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbWF0ZXJpYWxpemVkLmZpbmQoZXNjYXBlZSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gbWF0ZXJpYWxpemVkLmVu
ZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgICIsIGVzY2FwZWUs
ICIgZXNjYXBlcyBhdCAiLCBub2RlLCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXRlci0+dmFsdWUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICAg
ICAgZGF0YUxvZygiICAgIE1hdGVyaWFsaXplZCBhdCB0YWlsIG9mICIsIHBvaW50ZXJEdW1wKGJs
b2NrKSwgIjogIiwgbWFwRHVtcChtYXRlcmlhbGl6ZWQpLCAiXG4iKTsKKyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxpemVkID09IG1hdGVyaWFsaXplZEF0VGFp
bFtibG9ja10pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZEF0VGFpbFtibG9ja10gPSBtYXRlcmlhbGl6
ZWQ7CisgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgLy8gT25seSBwcm9wYWdhdGUgdGhpbmdzIHRvIG91ciBzdWNjZXNzb3Jz
IGlmIHRoZXkgYXJlIGFsaXZlIGluIGFsbCBzdWNjZXNzb3JzLgorICAgICAgICAgICAgICAgIC8v
IFNvLCB3ZSBwcnVuZSBtYXRlcmlhbGl6ZWQtYXQtdGFpbCB0byBvbmx5IGluY2x1ZGUgdGhpbmdz
IHRoYXQgYXJlIGxpdmUuCisgICAgICAgICAgICAgICAgVmVjdG9yPE5vZGUqPiB0b1JlbW92ZTsK
KyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1hdGVyaWFsaXplZCkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoIW1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXS5j
b250YWlucyhwYWlyLmtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBl
bmQocGFpci5rZXkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKE5v
ZGUqIGtleSA6IHRvUmVtb3ZlKQorICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQucmVt
b3ZlKGtleSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgZm9yIChCYXNpY0Js
b2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uYWRkKAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhaXIua2V5LCBmYWxzZSkuaXRlcmF0b3ItPnZhbHVlIHw9
IHBhaXIudmFsdWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKGNoYW5nZWQpOworICAgICAgICAKKyAgICAg
ICAgLy8gRGV0ZXJtaW5lIHRoZSBzaW5rIGNhbmRpZGF0ZXMuIEJyb2FkbHksIGEgc2luayBjYW5k
aWRhdGUgaXMgYSBub2RlIHRoYXQgaGFuZGxlTm9kZSgpCisgICAgICAgIC8vIGJlbGlldmVzIGlz
IHNpbmthYmxlLCBhbmQgb25lIG9mIHRoZSBmb2xsb3dpbmcgaXMgdHJ1ZToKKyAgICAgICAgLy8K
KyAgICAgICAgLy8gMSkgVGhlcmUgZXhpc3RzIGEgYmFzaWMgYmxvY2sgd2l0aCBvbmx5IGJhY2t3
YXJkIG91dGdvaW5nIGVkZ2VzIChvciBubyBvdXRnb2luZyBlZGdlcykKKyAgICAgICAgLy8gICAg
aW4gd2hpY2ggdGhlIG5vZGUgd2Fzbid0IG1hdGVyaWFsaXplZC4gVGhpcyBpcyBtZWFudCB0byBj
YXRjaCBlZmZlY3RpdmVseS1pbmZpbml0ZQorICAgICAgICAvLyAgICBsb29wcyBpbiB3aGljaCB3
ZSBkb24ndCBuZWVkIHRvIGhhdmUgYWxsb2NhdGVkIHRoZSBvYmplY3QuCisgICAgICAgIC8vCisg
ICAgICAgIC8vIDIpIFRoZXJlIGV4aXN0cyBhIGJhc2ljIGJsb2NrIGF0IHRoZSB0YWlsIG9mIHdo
aWNoIHRoZSBub2RlIGlzIG5vdCBtYXRlcmlhbGl6ZWQgYW5kIHRoZQorICAgICAgICAvLyAgICBu
b2RlIGlzIGRlYWQuCisgICAgICAgIC8vCisgICAgICAgIC8vIDMpIFRoZSBzdW0gb2YgZXhlY3V0
aW9uIGNvdW50cyBvZiB0aGUgbWF0ZXJpYWxpemF0aW9ucyBpcyBsZXNzIHRoYW4gdGhlIHN1bSBv
ZgorICAgICAgICAvLyAgICBleGVjdXRpb24gY291bnRzIG9mIHRoZSBvcmlnaW5hbCBub2RlLgor
ICAgICAgICAvLworICAgICAgICAvLyBXZSBjdXJyZW50bHkgaW1wbGVtZW50IG9ubHkgcnVsZSAj
Mi4KKyAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgdHdvIG90aGVyIHJ1bGVzLgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDczIChy
dWxlICMxKQorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM3MDc0IChydWxlICMzKQorICAgICAgICAKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBi
bG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgZm9y
IChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdKSB7CisgICAgICAgICAgICAg
ICAgaWYgKHBhaXIudmFsdWUpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBJdCB3
YXMgbWF0ZXJpYWxpemVkLgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICht
X2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10uY29udGFpbnMocGFpci5rZXkpKQor
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsgLy8gSXQgbWlnaHQgc3RpbGwgZ2V0IG1hdGVy
aWFsaXplZCBpbiBhbGwgb2YgdGhlIHN1Y2Nlc3NvcnMuCisgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgLy8gV2Uga25vdyB0aGF0IGl0IGRpZWQgaW4gdGhpcyBibG9jayBhbmQgaXQg
d2Fzbid0IG1hdGVyaWFsaXplZC4gVGhhdCBtZWFucyB0aGF0CisgICAgICAgICAgICAgICAgLy8g
aWYgd2Ugc2luayB0aGlzIGFsbG9jYXRpb24sIHRoZW4gKnRoaXMqIHdpbGwgYmUgYSBwYXRoIGFs
b25nIHdoaWNoIHdlIG5ldmVyCisgICAgICAgICAgICAgICAgLy8gaGF2ZSB0byBhbGxvY2F0ZS4g
UHJvZml0IQorICAgICAgICAgICAgICAgIG1fc2lua0NhbmRpZGF0ZXMuYWRkKHBhaXIua2V5KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG1fc2lua0Nh
bmRpZGF0ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAg
ICAgLy8gQSBtYXRlcmlhbGl6YXRpb24gZWRnZSBleGlzdHMgYXQgYW55IHBvaW50IHdoZXJlIGEg
bm9kZSBlc2NhcGVzIGJ1dCBoYXNuJ3QgYmVlbgorICAgICAgICAvLyBtYXRlcmlhbGl6ZWQgeWV0
LiBXZSBkbyB0aGlzIGluIHR3byBwYXJ0cy4gRmlyc3Qgd2UgZmluZCBhbGwgb2YgdGhlIG5vZGVz
IHRoYXQgY2F1c2UKKyAgICAgICAgLy8gZXNjYXBpbmcgdG8gaGFwcGVuLCB3aGVyZSB0aGUgZXNj
YXBlZSBoYWQgbm90IHlldCBiZWVuIG1hdGVyaWFsaXplZC4gVGhpcyBjYXRjaGVzCisgICAgICAg
IC8vIGV2ZXJ5dGhpbmcgYnV0IGxvb3BzLiBXZSB0aGVuIGNhdGNoIGxvb3BzIC0gYXMgd2VsbCBh
cyB3ZWlyZGVyIGNvbnRyb2wgZmxvdyBjb25zdHJ1Y3RzIC0KKyAgICAgICAgLy8gaW4gYSBzdWJz
ZXF1ZW50IHBhc3MgdGhhdCBsb29rcyBhdCBwbGFjZXMgaW4gdGhlIENGRyB3aGVyZSBhbiBlZGdl
IGV4aXN0cyBmcm9tIGEgYmxvY2sKKyAgICAgICAgLy8gdGhhdCBoYXNuJ3QgbWF0ZXJpYWxpemVk
IHRvIGEgYmxvY2sgdGhhdCBoYXMuIFdlIGluc2VydCB0aGUgbWF0ZXJpYWxpemF0aW9uIGFsb25n
IHN1Y2ggYW4KKyAgICAgICAgLy8gZWRnZSwgYW5kIHdlIHJlbHkgb24gdGhlIGZhY3QgdGhhdCBj
cml0aWNhbCBlZGdlcyB3ZXJlIGFscmVhZHkgYnJva2VuIHNvIHRoYXQgd2UgYWN0dWFsbHkKKyAg
ICAgICAgLy8gZWl0aGVyIGluc2VydCB0aGUgbWF0ZXJpYWxpemF0aW9uIGF0IHRoZSBoZWFkIG9m
IHRoZSBzdWNjZXNzb3Igb3IgdGhlIHRhaWwgb2YgdGhlCisgICAgICAgIC8vIHByZWRlY2Vzc29y
LgorICAgICAgICAvLworICAgICAgICAvLyBGSVhNRTogVGhpcyBjYW4gY3JlYXRlIGR1cGxpY2F0
ZSBhbGxvY2F0aW9ucyB3aGVuIHdlIHJlYWxseSBvbmx5IG5lZWRlZCB0byBwZXJmb3JtIG9uZS4K
KyAgICAgICAgLy8gRm9yIGV4YW1wbGU6CisgICAgICAgIC8vCisgICAgICAgIC8vICAgICB2YXIg
byA9IG5ldyBPYmplY3QoKTsKKyAgICAgICAgLy8gICAgIGlmIChyYXJlKSB7CisgICAgICAgIC8v
ICAgICAgICAgaWYgKHN0dWZmKQorICAgICAgICAvLyAgICAgICAgICAgICBjYWxsKG8pOyAvLyBv
IGVzY2FwZXMgaGVyZS4KKyAgICAgICAgLy8gICAgICAgICByZXR1cm47CisgICAgICAgIC8vICAg
ICB9CisgICAgICAgIC8vICAgICAvLyBvIGRvZXNuJ3QgZXNjYXBlIGRvd24gaGVyZS4KKyAgICAg
ICAgLy8KKyAgICAgICAgLy8gSW4gdGhpcyBleGFtcGxlLCB3ZSB3b3VsZCBwbGFjZSBhIG1hdGVy
aWFsaXphdGlvbiBwb2ludCBhdCBjYWxsKG8pIGFuZCB0aGVuIHdlIHdvdWxkIGZpbmQKKyAgICAg
ICAgLy8gb3Vyc2VsdmVzIGhhdmluZyB0byBpbnNlcnQgYW5vdGhlciBvbmUgYXQgdGhlIGltcGxp
Y2l0IGVsc2UgY2FzZSBvZiB0aGF0IGlmIHN0YXRlbWVudAorICAgICAgICAvLyAoJ2NhdXNlIHdl
J3ZlIGJyb2tlbiBjcml0aWNhbCBlZGdlcykuIFdlIHdvdWxkIGluc3RlYWQgcmVhbGx5IGxpa2Ug
dG8ganVzdCBoYXZlIG9uZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gcG9pbnQgcmlnaHQg
YXQgdGhlIHRvcCBvZiB0aGUgdGhlbiBjYXNlIG9mICJpZiAocmFyZSkiLiBUbyBkbyB0aGlzLCB3
ZSBjYW4KKyAgICAgICAgLy8gZmluZCB0aGUgTENBIG9mIHRoZSB2YXJpb3VzIG1hdGVyaWFsaXph
dGlvbnMgaW4gdGhlIGRvbSB0cmVlLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI0CisgICAgICAgIAorICAgICAgICAvLyBGaXJzdCBwYXNz
OiBmaW5kIGludHJhLWJsb2NrIG1hdGVyaWFsaXphdGlvbiBwb2ludHMuCisgICAgICAgIGZvciAo
QmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAg
ICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKKyAgICAgICAgICAgIGZvciAo
YXV0byBwYWlyIDogbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXSkgeworICAgICAgICAgICAgICAg
IGlmIChwYWlyLnZhbHVlICYmIG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMocGFpci5rZXkpKQor
ICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKHBhaXIua2V5KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiUGxhY2luZyBtYXRlcmlhbGl6YXRpb24gcG9pbnRzIGluICIsIHBvaW50
ZXJEdW1wKGJsb2NrKSwgIiB3aXRoIG1hdGVyaWFsaXphdGlvbiBzZXQgIiwgbGlzdER1bXAobWF0
ZXJpYWxpemVkKSwgIlxuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgp
IHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7Cisg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsgfSwKKyAgICAgICAg
ICAgICAgICAgICAgWyZdIChOb2RlKiBlc2NhcGVlKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJTZWVp
bmcgIiwgZXNjYXBlZSwgIiBlc2NhcGUgYXQgIiwgbm9kZSwgIlxuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRl
cy5jb250YWlucyhlc2NhcGVlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2
ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgSXQn
cyBub3QgYSBzaW5rIGNhbmRpZGF0ZS5cbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXRlcmlhbGl6ZWQuYWRkKGVzY2Fw
ZWUpLmlzTmV3RW50cnkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgSXQncyBhbHJl
YWR5IG1hdGVyaWFsaXplZC5cbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemUoZXNjYXBlZSwgbm9kZSk7
CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICAvLyBTZWNvbmQgcGFzczogZmluZCBDRkcgZWRnZSBtYXRlcmlhbGl6YXRp
b24gcG9pbnRzLgorICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9j
a3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nl
c3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgIGZvciAo
YXV0byBwYWlyIDogbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXSkgeworICAgICAg
ICAgICAgICAgICAgICBOb2RlKiBhbGxvY2F0aW9uID0gcGFpci5rZXk7CisgICAgICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgaWYgaXQgaXMgbWF0
ZXJpYWxpemVkIGluIHRoZSBzdWNjZXNzb3IuCisgICAgICAgICAgICAgICAgICAgIGlmICghcGFp
ci52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IHNpbmtp
bmcgY2FuZGlkYXRlcy4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVz
LmNvbnRhaW5zKGFsbG9jYXRpb24pKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNh
cmUgaWYgaXQgaXNuJ3QgbWF0ZXJpYWxpemVkIGluIHRoZSBwcmVkZWNlc3Nvci4KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZEF0VGFpbFtibG9ja10uZ2V0KGFsbG9jYXRpb24p
KQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRlY2lkZSBpZiB3ZSBwdXQgdGhl
IG1hdGVyaWFsaXphdGlvbiBhdCB0aGUgaGVhZCBvZiB0aGUgc3VjY2Vzc29yLAorICAgICAgICAg
ICAgICAgICAgICAvLyBvciB0aGUgdGFpbCBvZiB0aGUgcHJlZGVjZXNzb3IuIEl0IG5lZWRzIHRv
IGJlIHBsYWNlZCBzbyB0aGF0IHRoZSBhbGxvY2F0aW9uCisgICAgICAgICAgICAgICAgICAgIC8v
IGlzIG5ldmVyIG1hdGVyaWFsaXplZCBiZWZvcmUsIGFuZCBhbHdheXMgbWF0ZXJpYWxpemVkIGFm
dGVyLgorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gSXMgaXQg
bmV2ZXIgbWF0ZXJpYWxpemVkIGluIGFueSBvZiBzdWNjZXNzb3IncyBwcmVkZWNlc3NvcnM/IEkg
bGlrZSB0byB0aGluaworICAgICAgICAgICAgICAgICAgICAvLyBvZiAic3VjY2Vzc29ycycgcHJl
ZGVjZXNzb3JzIiBhbmQgInByZWRlY2Vzc29yJ3Mgc3VjY2Vzc29ycyIgYXMgdGhlICJzaGFkb3ci
LAorICAgICAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG9mIHdoYXQgaXQgbG9va3MgbGlrZSB3
aGVuIHlvdSBkcmF3IGl0LgorICAgICAgICAgICAgICAgICAgICBib29sIG5ldmVyTWF0ZXJpYWxp
emVkSW5TaGFkb3cgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IHNoYWRvd0Jsb2NrIDogc3VjY2Vzc29yQmxvY2stPnByZWRlY2Vzc29ycykgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZEF0VGFpbFtzaGFkb3dCbG9ja10uZ2V0KGFs
bG9jYXRpb24pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXJNYXRlcmlhbGl6
ZWRJblNoYWRvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBpZiAobmV2ZXJNYXRlcmlhbGl6ZWRJ
blNoYWRvdykgeworICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemUoYWxs
b2NhdGlvbiwgc3VjY2Vzc29yQmxvY2stPmZpcnN0T3JpZ2luTm9kZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIHdlIGhhZCBicm9rZW4g
Y3JpdGljYWwgZWRnZXMsIGl0IG11c3QgYmUgdGhlIGNhc2UgdGhhdCB0aGUKKyAgICAgICAgICAg
ICAgICAgICAgLy8gcHJlZGVjZXNzb3IncyBzdWNjZXNzb3JzIGFsbCBtYXRlcmlhbGl6ZSB0aGUg
b2JqZWN0LiBUaGlzIGlzIGJlY2F1c2UgdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIHByZXZp
b3VzIGNhc2UgaXMgZ3VhcmFudGVlZCB0byBjYXRjaCB0aGUgY2FzZSB3aGVyZSB0aGUgc3VjY2Vz
c29yIG9ubHkgaGFzCisgICAgICAgICAgICAgICAgICAgIC8vIG9uZSBwcmVkZWNlc3Nvci4gV2hl
biBjcml0aWNhbCBlZGdlcyBhcmUgYnJva2VuLCB0aGlzIGlzIGFsc28gdGhlIG9ubHkgY2FzZQor
ICAgICAgICAgICAgICAgICAgICAvLyB3aGVyZSB0aGUgcHJlZGVjZXNzb3IgY291bGQgaGF2ZSBo
YWQgbXVsdGlwbGUgc3VjY2Vzc29ycy4gVGhlcmVmb3JlIHdlIGhhdmUKKyAgICAgICAgICAgICAg
ICAgICAgLy8gYWxyZWFkeSBoYW5kbGVkIHRoZSBjYXNlIHdoZXJlIHRoZSBwcmVkZWNlc3NvciBo
YXMgbXVsdGlwbGUgc3VjY2Vzc29ycy4KKyAgICAgICAgICAgICAgICAgICAgREZHX0FTU0VSVCht
X2dyYXBoLCBibG9jaywgYmxvY2stPm51bVN1Y2Nlc3NvcnMoKSA9PSAxKTsKKyAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplKGFsbG9jYXRp
b24sIGJsb2NrLT50ZXJtaW5hbCgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgdm9pZCBwbGFjZU1hdGVyaWFsaXphdGlvblBv
aW50cygpCisgICAgeworICAgICAgICBtX3NzYUNhbGN1bGF0b3IucmVzZXQoKTsKKyAgICAgICAg
CisgICAgICAgIC8vIFRoZSAidmFyaWFibGVzIiBhcmUgdGhlIG9iamVjdCBhbGxvY2F0aW9ucyB0
aGF0IHdlIGFyZSBzaW5raW5nLiBTbywgbm9kZVRvVmFyaWFibGUgbWFwcworICAgICAgICAvLyBz
aW5rIGNhbmRpZGF0ZXMgKGFrYSBlc2NhcGVlcykgdG8gdGhlIFNTQUNhbGN1bGF0b3IncyBub3Rp
b24gb2YgVmFyaWFibGUsIGFuZCBpbmRleFRvTm9kZQorICAgICAgICAvLyBtYXBzIGluIHRoZSBv
cHBvc2l0ZSBkaXJlY3Rpb24gdXNpbmcgdGhlIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlOjppbmRl
eCgpIGFzIHRoZSBrZXkuCisgICAgICAgIEhhc2hNYXA8Tm9kZSosIFNTQUNhbGN1bGF0b3I6OlZh
cmlhYmxlKj4gbm9kZVRvVmFyaWFibGU7CisgICAgICAgIFZlY3RvcjxOb2RlKj4gaW5kZXhUb05v
ZGU7CisgICAgICAgIAorICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiBtX3NpbmtDYW5kaWRhdGVz
KSB7CisgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX3Nz
YUNhbGN1bGF0b3IubmV3VmFyaWFibGUoKTsKKyAgICAgICAgICAgIG5vZGVUb1ZhcmlhYmxlLmFk
ZChub2RlLCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXhUb05vZGUuc2l6ZSgp
ID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAgIGluZGV4VG9Ob2RlLmFwcGVuZChu
b2RlKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9j
ayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgZm9yIChO
b2RlKiBub2RlIDogKmJsb2NrKSB7CisgICAgICAgICAgICAgICAgaWYgKFNTQUNhbGN1bGF0b3I6
OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG5vZGVUb1ZhcmlhYmxlLmdldChub2RlKSkKKyAgICAgICAg
ICAgICAgICAgICAgbV9zc2FDYWxjdWxhdG9yLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIG5vZGUp
OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxp
emUgOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7
CisgICAgICAgICAgICAgICAgICAgIG1fc3NhQ2FsY3VsYXRvci5uZXdEZWYoCisgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlVG9WYXJpYWJsZS5nZXQobV9tYXRlcmlhbGl6YXRpb25Ub0VzY2Fw
ZWUuZ2V0KG1hdGVyaWFsaXplKSksCisgICAgICAgICAgICAgICAgICAgICAgICBibG9jaywgbWF0
ZXJpYWxpemUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgbV9zc2FDYWxjdWxhdG9yLmNvbXB1dGVQaGlzKAorICAgICAgICAg
ICAgWyZdIChTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJs
b2NrKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgTm9kZSogYWxsb2NhdGlvbiA9IGluZGV4
VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICBpZiAoIW1fY29tYmlu
ZWRMaXZlbmVzcy5saXZlQXRIZWFkW2Jsb2NrXS5jb250YWlucyhhbGxvY2F0aW9uKSkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShhbGxvY2F0aW9uLT5wcmVk
aWN0aW9uKCksIFBoaSwgTm9kZU9yaWdpbigpKTsKKyAgICAgICAgICAgICAgICBwaGlOb2RlLT5t
ZXJnZUZsYWdzKE5vZGVSZXN1bHRKUyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBoaU5vZGU7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgCisgICAgICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhl
IHJpZ2h0IHBsYWNlcy4gUmVwbGFjZSBhbGwgdXNlcyBvZiBhbnkgYWxsb2NhdGlvbiB3aXRoIHRo
ZSBhcHByb3ByaWF0ZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24uIENyZWF0ZSB0aGUgYXBw
cm9wcmlhdGUgVXBzaWxvbiBub2Rlcy4KKyAgICAgICAgTG9jYWxPU1JBdmFpbGFiaWxpdHlDYWxj
dWxhdG9yIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3I7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayog
YmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIEhh
c2hNYXA8Tm9kZSosIE5vZGUqPiBtYXBwaW5nOworICAgICAgICAgICAgCisgICAgICAgICAgICBm
b3IgKE5vZGUqIGNhbmRpZGF0ZSA6IG1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRIZWFkW2Jsb2Nr
XSkgeworICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9
IG5vZGVUb1ZhcmlhYmxlLmdldChjYW5kaWRhdGUpOworICAgICAgICAgICAgICAgIGlmICghdmFy
aWFibGUpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0gbV9zc2FDYWxjdWxhdG9y
LnJlYWNoaW5nRGVmQXRIZWFkKGJsb2NrLCB2YXJpYWJsZSk7CisgICAgICAgICAgICAgICAgaWYg
KCFkZWYpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIG1hcHBpbmcuc2V0KGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgp
XSwgZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5iZWdpbkJsb2NrKGJsb2NrKTsKKyAgICAgICAgICAg
IGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX3NzYUNhbGN1bGF0b3IucGhpc0Zv
ckJsb2NrKGJsb2NrKSkgeworICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgw
LCBwaGlEZWYtPnZhbHVlKCkpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIE5v
ZGUqIG9yaWdpbmFsTm9kZSA9IGluZGV4VG9Ob2RlW3BoaURlZi0+dmFyaWFibGUoKS0+aW5kZXgo
KV07CisgICAgICAgICAgICAgICAgaW5zZXJ0T1NSSGludHNGb3JVcGRhdGUoCisgICAgICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LCAwLCBOb2RlT3JpZ2luKCksIGF2YWlsYWJpbGl0eUNh
bGN1bGF0b3IubV9hdmFpbGFiaWxpdHksCisgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsTm9k
ZSwgcGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIG1hcHBpbmcuc2V0KG9yaWdp
bmFsTm9kZSwgcGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9j
ay0+c2l6ZSgpOyArK25vZGVJbmRleCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBi
bG9jay0+YXQobm9kZUluZGV4KTsKKworICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJp
YWxpemUgOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUp
KSB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIGVzY2FwZWUgPSBtX21hdGVyaWFsaXphdGlv
blRvRXNjYXBlZS5nZXQobWF0ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnQobm9kZUluZGV4LCBtYXRlcmlhbGl6ZSk7CisgICAgICAgICAgICAgICAg
ICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAorICAgICAgICAgICAgICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQsIG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAg
ICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwgZXNjYXBlZSwgbWF0
ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLnNldChlc2NhcGVlLCBtYXRl
cmlhbGl6ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmV4ZWN1dGVOb2RlKG5vZGUpOworICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAg
ICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKEVkZ2UmIGVk
Z2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChOb2RlKiBtYXRlcmlhbGl6ZSA9IG1h
cHBpbmcuZ2V0KGVkZ2Uubm9kZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGdl
LnNldE5vZGUobWF0ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICAvLyBJZiB5b3UgY2F1c2UgYW4gZXNjYXBlLCB5b3Ug
c2hvdWxkbid0IHNlZSB0aGUgb3JpZ2luYWwgZXNjYXBlZS4KKyAgICAgICAgICAgICAgICBpZiAo
dmFsaWRhdGlvbkVuYWJsZWQoKSkgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsm
XSAoKSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGVzY2FwZWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG5vZGUsICFt
X3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVzY2FwZWUpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgTm9kZUFuZEluZGV4IHRlcm1pbmFsID0gYmxvY2stPmZpbmRUZXJtaW5hbCgp
OworICAgICAgICAgICAgc2l6ZV90IHVwc2lsb25JbnNlcnRpb25Qb2ludCA9IHRlcm1pbmFsLmlu
ZGV4OworICAgICAgICAgICAgTm9kZSogdXBzaWxvbldoZXJlID0gdGVybWluYWwubm9kZTsKKyAg
ICAgICAgICAgIE5vZGVPcmlnaW4gdXBzaWxvbk9yaWdpbiA9IHVwc2lsb25XaGVyZS0+b3JpZ2lu
OworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5z
dWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiog
cGhpRGVmIDogbV9zc2FDYWxjdWxhdG9yLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsK
KyAgICAgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAg
ICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhp
RGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiBhbGxvY2F0aW9uID0g
aW5kZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldOworICAgICAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSBtYXBwaW5nLmdldChhbGxvY2F0aW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBpbmNvbWluZywgaW5j
b21pbmcgIT0gYWxsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAg
ICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXBzaWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBzaWxvbiwgdXBzaWxvbk9yaWdp
biwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlOb2RlKSwgaW5jb21pbmctPmRl
ZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBkdW1teSBtYXRl
cmlhbGl6YXRpb24gbm9kZXMgYWxvbmcgd2l0aCBlZGdlcyB0byB0aGVtLiBUaGlzIG1lYW5zCisg
ICAgICAgIC8vIHRoYXQgdGhlIHBhcnQgb2YgdGhlIGNvbnRyb2wgZmxvdyBncmFwaCB0aGF0IHBy
ZWZlcnMgdG8gc2VlIGFjdHVhbCBvYmplY3QgYWxsb2NhdGlvbnMKKyAgICAgICAgLy8gaXMgY29t
cGxldGVseSBmaXhlZCB1cCwgZXhjZXB0IGZvciB0aGUgbWF0ZXJpYWxpemF0aW9ucyB0aGVtc2Vs
dmVzLgorICAgIH0KKyAgICAKKyAgICB2b2lkIGxvd2VyTm9uUmVhZGluZ09wZXJhdGlvbnNPblBo
YW50b21BbGxvY2F0aW9ucygpCisgICAgeworICAgICAgICAvLyBMb3dlciBldmVyeXRoaW5nIGJ1
dCByZWFkaW5nIG9wZXJhdGlvbnMgb24gcGhhbnRvbSBhbGxvY2F0aW9ucy4gV2UgYWJzb2x1dGVs
eSBoYXZlIHRvCisgICAgICAgIC8vIGxvd2VyIGFsbCB3cml0ZXMgc28gYXMgdG8gcmV2ZWFsIHRo
ZW0gdG8gdGhlIFNTQSBjYWxjdWxhdG9yLiBXZSBjYW5ub3QgbG93ZXIgcmVhZHMKKyAgICAgICAg
Ly8gYmVjYXVzZSB0aGUgd2hvbGUgcG9pbnQgaXMgdGhhdCB0aG9zZSBnbyBhd2F5IGNvbXBsZXRl
bHkuCisgICAgICAgIAorICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5i
bG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJ
bmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAg
ICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAgICAgICAg
ICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgUHV0QnlP
ZmZzZXQ6IHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQy
KCkubm9kZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250
YWlucyh0YXJnZXQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQodGFyZ2V0LT5p
c1BoYW50b21PYmplY3RBbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvUHV0QnlPZmZzZXRIaW50KCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOiB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHRh
cmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1f
c2lua0NhbmRpZGF0ZXMuY29udGFpbnModGFyZ2V0KSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUKHRhcmdldC0+aXNQaGFudG9tQWN0aXZhdGlvbkFsbG9jYXRpb24oKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QdXRDbG9zdXJlVmFySGludCgpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBQ
dXRTdHJ1Y3R1cmU6IHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+
Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRl
cy5jb250YWlucyh0YXJnZXQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQodGFy
Z2V0LT5pc1BoYW50b21PYmplY3RBbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgTm9kZSogc3RydWN0dXJlID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4LCBub2RlLT5vcmlnaW4sIEpTVmFsdWUo
bm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBub2Rl
LT5jb252ZXJ0VG9QdXRTdHJ1Y3R1cmVIaW50KHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjYXNlIE5ld09iamVjdDogeworICAg
ICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogc3RydWN0dXJlID0gbV9pbnNlcnRpb25TZXQu
aW5zZXJ0Q29uc3RhbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsg
MSwgbm9kZS0+b3JpZ2luLCBKU1ZhbHVlKG5vZGUtPnN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9t
b3RlZEhlYXBMb2NhdGlvbihTdHJ1Y3R1cmVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIHN0cnVjdHVy
ZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld09i
amVjdCgpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAgICAgICAgICAgICBpZiAo
bV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9j
YXRpb24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxk
KG5vZGUsIDApLm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRp
ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
ZGVudGlmaWVyTnVtYmVyID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+
b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGllc1tpXS5tX2lkZW50aWZpZXJO
dW1iZXI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVkUHJvcGVydHlQTG9jLCBub2RlLCBpZGVu
dGlmaWVyTnVtYmVyKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252
ZXJ0VG9QaGFudG9tTmV3T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
Y2FzZSBOZXdGdW5jdGlvbjogeworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlk
YXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogZXhl
Y3V0YWJsZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2VsbE9wZXJh
bmQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihGdW5jdGlvbkV4ZWN1dGFibGVQTG9j
LCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dy
YXBoLCBub2RlLT5vcmlnaW4sIGV4ZWN1dGFibGUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rl
SW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0
aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2hpbGQx
KCkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFu
dG9tTmV3RnVuY3Rpb24oKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIENy
ZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0
ZXMuY29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9u
U2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRp
b25TY29wZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBzeW1ib2xUYWJsZU5vZGUgPSBtX2luc2VydGlv
blNldC5pbnNlcnRDb25zdGFudCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5k
ZXggKyAxLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNlbGxPcGVyYW5kKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90
ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgbm9kZSkuY3JlYXRlSGlu
dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2lu
LCBzeW1ib2xUYWJsZU5vZGUpKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9IG5vZGUtPmNh
c3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
b2RlKiB1bmRlZmluZWQgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+b3JpZ2luLCBqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25jdXJyZW50SklUTG9j
a2VyIGxvY2tlcihzeW1ib2xUYWJsZS0+bV9sb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb3IgKGF1dG8gaXRlciA9IHN5bWJvbFRhYmxlLT5iZWdpbihsb2NrZXIpLCBlbmQgPSBz
eW1ib2xUYWJsZS0+ZW5kKGxvY2tlcik7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLCBub2RlLCBpdGVyLT52
YWx1ZS5zY29wZU9mZnNldCgpLm9mZnNldCgpKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgdW5kZWZpbmVk
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tQ3Jl
YXRlQWN0aXZhdGlvbigpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3Np
bmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlu
ZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
bihBY3RpdmF0aW9uU2NvcGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hp
bGQobm9kZSwgMCkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBzeW1i
b2xUYWJsZU5vZGUgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNlbGxP
cGVyYW5kKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRh
YmxlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzeW1ib2xUYWJsZU5vZGUpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBub2RlLT5vYmpl
Y3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gZGF0YS5t
X3Byb3BlcnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJv
bW90ZWRIZWFwTG9jYXRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD
bG9zdXJlVmFyUExvYywgbm9kZSwgaWRlbnRpZmllck51bWJlcikuY3JlYXRlSGludCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9k
ZSwgaSArIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb24oKTsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIFN0b3JlQmFycmllcjogeworICAg
ICAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIlVuZXhwZWN0ZWQgc3Rv
cmUgYmFycmllciBkdXJpbmcgc2lua2luZy4iKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoRWRn
ZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnMoZWRnZS5ub2RlKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2Uu
c2V0VXNlS2luZChLbm93bkNlbGxVc2UpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOworICAg
ICAgICB9CisgICAgfQorICAgIAorICAgIHZvaWQgcHJvbW90ZVN1bmtlbkZpZWxkcygpCisgICAg
eworICAgICAgICAvLyBDb2xsZWN0IHRoZSBzZXQgb2YgaGVhcCBsb2NhdGlvbnMgdGhhdCB3ZSB3
aWxsIGJlIG9wZXJhdGluZyBvdmVyLgorICAgICAgICBIYXNoU2V0PFByb21vdGVkSGVhcExvY2F0
aW9uPiBsb2NhdGlvbnM7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBo
LmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6
ICpibG9jaykgeworICAgICAgICAgICAgICAgIHByb21vdGVIZWFwQWNjZXNzKAorICAgICAgICAg
ICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uLCBFZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9z
aW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvY2F0aW9ucy5hZGQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250
YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0
aW9ucy5hZGQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBsb2Nh
dGlvbnMgYmVsb25nIHRvIHdoaWNoIGFsbG9jYXRpb25zLgorICAgICAgICBtX2xvY2F0aW9uc0Zv
ckFsbG9jYXRpb24uY2xlYXIoKTsKKyAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBs
b2NhdGlvbiA6IGxvY2F0aW9ucykgeworICAgICAgICAgICAgYXV0byByZXN1bHQgPSBtX2xvY2F0
aW9uc0ZvckFsbG9jYXRpb24uYWRkKGxvY2F0aW9uLmJhc2UoKSwgVmVjdG9yPFByb21vdGVkSGVh
cExvY2F0aW9uPigpKTsKKyAgICAgICAgICAgIEFTU0VSVCghcmVzdWx0Lml0ZXJhdG9yLT52YWx1
ZS5jb250YWlucyhsb2NhdGlvbikpOworICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1
ZS5hcHBlbmQobG9jYXRpb24pOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvLyBGb3Ig
ZWFjaCBzdW5rZW4gdGhpbmd5LCBtYWtlIHN1cmUgd2UgY3JlYXRlIEJvdHRvbSB2YWx1ZXMgZm9y
IGFsbCBvZiBpdHMgZmllbGRzLgorICAgICAgICAvLyBOb3RlIHRoYXQgdGhpcyBoYXMgdGhlIGhp
bGFyaW91cyBzbGlnaHQgaW5lZmZpY2llbmN5IG9mIGNyZWF0aW5nIHJlZHVuZGFudCBoaW50cyBm
b3IKKyAgICAgICAgLy8gdGhpbmdzIHRoYXQgd2VyZSBwcmV2aW91c2x5IG1hdGVyaWFsaXphdGlv
bnMuIFRoaXMgc2hvdWxkIG9ubHkgaW1wYWN0IGNvbXBpbGUgdGltZXMgYW5kCisgICAgICAgIC8v
IG5vdCBjb2RlIHF1YWxpdHksIGFuZCBpdCdzIG5lY2Vzc2FyeSBmb3Igc291bmRuZXNzIHdpdGhv
dXQgc29tZSBkYXRhIHN0cnVjdHVyZSBoYWNrYWdlLgorICAgICAgICAvLyBGb3IgZXhhbXBsZSwg
YSBNYXRlcmlhbGl6ZU5ld09iamVjdCB0aGF0IHdlIGNob29zZSB0byBzaW5rIG1heSBoYXZlIG5l
dyBmaWVsZHMgYWRkZWQgdG8KKyAgICAgICAgLy8gaXQgY29uZGl0aW9uYWxseS4gVGhhdCB3b3Vs
ZCBuZWNlc3NpdGF0ZSBCb3R0b21zLgorICAgICAgICBOb2RlKiBib3R0b20gPSBudWxscHRyOwor
ICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxP
cmRlcigpKSB7CisgICAgICAgICAgICBpZiAoYmxvY2sgPT0gbV9ncmFwaC5ibG9jaygwKSkKKyAg
ICAgICAgICAgICAgICBib3R0b20gPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgwLCBO
b2RlT3JpZ2luKCksIGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsr
bm9kZUluZGV4KSB7CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2Rl
SW5kZXgpOworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRp
b24gOiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAg
ICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVJbmRleCArIDEsIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBi
b3R0b20pKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBt
X2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fc3Nh
Q2FsY3VsYXRvci5yZXNldCgpOworCisgICAgICAgIC8vIENvbGxlY3QgdGhlIHNldCBvZiAidmFy
aWFibGVzIiB0aGF0IHdlIHdpbGwgYmUgc2lua2luZy4KKyAgICAgICAgbV9sb2NhdGlvblRvVmFy
aWFibGUuY2xlYXIoKTsKKyAgICAgICAgbV9pbmRleFRvTG9jYXRpb24uY2xlYXIoKTsKKyAgICAg
ICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykgeworICAg
ICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9zc2FDYWxjdWxh
dG9yLm5ld1ZhcmlhYmxlKCk7CisgICAgICAgICAgICBtX2xvY2F0aW9uVG9WYXJpYWJsZS5hZGQo
bG9jYXRpb24sIHZhcmlhYmxlKTsKKyAgICAgICAgICAgIEFTU0VSVChtX2luZGV4VG9Mb2NhdGlv
bi5zaXplKCkgPT0gdmFyaWFibGUtPmluZGV4KCkpOworICAgICAgICAgICAgbV9pbmRleFRvTG9j
YXRpb24uYXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8g
Q3JlYXRlIERlZnMgZnJvbSB0aGUgZXhpc3RpbmcgaGludHMuCisgICAgICAgIGZvciAoQmFzaWNC
bG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAg
ICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIHByb21vdGVI
ZWFwQWNjZXNzKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAg
ICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBFZGdlIHZhbHVlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoIW1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRp
b24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2xv
Y2F0aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAg
bV9zc2FDYWxjdWxhdG9yLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIHZhbHVlLm5vZGUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRI
ZWFwTG9jYXRpb24pIHsgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIC8vIE9NRyBydW4gdGhlIFNTQSBjYWxjdWxhdG9yIHRvIGNyZWF0ZSBQaGlzIQorICAg
ICAgICBtX3NzYUNhbGN1bGF0b3IuY29tcHV0ZVBoaXMoCisgICAgICAgICAgICBbJl0gKFNTQUNh
bGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSwgQmFzaWNCbG9jayogYmxvY2spIC0+IE5vZGUq
IHsKKyAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IG1faW5k
ZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICBpZiAoIW1f
Y29tYmluZWRMaXZlbmVzcy5saXZlQXRIZWFkW2Jsb2NrXS5jb250YWlucyhsb2NhdGlvbi5iYXNl
KCkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gbV9ncmFwaC5hZGROb2RlKFNwZWNI
ZWFwVG9wLCBQaGksIE5vZGVPcmlnaW4oKSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVy
Z2VGbGFncyhOb2RlUmVzdWx0SlMpOworICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIAorICAgICAgICAvLyBQbGFjZSBQaGlzIGluIHRoZSBy
aWdodCBwbGFjZXMsIHJlcGxhY2UgYWxsIHVzZXMgb2YgYW55IGxvYWQgd2l0aCB0aGUgYXBwcm9w
cmlhdGUKKyAgICAgICAgLy8gdmFsdWUsIGFuZCBjcmVhdGUgdGhlIGFwcHJvcHJpYXRlIFVwc2ls
b24gbm9kZXMuCisgICAgICAgIG1fZ3JhcGguY2xlYXJSZXBsYWNlbWVudHMoKTsKKyAgICAgICAg
Zm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7Cisg
ICAgICAgICAgICAvLyBUaGlzIG1hcHBpbmcgdGFibGUgaXMgaW50ZW5kZWQgdG8gYmUgbGF6eS4g
SWYgc29tZXRoaW5nIGlzIG9taXR0ZWQgZnJvbSB0aGUgdGFibGUsCisgICAgICAgICAgICAvLyBp
dCBtZWFucyB0aGF0IHRoZXJlIGhhdmVuJ3QgYmVlbiBhbnkgbG9jYWwgc3RvcmVzIHRvIHRoYXQg
cHJvbW90ZWQgaGVhcCBsb2NhdGlvbi4KKyAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5nLmNsZWFy
KCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIEluc2VydCB0aGUgUGhpIGZ1bmN0aW9u
cyB0aGF0IHdlIGhhZCBwcmV2aW91c2x5IGNyZWF0ZWQuCisgICAgICAgICAgICBmb3IgKFNTQUNh
bGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9zc2FDYWxjdWxhdG9yLnBoaXNGb3JCbG9jayhibG9j
aykpIHsKKyAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IG1f
aW5kZXhUb0xvY2F0aW9uW3BoaURlZi0+dmFyaWFibGUoKS0+aW5kZXgoKV07CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAg
ICAgICAgICAgICAwLCBwaGlEZWYtPnZhbHVlKCkpOworICAgICAgICAgICAgICAgIG1faW5zZXJ0
aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgMCwgbG9jYXRpb24uY3JlYXRlSGlu
dChtX2dyYXBoLCBOb2RlT3JpZ2luKCksIHBoaURlZi0+dmFsdWUoKSkpOworICAgICAgICAgICAg
ICAgIG1fbG9jYWxNYXBwaW5nLmFkZChsb2NhdGlvbiwgcGhpRGVmLT52YWx1ZSgpKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAg
ICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWFwcGluZyBhdCAiLCBwb2ludGVyRHVtcChibG9jayks
ICI6ICIsIG1hcER1bXAobV9sb2NhbE1hcHBpbmcpLCAiXG4iKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgLy8gUHJvY2VzcyB0aGUgYmxvY2sgYW5kIHJlcGxhY2UgYWxsIHVzZXMgb2YgbG9h
ZHMgd2l0aCB0aGUgcHJvbW90ZWQgdmFsdWUuCisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
OiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBtX2dyYXBoLnBlcmZvcm1TdWJzdGl0dXRpb24o
bm9kZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKE5vZGUqIGVzY2Fw
ZWUgPSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobm9kZSkpCisgICAgICAgICAgICAg
ICAgICAgIHBvcHVsYXRlTWF0ZXJpYWxpemUoYmxvY2ssIG5vZGUsIGVzY2FwZWUpOworICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgIHByb21vdGVIZWFwQWNjZXNzKAorICAgICAgICAg
ICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uLCBFZGdlIHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5nLnNldChsb2NhdGlvbiwgdmFsdWUubm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0NoZWNrU3RydWN0dXJlSW1tZWRpYXRlKHJlc29s
dmUoYmxvY2ssIGxvY2F0aW9uKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVwbGFjZVdpdGgocmVzb2x2ZShibG9jaywgbG9j
YXRpb24pKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgLy8gR290dGEgZHJvcCBzb21lIFVwc2lsb25zLgorICAgICAgICAgICAgTm9kZUFuZEluZGV4
IHRlcm1pbmFsID0gYmxvY2stPmZpbmRUZXJtaW5hbCgpOworICAgICAgICAgICAgc2l6ZV90IHVw
c2lsb25JbnNlcnRpb25Qb2ludCA9IHRlcm1pbmFsLmluZGV4OworICAgICAgICAgICAgTm9kZU9y
aWdpbiB1cHNpbG9uT3JpZ2luID0gdGVybWluYWwubm9kZS0+b3JpZ2luOworICAgICAgICAgICAg
Zm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsK
KyAgICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9zc2FD
YWxjdWxhdG9yLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAg
ICAgICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAg
ICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgp
OworICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IG1f
aW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICAgICAg
Tm9kZSogaW5jb21pbmcgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAor
ICAgICAgICAgICAgICAgICAgICAgICAgdXBzaWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwg
VXBzaWxvbiwgdXBzaWxvbk9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhw
aGlOb2RlKSwgaW5jb21pbmctPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuZXhl
Y3V0ZShibG9jayk7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgTm9kZSogcmVzb2x2ZShC
YXNpY0Jsb2NrKiBibG9jaywgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pCisgICAgewor
ICAgICAgICBpZiAoTm9kZSogcmVzdWx0ID0gbV9sb2NhbE1hcHBpbmcuZ2V0KGxvY2F0aW9uKSkK
KyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIAorICAgICAgICAvLyBUaGlzIGlt
cGxpZXMgdGhhdCB0aGVyZSBpcyBubyBsb2NhbCBtYXBwaW5nLiBGaW5kIGEgbm9uLWxvY2FsIG1h
cHBpbmcuCisgICAgICAgIFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0gbV9zc2FDYWxjdWxhdG9y
Lm5vbkxvY2FsUmVhY2hpbmdEZWYoCisgICAgICAgICAgICBibG9jaywgbV9sb2NhdGlvblRvVmFy
aWFibGUuZ2V0KGxvY2F0aW9uKSk7CisgICAgICAgIEFTU0VSVChkZWYpOworICAgICAgICBBU1NF
UlQoZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgbV9sb2NhbE1hcHBpbmcuYWRkKGxvY2F0aW9uLCBk
ZWYtPnZhbHVlKCkpOworICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOworICAgIH0KKworICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFNpbmtDYW5kaWRhdGVGdW5jdG9yLCB0eXBlbmFtZSBFc2NhcGVG
dW5jdG9yPgorICAgIHZvaWQgaGFuZGxlTm9kZSgKKyAgICAgICAgTm9kZSogbm9kZSwKKyAgICAg
ICAgY29uc3QgU2lua0NhbmRpZGF0ZUZ1bmN0b3ImIHNpbmtDYW5kaWRhdGUsCisgICAgICAgIGNv
bnN0IEVzY2FwZUZ1bmN0b3ImIGVzY2FwZSkKKyAgICB7CisgICAgICAgIHN3aXRjaCAobm9kZS0+
b3AoKSkgeworICAgICAgICBjYXNlIE5ld09iamVjdDoKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6
ZU5ld09iamVjdDoKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246Cisg
ICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7CisgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGls
ZHJlbigKKyAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBl
ZGdlKSB7CisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7CisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIE5ld0Z1bmN0
aW9uOgorICAgICAgICAgICAgaWYgKCFub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFi
bGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKKyAgICAgICAgICAg
ICAgICBzaW5rQ2FuZGlkYXRlKCk7CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCku
bm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgICAgIGlmICghbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigp
LT5zaW5nbGV0b25TY29wZSgpLT5pc1N0aWxsVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBzaW5r
Q2FuZGlkYXRlKCk7CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQ2hlY2s6CisgICAgICAgICAgICBt
X2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAg
ICAgIFsmXSAoRWRnZSBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChlZGdlLndpbGxO
b3RIYXZlQ2hlY2soKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGlmIChhbHJlYWR5Q2hlY2tlZChlZGdl
LnVzZUtpbmQoKSwgU3BlY09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5u
b2RlKCkpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgY2FzZSBNb3ZIaW50OgorICAgICAgICBjYXNlIFB1dEhpbnQ6CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZToKKyAgICAgICAgY2FzZSBDaGVja1N0cnVj
dHVyZToKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKKyAgICAgICAgY2FzZSBNdWx0aUdldEJ5
T2Zmc2V0OgorICAgICAgICBjYXNlIEdldEdldHRlclNldHRlckJ5T2Zmc2V0OiB7CisgICAgICAg
ICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBp
ZiAoIXRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXNjYXBl
KHRhcmdldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCisg
ICAgICAgIGNhc2UgUHV0QnlPZmZzZXQ6IHsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5v
ZGUtPmNoaWxkMigpLm5vZGUoKTsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc09iamVjdEFs
bG9jYXRpb24oKSkgeworICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQpOworICAgICAgICAg
ICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxkMygpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjogeworICAgICAgICAg
ICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgaWYg
KCF0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBlc2Nh
cGUodGFyZ2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2Fz
ZSBQdXRDbG9zdXJlVmFyOiB7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGls
ZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2Nh
dGlvbigpKQorICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQpOworICAgICAgICAgICAgZXNj
YXBlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIGNhc2UgR2V0U2NvcGU6IHsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9
IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc0Z1bmN0
aW9uQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEdldEV4ZWN1dGFibGU6IHsK
KyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKKyAgICAg
ICAgICAgIGlmICghdGFyZ2V0LT5pc0Z1bmN0aW9uQWxsb2NhdGlvbigpKQorICAgICAgICAgICAg
ICAgIGVzY2FwZSh0YXJnZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBjYXNlIFNraXBTY29wZTogeworICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+
Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgaWYgKCF0YXJnZXQtPmlzQWN0aXZhdGlvbkFs
bG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBNdWx0aVB1dEJ5
T2Zmc2V0OgorICAgICAgICAgICAgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUgd2Ugc2hvdWxkIGJl
IGFibGUgdG8gaGFuZGxlIHRoaXMuIEl0J3MganVzdCBhIG1hdHRlciBvZgorICAgICAgICAgICAg
Ly8gYnVpbGRpbmcgdGhlIGFwcHJvcHJpYXRlICpIaW50IHZhcmlhbnQgb2YgdGhpcyBpbnN0cnVj
dGlvbiwgYWxvbmcgd2l0aCBhCisgICAgICAgICAgICAvLyBQaGFudG9tU3RydWN0dXJlU2VsZWN0
IG5vZGUgLSBzaW5jZSB0aGlzIHRyYW5zZm9ybXMgdGhlIFN0cnVjdHVyZSBpbiBhIGNvbmRpdGlv
bmFsCisgICAgICAgICAgICAvLyB3YXkuCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTI0CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+
Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2Rl
KCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAg
ICAgICAgWyZdIChFZGdlIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlKGVkZ2Uu
bm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorICAgIAorICAgIE5vZGUqIGNyZWF0ZU1hdGVyaWFsaXplKE5vZGUqIGVzY2Fw
ZWUsIE5vZGUqIHdoZXJlKQorICAgIHsKKyAgICAgICAgTm9kZSogcmVzdWx0ID0gbnVsbHB0cjsK
KyAgICAgICAgCisgICAgICAgIHN3aXRjaCAoZXNjYXBlZS0+b3AoKSkgeworICAgICAgICBjYXNl
IE5ld09iamVjdDoKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAg
ICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RN
YXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICByZXN1
bHQgPSBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlv
bigpLCBOb2RlOjpWYXJBcmcsIE1hdGVyaWFsaXplTmV3T2JqZWN0LAorICAgICAgICAgICAgICAg
IE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRp
YywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAg
ICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5mbygpLCAwLCAwKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgIHJl
c3VsdCA9IG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICBlc2NhcGVlLT5wcmVkaWN0
aW9uKCksIE5ld0Z1bmN0aW9uLAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAg
ICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAg
ICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZXNjYXBl
ZS0+Y2VsbE9wZXJhbmQoKSksCisgICAgICAgICAgICAgICAgZXNjYXBlZS0+Y2hpbGQxKCkpOwor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAgICAgT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIHN5bWJvbFRhYmxlID0g
ZXNjYXBlZS0+Y2VsbE9wZXJhbmQoKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IG1fZ3JhcGguYWRk
Tm9kZSgKKyAgICAgICAgICAgICAgICBlc2NhcGVlLT5wcmVkaWN0aW9uKCksIE5vZGU6OlZhckFy
ZywgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uLAorICAgICAgICAgICAgICAgIE5vZGVPcmln
aW4oCisgICAgICAgICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAg
ICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBP
cEluZm8oZGF0YSksIE9wSW5mbyhzeW1ib2xUYWJsZSksIDAsIDApOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgREZHX0NSQVNI
KG1fZ3JhcGgsIGVzY2FwZWUsICJCYWQgZXNjYXBlZSBvcCIpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAg
ZGF0YUxvZygiQ3JlYXRpbmcgbWF0ZXJpYWxpemF0aW9uIHBvaW50IGF0ICIsIHdoZXJlLCAiIGZv
ciAiLCBlc2NhcGVlLCAiOiAiLCByZXN1bHQsICJcbiIpOworICAgICAgICAKKyAgICAgICAgbV9t
YXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuYWRkKHJlc3VsdCwgZXNjYXBlZSk7CisgICAgICAgIG1f
bWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5hZGQoCisgICAgICAgICAgICB3
aGVyZSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKHJlc3VsdCk7Cisg
ICAgICAgIAorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAKKyAgICB2b2lkIHBv
cHVsYXRlTWF0ZXJpYWxpemUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVz
Y2FwZWUpCisgICAgeworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgY2Fz
ZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIGZpcnN0Q2hpbGQgPSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6
ZSgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRp
b24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNjYXBlZSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN0cnVjdHVyZShT
dHJ1Y3R1cmVQTG9jLCBlc2NhcGVlKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29u
dGFpbnMoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fZ3JhcGgubV92
YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzdHJ1Y3R1cmUpLCBLbm93
bkNlbGxVc2UpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGxvY2F0aW9ucy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAo
bG9jYXRpb25zW2ldLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgU3RydWN0dXJlUExv
YzogeworICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zW2ldID09IHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzog
eworICAgICAgICAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0
aW9uc1tpXSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS0+b3AoKSA9PSBCb3R0b21W
YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgY2FuIHNraXAgQm90dG9tcyBl
bnRpcmVseS4KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBkYXRhLm1f
cHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRpb25zW2ldLmluZm8o
KSkpOworICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5k
KHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAg
ICAgICBub2RlLT5jaGlsZHJlbiA9IEFkamFjZW5jeUxpc3QoCisgICAgICAgICAgICAgICAgQWRq
YWNlbmN5TGlzdDo6VmFyaWFibGUsCisgICAgICAgICAgICAgICAgZmlyc3RDaGlsZCwgbV9ncmFw
aC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUoKSAtIGZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlv
bjogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUt
Pm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKworICAgICAgICAgICAgdW5zaWduZWQgZmly
c3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCk7CisKKyAgICAgICAgICAg
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JB
bGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24gc2NvcGUoQWN0aXZhdGlvblNjb3BlUExvYywgZXNjYXBlZSk7CisgICAgICAgICAgICBQcm9t
b3RlZEhlYXBMb2NhdGlvbiBzeW1ib2xUYWJsZShBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBl
c2NhcGVlKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc2NvcGUpKTsK
KworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29s
dmUoYmxvY2ssIHNjb3BlKSwgS25vd25DZWxsVXNlKSk7CisKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAg
ICBzd2l0Y2ggKGxvY2F0aW9uc1tpXS5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIEFj
dGl2YXRpb25TY29wZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9u
c1tpXSA9PSBzY29wZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2UgQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYzog
eworICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zW2ldID09IHN5bWJvbFRhYmxl
KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzogeworICAgICAgICAgICAgICAgICAgICBO
b2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uc1tpXSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh2YWx1ZS0+b3AoKSA9PSBCb3R0b21WYWx1ZSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFw
cGVuZChQaGFudG9tUHJvcGVydHlWYWx1ZShsb2NhdGlvbnNbaV0uaW5mbygpKSk7CisgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOworICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9k
ZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBub2RlLT5jaGlsZHJlbiA9IEFkamFjZW5jeUxpc3QoCisgICAgICAg
ICAgICAgICAgQWRqYWNlbmN5TGlzdDo6VmFyaWFibGUsCisgICAgICAgICAgICAgICAgZmlyc3RD
aGlsZCwgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUoKSAtIGZpcnN0Q2hpbGQpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7
CisgICAgICAgICAgICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkgeworICAgICAgICAgICAgICAgIFZl
Y3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxv
Y2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMu
c2l6ZSgpID09IDIpOworCisgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gZXhl
Y3V0YWJsZShGdW5jdGlvbkV4ZWN1dGFibGVQTG9jLCBlc2NhcGVlKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKGV4ZWN1dGFibGUpKTsKKworICAgICAgICAgICAg
ICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGFjdGl2YXRpb24oRnVuY3Rpb25BY3RpdmF0aW9uUExv
YywgZXNjYXBlZSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhh
Y3RpdmF0aW9uKSk7CisKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bG9jYXRpb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobG9j
YXRpb25zW2ldLmtpbmQoKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIEZ1bmN0aW9uRXhl
Y3V0YWJsZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnNb
aV0gPT0gZXhlY3V0YWJsZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGNhc2UgRnVuY3Rpb25BY3Rp
dmF0aW9uUExvYzogeworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uc1tp
XSA9PSBhY3RpdmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgICAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIGxvY2F0aW9uIGtp
bmQiKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbWF0ZXJpYWxpemUg
b3AiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIENv
bWJpbmVkTGl2ZW5lc3MgbV9jb21iaW5lZExpdmVuZXNzOworICAgIFNTQUNhbGN1bGF0b3IgbV9z
c2FDYWxjdWxhdG9yOworICAgIEhhc2hTZXQ8Tm9kZSo+IG1fc2lua0NhbmRpZGF0ZXM7CisgICAg
SGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlOworICAgIEhh
c2hNYXA8Tm9kZSosIFZlY3RvcjxOb2RlKj4+IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJp
YWxpemF0aW9uczsKKyAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRp
b24+PiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb247CisgICAgSGFzaE1hcDxQcm9tb3RlZEhlYXBM
b2NhdGlvbiwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBtX2xvY2F0aW9uVG9WYXJpYWJsZTsK
KyAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IG1faW5kZXhUb0xvY2F0aW9uOworICAg
IEhhc2hNYXA8UHJvbW90ZWRIZWFwTG9jYXRpb24sIE5vZGUqPiBtX2xvY2FsTWFwcGluZzsKKyAg
ICBJbnNlcnRpb25TZXQgbV9pbnNlcnRpb25TZXQ7Cit9OworICAgIAorYm9vbCBwZXJmb3JtT2Jq
ZWN0QWxsb2NhdGlvblNpbmtpbmcoR3JhcGgmIGdyYXBoKQoreworICAgIFNhbXBsaW5nUmVnaW9u
IHNhbXBsaW5nUmVnaW9uKCJERkcgT2JqZWN0IEFsbG9jYXRpb24gU2lua2luZyBQaGFzZSIpOwor
ICAgIHJldHVybiBydW5QaGFzZTxPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlPihncmFwaCk7
Cit9CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdf
SklUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAppbmRleCA2NDljNjA1NzFj
OTNmYWM4Yjc1ZGIyNzVlZGIzMzdjN2EzY2VmNmJjLi5kNTVlM2YwMWQ0NzI1YjU5N2I1Y2NhODEw
ODljZmY5ZmUzMDIxNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1BsYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCisjaW5jbHVkZSAiREZHQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHQXJndW1lbnRzRWxpbWlu
YXRpb25QaGFzZS5oIgogI2luY2x1ZGUgIkRGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaCIK
ICNpbmNsdWRlICJERkdCeXRlQ29kZVBhcnNlci5oIgpAQCAtMzY1LDEwICszNjYsMTEgQEAgUGxh
bjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3Rh
dGUmIGxvbmdMaXZlZFN0YXRlKQogICAgICAgICBwZXJmb3JtQ2xlYW5VcChkZmcpOyAvLyBSZWR1
Y2UgdGhlIGdyYXBoIHNpemUgYSBsb3QuCiAgICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKICAgICAg
ICAgY2hhbmdlZCB8PSBwZXJmb3JtU3RyZW5ndGhSZWR1Y3Rpb24oZGZnKTsKLSAgICAgICAgaWYg
KE9wdGlvbnM6OmVuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nKCkpIHsKLSAgICAgICAgICAg
IGNoYW5nZWQgfD0gcGVyZm9ybUNyaXRpY2FsRWRnZUJyZWFraW5nKGRmZyk7CisgICAgICAgIGNo
YW5nZWQgfD0gcGVyZm9ybUNyaXRpY2FsRWRnZUJyZWFraW5nKGRmZyk7CisgICAgICAgIGlmIChP
cHRpb25zOjplbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nKCkpCisgICAgICAgICAgICBjaGFu
Z2VkIHw9IHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVTaW5raW5nKGRmZyk7CisgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIGNoYW5nZWQgfD0gcGVyZm9ybU9iamVjdEFsbG9jYXRpb25TaW5raW5nKGRm
Zyk7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKGNoYW5nZWQpIHsKICAgICAgICAgICAgIC8vIFN0
YXRlLWF0LXRhaWwgYW5kIHN0YXRlLWF0LWhlYWQgd2lsbCBiZSBpbnZhbGlkIGlmIHdlIGRpZCBz
dHJlbmd0aCByZWR1Y3Rpb24gc2luY2UKICAgICAgICAgICAgIC8vIGl0IG1pZ2h0IGluY3JlYXNl
IGxpdmUgcmFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cm9tb3RlZEhlYXBMb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9t
b3RlZEhlYXBMb2NhdGlvbi5oCmluZGV4IGJjMTUxNTg0ODA3NDM3ZGIwNzI5NDE0MTllOGI0Yjli
YTNlNTYyY2IuLmEyMWU0ZGExYWY5YjViMGZiNjA0YzNiMjIzNzA3MWY1MTVmYTY1NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9u
LmgKQEAgLTU3LDggKzU3LDE2IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2luZm8oaW5mbykKICAg
ICB7CiAgICAgfQotICAgIAorCisgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoV1RGOjpI
YXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAgICA6IG1fa2luZChJbnZhbGlkUHJvbW90
ZWRMb2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZvKDEpCisgICAgeworICAgIH0KKwogICAg
IGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IEludmFsaWRQcm9tb3Rl
ZExvY2F0aW9uS2luZDsgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsg
cmV0dXJuICEhKnRoaXM7IH0KICAgICAKICAgICBQcm9tb3RlZExvY2F0aW9uS2luZCBraW5kKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kOyB9CiAgICAgdW5zaWduZWQgaW5mbygpIGNvbnN0IHsgcmV0
dXJuIG1faW5mbzsgfQpAQCAtODYsNiArOTQsMTggQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQgJiYgbV9pbmZvOwog
ICAgIH0KKworICAgIGJvb2wgbmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHN3aXRjaCAoa2luZCgpKSB7CisgICAgICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBM
b2M6CisgICAgICAgIGNhc2UgQ2xvc3VyZVZhclBMb2M6CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICB9CisgICAgfQogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsK
IApAQCAtOTQsNiArMTE0LDEyIEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmZvOwogfTsK
IAorc3RydWN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaCB7CisgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGtleSkgeyByZXR1
cm4ga2V5Lmhhc2goKTsgfQorICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yJiBhLCBjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciYgYikg
eyByZXR1cm4gYSA9PSBiOyB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRv
RW1wdHlPckRlbGV0ZWQgPSB0cnVlOworfTsKKwogY2xhc3MgUHJvbW90ZWRIZWFwTG9jYXRpb24g
ewogcHVibGljOgogICAgIFByb21vdGVkSGVhcExvY2F0aW9uKApAQCAtMTc2LDYgKzIwMiwxNiBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2Nh
dGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcgogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFs
dWVJc1plcm8gPSBmYWxzZTsKIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZh
dWx0SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvcj4geworICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9ySGFzaCBIYXNoOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IEhhc2hUcmFpdHM7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpE
Rkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
ZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKICNl
bmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHVmFsaWRhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxp
ZGF0ZS5jcHAKaW5kZXggMmJhMzMzODQ5Mzk5ZTQzYjZjNDFmNWRmZmJlOTA5MzM1MTUxZjU1Mi4u
YTk2OWMxM2M5NjE2YjhkNDZmOGE1YTEyNjZjM2ViYTk4ODgwMDYxZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKQEAgLTUyNCwxMiArNTI0LDQyIEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tOgogICAgICAgICAgICAgICAgICAgICBW
QUxJREFURSgobm9kZSksICEiYmFkIG5vZGUgdHlwZSBmb3IgU1NBIik7CiAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB0aGluZ3MgaGVy
ZS4KICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzQ3MQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAgICAg
ICAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRv
bU5ld0Z1bmN0aW9uOgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbUNyZWF0ZUFjdGl2YXRp
b246CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRzOgorICAgICAg
ICAgICAgICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3VtZW50czoKKyAgICAgICAgICAgICAgICBj
YXNlIE1vdkhpbnQ6CisgICAgICAgICAgICAgICAgY2FzZSBVcHNpbG9uOgorICAgICAgICAgICAg
ICAgIGNhc2UgRm9yd2FyZFZhcmFyZ3M6CisgICAgICAgICAgICAgICAgY2FzZSBDYWxsRm9yd2Fy
ZFZhcmFyZ3M6CisgICAgICAgICAgICAgICAgY2FzZSBDb25zdHJ1Y3RGb3J3YXJkVmFyYXJnczoK
KyAgICAgICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBwcm9iYWJseSBub3QgY29ycmVjdC4KKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIFB1dEhpbnQ6CisgICAg
ICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgbm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRv
bUFsbG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAg
WyZdIChjb25zdCBFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFM
SURBVEUoKG5vZGUpLCAhZWRnZS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IGQ1Y2UwZDdmMWIyNDU3
MDM2MzRjMDUwMzU3N2MyYzVjMWJkNDFiMWQuLjg4ZjU0ZDA0ZWQ4YmI3N2NlMGMyMTRmNTMwZTNk
ZWVmNzYxNzY5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0xMVk0uY3BwCkBAIC01Mjg2LDEyICs1Mjg2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKQogICAg
ICAgICAgICAgdmFsdWVzLmFwcGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAxICsgaSkpKTsKICAgICAgICAgCi0gICAgICAgIFN0cnVjdHVyZVNldCBzZXQ7Ci0gICAg
ICAgIG1faW50ZXJwcmV0ZXIucGhpQ2hpbGRyZW4oKS0+Zm9yQWxsVHJhbnNpdGl2ZUluY29taW5n
VmFsdWVzKAotICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApLm5vZGUo
KSwKLSAgICAgICAgICAgIFsmXSAoTm9kZSogaW5jb21pbmcpIHsKLSAgICAgICAgICAgICAgICBz
ZXQuYWRkKGluY29taW5nLT5jYXN0Q29uc3RhbnQ8U3RydWN0dXJlKj4oKSk7Ci0gICAgICAgICAg
ICB9KTsKKyAgICAgICAgY29uc3QgU3RydWN0dXJlU2V0JiBzZXQgPSBtX25vZGUtPnN0cnVjdHVy
ZVNldCgpOwogICAgICAgICAKICAgICAgICAgVmVjdG9yPExCYXNpY0Jsb2NrLCAxPiBibG9ja3Mo
c2V0LnNpemUoKSk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHNldC5zaXplKCk7IGktLTsp
CkBAIC01MzkwLDEwICs1Mzg1LDExIEBAIHByaXZhdGU6CiAKICAgICAgICAgVmVjdG9yPExWYWx1
ZSwgOD4gdmFsdWVzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3By
b3BlcnRpZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFs
dWUobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEgKyBpKSkpOworICAgICAgICAgICAgdmFs
dWVzLmFwcGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyICsgaSkp
KTsKIAotICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fZ3JhcGgudmFyQXJnQ2hpbGQo
bV9ub2RlLCAwKSk7CisgICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9ncmFwaC52YXJB
cmdDaGlsZChtX25vZGUsIDEpKTsKICAgICAgICAgU3ltYm9sVGFibGUqIHRhYmxlID0gbV9ub2Rl
LT5jYXN0T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCk7CisgICAgICAgIEFTU0VSVCh0YWJsZSA9PSBt
X2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCktPmNhc3RDb25zdGFudDxTeW1ib2xUYWJsZSo+
KCkpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0
Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YWN0aXZhdGlvblN0cnVjdHVyZSgpOwogCiAg
ICAgICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJNYXRl
cmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24gc2xvdyBwYXRoIikpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCmluZGV4IDI3Nzg4ZTdmNmE1YTlm
YjllNTMwNjllYzU0YzA5MDBkZWNkOWVjN2UuLjE2NTAxNDNhNTZiOTJjNzBiNTUxZjk5OWY0Njgx
ZTk1OTM1NDY2YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NS
RXhpdENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4
aXRDb21waWxlci5jcHAKQEAgLTIyMCwyNCArMjIwLDI0IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVT
dHViKAogICAgICAgICAgICAgICAgIGppdC5vcjMyKEdQUkluZm86OnJlZ1QyLCBNYWNyb0Fzc2Vt
Ymxlcjo6QWJzb2x1dGVBZGRyZXNzKGFycmF5UHJvZmlsZS0+YWRkcmVzc09mQXJyYXlNb2Rlcygp
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKCEh
ZXhpdC5tX3ZhbHVlUHJvZmlsZSkKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJl
Z1QwLCBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWlsQnVja2V0KDApKTsKICAgICB9Ci0g
ICAgCi0gICAgLy8gTWF0ZXJpYWxpemUgYWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFu
IG9iamVjdCB1bnRpbCBhbGwgb2YgdGhlIG9iamVjdHMgaXQgbmVlZHMKLSAgICAvLyBoYXZlIGJl
ZW4gbWF0ZXJpYWxpemVkLiBDdXJpb3VzbHksIHRoaXMgaXMgdGhlIG9ubHkgcGxhY2UgdGhhdCB3
ZSBoYXZlIGFuIGFsZ29yaXRobSB0aGF0IHByZXZlbnRzCi0gICAgLy8gT1NSIGV4aXQgZnJvbSBo
YW5kbGluZyBjeWNsaWMgb2JqZWN0IG1hdGVyaWFsaXphdGlvbnMuIE9mIGNvdXJzZSwgb2JqZWN0
IGFsbG9jYXRpb24gc2lua2luZwotICAgIC8vIGN1cnJlbnRseSB3b3VsZG4ndCByZWNvZ25pemUg
YSBjeWNsZSBhcyBiZWluZyBzaW5rYWJsZSAtIGJ1dCBpZiBpdCBkaWQgdGhlbiB0aGUgb25seSB0
aGluZyB0aGF0Ci0gICAgLy8gd291bGQgYWh2ZSB0byBjaGFuZ2UgaXMgdGhpcyBmaXhwb2ludC4g
SW5zdGVhZCB3ZSB3b3VsZCBhbGxvY2F0ZSB0aGUgb2JqZWN0cyBmaXJzdCBhbmQgcG9wdWxhdGUK
LSAgICAvLyB0aGVtIHdpdGggZGF0YSBsYXRlci4KKworICAgIC8vIE1hdGVyaWFsaXplIGFsbCBv
YmplY3RzLiBEb24ndCBtYXRlcmlhbGl6ZSBhbiBvYmplY3QgdW50aWwgYWxsCisgICAgLy8gb2Yg
dGhlIG9iamVjdHMgaXQgbmVlZHMgaGF2ZSBiZWVuIG1hdGVyaWFsaXplZC4gV2UgYnJlYWsgY3lj
bGVzCisgICAgLy8gYnkgcG9wdWxhdGluZyBvYmplY3RzIGxhdGUgLSB3ZSBvbmx5IGNvbnNpZGVy
IGFuIG9iamVjdCBhcworICAgIC8vIG5lZWRpbmcgYW5vdGhlciBvYmplY3QgaWYgdGhlIGxhdGVy
IGlzIG5lZWRlZCBmb3IgdGhlCisgICAgLy8gYWxsb2NhdGlvbiBvZiB0aGUgZm9ybWVyLgorCiAg
ICAgSGFzaFNldDxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbio+IHRvTWF0ZXJpYWxpemU7
CiAgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9u
IDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpCiAgICAgICAgIHRvTWF0ZXJpYWxpemUuYWRkKG1h
dGVyaWFsaXphdGlvbik7Ci0gICAgCisKICAgICB3aGlsZSAoIXRvTWF0ZXJpYWxpemUuaXNFbXB0
eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIHByZXZpb3VzVG9NYXRlcmlhbGl6ZVNpemUgPSB0b01h
dGVyaWFsaXplLnNpemUoKTsKLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPEV4aXRUaW1lT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uKj4gd29ya2xpc3Q7CiAgICAgICAgIHdvcmtsaXN0LmFwcGVuZFJh
bmdlKHRvTWF0ZXJpYWxpemUuYmVnaW4oKSwgdG9NYXRlcmlhbGl6ZS5lbmQoKSk7CiAgICAgICAg
IGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IHdv
cmtsaXN0KSB7CkBAIC0yNDYsMjAgKzI0NiwyOCBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigK
ICAgICAgICAgICAgIGZvciAoRXhpdFByb3BlcnR5VmFsdWUgdmFsdWUgOiBtYXRlcmlhbGl6YXRp
b24tPnByb3BlcnRpZXMoKSkgewogICAgICAgICAgICAgICAgIGlmICghdmFsdWUudmFsdWUoKS5p
c09iamVjdE1hdGVyaWFsaXphdGlvbigpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLmxvY2F0aW9uKCkubmVlZGVkRm9yTWF0ZXJpYWxp
emF0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAg
IGlmICh0b01hdGVyaWFsaXplLmNvbnRhaW5zKHZhbHVlLnZhbHVlKCkub2JqZWN0TWF0ZXJpYWxp
emF0aW9uKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdvdHRhIHNraXAgdGhpcyBvbmUs
IHNpbmNlIG9uZSBvZiBpdHMgZmllbGRzIHBvaW50cyB0byBhIG1hdGVyaWFsaXphdGlvbgotICAg
ICAgICAgICAgICAgICAgICAvLyB0aGF0IGhhc24ndCBiZWVuIG1hdGVyaWFsaXplZC4KKyAgICAg
ICAgICAgICAgICAgICAgLy8gR290dGEgc2tpcCB0aGlzIG9uZSwgc2luY2UgaXQgbmVlZHMgYQor
ICAgICAgICAgICAgICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gdGhhdCBoYXNuJ3QgYmVlbiBt
YXRlcmlhbGl6ZWQuCiAgICAgICAgICAgICAgICAgICAgIGFsbEdvb2QgPSBmYWxzZTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgaWYgKCFhbGxHb29kKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICAvLyBBbGwgc3lzdGVtcyBnbyBmb3IgbWF0ZXJpYWxpemlu
ZyB0aGUgb2JqZWN0LiBGaXJzdCB3ZSByZWNvdmVyIHRoZSB2YWx1ZXMgb2YgYWxsIG9mCi0gICAg
ICAgICAgICAvLyBpdHMgZmllbGRzIGFuZCB0aGVuIHdlIGNhbGwgYSBmdW5jdGlvbiB0byBhY3R1
YWxseSBhbGxvY2F0ZSB0aGUgYmVhc3QuCisKKyAgICAgICAgICAgIC8vIEFsbCBzeXN0ZW1zIGdv
IGZvciBtYXRlcmlhbGl6aW5nIHRoZSBvYmplY3QuIEZpcnN0IHdlCisgICAgICAgICAgICAvLyBy
ZWNvdmVyIHRoZSB2YWx1ZXMgb2YgYWxsIG9mIGl0cyBmaWVsZHMgYW5kIHRoZW4gd2UKKyAgICAg
ICAgICAgIC8vIGNhbGwgYSBmdW5jdGlvbiB0byBhY3R1YWxseSBhbGxvY2F0ZSB0aGUgYmVhc3Qu
CisgICAgICAgICAgICAvLyBXZSBvbmx5IHJlY292ZXIgdGhlIGZpZWxkcyB0aGF0IGFyZSBuZWVk
ZWQgZm9yIHRoZSBhbGxvY2F0aW9uLgogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBwcm9wZXJ0
eUluZGV4ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBwcm9wZXJ0eUlu
ZGV4LS07KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2YWx1ZSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVlKCk7CisgICAgICAg
ICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0
aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF07CisgICAgICAgICAgICAgICAgY29uc3Qg
RXhpdFZhbHVlJiB2YWx1ZSA9IHByb3BlcnR5LnZhbHVlKCk7CisgICAgICAgICAgICAgICAgaWYg
KCFwcm9wZXJ0eS5sb2NhdGlvbigpLm5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgICAgIGNvbXBpbGVSZWNvdmVy
eSgKICAgICAgICAgICAgICAgICAgICAgaml0LCB2YWx1ZSwgcmVjb3JkLCBqaXRDb2RlLT5zdGFj
a21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwKICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0
aW9uVG9Qb2ludGVyKTsKQEAgLTI3Myw3ICsyODEsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1
YigKICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3
aXNlX2Nhc3Q8dm9pZCo+KG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpKSwgR1BSSW5m
bzo6bm9uQXJnR1BSMCk7CiAgICAgICAgICAgICBqaXQuY2FsbChHUFJJbmZvOjpub25BcmdHUFIw
KTsKICAgICAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgbWF0
ZXJpYWxpemF0aW9uVG9Qb2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKTsKLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICAvLyBMZXQgZXZlcnlvbmUga25vdyB0aGF0IHdlJ3JlIGRvbmUuCiAg
ICAgICAgICAgICB0b01hdGVyaWFsaXplLnJlbW92ZShtYXRlcmlhbGl6YXRpb24pOwogICAgICAg
ICB9CkBAIC0yODQsNiArMjkyLDI3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCh0b01hdGVyaWFsaXplLnNpemUoKSA8IHByZXZpb3VzVG9NYXRlcmlh
bGl6ZVNpemUpOwogICAgIH0KIAorICAgIC8vIE5vdyB0aGF0IGFsbCB0aGUgb2JqZWN0cyBoYXZl
IGJlZW4gYWxsb2NhdGVkLCB3ZSBwb3B1bGF0ZSB0aGVtCisgICAgLy8gd2l0aCB0aGUgY29ycmVj
dCB2YWx1ZXMuIFRoaXMgdGltZSB3ZSBjYW4gcmVjb3ZlciBhbGwgdGhlCisgICAgLy8gZmllbGRz
LCBpbmNsdWRpbmcgdGhvc2UgdGhhdCBhcmUgb25seSBuZWVkZWQgZm9yIHRoZSBhbGxvY2F0aW9u
LgorICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlv
biA6IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgcHJv
cGVydHlJbmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgcHJvcGVy
dHlJbmRleC0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2YWx1ZSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVlKCk7CisgICAgICAg
ICAgICBjb21waWxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgaml0LCB2YWx1ZSwgcmVjb3Jk
LCBqaXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwKKyAgICAgICAgICAgICAgICBt
YXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIpOworICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUklu
Zm86OnJlZ1QwLCBtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMgKyBwcm9wZXJ0eUluZGV4KTsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIFRoaXMgY2FsbCBhc3N1bWVzIHRoYXQgd2UgZG9uJ3QgcGFz
cyBhcmd1bWVudHMgb24gdGhlIHN0YWNrCisgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJp
YWxpemF0aW9uKSwKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRl
cmlhbGl6YXRpb25Ub1BvaW50ZXIuZ2V0KG1hdGVyaWFsaXphdGlvbikpLAorICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50cykpOwor
ICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0
PHZvaWQqPihvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKSksIEdQUkluZm86Om5vbkFyZ0dQ
UjApOworICAgICAgICBqaXQuY2FsbChHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICB9CisKICAg
ICAvLyBTYXZlIGFsbCBzdGF0ZSBmcm9tIHdoZXJldmVyIHRoZSBleGl0IGRhdGEgdGVsbHMgdXMg
aXQgd2FzLCBpbnRvIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbgogICAgIC8vIHRoZSBzY3JhdGNo
IGJ1ZmZlci4gVGhpcyBhbHNvIGRvZXMgdGhlIHJlYm94aW5nLgogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKaW5kZXggNGU1YzhiM2ZiNzkzYTgzYjIz
NjdmYjAwYTdlN2MxYjc0YTQ4NDllMC4uNGMzODM3Mzg4NmEzNWVmZjhkMmY5MjRjZjQyYjcxZDMx
MWY1Mzc5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3Bw
CkBAIC00OCw0OSArNDgsMTEwIEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRlKiBleGVjCiAgICAgcmV0dXJu
IEpTRmluYWxPYmplY3Q6OmNyZWF0ZShleGVjLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSk7CiB9CiAK
K2V4dGVybiAiQyIgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5P
U1IoCisgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiog
bWF0ZXJpYWxpemF0aW9uLAorICAgIEVuY29kZWRKU1ZhbHVlKiBlbmNvZGVkVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlKiB2YWx1ZXMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworCisgICAgLy8gV2UgY2Fubm90
IEdDLiBXZSd2ZSBnb3QgcG9pbnRlcnMgaW4gZXZpbCBwbGFjZXMuCisgICAgLy8gRklYTUU6IFdl
IGFyZSBub3QgZG9pbmcgYW55dGhpbmcgdGhhdCBjYW4gR0MgaGVyZSwgYW5kIHRoaXMgaXMKKyAg
ICAvLyBwcm9iYWJseSB1bm5lY2Vzc2FyeS4KKyAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Mo
dm0uaGVhcCk7CisKKyAgICBzd2l0Y2ggKG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CisgICAg
Y2FzZSBQaGFudG9tTmV3T2JqZWN0OiB7CisgICAgICAgIEpTRmluYWxPYmplY3QqIG9iamVjdCA9
IGpzQ2FzdDxKU0ZpbmFsT2JqZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNvZGVkVmFsdWUpKTsK
KyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSgpOworCisg
ICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgaGVjayB0byBwb3B1bGF0ZSB0aGUgb2JqZWN0
IHdpdGguIFVzZQorICAgICAgICAvLyBnZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkgYmVjYXVz
ZSB0aGF0IGhhcHBlbnMgdG8gYmUKKyAgICAgICAgLy8gbG93ZXItbGV2ZWwgYW5kIG1vcmUgY29u
dmVuaWVudC4gSXQgZG9lc24ndCBjaGFuZ2UgdGhlCisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlv
biBvZiB0aGUgcHJvcGVydHkgdGFibGUuIFdlIHdhbnQgdG8gaGF2ZQorICAgICAgICAvLyBtaW5p
bWFsIHZpc2libGUgZWZmZWN0cyBvbiB0aGUgc3lzdGVtLiBBbHNvLCBkb24ndCBtaW5kCisgICAg
ICAgIC8vIHRoYXQgdGhpcyBpcyBPKG5eMikuIEl0IGRvZXNuJ3QgbWF0dGVyLiBXZSBvbmx5IGdl
dCBoZXJlCisgICAgICAgIC8vIGZyb20gT1NSIGV4aXQuCisgICAgICAgIGZvciAoUHJvcGVydHlN
YXBFbnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKSB7
CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRp
ZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlW
YWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKKyAgICAg
ICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0
eVBMb2MpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlm
IChjb2RlQmxvY2stPmlkZW50aWZpZXIocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpLmltcGwo
KSAhPSBlbnRyeS5rZXkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
ICAgICAgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIGVudHJ5Lm9mZnNldCwgSlNWYWx1ZTo6ZGVj
b2RlKHZhbHVlc1tpXSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIH0KKworICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgorICAgIGNhc2UgUGhhbnRv
bURpcmVjdEFyZ3VtZW50czoKKyAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CisgICAg
ICAgIC8vIFRob3NlIGFyZSBjb21wbGV0ZWx5IGhhbmRsZWQgYnkgb3BlcmF0aW9uTWF0ZXJpYWxp
emVPYmplY3RJbk9TUgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgUGhhbnRvbUNyZWF0ZUFj
dGl2YXRpb246IHsKKyAgICAgICAgSlNMZXhpY2FsRW52aXJvbm1lbnQqIGFjdGl2YXRpb24gPSBq
c0Nhc3Q8SlNMZXhpY2FsRW52aXJvbm1lbnQqPihKU1ZhbHVlOjpkZWNvZGUoKmVuY29kZWRWYWx1
ZSkpOworCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0byBwb3B1bGF0ZSB0aGUgYWN0aXZh
dGlvbiB3aXRoCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJv
cGVydGllcygpLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5
VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CisgICAg
ICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gQ2xvc3VyZVZhclBMb2Mp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGFjdGl2YXRpb24tPnZh
cmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoZXhl
Yy0+dm0oKSwgYWN0aXZhdGlvbiwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOworICAgICAg
ICB9CisKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisKKyAgICBkZWZhdWx0OgorICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIH0KK30K
KwogZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVP
YmplY3RJbk9TUigKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxp
emF0aW9uKiBtYXRlcmlhbGl6YXRpb24sIEVuY29kZWRKU1ZhbHVlKiB2YWx1ZXMpCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNv
ZGVCbG9jaygpOwogCiAgICAgLy8gV2UgY2Fubm90IEdDLiBXZSd2ZSBnb3QgcG9pbnRlcnMgaW4g
ZXZpbCBwbGFjZXMuCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOwogICAg
IAogICAgIHN3aXRjaCAobWF0ZXJpYWxpemF0aW9uLT50eXBlKCkpIHsKICAgICBjYXNlIFBoYW50
b21OZXdPYmplY3Q6IHsKLSAgICAgICAgLy8gRmlyc3QgZmlndXJlIG91dCB3aGF0IHRoZSBzdHJ1
Y3R1cmUgaXMuCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RydWN0dXJlIGlzCiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CiAg
ICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6
YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlv
bigpICE9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKFN0cnVjdHVyZVBMb2MpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKKwogICAgICAgICAgICAgc3RydWN0dXJlID0g
anNDYXN0PFN0cnVjdHVyZSo+KEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZSk7
Ci0gICAgCi0gICAgICAgIC8vIExldCdzIGNyZWF0ZSB0aGF0IG9iamVjdCEKKwogICAgICAgICBK
U0ZpbmFsT2JqZWN0KiByZXN1bHQgPSBKU0ZpbmFsT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVy
ZSk7Ci0gICAgCi0gICAgICAgIC8vIE5vdyBmaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9w
dWxhdGUgdGhlIG9iamVjdCB3aXRoLiBVc2UgZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpCi0g
ICAgICAgIC8vIGJlY2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJlIGxvd2VyLWxldmVsIGFuZCBtb3Jl
IGNvbnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQotICAgICAgICAvLyBtYXRlcmlhbGl6
YXRpb24gb2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUgbWluaW1hbCB2aXNp
YmxlIGVmZmVjdHMgb24gdGhlCi0gICAgICAgIC8vIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZCB0
aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZSBm
cm9tIE9TUgotICAgICAgICAvLyBleGl0LgotICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkg
ZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgewotICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6
ZSgpOyBpLS07KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHBy
b3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07Ci0gICAgICAgICAgICAg
ICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQot
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBpZiAoY29kZUJs
b2NrLT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5pbXBsKCkgIT0gZW50
cnkua2V5KQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6
OmRlY29kZSh2YWx1ZXNbaV0pKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIAorCisg
ICAgICAgIC8vIFRoZSByZWFsIHZhbHVlcyB3aWxsIGJlIHB1dCBzdWJzZXF1ZW50bHkgYnkKKyAg
ICAgICAgLy8gb3BlcmF0aW9uUG9wdWxhdGVOZXdPYmplY3RJbk9TUi4gV2UgY2FuJ3QgZmlsbCB0
aGVtIGluCisgICAgICAgIC8vIG5vdywgYmVjYXVzZSB0aGV5IG1heSBub3QgYmUgYXZhaWxhYmxl
IHlldCAodHlwaWNhbGx5CisgICAgICAgIC8vIGJlY2F1c2Ugd2UgaGF2ZSBhIGN5Y2xpYyBkZXBl
bmRlbmN5IGdyYXBoKS4KKworICAgICAgICAvLyBXZSBwdXQgYSBkdW1teSB2YWx1ZSBoZXJlIGlu
IG9yZGVyIHRvIGF2b2lkIHN1cGVyLXN1YnRsZQorICAgICAgICAvLyBHQy1hbmQtT1NSLWV4aXQg
Y3Jhc2hlcyBpbiBjYXNlIHdlIGhhdmUgYSBidWcgYW5kIHNvbWUKKyAgICAgICAgLy8gZmllbGQg
aXMsIGZvciBhbnkgcmVhc29uLCBub3QgZmlsbGVkIGxhdGVyLgorICAgICAgICAvLyBXZSB1c2Ug
YSByYW5kb20taXNoIG51bWJlciBpbnN0ZWFkIG9mIGEgc2Vuc2libGUgdmFsdWUgbGlrZQorICAg
ICAgICAvLyB1bmRlZmluZWQgdG8gbWFrZSBwb3NzaWJsZSBidWdzIGVhc2llciB0byB0cmFjay4K
KyAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9w
ZXJ0aWVzQ29uY3VycmVudGx5KCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwg
ZW50cnkub2Zmc2V0LCBqc051bWJlcigxOTcyMykpOworCiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQogCkBAIC0xMTMsNyArMTc0LDcgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICB9CiAKICAgICBjYXNl
IFBoYW50b21DcmVhdGVBY3RpdmF0aW9uOiB7Ci0gICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hlcmUg
dGhlIHNjb3BlIGlzCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc2NvcGUgYW5kIHN5
bWJvbCB0YWJsZSBhcmUKICAgICAgICAgSlNTY29wZSogc2NvcGUgPSBudWxscHRyOwogICAgICAg
ICBTeW1ib2xUYWJsZSogdGFibGUgPSBudWxscHRyOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKQEAgLTEzMywx
MyArMTk0LDE3IEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1h
dGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiByZXN1
bHQgPSBKU0xleGljYWxFbnZpcm9ubWVudDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIHNjb3BlLCB0
YWJsZSk7CiAKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0
aWVzKCkuc2l6ZSgpIC0gMiA9PSB0YWJsZS0+c2NvcGVTaXplKCkpOwotICAgICAgICAvLyBGaWd1
cmUgb3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhlIGFjdGl2YXRpb24gd2l0aAorCisgICAgICAgIC8v
IFRoZSByZWFsIHZhbHVlcyB3aWxsIGJlIHB1dCBzdWJzZXF1ZW50bHkgYnkKKyAgICAgICAgLy8g
b3BlcmF0aW9uUG9wdWxhdGVOZXdPYmplY3RJbk9TUi4gU2VlIHRoZSBQaGFudG9tTmV3T2JqZWN0
CisgICAgICAgIC8vIGNhc2UgZm9yIGRldGFpbHMuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewogICAgICAgICAg
ICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5w
cm9wZXJ0aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5k
KCkgIT0gQ2xvc3VyZVZhclBMb2MpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg
ICAgICAgIHJlc3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5sb2NhdGlvbigp
LmluZm8oKSkpLnNldChleGVjLT52bSgpLCByZXN1bHQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNb
aV0pKTsKKyAgICAgICAgICAgIHJlc3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0
eS5sb2NhdGlvbigpLmluZm8oKSkpLnNldCgKKyAgICAgICAgICAgICAgICBleGVjLT52bSgpLCBy
ZXN1bHQsIGpzTnVtYmVyKDI5ODM0KSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAodmFsaWRh
dGlvbkVuYWJsZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMu
aAppbmRleCBkMTVmMThlYjlhZGQzMzc5ZmI1Y2YxNDJkZTM0NjEzYzQ4NTc3NTA1Li5hNTU2OGY5
MWIxMTcyYjUxMjlmODgzOTc4M2U3M2JjNmQ4YzgzZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE9wZXJhdGlvbnMuaApAQCAtNDAsNiArNDAsOSBAQCBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0V2l0aEJ1dHRlcmZseShFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmUqKSBXVAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0
SW5PU1IoCiAgICAgRXhlY1N0YXRlKiwgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qLCBF
bmNvZGVkSlNWYWx1ZSopIFdURl9JTlRFUk5BTDsKIAordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblBvcHVsYXRlT2JqZWN0SW5PU1IoCisgICAgRXhlY1N0YXRlKiwgRXhpdFRpbWVPYmplY3RN
YXRlcmlhbGl6YXRpb24qLCBFbmNvZGVkSlNWYWx1ZSosIEVuY29kZWRKU1ZhbHVlKikgV1RGX0lO
VEVSTkFMOworCiB9IC8vIGV4dGVybiAiQyIKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4IGZkMTY4MmNkMzQzMGEz
ZTJjMmM3ZWMwN2EwOWUyZGU1NTFkNTBmODMuLjZmYzdjMzJhMzg2NzdmY2YyYWYxYjBiMmE4NDA5
OTdkZGZkNTczNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAg
LTE4NSw3ICsxODUsNyBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2
KGRvdWJsZSwgbWluaW11bUNhbGxUb0tub3duUmF0ZSwgMC41MSwgbnVsbHB0cikgXAogICAgIHYo
Ym9vbCwgb3B0aW1pemVOYXRpdmVDYWxscywgZmFsc2UsIG51bGxwdHIpIFwKICAgICB2KGJvb2ws
IGVuYWJsZU1vdkhpbnRSZW1vdmFsLCB0cnVlLCBudWxscHRyKSBcCi0gICAgdihib29sLCBlbmFi
bGVPYmplY3RBbGxvY2F0aW9uU2lua2luZywgdHJ1ZSwgbnVsbHB0cikgXAorICAgIHYoYm9vbCwg
ZW5hYmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZywgZmFsc2UsIG51bGxwdHIpIFwKICAgICBcCiAg
ICAgdihib29sLCBlbmFibGVDb25jdXJyZW50SklULCB0cnVlLCAiYWxsb3dzIHRoZSBERkcgLyBG
VEwgY29tcGlsYXRpb24gaW4gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBleGVjdXRpbmcgSlMgdGhy
ZWFkIikgXAogICAgIHYodW5zaWduZWQsIG51bWJlck9mREZHQ29tcGlsZXJUaHJlYWRzLCBjb21w
dXRlTnVtYmVyT2ZXb3JrZXJUaHJlYWRzKDIsIDIpIC0gMSwgbnVsbHB0cikgXApkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc5ZWQyNjY3NWU0ZjYx
NDgwOTk4ZmJhZmRhOTQ3M2RkYzFmN2Y3ZGEuLmI4ZWYyZDc3ZDU4ZDQyMGYwNzhmZmIxOWUxMzJi
ZTk5OWFmMGU2NjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNi0zMCAgQmFzaWxlIENsZW1lbnQgIDxiYXNp
bGVfY2xlbWVudEBhcHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90
IHByZXZlbnQgYWxsb2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDeWNsaWMgYWxsb2NhdGlvbiBzaW5raW5n
IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IGl0CisgICAgICAgIGVuYWJsZWQg
d2hlbiBydW5uaW5nIHRlc3RzLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHM6CisKIDIwMTUtMDYtMzAgIEpvbmF0aGFuIERhdmlzICA8am9uZEBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQWRkZWQgbXlzZWxmIGFzIGEgY29tbWl0dGVyLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9T
Y3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA0OTQxZDdmN2JlODBjNGYwNzhi
OGEwYWI5Zjg1YjVkZGRhMTFmMTg3Li4wNjg5YmU1OGRhNWEwOTU3YWVmMzgxNzBiYmU1MzA1ZjNl
NDdlNDc0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtMTQ0LDYg
KzE0NCw3IEBAIGlmICghZGVmaW5lZCgkcm9vdCkgJiYgJGJ1aWxkSlNDKSB7CiBteSAkcHJvZHVj
dERpciA9IGpzY1Byb2R1Y3REaXIoKTsKICRFTlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJv
ZHVjdERpcjsKICRFTlZ7SlNDX3RpbWVvdXR9ID0gNjAgdW5sZXNzICRFTlZ7SlNDX3RpbWVvdXR9
OyAjIFNldCBhIDYwIHNlY29uZCB0aW1lb3V0IG9uIGFsbCBqc2MgdGVzdHMgKGlmIGVudmlyb25t
ZW50IHZhcmlhYmxlIG5vdCBkZWZpbmVkIGFscmVhZHkpLgorJEVOVntKU0NfZW5hYmxlQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZ30gPSAxIHVubGVzcyBkZWZpbmVkKCRFTlZ7SlNDX2VuYWJsZUFsbG9j
YXRpb25DeWNsZVNpbmtpbmd9KTsKICRFTlZ7VFp9PSJVUy9QYWNpZmljIjsgIyBTb21lIHRlc3Rz
IGZhaWwgaWYgdGhlIHRpbWUgem9uZSBpcyBub3Qgc2V0IHRvIFVTL1BhY2lmaWMgKDxodHRwczov
L3dlYmtpdC5vcmcvYi8xMzYzNjM+KQogc2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAoXCVFTlYp
IGlmIGlzQ3lnd2luKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMGU1NmRjZGU3ZWUwMzJmOTEzMTMwNjRmZWI5YjI4
ZGM3OWQ4NDIzLi41NmY4YzBiMzY1MGJjYTIxOTUxYjUxNTZmMDVjNDUyZWVhOTg1YTY2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMDYtMzAgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2Ns
ZW1lbnRAYXBwbGUuY29tPgorCisgICAgICAgIE9iamVjdCBjeWNsZXMgc2hvdWxkIG5vdCBwcmV2
ZW50IGFsbG9jYXRpb24gZWxpbWluYXRpb24vc2lua2luZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZmV3IG1pY3JvYmVuY2htYXJrcyB0aGF0
IHNob3cgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgd2hlbgorICAgICAgICBzaW5raW5nIG9yIGVs
aW1pbmluYXRpbmcgb2JqZWN0IGN5Y2xlcy4KKworICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0
LXRlc3RzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAoc3Vt
T2ZBcml0aFNlcmllcyk6CisgICAgICAgIChmb28pOgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2Ny
aXB0LXRlc3RzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAoZmFj
dG9yaWFsLmYpOgorICAgICAgICAoZmFjdG9yaWFsKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAg
KHN1bU9mQXJpdGhTZXJpZXMpOgorICAgICAgICAodmVyaWZ5KToKKyAgICAgICAgKGZvbyk6CisK
IDIwMTUtMDYtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByZXZlcnQgYmFkIFdLMSByZWJhc2VsaW5lIGRvbmUgaW4gcjE4NjEwNi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2VsaWRhYmxlLW5l
dy1vYmplY3QtY3ljbGUuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9l
bGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMGI0NDgyNzdiMTIwZWFi
YjAxNzcwODY1MzQyOTRiY2JiYzk3YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCkBAIC0w
LDAgKzEsMjQgQEAKK2Z1bmN0aW9uIHN1bU9mQXJpdGhTZXJpZXMobGltaXQpIHsKKyAgICByZXR1
cm4gbGltaXQgKiAobGltaXQgKyAxKSAvIDI7Cit9CisKK3ZhciBuID0gMTAwMDAwMDA7CisKK2Z1
bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9OworICAgICAgICB2YXIgbGVhZiA9IHtm
OmksIHRyZWU6IHF9OworICAgICAgICB2YXIgbyA9IHtmOmxlYWYsIHRyZWU6IHF9OworICAgICAg
ICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6IHF9OworICAgICAgICBxLmYgPSBvOworICAgICAgICBx
LmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICByZXN1bHQgKz0gcS5mLmYuZjsK
KyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordmFyIHJlc3VsdCA9IGZvbygpOworaWYg
KHJlc3VsdCAhPSBzdW1PZkFyaXRoU2VyaWVzKG4gLSAxKSkKKyAgICB0aHJvdyAiRXJyb3I6IGJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MTQ4ZGJiNDA5YWVkMTlkNDc5NzMxOTE4NGY3M2QyZjQ3ZDM1NGE1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3Vy
ZS1jeWNsZS5qcwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBmYWN0b3JpYWwoeCkgeworICAg
IGlmICh4IDwgMCkgdGhyb3cgIldlIGFyZSBub3QgR2FtbWEiOworCisgICAgaWYgKHggPT09IDAp
CisgICAgICAgIHJldHVybiAxOworCisgICAgZnVuY3Rpb24gZihpLCBhY2MpIHsKKyAgICAgICAg
aWYgKGkgPT09IDEpCisgICAgICAgICAgICByZXR1cm4gYWNjOworICAgICAgICByZXR1cm4gZihp
IC0gMSwgaSAqIGFjYyk7CisgICAgfQorCisgICAgcmV0dXJuIGYoeCwgMSk7Cit9Citub0lubGlu
ZShmYWN0b3JpYWwpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkKKyAgICBm
YWN0b3JpYWwoaSAlIDMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5qcyBiL0xheW91dFRlc3RzL2pzL3Jl
Z3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTYwODE3MjJkZDIzY2E5NzRhNGVkOGIwZGQwMTc4YTAwZjU4NTA2MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1v
YmplY3QtY3ljbGUuanMKQEAgLTAsMCArMSwzOCBAQAorZnVuY3Rpb24gc3VtT2ZBcml0aFNlcmll
cyhsaW1pdCkgeworICAgIHJldHVybiBsaW1pdCAqIChsaW1pdCArIDEpIC8gMjsKK30KKwordmFy
IG4gPSAxMDAwMDAwMDsKKworZnVuY3Rpb24gdmVyaWZ5KHEsIGkpIHsKKyAgICBpZiAocS5mID09
IHEuZykKKyAgICAgICAgdGhyb3cgIkVycm9yOiBxLmYgPT0gcS5nIjsKKyAgICBpZiAocS5mLmYg
IT0gcS5nLmYpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mLmYgIT0gcS5nLmYiOworICAgIGlm
IChxLmYuZi5mICE9IGkpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mLmYuZiAhPSBpIjsKK30K
KworZnVuY3Rpb24gZm9vKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBxID0ge307CisgICAgICAgIHZhciBsZWFm
ID0ge2Y6aSwgdHJlZTpxfTsKKyAgICAgICAgdmFyIG8gPSB7ZjpsZWFmLCB0cmVlOnF9OworICAg
ICAgICB2YXIgcCA9IHtmOmxlYWYsIHRyZWU6cX07CisgICAgICAgIHEuZiA9IG87CisgICAgICAg
IHEuZyA9IHA7CisgICAgICAgIHEudHJlZSA9IHE7CisgICAgICAgIHJlc3VsdCArPSBxLmYuZi5m
OworICAgICAgICBpZiAoIShpICUgMTAwKSkKKyAgICAgICAgICAgIHZlcmlmeShxLCBpKTsKKyAg
ICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbm9JbmxpbmUoZm9vKTsKK25vSW5saW5lKHZl
cmlmeSk7CisKK3ZhciByZXN1bHQgPSBmb28oKTsKK2lmIChyZXN1bHQgIT0gc3VtT2ZBcml0aFNl
cmllcyhuIC0gMSkpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255926</attachid>
            <date>2015-07-01 09:49:22 -0700</date>
            <delta_ts>2015-07-02 11:11:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150701094830.patch</filename>
            <type>text/plain</type>
            <size>185133</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NjdjNjVjZjA3MGRlYjFkZTQwMzQ1MGU1ZDg4YzkyNWI4OTg1ZTFiLi41NDE0OWJkYTc1ZGE4NmUw
ZGMwNzQ0MWRkYzYwNDQxNGFkYjUxZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2OCBAQAogMjAxNS0wNi0zMCAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CiAKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgYWxsb2NhdGlv
biBzaW5raW5nIHBoYXNlIHRoYXQgaXMgYWJsZSB0bworICAgICAgICBzaW5rIGN5Y2xlcywgaW4g
REZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcC4gVGhpcyBwaGFzZQorICAgICAgICBz
dXBlcnNlZGVzIHRoZSBvbGQgYWxsb2NhdGlvbiBzaW5raW5nIHBoYXNlIGluCisgICAgICAgIERG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLCBhcyB0aGF0IHByZXZpb3VzIHBoYXNl
IHdhcyBuZXZlcgorICAgICAgICBhYmxlIHRvIHNpbmsgYWxsb2NhdGlvbiBjeWNsZXMgd2hpbGUg
dGhlIG5ldyBwaGFzZSBzb21ldGltZXMgY2FuOyBzZWUKKyAgICAgICAgREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmNwcCBmb3IgZGV0YWlscy4KKworICAgICAgICBGb3Igbm93LCB0aGUg
bmV3IHNpbmtpbmcgcGhhc2UgaXMga2VwdCBiZWhpbmQgYQorICAgICAgICBKU0NfZW5hYmxlQWxs
b2NhdGlvbkN5Y2xlU2lua2luZyBmbGFnIHRoYXQgcmV2ZXJ0cyB0byB0aGUgb2xkIHNpbmtpbmcK
KyAgICAgICAgcGhhc2Ugd2hlbiBmYWxzZSAoaS5lLiwgYnkgZGVmYXVsdCkuIFRoaXMgYWxzbyBy
ZW1vdmVzIHRoZSBvbGQKKyAgICAgICAgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5n
IGZsYWcuIHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICBkZWZhdWx0cyB0byB1c2lu
ZyB0aGUgbmV3IHNpbmtpbmcgcGhhc2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OkRGRzo6cGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcpOgor
ICAgICAgICAqIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDogQWRkZWQuCisg
ICAgICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmFkZFN0
cnVjdHVyZVNldCk6IEFsbG93IGVtcHR5IHN0cnVjdHVyZSBzZXRzCisgICAgICAgICogZGZnL0RG
R0xhenlOb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMYXp5Tm9kZTo6ZHVtcCk6IFByZXR0
aWVyIGR1bXAKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6OmNlbGxPcGVyYW5kKTogTW92ZSB0byBvcEluZm8gZm9yIE1hdGVyaWFsaXplQ3JlYXRlQWN0
aXZhdGlvbgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1N0cnVjdHVyZVNldCk6IEFkZCBN
YXRlcmlhbGl6ZU5ld09iamVjdAorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Om9iamVjdE1hdGVy
aWFsaXphdGlvbkRhdGEpOiBNb3ZlIHRvIG9wSW5mbzIKKyAgICAgICAgKiBkZmcvREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA6IFJlbW92ZSB1bnVzZWQgaGVhZGVyCisgICAgICAg
ICogZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwOiBNYXRlcmlhbGl6ZU5l
d09iamVjdC9NYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24gY2hhbmdlZAorICAgICAgICAoSlND
OjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6
OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6bG93ZXJOb25SZWFkaW5nT3BlcmF0
aW9uc09uUGhhbnRvbUFsbG9jYXRpb25zKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxv
Y2F0aW9uU2lua2luZ1BoYXNlOjpmaWxsU3RydWN0dXJlU2V0cyk6CisgICAgICAgIChKU0M6OkRG
Rzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6Y3JlYXRlTWF0ZXJpYWxpemUpOgorICAg
ICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnBvcHVsYXRlTWF0
ZXJpYWxpemUpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRI
ZWFwTG9jYXRpb24uaDogQWRkIGEgaGFzaCBhbmQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpE
Rkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVyYXRvciBib29sKToKKyAgICAgICAg
KEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2g6Omhhc2gpOgorICAgICAg
ICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6ZXF1YWwpOgorICAg
ICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpuZWVkZWRGb3JNYXRl
cmlhbGl6YXRpb24pOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKTogQXNzZXJ0IHRoYXQgbW9zdCBub2RlcyBu
ZXZlciBzZWUgYSBwaGFudG9tIGFsbG9jYXRpb24KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwOiAKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21w
aWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOiBVc2UgdGhlIG5ldyBzdHJ1Y3R1cmVTZXQoKSBvcGVy
YW5kCisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVy
aWFsaXplQ3JlYXRlQWN0aXZhdGlvbik6IE5vZGUgaGFzIGEgbmV3IGNoaWxkCisgICAgICAgICog
ZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHA6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVz
CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0bC9GVExPcGVy
YXRpb25zLmNwcDogSGFuZGxlIG1hdGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6
RlRMOjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpv
cGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0
aW9ucy5oOiBIYW5kbGUgbWF0ZXJpYWxpemF0aW9uIGN5Y2xlcworICAgICAgICAqIHJ1bnRpbWUv
T3B0aW9ucy5oOiBSZW1vdmUgb2xkIEpTQ19lbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZyBh
bmQgYWRkIEpTQ19lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nCisKKzIwMTUtMDYtMzAgIEJh
c2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgorCiAgICAgICAgIEFsbG93
IG9iamVjdCBhbGxvY2F0aW9uIHNpbmtpbmcgdGhyb3VnaCBHZXRTY29wZSwgR2V0RXhlY3V0YWJs
ZSBhbmQgU2tpcFNjb3BlIG5vZGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDY0MzEKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDNjOTQwYjRhNWIyNTQzY2QxNGJjZWQ1OGIwMmMxYjk4MTU2OWJjNGIuLjEwMzIxZDM2NGEw
ZjI5NWVkNjM4ZjA5NDFmYjUwYjJiY2JlMGIzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTEyNiw2ICsxMjYsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwog
CiAgICAgZGZnL0RGR0Fic3RyYWN0SGVhcC5jcHAKICAgICBkZmcvREZHQWJzdHJhY3RWYWx1ZS5j
cHAKKyAgICBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcAogICAgIGRmZy9E
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdBcmd1bWVudHNVdGls
aXRpZXMuY3BwCiAgICAgZGZnL0RGR0FyaXRoTW9kZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCmluZGV4IGIxNDJhNmEyYzY2NzQzMDA3YWU5YjVjMmFiN2NiZDhkMWQx
ZDc5MTAuLjc1ZDA0MjY0ZjQxOTI5MmYyNzg5ZTI5YzBmMDBlZjk3YjExYWVjMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtMzY0LDYgKzM2NCw3IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZWJ1Z2dlclxEZWJ1Z2dlclNjb3BlLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBYnN0cmFjdEhlYXAuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0VmFsdWUuY3BwIiAvPgorICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFz
ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRzRWxp
bWluYXRpb25QaGFzZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZH
QXJndW1lbnRzVXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRm
Z1xERkdBcml0aE1vZGUuY3BwIiAvPgpAQCAtMTAzNyw2ICsxMDM4LDcgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBYnN0cmFjdFZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWRqYWNlbmN5TGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRvci5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FuYWx5c2lzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRQb3NpdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZGZnXERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBkM2Uw
MmUzZDQzNDA3ZGIxZjI3YjRhM2JmMzQwZmE1NjFmZjNjYjQ1Li45YzU0MzAwZDE2ZDQyMzZhNmMy
ZTgzMThjODk2NjZkYTE4YmQ5ZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0xNjgwLDYgKzE2ODAsOSBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwIj4KICAgICAg
IDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCI+CisgICAg
ICA8RmlsdGVyPmRmZzwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cZGZnXERGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzM5MSw2ICszMzk0
LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxvY2F0b3IuaCI+CiAg
ICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIj4KKyAg
ICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQW5hbHlzaXMuaCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
ODhlYTAwODhlYmJiNDViNjEzNWZiMGZlZmYwZTc2ODVlYzUyYTRlLi4yMjIzYmU5ZGMyZDY5Mjlk
ZjAwNTU2OTlmYWQ5ZGQ5YTQ5ZTcwMGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTYyLDYgKzk2Miw4IEBACiAJCTVEQkIxNTFCMTMxRDBCMzEwMDU2QUQzNiAvKiB0ZXN0YXBp
LmpzIGluIENvcHkgU3VwcG9ydCBTY3JpcHQgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTREODU3NzQwQTQ2OTZDODAwMzIxNDZDIC8qIHRlc3RhcGkuanMgKi87IH07CiAJCTVE
QkIxNTI1MTMxRDBCRDcwMDU2QUQzNiAvKiBtaW5pZG9tLmpzIGluIENvcHkgU3VwcG9ydCBTY3Jp
cHQgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxMjExMEQwQTQ4Nzg4NzAw
NDgwMjU1IC8qIG1pbmlkb20uanMgKi87IH07CiAJCTVERTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAv
KiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY2OTJBODU0MDI1NTU5N0QwMUZGNjBGNyAvKiBjcmVhdGVfaGFzaF90YWJsZSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQk2Mjc3Q0MyMjFCM0RFMjU4
MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNzdDQzIwMUIzREUyNTgwMEQx
NkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwICovOyB9OworCQk2Mjc3
Q0MyMzFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2Mjc3Q0MyMTFC
M0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggKi87IH07
CiAJCTYyRDJEMzhGMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyRDJEMzhEMUFERjEw
M0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmNwcCAqLzsgfTsKIAkJNjJEMkQzOTAxQURG
MTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyRDJEMzhFMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5j
dGlvblJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNjJGMkFBMzcxQjBCRURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQTlBMjlFMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi87IH07CkBAIC0yNjc5LDYgKzI2ODEsOCBA
QAogCQk1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQgLyogSlNDLnhjY29uZmlnICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0
aCA9IEpTQy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUREREY0NDYx
NEZFRTcyMjAwQjRGQjREIC8qIExMSW50RGVzaXJlZE9mZnNldHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTExJbnREZXNpcmVkT2Zmc2V0cy5oOyBwYXRoID0gTExJbnRPZmZz
ZXRzL0xMSW50RGVzaXJlZE9mZnNldHMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKIAkJNURFM0QwRjQwREQ4RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWlsYWJpbGl0eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRBdmFpbGFiaWxpdHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjI3N0NDMjAxQjNERTI1ODAwRDE2RDJFIC8q
IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTYyNzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9u
Q3ljbGVTaW5raW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyQTlBMjlF
MUIwQkVENDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdMYXp5Tm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTGF6eU5vZGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0
Q0EgLyogREZHTGF6eU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
TGF6eU5vZGUuaDsgcGF0aCA9IGRmZy9ERkdMYXp5Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MkQyRDM4RDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGdW5jdGlvblJhcmVEYXRh
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NTIsNiArNDg1Niw4IEBACiAJ
CQkJMEY1NUMxOTMxNzI3NkU0NjAwQ0VBQkZEIC8qIERGR0Fic3RyYWN0VmFsdWUuY3BwICovLAog
CQkJCTBGNjIwMTZGMTQzRkNEMkYwMDY4Qjc3QyAvKiBERkdBYnN0cmFjdFZhbHVlLmggKi8sCiAJ
CQkJMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLywKKwkJ
CQk2Mjc3Q0MyMDFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1Bo
YXNlLmNwcCAqLywKKwkJCQk2Mjc3Q0MyMTFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxsb2NhdGlv
bkN5Y2xlU2lua2luZ1BoYXNlLmggKi8sCiAJCQkJMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8q
IERGR0FsbG9jYXRvci5oICovLAogCQkJCUE3Mzc4MTA5MTc5OUVBMkUwMDgxNzUzMyAvKiBERkdB
bmFseXNpcy5oICovLAogCQkJCTBGMUUzQTQzMTUzNENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVu
dFBvc2l0aW9uLmggKi8sCkBAIC02MTI2LDYgKzYxMzIsNyBAQAogCQkJCTBGMkI2NkU5MTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYy
QjY2RUExN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTdCREFFQ0IxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjI3N0NDMjMxQjNERTI1ODAwRDE2RDJFIC8qIERGR0Fs
bG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTgw
RTE2RjVDRDAwQjM0NDYwIC8qIEpTQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyRDRERTkx
OTgzMkRBQzAwN0Q0QjE5IC8qIFRvVGhpc1N0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQw
RDE3RDcwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLApA
QCAtNzEwMSw2ICs3MTA4LDcgQEAKIAkJCQkwRkM3MTJERTE3Q0Q4Nzc5MDA4Q0M5M0MgLyogRGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3N0E0MjNE
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY1NUMxOTQxNzI3NkU0NjAwQ0VBQkZEIC8qIERGR0Fic3RyYWN0VmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjI3N0NDMjIxQjNERTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25D
eWNsZVNpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMyMTE4Nzc1MDU2
MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMkQ0RERE
MTk4MzJEMzQwMDdENEIxOSAvKiBEZWJ1Z2dlclNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNjM5NDg0MTVFNDgxMTgwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25D
eWNsZVNpbmtpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9j
YXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JkYjhmNWJhNzUyNjUxNTI0
OTA3Njk1NGMyYWJlMWJkZTI4NDczMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcApAQCAtMCwwICsx
LDIxMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1Bo
YXNlLmgiCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworI2luY2x1ZGUgIkRGR0Jsb2NrTWFwSW5s
aW5lcy5oIgorI2luY2x1ZGUgIkRGR0NvbWJpbmVkTGl2ZW5lc3MuaCIKKyNpbmNsdWRlICJERkdH
cmFwaC5oIgorI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgorI2luY2x1ZGUgIkRGR0xhenlO
b2RlLmgiCisjaW5jbHVkZSAiREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmgiCisjaW5jbHVkZSAi
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1BoYXNlLmgi
CisjaW5jbHVkZSAiREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaCIKKyNpbmNsdWRlICJERkdTU0FD
YWxjdWxhdG9yLmgiCisjaW5jbHVkZSAiREZHVmFsaWRhdGUuaCIKKyNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCisKKyNpbmNsdWRlIDxsaXN0PgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERG
RyB7CisKK25hbWVzcGFjZSB7CisKK2Jvb2wgdmVyYm9zZSA9IGZhbHNlOworCisvLyBJbiBvcmRl
ciB0byBzaW5rIG9iamVjdCBjeWNsZXMsIHdlIHVzZSBhIHBvaW50cy10byBhbmFseXNpcyBjb3Vw
bGVkCisvLyB3aXRoIGFuIGVzY2FwZSBhbmFseXNpcy4gVGhpcyBhbmFseXNpcyBpcyBhY3R1YWxs
eSBzaW1pbGFyIHRvIGFuCisvLyBhYnN0cmFjdCBpbnRlcnByZXRlciBmb2N1c2VkIG9uIGxvY2Fs
IGFsbG9jYXRpb25zIGFuZCBpZ25vcmluZworLy8gZXZlcnl0aGluZyBlbHNlLgorLy8KKy8vIFdl
IHJlcHJlc2VudCB0aGUgbG9jYWwgaGVhcCB1c2luZyB0d28gbWFwcGluZ3M6CisvLworLy8gLSBB
IHNldCBvZiB0aGUgbG9jYWwgYWxsb2NhdGlvbnMgcHJlc2VudCBpbiB0aGUgZnVuY3Rpb24sIHdo
ZXJlCisvLyAgIGVhY2ggb2YgdGhvc2UgaGF2ZSBhIGZ1cnRoZXIgbWFwcGluZyBmcm9tCisvLyAg
IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIHRvIGxvY2FsIGFsbG9jYXRpb25zIHRoZXkgbXVz
dCBwb2ludAorLy8gICB0by4KKy8vCisvLyAtIEEgInBvaW50ZXIiIG1hcHBpbmcgZnJvbSBub2Rl
cyB0byBsb2NhbCBhbGxvY2F0aW9ucywgaWYgdGhleSBtdXN0CisvLyAgIGJlIGVxdWFsIHRvIHNh
aWQgbG9jYWwgYWxsb2NhdGlvbiBhbmQgYXJlIGN1cnJlbnRseSBsaXZlLiBUaGlzCisvLyAgIGNh
biBiZSBiZWNhdXNlIHRoZSBub2RlIGlzIHRoZSBhY3R1YWwgbm9kZSB0aGF0IGNyZWF0ZWQgdGhl
CisvLyAgIGFsbG9jYXRpb24sIG9yIGFueSBvdGhlciBub2RlIHRoYXQgbXVzdCBjdXJyZW50bHkg
cG9pbnQgdG8gaXQgLQorLy8gICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVyZW5jZS4KKy8vCisvLyBU
aGUgZm9sbG93aW5nIGdyYXBoIGlzIGEgbW90aXZhdGlvbiBmb3Igd2h5IHdlIHNlcGFyYXRlIGFs
bG9jYXRpb25zCisvLyBmcm9tIHBvaW50ZXJzOgorLy8KKy8vIEJsb2NrICMwCisvLyAgMDogTmV3
T2JqZWN0KHt9KQorLy8gIDE6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwg
QDEsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAyOiBHZXRCeU9mZnNl
dChAMCwgeCkKKy8vICAtOiBKdW1wKCMxKQorLy8KKy8vIEJsb2NrICMxCisvLyAgLTogUmV0dXJu
KEAyKQorLy8KKy8vIEhlcmUsIHdlIG5lZWQgdG8gcmVtZW1iZXIgaW4gYmxvY2sgIzEgdGhhdCBA
MiBwb2ludHMgdG8gYSBsb2NhbAorLy8gYWxsb2NhdGlvbiB3aXRoIGFwcHJvcHJpYXRlIGZpZWxk
cyBhbmQgc3RydWN0dXJlcyBpbmZvcm1hdGlvbgorLy8gKGJlY2F1c2Ugd2Ugc2hvdWxkIGJlIGFi
bGUgdG8gcGxhY2UgYSBtYXRlcmlhbGl6YXRpb24gb24gdG9wIG9mCisvLyBibG9jayAjMSBoZXJl
KSwgZXZlbiB0aG91Z2ggQDEgaXMgZGVhZC4gV2UgKmNvdWxkKiBqdXN0IGtlZXAgQDEKKy8vIGFy
dGlmaWNpYWxseSBhbGl2ZSBoZXJlLCBidXQgdGhlcmUgaXMgbm8gcmVhbCByZWFzb24gdG8gZG8g
aXQ6CisvLyBhZnRlciBhbGwsIGJ5IHRoZSBlbmQgb2YgYmxvY2sgIzAsIEAxIGFuZCBAMiBzaG91
bGQgYmUgY29tcGxldGVseQorLy8gaW50ZXJjaGFuZ2VhYmxlLCBhbmQgdGhlcmUgaXMgbm8gcmVh
c29uIGZvciB1cyB0byBhcnRpZmljaWFsbHkgbWFrZQorLy8gQDEgbW9yZSBpbXBvcnRhbnQuCisv
LworLy8gQW4gaW1wb3J0YW50IHBvaW50IHRvIGNvbnNpZGVyIHRvIHVuZGVyc3RhbmQgdGhpcyBz
ZXBhcmF0aW9uIGlzCisvLyB0aGF0IHdlIHNob3VsZCB0aGluayBvZiB0aGUgbG9jYWwgaGVhcCBh
cyBmb2xsb3c6IHdlIGhhdmUgYQorLy8gYnVuY2ggb2Ygbm9kZXMgdGhhdCBhcmUgcG9pbnRlcnMg
dG8gImFsbG9jYXRpb25zIiB0aGF0IGxpdmUKKy8vIHNvbWVwbGFjZSBvbiB0aGUgaGVhcCwgYW5k
IHRob3NlIGFsbG9jYXRpb25zIGNhbiBoYXZlIHBvaW50ZXJzIGluCisvLyBiZXR3ZWVuIHRoZW1z
ZWx2ZXMgYXMgd2VsbC4gV2Ugc2hvdWxkbid0IGNhcmUgYWJvdXQgd2hhdGV2ZXIKKy8vIG5hbWVz
IHdlIGdpdmUgdG8gdGhlIGFsbG9jYXRpb25zIDsgd2hhdCBtYXR0ZXJzIHdoZW4KKy8vIGNvbXBh
cmluZy9tZXJnaW5nIHR3byBoZWFwcyBpcyB0aGUgaXNvbW9ycGhpc20vY29tcGFyaXNvbiBiZXR3
ZWVuCisvLyB0aGUgYWxsb2NhdGlvbiBncmFwaHMgYXMgc2VlbiBieSB0aGUgbm9kZXMuCisvLwor
Ly8gRm9yIGluc3RhbmNlLCBpbiB0aGUgZm9sbG93aW5nIGdyYXBoOgorLy8KKy8vIEJsb2NrICMw
CisvLyAgMDogTmV3T2JqZWN0KHt9KQorLy8gIC06IEJyYW5jaCgjMSwgIzIpCisvLworLy8gQmxv
Y2sgIzEKKy8vICAxOiBOZXdPYmplY3Qoe30pCisvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4
KQorLy8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisvLyAgLTogSnVtcCgjMykKKy8vCisv
LyBCbG9jayAjMgorLy8gIDI6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMiwg
dW5kZWZpbmVkLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShAMiwge3g6MH0pCisvLyAgLTogUHV0
QnlPZmZzZXQoQDAsIEAyLCB4KQorLy8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisvLyAg
LTogSnVtcCgjMykKKy8vCisvLyBCbG9jayAjMworLy8gIC06IFJldHVybihAMCkKKy8vCisvLyB3
ZSBzaG91bGQgdGhpbmsgb2YgdGhlIGhlYXBzIGF0IHRhaWwgb2YgYmxvY2tzICMxIGFuZCAjMiBh
cyBiZWluZworLy8gZXhhY3RseSB0aGUgc2FtZSwgZXZlbiB0aG91Z2ggb25lIGhhcyBAMC54IHBv
aW50aW5nIHRvIEAxIGFuZCB0aGUKKy8vIG90aGVyIGhhcyBAMC54IHBvaW50aW5nIHRvIEAyLCBi
ZWNhdXNlIGluIGVzc2VuY2UgdGhpcyBzaG91bGQgbm90CisvLyBiZSBkaWZmZXJlbnQgZnJvbSB0
aGUgZ3JhcGggd2hlcmUgd2UgaG9pc3RlZCBAMSBhbmQgQDIgaW50byBhCisvLyBzaW5nbGUgYWxs
b2NhdGlvbiBpbiBibG9jayAjMC4gV2UgY3VycmVudGx5IHdpbGwgbm90IGhhbmRsZSB0aGlzCisv
LyBjYXNlLCBiZWNhdXNlIHdlIG1lcmdlIGFsbG9jYXRpb25zIGJhc2VkIG9uIHRoZSBub2RlIHRo
ZXkgYXJlCisvLyBjb21pbmcgZnJvbSwgYnV0IHRoaXMgaXMgb25seSBhIHRlY2huaWNhbGl0eSBm
b3IgdGhlIHNha2Ugb2YKKy8vIHNpbXBsaWNpdHkgdGhhdCBzaG91bGRuJ3QgaGlkZSB0aGUgZGVl
cGVyIGlkZWEgb3V0bGluZWQgaGVyZS4KKworY2xhc3MgQWxsb2NhdGlvbiB7CitwdWJsaWM6Cisg
ICAgLy8gV2UgdXNlIEVzY2FwZWQgYXMgYSBzcGVjaWFsIGFsbG9jYXRpb24ga2luZCBiZWNhdXNl
IHdoZW4gd2UKKyAgICAvLyBkZWNpZGUgdG8gc2luayBhbiBhbGxvY2F0aW9uLCB3ZSBzdGlsbCBu
ZWVkIHRvIGtlZXAgdHJhY2sgb2YgaXQKKyAgICAvLyBvbmNlIGl0IGlzIGVzY2FwZWQgaWYgaXQg
c3RpbGwgaGFzIHBvaW50ZXJzIHRvIGl0IGluIG9yZGVyIHRvCisgICAgLy8gcmVwbGFjZSBhbnkg
dXNlIG9mIHRob3NlIHBvaW50ZXJzIGJ5IHRoZSBjb3JyZXNwb25kaW5nCisgICAgLy8gbWF0ZXJp
YWxpemF0aW9uCisgICAgZW51bSBjbGFzcyBLaW5kIHsgRXNjYXBlZCwgT2JqZWN0LCBBY3RpdmF0
aW9uLCBGdW5jdGlvbiB9OworCisgICAgZXhwbGljaXQgQWxsb2NhdGlvbihOb2RlKiBpZGVudGlm
aWVyID0gbnVsbHB0ciwgS2luZCBraW5kID0gS2luZDo6RXNjYXBlZCkKKyAgICAgICAgOiBtX2lk
ZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAgICAgLCBtX2tpbmQoa2luZCkKKyAgICB7CisgICAg
fQorCisKKyAgICBjb25zdCBIYXNoTWFwPFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yLCBOb2Rl
Kj4mIGZpZWxkcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9maWVsZHM7CisgICAg
fQorCisgICAgTm9kZSogZ2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3Ip
CisgICAgeworICAgICAgICByZXR1cm4gbV9maWVsZHMuZ2V0KGRlc2NyaXB0b3IpOworICAgIH0K
KworICAgIEFsbG9jYXRpb24mIHNldChQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBkZXNjcmlw
dG9yLCBOb2RlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIC8vIFBvaW50aW5nIHRvIGFueXRoaW5n
IGVsc2UgdGhhbiBhbiB1bmVzY2FwZWQgbG9jYWwKKyAgICAgICAgLy8gYWxsb2NhdGlvbiBpcyBy
ZXByZXNlbnRlZCBieSBzaW1wbHkgbm90IGhhdmluZyB0aGUKKyAgICAgICAgLy8gZmllbGQKKyAg
ICAgICAgaWYgKHZhbHVlKQorICAgICAgICAgICAgbV9maWVsZHMuc2V0KGRlc2NyaXB0b3IsIHZh
bHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9maWVsZHMucmVtb3ZlKGRlc2NyaXB0
b3IpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCByZW1vdmUoUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7CisgICAgICAgIHNldChk
ZXNjcmlwdG9yLCBudWxscHRyKTsKKyAgICB9CisKKyAgICBib29sIGhhc1N0cnVjdHVyZXMoKSBj
b25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kKCkpIHsKKyAgICAgICAgY2FzZSBLaW5k
OjpPYmplY3Q6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgQWxsb2Nh
dGlvbiYgc2V0U3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAg
eworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpICYmICFzdHJ1Y3R1cmVzLmlzRW1wdHko
KSk7CisgICAgICAgIG1fc3RydWN0dXJlcyA9IHN0cnVjdHVyZXM7CisgICAgICAgIHJldHVybiAq
dGhpczsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBtZXJnZVN0cnVjdHVyZXMoY29uc3QgU3Ry
dWN0dXJlU2V0JiBzdHJ1Y3R1cmVzKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1N0cnVjdHVy
ZXMoKSB8fCBzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RydWN0dXJlcy5tZXJn
ZShzdHJ1Y3R1cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIEFsbG9j
YXRpb24mIGZpbHRlclN0cnVjdHVyZXMoY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVzKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1N0cnVjdHVyZXMoKSk7CisgICAgICAgIG1fc3RydWN0
dXJlcy5maWx0ZXIoc3RydWN0dXJlcyk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisK
KyAgICBjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fc3RydWN0dXJlczsKKyAgICB9CisKKyAgICBOb2RlKiBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICBLaW5kIGtpbmQoKSBjb25zdCB7
IHJldHVybiBtX2tpbmQ7IH0KKworICAgIGJvb2wgaXNFc2NhcGVkQWxsb2NhdGlvbigpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4ga2luZCgpID09IEtpbmQ6OkVzY2FwZWQ7CisgICAgfQor
CisgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fa2luZCA9PSBLaW5kOjpPYmplY3Q7CisgICAgfQorCisgICAgYm9vbCBpc0FjdGl2YXRp
b25BbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2tpbmQgPT0gS2lu
ZDo6QWN0aXZhdGlvbjsKKyAgICB9CisKKyAgICBib29sIGlzRnVuY3Rpb25BbGxvY2F0aW9uKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2tpbmQgPT0gS2luZDo6RnVuY3Rpb247Cisg
ICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFsbG9jYXRpb24mIG90aGVyKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faWRlbnRpZmllciA9PSBvdGhlci5tX2lkZW50aWZp
ZXIKKyAgICAgICAgICAgICYmIG1fa2luZCA9PSBvdGhlci5tX2tpbmQKKyAgICAgICAgICAgICYm
IG1fZmllbGRzID09IG90aGVyLm1fZmllbGRzCisgICAgICAgICAgICAmJiBtX3N0cnVjdHVyZXMg
PT0gb3RoZXIubV9zdHJ1Y3R1cmVzOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShjb25z
dCBBbGxvY2F0aW9uJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlz
ID09IG90aGVyKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3QKKyAgICB7CisgICAgICAgIGR1bXBJbkNvbnRleHQob3V0LCBudWxscHRyKTsKKyAgICB9CisK
KyAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNv
bnRleHQpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fa2luZCkgeworICAgICAgICBj
YXNlIEtpbmQ6OkVzY2FwZWQ6CisgICAgICAgICAgICBvdXQucHJpbnQoIkVzY2FwZWQiKTsKKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgS2luZDo6T2JqZWN0OgorICAgICAgICAg
ICAgb3V0LnByaW50KCJPYmplY3QiKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgS2luZDo6RnVuY3Rpb246CisgICAgICAgICAgICBvdXQucHJpbnQoIkZ1bmN0aW9uIik7Cisg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEtpbmQ6OkFjdGl2YXRpb246CisgICAg
ICAgICAgICBvdXQucHJpbnQoIkFjdGl2YXRpb24iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgICAgIG91dC5wcmludCgiQWxsb2NhdGlvbigiKTsKKyAgICAgICAgaWYgKCFt
X3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgb3V0LnByaW50KGluQ29udGV4dCht
X3N0cnVjdHVyZXMsIGNvbnRleHQpKTsKKyAgICAgICAgaWYgKCFtX2ZpZWxkcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgIGlmICghbV9zdHJ1Y3R1cmVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
ICAgICBvdXQucHJpbnQoIiwgIik7CisgICAgICAgICAgICBvdXQucHJpbnQobWFwRHVtcChtX2Zp
ZWxkcywgIiA9PiAjIiwgIiwgIikpOworICAgICAgICB9CisgICAgICAgIG91dC5wcmludCgiKSIp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBOb2RlKiBtX2lkZW50aWZpZXI7IC8vIFRoaXMgaXMg
dGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUgYWxsb2NhdGlvbgorICAgIEtpbmQgbV9r
aW5kOworICAgIEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiBtX2Zp
ZWxkczsKKyAgICBTdHJ1Y3R1cmVTZXQgbV9zdHJ1Y3R1cmVzOworfTsKKworY2xhc3MgTG9jYWxI
ZWFwIHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0aW9uJiBuZXdBbGxvY2F0aW9uKE5vZGUqIG5vZGUs
IEFsbG9jYXRpb246OktpbmQga2luZCkKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9wb2ludGVy
cy5jb250YWlucyhub2RlKSAmJiAhaXNBbGxvY2F0aW9uKG5vZGUpKTsKKyAgICAgICAgbV9wb2lu
dGVycy5hZGQobm9kZSwgbm9kZSk7CisgICAgICAgIHJldHVybiBtX2FsbG9jYXRpb25zLnNldChu
b2RlLCBBbGxvY2F0aW9uKG5vZGUsIGtpbmQpKS5pdGVyYXRvci0+dmFsdWU7CisgICAgfQorCisg
ICAgYm9vbCBpc0FsbG9jYXRpb24oTm9kZSogaWRlbnRpZmllcikgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX2FsbG9jYXRpb25zLmNvbnRhaW5zKGlkZW50aWZpZXIpOworICAgIH0KKwor
ICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIGZ1bmRhbWVudGFsbHkgZGlmZmVyZW50IGZyb20KKyAg
ICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKCkgYmVsb3cuIGdldEFsbG9jYXRpb24oKSB0YWtlcyBh
cyBhcmd1bWVudAorICAgIC8vIGEgbm9kZS1hcy1pZGVudGlmaWVyLCB0aGF0IGlzLCBhbiBhbGxv
Y2F0aW9uIG5vZGUuIFRoaXMKKyAgICAvLyBhbGxvY2F0aW9uIG5vZGUgZG9lc24ndCBoYXZlIHRv
IGJlIGFsaXZlOyBpdCBtYXkgb25seSBiZQorICAgIC8vIHBvaW50ZWQgdG8gYnkgb3RoZXIgbm9k
ZXMgb3IgYWxsb2NhdGlvbiBmaWVsZHMuCisgICAgLy8gRm9yIGluc3RhbmNlLCBpbiB0aGUgZm9s
bG93aW5nIGdyYXBoOgorICAgIC8vCisgICAgLy8gQmxvY2sgIzAKKyAgICAvLyAgMDogTmV3T2Jq
ZWN0KHt9KQorICAgIC8vICAxOiBOZXdPYmplY3Qoe30pCisgICAgLy8gIC06IFB1dEJ5T2Zmc2V0
KEAwLCBAMSwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAvLyAg
MjogR2V0QnlPZmZzZXQoQDAsIHgpCisgICAgLy8gIC06IEp1bXAoIzEpCisgICAgLy8KKyAgICAv
LyBCbG9jayAjMQorICAgIC8vICAtOiBSZXR1cm4oQDIpCisgICAgLy8KKyAgICAvLyBBdCBoZWFk
IG9mIGJsb2NrICMxLCB0aGUgb25seSByZWFjaGFibGUgYWxsb2NhdGlvbiBpcyAjQDEsCisgICAg
Ly8gd2hpY2ggY2FuIGJlIHJlYWNoZWQgdGhyb3VnaCBub2RlIEAyLiBUaHVzLCBnZXRBbGxvY2F0
aW9uKCNAMSkKKyAgICAvLyBjb250YWlucyB0aGUgYXBwcm9wcmlhdGUgbWV0YWRhdGEgZm9yIHRo
aXMgYWxsb2NhdGlvbiwgYnV0CisgICAgLy8gb25seUxvY2FsQWxsb2NhdGlvbihAMSkgaXMgbnVs
bCwgYXMgQDEgaXMgbm8gbG9uZ2VyIGEgcG9pbnRlcgorICAgIC8vIHRvICNAMSAoc2luY2UgaXQg
aXMgZGVhZCkuIENvbnZlcnNlbHksIG9ubHlMb2NhbEFsbG9jYXRpb24oQDIpCisgICAgLy8gaXMg
dGhlIHNhbWUgYXMgZ2V0QWxsb2NhdGlvbigjQDEpLCB3aGlsZSBnZXRBbGxvY2F0aW9uKCNAMikK
KyAgICAvLyBkb2VzIG5vdCBtYWtlIHNlbnNlIHNpbmNlIEAyIGlzIG5vdCBhbiBhbGxvY2F0aW9u
IG5vZGUuCisgICAgLy8KKyAgICAvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgd2hlbiB0aGUg
bm9kZSBpcyBhbHJlYWR5IGtub3duIHRvIGJlCisgICAgLy8gYW4gaWRlbnRpZmllciAoaS5lLiBh
biBhbGxvY2F0aW9uKSAtIHByb2JhYmx5IGJlY2F1c2UgaXQgd2FzCisgICAgLy8gZm91bmQgYXMg
dmFsdWUgb2YgYSBmaWVsZCBvciBwb2ludGVyIGluIHRoZSBjdXJyZW50IGhlYXAsIG9yCisgICAg
Ly8gd2FzIHRoZSByZXN1bHQgb2YgYSBjYWxsIHRvIGZvbGxvdygpLiBJbiBhbnkgb3RoZXIgY2Fz
ZXMgKHN1Y2gKKyAgICAvLyBhcyB3aGVuIGRvaW5nIGFueXRoaW5nIHdoaWxlIHRyYXZlcnNpbmcg
dGhlIGdyYXBoKSwgdGhlCisgICAgLy8gYXBwcm9wcmlhdGUgZnVuY3Rpb24gdG8gY2FsbCBpcyBw
cm9iYWJseSBvbmx5TG9jYWxBbGxvY2F0aW9uLgorICAgIEFsbG9jYXRpb24mIGdldEFsbG9jYXRp
b24oTm9kZSogaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGF1dG8gaXRlciA9IG1fYWxsb2Nh
dGlvbnMuZmluZChpZGVudGlmaWVyKTsKKyAgICAgICAgQVNTRVJUKGl0ZXIgIT0gbV9hbGxvY2F0
aW9ucy5lbmQoKSk7CisgICAgICAgIHJldHVybiBpdGVyLT52YWx1ZTsKKyAgICB9CisKKyAgICB2
b2lkIG5ld1BvaW50ZXIoTm9kZSogbm9kZSwgTm9kZSogaWRlbnRpZmllcikKKyAgICB7CisgICAg
ICAgIEFTU0VSVCghbV9hbGxvY2F0aW9ucy5jb250YWlucyhub2RlKSAmJiAhbV9wb2ludGVycy5j
b250YWlucyhub2RlKSk7CisgICAgICAgIEFTU0VSVChpc0FsbG9jYXRpb24oaWRlbnRpZmllcikp
OworICAgICAgICBtX3BvaW50ZXJzLmFkZChub2RlLCBpZGVudGlmaWVyKTsKKyAgICB9CisKKyAg
ICAvLyBmb2xsb3cgc29sdmVzIHRoZSBwb2ludHMtdG8gcHJvYmxlbS4gR2l2ZW4gYSBsaXZlIG5v
ZGUsIHdoaWNoCisgICAgLy8gbWF5IGJlIGVpdGhlciBhbiBhbGxvY2F0aW9uIGl0c2VsZiBvciBh
IGhlYXAgcmVhZCAoZS5nLiBhCisgICAgLy8gR2V0QnlPZmZzZXQgbm9kZSksIGl0IHJldHVybnMg
dGhlIGNvcnJlc3BvbmRpbmcgYWxsb2NhdGlvbgorICAgIC8vIG5vZGUsIGlmIHRoZXJlIGlzIG9u
ZS4gSWYgdGhlIGFyZ3VtZW50IG5vZGUgaXMgbmVpdGhlciBhbgorICAgIC8vIGFsbG9jYXRpb24g
b3IgYSBoZWFwIHJlYWQsIG9yIG1heSBwb2ludCB0byBkaWZmZXJlbnQgbm9kZXMsCisgICAgLy8g
bnVsbHB0ciB3aWxsIGJlIHJldHVybmVkLiBOb3RlIHRoYXQgYSBub2RlIHRoYXQgcG9pbnRzIHRv
CisgICAgLy8gZGlmZmVyZW50IG5vZGVzIGNhbiBuZXZlciBwb2ludCB0byBhbiB1bmVzY2FwZWQg
bG9jYWwKKyAgICAvLyBhbGxvY2F0aW9uLgorICAgIE5vZGUqIGZvbGxvdyhOb2RlKiBub2RlKSBj
b25zdAorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9wb2ludGVycy5maW5kKG5vZGUpOwor
ICAgICAgICBBU1NFUlQoaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgpIHx8IG1fYWxsb2NhdGlvbnMu
Y29udGFpbnMoaXRlci0+dmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGl0ZXIgPT0gbV9wb2ludGVy
cy5lbmQoKSA/IG51bGxwdHIgOiBpdGVyLT52YWx1ZTsKKyAgICB9CisKKyAgICBOb2RlKiBmb2xs
b3coUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pIGNvbnN0CisgICAgeworICAgICAgICBj
b25zdCBBbGxvY2F0aW9uJiBiYXNlID0gbV9hbGxvY2F0aW9ucy5maW5kKGxvY2F0aW9uLmJhc2Uo
KSktPnZhbHVlOworICAgICAgICBhdXRvIGl0ZXIgPSBiYXNlLmZpZWxkcygpLmZpbmQobG9jYXRp
b24uZGVzY3JpcHRvcigpKTsKKworICAgICAgICBpZiAoaXRlciA9PSBiYXNlLmZpZWxkcygpLmVu
ZCgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgcmV0dXJuIGl0ZXIt
PnZhbHVlOworICAgIH0KKworICAgIC8vIG9ubHlMb2NhbEFsbG9jYXRpb24gZmluZCB0aGUgY29y
cmVzcG9uZGluZyBhbGxvY2F0aW9uIG1ldGFkYXRhCisgICAgLy8gZm9yIGFueSBsaXZlIG5vZGUu
IG9ubHlMb2NhbEFsbG9jYXRpb24obm9kZSkgaXMgZXNzZW50aWFsbHkKKyAgICAvLyBnZXRBbGxv
Y2F0aW9uKGZvbGxvdyhub2RlKSksIHdpdGggYXBwcm9wcmlhdGUgbnVsbCBoYW5kbGluZy4KKyAg
ICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxvY2F0aW9uKE5vZGUqIG5vZGUpCisgICAgeworICAg
ICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAoIWlkZW50
aWZpZXIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gJmdl
dEFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiogb25seUxv
Y2FsQWxsb2NhdGlvbihQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikKKyAgICB7CisgICAg
ICAgIE5vZGUqIGlkZW50aWZpZXIgPSBmb2xsb3cobG9jYXRpb24pOworICAgICAgICBpZiAoIWlk
ZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4g
JmdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAgLy8gVGhpcyBhbGxvd3Mg
dXMgdG8gc3RvcmUgdGhlIGVzY2FwZWVzIG9ubHkgd2hlbiBuZWNlc3NhcnkuIElmCisgICAgLy8g
c2V0LCB0aGUgY3VycmVudCBlc2NhcGVlcyBjYW4gYmUgcmV0cmlldmVkIGF0IGFueSB0aW1lIHVz
aW5nCisgICAgLy8gdGFrZUVzY2FwZWVzKCksIHdoaWNoIHdpbGwgY2xlYXIgdGhlIGNhY2hlZCBz
ZXQgb2YgZXNjYXBlZXM7CisgICAgLy8gb3RoZXJ3aXNlIHRoZSBoZWFwIHdvbid0IHJlbWVtYmVy
IGVzY2FwaW5nIGFsbG9jYXRpb25zLgorICAgIHZvaWQgc2V0V2FudEVzY2FwZWVzKCkKKyAgICB7
CisgICAgICAgIG1fd2FudEVzY2FwZWVzID0gdHJ1ZTsKKyAgICB9CisKKyAgICBIYXNoTWFwPE5v
ZGUqLCBBbGxvY2F0aW9uPiB0YWtlRXNjYXBlZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bW92ZShtX2VzY2FwZWVzKTsKKyAgICB9CisKKyAgICB2b2lkIGVzY2FwZShOb2RlKiBub2Rl
KQorICAgIHsKKyAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IGZvbGxvdyhub2RlKTsKKyAgICAg
ICAgaWYgKCFpZGVudGlmaWVyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGVzY2Fw
ZUFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgfQorCisgICAgdm9pZCBtZXJnZShjb25zdCBM
b2NhbEhlYXAmIG90aGVyKQorICAgIHsKKyAgICAgICAgYXNzZXJ0SXNWYWxpZCgpOworICAgICAg
ICBvdGhlci5hc3NlcnRJc1ZhbGlkKCk7CisgICAgICAgIEFTU0VSVCghbV93YW50RXNjYXBlZXMp
OworCisgICAgICAgIGlmICghcmVhY2hlZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQob3RoZXIu
cmVhY2hlZCgpKTsKKyAgICAgICAgICAgICp0aGlzID0gb3RoZXI7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBIYXNoU2V0PE5vZGUqPiB0b0VzY2FwZTsKKworICAg
ICAgICBmb3IgKGF1dG8mIGFsbG9jYXRpb25FbnRyeSA6IG90aGVyLm1fYWxsb2NhdGlvbnMpCisg
ICAgICAgICAgICBtX2FsbG9jYXRpb25zLmFkZChhbGxvY2F0aW9uRW50cnkua2V5LCBhbGxvY2F0
aW9uRW50cnkudmFsdWUpOworICAgICAgICBmb3IgKGF1dG8mIGFsbG9jYXRpb25FbnRyeSA6IG1f
YWxsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIGF1dG8gYWxsb2NhdGlvbkl0ZXIgPSBvdGhlci5t
X2FsbG9jYXRpb25zLmZpbmQoYWxsb2NhdGlvbkVudHJ5LmtleSk7CisKKyAgICAgICAgICAgIC8v
IElmIHdlIGhhdmUgaXQgYW5kIHRoZXkgZG9uJ3QsIGl0IGRpZWQgZm9yIHRoZW0gYnV0IHdlCisg
ICAgICAgICAgICAvLyBhcmUga2VlcGluZyBpdCBhbGl2ZSBmcm9tIGFub3RoZXIgZmllbGQgc29t
ZXdoZXJlLgorICAgICAgICAgICAgLy8gVGhlcmUgaXMgbm90aGluZyB0byBkbyAtIHdlIHdpbGwg
YmUgZXNjYXBlZAorICAgICAgICAgICAgLy8gYXV0b21hdGljYWxseSB3aGVuIHdlIGhhbmRsZSB0
aGF0IG90aGVyIGZpZWxkLgorICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGFsc28gaGFwcGVuIGZv
ciBhbGxvY2F0aW9uIHRoYXQgd2UgaGF2ZSBhbmQKKyAgICAgICAgICAgIC8vIHRoZXkgZG9uJ3Qs
IGFuZCBhbGwgb2YgdGhvc2Ugd2lsbCBnZXQgcHJ1bmVkLgorICAgICAgICAgICAgaWYgKGFsbG9j
YXRpb25JdGVyID09IG90aGVyLm1fYWxsb2NhdGlvbnMuZW5kKCkpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uRW50cnkudmFsdWUua2luZCgp
ICE9IGFsbG9jYXRpb25JdGVyLT52YWx1ZS5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICB0b0Vz
Y2FwZS5hZGQoYWxsb2NhdGlvbkVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgZm9yIChjb25z
dCBhdXRvJiBmaWVsZEVudHJ5IDogYWxsb2NhdGlvbkl0ZXItPnZhbHVlLmZpZWxkcygpKQorICAg
ICAgICAgICAgICAgICAgICB0b0VzY2FwZS5hZGQoZmllbGRFbnRyeS52YWx1ZSk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1lcmdlUG9pbnRlclNldHMoCisgICAgICAg
ICAgICAgICAgICAgIGFsbG9jYXRpb25FbnRyeS52YWx1ZS5maWVsZHMoKSwgYWxsb2NhdGlvbkl0
ZXItPnZhbHVlLmZpZWxkcygpLAorICAgICAgICAgICAgICAgICAgICBbJl0gKE5vZGUqIGlkZW50
aWZpZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvRXNjYXBlLmFkZChpZGVudGlmaWVy
KTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvciBmaWVsZCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
YWxsb2NhdGlvbkVudHJ5LnZhbHVlLnJlbW92ZShmaWVsZCk7CisgICAgICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgICAgIGFsbG9jYXRpb25FbnRyeS52YWx1ZS5tZXJnZVN0cnVjdHVy
ZXMoYWxsb2NhdGlvbkl0ZXItPnZhbHVlLnN0cnVjdHVyZXMoKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKworICAgICAgICBtZXJnZVBvaW50ZXJTZXRzKG1fcG9pbnRlcnMsIG90aGVyLm1f
cG9pbnRlcnMsCisgICAgICAgICAgICBbJl0gKE5vZGUqIGlkZW50aWZpZXIpIHsKKyAgICAgICAg
ICAgICAgICB0b0VzY2FwZS5hZGQoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgWyZdIChOb2RlKiBmaWVsZCkgeworICAgICAgICAgICAgICAgIG1fcG9pbnRlcnMucmVt
b3ZlKGZpZWxkKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgIGZvciAoTm9kZSogaWRlbnRp
ZmllciA6IHRvRXNjYXBlKQorICAgICAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihpZGVudGlmaWVy
KTsKKworICAgICAgICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkgeworICAgICAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBlbnRyeSA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICAgICAgQVNTRVJU
X1VOVVNFRChlbnRyeSwgZW50cnkudmFsdWUuaXNFc2NhcGVkQWxsb2NhdGlvbigpIHx8IG90aGVy
Lm1fYWxsb2NhdGlvbnMuY29udGFpbnMoZW50cnkua2V5KSk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBJZiB0aGVyZSBpcyBubyByZW1haW5pbmcgcG9pbnRlciB0byBhbiBhbGxvY2F0aW9uLCB3
ZSBjYW4KKyAgICAgICAgLy8gcmVtb3ZlIGl0LiBUaGlzIHNob3VsZCBvbmx5IGhhcHBlbiBmb3Ig
ZXNjYXBlZCBhbGxvY2F0aW9ucywKKyAgICAgICAgLy8gYmVjYXVzZSB3ZSBvbmx5IG1lcmdlIGxp
dmVuZXNzLXBydW5lZCBoZWFwcyBpbiB0aGUgZmlyc3QKKyAgICAgICAgLy8gcGxhY2UuCisgICAg
ICAgIHBydW5lKCk7CisKKyAgICAgICAgYXNzZXJ0SXNWYWxpZCgpOworICAgIH0KKworICAgIHZv
aWQgcHJ1bmVCeUxpdmVuZXNzKGNvbnN0IEhhc2hTZXQ8Tm9kZSo+JiBsaXZlKQorICAgIHsKKyAg
ICAgICAgVmVjdG9yPE5vZGUqPiB0b1JlbW92ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBl
bnRyeSA6IG1fcG9pbnRlcnMpIHsKKyAgICAgICAgICAgIGlmICghbGl2ZS5jb250YWlucyhlbnRy
eS5rZXkpKQorICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOworICAg
ICAgICB9CisgICAgICAgIGZvciAoTm9kZSogbm9kZSA6IHRvUmVtb3ZlKQorICAgICAgICAgICAg
bV9wb2ludGVycy5yZW1vdmUobm9kZSk7CisgICAgICAgIAorICAgICAgICBwcnVuZSgpOworICAg
IH0KKworICAgIHZvaWQgYXNzZXJ0SXNWYWxpZCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAo
QVNTRVJUX0RJU0FCTEVEKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIFBvaW50
ZXJzIHNob3VsZCBwb2ludCB0byBhbiBhY3R1YWwgYWxsb2NhdGlvbgorICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGVudHJ5IDogbV9wb2ludGVycykgeworICAgICAgICAgICAgQVNTRVJUX1VOVVNF
RChlbnRyeSwgZW50cnkudmFsdWUpOworICAgICAgICAgICAgQVNTRVJUKG1fYWxsb2NhdGlvbnMu
Y29udGFpbnMoZW50cnkudmFsdWUpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgYWxsb2NhdGlvbkVudHJ5IDogbV9hbGxvY2F0aW9ucykgeworICAgICAgICAgICAgLy8g
RmllbGRzIHNob3VsZCBwb2ludCB0byBhbiBhY3R1YWwgYWxsb2NhdGlvbgorICAgICAgICAgICAg
Zm9yIChjb25zdCBhdXRvJiBmaWVsZEVudHJ5IDogYWxsb2NhdGlvbkVudHJ5LnZhbHVlLmZpZWxk
cygpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChmaWVsZEVudHJ5LCBmaWVsZEVu
dHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV9hbGxvY2F0aW9ucy5jb250YWlu
cyhmaWVsZEVudHJ5LnZhbHVlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTG9jYWxIZWFwJiBvdGhlcikgY29uc3QKKyAgICB7
CisgICAgICAgIGFzc2VydElzVmFsaWQoKTsKKyAgICAgICAgb3RoZXIuYXNzZXJ0SXNWYWxpZCgp
OworICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9ucyA9PSBvdGhlci5tX2FsbG9jYXRpb25zCisg
ICAgICAgICAgICAmJiBtX3BvaW50ZXJzID09IG90aGVyLm1fcG9pbnRlcnM7CisgICAgfQorCisg
ICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExvY2FsSGVhcCYgb3RoZXIpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgY29uc3QgSGFz
aE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gYWxsb2NhdGlvbnMoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fYWxsb2NhdGlvbnM7CisgICAgfQorCisgICAgY29uc3QgSGFzaE1hcDxOb2Rl
KiwgTm9kZSo+IHBvaW50ZXJzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3BvaW50
ZXJzOworICAgIH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAg
IHsKKyAgICAgICAgb3V0LnByaW50KCIgIEFsbG9jYXRpb25zOlxuIik7CisgICAgICAgIGZvciAo
Y29uc3QgYXV0byYgZW50cnkgOiBtX2FsbG9jYXRpb25zKQorICAgICAgICAgICAgb3V0LnByaW50
KCIgICAgIyIsIGVudHJ5LmtleSwgIjogIiwgZW50cnkudmFsdWUsICJcbiIpOworICAgICAgICBv
dXQucHJpbnQoIiAgUG9pbnRlcnM6XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRy
eSA6IG1fcG9pbnRlcnMpCisgICAgICAgICAgICBvdXQucHJpbnQoIiAgICAiLCBlbnRyeS5rZXks
ICIgPT4gIyIsIGVudHJ5LnZhbHVlLCAiXG4iKTsKKyAgICB9CisKKyAgICBib29sIHJlYWNoZWQo
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcmVhY2hlZDsKKyAgICB9CisKKyAgICB2
b2lkIHNldFJlYWNoZWQoKQorICAgIHsKKyAgICAgICAgbV9yZWFjaGVkID0gdHJ1ZTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgLy8gV2hlbiB3ZSBtZXJnZSB0d28gaGVhcHMsIHdlIGVzY2FwZSBh
bGwgZmllbGRzIG9mIGFsbG9jYXRpb25zLAorICAgIC8vIHVubGVzcyB0aGV5IHBvaW50IHRvIHRo
ZSBzYW1lIHRoaW5nIGluIGJvdGggaGVhcHMuCisgICAgLy8gVGhlIHJlYXNvbiBmb3IgdGhpcyBp
cyB0aGF0IGl0IGFsbG93cyB1cyBub3QgdG8gZG8gZXh0cmEgd29yaworICAgIC8vIGZvciBkaWFt
b25kIGdyYXBocyB3aGVyZSB3ZSB3b3VsZCBvdGhlcndpc2UgaGF2ZSB0byBjaGVjaworICAgIC8v
IHdoZXRoZXIgd2UgaGF2ZSBhIHNpbmdsZSBkZWZpbml0aW9uIG9yIG5vdCwgd2hpY2ggd291bGQg
YmUKKyAgICAvLyBjdW1iZXJzb21lLgorICAgIC8vCisgICAgLy8gTm90ZSB0aGF0IHdlIHNob3Vs
ZCB0cnkgdG8gdW5pZnkgbm9kZXMgZXZlbiB3aGVuIHRoZXkgYXJlIG5vdAorICAgIC8vIGZyb20g
dGhlIHNhbWUgYWxsb2NhdGlvbjsgZm9yIGluc3RhbmNlIHdlIHNob3VsZCBiZSBhYmxlIHRvCisg
ICAgLy8gY29tcGxldGVseSBlbGltaW5hdGUgYWxsIGFsbG9jYXRpb25zIGZyb20gdGhlIGZvbGxv
d2luZyBncmFwaDoKKyAgICAvLworICAgIC8vIEJsb2NrICMwCisgICAgLy8gIDA6IE5ld09iamVj
dCh7fSkKKyAgICAvLyAgLTogQnJhbmNoKCMxLCAjMikKKyAgICAvLworICAgIC8vIEJsb2NrICMx
CisgICAgLy8gIDE6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDEsICJs
ZWZ0IiwgdmFsKQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDEsIHt2YWw6MH0pCisgICAgLy8g
IC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7
eDowfSkKKyAgICAvLyAgLTogSnVtcCgjMykKKyAgICAvLworICAgIC8vIEJsb2NrICMyCisgICAg
Ly8gIDI6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDIsICJyaWdodCIs
IHZhbCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAyLCB7dmFsOjB9KQorICAgIC8vICAtOiBQ
dXRCeU9mZnNldChAMCwgQDIsIHgpCisgICAgLy8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0p
CisgICAgLy8gIC06IEp1bXAoIzMpCisgICAgLy8KKyAgICAvLyBCbG9jayAjMzoKKyAgICAvLyAg
MzogR2V0QnlPZmZzZXQoQDAsIHgpCisgICAgLy8gIDQ6IEdldEJ5T2Zmc2V0KEAzLCB2YWwpCisg
ICAgLy8gIC06IFJldHVybihANCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1l
IEVzY2FwZUZ1bmN0b3IsIHR5cGVuYW1lIFJlbW92ZUZ1bmN0b3I+CisgICAgdm9pZCBtZXJnZVBv
aW50ZXJTZXRzKAorICAgICAgICBjb25zdCBIYXNoTWFwPEtleSwgTm9kZSo+JiBteSwgY29uc3Qg
SGFzaE1hcDxLZXksIE5vZGUqPiYgdGhlaXIsCisgICAgICAgIGNvbnN0IEVzY2FwZUZ1bmN0b3Im
IGVzY2FwZSwgY29uc3QgUmVtb3ZlRnVuY3RvciYgcmVtb3ZlKQorICAgIHsKKyAgICAgICAgVmVj
dG9yPEtleT4gdG9SZW1vdmU7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBteSkg
eworICAgICAgICAgICAgYXV0byBpdGVyID0gdGhlaXIuZmluZChlbnRyeS5rZXkpOworICAgICAg
ICAgICAgaWYgKGl0ZXIgPT0gdGhlaXIuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICB0b1JlbW92
ZS5hcHBlbmQoZW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICBlc2NhcGUoZW50cnkudmFsdWUp
OworICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVyLT52YWx1ZSAhPSBlbnRyeS52YWx1ZSkgewor
ICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOworICAgICAgICAgICAg
ICAgIGVzY2FwZShlbnRyeS52YWx1ZSk7CisgICAgICAgICAgICAgICAgZXNjYXBlKGl0ZXItPnZh
bHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBmb3IgKGNvbnN0IGF1dG8m
IGVudHJ5IDogdGhlaXIpIHsKKyAgICAgICAgICAgIGlmIChteS5jb250YWlucyhlbnRyeS5rZXkp
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgZXNjYXBlKGVudHJ5LnZh
bHVlKTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKEtleSBrZXkgOiB0b1JlbW92ZSkKKyAgICAg
ICAgICAgIHJlbW92ZShrZXkpOworICAgIH0KKworICAgIHZvaWQgZXNjYXBlQWxsb2NhdGlvbihO
b2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9
IGdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7CisgICAgICAgIGlmIChhbGxvY2F0aW9uLmlzRXNj
YXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBbGxvY2F0
aW9uIHVuZXNjYXBlZCA9IFdURjo6bW92ZShhbGxvY2F0aW9uKTsKKyAgICAgICAgYWxsb2NhdGlv
biA9IEFsbG9jYXRpb24odW5lc2NhcGVkLmlkZW50aWZpZXIoKSwgQWxsb2NhdGlvbjo6S2luZDo6
RXNjYXBlZCk7CisKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IHVuZXNjYXBlZC5m
aWVsZHMoKSkKKyAgICAgICAgICAgIGVzY2FwZUFsbG9jYXRpb24oZW50cnkudmFsdWUpOworCisg
ICAgICAgIGlmIChtX3dhbnRFc2NhcGVlcykKKyAgICAgICAgICAgIG1fZXNjYXBlZXMuYWRkKHVu
ZXNjYXBlZC5pZGVudGlmaWVyKCksIFdURjo6bW92ZSh1bmVzY2FwZWQpKTsKKyAgICB9CisKKyAg
ICB2b2lkIHBydW5lKCkKKyAgICB7CisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHJlYWNoYWJsZTsK
KyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fcG9pbnRlcnMpCisgICAgICAgICAg
ICByZWFjaGFibGUuYWRkKGVudHJ5LnZhbHVlKTsKKworICAgICAgICAvLyBSZXBlYXRlZGx5IG1h
cmsgYXMgcmVhY2hhYmxlIGFsbG9jYXRpb25zIGluIGZpZWxkcyBvZiBvdGhlcgorICAgICAgICAv
LyByZWFjaGFibGUgYWxsb2NhdGlvbnMKKyAgICAgICAgeworICAgICAgICAgICAgVmVjdG9yPE5v
ZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZFJhbmdlKHJlYWNoYWJs
ZS5iZWdpbigpLCByZWFjaGFibGUuZW5kKCkpOworCisgICAgICAgICAgICB3aGlsZSAoIXdvcmts
aXN0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSB3b3Jr
bGlzdC50YWtlTGFzdCgpOworICAgICAgICAgICAgICAgIEFsbG9jYXRpb24mIGFsbG9jYXRpb24g
PSBtX2FsbG9jYXRpb25zLmZpbmQoaWRlbnRpZmllciktPnZhbHVlOworICAgICAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBhbGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChyZWFjaGFibGUuYWRkKGVudHJ5LnZhbHVlKS5pc05ld0VudHJ5KQor
ICAgICAgICAgICAgICAgICAgICAgICAgd29ya2xpc3QuYXBwZW5kKGVudHJ5LnZhbHVlKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBS
ZW1vdmUgdW5yZWFjaGFibGUgYWxsb2NhdGlvbnMKKyAgICAgICAgeworICAgICAgICAgICAgVmVj
dG9yPE5vZGUqPiB0b1JlbW92ZTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkg
OiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgaWYgKCFyZWFjaGFibGUuY29udGFp
bnMoZW50cnkua2V5KSkKKyAgICAgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5
LmtleSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIg
OiB0b1JlbW92ZSkKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25zLnJlbW92ZShpZGVudGlm
aWVyKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGJvb2wgbV9yZWFjaGVkID0gZmFsc2U7Cisg
ICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fcG9pbnRlcnM7CisgICAgSGFzaE1hcDxOb2RlKiwg
QWxsb2NhdGlvbj4gbV9hbGxvY2F0aW9uczsKKworICAgIGJvb2wgbV93YW50RXNjYXBlZXMgPSBm
YWxzZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBtX2VzY2FwZWVzOworfTsKKwor
Y2xhc3MgQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlIDogcHVibGljIFBoYXNlIHsKK3B1Ymxp
YzoKKyAgICBBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAg
ICA6IFBoYXNlKGdyYXBoLCAib2JqZWN0IGFsbG9jYXRpb24gZWxpbWluYXRpb24iKQorICAgICAg
ICAsIG1fcG9pbnRlclNTQShncmFwaCkKKyAgICAgICAgLCBtX2FsbG9jYXRpb25TU0EoZ3JhcGgp
CisgICAgICAgICwgbV9pbnNlcnRpb25TZXQoZ3JhcGgpCisgICAgeworICAgIH0KKworICAgIGJv
b2wgcnVuKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpOwor
ICAgICAgICBBU1NFUlQobV9ncmFwaC5tX2ZpeHBvaW50U3RhdGUgPT0gRml4cG9pbnROb3RDb252
ZXJnZWQpOworCisgICAgICAgIGlmICghcGVyZm9ybVNpbmtpbmcoKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgZGF0YUxv
ZygiR3JhcGggYWZ0ZXIgZWxpbWluYXRpb246XG4iKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVt
cCgpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCitwcml2YXRl
OgorICAgIGJvb2wgcGVyZm9ybVNpbmtpbmcoKQorICAgIHsKKyAgICAgICAgbV9ncmFwaC5jb21w
dXRlUmVmQ291bnRzKCk7CisgICAgICAgIG1fZ3JhcGguaW5pdGlhbGl6ZU5vZGVPd25lcnMoKTsK
KyAgICAgICAgcGVyZm9ybUxpdmVuZXNzQW5hbHlzaXMobV9ncmFwaCk7CisgICAgICAgIHBlcmZv
cm1PU1JBdmFpbGFiaWxpdHlBbmFseXNpcyhtX2dyYXBoKTsKKyAgICAgICAgbV9jb21iaW5lZExp
dmVuZXNzID0gQ29tYmluZWRMaXZlbmVzcyhtX2dyYXBoKTsKKworICAgICAgICBDU3RyaW5nIGdy
YXBoQmVmb3JlU2lua2luZzsKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VWYWxpZGF0aW9u
RmFpbHVyZSgpICYmIE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKSB7CisgICAg
ICAgICAgICBTdHJpbmdQcmludFN0cmVhbSBvdXQ7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAo
b3V0KTsKKyAgICAgICAgICAgIGdyYXBoQmVmb3JlU2lua2luZyA9IG91dC50b0NTdHJpbmcoKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBkYXRhTG9n
KCJHcmFwaCBiZWZvcmUgZWxpbWluYXRpb246XG4iKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVt
cCgpOworICAgICAgICB9CisKKyAgICAgICAgcGVyZm9ybUFuYWx5c2lzKCk7CisKKyAgICAgICAg
aWYgKCFkZXRlcm1pbmVTaW5rQ2FuZGlkYXRlcygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICAg
ICAgZGF0YUxvZygiSGVhcCBhdCBoZWFkIG9mICIsICpibG9jaywgIjogXG4iLCBtX2hlYXBBdEhl
YWRbYmxvY2tdKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJIZWFwIGF0IHRhaWwgb2YgIiwg
KmJsb2NrLCAiOiBcbiIsIG1faGVhcEF0VGFpbFtibG9ja10pOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisKKyAgICAgICAgcHJvbW90ZUxvY2FsSGVhcCgpOworCisgICAgICAgIGlmIChPcHRp
b25zOjp2YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2UoKSkKKyAgICAgICAgICAgIHZhbGlkYXRlKG1f
Z3JhcGgsIER1bXBHcmFwaCwgZ3JhcGhCZWZvcmVTaW5raW5nKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgdm9pZCBwZXJmb3JtQW5hbHlzaXMoKQorICAgIHsKKyAgICAgICAg
bV9oZWFwQXRIZWFkID0gQmxvY2tNYXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKyAgICAgICAgbV9o
ZWFwQXRUYWlsID0gQmxvY2tNYXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKworICAgICAgICBib29s
IGNoYW5nZWQ7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAg
ICAgICAgICAgIGRhdGFMb2coIkRvaW5nIGl0ZXJhdGlvbiBvZiBlc2NhcGUgYW5hbHlzaXMuXG4i
KTsKKyAgICAgICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAg
ICAgICAgbV9oZWFwQXRIZWFkW2Jsb2NrXS5zZXRSZWFjaGVkKCk7CisgICAgICAgICAgICAgICAg
bV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgICAgIGZvciAoTm9k
ZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFtdIChQ
cm9tb3RlZEhlYXBMb2NhdGlvbiwgTGF6eU5vZGUpIHsgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX2hlYXAgPT0gbV9o
ZWFwQXRUYWlsW2Jsb2NrXSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgICAgICAgICBtX2hlYXBBdFRhaWxbYmxvY2tdID0gbV9oZWFwOworICAgICAgICAgICAgICAg
IGNoYW5nZWQgPSB0cnVlOworCisgICAgICAgICAgICAgICAgbV9oZWFwLmFzc2VydElzVmFsaWQo
KTsKKworICAgICAgICAgICAgICAgIC8vIFdlIGtlZXAgb25seSBwb2ludGVycyB0aGF0IGFyZSBs
aXZlLCBhbmQgb25seQorICAgICAgICAgICAgICAgIC8vIGFsbG9jYXRpb25zIHRoYXQgYXJlIGVp
dGhlciBsaXZlLCBwb2ludGVkIHRvIGJ5IGEKKyAgICAgICAgICAgICAgICAvLyBsaXZlIHBvaW50
ZXIsIG9yIChyZWN1cnNpdmVseSkgc3RvcmVkIGluIGEgZmllbGQgb2YKKyAgICAgICAgICAgICAg
ICAvLyBhIGxpdmUgYWxsb2NhdGlvbi4KKyAgICAgICAgICAgICAgICAvLworICAgICAgICAgICAg
ICAgIC8vIFRoaXMgbWVhbnMgd2UgY2FuIGFjY2lkZW50YWx5IGxlYWsgbm9uLWRvbWluYXRpbmcK
KyAgICAgICAgICAgICAgICAvLyBub2RlcyBpbnRvIHRoZSBzdWNjZXNzb3IuIEhvd2V2ZXIsIGR1
ZSB0byB0aGUKKyAgICAgICAgICAgICAgICAvLyBub24tZG9taW5hbmNlIHByb3BlcnR5LCB3ZSBh
cmUgZ3VhcmFudGVlZCB0aGF0IHRoZQorICAgICAgICAgICAgICAgIC8vIHN1Y2Nlc3NvciBoYXMg
YXQgbGVhc3Qgb25lIHByZWRlY2Vzc29yIHRoYXQgaXMgbm90CisgICAgICAgICAgICAgICAgLy8g
ZG9taW5hdGVkIGVpdGhlcjogdGhpcyBtZWFucyBhbnkgcmVmZXJlbmNlIHRvIGEKKyAgICAgICAg
ICAgICAgICAvLyBub24tZG9taW5hdGluZyBhbGxvY2F0aW9uIGluIHRoZSBzdWNjZXNzb3Igd2ls
bAorICAgICAgICAgICAgICAgIC8vIHRyaWdnZXIgYW4gZXNjYXBlIGFuZCBnZXQgcHJ1bmVkIGR1
cmluZyB0aGUgbWVyZ2UuCisgICAgICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyht
X2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICAgICAg
Zm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpCisg
ICAgICAgICAgICAgICAgICAgIG1faGVhcEF0SGVhZFtzdWNjZXNzb3JCbG9ja10ubWVyZ2UobV9o
ZWFwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CisgICAgfQor
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgV3JpdGVGdW5jdG9yLCB0eXBlbmFtZSBSZXNvbHZlRnVu
Y3Rvcj4KKyAgICB2b2lkIGhhbmRsZU5vZGUoCisgICAgICAgIE5vZGUqIG5vZGUsCisgICAgICAg
IGNvbnN0IFdyaXRlRnVuY3RvciYgaGVhcFdyaXRlLAorICAgICAgICBjb25zdCBSZXNvbHZlRnVu
Y3RvciYgaGVhcFJlc29sdmUpCisgICAgeworICAgICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgp
OworICAgICAgICBBU1NFUlQobV9oZWFwLnRha2VFc2NhcGVlcygpLmlzRW1wdHkoKSk7CisKKyAg
ICAgICAgQWxsb2NhdGlvbiogdGFyZ2V0ID0gbnVsbHB0cjsKKyAgICAgICAgSGFzaE1hcDxQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTGF6eU5vZGU+IHdyaXRlczsKKyAgICAgICAgUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZXhhY3RSZWFkOworCisgICAgICAgIHN3aXRjaCAobm9kZS0+
b3AoKSkgeworICAgICAgICBjYXNlIE5ld09iamVjdDoKKyAgICAgICAgICAgIHRhcmdldCA9ICZt
X2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpPYmplY3QpOworICAg
ICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZSgpKTsKKyAgICAg
ICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgU3RydWN0dXJlUExvYywgTGF6eU5v
ZGUobV9ncmFwaC5mcmVlemUobm9kZS0+c3RydWN0dXJlKCkpKSk7CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CisgICAgICAgICAgICB0
YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2NhdGlvbjo6S2luZDo6T2Jq
ZWN0KTsKKyAgICAgICAgICAgIHRhcmdldC0+c2V0U3RydWN0dXJlcyhub2RlLT5zdHJ1Y3R1cmVT
ZXQoKSk7CisgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgIFN0cnVjdHVy
ZVBMb2MsIExhenlOb2RlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpKSk7Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbm9kZS0+b2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YSgpLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9yKAorICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRQcm9wZXJ0eVBMb2MsCisgICAgICAg
ICAgICAgICAgICAgICAgICBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9w
ZXJ0aWVzW2ldLm1faWRlbnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlO
b2RlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE5ld0Z1
bmN0aW9uOiB7CisgICAgICAgICAgICBpZiAobm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVj
dXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAg
ICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9o
ZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2NhdGlvbjo6S2luZDo6RnVuY3Rpb24pOworICAg
ICAgICAgICAgd3JpdGVzLmFkZChGdW5jdGlvbkV4ZWN1dGFibGVQTG9jLCBMYXp5Tm9kZShub2Rl
LT5jZWxsT3BlcmFuZCgpKSk7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEZ1bmN0aW9uQWN0aXZh
dGlvblBMb2MsIExhenlOb2RlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246IHsKKyAg
ICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCktPnNpbmdsZXRv
blNjb3BlKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2Fw
ZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUs
IEFsbG9jYXRpb246OktpbmQ6OkFjdGl2YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChB
Y3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBMYXp5Tm9kZShub2RlLT5jZWxsT3BlcmFuZCgpKSk7
CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFjdGl2YXRpb25TY29wZVBMb2MsIExhenlOb2RlKG5v
ZGUtPmNoaWxkMSgpLm5vZGUoKSkpOworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFN5
bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9IG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4o
KTsKKyAgICAgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihzeW1ib2xUYWJs
ZS0+bV9sb2NrKTsKKyAgICAgICAgICAgICAgICBMYXp5Tm9kZSB1bmRlZmluZWQobV9ncmFwaC5m
cmVlemUoanNVbmRlZmluZWQoKSkpOworICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdGVyID0g
c3ltYm9sVGFibGUtPmJlZ2luKGxvY2tlciksIGVuZCA9IHN5bWJvbFRhYmxlLT5lbmQobG9ja2Vy
KTsgaXRlciAhPSBlbmQ7ICsraXRlcikgeworICAgICAgICAgICAgICAgICAgICB3cml0ZXMuYWRk
KAorICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xv
c3VyZVZhclBMb2MsIGl0ZXItPnZhbHVlLnNjb3BlT2Zmc2V0KCkub2Zmc2V0KCkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICAvLyBXZSBoYXZlIHN1bmsg
dGhpcyBvbmNlIGFscmVhZHkgLSB0aGVyZSBpcyBubyB3YXkgdGhlCisgICAgICAgICAgICAvLyB3
YXRjaHBvaW50IGlzIHN0aWxsIHZhbGlkLgorICAgICAgICAgICAgQVNTRVJUKCFub2RlLT5jYXN0
T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCktPnNpbmdsZXRvblNjb3BlKCktPmlzU3RpbGxWYWxpZCgp
KTsKKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxv
Y2F0aW9uOjpLaW5kOjpBY3RpdmF0aW9uKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0aXZh
dGlvblN5bWJvbFRhYmxlUExvYywgTGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAw
KS5ub2RlKCkpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywg
TGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAxKS5ub2RlKCkpKTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVz
LmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoCisg
ICAgICAgICAgICAgICAgICAgICAgICBDbG9zdXJlVmFyUExvYywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNbaV0u
bV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobV9ncmFw
aC52YXJBcmdDaGlsZChub2RlLCBpICsgMikubm9kZSgpKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgor
ICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hp
bGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVj
dEFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQoU3RydWN0dXJlUExv
YywgTGF6eU5vZGUobV9ncmFwaC5mcmVlemUoSlNWYWx1ZShub2RlLT50cmFuc2l0aW9uKCktPm5l
eHQpKSkpOworICAgICAgICAgICAgICAgIHRhcmdldC0+c2V0U3RydWN0dXJlcyhub2RlLT50cmFu
c2l0aW9uKCktPm5leHQpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9o
ZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZTogeworICAgICAgICAgICAgQWxsb2NhdGlvbiog
YWxsb2NhdGlvbiA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5v
ZGUoKSk7CisgICAgICAgICAgICBpZiAoYWxsb2NhdGlvbiAmJiBhbGxvY2F0aW9uLT5pc09iamVj
dEFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgICAgIGFsbG9jYXRpb24tPmZpbHRlclN0cnVj
dHVyZXMobm9kZS0+c3RydWN0dXJlU2V0KCkpOworICAgICAgICAgICAgICAgIGlmIChOb2RlKiB2
YWx1ZSA9IGhlYXBSZXNvbHZlKFByb21vdGVkSGVhcExvY2F0aW9uKGFsbG9jYXRpb24tPmlkZW50
aWZpZXIoKSwgU3RydWN0dXJlUExvYykpKQorICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252
ZXJ0VG9DaGVja1N0cnVjdHVyZUltbWVkaWF0ZSh2YWx1ZSk7CisgICAgICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6
CisgICAgICAgIGNhc2UgR2V0R2V0dGVyU2V0dGVyQnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJn
ZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOwor
ICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7
CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3Jh
Z2VBY2Nlc3NEYXRhKCkuaWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICBleGFjdFJl
YWQgPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRlbnRp
Zmllck51bWJlcik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faGVh
cC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAu
ZXNjYXBlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICBjYXNlIE11bHRpR2V0QnlPZmZzZXQ6CisgICAgICAgICAgICB0
YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkp
OworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPm11
bHRpR2V0QnlPZmZzZXREYXRhKCkuaWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICBl
eGFjdFJlYWQgPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywg
aWRlbnRpZmllck51bWJlcik7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0OgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFw
Lm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAg
IGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc09iamVjdEFsbG9jYXRpb24oKSkgeworICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBub2RlLT5zdG9yYWdlQWNjZXNzRGF0
YSgpLmlkZW50aWZpZXJOdW1iZXI7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZCgKKyAgICAg
ICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoTmFtZWRQcm9wZXJ0eVBM
b2MsIGlkZW50aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShub2Rl
LT5jaGlsZDMoKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAg
IG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMygpLm5vZGUoKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6CisgICAgICAgICAg
ICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2Rl
KCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9j
YXRpb24oKSkgeworICAgICAgICAgICAgICAgIGV4YWN0UmVhZCA9CisgICAgICAgICAgICAgICAg
ICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKENsb3N1cmVWYXJQTG9jLCBub2RlLT5zY29w
ZU9mZnNldCgpLm9mZnNldCgpKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAg
IG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKKyAgICAgICAgICAgIHRhcmdldCA9IG1f
aGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAg
ICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigpKSB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIG5vZGUtPnNjb3BlT2Zmc2V0KCkub2Zm
c2V0KCkpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2Rl
KCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2Fw
ZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgU2tpcFNjb3BlOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFw
Lm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAg
IGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpCisgICAgICAg
ICAgICAgICAgZXhhY3RSZWFkID0gQWN0aXZhdGlvblNjb3BlUExvYzsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CisgICAg
ICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEo
KS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzRnVuY3Rpb25B
bGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0gRnVuY3Rpb25FeGVjdXRh
YmxlUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBj
YXNlIEdldFNjb3BlOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9j
YXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYg
dGFyZ2V0LT5pc0Z1bmN0aW9uQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgIGV4YWN0UmVh
ZCA9IEZ1bmN0aW9uQWN0aXZhdGlvblBMb2M7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgY2FzZSBDaGVjazoKKyAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0No
aWxkcmVuKAorICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgWyZdIChFZGdl
IGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGVkZ2Uud2lsbE5vdEhhdmVDaGVjaygp
KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgICAg
IGlmIChhbHJlYWR5Q2hlY2tlZChlZGdlLnVzZUtpbmQoKSwgU3BlY09iamVjdCkpCisgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwLmVz
Y2FwZShlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIE1vdkhpbnQ6CisgICAgICAgIGNhc2UgUHV0SGludDoKKyAgICAg
ICAgICAgIC8vIEhhbmRsZWQgYnkgT1NSIGF2YWlsYWJpbGl0eSBhbmFseXNpcworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0No
aWxkcmVuKAorICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgWyZdIChFZGdl
IGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShlZGdlLm5vZGUoKSk7
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmIChleGFjdFJlYWQpIHsKKyAgICAgICAgICAgIEFTU0VSVCh0YXJnZXQpOworICAg
ICAgICAgICAgQVNTRVJUKHdyaXRlcy5pc0VtcHR5KCkpOworICAgICAgICAgICAgaWYgKE5vZGUq
IHZhbHVlID0gaGVhcFJlc29sdmUoUHJvbW90ZWRIZWFwTG9jYXRpb24odGFyZ2V0LT5pZGVudGlm
aWVyKCksIGV4YWN0UmVhZCkpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKCF2YWx1ZS0+cmVw
bGFjZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgbm9kZS0+cmVwbGFjZVdpdGgodmFsdWUpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IHRhcmdldC0+Z2V0
KGV4YWN0UmVhZCk7CisgICAgICAgICAgICBpZiAoaWRlbnRpZmllcikKKyAgICAgICAgICAgICAg
ICBtX2hlYXAubmV3UG9pbnRlcihub2RlLCBpZGVudGlmaWVyKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZvciAoYXV0byBlbnRyeSA6IHdyaXRlcykgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdl
dCk7CisgICAgICAgICAgICBpZiAoZW50cnkudmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAg
ICAgdGFyZ2V0LT5zZXQoZW50cnkua2V5LCBtX2hlYXAuZm9sbG93KGVudHJ5LnZhbHVlLmFzTm9k
ZSgpKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1vdmUo
ZW50cnkua2V5KTsKKyAgICAgICAgICAgIGhlYXBXcml0ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0
YXJnZXQtPmlkZW50aWZpZXIoKSwgZW50cnkua2V5KSwgZW50cnkudmFsdWUpOworICAgICAgICB9
CisKKyAgICAgICAgbV9oZWFwLmFzc2VydElzVmFsaWQoKTsKKyAgICB9CisKKyAgICBib29sIGRl
dGVybWluZVNpbmtDYW5kaWRhdGVzKCkKKyAgICB7CisgICAgICAgIG1fc2lua0NhbmRpZGF0ZXMu
Y2xlYXIoKTsKKyAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuY2xlYXIoKTsKKyAg
ICAgICAgbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmNsZWFyKCk7Cisg
ICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5jbGVhcigpOworCisgICAg
ICAgIC8vIExvZ2ljYWxseSB3ZSB3aXNoIHRvIGNvbnNpZGVyIGV2ZXJ5IGFsbG9jYXRpb24gYW5k
IHNpbmsKKyAgICAgICAgLy8gaXQuIEhvd2V2ZXIsIGl0IGlzIHByb2JhYmx5IG5vdCBwcm9maXRh
YmxlIHRvIHNpbmsgYW4KKyAgICAgICAgLy8gYWxsb2NhdGlvbiB0aGF0IHdpbGwgYWx3YXlzIGVz
Y2FwZS4gU28sIHdlIG9ubHkgc2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIGlmIG9uZSBv
ZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6CisgICAgICAgIC8vCisgICAgICAgIC8vIDEpIFRoZXJl
IGV4aXN0cyBhIGJhc2ljIGJsb2NrIHdpdGggb25seSBiYWNrd2FyZHMgb3V0Z29pbmcKKyAgICAg
ICAgLy8gICAgZWRnZXMgKG9yIG5vIG91dGdvaW5nIGVkZ2VzKSBpbiB3aGljaCB0aGUgbm9kZSB3
YXNuJ3QKKyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemVkLiBUaGlzIGlzIG1lYW50IHRvIGNhdGNo
CisgICAgICAgIC8vICAgIGVmZmVjdGl2ZWx5LWluZmluaXRlIGxvb3BzIGluIHdoaWNoIHdlIGRv
bid0IG5lZWQgdG8KKyAgICAgICAgLy8gICAgaGF2ZSBhbGxvY2F0ZWQgdGhlIG9iamVjdC4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gMikgVGhlcmUgZXhpc3RzIGEgYmFzaWMgYmxvY2sgYXQgdGhl
IHRhaWwgb2Ygd2hpY2ggdGhlIG5vZGUKKyAgICAgICAgLy8gICAgaXMgZGVhZCBhbmQgbm90IG1h
dGVyaWFsaXplZC4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gMykgVGhlIHN1bSBvZiBleGVjdXRp
b24gY291bnRzIG9mIHRoZSBtYXRlcmlhbGl6YXRpb25zIGlzCisgICAgICAgIC8vICAgIGxlc3Mg
dGhhbiB0aGUgc3VtIG9mIGV4ZWN1dGlvbiBjb3VudHMgb2YgdGhlIG9yaWdpbmFsCisgICAgICAg
IC8vICAgIG5vZGUuCisgICAgICAgIC8vCisgICAgICAgIC8vIFdlIGN1cnJlbnRseSBpbXBsZW1l
bnQgb25seSBydWxlICMyLgorICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZSB0d28gb3Ro
ZXIgcnVsZXMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzcwNzMgKHJ1bGUgIzEpCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzcwNzQgKHJ1bGUgIzMpCisgICAgICAgIC8vCisgICAgICAgIC8v
IEhvd2V2ZXIsIHRoZXNlIHJ1bGVzIGFsbG93IGZvciBhIHN1bmsgb2JqZWN0IHRvIGJlIHB1dCBp
bnRvCisgICAgICAgIC8vIGEgbm9uLXN1bmsgb25lLCB3aGljaCB3ZSBkb24ndCBzdXBwb3J0LiBX
ZSBjb3VsZCBzb2x2ZSB0aGlzCisgICAgICAgIC8vIGJ5IHN1cHBvcnRpbmcgUHV0SGludHMgb24g
bG9jYWwgYWxsb2NhdGlvbnMsIG1ha2luZyB0aGVzZQorICAgICAgICAvLyBvYmplY3RzIG9ubHkg
cGFydGlhbGx5IGNvcnJlY3QsIGFuZCB3ZSB3b3VsZCBuZWVkIHRvIGFkYXB0CisgICAgICAgIC8v
IHRoZSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzIGFuZCBPU1IgZXhpdCB0byBoYW5kbGUKKyAg
ICAgICAgLy8gdGhpcy4gVGhpcyB3b3VsZCBiZSB0b3RhbGx5IGRvYWJsZSwgYnV0IHdvdWxkIGNy
ZWF0ZSBhCisgICAgICAgIC8vIHN1cGVyIHJhcmUsIGFuZCB0aHVzIGJ1Zy1wcm9uZSwgY29kZSBw
YXRoLgorICAgICAgICAvLyBTbywgaW5zdGVhZCwgd2UgbmVlZCB0byBpbXBsZW1lbnQgb25lIG9m
IHRoZSBmb2xsb3dpbmcKKyAgICAgICAgLy8gY2xvc3VyZSBydWxlczoKKyAgICAgICAgLy8KKyAg
ICAgICAgLy8gMSkgSWYgd2UgcHV0IGEgc2luayBjYW5kaWRhdGUgaW50byBhIGxvY2FsIGFsbG9j
YXRpb24gdGhhdAorICAgICAgICAvLyAgICBpcyBub3QgYSBzaW5rIGNhbmRpZGF0ZSwgY2hhbmdl
IG91ciBtaW5kcyBhbmQgZG9uJ3QKKyAgICAgICAgLy8gICAgYWN0dWFsbHkgc2luayB0aGUgc2lu
ayBjYW5kaWRhdGUuCisgICAgICAgIC8vCisgICAgICAgIC8vIDIpIElmIHdlIHB1dCBhIHNpbmsg
Y2FuZGlkYXRlIGludG8gYSBsb2NhbCBhbGxvY2F0aW9uLCB0aGF0CisgICAgICAgIC8vICAgIGFs
bG9jYXRpb24gYmVjb21lcyBhIHNpbmsgY2FuZGlkYXRlIGFzIHdlbGwuCisgICAgICAgIC8vCisg
ICAgICAgIC8vIFdlIGN1cnJlbnRseSBjaG9vc2UgdG8gaW1wbGVtZW50IGNsb3N1cmUgcnVsZSAj
Mi4KKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPE5vZGUqPj4gZGVwZW5kZW5jaWVzOwor
ICAgICAgICBib29sIGhhc1VuZXNjYXBlZFJlYWRzID0gZmFsc2U7CisgICAgICAgIGZvciAoQmFz
aWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAg
ICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgZm9yIChOb2Rl
KiBub2RlIDogKmJsb2NrKSB7CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAg
ICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBM
b2NhdGlvbiBsb2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghdmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgICAgICAgICAgICAgICAgICBBbGxvY2F0aW9uKiBhbGxvY2F0aW9uID0g
bV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24odmFsdWUuYXNOb2RlKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGFsbG9jYXRpb24gJiYgIWFsbG9jYXRpb24tPmlzRXNjYXBlZEFsbG9j
YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuYWRkKGFs
bG9jYXRpb24tPmlkZW50aWZpZXIoKSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUu
YXBwZW5kKGxvY2F0aW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGhhc1VuZXNjYXBlZFJlYWRzID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gVGhlIHNpbmsgY2FuZGlkYXRlcyBhcmUgaW5p
dGlhbGx5IHRoZSB1bmVzY2FwZWQKKyAgICAgICAgICAgIC8vIGFsbG9jYXRpb25zIGR5aW5nIGF0
IHRhaWwgb2YgYmxvY2tzCisgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBhbGxvY2F0aW9uczsK
KyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBtX2hlYXAuYWxsb2NhdGlvbnMo
KSkgeworICAgICAgICAgICAgICAgIGlmICghZW50cnkudmFsdWUuaXNFc2NhcGVkQWxsb2NhdGlv
bigpKQorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9ucy5hZGQoZW50cnkua2V5KTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2NvbWJp
bmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICBmb3IgKE5vZGUq
IGlkZW50aWZpZXIgOiBhbGxvY2F0aW9ucykgeworICAgICAgICAgICAgICAgIGlmICghbV9oZWFw
LmlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICAgICAgbV9zaW5rQ2Fu
ZGlkYXRlcy5hZGQoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAg
ICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgc2V0IG9mIHNpbmsgY2FuZGlkYXRlcyBpcyBjbG9zZWQg
Zm9yIHB1dCBvcGVyYXRpb25zCisgICAgICAgIFZlY3RvcjxOb2RlKj4gd29ya2xpc3Q7CisgICAg
ICAgIHdvcmtsaXN0LmFwcGVuZFJhbmdlKG1fc2lua0NhbmRpZGF0ZXMuYmVnaW4oKSwgbV9zaW5r
Q2FuZGlkYXRlcy5lbmQoKSk7CisKKyAgICAgICAgd2hpbGUgKCF3b3JrbGlzdC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IGRlcGVuZGVuY2llcy5nZXQo
d29ya2xpc3QudGFrZUxhc3QoKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlk
YXRlcy5hZGQoaWRlbnRpZmllcikuaXNOZXdFbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgd29y
a2xpc3QuYXBwZW5kKGlkZW50aWZpZXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJu
IGhhc1VuZXNjYXBlZFJlYWRzOworCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAg
ZGF0YUxvZygiQ2FuZGlkYXRlczogIiwgbGlzdER1bXAobV9zaW5rQ2FuZGlkYXRlcyksICJcbiIp
OworCisgICAgICAgIC8vIENyZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzCisgICAgICAg
IGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkp
IHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisgICAgICAgICAg
ICBtX2hlYXAuc2V0V2FudEVzY2FwZWVzKCk7CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9k
ZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAg
ICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFtdIChQcm9tb3RlZEhlYXBMb2NhdGlv
biwgTGF6eU5vZGUpIHsgfSwKKyAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExv
Y2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgYXV0byBlc2NhcGVl
cyA9IG1faGVhcC50YWtlRXNjYXBlZXMoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWVzY2FwZWVz
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRpb25zKGVz
Y2FwZWVzLCBub2RlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbV9oZWFwLnBydW5l
QnlMaXZlbmVzcyhtX2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gZXNj
YXBpbmdPbkVkZ2U7CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1f
aGVhcC5hbGxvY2F0aW9ucygpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS52YWx1
ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgICAgICAgICBib29sIG11c3RFc2NhcGUgPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5z
dWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9oZWFwQXRIZWFk
W3N1Y2Nlc3NvckJsb2NrXS5pc0FsbG9jYXRpb24oZW50cnkua2V5KQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHx8IG1faGVhcEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uZ2V0QWxsb2NhdGlv
bihlbnRyeS5rZXkpLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtdXN0RXNjYXBlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgICAgIGlmIChtdXN0RXNjYXBlKQorICAgICAgICAgICAgICAgICAgICAgICAg
ZXNjYXBpbmdPbkVkZ2UuYWRkKGVudHJ5LmtleSwgZW50cnkudmFsdWUpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBwbGFjZU1hdGVyaWFsaXphdGlvbnMoV1RGOjptb3ZlKGVz
Y2FwaW5nT25FZGdlKSwgYmxvY2stPnRlcm1pbmFsKCkpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIGhhc1VuZXNjYXBlZFJlYWRzIHx8ICFtX3NpbmtDYW5kaWRh
dGVzLmlzRW1wdHkoKTsKKyAgICB9CisKKyAgICB2b2lkIHBsYWNlTWF0ZXJpYWxpemF0aW9ucyhI
YXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBlc2NhcGVlcywgTm9kZSogd2hlcmUpCisgICAgewor
ICAgICAgICAvLyBXZSBkb24ndCBjcmVhdGUgbWF0ZXJpYWxpemF0aW9ucyBpZiB0aGUgZXNjYXBl
ZSBpcyBub3QgYQorICAgICAgICAvLyBzaW5rIGNhbmRpZGF0ZQorICAgICAgICBWZWN0b3I8Tm9k
ZSo+IHRvUmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogZXNjYXBlZXMp
IHsKKyAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhlbnRyeS5rZXkp
KQorICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOworICAgICAgICB9
CisgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvUmVtb3ZlKQorICAgICAgICAgICAg
ZXNjYXBlZXMucmVtb3ZlKGlkZW50aWZpZXIpOworCisgICAgICAgIGlmIChlc2NhcGVlcy5pc0Vt
cHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gRmlyc3QgY29sbGVjdCB0
aGUgaGludHMgdGhhdCB3aWxsIGJlIG5lZWRlZCB3aGVuIHRoZSBub2RlCisgICAgICAgIC8vIHdl
IG1hdGVyaWFsaXplIGlzIHN0aWxsIHN0b3JlZCBpbnRvIG90aGVyIHVuZXNjYXBlZCBzaW5rIGNh
bmRpZGF0ZXMKKyAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBoaW50czsKKyAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7Cisg
ICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMoZW50cnkua2V5KSkKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBmaWVsZCA6IGVu
dHJ5LnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1fc2lua0NhbmRp
ZGF0ZXMuY29udGFpbnMoZW50cnkua2V5KSB8fCAhZXNjYXBlZXMuY29udGFpbnMoZmllbGQudmFs
dWUpKTsKKyAgICAgICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMoZmllbGQudmFsdWUp
ICYmICFmaWVsZC5rZXkubmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAgICAg
ICAgICAgIGhpbnRzLmFwcGVuZChQcm9tb3RlZEhlYXBMb2NhdGlvbihlbnRyeS5rZXksIGZpZWxk
LmtleSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gTm93IHdlIG5l
ZWQgdG8gb3JkZXIgdGhlIG1hdGVyaWFsaXphdGlvbi4gQW55IG9yZGVyIGlzCisgICAgICAgIC8v
IHZhbGlkIChhcyBsb25nIGFzIHdlIG1hdGVyaWFsaXplIGEgbm9kZSBmaXJzdCBpZiBpdCBpcwor
ICAgICAgICAvLyBuZWVkZWQgZm9yIHRoZSBtYXRlcmlhbGl6YXRpb24gb2YgYW5vdGhlciBub2Rl
LCBlLmcuIGEKKyAgICAgICAgLy8gZnVuY3Rpb24ncyBhY3RpdmF0aW9uIG11c3QgYmUgbWF0ZXJp
YWxpemVkIGJlZm9yZSB0aGUKKyAgICAgICAgLy8gZnVuY3Rpb24gaXRzZWxmKSwgYnV0IHdlIHdh
bnQgdG8gdHJ5IG1pbmltaXppbmcgdGhlIG51bWJlcgorICAgICAgICAvLyBvZiB0aW1lcyB3ZSBo
YXZlIHRvIHBsYWNlIFB1dHMgdG8gY2xvc2UgY3ljbGVzIGFmdGVyIGEKKyAgICAgICAgLy8gbWF0
ZXJpYWxpemF0aW9uLiBJbiBvdGhlciB3b3Jkcywgd2UgYXJlIHRyeWluZyB0byBmaW5kIHRoZQor
ICAgICAgICAvLyBtaW5pbXVtIG51bWJlciBvZiBtYXRlcmlhbGl6YXRpb25zIHRvIHJlbW92ZSBm
cm9tIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gZ3JhcGggdG8gbWFrZSBpdCBhIERB
Rywga25vd24gYXMgdGhlCisgICAgICAgIC8vICh2ZXJ0ZXgpIGZlZWRiYWNrIHNldCBwcm9ibGVt
LiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGlzIGEKKyAgICAgICAgLy8gTlAtaGFyZCBwcm9ibGVtLCB3
aGljaCB3ZSBkb24ndCB3YW50IHRvIHNvbHZlIGV4YWN0bHkuCisgICAgICAgIC8vCisgICAgICAg
IC8vIEluc3RlYWQsIHdlIHVzZSBhIHNpbXBsZSBncmVlZHkgcHJvY2VkdXJlLCB0aGF0IHByb2Nl
ZGVzIGFzCisgICAgICAgIC8vIGZvbGxvdzoKKyAgICAgICAgLy8gIC0gV2hpbGUgdGhlcmUgaXMg
YXQgbGVhc3Qgb25lIG5vZGUgd2l0aCBubyBvdXRnb2luZyBlZGdlCisgICAgICAgIC8vICAgIGFt
b25nc3QgdGhlIHJlbWFpbmluZyBtYXRlcmlhbGl6YXRpb25zLCBtYXRlcmlhbGl6ZSBpdAorICAg
ICAgICAvLyAgICBmaXJzdAorICAgICAgICAvLyAKKyAgICAgICAgLy8gIC0gU2ltaWxhcmlseSwg
d2hpbGUgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIG5vZGUgd2l0aCBubworICAgICAgICAvLyAgICBp
bmNvbWluZyBlZGdlIGFtb25nc3QgdGhlIHJlbWFpbmluZyBtYXRlcmlhbGl6YXRpb25zLAorICAg
ICAgICAvLyAgICBtYXRlcmlhbGl6ZSBpdCBsYXN0LgorICAgICAgICAvLworICAgICAgICAvLyAg
LSBXaGVuIGJvdGggcHJldmlvdXMgY29uZGl0aW9ucyBhcmUgZmFsc2UsIHdlIGhhdmUgYW4KKyAg
ICAgICAgLy8gICAgYWN0dWFsIGN5Y2xlLCBhbmQgd2UgbmVlZCB0byBwaWNrIGEgbm9kZSB0bwor
ICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZS4gV2UgdHJ5IGdyZWVkaWx5IHRvIHJlbW92ZSB0aGUg
InByZXNzdXJlIiBvbgorICAgICAgICAvLyAgICB0aGUgcmVtYWluaW5nIG5vZGVzIGJ5IGNob29z
aW5nIHRoZSBub2RlIHdpdGggbWF4aW11bQorICAgICAgICAvLyAgICB8aW5jb21pbmcgZWRnZXN8
ICogfG91dGdvaW5nIGVkZ2VzfCBhcyBhIG1lYXN1cmUgb2YgaG93CisgICAgICAgIC8vICAgICJj
ZW50cmFsIiB0byB0aGUgZ3JhcGggaXQgaXMuIFdlIG1hdGVyaWFsaXplIGl0IGZpcnN0LAorICAg
ICAgICAvLyAgICBzbyB0aGF0IGFsbCB0aGUgcmVjb3ZlcmllcyB3aWxsIGJlIFB1dHMgb2YgdGhp
bmdzIGludG8KKyAgICAgICAgLy8gICAgaXQgKHJhdGhlciB0aGFuIFB1dHMgb2YgdGhlIG1hdGVy
aWFsaXphdGlvbiBpbnRvIG90aGVyCisgICAgICAgIC8vICAgIG9iamVjdHMpLCB3aGljaCBtZWFu
cyB3ZSB3aWxsIGhhdmUgYSBzaW5nbGUKKyAgICAgICAgLy8gICAgU3RvcmVCYXJyaWVyLgorCisK
KyAgICAgICAgLy8gQ29tcHV0ZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiBtYXRlcmlhbGl6YXRpb25z
CisgICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiBkZXBlbmRlbmNpZXM7Cisg
ICAgICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiByZXZlcnNlRGVwZW5kZW5jaWVz
OworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0PE5vZGUqPj4gZm9yTWF0ZXJpYWxpemF0
aW9uOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogZXNjYXBlZXMpIHsKKyAgICAg
ICAgICAgIGF1dG8mIG15RGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzLmFkZChlbnRyeS5rZXks
IEhhc2hTZXQ8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIGF1dG8mIG15
RGVwZW5kZW5jaWVzRm9yTWF0ZXJpYWxpemF0aW9uID0gZm9yTWF0ZXJpYWxpemF0aW9uLmFkZChl
bnRyeS5rZXksIEhhc2hTZXQ8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAg
IHJldmVyc2VEZXBlbmRlbmNpZXMuYWRkKGVudHJ5LmtleSwgSGFzaFNldDxOb2RlKj4oKSk7Cisg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogZW50cnkudmFsdWUuZmllbGRzKCkp
IHsKKyAgICAgICAgICAgICAgICBpZiAoZXNjYXBlZXMuY29udGFpbnMoZmllbGQudmFsdWUpICYm
IGZpZWxkLnZhbHVlICE9IGVudHJ5LmtleSkgeworICAgICAgICAgICAgICAgICAgICBteURlcGVu
ZGVuY2llcy5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgICAgICByZXZlcnNlRGVw
ZW5kZW5jaWVzLmFkZChmaWVsZC52YWx1ZSwgSGFzaFNldDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZh
bHVlLmFkZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQua2V5Lm5l
ZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgbXlEZXBl
bmRlbmNpZXNGb3JNYXRlcmlhbGl6YXRpb24uYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBIZWxwZXIgZnVu
Y3Rpb24gdG8gdXBkYXRlIHRoZSBtYXRlcmlhbGl6ZWQgc2V0IGFuZCB0aGUKKyAgICAgICAgLy8g
ZGVwZW5kZW5jaWVzCisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKKyAgICAg
ICAgYXV0byBtYXRlcmlhbGl6ZSA9IFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAg
ICAgbWF0ZXJpYWxpemVkLmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSog
ZGVwIDogZGVwZW5kZW5jaWVzLmdldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICByZXZl
cnNlRGVwZW5kZW5jaWVzLmZpbmQoZGVwKS0+dmFsdWUucmVtb3ZlKGlkZW50aWZpZXIpOworICAg
ICAgICAgICAgZm9yIChOb2RlKiByZGVwIDogcmV2ZXJzZURlcGVuZGVuY2llcy5nZXQoaWRlbnRp
ZmllcikpIHsKKyAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuZmluZChyZGVwKS0+dmFsdWUu
cmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAgIGZvck1hdGVyaWFsaXphdGlvbi5m
aW5kKHJkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBkZXBlbmRlbmNpZXMucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICAgICAgcmV2
ZXJzZURlcGVuZGVuY2llcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICBmb3JNYXRl
cmlhbGl6YXRpb24ucmVtb3ZlKGlkZW50aWZpZXIpOworICAgICAgICB9OworCisgICAgICAgIC8v
IE5vZGVzIHdpdGhvdXQgcmVtYWluaW5nIHVubWF0ZXJpYWxpemVkIGZpZWxkcyB3aWxsIGJlCisg
ICAgICAgIC8vIG1hdGVyaWFsaXplZCBmaXJzdCAtIGFtb25nc3QgdGhlIHJlbWFpbmluZyB1bm1h
dGVyaWFsaXplZAorICAgICAgICAvLyBub2RlcworICAgICAgICBzdGQ6Omxpc3Q8QWxsb2NhdGlv
bj4gdG9NYXRlcmlhbGl6ZTsKKyAgICAgICAgYXV0byBmaXJzdFBvcyA9IHRvTWF0ZXJpYWxpemUu
YmVnaW4oKTsKKyAgICAgICAgYXV0byBtYXRlcmlhbGl6ZUZpcnN0ID0gWyZdIChBbGxvY2F0aW9u
JiYgYWxsb2NhdGlvbikgeworICAgICAgICAgICAgbWF0ZXJpYWxpemUoYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCkpOworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBpbnNlcnQgKmFmdGVyKiB0aGUg
Y3VycmVudCBwb3NpdGlvbgorICAgICAgICAgICAgaWYgKGZpcnN0UG9zICE9IHRvTWF0ZXJpYWxp
emUuZW5kKCkpCisgICAgICAgICAgICAgICAgKytmaXJzdFBvczsKKyAgICAgICAgICAgIGZpcnN0
UG9zID0gdG9NYXRlcmlhbGl6ZS5pbnNlcnQoZmlyc3RQb3MsIFdURjo6bW92ZShhbGxvY2F0aW9u
KSk7CisgICAgICAgIH07CisKKyAgICAgICAgLy8gTm9kZXMgdGhhdCBubyBvdGhlciB1bm1hdGVy
aWFsaXplZCBub2RlIHBvaW50cyB0byB3aWxsIGJlCisgICAgICAgIC8vIG1hdGVyaWFsaXplZCBs
YXN0IC0gYW1vbmdzdCB0aGUgcmVtYWluaW5nIHVubWF0ZXJpYWxpemVkCisgICAgICAgIC8vIG5v
ZGVzCisgICAgICAgIGF1dG8gbGFzdFBvcyA9IHRvTWF0ZXJpYWxpemUuZW5kKCk7CisgICAgICAg
IGF1dG8gbWF0ZXJpYWxpemVMYXN0ID0gWyZdIChBbGxvY2F0aW9uJiYgYWxsb2NhdGlvbikgewor
ICAgICAgICAgICAgbWF0ZXJpYWxpemUoYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAg
ICAgICAgbGFzdFBvcyA9IHRvTWF0ZXJpYWxpemUuaW5zZXJ0KGxhc3RQb3MsIFdURjo6bW92ZShh
bGxvY2F0aW9uKSk7CisgICAgICAgIH07CisKKyAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExv
Y2F0aW9uPiB0b1JlY292ZXI7CisKKyAgICAgICAgd2hpbGUgKCFlc2NhcGVlcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgIG1hdGVyaWFsaXplZC5jbGVhcigpOworCisgICAgICAgICAgICAvLyBN
YXRlcmlhbGl6ZSBub2RlcyB0aGF0IHdvbid0IHJlcXVpcmUgcmVjb3ZlcmllcyBpZiB3ZSBjYW4K
KyAgICAgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAg
ICAgIGlmICghZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQoZW50cnkua2V5KS0+dmFsdWUuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIGlm
IChkZXBlbmRlbmNpZXMuZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVGaXJzdChXVEY6Om1vdmUoZW50cnkudmFsdWUpKTsK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKHJldmVyc2VEZXBlbmRlbmNpZXMuZmluZChlbnRyeS5rZXkpLT52YWx1
ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVMYXN0KFdURjo6
bW92ZShlbnRyeS52YWx1ZSkpOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgYW4g
YWN0dWFsIGN5Y2xlCisgICAgICAgICAgICBpZiAobWF0ZXJpYWxpemVkLmlzRW1wdHkoKSkgewor
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IG1heEV2YWx1YXRpb24gPSAwOworICAgICAgICAgICAg
ICAgIEFsbG9jYXRpb24qIGJlc3RBbGxvY2F0aW9uOworICAgICAgICAgICAgICAgIGZvciAoYXV0
byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgICAgICAgICBpZiAoIWZvck1hdGVy
aWFsaXphdGlvbi5maW5kKGVudHJ5LmtleSktPnZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGV2
YWx1YXRpb24gPQorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KGRlcGVuZGVuY2llcy5nZXQoZW50cnkua2V5KS5zaXplKCkpICogcmV2ZXJzZURlcGVuZGVuY2ll
cy5nZXQoZW50cnkua2V5KS5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChldmFsdWF0
aW9uID4gbWF4RXZhbHVhdGlvbikgeworICAgICAgICAgICAgICAgICAgICAgICAgbWF4RXZhbHVh
dGlvbiA9IGV2YWx1YXRpb247CisgICAgICAgICAgICAgICAgICAgICAgICBiZXN0QWxsb2NhdGlv
biA9ICZlbnRyeS52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXhFdmFsdWF0aW9uID4gMCk7CisK
KyAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUZpcnN0KFdURjo6bW92ZSgqYmVzdEFsbG9jYXRp
b24pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtYXRlcmlh
bGl6ZWQuaXNFbXB0eSgpKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDog
bWF0ZXJpYWxpemVkKQorICAgICAgICAgICAgICAgIGVzY2FwZWVzLnJlbW92ZShpZGVudGlmaWVy
KTsKKyAgICAgICAgfQorCisgICAgICAgIG1hdGVyaWFsaXplZC5jbGVhcigpOworCisgICAgICAg
IEhhc2hTZXQ8Tm9kZSo+IGVzY2FwZWQ7CisgICAgICAgIGZvciAoY29uc3QgQWxsb2NhdGlvbiYg
YWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpCisgICAgICAgICAgICBlc2NhcGVkLmFkZChhbGxv
Y2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgIGZvciAoY29uc3QgQWxsb2NhdGlvbiYgYWxs
b2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYg
ZmllbGQgOiBhbGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGVzY2Fw
ZWQuY29udGFpbnMoZmllbGQudmFsdWUpICYmICFtYXRlcmlhbGl6ZWQuY29udGFpbnMoZmllbGQu
dmFsdWUpKQorICAgICAgICAgICAgICAgICAgICB0b1JlY292ZXIuYXBwZW5kKFByb21vdGVkSGVh
cExvY2F0aW9uKGFsbG9jYXRpb24uaWRlbnRpZmllcigpLCBmaWVsZC5rZXkpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQoYWxsb2NhdGlvbi5pZGVudGlmaWVy
KCkpOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPE5vZGUqPiYgbWF0ZXJpYWxpemF0aW9u
cyA9IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5hZGQoCisgICAgICAg
ICAgICB3aGVyZSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWU7CisKKyAgICAgICAg
Zm9yIChjb25zdCBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uIDogdG9NYXRlcmlhbGl6ZSkgeworICAg
ICAgICAgICAgTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gY3JlYXRlTWF0ZXJpYWxpemF0aW9uKGFs
bG9jYXRpb24sIHdoZXJlKTsKKyAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbnMuYXBwZW5kKG1h
dGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5h
ZGQobWF0ZXJpYWxpemF0aW9uLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIXRvUmVjb3Zlci5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1fbWF0
ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5hZGQoCisgICAgICAgICAgICAgICAgd2hlcmUs
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZFJh
bmdlKAorICAgICAgICAgICAgICAgICAgICB0b1JlY292ZXIuYmVnaW4oKSwgdG9SZWNvdmVyLmVu
ZCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRoZSBoaW50cyBuZWVkIHRvIGJlIGFmdGVy
IHRoZSAicmVhbCIgcmVjb3ZlcmllcyBzbyB0aGF0IHdlCisgICAgICAgIC8vIGRvbid0IGhpbnQg
bm90LXlldC1jb21wbGV0ZSBvYmplY3RzCisgICAgICAgIGlmICghaGludHMuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJpZXMuYWRkKAorICAg
ICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpLml0ZXJh
dG9yLT52YWx1ZS5hcHBlbmRSYW5nZSgKKyAgICAgICAgICAgICAgICAgICAgaGludHMuYmVnaW4o
KSwgaGludHMuZW5kKCkpOworICAgICAgICB9CisgICAgfQorCisgICAgTm9kZSogY3JlYXRlTWF0
ZXJpYWxpemF0aW9uKGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24sIE5vZGUqIHdoZXJlKQor
ICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ugd2hlcmUgd2Ug
YWN0dWFsbHkgdXNlIHRoZQorICAgICAgICAvLyBmYWN0IHRoYXQgYW4gYWxsb2NhdGlvbidzIGlk
ZW50aWZpZXIgaXMgaW5kZWVkIHRoZSBub2RlCisgICAgICAgIC8vIHRoYXQgY3JlYXRlZCB0aGUg
YWxsb2NhdGlvbi4KKyAgICAgICAgc3dpdGNoIChhbGxvY2F0aW9uLmtpbmQoKSkgeworICAgICAg
ICBjYXNlIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdDogeworICAgICAgICAgICAgT2JqZWN0TWF0
ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhLmFkZCgpOworICAgICAgICAgICAgU3RydWN0dXJlU2V0KiBzZXQgPSBtX2dyYXBoLmFkZFN0
cnVjdHVyZVNldChhbGxvY2F0aW9uLnN0cnVjdHVyZXMoKSk7CisKKyAgICAgICAgICAgIHJldHVy
biBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVy
KCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKKyAg
ICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9u
LmlkZW50aWZpZXIoKS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVy
ZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhzZXQpLCBPcEluZm8o
ZGF0YSksIDAsIDApOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5k
OjpGdW5jdGlvbjogeworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGV4ZWN1dGFibGUgPSBhbGxv
Y2F0aW9uLmlkZW50aWZpZXIoKS0+Y2VsbE9wZXJhbmQoKTsKKworICAgICAgICAgICAgcmV0dXJu
IG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIo
KS0+cHJlZGljdGlvbigpLCBOZXdGdW5jdGlvbiwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2lu
KAorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+b3JpZ2luLnNl
bWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAg
ICAgICAgICAgICAgIE9wSW5mbyhleGVjdXRhYmxlKSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6QWN0aXZhdGlvbjogewor
ICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9v
YmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgRnJvemVuVmFsdWUq
IHN5bWJvbFRhYmxlID0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPmNlbGxPcGVyYW5kKCk7CisK
KyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxs
b2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlh
bGl6ZUNyZWF0ZUFjdGl2YXRpb24sCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAg
ICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywK
KyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAg
ICAgICBPcEluZm8oc3ltYm9sVGFibGUpLCBPcEluZm8oZGF0YSksIDAsIDApOworICAgICAgICB9
CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBhbGxv
Y2F0aW9uLmlkZW50aWZpZXIoKSwgIkJhZCBhbGxvY2F0aW9uIGtpbmQiKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHZvaWQgcHJvbW90ZUxvY2FsSGVhcCgpCisgICAgeworICAgICAgICAvLyBD
b2xsZWN0IHRoZSBzZXQgb2YgaGVhcCBsb2NhdGlvbnMgdGhhdCB3ZSB3aWxsIGJlIG9wZXJhdGlu
ZworICAgICAgICAvLyBvdmVyLgorICAgICAgICBIYXNoU2V0PFByb21vdGVkSGVhcExvY2F0aW9u
PiBsb2NhdGlvbnM7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJs
b2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVh
ZFtibG9ja107CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAg
ICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlO
b2RlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbG9jYXRpb24gaXMgbm90
IG9uIGEgc2luayBjYW5kaWRhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBvbmx5
IHNpbmsgaXQgaWYgaXQgaXMgcmVhZAorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2NhdGlvbnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
bikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLmFkZChsb2Nh
dGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBG
aWd1cmUgb3V0IHdoaWNoIGxvY2F0aW9ucyBiZWxvbmcgdG8gd2hpY2ggYWxsb2NhdGlvbnMuCisg
ICAgICAgIG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5jbGVhcigpOworICAgICAgICBmb3IgKFBy
b21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAgICBh
dXRvIHJlc3VsdCA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5hZGQoCisgICAgICAgICAgICAg
ICAgbG9jYXRpb24uYmFzZSgpLAorICAgICAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBM
b2NhdGlvbj4oKSk7CisgICAgICAgICAgICBBU1NFUlQoIXJlc3VsdC5pdGVyYXRvci0+dmFsdWUu
Y29udGFpbnMobG9jYXRpb24pKTsKKyAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUu
YXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcG9pbnRlclNTQS5yZXNl
dCgpOworICAgICAgICBtX2FsbG9jYXRpb25TU0EucmVzZXQoKTsKKworICAgICAgICAvLyBDb2xs
ZWN0IHRoZSBzZXQgb2YgInZhcmlhYmxlcyIgdGhhdCB3ZSB3aWxsIGJlIHNpbmtpbmcuCisgICAg
ICAgIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmNsZWFyKCk7CisgICAgICAgIG1fbm9kZVRvVmFyaWFi
bGUuY2xlYXIoKTsKKyAgICAgICAgVmVjdG9yPE5vZGUqPiBpbmRleFRvTm9kZTsKKyAgICAgICAg
VmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBpbmRleFRvTG9jYXRpb247CisKKyAgICAgICAg
Zm9yIChOb2RlKiBpbmRleCA6IG1fc2lua0NhbmRpZGF0ZXMpIHsKKyAgICAgICAgICAgIFNTQUNh
bGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fYWxsb2NhdGlvblNTQS5uZXdWYXJpYWJs
ZSgpOworICAgICAgICAgICAgbV9ub2RlVG9WYXJpYWJsZS5hZGQoaW5kZXgsIHZhcmlhYmxlKTsK
KyAgICAgICAgICAgIEFTU0VSVChpbmRleFRvTm9kZS5zaXplKCkgPT0gdmFyaWFibGUtPmluZGV4
KCkpOworICAgICAgICAgICAgaW5kZXhUb05vZGUuYXBwZW5kKGluZGV4KTsKKyAgICAgICAgfQor
CisgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMp
IHsKKyAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fcG9p
bnRlclNTQS5uZXdWYXJpYWJsZSgpOworICAgICAgICAgICAgbV9sb2NhdGlvblRvVmFyaWFibGUu
YWRkKGxvY2F0aW9uLCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXhUb0xvY2F0
aW9uLnNpemUoKSA9PSB2YXJpYWJsZS0+aW5kZXgoKSk7CisgICAgICAgICAgICBpbmRleFRvTG9j
YXRpb24uYXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIGluc2Vy
dCBhbGwgcmVxdWlyZWQgY29uc3RhbnRzIGF0IHRvcCBvZiBibG9jayAwIHNvIHRoYXQKKyAgICAg
ICAgLy8gdGhleSBhcmUgaW5zZXJ0ZWQgb25seSBvbmNlIGFuZCB3ZSBkb24ndCBjbHV0dGVyIHRo
ZSBncmFwaAorICAgICAgICAvLyB3aXRoIHVzZWxlc3MgY29uc3RhbnRzIGV2ZXJ5d2hlcmUKKyAg
ICAgICAgSGFzaE1hcDxGcm96ZW5WYWx1ZSosIE5vZGUqPiBsYXp5TWFwcGluZzsKKyAgICAgICAg
aWYgKCFtX2JvdHRvbSkKKyAgICAgICAgICAgIG1fYm90dG9tID0gbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0Q29uc3RhbnQoMCwgTm9kZU9yaWdpbigpLCBqc051bWJlcigxOTI3KSk7CisgICAgICAgIGZv
ciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsK
KyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisKKyAgICAgICAgICAg
IGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsg
Kytub2RlSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5v
ZGVJbmRleCk7CisKKyAgICAgICAgICAgICAgICAvLyBTb21lIG5hbWVkIHByb3BlcnRpZXMgY2Fu
IGJlIGFkZGVkIGNvbmRpdGlvbmFsbHksCisgICAgICAgICAgICAgICAgLy8gYW5kIHRoYXQgd291
bGQgbmVjZXNzaXRhdGUgYm90dG9tcworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFw
TG9jYXRpb24gbG9jYXRpb24gOiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbi5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0
eVBMb2MpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2xvY2F0aW9uVG9W
YXJpYWJsZS5nZXQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBtX3BvaW50ZXJTU0Eu
bmV3RGVmKHZhcmlhYmxlLCBibG9jaywgbV9ib3R0b20pOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRlcmlhbGl6
YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAg
ICAgICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVy
aWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvblNTQS5uZXdEZWYo
bV9ub2RlVG9WYXJpYWJsZS5nZXQoZXNjYXBlZSksIGJsb2NrLCBtYXRlcmlhbGl6YXRpb24pOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVz
LmNvbnRhaW5zKG5vZGUpKQorICAgICAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25TU0EubmV3
RGVmKG1fbm9kZVRvVmFyaWFibGUuZ2V0KG5vZGUpLCBibG9jaywgbm9kZSk7CisKKyAgICAgICAg
ICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAg
ICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSB2
YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFsb2NhdGlvbnMuY29udGFpbnMo
bG9jYXRpb24pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICAgICAgICAgICAgICAgICAgTm9kZSogbm9kZVZhbHVlOworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHZhbHVlLmlzTm9kZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVW
YWx1ZSA9IHZhbHVlLmFzTm9kZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbGF6eU1hcHBpbmcuZmluZCh2
YWx1ZS5hc1ZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9
IGxhenlNYXBwaW5nLmVuZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rl
VmFsdWUgPSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gdmFsdWUuZW5zdXJl
SXNOb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25T
ZXQsIG1fZ3JhcGguYmxvY2soMCksIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsYXp5TWFwcGluZy5hZGQodmFsdWUuYXNWYWx1ZSgpLCBub2RlVmFsdWUpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9s
b2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1fcG9pbnRlclNTQS5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCBub2RlVmFsdWUpOworICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRIZWFwTG9j
YXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKG1fZ3JhcGguYmxvY2soMCkpOworCisgICAgICAg
IC8vIFJ1biB0aGUgU1NBIGNhbGN1bGF0b3JzIHRvIGNyZWF0ZSBQaGlzCisgICAgICAgIG1fcG9p
bnRlclNTQS5jb21wdXRlUGhpcygKKyAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRvcjo6VmFy
aWFibGUqIHZhcmlhYmxlLCBCYXNpY0Jsb2NrKiBibG9jaykgLT4gTm9kZSogeworICAgICAgICAg
ICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3Zh
cmlhYmxlLT5pbmRleCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0ZSBQaGkg
bm9kZXMgZm9yIGZpZWxkcyBvZiBkZWFkIGFsbG9jYXRpb25zCisgICAgICAgICAgICAgICAgaWYg
KCFtX2hlYXBBdEhlYWRbYmxvY2tdLmlzQWxsb2NhdGlvbihsb2NhdGlvbi5iYXNlKCkpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIERv
bid0IGNyZWF0ZSBQaGkgbm9kZXMgb25jZSB3ZSBhcmUgZXNjYXBlZAorICAgICAgICAgICAgICAg
IGlmIChtX2hlYXBBdEhlYWRbYmxvY2tdLmdldEFsbG9jYXRpb24obG9jYXRpb24uYmFzZSgpKS5p
c0VzY2FwZWRBbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICAgICAgLy8gSWYgd2UgcG9pbnQgdG8gYSBzaW5nbGUgYWxsb2NhdGlv
biwgd2Ugd2lsbAorICAgICAgICAgICAgICAgIC8vIGRpcmVjdGx5IHVzZSBpdHMgbWF0ZXJpYWxp
emF0aW9uCisgICAgICAgICAgICAgICAgaWYgKG1faGVhcEF0SGVhZFtibG9ja10uZm9sbG93KGxv
Y2F0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
ICAgICAgICBOb2RlKiBwaGlOb2RlID0gbV9ncmFwaC5hZGROb2RlKFNwZWNIZWFwVG9wLCBQaGks
IE5vZGVPcmlnaW4oKSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVyZ2VGbGFncyhOb2Rl
UmVzdWx0SlMpOworICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOworICAgICAgICAgICAg
fSk7CisKKyAgICAgICAgbV9hbGxvY2F0aW9uU1NBLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAg
WyZdIChTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2Nr
KSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IGluZGV4VG9O
b2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0
ZSBQaGkgbm9kZXMgZm9yIGRlYWQgYWxsb2NhdGlvbnMKKyAgICAgICAgICAgICAgICBpZiAoIW1f
aGVhcEF0SGVhZFtibG9ja10uaXNBbGxvY2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0
ZSBQaGkgbm9kZXMgdW50aWwgd2UgYXJlIGVzY2FwZWQKKyAgICAgICAgICAgICAgICBpZiAoIW1f
aGVhcEF0SGVhZFtibG9ja10uZ2V0QWxsb2NhdGlvbihpZGVudGlmaWVyKS5pc0VzY2FwZWRBbGxv
Y2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
ICAgICAgICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVhcFRvcCwgUGhp
LCBOb2RlT3JpZ2luKCkpOworICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdlRmxhZ3MoTm9k
ZVJlc3VsdEpTKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhlIHJpZ2h0IHBsYWNlcywgcmVwbGFj
ZSBhbGwgdXNlcyBvZiBhbnkgbG9hZCB3aXRoIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICAvLyB2
YWx1ZSwgYW5kIGNyZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzLgorICAgICAgICBMb2Nh
bE9TUkF2YWlsYWJpbGl0eUNhbGN1bGF0b3IgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvcjsKKyAgICAg
ICAgbV9ncmFwaC5jbGVhclJlcGxhY2VtZW50cygpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVh
cCA9IG1faGVhcEF0SGVhZFtibG9ja107CisgICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxh
dG9yLmJlZ2luQmxvY2soYmxvY2spOworCisgICAgICAgICAgICAvLyBUaGVzZSBtYXBwaW5nIHRh
YmxlcyBhcmUgaW50ZW5kZWQgdG8gYmUgbGF6eS4gSWYKKyAgICAgICAgICAgIC8vIHNvbWV0aGlu
ZyBpcyBvbWl0dGVkIGZyb20gdGhlIHRhYmxlLCBpdCBtZWFucyB0aGF0CisgICAgICAgICAgICAv
LyB0aGVyZSBoYXZlbid0IGJlZW4gYW55IGxvY2FsIHN0b3JlcyB0byB0aGUgcHJvbW90ZWQKKyAg
ICAgICAgICAgIC8vIGhlYXAgbG9jYXRpb24gKG9yIGFueSBsb2NhbCBtYXRlcmlhbGl6YXRpb24p
LgorICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuY2xlYXIoKTsKKyAgICAgICAgICAgIG1fZXNj
YXBlZVRvTWF0ZXJpYWxpemF0aW9uLmNsZWFyKCk7CisKKyAgICAgICAgICAgIC8vIEluc2VydCB0
aGUgUGhpIGZ1bmN0aW9ucyB0aGF0IHdlIGhhZCBwcmV2aW91c2x5CisgICAgICAgICAgICAvLyBj
cmVhdGVkLgorICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1f
cG9pbnRlclNTQS5waGlzRm9yQmxvY2soYmxvY2spKSB7CisgICAgICAgICAgICAgICAgU1NBQ2Fs
Y3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgwLCBwaGlEZWYtPnZhbHVlKCkpOworCisg
ICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBpbmRleFRvTG9j
YXRpb25bdmFyaWFibGUtPmluZGV4KCldOworICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5n
LnNldChsb2NhdGlvbiwgcGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIGlmICht
X3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAg
MCwgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBOb2RlT3JpZ2luKCksIHBoaURlZi0+dmFs
dWUoKSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
Zm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fYWxsb2NhdGlvblNTQS5waGlzRm9y
QmxvY2soYmxvY2spKSB7CisgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUq
IHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgIG1faW5zZXJ0
aW9uU2V0Lmluc2VydCgwLCBwaGlEZWYtPnZhbHVlKCkpOworCisgICAgICAgICAgICAgICAgTm9k
ZSogaWRlbnRpZmllciA9IGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAg
ICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRpZmllciwgcGhpRGVm
LT52YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgwLCBO
b2RlT3JpZ2luKCksIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHksIGlkZW50
aWZpZXIsIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlm
ICh2ZXJib3NlKSB7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWFwcGluZyBhdCAi
LCBwb2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobV9sb2NhbE1hcHBpbmcpLCAiXG4i
KTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCJMb2NhbCBtYXRlcmlhbGl6YXRpb25zIGF0ICIs
IHBvaW50ZXJEdW1wKGJsb2NrKSwgIjogIiwgbWFwRHVtcChtX2VzY2FwZWVUb01hdGVyaWFsaXph
dGlvbiksICJcbiIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7
CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAg
ICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBtX2xvY2F0
aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChs
b2NhdGlvbi5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0eVBMb2MpCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5zZXQo
bG9jYXRpb24sIG1fYm90dG9tKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2Fu
ZGlkYXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNl
cnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCAr
IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uY3JlYXRlSGludChtX2dy
YXBoLCBub2RlLT5vcmlnaW4sIG1fYm90dG9tKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXph
dGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9u
VG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBwb3B1
bGF0ZU1hdGVyaWFsaXphdGlvbihibG9jaywgbWF0ZXJpYWxpemF0aW9uLCBlc2NhcGVlKTsKKyAg
ICAgICAgICAgICAgICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uc2V0KGVzY2FwZWUs
IG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmlu
c2VydChub2RlSW5kZXgsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh2ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiTWF0ZXJpYWxpemlu
ZyAiLCBlc2NhcGVlLCAiID0+ICIsIG1hdGVyaWFsaXphdGlvbiwgIiBhdCAiLCBub2RlLCAiXG4i
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVh
cExvY2F0aW9uIGxvY2F0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmdl
dChub2RlKSkKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJ
bmRleCwgY3JlYXRlUmVjb3ZlcnkoYmxvY2ssIGxvY2F0aW9uLCBub2RlKSk7CisKKyAgICAgICAg
ICAgICAgICAvLyBXZSBuZWVkIHRvIHB1dCB0aGUgT1NSIGhpbnRzIGFmdGVyIHRoZSByZWNvdmVy
aWVzLAorICAgICAgICAgICAgICAgIC8vIGJlY2F1c2Ugd2Ugb25seSB3YW50IHRoZSBoaW50cyBv
bmNlIHRoZSBvYmplY3QgaXMKKyAgICAgICAgICAgICAgICAvLyBjb21wbGV0ZQorICAgICAgICAg
ICAgICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRl
VG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBOb2Rl
KiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXphdGlv
bik7CisgICAgICAgICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAorICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZUluZGV4LCBub2RlLT5vcmlnaW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLm1fYXZhaWxhYmlsaXR5LCBlc2NhcGVl
LCBtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKQorICAgICAgICAgICAgICAgICAg
ICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5zZXQobm9kZSwgbm9kZSk7CisKKyAgICAgICAg
ICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmV4ZWN1dGVOb2RlKG5vZGUpOworCisgICAg
ICAgICAgICAgICAgYm9vbCBkb0xvd2VyID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaGFuZGxl
Tm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZd
IChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghbG9jYXRpb25zLmNvbnRhaW5zKGxvY2F0aW9uKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIE5vZGUqIG5vZGVWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5p
c05vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5h
c05vZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlVmFsdWUgPSBsYXp5TWFwcGluZy5nZXQodmFsdWUuYXNWYWx1ZSgpKTsK
KworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gcmVzb2x2ZShibG9jaywgbm9k
ZVZhbHVlKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0KGxv
Y2F0aW9uLCBub2RlVmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvTG93ZXIgPSB0
cnVlOworCisgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQobm9k
ZUluZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5jcmVhdGVI
aW50KG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbm9kZVZhbHVlKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9j
YXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZl
KGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAg
ICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkgfHwgZG9Mb3dlcikgewor
ICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxp
emVOZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFu
dG9tTmV3T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld0Z1bmN0aW9uKCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246
CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2
YXRpb24oKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5yZW1vdmUoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoRWRn
ZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZWRnZS5zZXROb2RlKHJlc29sdmUo
YmxvY2ssIGVkZ2Uubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAvLyBHb3R0YSBkcm9wIHNvbWUgVXBzaWxvbnMuCisgICAgICAg
ICAgICBOb2RlQW5kSW5kZXggdGVybWluYWwgPSBibG9jay0+ZmluZFRlcm1pbmFsKCk7CisgICAg
ICAgICAgICBzaXplX3QgdXBzaWxvbkluc2VydGlvblBvaW50ID0gdGVybWluYWwuaW5kZXg7Cisg
ICAgICAgICAgICBOb2RlT3JpZ2luIHVwc2lsb25PcmlnaW4gPSB0ZXJtaW5hbC5ub2RlLT5vcmln
aW47CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2st
PnN1Y2Nlc3NvcnMoKSkgeworICAgICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVm
KiBwaGlEZWYgOiBtX3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2NrKSkgewor
ICAgICAgICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgpOworICAg
ICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBwaGlE
ZWYtPnZhcmlhYmxlKCk7CisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
IGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAg
ICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisK
KyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVwc2lsb24s
IHVwc2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhpTm9kZSks
IGluY29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9hbGxvY2F0aW9uU1NB
LnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9k
ZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2Fs
Y3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAg
ICAgICAgICAgICAgICBOb2RlKiBpbmNvbWluZyA9IGdldE1hdGVyaWFsaXphdGlvbihibG9jaywg
aW5kZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldKTsKKworICAgICAgICAgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgdXBzaWxv
bkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBzaWxvbiwgdXBzaWxvbk9yaWdpbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlOb2RlKSwgaW5jb21pbmctPmRlZmF1bHRFZGdl
KCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBOb2Rl
KiByZXNvbHZlKEJhc2ljQmxvY2sqIGJsb2NrLCBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
bikKKyAgICB7CisgICAgICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgcG9pbnRpbmcgdG8gYSBz
aW5nbGUgbG9jYWwgYWxsb2NhdGlvbiwKKyAgICAgICAgLy8gc2ltcGx5IHJldHVybiB0aGUgYXNz
b2NpYXRlZCBtYXRlcmlhbGl6YXRpb24uCisgICAgICAgIGlmIChOb2RlKiBpZGVudGlmaWVyID0g
bV9oZWFwLmZvbGxvdyhsb2NhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZ2V0TWF0ZXJpYWxp
emF0aW9uKGJsb2NrLCBpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoTm9kZSogcmVzdWx0ID0g
bV9sb2NhbE1hcHBpbmcuZ2V0KGxvY2F0aW9uKSkKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisKKyAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQgdGhlcmUgaXMgbm8gbG9jYWwgbWFwcGlu
Zy4gRmluZCBhIG5vbi1sb2NhbCBtYXBwaW5nLgorICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYq
IGRlZiA9IG1fcG9pbnRlclNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxv
Y2ssIG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbikpOworICAgICAgICBBU1NFUlQo
ZGVmKTsKKyAgICAgICAgQVNTRVJUKGRlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgTm9kZSogcmVz
dWx0ID0gZGVmLT52YWx1ZSgpOworCisgICAgICAgIEFTU0VSVCghcmVzdWx0LT5yZXBsYWNlbWVu
dCgpKTsKKworICAgICAgICBtX2xvY2FsTWFwcGluZy5hZGQobG9jYXRpb24sIHJlc3VsdCk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Js
b2NrKiBibG9jaywgTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIC8vIElmIHdlIGFyZSBjdXJy
ZW50bHkgcG9pbnRpbmcgdG8gYSBzaW5nbGUgbG9jYWwgYWxsb2NhdGlvbiwKKyAgICAgICAgLy8g
c2ltcGx5IHJldHVybiB0aGUgYXNzb2NpYXRlZCBtYXRlcmlhbGl6YXRpb24uCisgICAgICAgIGlm
IChOb2RlKiBpZGVudGlmaWVyID0gbV9oZWFwLmZvbGxvdyhub2RlKSkKKyAgICAgICAgICAgIHJl
dHVybiBnZXRNYXRlcmlhbGl6YXRpb24oYmxvY2ssIGlkZW50aWZpZXIpOworCisgICAgICAgIGlm
IChub2RlLT5yZXBsYWNlbWVudCgpKQorICAgICAgICAgICAgbm9kZSA9IG5vZGUtPnJlcGxhY2Vt
ZW50KCk7CisgICAgICAgIEFTU0VSVCghbm9kZS0+cmVwbGFjZW1lbnQoKSk7CisKKyAgICAgICAg
cmV0dXJuIG5vZGU7CisgICAgfQorCisgICAgTm9kZSogZ2V0TWF0ZXJpYWxpemF0aW9uKEJhc2lj
QmxvY2sqIGJsb2NrLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
aGVhcC5pc0FsbG9jYXRpb24oaWRlbnRpZmllcikpOworICAgICAgICBpZiAoIW1fc2lua0NhbmRp
ZGF0ZXMuY29udGFpbnMoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm4gaWRlbnRpZmll
cjsKKworICAgICAgICBpZiAoTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gbV9lc2NhcGVlVG9NYXRl
cmlhbGl6YXRpb24uZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuIG1hdGVyaWFs
aXphdGlvbjsKKworICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fYWxsb2NhdGlv
blNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxvY2ssIG1fbm9kZVRvVmFy
aWFibGUuZ2V0KGlkZW50aWZpZXIpKTsKKyAgICAgICAgQVNTRVJUKGRlZiAmJiBkZWYtPnZhbHVl
KCkpOworICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRpZmllciwg
ZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgQVNTRVJUKCFkZWYtPnZhbHVlKCktPnJlcGxhY2VtZW50
KCkpOworICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOworICAgIH0KKworICAgIHZvaWQgaW5z
ZXJ0T1NSSGludHNGb3JVcGRhdGUodW5zaWduZWQgbm9kZUluZGV4LCBOb2RlT3JpZ2luIG9yaWdp
biwgQXZhaWxhYmlsaXR5TWFwJiBhdmFpbGFiaWxpdHksIE5vZGUqIGVzY2FwZWUsIE5vZGUqIG1h
dGVyaWFsaXphdGlvbikKKyAgICB7CisgICAgICAgIC8vIFdlIG5lZWQgdG8gZm9sbG93KCkgdGhl
IHZhbHVlIGluIHRoZSBoZWFwLgorICAgICAgICAvLyBDb25zaWRlciB0aGUgZm9sbG93aW5nIGdy
YXBoOgorICAgICAgICAvLworICAgICAgICAvLyBCbG9jayAjMAorICAgICAgICAvLyAgIDA6IE5l
d09iamVjdCh7fSkKKyAgICAgICAgLy8gICAxOiBOZXdPYmplY3Qoe30pCisgICAgICAgIC8vICAg
LTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4OjApCisgICAgICAgIC8vICAgLTogUHV0U3RydWN0dXJl
KEAwLCB7eDowfSkKKyAgICAgICAgLy8gICAyOiBHZXRCeU9mZnNldChAMCwgeDowKQorICAgICAg
ICAvLyAgIC06IE1vdkhpbnQoQDIsIGxvYzEpCisgICAgICAgIC8vICAgLTogQnJhbmNoKCMxLCAj
MikKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sgIzEKKyAgICAgICAgLy8gICAzOiBDYWxs
KGYsIEAxKQorICAgICAgICAvLyAgIDQ6IFJldHVybihAMCkKKyAgICAgICAgLy8KKyAgICAgICAg
Ly8gQmxvY2sgIzIKKyAgICAgICAgLy8gICAtOiBSZXR1cm4odW5kZWZpbmVkKQorICAgICAgICAv
LworICAgICAgICAvLyBXZSBuZWVkIHRvIG1hdGVyaWFsaXplIEAxIGF0IEAzLCBhbmQgd2hlbiBk
b2luZyBzbyB3ZSBuZWVkCisgICAgICAgIC8vIHRvIGluc2VydCBhIE1vdkhpbnQgZm9yIHRoZSBt
YXRlcmlhbGl6YXRpb24gaW50byBsb2MxIGFzCisgICAgICAgIC8vIHdlbGwuCisgICAgICAgIC8v
IEluIG9yZGVyIHRvIGRvIHRoaXMsIHdlIHNheSB0aGF0IHdlIG5lZWQgdG8gaW5zZXJ0IGFuCisg
ICAgICAgIC8vIHVwZGF0ZSBoaW50IGZvciBhbnkgYXZhaWxhYmlsaXR5IHdob3NlIG5vZGUgcmVz
b2x2ZSgpcyB0bworICAgICAgICAvLyB0aGUgbWF0ZXJpYWxpemF0aW9uLgorICAgICAgICBmb3Ig
KGF1dG8gZW50cnkgOiBhdmFpbGFiaWxpdHkubV9oZWFwKSB7CisgICAgICAgICAgICBpZiAoIWVu
dHJ5LnZhbHVlLmhhc05vZGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIGlmIChtX2hlYXAuZm9sbG93KGVudHJ5LnZhbHVlLm5vZGUoKSkgIT0gZXNjYXBlZSkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0KAorICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgZW50cnkua2V5LmNyZWF0ZUhpbnQobV9n
cmFwaCwgb3JpZ2luLCBtYXRlcmlhbGl6YXRpb24pKTsKKyAgICAgICAgfQorCisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IGF2YWlsYWJpbGl0eS5tX2xvY2Fscy5zaXplKCk7IGktLTspIHsKKyAg
ICAgICAgICAgIGlmICghYXZhaWxhYmlsaXR5Lm1fbG9jYWxzW2ldLmhhc05vZGUoKSkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChtX2hlYXAuZm9sbG93KGF2YWls
YWJpbGl0eS5tX2xvY2Fsc1tpXS5ub2RlKCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgIGludCBvcGVyYW5kID0gYXZhaWxhYmlsaXR5Lm1fbG9j
YWxzLm9wZXJhbmRGb3JJbmRleChpKTsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dE5vZGUoCisgICAgICAgICAgICAgICAgbm9kZUluZGV4LCBTcGVjTm9uZSwgTW92SGludCwgb3Jp
Z2luLCBPcEluZm8ob3BlcmFuZCksCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uLT5k
ZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgcG9wdWxhdGVNYXRl
cmlhbGl6YXRpb24oQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUp
CisgICAgeworICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9j
YXRpb24oZXNjYXBlZSk7CisgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICBj
YXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhJiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworICAg
ICAgICAgICAgdW5zaWduZWQgZmlyc3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5z
aXplKCk7CisKKyAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRp
b25zID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAg
ICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc3RydWN0dXJlKFN0cnVjdHVyZVBMb2MsIGFsbG9jYXRp
b24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMo
c3RydWN0dXJlKSk7CisKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBl
bmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzdHJ1Y3R1cmUpLCBLbm93bkNlbGxVc2UpKTsKKworICAg
ICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykg
eworICAgICAgICAgICAgICAgIHN3aXRjaCAobG9jYXRpb24ua2luZCgpKSB7CisgICAgICAgICAg
ICAgICAgY2FzZSBTdHJ1Y3R1cmVQTG9jOgorICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9j
YXRpb24gPT0gc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICAgICAgICAg
IEFTU0VSVChsb2NhdGlvbi5iYXNlKCkgPT0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAg
ICAgICAgICAgICAgICAgICBkYXRhLm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5
VmFsdWUobG9jYXRpb24uaW5mbygpKSk7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHZhbHVl
ID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAobV9z
aW5rQ2FuZGlkYXRlcy5jb250YWlucyh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKG1fYm90dG9tKTsKKyAgICAgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxk
cmVuLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAg
IERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIGxvY2F0aW9uIGtpbmQiKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVuID0g
QWRqYWNlbmN5TGlzdCgKKyAgICAgICAgICAgICAgICBBZGphY2VuY3lMaXN0OjpWYXJpYWJsZSwK
KyAgICAgICAgICAgICAgICBmaXJzdENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6
ZSgpIC0gZmlyc3RDaGlsZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAg
ICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICBPYmpl
Y3RNYXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9u
RGF0YSgpOworCisgICAgICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3Zh
ckFyZ0NoaWxkcmVuLnNpemUoKTsKKworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExv
Y2F0aW9uPiBsb2NhdGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUp
OworCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzeW1ib2xUYWJsZShBY3RpdmF0
aW9uU3ltYm9sVGFibGVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHN5bWJvbFRhYmxlKSk7CisgICAgICAgICAgICBB
U1NFUlQobm9kZS0+Y2VsbE9wZXJhbmQoKSA9PSByZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSkt
PmNvbnN0YW50KCkpOworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVu
ZChFZGdlKHJlc29sdmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CisKKyAg
ICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2Ms
IGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMu
Y29udGFpbnMoc2NvcGUpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5h
cHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOworCisgICAg
ICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7
CisgICAgICAgICAgICAgICAgc3dpdGNoIChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgICAg
ICAgICBjYXNlIEFjdGl2YXRpb25TY29wZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKGxvY2F0aW9uID09IHNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY2FzZSBBY3RpdmF0aW9uU3ltYm9sVGFi
bGVQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbiA9PSBzeW1ib2xU
YWJsZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGNhc2UgQ2xvc3VyZVZhclBMb2M6IHsKKyAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9uLmJhc2UoKSA9PSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFwcGVuZChQaGFudG9tUHJvcGVy
dHlWYWx1ZShsb2NhdGlvbi5pbmZvKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdmFs
dWUgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlmICht
X3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQobV9ib3R0b20pOworICAgICAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hp
bGRyZW4uYXBwZW5kKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4g
PSBBZGphY2VuY3lMaXN0KAorICAgICAgICAgICAgICAgIEFkamFjZW5jeUxpc3Q6OlZhcmlhYmxl
LAorICAgICAgICAgICAgICAgIGZpcnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5z
aXplKCkgLSBmaXJzdENoaWxkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjogeworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVh
cExvY2F0aW9uPiBsb2NhdGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2Fw
ZWUpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5zaXplKCkgPT0gMik7CisKKyAgICAg
ICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGV4ZWN1dGFibGUoRnVuY3Rpb25FeGVjdXRhYmxl
UExvYywgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUX1VOVVNF
RChleGVjdXRhYmxlLCBsb2NhdGlvbnMuY29udGFpbnMoZXhlY3V0YWJsZSkpOworCisgICAgICAg
ICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBhY3RpdmF0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBM
b2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlv
bnMuY29udGFpbnMoYWN0aXZhdGlvbikpOworCisgICAgICAgICAgICBub2RlLT5jaGlsZDEoKSA9
IEVkZ2UocmVzb2x2ZShibG9jaywgYWN0aXZhdGlvbiksIEtub3duQ2VsbFVzZSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBE
RkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBtYXRlcmlhbGl6ZSBvcCIpOworICAgICAgICB9
CisgICAgfQorCisgICAgTm9kZSogY3JlYXRlUmVjb3ZlcnkoQmFzaWNCbG9jayogYmxvY2ssIFBy
b21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAg
IGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiUmVjb3ZlcmluZyAiLCBsb2NhdGlv
biwgIiBhdCAiLCB3aGVyZSwgIlxuIik7CisgICAgICAgIEFTU0VSVChsb2NhdGlvbi5iYXNlKCkt
PmlzUGhhbnRvbUFsbG9jYXRpb24oKSk7CisgICAgICAgIE5vZGUqIGJhc2UgPSBnZXRNYXRlcmlh
bGl6YXRpb24oYmxvY2ssIGxvY2F0aW9uLmJhc2UoKSk7CisgICAgICAgIE5vZGUqIHZhbHVlID0g
cmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAg
ICAgICAgZGF0YUxvZygiQmFzZSBpcyAiLCBiYXNlLCAiIGFuZCB2YWx1ZSBpcyAiLCB2YWx1ZSwg
IlxuIik7CisKKyAgICAgICAgaWYgKGJhc2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSkgeworICAg
ICAgICAgICAgcmV0dXJuIFByb21vdGVkSGVhcExvY2F0aW9uKGJhc2UsIGxvY2F0aW9uLmRlc2Ny
aXB0b3IoKSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICBtX2dyYXBoLAorICAgICAgICAg
ICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGJhc2UtPm9yaWdpbi5zZW1h
bnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAg
ICAgICAgICAgICB2YWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGxvY2F0aW9u
LmtpbmQoKSkgeworICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAg
ICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24obG9jYXRpb24u
YmFzZSgpKTsKKyAgICAgICAgCisgICAgICAgICAgICBWZWN0b3I8U3RydWN0dXJlKj4gc3RydWN0
dXJlczsKKyAgICAgICAgICAgIHN0cnVjdHVyZXMuYXBwZW5kUmFuZ2UoYWxsb2NhdGlvbi5zdHJ1
Y3R1cmVzKCkuYmVnaW4oKSwgYWxsb2NhdGlvbi5zdHJ1Y3R1cmVzKCkuZW5kKCkpOworICAgICAg
ICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IGxvY2F0aW9uLmluZm8oKTsKKyAgICAg
ICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRl
bnRpZmllck51bWJlcl07CisKKyAgICAgICAgICAgIHN0ZDo6c29ydCgKKyAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmVzLmJlZ2luKCksCisgICAgICAgICAgICAgICAgc3RydWN0dXJlcy5lbmQoKSwK
KyAgICAgICAgICAgICAgICBbdWlkXSAoU3RydWN0dXJlICphLCBTdHJ1Y3R1cmUqIGIpIC0+IGJv
b2wgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS0+Z2V0Q29uY3VycmVudGx5KHVpZCkg
PCBiLT5nZXRDb25jdXJyZW50bHkodWlkKTsKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgZmlyc3RPZmZzZXQgPSBzdHJ1Y3R1cmVzWzBdLT5nZXRDb25j
dXJyZW50bHkodWlkKTsKKworICAgICAgICAgICAgaWYgKGZpcnN0T2Zmc2V0ID09IHN0cnVjdHVy
ZXMubGFzdCgpLT5nZXRDb25jdXJyZW50bHkodWlkKSkgeworICAgICAgICAgICAgICAgIE5vZGUq
IHN0b3JhZ2UgPSBiYXNlOworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXaGVuIHdlIGRlY2lk
ZSB0byBzaW5rIG9iamVjdHMgd2l0aCBhCisgICAgICAgICAgICAgICAgLy8gcHJvcGVydHkgc3Rv
cmFnZSwgd2Ugc2hvdWxkIGhhbmRsZSBub24taW5saW5lIG9mZnNldHMuCisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQoZmlyc3RPZmZzZXQpKTsKKworICAgICAg
ICAgICAgICAgIFN0b3JhZ2VBY2Nlc3NEYXRhKiBkYXRhID0gbV9ncmFwaC5tX3N0b3JhZ2VBY2Nl
c3NEYXRhLmFkZCgpOworICAgICAgICAgICAgICAgIGRhdGEtPm9mZnNldCA9IGZpcnN0T2Zmc2V0
OworICAgICAgICAgICAgICAgIGRhdGEtPmlkZW50aWZpZXJOdW1iZXIgPSBpZGVudGlmaWVyTnVt
YmVyOworCisgICAgICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAg
ICAgICAgICAgICAgU3BlY05vbmUsCisgICAgICAgICAgICAgICAgICAgIFB1dEJ5T2Zmc2V0LAor
ICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAgICBP
cEluZm8oZGF0YSksCisgICAgICAgICAgICAgICAgICAgIEVkZ2Uoc3RvcmFnZSwgS25vd25DZWxs
VXNlKSwKKyAgICAgICAgICAgICAgICAgICAgRWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAg
ICAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIE11bHRpUHV0QnlPZmZzZXREYXRhKiBkYXRhID0gbV9ncmFwaC5tX211bHRp
UHV0QnlPZmZzZXREYXRhLmFkZCgpOworICAgICAgICAgICAgZGF0YS0+aWRlbnRpZmllck51bWJl
ciA9IGlkZW50aWZpZXJOdW1iZXI7CisKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBQ
cm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gZmlyc3RPZmZzZXQ7CisgICAgICAgICAgICAg
ICAgU3RydWN0dXJlU2V0IGN1cnJlbnRTZXQ7CisgICAgICAgICAgICAgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IHN0cnVjdHVyZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKG9mZnNldCAhPSBjdXJyZW50T2Zmc2V0KSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhLT52YXJpYW50cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUHV0QnlJZFZhcmlhbnQ6OnJlcGxhY2UoY3VycmVudFNldCwgY3VycmVudE9mZnNl
dCkpOworICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE9mZnNldCA9IG9mZnNldDsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTZXQuY2xlYXIoKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2V0LmFkZChzdHJ1Y3R1cmUpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkYXRhLT52YXJpYW50cy5hcHBlbmQo
UHV0QnlJZFZhcmlhbnQ6OnJlcGxhY2UoY3VycmVudFNldCwgY3VycmVudE9mZnNldCkpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAg
ICAgICAgICAgIFNwZWNOb25lLAorICAgICAgICAgICAgICAgIE11bHRpUHV0QnlPZmZzZXQsCisg
ICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3Jp
Z2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQp
LAorICAgICAgICAgICAgICAgIE9wSW5mbyhkYXRhKSwKKyAgICAgICAgICAgICAgICBFZGdlKGJh
c2UsIEtub3duQ2VsbFVzZSksCisgICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIENsb3N1cmVW
YXJQTG9jOiB7CisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAg
ICAgICAgIFNwZWNOb25lLAorICAgICAgICAgICAgICAgIFB1dENsb3N1cmVWYXIsCisgICAgICAg
ICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNl
bWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAg
ICAgICAgICAgICAgIE9wSW5mbyhsb2NhdGlvbi5pbmZvKCkpLAorICAgICAgICAgICAgICAgIEVk
Z2UoYmFzZSwgS25vd25DZWxsVXNlKSwKKyAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVk
Z2UoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgYmFzZSwgIkJhZCBsb2NhdGlvbiBraW5k
Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIFNTQUNhbGN1
bGF0b3IgbV9wb2ludGVyU1NBOworICAgIFNTQUNhbGN1bGF0b3IgbV9hbGxvY2F0aW9uU1NBOwor
ICAgIEhhc2hTZXQ8Tm9kZSo+IG1fc2lua0NhbmRpZGF0ZXM7CisgICAgSGFzaE1hcDxQcm9tb3Rl
ZEhlYXBMb2NhdGlvbiwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBtX2xvY2F0aW9uVG9WYXJp
YWJsZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSo+IG1fbm9k
ZVRvVmFyaWFibGU7CisgICAgSGFzaE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTm9kZSo+IG1f
bG9jYWxNYXBwaW5nOworICAgIEhhc2hNYXA8Tm9kZSosIE5vZGUqPiBtX2VzY2FwZWVUb01hdGVy
aWFsaXphdGlvbjsKKyAgICBJbnNlcnRpb25TZXQgbV9pbnNlcnRpb25TZXQ7CisgICAgQ29tYmlu
ZWRMaXZlbmVzcyBtX2NvbWJpbmVkTGl2ZW5lc3M7CisKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2Rl
Kj4gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWU7CisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9y
PE5vZGUqPj4gbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zOworICAgIEhh
c2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4+IG1fbWF0ZXJpYWxpemF0
aW9uU2l0ZVRvUmVjb3ZlcmllczsKKworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3Rl
ZEhlYXBMb2NhdGlvbj4+IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbjsKKworICAgIEJsb2NrTWFw
PExvY2FsSGVhcD4gbV9oZWFwQXRIZWFkOworICAgIEJsb2NrTWFwPExvY2FsSGVhcD4gbV9oZWFw
QXRUYWlsOworICAgIExvY2FsSGVhcCBtX2hlYXA7CisKKyAgICBOb2RlKiBtX2JvdHRvbSA9IG51
bGxwdHI7Cit9OworCit9CisKK2Jvb2wgcGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcoR3Jh
cGgmIGdyYXBoKQoreworICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgQWxs
b2NhdGlvbiBDeWNsZSBTaW5raW5nIFBoYXNlIik7CisgICAgcmV0dXJuIHJ1blBoYXNlPEFsbG9j
YXRpb25DeWNsZVNpbmtpbmdQaGFzZT4oZ3JhcGgpOworfQorCit9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6REZHCisKKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyZDZkNWM1NzlhM2U4OWNlNThiNzkwZTU1NjMxYTdmNTYzY2YwODgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNs
ZVNpbmtpbmdQaGFzZS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5n
UGhhc2VfaAorI2RlZmluZSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2VfaAorCisjaWYg
RU5BQkxFKERGR19KSVQpCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xh
c3MgR3JhcGg7CisKKy8vIEVsaW1pbmF0ZXMgYWxsb2NhdGlvbnMgYWxsb2NhdGlvbnMgdGhhdCBh
cmUgbmV2ZXIgdXNlZCBleGNlcHQKKy8vIGxvY2FsbHkuIFRoaXMgd2lsbCBpbnNlcnQgcGhhbnRv
bSBhbGxvY2F0aW9ucyBhbmQgc3RvcmUgaGludHMgc28KKy8vIHRoYXQgT1NSIGV4aXQgY2FuIG1h
dGVyaWFsaXplIHRoZSBvYmplY3RzLiBSZXBsYWNlcyBhbGwgdXNlcyBvZiB0aGUKKy8vIG9iamVj
dHMnIGZpZWxkcyB3aXRoIFNTQSBkYXRhIGZsb3cuIENvbnRyYXJ5IHRvIHRoZQorLy8gT2JqZWN0
QWxsb2NhdGlvblNpbmtpbmdQaGFzZSwgdGhpcyBwaGFzZSBpcyBhYmxlIHRvIGhhbmRsZSBjeWNs
aWMKKy8vIGFsbG9jYXRpb24gZ3JhcGhzLgorCitib29sIHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVT
aW5raW5nKEdyYXBoJik7CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8v
IEVOQUJMRShERkdfSklUKQorCisjZW5kaWYgLy8gREZHT2JqZWN0Q3ljbGVTaW5raW5nUGhhc2Vf
aApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCmluZGV4IGJhYzUzOGYwMjVkM2VjZTEz
N2JlMzE3ODA2ODgxNWQ5NTM3Yzk1YTguLmZlZDZhNjg3ZDdhOGRhOWEzNjkxNTIwYTEwMDQ0ZTg2
ZjRlNTgxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKQEAgLTMyNSw3ICsz
MjUsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3RydWN0dXJlU2V0KiBhZGRTdHJ1Y3R1cmVTZXQo
Y29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVTZXQpCiAgICAgewotICAgICAgICBBU1NFUlQo
c3RydWN0dXJlU2V0LnNpemUoKSk7CiAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFwcGVuZChzdHJ1
Y3R1cmVTZXQpOwogICAgICAgICByZXR1cm4gJm1fc3RydWN0dXJlU2V0Lmxhc3QoKTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCmluZGV4IDk1NGVkOTg1
NWQ1ZWUyYTUzNjJhOWMxN2I3YTU3MzE0YjJhMjU0NjkuLmM4ZDA5NDBlNzdmM2ZkYjkxMWJhYTQ0
ZGI1YzRkZWUyMDg1OTEyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGF6eU5vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5v
ZGUuY3BwCkBAIC0zOCw4ICszOCw3IEBAIHZvaWQgTGF6eU5vZGU6OmR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKICAgICAgICAgaWYgKGlzTm9kZSgpKQogICAgICAgICAgICAgb3V0LnByaW50
KCJMYXp5Tm9kZTpAIiwgYXNOb2RlKCktPmluZGV4KCkpOwogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBvdXQucHJpbnQoIkxhenlOb2RlOkZyb3plblZhbHVlOiIsIEdyYXBoOjpvcE5hbWUob3Ao
KSksICIsICIsIHBvaW50ZXJEdW1wKGFzVmFsdWUoKSkpOwotICAgICAgICBvdXQucHJpbnQoIiki
KTsKKyAgICAgICAgICAgIG91dC5wcmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWUoIiwgR3JhcGg6
Om9wTmFtZShvcCgpKSwgIiwgIiwgcG9pbnRlckR1bXAoYXNWYWx1ZSgpKSwgIikiKTsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggOWNhMmNkYzY4MThhMjNi
YzJhNmI3YzEzNjMwYzRiOTIyYmJlZDMxZi4uNTBiYTFkZDI5MGZiYWE2ZWZhMzg3ZDZlMmVlODYw
NzVhOTUwYTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyOTMsMTMg
KzEyOTMsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgRnJvemVuVmFsdWUqIGNlbGxPcGVyYW5kKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChoYXNDZWxsT3BlcmFuZCgpKTsKLSAgICAgICAgc3dpdGNo
IChvcCgpKSB7Ci0gICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgotICAg
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5mbzIp
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
RnJvemVuVmFsdWUqPihtX29wSW5mbyk7Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVu
VmFsdWUqPihtX29wSW5mbyk7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CkBAIC0xMzU5LDYgKzEzNTMsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIHN3aXRjaCAob3Ao
KSkgewogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgogICAgICAgICBjYXNlIENoZWNrU3Ry
dWN0dXJlSW1tZWRpYXRlOgorICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0xNDQ0LDcgKzE0MzksNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgT2JqZWN0
TWF0ZXJpYWxpemF0aW9uRGF0YSYgb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpCiAgICAgewog
ICAgICAgICBBU1NFUlQoaGFzT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpKTsKLSAgICAgICAg
cmV0dXJuICpyZWludGVycHJldF9jYXN0PE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqPihtX29w
SW5mbyk7CisgICAgICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhKj4obV9vcEluZm8yKTsKICAgICB9CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2Nh
dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWls
YWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAppbmRleCBmZjVmZDk1YTdjMGM4NTE1ZjNk
NzcxN2NmNmE1ZTY0ZDQ2ZjFkMjdiLi44Yzg0MTlhODE4Y2QyNjQxOTM5OWY0ZTQ5MTBmNDk3MGJk
ZGIxNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWls
YWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJERkdHcmFwaC5oIgogI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2luY2x1
ZGUgIkRGR1BoYXNlLmgiCi0jaW5jbHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9j
YXRpb25TaW5raW5nUGhhc2UuY3BwCmluZGV4IDQyMjM4MmZmMjlkMTc5NzViYmYyZjE4M2I2Nzgx
MWE1ODhlZjU2YzYuLjRmYjc5MTJkNzg5MGUxNGQ0ZmQ1YzUyNTc2YjI2Njk3M2UyNTUxNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RB
bGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkRG
R0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5oIgogI2luY2x1ZGUgIkRGR09TUkF2YWlsYWJpbGl0eUFu
YWx5c2lzUGhhc2UuaCIKICNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1BoaUNo
aWxkcmVuLmgiCiAjaW5jbHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNsdWRlICJE
RkdTU0FDYWxjdWxhdG9yLmgiCiAjaW5jbHVkZSAiREZHVmFsaWRhdGUuaCIKQEAgLTk0LDYgKzk1
LDggQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgd2hpbGUgKHBlcmZvcm1TaW5raW5nKCkp
IHsgfQogICAgICAgICAKKyAgICAgICAgZmlsbFN0cnVjdHVyZVNldHMoKTsKKwogICAgICAgICBp
ZiAodmVyYm9zZSkgewogICAgICAgICAgICAgZGF0YUxvZygiR3JhcGggYWZ0ZXIgc2lua2luZzpc
biIpOwogICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7CkBAIC02MTYsMTQgKzYxOSwxMiBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlu
cyhub2RlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblNjb3BlUExv
Yywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3Rl
ZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVIaW50
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4s
IG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBOb2RlKiBzeW1ib2xUYWJsZU5vZGUgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25z
dGFudCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5v
cmlnaW4sIG5vZGUtPmNlbGxPcGVyYW5kKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuaW5zZXJ0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRl
eCArIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24o
QWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgbm9kZSkuY3JlYXRlSGludCgKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzeW1ib2xUYWJsZU5v
ZGUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihB
Y3RpdmF0aW9uU2NvcGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hpbGQo
bm9kZSwgMSkubm9kZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhJiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9w
cm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciA9IGRhdGEubV9wcm9wZXJ0aWVzW2ldLm1faWRlbnRpZmll
ck51bWJlcjsKQEAgLTYzMiw3ICs2MzMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLCBub2RlLCBpZGVudGlmaWVyTnVtYmVyKS5j
cmVhdGVIaW50KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwg
bm9kZS0+b3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGUtPmNvbnZlcnRUb1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICAgICAg
ICAgIH0KQEAgLTgzMSw2ICs4MzIsMjUgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGRlZi0+
dmFsdWUoKTsKICAgICB9CiAKKyAgICB2b2lkIGZpbGxTdHJ1Y3R1cmVTZXRzKCkKKyAgICB7Cisg
ICAgICAgIFBoaUNoaWxkcmVuIHBoaUNoaWxkcmVuKG1fZ3JhcGgpOworCisgICAgICAgIGZvciAo
QmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAg
ICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGlm
IChub2RlLT5vcCgpICE9IE1hdGVyaWFsaXplTmV3T2JqZWN0KQorICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcyA9
IG5vZGUtPnN0cnVjdHVyZVNldCgpOworICAgICAgICAgICAgICAgIHBoaUNoaWxkcmVuLmZvckFs
bFRyYW5zaXRpdmVJbmNvbWluZ1ZhbHVlcygKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52
YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCksCisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9k
ZSogc3RydWN0dXJlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmFkZChz
dHJ1Y3R1cmUtPmNhc3RDb25zdGFudDxTdHJ1Y3R1cmUqPigpKTsKKyAgICAgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBTaW5rQ2FuZGlkYXRlRnVuY3RvciwgdHlwZW5hbWUgRXNjYXBlRnVuY3Rvcj4KICAg
ICB2b2lkIGhhbmRsZU5vZGUoCiAgICAgICAgIE5vZGUqIG5vZGUsCkBAIC05NjQsMTMgKzk4NCwx
NCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIE5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZU5ld09iamVjdDogewogICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0
YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAg
ICAgICAgICAgU3RydWN0dXJlU2V0KiBzdHJ1Y3R1cmVzID0gbV9ncmFwaC5hZGRTdHJ1Y3R1cmVT
ZXQoU3RydWN0dXJlU2V0KCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICByZXN1bHQgPSBt
X2dyYXBoLmFkZE5vZGUoCiAgICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlvbigpLCBO
b2RlOjpWYXJBcmcsIE1hdGVyaWFsaXplTmV3T2JqZWN0LAogICAgICAgICAgICAgICAgIE5vZGVP
cmlnaW4oCiAgICAgICAgICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKICAg
ICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKLSAgICAgICAgICAgICAg
ICBPcEluZm8oZGF0YSksIE9wSW5mbygpLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBPcEluZm8o
c3RydWN0dXJlcyksIE9wSW5mbyhkYXRhKSwgMCwgMCk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCkBAIC05OTMsNyArMTAxNCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAg
Tm9kZU9yaWdpbigKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGlj
LAogICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAotICAgICAgICAg
ICAgICAgIE9wSW5mbyhkYXRhKSwgT3BJbmZvKHN5bWJvbFRhYmxlKSwgMCwgMCk7CisgICAgICAg
ICAgICAgICAgT3BJbmZvKHN5bWJvbFRhYmxlKSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTEwNjMsMTAgKzEwODQsMTIgQEAgcHJpdmF0
ZToKIAogICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMg
PSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOwogCi0gICAgICAgICAgICBQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBzY29wZShBY3RpdmF0aW9uU2NvcGVQTG9jLCBlc2NhcGVlKTsK
ICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN5bWJvbFRhYmxlKEFjdGl2YXRpb25T
eW1ib2xUYWJsZVBMb2MsIGVzY2FwZWUpOwotICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5j
b250YWlucyhzY29wZSkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhz
eW1ib2xUYWJsZSkpOworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVu
ZChFZGdlKHJlc29sdmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CiAKKyAg
ICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2Ms
IGVzY2FwZWUpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzY29wZSkp
OwogICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29s
dmUoYmxvY2ssIHNjb3BlKSwgS25vd25DZWxsVXNlKSk7CiAKICAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5j
cHAub3JpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZS5jcHAub3JpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjIzODJmZjI5ZDE3OTc1YmJmMmYxODNi
Njc4MTFhNTg4ZWY1NmM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcC5vcmlnCkBAIC0wLDAgKzEs
MTE2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiREZHT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZS5oIgorCisjaWYgRU5BQkxFKERGR19KSVQpCisKKyNpbmNsdWRlICJERkdBYnN0
cmFjdEhlYXAuaCIKKyNpbmNsdWRlICJERkdCbG9ja01hcElubGluZXMuaCIKKyNpbmNsdWRlICJE
RkdDbG9iYmVyaXplLmgiCisjaW5jbHVkZSAiREZHQ29tYmluZWRMaXZlbmVzcy5oIgorI2luY2x1
ZGUgIkRGR0dyYXBoLmgiCisjaW5jbHVkZSAiREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuaCIK
KyNpbmNsdWRlICJERkdJbnNlcnRpb25TZXQuaCIKKyNpbmNsdWRlICJERkdMaXZlbmVzc0FuYWx5
c2lzUGhhc2UuaCIKKyNpbmNsdWRlICJERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgi
CisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNsdWRlICJERkdQcm9tb3RlSGVhcEFjY2Vzcy5o
IgorI2luY2x1ZGUgIkRGR1NTQUNhbGN1bGF0b3IuaCIKKyNpbmNsdWRlICJERkdWYWxpZGF0ZS5o
IgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBE
RkcgeworCitzdGF0aWMgYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKK2NsYXNzIE9iamVjdEFsbG9j
YXRpb25TaW5raW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAgIE9iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAgICA6IFBoYXNlKGdyYXBo
LCAib2JqZWN0IGFsbG9jYXRpb24gc2lua2luZyIpCisgICAgICAgICwgbV9zc2FDYWxjdWxhdG9y
KGdyYXBoKQorICAgICAgICAsIG1faW5zZXJ0aW9uU2V0KGdyYXBoKQorICAgIHsKKyAgICB9Cisg
ICAgCisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9maXhw
b2ludFN0YXRlID09IEZpeHBvaW50Tm90Q29udmVyZ2VkKTsKKyAgICAgICAgCisgICAgICAgIG1f
Z3JhcGgubV9kb21pbmF0b3JzLmNvbXB1dGVJZk5lY2Vzc2FyeShtX2dyYXBoKTsKKyAgICAgICAg
CisgICAgICAgIC8vIExvZ2ljYWxseSB3ZSB3aXNoIHRvIGNvbnNpZGVyIGV2ZXJ5IE5ld09iamVj
dCBhbmQgc2luayBpdC4gSG93ZXZlciBpdCdzIHByb2JhYmx5IG5vdAorICAgICAgICAvLyBwcm9m
aXRhYmxlIHRvIHNpbmsgYSBOZXdPYmplY3QgdGhhdCB3aWxsIGFsd2F5cyBlc2NhcGUuIFNvLCBm
aXJzdCB3ZSBkbyBhIHZlcnkgc2ltcGxlCisgICAgICAgIC8vIGZvcndhcmQgZmxvdyBhbmFseXNp
cyB0aGF0IGRldGVybWluZXMgdGhlIHNldCBvZiBOZXdPYmplY3Qgbm9kZXMgdGhhdCBoYXZlIGFu
eSBjaGFuY2UKKyAgICAgICAgLy8gb2YgYmVuZWZpdGluZyBmcm9tIG9iamVjdCBhbGxvY2F0aW9u
IHNpbmtpbmcuIFRoZW4gd2UgZml4cG9pbnQgdGhlIGZvbGxvd2luZyBydWxlczoKKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gLSBGb3IgZWFjaCBOZXdPYmplY3QsIHdlIHR1cm4gdGhlIG9yaWdpbmFs
IE5ld09iamVjdCBpbnRvIGEgUGhhbnRvbU5ld09iamVjdCBhbmQgdGhlbgorICAgICAgICAvLyAg
IHdlIGluc2VydCBNYXRlcmlhbGl6ZU5ld09iamVjdCBqdXN0IGJlZm9yZSB0aG9zZSBlc2NhcGlu
ZyBzaXRlcyB0aGF0IGNvbWUgYmVmb3JlIGFueQorICAgICAgICAvLyAgIG90aGVyIGVzY2FwaW5n
IHNpdGVzIC0gdGhhdCBpcywgdGhlcmUgaXMgbm8gcGF0aCBiZXR3ZWVuIHRoZSBhbGxvY2F0aW9u
IGFuZCB0aG9zZSBzaXRlcworICAgICAgICAvLyAgIHRoYXQgd291bGQgc2VlIGFueSBvdGhlciBl
c2NhcGUuIE5vdGUgdGhhdCBVcHNpbG9ucyBjb25zdGl0dXRlIGVzY2FwaW5nIHNpdGVzLiBUaGVu
IHdlCisgICAgICAgIC8vICAgaW5zZXJ0IGFkZGl0aW9uYWwgTWF0ZXJpYWxpemVOZXdPYmplY3Qg
bm9kZXMgb24gVXBzaWxvbnMgdGhhdCBmZWVkIGludG8gUGhpcyB0aGF0IG1peAorICAgICAgICAv
LyAgIG1hdGVyaWFsaXphdGlvbnMgYW5kIHRoZSBvcmlnaW5hbCBQaGFudG9tTmV3T2JqZWN0LiBX
ZSB0aGVuIHR1cm4gZWFjaCBQdXRCeU9mZnNldCBvdmVyIGEKKyAgICAgICAgLy8gICBQaGFudG9t
TmV3T2JqZWN0IGludG8gYSBQdXRIaW50LgorICAgICAgICAvLworICAgICAgICAvLyAtIFdlIHBl
cmZvcm0gdGhlIHNhbWUgb3B0aW1pemF0aW9uIGZvciBNYXRlcmlhbGl6ZU5ld09iamVjdC4gVGhp
cyBhbGxvd3MgdXMgdG8gY292ZXIKKyAgICAgICAgLy8gICBjYXNlcyB3aGVyZSB3ZSBoYWQgTWF0
ZXJpYWxpemVOZXdPYmplY3QgZmxvd2luZyBpbnRvIGEgUHV0SGludC4KKyAgICAgICAgLy8KKyAg
ICAgICAgLy8gV2UgY291bGQgYWxzbyBhZGQgdGhpcyBydWxlOgorICAgICAgICAvLworICAgICAg
ICAvLyAtIElmIGFsbCBvZiB0aGUgVXBzaWxvbnMgb2YgYSBQaGkgaGF2ZSBhIE1hdGVyaWFsaXpl
TmV3T2JqZWN0IHRoYXQgaXNuJ3QgdXNlZCBieSBhbnlvbmUKKyAgICAgICAgLy8gICBlbHNlLCB0
aGVuIHJlcGxhY2UgdGhlIFBoaSB3aXRoIHRoZSBNYXRlcmlhbGl6ZU5ld09iamVjdC4KKyAgICAg
ICAgLy8KKyAgICAgICAgLy8gICBGSVhNRTogSW1wbGVtZW50IHRoaXMuIE5vdGUgdGhhdCB0aGlz
IHRvdGFsbHkgZG9hYmxlIGJ1dCBpdCByZXF1aXJlcyBzb21lIGduYXJseQorICAgICAgICAvLyAg
IGNvZGUsIGFuZCB0byBiZSBlZmZlY3RpdmUgdGhlIHBydW5lciBuZWVkcyB0byBiZSBhd2FyZSBv
ZiBpdC4gQ3VycmVudGx5IGFueSBVcHNpbG9uCisgICAgICAgIC8vICAgaXMgY29uc2lkZXJlZCB0
byBiZSBhbiBlc2NhcGUgZXZlbiBieSB0aGUgcHJ1bmVyLCBzbyBpdCdzIHVubGlrZWx5IHRoYXQg
d2UnbGwgc2VlCisgICAgICAgIC8vICAgbWFueSBjYXNlcyBvZiBQaGkgb3ZlciBNYXRlcmlhbGl6
YXRpb25zLgorICAgICAgICAvLyAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzY5MjcKKyAgICAgICAgCisgICAgICAgIGlmICghcGVyZm9ybVNpbmtpbmcoKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIHdoaWxlIChwZXJmb3Jt
U2lua2luZygpKSB7IH0KKyAgICAgICAgCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAg
ICAgICBkYXRhTG9nKCJHcmFwaCBhZnRlciBzaW5raW5nOlxuIik7CisgICAgICAgICAgICBtX2dy
YXBoLmR1bXAoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIGJvb2wgcGVyZm9ybVNpbmtpbmcoKQorICAgIHsKKyAgICAg
ICAgbV9ncmFwaC5jb21wdXRlUmVmQ291bnRzKCk7CisgICAgICAgIHBlcmZvcm1MaXZlbmVzc0Fu
YWx5c2lzKG1fZ3JhcGgpOworICAgICAgICBwZXJmb3JtT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXMo
bV9ncmFwaCk7CisgICAgICAgIG1fY29tYmluZWRMaXZlbmVzcyA9IENvbWJpbmVkTGl2ZW5lc3Mo
bV9ncmFwaCk7CisgICAgICAgIAorICAgICAgICBDU3RyaW5nIGdyYXBoQmVmb3JlU2lua2luZzsK
KyAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VWYWxpZGF0aW9uRmFpbHVyZSgpICYmIE9wdGlv
bnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKSB7CisgICAgICAgICAgICBTdHJpbmdQcmlu
dFN0cmVhbSBvdXQ7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAob3V0KTsKKyAgICAgICAgICAg
IGdyYXBoQmVmb3JlU2lua2luZyA9IG91dC50b0NTdHJpbmcoKTsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBoIGJl
Zm9yZSBzaW5raW5nOlxuIik7CisgICAgICAgICAgICBtX2dyYXBoLmR1bXAoKTsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgZGV0ZXJtaW5lTWF0ZXJpYWxpemF0aW9uUG9pbnRzKCk7Cisg
ICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgd2UgYXJlIGNvbW1p
dHRlZCB0byBzaW5raW5nIHRoZSBzaW5raW5nIGNhbmRpZGF0ZXMuCisgICAgICAgIHBsYWNlTWF0
ZXJpYWxpemF0aW9uUG9pbnRzKCk7CisgICAgICAgIGxvd2VyTm9uUmVhZGluZ09wZXJhdGlvbnNP
blBoYW50b21BbGxvY2F0aW9ucygpOworICAgICAgICBwcm9tb3RlU3Vua2VuRmllbGRzKCk7Cisg
ICAgICAgIAorICAgICAgICBpZiAoT3B0aW9uczo6dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkp
CisgICAgICAgICAgICB2YWxpZGF0ZShtX2dyYXBoLCBEdW1wR3JhcGgsIGdyYXBoQmVmb3JlU2lu
a2luZyk7CisgICAgICAgIAorICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRhdGFM
b2coIlNpbmtpbmcgaXRlcmF0aW9uIGNoYW5nZWQgdGhlIGdyYXBoLlxuIik7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICB2b2lkIGRldGVybWluZU1hdGVyaWFsaXphdGlv
blBvaW50cygpCisgICAgeworICAgICAgICAvLyBUaGUgcHJlbWlzZSBvZiB0aGlzIHBhc3MgaXMg
dGhhdCBpZiB0aGVyZSBleGlzdHMgYSBwb2ludCBpbiB0aGUgcHJvZ3JhbSB3aGVyZSBzb21lCisg
ICAgICAgIC8vIHBhdGggZnJvbSBhIHBoYW50b20gYWxsb2NhdGlvbiBzaXRlIHRvIHRoYXQgcG9p
bnQgY2F1c2VzIG1hdGVyaWFsaXphdGlvbiwgdGhlbiAqYWxsKgorICAgICAgICAvLyBwYXRocyBj
YXVzZSBtYXRlcmlhbGl6YXRpb24uIFRoaXMgc2hvdWxkIG1lYW4gdGhhdCB0aGVyZSBhcmUgbmV2
ZXIgYW55IHJlZHVuZGFudAorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb25zLgorICAgICAgICAK
KyAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAgICBtX21hdGVyaWFsaXph
dGlvblRvRXNjYXBlZS5jbGVhcigpOworICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb01h
dGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKKyAgICAgICAgCisgICAgICAgIEJsb2NrTWFwPEhhc2hN
YXA8Tm9kZSosIGJvb2w+PiBtYXRlcmlhbGl6ZWRBdEhlYWQobV9ncmFwaCk7CisgICAgICAgIEJs
b2NrTWFwPEhhc2hNYXA8Tm9kZSosIGJvb2w+PiBtYXRlcmlhbGl6ZWRBdFRhaWwobV9ncmFwaCk7
CisgICAgICAgIAorICAgICAgICBib29sIGNoYW5nZWQ7CisgICAgICAgIGRvIHsKKyAgICAgICAg
ICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIkRvaW5nIGl0ZXJhdGlv
biBvZiBtYXRlcmlhbGl6YXRpb24gcG9pbnQgcGxhY2VtZW50LlxuIik7CisgICAgICAgICAgICBj
aGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9n
cmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICAgICAgSGFzaE1hcDxO
b2RlKiwgYm9vbD4gbWF0ZXJpYWxpemVkID0gbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXTsKKyAg
ICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygi
ICAgIExvb2tpbmcgYXQgYmxvY2sgIiwgcG9pbnRlckR1bXAoYmxvY2spLCAiXG4iKTsKKyAgICAg
ICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICAg
ICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICBbJl0gKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVy
aWFsaXplZC5hZGQobm9kZSwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1hdGVyaWFsaXplZC5maW5kKGVzY2FwZWUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IG1hdGVyaWFsaXplZC5lbmQo
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICAiLCBlc2NhcGVlLCAi
IGVzY2FwZXMgYXQgIiwgbm9kZSwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl0ZXItPnZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgICAg
IGRhdGFMb2coIiAgICBNYXRlcmlhbGl6ZWQgYXQgdGFpbCBvZiAiLCBwb2ludGVyRHVtcChibG9j
ayksICI6ICIsIG1hcER1bXAobWF0ZXJpYWxpemVkKSwgIlxuIik7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsaXplZCA9PSBtYXRlcmlhbGl6ZWRBdFRhaWxb
YmxvY2tdKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdID0gbWF0ZXJpYWxpemVk
OworICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIC8vIE9ubHkgcHJvcGFnYXRlIHRoaW5ncyB0byBvdXIgc3VjY2Vzc29ycyBp
ZiB0aGV5IGFyZSBhbGl2ZSBpbiBhbGwgc3VjY2Vzc29ycy4KKyAgICAgICAgICAgICAgICAvLyBT
bywgd2UgcHJ1bmUgbWF0ZXJpYWxpemVkLWF0LXRhaWwgdG8gb25seSBpbmNsdWRlIHRoaW5ncyB0
aGF0IGFyZSBsaXZlLgorICAgICAgICAgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9SZW1vdmU7Cisg
ICAgICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIgOiBtYXRlcmlhbGl6ZWQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFtX2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10uY29u
dGFpbnMocGFpci5rZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5k
KHBhaXIua2V5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChOb2Rl
KiBrZXkgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkLnJlbW92
ZShrZXkpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGZvciAoQmFzaWNCbG9j
ayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGZvciAoYXV0byBwYWlyIDogbWF0ZXJpYWxpemVkKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBtYXRlcmlhbGl6ZWRBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLmFkZCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYWlyLmtleSwgZmFsc2UpLml0ZXJhdG9yLT52YWx1ZSB8PSBw
YWlyLnZhbHVlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICAgICAgCisgICAgICAg
IC8vIERldGVybWluZSB0aGUgc2luayBjYW5kaWRhdGVzLiBCcm9hZGx5LCBhIHNpbmsgY2FuZGlk
YXRlIGlzIGEgbm9kZSB0aGF0IGhhbmRsZU5vZGUoKQorICAgICAgICAvLyBiZWxpZXZlcyBpcyBz
aW5rYWJsZSwgYW5kIG9uZSBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6CisgICAgICAgIC8vCisg
ICAgICAgIC8vIDEpIFRoZXJlIGV4aXN0cyBhIGJhc2ljIGJsb2NrIHdpdGggb25seSBiYWNrd2Fy
ZCBvdXRnb2luZyBlZGdlcyAob3Igbm8gb3V0Z29pbmcgZWRnZXMpCisgICAgICAgIC8vICAgIGlu
IHdoaWNoIHRoZSBub2RlIHdhc24ndCBtYXRlcmlhbGl6ZWQuIFRoaXMgaXMgbWVhbnQgdG8gY2F0
Y2ggZWZmZWN0aXZlbHktaW5maW5pdGUKKyAgICAgICAgLy8gICAgbG9vcHMgaW4gd2hpY2ggd2Ug
ZG9uJ3QgbmVlZCB0byBoYXZlIGFsbG9jYXRlZCB0aGUgb2JqZWN0LgorICAgICAgICAvLworICAg
ICAgICAvLyAyKSBUaGVyZSBleGlzdHMgYSBiYXNpYyBibG9jayBhdCB0aGUgdGFpbCBvZiB3aGlj
aCB0aGUgbm9kZSBpcyBub3QgbWF0ZXJpYWxpemVkIGFuZCB0aGUKKyAgICAgICAgLy8gICAgbm9k
ZSBpcyBkZWFkLgorICAgICAgICAvLworICAgICAgICAvLyAzKSBUaGUgc3VtIG9mIGV4ZWN1dGlv
biBjb3VudHMgb2YgdGhlIG1hdGVyaWFsaXphdGlvbnMgaXMgbGVzcyB0aGFuIHRoZSBzdW0gb2YK
KyAgICAgICAgLy8gICAgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgb3JpZ2luYWwgbm9kZS4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gV2UgY3VycmVudGx5IGltcGxlbWVudCBvbmx5IHJ1bGUgIzIu
CisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIHR3byBvdGhlciBydWxlcy4KKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzA3MyAocnVs
ZSAjMSkKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNzA3NCAocnVsZSAjMykKKyAgICAgICAgCisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxv
Y2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZvciAo
YXV0byBwYWlyIDogbWF0ZXJpYWxpemVkQXRUYWlsW2Jsb2NrXSkgeworICAgICAgICAgICAgICAg
IGlmIChwYWlyLnZhbHVlKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsgLy8gSXQgd2Fz
IG1hdGVyaWFsaXplZC4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAobV9j
b21iaW5lZExpdmVuZXNzLmxpdmVBdFRhaWxbYmxvY2tdLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIEl0IG1pZ2h0IHN0aWxsIGdldCBtYXRlcmlh
bGl6ZWQgaW4gYWxsIG9mIHRoZSBzdWNjZXNzb3JzLgorICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIC8vIFdlIGtub3cgdGhhdCBpdCBkaWVkIGluIHRoaXMgYmxvY2sgYW5kIGl0IHdh
c24ndCBtYXRlcmlhbGl6ZWQuIFRoYXQgbWVhbnMgdGhhdAorICAgICAgICAgICAgICAgIC8vIGlm
IHdlIHNpbmsgdGhpcyBhbGxvY2F0aW9uLCB0aGVuICp0aGlzKiB3aWxsIGJlIGEgcGF0aCBhbG9u
ZyB3aGljaCB3ZSBuZXZlcgorICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gYWxsb2NhdGUuIFBy
b2ZpdCEKKyAgICAgICAgICAgICAgICBtX3NpbmtDYW5kaWRhdGVzLmFkZChwYWlyLmtleSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChtX3NpbmtDYW5k
aWRhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgICAg
IC8vIEEgbWF0ZXJpYWxpemF0aW9uIGVkZ2UgZXhpc3RzIGF0IGFueSBwb2ludCB3aGVyZSBhIG5v
ZGUgZXNjYXBlcyBidXQgaGFzbid0IGJlZW4KKyAgICAgICAgLy8gbWF0ZXJpYWxpemVkIHlldC4g
V2UgZG8gdGhpcyBpbiB0d28gcGFydHMuIEZpcnN0IHdlIGZpbmQgYWxsIG9mIHRoZSBub2RlcyB0
aGF0IGNhdXNlCisgICAgICAgIC8vIGVzY2FwaW5nIHRvIGhhcHBlbiwgd2hlcmUgdGhlIGVzY2Fw
ZWUgaGFkIG5vdCB5ZXQgYmVlbiBtYXRlcmlhbGl6ZWQuIFRoaXMgY2F0Y2hlcworICAgICAgICAv
LyBldmVyeXRoaW5nIGJ1dCBsb29wcy4gV2UgdGhlbiBjYXRjaCBsb29wcyAtIGFzIHdlbGwgYXMg
d2VpcmRlciBjb250cm9sIGZsb3cgY29uc3RydWN0cyAtCisgICAgICAgIC8vIGluIGEgc3Vic2Vx
dWVudCBwYXNzIHRoYXQgbG9va3MgYXQgcGxhY2VzIGluIHRoZSBDRkcgd2hlcmUgYW4gZWRnZSBl
eGlzdHMgZnJvbSBhIGJsb2NrCisgICAgICAgIC8vIHRoYXQgaGFzbid0IG1hdGVyaWFsaXplZCB0
byBhIGJsb2NrIHRoYXQgaGFzLiBXZSBpbnNlcnQgdGhlIG1hdGVyaWFsaXphdGlvbiBhbG9uZyBz
dWNoIGFuCisgICAgICAgIC8vIGVkZ2UsIGFuZCB3ZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQgY3Jp
dGljYWwgZWRnZXMgd2VyZSBhbHJlYWR5IGJyb2tlbiBzbyB0aGF0IHdlIGFjdHVhbGx5CisgICAg
ICAgIC8vIGVpdGhlciBpbnNlcnQgdGhlIG1hdGVyaWFsaXphdGlvbiBhdCB0aGUgaGVhZCBvZiB0
aGUgc3VjY2Vzc29yIG9yIHRoZSB0YWlsIG9mIHRoZQorICAgICAgICAvLyBwcmVkZWNlc3Nvci4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gRklYTUU6IFRoaXMgY2FuIGNyZWF0ZSBkdXBsaWNhdGUg
YWxsb2NhdGlvbnMgd2hlbiB3ZSByZWFsbHkgb25seSBuZWVkZWQgdG8gcGVyZm9ybSBvbmUuCisg
ICAgICAgIC8vIEZvciBleGFtcGxlOgorICAgICAgICAvLworICAgICAgICAvLyAgICAgdmFyIG8g
PSBuZXcgT2JqZWN0KCk7CisgICAgICAgIC8vICAgICBpZiAocmFyZSkgeworICAgICAgICAvLyAg
ICAgICAgIGlmIChzdHVmZikKKyAgICAgICAgLy8gICAgICAgICAgICAgY2FsbChvKTsgLy8gbyBl
c2NhcGVzIGhlcmUuCisgICAgICAgIC8vICAgICAgICAgcmV0dXJuOworICAgICAgICAvLyAgICAg
fQorICAgICAgICAvLyAgICAgLy8gbyBkb2Vzbid0IGVzY2FwZSBkb3duIGhlcmUuCisgICAgICAg
IC8vCisgICAgICAgIC8vIEluIHRoaXMgZXhhbXBsZSwgd2Ugd291bGQgcGxhY2UgYSBtYXRlcmlh
bGl6YXRpb24gcG9pbnQgYXQgY2FsbChvKSBhbmQgdGhlbiB3ZSB3b3VsZCBmaW5kCisgICAgICAg
IC8vIG91cnNlbHZlcyBoYXZpbmcgdG8gaW5zZXJ0IGFub3RoZXIgb25lIGF0IHRoZSBpbXBsaWNp
dCBlbHNlIGNhc2Ugb2YgdGhhdCBpZiBzdGF0ZW1lbnQKKyAgICAgICAgLy8gKCdjYXVzZSB3ZSd2
ZSBicm9rZW4gY3JpdGljYWwgZWRnZXMpLiBXZSB3b3VsZCBpbnN0ZWFkIHJlYWxseSBsaWtlIHRv
IGp1c3QgaGF2ZSBvbmUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIHBvaW50IHJpZ2h0IGF0
IHRoZSB0b3Agb2YgdGhlIHRoZW4gY2FzZSBvZiAiaWYgKHJhcmUpIi4gVG8gZG8gdGhpcywgd2Ug
Y2FuCisgICAgICAgIC8vIGZpbmQgdGhlIExDQSBvZiB0aGUgdmFyaW91cyBtYXRlcmlhbGl6YXRp
b25zIGluIHRoZSBkb20gdHJlZS4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzNzEyNAorICAgICAgICAKKyAgICAgICAgLy8gRmlyc3QgcGFzczog
ZmluZCBpbnRyYS1ibG9jayBtYXRlcmlhbGl6YXRpb24gcG9pbnRzLgorICAgICAgICBmb3IgKEJh
c2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAg
ICAgICAgICBIYXNoU2V0PE5vZGUqPiBtYXRlcmlhbGl6ZWQ7CisgICAgICAgICAgICBmb3IgKGF1
dG8gcGFpciA6IG1hdGVyaWFsaXplZEF0SGVhZFtibG9ja10pIHsKKyAgICAgICAgICAgICAgICBp
ZiAocGFpci52YWx1ZSAmJiBtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHBhaXIua2V5KSkKKyAg
ICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkLmFkZChwYWlyLmtleSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAg
ICAgIGRhdGFMb2coIlBsYWNpbmcgbWF0ZXJpYWxpemF0aW9uIHBvaW50cyBpbiAiLCBwb2ludGVy
RHVtcChibG9jayksICIgd2l0aCBtYXRlcmlhbGl6YXRpb24gc2V0ICIsIGxpc3REdW1wKG1hdGVy
aWFsaXplZCksICJcbiIpOworICAgICAgICAgICAgCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7
CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAg
ICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoKSB7IH0sCisgICAgICAgICAg
ICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiU2VlaW5n
ICIsIGVzY2FwZWUsICIgZXNjYXBlIGF0ICIsIG5vZGUsICJcbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnMoZXNjYXBlZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVy
Ym9zZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgIEl0J3Mg
bm90IGEgc2luayBjYW5kaWRhdGUuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbWF0ZXJpYWxpemVkLmFkZChlc2NhcGVl
KS5pc05ld0VudHJ5KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2Up
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgIEl0J3MgYWxyZWFk
eSBtYXRlcmlhbGl6ZWQuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplKGVzY2FwZWUsIG5vZGUpOwor
ICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgLy8gU2Vjb25kIHBhc3M6IGZpbmQgQ0ZHIGVkZ2UgbWF0ZXJpYWxpemF0aW9u
IHBvaW50cy4KKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tz
SW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNz
b3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1
dG8gcGFpciA6IG1hdGVyaWFsaXplZEF0SGVhZFtzdWNjZXNzb3JCbG9ja10pIHsKKyAgICAgICAg
ICAgICAgICAgICAgTm9kZSogYWxsb2NhdGlvbiA9IHBhaXIua2V5OworICAgICAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGlmIGl0IGlzIG1hdGVy
aWFsaXplZCBpbiB0aGUgc3VjY2Vzc29yLgorICAgICAgICAgICAgICAgICAgICBpZiAoIXBhaXIu
dmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBzaW5raW5n
IGNhbmRpZGF0ZXMuCisgICAgICAgICAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5j
b250YWlucyhhbGxvY2F0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJl
IGlmIGl0IGlzbid0IG1hdGVyaWFsaXplZCBpbiB0aGUgcHJlZGVjZXNzb3IuCisgICAgICAgICAg
ICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdLmdldChhbGxvY2F0aW9uKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkZWNpZGUgaWYgd2UgcHV0IHRoZSBt
YXRlcmlhbGl6YXRpb24gYXQgdGhlIGhlYWQgb2YgdGhlIHN1Y2Nlc3NvciwKKyAgICAgICAgICAg
ICAgICAgICAgLy8gb3IgdGhlIHRhaWwgb2YgdGhlIHByZWRlY2Vzc29yLiBJdCBuZWVkcyB0byBi
ZSBwbGFjZWQgc28gdGhhdCB0aGUgYWxsb2NhdGlvbgorICAgICAgICAgICAgICAgICAgICAvLyBp
cyBuZXZlciBtYXRlcmlhbGl6ZWQgYmVmb3JlLCBhbmQgYWx3YXlzIG1hdGVyaWFsaXplZCBhZnRl
ci4KKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIC8vIElzIGl0IG5l
dmVyIG1hdGVyaWFsaXplZCBpbiBhbnkgb2Ygc3VjY2Vzc29yJ3MgcHJlZGVjZXNzb3JzPyBJIGxp
a2UgdG8gdGhpbmsKKyAgICAgICAgICAgICAgICAgICAgLy8gb2YgInN1Y2Nlc3NvcnMnIHByZWRl
Y2Vzc29ycyIgYW5kICJwcmVkZWNlc3NvcidzIHN1Y2Nlc3NvcnMiIGFzIHRoZSAic2hhZG93IiwK
KyAgICAgICAgICAgICAgICAgICAgLy8gYmVjYXVzZSBvZiB3aGF0IGl0IGxvb2tzIGxpa2Ugd2hl
biB5b3UgZHJhdyBpdC4KKyAgICAgICAgICAgICAgICAgICAgYm9vbCBuZXZlck1hdGVyaWFsaXpl
ZEluU2hhZG93ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBz
aGFkb3dCbG9jayA6IHN1Y2Nlc3NvckJsb2NrLT5wcmVkZWNlc3NvcnMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6ZWRBdFRhaWxbc2hhZG93QmxvY2tdLmdldChhbGxv
Y2F0aW9uKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldmVyTWF0ZXJpYWxpemVk
SW5TaGFkb3cgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5ldmVyTWF0ZXJpYWxpemVkSW5T
aGFkb3cpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplKGFsbG9j
YXRpb24sIHN1Y2Nlc3NvckJsb2NrLT5maXJzdE9yaWdpbk5vZGUoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSBoYWQgYnJva2VuIGNy
aXRpY2FsIGVkZ2VzLCBpdCBtdXN0IGJlIHRoZSBjYXNlIHRoYXQgdGhlCisgICAgICAgICAgICAg
ICAgICAgIC8vIHByZWRlY2Vzc29yJ3Mgc3VjY2Vzc29ycyBhbGwgbWF0ZXJpYWxpemUgdGhlIG9i
amVjdC4gVGhpcyBpcyBiZWNhdXNlIHRoZQorICAgICAgICAgICAgICAgICAgICAvLyBwcmV2aW91
cyBjYXNlIGlzIGd1YXJhbnRlZWQgdG8gY2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIHN1Y2Nlc3Nv
ciBvbmx5IGhhcworICAgICAgICAgICAgICAgICAgICAvLyBvbmUgcHJlZGVjZXNzb3IuIFdoZW4g
Y3JpdGljYWwgZWRnZXMgYXJlIGJyb2tlbiwgdGhpcyBpcyBhbHNvIHRoZSBvbmx5IGNhc2UKKyAg
ICAgICAgICAgICAgICAgICAgLy8gd2hlcmUgdGhlIHByZWRlY2Vzc29yIGNvdWxkIGhhdmUgaGFk
IG11bHRpcGxlIHN1Y2Nlc3NvcnMuIFRoZXJlZm9yZSB3ZSBoYXZlCisgICAgICAgICAgICAgICAg
ICAgIC8vIGFscmVhZHkgaGFuZGxlZCB0aGUgY2FzZSB3aGVyZSB0aGUgcHJlZGVjZXNzb3IgaGFz
IG11bHRpcGxlIHN1Y2Nlc3NvcnMuCisgICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9n
cmFwaCwgYmxvY2ssIGJsb2NrLT5udW1TdWNjZXNzb3JzKCkgPT0gMSk7CisgICAgICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZShhbGxvY2F0aW9u
LCBibG9jay0+dGVybWluYWwoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorICAgIAorICAgIHZvaWQgcGxhY2VNYXRlcmlhbGl6YXRpb25Qb2lu
dHMoKQorICAgIHsKKyAgICAgICAgbV9zc2FDYWxjdWxhdG9yLnJlc2V0KCk7CisgICAgICAgIAor
ICAgICAgICAvLyBUaGUgInZhcmlhYmxlcyIgYXJlIHRoZSBvYmplY3QgYWxsb2NhdGlvbnMgdGhh
dCB3ZSBhcmUgc2lua2luZy4gU28sIG5vZGVUb1ZhcmlhYmxlIG1hcHMKKyAgICAgICAgLy8gc2lu
ayBjYW5kaWRhdGVzIChha2EgZXNjYXBlZXMpIHRvIHRoZSBTU0FDYWxjdWxhdG9yJ3Mgbm90aW9u
IG9mIFZhcmlhYmxlLCBhbmQgaW5kZXhUb05vZGUKKyAgICAgICAgLy8gbWFwcyBpbiB0aGUgb3Bw
b3NpdGUgZGlyZWN0aW9uIHVzaW5nIHRoZSBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZTo6aW5kZXgo
KSBhcyB0aGUga2V5LgorICAgICAgICBIYXNoTWFwPE5vZGUqLCBTU0FDYWxjdWxhdG9yOjpWYXJp
YWJsZSo+IG5vZGVUb1ZhcmlhYmxlOworICAgICAgICBWZWN0b3I8Tm9kZSo+IGluZGV4VG9Ob2Rl
OworICAgICAgICAKKyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogbV9zaW5rQ2FuZGlkYXRlcykg
eworICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9zc2FD
YWxjdWxhdG9yLm5ld1ZhcmlhYmxlKCk7CisgICAgICAgICAgICBub2RlVG9WYXJpYWJsZS5hZGQo
bm9kZSwgdmFyaWFibGUpOworICAgICAgICAgICAgQVNTRVJUKGluZGV4VG9Ob2RlLnNpemUoKSA9
PSB2YXJpYWJsZS0+aW5kZXgoKSk7CisgICAgICAgICAgICBpbmRleFRvTm9kZS5hcHBlbmQobm9k
ZSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9k
ZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGlmIChTU0FDYWxjdWxhdG9yOjpW
YXJpYWJsZSogdmFyaWFibGUgPSBub2RlVG9WYXJpYWJsZS5nZXQobm9kZSkpCisgICAgICAgICAg
ICAgICAgICAgIG1fc3NhQ2FsY3VsYXRvci5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCBub2RlKTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXpl
IDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgewor
ICAgICAgICAgICAgICAgICAgICBtX3NzYUNhbGN1bGF0b3IubmV3RGVmKAorICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZVRvVmFyaWFibGUuZ2V0KG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVl
LmdldChtYXRlcmlhbGl6ZSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2ssIG1hdGVy
aWFsaXplKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIG1fc3NhQ2FsY3VsYXRvci5jb21wdXRlUGhpcygKKyAgICAgICAgICAg
IFsmXSAoU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlLCBCYXNpY0Jsb2NrKiBibG9j
aykgLT4gTm9kZSogeworICAgICAgICAgICAgICAgIE5vZGUqIGFsbG9jYXRpb24gPSBpbmRleFRv
Tm9kZVt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgaWYgKCFtX2NvbWJpbmVk
TGl2ZW5lc3MubGl2ZUF0SGVhZFtibG9ja10uY29udGFpbnMoYWxsb2NhdGlvbikpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIE5vZGUqIHBoaU5vZGUgPSBtX2dyYXBoLmFkZE5vZGUoYWxsb2NhdGlvbi0+cHJlZGlj
dGlvbigpLCBQaGksIE5vZGVPcmlnaW4oKSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVy
Z2VGbGFncyhOb2RlUmVzdWx0SlMpOworICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIAorICAgICAgICAvLyBQbGFjZSBQaGlzIGluIHRoZSBy
aWdodCBwbGFjZXMuIFJlcGxhY2UgYWxsIHVzZXMgb2YgYW55IGFsbG9jYXRpb24gd2l0aCB0aGUg
YXBwcm9wcmlhdGUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uLiBDcmVhdGUgdGhlIGFwcHJv
cHJpYXRlIFVwc2lsb24gbm9kZXMuCisgICAgICAgIExvY2FsT1NSQXZhaWxhYmlsaXR5Q2FsY3Vs
YXRvciBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJs
b2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBIYXNo
TWFwPE5vZGUqLCBOb2RlKj4gbWFwcGluZzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZm9y
IChOb2RlKiBjYW5kaWRhdGUgOiBtX2NvbWJpbmVkTGl2ZW5lc3MubGl2ZUF0SGVhZFtibG9ja10p
IHsKKyAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBu
b2RlVG9WYXJpYWJsZS5nZXQoY2FuZGlkYXRlKTsKKyAgICAgICAgICAgICAgICBpZiAoIXZhcmlh
YmxlKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fc3NhQ2FsY3VsYXRvci5y
ZWFjaGluZ0RlZkF0SGVhZChibG9jaywgdmFyaWFibGUpOworICAgICAgICAgICAgICAgIGlmICgh
ZGVmKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICBtYXBwaW5nLnNldChpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV0s
IGRlZi0+dmFsdWUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IuYmVnaW5CbG9jayhibG9jayk7CisgICAgICAgICAgICBm
b3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9zc2FDYWxjdWxhdG9yLnBoaXNGb3JC
bG9jayhibG9jaykpIHsKKyAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoMCwg
cGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBOb2Rl
KiBvcmlnaW5hbE5vZGUgPSBpbmRleFRvTm9kZVtwaGlEZWYtPnZhcmlhYmxlKCktPmluZGV4KCld
OworICAgICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAorICAgICAgICAgICAg
ICAgICAgICBtX2luc2VydGlvblNldCwgMCwgTm9kZU9yaWdpbigpLCBhdmFpbGFiaWxpdHlDYWxj
dWxhdG9yLm1fYXZhaWxhYmlsaXR5LAorICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbE5vZGUs
IHBoaURlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICBtYXBwaW5nLnNldChvcmlnaW5h
bE5vZGUsIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2st
PnNpemUoKTsgKytub2RlSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxv
Y2stPmF0KG5vZGVJbmRleCk7CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFs
aXplIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkg
eworICAgICAgICAgICAgICAgICAgICBOb2RlKiBlc2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25U
b0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXplKTsKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRp
b25TZXQuaW5zZXJ0KG5vZGVJbmRleCwgbWF0ZXJpYWxpemUpOworICAgICAgICAgICAgICAgICAg
ICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5z
ZXJ0aW9uU2V0LCBub2RlSW5kZXgsIG5vZGUtPm9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHksIGVzY2FwZWUsIG1hdGVy
aWFsaXplKTsKKyAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5zZXQoZXNjYXBlZSwgbWF0ZXJp
YWxpemUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5leGVjdXRlTm9kZShub2RlKTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAg
ICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlJiBlZGdl
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTm9kZSogbWF0ZXJpYWxpemUgPSBtYXBw
aW5nLmdldChlZGdlLm5vZGUoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRnZS5z
ZXROb2RlKG1hdGVyaWFsaXplKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgLy8gSWYgeW91IGNhdXNlIGFuIGVzY2FwZSwgeW91IHNo
b3VsZG4ndCBzZWUgdGhlIG9yaWdpbmFsIGVzY2FwZWUuCisgICAgICAgICAgICAgICAgaWYgKHZh
bGlkYXRpb25FbmFibGVkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBbJl0g
KCkgeyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgWyZdIChOb2RlKiBlc2NhcGVlKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBub2RlLCAhbV9z
aW5rQ2FuZGlkYXRlcy5jb250YWlucyhlc2NhcGVlKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIE5vZGVBbmRJbmRleCB0ZXJtaW5hbCA9IGJsb2NrLT5maW5kVGVybWluYWwoKTsK
KyAgICAgICAgICAgIHNpemVfdCB1cHNpbG9uSW5zZXJ0aW9uUG9pbnQgPSB0ZXJtaW5hbC5pbmRl
eDsKKyAgICAgICAgICAgIE5vZGUqIHVwc2lsb25XaGVyZSA9IHRlcm1pbmFsLm5vZGU7CisgICAg
ICAgICAgICBOb2RlT3JpZ2luIHVwc2lsb25PcmlnaW4gPSB1cHNpbG9uV2hlcmUtPm9yaWdpbjsK
KyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3Vj
Y2Vzc29ycygpKSB7CisgICAgICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBo
aURlZiA6IG1fc3NhQ2FsY3VsYXRvci5waGlzRm9yQmxvY2soc3VjY2Vzc29yQmxvY2spKSB7Cisg
ICAgICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBwaGlEZWYtPnZhbHVlKCk7CisgICAg
ICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURl
Zi0+dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogYWxsb2NhdGlvbiA9IGlu
ZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgICAgIE5vZGUqIGluY29taW5nID0gbWFwcGluZy5nZXQoYWxsb2NhdGlvbik7
CisgICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgaW5jb21pbmcsIGluY29t
aW5nICE9IGFsbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVwc2lsb24sIHVwc2lsb25PcmlnaW4s
CisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhpTm9kZSksIGluY29taW5nLT5kZWZh
dWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOworICAgICAgICB9
CisgICAgICAgIAorICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZHVtbXkgbWF0ZXJp
YWxpemF0aW9uIG5vZGVzIGFsb25nIHdpdGggZWRnZXMgdG8gdGhlbS4gVGhpcyBtZWFucworICAg
ICAgICAvLyB0aGF0IHRoZSBwYXJ0IG9mIHRoZSBjb250cm9sIGZsb3cgZ3JhcGggdGhhdCBwcmVm
ZXJzIHRvIHNlZSBhY3R1YWwgb2JqZWN0IGFsbG9jYXRpb25zCisgICAgICAgIC8vIGlzIGNvbXBs
ZXRlbHkgZml4ZWQgdXAsIGV4Y2VwdCBmb3IgdGhlIG1hdGVyaWFsaXphdGlvbnMgdGhlbXNlbHZl
cy4KKyAgICB9CisgICAgCisgICAgdm9pZCBsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFu
dG9tQWxsb2NhdGlvbnMoKQorICAgIHsKKyAgICAgICAgLy8gTG93ZXIgZXZlcnl0aGluZyBidXQg
cmVhZGluZyBvcGVyYXRpb25zIG9uIHBoYW50b20gYWxsb2NhdGlvbnMuIFdlIGFic29sdXRlbHkg
aGF2ZSB0bworICAgICAgICAvLyBsb3dlciBhbGwgd3JpdGVzIHNvIGFzIHRvIHJldmVhbCB0aGVt
IHRvIHRoZSBTU0EgY2FsY3VsYXRvci4gV2UgY2Fubm90IGxvd2VyIHJlYWRzCisgICAgICAgIC8v
IGJlY2F1c2UgdGhlIHdob2xlIHBvaW50IGlzIHRoYXQgdGhvc2UgZ28gYXdheSBjb21wbGV0ZWx5
LgorICAgICAgICAKKyAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxv
Y2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5k
ZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkgeworICAgICAg
ICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAgICAgICAg
ICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFB1dEJ5T2Zm
c2V0OiB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMigp
Lm5vZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFp
bnModGFyZ2V0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHRhcmdldC0+aXNQ
aGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUt
PmNvbnZlcnRUb1B1dEJ5T2Zmc2V0SGludCgpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjogeworICAgICAgICAgICAgICAgICAgICBOb2RlKiB0YXJn
ZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3Np
bmtDYW5kaWRhdGVzLmNvbnRhaW5zKHRhcmdldCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVCh0YXJnZXQtPmlzUGhhbnRvbUFjdGl2YXRpb25BbGxvY2F0aW9uKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUHV0Q2xvc3VyZVZhckhpbnQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNhc2UgUHV0
U3RydWN0dXJlOiB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNo
aWxkMSgpLm5vZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnModGFyZ2V0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHRhcmdl
dC0+aXNQaGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLCBKU1ZhbHVlKG5v
ZGUtPnRyYW5zaXRpb24oKS0+bmV4dCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+
Y29udmVydFRvUHV0U3RydWN0dXJlSGludChzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOZXdPYmplY3Q6IHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0aW9uU2V0Lmlu
c2VydENvbnN0YW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEs
IG5vZGUtPm9yaWdpbiwgSlNWYWx1ZShub2RlLT5zdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90
ZWRIZWFwTG9jYXRpb24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzdHJ1Y3R1cmUp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdPYmpl
Y3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1f
c2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rl
SW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0
aW9uKFN0cnVjdHVyZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbV9ncmFwaC52YXJBcmdDaGlsZChu
b2RlLCAwKS5ub2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVz
LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRl
bnRpZmllck51bWJlciA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm9i
amVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVudGlmaWVyTnVt
YmVyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywgbm9kZSwgaWRlbnRp
Zmllck51bWJlcikuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVy
dFRvUGhhbnRvbU5ld09iamVjdCgpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNh
c2UgTmV3RnVuY3Rpb246IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0
ZXMuY29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIGV4ZWN1
dGFibGUgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNlbGxPcGVyYW5k
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oRnVuY3Rpb25FeGVjdXRhYmxlUExvYywg
bm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aCwgbm9kZS0+b3JpZ2luLCBleGVjdXRhYmxlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlu
ZGV4ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
bihGdW5jdGlvbkFjdGl2YXRpb25QTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRv
bU5ld0Z1bmN0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY2FzZSBDcmVh
dGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVz
LmNvbnRhaW5zKG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9u
U2NvcGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgTm9kZSogc3ltYm9sVGFibGVOb2RlID0gbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4
ICsgMSwgbm9kZS0+b3JpZ2luLCBub2RlLT5jZWxsT3BlcmFuZCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlSW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVk
SGVhcExvY2F0aW9uKEFjdGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQo
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwg
c3ltYm9sVGFibGVOb2RlKSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSogc3ltYm9sVGFibGUgPSBub2RlLT5jYXN0
T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9k
ZSogdW5kZWZpbmVkID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUtPm9yaWdpbiwganNVbmRl
ZmluZWQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tl
ciBsb2NrZXIoc3ltYm9sVGFibGUtPm1fbG9jayk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIChhdXRvIGl0ZXIgPSBzeW1ib2xUYWJsZS0+YmVnaW4obG9ja2VyKSwgZW5kID0gc3lt
Ym9sVGFibGUtPmVuZChsb2NrZXIpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zdXJlVmFyUExvYywgbm9kZSwgaXRlci0+dmFs
dWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIHVuZGVmaW5lZCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0
ZUFjdGl2YXRpb24oKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIE1hdGVy
aWFsaXplQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5r
Q2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRl
eCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24o
QWN0aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxk
KG5vZGUsIDApLm5vZGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogc3ltYm9s
VGFibGVOb2RlID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+b3JpZ2luLCBub2RlLT5jZWxsT3Bl
cmFuZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TeW1ib2xUYWJs
ZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgc3ltYm9sVGFibGVOb2RlKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0gbm9kZS0+b2JqZWN0
TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IGRhdGEubV9w
cm9wZXJ0aWVzW2ldLm1faWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21v
dGVkSGVhcExvY2F0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xv
c3VyZVZhclBMb2MsIG5vZGUsIGlkZW50aWZpZXJOdW1iZXIpLmNyZWF0ZUhpbnQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUs
IGkgKyAxKS5ub2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY2FzZSBTdG9yZUJhcnJpZXI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJVbmV4cGVjdGVkIHN0b3Jl
IGJhcnJpZXIgZHVyaW5nIHNpbmtpbmcuIik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAor
ICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKEVkZ2Um
IGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNv
bnRhaW5zKGVkZ2Uubm9kZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGdlLnNl
dFVzZUtpbmQoS25vd25DZWxsVXNlKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICAg
ICAgfQorICAgIH0KKyAgICAKKyAgICB2b2lkIHByb21vdGVTdW5rZW5GaWVsZHMoKQorICAgIHsK
KyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9mIGhlYXAgbG9jYXRpb25zIHRoYXQgd2Ugd2ls
bCBiZSBvcGVyYXRpbmcgb3Zlci4KKyAgICAgICAgSGFzaFNldDxQcm9tb3RlZEhlYXBMb2NhdGlv
bj4gbG9jYXRpb25zOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5i
bG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAq
YmxvY2spIHsKKyAgICAgICAgICAgICAgICBwcm9tb3RlSGVhcEFjY2VzcygKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2Nh
dGlvbiBsb2NhdGlvbiwgRWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2NhdGlvbnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
bikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFp
bnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlv
bnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hpY2ggbG9jYXRp
b25zIGJlbG9uZyB0byB3aGljaCBhbGxvY2F0aW9ucy4KKyAgICAgICAgbV9sb2NhdGlvbnNGb3JB
bGxvY2F0aW9uLmNsZWFyKCk7CisgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9j
YXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9sb2NhdGlv
bnNGb3JBbGxvY2F0aW9uLmFkZChsb2NhdGlvbi5iYXNlKCksIFZlY3RvcjxQcm9tb3RlZEhlYXBM
b2NhdGlvbj4oKSk7CisgICAgICAgICAgICBBU1NFUlQoIXJlc3VsdC5pdGVyYXRvci0+dmFsdWUu
Y29udGFpbnMobG9jYXRpb24pKTsKKyAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUu
YXBwZW5kKGxvY2F0aW9uKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gRm9yIGVh
Y2ggc3Vua2VuIHRoaW5neSwgbWFrZSBzdXJlIHdlIGNyZWF0ZSBCb3R0b20gdmFsdWVzIGZvciBh
bGwgb2YgaXRzIGZpZWxkcy4KKyAgICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgaGFzIHRoZSBoaWxh
cmlvdXMgc2xpZ2h0IGluZWZmaWNpZW5jeSBvZiBjcmVhdGluZyByZWR1bmRhbnQgaGludHMgZm9y
CisgICAgICAgIC8vIHRoaW5ncyB0aGF0IHdlcmUgcHJldmlvdXNseSBtYXRlcmlhbGl6YXRpb25z
LiBUaGlzIHNob3VsZCBvbmx5IGltcGFjdCBjb21waWxlIHRpbWVzIGFuZAorICAgICAgICAvLyBu
b3QgY29kZSBxdWFsaXR5LCBhbmQgaXQncyBuZWNlc3NhcnkgZm9yIHNvdW5kbmVzcyB3aXRob3V0
IHNvbWUgZGF0YSBzdHJ1Y3R1cmUgaGFja2FnZS4KKyAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGEg
TWF0ZXJpYWxpemVOZXdPYmplY3QgdGhhdCB3ZSBjaG9vc2UgdG8gc2luayBtYXkgaGF2ZSBuZXcg
ZmllbGRzIGFkZGVkIHRvCisgICAgICAgIC8vIGl0IGNvbmRpdGlvbmFsbHkuIFRoYXQgd291bGQg
bmVjZXNzaXRhdGUgQm90dG9tcy4KKyAgICAgICAgTm9kZSogYm90dG9tID0gbnVsbHB0cjsKKyAg
ICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3Jk
ZXIoKSkgeworICAgICAgICAgICAgaWYgKGJsb2NrID09IG1fZ3JhcGguYmxvY2soMCkpCisgICAg
ICAgICAgICAgICAgYm90dG9tID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoMCwgTm9k
ZU9yaWdpbigpLCBqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25v
ZGVJbmRleCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUlu
ZGV4KTsKKyAgICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9u
IDogbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChub2RlKSkgeworICAgICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICBub2Rl
SW5kZXggKyAxLCBsb2NhdGlvbi5jcmVhdGVIaW50KG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgYm90
dG9tKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKworICAgICAgICBtX3NzYUNh
bGN1bGF0b3IucmVzZXQoKTsKKworICAgICAgICAvLyBDb2xsZWN0IHRoZSBzZXQgb2YgInZhcmlh
YmxlcyIgdGhhdCB3ZSB3aWxsIGJlIHNpbmtpbmcuCisgICAgICAgIG1fbG9jYXRpb25Ub1Zhcmlh
YmxlLmNsZWFyKCk7CisgICAgICAgIG1faW5kZXhUb0xvY2F0aW9uLmNsZWFyKCk7CisgICAgICAg
IGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAg
ICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fc3NhQ2FsY3VsYXRv
ci5uZXdWYXJpYWJsZSgpOworICAgICAgICAgICAgbV9sb2NhdGlvblRvVmFyaWFibGUuYWRkKGxv
Y2F0aW9uLCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQobV9pbmRleFRvTG9jYXRpb24u
c2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAgIG1faW5kZXhUb0xvY2F0
aW9uLmFwcGVuZChsb2NhdGlvbik7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIENy
ZWF0ZSBEZWZzIGZyb20gdGhlIGV4aXN0aW5nIGhpbnRzLgorICAgICAgICBmb3IgKEJhc2ljQmxv
Y2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAg
ICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBwcm9tb3RlSGVh
cEFjY2VzcygKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAg
WyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgRWRnZSB2YWx1ZSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9u
LmJhc2UoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9sb2Nh
dGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1f
c3NhQ2FsY3VsYXRvci5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCB2YWx1ZS5ub2RlKCkpOworICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVh
cExvY2F0aW9uKSB7IH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICAvLyBPTUcgcnVuIHRoZSBTU0EgY2FsY3VsYXRvciB0byBjcmVhdGUgUGhpcyEKKyAgICAg
ICAgbV9zc2FDYWxjdWxhdG9yLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAgWyZdIChTU0FDYWxj
dWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2RlKiB7
CisgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBtX2luZGV4
VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgaWYgKCFtX2Nv
bWJpbmVkTGl2ZW5lc3MubGl2ZUF0SGVhZFtibG9ja10uY29udGFpbnMobG9jYXRpb24uYmFzZSgp
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVh
cFRvcCwgUGhpLCBOb2RlT3JpZ2luKCkpOworICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdl
RmxhZ3MoTm9kZVJlc3VsdEpTKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICAKKyAgICAgICAgLy8gUGxhY2UgUGhpcyBpbiB0aGUgcmln
aHQgcGxhY2VzLCByZXBsYWNlIGFsbCB1c2VzIG9mIGFueSBsb2FkIHdpdGggdGhlIGFwcHJvcHJp
YXRlCisgICAgICAgIC8vIHZhbHVlLCBhbmQgY3JlYXRlIHRoZSBhcHByb3ByaWF0ZSBVcHNpbG9u
IG5vZGVzLgorICAgICAgICBtX2dyYXBoLmNsZWFyUmVwbGFjZW1lbnRzKCk7CisgICAgICAgIGZv
ciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAg
ICAgICAgICAgLy8gVGhpcyBtYXBwaW5nIHRhYmxlIGlzIGludGVuZGVkIHRvIGJlIGxhenkuIElm
IHNvbWV0aGluZyBpcyBvbWl0dGVkIGZyb20gdGhlIHRhYmxlLAorICAgICAgICAgICAgLy8gaXQg
bWVhbnMgdGhhdCB0aGVyZSBoYXZlbid0IGJlZW4gYW55IGxvY2FsIHN0b3JlcyB0byB0aGF0IHBy
b21vdGVkIGhlYXAgbG9jYXRpb24uCisgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5jbGVhcigp
OworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIFBoaSBmdW5jdGlvbnMg
dGhhdCB3ZSBoYWQgcHJldmlvdXNseSBjcmVhdGVkLgorICAgICAgICAgICAgZm9yIChTU0FDYWxj
dWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fc3NhQ2FsY3VsYXRvci5waGlzRm9yQmxvY2soYmxvY2sp
KSB7CisgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBtX2lu
ZGV4VG9Mb2NhdGlvbltwaGlEZWYtPnZhcmlhYmxlKCktPmluZGV4KCldOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAg
ICAgICAgICAgMCwgcGhpRGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBtX2luc2VydGlv
blNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgIDAsIGxvY2F0aW9uLmNyZWF0ZUhpbnQo
bV9ncmFwaCwgTm9kZU9yaWdpbigpLCBwaGlEZWYtPnZhbHVlKCkpKTsKKyAgICAgICAgICAgICAg
ICBtX2xvY2FsTWFwcGluZy5hZGQobG9jYXRpb24sIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAg
ICAgICAgIGRhdGFMb2coIkxvY2FsIG1hcHBpbmcgYXQgIiwgcG9pbnRlckR1bXAoYmxvY2spLCAi
OiAiLCBtYXBEdW1wKG1fbG9jYWxNYXBwaW5nKSwgIlxuIik7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIC8vIFByb2Nlc3MgdGhlIGJsb2NrIGFuZCByZXBsYWNlIGFsbCB1c2VzIG9mIGxvYWRz
IHdpdGggdGhlIHByb21vdGVkIHZhbHVlLgorICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDog
KmJsb2NrKSB7CisgICAgICAgICAgICAgICAgbV9ncmFwaC5wZXJmb3JtU3Vic3RpdHV0aW9uKG5v
ZGUpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChOb2RlKiBlc2NhcGVl
ID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG5vZGUpKQorICAgICAgICAgICAgICAg
ICAgICBwb3B1bGF0ZU1hdGVyaWFsaXplKGJsb2NrLCBub2RlLCBlc2NhcGVlKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBwcm9tb3RlSGVhcEFjY2VzcygKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2Nh
dGlvbiBsb2NhdGlvbiwgRWRnZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5zZXQobG9jYXRpb24sIHZhbHVlLm5vZGUo
KSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJv
bW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9DaGVja1N0cnVjdHVyZUltbWVkaWF0ZShyZXNvbHZl
KGJsb2NrLCBsb2NhdGlvbikpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPnJlcGxhY2VXaXRoKHJlc29sdmUoYmxvY2ssIGxvY2F0
aW9uKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IC8vIEdvdHRhIGRyb3Agc29tZSBVcHNpbG9ucy4KKyAgICAgICAgICAgIE5vZGVBbmRJbmRleCB0
ZXJtaW5hbCA9IGJsb2NrLT5maW5kVGVybWluYWwoKTsKKyAgICAgICAgICAgIHNpemVfdCB1cHNp
bG9uSW5zZXJ0aW9uUG9pbnQgPSB0ZXJtaW5hbC5pbmRleDsKKyAgICAgICAgICAgIE5vZGVPcmln
aW4gdXBzaWxvbk9yaWdpbiA9IHRlcm1pbmFsLm5vZGUtPm9yaWdpbjsKKyAgICAgICAgICAgIGZv
ciAoQmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKSB7Cisg
ICAgICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fc3NhQ2Fs
Y3VsYXRvci5waGlzRm9yQmxvY2soc3VjY2Vzc29yQmxvY2spKSB7CisgICAgICAgICAgICAgICAg
ICAgIE5vZGUqIHBoaU5vZGUgPSBwaGlEZWYtPnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAg
IFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURlZi0+dmFyaWFibGUoKTsK
KyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBtX2lu
ZGV4VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisgICAgICAgICAgICAgICAgICAgIE5v
ZGUqIGluY29taW5nID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVw
c2lsb24sIHVwc2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhp
Tm9kZSksIGluY29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1
dGUoYmxvY2spOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIE5vZGUqIHJlc29sdmUoQmFz
aWNCbG9jayogYmxvY2ssIFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKQorICAgIHsKKyAg
ICAgICAgaWYgKE5vZGUqIHJlc3VsdCA9IG1fbG9jYWxNYXBwaW5nLmdldChsb2NhdGlvbikpCisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAKKyAgICAgICAgLy8gVGhpcyBpbXBs
aWVzIHRoYXQgdGhlcmUgaXMgbm8gbG9jYWwgbWFwcGluZy4gRmluZCBhIG5vbi1sb2NhbCBtYXBw
aW5nLgorICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fc3NhQ2FsY3VsYXRvci5u
b25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxvY2ssIG1fbG9jYXRpb25Ub1Zhcmlh
YmxlLmdldChsb2NhdGlvbikpOworICAgICAgICBBU1NFUlQoZGVmKTsKKyAgICAgICAgQVNTRVJU
KGRlZi0+dmFsdWUoKSk7CisgICAgICAgIG1fbG9jYWxNYXBwaW5nLmFkZChsb2NhdGlvbiwgZGVm
LT52YWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIGRlZi0+dmFsdWUoKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBTaW5rQ2FuZGlkYXRlRnVuY3RvciwgdHlwZW5hbWUgRXNjYXBlRnVu
Y3Rvcj4KKyAgICB2b2lkIGhhbmRsZU5vZGUoCisgICAgICAgIE5vZGUqIG5vZGUsCisgICAgICAg
IGNvbnN0IFNpbmtDYW5kaWRhdGVGdW5jdG9yJiBzaW5rQ2FuZGlkYXRlLAorICAgICAgICBjb25z
dCBFc2NhcGVGdW5jdG9yJiBlc2NhcGUpCisgICAgeworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9w
KCkpIHsKKyAgICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVO
ZXdPYmplY3Q6CisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgorICAg
ICAgICAgICAgc2lua0NhbmRpZGF0ZSgpOworICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRy
ZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRn
ZSkgeworICAgICAgICAgICAgICAgICAgICBlc2NhcGUoZWRnZS5ub2RlKCkpOworICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBOZXdGdW5jdGlv
bjoKKyAgICAgICAgICAgIGlmICghbm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxl
Kj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpCisgICAgICAgICAgICAg
ICAgc2lua0NhbmRpZGF0ZSgpOworICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5v
ZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRp
b246CisgICAgICAgICAgICBpZiAoIW5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+
c2luZ2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpCisgICAgICAgICAgICAgICAgc2lua0Nh
bmRpZGF0ZSgpOworICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgbV9n
cmFwaC5kb1RvQ2hpbGRyZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAg
ICBbJl0gKEVkZ2UgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZWRnZS53aWxsTm90
SGF2ZUNoZWNrKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBpZiAoYWxyZWFkeUNoZWNrZWQoZWRnZS51
c2VLaW5kKCksIFNwZWNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlKGVkZ2Uubm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgTW92SGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CisgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1
cmU6CisgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9m
ZnNldDoKKyAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDogeworICAgICAgICAg
ICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgaWYg
KCF0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgIGVzY2FwZSh0
YXJnZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICBjYXNlIFB1dEJ5T2Zmc2V0OiB7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2Rl
LT5jaGlsZDIoKS5ub2RlKCk7CisgICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNPYmplY3RBbGxv
Y2F0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAgICAg
ICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGVzY2FwZShub2RlLT5jaGlsZDMoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6IHsKKyAgICAgICAgICAg
IE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKKyAgICAgICAgICAgIGlmICgh
dGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXNjYXBl
KHRhcmdldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2Ug
UHV0Q2xvc3VyZVZhcjogeworICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQx
KCkubm9kZSgpOworICAgICAgICAgICAgaWYgKCF0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRp
b24oKSkKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAgICAgIGVzY2Fw
ZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBjYXNlIEdldFNjb3BlOiB7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBu
b2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNGdW5jdGlv
bkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRFeGVjdXRhYmxlOiB7Cisg
ICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAg
ICAgICBpZiAoIXRhcmdldC0+aXNGdW5jdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAg
ICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAg
ICAgY2FzZSBTa2lwU2NvcGU6IHsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNo
aWxkMSgpLm5vZGUoKTsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxv
Y2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdldCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgTXVsdGlQdXRCeU9m
ZnNldDoKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlIHdlIHNob3VsZCBiZSBh
YmxlIHRvIGhhbmRsZSB0aGlzLiBJdCdzIGp1c3QgYSBtYXR0ZXIgb2YKKyAgICAgICAgICAgIC8v
IGJ1aWxkaW5nIHRoZSBhcHByb3ByaWF0ZSAqSGludCB2YXJpYW50IG9mIHRoaXMgaW5zdHJ1Y3Rp
b24sIGFsb25nIHdpdGggYQorICAgICAgICAgICAgLy8gUGhhbnRvbVN0cnVjdHVyZVNlbGVjdCBu
b2RlIC0gc2luY2UgdGhpcyB0cmFuc2Zvcm1zIHRoZSBTdHJ1Y3R1cmUgaW4gYSBjb25kaXRpb25h
bAorICAgICAgICAgICAgLy8gd2F5LgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjkyNAorICAgICAgICAgICAgZXNjYXBlKG5vZGUtPmNo
aWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgp
KTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBt
X2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAg
ICAgIFsmXSAoRWRnZSBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5v
ZGUoKSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgIH0KKyAgICAKKyAgICBOb2RlKiBjcmVhdGVNYXRlcmlhbGl6ZShOb2RlKiBlc2NhcGVl
LCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIE5vZGUqIHJlc3VsdCA9IG51bGxwdHI7Cisg
ICAgICAgIAorICAgICAgICBzd2l0Y2ggKGVzY2FwZWUtPm9wKCkpIHsKKyAgICAgICAgY2FzZSBO
ZXdPYmplY3Q6CisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAg
ICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0
ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgcmVzdWx0
ID0gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIGVzY2FwZWUtPnByZWRpY3Rpb24o
KSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKKyAgICAgICAgICAgICAgICBO
b2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMs
CisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAg
ICAgICAgT3BJbmZvKGRhdGEpLCBPcEluZm8oKSwgMCwgMCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CisgICAgICAgICAgICByZXN1
bHQgPSBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlv
bigpLCBOZXdGdW5jdGlvbiwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAg
ICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAg
IHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgT3BJbmZvKGVzY2FwZWUt
PmNlbGxPcGVyYW5kKCkpLAorICAgICAgICAgICAgICAgIGVzY2FwZWUtPmNoaWxkMSgpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAg
ICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIE9iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBzeW1ib2xUYWJsZSA9IGVz
Y2FwZWUtPmNlbGxPcGVyYW5kKCk7CisgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBoLmFkZE5v
ZGUoCisgICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlvbigpLCBOb2RlOjpWYXJBcmcs
IE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2lu
KAorICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAg
ICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgT3BJ
bmZvKGRhdGEpLCBPcEluZm8oc3ltYm9sVGFibGUpLCAwLCAwKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIERGR19DUkFTSCht
X2dyYXBoLCBlc2NhcGVlLCAiQmFkIGVzY2FwZWUgb3AiKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRh
dGFMb2coIkNyZWF0aW5nIG1hdGVyaWFsaXphdGlvbiBwb2ludCBhdCAiLCB3aGVyZSwgIiBmb3Ig
IiwgZXNjYXBlZSwgIjogIiwgcmVzdWx0LCAiXG4iKTsKKyAgICAgICAgCisgICAgICAgIG1fbWF0
ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmFkZChyZXN1bHQsIGVzY2FwZWUpOworICAgICAgICBtX21h
dGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuYWRkKAorICAgICAgICAgICAgd2hl
cmUsIFZlY3RvcjxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChyZXN1bHQpOworICAg
ICAgICAKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgCisgICAgdm9pZCBwb3B1
bGF0ZU1hdGVyaWFsaXplKEJhc2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBub2RlLCBOb2RlKiBlc2Nh
cGVlKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAgIGNhc2Ug
TWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlv
bkRhdGEmIGRhdGEgPSBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7CisgICAgICAg
ICAgICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUo
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9u
PiBsb2NhdGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzdHJ1Y3R1cmUoU3Ry
dWN0dXJlUExvYywgZXNjYXBlZSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRh
aW5zKHN0cnVjdHVyZSkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBtX2dyYXBoLm1fdmFy
QXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25vd25D
ZWxsVXNlKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGxv
Y2F0aW9uc1tpXS5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFN0cnVjdHVyZVBMb2M6
IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uc1tpXSA9PSBzdHJ1Y3R1cmUp
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBMb2M6IHsK
KyAgICAgICAgICAgICAgICAgICAgTm9kZSogdmFsdWUgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlv
bnNbaV0pOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUtPm9wKCkgPT0gQm90dG9tVmFs
dWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNhbiBza2lwIEJvdHRvbXMgZW50
aXJlbHkuCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgZGF0YS5tX3By
b3BlcnRpZXMuYXBwZW5kKFBoYW50b21Qcm9wZXJ0eVZhbHVlKGxvY2F0aW9uc1tpXS5pbmZvKCkp
KTsKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZCh2
YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
ICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgbm9kZS0+Y2hpbGRyZW4gPSBBZGphY2VuY3lMaXN0KAorICAgICAgICAgICAgICAgIEFkamFj
ZW5jeUxpc3Q6OlZhcmlhYmxlLAorICAgICAgICAgICAgICAgIGZpcnN0Q2hpbGQsIG1fZ3JhcGgu
bV92YXJBcmdDaGlsZHJlbi5zaXplKCkgLSBmaXJzdENoaWxkKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246
IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIGRhdGEgPSBub2RlLT5v
YmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCk7CisKKyAgICAgICAgICAgIHVuc2lnbmVkIGZpcnN0
Q2hpbGQgPSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpOworCisgICAgICAgICAgICBW
ZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxs
b2NhdGlvbi5nZXQoZXNjYXBlZSk7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
IHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGVzY2FwZWUpOworICAgICAgICAgICAgUHJvbW90
ZWRIZWFwTG9jYXRpb24gc3ltYm9sVGFibGUoQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgZXNj
YXBlZSk7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3BlKSk7CisK
KyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZl
KGJsb2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbG9jYXRpb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
c3dpdGNoIChsb2NhdGlvbnNbaV0ua2luZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBBY3Rp
dmF0aW9uU2NvcGVQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnNb
aV0gPT0gc2NvcGUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIEFjdGl2YXRpb25TeW1ib2xUYWJsZVBMb2M6IHsK
KyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uc1tpXSA9PSBzeW1ib2xUYWJsZSk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGNhc2UgQ2xvc3VyZVZhclBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgTm9k
ZSogdmFsdWUgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbnNbaV0pOworICAgICAgICAgICAgICAg
ICAgICBpZiAodmFsdWUtPm9wKCkgPT0gQm90dG9tVmFsdWUpCisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBkYXRhLm1fcHJvcGVydGllcy5hcHBl
bmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRpb25zW2ldLmluZm8oKSkpOworICAgICAgICAg
ICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKHZhbHVlKTsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUs
ICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4gPSBBZGphY2VuY3lMaXN0KAorICAgICAgICAg
ICAgICAgIEFkamFjZW5jeUxpc3Q6OlZhcmlhYmxlLAorICAgICAgICAgICAgICAgIGZpcnN0Q2hp
bGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCkgLSBmaXJzdENoaWxkKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewor
ICAgICAgICAgICAgaWYgKCFBU1NFUlRfRElTQUJMRUQpIHsKKyAgICAgICAgICAgICAgICBWZWN0
b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2Nh
dGlvbi5nZXQoZXNjYXBlZSk7CisKKyAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLnNp
emUoKSA9PSAyKTsKKworICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGV4ZWN1
dGFibGUoRnVuY3Rpb25FeGVjdXRhYmxlUExvYywgZXNjYXBlZSk7CisgICAgICAgICAgICAgICAg
QVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhleGVjdXRhYmxlKSk7CisKKyAgICAgICAgICAgICAg
ICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBhY3RpdmF0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2Ms
IGVzY2FwZWUpOworICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoYWN0
aXZhdGlvbikpOworCisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxv
Y2F0aW9ucy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0
aW9uc1tpXS5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBGdW5jdGlvbkV4ZWN1
dGFibGVQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zW2ld
ID09IGV4ZWN1dGFibGUpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBjYXNlIEZ1bmN0aW9uQWN0aXZh
dGlvblBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnNbaV0g
PT0gYWN0aXZhdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBsb2NhdGlvbiBraW5k
Iik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIG1hdGVyaWFsaXplIG9w
Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBDb21i
aW5lZExpdmVuZXNzIG1fY29tYmluZWRMaXZlbmVzczsKKyAgICBTU0FDYWxjdWxhdG9yIG1fc3Nh
Q2FsY3VsYXRvcjsKKyAgICBIYXNoU2V0PE5vZGUqPiBtX3NpbmtDYW5kaWRhdGVzOworICAgIEhh
c2hNYXA8Tm9kZSosIE5vZGUqPiBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZTsKKyAgICBIYXNo
TWFwPE5vZGUqLCBWZWN0b3I8Tm9kZSo+PiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFs
aXphdGlvbnM7CisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9u
Pj4gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uOworICAgIEhhc2hNYXA8UHJvbW90ZWRIZWFwTG9j
YXRpb24sIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKj4gbV9sb2NhdGlvblRvVmFyaWFibGU7Cisg
ICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBtX2luZGV4VG9Mb2NhdGlvbjsKKyAgICBI
YXNoTWFwPFByb21vdGVkSGVhcExvY2F0aW9uLCBOb2RlKj4gbV9sb2NhbE1hcHBpbmc7CisgICAg
SW5zZXJ0aW9uU2V0IG1faW5zZXJ0aW9uU2V0OworfTsKKyAgICAKK2Jvb2wgcGVyZm9ybU9iamVj
dEFsbG9jYXRpb25TaW5raW5nKEdyYXBoJiBncmFwaCkKK3sKKyAgICBTYW1wbGluZ1JlZ2lvbiBz
YW1wbGluZ1JlZ2lvbigiREZHIE9iamVjdCBBbGxvY2F0aW9uIFNpbmtpbmcgUGhhc2UiKTsKKyAg
ICByZXR1cm4gcnVuUGhhc2U8T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZT4oZ3JhcGgpOwor
fQorCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJ
VCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKaW5kZXggNjQ5YzYwNTcxYzkz
ZmFjOGI3NWRiMjc1ZWRiMzM3YzdhM2NlZjZiYy4uZDU1ZTNmMDFkNDcyNWI1OTdiNWNjYTgxMDg5
Y2ZmOWZlMzAyMTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
bGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2luY2x1ZGUgIkRGR0FsbG9j
YXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oIgogI2luY2x1ZGUgIkRGR0FyZ3VtZW50c0VsaW1pbmF0
aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmgiCiAj
aW5jbHVkZSAiREZHQnl0ZUNvZGVQYXJzZXIuaCIKQEAgLTM2NSwxMCArMzY2LDExIEBAIFBsYW46
OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRl
JiBsb25nTGl2ZWRTdGF0ZSkKICAgICAgICAgcGVyZm9ybUNsZWFuVXAoZGZnKTsgLy8gUmVkdWNl
IHRoZSBncmFwaCBzaXplIGEgbG90LgogICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAg
IGNoYW5nZWQgfD0gcGVyZm9ybVN0cmVuZ3RoUmVkdWN0aW9uKGRmZyk7Ci0gICAgICAgIGlmIChP
cHRpb25zOjplbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZygpKSB7Ci0gICAgICAgICAgICBj
aGFuZ2VkIHw9IHBlcmZvcm1Dcml0aWNhbEVkZ2VCcmVha2luZyhkZmcpOworICAgICAgICBjaGFu
Z2VkIHw9IHBlcmZvcm1Dcml0aWNhbEVkZ2VCcmVha2luZyhkZmcpOworICAgICAgICBpZiAoT3B0
aW9uczo6ZW5hYmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZygpKQorICAgICAgICAgICAgY2hhbmdl
ZCB8PSBwZXJmb3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyhkZmcpOworICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1PYmplY3RBbGxvY2F0aW9uU2lua2luZyhkZmcp
OwotICAgICAgICB9CiAgICAgICAgIGlmIChjaGFuZ2VkKSB7CiAgICAgICAgICAgICAvLyBTdGF0
ZS1hdC10YWlsIGFuZCBzdGF0ZS1hdC1oZWFkIHdpbGwgYmUgaW52YWxpZCBpZiB3ZSBkaWQgc3Ry
ZW5ndGggcmVkdWN0aW9uIHNpbmNlCiAgICAgICAgICAgICAvLyBpdCBtaWdodCBpbmNyZWFzZSBs
aXZlIHJhbmdlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJv
bW90ZWRIZWFwTG9jYXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90
ZWRIZWFwTG9jYXRpb24uaAppbmRleCBiYzE1MTU4NDgwNzQzN2RiMDcyOTQxNDE5ZThiNGI5YmEz
ZTU2MmNiLi5hMjFlNGRhMWFmOWI1YjBmYjYwNGMzYjIyMzcwNzFmNTE1ZmE2NTRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5o
CkBAIC01Nyw4ICs1NywxNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pbmZvKGluZm8pCiAgICAg
ewogICAgIH0KLSAgICAKKworICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKFdURjo6SGFz
aFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKKyAgICAgICAgOiBtX2tpbmQoSW52YWxpZFByb21vdGVk
TG9jYXRpb25LaW5kKQorICAgICAgICAsIG1faW5mbygxKQorICAgIHsKKyAgICB9CisKICAgICBi
b29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRM
b2NhdGlvbktpbmQ7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJl
dHVybiAhISp0aGlzOyB9CiAgICAgCiAgICAgUHJvbW90ZWRMb2NhdGlvbktpbmQga2luZCgpIGNv
bnN0IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIHVuc2lnbmVkIGluZm8oKSBjb25zdCB7IHJldHVy
biBtX2luZm87IH0KQEAgLTg2LDYgKzk0LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX2tpbmQgPT0gSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5kICYmIG1faW5mbzsKICAg
ICB9CisKKyAgICBib29sIG5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpIGNvbnN0CisgICAgewor
ICAgICAgICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9j
OgorICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOgorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
fQorICAgIH0KICAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAK
QEAgLTk0LDYgKzExNCwxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAK
K3N0cnVjdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKGNvbnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJu
IGtleS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsg
cmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsK
IHB1YmxpYzoKICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE3Niw2ICsyMDIsMTYgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRp
b24+IDogU2ltcGxlQ2xhc3NIYXNoVHIKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVl
SXNaZXJvID0gZmFsc2U7CiB9OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3I+IHsKKyAgICB0eXBlZGVmIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvckhhc2ggSGFzaDsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBIYXNoVHJhaXRzOwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZH
OjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVt
cHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5k
aWYgLy8gRU5BQkxFKERGR19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1ZhbGlkYXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRh
dGUuY3BwCmluZGV4IDJiYTMzMzg0OTM5OWU0M2I2YzQxZjVkZmZiZTkwOTMzNTE1MWY1NTIuLmE5
NjljMTNjOTYxNmI4ZDQ2ZjhhNWExMjY2YzNlYmE5ODg4MDA2MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCkBAIC01MjQsMTIgKzUyNCw0MiBAQCBwcml2YXRl
OgogICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgICAgICAgICAgICAgVkFM
SURBVEUoKG5vZGUpLCAhImJhZCBub2RlIHR5cGUgZm9yIFNTQSIpOwogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIG1vcmUgdGhpbmdzIGhlcmUu
CiAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjM0NzEKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAg
ICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21O
ZXdGdW5jdGlvbjoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21DcmVhdGVBY3RpdmF0aW9u
OgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbURpcmVjdEFyZ3VtZW50czoKKyAgICAgICAg
ICAgICAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CisgICAgICAgICAgICAgICAgY2Fz
ZSBNb3ZIaW50OgorICAgICAgICAgICAgICAgIGNhc2UgVXBzaWxvbjoKKyAgICAgICAgICAgICAg
ICBjYXNlIEZvcndhcmRWYXJhcmdzOgorICAgICAgICAgICAgICAgIGNhc2UgQ2FsbEZvcndhcmRW
YXJhcmdzOgorICAgICAgICAgICAgICAgIGNhc2UgQ29uc3RydWN0Rm9yd2FyZFZhcmFyZ3M6Cisg
ICAgICAgICAgICAgICAgY2FzZSBHZXRNeUFyZ3VtZW50QnlWYWw6CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBDaGVjazoKKyAgICAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgaXMgcHJvYmFibHkgbm90IGNvcnJlY3QuCisgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAg
ICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksIG5vZGUtPmNoaWxkMSgpLT5pc1BoYW50b21B
bGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsm
XSAoY29uc3QgRWRnZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElE
QVRFKChub2RlKSwgIWVkZ2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBkNWNlMGQ3ZjFiMjQ1NzAz
NjM0YzA1MDM1NzdjMmM1YzFiZDQxYjFkLi44OGY1NGQwNGVkOGJiNzdjZTBjMjE0ZjUzMGUzZGVl
Zjc2MTc2OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcApAQCAtNTI4NiwxMiArNTI4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkKICAgICAg
ICAgICAgIHZhbHVlcy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9k
ZSwgMSArIGkpKSk7CiAgICAgICAgIAotICAgICAgICBTdHJ1Y3R1cmVTZXQgc2V0OwotICAgICAg
ICBtX2ludGVycHJldGVyLnBoaUNoaWxkcmVuKCktPmZvckFsbFRyYW5zaXRpdmVJbmNvbWluZ1Zh
bHVlcygKLSAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKS5ub2RlKCks
Ci0gICAgICAgICAgICBbJl0gKE5vZGUqIGluY29taW5nKSB7Ci0gICAgICAgICAgICAgICAgc2V0
LmFkZChpbmNvbWluZy0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkpOwotICAgICAgICAgICAg
fSk7CisgICAgICAgIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0ID0gbV9ub2RlLT5zdHJ1Y3R1cmVT
ZXQoKTsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjxMQmFzaWNCbG9jaywgMT4gYmxvY2tzKHNl
dC5zaXplKCkpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzZXQuc2l6ZSgpOyBpLS07KQpA
QCAtNTM5MCwxMCArNTM4NSwxMSBAQCBwcml2YXRlOgogCiAgICAgICAgIFZlY3RvcjxMVmFsdWUs
IDg+IHZhbHVlczsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9w
ZXJ0aWVzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgdmFsdWVzLmFwcGVuZChsb3dKU1ZhbHVl
KG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAxICsgaSkpKTsKKyAgICAgICAgICAgIHZhbHVl
cy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMiArIGkpKSk7
CiAKLSAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1f
bm9kZSwgMCkpOworICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fZ3JhcGgudmFyQXJn
Q2hpbGQobV9ub2RlLCAxKSk7CiAgICAgICAgIFN5bWJvbFRhYmxlKiB0YWJsZSA9IG1fbm9kZS0+
Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOworICAgICAgICBBU1NFUlQodGFibGUgPT0gbV9n
cmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApLT5jYXN0Q29uc3RhbnQ8U3ltYm9sVGFibGUqPigp
KTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZv
cihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFjdGl2YXRpb25TdHJ1Y3R1cmUoKTsKIAogICAg
ICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTWF0ZXJp
YWxpemVDcmVhdGVBY3RpdmF0aW9uIHNsb3cgcGF0aCIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCAyNzc4OGU3ZjZhNWE5ZmI5
ZTUzMDY5ZWM1NGMwOTAwZGVjZDllYzdlLi4xNjUwMTQzYTU2YjkyYzcwYjU1MWY5OTlmNDY4MWU5
NTkzNTQ2NmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4
aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0
Q29tcGlsZXIuY3BwCkBAIC0yMjAsMjQgKzIyMCwyNCBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1
YigKICAgICAgICAgICAgICAgICBqaXQub3IzMihHUFJJbmZvOjpyZWdUMiwgTWFjcm9Bc3NlbWJs
ZXI6OkFic29sdXRlQWRkcmVzcyhhcnJheVByb2ZpbGUtPmFkZHJlc3NPZkFycmF5TW9kZXMoKSkp
OwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghIWV4
aXQubV92YWx1ZVByb2ZpbGUpCiAgICAgICAgICAgICBqaXQuc3RvcmU2NChHUFJJbmZvOjpyZWdU
MCwgZXhpdC5tX3ZhbHVlUHJvZmlsZS5nZXRTcGVjRmFpbEJ1Y2tldCgwKSk7CiAgICAgfQotICAg
IAotICAgIC8vIE1hdGVyaWFsaXplIGFsbCBvYmplY3RzLiBEb24ndCBtYXRlcmlhbGl6ZSBhbiBv
YmplY3QgdW50aWwgYWxsIG9mIHRoZSBvYmplY3RzIGl0IG5lZWRzCi0gICAgLy8gaGF2ZSBiZWVu
IG1hdGVyaWFsaXplZC4gQ3VyaW91c2x5LCB0aGlzIGlzIHRoZSBvbmx5IHBsYWNlIHRoYXQgd2Ug
aGF2ZSBhbiBhbGdvcml0aG0gdGhhdCBwcmV2ZW50cwotICAgIC8vIE9TUiBleGl0IGZyb20gaGFu
ZGxpbmcgY3ljbGljIG9iamVjdCBtYXRlcmlhbGl6YXRpb25zLiBPZiBjb3Vyc2UsIG9iamVjdCBh
bGxvY2F0aW9uIHNpbmtpbmcKLSAgICAvLyBjdXJyZW50bHkgd291bGRuJ3QgcmVjb2duaXplIGEg
Y3ljbGUgYXMgYmVpbmcgc2lua2FibGUgLSBidXQgaWYgaXQgZGlkIHRoZW4gdGhlIG9ubHkgdGhp
bmcgdGhhdAotICAgIC8vIHdvdWxkIGFodmUgdG8gY2hhbmdlIGlzIHRoaXMgZml4cG9pbnQuIElu
c3RlYWQgd2Ugd291bGQgYWxsb2NhdGUgdGhlIG9iamVjdHMgZmlyc3QgYW5kIHBvcHVsYXRlCi0g
ICAgLy8gdGhlbSB3aXRoIGRhdGEgbGF0ZXIuCisKKyAgICAvLyBNYXRlcmlhbGl6ZSBhbGwgb2Jq
ZWN0cy4gRG9uJ3QgbWF0ZXJpYWxpemUgYW4gb2JqZWN0IHVudGlsIGFsbAorICAgIC8vIG9mIHRo
ZSBvYmplY3RzIGl0IG5lZWRzIGhhdmUgYmVlbiBtYXRlcmlhbGl6ZWQuIFdlIGJyZWFrIGN5Y2xl
cworICAgIC8vIGJ5IHBvcHVsYXRpbmcgb2JqZWN0cyBsYXRlIC0gd2Ugb25seSBjb25zaWRlciBh
biBvYmplY3QgYXMKKyAgICAvLyBuZWVkaW5nIGFub3RoZXIgb2JqZWN0IGlmIHRoZSBsYXRlciBp
cyBuZWVkZWQgZm9yIHRoZQorICAgIC8vIGFsbG9jYXRpb24gb2YgdGhlIGZvcm1lci4KKwogICAg
IEhhc2hTZXQ8RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qPiB0b01hdGVyaWFsaXplOwog
ICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6
IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKQogICAgICAgICB0b01hdGVyaWFsaXplLmFkZChtYXRl
cmlhbGl6YXRpb24pOwotICAgIAorCiAgICAgd2hpbGUgKCF0b01hdGVyaWFsaXplLmlzRW1wdHko
KSkgewogICAgICAgICB1bnNpZ25lZCBwcmV2aW91c1RvTWF0ZXJpYWxpemVTaXplID0gdG9NYXRl
cmlhbGl6ZS5zaXplKCk7Ci0gICAgICAgIAorCiAgICAgICAgIFZlY3RvcjxFeGl0VGltZU9iamVj
dE1hdGVyaWFsaXphdGlvbio+IHdvcmtsaXN0OwogICAgICAgICB3b3JrbGlzdC5hcHBlbmRSYW5n
ZSh0b01hdGVyaWFsaXplLmJlZ2luKCksIHRvTWF0ZXJpYWxpemUuZW5kKCkpOwogICAgICAgICBm
b3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24gOiB3b3Jr
bGlzdCkgewpAQCAtMjQ2LDIwICsyNDYsMjggQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAg
ICAgICAgICAgICBmb3IgKEV4aXRQcm9wZXJ0eVZhbHVlIHZhbHVlIDogbWF0ZXJpYWxpemF0aW9u
LT5wcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLnZhbHVlKCkuaXNP
YmplY3RNYXRlcmlhbGl6YXRpb24oKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5sb2NhdGlvbigpLm5lZWRlZEZvck1hdGVyaWFsaXph
dGlvbigpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBp
ZiAodG9NYXRlcmlhbGl6ZS5jb250YWlucyh2YWx1ZS52YWx1ZSgpLm9iamVjdE1hdGVyaWFsaXph
dGlvbigpKSkgewotICAgICAgICAgICAgICAgICAgICAvLyBHb3R0YSBza2lwIHRoaXMgb25lLCBz
aW5jZSBvbmUgb2YgaXRzIGZpZWxkcyBwb2ludHMgdG8gYSBtYXRlcmlhbGl6YXRpb24KLSAgICAg
ICAgICAgICAgICAgICAgLy8gdGhhdCBoYXNuJ3QgYmVlbiBtYXRlcmlhbGl6ZWQuCisgICAgICAg
ICAgICAgICAgICAgIC8vIEdvdHRhIHNraXAgdGhpcyBvbmUsIHNpbmNlIGl0IG5lZWRzIGEKKyAg
ICAgICAgICAgICAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIHRoYXQgaGFzbid0IGJlZW4gbWF0
ZXJpYWxpemVkLgogICAgICAgICAgICAgICAgICAgICBhbGxHb29kID0gZmFsc2U7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGlmICghYWxsR29vZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgLy8gQWxsIHN5c3RlbXMgZ28gZm9yIG1hdGVyaWFsaXppbmcg
dGhlIG9iamVjdC4gRmlyc3Qgd2UgcmVjb3ZlciB0aGUgdmFsdWVzIG9mIGFsbCBvZgotICAgICAg
ICAgICAgLy8gaXRzIGZpZWxkcyBhbmQgdGhlbiB3ZSBjYWxsIGEgZnVuY3Rpb24gdG8gYWN0dWFs
bHkgYWxsb2NhdGUgdGhlIGJlYXN0LgorCisgICAgICAgICAgICAvLyBBbGwgc3lzdGVtcyBnbyBm
b3IgbWF0ZXJpYWxpemluZyB0aGUgb2JqZWN0LiBGaXJzdCB3ZQorICAgICAgICAgICAgLy8gcmVj
b3ZlciB0aGUgdmFsdWVzIG9mIGFsbCBvZiBpdHMgZmllbGRzIGFuZCB0aGVuIHdlCisgICAgICAg
ICAgICAvLyBjYWxsIGEgZnVuY3Rpb24gdG8gYWN0dWFsbHkgYWxsb2NhdGUgdGhlIGJlYXN0Lgor
ICAgICAgICAgICAgLy8gV2Ugb25seSByZWNvdmVyIHRoZSBmaWVsZHMgdGhhdCBhcmUgbmVlZGVk
IGZvciB0aGUgYWxsb2NhdGlvbi4KICAgICAgICAgICAgIGZvciAodW5zaWduZWQgcHJvcGVydHlJ
bmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgcHJvcGVydHlJbmRl
eC0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBtYXRlcmlh
bGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1ZSgpOworICAgICAgICAg
ICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlv
bi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdOworICAgICAgICAgICAgICAgIGNvbnN0IEV4
aXRWYWx1ZSYgdmFsdWUgPSBwcm9wZXJ0eS52YWx1ZSgpOworICAgICAgICAgICAgICAgIGlmICgh
cHJvcGVydHkubG9jYXRpb24oKS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgICAgICBjb21waWxlUmVjb3Zlcnko
CiAgICAgICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwgaml0Q29kZS0+c3RhY2tt
YXBzLCByZWdpc3RlclNjcmF0Y2gsCiAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlv
blRvUG9pbnRlcik7CkBAIC0yNzMsNyArMjgxLDcgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIo
CiAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lz
ZV9jYXN0PHZvaWQqPihvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKSksIEdQUkluZm86
Om5vbkFyZ0dQUjApOwogICAgICAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7
CiAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIG1hdGVy
aWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSk7Ci0gICAgICAgICAgICAK
KwogICAgICAgICAgICAgLy8gTGV0IGV2ZXJ5b25lIGtub3cgdGhhdCB3ZSdyZSBkb25lLgogICAg
ICAgICAgICAgdG9NYXRlcmlhbGl6ZS5yZW1vdmUobWF0ZXJpYWxpemF0aW9uKTsKICAgICAgICAg
fQpAQCAtMjg0LDYgKzI5MiwyNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAgICAg
UkVMRUFTRV9BU1NFUlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2aW91c1RvTWF0ZXJpYWxp
emVTaXplKTsKICAgICB9CiAKKyAgICAvLyBOb3cgdGhhdCBhbGwgdGhlIG9iamVjdHMgaGF2ZSBi
ZWVuIGFsbG9jYXRlZCwgd2UgcG9wdWxhdGUgdGhlbQorICAgIC8vIHdpdGggdGhlIGNvcnJlY3Qg
dmFsdWVzLiBUaGlzIHRpbWUgd2UgY2FuIHJlY292ZXIgYWxsIHRoZQorICAgIC8vIGZpZWxkcywg
aW5jbHVkaW5nIHRob3NlIHRoYXQgYXJlIG9ubHkgbmVlZGVkIGZvciB0aGUgYWxsb2NhdGlvbi4K
KyAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24g
OiBleGl0Lm1fbWF0ZXJpYWxpemF0aW9ucykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIHByb3Bl
cnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IHByb3BlcnR5
SW5kZXgtLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBtYXRlcmlh
bGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1ZSgpOworICAgICAgICAg
ICAgY29tcGlsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwg
aml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCisgICAgICAgICAgICAgICAgbWF0
ZXJpYWxpemF0aW9uVG9Qb2ludGVyKTsKKyAgICAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZv
OjpyZWdUMCwgbWF0ZXJpYWxpemF0aW9uQXJndW1lbnRzICsgcHJvcGVydHlJbmRleCk7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBUaGlzIGNhbGwgYXNzdW1lcyB0aGF0IHdlIGRvbid0IHBhc3Mg
YXJndW1lbnRzIG9uIHRoZSBzdGFjaworICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFs
aXphdGlvbiksCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJp
YWxpemF0aW9uVG9Qb2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKSwKKyAgICAgICAgICAgIEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMpKTsKKyAg
ICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGJpdHdpc2VfY2FzdDx2
b2lkKj4ob3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUikpLCBHUFJJbmZvOjpub25BcmdHUFIw
KTsKKyAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgfQorCiAgICAg
Ly8gU2F2ZSBhbGwgc3RhdGUgZnJvbSB3aGVyZXZlciB0aGUgZXhpdCBkYXRhIHRlbGxzIHVzIGl0
IHdhcywgaW50byB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4KICAgICAvLyB0aGUgc2NyYXRjaCBi
dWZmZXIuIFRoaXMgYWxzbyBkb2VzIHRoZSByZWJveGluZy4KICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDRlNWM4YjNmYjc5M2E4M2IyMzY3
ZmIwMGE3ZTdjMWI3NGE0ODQ5ZTAuLjRjMzgzNzM4ODZhMzVlZmY4ZDJmOTI0Y2Y0MmI3MWQzMTFm
NTM3OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9u
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcApA
QCAtNDgsNDkgKzQ4LDExMCBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdPYmplY3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSogZXhlYwogICAgIHJldHVybiBK
U0ZpbmFsT2JqZWN0OjpjcmVhdGUoZXhlYywgc3RydWN0dXJlLCBidXR0ZXJmbHkpOwogfQogCitl
eHRlcm4gIkMiIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NS
KAorICAgIEV4ZWNTdGF0ZSogZXhlYywgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1h
dGVyaWFsaXphdGlvbiwKKyAgICBFbmNvZGVkSlNWYWx1ZSogZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSogdmFsdWVzKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgQ29kZUJs
b2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKworICAgIC8vIFdlIGNhbm5vdCBH
Qy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgorICAgIC8vIEZJWE1FOiBXZSBh
cmUgbm90IGRvaW5nIGFueXRoaW5nIHRoYXQgY2FuIEdDIGhlcmUsIGFuZCB0aGlzIGlzCisgICAg
Ly8gcHJvYmFibHkgdW5uZWNlc3NhcnkuCisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZt
LmhlYXApOworCisgICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5cGUoKSkgeworICAgIGNh
c2UgUGhhbnRvbU5ld09iamVjdDogeworICAgICAgICBKU0ZpbmFsT2JqZWN0KiBvYmplY3QgPSBq
c0Nhc3Q8SlNGaW5hbE9iamVjdCo+KEpTVmFsdWU6OmRlY29kZSgqZW5jb2RlZFZhbHVlKSk7Cisg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKKworICAg
ICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9iamVjdCB3
aXRoLiBVc2UKKyAgICAgICAgLy8gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpIGJlY2F1c2Ug
dGhhdCBoYXBwZW5zIHRvIGJlCisgICAgICAgIC8vIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZl
bmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24g
b2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUKKyAgICAgICAgLy8gbWluaW1h
bCB2aXNpYmxlIGVmZmVjdHMgb24gdGhlIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZAorICAgICAg
ICAvLyB0aGF0IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQg
aGVyZQorICAgICAgICAvLyBmcm9tIE9TUiBleGl0LgorICAgICAgICBmb3IgKFByb3BlcnR5TWFw
RW50cnkgZW50cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgewor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFs
dWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CisgICAgICAg
ICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJvcGVydHlQ
TG9jKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBpZiAo
Y29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5pbXBsKCkg
IT0gZW50cnkua2V5KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAg
ICAgICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6OmRlY29k
ZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICB9CisKKyAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAgICBjYXNlIFBoYW50b21E
aXJlY3RBcmd1bWVudHM6CisgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgorICAgICAg
ICAvLyBUaG9zZSBhcmUgY29tcGxldGVseSBoYW5kbGVkIGJ5IG9wZXJhdGlvbk1hdGVyaWFsaXpl
T2JqZWN0SW5PU1IKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFBoYW50b21DcmVhdGVBY3Rp
dmF0aW9uOiB7CisgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiBhY3RpdmF0aW9uID0ganND
YXN0PEpTTGV4aWNhbEVudmlyb25tZW50Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNvZGVkVmFsdWUp
KTsKKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhlIGFjdGl2YXRp
b24gd2l0aAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3Bl
cnRpZXMoKS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZh
bHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOworICAgICAg
ICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVWYXJQTG9jKQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhY3RpdmF0aW9uLT52YXJp
YWJsZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0KGV4ZWMt
PnZtKCksIGFjdGl2YXRpb24sIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAg
fQorCisgICAgICAgIGJyZWFrOworICAgIH0KKworCisgICAgZGVmYXVsdDoKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICB9Cit9CisK
IGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2Jq
ZWN0SW5PU1IoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXph
dGlvbiogbWF0ZXJpYWxpemF0aW9uLCBFbmNvZGVkSlNWYWx1ZSogdmFsdWVzKQogewogICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2Rl
QmxvY2soKTsKIAogICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2
aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKICAgICAK
ICAgICBzd2l0Y2ggKG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CiAgICAgY2FzZSBQaGFudG9t
TmV3T2JqZWN0OiB7Ci0gICAgICAgIC8vIEZpcnN0IGZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RydWN0
dXJlIGlzLgorICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0cnVjdHVyZSBpcwogICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewogICAg
ICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0
aW9uLT5wcm9wZXJ0aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24o
KSAhPSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihTdHJ1Y3R1cmVQTG9jKSkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCisKICAgICAgICAgICAgIHN0cnVjdHVyZSA9IGpz
Q2FzdDxTdHJ1Y3R1cmUqPihKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUpOwot
ICAgIAotICAgICAgICAvLyBMZXQncyBjcmVhdGUgdGhhdCBvYmplY3QhCisKICAgICAgICAgSlNG
aW5hbE9iamVjdCogcmVzdWx0ID0gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUp
OwotICAgIAotICAgICAgICAvLyBOb3cgZmlndXJlIG91dCB3aGF0IHRoZSBoZWNrIHRvIHBvcHVs
YXRlIHRoZSBvYmplY3Qgd2l0aC4gVXNlIGdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKQotICAg
ICAgICAvLyBiZWNhdXNlIHRoYXQgaGFwcGVucyB0byBiZSBsb3dlci1sZXZlbCBhbmQgbW9yZSBj
b252ZW5pZW50LiBJdCBkb2Vzbid0IGNoYW5nZSB0aGUKLSAgICAgICAgLy8gbWF0ZXJpYWxpemF0
aW9uIG9mIHRoZSBwcm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0byBoYXZlIG1pbmltYWwgdmlzaWJs
ZSBlZmZlY3RzIG9uIHRoZQotICAgICAgICAvLyBzeXN0ZW0uIEFsc28sIGRvbid0IG1pbmQgdGhh
dCB0aGlzIGlzIE8obl4yKS4gSXQgZG9lc24ndCBtYXR0ZXIuIFdlIG9ubHkgZ2V0IGhlcmUgZnJv
bSBPU1IKLSAgICAgICAgLy8gZXhpdC4KLSAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVu
dHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKLSAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUo
KTsgaS0tOykgewotICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9w
ZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwotICAgICAgICAgICAgICAg
IGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExvYykKLSAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGNvZGVCbG9j
ay0+aWRlbnRpZmllcihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9IGVudHJ5
LmtleSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1ZhbHVlOjpk
ZWNvZGUodmFsdWVzW2ldKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAKKworICAg
ICAgICAvLyBUaGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5CisgICAg
ICAgIC8vIG9wZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFdlIGNhbid0IGZpbGwgdGhl
bSBpbgorICAgICAgICAvLyBub3csIGJlY2F1c2UgdGhleSBtYXkgbm90IGJlIGF2YWlsYWJsZSB5
ZXQgKHR5cGljYWxseQorICAgICAgICAvLyBiZWNhdXNlIHdlIGhhdmUgYSBjeWNsaWMgZGVwZW5k
ZW5jeSBncmFwaCkuCisKKyAgICAgICAgLy8gV2UgcHV0IGEgZHVtbXkgdmFsdWUgaGVyZSBpbiBv
cmRlciB0byBhdm9pZCBzdXBlci1zdWJ0bGUKKyAgICAgICAgLy8gR0MtYW5kLU9TUi1leGl0IGNy
YXNoZXMgaW4gY2FzZSB3ZSBoYXZlIGEgYnVnIGFuZCBzb21lCisgICAgICAgIC8vIGZpZWxkIGlz
LCBmb3IgYW55IHJlYXNvbiwgbm90IGZpbGxlZCBsYXRlci4KKyAgICAgICAgLy8gV2UgdXNlIGEg
cmFuZG9tLWlzaCBudW1iZXIgaW5zdGVhZCBvZiBhIHNlbnNpYmxlIHZhbHVlIGxpa2UKKyAgICAg
ICAgLy8gdW5kZWZpbmVkIHRvIG1ha2UgcG9zc2libGUgYnVncyBlYXNpZXIgdG8gdHJhY2suCisg
ICAgICAgIGZvciAoUHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVy
dGllc0NvbmN1cnJlbnRseSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGVu
dHJ5Lm9mZnNldCwganNOdW1iZXIoMTk3MjMpKTsKKwogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KIApAQCAtMTEzLDcgKzE3NCw3IEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgfQogCiAgICAgY2FzZSBQ
aGFudG9tQ3JlYXRlQWN0aXZhdGlvbjogewotICAgICAgICAvLyBGaWd1cmUgb3V0IHdoZXJlIHRo
ZSBzY29wZSBpcworICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHNjb3BlIGFuZCBzeW1i
b2wgdGFibGUgYXJlCiAgICAgICAgIEpTU2NvcGUqIHNjb3BlID0gbnVsbHB0cjsKICAgICAgICAg
U3ltYm9sVGFibGUqIHRhYmxlID0gbnVsbHB0cjsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
bWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CkBAIC0xMzMsMTMg
KzE5NCwxNyBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRl
cmlhbGl6ZU9iamVjdEluT1NSKAogICAgICAgICBKU0xleGljYWxFbnZpcm9ubWVudCogcmVzdWx0
ID0gSlNMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBzY29wZSwgdGFi
bGUpOwogCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGll
cygpLnNpemUoKSAtIDIgPT0gdGFibGUtPnNjb3BlU2l6ZSgpKTsKLSAgICAgICAgLy8gRmlndXJl
IG91dCB3aGF0IHRvIHBvcHVsYXRlIHRoZSBhY3RpdmF0aW9uIHdpdGgKKworICAgICAgICAvLyBU
aGUgcmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5CisgICAgICAgIC8vIG9w
ZXJhdGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFNlZSB0aGUgUGhhbnRvbU5ld09iamVjdAor
ICAgICAgICAvLyBjYXNlIGZvciBkZXRhaWxzLgogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBt
YXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAg
IGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJv
cGVydGllcygpW2ldOwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgp
ICE9IENsb3N1cmVWYXJQTG9jKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAg
ICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5p
bmZvKCkpKS5zZXQoZXhlYy0+dm0oKSwgcmVzdWx0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ld
KSk7CisgICAgICAgICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHku
bG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoCisgICAgICAgICAgICAgICAgZXhlYy0+dm0oKSwgcmVz
dWx0LCBqc051bWJlcigyOTgzNCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHZhbGlkYXRp
b25FbmFibGVkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
T3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgK
aW5kZXggZDE1ZjE4ZWI5YWRkMzM3OWZiNWNmMTQyZGUzNDYxM2M0ODU3NzUwNS4uYTU1NjhmOTFi
MTE3MmI1MTI5Zjg4Mzk3ODNlNzNiYzZkOGM4M2Y3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPcGVyYXRpb25zLmgKQEAgLTQwLDYgKzQwLDkgQEAgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRlKiwgU3RydWN0dXJl
KikgV1QKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdElu
T1NSKAogICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiwgRW5j
b2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CiAKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25Qb3B1bGF0ZU9iamVjdEluT1NSKAorICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0
ZXJpYWxpemF0aW9uKiwgRW5jb2RlZEpTVmFsdWUqLCBFbmNvZGVkSlNWYWx1ZSopIFdURl9JTlRF
Uk5BTDsKKwogfSAvLyBleHRlcm4gIkMiCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCBmZDE2ODJjZDM0MzBhM2Uy
YzJjN2VjMDdhMDllMmRlNTUxZDUwZjgzLi42ZmM3YzMyYTM4Njc3ZmNmMmFmMWIwYjJhODQwOTk3
ZGRmZDU3MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC0x
ODUsNyArMTg1LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihk
b3VibGUsIG1pbmltdW1DYWxsVG9Lbm93blJhdGUsIDAuNTEsIG51bGxwdHIpIFwKICAgICB2KGJv
b2wsIG9wdGltaXplTmF0aXZlQ2FsbHMsIGZhbHNlLCBudWxscHRyKSBcCiAgICAgdihib29sLCBl
bmFibGVNb3ZIaW50UmVtb3ZhbCwgdHJ1ZSwgbnVsbHB0cikgXAotICAgIHYoYm9vbCwgZW5hYmxl
T2JqZWN0QWxsb2NhdGlvblNpbmtpbmcsIHRydWUsIG51bGxwdHIpIFwKKyAgICB2KGJvb2wsIGVu
YWJsZUFsbG9jYXRpb25DeWNsZVNpbmtpbmcsIGZhbHNlLCBudWxscHRyKSBcCiAgICAgXAogICAg
IHYoYm9vbCwgZW5hYmxlQ29uY3VycmVudEpJVCwgdHJ1ZSwgImFsbG93cyB0aGUgREZHIC8gRlRM
IGNvbXBpbGF0aW9uIGluIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUgZXhlY3V0aW5nIEpTIHRocmVh
ZCIpIFwKICAgICB2KHVuc2lnbmVkLCBudW1iZXJPZkRGR0NvbXBpbGVyVGhyZWFkcywgY29tcHV0
ZU51bWJlck9mV29ya2VyVGhyZWFkcygyLCAyKSAtIDEsIG51bGxwdHIpIFwKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3OWVkMjY2NzVlNGY2MTQ4
MDk5OGZiYWZkYTk0NzNkZGMxZjdmN2RhLi5iOGVmMmQ3N2Q1OGQ0MjBmMDc4ZmZiMTllMTMyYmU5
OTlhZjBlNjYwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDYtMzAgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxl
X2NsZW1lbnRAYXBwbGUuY29tPgorCisgICAgICAgIE9iamVjdCBjeWNsZXMgc2hvdWxkIG5vdCBw
cmV2ZW50IGFsbG9jYXRpb24gZWxpbWluYXRpb24vc2lua2luZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDczCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3ljbGljIGFsbG9jYXRpb24gc2lua2luZyBp
cyBkaXNhYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCBpdAorICAgICAgICBlbmFibGVkIHdo
ZW4gcnVubmluZyB0ZXN0cy4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3Jl
LXRlc3RzOgorCiAyMDE1LTA2LTMwICBKb25hdGhhbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQuIEFkZGVkIG15c2VsZiBhcyBhIGNvbW1pdHRlci4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXggNDk0MWQ3ZjdiZTgwYzRmMDc4Yjhh
MGFiOWY4NWI1ZGRkYTExZjE4Ny4uMDY4OWJlNThkYTVhMDk1N2FlZjM4MTcwYmJlNTMwNWYzZTQ3
ZTQ3NCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMK
KysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTE0NCw2ICsx
NDQsNyBAQCBpZiAoIWRlZmluZWQoJHJvb3QpICYmICRidWlsZEpTQykgewogbXkgJHByb2R1Y3RE
aXIgPSBqc2NQcm9kdWN0RGlyKCk7CiAkRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1
Y3REaXI7CiAkRU5We0pTQ190aW1lb3V0fSA9IDYwIHVubGVzcyAkRU5We0pTQ190aW1lb3V0fTsg
IyBTZXQgYSA2MCBzZWNvbmQgdGltZW91dCBvbiBhbGwganNjIHRlc3RzIChpZiBlbnZpcm9ubWVu
dCB2YXJpYWJsZSBub3QgZGVmaW5lZCBhbHJlYWR5KS4KKyRFTlZ7SlNDX2VuYWJsZUFsbG9jYXRp
b25DeWNsZVNpbmtpbmd9ID0gMSB1bmxlc3MgZGVmaW5lZCgkRU5We0pTQ19lbmFibGVBbGxvY2F0
aW9uQ3ljbGVTaW5raW5nfSk7CiAkRU5We1RafT0iVVMvUGFjaWZpYyI7ICMgU29tZSB0ZXN0cyBm
YWlsIGlmIHRoZSB0aW1lIHpvbmUgaXMgbm90IHNldCB0byBVUy9QYWNpZmljICg8aHR0cHM6Ly93
ZWJraXQub3JnL2IvMTM2MzYzPikKIHNldFBhdGhGb3JSdW5uaW5nV2ViS2l0QXBwKFwlRU5WKSBp
ZiBpc0N5Z3dpbigpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDBlNTZkY2RlN2VlMDMyZjkxMzEzMDY0ZmViOWIyOGRj
NzlkODQyMy4uNTZmOGMwYjM2NTBiY2EyMTk1MWI1MTU2ZjA1YzQ1MmVlYTk4NWE2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDE1LTA2LTMwICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVt
ZW50QGFwcGxlLmNvbT4KKworICAgICAgICBPYmplY3QgY3ljbGVzIHNob3VsZCBub3QgcHJldmVu
dCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uL3NpbmtpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGZldyBtaWNyb2JlbmNobWFya3MgdGhhdCBz
aG93IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdoZW4KKyAgICAgICAgc2lua2luZyBvciBlbGlt
aW5pbmF0aW5nIG9iamVjdCBjeWNsZXMuCisKKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKHN1bU9m
QXJpdGhTZXJpZXMpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3Njcmlw
dC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZhY3Rv
cmlhbC5mKToKKyAgICAgICAgKGZhY3RvcmlhbCk6CisgICAgICAgICoganMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChz
dW1PZkFyaXRoU2VyaWVzKToKKyAgICAgICAgKHZlcmlmeSk6CisgICAgICAgIChmb28pOgorCiAy
MDE1LTA2LTMwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcmV2ZXJ0IGJhZCBXSzEgcmViYXNlbGluZSBkb25lIGluIHIxODYxMDYuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9lbGlkYWJsZS1uZXct
b2JqZWN0LWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxp
ZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTBiNDQ4Mjc3YjEyMGVhYmIw
MTc3MDg2NTM0Mjk0YmNiYmM5N2ExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcwpAQCAtMCww
ICsxLDI0IEBACitmdW5jdGlvbiBzdW1PZkFyaXRoU2VyaWVzKGxpbWl0KSB7CisgICAgcmV0dXJu
IGxpbWl0ICogKGxpbWl0ICsgMSkgLyAyOworfQorCit2YXIgbiA9IDEwMDAwMDAwOworCitmdW5j
dGlvbiBmb28oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBuOyArK2kpIHsKKyAgICAgICAgdmFyIHEgPSB7fTsKKyAgICAgICAgdmFyIGxlYWYgPSB7Zjpp
LCB0cmVlOiBxfTsKKyAgICAgICAgdmFyIG8gPSB7ZjpsZWFmLCB0cmVlOiBxfTsKKyAgICAgICAg
dmFyIHAgPSB7ZjpsZWFmLCB0cmVlOiBxfTsKKyAgICAgICAgcS5mID0gbzsKKyAgICAgICAgcS5n
ID0gcDsKKyAgICAgICAgcS50cmVlID0gcTsKKyAgICAgICAgcmVzdWx0ICs9IHEuZi5mLmY7Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28oKTsKK2lmIChy
ZXN1bHQgIT0gc3VtT2ZBcml0aFNlcmllcyhuIC0gMSkpCisgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
Y3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcyBiL0xheW91dFRlc3RzL2pzL3Jl
Z3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjE0OGRiYjQwOWFlZDE5ZDQ3OTczMTkxODRmNzNkMmY0N2QzNTRhNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLWNsb3N1cmUt
Y3ljbGUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gZmFjdG9yaWFsKHgpIHsKKyAgICBp
ZiAoeCA8IDApIHRocm93ICJXZSBhcmUgbm90IEdhbW1hIjsKKworICAgIGlmICh4ID09PSAwKQor
ICAgICAgICByZXR1cm4gMTsKKworICAgIGZ1bmN0aW9uIGYoaSwgYWNjKSB7CisgICAgICAgIGlm
IChpID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIGFjYzsKKyAgICAgICAgcmV0dXJuIGYoaSAt
IDEsIGkgKiBhY2MpOworICAgIH0KKworICAgIHJldHVybiBmKHgsIDEpOworfQorbm9JbmxpbmUo
ZmFjdG9yaWFsKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpCisgICAgZmFj
dG9yaWFsKGkgJSAzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0
LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE2MDgxNzIyZGQyM2NhOTc0YTRlZDhiMGRkMDE3OGEwMGY1ODUwNjMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2Jq
ZWN0LWN5Y2xlLmpzCkBAIC0wLDAgKzEsMzggQEAKK2Z1bmN0aW9uIHN1bU9mQXJpdGhTZXJpZXMo
bGltaXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAxKSAvIDI7Cit9CisKK3ZhciBu
ID0gMTAwMDAwMDA7CisKK2Z1bmN0aW9uIHZlcmlmeShxLCBpKSB7CisgICAgaWYgKHEuZiA9PSBx
LmcpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mID09IHEuZyI7CisgICAgaWYgKHEuZi5mICE9
IHEuZy5mKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEuZi5mICE9IHEuZy5mIjsKKyAgICBpZiAo
cS5mLmYuZiAhPSBpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEuZi5mLmYgIT0gaSI7Cit9CisK
K2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0g
MDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9OworICAgICAgICB2YXIgbGVhZiA9
IHtmOmksIHRyZWU6cX07CisgICAgICAgIHZhciBvID0ge2Y6bGVhZiwgdHJlZTpxfTsKKyAgICAg
ICAgdmFyIHAgPSB7ZjpsZWFmLCB0cmVlOnF9OworICAgICAgICBxLmYgPSBvOworICAgICAgICBx
LmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICByZXN1bHQgKz0gcS5mLmYuZjsK
KyAgICAgICAgaWYgKCEoaSAlIDEwMCkpCisgICAgICAgICAgICB2ZXJpZnkocSwgaSk7CisgICAg
fQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZvbyk7Citub0lubGluZSh2ZXJp
ZnkpOworCit2YXIgcmVzdWx0ID0gZm9vKCk7CitpZiAocmVzdWx0ICE9IHN1bU9mQXJpdGhTZXJp
ZXMobiAtIDEpKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256018</attachid>
            <date>2015-07-02 11:11:10 -0700</date>
            <delta_ts>2015-07-02 15:40:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150702111016.patch</filename>
            <type>text/plain</type>
            <size>1027819</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MTkwNjRlNjkyMzkyMGEzOTRmMWJiNjk5MzY5ZjlhYWU4ODY3OWY0Li5iMzYwYmY4NGY4Zjc5NmM3
NDI1ZTJlOTNhMTM2OGExNDQ5MDM3MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxNS0wNy0wMiAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQ
aXpsby4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgYWxsb2NhdGlvbiBz
aW5raW5nIHBoYXNlIHRoYXQgaXMgYWJsZSB0bworICAgICAgICBzaW5rIGN5Y2xlcywgaW4gREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcC4gVGhpcyBwaGFzZQorICAgICAgICBzdXBl
cnNlZGVzIHRoZSBvbGQgYWxsb2NhdGlvbiBzaW5raW5nIHBoYXNlIGluCisgICAgICAgIERGR09i
amVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLCBhcyB0aGF0IHByZXZpb3VzIHBoYXNlIHdh
cyBuZXZlcgorICAgICAgICBhYmxlIHRvIHNpbmsgYWxsb2NhdGlvbiBjeWNsZXMgd2hpbGUgdGhl
IG5ldyBwaGFzZSBzb21ldGltZXMgY2FuOyBzZWUKKyAgICAgICAgREZHQWxsb2NhdGlvbkN5Y2xl
U2lua2luZ1BoYXNlLmNwcCBmb3IgZGV0YWlscy4KKworICAgICAgICBGb3Igbm93LCB0aGUgbmV3
IHNpbmtpbmcgcGhhc2UgaXMga2VwdCBiZWhpbmQgYQorICAgICAgICBKU0NfZW5hYmxlQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZyBmbGFnIHRoYXQgcmV2ZXJ0cyB0byB0aGUgb2xkIHNpbmtpbmcKKyAg
ICAgICAgcGhhc2Ugd2hlbiBmYWxzZSAoaS5lLiwgYnkgZGVmYXVsdCkuIFRoaXMgYWxzbyByZW1v
dmVzIHRoZSBvbGQKKyAgICAgICAgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nIGZs
YWcuIHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICBkZWZhdWx0cyB0byB1c2luZyB0
aGUgbmV3IHNpbmtpbmcgcGhhc2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDogQWRkZWQu
CisgICAgICAgIChKU0M6OkRGRzo6cGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDogQWRkZWQuCisgICAg
ICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmFkZFN0cnVj
dHVyZVNldCk6IEFsbG93IGVtcHR5IHN0cnVjdHVyZSBzZXRzCisgICAgICAgICogZGZnL0RGR0xh
enlOb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMYXp5Tm9kZTo6ZHVtcCk6IFByZXR0aWVy
IGR1bXAKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6
OmNlbGxPcGVyYW5kKTogTW92ZSB0byBvcEluZm8gZm9yIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZh
dGlvbgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1N0cnVjdHVyZVNldCk6IEFkZCBNYXRl
cmlhbGl6ZU5ld09iamVjdAorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Om9iamVjdE1hdGVyaWFs
aXphdGlvbkRhdGEpOiBNb3ZlIHRvIG9wSW5mbzIKKyAgICAgICAgKiBkZmcvREZHT1NSQXZhaWxh
YmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA6IFJlbW92ZSB1bnVzZWQgaGVhZGVyCisgICAgICAgICog
ZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwOiBNYXRlcmlhbGl6ZU5ld09i
amVjdC9NYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24gY2hhbmdlZAorICAgICAgICAoSlNDOjpE
Rkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRG
Rzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6bG93ZXJOb25SZWFkaW5nT3BlcmF0aW9u
c09uUGhhbnRvbUFsbG9jYXRpb25zKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlOjpmaWxsU3RydWN0dXJlU2V0cyk6CisgICAgICAgIChKU0M6OkRGRzo6
T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6Y3JlYXRlTWF0ZXJpYWxpemUpOgorICAgICAg
ICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnBvcHVsYXRlTWF0ZXJp
YWxpemUpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQ
bGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaDogQWRkIGEgaGFzaCBhbmQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpERkc6
OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVyYXRvciBib29sKToKKyAgICAgICAgKEpT
Qzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2g6Omhhc2gpOgorICAgICAgICAo
SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6ZXF1YWwpOgorICAgICAg
ICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpuZWVkZWRGb3JNYXRlcmlh
bGl6YXRpb24pOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKTogQXNzZXJ0IHRoYXQgbW9zdCBub2RlcyBuZXZl
ciBzZWUgYSBwaGFudG9tIGFsbG9jYXRpb24KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwOiAKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxl
TWF0ZXJpYWxpemVOZXdPYmplY3QpOiBVc2UgdGhlIG5ldyBzdHJ1Y3R1cmVTZXQoKSBvcGVyYW5k
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVyaWFs
aXplQ3JlYXRlQWN0aXZhdGlvbik6IE5vZGUgaGFzIGEgbmV3IGNoaWxkCisgICAgICAgICogZnRs
L0ZUTE9TUkV4aXRDb21waWxlci5jcHA6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVzCisg
ICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRp
b25zLmNwcDogSGFuZGxlIG1hdGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6RlRM
OjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVy
YXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0aW9u
cy5oOiBIYW5kbGUgbWF0ZXJpYWxpemF0aW9uIGN5Y2xlcworICAgICAgICAqIHJ1bnRpbWUvT3B0
aW9ucy5oOiBSZW1vdmUgb2xkIEpTQ19lbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZyBhbmQg
YWRkIEpTQ19lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nCisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2NvcnJlY3RseS1zaW5rLW9iamVjdC1ldmVuLXRob3VnaC1pdC1kaWVzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGNsb2JiZXIpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvZWxpbWluYXRlLW9iamVjdC1yZWFkLW92ZXItY2FsbC5qczogQWRkZWQuCisgICAgICAgIChj
bG9iYmVyKToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL21hdGVyaWFs
aXplLW9iamVjdC1vbi1lZGdlLmpzOiBBZGRlZC4KKyAgICAgICAgKGNhbGwpOgorICAgICAgICAo
Zm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LXNpbmtpbmctc3RyZXNzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0
LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKGNsb2JiZXIpOgorICAgICAgICAoZm9vKToKKyAg
ICAgICAgKiB0ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQuanM6IEFkZGVkLgorICAg
ICAgICAoY2xvYmJlcik6CisgICAgICAgIChmb28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9z
aW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxNS0wNy0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMTQyOTYxMz4gW2lPU10gU3RvcCBtYWtpbmcgc3ltbGlua3MgZnJvbSBQ
cml2YXRlRnJhbWV3b3JrcyB0byBGcmFtZXdvcmtzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMDExNjI0Y2I4ZjY3NDcwMWEyN2M3ZDQ4YjdjNmNiOTAwMmZiNDZhNi4uZWE1
ODRiOGM1MzRhZmJiMGM4MDhmYWI4NjM4M2E3MWRiNzhiN2E3OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTI2LDYgKzEyNiw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9T
T1VSQ0VTCiAKICAgICBkZmcvREZHQWJzdHJhY3RIZWFwLmNwcAogICAgIGRmZy9ERkdBYnN0cmFj
dFZhbHVlLmNwcAorICAgIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCiAg
ICAgZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCiAgICAgZGZnL0RGR0FyZ3Vt
ZW50c1V0aWxpdGllcy5jcHAKICAgICBkZmcvREZHQXJpdGhNb2RlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzE2MjI1NGE2Y2U2ZmM3OGM1Y2FiYmJmMDYx
YjFkYzBiYzAyNWNmMS4uYjQ5ODliMmU1ZDMxYzQ1YWIxMTQ3ODE0Y2NhMmNiNDM4ZDk4ZjU4MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC0zNjQsNiArMzY0LDcg
QEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyU2NvcGUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0SGVhcC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQWJzdHJhY3RWYWx1ZS5jcHAi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lu
a2luZ1BoYXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBcmd1bWVudHNVdGlsaXRpZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0FyaXRoTW9kZS5jcHAiIC8+CkBAIC0xMDM3LDYgKzEwMzgsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0VmFsdWUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBZGphY2VuY3lMaXN0LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdG9yLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQW5hbHlzaXMuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1bWVudFBvc2l0aW9uLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5oIiAv
PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IDRkZTE2ZTdjMGMyYzE2NGUyODBkYmJkNjFiMDBjZTgyOWJkOTZiNDYuLjdmYmE1MjQ1YzMy
MThiNTU5NGRjMDFiMzM2MWYwODBiMmExYTExOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmls
dGVycworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE2ODAsNiArMTY4MCw5IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5jcHAi
PgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3Bw
Ij4KKyAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0zMzkx
LDYgKzMzOTQsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRv
ci5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNl
LmgiPgorICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbmFseXNpcy5oIj4KICAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGFkMmY0YzY4OGVkN2Y2ZGY4ODRlOTA1YjZjZGJhNDg5NDVlNmZmMDkuLmQ5MDhmZjdi
NTM3ZWQ0MDhmZTUxN2ZiNjZhZTEwNTliODQ3YzUyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05NjIsNiArOTYyLDggQEAKIAkJNURCQjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8q
IHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEQ4NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLzsg
fTsKIAkJNURCQjE1MjUxMzFEMEJENzAwNTZBRDM2IC8qIG1pbmlkb20uanMgaW4gQ29weSBTdXBw
b3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwRDBB
NDg3ODg3MDA0ODAyNTUgLyogbWluaWRvbS5qcyAqLzsgfTsKIAkJNURFNkU1QjMwRTE3MjhFQzAw
MTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNo
X3RhYmxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTYyNzdDQzIy
MUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI3N0NDMjAxQjNE
RTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi87IH07
CisJCTYyNzdDQzIzMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5n
UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYy
NzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2Uu
aCAqLzsgfTsKIAkJNjJEMkQzOEYxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQz
OEQxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovOyB9OwogCQk2MkQy
RDM5MDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2MkYyQUEzNzFCMEJFREUzMDA2MTBDN0EgLyogREZHTGF6eU5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJBOUEy
OUUxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLzsgfTsKQEAgLTI2NzksNiAr
MjY4MSw4IEBACiAJCTVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAvKiBKU0MueGNjb25maWcgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29u
ZmlnOyBwYXRoID0gSlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
RERERjQ0NjE0RkVFNzIyMDBCNEZCNEQgLyogTExJbnREZXNpcmVkT2Zmc2V0cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludERlc2lyZWRPZmZzZXRzLmg7IHBhdGggPSBM
TEludE9mZnNldHMvTExJbnREZXNpcmVkT2Zmc2V0cy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk1REUzRDBGNDBERDhEREZCMDA0Njg3MTQgLyogV2ViS2l0QXZhaWxh
YmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWlsYWJp
bGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2Mjc3Q0MyMDFCM0RFMjU4MDBE
MTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5j
cHA7IHBhdGggPSBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjI3N0NDMjExQjNERTI1ODAwRDE2RDJFIC8qIERGR0Fs
bG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdBbGxv
Y2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjJBOUEyOUUxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xhenlOb2RlLmNwcDsgcGF0aCA9IGRmZy9ERkdM
YXp5Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyQTlBMjlGMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdMYXp5Tm9kZS5oOyBwYXRoID0gZGZnL0RGR0xhenlOb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyRDJEMzhEMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJh
cmVEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0aW9u
UmFyZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDg1Miw2ICs0ODU2
LDggQEAKIAkJCQkwRjU1QzE5MzE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5j
cHAgKi8sCiAJCQkJMEY2MjAxNkYxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUu
aCAqLywKIAkJCQkwRjY2RTE2ODE0REYzRjEzMDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5o
ICovLAorCQkJCTYyNzdDQzIwMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVT
aW5raW5nUGhhc2UuY3BwICovLAorCQkJCTYyNzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCAqLywKIAkJCQkwRkI0QjUxOTE2QjYyNzcyMDAz
RjY5NkIgLyogREZHQWxsb2NhdG9yLmggKi8sCiAJCQkJQTczNzgxMDkxNzk5RUEyRTAwODE3NTMz
IC8qIERGR0FuYWx5c2lzLmggKi8sCiAJCQkJMEYxRTNBNDMxNTM0Q0JBRDAwMEY5NDU2IC8qIERG
R0FyZ3VtZW50UG9zaXRpb24uaCAqLywKQEAgLTYxMjcsNiArNjEzMyw3IEBACiAJCQkJMEYyQjY2
RTkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjJCNjZFQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JEQUVDQjE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJh
eUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk2Mjc3Q0MyMzFCM0RFMjU4MDBEMTZEMkUg
LyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQxODBFMTZGNUNEMDBCMzQ0NjAgLyogSlNCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjJENERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxNDBEMTdENzBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC03MDg1LDYgKzcwOTIsNyBAQAogCQkJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkz
QyAvKiBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTc3QTQyM0QxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjU1QzE5NDE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk2Mjc3Q0MyMjFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzIx
MTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyRDREREQxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY2Mzk0ODQxNUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qLm9yaWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvai5vcmlnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFkMmY0YzY4OGVkN2Y2ZGY4ODRlOTA1YjZjZGJhNDg5NDVlNmZmMDkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvai5vcmlnCkBAIC0wLDAgKzEsODI1NSBAQAorLy8gISQqVVRGOCokIQorewor
CWFyY2hpdmVWZXJzaW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9
IDQ2OworCW9iamVjdHMgPSB7CisKKy8qIEJlZ2luIFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9u
ICovCisJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovID0gewor
CQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9
IDBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi87CisJCQlidWlsZFBoYXNlcyA9
ICgKKwkJCQkwRjQ2ODBBQTE0QkE3RkQ5MDBCRkUyNzIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3Vy
Y2VzICovLAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk2NTQ0MkQ1MDE4RUJCNzQ0
MDA3QUY5MkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIkxM
SW50IE9mZnNldHMiOworCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsK
KwkJNUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8gPSB7CisJCQlpc2Eg
PSBQQlhBZ2dyZWdhdGVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ2QjJB
NEMxNTJCOUUxNzAwNTIzMURFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdn
cmVnYXRlVGFyZ2V0ICJUZXN0IFRvb2xzIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJKTsK
KwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk1RDZCMkE0RjE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1RDZCMkE1MTE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1RDZCMkE1NTE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIlRlc3QgVG9vbHMiOworCQkJ
cHJvZHVjdE5hbWUgPSAiVGVzdCBUb29scyI7CisJCX07CisJCTY1Nzg4QTlEMThCNDA5RUIwMEMx
ODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLyA9IHsKKwkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRh
cmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA2NTc4OEFBMjE4QjQwOUVCMDBDMTg5
RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9m
ZmxpbmUgQXNzZW1ibGVyIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTY1Nzg4QUEwMThC
NDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlICovLAorCQkJKTsKKwkJCWRlcGVuZGVu
Y2llcyA9ICgKKwkJCQk2NTI0NEJEMzE4RUNCNTAwMDAxMEI3MDggLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCQk2NTc4OEE5RTE4QjQwOUVCMDBDMTg5RkYgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJCXByb2R1
Y3ROYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJfTsKKwkJNjVGQjNGNjYwOUQxMUU5MTAw
RjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRh
cmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA2NUZCM0Y3NzA5RDExRUJEMDBGNDlE
RUIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkRl
cml2ZWQgU291cmNlcyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk2NUZCM0Y2NTA5RDEx
RTkxMDBGNDlERUIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovLAorCQkJCTVEMzVERUUx
MEM3QzE0MEIwMDg2NDhCMiAvKiBHZW5lcmF0ZSBEVHJhY2UgaGVhZGVyICovLAorCQkJKTsKKwkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gIkRlcml2ZWQgU291cmNlcyI7CisJ
CQlwcm9kdWN0TmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOworCQl9OworCQk5MzJGNUJFMzA4MjJB
MUM3MDA3MzY5NzUgLyogQWxsICovID0geworCQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0Owor
CQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzZDMDg5MDJBRkUwMDhBOUVGQyAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLzsK
KwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTVERjdFMUNDMTg4RTZCODcwMDNGOUE0NiAvKiBDb3B5
IGpzYyBpbnRvIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLywKKwkJCSk7CisJCQlkZXBlbmRl
bmNpZXMgPSAoCisJCQkJOTMyRjVCRTcwODIyQTFDNzAwNzM2OTc1IC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkJNUQ2OUU5MTIxNTJCRTU0NzAwMjhENzIwIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkJNUQ2QjJBNTcxNTJCOUUyRTAwNTIzMURFIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEFsbDsKKwkJCXByb2R1Y3ROYW1lID0gQWxsOwor
CQl9OworLyogRW5kIFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBC
WEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTBBNjQ0MTUxOTQyMEE2QzYxQUQxODgyRSAvKiBNYXBE
YXRhSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTkzRDQzQ0NBMEJCRTA2RDg5QzU5NzA3IC8qIE1hcERhdGFJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwMTIzMzIxOTQ0RUEx
QjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMTIzMzAxOTQ0RUExQjAwODQzQTBDIC8qIERGR1Zh
bHVlU3RyZW5ndGguY3BwICovOyB9OworCQkwRjAxMjMzMzE5NDRFQTFCMDA4NDNBMEMgLyogREZH
VmFsdWVTdHJlbmd0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwMTIzMzExOTQ0RUExQjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjAzMzJDMDE4
QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJVFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzMyQkYxOEFERkFFMTAwNUY5NzlBIC8qIEV4
aXRpbmdKSVRUeXBlLmNwcCAqLzsgfTsKKwkJMEYwMzMyQzMxOEIwMTc2MzAwNUY5NzlBIC8qIEdl
dEJ5SWRWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMDMzMkMxMThCMDE3NjMwMDVGOTc5QSAvKiBHZXRCeUlkVmFyaWFudC5jcHAgKi87
IH07CisJCTBGMDMzMkM0MThCMDE3NjMwMDVGOTc5QSAvKiBHZXRCeUlkVmFyaWFudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzMyQzIxOEIwMTc2
MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwMzMyQzYxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdl
aWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYw
MzMyQzUxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMDMzMkM4MThCNTQ2RUMwMDVGOTc5QSAv
KiBGVExXZWlnaHRlZFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYwMzMyQzcxOEI1NDZFQzAwNUY5NzlBIC8qIEZUTFdlaWdodGVkVGFyZ2V0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYw
NDM5NkQxQjAzREMwQjAwOTU5OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwNDM5NkIxQjAzREMwQjAw
OTU5OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovOyB9OworCQkwRjA0Mzk2RTFCMDNE
QzBCMDA5NTk4QjcgLyogREZHQ29tYmluZWRMaXZlbmVzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwNDM5NkMxQjAzREMwQjAwOTU5OEI3IC8qIERG
R0NvbWJpbmVkTGl2ZW5lc3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjA1QzNCNDE2ODNDRjkyMDBCQUY0NUIgLyogREZHQXJyYXlpZnlTbG93
UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwNUMzQjIxNjgzQ0Y4RjAwQkFGNDVCIC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5l
cmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjA3NzZCRjE0RkYwMDJCMDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDc3NkJEMTRGRjAw
MjgwMDEwMjMzMiAvKiBKSVRDb21waWxhdGlvbkVmZm9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMEI4MzlDMTRCQ0Y0NjMwMDg4NUI0RiAv
KiBMTEludFRodW5rcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRUaHVua3MuY3BwICovOyB9
OworCQkwRjBCODM5RDE0QkNGNDY2MDA4ODVCNEYgLyogTExJbnRUaHVua3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4Mzk4MTRCQ0Y0NUEwMDg4
NUI0RiAvKiBMTEludFRodW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMEI4M0E3MTRCQ0Y1MDcwMDg4NUI0RiAvKiBDb2RlVHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQTUxNEJD
RjUwNDAwODg1QjRGIC8qIENvZGVUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwQjgzQTkxNEJDRjU2MjAwODg1QjRGIC8qIEhhbmRsZXJJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBC
ODNBODE0QkNGNTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjBCODNBQjE0QkNGNUJCMDA4ODVCNEYg
LyogRXhwcmVzc2lvblJhbmdlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYwQjgzQUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5n
ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjBCODNCMDE0QkNGNzE2MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0FFMTRCQ0Y3MTQwMDg4
NUI0RiAvKiBDYWxsTGlua0luZm8uY3BwICovOyB9OworCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVC
NEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwQjgzQjkx
NEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNCODE0QkNG
OTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjBDRDRDMjE1RjFB
NjA3MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyogUHV0
RGlyZWN0SW5kZXhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEYwQ0Q0QzQxNUY2QjZCQjAwMzJGMUMwIC8qIFNwYXJzZUFycmF5VmFsdWVN
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYw
Q0Q0QzMxNUY2QjZCNTAwMzJGMUMwIC8qIFNwYXJzZUFycmF5VmFsdWVNYXAuY3BwICovOyB9Owor
CQkwRjBGQzQ1QTE0QkQxNUY1MDBCODExNTQgLyogTExJbnRDYWxsTGlua0luZm8uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEZDNDU4MTRCRDE1RjEw
MEI4MTE1NCAvKiBMTEludENhbGxMaW5rSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMTJERTBGMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNl
cHRpb25GdXp6LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNwcCAqLzsgfTsK
KwkJMEYxMkRFMTAxOTc5RDVGRDAwMDZGRjRFIC8qIEV4Y2VwdGlvbkZ1enouaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTJERTBFMTk3OUQ1RkQwMDA2
RkY0RSAvKiBFeGNlcHRpb25GdXp6LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYxMzZENEQxNzRBRDY5RTAwNzVCMzU0IC8qIERlZmVyR0MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM2RDRCMTc0
QUQ2OUIwMDc1QjM1NCAvKiBEZWZlckdDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxMzkxMjkxNjc3MUMzMzAwOUNDQjA3IC8qIFByb2ZpbGVy
Qnl0ZWNvZGVTZXF1ZW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjEzOTEyNDE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJCeXRlY29kZVNl
cXVlbmNlLmNwcCAqLzsgfTsKKwkJMEYxMzkxMkExNjc3MUMzNjAwOUNDQjA3IC8qIFByb2ZpbGVy
Qnl0ZWNvZGVTZXF1ZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYxMzkxMjUxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1
ZW5jZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGMTM5MTJCMTY3NzFDM0EwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM5MTI2
MTY3NzFDMzAwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNwcCAqLzsgfTsK
KwkJMEYxMzkxMkMxNjc3MUMzRDAwOUNDQjA3IC8qIFByb2ZpbGVyUHJvZmlsZWRCeXRlY29kZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM5MTI3
MTY3NzFDMzAwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxM0UwNEUxNjE2NEEx
RjAwREM4REU3IC8qIEluZGV4aW5nVHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjEzRTA0QzE2MTY0QTFCMDBEQzhERTcgLyogSW5kZXhpbmdU
eXBlLmNwcCAqLzsgfTsKKwkJMEYxNUYxNUYxNEI3QTczRTAwNURFMzdEIC8qIENvbW1vblNsb3dQ
YXRocy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYx
NUYxNUQxNEI3QTczQTAwNURFMzdEIC8qIENvbW1vblNsb3dQYXRocy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMTkwQ0FDMTg5RDgyRjYwMDBB
RTVGMCAvKiBQcm9maWxlckpldHRpc29uUmVhc29uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTkwQ0FBMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9m
aWxlckpldHRpc29uUmVhc29uLmNwcCAqLzsgfTsKKwkJMEYxOTBDQUQxODlEODJGNjAwMEFFNUYw
IC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTkwQ0FCMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9maWxlckpl
dHRpc29uUmVhc29uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYxREQ4NEExOEE5NDVCRTAwMjZGM0ZBIC8qIEpTQ0lubGluZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMUREODQ5MThBOTQ1QkUw
MDI2RjNGQSAvKiBKU0NJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYxRTNBNDYxNTM0Q0JBRjAwMEY5NDU2IC8qIERGR0FyZ3VtZW50
UG9zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMUUzQTQzMTUzNENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxRTNBNDcxNTM0
Q0JCOTAwMEY5NDU2IC8qIERGR0RvdWJsZUZvcm1hdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjFFM0E0NDE1MzRDQkFEMDAwRjk0NTYgLyog
REZHRG91YmxlRm9ybWF0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjFFM0E2NzE1M0EyMUUyMDAwRjk0NTYgLyogREZHU2lsZW50UmVn
aXN0ZXJTYXZlUGxhbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYxRTNBNjUxNTNBMjFERjAwMEY5NDU2IC8qIERGR1NpbGVudFJlZ2lzdGVyU2F2ZVBs
YW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RjFGRTUxQzE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMUZFNTFCMTkyMkEzQkMwMDY5ODdDNSAv
KiBBYm9ydFJlYXNvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGMjBDMjU5MUE4MDEzQUIwMERBMzIyOSAvKiBWaXJ0dWFsUmVnaXN0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMEMyNTgx
QTgwMTNBQjAwREEzMjI5IC8qIFZpcnR1YWxSZWdpc3Rlci5jcHAgKi87IH07CisJCTBGMjFDMjdE
MTRCRTcyN0EwMEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIxQzI3OTE0QkU3MjczMDBBREM2
NEIgLyogQ29kZVNwZWNpYWxpemF0aW9uS2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjFDMjdGMTRCRUFBODIwMEFEQzY0QiAvKiBCeXRl
Y29kZUNvbnZlbnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjIxQzI3RTE0QkVBQTgwMDBBREM2NEIgLyogQnl0ZWNvZGVDb252ZW50aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1
QkQzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQkQxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTEV4aXRBcmd1bWVudC5jcHAgKi87IH07CisJCTBGMjM1QkQ0MTcxNzhFMUMwMDY5MEM3
RiAvKiBGVExFeGl0QXJndW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGMjM1QkJFMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIz
NUJENTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJCRjE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgKi87IH07CisJCTBG
MjM1QkQ2MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDMDE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkQ3MTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExFeGl0QXJndW1lbnRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFy
Z3VtZW50TGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGMjM1QkQ4MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVC
QzIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5jcHAgKi87IH07CisJ
CTBGMjM1QkQ5MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkMzMTcxNzhF
MUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIzNUJEQTE3MTc4RTFDMDA2OTBDN0Yg
LyogRlRMRXhpdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMjM1QkM0MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VmFsdWUuY3BwICov
OyB9OworCQkwRjIzNUJEQjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDNTE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4
aXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
MzVCQzYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwICovOyB9OworCQkwRjIzNUJE
RDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQzcxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9T
UkV4aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjIzNUJERTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGF0aW9uSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQzgx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxhdGlvbkluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIzNUJERjE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkM5MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExP
U1JFeGl0Q29tcGlsZXIuY3BwICovOyB9OworCQkwRjIzNUJFMDE3MTc4RTFDMDA2OTBDN0YgLyog
RlRMT1NSRXhpdENvbXBpbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjIzNUJDQTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
MzVCRTExNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDQjE3MTc4RTFDMDA2OTBDN0YgLyog
RlRMVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEYyMzVCRTIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRo
dW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
MzVCQ0MxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkUzMTcxNzhFMUMwMDY5MEM3RiAv
KiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjIzNUJDRDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVGb3JtYXQuY3Bw
ICovOyB9OworCQkwRjIzNUJFNDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVGb3JtYXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkNFMTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkVCMTcxNzhFNzMwMDY5MEM3RiAvKiBE
RkdPU1JFeGl0QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjIzNUJFNzE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuY3BwICov
OyB9OworCQkwRjIzNUJFQzE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkU4MTcxNzhF
NzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkVEMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdP
U1JFeGl0UHJlcGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYyMzVCRTkxNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJh
dGlvbi5jcHAgKi87IH07CisJCTBGMjM1QkVFMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0
UHJlcGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMjM1QkVBMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0UHJlcGFyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI0MkRB
NzEzRjNCMUU4MDA3QURENEMgLyogV2Vha1JlZmVyZW5jZUhhcnZlc3Rlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNDJEQTUxM0YzQjFCQjAwN0FE
RDRDIC8qIFdlYWtSZWZlcmVuY2VIYXJ2ZXN0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI0RTU0MDE3RUE5RjU5MDBBQkIyMTcgLyogQXNz
ZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMjRFNTNCMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwICov
OyB9OworCQkwRjI0RTU0MTE3RUE5RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTUzQzE3RUE5
RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyNEU1NDIxN0VBOUY1OTAwQUJCMjE3IC8qIEND
YWxsSGVscGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyNEU1M0QxN0VBOUY1OTAwQUJCMjE3IC8qIENDYWxsSGVscGVycy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTQzMTdFQTlGNTkw
MEFCQjIxNyAvKiBGUFJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjI0RTUzRTE3RUE5RjU5MDBBQkIyMTcgLyogRlBSSW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTQ0MTdFQTlG
NTkwMEFCQjIxNyAvKiBHUFJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjI0RTUzRjE3RUE5RjU5MDBBQkIyMTcgLyogR1BSSW5mby5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTRDMTdF
RTI3NDkwMEFCQjIxNyAvKiBKSVRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTQ1MTdFRTI3NDkwMEFCQjIxNyAvKiBKSVRP
cGVyYXRpb25zLmNwcCAqLzsgfTsKKwkJMEYyNEU1NEQxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9w
ZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMjRFNTQ2MTdFRTI3NDkwMEFCQjIxNyAvKiBKSVRPcGVyYXRpb25zLmggKi87IH07CisJCTBG
MjRFNTRGMTdFRTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTQ4MTdFRTI3NDkwMEFCQjIx
NyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjI0RTU1MDE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU0OTE3
RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgKi87IH07CisJCTBGMjRFNTUxMTdFRTI3NDkw
MEFCQjIxNyAvKiBSZXBhdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjI0RTU0QTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5oICovOyB9Owor
CQkwRjI0RTU1MjE3RUUyNzQ5MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU0QjE3
RUUyNzQ5MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi87IH07CisJCTBG
MjRFNTU1MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNEU1NTMxN0YwQjcxQzAw
QUJCMjE3IC8qIElubGluZUNhbGxGcmFtZVNldC5jcHAgKi87IH07CisJCTBGMjRFNTU2MTdGMEI3
MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTU0MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxp
bmVDYWxsRnJhbWVTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjI0RTU1ODE3Rjc0RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU1NzE3
Rjc0RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgKi87IH07CisJCTBGMjU2QzM2MTYy
N0IwQUQwMDdGMjc4MyAvKiBERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVyYXRvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNTZDMzQx
NjI3QjBBQTAwN0YyNzgzIC8qIERGR0NhbGxBcnJheUFsbG9jYXRvclNsb3dQYXRoR2VuZXJhdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
NUYxQUUxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQTcxODE2MzVG
MzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjVGMUFGMTgxNjM1RjMwMDUyMkYz
OSAvKiBGVExJbmxpbmVDYWNoZVNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQTgxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNh
Y2hlU2l6ZS5jcHAgKi87IH07CisJCTBGMjVGMUIwMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxp
bmVDYWNoZVNpemUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMjVGMUE5MTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxpbmVDYWNoZVNpemUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI1RjFCMTE4
MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjVGMUFBMTgxNjM1RjMwMDUyMkYzOSAvKiBG
VExTbG93UGF0aENhbGwuY3BwICovOyB9OworCQkwRjI1RjFCMjE4MTYzNUYzMDA1MjJGMzkgLyog
RlRMU2xvd1BhdGhDYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjI1RjFBQjE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyNUYxQjMx
ODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI1RjFBQzE4MTYzNUYzMDA1MjJGMzkg
LyogRlRMU2xvd1BhdGhDYWxsS2V5LmNwcCAqLzsgfTsKKwkJMEYyNUYxQjQxODE2MzVGMzAwNTIy
RjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQUQxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRo
Q2FsbEtleS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGMkI2NkFDMTdCNkI1M0YwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QTgxN0I2
QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2QUQxN0I2QjU0NTAwQTdBRTNG
IC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QTkxN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5j
b21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGMkI2NkFFMTdCNkI1NDUwMEE3QUUzRiAvKiBHQ0luY29taW5n
UmVmQ291bnRlZFNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYyQjY2QUExN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
QjY2QUYxN0I2QjU0NTAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0SW5saW5lcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QUIx
N0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0SW5saW5lcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkRFMTdC
NkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCMDE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcu
Y3BwICovOyB9OworCQkwRjJCNjZERjE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkIxMTdCNkI1
QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGMkI2NkUwMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlw
ZWRBcnJheVZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkI2NkIyMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlwZWRBcnJheVZpZXcuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZF
MTE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QjMxN0I2QjVB
QjAwQTdBRTNGIC8qIEdlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZFMjE3QjZCNUFCMDBB
N0FFM0YgLyogSlNBcnJheUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZl
ci5jcHAgKi87IH07CisJCTBGMkI2NkUzMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZC
NTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkU0MTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QjYxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTBGMkI2NkU1MTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkI3MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjJCNjZFNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjJCNjZCODE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAgKi87
IH07CisJCTBGMkI2NkU3MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZC
OTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkU4MTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwICovOyB9OworCQkwRjJCNjZFOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlclZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkI2NkJCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkVB
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkJDMTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyog
SlNEYXRhVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjJCNjZCRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5jcHAgKi87IH07CisJ
CTBGMkI2NkVDMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCRTE3QjZCNUFCMDBBN0FFM0Yg
LyogSlNEYXRhVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGMkI2NkVEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2
NkJGMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJ
MEYyQjY2RUUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkMwMTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RUYxN0I2QjVBQjAwQTdBRTNGIC8qIEpT
RmxvYXQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjJCNjZDMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDMyQXJyYXkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZGMDE3QjZC
NUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkMyMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0Zsb2F0
NjRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGMkI2NkYxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QzMx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjIxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkM0MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjMxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNTE3QjZC
NUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJC
NjZGNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNjE3
QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjUxN0I2
QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNzE3QjZCNUFC
MDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZGNjE3QjZCNUFC
MDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDODE3QjZC
NUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2
RjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJ
bnQ4QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRjJCNjZGODE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDQTE3QjZCNUFCMDBB
N0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJh
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2
Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkZBMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2Q0MxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy5jcHAgKi87IH07CisJCTBGMkI2NkZCMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkNEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjJCNjZGQzE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90
eXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjJCNjZDRTE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHAgKi87
IH07CisJCTBGMkI2NkZEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZD
RjE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkZFMTdCNkI1QUIw
MEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQwMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJy
YXlzLmNwcCAqLzsgfTsKKwkJMEYyQjY2RkYxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJh
eXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2
NkQxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY3MDAxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYyQjY2RDIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDhBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzAxMTdC
NkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZEMzE3QjZCNUFCMDBBN0FFM0YgLyog
SlNVaW50OENsYW1wZWRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkI2NzAyMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQxNkFycmF5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZE
NDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzAzMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1VpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjJCNjZENTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MzJBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzA0MTdC
NkI1QUIwMEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZENjE3QjZCNUFCMDBB
N0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwICovOyB9OworCQkwRjJCNjcw
NTE3QjZCNUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQ3MTdCNkI1QUIw
MEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzA2MTdCNkI1QUIwMEE3QUUz
RiAvKiBUeXBlZEFycmF5QWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQ4MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5QWRh
cHRvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjJCNjcwNzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2RDkxN0I2
QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMEYyQjY3
MDgxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZEQTE3QjZCNUFCMDBBN0FF
M0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjcwOTE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRB
cnJheXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkI2NkRCMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5cy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzBBMTdCNkI1QUIwMEE3QUUz
RiAvKiBUeXBlZEFycmF5VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJCNjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUu
Y3BwICovOyB9OworCQkwRjJCNjcwQjE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkRE
MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI5Q0UyMTlEMEJBN0QwMEIxRDFCNSAv
KiBERkdBdmFpbGFiaWxpdHlNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR0F2YWlsYWJpbGl0
eU1hcC5jcHAgKi87IH07CisJCTBGMkI5Q0UzMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFi
aWxpdHlNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMkI5Q0Q3MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFiaWxpdHlNYXAuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCOUNFNDE5RDBC
QTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRDgxOUQwQkE3RDAwQjFE
MUI1IC8qIERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmNwcCAqLzsgfTsKKwkJMEYyQjlDRTUx
OUQwQkE3RDAwQjFEMUI1IC8qIERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEOTE5RDBCQTdEMDBC
MUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCOUNFNjE5RDBCQTdEMDBCMUQxQjUg
LyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEQTE5RDBCQTdEMDBCMUQxQjUgLyog
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgKi87IH07CisJCTBGMkI5Q0U3MTlE
MEJBN0QwMEIxRDFCNSAvKiBERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEQjE5RDBCQTdE
MDBCMUQxQjUgLyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI5Q0U4MTlEMEJBN0Qw
MEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0RDMTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCAqLzsgfTsKKwkJMEYyQjlDRTkx
OUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0REMTlEMEJBN0Qw
MEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRUExOUQwQkE3RDAwQjFE
MUI1IC8qIERGR1BoaUNoaWxkcmVuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5jcHAgKi87IH07CisJCTBGMkI5Q0VCMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlD
REYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1BoaUNoaWxkcmVuLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRUMxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0UwMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQcm9t
b3RlZEhlYXBMb2NhdGlvbi5jcHAgKi87IH07CisJCTBGMkI5Q0VEMTlEMEJBN0QwMEIxRDFCNSAv
KiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRTExOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYyQjlDRjQxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0eVZhbHVl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5
Q0VFMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1ZS5jcHAgKi87IH07CisJ
CTBGMkI5Q0Y1MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRUYxOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0eVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRjYxOUQwQkFDMTAwQjFEMUI1IC8q
IEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFCNSAvKiBG
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi87IH07CisJCTBGMkI5Q0Y3MTlE
MEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRjExOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRjgxOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRjIxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJh
dGlvbnMuY3BwICovOyB9OworCQkwRjJCOUNGOTE5RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
QjlDRjMxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREMxNTE1MUM1RDREMDBDRDg5
MTAgLyogREZHRml4dXBQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJCREMxMjE1MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5j
cHAgKi87IH07CisJCTBGMkJEQzE2MTUxQzVENEYwMENEODkxMCAvKiBERkdGaXh1cFBoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREMxMzE1
MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJEQzIxMTUxRTgwM0IwMENEODkxMCAvKiBE
RkdJbnNlcnRpb25TZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkJEQzFGMTUxRTgwMzgwMENEODkxMCAvKiBERkdJbnNlcnRpb25TZXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREMyQzE1
MUZERTkxMDBDRDg5MTAgLyogT3BlcmFuZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJEQzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJE
QzQ1MTUyMjgwMUIwMENEODkxMCAvKiBERkdNaW5pZmllZEdyYXBoLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREMzRDE1MjI4MDE3MDBDRDg5MTAg
LyogREZHTWluaWZpZWRHcmFwaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkJEQzQ2MTUyMjgwMjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJE
QzNFMTUyMjgwMTcwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREM0ODE1MjI4MDI5MDBDRDg5
MTAgLyogREZHVmFsdWVTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGMkJEQzQwMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJE
QzQ5MTUyMjgwOTYwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREM0MTE1MjI4MDE3MDBDRDg5MTAg
LyogREZHVmFyaWFibGVFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkJEQzRBMTUyMjgwOUEwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2
ZW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkJEQzQyMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmNw
cCAqLzsgfTsKKwkJMEYyQkRDNEIxNTIyODA5RDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRT
dHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkJEQzQzMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQkRDNEQxNTIy
ODE4NjAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREM0QzE1MjI4MTgzMDBDRDg5MTAgLyogREZH
TWluaWZpZWROb2RlLmNwcCAqLzsgfTsKKwkJMEYyQkRDNEYxNTIyOEJGMzAwQ0Q4OTEwIC8qIERG
R1ZhbHVlU291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkJEQzRFMTUyMjhCRTcwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5jcHAgKi87
IH07CisJCTBGMkJEQzUxMTUyMjhGRkQwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJEQzUwMTUy
MjhGRkEwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmNwcCAqLzsgfTsKKwkJMEYyRDREREQx
OTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRDREREIxOTgzMkQzNDAwN0Q0QjE5IC8qIERl
YnVnZ2VyU2NvcGUuY3BwICovOyB9OworCQkwRjJENERERTE5ODMyRDM0MDA3RDRCMTkgLyogRGVi
dWdnZXJTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyRDREREMxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJENERFODE5ODMyREFD
MDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkQ0REU1MTk4MzJEQUMwMDdENEIxOSAvKiBUb1RoaXNTdGF0
dXMuY3BwICovOyB9OworCQkwRjJENERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJENERF
NjE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRDRERUExOTgzMkRBQzAwN0Q0QjE5IC8q
IFR5cGVMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYyRDRERTcxOTgzMkRBQzAwN0Q0QjE5IC8qIFR5cGVMb2NhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkQ0REVCMTk4MzJE
QzQwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRDREREYxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVQ
cm9maWxlckxvZy5jcHAgKi87IH07CisJCTBGMkQ0REVDMTk4MzJEQzQwMDdENEIxOSAvKiBUeXBl
UHJvZmlsZXJMb2cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkQ0REUwMTk4MzJEOTEwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJENERFRjE5ODMy
REQzMDA3RDRCMTkgLyogVHlwZVNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjJENERFMzE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVNldC5jcHAg
Ki87IH07CisJCTBGMkQ0REYwMTk4MzJERDYwMDdENEIxOSAvKiBUeXBlU2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJENERFNDE5ODMyRDkxMDA3
RDRCMTkgLyogVHlwZVNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGMkREODBCMUFCM0Q4NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJERDgwQTFB
QjNEODU4MDBCQkI4RTggLyogQnl0ZWNvZGVLaWxscy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkREODExMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODBDMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEYyREQ4MTIxQUIzRDhCRTAwQkJC
OEU4IC8qIERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyREQ4MTMxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0Fy
Z3VtZW50c1V0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjJERDgwRTFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0
aWVzLmNwcCAqLzsgfTsKKwkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50
c1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkREODE1
MUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyREQ4MTAxQUIzRDhCRTAwQkJCOEU4IC8qIERG
R0ZvckFsbEtpbGxzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYyRTg5MkMxNkQwMjhBRDAwOUU0RkQyIC8qIFVudXNlZFBvaW50ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OTg3RjJGMTY4MjhB
N0UwMDNDMkY4RCAvKiBVbnVzZWRQb2ludGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQyIC8qIERGR01p
bmlmaWVkSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjRCNTEwMTZCM0E5NjQwMDNGNjk2QiAvKiBERkdNaW5pZmllZElELmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkM3NzIxNkUxMkY3MTAw
MzhEOTc2IC8qIERGR0RDRVBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkZDNzcwMTZFMTJGNkYwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5j
cHAgKi87IH07CisJCTBGMkZDNzczMTZFMTJGNzQwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkM3NzExNkUx
MkY2RjAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkNDRjkxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dy
YXBoU2FmZXBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkZDQ0YyMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAg
Ki87IH07CisJCTBGMkZDQ0ZBMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkNDRjMx
OEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkNDRkIxOEE2MDA3MDAwMUEyN0Y4
IC8qIERGR1NhZmVwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjJGQ0NGNDE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmNwcCAq
LzsgfTsKKwkJMEYyRkNDRkMxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkNDRjUxOEE2MDA3
MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGMkZDQ0ZEMThBNjAwNzAwMDFBMjdGOCAvKiBERkdTY2Fu
bmFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkZDQ0Y2MThBNjAwNzAwMDFBMjdGOCAvKiBERkdTY2FubmFibGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJGQ0NGRTE4QTYwMDcwMDAxQTI3
RjggLyogREZHVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJGQ0NGNzE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5j
cHAgKi87IH07CisJCTBGMkZDQ0ZGMThBNjAwNzAwMDFBMjdGOCAvKiBERkdUaHJlYWREYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJGQ0NGODE4
QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzAwQjc4MThBQjA1MTEwMEE2RDcyRSAvKiBE
RkdOb2RlT3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjMwMEI3NzE4QUIwNTExMDBBNkQ3MkUgLyogREZHTm9kZU9yaWdpbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzAwQjdCMThBQjFC
MTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjMwMEI3OTE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuY3BwICovOyB9OworCQkwRjMw
MEI3QzE4QUIxQjE0MDBBNkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzAwQjdBMThB
QjFCMTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzRCMTQ5MTZENDIw
MTAwMDFDREE1QSAvKiBERkdVc2VLaW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5k
LmNwcCAqLzsgfTsKKwkJMEYzNEIxNEExNkQ0MjAxMzAwMUNEQTVBIC8qIERGR1VzZUtpbmQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzRCMTQ4MTZE
NDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzNEIxNEMxNkQ0M0UwRDAwMUNEQTVBIC8qIFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYzNEIxNEIxNkQ0M0UwQzAwMUNEQTVBIC8qIFBvbHltb3JwaGlj
QWNjZXNzU3RydWN0dXJlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMzhCMDExMTdDRjA3ODAwMEIxNDREMyAvKiBMTEludEVudHJ5cG9p
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYz
OEIwMEYxN0NGMDc3RjAwQjE0NEQzIC8qIExMSW50RW50cnlwb2ludC5jcHAgKi87IH07CisJCTBG
MzhCMDEyMTdDRjA3ODMwMEIxNDREMyAvKiBMTEludEVudHJ5cG9pbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzhCMDEwMTdDRjA3N0YwMEIxNDRE
MyAvKiBMTEludEVudHJ5cG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjM4QjAxNzE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRp
b25LZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYzOEIwMTMxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmNwcCAqLzsgfTsK
KwkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4QjAxNDE3Q0ZFNzU1
MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25LZXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjM4QjAxOTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZH
Q29tcGlsYXRpb25Nb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMzhCMDE1MTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbk1vZGUu
Y3BwICovOyB9OworCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25N
b2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4
QjAxNjE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzQTFCRjkxQTlFQ0I3RDAw
MERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0ExQkY3MUE5RUNCN0QwMDBERTAxQSAvKiBE
RkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHAgKi87IH07CisJCTBGM0ExQkZBMUE5RUNCN0QwMDBE
RTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzQTFCRjgxQTlFQ0I3RDAwMERFMDFBIC8qIERGR1B1
dFN0YWNrU2lua2luZ1BoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEYzQUM3NTIxODNFQTEwNDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNBQzc1
MTE4M0VBMTA0MDAzMjAyOUYgLyogU3RhY2tBbGlnbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjNBQzc1NDE4OEU1RUM4MDAzMjAyOUYg
LyogRXhpdGluZ0pJVFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGM0FDNzUzMTg4RTVFQzgwMDMyMDI5RiAvKiBFeGl0aW5nSklUVHlwZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGM0IzQTFB
MTUzRTY4RjIwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNCM0ExNzE1M0U2OEVGMDAz
RUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRjNCM0ExQjE1
M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0IzQTE4MTUzRTY4RUYwMDNFRDBG
RiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGM0IzQTI3MTU0NEM5OTUwMDNFRDBGRiAvKiBERkdD
RkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI0MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlm
aWNhdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEYzQjNBMjgxNTQ0Qzk5NzAwM0VEMEZGIC8qIERG
R0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI1MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlm
aWNhdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYzQjNBMkIxNTQ3NTAwMDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI5MTU0NzRG
RjQwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAgKi87IH07CisJCTBGM0IzQTJDMTU0NzUwMDIw
MDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzQjdF
MkExOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAvKiBD
YWxsVmFyaWFudC5jcHAgKi87IH07CisJCTBGM0I3RTJCMTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxs
VmFyaWFudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzRDBCQkMxOTRBNDE0MzAwRkM5
Q0Y5IC8qIENvbnN0YW50U3RydWN0dXJlQ2hlY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzRDBCQkExOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0
YW50U3RydWN0dXJlQ2hlY2suY3BwICovOyB9OworCQkwRjNEMEJCRDE5NEE0MTQzMDBGQzlDRjkg
LyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYzRDBCQkIxOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0YW50U3Ry
dWN0dXJlQ2hlY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjNFMDFBQTE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNFMDFB
ODE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5jcHAgKi87IH07CisJCTBG
M0UwMUFCMTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNFMDFBOTE5RDM1M0E1MDBG
NjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNDI2QTQ4MTQ2MENCQjMwMDEzMUY4RiAvKiBWYWx1
ZVJlY292ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVyeS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNDI2QTQ5MTQ2MENCQjcw
MDEzMUY4RiAvKiBWaXJ0dWFsUmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDI2QTQ2MTQ2MENCQUIwMDEzMUY4RiAvKiBWaXJ0dWFsUmVn
aXN0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0MjZBNEExNDYwQ0Q2QjAwMTMxRjhG
IC8qIERhdGFGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjQzMTczODE0NkJBQzY5MDA3RTM4OTAgLyogTGlzdGFibGVIYW5kbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQzMTczNjE0
NkJBQzY1MDA3RTM4OTAgLyogTGlzdGFibGVIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwODIxNEJBNTcyRDAwQkZFMjcyIC8q
IEpJVEV4Y2VwdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNDY4MDgwMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwODMxNEJB
NTczMTAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8qIEpJVEV4
Y2VwdGlvbnMuY3BwICovOyB9OworCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRF
eGNlcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQ2ODA5RTE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwQTQxNEJBN0Y4
RDAwQkZFMjcyIC8qIExMSW50U2xvd1BhdGhzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDY4MDlGMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludFNs
b3dQYXRocy5jcHAgKi87IHNldHRpbmdzID0ge0NPTVBJTEVSX0ZMQUdTID0gIi1Xbm8tdW51c2Vk
LXBhcmFtZXRlciI7IH07IH07CisJCTBGNDY4MEE1MTRCQTdGOEQwMEJGRTI3MiAvKiBMTEludFNs
b3dQYXRocy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY0NjgwQTAxNEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50U2xvd1BhdGhzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwQTgxNEJBN0ZBQjAw
QkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODA5RDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRFeGNl
cHRpb25zLmNwcCAqLzsgfTsKKwkJMEY0NjgwQ0ExNEJCQjE2QzAwQkZFMjcyIC8qIExMSW50Q29t
bW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2
ODBDNTE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjQ2ODBDQjE0QkJCMTcyMDBCRkUyNzIg
LyogTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODBDNjE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRPZmZsaW5l
QXNtQ29uZmlnLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY0NjgwQ0MxNEJCQjE3QTAwQkZFMjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwQzcx
NEJCQjE2OTAwQkZFMjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3BwICovOyB9OworCQkwRjQ2
ODBDRDE0QkJCMTdEMDBCRkUyNzIgLyogTG93TGV2ZWxJbnRlcnByZXRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwQzgxNEJCQjE2OTAwQkZF
MjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRjQ2ODBEMjE0QkJEMTY1MDBCRkUyNzIgLyogTExJbnRE
YXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NDY4MENFMTRCQkIzRDEwMEJGRTI3MiAvKiBMTEludERhdGEuY3BwICovOyB9OworCQkwRjQ2ODBE
MzE0QkJEMTY3MDBCRkUyNzIgLyogTExJbnREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODBDRjE0QkJCM0QxMDBCRkUyNzIgLyogTExJbnRE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MEY0NjgwRDQxNEJCRDI0OTAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwRDAxNEJCQzVG
ODAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwICovOyB9OworCQkwRjQ2ODBENTE0
QkJEMjRCMDBCRkUyNzIgLyogSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwRDExNEJCQzVGODAwQkZFMjcyIC8q
IEhvc3RDYWxsUmV0dXJuVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjQ4NTMyMTE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2Rl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1
MzFGMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuY3BwICovOyB9OworCQkwRjQ4NTMy
MjE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4NTMyMDE4Nzc1MDU2MDA4M0I2ODcgLyogREZH
QXJpdGhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY0ODUzMjcxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1MzIz
MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgKi87IH07CisJCTBG
NDg1MzI4MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUzMjQxODdERkRFQzAw
ODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZU
TFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNDg1MzI1MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5j
cHAgKi87IH07CisJCTBGNDg1MzJBMTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29k
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUz
MjYxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1
MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNDkzQUY4MTZEMENBRDEwMDg0NTA4QiAvKiBTb3VyY2VQcm92aWRl
ci5jcHAgKi87IH07CisJCTBGNEI5NERDMTdCOUYwNzUwMEREMDNBNCAvKiBUeXBlZEFycmF5SW5s
aW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0
Qjk0REIxN0I5RjA3NTAwREQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0Q0VENUUxOENFQTdBQjAw
ODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0Q0VENUMxOENFQTdBQjAwODAyRkUwIC8qIFBv
bHltb3JwaGljR2V0QnlJZExpc3QuY3BwICovOyB9OworCQkwRjRDRUQ1RjE4Q0VBN0FCMDA4MDJG
RTAgLyogUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0Q0VENUQxOENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3Jw
aGljR2V0QnlJZExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjRGMjlERjE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhlY3V0aW9u
Q291bnRFc3RpbWF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY0RjI5REQxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1
dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEY0RjI5RTAxOEI2QUQxQzAw
NTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRGMjlERTE4QjZBRDFD
MDA1N0JDMTUgLyogREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjUwQUYzQzE5
M0U4QjM5MDA2NzRFRTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjUwQUYzQjE5M0U4QjM5MDA2NzRF
RTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NTQxQjExNjEzQzFGQjAwQ0UzRTI1IC8qIFNw
ZWNpYWxQb2ludGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNTU0MUFGMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAgKi87
IH07CisJCTBGNTU0MUIyMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NTQxQjAxNjEzQzFG
QjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NTk4OTgxN0M4NkM1ODAwQTFFNTQzIC8qIFRvTmF0
aXZlRnJvbVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjU1OTg5NzE3Qzg2QzU2MDBBMUU1NDMgLyogVG9OYXRpdmVGcm9tVmFsdWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjU1QzE5NDE3
Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU1QzE5MzE3Mjc2RTQ2MDBDRUFCRkQgLyog
REZHQWJzdHJhY3RWYWx1ZS5jcHAgKi87IH07CisJCTBGNTVGMEY0MTREMTA2MzkwMEFDNzY0OSAv
KiBBYnN0cmFjdFBDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNTVGMEYxMTREMTA2MzYwMEFDNzY0OSAvKiBBYnN0cmFjdFBDLmNwcCAqLzsgfTsK
KwkJMEY1NUYwRjUxNEQxMDYzQzAwQUM3NjQ5IC8qIEFic3RyYWN0UEMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTVGMEYyMTREMTA2MzYwMEFDNzY0
OSAvKiBBYnN0cmFjdFBDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEY1NkExRDMxNTAwMEYzNTAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTZBMUQx
MTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NkExRDUxNTAwMUNGNDAwMjk5MkIx
IC8qIEV4ZWN1dGlvbkNvdW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50
ZXIuY3BwICovOyB9OworCQkwRjU3MkQ0RjE2ODc5RkREMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTcy
RDREMTY4NzlGREIwMEU1N0ZCRCAvKiBUaHVua0dlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNTc4MEEyMThGRTFFOTgwMDFFNzJE
OSAvKiBQdXJlTmFOLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjU3ODBBMTE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNTg3NEVEMTk0RkVCMTIwMEFB
QjJDMSAvKiBERkdNYXlFeGl0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTg3NEVCMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmNwcCAq
LzsgfTsKKwkJMEY1ODc0RUUxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTg3NEVDMTk0RkVCMTIw
MEFBQjJDMSAvKiBERkdNYXlFeGl0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEY1QTEyNzMxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVBMTI3
MTE5MkQ5RkRGMDA4NzY0QTMgLyogREZHRG9lc0dDLmNwcCAqLzsgfTsKKwkJMEY1QTEyNzQxOTJE
OUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY1QTEyNzIxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNUE1
MkQwMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9rZW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNUE1MkNGMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5
VG9rZW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjVBNjI4MzE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVBNjI4MTE4OEM5OEQ0MDA3
MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgKi87IH07CisJCTBGNUE2Mjg0MTg4Qzk4RDQwMDcy
QzlERiAvKiBGVExWYWx1ZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjVBNjI4MjE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNUVG
OTFFMTY4NzhGN0EwMDNFNUMyNSAvKiBKSVRUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1RUY5MUIxNjg3OEY3ODAwM0U1QzI1IC8qIEpJ
VFRodW5rcy5jcHAgKi87IH07CisJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMyNSAvKiBKSVRUaHVu
a3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNUVG
OTFDMTY4NzhGNzgwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjVGMDhDRjE0NkM3NjMzMDAwNDcyQTkgLyog
VW5jb25kaXRpb25hbEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1RjA4Q0UxNDZDNzYyRjAwMDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxG
aW5hbGl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRjYyMDE3NDE0M0ZDRDMzMDA2OEI3N0MgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYyMDE3MjE0
M0ZDRDJGMDA2OEI3N0MgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2MjAxNzYxNDNGQ0QzQjAwNjhC
NzdDIC8qIERGR0Jhc2ljQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNjIwMTcwMTQzRkNEMkYwMDY4Qjc3QyAvKiBERkdCYXNpY0Jsb2NrLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2MjAx
NzcxNDNGQ0QzRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjIwMTZGMTQzRkNEMkYwMDY4Qjc3QyAv
KiBERkdBYnN0cmFjdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY2MjM3OTcxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNl
cnRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjYyMzc5NTFBRTQ1Q0E3MDBENDAyRUEgLyogREZHUGhhbnRvbUluc2VydGlvblBoYXNl
LmNwcCAqLzsgfTsKKwkJMEY2MjM3OTgxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNl
cnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2MjM3OTYxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25QaGFzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5
NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQzRDE1Qzc1RjE0
MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5NDQwMTVDNzVGMUQwMDZBNTk3
QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAvKiBERkdU
eXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCAqLzsgfTsKKwkJMEY2Mzk0NTQxNUQwNzA1NTAwNkE1
OTdDIC8qIEFycmF5UHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjYzOTQ1MTE1RDA3MDUxMDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNw
cCAqLzsgfTsKKwkJMEY2Mzk0NTUxNUQwNzA1NzAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2Mzk0NTIxNUQw
NzA1MTAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjYzOTQ3NjE1RENFMzQ3MDA2QTU5N0MgLyogREZHU3RydWN0dXJlQWJz
dHJhY3RWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGNjM5NDg0MTVFNDgxMTgwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2Mzk0ODExNUU0ODEx
NDAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgKi87IH07CisJCTBGNjM5NDg1MTVFNDgxMUIw
MDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjY0
QjI3MTFBNzg0QkFGMDA2RTRFNjYgLyogQmluYXJ5U3dpdGNoLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjRCMjZGMUE3ODRCQUYwMDZFNEU2NiAv
KiBCaW5hcnlTd2l0Y2guY3BwICovOyB9OworCQkwRjY0QjI3MjFBNzg0QkFGMDA2RTRFNjYgLyog
QmluYXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjY0QjI3MDFBNzg0QkFGMDA2RTRFNjYgLyogQmluYXJ5U3dpdGNoLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2NEIyNzkxQTc5NTdC
MjAwNkU0RTY2IC8qIENhbGxFZGdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNjRCMjc3MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5jcHAg
Ki87IH07CisJCTBGNjRCMjdBMUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NEIyNzgxQTc5NTdCMjAw
NkU0RTY2IC8qIENhbGxFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY2NjZFQzAxODM1NjZGOTAwRDAxN0YxIC8qIEJ5dGVjb2RlTGl2ZW5l
c3NBbmFseXNpc0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNjY2RUJFMTgzNTY2RjkwMEQwMTdGMSAvKiBCeXRlY29kZUxpdmVuZXNzQW5h
bHlzaXNJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEY2NjZFQzExODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2NkVC
RjE4MzU2NkY5MDBEMDE3RjEgLyogRnVsbEJ5dGVjb2RlTGl2ZW5lc3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjY2NkVDNjE4MzU2NzJCMDBE
MDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjY2RUMyMTgzNTY3MkIwMEQwMTdGMSAvKiBERkdBdmFpbGFi
aWxpdHkuY3BwICovOyB9OworCQkwRjY2NkVDNzE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxh
YmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjY2NkVDMzE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2NkUxNkIxNERGM0YxNjAw
QjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2Vu
Y3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY5MTRERjNGMTMwMEI3QjJFNCAv
KiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY2ODJGQjIxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2ODJGQjAxOUJD
QjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuY3BwICovOyB9OworCQkwRjY4MkZCMzE5
QkNCMzY0MDBGQTNCQUQgLyogREZHU1NBQ2FsY3VsYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2ODJGQjExOUJDQjM2NDAwRkEzQkFEIC8qIERG
R1NTQUNhbGN1bGF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjY5Q0M4ODE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2OUNDODYx
OTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmNwcCAqLzsgfTsKKwkJMEY2OUNDODkx
OTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZH
RnJvemVuVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjZCMUNCNTE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0IzMTg1RkM5RTkw
MDg0NUQ5NyAvKiBGVExKU0NhbGwuY3BwICovOyB9OworCQkwRjZCMUNCNjE4NUZDOUU5MDA4NDVE
OTcgLyogRlRMSlNDYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjZCMUNCNDE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQjkxODYxMjQ0
QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCNzE4NjEyNDRDMDA4NDVEOTcgLyogQXJpdHlDaGVj
a01vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCODE4
NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQkQxODYxMjQ2QTAw
ODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCQjE4NjEyNDZB
MDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCAqLzsg
fTsKKwkJMEY2QjFDQkUxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3Jh
cHBlckdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2QjFDQkMxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3Jh
cHBlckdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIx
Q0JGMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCAqLzsgfTsKKwkJ
MEY2QjFDQzQxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0MwMTg2MkM0Nzgw
MDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQzUxODYyQzQ3ODAwODQ1RDk3IC8qIEZU
TFVud2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2QjFDQzExODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwICovOyB9
OworCQkwRjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQzIxODYyQzQ3ODAw
ODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRjZCMUNDOTE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVj
a0ZhaWxSZXR1cm5UaHVua3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2QjFDQzcxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0
dXJuVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEY2QjFDQ0ExODY0MURGODAwODQ1RDk3IC8qIEFyaXR5
Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxS
ZXR1cm5UaHVua3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjZDNzM1MDFBQzlGOTlGMDBCRTE2ODIgLyogVmFyaWFibGVXcml0ZUZpcmVEZXRh
aWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2
QzczNEUxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmNwcCAqLzsg
fTsKKwkJMEY2QzczNTExQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWls
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZDNzM0
RjFBQzlGOTlGMDBCRTE2ODIgLyogVmFyaWFibGVXcml0ZUZpcmVEZXRhaWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjZFODQ1QTE5MDMwQkVG
MDA1NjI3NDEgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkU4NDU5MTkwMzBCRUYwMDU2Mjc0MSAvKiBE
RkdWYXJpYWJsZUFjY2Vzc0RhdGEuY3BwICovOyB9OworCQkwRjZGQzc1MDE5NjExMEE4MDBFMUQw
MkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjZGQzc0RTE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0
YXR1cy5jcHAgKi87IH07CisJCTBGNkZDNzUxMTk2MTEwQTgwMEUxRDAyRCAvKiBDb21wbGV4R2V0
U3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjZGQzc0RjE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNzAyNUE5MTcxNEIwRkEw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8q
IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgKi87IH07CisJCTBGNzAyNUFBMTcxNEIwRkMw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJv
cGFnYXRpb25QaGFzZS5jcHAgKi87IH07CisJCTBGNzE0Q0E1MTZFQTkyRjIwMEYzRUJFQiAvKiBE
RkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcxNENBMjE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGNzQzQkFBMTZCODgyNDkwMDlGOTI3NyAvKiBBUk02NERpc2Fzc2Vt
Ymxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTJBM0EyMDE2NTFDNjYxMDBBODBBRkUgLyogQVJNNjREaXNhc3NlbWJsZXIuY3BwICovOyB9Owor
CQkwRjc1NzZEMjE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NTc2
RDAxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJVFN0dWJSb3V0aW5lLmNwcCAqLzsg
fTsKKwkJMEY3NTc2RDMxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJVFN0dWJSb3V0
aW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjc1
NzZEMTE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjc2NkQyODE1
QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMjYxNUE4Q0MxQjAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lLmNwcCAqLzsgfTsKKwkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lU2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzY2RDI5MTVBOENDMzQwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZVNldC5j
cHAgKi87IH07CisJCTBGNzY2RDJDMTVBOENDM0EwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZVNl
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZE
MkExNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3NjZEMkYxNUE4RENFMDAwOEYz
NjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjc2NkQyRDE1QThEQ0REMDA4RjM2M0UgLyogR0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lLmNwcCAqLzsgfTsKKwkJMEY3NjZEMzAxNUE4RENFMjAwOEYzNjNFIC8q
IEdDQXdhcmVKSVRTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY3NjZEMkUxNUE4RENERDAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHVi
Um91dGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGNzY2RDMxMTVBQTgxMTIwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMUMxNUE1MDI4RDAw
OEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3NjZEMzgxNUFFNEExQzAwOEYzNjNFIC8qIFN0cnVjdHVy
ZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMzYxNUFFNEExQTAwOEYzNjNFIC8qIFN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwICovOyB9OworCQkwRjc2NkQzOTE1QUU0QTFGMDA4RjM2
M0UgLyogU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMzcxNUFFNEExQTAwOEYzNjNFIC8q
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjc3MDA5MjE0MDJGRjNDMDA3OEVCMzkgLyog
U2FtcGxpbmdDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzcwMDkxMTQwMkZGMjgwMDc4RUIzOSAvKiBTYW1wbGluZ0NvdW50ZXIuY3Bw
ICovOyB9OworCQkwRjc5MDg1NTE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVnaXN0
cmF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY3OTA4NTMxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVjdHVyZVJlZ2lzdHJhdGlv
blBoYXNlLmNwcCAqLzsgfTsKKwkJMEY3OTA4NTYxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVj
dHVyZVJlZ2lzdHJhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjc5MDg1NDE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjdCMjk0QjE0QzNDRDJGMDA3QzNEQjEgLyogREZHQ2FwYWJpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MkUxRjE0
MTcyQzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3QjI5NEQxNEMzQ0Q0QzAwN0MzREIxIC8q
IERGR0NvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDMDk3N0UxNDY5RUJDNDAwQ0YyNDQyIC8qIERGR0NvbW1vbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGODAyM0VBMTYxMzgzMkIwMEEw
QkE0NSAvKiBCeVZhbEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGODAyM0U5MTYxMzgzMjMwMEEwQkE0NSAvKiBCeVZhbEluZm8uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjgzMzVCNzE2MzlD
MUU2MDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjgzMzVCNDE2MzlDMUUzMDAxNDQzQjUg
LyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi87IH07CisJCTBGODMzNUI4MTYzOUMxRUEw
MDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjgzMzVCNTE2MzlDMUUzMDAxNDQzQjUgLyogQXJy
YXlBbGxvY2F0aW9uUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJl
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
ODM2NEI1MTY0QjBDMEUwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjg4NUUxMTE4NDlBM0JF
MDBGMUUzRkEgLyogQnl0ZWNvZGVVc2VEZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGODg1RTEwMTg0OUEzQkUwMEYxRTNGQSAvKiBCeXRlY29kZVVz
ZURlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGODkzQkRCMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODkzQkRB
MTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcCAqLzsgfTsK
KwkJMEY4OThGMzExQjI3Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlv
blBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGODk4RjJGMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25Q
aGFzZS5jcHAgKi87IH07CisJCTBGODk4RjMyMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2Vy
UmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY4OThGMzAxQjI3Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5n
ZU9wdGltaXphdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY4RjE0MzMxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEYxNDJGMUFE
RjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5jcHAgKi87IH07CisJCTBGOEYxNDM0MUFERjA5MDEw
MEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY4RjE0MzAxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY4RjE0MzUxQURG
MDkwMTAwRUQ3OTJDIC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjE0MzExQURGMDkwMTAwRUQ3OTJD
IC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwICovOyB9OworCQkwRjhGMTQzNjFBREYwOTAx
MDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjE0MzIxQURGMDkwMTAwRUQ3OTJDIC8qIERG
R01vdkhpbnRSZW1vdmFsUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjhGMkI5NTE3MkUwNEEwMDA3REJEQTUgLyogRlRMTGluay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhGMkI5MzE3
MkUwNDlFMDA3REJEQTUgLyogRlRMTGluay5jcHAgKi87IH07CisJCTBGOEYyQjk2MTcyRTA0QTMw
MDdEQkRBNSAvKiBGVExMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjhGMkI5NDE3MkUwNDlFMDA3REJEQTUgLyogRlRMTGluay5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOEYyQjk5MTcyRjA0
RkYwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjJCOTcxNzJGMDRGRDAwN0RCREE1IC8q
IERGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAgKi87IH07CisJCTBGOEYyQjlBMTcyRjA1MDEwMDdE
QkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEYyQjk4MTcyRjA0RkQwMDdEQkRBNSAvKiBERkdEZXNp
cmVkSWRlbnRpZmllcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjhGMkI5RTE3MzA2QzhEMDA3REJEQTUgLyogU291cmNlQ29kZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhGMkI5RDE3MzA2
QzhCMDA3REJEQTUgLyogU291cmNlQ29kZS5jcHAgKi87IH07CisJCTBGOEY5NDNDMTY2NzYzMTMw
MEQ2MTk3MSAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEY5NDNBMTY2NzYzMTEwMEQ2MTk3MSAvKiBD
b2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcCAqLzsgfTsKKwkJMEY4Rjk0NDAxNjY3NjMzMDAwRDYx
OTcxIC8qIENvZGVCbG9ja0hhc2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY4Rjk0M0QxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2gu
Y3BwICovOyB9OworCQkwRjhGOTQ0MTE2Njc2MzMyMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4Rjk0M0Ux
NjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjhGOTQ0MjE2Njc2MzM1MDBENjE5NzEgLyog
Q29kZVR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY4Rjk0M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLzsgfTsKKwkJMEY4
Rjk0NDQxNjY3NjM1NDAwRDYxOTcxIC8qIEpJVENvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4Rjk0NDMxNjY3NjM1MjAwRDYxOTcxIC8qIEpJ
VENvZGUuY3BwICovOyB9OworCQkwRjhGOTQ0NjE2Njc2NEYxMDBENjE5NzEgLyogQ29kZU9yaWdp
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhG
OTQ0NTE2Njc2NEVFMDBENjE5NzEgLyogQ29kZU9yaWdpbi5jcHAgKi87IH07CisJCTBGOTE5RDBD
MTU3RUUwOUYwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDA5MTU3RUUwOUQwMDRBNEU3
RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCAqLzsgfTsKKwkJMEY5MTlEMEQxNTdFRTBBMjAw
NEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDBBMTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5bWJv
bFRhYmxlT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3Bw
ICovOyB9OworCQkwRjkxOUQxMTE1N0YzMzJDMDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjkxOUQy
NTE1ODUzQ0UwMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkxOUQyMjE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0
Y2hwb2ludC5jcHAgKi87IH07CisJCTBGOTE5RDI2MTU4NTNDRTMwMDRBNEU3RCAvKiBXYXRjaHBv
aW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkx
OUQyMzE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTE5RDI4MTU4NTY3NzMwMDRBNEU3RCAv
KiBTeW1ib2xUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3BwICovOyB9
OworCQkwRjkzMzI5RDE0Q0E3REMzMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MzMyOTMxNENBN0RD
MTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCAqLzsgfTsKKwkJMEY5MzMyOUUxNENBN0RD
NTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtT
dGF0dXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjkzMzI5RjE0Q0E3RENBMDA4NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzMzI5NTE0Q0E3REMxMDA4
NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5jcHAgKi87IH07CisJCTBGOTMzMkEwMTRDQTdEQ0QwMDg1
RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjkzMzI5NjE0Q0E3REMxMDA4NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTMz
MkEzMTRDQTdERDcwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAv
KiBQdXRCeUlkU3RhdHVzLmNwcCAqLzsgfTsKKwkJMEY5MzMyQTQxNENBN0REOTAwODVGM0M2IC8q
IFB1dEJ5SWRTdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTMzMjlBMTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY5MzMyQTUxNENB
N0RERDAwODVGM0M2IC8qIFN0cnVjdHVyZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MzMyOUIxNENBN0RDMTAwODVGM0M2IC8qIFN0cnVjdHVy
ZVNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGOTNCNEE5MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzQjRBNzE4QjkyQzREMDAx
NzhBM0YgLyogUHV0QnlJZFZhcmlhbnQuY3BwICovOyB9OworCQkwRjkzQjRBQTE4QjkyQzREMDAx
NzhBM0YgLyogUHV0QnlJZFZhcmlhbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGOTNCNEE4MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
OTYzQjM4MTNGQzZGRTkwMDAyRDlCMiAvKiBWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTYzQjM2MTNGQzZGREUwMDAyRDlCMiAv
KiBWYWx1ZVByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjk2RUJCMzE2Njc2RUY2MDA4QkFERTMgLyogQ29kZUJsb2NrV2l0aEpJVFR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTZF
QkIxMTY2NzZFRjQwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTc0OTcxMTY4N0FERTQw
MEE0RkY2QSAvKiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjk3NDk2RjE2ODdBREUyMDBBNEZGNkEgLyogSlNDZWxsSW5saW5l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
OTc4QjNCMUFBRUE3MUQwMDdDNzM2OSAvKiBDb25zdGFudE1vZGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5NzhCM0ExQUFFQTcxRDAwN0M3MzY5
IC8qIENvbnN0YW50TW9kZS5jcHAgKi87IH07CisJCTBGOTgyMDYwMTZCRkUzODEwMDI0MEQwMiAv
KiBQcmVjaXNlSnVtcFRhcmdldHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY5ODIwNUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgKi87IH07CisJCTBGOTgyMDYxMTZCRkUzODMwMDI0MEQwMiAvKiBQcmVjaXNlSnVt
cFRhcmdldHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGOTgyMDVFMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjlDNUU1RTE4RTM1
RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlDNUU1QzE4RTM1RjVFMDBENDMxQzMgLyogRlRM
RFdBUkZSZWdpc3Rlci5jcHAgKi87IH07CisJCTBGOUM1RTVGMThFMzVGNUUwMEQ0MzFDMyAvKiBG
VExEV0FSRlJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjlDNUU1RDE4RTM1RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOUQzMzcw
MTY1REJCOTAwMDVBRDM4NyAvKiBEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RDMzNkUxNjVEQkI4RDAwNUFEMzg3IC8qIERp
c2Fzc2VtYmxlci5jcHAgKi87IH07CisJCTBGOUQzMzk2MTdGRkM0RTYwMDczQzJCQyAvKiBERkdG
bHVzaGVkQXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY5RDMzOTQxN0ZGQzRFNjAwNzNDMkJDIC8qIERGR0ZsdXNoZWRBdC5jcHAgKi87IH07CisJ
CTBGOUQzMzk3MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUQzMzk1MTdGRkM0RTYwMDczQzJC
QyAvKiBERkdGbHVzaGVkQXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjlEMzM5QTE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUQzMzk4
MTgwM0FEQjcwMDczQzJCQyAvKiBGVExTdGFja01hcHMuY3BwICovOyB9OworCQkwRjlEMzM5QjE4
MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlEMzM5OTE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3Rh
Y2tNYXBzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMEY5RDM2OTQxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlEMzY5MjFBRTlDQzMz
MDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmNwcCAqLzsgfTsKKwkJMEY5RDM2OTUxQUU5Q0Mz
MzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RDM2OTMxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFu
VXBQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGOUUzMjYzMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjlFMzI2MTFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2Uu
Y3BwICovOyB9OworCQkwRjlFMzI2NDFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVy
SW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOUUzMjYyMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUZCNEYyMTdG
Q0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmNwcCAqLzsgfTsKKwkJMEY5RkI0
RjUxN0ZDQjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUZCNEYzMTdGQ0I5MTcwMENCNjdG
OCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY5RkM4QzMxNEUxQjVGRTAwRDUyQUUwIC8qIFBvbHltb3Jw
aGljUHV0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExp
c3QuY3BwICovOyB9OworCQkwRjlGQzhDNDE0RTFCNjAwMDBENTJBRTAgLyogUG9seW1vcnBoaWNQ
dXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY5RkM4QzAxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjlGQzhD
NTE0RTFCNjA0MDBENTJBRTAgLyogUHV0S2luZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RkM4QzExNEUxQjVGQjAwRDUyQUUwIC8qIFB1dEtpbmQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkEy
QzE3QjE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTJDMTc5MTdEN0NGODQwMDlEMDE1
RiAvKiBUZXN0UnVubmVyVXRpbHMuY3BwICovOyB9OworCQkwRkEyQzE3QzE3RDdDRjg0MDA5RDAx
NUYgLyogVGVzdFJ1bm5lclV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkEyQzE3QTE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZB
NTgxQkExNTBFOTUyQzAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE1ODFCNzE1MEU5NTJBMDBCOUEyRDkg
LyogREZHTm9kZUZsYWdzLmNwcCAqLzsgfTsKKwkJMEZBNTgxQkIxNTBFOTUzMDAwQjlBMkQ5IC8q
IERGR05vZGVGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZBNTgxQjgxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQTU4MUJDMTUwRTk1
MzAwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZBNTgxQjkxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVUeXBl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZB
N0E4RUIxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE3QThFOTE4QjQxM0M4MDA1MjM3MUQgLyogUmVnLmNw
cCAqLzsgfTsKKwkJMEZBN0E4RUMxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBN0E4RUExOEI0MTNDODAwNTIz
NzFEIC8qIFJlZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGQTdBOEVFMThDRTRGRDgwMDUyMzcxRCAvKiBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZB
N0E4RUQxOENFNEZEODAwNTIzNzFEIC8qIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAgKi87
IH07CisJCTBGQUEzRTA5MTlEMEMyQ0IwMEZBQzlFMiAvKiBERkdQcm9tb3RlSGVhcEFjY2Vzcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBQTNFMDgx
OUQwQzJDQjAwRkFDOUUyIC8qIERGR1Byb21vdGVIZWFwQWNjZXNzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZBRjdFRkQxNjVCQTkxQjAwMEM4
NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkFGN0VGQTE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1i
bGVyLmNwcCAqLzsgfTsKKwkJMEZBRjdFRkUxNjVCQTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2Vt
Ymxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZB
RjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjEwNTg1MTY3NTQ4MEYwMEY4
QUI2RSAvKiBFeGl0S2luZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkIxMDU4MjE2NzU0ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuY3BwICovOyB9
OworCQkwRkIxMDU4NjE2NzU0ODEyMDBGOEFCNkUgLyogRXhpdEtpbmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjEwNTgzMTY3NTQ4MEMwMEY4QUI2
RSAvKiBFeGl0S2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGQjEwNThCMTY3NTQ4MzEwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTA1ODcx
Njc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5jcHAgKi87IH07CisJCTBGQjEwNThD
MTY3NTQ4MzMwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjEwNTg4MTY3NTQ4MkUwMEY4QUI2RSAvKiBQ
cm9maWxlck9TUkV4aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkIxMDU4RDE2NzU0ODM3MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIx
MDU4OTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi87IH07CisJ
CTBGQjEwNThFMTY3NTQ4M0EwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXRTaXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIxMDU4QTE2NzU0ODJF
MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjE0RTFFMTgxMjRBQ0UwMDlCNkI0RCAvKiBK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkIxNEUxQzE4MTI0QUNFMDA5QjZCNEQgLyogSklUSW5saW5lQ2Fj
aGVHZW5lcmF0b3IuY3BwICovOyB9OworCQkwRkIxNEUxRjE4MTI0QUNFMDA5QjZCNEQgLyogSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQjE0RTFEMTgxMjRBQ0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdl
bmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGQjE0RTIxMTgxMjU3MEIwMDlCNkI0RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjE0RTIwMTgx
MjU3MEIwMDlCNkI0RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkIxNEUyMzE4MTMwOTU1MDA5QjZC
NEQgLyogREZHSW5saW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTRFMjIxODEzMDk1NTAwOUI2QjREIC8qIERG
R0lubGluZUNhY2hlV3JhcHBlcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkIxNzY2MDE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVh
cExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjE3NjVDMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdIZWFwTG9jYXRpb24uY3BwICovOyB9
OworCQkwRkIxNzY2MTE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIxNzY1RDE5NkI4RjlF
MDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCMTc2NjIxOTZCOEY5RTAwOTEwNTJBIC8qIERGR1B1
cmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkIxNzY1RTE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZhbHVlLmNwcCAqLzsgfTsKKwkJ
MEZCMTc2NjMxOTZCOEY5RTAwOTEwNTJBIC8qIERGR1B1cmVWYWx1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTc2NUYxOTZCOEY5RTAwOTEwNTJB
IC8qIERGR1B1cmVWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGQjQzOEEzMTkyNzBCMUQwMEUxRkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNDM4QTIx
OTI3MEIxRDAwRTFGQkM5IC8qIFN0cnVjdHVyZVNldC5jcHAgKi87IH07CisJCTBGQjU0Njc3MTRG
NTlCNUMwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5
IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCNTQ2NzkxNEY1QzQ2QjAwMkMyOTg5IC8qIExhenlP
cGVyYW5kVmFsdWVQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVl
UHJvZmlsZS5jcHAgKi87IH07CisJCTBGQjU0NjdCMTRGNUM3RTEwMDJDMjk4OSAvKiBNZXRob2RP
ZkdldHRpbmdBVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5n
QVZhbHVlUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGQjU0NjdEMTRGNUNGRDYwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFs
dWVQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjU0NjdDMTRGNUNGRDMwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9m
aWxlLmNwcCAqLzsgfTsKKwkJMEZCN0YzOTUxNUVEOEU0NjAwRjE2N0IyIC8qIEFycmF5Q29udmVu
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
QjdGMzg5MTVFRDhFMzgwMEYxNjdCMiAvKiBBcnJheUNvbnZlbnRpb25zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCN0YzOTYxNUVEOEU0NjAw
RjE2N0IyIC8qIEFycmF5U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZCN0YzOEExNUVEOEUzODAwRjE2N0IyIC8qIEFycmF5U3RvcmFnZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdG
Mzk3MTVFRDhFNDYwMEYxNjdCMiAvKiBCdXR0ZXJmbHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjdGMzhCMTVFRDhFMzgwMEYxNjdCMiAvKiBCdXR0
ZXJmbHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkI3RjM5ODE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVyZmx5SW5saW5lcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCN0YzOEMxNUVEOEUzODAw
RjE2N0IyIC8qIEJ1dHRlcmZseUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkI3RjM5OTE1RUQ4RTQ2MDBGMTY3QjIgLyogSW5kZXhp
bmdIZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjdGMzhEMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdGMzlBMTVFRDhFNDYw
MEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjdGMzhFMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRl
eGluZ0hlYWRlcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkI3RjM5QjE1RUQ4RTQ2MDBGMTY3QjIgLyogSW5kZXhpbmdUeXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI3RjM4RjE1
RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCN0YzOUMxNUVEOEU0NjAwRjE2N0IyIC8qIFBy
b3BlcnR5U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZCN0YzOTAxNUVEOEUzODAwRjE2N0IyIC8qIFByb3BlcnR5U3RvcmFnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdGMzlEMTVF
RDhFNDYwMEYxNjdCMiAvKiBSZWplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQjdGMzkxMTVFRDhFMzgwMEYxNjdCMiAvKiBSZWplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkI3RjM5RTE1
RUQ4RTQ2MDBGMTY3QjIgLyogU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCN0YzOTIxNUVEOEUzODAwRjE2N0IyIC8q
IFNwYXJzZUFycmF5VmFsdWVNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkJDMEFFNzE0OTZDN0M0MDBENEZCREQgLyogREZHRXhpdFByb2Zp
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZC
QzBBRTQxNDk2QzdDMTAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmNwcCAqLzsgfTsKKwkJMEZC
QzBBRTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkJDMEFFNTE0OTZDN0MxMDBENEZCREQg
LyogREZHRXhpdFByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkJEN0U2OTE0NDc5OTk2MDA0ODEzMTUgLyogQ29kZU9yaWdpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRDdFNjcxNDQ3
OTk4RjAwNDgxMzE1IC8qIENvZGVPcmlnaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkJEQjlBRDFBQjBGQkM2MDAwQjU3RTUgLyogREZHQ2Fs
bENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkJEQjlBQzFBQjBGQkM2MDAwQjU3RTUg
LyogREZHQ2FsbENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCRTBGNzIxNkMx
REIwMzAwODJDNUU4IC8qIERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNkIxNkMxREIwMTAwODJDNUU4
IC8qIERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRkJFMEY3MzE2QzFEQjA1
MDA4MkM1RTggLyogREZHQ1BTUmV0aHJlYWRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNkMxNkMxREIwMTAwODJDNUU4IC8qIERG
R0NQU1JldGhyZWFkaW5nUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkJFMEY3NDE2QzFEQjA5MDA4MkM1RTggLyogREZHUHJlZGljdGlv
bkluamVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQkUwRjZEMTZDMURCMDEwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9uSW5qZWN0
aW9uUGhhc2UuY3BwICovOyB9OworCQkwRkJFMEY3NTE2QzFEQjBCMDA4MkM1RTggLyogREZHUHJl
ZGljdGlvbkluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkJFMEY2RTE2QzFEQjAxMDA4MkM1RTggLyogREZHUHJlZGljdGlvbklu
amVjdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEZCRTBGNzYxNkMxREIwRjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBG
NkYxNkMxREIwMTAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuY3BwICovOyB9OworCQkw
RkJFMEY3NzE2QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNzAxNkMxREIwMTAw
ODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkJGMTU4QzE5QjdBNTMxMDA2OTVERDAgLyogREZH
QmxvY2tTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCRjE1OEExOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCAqLzsgfTsKKwkJ
MEZCRjE1OEQxOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRjE1OEIxOUI3QTUzMTAw
Njk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzA5NzZBMTQ2OEE2RjcwMENGMjQ0MiAvKiBERkdP
U1JFeGl0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkMwOTc2ODE0NjhBNkVGMDBDRjI0NDIgLyogREZHT1NSRXhpdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzA5NzcxMTQ2OTNBRjUwMENGMjQ0
MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQzA5NzZGMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29t
cGlsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkMwOTc3MjE0NjkzQUY5MDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDMDk3NzAxNDY5
M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjY0LmNwcCAqLzsgfTsKKwkJMEZDMDk3
NzYxNDY5NDNCMDAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzA5Nzc1MTQ2OTQzQUQw
MENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgKi87IH07CisJCTBGQzA5Nzkx
MTQ2QTZGNzEwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzA5NzhFMTQ2QTZGNjMwMENGMjQ0MiAvKiBERkdP
U1JFeGl0LmNwcCAqLzsgfTsKKwkJMEZDMDk3OTIxNDZBNkY3MzAwQ0YyNDQyIC8qIERGR09TUkV4
aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkMwOTc4RjE0NkE2RjYzMDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyLmNwcCAq
LzsgfTsKKwkJMEZDMDk3QTExNDZCMjhDQTAwQ0YyNDQyIC8qIERGR1RodW5rcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkMwOTc5RjE0NkIyOEM3
MDBDRjI0NDIgLyogREZHVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEZDMDk3QTIxNDZCMjhDQzAwQ0Yy
NDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDMDk3QTAxNDZCMjhDNzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzIwQ0I1MTg1MkUy
QzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzIwQ0IzMTg1MkUyQzYwMEM5RTk1
NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEZDMjBDQjYxODUy
RTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzIwQ0I0MTg1MkUyQzYwMEM5RTk1
NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDMjBDQjkxODU1NkEzNTAwQzlFOTU0IC8qIERG
R1NTQUxvd2VyaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDMjBDQjcxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhh
c2UuY3BwICovOyB9OworCQkwRkMyMENCQTE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NBTG93ZXJp
bmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZDMjBDQjgxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkMzMTQxMjE4MTQ1
NTkxMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzMxNDEwMTgxNDU1OTEwMDAzMzIzMiAvKiBSZWdpc3RlclNl
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
QzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDMzE0MTExODE0NTU5MTAwMDMz
MjMyIC8qIFRlbXBSZWdpc3RlclNldC5jcHAgKi87IH07CisJCTBGQzMxNDE1MTgxNDZENzAwMDAz
MzIzMiAvKiBSZWdpc3RlclNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkMzMTQxNDE4MTQ2RDcwMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuY3Bw
ICovOyB9OworCQkwRkMzQ0NGQzE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y1MTlBREE0
MTAwMDZBQzcyQSAvKiBERkdCbG9ja01hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGQzNDQ0ZEMTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a01hcElubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQzNDQ0Y2MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja01hcElubGluZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkMzQ0NGRTE5
QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y3MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a1NldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGQzNDQ0ZGMTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y4MTlBREE0MTAw
MDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCAqLzsgfTsKKwkJMEZDM0NEMDAxOUFEQTQx
MDAwNkFDNzJBIC8qIERGR0Jsb2NrV29ya2xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y5MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a1dvcmtsaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEZDM0NEMDExOUFEQTQxMTAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkMzQ0NGQTE5
QURBNDEwMDA2QUM3MkEgLyogREZHTmFpdmVEb21pbmF0b3JzLmNwcCAqLzsgfTsKKwkJMEZDM0NE
MDIxOUFEQTQxMTAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDM0NDRkIxOUFEQTQxMDAwNkFDNzJB
IC8qIERGR05haXZlRG9taW5hdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkzQyAvKiBEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDNzEyREMxN0NEODc3ODAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAgKi87IH07CisJCTBGQzcxMkRGMTdDRDg3N0MwMDhDQzkzQyAvKiBEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQzcxMkREMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkM3MTJFMjE3Q0Q4NzkxMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDNzEyRTAxN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMEZDNzEyRTMxN0NEODc5MzAwOENDOTND
IC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM3MTJFMTE3Q0Q4NzhGMDA4Q0M5M0Mg
LyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkM4MTUwQTE0MDQzQkY1MDBDRkE2
MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDODE1MDkxNDA0M0JEMjAwQ0ZBNjAzIC8qIFdyaXRlQmFycmll
clN1cHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM4MTUwODE0
MDQzQkNBMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAgKi87IH07CisJCTBGQzk3
RjMzMTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDOTdGMkYx
ODIwMjBENzAwMkM5QjI2IC8qIENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5jcHAgKi87
IH07CisJCTBGQzk3RjM0MTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dh
dGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQzk3RjMwMTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9p
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkM5N0YzRDE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkM5N0YzNzE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25Q
aGFzZS5jcHAgKi87IH07CisJCTBGQzk3RjNFMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlk
YXRpb25Qb2ludEluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzODE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0
aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGQzk3RjNGMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVw
bGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDOTdGMzkxODIwMjExOTAwMkM5QjI2IC8qIERGR0p1bXBSZXBsYWNlbWVudC5jcHAgKi87
IH07CisJCTBGQzk3RjQwMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzk3RjNBMTgy
MDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkM5N0Y0MTE4MjAyMTE5MDAyQzlCMjYg
LyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzQjE4MjAyMTE5MDAyQzlCMjYgLyogREZH
V2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgKi87IH07CisJCTBGQzk3RjQyMTgyMDIxMTkw
MDJDOUIyNiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzQzE4MjAyMTE5MDAyQzlCMjYg
LyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1QiAvKiBQ
YXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQUIxODA0QzEzRTAw
NDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUE5MTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVz
dG9yZS5jcHAgKi87IH07CisJCTBGQ0VGQUFDMTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVz
dG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RUZBQUExODA0QzEzRTAwNDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1Q0E2RDAwNDcy
Q0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNF
RkFDMTE4MDVEOTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQg
LyogTExWTU92ZXJyaWRlcy5jcHAgKi87IH07CisJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3MkNFNCAv
KiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovOyB9
OworCQkwRkNFRkFDQTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzQxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0MxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzcxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovOyB9OworCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFDRjE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5j
dGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1NTAw
NDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgfTsKKwkJMEZDRUZBRDMxODA1RURDQzAw
NDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFE
NDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQyMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZN
SGVhZGVycy5oICovOyB9OworCQkwRkNFRkFENzE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNF
RkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAgKi87IH07CisJCTBGQ0VGQURB
MTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5o
ICovOyB9OworCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQURCMTgwNjRB
MTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovOyB9OworCQkwRkNFRkFERjE4MDczOEMwMDA0
NzJDRTQgLyogRlRMTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZDRUZBREQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNw
cCAqLzsgfTsKKwkJMEZDRUZBRTAxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFERTE4MDcz
OEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQxMjAyRjFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlND
YWxsQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkQxMjAyRDFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5jcHAgKi87IH07CisJ
CTBGRDEyMDMwMUE4QUVEMTIwMDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQxMjAyRTFBOEFFRDEyMDAwRjUy
ODAgLyogRlRMSlNDYWxsQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRDEyMDMzMUE4Qzg1QkQwMDBGNTI4MCAvKiBGVExKU0NhbGxWYXJh
cmdzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDEyMDMxMUE4Qzg1QkQwMDBGNTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmNwcCAqLzsgfTsKKwkJ
MEZEMTIwMzQxQThDODVCRDAwMEY1MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDEyMDMyMUE4Qzg1QkQwMDBG
NTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEMkM5MjQxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVy
ZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDJDOTIzMTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEM0M4MjYxNDExNUQ0
MDAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNw
cCAqLzsgfTsKKwkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0M4MjIxNDExNUQw
RTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovOyB9OworCQkwRkQ4MUFEMjE1NEZCNEVFMDA5ODNF
NzIgLyogREZHRG9taW5hdG9ycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkQ4MUFDRjE1NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5j
cHAgKi87IH07CisJCTBGRDgxQUQzMTU0RkI0RjAwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MUFEMDE1
NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDgyRTIxMTQxNzJDRTMwMDE3OUM5NCAvKiBE
RkdDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZEODJFMUUxNDE3MkMyRjAwMTc5Qzk0IC8qIERGR0NhcGFiaWxpdGllcy5jcHAg
Ki87IH07CisJCTBGRDgyRTM5MTQxQUIxNEQwMDE3OUM5NCAvKiBDb21wYWN0SklUQ29kZU1hcC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFMzcx
NDFBQjE0MjAwMTc5Qzk0IC8qIENvbXBhY3RKSVRDb2RlTWFwLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEODJFNTQxNDFEQUVFRTAwMTc5Qzk0
IC8qIFNwZWN1bGF0ZWRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkQ4MkU0RjE0MURBRUExMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5cGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4MkU1
NjE0MURBRjA4MDAxNzlDOTQgLyogREZHT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFNTIxNDFEQUVERTAwMTc5Qzk0IC8qIERG
R09TUkVudHJ5LmNwcCAqLzsgfTsKKwkJMEZEODJFNTcxNDFEQUYxMDAwMTc5Qzk0IC8qIERGR09T
UkVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkQ4MkU1MzE0MURBRURFMDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4MkU4NjE0MUYzRkYxMDAxNzlD
OTQgLyogU3BlY3VsYXRlZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZEODJFODQxNDFGM0ZEQTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBl
LmNwcCAqLzsgfTsKKwkJMEZEOEEzMTMxN0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVCbG9ja1NldC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMx
MTE3RDQzMjZDMDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLzsgfTsKKwkJMEZEOEEzMTQx
N0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVCbG9ja1NldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEOEEzMTIxN0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVC
bG9ja1NldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGRDhBMzE5MTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEOEEzMTUx
N0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTEZvck9TUkVudHJ5SklUQ29kZS5jcHAgKi87IH07CisJCTBG
RDhBMzFBMTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzE2MTdENTFGMjIw
MENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyog
RlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZEOEEzMTcxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCAqLzsgfTsK
KwkJMEZEOEEzMUMxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMxODE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMT1NSRW50cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkQ4QTMyNTE3RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlwb2lu
dENyZWF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZEOEEzMUQxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09TUkVudHJ5cG9pbnRDcmVh
dGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEZEOEEzMjYxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09T
UkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMxRTE3RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkQ4QTMyNzE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJ
bmplY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkQ4QTMxRjE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rp
b25QaGFzZS5jcHAgKi87IH07CisJCTBGRDhBMzI4MTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVy
VXBDaGVja0luamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkQ4QTMyMDE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJ
bmplY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGRDhBMzI5MTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9GVExEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwICovOyB9OworCQkwRkQ4QTMyQTE3RDUxRjU3MDBDQTJDNDAg
LyogREZHVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzIyMTdENTFGNTcwMENBMkM0MCAv
KiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDhBMzJCMTdENTFGNTcwMENBMkM0
MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzIzMTdE
NTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrLmNwcCAqLzsgfTsKKwkJMEZEOEEzMkMxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRM
Rm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzI0MTdENTFGNTcwMENBMkM0MCAv
KiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEOTQ5ODIxQTk3
REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRj
aFNjb3BlLmNwcCAqLzsgfTsKKwkJMEZEOTQ5ODMxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hT
Y29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZE
OTQ5N0YxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDk0OTg0MUE5N0RCOTYwMEUyODk2
NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDk0OTgwMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9u
TmFtZVNjb3BlLmNwcCAqLzsgfTsKKwkJMEZEOTQ5ODUxQTk3REI5NjAwRTI4OTY2IC8qIEpTRnVu
Y3Rpb25OYW1lU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRDk0OTgxMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEQjJD
QzkxNzNEQTUyMDAwN0IzQzFCIC8qIEZUTEFiYnJldmlhdGVkVHlwZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREIyQ0M3MTczREE1MUUwMDdCM0Mx
QiAvKiBGVExBYmJyZXZpYXRlZFR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEQjJDQ0ExNzNEQTUyMzAwN0IzQzFCIC8qIEZUTFZhbHVl
RnJvbUJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkRCMkNDODE3M0RBNTFFMDA3QjNDMUIgLyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkRCMkNFNzE3NDgz
MEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQjJDRTUxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmts
aXN0LmNwcCAqLzsgfTsKKwkJMEZEQjJDRTgxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRCMkNF
NjE3NDgzMEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkRCMkNFQTE3NDg5NkM3MDA3QjNDMUIgLyog
Q29uY3VycmVudEpJVExvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGREIyQ0U5MTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9jay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRERC
RkI1MTY2NkVFRDgwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIyMTY2NkVF
RDUwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCAqLzsgfTsKKwkJMEZE
REJGQjYxNjY2RUVEQTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIzMTY2NkVF
RDUwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMTQxQUE5MDkxMTAwRDMz
QjMzIC8qIEFyZ3VtZW50c01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRTA1MDBDMUFBOTA5MTEwMEQzM0IzMyAvKiBBcmd1bWVudHNNb2RlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUw
MTUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAwRDFBQTkwOTExMDBE
MzNCMzMgLyogRGlyZWN0QXJndW1lbnRzT2Zmc2V0LmNwcCAqLzsgfTsKKwkJMEZFMDUwMTYxQUE5
MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMDUwMEUxQUE5MDkxMTAwRDMzQjMzIC8q
IERpcmVjdEFyZ3VtZW50c09mZnNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGRTA1MDE3MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1
bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFMDUwMEYxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50cy5jcHAgKi87IH07CisJ
CTBGRTA1MDE4MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDEwMUFBOTA5MTEwMEQz
M0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAxOTFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0Fy
Z3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAxQTFBQTkwOTEx
MDBEMzNCMzMgLyogR2VuZXJpY0FyZ3VtZW50c0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDEyMUFBOTA5MTEwMEQzM0IzMyAvKiBH
ZW5lcmljQXJndW1lbnRzSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGRTA1MDFCMUFBOTA5MTEwMEQzM0IzMyAvKiBHZW5lcmljT2Zm
c2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUw
NTAxMzFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY09mZnNldC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRTA1MDI1MUFBOTA5NTYwMEQzM0Iz
MyAvKiBDbG9uZWRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFMDUwMUMxQUE5MDk1NjAwRDMzQjMzIC8qIENsb25lZEFyZ3VtZW50
cy5jcHAgKi87IH07CisJCTBGRTA1MDI2MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1
MDFEMUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAyNzFBQTkwOTU2MDBEMzNC
MzMgLyogU2NvcGVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTA1MDFFMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVu
dHMuY3BwICovOyB9OworCQkwRkUwNTAyODFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1l
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUw
NTAxRjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1lbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMjkxQUE5MDk1NjAwRDMz
QjMzIC8qIFNjb3BlZEFyZ3VtZW50c1RhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAyMDFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJn
dW1lbnRzVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRkUwNTAyQTFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMDUwMjExQUE5MDk1
NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmNwcCAqLzsgfTsKKwkJMEZFMDUwMkIxQUE5MDk1NjAw
RDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkUwNTAyMjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAy
QzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDIzMUFBOTA5NTYwMEQzM0IzMyAvKiBWYXJP
ZmZzZXQuY3BwICovOyB9OworCQkwRkUwNTAyRDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAy
NDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMkYxQUFBODA2OTAwRDMzQjMzIC8qIFNj
b3BlZEFyZ3VtZW50c1RhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRTA1MDJFMUFBQTgwNjkwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVudHNU
YWJsZS5jcHAgKi87IH07CisJCTBGRTIyOEVEMTQzNkFCMjcwMDE5NkM0OCAvKiBPcHRpb25zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUyMjhFQjE0
MzZBQjIzMDAxOTZDNDggLyogT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRTIyOEVFMTQzNkFCMkMwMDE5NkM0OCAvKiBPcHRpb25z
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTIy
OEVBMTQzNkFCMjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLzsgfTsKKwkJMEZFMjU0RjYxQUJE
REQyMjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMjU0RjQxQUJEREQyMjAwQTdD
NkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRkUyNTRGNzFB
QkRERDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMjU0RjUxQUJEREQyMjAwQTdD
NkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkU3MjExRDE5M0I5QzU5MDAzMUY2RUQgLyog
REZHVHJhbnNpdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkU3MjExQjE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5jcHAgKi87
IH07CisJCTBGRTcyMTFFMTkzQjlDNTkwMDMxRjZFRCAvKiBERkdUcmFuc2l0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU3MjExQzE5M0I5QzU5
MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRTgzNDE3MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9y
cGhpY0NhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkU4MzQxNTFBNkVGOTdCMDBEMDQ4NDcgLyogUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmUuY3BwICovOyB9OworCQkwRkU4MzQxODFBNkVGOTdCMDBEMDQ4NDcgLyogUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTgzNDE2MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0Nh
bGxTdHViUm91dGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGRTg1MzRCMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2lu
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
ODUzNDkxNzIzQ0RBNTAwQjYxOEY1IC8qIERGR0Rlc2lyZWRXYXRjaHBvaW50cy5jcHAgKi87IH07
CisJCTBGRTg1MzRDMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTg1MzRBMTcy
M0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkU5NUY3OTE4QjU2OTQ3MDBCNTMx
RkIgLyogRlRMRGF0YVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFOTVGNzcxOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9u
LmNwcCAqLzsgfTsKKwkJMEZFOTVGN0ExOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU5NUY3
ODE4QjU2OTQ3MDBCNTMxRkIgLyogRlRMRGF0YVNlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEwODE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMQWJicmV2aWF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZFQTA5RkQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVB
MEEwOTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwOUZFMTcwNTEzREIwMEJCNzIy
QyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwICovOyB9OworCQkwRkVBMEEwQTE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkVBMDlGRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZF
QTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMDAxNzA1MTNEQjAwQkI3MjJDIC8q
IEZUTENvbXBpbGUuY3BwICovOyB9OworCQkwRkVBMEEwQzE3MDUxM0RCMDBCQjcyMkMgLyogRlRM
Q29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFQTBBMDExNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEwRDE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMSklUQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkVBMEEwMjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5jcHAgKi87
IH07CisJCTBGRUEwQTBFMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwMzE3MDUxM0RCMDBC
QjcyMkMgLyogRlRMSklUQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1Rv
TExWTS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3BwICovOyB9Owor
CQkwRkVBMEExMDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwQTA1MTcwNTEzREIw
MEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRUEwQTExMTcwNTEzREIwMEJCNzIyQyAvKiBGVExP
dXRwdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RUEwQTA2MTcwNTEzREIwMEJCNzIyQyAvKiBGVExPdXRwdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEExMjE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUEwQTA3MTcwNTEzREIwMEJCNzIyQyAvKiBGVExTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRUEwQTE2MTcwNkJCOTAwMEJC
NzIyQyAvKiBGVExTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkVBMEExNTE3MDZCQjkwMDBCQjcyMkMgLyogRlRMU3RhdGUuY3BwICovOyB9
OworCQkwRkVBMEExQzE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwQTE3MTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXAuY3BwICovOyB9OworCQkwRkVBMEExRDE3MDhC
MDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEExODE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJz
dHJhY3RIZWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEZFQTBBMUUxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
QTBBMTkxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwICov
OyB9OworCQkwRkVBMEExRjE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
QTBBMUExNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyMDE3
MDhCMDA3MDBCQjcyMkMgLyogRlRMVHlwZWRQb2ludGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEExQjE3MDhCMDA3MDBCQjcyMkMgLyogRlRM
VHlwZWRQb2ludGVyLmggKi87IH07CisJCTBGRUEwQTIzMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUEwQTIxMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyNDE3MDk2
MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMjIxNzA5NjA2OTAwQkI3MjJDIC8q
IEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9u
VmFsdWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRUEwQTI1MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3BwICovOyB9Owor
CQkwRkVBMEEyODE3MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEyNjE3
MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAgKi87IH07CisJCTBG
RUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMjkxNzA5NjI5NjAwQkI3MjJDIC8q
IEZUTE91dHB1dC5jcHAgKi87IH07CisJCTBGRUEwQTJDMTcwQjY2MTkwMEJCNzIyQyAvKiBGVExG
b3JtYXR0ZWRWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZFQTBBMkIxNzBCNjYxOTAwQkI3MjJDIC8qIEZUTEZvcm1hdHRlZFZhbHVlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFQTBBMzEx
NzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMkQxNzBENDBCRjAwQkI3MjJDIC8qIERG
R0NvbW1vbkRhdGEuY3BwICovOyB9OworCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyogREZH
Q29tbW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZFQTBBMkUxNzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEzMzE3MEQ0MEJG
MDBCQjcyMkMgLyogREZHSklUQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEyRjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5j
cHAgKi87IH07CisJCTBGRUEwQTM0MTcwRDQwQkYwMEJCNzIyQyAvKiBERkdKSVRDb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEzMDE3MEQ0
MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRUIzRUNGMTYyMzdGNkMwMEFCNjdBRCAvKiBNYWNyb0Fz
c2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkVCM0VDRTE2MjM3RjY3MDBBQjY3QUQgLyogTWFjcm9Bc3NlbWJsZXIuY3BwICovOyB9Owor
CQkwRkVENjdCOTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUQ2N0I3
MUIyNjI1NkQwMDY2Q0UxNSAvKiBERkdDb25zdGFudEhvaXN0aW5nUGhhc2UuY3BwICovOyB9Owor
CQkwRkVENjdCQTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVENjdCODFC
MjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFRTk4NDExQTg4NjVCNzAw
NzU0RTkzIC8qIFNldHVwVmFyYXJnc0ZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVFOTg0MDFBODg2NUI2MDA3NTRFOTMgLyogU2V0dXBWYXJh
cmdzRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkVFOTg0MzFBODkyMjc1MDA3NTRFOTMgLyogU2V0dXBWYXJhcmdzRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRTk4NDIxQTg5
MjI3NTAwNzU0RTkzIC8qIFNldHVwVmFyYXJnc0ZyYW1lLmNwcCAqLzsgfTsKKwkJMEZFRkM5QUEx
NjgxQTNCMzAwNTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRkM5QTcxNjgxQTNCMDAw
NTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwICovOyB9OworCQkwRkVGQzlB
QjE2ODFBM0I2MDA1NjdGNTMgLyogREZHT1NSRXhpdEp1bXBQbGFjZWhvbGRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRkM5QTgxNjgxQTNCMDAw
NTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkYwNTRGOTFBQzM1QjQ0MDBFNUJFNTcg
LyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjA1NEY3MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRh
YmxlQWxsb2NhdGlvbkZ1enouY3BwICovOyB9OworCQkwRkYwNTRGQTFBQzM1QjQ0MDBFNUJFNTcg
LyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYwNTRGODFBQzM1QjQ0MDBFNUJFNTcgLyogRXhlY3V0YWJs
ZUFsbG9jYXRpb25GdXp6LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEZGMEYxOTkxNkI3MjlGNjAwNURGOTVCIC8qIERGR0xvbmdMaXZlZFN0YXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRC
NTFDMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5jcHAgKi87IH07CisJCTBG
RjBGMTlCMTZCNzI5RkEwMDVERjk1QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1MUQxNkI2Mjc3MjAwM0Y2
OTZCIC8qIERGR0xvbmdMaXZlZFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGMEYxOUMxNkI3MkEwMzAwNURGOTVCIC8qIERGR05vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1
MUUxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR05vZGUuY3BwICovOyB9OworCQkwRkYwRjE5RDE2Qjcy
QTA4MDA1REY5NUIgLyogREZHQ29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTFBMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdDb21tb24u
Y3BwICovOyB9OworCQkwRkYwRjE5RTE2QjcyQTBCMDA1REY5NUIgLyogREZHRWRnZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI0QjUxQjE2QjYy
NzcyMDAzRjY5NkIgLyogREZHRWRnZS5jcHAgKi87IH07CisJCTBGRjBGMTlGMTZCNzJBMTcwMDVE
Rjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTIxMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5j
dGlvbkV4ZWN1dGFibGVEdW1wLmNwcCAqLzsgfTsKKwkJMEZGMEYxQTAxNkI3MkExQTAwNURGOTVC
IC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTIyMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4
ZWN1dGFibGVEdW1wLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEZGNDI3MzExNThFQkQ1NDAwNENCOUZGIC8qIERpc2Fzc2VtYmxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3MkYxNThFQkQ0
NDAwNENCOUZGIC8qIERpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRjQyNzMyMTU4RUJENTgwMDRDQjlGRiAvKiBVRGlzODZE
aXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZGNDI3MzAxNThFQkQ0NDAwNENCOUZGIC8qIFVEaXM4NkRpc2Fzc2VtYmxlci5jcHAg
Ki87IH07CisJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2RlLmMgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0MjczNDE1OEVC
RDk0MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jICovOyB9OworCQkwRkY0Mjc0MTE1OEVCRThE
MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3MzUxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9kZWNv
ZGUuaCAqLzsgfTsKKwkJMEZGNDI3NDIxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9leHRlcm4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM2
MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfZXh0ZXJuLmggKi87IH07CisJCTBGRjQyNzQzMTU4
RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfaW5wdXQuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM3MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
aW5wdXQuYyAqLzsgfTsKKwkJMEZGNDI3NDQxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3
MzgxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1dC5oICovOyB9OworCQkwRkY0Mjc0NTE1
OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5bi1hdHQuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM5MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlz
ODZfc3luLWF0dC5jICovOyB9OworCQkwRkY0Mjc0NjE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2
X3N5bi1pbnRlbC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNDI3M0ExNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4taW50ZWwuYyAqLzsgfTsK
KwkJMEZGNDI3NDcxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4uYyBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzNCMTU4RUJEOTQwMDRDQjlG
RiAvKiB1ZGlzODZfc3luLmMgKi87IH07CisJCTBGRjQyNzQ4MTU4RUJFOTEwMDRDQjlGRiAvKiB1
ZGlzODZfc3luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkY0MjczQzE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi5oICovOyB9OworCQkwRkY0
Mjc0OTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3R5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0MjczRDE1OEVCRDk0MDA0Q0I5RkYgLyog
dWRpczg2X3R5cGVzLmggKi87IH07CisJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlz
ODYuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQy
NzNFMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODYuYyAqLzsgfTsKKwkJMEZGNDI3NEIxNThFQkU5
MTAwNENCOUZGIC8qIHVkaXM4Ni5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZGNDI3M0YxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Ni5oICovOyB9Owor
CQkwRkY0Mjc0RDE1OEVCRkU2MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0Mjc0QzE1OEVCRkUx
MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgKi87IH07CisJCTBGRjQyNzU3MTU5MTRB
MjAwMDRDQjlGRiAvKiBMaW5rQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzU2MTU5MTRBMjAwMDRDQjlGRiAvKiBMaW5rQnVmZmVy
LmNwcCAqLzsgfTsKKwkJMEZGNDI3NjQxNTkxQTFDQzAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0
Mjc2MTE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJMEZG
NDI3NjUxNTkxQTFDRTAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3NjIxNTkxQTFDOTAwNENCOUZG
IC8qIERGR0Rpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRjYwQUMyMTY3NDBGODMwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNw
YWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY2
MEFDMDE2NzQwRjgxMDAwMjk3NzkgLyogUmVkdWNlV2hpdGVzcGFjZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRjYwQUMzMTY3NDBGODgwMDAy
OTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjYwQUJGMTY3NDBGODEwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0
ZXNwYWNlLmNwcCAqLzsgfTsKKwkJMEZGNzE2OEMxNUEzQjIzNTAwOEY1REFBIC8qIFByb3BlcnR5
T2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkY3MTY4QTE1QTNCMjMxMDA4RjVEQUEgLyogUHJvcGVydHlPZmZzZXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkY3MjlBNTE2NkFEMzUxMDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGNzI5OTMxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQnl0
ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkY3MjlBRDE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5MjE2NkFEMzQ3
MDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgKi87IH07CisJCTBGRjcyOUFFMTY2QUQz
NUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5NDE2NkFEMzQ3MDAwRjVCQTMgLyogUHJv
ZmlsZXJCeXRlY29kZXMuY3BwICovOyB9OworCQkwRkY3MjlBRjE2NkFEMzVDMDAwRjVCQTMgLyog
UHJvZmlsZXJDb21waWxhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkY3Mjk5NjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxh
dGlvbi5jcHAgKi87IH07CisJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNv
bXBpbGF0aW9uS2luZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkY3Mjk5ODE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbktp
bmQuY3BwICovOyB9OworCQkwRkY3MjlCMTE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJDb21w
aWxlZEJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRjcyOTlBMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGVkQnl0ZWNv
ZGUuY3BwICovOyB9OworCQkwRkY3MjlCMjE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJEYXRh
YmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkY3Mjk5QzE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJEYXRhYmFzZS5jcHAgKi87IH07CisJ
CTBGRjcyOUIzMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5RjE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovOyB9OworCQkwRkY3MjlCNDE2NkFEMzVDMDAw
RjVCQTMgLyogUHJvZmlsZXJPcmlnaW5TdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3MjlBMTE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmls
ZXJPcmlnaW5TdGFjay5jcHAgKi87IH07CisJCTBGRjcyOUI5MTY2QUQzNjAwMDBGNUJBMyAvKiBQ
cm9maWxlckJ5dGVjb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGNzI5OTUxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5
QkExNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjcyOTk3MTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5QkIxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVy
Q29tcGlsYXRpb25LaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkY3Mjk5OTE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbktp
bmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkY3MjlCQzE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5QjE2NkFE
MzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5QkQxNjZBRDM2MDAwMEY1
QkEzIC8qIFByb2ZpbGVyRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRjcyOTlEMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFi
YXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MEZGNzI5QkUxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNzI5OUUxNjZB
RDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRjcyOUJGMTY2QUQzNjAwMDBG
NUJBMyAvKiBQcm9maWxlck9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZGNzI5QTAxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyT3JpZ2lu
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZG
NzI5QzAxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyT3JpZ2luU3RhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjcyOUEyMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGOEJERUExQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVy
cmVkVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGOEJERTgxQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVycmVkVmFsdWUuY3BwICovOyB9Owor
CQkwRkY4QkRFQjFBRDRDRjcxMDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGOEJERTkxQUQ0Q0Y3MTAwREZF
ODg0IC8qIEluZmVycmVkVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRz
RXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGNDY4MEExMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludE9mZnNldHNFeHRyYWN0b3IuY3Bw
ICovOyB9OworCQkwRkZBNTQ5NzE2Qjg4MzUwMDBCM0E5ODIgLyogQTY0RE9wY29kZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTJBM0EyMjE2NTFD
Njk3MDBBODBBRkUgLyogQTY0RE9wY29kZS5jcHAgKi87IH07CisJCTBGRkE1NDk4MTZCODgzNTMw
MEIzQTk4MiAvKiBBNjRET3Bjb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTJBM0EyMzE2NTFDNjk3MDBBODBBRkUgLyogQTY0RE9wY29kZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkI2QzM4
MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkI2QzM2MUFGNDhEREMwMERCMUJGNyAvKiBUeXBl
b2ZUeXBlLmNwcCAqLzsgfTsKKwkJMEZGQjZDMzkxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkI2
QzM3MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMTgxNkQwMkVCMjAwNTVBNURCIC8q
IERGR0FsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkI5MjFBMTZEMDJF
QzUwMDU1QTVEQiAvKiBERkdCYXNpY0Jsb2NrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENTY1MjIxNkFCNzgwQTAwMTk3NjUzIC8qIERG
R0Jhc2ljQmxvY2tJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUIxNkQwMkYwMTAwNTVBNURCIC8qIERGR05vZGVBbGxvY2F0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRC
NTFGMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdOb2RlQWxsb2NhdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUMxNkQwMkYxMTAwNTVB
NURCIC8qIERGR09TUkV4aXRDb21waWxhdGlvbkluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OTg3RjJDMTY3RkU4NEIwMDNDMkY4RCAvKiBERkdP
U1JFeGl0Q29tcGlsYXRpb25JbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUQxNkQwMkYzMDAwNTVBNURCIC8qIERGR1Nsb3dQYXRo
R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjFFM0E1MDE1MzdDMkNCMDAwRjk0NTYgLyogREZHU2xvd1BhdGhHZW5lcmF0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkZCOTIyMDE2
RDAzM0I3MDA1NUE1REIgLyogTm9kZUNvbnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwREFEMDMwRkIxRUIxQTAwODJEMjA1IC8qIE5v
ZGVDb25zdHJ1Y3RvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkZDOTlEMTE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZDOTlEMDE4NEVD
OEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQzk5RDQxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5
QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZDOTlEMjE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZm
ZXJOZXV0ZXJpbmdXYXRjaHBvaW50LmNwcCAqLzsgfTsKKwkJMEZGQzk5RDUxODRFRTMxODAwOUMx
MEFCIC8qIEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGQzk5RDMxODRFRTMxODAwOUMxMEFCIC8q
IEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTU3MTRFRjkwQTAwMEM3MjUzMiAvKiBE
RkdDRkFQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkZGQzk0QjE0RUY5MDk1MDBDNzI1MzIgLyogREZHQ0ZBUGhhc2UuY3BwICovOyB9Owor
CQkwRkZGQzk1ODE0RUY5MEEyMDBDNzI1MzIgLyogREZHQ0ZBUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTRDMTRFRjkwOTUwMEM3MjUz
MiAvKiBERkdDRkFQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGRkZDOTU5MTRFRjkwQTYwMEM3MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk0RDE0
RUY5MDk1MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1QTE0RUY5
MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTRFMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdDU0VQaGFz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
RkZDOTVCMTRFRjkwQUQwMEM3MjUzMiAvKiBERkdQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk0RjE0RUY5MDk1MDBDNzI1MzIgLyog
REZHUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1QzE0RUY5MEFGMDBDNzI1MzIgLyogREZHUGhh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZD
OTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTVEMTRFRjkwQjMwMEM3MjUzMiAvKiBE
RkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk1MTE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1RTE0RUY5MEI3MDBD
NzI1MzIgLyogREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTUyMTRFRjkwOTUwMEM3MjUzMiAv
KiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTVGMTRFRjkwQkIwMEM3MjUzMiAvKiBE
RkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGRkM5NTMxNEVGOTA5NTAwQzcyNTMyIC8qIERG
R1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5jcHAgKi87IH07CisJCTBGRkZDOTYwMTRF
RjkwQkQwMEM3MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTU0MTRFRjkw
OTUwMEM3MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDA1NjZDNDEwN0VD
MjU1MDA1REJDOEQgLyogSlNBUElWYWx1ZVdyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8qIEpT
QVBJVmFsdWVXcmFwcGVyLmNwcCAqLzsgfTsKKwkJMTQwNTY2RDYxMDdFQzI3MTAwNURCQzhEIC8q
IEpTRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjY5MkE4NUUwMjU1NTk3RDAxRkY2MEY3IC8qIEpTRnVuY3Rpb24uY3BwICovOyB9Owor
CQkxNDBCN0QxRDBEQzY5QUY3MDA5QzQyQjggLyogSlNMZXhpY2FsRW52aXJvbm1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREQTgxOEYwRDk5
RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmNwcCAqLzsgfTsKKwkJMTQwRDE3
RDcwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MEQxN0Q2MEU4QUQ0QTkwMDBDRDE3RCAvKiBK
U0Jhc2VQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMTQxMjExMzEwQTQ4Nzk0RDAwNDgwMjU1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MkY1QkQ5MDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07
CisJCTE0MTIxMTM0MEE0ODc5NTgwMDQ4MDI1NSAvKiBtaW5pZG9tLmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwMjBBNDg3ODA5MDA0ODAyNTUg
LyogbWluaWRvbS5jICovOyB9OworCQkxNDE0NDhDQjEzQTE3NkVDMDBGNUJBMUEgLyogTWFya2Vk
QmxvY2tTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0OENBMTNBMTc2RUMwMEY1QkExQSAvKiBNYXJrZWRCbG9ja1NldC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MTQ0OENEMTNBMTc4Mzcw
MEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0OENDMTNBMTc4MzcwMEY1QkExQSAvKiBUaW55Qmxvb21G
aWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxNDE1MDEzMzE1NEJCMTNGMDA1RDhDOTggLyogV2Vha1NldElubGluZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTUwMTMyMTU0QkIxM0YwMDVE
OEM5OCAvKiBXZWFrU2V0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTE0MjBCRTdCMTBBQTZEREIwMEY0NTVEMiAvKiBXZWFrUmFuZG9t
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDIwQkU3
QTEwQUE2RERCMDBGNDU1RDIgLyogV2Vha1JhbmRvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MjEzNTlCMEE2NzdGNEYwMEE4MTk1RSAvKiBK
U0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQyMTM1OUEwQTY3N0Y0RjAwQTgxOTVFIC8qIEpTQmFzZS5jcHAgKi87IH07CisJCTE0MjgwODIz
MTA3RUMwMkMwMDEzRTdCMiAvKiBEZWJ1Z2dlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1ODAyNTU1OTdEMDFGRjYwRjcgLyogRGVidWdn
ZXIuY3BwICovOyB9OworCQkxNDI4MDgyRDEwN0VDMDU3MDAxM0U3QjIgLyogQ2FsbERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjJERkUw
RTI4MjYyMzAwMDRGMzBEIC8qIENhbGxEYXRhLmNwcCAqLzsgfTsKKwkJMTQyODA4MkUxMDdFQzA1
NzAwMTNFN0IyIC8qIENvbnN0cnVjdERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjJERkYwRTI4MjYzMTAwMDRGMzBEIC8qIENvbnN0cnVj
dERhdGEuY3BwICovOyB9OworCQkxNDI4MDgzQTEwN0VDMDc1MDAxM0U3QjIgLyogSlNTdGFjay5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDg1
QjBFRDIxOEU5MDBCODk2MTkgLyogSlNTdGFjay5jcHAgKi87IH07CisJCTE0MjgwODQxMTA3RUMw
OTMwMDEzRTdCMiAvKiBSZWdFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4N0QwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cC5jcHAgKi87
IH07CisJCTE0MjgwODQyMTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0QyMDJCRDBF
MTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuY3BwICovOyB9OworCQkxNDI4MDg0
MzEwN0VDMDkzMDAxM0U3QjIgLyogUmVnRXhwT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODdCMDI1NTU5N0QwMUZGNjBGNyAvKiBS
ZWdFeHBPYmplY3QuY3BwICovOyB9OworCQkxNDI4MDg0NDEwN0VDMDkzMDAxM0U3QjIgLyogUmVn
RXhwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRDIwMkJGMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuY3BwICov
OyB9OworCQkxNDI4MDg1MDEwN0VDMEQ3MDAxM0U3QjIgLyogT3BlcmF0aW9ucy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3NzAyNTU1OTdE
MDFGRjYwRjcgLyogT3BlcmF0aW9ucy5jcHAgKi87IH07CisJCTE0MjgwODU1MTA3RUMwRTcwMDEz
RTdCMiAvKiBHZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMwMkU5QjgwRTE4NDU0NTAwMEY5Mjk3IC8qIEdldHRlclNldHRlci5j
cHAgKi87IH07CisJCTE0MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuQ29uc3RydWN0
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
OTUyMzIwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgKi87IH07CisJ
CTE0MjgwODY0MTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODUwMDI1NTU5N0QwMUZG
NjBGNyAvKiBCb29sZWFuT2JqZWN0LmNwcCAqLzsgfTsKKwkJMTQyODA4NjUxMDdFQzExQTAwMTNF
N0IyIC8qIEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM3OTUyMzQwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Qcm90
b3R5cGUuY3BwICovOyB9OworCQkxNDI4MDg3MDEwN0VDMTM0MDAxM0U3QjIgLyogSlNXcmFwcGVy
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3BwICovOyB9Owor
CQkxNDI4MDg3NTEwN0VDMTNFMDAxM0U3QjIgLyogSlNMb2NrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RUE0Qzk5MDkyQUY5RTIwMDkzRDgwMCAv
KiBKU0xvY2suY3BwICovOyB9OworCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJw
cmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MjlENzdCMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MjlEN0Q0MEVEMjEyODIwMEI4OTYx
OSAvKiBJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDI5RDdEMzBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3BwICov
OyB9OworCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDg3NzBF
RDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAgKi87IH07CisJCTE0MjlEODg1
MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQyOUQ4ODMwRUQyMUMzRDAwQjg5NjE5IC8qIFNh
bXBsaW5nVG9vbC5jcHAgKi87IH07CisJCTE0MjlEODg2MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1w
bGluZ1Rvb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MjlEODg0MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDI5RDhERDBFRDIyMDVCMDBC
ODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MjlEOERCMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwICov
OyB9OworCQkxNDI5RDhERTBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDhEQzBFRDIyMDVCMDBC
ODk2MTkgLyogQ2FsbEZyYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMTQyOUQ5MkYwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDkyRDBFRDIyRDcw
MDBCODk2MTkgLyogSklULmNwcCAqLzsgfTsKKwkJMTQyOUQ5MzAwRUQyMkQ3MDAwQjg5NjE5IC8q
IEpJVC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQy
OUQ5MkUwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5oICovOyB9OworCQkxNDJEMzkzOTEwM0U0NTYw
MDA3RENCNTIgLyogTnVtZXJpY1N0cmluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBOdW1lcmljU3Ry
aW5ncy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTE0MkQ2RjA4MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJENkYwNjEzNTM5QTI4MDBCMDJF
ODYgLyogTWFya2VkQmxvY2suY3BwICovOyB9OworCQkxNDJENkYwOTEzNTM5QTI4MDBCMDJFODYg
LyogTWFya2VkQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0MkQ2RjA3MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MkQ2RjExMTM1MzlB
NDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQyRDZGMEUxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5j
cHAgKi87IH07CisJCTE0MkQ2RjEyMTM1MzlBNDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkQ2RjBGMTM1MzlB
NDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNDJFMzEzNDEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEyQjEz
NEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQyRTMxMzUxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNl
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJF
MzEyQzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU2V0LmNwcCAqLzsgfTsKKwkJMTQyRTMxMzYx
MzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMTQyRTMxMkQxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNl
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0
MkUzMTM3MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEyRTEzNEZGMEE2MDBBRkFEQjUg
LyogSGFuZGxlU3RhY2suY3BwICovOyB9OworCQkxNDJFMzEzODEzNEZGMEE2MDBBRkFEQjUgLyog
SGFuZGxlU3RhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0MkUzMTJGMTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MkUzMTM5MTM0RkYwQTYw
MEFGQURCNSAvKiBMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQyRTMxMzAxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggKi87IH07CisJCTE0
MkUzMTNBMTM0RkYwQTYwMEFGQURCNSAvKiBMb2NhbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEzMTEzNEZGMEE2MDBBRkFEQjUgLyog
TG9jYWxTY29wZS5oICovOyB9OworCQkxNDJFMzEzQjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25n
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEz
MjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQyRTMxM0MxMzRGRjBBNjAwQUZBREI1IC8qIFdlYWsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkUzMTMz
MTM0RkYwQTYwMEFGQURCNSAvKiBXZWFrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ0MDA1N0YwQTUzMzU2NDAwMDVGMDYxIC8qIEpTTm9kZS5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEY2NDIw
QTRGOEI2QTAwMDVGMDYxIC8qIEpTTm9kZS5jICovOyB9OworCQkxNDQwMDVDQjBBNTMzOEQxMDAw
NUYwNjEgLyogSlNOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDQwRjY0MTBBNEY4QjZBMDAwNUYwNjEgLyogSlNOb2RlLmggKi87IH07CisJCTE0
NDAwNUNDMEE1MzM4RjgwMDA1RjA2MSAvKiBOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQwMDUxRjBBNTMxRDNCMDAwNUYwNjEgLyogTm9kZS5o
ICovOyB9OworCQkxNDQwMDYzRjBBNTM1OThBMDAwNUYwNjEgLyogTm9kZS5jIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MDA1MjAwQTUzMUQzQjAwMDVG
MDYxIC8qIE5vZGUuYyAqLzsgfTsKKwkJMTQ0MDA3NEEwQTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQw
MDc0ODBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuaCAqLzsgfTsKKwkJMTQ0MDA3NEIwQTUz
NkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDQwMDc0OTBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuYyAq
LzsgfTsKKwkJMTQ0MDA3NTcwQTUzNzBEMjAwMDVGMDYxIC8qIEpTTm9kZUxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDAwNzU1MEE1MzcwRDIw
MDA1RjA2MSAvKiBKU05vZGVMaXN0LmggKi87IH07CisJCTE0NDAwNzU4MEE1MzcwRDIwMDA1RjA2
MSAvKiBKU05vZGVMaXN0LmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDQwMDc1NjBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovOyB9Owor
CQkxNDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyogdGVzdGFwaS5jIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCRDVBMkQwQTNFOTFGNjAwQkFGNTlDIC8q
IHRlc3RhcGkuYyAqLzsgfTsKKwkJMTQ0MEY4OTIwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJh
Y2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDQwRjg5MDBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmNwcCAq
LzsgfTsKKwkJMTQ0MEY4QUYwQTUwOEQyMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQw
RjhBRDBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCAqLzsgfTsK
KwkJMTQ0MEZDRTQwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEZDRTIwQTUxRTQ2QjAwMDVG
MDYxIC8qIEpTQ2xhc3NSZWYuY3BwICovOyB9OworCQkxNDQyNTY2MTE1RURFOThEMDA2NkE0OUIg
LyogSlNXaXRoU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ0MjU2NUYxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNwcCAqLzsg
fTsKKwkJMTQ0MjU2NjIxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQyNTY2MDE1RURFOThEMDA2
NkE0OUIgLyogSlNXaXRoU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkxNDQ2OURERTEwN0VDN0U3MDA2NTA0NDYgLyogTG9va3VwLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODY4MDI1
NTU5N0QwMUZGNjBGNyAvKiBMb29rdXAuY3BwICovOyB9OworCQkxNDQ2OURERjEwN0VDN0U3MDA2
NTA0NDYgLyogTWF0aE9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg2QTAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5jcHAg
Ki87IH07CisJCTE0NDY5REUwMTA3RUM3RTcwMDY1MDQ0NiAvKiBOYXRpdmVFcnJvckNvbnN0cnVj
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MDJFOTA4MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCAqLzsg
fTsKKwkJMTQ0NjlERTExMDdFQzdFNzAwNjUwNDQ2IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDJFOTBB
MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5jcHAgKi87IH07CisJCTE0
NDY5REUyMTA3RUM3RTcwMDY1MDQ0NiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMjBFMTZENEU5MDBB
MDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3IuY3BwICovOyB9OworCQkxNDQ2OURFMzEwN0VDN0U3
MDA2NTA0NDYgLyogTnVtYmVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODcwMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmpl
Y3QuY3BwICovOyB9OworCQkxNDQ2OURFNDEwN0VDN0U3MDA2NTA0NDYgLyogTnVtYmVyUHJvdG90
eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MjY4MEM0MEUxNkQ0RTkwMEEwNkU5MiAvKiBOdW1iZXJQcm90b3R5cGUuY3BwICovOyB9OworCQkx
NDQ2OURFNTEwN0VDN0U3MDA2NTA0NDYgLyogT2JqZWN0Q29uc3RydWN0b3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzYwRTE2RDRFOTAw
QTA2RTkyIC8qIE9iamVjdENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJMTQ0NjlERTYxMDdFQzdF
NzAwNjUwNDQ2IC8qIE9iamVjdFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDODBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0
UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJMTQ0NjlERTgxMDdFQzdFNzAwNjUwNDQ2IC8qIFByb3Bl
cnR5U2xvdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTYyMUU2QjA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlTbG90LmNwcCAqLzsgfTsKKwkJ
MTQ0NjlERUIxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ0NvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0MwMEUxNkVFMzMw
MEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0NDY5REVDMTA3RUM3
RTcwMDY1MDQ0NiAvKiBTdHJpbmdPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxOEMzQzIwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09i
amVjdC5jcHAgKi87IH07CisJCTE0NDY5REVEMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdQcm90
b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkMxOEMzQzUwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ1Byb3RvdHlwZS5jcHAgKi87IH07CisJ
CTE0NDgzNkU3MTMyREE3QkUwMDVCRTc4NSAvKiBDb25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5REFBRjIxMkVCNTU5RDAw
ODNCMTJCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ1NzIyODYxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9u
Z0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0NTcyMjg1MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ2QUFCMzgwQjY2QTk0NDAw
RTU1RjE2IC8qIEpTU3RyaW5nUmVmQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQ2QUFCMzcwQjY2QTk0NDAwRTU1RjE2IC8qIEpTU3RyaW5nUmVm
Q0YuY3BwICovOyB9OworCQkxNDZCMTZEODEyRUI1QjU5MDAxQkVDMUIgLyogQ29uc2VydmF0aXZl
Um9vdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ2QjE0REIxMkVCNUIxMjAwMUJFQzFCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmNwcCAqLzsgfTsK
KwkJMTQ2RkU1MTIxMUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDZGRTUxMTExQTcxMDQzMDA4
N0FFNjYgLyogSklUQ2FsbDMyXzY0LmNwcCAqLzsgfTsKKwkJMTQ3NEMzM0IxNkFBMkQ5NTAwNjJG
MDFEIC8qIFByb3RvdHlwZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTREODQ0QTMxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0NzRDMzND
MTZBQTJEOUIwMDYyRjAxRCAvKiBQcm90b3R5cGVNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREODQ0QTIxNkFBMkM3MDAwQTY1QUYwIC8qIFBy
b3RvdHlwZU1hcC5jcHAgKi87IH07CisJCTE0NzgyOTdCMTM3OUU4QTgwMEE3QzJBMyAvKiBIYW5k
bGVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ2RkE1QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ3QjgzQUMwRTZEQjhDOTAwNDc3
NUE0IC8qIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDdCODNBQTBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0
Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNDdCODQ2MzBFNkRFNkIxMDA0Nzc1QTQgLyogUHV0UHJvcGVy
dHlTbG90LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDdCODQ2MjBFNkRFNkIxMDA0Nzc1QTQgLyogUHV0UHJvcGVydHlTbG90LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ3RjM5QkQxMDdFQzM3NjAw
NDI3QTQ4IC8qIEFyZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjA1MTEwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3QuY3BwICovOyB9
OworCQkxNDdGMzlCRjEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc5NTIwNjBFMTVF
OEE4MDBBODk4QUIgLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0N0YzOUMwMTA3
RUMzNzYwMDQyN0E0OCAvKiBBcnJheVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg0RDAyNTU1OTdEMDFGRjYwRjcgLyogQXJy
YXlQcm90b3R5cGUuY3BwICovOyB9OworCQkxNDdGMzlDMTEwN0VDMzc2MDA0MjdBNDggLyogQ29t
bW9uSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjVFQTczNjIwQkFFMzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmNw
cCAqLzsgfTsKKwkJMTQ3RjM5QzIxMDdFQzM3NjAwNDI3QTQ4IC8qIENvbXBsZXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA5MjIwRUQx
RTA5QzAwRjFGNjgxIC8qIENvbXBsZXRpb24uY3BwICovOyB9OworCQkxNDdGMzlDMzEwN0VDMzc2
MDA0MjdBNDggLyogRGF0ZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ1MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuY3BwICovOyB9OworCQkxNDdGMzlDNDEwN0VDMzc2MDA0MjdBNDggLyogRGF0ZUNv
bnZlcnNpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmNwcCAqLzsgfTsK
KwkJMTQ3RjM5QzUxMDdFQzM3NjAwNDI3QTQ4IC8qIERhdGVJbnN0YW5jZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzExNjYwMDBFMTk5N0IxMDA4
MDY2REQgLyogRGF0ZUluc3RhbmNlLmNwcCAqLzsgfTsKKwkJMTQ3RjM5QzYxMDdFQzM3NjAwNDI3
QTQ4IC8qIERhdGVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNEMjAzNDcwRTE3MTM1RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUu
Y3BwICovOyB9OworCQkxNDdGMzlDNzEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzMzdCRUEwRTFCMDBD
QjAwNzY5MThBIC8qIEVycm9yLmNwcCAqLzsgfTsKKwkJMTQ3RjM5QzgxMDdFQzM3NjAwNDI3QTQ4
IC8qIEVycm9yQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMwMkU5MDQwRTE4MzlEQjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0
b3IuY3BwICovOyB9OworCQkxNDdGMzlDOTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5j
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAy
RTk4QTBFMTgzRTM4MDAwRjkyOTcgLyogRXJyb3JJbnN0YW5jZS5jcHAgKi87IH07CisJCTE0N0Yz
OUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwNjBFMTgzOURCMDAwRjkyOTcg
LyogRXJyb3JQcm90b3R5cGUuY3BwICovOyB9OworCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDgg
LyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMDBFMTZENEU5MDBBMDZFOTIgLyogRnVuY3Rpb25Db25z
dHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlv
blByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNjkyQTg1QzAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICov
OyB9OworCQkxNDdGMzlDRTEwN0VDMzc2MDA0MjdBNDggLyogSWRlbnRpZmllci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzNBMzQ5RDAzOEFFODBG
MDA4NjM1Q0UgLyogSWRlbnRpZmllci5jcHAgKi87IH07CisJCTE0N0YzOUNGMTA3RUMzNzYwMDQy
N0E0OCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDOUJCOTVCMEUxOTY4MDYwMERGODg1NSAvKiBJbnRlcm5hbEZ1
bmN0aW9uLmNwcCAqLzsgfTsKKwkJMTQ3RjM5RDAxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBREZD
RTYwQ0NCRDdBQzAwRDMwQjA4IC8qIEpTQXJyYXkuY3BwICovOyB9OworCQkxNDdGMzlEMTEwN0VD
Mzc2MDA0MjdBNDggLyogSlNDZWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDN0Y4RkJBMEUxOUQxRUYwMDg2MzJDMCAvKiBKU0NlbGwuY3BwICov
OyB9OworCQkxNDdGMzlEMjEwN0VDMzc2MDA0MjdBNDggLyogSlNHbG9iYWxPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRERTBENjgwRDAy
NDMxNDAwQUFDQ0EyIC8qIEpTR2xvYmFsT2JqZWN0LmNwcCAqLzsgfTsKKwkJMTQ3RjM5RDQxMDdF
QzM3NjAwNDI3QTQ4IC8qIEpTT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjJBMzk4MEUxNkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5j
cHAgKi87IH07CisJCTE0N0YzOUQ1MTA3RUMzNzYwMDQyN0E0OCAvKiBKU1N0cmluZy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTlCNjBFMTg0
MkZBMDAwRjkyOTcgLyogSlNTdHJpbmcuY3BwICovOyB9OworCQkxNDdGMzlENjEwN0VDMzc2MDA0
MjdBNDggLyogSlNDSlNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg4NzAyNTU1OTdEMDFGRjYwRjcgLyogSlNDSlNWYWx1ZS5jcHAg
Ki87IH07CisJCTE0N0YzOUQ3MTA3RUMzNzYwMDQyN0E0OCAvKiBKU0Vudmlyb25tZW50UmVjb3Jk
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjJB
MzlBMEUxNkUxNDgwMEFGMjFDOCAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmNwcCAqLzsgfTsKKwkJ
MTQ4MkI3NEUwQTQzMDMyODAwNTE3Q0ZDIC8qIEpTU3RyaW5nUmVmLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0ODJCNzRDMEE0MzAzMjgwMDUxN0NG
QyAvKiBKU1N0cmluZ1JlZi5jcHAgKi87IH07CisJCTE0ODJCN0U0MEE0MzA3NjAwMDUxN0NGQyAv
KiBKU09iamVjdFJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDgyQjdFMjBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYuY3BwICovOyB9
OworCQkxNDg3NEFFMzE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ4NzRBREYxNUVCREU0QTAw
MkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCAqLzsgfTsKKwkJMTQ4NzRBRTQxNUVCREU0QTAwMkUz
NTg3IC8qIEpTTmFtZVNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDg3NEFFMDE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDg3NEFFNTE1
RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNDg3NEFFMTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5j
cHAgKi87IH07CisJCTE0ODc0QUU2MTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDg3NEFFMjE1RUJERTRB
MDAyRTM1ODcgLyogSlNTY29wZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTE0OENEMUQ4MTA4Q0Y5MDIwMDgxNjNDNiAvKiBKU0NvbnRleHRSZWZQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDhDRDFENzEwOENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0OEYyMUFBMTA3RUM1
M0EwMDQyRUMyQyAvKiBCeXRlY29kZUdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwICovOyB9OworCQkxNDhGMjFCMDEwN0VDNTQxMDA0MkVDMkMgLyog
TGV4ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjY5MkE4NjUwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmNwcCAqLzsgfTsKKwkJMTQ4RjIxQjcx
MDdFQzU0NzAwNDJFQzJDIC8qIE5vZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODZEMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5jcHAg
Ki87IH07CisJCTE0OEYyMUJDMTA3RUM1NEQwMDQyRUMyQyAvKiBQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMEIzQTkwOUJCNERDMDAw
NjhGQ0UzIC8qIFBhcnNlci5jcHAgKi87IH07CisJCTE0OTU1OUVFMEREQ0RERjcwMDY0ODA4NyAv
KiBEZWJ1Z2dlckNhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNDk1NTlFRDBERENEREY3MDA2NDgwODcgLyogRGVidWdnZXJDYWxsRnJh
bWUuY3BwICovOyB9OworCQkxNEExNTYzMjEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3RhbmNl
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
QTE1NjMwMTA5NjYzNjUwMDZGQTI2MCAvKiBEYXRlSW5zdGFuY2VDYWNoZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QTIzRDc1MEY0RTFBQkIw
MDIzQ0RBRCAvKiBKSVRTdHVicy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEEyM0Q2QzBGNEUxOUNFMDAyM0NEQUQgLyogSklUU3R1YnMuY3BwICov
OyB9OworCQkxNEFCREY2MDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEFCREY1RTBB
NDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAgKi87IH07CisJCTE0QjcyM0Iy
MTJEN0RBNDYwMDNCRDVFRCAvKiBNYWNoaW5lU3RhY2tNYXJrZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCNzIzM0YxMkQ3RDBEQTAwM0JENUVE
IC8qIE1hY2hpbmVTdGFja01hcmtlci5jcHAgKi87IH07CisJCTE0QjcyM0I4MTJEN0RBNkYwMDNC
RDVFRCAvKiBNYWNoaW5lU3RhY2tNYXJrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0QjcyMzQwMTJEN0QwREEwMDNCRDVFRCAvKiBNYWNoaW5lU3Rh
Y2tNYXJrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkxNEI4RUM3MjBBNTY1MjA5MDA2MkJFNTQgLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2MEE0
Q0YwNEIzQjNFNzAwOEFFOTUyIC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKKwkJ
MTRCQTc4RjExM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RWaXNpdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJBNzhGMDEzQUFCODhGMDA1QjdDMkMg
LyogU2xvdFZpc2l0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxNEJBN0E5NzEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJBN0E5NTEzQUFERkY4MDA1
QjdDMkMgLyogSGVhcC5jcHAgKi87IH07CisJCTE0QkE3QTk4MTNBQURGRjgwMDVCN0MyQyAvKiBI
ZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJB
N0E5NjEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QkQ1OUM1MEEzRThGOUYwMEJBRjU5QyAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzJGNUJEOTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUu
ZnJhbWV3b3JrICovOyB9OworCQkxNEJENUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0
UmVmLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
QkQ1QTI5MEEzRTkxRjYwMEJBRjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwICovOyB9OworCQkxNEJE
NUEzMjBBM0U5MUY2MDBCQUY1OUMgLyogSlNWYWx1ZVJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJENUEyQjBBM0U5MUY2MDBCQUY1OUMgLyog
SlNWYWx1ZVJlZi5jcHAgKi87IH07CisJCTE0QkU3RDMzMTcxMzVDRjQwMEQxODA3QSAvKiBXZWFr
SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRCRkNFNjkxMENEQjFGQzAwMzY0
Q0NFIC8qIFdlYWtHQ01hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTRCRkNFNjgxMENEQjFGQzAwMzY0Q0NFIC8qIFdlYWtHQ01hcC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QzUyNDJCMEY1MzU1
RTkwMEJBM0QwNCAvKiBKSVRTdHVicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTRBNjU4MUEwRjRFMzZGNDAwMDE1MEZEIC8qIEpJVFN0dWJzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRDQTk1OEIx
NkFCNTBERTAwOTM4QTA2IC8qIFN0YXRpY1Byb3BlcnR5QW5hbHl6ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0Q0E5NThBMTZBQjUwREUwMDkzOEEw
NiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5emVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRDQTk1OEQxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNENBOTU4QzE2QUI1MEZBMDA5MzhBMDYgLyogT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxNEQyRjNEQTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREMkYzRDgxMzlGNEJFMjAwNDkx
MDMxIC8qIE1hcmtlZFNwYWNlLmNwcCAqLzsgfTsKKwkJMTREMkYzREIxMzlGNEJFMjAwNDkxMDMx
IC8qIE1hcmtlZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNEQyRjNEOTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERGMDREQTE2QjM5
OTZEMDAxNkE1MTMgLyogU3RhdGljUHJvcGVydHlBbmFseXNpcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRERjA0RDkxNkIzOTk2RDAwMTZBNTEzIC8q
IFN0YXRpY1Byb3BlcnR5QW5hbHlzaXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2Nr
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTg0
Rjk5MTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrQmxvY2suY3BwICovOyB9OworCQkxNEU4NEY5RjE0
RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4NEY5QTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2Nr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRF
ODRGQTAxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRFODRGOUIxNEVFMUFDQzAwRDZENUQ0IC8qIFdl
YWtTZXQuY3BwICovOyB9OworCQkxNEU4NEZBMTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRFODRGOUMx
NEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkxNEU4NEZBMjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0lt
cGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTg0
RjlEMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrSW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0RTlEMTdCMTA3RUM0NjkwMDREREEyMSAvKiBK
U0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc1NkZDNjBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwICovOyB9OworCQkxNEY3MjU2NTE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0RjcyNTYzMTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuY3BwICov
OyB9OworCQkxNEY3MjU2NjE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEY3MjU2NDE0RUUy
NjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRGOTc0NDcxMzhDODUzRTAwREExQzY3IC8qIEhl
YXBSb290VmlzaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTRGOTc0NDYxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBMjhENEE4MTc3
QjcxQzgwMDA3RkEzQyAvKiBKU1N0cmluZ1JlZlByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjhENEE3MTc3QjcxQzgwMDA3RkEzQyAvKiBK
U1N0cmluZ1JlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkxQUNGNzM3NzE3MUNBNkZCMDBDOUJCMUUgLyogV2Vhay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNGNzM3NjE3MUNBNkZC
MDBDOUJCMUUgLyogV2Vhay5jcHAgKi87IH07CisJCTI2MDBCNUE2MTUyQkFBQTcwMDkxRUU1RiAv
KiBKU1N0cmluZ0pvaW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNjAwQjVBNDE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuY3Bw
ICovOyB9OworCQkyNjAwQjVBNzE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2MDBCNUE1MTUy
QkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5oICovOyB9OworCQkyQTA1QUJENTE5NjFE
RjI0MDAzNDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBMDVBQkQzMTk2MURGMjQwMDM0MTc1
MCAvKiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwICovOyB9OworCQkyQTA1QUJENjE5NjFE
RjI0MDAzNDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTA1QUJENDE5NjFERjI0MDAzNDE3NTAg
LyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggKi87IH07CisJCTJBMTExMjQ1MTkyRkNFNzkw
MDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkExMTEyNDMxOTJGQ0U3OTAwNUVFMThEIC8qIEN1c3Rv
bUdldHRlclNldHRlci5jcHAgKi87IH07CisJCTJBMTExMjQ2MTkyRkNFNzkwMDVFRTE4RCAvKiBD
dXN0b21HZXR0ZXJTZXR0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJBMTExMjQ0MTkyRkNFNzkwMDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTQ4
RDE5MTE3NzIzNjVCMDBDNjVBNUYgLyogQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxMUI1NzQxNzZBMjI0RDAwMEUy
QTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKKwkJMkE0QkI3RjMxOEE0MTE3OTAw
OEEwRkNEIC8qIEpTTWFuYWdlZFZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBNEJCN0YyMThBNDExNzkwMDhBMEZDRCAvKiBKU01h
bmFnZWRWYWx1ZUludGVybmFsLmggKi87IH07CisJCTJBNEVDOTBCMTg2MEQ2QzIwMDk0Rjc4MiAv
KiBXcml0ZUJhcnJpZXJCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkE0RUM5MDkxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1
ZmZlci5jcHAgKi87IH07CisJCTJBNEVDOTBDMTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJp
ZXJCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJBNEVDOTBBMTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJpZXJCdWZmZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTY4Mjk1QjE4NzVG
ODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2ODI5NUExODc1RjgwNTAwQjZDM0UyIC8qIENvcHlX
cml0ZUJhcnJpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkyQTZGNDYyNjE3RTk1OUNFMDBDNDVDOTggLyogSGVhcE9wZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2RjQ2MjUxN0U5NTlD
RTAwQzQ1Qzk4IC8qIEhlYXBPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkyQTdBNThFRjE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJH
Qy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTdB
NThFRTE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJHQy5jcHAgKi87IH07CisJCTJBODM2Mzg1MThE
N0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBODM2MzgzMThEN0QwRUUwMDAwRUJD
QyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMkE4MzYzODYxOEQ3RDBF
RTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBODM2Mzg0MThEN0QwRUUwMDAwRUJDQyAvKiBF
ZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMkE4MzYzODkxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2
aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkE4MzYzODcxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwICovOyB9OworCQkyQTgzNjM4QTE4RDdEMEZFMDAwMEVCQ0MgLyogRnVsbEdDQWN0aXZpdHlD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkE4MzYzODgxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTg4MDY3ODE5
MTA3RDU1MDBDQjBCQkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE4ODA2NzYxOTEwN0Q1NTAwQ0IwQkJC
IC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmNwcCAqLzsgfTsKKwkJMkE4ODA2NzkxOTEwN0Q1NTAw
Q0IwQkJCIC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTg4MDY3NzE5MTA3RDU1MDBDQjBCQkIgLyogREZHRnVu
Y3Rpb25XaGl0ZWxpc3QuaCAqLzsgfTsKKwkJMkFBQUEzMTIxOEJENDlEMTAwMzk0Q0M4IC8qIFN0
cnVjdHVyZUlEQmxvYi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkFBQUEzMTAxOEJENDlEMTAwMzk0Q0M4IC8qIFN0cnVjdHVyZUlEQmxvYi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJBQUJDREU3MThF
RjI5NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUJDREU2MThFRjI5NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQUFD
RTYzQzE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUNFNjNBMThDQTVBMDMwMEVE
MDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovOyB9OworCQkyQUFDRTYzRDE4Q0E1QTAz
MDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUFDRTYzQjE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rp
dml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMkFBRDk2NEExODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2ZUFsbG9jYXRpb25T
Y29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFB
RDk2NDkxODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5oICovOyB9
OworCQkyQUM5MjJCQjE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQzkyMkI5
MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uY3BwICovOyB9OworCQky
QUM5MjJCQzE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUM5MjJCQTE4QTE2MTgy
MDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggKi87IH07CisJCTJBRDJFREZCMTk3
OTlFMzgwMDRENjQ3OCAvKiBFbnVtZXJhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRDJFREZBMTk3OTlFMzgwMDRENjQ3OCAvKiBFbnVt
ZXJhdGlvbk1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkyQUQ4OTMyQjE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUQ4OTMyOTE3
RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi87IH07CisJCTJBREZBMjYz
MThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFERkEyNjIxOEVGMzU0MDAwNEY5RkNDIC8qIEdDTG9n
Z2luZy5jcHAgKi87IH07CisJCTJBRjczODJDMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJ
RFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLzsgfTsK
KwkJMkFGNzM4MkQxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIw
MDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKKwkJNDEzNTlDRjMw
RkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0
ZUNvbnZlcnNpb24uaCAqLzsgfTsKKwkJNDM0MEE0ODQxQTkwNTFBRjAwRDczQ0NBIC8qIE1hdGhD
b21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDM0MEE0ODIxQTkwNTFBRjAwRDczQ0NBIC8qIE1hdGhDb21tb24uY3BwICovOyB9OworCQk0MzQw
QTQ4NTFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM0MEE0ODMxQTkwNTFBRjAwRDczQ0NBIC8qIE1h
dGhDb21tb24uaCAqLzsgfTsKKwkJNDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICov
OyB9OworCQk0NTE1MzlCOTEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0
IC8qIFlhcnIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk1MjY3OEY4RTFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNjc4RjhDMUEw
MzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovOyB9OworCQk1MjY3OEY4
RjFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjY3OEY4RDFBMDMxMDA5MDA2QTMwNkQg
LyogQmFzaWNCbG9ja0xvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJNTI2NzhGOTExQTA0MTc3QzAwNkEzMDZEIC8qIENvbnRyb2xGbG93
UHJvZmlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUyNjc4RjkwMUEwNDE3N0MwMDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTI3NzczREUxQUFG
ODNBQzAwQkRFN0U4IC8qIFJ1bnRpbWVUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNzc3M0REMUFBRjgzQUMwMEJERTdFOCAvKiBSdW50aW1l
VHlwZS5jcHAgKi87IH07CisJCTUyQjMxMEZCMTk3NEFFNjEwMDgwODU3QyAvKiBGdW5jdGlvbkhh
c0V4ZWN1dGVkQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUyQjMxMEZBMTk3NEFFNjEwMDgwODU3QyAvKiBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2Fj
aGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1
MkIzMTBGRDE5NzRBRTg3MDA4MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjMxMEZDMTk3
NEFFODcwMDgwODU3QyAvKiBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUuY3BwICovOyB9OworCQk1
MkIzMTBGRjE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJCMzEwRkUxOTc1QjQyNDAw
ODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmNwcCAqLzsgfTsKKwkJNTJCMzExMDExOTc1QjQ2
NzAwODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkIzMTEwMDE5NzVCNDY3MDA4MDg1N0MgLyogVHlwZUxv
Y2F0aW9uQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk1MkI3MTdCNTFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkI3MTdC
NDFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5jcHAgKi87IH07CisJCTUy
QzA2MTFGMUFBNTFFMUMwMEI0QURCQSAvKiBSdW50aW1lVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDMDYxMUQxQUE1MUUxQjAwQjRBREJBIC8q
IFJ1bnRpbWVUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNTJDOTUyQjcxOUEyODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDOTUyQjYxOUEyODk4
NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTUyQzk1MkI5MTlBMjhBMUMwMDY5QjM4NiAvKiBUeXBlUHJv
ZmlsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTJDOTUyQjgxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgKi87IH07CisJCTVE
NTM3MjZGMEUxQzU0ODgwMDIxRTU0OSAvKiBUcmFjaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDUzNzI2RTBFMUM1NDg4MDAyMUU1NDkgLyogVHJh
Y2luZy5oICovOyB9OworCQk1RDVEOEFEMTBFMEQwRUJFMDBGOUM2OTIgLyogbGliZWRpdC5keWxp
YiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVENUQ4
QUQwMEUwRDBFQkUwMEY5QzY5MiAvKiBsaWJlZGl0LmR5bGliICovOyB9OworCQk1REJCMTUxQjEz
MUQwQjMxMDA1NkFEMzYgLyogdGVzdGFwaS5qcyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RDg1Nzc0MEE0Njk2QzgwMDMyMTQ2QyAv
KiB0ZXN0YXBpLmpzICovOyB9OworCQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRv
bS5qcyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovOyB9OworCQk1
REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1NDAyNTU1OTdEMDFGRjYw
RjcgLyogY3JlYXRlX2hhc2hfdGFibGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsg
fTsgfTsKKwkJNjJEMkQzOEYxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEQx
QURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovOyB9OworCQk2MkQyRDM5
MDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMxIC8q
IEZ1bmN0aW9uUmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk2MkYyQUEzNzFCMEJFREUzMDA2MTBDN0EgLyogREZHTGF6eU5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJBOUEyOUUx
QjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLzsgfTsKKwkJNjJGMkFBMzgxQjBC
RURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6eU5v
ZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2
NTA3RDI5RTBFODcxRTVFMDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUwN0QyOTcwRTg3MUU0QTAwRDdEODk2IC8q
IEpTVHlwZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2NTExMjJGRDE0MDQ2QTRDMDAyQjEwMUQgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMy
RjVCRDkwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsK
KwkJNjUxMTIyRkUxNDA0NkE0QzAwMkIxMDFEIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJhbWV3b3Jr
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDVEOEFEMDBFMEQwRUJFMDBG
OUM2OTIgLyogbGliZWRpdC5keWxpYiAqLzsgfTsKKwkJNjUxMTIzMDcxNDA0NkIwQTAwMkIxMDFE
IC8qIHRlc3RSZWdFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjUxMTIyRTUxNDA0NjlCQTAwMkIxMDFEIC8qIHRlc3RSZWdFeHAuY3BwICovOyB9
OworCQk2NTE0RjIxOTE4QjNFMTY3MDA5OEZGOEIgLyogQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTE0RjIxNzE4QjNFMTY3MDA5OEZG
OEIgLyogQnl0ZWNvZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNjUzMDNENjQxNDQ3QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUzMDNENjMxNDQ3
QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1NDZGNTIxMUEzMkIzMTMwMDZGMDdENSAvKiBOdWxs
R2V0dGVyRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjU0NkY1MUYxQTMyQTU5QzAwNkYwN0Q1IC8qIE51bGxHZXR0ZXJGdW5jdGlvbi5j
cHAgKi87IH07CisJCTY1NTI1RkM1MUE2REQ4MDEwMDdCNTQ5NSAvKiBOdWxsU2V0dGVyRnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1
MjVGQzMxQTZERDNCMzAwN0I1NDk1IC8qIE51bGxTZXR0ZXJGdW5jdGlvbi5jcHAgKi87IH07CisJ
CTY1NTNBMzMxMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTNBMzJG
MTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNwcCAqLzsgfTsK
KwkJNjU1M0EzMzIxN0ExRjFFRTAwOENGNkYzIC8qIENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTNBMzMw
MTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmggKi87IH07CisJ
CTY1NTcwRjVBMUFBNEMzRUEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1NzBGNTkxQUE0QzAwQTAwOUIz
QzIzIC8qIFJlZ3Jlc3MxNDEyNzUubW0gKi87IH07CisJCTY1NUVCMjlCMTBDRTI1ODEwMDFBOTkw
RSAvKiBOb2Rlc0NvZGVnZW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjU1RUIyOUExMENFMjU4MTAwMUE5OTBFIC8qIE5vZGVzQ29kZWdlbi5jcHAg
Ki87IH07CisJCTY1N0NGNDU4MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTdDRjQ1NjE5QkY2NjYy
MDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovOyB9OworCQk2NTdDRjQ1OTE5QkY2NjYyMDA0QUNC
RjIgLyogSlNDYWxsZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1OEQzQTU2MTk2MzgyNjgw
MDNDNDVENiAvKiBWTUVudHJ5UmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NThEM0E1NTE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29y
ZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1
QzAyODUwMTcxNzk1RTIwMDM1MUUzNSAvKiBBUk12N0Rpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUMwMjg0RjE3MTc5NUUyMDAz
NTFFMzUgLyogQVJNdjdEaXNhc3NlbWJsZXIuY3BwICovOyB9OworCQk2NUMwMjg1QzE3MTc5NjY4
MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1QzAyODVBMTcxNzk2NjgwMDM1MUUzNSAvKiBBUk12N0RPcGNv
ZGUuY3BwICovOyB9OworCQk2NUMwMjg1RDE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdET3Bjb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUMwMjg1
QjE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmggKi87IH07CisJCTY1RkI1MTE3MTg0
RUVFNzAwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJv
dG9DYWxsRnJhbWUuY3BwICovOyB9OworCQk2QUQyQ0I0RDE5QjkxNDAxMDAwNjU3MTkgLyogRGVi
dWdnZXJFdmFsRW5hYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkFEMkNCNEMxOUI5MTQwMTAwMDY1NzE5IC8qIERlYnVnZ2VyRXZhbEVuYWJsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MDEx
M0Q0QjFBOERCMDkzMDAzODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwMTEzRDQ5MUE4REIwOTMwMDM4
NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMuY3BwICovOyB9OworCQk3MDExM0Q0QzFBOERCMDkz
MDAzODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDExM0Q0QTFBOERCMDkzMDAzODQ4QzQgLyogSXRlcmF0
b3JPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzA1QjQxQUIxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDVCNDFBMzFBNkU1MDFFMDA3
MTY3NTcgLyogU3ltYm9sLmNwcCAqLzsgfTsKKwkJNzA1QjQxQUMxQTZFNTAxRTAwNzE2NzU3IC8q
IFN5bWJvbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzA1QjQxQTQxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwNUI0MUFEMUE2RTUwMUUwMDcxNjc1NyAv
KiBTeW1ib2xDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MDVCNDFBNTFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sQ29uc3RydWN0
b3IuY3BwICovOyB9OworCQk3MDVCNDFBRTFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sQ29uc3Ry
dWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcw
NUI0MUE2MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwNUI0MUFGMUE2RTUwMUUw
MDcxNjc1NyAvKiBTeW1ib2xPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzA1QjQxQTcxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbE9iamVj
dC5jcHAgKi87IH07CisJCTcwNUI0MUIwMUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xPYmplY3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwNUI0MUE4
MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MDVCNDFCMTFBNkU1MDFFMDA3MTY3NTcgLyog
U3ltYm9sUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcwNUI0MUE5MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xQcm90b3R5cGUuY3Bw
ICovOyB9OworCQk3MDVCNDFCMjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDVCNDFBQTFB
NkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzA5NEM0REUxQUU0Mzk1MzAwNDFBMkVFIC8q
IEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzA5NEM0REMxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2Rl
SW50cmluc2ljUmVnaXN0cnkuY3BwICovOyB9OworCQk3MDk0QzRERjFBRTQzOTUzMDA0MUEyRUUg
LyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2Rl
SW50cmluc2ljUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk3MDlGQjg2NzFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODYxMUFF
MzM1QzYwMDM5RDA2OSAvKiBKU1dlYWtTZXQuY3BwICovOyB9OworCQk3MDlGQjg2ODFBRTMzNUM2
MDAzOUQwNjkgLyogSlNXZWFrU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MDlGQjg2MjFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzA5RkI4Njkx
QUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDlGQjg2MzFBRTMzNUM2MDAzOUQwNjkg
LyogV2Vha1NldENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJNzA5RkI4NkExQUUzMzVDNjAwMzlE
MDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzA5RkI4NjQxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25z
dHJ1Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTcwOUZCODZCMUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODY1MUFFMzM1
QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJNzA5RkI4NkMxQUUz
MzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODY2MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFr
U2V0UHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzBCMEE5RDExQTlCNjY0NjAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBCMEE5RDAxQTlCNjYy
MDAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTcwREMzRTA5MUIyREYyQzcwMDA1NDI5OSAvKiBJdGVyYXRv
clByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3MERDM0UwNzFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuY3BwICov
OyB9OworCQk3MERDM0UwQTFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwREMzRTA4MUIy
REYyQzcwMDA1NDI5OSAvKiBJdGVyYXRvclByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwRUMwRUMyMUFBMEQ3REEwMEI2QUFGQSAv
KiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDcwRUMwRUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9y
LmNwcCAqLzsgfTsKKwkJNzBFQzBFQzMxQUEwRDdEQTAwQjZBQUZBIC8qIEpTU3RyaW5nSXRlcmF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUMw
RUJEMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzBFQzBFQzYxQUEwRDdEQTAwQjZB
QUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUMwRUMwMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJp
bmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CisJCTcwRUMwRUM3MUFBMEQ3REEwMEI2QUFG
QSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQzBFQzExQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0
ZXJhdG9yUHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNzBFQ0E2MDUxQUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3Ry
eUtleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MEVDQTYwMDFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmNwcCAqLzsg
fTsKKwkJNzBFQ0E2MDYxQUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MDEx
QUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwRUNBNjA3MUFGREJFQTIwMDQ0
OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJl
Z2lzdHJ5LmNwcCAqLzsgfTsKKwkJNzBFQ0E2MDgxQUZEQkVBMjAwNDQ5NzM5IC8qIFRlbXBsYXRl
UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcwRUNBNjAzMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzBFQ0E2MDkxQUZEQkVB
MjAwNDQ5NzM5IC8qIFRlbXBsYXRlUmVnaXN0cnlLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1w
bGF0ZVJlZ2lzdHJ5S2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJN0MwMDhDRDIxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9u
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzAw
OENEMDE4NkY4QTkzMDA5NTVDMjQgLyogSlNQcm9taXNlRnVuY3Rpb25zLmNwcCAqLzsgfTsKKwkJ
N0MwMDhDRDMxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwMDhDRDExODZGOEE5MzAw
OTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMDA4Q0RBMTg3MTI0QkIwMDk1NUMyNCAvKiBKU1By
b21pc2VEZWZlcnJlZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QzAwOENEODE4NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQuY3Bw
ICovOyB9OworCQk3QzAwOENEQjE4NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMDA4Q0Q5
MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMDA4Q0RFMTg3MTI1OEQwMDk1NUMy
NCAvKiBKU1Byb21pc2VSZWFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNlUmVh
Y3Rpb24uY3BwICovOyB9OworCQk3QzAwOENERjE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNl
UmVhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDMDA4Q0REMTg3MTI1OEQwMDk1NUMyNCAvKiBKU1Byb21pc2VSZWFjdGlvbi5oICovOyB9Owor
CQk3QzAwOENFNzE4NzYzMUI2MDA5NTVDMjQgLyogTWljcm90YXNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzAwOENFNTE4NzYzMUI2MDA5NTVDMjQg
LyogTWljcm90YXNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJN0MxODRFMUExN0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzE4NEUxODE3QkVEQkQz
MDA3Q0I2M0EgLyogSlNQcm9taXNlLmNwcCAqLzsgfTsKKwkJN0MxODRFMUIxN0JFREJEMzAwN0NC
NjNBIC8qIEpTUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0MxODRFMTkxN0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMTg0RTFFMTdCRUUy
MkUwMDdDQjYzQSAvKiBKU1Byb21pc2VQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxODRFMUMxN0JFRTIyRTAwN0NCNjNBIC8qIEpT
UHJvbWlzZVByb3RvdHlwZS5jcHAgKi87IH07CisJCTdDMTg0RTFGMTdCRUUyMkUwMDdDQjYzQSAv
KiBKU1Byb21pc2VQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDMTg0RTFEMTdCRUUyMkUwMDdDQjYzQSAvKiBKU1Byb21pc2VQcm90b3R5
cGUuaCAqLzsgfTsKKwkJN0MxODRFMjIxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDMTg0RTIwMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAgKi87
IH07CisJCTdDMTg0RTIzMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxODRFMjEx
N0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9yLmggKi87IH07CisJCTdFNEVF
NzA5MEVCQjc5NjMwMDU5MzRBQSAvKiBTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U0RUU3MDgwRUJCNzk2MzAwNTkzNEFBIC8q
IFN0cnVjdHVyZUNoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJN0U0RUU3MEYwRUJCN0E1QjAwNTkzNEFBIC8qIFN0cnVjdHVyZUNoYWluLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNEVFNzBF
MEVCQjdBNUIwMDU5MzRBQSAvKiBTdHJ1Y3R1cmVDaGFpbi5jcHAgKi87IH07CisJCTg0MDQ4MDEz
MTAyMUExRDkwMDhFN0YwMSAvKiBKU0FQSVZhbHVlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwODk0RDYwRkFGQkEyRDAwMDAxODY1IC8q
IEpTQVBJVmFsdWVXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJODYwMTYxRTMwRjNBODNDMTAwRjg0NzEwIC8qIEFic3RyYWN0TWFjcm9B
c3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2MDE2MURGMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYwMTYxRTQw
RjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjAxNjFFMDBGM0E4M0MxMDBGODQ3MTAgLyog
TWFjcm9Bc3NlbWJsZXJYODYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk4NjAxNjFFNTBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJY
ODZfNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MDE2MUUxMEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2MDE2MUU2MEYzQTgz
QzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYwMTYxRTIwRjNBODNDMTAwRjg0NzEwIC8q
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYwNkRERUExOERBNDRBQjAwQTM4M0QwIC8qIElkZW50aWZp
ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjBCRDgwMTE0OEVB
NkYyMDAxMTJCMkYgLyogSW50cmluc2ljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkJGNjQyQTE0OERCMkI1MDA0REUzNkEgLyogSW50cmluc2ljLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYxMkU0
Q0QxNTIzODlFQzAwQzgzNkJFIC8qIE1hdGNoUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjEyRTRDQjE1MjI5MTg0MDBDODM2QkUgLyogTWF0
Y2hSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk4NjE1OEFCMzE1NUM4QjQwMDBCNDVDOUMgLyogUHJvcGVydHlOYW1lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjE1OEFCMjE1NUM4QjNGMDBC
NDVDOUMgLyogUHJvcGVydHlOYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODYyNTUzRDExNjEzNkRBOTAwOUYxN0QwIC8qIEpTUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyNTUzQ0Ux
NjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuY3BwICovOyB9OworCQk4NjI1NTNEMjE2MTM2RTFB
MDA5RjE3RDAgLyogSlNQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODYyNTUzQ0YxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjNCMjNFMDBGQzYx
MTg5MDA3MDNBQTQgLyogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjNCMjNERjBGQzYwRTYyMDA3MDNBQTQgLyog
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODYzQzZEOUMxNTIxMTExQTAwNTg1RTRFIC8qIFlhcnJDYW5vbmlj
YWxpemVVQ1MyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2M0M2RDk4MTUyMTExMTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAg
Ki87IH07CisJCTg2NDJDNTEwMTUxQzA2QTkwMDQ2RDRFRiAvKiBSZWdFeHBDYWNoZWRSZXN1bHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGNzVF
RkIxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cENhY2hlZFJlc3VsdC5jcHAgKi87IH07CisJCTg2
NDJDNTEyMTUxQzA4M0QwMDQ2RDRFRiAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGNzVFRkQxNTFDMDYyRjAw
N0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAgKi87IH07CisJCTg2NUEzMEYxMTM1MDA3
RTEwMENEQjQ5RSAvKiBKU0NKU1ZhbHVlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1QTMwRjAxMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pT
VmFsdWVJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODY2NzM5RDIxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NjczOUQwMTNCRkRFNzEw
MDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggKi87IH07CisJCTg2NjczOUQzMTNCRkRFNzEwMDIzRDg3
QyAvKiBVaW50MTZXaXRoRnJhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2NjczOUQxMTNCRkRFNzEwMDIzRDg3QyAvKiBVaW50MTZXaXRoRnJh
Y3Rpb24uaCAqLzsgfTsKKwkJODY3MDRCNDIxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhD
aGVja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2NzA0QjQwMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5jcHAgKi87IH07
CisJCTg2NzA0QjQzMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY3MDRCNDExMkRCOEE4
MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmggKi87IH07CisJCTg2NzA0Qjg0MTJEQkEz
MzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY3MDRCN0QxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJ
bnRlcnByZXRlci5jcHAgKi87IH07CisJCTg2NzA0Qjg1MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJy
SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NzA0QjdFMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjcwNEI4NjEyREJB
MzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI3RjEyREJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAg
Ki87IH07CisJCTg2NzA0Qjg3MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySklULmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI4MDEyREJBMzM3MDBB
OUZFN0IgLyogWWFyckpJVC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTg2NzA0Qjg4MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJyUGFyc2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI4MTEyREJB
MzM3MDBBOUZFN0IgLyogWWFyclBhcnNlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTg2NzA0Qjg5MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJyUGF0
dGVybi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NjcwNEI4MjEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uY3BwICovOyB9OworCQk4Njcw
NEI4QTEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NzA0QjgzMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTg2ODgwRjFGMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgw
RjFCMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsK
KwkJODY4ODBGNEQxNDM1M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4ODBGNEMxNDM1
M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwICovOyB9OworCQk4Njg5MTZC
MDE1NUYyODYzMDBDQjJCOUEgLyogUHJpdmF0ZU5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODkxNkE5MTU1RjI4NTQwMENCMkI5QSAvKiBQcml2
YXRlTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTg2OUVCQ0I3MEU4QzZENEEwMDg3MjJDQyAvKiBSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjlFQkNCNjBFOEM2RDRBMDA4NzIy
Q0MgLyogUmVzdWx0VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTg2QTkwRUQwMEVFN0Q1MUYwMEFCMzUwRCAvKiBKSVRBcml0aG1ldGljLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTkwRUNG
MEVFN0Q1MUYwMEFCMzUwRCAvKiBKSVRBcml0aG1ldGljLmNwcCAqLzsgfTsKKwkJODZBREQxNDUw
RkRERUE5ODAwMDZFRUMyIC8qIEFSTXY3QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkFERDE0MzBGRERFQTk4MDAwNkVFQzIgLyogQVJN
djdBc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk4NkFERDE0NjBGRERFQTk4MDAwNkVFQzIgLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZBREQxNDQw
RkRERUE5ODAwMDZFRUMyIC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkFFNjRBOTEzNUU1RTFDMDA5NjMw
MTIgLyogTWFjcm9Bc3NlbWJsZXJTSDQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2QUU2NEE2MTM1RTVFMUMwMDk2MzAxMiAvKiBNYWNyb0Fzc2VtYmxl
clNINC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTg2QUU2NEFBMTM1RTVFMUMwMDk2MzAxMiAvKiBTSDRBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QUU2NEE3MTM1RTVFMUMwMDk2MzAx
MiAvKiBTSDRBc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk4NkI1ODI2NzE0RDI3OTZDMDBBOUMzMDYgLyogQ29kZVByb2ZpbGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCNTgyMkUx
NEQyMzczQjAwQTlDMzA2IC8qIENvZGVQcm9maWxlLmNwcCAqLzsgfTsKKwkJODZCNTgyNjkxNEQy
Nzk3MDAwQTlDMzA2IC8qIENvZGVQcm9maWxpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYwM0NFRjIxNEM3NTQ2NDAwQUU1OUUzIC8qIENvZGVQ
cm9maWxpbmcuY3BwICovOyB9OworCQk4NkMzNkVFQTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9B
c3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2QzM2RUU5MEVFMTI4OUQwMEIzREY1OSAvKiBNYWNyb0Fzc2VtYmxlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2QzU2OEUwMTFBMjEzRUUw
MDA3RjdGMCAvKiBNYWNyb0Fzc2VtYmxlckFSTS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkM1NjhERDExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9B
c3NlbWJsZXJBUk0uY3BwICovOyB9OworCQk4NkM1NjhFMTExQTIxM0VFMDAwN0Y3RjAgLyogTWFj
cm9Bc3NlbWJsZXJNSVBTLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NkM1NjhERTExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJNSVBTLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZDNTY4
RTIxMUEyMTNFRTAwMDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QzU2OERGMTFBMjEzRUUwMDA3RjdGMCAvKiBN
SVBTQXNzZW1ibGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODZDQTAzMkUxMDM4RTg0NDAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQTAzMkQxMDM4RTg0
NDAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuY3BwICovOyB9OworCQk4NkNBRkVFMzEwMzVEREU2MDAy
OEE2MDkgLyogRXhlY3V0YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZDQUZFRTIxMDM1RERFNjAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkNDODVBMTBF
RTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QTAwRUU3OUE0NzAwMjg4NjgyIC8qIEpJVElubGlu
ZXMuaCAqLzsgfTsKKwkJODZDQzg1QTMwRUU3OUI3NDAwMjg4NjgyIC8qIEpJVENhbGwuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QTIwRUU3
OUI3NDAwMjg4NjgyIC8qIEpJVENhbGwuY3BwICovOyB9OworCQk4NkNDODVDNDBFRTdBODk0MDAy
ODg2ODIgLyogSklUUHJvcGVydHlBY2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QzMwRUU3QTg5NDAwMjg4NjgyIC8qIEpJVFByb3Bl
cnR5QWNjZXNzLmNwcCAqLzsgfTsKKwkJODZDQ0VGREUwRjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENv
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2Q0NF
RkREMEY0MTNGODkwMEZEN0Y5RSAvKiBKSVRDb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZEMjIyMUExNjdFRjk0NDAwMjRDODA0IC8qIHRl
c3RhcGkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NkQyMjIxOTE2N0VGOTQ0MDAyNEM4MDQgLyogdGVzdGFwaS5tbSAqLzsgfTsKKwkJODZEM0IyQzMx
MDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkQzQjJCRjEwMTU2QkRFMDAyODY1RTcgLyogQVJN
QXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJODZEM0IyQzQxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZEM0IyQzAxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RDNCMkM1MTAxNTZCREUwMDI4
NjVFNyAvKiBBc3NlbWJsZXJCdWZmZXJXaXRoQ29uc3RhbnRQb29sLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkQzQjJDMTEwMTU2QkRFMDAyODY1RTcg
LyogQXNzZW1ibGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RDNCMkM2MTAxNTZCREUwMDI4NjVFNyAv
KiBNYWNyb0Fzc2VtYmxlckFSTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZEM0IyQzIxMDE1NkJERTAwMjg2NUU3IC8qIE1hY3JvQXNzZW1ibGVyQVJN
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZE
M0IzQzMxMDE1OUQ3RjAwMjg2NUU3IC8qIExpbmtCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RDNCM0MxMTAxNTlEN0YwMDI4NjVFNyAvKiBM
aW5rQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJODZEM0IzQzQxMDE1OUQ3RjAwMjg2NUU3IC8qIFJlcGF0Y2hCdWZmZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RDNCM0MyMTAxNTlEN0Yw
MDI4NjVFNyAvKiBSZXBhdGNoQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZEQjY0NjQwRjk1QzZGQzAwRDdEOTIxIC8qIEV4ZWN1dGFi
bGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkRCNjQ2MzBGOTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFs
bG9jYXRvckZpeGVkVk1Qb29sLmNwcCAqLzsgfTsKKwkJODZFMTE2QjEwRkU3NUFDODAwQjUxMkJD
IC8qIENvZGVMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZFMTE2QjAwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2NhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RTNDNjEyMTY3
QkFCRDcwMDZENzYwQSAvKiBKU1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwNjE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJODZFM0M2MTMx
NjdCQUJENzAwNkQ3NjBBIC8qIEpTQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MDcxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTQ29udGV4
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJODZF
M0M2MTQxNjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwQTE2N0JBQjg3MDA2RDc2MEEgLyogSlNF
eHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJ
CTg2RTNDNjE1MTY3QkFCRDcwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwRjE2N0JBQjg3MDA2
RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKKwkJODZFM0M2MTYxNjdCQUJFRTAwNkQ3NjBBIC8qIEpTQ29udGV4
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTND
NjA4MTY3QkFCODcwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gKi87IH07CisJCTg2RTNDNjE3MTY3
QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MDkxNjdCQUI4NzAwNkQ3NjBBIC8qIEpT
Q29udGV4dEludGVybmFsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJODZFM0M2MTgxNjdCQUJFRTAwNkQ3NjBBIC8qIEpTV3JhcHBlck1hcC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjBCMTY3
QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gKi87IH07CisJCTg2RTNDNjE5MTY3QkFC
RUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjBDMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJN
YXAuaCAqLzsgfTsKKwkJODZFM0M2MUExNjdCQUJFRTAwNkQ3NjBBIC8qIEpTVmFsdWUubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwRDE2N0JB
Qjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5tbSAqLzsgfTsKKwkJODZFM0M2MUIxNjdCQUJFRTAwNkQ3
NjBBIC8qIEpTVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZFM0M2MEUxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmFsdWVJbnRlcm5h
bC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2
RTNDNjFDMTY3QkFCRUUwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MTAxNjdCQUI4NzAwNkQ3
NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUubW0gKi87IH07CisJCTg2RTNDNjFEMTY3QkFCRUUwMDZE
NzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjExMTY3QkFCODcwMDZENzYwQSAvKiBKU1Zp
cnR1YWxNYWNoaW5lSW50ZXJuYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk4NkU4NTUzOTExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWls
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkU4
NTUzODExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWlsZGVyLmggKi87IH07CisJCTg2RUM5
REM0MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkVDOURCNDEzMjhERjgyMDAyQjJB
RDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuY3BwICovOyB9OworCQk4NkVDOURDNTEzMjhERjgyMDAy
QjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REI1MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29k
ZVBhcnNlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTg2RUM5REM2MTMyOERGODIwMDJCMkFENyAvKiBERkdHZW5lcmF0aW9uSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQjYxMzI4REY4
MjAwMkIyQUQ3IC8qIERGR0dlbmVyYXRpb25JbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZFQzlEQzcxMzI4REY4MjAwMkIyQUQ3IC8qIERG
R0dyYXBoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RUM5REI3MTMyOERGODIwMDJCMkFENyAvKiBERkdHcmFwaC5jcHAgKi87IH07CisJCTg2RUM5
REM4MTMyOERGODIwMDJCMkFENyAvKiBERkdHcmFwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQjgxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dy
YXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
ODZFQzlEQ0IxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REJCMTMyOERGODIwMDJC
MkFENyAvKiBERkdKSVRDb21waWxlci5jcHAgKi87IH07CisJCTg2RUM5RENDMTMyOERGODIwMDJC
MkFENyAvKiBERkdKSVRDb21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZFQzlEQkMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZF
QzlEQ0YxMzI4REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQkYxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR09wZXJhdGlvbnMuY3BwICovOyB9OworCQk4NkVDOUREMDEzMjhERjgyMDAyQjJBRDcg
LyogREZHT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZFQzlEQzAxMzI4REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkVDOUREMTEz
MjhERjgyMDAyQjJBRDcgLyogREZHUmVnaXN0ZXJCYW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkVDOURDMTEzMjhERjgyMDAyQjJBRDcgLyogREZH
UmVnaXN0ZXJCYW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODZFQzlERDIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZlSklULmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMy
MTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5jcHAgKi87IH07CisJCTg2RUM5
REQzMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR1NwZWN1bGF0aXZlSklULmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODZFQ0EzRUExMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUNBM0U5MTMy
REVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZFQ0EzRkExMzJERjI1QTAwMkIyQUQ3IC8qIERGR1Njb3Jl
Qm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RUNBM0Y5MTMyREYyNUEwMDJCMkFENyAvKiBERkdTY29yZUJvYXJkLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZGM0VFQkQxNjhDREU5MzAwNzdC
OTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCOTE2OENDRjc1MDA3N0I5MkEgLyogT2JqQ0NhbGxi
YWNrRnVuY3Rpb24uaCAqLzsgfTsKKwkJODZGM0VFQkUxNjhDREU5MzAwNzdCOTJBIC8qIE9iakND
YWxsYmFja0Z1bmN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZGM0VFQkExNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9u
Lm1tICovOyB9OworCQk4NkYzRUVCRjE2OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRy
YXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNF
RUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9OworCQk4NkZB
OUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovOyB9OworCQk4NkZBOUU5MjE0MkJCQjJFMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9u
LmggKi87IH07CisJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEz
RTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKKwkJOTAy
MTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJG
MyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUy
QzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CisJCTkzMDUyQzM1
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTMyRjVCRDMwODIyQTFDNzAwNzM2OTc1IC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjBBNENG
MDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CisJCTkz
MkY1QkQ2MDgyMkExQzcwMDczNjk3NSAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFC
IC8qIGxpYm9iamMuZHlsaWIgKi87IH07CisJCTkzMkY1QkQ3MDgyMkExQzcwMDczNjk3NSAvKiBs
aWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTMyMkEwMDMwNkMzNDFEMzAwOTA2N0JCIC8qIGxpYmljdWNvcmUuZHlsaWIgKi87
IH07CisJCTkzMkY1QkREMDgyMkExQzcwMDczNjk3NSAvKiBqc2MuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi87IH07CisJCTkzMkY1QkVBMDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2Ny
aXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzJGNUJEOTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrICovOyB9OworCQk5MzMwNDAwNDBFNkE3NDk0MDA3ODZFNkEgLyogU21hbGxTdHJpbmdz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzMwM0ZF
QTBFNkE3MkMwMDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTMzMDQwMkMwRTZBNzY0MDAwNzg2RTZBIC8q
IFNtYWxsU3RyaW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzMwM0ZFODBFNkE3MkI1MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNwcCAqLzsg
fTsKKwkJOTMzNUYyNEQxMkU2NzY1QjAwMkI1NTUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzNDVB
ODcxMkQ4MzhDNDAwMzAyQkUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwICovOyB9Owor
CQk5NTM0QUFGQjBFNUI3QTk2MDBCOEE0NUIgLyogSlNQcm9maWxlclByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MkM2M0FDMEU0Nzc3RDYw
MEMxMzkzNiAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk1NzQyRjY1MEREMTFGNUEwMDA5MTdGQiAvKiBQcm9m
aWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
NzQyRjYzMEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCAqLzsgfTsKKwkJOTVBQjgzNDIw
REE0MzIyNTAwQkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QUI4MzJFMERBNDJDQUQwMEJDODNGMyAvKiBM
ZWdhY3lQcm9maWxlci5jcHAgKi87IH07CisJCTk1QUI4MzU2MERBNDNDMzAwMEJDODNGMyAvKiBQ
cm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NUFCODM1NDBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuY3BwICovOyB9Owor
CQk5NUNENDU3NjBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUNENDU3NDBFMUM0RkRE
MDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi87IH07CisJCTk1Q0Q0NTc3MEUxQzRG
REQwMDg1MzU4RSAvKiBQcm9maWxlR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUNENDU3NTBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmls
ZUdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTk1
RTNCQzA1MEUxQUU2ODIwMEIyRDFDMSAvKiBDYWxsSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFM0JDMDQwRTFBRTY4MjAwQjJEMUMx
IC8qIENhbGxJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTVGNkU2OTUwRTVCNUY5NzAwOTFFODYwIC8qIEpTUHJvZmlsZXJQcml2
YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
OTg4QkE5MEU0NzdCRUMwMEQyOEQ0RCAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5jcHAgKi87IH07CisJ
CTk2MDA5N0E2MEVCQUJCNTgwMDdBNzI5NyAvKiBMYWJlbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjAwOTdBNTBFQkFCQjU4MDA3QTcyOTcg
LyogTGFiZWxTY29wZS5oICovOyB9OworCQk5Njg4Q0IxNTBFRDEyQjRFMDAxRDY0OUYgLyogQXNz
ZW1ibGVyQnVmZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5Njg4Q0IxMzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTY4OENCMTYwRUQx
MkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTY4OENCMTQwRUQxMkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2Vt
Ymxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTk2OUEwNzIzMEVEMUNFMzMwMEYxRjY4MSAvKiBCeXRlY29kZUdlbmVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3MjEwRUQxQ0UzMzAw
RjFGNjgxIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmggKi87IH07CisJCTk2OUEwNzJBMEVEMUNFNjkw
MEYxRjY4MSAvKiBMYWJlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTY5QTA3MjcwRUQxQ0U2OTAwRjFGNjgxIC8qIExhYmVsLmggKi87IH07CisJCTk2
OUEwNzJCMEVEMUNFNjkwMEYxRjY4MSAvKiBSZWdpc3RlcklELmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDcyODBFRDFDRTY5MDBGMUY2ODEgLyog
UmVnaXN0ZXJJRC5oICovOyB9OworCQk5NjlBMDc5NjBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJs
b2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2
OUEwNzkwMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwICovOyBzZXR0aW5ncyA9IHtD
T01QSUxFUl9GTEFHUyA9ICItZm5vLXN0cmljdC1hbGlhc2luZyI7IH07IH07CisJCTk2OUEwNzk3
MEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2OUEwNzkxMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxv
Y2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5
NjlBMDc5ODBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3OTIwRUQxRDNBRTAwRjFGNjgx
IC8qIEV2YWxDb2RlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5NjlBMDc5OTBFRDFEM0FFMDBGMUY2ODEgLyogSW5zdHJ1Y3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2OUEwNzkzMEVE
MUQzQUUwMEYxRjY4MSAvKiBJbnN0cnVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk2OUEwNzlBMEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5
QTA3OTQwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5jcHAgKi87IH07CisJCTk2OUEwNzlCMEVE
MUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5Nzg4MDE0MDE0
NzFBRDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Nzg4RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRl
TWF0aC5jcHAgKi87IH07CisJCTk3ODgwMTQxMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Nzg4RkMy
MzE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5MjhGRjNCMThBQzRBRUMwMEI4Q0YxMiAvKiBK
U1JlcGxheUlucHV0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5OTI4RkYzOTE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMuY3BwICov
OyB9OworCQk5OTI4RkYzQzE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MjhGRjNBMThBQzRB
RUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NjIzMUU5MThEMTgwNDIwMEMwM0ZEQSAvKiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTMyNDM5NjE4NTZBNDc1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmpzICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTk5Q0MwQjYyMThCRTk5NDYwMDZDRUJDQyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5w
dXRzVGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTlFNDVBMUUxOEExQjFFNzAwMjZEODhGIC8qIENvZGVHZW5lcmF0b3JSZXBsYXlJbnB1
dHNUZW1wbGF0ZXMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJOTlDQzBCNjMxOEJFOTk1MDAwNkNFQkNDIC8qIENvZGVHZW5lcmF0b3JSZXBsYXlJ
bnB1dHMucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUU0NUExRDE4QTFCMUU3MDAyNkQ4OEYgLyogQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5OUU0NUEy
NDE4QTFCMjU5MDAyNkQ4OEYgLyogRW1wdHlJbnB1dEN1cnNvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlFNDVBMUYxOEExQjI1OTAwMjZEODhGIC8q
IEVtcHR5SW5wdXRDdXJzb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5OUU0NUEyNTE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5RTQ1QTIw
MThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuY3BwICovOyB9OworCQk5OUU0NUEyNjE4
QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUEyMTE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2Rl
ZFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTlFNDVBMjcxOEExQjI1OTAwMjZEODhGIC8qIElucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUEyMjE4QTFCMjU5MDAyNkQ4
OEYgLyogSW5wdXRDdXJzb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5OUU0NUEyODE4QTFCMjU5MDAyNkQ4OEYgLyogTm9uZGV0ZXJtaW5pc3Rp
Y0lucHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUU0NUEyMzE4QTFCMjU5MDAyNkQ4OEYgLyogTm9uZGV0ZXJtaW5pc3RpY0lucHV0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOUU3Mjk0MDcxOTBG
MDFBNTAwMUE5MUI1IC8qIEluaXRpYWxpemVUaHJlYWRpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3ODYzNkMwRDlCRUVDMzAwRDc0RTc1IC8q
IEluaXRpYWxpemVUaHJlYWRpbmcuY3BwICovOyB9OworCQk5RTcyOTQwODE5MEYwMjFFMDAxQTkx
QjUgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6
ZUxMVk1QT1NJWC5jcHAgKi87IH07CisJCTlFNzI5NDBCMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
RTcyOTQwQTE5MEYwNTE0MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5oICovOyB9OworCQk5RUE1QzdB
MTE5MEYwODQyMDA1MDhFQkUgLyogQnVuZGxlUGF0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLm1tICovOyB9OworCQk5RUE1QzdBMjE5MEYwODg3MDA1MDhFQkUgLyogSW5pdGlhbGl6
ZUxMVk1NYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxpemVMTFZNTWFjLmNwcCAqLzsg
fTsKKwkJQTEyQkJGRjIxQjA0NEE4QjAwNjY0QjY5IC8qIEludGxPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMkJCRkYxMUIwNDRBOEIwMDY2
NEI2OSAvKiBJbnRsT2JqZWN0LmggKi87IH07CisJCUExMkJCRkY0MUIwNDRBOTgwMDY2NEI2OSAv
KiBJbnRsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExMkJCRkYzMUIwNDRBOTgwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmNwcCAqLzsgfTsK
KwkJQTE3MTJCM0IxMUM3QjIxMjAwN0E1MzE1IC8qIFJlZ0V4cENhY2hlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNzEyQjNBMTFDN0IyMTIwMDdB
NTMxNSAvKiBSZWdFeHBDYWNoZS5jcHAgKi87IH07CisJCUExNzEyQjNGMTFDN0IyMjgwMDdBNTMx
NSAvKiBSZWdFeHBDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE3MTJCM0UxMUM3QjIyODAwN0E1MzE1IC8qIFJlZ0V4cENhY2hlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTE3MTJCNDExMUM3
QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3MTJCNDAxMUM3QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUExQTAw
OUMwMTgzMUEyMkQwMENGODcxMSAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQwOTIzQzE1NkVFRDNCMDA1NjZD
QjIgLyogTWFjcm9Bc3NlbWJsZXJBUk02NC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUExQTAwOUMxMTgzMUEyNkUwMENGODcxMSAvKiBBUk02NEFz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODY0MDkyM0IxNTZFRUQzQjAwNTY2Q0IyIC8qIEFSTTY0QXNzZW1ibGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwM0ZBMTkxODhFMEZCMDAw
MTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNTAzRkExQTE4OEUwRkIwMDAxMTBGMTQgLyog
SmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTUwM0ZBMTQxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuaCAqLzsgfTsKKwkJQTUwM0ZBMUIxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAq
LzsgfTsKKwkJQTUwM0ZBMUQxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTAzRkExNzE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmNwcCAqLzsgfTsKKwkJQTUwM0ZBMUUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5oICovOyB9OworCQlBNTAzRkEyMTE4OEVGRjY4MDAxMTBGMTQgLyog
U2NyaXB0QnJlYWtwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTUwM0ZBMUYxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEy
MjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0
IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTUwM0ZBMjMxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLzsg
fTsKKwkJQTUwM0ZBMjYxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyNDE4OEVG
RkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEyOTE4OEYxMDU5MDAxMTBGMTQgLyog
SlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyNzE4OEYxMDU5MDAxMTBGMTQgLyogSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi87IH07CisJCUE1MDNGQTJBMTg4RjEw
NTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyODE4OEYxMDU5MDAx
MTBGMTQgLyogSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oICovOyB9OworCQlBNTBF
NEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MEU0QjVEMTg4MDlERDUw
MDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovOyB9OworCQlBNTBFNEI2MjE4
ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTBFNEI1RTE4ODA5REQ1MDA2OEE0NkQg
LyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwRTRCNjMxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1MEU0QjVGMTg4MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1
bnRpbWVBZ2VudC5jcHAgKi87IH07CisJCUE1MEU0QjY0MTg4MDlERDUwMDY4QTQ2RCAvKiBKU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwRTRCNjAxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0
UnVudGltZUFnZW50LmggKi87IH07CisJCUE1MTAwN0MwMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87IH07CisJCUE1MTAwN0MxMTg3Q0Mz
QzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTAwN0JGMTg3Q0MzQzYw
MEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgfTsKKwkJ
QTUxM0U1QjcxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTNFNUI1MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi87IH07CisJCUE1MTNFNUI4MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUxM0U1QjYxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUx
M0U1QkUxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1QjkxODVCRkFDQzAwN0U5
NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1MTNFNUJGMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVj
dGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTEzRTVCQTE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3Qu
Y3BwICovOyB9OworCQlBNTEzRTVDMDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlw
dEhvc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
MTNFNUJCMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5oICovOyB9Owor
CQlBNTEzRTVDMTE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUx
M0U1QkMxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNw
cCAqLzsgfTsKKwkJQTUxM0U1QzIxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRI
b3N0UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90
b3R5cGUuaCAqLzsgfTsKKwkJQTUxM0U1QzcxODVGOTQ0NjAwN0U5NUFEIC8qIEluamVjdGVkU2Ny
aXB0U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTEzRTVDNjE4NUY5NDM2MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLzsg
fTsKKwkJQTUxM0U1Q0ExODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRTVD
ODE4NUY5NjI0MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJ
QTUxM0U1Q0IxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1QzkxODVGOTYy
NDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MTRCMkMyMTg1QTY4NDQwMEYzQzdDQiAv
KiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUxNEIyQzAxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0
QmFzZS5jcHAgKi87IH07CisJCUE1MTRCMkMzMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNj
cmlwdEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1MTRCMkMxMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTMyNDM4NzE4NTY4
MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzgxMTg1NjgzMTcwMDJF
RDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OworCQlBNTMyNDM4
ODE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM4MjE4NTY4MzE3
MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUzMjQzODkxODU2ODMzNTAwMkVE
NjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8q
IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OworCQlBNTMyNDM4QTE4NTY4
MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODQxODU2ODMxNzAwMkVE
NjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTMyNDM4QjE4NTY4MzM1MDAyRUQ2OTIg
LyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuY3BwICovOyB9OworCQlBNTMyNDM4QzE4NTY4MzM1MDAyRUQ2OTIg
LyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM4NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9y
UHJvdG9jb2xPYmplY3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTUzMjQzOTQxODU2OTcwOTAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVk
LWluc3BlY3Rvci1qc29uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTUzMjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWlu
c3BlY3Rvci1qc29uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMuanNv
biBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzk1
MTg1NkE0NzUwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMuanNvbiAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTNDRTA4NTE4QkMxQTU2MDBCRURG
NzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3Rv
dHlwZS5jcHAgKi87IH07CisJCUE1M0NFMDg2MThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovOyB9OworCQlB
NTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAv
KiBKU0NvbnNvbGUuY3BwICovOyB9OworCQlBNTNDRTA4ODE4QkMxQTU2MDBCRURGNzYgLyogSlND
b25zb2xlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTNDRTA4NDE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmggKi87IH07CisJCUE1M0NFMDhB
MThCQzIxQzMwMEJFREY3NiAvKiBDb25zb2xlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4OTE4QkMyMUMzMDBCRURGNzYgLyogQ29u
c29sZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE1M0YxQUMwMThDOTBGOEYwMDcyRUI2RCAvKiBmcmFtZXdvcmsuc2IgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0YxQUJFMThDOTBFQzcw
MDcyRUI2RCAvKiBmcmFtZXdvcmsuc2IgKi87IH07CisJCUE1NDk4MjAzMTg5MUQwQjAwMDgxRTVC
OCAvKiBFdmVudExvb3AuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU0OTgyMDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi87IH07
CisJCUE1NDk4MjA0MTg5MUQwQjAwMDgxRTVCOCAvKiBFdmVudExvb3AuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDk4MjAyMTg5MUQwQjAwMDgxRTVC
OCAvKiBFdmVudExvb3AuaCAqLzsgfTsKKwkJQTU0Q0YyRjUxODRFQUIyNDAwMjM3RjE5IC8qIFNj
cmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NENGMkYyMTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRWYWx1ZS5jcHAgKi87IH07CisJ
CUE1NENGMkY2MTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRWYWx1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0Q0YyRjMxODRFQUIyNDAwMjM3RjE5
IC8qIFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTU0Q0YyRjkxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRDRjJGNzE4
NEVBRURBMDAyMzdGMTkgLyogU2NyaXB0T2JqZWN0LmNwcCAqLzsgfTsKKwkJQTU0Q0YyRkExODRF
QUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0Q0YyRjgxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9i
amVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1NEU4RUIwMThCRkZCQkIwMDU1NkQyOCAvKiBHQ1NlZ21lbnRlZEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTM0M0Y3NDE4QTE3NDhCMDAz
OUIwODUgLyogR0NTZWdtZW50ZWRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1NEU4RUIxMThCRkZCQkUwMDU1NkQyOCAvKiBHQ1NlZ21l
bnRlZEFycmF5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkEzNDNGNzcxOEExNzQ5RDAwMzlCMDg1IC8qIEdDU2VnbWVudGVkQXJyYXlJbmxp
bmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTU1MkMzN0YxQUREQjhGRTAwMTM5NzI2IC8qIEpTUmVtb3RlSW5zcGVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NTJDMzdEMUFEREI4RkUw
MDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5jcHAgKi87IH07CisJCUE1NTJDMzgwMUFEREI4
RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1MkMzN0UxQUREQjhGRTAwMTM5NzI2IC8qIEpTUmVt
b3RlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTU1RDkzQTUxODUwMTJBODAwNDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVEOTNB
MzE4NTAxMkE4MDA0MDBERUQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCAqLzsgfTsKKwkJQTU1
RDkzQTYxODUwMTJBODAwNDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1RDkzQTQxODUwMTJBODAwNDAw
REVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1NUQ5M0FDMTg1MTRGNzkwMDQwMERFRCAvKiBJbnNwZWN0
b3JQcm90b2NvbFR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyogSW5zcGVjdG9yUHJvdG9jb2xUeXBl
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1
N0QyM0U1MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0QyM0UzMTg5MENF
QkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAqLzsgfTsKKwkJQTU3RDIz
RTYxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0QyM0U0MTg5MENFQkYwMDMx
QzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU3RDIzRTkxODkxQjA3NzAwMzFDN0ZBIC8qIEpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNFNzE4OTFCMDc3MDAzMUM3RkEgLyogSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcCAqLzsgfTsKKwkJQTU3RDIzRUExODkxQjA3NzAwMzFDN0ZB
IC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3RDIzRTgxODkxQjA3NzAwMzFDN0ZBIC8qIEpTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oICovOyB9OworCQlBNTdEMjNFRDE4OTFCNTU0MDAzMUM3
RkEgLyogUmVndWxhckV4cHJlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTU3RDIzRUIxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHBy
ZXNzaW9uLmNwcCAqLzsgfTsKKwkJQTU3RDIzRUUxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJF
eHByZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTdEMjNFQzE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTdEMjNGMTE4OTFC
NUI0MDAzMUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNFRjE4OTFCNUI0MDAzMUM3RkEg
LyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgKi87IH07CisJCUE1N0QyM0YyMTg5MUI1QjQw
MDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNGMDE4OTFCNUI0MDAzMUM3RkEgLyogQ29u
dGVudFNlYXJjaFV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1ODQwMzIwMThCRkZCRTEwMDVBMDgxMSAvKiBJbnNwZWN0b3JBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDRUVF
MTMxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU4NDBFMjAxODdCN0I4NjAwODQzQjEw
IC8qIEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1ODQwRTFFMTg3QjdCODYwMDg0M0IxMCAvKiBJbmplY3RlZFNj
cmlwdE1vZHVsZS5jcHAgKi87IH07CisJCUE1ODQwRTIxMTg3QjdCODYwMDg0M0IxMCAvKiBJbmpl
Y3RlZFNjcmlwdE1vZHVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU4
NDBFMjcxODdDOTgxRTAwODQzQjEwIC8qIGNzc21pbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1ODQwRTI2MTg3Qzk4MDcwMDg0M0IxMCAvKiBjc3Nt
aW4ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTU4NDBFMjkxODdDQTVFNjAwODQzQjEwIC8qIGlubGluZS1hbmQtbWluaWZ5LXN0eWxlc2hlZXRz
LWFuZC1zY3JpcHRzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU4NDBFMjgxODdDQTVCODAwODQzQjEwIC8qIGlubGluZS1hbmQtbWluaWZ5LXN0eWxl
c2hlZXRzLWFuZC1zY3JpcHRzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1ODQwRTJBMTg3Q0E3NTkwMDg0M0IxMCAvKiB4eGQucGwgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRTVDNTE4NUY5MkYw
MDA3RTk1QUQgLyogeHhkLnBsICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUE1ODQwRTJCMTg3Q0E3NUIwMDg0M0IxMCAvKiBqc21pbi5weSBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTNFNUM0MTg1RjkyREMw
MDdFOTVBRCAvKiBqc21pbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlBNThDMDI0MjE4RTRBNDFBMDAwMzJCQzUgLyogSlNDb250ZXh0UHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QzAy
NDExOEU0QTQxQTAwMDMyQkM1IC8qIEpTQ29udGV4dFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNThFMzU5MTE4NjBERUNGMDAxRjI0
RkUgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEUzNTkwMTg2MERFQzcwMDFGMjRGRSAvKiBJbmplY3RlZFNj
cmlwdEhvc3QuY3BwICovOyB9OworCQlBNTkzQ0Y3QzE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTU5M0NGN0ExODQwMzYwMzAwQkZDRTI3IC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyLmNwcCAqLzsgfTsKKwkJQTU5M0NGN0QxODQwMzYwMzAwQkZDRTI3IC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y3QjE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBNTkzQ0Y3RjE4NDAzNjJDMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y3
RTE4NDAzNjJDMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRCYXNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU5M0NGODIxODQwMzc3MTAwQkZD
RTI3IC8qIEluc3BlY3RvclZhbHVlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y4MDE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFs
dWVzLmNwcCAqLzsgfTsKKwkJQTU5M0NGODMxODQwMzc3MTAwQkZDRTI3IC8qIEluc3BlY3RvclZh
bHVlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5
M0NGODExODQwMzc3MTAwQkZDRTI3IC8qIEluc3BlY3RvclZhbHVlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1OTNDRjg2MTg0MDM4Q0EwMEJG
Q0UyNyAvKiBJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTNDRjg0MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNw
ZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCAqLzsgfTsKKwkJQTU5M0NGODcxODQwMzhDQTAwQkZDRTI3
IC8qIEluc3BlY3RvckFnZW50UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTNDRjg1MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTU5NDU1OEYxODI0NUVGRDAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVn
Z2FibGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTU5NDU1OEUxODI0NUVERTAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3Bw
ICovOyB9OworCQlBNTk0NTU5MjE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1
Z2dhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1OTQ1NTkwMTgyNDc0NDcwMENDMzg0MyAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3Bw
ICovOyB9OworCQlBNTk0NTU5MzE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1
Z2dhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTk0NTU5MTE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi87
IH07CisJCUE1OTQ1NTk1MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTQ1
NTk0MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUI2QTc0RDE4QzZE
QkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUI2QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29s
ZUNsaWVudC5jcHAgKi87IH07CisJCUE1QkExNUU4MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1QkExNUUxMTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUJBMTVFOTE4MjM0MEIz
MDBBODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RTIxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3Rvci5tbSAqLzsgfTsKKwkJQTVCQTE1RUExODIzNDBCNDAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3RvckNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVCQTE1RTMxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckNvbnN0
YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1QkExNUVCMTgyMzQwQjQwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25u
ZWN0aW9uLmggKi87IH07CisJCUE1QkExNUVDMTgyMzQwQjQwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUU1MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSAqLzsgfTsKKwkJQTVCQTE1RUQxODIzNDBCNDAw
QTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUU2MTgyMzQwQjMwMEE4MkU2OSAv
KiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVCQTE1RUUxODIzNDBCNDAwQTgyRTY5IC8qIFJl
bW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUJBMTVFNzE4MjM0MEIzMDBBODJFNjkgLyogUmVtb3RlSW5z
cGVjdG9yWFBDQ29ubmVjdGlvbi5tbSAqLzsgfTsKKwkJQTVCQTE1RjAxODIzNDVBRjAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUVGMTgyMzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVDM0ExQTUxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUMzQTFBMzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50LmNwcCAqLzsgfTsKKwkJQTVDM0ExQTYxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVDM0ExQTQxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFsT2JqZWN0Q29u
c29sZUNsaWVudC5oICovOyB9OworCQlBNUNFRUUxNDE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVj
dG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAqLzsgfTsK
KwkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVudmlyb25tZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUQwQTFCQTE4NjIz
MDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUQyRTY2NTE5NUUxNzQwMDBBNTE4RTcg
LyogSlNDb250ZXh0UmVmSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RDJFNjY0MTk1RTE3MzgwMEE1MThFNyAvKiBKU0NvbnRleHRSZWZJ
bnRlcm5hbC5oICovOyB9OworCQlBNUVBNzBFNzE5RjVCMTAxMDA5OEY1RUMgLyogQXVnbWVudGFi
bGVJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUVBNzBFNDE5RjVCMTAxMDA5OEY1RUMgLyogQXVnbWVudGFibGVJbnNw
ZWN0b3JDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTVFQTcwRTgxOUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVj
dG9yQ29udHJvbGxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVFQTcwRTUxOUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVj
dG9yQ29udHJvbGxlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1RUE3MEU5MTlGNUIxMDEwMDk4RjVFQyAvKiBBbHRlcm5hdGVEaXNw
YXRjaGFibGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVFQTcwRTYxOUY1QjEwMTAwOThGNUVDIC8qIEFsdGVybmF0ZURpc3BhdGNoYWJsZUFn
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVFQTcwRUMxOUY1QjNFQTAwOThGNUVDIC8qIGdlbmVyYXRlX2NwcF9hbHRlcm5hdGVfYmFja2Vu
ZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RUE3MEVBMTlGNUIzRDUwMDk4RjVFQyAvKiBnZW5lcmF0ZV9jcHBfYWx0
ZXJuYXRlX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcwRUUxOUY1QjVDNDAwOThGNUVDIC8q
IEpTQ29udGV4dFJlZkluc3BlY3RvclN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEVEMTlGNUI1QzQwMDk4RjVFQyAvKiBKU0NvbnRl
eHRSZWZJbnNwZWN0b3JTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDMxOUY2REU2RjAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0
ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDQxOUY2REU3MjAwOThGNUVDIC8q
IGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFQTcwRjAxOUY2REU1
QTAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RUE3MTA1MTlGNkRFNzQwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25f
aGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVFQTcwRjExOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfY29uZmlndXJhdGlvbl9o
ZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTVFQTcxMDYxOUY2REU3NjAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfY29uZmlndXJhdGlv
bl9pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDcxOUY2REU3ODAwOThGNUVDIC8qIGdlbmVyYXRl
X29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVFQTcwRjMxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfY29udmVyc2lvbl9oZWxwZXJzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUE1RUE3MTA4MTlGNkRFN0EwMDk4RjVFQyAvKiBnZW5lcmF0ZV9v
YmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUVBNzBGNDE5RjZERTVBMDA5OEY1RUMg
LyogZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RUE3MTA5
MTlGNkRFN0MwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weSBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEY1MTlGNkRFNUEwMDk4RjVF
QyAvKiBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVBNzEwQTE5RjZERTdFMDA5OEY1RUMgLyogZ2VuZXJh
dGVfb2JqY19pbnRlcm5hbF9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUVBNzBGNjE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2Jq
Y19pbnRlcm5hbF9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMEMxOUY2REU4MjAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9y
LnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFQTcw
RjgxOUY2REU1QTAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9yLnB5ICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RUE3MTBFMTlGNkRGODEwMDk4RjVF
QyAvKiBJbnNwZWN0b3JBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MTBEMTlGNkRGODEwMDk4RjVF
QyAvKiBJbnNwZWN0b3JBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNDFBMUQ0M0Y2MDA3
MDJFOTAgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEMTFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFRjlCMTUx
QTFENDNGQTAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDNEY0QjZEMjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0
Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNjFBMUQ0NDAwMDA3MDJFOTAgLyogZ2VuZXJhdGVfY3Bw
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDMxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRl
X2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNzFBMUQ0NDAzMDA3MDJFOTAgLyog
Z2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZENDFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRp
b24ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVFRjlCMTgxQTFENDQwNjAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19o
ZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NEY0QjZENTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hl
YWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUVGOUIxOTFBMUQ0NDA3MDA3MDJFOTAgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVz
X2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzRGNEI2RDYxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9wcm90b2Nv
bF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJn
dW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovOyB9Owor
CQlBNUZEMDA2ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2NjE4OUFGRTlDMDA2
MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsK
KwkJQTVGRDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkExODlCMDBBOTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDZGMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVGRDAwNkIxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07
CisJCUE1RkQwMDcwMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDZDMTg5QjAwQUEw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29s
ZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA3MTE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzUxODlCMDM4QzAwNjMz
MjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50
aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc5
MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuY3BwICovOyB9OworCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDdEMTg5
QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdCMTg5QjBCNEMwMDYzMzIz
MSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwN0UxODlCMEI0
QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBT
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cCAqLzsgfTsKKwkJQTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVG
RDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDg1MTg5QjFC
N0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MzE4OUIxQjdFMDA2MzMy
MzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4NjE4
OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDg0MTg5QjFCN0UwMDYz
MzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oICovOyB9OworCQlBNzAwODczOTE3
Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1h
cENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQzIC8qIE1h
cENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzAwODczODE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLzsgfTsK
KwkJQTcwMDg3M0QxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczQjE3Q0JFOEQzMDBD
M0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJQTcwMDg3M0UxN0NCRThEMzAwQzNF
NjQzIC8qIE1hcFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTcwMDg3M0MxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5oICov
OyB9OworCQlBNzAwODc0MTE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwMDg3M0YxN0NCRThFQjAwQzNF
NjQzIC8qIEpTTWFwLmNwcCAqLzsgfTsKKwkJQTcwMDg3NDIxN0NCRThFQjAwQzNFNjQzIC8qIEpT
TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAw
ODc0MDE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0NDdFQTE3QTBCRDQ2MDBGNTg5OEUgLyogT3Bl
cmFuZHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwNDQ3RUQxN0Ew
QkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDQ0N0VCMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29u
dGV4dC5jcHAgKi87IH07CisJCUE3MDQ0N0VFMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwNDQ3
RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwNEQ5MDMxN0EwQkFBODAwNkJBNTU0IC8q
IERGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MDREOEZFMTdBMEJBQTgwMDZCQTU1NCAvKiBERkdBYnN0cmFjdElu
dGVycHJldGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQTcwNEQ5MDQxN0EwQkFBODAwNkJBNTU0IC8qIERGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzA0RDhGRjE3QTBCQUE4MDA2QkE1NTQgLyogREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0
RDkwNTE3QTBCQUE4MDA2QkE1NTQgLyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwNEQ5MDAxN0EwQkFB
ODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcCAqLzsgfTsKKwkJQTcwNEQ5
MDYxN0EwQkFBODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzA0RDkwMTE3QTBCQUE4MDA2
QkE1NTQgLyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0RDkwNzE3QTBCQUE4MDA2QkE1NTQgLyog
REZHTWVyZ2VNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzA0RDkwMjE3QTBCQUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwOUYyRjAxN0EwQUMw
NDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTcwOUYyRUYxN0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2Fs
bC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
MDlGMkYyMTdBMEFDMkEwMDUxMkU5OCAvKiBDb21tb25TbG93UGF0aHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwOUYyRjExN0EwQUMyQTAwNTEy
RTk4IC8qIENvbW1vblNsb3dQYXRocy5jcHAgKi87IH07CisJCUE3MTIzNkU1MTE5NUYzM0MwMEJE
MjE3NCAvKiBKSVRPcGNvZGVzMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTcxMjM2RTQxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9wY29kZXMz
Ml82NC5jcHAgKi87IH07CisJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVu
bmVyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTcyMDI4QjQxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5jcHAgKi87
IH07CisJCUE3MjAyOEI4MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjAyOEI1MTc5
NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzIwMjhCQTE3OTc2MDNEMDA5ODAyOEMg
LyogSlNGdW5jdGlvbklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MjAyOEI5MTc5NzYwM0QwMDk4MDI4QyAvKiBKU0Z1bmN0aW9uSW5saW5l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
MjcwMDkwMERBQzZCQkMwMEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjcwMDc4MERBQzYwNTYwMEU1NDhE
NyAvKiBKU05vdEFuT2JqZWN0LmNwcCAqLzsgfTsKKwkJQTcyNzAxQjkwREFERTk0OTAwRTU0OEQ3
IC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MjcwMUIzMERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggKi87IH07CisJCUE3MjgwQTI4MTE1NTdFMzAwMEQ1Njk1NyAvKiBKU09iamVjdFJlZlByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OUVE
QjA4MTE1MzFDRDYwMDE5RTkxMiAvKiBKU09iamVjdFJlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzI5MDA5QzE3OTc2QzYwMDAz
MTcyOTggLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzI5MDA5QjE3OTc2QzYwMDAzMTcyOTggLyogTWFjcm9B
c3NlbWJsZXJBUk12Ny5jcHAgKi87IH07CisJCUE3Mjk5RDlEMTdEMTI4MzcwMDVGNUZGOSAvKiBK
U1NldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzI5OUQ5QjE3RDEyODM3MDA1RjVGRjkgLyogSlNTZXQuY3BwICovOyB9OworCQlBNzI5OUQ5RTE3
RDEyODM3MDA1RjVGRjkgLyogSlNTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3Mjk5REExMTdE
MTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcyOTlEOUYxN0QxMjg0ODAwNUY1RkY5IC8qIFNldFBy
b3RvdHlwZS5jcHAgKi87IH07CisJCUE3Mjk5REEyMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
Mjk5REEwMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5cGUuaCAqLzsgfTsKKwkJQTcyOTlE
QTUxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAv
KiBTZXRDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCUE3Mjk5REE2MTdEMTI4NTgwMDVGNUZGOSAv
KiBTZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTcyOTlEQTQxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmggKi87
IH07CisJCUE3MkZGRDY0MTM5OTg1QTgwMEU1MzY1QSAvKiBLZXl3b3JkTG9va3VwLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0MyMjVDRDEzOTk4NDlD
MDBGRjE2NjIgLyogS2V5d29yZExvb2t1cC5oICovOyB9OworCQlBNzMwQjYxMjEyNTAwNjhGMDA5
RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzBCNjEwMTI1MDA2OEYwMDlEMjVCMSAvKiBTdHJpY3RF
dmFsQWN0aXZhdGlvbi5oICovOyB9OworCQlBNzMwQjYxMzEyNTAwNjhGMDA5RDI1QjEgLyogU3Ry
aWN0RXZhbEFjdGl2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTczMEI2MTExMjUwMDY4RjAwOUQyNUIxIC8qIFN0cmljdEV2YWxBY3RpdmF0
aW9uLmNwcCAqLzsgfTsKKwkJQTczMUIyNUExMzAwOTM4ODAwNDBBN0ZBIC8qIEZvdW5kYXRpb24u
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9
OworCQlBNzM3ODEwQzE3OTlFQTJFMDA4MTc1MzMgLyogREZHQW5hbHlzaXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mzc4MTA5MTc5OUVBMkUwMDgx
NzUzMyAvKiBERkdBbmFseXNpcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3Mzc4MTBEMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9v
cHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcz
NzgxMEExNzk5RUEyRTAwODE3NTMzIC8qIERGR05hdHVyYWxMb29wcy5jcHAgKi87IH07CisJCUE3
Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mzc4MTBCMTc5OUVBMkUwMDgxNzUz
MyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNzM4NjU1NDExODY5N0I0MDA1NDAyNzkgLyogU3BlY2lhbGl6ZWRU
aHVua0pJVC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTczODY1NTExMTg2OTdCNDAwNTQwMjc5IC8qIFNwZWNpYWxpemVkVGh1bmtKSVQuaCAqLzsgfTsK
KwkJQTczODY1NTUxMTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM4NjU1MjExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCAqLzsgfTsKKwkJQTczODY1NTYxMTg2OTdC
NDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTczODY1NTMxMTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2Vu
ZXJhdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUE3M0E1MzVBMTc5OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzNBNTM1ODE3OTlDRDVE
MDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwICovOyB9OworCQlBNzNBNTM1QjE3OTlDRDVE
MDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3M0E1MzU5MTc5OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNW
YWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE3NDEwMTdGMTc5REFGODAwMDJFQjhCQSAvKiBERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93UGF0
aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc0MTAxN0UxNzlEQUY4MDAwMkVCOEJBIC8qIERGR1NhbmVTdHJpbmdHZXRCeVZhbFNsb3dQ
YXRoR2VuZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTc0ODJCOTMxMTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NDgyQjc5MTE2NkNERUEwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc0ODJCOTQx
MTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0ODJCN0ExMTY2Q0RFQTAw
M0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwICovOyB9OworCQlBNzQ4MkU5
MzExNkE3Q0FEMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDgyRTM3MTE2QTY5N0Iw
MDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3NERFRjkzMTgyRDk5MTQwMDUyMkMy
MiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY4RDE4MkQ5OTE0MDA1MjJDMjIgLyogTWFwSXRlcmF0
b3JQcm90b3R5cGUuY3BwICovOyB9OworCQlBNzRERUY5NDE4MkQ5OTE0MDA1MjJDMjIgLyogTWFw
SXRlcmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3NERFRjhFMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlw
ZS5oICovOyB9OworCQlBNzRERUY5NTE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY4
RjE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5jcHAgKi87IH07CisJCUE3NERFRjk2
MTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY5MDE4MkQ5OTE0MDA1MjJDMjIgLyogSlNN
YXBJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3NTcwNkRFMTE4QTJCQ0YwMDU3Rjg4RiAvKiBKSVRBcml0aG1ldGljMzJfNjQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1NzA2REQx
MThBMkJDRjAwNTdGODhGIC8qIEpJVEFyaXRobWV0aWMzMl82NC5jcHAgKi87IH07CisJCUE3NUVF
OUIyMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBC
dWlsdGluTmFtZXMuaCAqLzsgfTsKKwkJQTc2NkI0NEYwRUU4RENEMTAwOTUxOENBIC8qIEV4ZWN1
dGFibGVBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3QjQ4REI1MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc2N0I1
QjUxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NjdCNUIzMTdB
MEI5NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi87IH07
CisJCUE3NjdCNUI2MTdBMEI5NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25Q
aGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc2
N0I1QjQxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc2QzUx
NzYxMTgyNzQ4RDAwNzE1QjA1IC8qIEpTSW50ZXJmYWNlSklULmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzZDNTE3NDExODI3NDhEMDA3MTVCMDUgLyog
SlNJbnRlcmZhY2VKSVQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBNzZGMjc5NDE1RjEzQzk2MDA1MTdENjcgLyogVW5saW5rZWRDb2RlQmxvY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5RTc4
MUUxNUVFQ0JBODAwNDdDODU1IC8qIFVubGlua2VkQ29kZUJsb2NrLmNwcCAqLzsgfTsKKwkJQTc2
RjU0QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc2RjU0QTIxM0IyOEFBQjAwRUYyQkNF
IC8qIEpJVFdyaXRlQmFycmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3N0E0MjNEMTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhl
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3
QTQyMzYxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgKi87IH07CisJCUE3
N0E0MjNFMTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjM3MTdBMEJCRkQwMEE4REI4
MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNzdBNDIzRjE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xvYmJlcml6
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzdB
NDIzODE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xvYmJlcml6ZS5jcHAgKi87IH07CisJCUE3N0E0
MjQwMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzdBNDIzOTE3QTBCQkZEMDBBOERCODEgLyog
REZHQ2xvYmJlcml6ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE3N0E0MjQxMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNBMTdB
MEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCAqLzsgfTsKKwkJQTc3QTQyNDIxN0Ew
QkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNCMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9i
YmVyU2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTc3QTQyNDMxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNDMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdTYWZlVG9FeGVjdXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc3RjE4MjExNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVD
YWNoZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzdGMTgxRjE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCAqLzsgfTsKKwkJQTc3RjE4
MjIxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3RjE4MjAxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVD
YWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3RjE4MjQxNjQxOTI1NDAwNjQwQTQ3
IC8qIFBhcnNlck1vZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QTdFRTc0MTFCOThC
OEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NEEyNjQxMUQxNjYyMjAwNTc3NkFDIC8qIFN5bnRheENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
QTdFRTc3MTFCOThCOEQwMDY1QTE0RiAvKiBTeW50YXhDaGVja2VyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NTA3RDcxN0NCQzZGRDAwMTFG
NkU3IC8qIE1hcERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3ODUwN0Q1MTdDQkM2RkQwMDExRjZFNyAvKiBNYXBEYXRhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NUY2QkMxOEM1NTNGRTAw
RjEwNjI2IC8qIFNwaWxsUmVnaXN0ZXJzTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGRjY0N0ExOEM1MkU4NTAwQjU1MzA3IC8qIFNwaWxsUmVn
aXN0ZXJzTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3ODg1M0Y5MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWlu
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3ODg1
M0Y3MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCAqLzsgfTsK
KwkJQTc4ODUzRkExNzk3MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3ODg1M0Y4MTc5
NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4QTk3NzQxNzk3MzhCODAwOURG
NzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc2QzE3OTczOEI4MDA5REY3NDQgLyogREZHRmFpbGVk
RmluYWxpemVyLmNwcCAqLzsgfTsKKwkJQTc4QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0Zh
aWxlZEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oICov
OyB9OworCQlBNzhBOTc3NjE3OTczOEI4MDA5REY3NDQgLyogREZHRmluYWxpemVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEE5NzZFMTc5NzM4
QjgwMDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuY3BwICovOyB9OworCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc2RjE3OTczOEI4MDA5REY3NDQgLyogREZHRmluYWxpemVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4
QTk3NzgxNzk3MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc3MDE3OTczOEI4MDA5REY3
NDQgLyogREZHSklURmluYWxpemVyLmNwcCAqLzsgfTsKKwkJQTc4QTk3NzkxNzk3MzhCODAwOURG
NzQ0IC8qIERGR0pJVEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc4QTk3NzExNzk3MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXpl
ci5oICovOyB9OworCQlBNzhBOTc3QTE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc3MjE3OTcz
OEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgKi87IH07CisJCUE3OEE5NzdCMTc5NzM4QjgwMDlE
Rjc0NCAvKiBERkdQbGFuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzhBOTc3MzE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3OEE5NzdGMTc5NzM4RDUw
MDlERjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4QTk3N0MxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEdl
bmVyYXRlZEZ1bmN0aW9uLmggKi87IH07CisJCUE3OEE5NzgwMTc5NzM4RDUwMDlERjc0NCAvKiBG
VExKSVRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc4QTk3N0QxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAg
Ki87IH07CisJCUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEE5NzdFMTc5
NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAqLzsgfTsKKwkJQTc5MERENkQxODJG
NDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OTBERDY3MTgyRjQ5OTcwMDU4ODgwNyAv
KiBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CisJCUE3OTBERDZFMTgyRjQ5OTcwMDU4
ODgwNyAvKiBTZXRJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5MERENjgxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJh
dG9yUHJvdG90eXBlLmggKi87IH07CisJCUE3OTBERDZGMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1Nl
dEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3OTBERDY5MTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCAqLzsgfTsK
KwkJQTc5MERENzAxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OTBERDZBMTgyRjQ5OTcwMDU4
ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTc5ODZENTcxN0EwQkIxRTAwQTk1REQwIC8qIERGR0VkZ2VVc2Vz
U3RydWN0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzk4NkQ1NjE3QTBCQjFFMDBBOTVERDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E0QUUwODE3
OTczQjI2MDA1NjEyQjEgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBNEFFMDcxNzk3M0IyNjAwNTYx
MkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLzsgfTsKKwkJQTdBNEFFMTAxNzk3
M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E0QUUwQzE3OTczQjREMDA1NjEyQjEgLyogSklU
U3R1YnNYODZDb21tb24uaCAqLzsgfTsKKwkJQTdBOEFGMzQxN0FEQjVGMzAwNUFCMTc0IC8qIEFy
cmF5QnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3QThBRjI1MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5jcHAgKi87IH07CisJ
CUE3QThBRjM1MTdBREI1RjMwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0
IC8qIEFycmF5QnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTdBOEFGMzYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyVmlldy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYy
NzE3QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmNwcCAqLzsgfTsKKwkJQTdBOEFG
MzcxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBOEFGMjgxN0FEQjVGMzAwNUFCMTc0IC8q
IEFycmF5QnVmZmVyVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUE3QThBRjM4MTdBREI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QThBRjI5MTdB
REI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E4QUYzOTE3QURCNUYzMDA1QUIxNzQgLyogRmxv
YXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0E4QUYyQTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdBOEFGM0ExN0FEQjVGMzAw
NUFCMTc0IC8qIEludDhBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdBOEFGMkIxN0FEQjVGMzAwNUFCMTc0IC8qIEludDhBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QThBRjNCMTdB
REI1RjMwMDVBQjE3NCAvKiBJbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50MTZBcnJh
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
QThBRjNDMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYyRDE3QURCNUYzMDA1QUIxNzQgLyog
SW50MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3QThBRjNGMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYzMDE3QURCNUYzMDA1
QUIxNzQgLyogVWludDhBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRB
cnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdB
OEFGMzExN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdBOEFGNDExN0FEQjVGMzAw
NUFCMTc0IC8qIFVpbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBN0E4QUYzMjE3QURCNUYzMDA1QUIxNzQgLyogVWludDE2QXJyYXkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E4QUY0
MjE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QThBRjMzMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50
MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUE3QjQ4RjQ5MEVFODkzNkYwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QjQ4REI2MEVF
NzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCAqLzsgfTsKKwkJQTdCNEFD
QUYxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0I0QUNBRTE0ODRDOUNFMDBCMzhBMzYgLyog
SlNFeHBvcnRNYWNyb3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBN0I2MDE4MjE2MzlGRDJBMDAzNzJCQTMgLyogVW5saW5rZWRDb2RlQmxvY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OUU3ODFG
MTVFRUNCQTgwMDQ3Qzg1NSAvKiBVbmxpbmtlZENvZGVCbG9jay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QkRBRUM4MTdGNEVBMTQwMEY2MTQw
QyAvKiBBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkRBRUMyMTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0
ZXJhdG9yUHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJQTdCREFFQzkxN0Y0RUExNDAwRjYxNDBDIC8q
IEFycmF5SXRlcmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3QkRBRUMzMTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9y
UHJvdG90eXBlLmggKi87IH07CisJCUE3QkRBRUNBMTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5
SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTdCREFFQzQxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5jcHAgKi87IH07
CisJCUE3QkRBRUNCMTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkRBRUM1MTdGNEVBMTQw
MEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAqLzsgfTsKKwkJQTdCRkYzQzAxNzk4Njg5NDAw
MDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkZGM0JGMTc5ODY4OTQwMDAyRjQ2MiAvKiBERkdGaWx0
cmF0aW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTdDMEM0QUMxNjgxMDMwMjAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDMEM0QUIx
NjdDMDhDRDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QzBDNEFEMTY4MTA2N0UwMDE3MDEx
RCAvKiBKU1NjcmlwdFJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0MwQzRBQTE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWYuY3BwICov
OyB9OworCQlBN0MxRThFNDExMkU3MkVGMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82
NC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Mx
RThDODExMkU3MDFDMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgKi87IH07
CisJCUE3QzFFQUVGMTc5ODdBQjYwMDI5OURCMiAvKiBDYWxsRnJhbWVJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0MxRUFFQTE3OTg3QUI2
MDAyOTlEQjIgLyogQ2FsbEZyYW1lSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QzFFQUYwMTc5ODdBQjYwMDI5OURCMiAvKiBKU1N0
YWNrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTdDMUVBRUIxNzk4N0FCNjAwMjk5REIyIC8qIEpTU3RhY2tJbmxpbmVzLmggKi87IH07CisJ
CUE3QzFFQUYxMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDMUVBRUMxNzk4N0FCNjAwMjk5
REIyIC8qIFN0YWNrVmlzaXRvci5jcHAgKi87IH07CisJCUE3QzFFQUYyMTc5ODdBQjYwMDI5OURC
MiAvKiBTdGFja1Zpc2l0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3QzFFQUVEMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0NBM0FFMzE3
REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUREMTdEQTQxQUUwMDY1MzhBRiAv
KiBXZWFrTWFwQ29uc3RydWN0b3IuY3BwICovOyB9OworCQlBN0NBM0FFNDE3REE0MUFFMDA2NTM4
QUYgLyogV2Vha01hcENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBN0NBM0FERTE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcENvbnN0
cnVjdG9yLmggKi87IH07CisJCUE3Q0EzQUU1MTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwUHJv
dG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwUHJvdG90eXBlLmNwcCAqLzsgfTsK
KwkJQTdDQTNBRTYxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUUwMTdEQTQxQUUw
MDY1MzhBRiAvKiBXZWFrTWFwUHJvdG90eXBlLmggKi87IH07CisJCUE3Q0EzQUU3MTdEQTQxQUUw
MDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTdDQTNBRTExN0RBNDFBRTAwNjUzOEFGIC8qIEpTV2Vha01hcC5jcHAg
Ki87IH07CisJCUE3Q0EzQUU4MTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUUyMTdEQTQxQUUw
MDY1MzhBRiAvKiBKU1dlYWtNYXAuaCAqLzsgfTsKKwkJQTdDQTNBRUIxN0RBNTE2ODAwNjUzOEFG
IC8qIFdlYWtNYXBEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3Q0EzQUU5MTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5jcHAgKi87
IH07CisJCUE3Q0EzQUVDMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDQTNBRUExN0RBNTE2ODAw
NjUzOEFGIC8qIFdlYWtNYXBEYXRhLmggKi87IH07CisJCUE3RDgwMUE0MTg4MEQ2NkUwMDI2QzM5
QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdEODAxQTExODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVj
dXRhYmxlcy5jcHAgKi87IH07CisJCUE3RDgwMUE1MTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGlu
RXhlY3V0YWJsZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3RDgwMUEyMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4MDFBODE4
ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1
aWx0aW5zLmNwcCAqLzsgfTsKKwkJQTdEODAxQTkxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0
aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4
MDFBNzE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuaCAqLzsgfTsKKwkJQTdEODlDRjIx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jhc2ljQmxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlDRTMxN0EwQjhDQzAwNzczQUQ4IC8qIERG
R0Jhc2ljQmxvY2suY3BwICovOyB9OworCQlBN0Q4OUNGMzE3QTBCOENDMDA3NzNBRDggLyogREZH
QmxvY2tJbnNlcnRpb25TZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdEODlDRTQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5zZXJ0aW9u
U2V0LmNwcCAqLzsgfTsKKwkJQTdEODlDRjQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5z
ZXJ0aW9uU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0Q4OUNFNTE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4OUNGNTE3
QTBCOENDMDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFNjE3QTBCOEND
MDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHAgKi87IH07CisJCUE3
RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFNzE3
QTBCOENDMDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0Y3MTdBMEI4
Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1
c2hGb3JtYXQuY3BwICovOyB9OworCQlBN0Q4OUNGODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1
c2hGb3JtYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3RDg5Q0U5MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0ZCMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlDRUMxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAgKi87IH07CisJCUE3RDg5Q0ZDMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDg5Q0VEMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBN0Q4OUNGRDE3QTBCOENDMDA3NzNBRDggLyogREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFRTE3QTBCOENDMDA3NzNBRDggLyogREZHT1NSQXZhaWxh
YmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAgKi87IH07CisJCUE3RDg5Q0ZFMTdBMEI4Q0MwMDc3M0FE
OCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFRjE3QTBCOENDMDA3NzNBRDggLyog
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0ZGMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdTU0FDb252ZXJzaW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTdEODlDRjAxN0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNp
b25QaGFzZS5jcHAgKi87IH07CisJCUE3RDg5RDAwMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FD
b252ZXJzaW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3RDg5Q0YxMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4
OUQwMjE3QTBCOTA0MDA3NzNBRDggLyogRlRMTG93ZXJlZE5vZGVWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlEMDExN0EwQjkwNDAwNzcz
QUQ4IC8qIEZUTExvd2VyZWROb2RlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q5QTI5NDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRU
YWlsQWJzdHJhY3RTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0Q5QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RT
dGF0ZS5jcHAgKi87IH07CisJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdBdFRhaWxB
YnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBN0Q5QTI5MDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDlB
Mjk2MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdFZGdlRG9taW5hdGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q5QTI5MTE3QTBCQzc0MDBFRTI2MTgg
LyogREZHRWRnZURvbWluYXRlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3RDlBMjk3MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEOUEy
OTIxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5jcHAgKi87IH07CisJCUE3RDlBMjk4
MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDlBMjkzMTdBMEJDNzQwMEVFMjYxOCAvKiBERkdM
SUNNUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlBN0RDQjk3MzEyRTUxOTNGMDA5MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0RDQjc3OTEyRTNEOTA1MDA5
MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTdFMkVBNkIwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJz
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTJF
QTY5MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmggKi87IH07CisJCUE3RTJFQTZD
MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTJFQTZBMEZCNDYwQ0YwMDYwMUYwNiAvKiBM
aXRlcmFsUGFyc2VyLmNwcCAqLzsgfTsKKwkJQTdFNUEzQTcxNzk3NDMyRDAwRTg5M0MwIC8qIENv
bXBpbGF0aW9uUmVzdWx0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3RTVBM0E1MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5j
cHAgKi87IH07CisJCUE3RTVBM0E4MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3Vs
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdFNUEz
QTYxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdFNUFCMzcxNzk5RTRCMjAwRDI4
MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdFNUFCMzMxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3Nl
bWJsZXIuY3BwICovOyB9OworCQlBN0U1QUIzODE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0U1QUIzOTE3OTlFNEIy
MDBEMjgzM0QgLyogVURpczg2RGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0U1QUIzNTE3OTlFNEIyMDBEMjgzM0QgLyogVURpczg2
RGlzYXNzZW1ibGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTdFNUFCM0ExNzk5RTRCMjAwRDI4MzNEIC8qIFg4NkRpc2Fzc2VtYmxlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0U1QUIzNjE3
OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJQTdGMjk5NkIx
N0EwQkI2NzAwMTA0MTdBIC8qIEZUTEZhaWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGMjk5NjkxN0EwQkI2NzAwMTA0MTdBIC8qIEZUTEZhaWwu
Y3BwICovOyB9OworCQlBN0YyOTk2QzE3QTBCQjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGMjk5NkExN0EwQkI2
NzAwMTA0MTdBIC8qIEZUTEZhaWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBN0Y5OTM1RjBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGOTkzNUQw
RkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Y5OTM2MDBGRDczMjUxMDBBMEIyRDAgLyogSlNP
Tk9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0Y5OTM1RTBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5jcHAgKi87IH07CisJCUE3
RkI2MEE0MTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGQjYwQTMxMDNGN0RDMjAw
MTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgKi87IH07CisJCUE3RkI2MTAwMTA0MEMz
OEIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RkI2MDRCMTAzRjVFQUIwMDE3QTI4NiAvKiBQcm9w
ZXJ0eURlc2NyaXB0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBN0ZDQzI2RDE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dpdGNoQ2FzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGQ0MyNkMxN0Ew
QjZBQTAwNzg2RDFBIC8qIEZUTFN3aXRjaENhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBOEE0NzQ4RTE1MUE4MzA2MDA0MTIzRkYgLyogbGli
V1RGLmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEE0NzQ4RDE1MUE4MzA2MDA0MTIzRkYgLyogbGliV1RGLmEgKi87IH07CisJCUFEODZBOTNFMUFB
NEQ4OEQwMDJGRTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDg2QTkzRDFBQTREODdDMDAyRkU3N0YgLyogV2Vh
a0dDTWFwSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUFEREIxRjYzMThENzdEQkUwMDlCNThBOCAvKiBPcGFxdWVSb290U2V0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRERCMUY2MjE4RDc3
REI3MDA5QjU4QTggLyogT3BhcXVlUm9vdFNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUFERTM5RkZGMTZERDE0NEIwMDAzQ0Q0QSAvKiBQcm9w
ZXJ0eVRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFEMUNGMDY4MTZEQ0FCMkQwMEI5NzEyMyAvKiBQcm9wZXJ0eVRhYmxlLmNwcCAqLzsgfTsK
KwkJQjU5Rjg5MzkxODkxRjI5RjAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU5Rjg5
MzgxODkxQURCNTAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3BwICovOyB9
OworCQlCQzAyRTkwRDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMkU5MDUwRTE4MzlE
QjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMwMkU5MEYwRTE4MzlE
QjAwMEY5Mjk3IC8qIEVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwNzBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90
b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlCQzAyRTkxMTBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMkU5MDkwRTE4
MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMwMkU5
MTMwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwQjBFMTgzOURCMDAwRjky
OTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuaCAqLzsgfTsKKwkJQkMwMkU5OEQwRTE4M0UzODAw
MEY5Mjk3IC8qIEVycm9ySW5zdGFuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMDJFOThCMEUxODNFMzgwMDBGOTI5NyAvKiBFcnJvckluc3RhbmNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMx
MTY2MDIwRTE5OTdCNDAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMTY2MDEwRTE5OTdCMTAwODA2NkREIC8q
IERhdGVJbnN0YW5jZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUJDMTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzExNjY3QTBF
MTk5QzA1MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMTE2N0RBMEUxOUJDQzkwMDgwNjZERCAv
KiBKU0NlbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMTE2N0Q4MEUxOUJDQzkwMDgwNjZERCAvKiBKU0NlbGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFNTBFMTZGNUNEMDBCMzQ0NjAg
LyogQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTQ4MkI3OEEwQTQzMDVBQjAwNTE3Q0ZDIC8qIEFQSUNhc3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFNjBFMTZGNUNEMDBCMzQ0
NjAgLyogQXJyYXlDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM3OTUyMDcwRTE1RThBODAwQTg5OEFCIC8qIEFycmF5Q29uc3RydWN0
b3IuaCAqLzsgfTsKKwkJQkMxOEMzRTcwRTE2RjVDRDAwQjM0NDYwIC8qIEFycmF5UHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg0
RTAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFQzBFMTZGNUNEMDBCMzQ0NjAg
LyogQm9vbGVhbk9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzA0RkQzNTMwNTY5N0U2RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFRDBF
MTZGNUNEMDBCMzQ0NjAgLyogQ2FsbERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUM1MDdGMEQ5REY2M0IwMDg4RjZCOSAvKiBDYWxsRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThD
M0YzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBDb21tb25JZGVudGlmaWVycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVFQTczNjMwQkFFMzVEMTAwMUJCNTYw
IC8qIENvbW1vbklkZW50aWZpZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRjQwRTE2RjVDRDAwQjM0NDYwIC8qIENvbXBsZXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QkIyQkM1
MDMwRjc3MjEwMUZDRkUxRCAvKiBDb21wbGV0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRjUwRTE2RjVDRDAwQjM0NDYwIC8qIGNv
bmZpZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY4
RUJCOEMwMjU1RDRDNjAxRkY2MEY3IC8qIGNvbmZpZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDM0Y2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBD
b25zdHJ1Y3REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAgLyogQ29uc3RydWN0RGF0YS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDM0ZBMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBEZWJ1Z2dlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERlYnVnZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRkIw
RTE2RjVDRDAwQjM0NDYwIC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgwREI5QjBEREMyMjdGMDAzQ0ZERjIgLyog
RGVidWdnZXJDYWxsRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlCQzE4QzQwMDBFMTZGNUNEMDBCMzQ0NjAgLyogRXhjZXB0aW9uSGVscGVy
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcyNzAx
QjMwREFERTk0OTAwRTU0OEQ3IC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQwNDBFMTZGNUNEMDBCMzQ0
NjAgLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzEwRTE2RDRFOTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29u
c3RydWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlCQzE4QzQwNTBFMTZGNUNEMDBCMzQ0NjAgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODVEMDI1NTU5
N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDBGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzNBMzQ5QTAzOEFFN0M2MDA4NjM1Q0UgLyogSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDEwMEUxNkY1Q0QwMEIz
NDQ2MCAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6
ZVRocmVhZGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUJDMThDNDEzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FBOEI0QTBEMzJDMzlBMDA0
MUJDRkYgLyogSmF2YVNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKKwkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8qIEphdmFTY3JpcHRDb3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FBOEI0
QjBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdENvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMThDNDE1MEUxNkY1Q0QwMEIzNDQ2MCAv
KiBKYXZhU2NyaXB0Q29yZVByZWZpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjVDMjkwRTYwMjg0Rjk4RTAxODYzNUNBIC8qIEphdmFTY3JpcHRDb3Jl
UHJlZml4LmggKi87IH07CisJCUJDMThDNDE2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0xleGljYWxF
bnZpcm9ubWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTREQTgxOEUwRDk5RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQkMxOEM0MTcwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzODc3MkU1MDM4QkZFMTkwMDg2MzVDRSAvKiBKU0FycmF5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MTgwRTE2RjVD
RDAwQjM0NDYwIC8qIEpTQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQyNzExMzgwQTQ2MEJCQjAwODBFRUVBIC8qIEpTQmFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0MTkwRTE2RjVD
RDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEY4QUMwQTUwOEQyMDAwMDVGMDYxIC8qIEpT
Q2FsbGJhY2tDb25zdHJ1Y3Rvci5oICovOyB9OworCQlCQzE4QzQxQTBFMTZGNUNEMDBCMzQ0NjAg
LyogSlNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNDQwRjg4RjBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0
aW9uLmggKi87IH07CisJCUJDMThDNDFCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0NhbGxiYWNrT2Jq
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEFC
REY1RDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5oICovOyB9OworCQlCQzE4
QzQxQzBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFODk0MzEwQ0QwNjAy
NDAwMzY3MTc5IC8qIEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCAqLzsgfTsKKwkJQkMxOEM0
MUQwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ2xhc3NSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDBGQ0UxMEE1MUU0NkIwMDA1RjA2MSAvKiBKU0Ns
YXNzUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQkMxOEM0MUUwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ29udGV4dFJlZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCRDVBMkEwQTNFOTFGNjAwQkFG
NTlDIC8qIEpTQ29udGV4dFJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKKwkJQkMxOEM0MUYwRTE2RjVDRDAwQjM0NDYwIC8qIEpTRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODVGMDI1
NTU5N0QwMUZGNjBGNyAvKiBKU0Z1bmN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MjAwRTE2RjVDRDAwQjM0NDYwIC8qIFZNLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFM0E1NjBE
RjkyNzhDMDBEOTBCMzQgLyogVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlCQzE4QzQyMTBFMTZGNUNEMDBCMzQ0NjAgLyogSlNHbG9iYWxPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RTg5
NDMzMENEMDYwM0YwMDM2NzE3OSAvKiBKU0dsb2JhbE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDIzMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBKU0xvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1RUE0QzlBMDkyQUY5RTIwMDkzRDgwMCAvKiBKU0xvY2suaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQyNDBFMTZGNUNEMDBCMzQ0
NjAgLyogSlNPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDMjJBMzk5MEUxNkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDI1MEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBKU09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTQ4MkI3RTEwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OworCQlCQzE4QzQy
NjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QzE4RDNFMEM5MEU3RUYwMEU3MkY3MyAvKiBKU1Jl
dGFpblB0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDI3MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NjIwMjU1NTk3RDAxRkY2MEY3
IC8qIEpTU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQkMxOEM0MjgwRTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nUmVmLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjc0QjBBNDMwMzI4
MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CisJCUJDMThDNDI5MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZ1Jl
ZkNGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDZB
QUIyQTBCNjZBODQ5MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0MkEwRTE2RjVDRDAwQjM0NDYw
IC8qIEpTVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTRBQkI0NTQwOTlDMkEwRjAwRTJBMjRGIC8qIEpTVHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDJCMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBKU0NKU1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNEFCQjM2RTA5OUMwNzY0MDBFMkEyNEYgLyogSlNDSlNWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDJDMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBKU1ZhbHVlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjZFQTBBNDMwMEIzMDA1MTdDRkMgLyogSlNWYWx1ZVJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0
MkQwRTE2RjVDRDAwQjM0NDYwIC8qIEpTRW52aXJvbm1lbnRSZWNvcmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RjI1MjU2MEQwOEREOEQwMDRFQ0ZG
RiAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MkUwRTE2RjVDRDAwQjM0NDYwIC8qIEpTV3JhcHBl
ck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDMxMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBMZXhlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjY5MkE4NjYwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MzcwRTE2RjVDRDAw
QjM0NDYwIC8qIExvb2t1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjY5MkE4NjkwMjU1NTk3RDAxRkY2MEY3IC8qIExvb2t1cC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDNDMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDNG
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8qIE5vZGVzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDEw
RTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyog
TnVtYmVyQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVj
dG9yLmx1dC5oICovOyB9OworCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2Jq
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjky
QTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDQwRTE2RjVDRDAwQjM0NDYw
IC8qIE51bWJlclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkMyNjgwQzUwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThD
NDQ1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBPYmplY3RDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzcwRTE2RDRFOTAwQTA2RTky
IC8qIE9iamVjdENvbnN0cnVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDYwRTE2RjVDRDAwQjM0NDYwIC8qIE9iamVjdFByb3Rv
dHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwQzkwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDQ4MEUxNkY1Q0QwMEIz
NDQ2MCAvKiBPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDRCMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzRjBCM0FBMDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1MDBF
MTZGNUNEMDBCMzQ0NjAgLyogUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTU3NDJGNjQwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1
MTBFMTZGNUNEMDBCMzQ0NjAgLyogUHJvZmlsZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QUI4MzU1MERBNDNCNDQwMEJDODNGMyAvKiBQcm9m
aWxlTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDUyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBMZWdhY3lQcm9maWxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBQjgzMkYwREE0MkNBRDAw
QkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NTQwRTE2RjVDRDAwQjM0NDYwIC8qIFByb3BlcnR5
TmFtZUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTQwMEMxMDBBNjlCQUYyMDA1MDk4ODcgLyogUHJvcGVydHlOYW1lQXJyYXkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1NTBFMTZG
NUNEMDBCMzQ0NjAgLyogUHJvcGVydHlTbG90LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTYyMUU2QzA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlT
bG90LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QkMxOEM0NTYwRTE2RjVDRDAwQjM0NDYwIC8qIFByb3RlY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1QzAyRkJCMDYzNzQ2MkEwMDNFN0VFNiAvKiBQ
cm90ZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQkMxOEM0NUEwRTE2RjVDRDAwQjM0NDYwIC8qIFJlZ0V4cC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4N0UwMjU1NTk3RDAxRkY2MEY3IC8q
IFJlZ0V4cC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDVCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBSZWdFeHBPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODdDMDI1NTU5N0QwMUZG
NjBGNyAvKiBSZWdFeHBPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1RDBFMTZGNUNEMDBCMzQ0NjAgLyogUmVnaXN0ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OUIyNEZGMEQ4
QUY2RDEwMDlDQjhDNyAvKiBSZWdpc3Rlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDVFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0YWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEQ3OTI2
NDBEQUEwM0ZCMDAxQTlGMDUgLyogSlNTdGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDYzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBTb3Vy
Y2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjVFODY2RUQwREQ1OUFGQTAwQTJCMkExIC8qIFNvdXJjZVByb3ZpZGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NjQwRTE2RjVD
RDAwQjM0NDYwIC8qIFNvdXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1RTg2NkVFMERENTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VDb2RlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0
NjYwRTE2RjVDRDAwQjM0NDYwIC8qIFN0cmluZ0NvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE4QzNDMTBFMTZFRTMzMDBCMzQ0NjAg
LyogU3RyaW5nQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMxOEM0NjgwRTE2RjVDRDAwQjM0NDYw
IC8qIFN0cmluZ09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMxOEMzQzMwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDZBMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0M2MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJp
bmdQcm90b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlCQzE4QzQ2QjBFMTZGNUNEMDBCMzQ0NjAgLyogU3ltYm9sVGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0QTM5NkE2MENEMjkzMzEw
MEI1QjRGRiAvKiBTeW1ib2xUYWJsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUJDMThDNDdBMEUxNkY1Q0QwMEIzNDQ2MCAvKiBXZWJLaXRBdmFp
bGFiaWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVERTNEMEY0MEREOERERkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMThDNTI0MEUxNkZD
OEEwMEIzNDQ2MCAvKiBBcnJheVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDNTIzMEUxNkZDOEEwMEIzNDQ2MCAvKiBBcnJh
eVByb3RvdHlwZS5sdXQuaCAqLzsgfTsKKwkJQkMxOEM1MkUwRTE2RkNFMTAwQjM0NDYwIC8qIExl
eGVyLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkMxOEM1MkQwRTE2RkNFMTAwQjM0NDYwIC8qIExleGVyLmx1dC5oICovOyB9OworCQlCQzMwNDYw
NzBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzA0NjA2MEUxRjQ5N0YwMDMyMzJDRiAvKiBFcnJvci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDNkFBQUU1
MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNkFBQUU0MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0lu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlC
Qzc1NkZDOTBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzU2RkM3MEUyMDMx
QjIwMERFN0QxMiAvKiBKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oICovOyB9OworCQlCQzg3Q0RC
OTEwNzEyQUQ0MDAwNjE0Q0YgLyogSlNPTk9iamVjdC5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODdDREI4MTA3MTJBQ0EwMDA2MTRDRiAvKiBK
U09OT2JqZWN0Lmx1dC5oICovOyB9OworCQlCQzkwNDE0ODBFQjkyNTA5MDBGRTI2RkEgLyogU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzkwNDE0NzBFQjkyNTA5MDBGRTI2RkEgLyogU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQkM5NTQzN0QwRUJBNzBGRDAwNzJCNkQzIC8qIFByb3BlcnR5TWFwSGFzaFRhYmxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk1NDM3QzBF
QkE3MEZEMDA3MkI2RDMgLyogUHJvcGVydHlNYXBIYXNoVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQ0JFMkNBRTE0RTk4NUFBMDAwNTkz
QUQgLyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0JFMkNBRDE0RTk4NUFBMDAwNTkzQUQgLyogR0NBc3NlcnRpb25zLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkNDRjBEMDgw
RUYwQUFCOTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0NGMEQwNzBFRjBBQUI5MDA0MTNDOEYgLyog
U3RydWN0dXJlU3R1YkluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlCQ0NGMEQwQzBFRjBCOEE1MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1Yklu
Zm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkND
RjBEMEIwRUYwQjhBNTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmNwcCAqLzsgfTsKKwkJ
QkNEMjAyQzIwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cENvbnN0cnVjdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0QyMDJCRTBFMTcwNkE3MDAy
QzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkNEMjAyQzQwRTE3MDZBNzAw
MkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNEMjAyQzAwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cFByb3Rv
dHlwZS5oICovOyB9OworCQlCQ0QyMDJENjBFMTcwNzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3Ry
dWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0QyMDJENTBFMTcwNzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggKi87
IH07CisJCUJDRDIwMzRBMEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ2MEUxNzEz
NUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkNEMjAzNEMwRTE3MTM1
RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ4MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlUHJvdG90
eXBlLmggKi87IH07CisJCUJDRDIwM0U4MEUxNzE4RjQwMDJDN0U4MiAvKiBEYXRlUHJvdG90eXBl
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNE
MjAzRTcwRTE3MThGNDAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUubHV0LmggKi87IH07CisJCUJD
REQ1MUVCMEZCOERGNzQwMDRBOEJEQyAvKiBKSVRPcGNvZGVzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDREQ1MUU5MEZCOERGNzQwMDRBOEJEQyAv
KiBKSVRPcGNvZGVzLmNwcCAqLzsgfTsKKwkJQkNERTNBQjgwRTZDODJGNTAwMTQ1M0E3IC8qIFN0
cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNERTNBQjEwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDREUzQjQzMEU2QzgzMkQwMDE0NTNB
NyAvKiBTdHJ1Y3R1cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNERTNBQjAwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgKi87IH07
CisJCUJDRjYwNTE0MEUyMDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2MDUxMjBFMjAzRUY4MDBCOUE2NEQg
LyogQXJnTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGRDhDOTAwRUVCMkVFNzAw
MjgzODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi87IH07CisJCUJDRkQ4QzkzMEVFQjJFRTcwMDI4Mzg0
OCAvKiBKdW1wVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjAzMjgyMDE5ODE5NzlE
MDA4OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAzMjgxRTE5ODE5NzlEMDA4OEI0OTkg
LyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi87IH07CisJCUMyMEJBOTJEMTZCQjFD
MTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEJBOTJDMTZCQjFDMTUwMEIzQUVBMiAv
KiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDMjExMjJFMTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJl
YWRTaGFyZWREYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyMTEyMkRFMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEuY3Bw
ICovOyB9OworCQlDMjExMjJFMjE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjExMjJE
RjE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzIxNjBGRTcxNUY3RTk1RTAwOTQy
REZDIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9y
SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUMyMTgxRkMyMThBOTQ4RkIwMDI1QTIzNSAvKiBKU0V4cG9ydFRlc3RzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxODFGQzExOEE5NDhGQjAw
MjVBMjM1IC8qIEpTRXhwb3J0VGVzdHMubW0gKi87IH07CisJCUMyMThEMTQwMTY1NUNGRDUwMDYy
QkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMyMThEMTNGMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjIzOUQx
NzE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyMzlEMTIxNjI2MkJERDAwNUFDNUZEIC8qIENv
cHlWaXNpdG9yLmNwcCAqLzsgfTsKKwkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MjIzOUQxMzE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1
RkQgLyogQ29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMjIzOUQxNDE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3JJ
bmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQzIyMzlEMUExNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMjM5RDE1MTYyNjJCREQwMDVBQzVG
RCAvKiBHQ1RocmVhZC5jcHAgKi87IH07CisJCUMyMjM5RDFCMTYyNjJCREQwMDVBQzVGRCAvKiBH
Q1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzIyMzlEMTYxNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmggKi87IH07CisJCUMyMjU0OTQz
MTVGN0RCQUEwMDY1RTg5OCAvKiBTbG90VmlzaXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjI1NDk0MjE1RjdEQkFBMDA2NUU4OTggLyogU2xv
dFZpc2l0b3IuY3BwICovOyB9OworCQlDMjJCMzFCOTE0MDU3N0Q3MDBEQjQ3NUEgLyogU2FtcGxp
bmdDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjc3MDA4RTE0MDJGREQ2MDA3OEVCMzkgLyogU2FtcGxpbmdDb3VudGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzI0MDMwNTUxNEI0MDRF
NjAwNzlFQjY0IC8qIENvcGllZFNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDAzMDUzMTRCNDA0QzkwMDc5RUI2NCAvKiBDb3BpZWRTcGFj
ZS5jcHAgKi87IH07CisJCUMyNEQzMUUyMTYxQ0Q2OTUwMDJBQTREQiAvKiBIZWFwU3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjRE
MzFFMDE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuY3BwICovOyB9OworCQlDMjRE
MzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNEQzMUUxMTYxQ0Q2OTUwMDJBQTREQiAv
KiBIZWFwU3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMyNUQ3MDlCMTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNUQ3MDk5
MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5tbSAqLzsgfTsKKwkJQzI1RDcwOUMx
NkRFOTlGNDAwRkNBNkJDIC8qIEpTTWFuYWdlZFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjVENzA5QTE2REU5OUY0MDBGQ0E2QkMgLyogSlNN
YW5hZ2VkVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07
IH07CisJCUMyNUY4QkNEMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI1RjhCQ0Ix
NTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5jcHAgKi87IH07CisJCUMyNUY4
QkNFMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNUY4QkNDMTU3NTQ0QTkwMDI0NUI3
MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMjgzMTkwMDE2RkU0QjdEMDAxNTdCRkQgLyogSGFuZGxlQmxv
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyODMx
OEZGMTZGRTRCN0QwMDE1N0JGRCAvKiBIYW5kbGVCbG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyODMxOTAyMTZGRTUzM0UwMDE1N0JGRCAv
KiBIYW5kbGVCbG9ja0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMyODMxOTAxMTZGRTUzM0UwMDE1N0JGRCAvKiBIYW5kbGVCbG9ja0lubGlu
ZXMuaCAqLzsgfTsKKwkJQzI4OEIyREUxOEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyODhCMkREMThB
NTREM0UwMDdCRTQwQiAvKiBEYXRlVGVzdHMubW0gKi87IH07CisJCUMyOTgxRkQ4MTdCQUVFNEIw
MEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5ODFGRDYxN0JBRUU0QjAwQTNCQzk4IC8q
IERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAgKi87IH07CisJCUMyOTgxRkQ5MTdCQUVFNEIw
MEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyOTgxRkQ3MTdCQUVFNEIwMEEzQkM5OCAvKiBE
RkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMjk4MUZEQzE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJl
ZFdyaXRlQmFycmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzI5ODFGREExN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJp
ZXJzLmNwcCAqLzsgfTsKKwkJQzI5ODFGREQxN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRX
cml0ZUJhcnJpZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMjk4MUZEQjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjlF
Q0IwMzE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3Qu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjlFQ0Iw
MTE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3QubW0g
Ki87IH07CisJCUMyQTdGNjg4MTYwNDMyRDQwMEY3NkI5OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVj
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJBN0Y2
ODcxNjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJCNkQ3NTMxOEEzMzc5MzAw
NEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJh
cnJpZXJJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJCOTE2QzExNERB
MDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyQjkxNkM1MTREQTA0MEMwMENCQUM4NiAvKiBN
YXJrZWRBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAg
Ki87IH07CisJCUMyQzBGN0NEMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlv
bnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJD
MEY3Q0IxN0JCRkM1QjAwNDY0RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAgKi87IH07
CisJCUMyQzBGN0NFMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzBGN0NDMTdC
QkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMkM4RDAyRDE0QTNDNkUwMDA1NzhF
NjUgLyogQ29waWVkU3BhY2VJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyQjE0QTNDNkIyMDA1NzhFNjUgLyogQ29waWVkU3BhY2VJ
bmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQzJDOEQwMzAxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyRTE0QTNDRUZDMDA1NzhF
NjUgLyogQ29waWVkQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDMkM4RDAzMTE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyRjE0QTND
RUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJDRjM5QzExNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3Jh
cHBlck9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMyQ0YzOUJGMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QubW0gKi87
IH07CisJCUMyQ0YzOUMyMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQ0YzOUMwMTZF
MTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCAqLzsgfTsKKwkJQzJEQTc3ODMx
OEUyNTk5OTAwNjZGQ0I2IC8qIEhlYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkRBNzc4MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElu
bGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4
RCAvKiBIZWFwVGltZXIuY3BwICovOyB9OworCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyog
SGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJFQUEzRkExNDlBODM1RTAwRkNF
MTEyIC8qIENvcGllZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMkVBRDJGQzE0
RjAyNDk4MDBBNEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkVBRDJGQjE0RjAyNDk4MDBBNEIxNTkgLyogQ29w
aWVkQWxsb2NhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQzJGMEYyRDExNkJBRUVFOTAwMTg3QzE5IC8qIFN0cnVjdHVyZVJhcmVEYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRjBGMkQw
MTZCQUVFRTkwMDE4N0MxOSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5jcHAgKi87IH07CisJCUMyRkM5
QkQzMTY2NDRERkIwMDgxMEQzMyAvKiBDb3BpZWRCbG9ja0lubGluZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRkM5QkQyMTY2NDRERkIwMDgxMEQz
MyAvKiBDb3BpZWRCbG9ja0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMkZDQUUxMDE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVC
YXNpY0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMyRkNBRTBDMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2ljQmxvY2suY3BwICov
OyB9OworCQlDMkZDQUUxMTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZDQUUwRDE3
QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJGQ0FFMTIxN0E5QzI0RTAwMzRDNzM1
IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZDQUUwRTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNv
ZGVMaXZlbmVzc0FuYWx5c2lzLmNwcCAqLzsgfTsKKwkJQzJGQ0FFMTMxN0E5QzI0RTAwMzRDNzM1
IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGQ0FFMEYxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2Rl
TGl2ZW5lc3NBbmFseXNpcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMyRkUxOEE0MTZCQUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGRTE4
QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzQ0MkNCMjUxQTZDREI4QzAwNUQz
RDdDIC8qIEpTSW5wdXRzLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OTI4RkYzRDE4QUM0QjFDMDBCOENGMTIgLyogSlNJbnB1dHMuanNvbiAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNDcwM0NDMDE5
Mjg0NDk2MDAxM0ZCRUEgLyogZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ3MDNDQkYx
OTI4NDQ5NjAwMTNGQkVBIC8qIGdlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNDcw
M0NDRTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcy5weSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAzQ0MzMTky
ODQ0Q0MwMDEzRkJFQSAvKiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM0NzAzQ0Q1MTkyODQ0
Q0MwMDEzRkJFQSAvKiBnZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ3MDNDQ0ExOTI4NDRDQzAwMTNGQkVBIC8qIGdl
bmVyYXRvcl90ZW1wbGF0ZXMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQzQ3MDNDRDYxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvci5weSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAzQ0NCMTky
ODQ0Q0MwMDEzRkJFQSAvKiBnZW5lcmF0b3IucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzQ3MDNDRDcxOTI4NDRDQzAwMTNGQkVBIC8qIG1vZGVs
cy5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAz
Q0NDMTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2RlbHMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzRGNEI2RjMxQTA1Qzk0NDAwNUNBQjc2IC8qIGNw
cF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzRGNEI2Q0YxQTA1Qzc2RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3Jf
dGVtcGxhdGVzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUM0RjRCNkY0MUEwNUM5NDQwMDVDQUI3NiAvKiBjcHBfZ2VuZXJhdG9yLnB5IGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDAxQTA1Qzc2
RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzRGNEI2RjUxQTA1Qzk4NDAwNUNBQjc2IC8qIGdlbmVy
YXRlX29iamNfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZENzFBMDVDNzZGMDA1Q0FCNzYg
LyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNEY0QjZGNjFBMDVD
OTg0MDA1Q0FCNzYgLyogb2JqY19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDgxQTA1Qzc2RjAwNUNBQjc2
IC8qIG9iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlEQzAwMDM5MzE5RDhCRTZGMDAwMjNFQjAgLyogREZH
UHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gREMwMDAzOTAxOUQ4QkU2RjAwMDIzRUIwIC8qIERGR1ByZWNpc2VMb2Nh
bENsb2JiZXJpemUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlFMTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1MEU1NTU3
NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUxMjRBOEY4MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFx
dWVKU1N0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMTI0QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovOyB9
OworCQlFMThFM0E1OTBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8q
IFZNLmNwcCAqLzsgfTsKKwkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3Zp
ZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTQ5REMxNTUxMkVGMjc3MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwICov
OyB9OworCQlFNDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTEx
MkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNDlEQzE2RDEyRUYyOTUzMDAxODRB
MUYgLyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUZFMEQ0QTA2MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGlt
aXRUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFMEQ0QTA0MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCAq
LzsgfTsKKwkJRkUwRDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2JhbENvbnRleHRXaXRoRmlu
YWxpemVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6
ZXJUZXN0LmNwcCAqLzsgfTsKKwkJRkUxQzBGRkQxQjE5M0U5ODAwQjUzRkNBIC8qIEV4Y2VwdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUxQzBG
RkMxQjE5M0U5ODAwQjUzRkNBIC8qIEV4Y2VwdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFMUMwRkZGMUIxOTRGRDEwMEI1M0ZDQSAvKiBF
eGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkUxQzBGRkUxQjE5NEZEMTAwQjUzRkNBIC8qIEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCUZF
MjBDRTlEMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMjBDRTlCMTVGMDRBOTUwMERGMzQzMCAv
KiBMTEludENMb29wLmNwcCAqLzsgfTsKKwkJRkUyMENFOUUxNUYwNEE5NTAwREYzNDMwIC8qIExM
SW50Q0xvb3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFMjBDRTlDMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkUzODRFRTUxQUREQjdBRDAwNTVE
RTJDIC8qIEpTRG9sbGFyVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkUzODRFRTExQUREQjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICov
OyB9OworCQlGRTM4NEVFNjFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUzODRFRTIxQUREQjdBRDAw
NTVERTJDIC8qIEpTRG9sbGFyVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlGRTM4NEVFNzFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVBy
b3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRTM4NEVFMzFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVByb3RvdHlwZS5jcHAgKi87
IH07CisJCUZFMzg0RUU4MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTM4NEVFNDFB
RERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFNEJGRjJCMUFENDc2RTcwMDA4OEY4
NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTRCRkYyOTFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25PdmVy
cmlkZXMuY3BwICovOyB9OworCQlGRTRCRkYyQzFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25P
dmVycmlkZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFNEJGRjJBMUFENDc2RTcwMDA4OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5oICovOyB9Owor
CQlGRTRENTVCODFBRTcxNkNBMDA1MkU0NTkgLyogSXRlcmF0aW9uU3RhdHVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTRENTVCNzFBRTcxNkNBMDA1
MkU0NTkgLyogSXRlcmF0aW9uU3RhdHVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkU1MDY4NjUxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVk
U291cmNlRHVtcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU1MDY4NjQxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFNTA2ODY3MUFF
MjVFMjgwMDA5REFCNyAvKiBEZWZlcnJlZFNvdXJjZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU1MDY4NjYxQUUyNUUyODAwMDlEQUI3IC8q
IERlZmVycmVkU291cmNlRHVtcC5jcHAgKi87IH07CisJCUZFNTkzMkE3MTgzQzVBMjYwMEExRUND
QyAvKiBWTUVudHJ5U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlTY29wZS5jcHAg
Ki87IH07CisJCUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNTkzMkE2MTgzQzVB
MjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlGRTdCQTYwRjFBMUE3Q0VDMDBGMUY3QjQgLyogSGVhcFZl
cmlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFN0JBNjBEMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuY3BwICovOyB9OworCQlG
RTdCQTYxMDFBMUE3Q0VDMDBGMUY3QjQgLyogSGVhcFZlcmlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTdCQTYwRTFBMUE3Q0VDMDBGMUY3QjQg
LyogSGVhcFZlcmlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRkVBMDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQTA4NjFFMTgyQjdB
MDQwMEY2RDg1MSAvKiBCcmVha3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkVBMDg2MjExODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2Vy
UHJpbWl0aXZlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkVBMDg2MUYxODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFQjUxRjZDMUE5
N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJlZ3Jl
c3MxNDE4MDkubW0gKi87IH07CisJCUZFQjU4QzE0MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhh
bmRsaW5nU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkVCNThDMTIxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAg
Ki87IH07CisJCUZFQjU4QzE1MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQjU4QzEz
MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGRUQyODdCMjE1RUM5QTU3MDBEQTgx
NjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZFRDI4N0IxMTVFQzlBNTcwMERBODE2MSAvKiBMTEludE9wY29kZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFRDk0RjJFMTcx
RTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cu
Y3BwICovOyB9OworCQlGRUQ5NEYyRjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDk0RjJDMTcxRTNF
MjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUZFRDk0RjMwMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZ01h
Yy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5
NEYyRDE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2dNYWMuY3BwICovOyB9OworCQlGRUYwNDA1
MTFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjA0MDUwMUFBRTY2MkQwMEJEMjhC
MCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovOyB9OworCQlGRUY2ODM1RTE3NDM0M0NDMDBB
MzJFMjUgLyogSklUU3R1YnNBUk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZFRjY4MzVBMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFRjY4MzVG
MTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTXY3LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUY2ODM1QjE3NDM0M0NDMDBBMzJFMjUgLyogSklU
U3R1YnNBUk12Ny5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUZFRjY4MzYwMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVGNjgzNUMxNzQzNDND
QzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2XzY0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkVGNjgzNjExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0
dWJzWDg2LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCisKKy8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTBG
Q0VGQUJDMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJ
CQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3
RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUg
PSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQ7
CisJCQlyZW1vdGVJbmZvID0gbGx2bUZvckpTQzsKKwkJfTsKKwkJMEZGOTIyRDIxNEY0NkIyRjAw
NDFBMjRFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRh
aW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJB
QUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVH
bG9iYWxJRFN0cmluZyA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MjsKKwkJCXJlbW90ZUluZm8g
PSAiTExJbnQgT2Zmc2V0cyI7CisJCX07CisJCTVENjlFOTExMTUyQkU1NDcwMDI4RDcyMCAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA5MzJGNUJEQTA4MjJBMUM3MDA3MzY5NzU7CisJCQlyZW1vdGVJbmZvID0ganNjOworCQl9
OworCQk1RDZCMkE0RTE1MkI5RTIzMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gMTQxMjExMUYwQTQ4NzkzQzAw
NDgwMjU1OworCQkJcmVtb3RlSW5mbyA9IG1pbmlkb207CisJCX07CisJCTVENkIyQTUwMTUyQjlF
MjMwMDUyMzFERSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVt
b3RlR2xvYmFsSURTdHJpbmcgPSAxNEJENTlCRTBBM0U4RjkwMDBCQUY1OUM7CisJCQlyZW1vdGVJ
bmZvID0gdGVzdGFwaTsKKwkJfTsKKwkJNUQ2QjJBNTQxNTJCOUUyMzAwNTIzMURFIC8qIFBCWENv
bnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsK
KwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0
IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDY1MTEyMkY3MTQwNDZBNEMwMDJCMTAxRDsKKwkJCXJlbW90ZUluZm8gPSB0ZXN0UmVnRXhwOwor
CQl9OworCQk1RDZCMkE1NjE1MkI5RTJFMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9y
dGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJ
cHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNUQ2QjJBNDcxNTJCOUUx
NzAwNTIzMURFOworCQkJcmVtb3RlSW5mbyA9ICJUZXN0IFRvb2xzIjsKKwkJfTsKKwkJNjUyNDRC
RDIxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlz
YSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkw
RkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7
CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQjsKKwkJ
CXJlbW90ZUluZm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsKKwkJNjU0NDJENEYxOEVCQjc0
NDAwN0FGOTJGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENv
bnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZD
MDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1v
dGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQjsKKwkJCXJlbW90ZUlu
Zm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsKKwkJNjU3ODhBOUYxOEI0MDlFQjAwQzE4OUZG
IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0
ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAv
KiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJ
RFN0cmluZyA9IDBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RTsKKwkJCXJlbW90ZUluZm8gPSBKU0NM
TEludE9mZnNldHNFeHRyYWN0b3I7CisJCX07CisJCTY1Nzg4QUFBMThCNDBBM0IwMEMxODlGRiAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVt
UHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyog
UHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CisJCQlyZW1vdGVJbmZvID0gIkRlcml2
ZWQgU291cmNlcyI7CisJCX07CisJCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJ
CQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBv
YmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA2
NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7CisJCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUgQXNzZW1i
bGVyIjsKKwkJfTsKKwkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2
MDlEMTFFOTEwMEY0OURFQjsKKwkJCXJlbW90ZUluZm8gPSAiR2VuZXJhdGUgRGVyaXZlZCBTb3Vy
Y2VzIjsKKwkJfTsKKwkJOTMyRjVCRTYwODIyQTFDNzAwNzM2OTc1IC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDkzMkY1QjNF
MDgyMkExQzcwMDczNjk3NTsKKwkJCXJlbW90ZUluZm8gPSAiSmF2YVNjcmlwdENvcmUgKFVwZ3Jh
ZGVkKSI7CisJCX07CisvKiBFbmQgUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTVEQkIxNTExMTMx
RDBCMTMwMDU2QUQzNiAvKiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0geworCQkJaXNhID0gUEJY
Q29weUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDEyOworCQkJZHN0UGF0
aCA9ICIiOworCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDE2OworCQkJZmlsZXMgPSAoCisJCQkJNURC
QjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8qIHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlw
dCAqLywKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgU3VwcG9ydCBTY3JpcHQiOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTVEQkIxNTI0MTMxRDBC
QTEwMDU2QUQzNiAvKiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0geworCQkJaXNhID0gUEJYQ29w
eUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlk
c3RQYXRoID0gIiI7CisJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTY7CisJCQlmaWxlcyA9ICgKKwkJ
CQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRvbS5qcyBpbiBDb3B5IFN1cHBvcnQg
U2NyaXB0ICovLAorCQkJKTsKKwkJCW5hbWUgPSAiQ29weSBTdXBwb3J0IFNjcmlwdCI7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhD
b3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5j
ZSBzZWN0aW9uICovCisJCTBGMDEyMzMwMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0cmVu
Z3RoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZhbHVlU3Ry
ZW5ndGguY3BwOyBwYXRoID0gZGZnL0RGR1ZhbHVlU3RyZW5ndGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjAxMjMzMTE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJl
bmd0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYWx1ZVN0cmVuZ3Ro
Lmg7IHBhdGggPSBkZmcvREZHVmFsdWVTdHJlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjAzMzJCRjE4QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJVFR5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXhpdGluZ0pJVFR5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzMzJDMTE4QjAxNzYzMDA1Rjk3OUEgLyog
R2V0QnlJZFZhcmlhbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
R2V0QnlJZFZhcmlhbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzMzJD
MjE4QjAxNzYzMDA1Rjk3OUEgLyogR2V0QnlJZFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR2V0QnlJZFZhcmlhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYwMzMyQzUxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExXZWlnaHQuaDsgcGF0aCA9IGZ0bC9GVExXZWlnaHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwMzMyQzcxOEI1NDZFQzAwNUY5NzlB
IC8qIEZUTFdlaWdodGVkVGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZUTFdlaWdodGVkVGFyZ2V0Lmg7IHBhdGggPSBmdGwvRlRMV2VpZ2h0ZWRUYXJnZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwNDM5NkIxQjAzREMwQjAwOTU5OEI3IC8qIERG
R0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHQ29tYmluZWRMaXZlbmVzcy5jcHA7IHBhdGggPSBkZmcvREZHQ29tYmluZWRMaXZlbmVz
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDQzOTZDMUIwM0RDMEIwMDk1
OThCNyAvKiBERkdDb21iaW5lZExpdmVuZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR0NvbWJpbmVkTGl2ZW5lc3MuaDsgcGF0aCA9IGRmZy9ERkdDb21iaW5lZExpdmVu
ZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDVDM0IyMTY4M0NGOEYwMEJB
RjQ1QiAvKiBERkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0aCA9IGRm
Zy9ERkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMDc3NkJEMTRGRjAwMjgwMDEwMjMzMiAvKiBKSVRDb21waWxhdGlvbkVmZm9ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRDb21waWxhdGlvbkVmZm9ydC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYg
LyogTExJbnRUaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
TExJbnRUaHVua3MuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRUaHVua3MuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjBCODM5ODE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRUaHVu
a3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnRUaHVua3MuaDsgcGF0
aCA9IGxsaW50L0xMSW50VGh1bmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MEI4M0E1MTRCQ0Y1MDQwMDg4NUI0RiAvKiBDb2RlVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb2RlVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjBCODNBODE0QkNGNTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSGFuZGxlckluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYwQjgzQUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhwcmVzc2lvblJhbmdlSW5mby5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyog
Q2FsbExpbmtJbmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENh
bGxMaW5rSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMEI4M0FGMTRC
Q0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2FsbExpbmtJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNl
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsUmV0dXJuT2Zmc2V0VG9C
eXRlY29kZU9mZnNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBDRDRDMDE1
RjFBNjA0MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFB1dERpcmVjdEluZGV4TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjBDRDRDMzE1RjZCNkI1MDAzMkYxQzAgLyogU3BhcnNlQXJyYXlWYWx1ZU1h
cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGFyc2VBcnJheVZh
bHVlTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwRkM0NTgxNEJEMTVG
MTAwQjgxMTU0IC8qIExMSW50Q2FsbExpbmtJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExMSW50Q2FsbExpbmtJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2VwdGlvbkZ1enouY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjEyREUwRTE5NzlENUZEMDAwNkZGNEUgLyogRXhjZXB0
aW9uRnV6ei5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGNlcHRpb25GdXp6
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMTM2RDRCMTc0QUQ2OUIwMDc1QjM1
NCAvKiBEZWZlckdDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmVyR0Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxMzkxMjQxNjc3MUMzMDAwOUNDQjA3
IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBQcm9maWxlckJ5dGVjb2RlU2VxdWVuY2UuY3BwOyBwYXRoID0gcHJvZmls
ZXIvUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYxMzkxMjUxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5j
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlckJ5dGVjb2RlU2Vx
dWVuY2UuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjEzOTEyNjE2NzcxQzMwMDA5Q0NCMDcgLyogUHJv
ZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNwcDsgcGF0aCA9IHByb2ZpbGVyL1By
b2ZpbGVyUHJvZmlsZWRCeXRlY29kZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjEzOTEyNzE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlclByb2ZpbGVkQnl0ZWNv
ZGVzLmg7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMTNFMDRDMTYxNjRBMUIwMERDOERFNyAvKiBJbmRl
eGluZ1R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5kZXhp
bmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxNUYxNUQxNEI3QTcz
QTAwNURFMzdEIC8qIENvbW1vblNsb3dQYXRocy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb21tb25TbG93UGF0aHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYxOTBDQUExODlEODJGNjAwMEFFNUYwIC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZXJKZXR0aXNvblJlYXNv
bi5jcHA7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckpldHRpc29uUmVhc29uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxOTBDQUIxODlEODJGNjAwMEFFNUYwIC8qIFByb2Zp
bGVySmV0dGlzb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJv
ZmlsZXJKZXR0aXNvblJlYXNvbi5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJKZXR0aXNvblJl
YXNvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjFERDg0OTE4QTk0NUJFMDAy
NkYzRkEgLyogSlNDSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0NJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTQzMTUzNENC
QUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50UG9zaXRpb24uaDsgcGF0aCA9IGRmZy9ERkdBcmd1bWVu
dFBvc2l0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTQ0MTUzNENC
QUQwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdEb3VibGVGb3JtYXRTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR0RvdWJs
ZUZvcm1hdFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTUwMTUz
N0MyQ0IwMDBGOTQ1NiAvKiBERkdTbG93UGF0aEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdTbG93UGF0aEdlbmVyYXRvci5oOyBwYXRoID0gZGZnL0RGR1Ns
b3dQYXRoR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTY1
MTUzQTIxREYwMDBGOTQ1NiAvKiBERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NpbGVudFJlZ2lzdGVyU2F2ZVBsYW4uaDsgcGF0
aCA9IGRmZy9ERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMUZFNTFCMTkyMkEzQkMwMDY5ODdDNSAvKiBBYm9ydFJlYXNvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYm9ydFJlYXNvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjIwQzI1ODFBODAxM0FCMDBEQTMyMjkgLyogVmlydHVhbFJlZ2lz
dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpcnR1YWxSZWdp
c3Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjFDMjc5MTRCRTcyNzMw
MEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvZGVTcGVjaWFsaXphdGlvbktpbmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEYyMUMyN0UxNEJFQUE4MDAwQURDNjRCIC8qIEJ5dGVjb2RlQ29udmVudGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVDb252ZW50aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJCRDE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMRXhpdEFyZ3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTEV4aXRBcmd1bWVudC5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdEFyZ3VtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQkUxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTEV4aXRBcmd1bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExFeGl0QXJndW1lbnQuaDsgcGF0aCA9IGZ0bC9GVExFeGl0QXJndW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQkYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRB
cmd1bWVudEZvck9wZXJhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdEFyZ3Vt
ZW50Rm9yT3BlcmFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkMw
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEV4aXRBcmd1bWVudEZvck9wZXJhbmQuaDsgcGF0
aCA9IGZ0bC9GVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMjM1QkMxMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEV4aXRBcmd1bWVudExpc3Qu
aDsgcGF0aCA9IGZ0bC9GVExFeGl0QXJndW1lbnRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMjM1QkMyMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMRXhpdFRodW5r
R2VuZXJhdG9yLmNwcDsgcGF0aCA9IGZ0bC9GVExFeGl0VGh1bmtHZW5lcmF0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDMzE3MTc4RTFDMDA2OTBDN0YgLyogRlRM
RXhpdFRodW5rR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TEV4aXRUaHVua0dlbmVyYXRvci5oOyBwYXRoID0gZnRsL0ZUTEV4aXRUaHVua0dlbmVyYXRvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDNDE3MTc4RTFDMDA2OTBDN0Yg
LyogRlRMRXhpdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEZUTEV4aXRWYWx1ZS5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdFZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQzUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRW
YWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExFeGl0VmFsdWUuaDsg
cGF0aCA9IGZ0bC9GVExFeGl0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyMzVCQzYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMT1NSRXhpdC5jcHA7IHBhdGggPSBmdGwvRlRMT1NS
RXhpdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkM3MTcxNzhFMUMw
MDY5MEM3RiAvKiBGVExPU1JFeGl0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZUTE9TUkV4aXQuaDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGMjM1QkM4MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGls
YXRpb25JbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTE9TUkV4aXRD
b21waWxhdGlvbkluZm8uaDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkM5MTcxNzhFMUMwMDY5MEM3RiAv
KiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRlRMT1NSRXhpdENvbXBpbGVyLmNwcDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Q29tcGls
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDQTE3MTc4RTFDMDA2
OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEZUTE9TUkV4aXRDb21waWxlci5oOyBwYXRoID0gZnRsL0ZUTE9TUkV4aXRDb21waWxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDQjE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMVGh1bmtzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEZUTFRodW5rcy5jcHA7IHBhdGggPSBmdGwvRlRMVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQ0MxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExUaHVua3MuaDsgcGF0aCA9IGZ0bC9G
VExUaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQ0QxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEZUTFZhbHVlRm9ybWF0LmNwcDsgcGF0aCA9IGZ0bC9GVExWYWx1ZUZvcm1h
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkNFMTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGVExWYWx1ZUZvcm1hdC5oOyBwYXRoID0gZnRsL0ZUTFZhbHVlRm9ybWF0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkU3MTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JF
eGl0QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdPU1JF
eGl0QmFzZS5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdEJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjIzNUJFODE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdEJhc2UuaDsg
cGF0aCA9IGRmZy9ERkdPU1JFeGl0QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjIzNUJFOTE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkV4aXRQcmVwYXJhdGlv
bi5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCRUExNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQ
cmVwYXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0
UHJlcGFyYXRpb24uaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0UHJlcGFyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNDJEQTUxM0YzQjFCQjAwN0FERDRDIC8qIFdlYWtS
ZWZlcmVuY2VIYXJ2ZXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vh
a1JlZmVyZW5jZUhhcnZlc3Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0
RTUzQjE3RUE5RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzc2VtYmx5SGVscGVycy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNDMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhl
bHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXNzZW1ibHlIZWxwZXJz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNEMTdFQTlGNTkwMEFCQjIx
NyAvKiBDQ2FsbEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0Nh
bGxIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNFMTdFQTlG
NTkwMEFCQjIxNyAvKiBGUFJJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZQUkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNEU1M0YxN0VBOUY1
OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R1BSSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0NTE3RUUyNzQ5
MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyNEU1NDYxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjI0RTU0ODE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlbXBSZWdpc3RlclNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0OTE3RUUyNzQ5MDBBQkIyMTcgLyog
UmVwYXRjaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXBhdGNo
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNEU1NEExN0VFMjc0OTAwQUJC
MjE3IC8qIFJlcGF0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVwYXRj
aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0QjE3RUUyNzQ5MDBBQkIy
MTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjI0RTU1MzE3RjBCNzFDMDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUNhbGxGcmFt
ZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTU0MTdGMEI3MUMw
MEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5saW5lQ2FsbEZyYW1lU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMjRFNTU3MTdGNzRFREIwMEFCQjIxNyAvKiBWYWx1ZVJlY292ZXJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhbHVlUmVjb3ZlcnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1NkMzNDE2MjdCMEFBMDA3RjI3ODMgLyogREZHQ2Fs
bEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHQ2FsbEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0
aCA9IGRmZy9ERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVyYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBNzE4MTYzNUYzMDA1MjJGMzkgLyogRlRMSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TElubGluZUNhY2hlRGVzY3JpcHRvci5oOyBwYXRoID0gZnRsL0ZUTElubGluZUNhY2hlRGVzY3Jp
cHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBODE4MTYzNUYzMDA1
MjJGMzkgLyogRlRMSW5saW5lQ2FjaGVTaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEZUTElubGluZUNhY2hlU2l6ZS5jcHA7IHBhdGggPSBmdGwvRlRMSW5saW5l
Q2FjaGVTaXplLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNUYxQTkxODE2
MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGVExJbmxpbmVDYWNoZVNpemUuaDsgcGF0aCA9IGZ0bC9GVExJbmxpbmVD
YWNoZVNpemUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNUYxQUExODE2MzVG
MzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBGVExTbG93UGF0aENhbGwuY3BwOyBwYXRoID0gZnRsL0ZUTFNsb3dQYXRo
Q2FsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjVGMUFCMTgxNjM1RjMw
MDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRlRMU2xvd1BhdGhDYWxsLmg7IHBhdGggPSBmdGwvRlRMU2xvd1BhdGhDYWxsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjVGMUFDMTgxNjM1RjMwMDUyMkYzOSAvKiBG
VExTbG93UGF0aENhbGxLZXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMU2xvd1BhdGhDYWxsS2V5LmNwcDsgcGF0aCA9IGZ0bC9GVExTbG93UGF0aENhbGxLZXku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBRDE4MTYzNUYzMDA1MjJG
MzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEZUTFNsb3dQYXRoQ2FsbEtleS5oOyBwYXRoID0gZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZBODE3QjZCNTNEMDBBN0FFM0Yg
LyogR0NJbmNvbWluZ1JlZkNvdW50ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NJbmNvbWluZ1JlZkNv
dW50ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QTkxN0I2QjUzRDAw
QTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
Q0luY29taW5nUmVmQ291bnRlZElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyQjY2QUExN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdDSW5jb21pbmdSZWZDb3VudGVkU2V0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMkI2NkFCMTdCNkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVm
Q291bnRlZFNldElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NJbmNvbWluZ1JlZkNvdW50ZWRT
ZXRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkIwMTdCNkI1
QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEYXRhVmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2
NkIxMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJC
NjZCMjE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyaWNUeXBlZEFycmF5Vmlldy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCMzE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkI2NkI0MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyYXlCdWZmZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCNTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5QnVm
ZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkI2MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
QjY2QjgxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkI5MTdCNkI1QUIwMEE3QUUz
RiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYyQjY2QkExN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyYXlCdWZmZXJWaWV3LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QkIxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTQXJyYXlCdWZmZXJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2
NkJDMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkJEMTdCNkI1QUIwMEE3QUUzRiAvKiBK
U0RhdGFWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0
YVZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCRTE3QjZCNUFC
MDBBN0FFM0YgLyogSlNEYXRhVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RhdGFWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkJGMTdC
NkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVZpZXdQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDMDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmll
d1Byb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RhdGFWaWV3
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkMxMTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0Zsb2F0MzJBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0Zsb2F0MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCNjZDMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGbG9hdDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEYyQjY2QzMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM0MTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QzUxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM2
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM3MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDODE3QjZCNUFCMDBBN0FFM0YgLyog
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlSW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDOTE3QjZCNUFCMDBBN0FF
M0YgLyogSlNJbnQ4QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJ
bnQ4QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2Q0ExN0I2QjVB
QjAwQTdBRTNGIC8qIEpTSW50MTZBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0ludDE2QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2
Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0ludDMyQXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyQjY2Q0MxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDRDE3QjZC
NUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDRTE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFy
cmF5UHJvdG90eXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyQjY2Q0YxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheVByb3RvdHlwZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZEMDE3QjZCNUFCMDBBN0FFM0YgLyog
SlNUeXBlZEFycmF5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1R5cGVkQXJyYXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDEx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNUeXBlZEFycmF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjJCNjZEMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVWludDhBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjJCNjZEMzE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OENsYW1wZWRBcnJh
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1VpbnQ4Q2xhbXBlZEFycmF5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkQ0MTdCNkI1QUIwMEE3QUUz
RiAvKiBKU1VpbnQxNkFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VWludDE2QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDUxN0I2
QjVBQjAwQTdBRTNGIC8qIEpTVWludDMyQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNVaW50MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCNjZENjE3QjZCNUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlVHlwZWRBcnJheUNv
bnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZENzE3QjZC
NUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDgxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVk
QXJyYXlBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlZEFy
cmF5QWRhcHRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDkxN0I2
QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2REExN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJy
YXlDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVkQXJy
YXlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkRCMTdC
NkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUeXBlZEFycmF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJC
NjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHlwZWRBcnJheVR5cGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjJCNjZERDE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZWRBcnJheVR5cGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0F2YWlsYWJpbGl0eU1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdBdmFpbGFiaWxpdHlNYXAuY3BwOyBwYXRoID0gZGZnL0RGR0F2YWlsYWJpbGl0eU1h
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0Q3MTlEMEJBN0QwMEIx
RDFCNSAvKiBERkdBdmFpbGFiaWxpdHlNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHQXZhaWxhYmlsaXR5TWFwLmg7IHBhdGggPSBkZmcvREZHQXZhaWxhYmlsaXR5TWFw
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0Q4MTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5jcHA7IHBhdGggPSBk
ZmcvREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjJCOUNEOTE5RDBCQTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JV
cGRhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHSW5zZXJ0T1NSSGlu
dHNGb3JVcGRhdGUuaDsgcGF0aCA9IGRmZy9ERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNEQTE5RDBCQTdEMDBCMUQxQjUgLyog
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcDsgcGF0
aCA9IGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDREIxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR09iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
QjlDREMxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YS5jcHA7IHBhdGggPSBkZmcvREZHT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0REMTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuaDsgcGF0aCA9IGRmZy9E
RkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQaGlDaGlsZHJlbi5jcHA7IHBhdGgg
PSBkZmcvREZHUGhpQ2hpbGRyZW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCOUNERjE5RDBCQTdEMDBCMUQxQjUgLyogREZHUGhpQ2hpbGRyZW4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUGhpQ2hpbGRyZW4uaDsgcGF0aCA9IGRmZy9ERkdQaGlD
aGlsZHJlbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNFMDE5RDBCQTdE
MDBCMUQxQjUgLyogREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwOyBwYXRoID0g
ZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYyQjlDRTExOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Byb21vdGVkSGVhcExvY2F0
aW9uLmg7IHBhdGggPSBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDRUUxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9w
ZXJ0eVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEV4
aXRQcm9wZXJ0eVZhbHVlLmNwcDsgcGF0aCA9IGZ0bC9GVExFeGl0UHJvcGVydHlWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0VGMTlEMEJBQzEwMEIxRDFCNSAv
KiBGVExFeGl0UHJvcGVydHlWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGVExFeGl0UHJvcGVydHlWYWx1ZS5oOyBwYXRoID0gZnRsL0ZUTEV4aXRQcm9wZXJ0eVZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFC
NSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5j
cHA7IHBhdGggPSBmdGwvRlRMRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNGMTE5RDBCQUMxMDBCMUQxQjUgLyogRlRM
RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRlRMRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uaDsgcGF0aCA9IGZ0bC9G
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjJCOUNGMjE5RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0aW9ucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExPcGVyYXRpb25zLmNwcDsgcGF0
aCA9IGZ0bC9GVExPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyQjlDRjMxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMT3BlcmF0aW9ucy5oOyBwYXRoID0gZnRsL0ZUTE9wZXJh
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDMTIxNTFDNUQ0QTAw
Q0Q4OTEwIC8qIERGR0ZpeHVwUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHRml4dXBQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHRml4dXBQaGFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkJEQzEzMTUxQzVENEEwMENEODkxMCAv
KiBERkdGaXh1cFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Zp
eHVwUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdGaXh1cFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGMkJEQzFGMTUxRTgwMzgwMENEODkxMCAvKiBERkdJbnNlcnRpb25TZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHSW5zZXJ0aW9uU2V0Lmg7IHBh
dGggPSBkZmcvREZHSW5zZXJ0aW9uU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMkJEQzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBPcGVyYW5kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjJCREMzRDE1MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWRHcmFwaC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdNaW5pZmllZEdyYXBoLmg7IHBhdGggPSBkZmcv
REZHTWluaWZpZWRHcmFwaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREMz
RTE1MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR01pbmlmaWVkTm9kZS5oOyBwYXRoID0gZGZnL0RGR01pbmlmaWVk
Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM0MDE1MjI4MDE3MDBD
RDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHVmFsdWVTb3VyY2UuaDsgcGF0aCA9IGRmZy9ERkdWYWx1ZVNvdXJjZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM0MTE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFy
aWFibGVFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYXJpYWJs
ZUV2ZW50Lmg7IHBhdGggPSBkZmcvREZHVmFyaWFibGVFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjJCREM0MjE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVu
dFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdWYXJp
YWJsZUV2ZW50U3RyZWFtLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDNDMxNTIyODAxNzAwQ0Q4OTEw
IC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHVmFyaWFibGVFdmVudFN0cmVhbS5oOyBwYXRoID0gZGZnL0RGR1ZhcmlhYmxlRXZl
bnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDNEMxNTIyODE4
MzAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBERkdNaW5pZmllZE5vZGUuY3BwOyBwYXRoID0gZGZnL0RGR01pbmlmaWVk
Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkJEQzRFMTUyMjhCRTcw
MENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBERkdWYWx1ZVNvdXJjZS5jcHA7IHBhdGggPSBkZmcvREZHVmFsdWVTb3VyY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM1MDE1MjI4RkZBMDBDRDg5
MTAgLyogREZHVmFyaWFibGVFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdWYXJpYWJsZUV2ZW50LmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUV2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyRDREREIxOTgzMkQzNDAwN0Q0
QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVidWdnZXJTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MkQ0RERDMTk4MzJEMzQwMDdENEIxOSAvKiBEZWJ1Z2dlclNjb3BlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEYyRDREREYxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVQcm9maWxlckxvZy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlUHJvZmlsZXJMb2cuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjJENERFMDE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVByb2ZpbGVyTG9n
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVQcm9maWxlckxvZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjJENERFMzE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVNldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyRDRERTQxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlw
ZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJENERFNTE5ODMyREFDMDA3
RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRvVGhpc1N0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MkQ0REU2MTk4MzJEQUMwMDdENEIxOSAvKiBUb1RoaXNTdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVG9UaGlzU3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkQ0REU3MTk4MzJEQUMwMDdENEIxOSAvKiBUeXBlTG9jYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMkREODBBMUFCM0Q4NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVjb2RlS2lsbHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyREQ4MEMxQUIzRDhCRTAwQkJCOEU4IC8qIERG
R0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcv
REZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlv
blBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50c0Vs
aW1pbmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkREODBFMUFCM0Q4QkUwMEJCQjhF
OCAvKiBERkdBcmd1bWVudHNVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHQXJndW1lbnRzVXRpbGl0aWVzLmNwcDsgcGF0aCA9IGRmZy9ERkdBcmd1
bWVudHNVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJERDgw
RjFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0aWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50c1V0aWxpdGllcy5oOyBwYXRoID0gZGZn
L0RGR0FyZ3VtZW50c1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJERDgxMDFBQjNEOEJFMDBCQkI4RTggLyogREZHRm9yQWxsS2lsbHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRm9yQWxsS2lsbHMuaDsgcGF0aCA9IGRmZy9ERkdGb3JB
bGxLaWxscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQzc3MDE2RTEyRjZG
MDAzOEQ5NzYgLyogREZHRENFUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHRENFUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0RDRVBoYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyRkM3NzExNkUxMkY2RjAwMzhEOTc2IC8qIERG
R0RDRVBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0RDRVBoYXNl
Lmg7IHBhdGggPSBkZmcvREZHRENFUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyRkNDRjIxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0dyYXBoU2FmZXBvaW50LmNwcDsg
cGF0aCA9IGRmZy9ERkdHcmFwaFNhZmVwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkZDQ0YzMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdHcmFwaFNhZmVwb2ludC5oOyBwYXRo
ID0gZGZnL0RGR0dyYXBoU2FmZXBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMkZDQ0Y0MThBNjAwNzAwMDFBMjdGOCAvKiBERkdTYWZlcG9pbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHU2FmZXBvaW50LmNwcDsgcGF0aCA9IGRmZy9E
RkdTYWZlcG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQ0NGNTE4
QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IERGR1NhZmVwb2ludC5oOyBwYXRoID0gZGZnL0RGR1NhZmVwb2ludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQ0NGNjE4QTYwMDcwMDAxQTI3RjggLyogREZH
U2Nhbm5hYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NjYW5uYWJs
ZS5oOyBwYXRoID0gZGZnL0RGR1NjYW5uYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRjJGQ0NGNzE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdUaHJlYWREYXRhLmNwcDsgcGF0aCA9
IGRmZy9ERkdUaHJlYWREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
RkNDRjgxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1RocmVhZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHVGhyZWFkRGF0YS5oOyBwYXRoID0gZGZnL0RGR1RocmVhZERh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzMDBCNzcxOEFCMDUxMTAwQTZE
NzJFIC8qIERGR05vZGVPcmlnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHTm9kZU9yaWdpbi5oOyBwYXRoID0gZGZnL0RGR05vZGVPcmlnaW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYzMDBCNzkxOEFCMUIxNDAwQTZENzJFIC8qIERGR0ludGVnZXJD
aGVja0NvbWJpbmluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR0ludGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdJbnRl
Z2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMzAwQjdBMThBQjFCMTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFz
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdJbnRlZ2VyQ2hlY2tDb21i
aW5pbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR0ludGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAv
KiBERkdVc2VLaW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R1VzZUtpbmQuY3BwOyBwYXRoID0gZGZnL0RGR1VzZUtpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2luZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdVc2VLaW5kLmg7IHBhdGggPSBkZmcv
REZHVXNlS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM0QjE0QjE2RDQz
RTBDMDAxQ0RBNUEgLyogUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAwRjE3Q0YwNzdGMDBCMTQ0RDMg
LyogTExJbnRFbnRyeXBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExMSW50RW50cnlwb2lu
dC5jcHA7IHBhdGggPSBsbGludC9MTEludEVudHJ5cG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjM4QjAxMDE3Q0YwNzdGMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50RW50cnlwb2ludC5oOyBwYXRoID0gbGxpbnQvTExJbnRF
bnRyeXBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMzhCMDEzMTdDRkU3
NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbktleS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdDb21waWxhdGlvbktleS5jcHA7IHBhdGggPSBkZmcvREZHQ29t
cGlsYXRpb25LZXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAxNDE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25LZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gREZHQ29tcGlsYXRpb25LZXkuaDsgcGF0aCA9IGRmZy9ERkdDb21waWxh
dGlvbktleS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAxNTE3Q0ZFNzU1
MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IERGR0NvbXBpbGF0aW9uTW9kZS5jcHA7IHBhdGggPSBkZmcvREZHQ29t
cGlsYXRpb25Nb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzOEIwMTYx
N0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uTW9kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdDb21waWxhdGlvbk1vZGUuaDsgcGF0aCA9IGRmZy9ERkdDb21w
aWxhdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQTFCRjcxQTlF
Q0I3RDAwMERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcDsgcGF0
aCA9IGRmZy9ERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGM0ExQkY4MUE5RUNCN0QwMDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQ
aGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQdXRTdGFja1Npbmtp
bmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGM0FDNzUxMTgzRUExMDQwMDMyMDI5RiAvKiBTdGFja0Fs
aWdubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGFja0FsaWdubWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAy
OUYgLyogRXhpdGluZ0pJVFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RXhpdGluZ0pJVFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjNBMTcx
NTNFNjhFRjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDsg
cGF0aCA9IGRmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGM0IzQTE4MTUzRTY4RUYwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRp
bmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDb25zdGFudEZv
bGRpbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGM0IzQTI0MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdD
RkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0NGR1Np
bXBsaWZpY2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNC
M0EyNTE1NDRDOTkxMDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmg7
IHBhdGggPSBkZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjNCM0EyOTE1NDc0RkY0MDAzRUQwRkYgLyogREZHVmFsaWRhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHVmFsaWRhdGUuY3BwOyBw
YXRoID0gZGZnL0RGR1ZhbGlkYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR1ZhbGlkYXRlLmg7IHBhdGggPSBkZmcvREZHVmFsaWRhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjdFMjQxOUExMUI4MDAwRDlCQzU2
IC8qIENhbGxWYXJpYW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENhbGxWYXJpYW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjdFMjUx
OUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhbGxWYXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
M0QwQkJBMTk0QTQxNDMwMEZDOUNGOSAvKiBDb25zdGFudFN0cnVjdHVyZUNoZWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnN0YW50U3RydWN0dXJlQ2hlY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNEMEJCQjE5NEE0MTQzMDBGQzlD
RjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb25zdGFudFN0cnVjdHVyZUNoZWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGM0UwMUE4MTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ByZVBvc3ROdW1iZXJp
bmcuY3BwOyBwYXRoID0gZGZnL0RGR1ByZVBvc3ROdW1iZXJpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjNFMDFBOTE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51
bWJlcmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQcmVQb3N0TnVt
YmVyaW5nLmg7IHBhdGggPSBkZmcvREZHUHJlUG9zdE51bWJlcmluZy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWYWx1ZVJlY292ZXJ5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDI2QTQ2MTQ2MENCQUIwMDEzMUY4RiAvKiBW
aXJ0dWFsUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlydHVh
bFJlZ2lzdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDI2QTRBMTQ2MENE
NkIwMDEzMUY4RiAvKiBEYXRhRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERhdGFGb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0MzE3MzYx
NDZCQUM2NTAwN0UzODkwIC8qIExpc3RhYmxlSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMaXN0YWJsZUhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklURXhjZXB0aW9ucy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MDgwMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRF
eGNlcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVEV4Y2VwdGlv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwOUQxNEJBN0Y4MjAwQkZF
MjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRFeGNlcHRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwOUUxNEJBN0Y4MjAwQkZF
MjcyIC8qIExMSW50RXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMTEludEV4Y2VwdGlvbnMuaDsgcGF0aCA9IGxsaW50L0xMSW50RXhjZXB0aW9ucy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODA5RjE0QkE3RjgyMDBCRkUyNzIgLyogTExJ
bnRTbG93UGF0aHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJ
bnRTbG93UGF0aHMuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRT
bG93UGF0aHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnRTbG93UGF0
aHMuaDsgcGF0aCA9IGxsaW50L0xMSW50U2xvd1BhdGhzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNDY4MEExMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludE9mZnNldHNFeHRyYWN0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJbnRPZmZzZXRz
RXh0cmFjdG9yLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50T2Zmc2V0c0V4dHJhY3Rvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MEM1MTRCQkIxNjkwMEJGRTI3MiAvKiBM
TEludENvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludENvbW1v
bi5oOyBwYXRoID0gbGxpbnQvTExJbnRDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NjgwQzYxNEJCQjE2OTAwQkZFMjcyIC8qIExMSW50T2ZmbGluZUFzbUNvbmZpZy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludE9mZmxpbmVBc21Db25maWcu
aDsgcGF0aCA9IGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjQ2ODBDNzE0QkJCMTY5MDBCRkUyNzIgLyogTG93TGV2ZWxJbnRlcnBy
ZXRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMb3dMZXZlbElu
dGVycHJldGVyLmNwcDsgcGF0aCA9IGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODBDODE0QkJCMTY5MDBCRkUyNzIgLyogTG93
TGV2ZWxJbnRlcnByZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMb3dM
ZXZlbEludGVycHJldGVyLmg7IHBhdGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MENFMTRCQkIzRDEwMEJGRTI3MiAvKiBM
TEludERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJbnRE
YXRhLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNDY4MENGMTRCQkIzRDEwMEJGRTI3MiAvKiBMTEludERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnREYXRhLmg7IHBhdGggPSBsbGludC9MTElu
dERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwRDAxNEJCQzVGODAw
QkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNDY4MEQxMTRCQkM1RjgwMEJGRTI3MiAvKiBIb3N0Q2FsbFJldHVyblZh
bHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhvc3RDYWxsUmV0dXJuVmFs
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0ODUzMUYxODc3NTA1NjAwODNC
Njg3IC8qIERGR0FyaXRoTW9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdBcml0aE1vZGUuY3BwOyBwYXRoID0gZGZnL0RGR0FyaXRoTW9kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdB
cml0aE1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQXJpdGhNb2Rl
Lmg7IHBhdGggPSBkZmcvREZHQXJpdGhNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNDg1MzIzMTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExBdmFpbGFibGVSZWNvdmVy
eS5jcHA7IHBhdGggPSBmdGwvRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxl
UmVjb3ZlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQXZhaWxhYmxl
UmVjb3ZlcnkuaDsgcGF0aCA9IGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjQ4NTMyNTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3Zl
cnlPcGNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVj
b3ZlcnlPcGNvZGUuY3BwOyBwYXRoID0gZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0ODUzMjYxODdERkRFQzAwODNCNjg3IC8qIEZUTFJl
Y292ZXJ5T3Bjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlY292
ZXJ5T3Bjb2RlLmg7IHBhdGggPSBmdGwvRlRMUmVjb3ZlcnlPcGNvZGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTNBRjgxNkQwQ0FEMTAwODQ1MDhCIC8qIFNvdXJjZVByb3Zp
ZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZVByb3Zp
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0Qjk0REIxN0I5RjA3NTAw
REQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFR5cGVkQXJyYXlJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNENFRDVDMThDRUE3QUIwMDgwMkZFMCAvKiBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvbHltb3JwaGljR2V0QnlJZExp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjRDRUQ1RDE4Q0VBN0FCMDA4
MDJGRTAgLyogUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNEYyOUREMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25D
b3VudEVzdGltYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHA7IHBhdGggPSBk
ZmcvREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjRGMjlERTE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGlj
RXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaDsgcGF0aCA9
IGRmZy9ERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjUwQUYzQjE5M0U4QjM5MDA2NzRFRTggLyogREZHU3RydWN0
dXJlQ2xvYmJlclN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0
cnVjdHVyZUNsb2JiZXJTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR1N0cnVjdHVyZUNsb2JiZXJTdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU1NDFBRjE2MTNDMUZCMDBDRTNF
MjUgLyogU3BlY2lhbFBvaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3BlY2lhbFBvaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjU1NDFCMDE2MTNDMUZCMDBDRTNFMjUgLyogU3BlY2lhbFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlY2lhbFBvaW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY1NTk4OTcxN0M4NkM1NjAwQTFFNTQzIC8qIFRvTmF0aXZlRnJvbVZhbHVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRvTmF0aXZlRnJvbVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNTVDMTkzMTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0cmFjdFZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Fic3RyYWN0VmFs
dWUuY3BwOyBwYXRoID0gZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjU1RjBGMTE0RDEwNjM2MDBBQzc2NDkgLyogQWJzdHJhY3RQQy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0cmFjdFBDLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1NUYwRjIxNEQxMDYzNjAwQUM3NjQ5IC8qIEFi
c3RyYWN0UEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RQQy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU2QTFEMTE1MDAwRjMxMDAyOTkyQjEg
LyogRXhlY3V0aW9uQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
eGVjdXRpb25Db3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNTZBMUQ0
MTUwMDFDRjIwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4ZWN1dGlvbkNvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjU3MkQ0RDE2ODc5RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGh1bmtHZW5lcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1NzgwQTExOEZFMUU5ODAwMUU3MkQ5IC8q
IFB1cmVOYU4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVyZU5hTi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU4NzRFQjE5NEZFQjEyMDBBQUIyQzEgLyog
REZHTWF5RXhpdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdN
YXlFeGl0LmNwcDsgcGF0aCA9IGRmZy9ERkdNYXlFeGl0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY1ODc0RUMxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTWF5RXhpdC5oOyBwYXRoID0gZGZnL0RG
R01heUV4aXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1QTEyNzExOTJEOUZE
RjAwODc2NEEzIC8qIERGR0RvZXNHQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdEb2VzR0MuY3BwOyBwYXRoID0gZGZnL0RGR0RvZXNHQy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUExMjcyMTkyRDlGREYwMDg3NjRBMyAvKiBERkdEb2Vz
R0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRG9lc0dDLmg7IHBhdGgg
PSBkZmcvREZHRG9lc0dDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUE1MkNG
MTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29weVRva2VuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUE2
MjgxMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFZhbHVlUmFuZ2UuY3BwOyBwYXRoID0gZnRsL0ZUTFZh
bHVlUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjVBNjI4MjE4OEM5
OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBGVExWYWx1ZVJhbmdlLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVSYW5nZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUgLyogSklU
VGh1bmtzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFRodW5r
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUVGOTFDMTY4NzhGNzgwMDNF
NUMyNSAvKiBKSVRUaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklU
VGh1bmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUYwOENFMTQ2Qzc2MkYw
MDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY2MjAxNkYxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWJzdHJhY3RWYWx1ZS5oOyBw
YXRoID0gZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2MjAxNzAxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Jhc2ljQmxvY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmFzaWNCbG9jay5oOyBwYXRoID0gZGZnL0RGR0Jh
c2ljQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2MjAxNzIxNDNGQ0Qy
RjAwNjhCNzdDIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdWYXJpYWJsZUFjY2Vzc0RhdGEuaDsgcGF0aCA9IGRmZy9ERkdWYXJp
YWJsZUFjY2Vzc0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2MjM3OTUx
QUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25QaGFzZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQaGFudG9tSW5zZXJ0aW9uUGhhc2UuY3Bw
OyBwYXRoID0gZGZnL0RGR1BoYW50b21JbnNlcnRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNjIzNzk2MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5z
ZXJ0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUGhhbnRv
bUluc2VydGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHUGhhbnRvbUluc2VydGlvblBoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAv
KiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IERGR1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RG
R1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjYzOTQzRDE1Qzc1RjE0MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdUeXBlQ2hlY2tIb2lzdGluZ1Bo
YXNlLmg7IHBhdGggPSBkZmcvREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjYzOTQ1MTE1RDA3MDUxMDA2QTU5N0MgLyogQXJyYXlQcm9m
aWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFycmF5UHJvZmls
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDUyMTVEMDcwNTEwMDZB
NTk3QyAvKiBBcnJheVByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXJyYXlQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDc2MTVE
Q0UzNDcwMDZBNTk3QyAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuaDsgcGF0aCA9
IGRmZy9ERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNjM5NDgxMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQXJyYXlNb2RlLmNwcDsgcGF0aCA9
IGRmZy9ERkdBcnJheU1vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjYz
OTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5TW9kZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjY0QjI2RjFBNzg0QkFGMDA2RTRFNjYg
LyogQmluYXJ5U3dpdGNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEJpbmFyeVN3aXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjRCMjcw
MUE3ODRCQUYwMDZFNEU2NiAvKiBCaW5hcnlTd2l0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQmluYXJ5U3dpdGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNjRCMjc3MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsRWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNjRCMjc4MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjY2NkVCRTE4MzU2NkY5MDBEMDE3RjEgLyogQnl0ZWNvZGVMaXZlbmVzc0Fu
YWx5c2lzSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29k
ZUxpdmVuZXNzQW5hbHlzaXNJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNjY2RUJGMTgzNTY2RjkwMEQwMTdGMSAvKiBGdWxsQnl0ZWNvZGVMaXZlbmVzcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGdWxsQnl0ZWNvZGVMaXZlbmVzcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjY2NkVDMjE4MzU2NzJCMDBEMDE3RjEgLyogREZH
QXZhaWxhYmlsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0F2YWlsYWJpbGl0eS5jcHA7IHBhdGggPSBkZmcvREZHQXZhaWxhYmlsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2NjZFQzMxODM1NjcyQjAwRDAxN0YxIC8qIERGR0F2
YWlsYWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBdmFpbGFi
aWxpdHkuaDsgcGF0aCA9IGRmZy9ERkdBdmFpbGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWRqYWNlbmN5TGlzdC5oOyBw
YXRoID0gZGZnL0RGR0FkamFjZW5jeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2NkUxNjkxNERGM0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHRWRnZS5oOyBwYXRoID0gZGZnL0RGR0VkZ2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2ODJGQjAxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NT
QUNhbGN1bGF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
U1NBQ2FsY3VsYXRvci5jcHA7IHBhdGggPSBkZmcvREZHU1NBQ2FsY3VsYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjgyRkIxMTlCQ0IzNjQwMEZBM0JBRCAvKiBERkdT
U0FDYWxjdWxhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NTQUNh
bGN1bGF0b3IuaDsgcGF0aCA9IGRmZy9ERkdTU0FDYWxjdWxhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNjlDQzg2MTkzQUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGcm96ZW5WYWx1
ZS5jcHA7IHBhdGggPSBkZmcvREZHRnJvemVuVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRnJvemVuVmFsdWUuaDsgcGF0aCA9
IGRmZy9ERkdGcm96ZW5WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZC
MUNCMzE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEpTQ2FsbC5jcHA7IHBhdGggPSBmdGwvRlRMSlNDYWxsLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQjQxODVGQzlFOTAwODQ1RDk3
IC8qIEZUTEpTQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExKU0Nh
bGwuaDsgcGF0aCA9IGZ0bC9GVExKU0NhbGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2QjFDQjcxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFyaXR5Q2hlY2tNb2RlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNkIxQ0I4MTg2MTI0NEMwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNl
cnZhdGlvbk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25Nb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIxQ0JC
MTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnaXN0ZXJQcmVzZXJ2
YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY2QjFDQkMxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdl
bmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdpc3RlclByZXNl
cnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY2QjFDQkYxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHA7
IHBhdGggPSBmdGwvRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNkIxQ0MwMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlZ2lzdGVyQXRPZmZzZXQu
aDsgcGF0aCA9IGZ0bC9GVExSZWdpc3RlckF0T2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNkIxQ0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFVud2luZEluZm8uY3BwOyBw
YXRoID0gZnRsL0ZUTFVud2luZEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExVbndpbmRJbmZvLmg7IHBhdGggPSBmdGwvRlRMVW53
aW5kSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDNzE4NjQxREY4
MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY2QzczNEUxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0
YWlsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhcmlhYmxlV3Jp
dGVGaXJlRGV0YWlsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QzczNEYx
QUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkU4NDU5MTkwMzBCRUYwMDU2Mjc0MSAvKiBERkdWYXJp
YWJsZUFjY2Vzc0RhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHVmFyaWFibGVBY2Nlc3NEYXRhLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUFjY2Vzc0Rh
dGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZGQzc0RTE5NjExMEE4MDBF
MUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb21wbGV4R2V0U3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY2RkM3NEYxOTYxMTBBODAwRTFEMDJEIC8qIENvbXBsZXhHZXRTdGF0dXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxleEdldFN0YXR1cy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdENv
bXBpbGVyQ29tbW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3MDI1QTgx
NzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgcGF0aCA9
IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY3MTRDQTExNkVBOTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9u
UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQmFja3dhcmRzUHJvcGFnYXRp
b25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNzE0Q0EyMTZFQTky
RUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaDsgcGF0
aCA9IGRmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNzU3NkQwMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRT
dHViUm91dGluZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nl
c3NvckNhbGxKSVRTdHViUm91dGluZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNzU3NkQxMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRTdHViUm91dGluZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NvckNhbGxKSVRTdHViUm91
dGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjc2NkQxQzE1QTUwMjhEMDA4
RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSklUU3R1YlJvdXRpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZE
MjYxNUE4Q0MxQjAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFN0dWJSb3V0aW5lLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMjkxNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5l
U2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFN0dWJSb3V0
aW5lU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMkExNUE4Q0Mz
NDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpJVFN0dWJSb3V0aW5lU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNzY2RDJEMTVBOERDREQwMDhGMzYzRSAvKiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBd2FyZUpJVFN0dWJSb3V0
aW5lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMkUxNUE4RENERDAw
OEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY3NjZEMzYxNUFFNEExQTAwOEYzNjNFIC8qIFN0cnVjdHVyZVN0dWJDbGVhcmlu
Z1dhdGNocG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3Ry
dWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNzY2RDM3MTVBRTRBMUEwMDhGMzYzRSAvKiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdX
YXRjaHBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3
NzAwOEUxNDAyRkRENjAwNzhFQjM5IC8qIFNhbXBsaW5nQ291bnRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTYW1wbGluZ0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY3NzAwOTExNDAyRkYyODAwNzhFQjM5IC8qIFNhbXBsaW5nQ291bnRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTYW1wbGluZ0NvdW50ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjc5MDg1MzE5QTI5MEIyMDBGNjMx
MEMgLyogREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOyBw
YXRoID0gZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEY3OTA4NTQxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVjdHVy
ZVJlZ2lzdHJhdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4MDIzRTkx
NjEzODMyMzAwQTBCQTQ1IC8qIEJ5VmFsSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBCeVZhbEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4MzM1
QjQxNjM5QzFFMzAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGODMzNUI1MTYzOUMxRTMwMDE0NDNCNSAv
KiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdCcmFuY2hEaXJlY3Rpb24uaDsgcGF0aCA9
IGRmZy9ERkdCcmFuY2hEaXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY4ODVFMTAxODQ5QTNCRTAwRjFFM0ZBIC8qIEJ5dGVjb2RlVXNlRGVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVjb2RlVXNlRGVmLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGODkzQkRBMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0
cmFjdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1N0
cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR1N0cnVjdHVyZUFic3RyYWN0
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjg5OEYyRjFCMjc2ODlG
MDA4M0EzM0MgLyogREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4OThGMzAxQjI3Njg5RjAwODNBMzND
IC8qIERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmg7IHBhdGgg
PSBkZmcvREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY4RjE0MkYxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Vwb2NoLmNwcDsgcGF0aCA9
IGRmZy9ERkdFcG9jaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEYxNDMw
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdFcG9jaC5oOyBwYXRoID0gZGZnL0RGR0Vwb2NoLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGOEYxNDMxMUFERjA5MDEwMEVENzkyQyAvKiBERkdNb3ZIaW50UmVt
b3ZhbFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR01v
dkhpbnRSZW1vdmFsUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR01vdkhpbnRSZW1vdmFsUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGMTQzMjFBREYwOTAxMDBFRDc5
MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdNb3ZIaW50UmVtb3ZhbFBoYXNlLmg7IHBhdGggPSBkZmcvREZHTW92SGludFJl
bW92YWxQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGMkI5MzE3MkUw
NDlFMDA3REJEQTUgLyogRlRMTGluay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExMaW5rLmNw
cDsgcGF0aCA9IGZ0bC9GVExMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY4RjJCOTQxNzJFMDQ5RTAwN0RCREE1IC8qIEZUTExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
TGluay5oOyBwYXRoID0gZnRsL0ZUTExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4RjJCOTcxNzJGMDRGRDAwN0RCREE1IC8qIERGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOyBwYXRoID0gZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGOEYyQjk4MTcyRjA0RkQwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHRGVzaXJlZElkZW50aWZpZXJzLmg7IHBhdGggPSBkZmcvREZHRGVzaXJl
ZElkZW50aWZpZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEYyQjlEMTcz
MDZDOEIwMDdEQkRBNSAvKiBTb3VyY2VDb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJj
ZUNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGOTQzQTE2Njc2MzEx
MDBENjE5NzEgLyogQ29kZVNwZWNpYWxpemF0aW9uS2luZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4Rjk0M0QxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9j
a0hhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29kZUJsb2Nr
SGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEY5NDNFMTY2NzYzMkQw
MEQ2MTk3MSAvKiBDb2RlQmxvY2tIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvZGVCbG9ja0hhc2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4Rjk0
M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENvZGVUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4Rjk0NDMxNjY3NjM1MjAwRDYxOTcxIC8qIEpJVENvZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUQ29kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGOEY5NDQ1MTY2NzY0RUUwMEQ2MTk3MSAvKiBDb2RlT3JpZ2luLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvZGVPcmlnaW4uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQwOTE1N0VFMDlEMDA0QTRFN0QgLyogSlNTeW1i
b2xUYWJsZU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1N5bWJvbFRhYmxlT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MTlEMEExNTdFRTA5RDAwNEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTeW1ib2xUYWJsZU9iamVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQwRTE1N0YzMzI3MDA0QTRFN0QgLyogSlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQyMjE1ODUzQ0RF
MDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXYXRjaHBvaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MTlEMjMxNTg1M0NERTAwNEE0RTdEIC8qIFdhdGNocG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2F0Y2hwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3ltYm9sVGFibGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjkzMzI5MzE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0
dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbExpbmtTdGF0
dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjkzMzI5NDE0Q0E3REMxMDA4
NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FsbExpbmtTdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5MzMy
OTUxNENBN0RDMTAwODVGM0M2IC8qIEdldEJ5SWRTdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR2V0QnlJZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGOTMzMjk2MTRDQTdEQzEwMDg1RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldEJ5SWRTdGF0dXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5
SWRTdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHV0QnlJ
ZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTMzMjlBMTRDQTdE
QzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFB1dEJ5SWRTdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MzMyOUIxNENBN0RDMTAwODVGM0M2IC8qIFN0cnVjdHVyZVNldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY5M0I0QTcxOEI5MkM0RDAwMTc4QTNGIC8qIFB1dEJ5SWRWYXJpYW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1dEJ5SWRWYXJpYW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5M0I0QTgxOEI5MkM0RDAwMTc4QTNGIC8qIFB1
dEJ5SWRWYXJpYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1dEJ5SWRW
YXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTYzQjM2MTNGQzZGREUw
MDAyRDlCMiAvKiBWYWx1ZVByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTZFQkIx
MTY2NzZFRjQwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlQmxvY2tXaXRoSklUVHlwZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjk3NDk2RjE2ODdBREUyMDBBNEZGNkEgLyogSlNDZWxsSW5saW5l
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NlbGxJbmxpbmVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTc4QjNBMUFBRUE3MUQwMDdDNzM2OSAvKiBD
b25zdGFudE1vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29u
c3RhbnRNb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5ODIwNUQxNkJG
RTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQcmVjaXNlSnVtcFRhcmdldHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjk4MjA1RTE2QkZFMzdGMDAyNDBEMDIgLyogUHJlY2lzZUp1bXBU
YXJnZXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWNpc2VKdW1wVGFy
Z2V0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlDNUU1QzE4RTM1RjVFMDBE
NDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBGVExEV0FSRlJlZ2lzdGVyLmNwcDsgcGF0aCA9IGZ0bC9GVExEV0FSRlJlZ2lz
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5QzVFNUQxOEUzNUY1RTAw
RDQzMUMzIC8qIEZUTERXQVJGUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRlRMRFdBUkZSZWdpc3Rlci5oOyBwYXRoID0gZnRsL0ZUTERXQVJGUmVnaXN0ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDMzNkUxNjVEQkI4RDAwNUFEMzg3IC8q
IERpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
aXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOUQzMzk0MTdGRkM0RTYwMDczQzJCQyAvKiBE
RkdGbHVzaGVkQXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
Rmx1c2hlZEF0LmNwcDsgcGF0aCA9IGRmZy9ERkdGbHVzaGVkQXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjlEMzM5NTE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hlZEF0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0ZsdXNoZWRBdC5oOyBwYXRo
ID0gZGZnL0RGR0ZsdXNoZWRBdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlE
MzM5ODE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFN0YWNrTWFwcy5jcHA7IHBhdGggPSBmdGwvRlRMU3Rh
Y2tNYXBzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDMzOTkxODAzQURC
NzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBGVExTdGFja01hcHMuaDsgcGF0aCA9IGZ0bC9GVExTdGFja01hcHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDM2OTIxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFu
VXBQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDbGVh
blVwUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0NsZWFuVXBQaGFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGOUQzNjkzMUFFOUNDMzMwMDBENERGQiAvKiBERkdDbGVhblVw
UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ2xlYW5VcFBoYXNl
Lmg7IHBhdGggPSBkZmcvREZHQ2xlYW5VcFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGOUUzMjYxMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdTdG9y
ZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlFMzI2MjFC
MDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2Uu
aDsgcGF0aCA9IGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjlGQjRGMjE3RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tM
YXlvdXRQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdT
dGFja0xheW91dFBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdGFja0xheW91dFBoYXNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkI0RjMxN0ZDQjkxNzAwQ0I2N0Y4IC8q
IERGR1N0YWNrTGF5b3V0UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHU3RhY2tMYXlvdXRQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1N0YWNrTGF5b3V0UGhhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8q
IFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGOUZDOEMwMTRFMUI1RkIwMEQ1MkFFMCAvKiBQb2x5bW9ycGhpY1B1dEJ5SWRM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbHltb3JwaGljUHV0QnlJ
ZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkM4QzExNEUxQjVGQjAw
RDUyQUUwIC8qIFB1dEtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHV0
S2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkEyQzE3OTE3RDdDRjg0MDA5
RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRlc3RSdW5uZXJVdGlscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQTJDMTdBMTdEN0NGODQwMDlEMDE1RiAvKiBUZXN0UnVubmVyVXRpbHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdFJ1bm5lclV0aWxzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQTU4MUI3MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxh
Z3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTm9kZUZsYWdz
LmNwcDsgcGF0aCA9IGRmZy9ERkdOb2RlRmxhZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkE1ODFCODE1MEU5NTJBMDBCOUEyRDkgLyogREZHTm9kZUZsYWdzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR05vZGVGbGFncy5oOyBwYXRoID0gZGZnL0RG
R05vZGVGbGFncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkE1ODFCOTE1MEU5
NTJBMDBCOUEyRDkgLyogREZHTm9kZVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHTm9kZVR5cGUuaDsgcGF0aCA9IGRmZy9ERkdOb2RlVHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkE3QThFOTE4QjQxM0M4MDA1MjM3MUQgLyogUmVnLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQTdBOEVBMThCNDEzQzgwMDUyMzcxRCAvKiBSZWcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQTdBOEVEMThDRTRGRDgwMDUyMzcxRCAvKiBTY3JhdGNoUmVnaXN0ZXJBbGxv
Y2F0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyYXRjaFJl
Z2lzdGVyQWxsb2NhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZBQTNF
MDgxOUQwQzJDQjAwRkFDOUUyIC8qIERGR1Byb21vdGVIZWFwQWNjZXNzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Byb21vdGVIZWFwQWNjZXNzLmg7IHBhdGggPSBkZmcv
REZHUHJvbW90ZUhlYXBBY2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZB
RjdFRkExNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVREaXNhc3NlbWJsZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkFGN0VGQjE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNz
ZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVERpc2Fzc2VtYmxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4MjE2NzU0ODBDMDBGOEFC
NkUgLyogRXhpdEtpbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RXhpdEtpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4MzE2NzU0
ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXhpdEtpbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTA1ODcxNjc1
NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlck9TUkV4aXQuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJv
ZmlsZXJPU1JFeGl0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTA1ODgx
Njc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBQcm9maWxlck9TUkV4aXQuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVy
T1NSRXhpdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4OTE2NzU0ODJF
MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlck9TUkV4aXRTaXRlLmNwcDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyT1NSRXhpdFNpdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkIxMDU4QTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlck9TUkV4aXRTaXRlLmg7IHBhdGggPSBw
cm9maWxlci9Qcm9maWxlck9TUkV4aXRTaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjE0RTFDMTgxMjRBQ0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRJbmxpbmVDYWNoZUdl
bmVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjE0RTFEMTgxMjRB
Q0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkIxNEUyMDE4MTI1NzBCMDA5QjZCNEQgLyogREZHSW5saW5lQ2Fj
aGVXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0lubGluZUNh
Y2hlV3JhcHBlci5oOyBwYXRoID0gZGZnL0RGR0lubGluZUNhY2hlV3JhcHBlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxNEUyMjE4MTMwOTU1MDA5QjZCNEQgLyogREZHSW5s
aW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBERkdJbmxpbmVDYWNoZVdyYXBwZXJJbmxpbmVzLmg7IHBhdGggPSBkZmcvREZHSW5saW5lQ2Fj
aGVXcmFwcGVySW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxNzY1
QzE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0hlYXBMb2NhdGlvbi5jcHA7IHBhdGggPSBkZmcvREZH
SGVhcExvY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTc2NUQx
OTZCOEY5RTAwOTEwNTJBIC8qIERGR0hlYXBMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdIZWFwTG9jYXRpb24uaDsgcGF0aCA9IGRmZy9ERkdIZWFwTG9jYXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTc2NUUxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR1B1cmVWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdQdXJlVmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR1B1cmVWYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjE3NjVGMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQ
dXJlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUHVyZVZhbHVl
Lmg7IHBhdGggPSBkZmcvREZHUHVyZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjQzOEEyMTkyNzBCMUQwMEUxRkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlU2V0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MTAxNkIzQTk2NDAwM0Y2OTZCIC8qIERGR01pbmlm
aWVkSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTWluaWZpZWRJRC5o
OyBwYXRoID0gZGZnL0RGR01pbmlmaWVkSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBbGxvY2F0b3IuaDsgcGF0aCA9IGRmZy9ERkdBbGxv
Y2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MUExNkI2Mjc3MjAw
M0Y2OTZCIC8qIERGR0NvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdDb21tb24uY3BwOyBwYXRoID0gZGZnL0RGR0NvbW1vbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQjRCNTFCMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdFZGdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0VkZ2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0VkZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI0QjUx
QzE2QjYyNzcyMDAzRjY5NkIgLyogREZHTG9uZ0xpdmVkU3RhdGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTG9uZ0xpdmVkU3RhdGUuY3BwOyBwYXRoID0gZGZn
L0RGR0xvbmdMaXZlZFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZC
NEI1MUQxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0xvbmdMaXZlZFN0YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xvbmdMaXZlZFN0YXRlLmg7IHBhdGggPSBkZmcvREZH
TG9uZ0xpdmVkU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MUUx
NkI2Mjc3MjAwM0Y2OTZCIC8qIERGR05vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHTm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTm9kZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjRCNTFGMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdOb2Rl
QWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR05vZGVBbGxv
Y2F0b3IuaDsgcGF0aCA9IGRmZy9ERkdOb2RlQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQjRCNTIxMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4ZWN1dGFi
bGVEdW1wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0aW9u
RXhlY3V0YWJsZUR1bXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI0QjUy
MjE2QjYyNzhEMDAzRjY5NkIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjU0Njc2MTRGNTlBRDEwMDJDMjk4OSAvKiBMYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXp5
T3BlcmFuZFZhbHVlUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI1
NDY3ODE0RjVDNDY4MDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5
ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQjU0NjdDMTRGNUNGRDMwMDJDMjk4OSAvKiBNZXRob2RPZkdl
dHRpbmdBVmFsdWVQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkI3RjM4OTE1RUQ4RTM4MDBGMTY3QjIgLyogQXJyYXlDb252ZW50aW9ucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheUNvbnZlbnRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhBMTVFRDhFMzgwMEYxNjdCMiAvKiBB
cnJheVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlTdG9y
YWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhCMTVFRDhFMzgwMEYx
NjdCMiAvKiBCdXR0ZXJmbHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnV0
dGVyZmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhDMTVFRDhFMzgw
MEYxNjdCMiAvKiBCdXR0ZXJmbHlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEJ1dHRlcmZseUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZCN0YzOEQxNUVEOEUzODAwRjE2N0IyIC8qIEluZGV4aW5nSGVhZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4aW5nSGVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQjdGMzhFMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlcklu
bGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5kZXhpbmdIZWFkZXJJ
bmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhGMTVFRDhFMzgw
MEYxNjdCMiAvKiBJbmRleGluZ1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5kZXhpbmdUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzkw
MTVFRDhFMzgwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJvcGVydHlTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGQjdGMzkxMTVFRDhFMzgwMEYxNjdCMiAvKiBSZWplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjdGMzkyMTVFRDhFMzgwMEYxNjdCMiAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXJzZUFycmF5VmFsdWVNYXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCQzBBRTQxNDk2QzdDMTAwRDRGQkREIC8qIERG
R0V4aXRQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERG
R0V4aXRQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCQzBBRTUx
NDk2QzdDMTAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERGR0V4aXRQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQkQ3RTY3MTQ0Nzk5OEYwMDQ4MTMxNSAvKiBDb2RlT3JpZ2luLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZCREI5QUMxQUIwRkJDNjAwMEI1N0U1IC8qIERGR0NhbGxDcmVhdGVEaXJlY3RB
cmd1bWVudHNTbG93UGF0aEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdDYWxsQ3JlYXRlRGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0
aCA9IGRmZy9ERkdDYWxsQ3JlYXRlRGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCRTBGNkIxNkMxREIwMTAwODJDNUU4IC8q
IERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHQ1BTUmV0aHJlYWRpbmdQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ1BTUmV0
aHJlYWRpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQkUwRjZD
MTZDMURCMDEwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0NQU1JldGhyZWFkaW5nUGhhc2UuaDsgcGF0aCA9IGRm
Zy9ERkdDUFNSZXRocmVhZGluZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQkUwRjZEMTZDMURCMDEwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHUHJlZGljdGlvbklu
amVjdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkJFMEY2RTE2QzFEQjAxMDA4MkM1
RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkJFMEY2RjE2QzFEQjAxMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdVbmlmaWNhdGlvblBoYXNlLmNw
cDsgcGF0aCA9IGRmZy9ERkdVbmlmaWNhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZCRTBGNzAxNkMxREIwMTAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHVW5pZmljYXRpb25QaGFz
ZS5oOyBwYXRoID0gZGZnL0RGR1VuaWZpY2F0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZCRjE1OEExOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Jsb2NrU2V0LmNwcDsgcGF0
aCA9IGRmZy9ERkdCbG9ja1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
QkYxNThCMTlCN0E1MzEwMDY5NUREMCAvKiBERkdCbG9ja1NldElubGluZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tTZXRJbmxpbmVzLmg7IHBhdGggPSBkZmcv
REZHQmxvY2tTZXRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5
NzY4MTQ2OEE2RUYwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR09TUkV4aXQuaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5NzZGMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdP
U1JFeGl0Q29tcGlsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NS
RXhpdENvbXBpbGVyLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5NzcwMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdPU1JF
eGl0Q29tcGlsZXI2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdPU1JFeGl0Q29tcGlsZXI2NC5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMwOTc3NTE0Njk0M0FEMDBDRjI0
NDIgLyogREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwOyBwYXRoID0gZGZnL0RG
R09TUkV4aXRDb21waWxlcjMyXzY0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZDMDk3N0UxNDY5RUJDNDAwQ0YyNDQyIC8qIERGR0NvbW1vbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdDb21tb24uaDsgcGF0aCA9IGRmZy9ERkdDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMDk3OEUxNDZBNkY2MzAwQ0YyNDQyIC8qIERG
R09TUkV4aXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NS
RXhpdC5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQzA5NzhGMTQ2QTZGNjMwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBp
bGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkMwOTc5RjE0NkIyOEM3MDBDRjI0NDIgLyogREZHVGh1bmtzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1RodW5rcy5jcHA7IHBh
dGggPSBkZmcvREZHVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
MDk3QTAxNDZCMjhDNzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdUaHVua3MuaDsgcGF0aCA9IGRmZy9ERkdUaHVua3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMjBDQjMxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0
cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzIw
Q0I0MTg1MkUyQzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaDsg
cGF0aCA9IGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQzIwQ0I3MTg1NTZBMzUwMEM5RTk1NCAvKiBERkdTU0FMb3dlcmluZ1Bo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1NTQUxvd2Vy
aW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1NTQUxvd2VyaW5nUGhhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkMyMENCODE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NB
TG93ZXJpbmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTU0FM
b3dlcmluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHU1NBTG93ZXJpbmdQaGFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzMTQxMDE4MTQ1NTkxMDAwMzMyMzIgLyogUmVnaXN0
ZXJTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnaXN0ZXJTZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMzE0MTExODE0NTU5MTAwMDMzMjMyIC8q
IFRlbXBSZWdpc3RlclNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUZW1wUmVnaXN0ZXJTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMz
MTQxNDE4MTQ2RDcwMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVnaXN0ZXJTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkMzQ0NGNTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXAuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tNYXAuaDsgcGF0aCA9IGRmZy9E
RkdCbG9ja01hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzQ0NGNjE5QURB
NDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXBJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR0Jsb2NrTWFwSW5saW5lcy5oOyBwYXRoID0gZGZnL0RGR0Jsb2NrTWFw
SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzQ0NGNzE5QURBNDEw
MDA2QUM3MkEgLyogREZHQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHQmxvY2tTZXQuaDsgcGF0aCA9IGRmZy9ERkdCbG9ja1NldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkMzQ0NGODE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tXb3Jr
bGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdCbG9ja1dv
cmtsaXN0LmNwcDsgcGF0aCA9IGRmZy9ERkdCbG9ja1dvcmtsaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZDM0NDRjkxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrV29y
a2xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tXb3JrbGlz
dC5oOyBwYXRoID0gZGZnL0RGR0Jsb2NrV29ya2xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZDM0NDRkExOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdOYWl2ZURvbWluYXRv
cnMuY3BwOyBwYXRoID0gZGZnL0RGR05haXZlRG9taW5hdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGQzNDQ0ZCMTlBREE0MTAwMDZBQzcyQSAvKiBERkdOYWl2ZURvbWlu
YXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTmFpdmVEb21pbmF0
b3JzLmg7IHBhdGggPSBkZmcvREZHTmFpdmVEb21pbmF0b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQzcxMkRDMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDNzEyREQxN0NEODc3
ODAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZDNzEyRTAxN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxh
dGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFRvREZHRGVmZXJyZWRDb21w
aWxhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDNzEy
RTExN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzgxNTA4MTQwNDNCQ0EwMENGQTYwMyAv
KiBXcml0ZUJhcnJpZXJTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdyaXRlQmFycmllclN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkM4MTUwOTE0MDQzQkQyMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0ZUJhcnJpZXJTdXBwb3J0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzk3RjJGMTgyMDIwRDcwMDJDOUIyNiAvKiBD
b2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDOTdGMzAxODIwMjBENzAwMkM5QjI2IC8qIENvZGVC
bG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZDOTdGMzcxODIwMjExOTAwMkM5QjI2IC8qIERGR0ludmFsaWRhdGlvblBv
aW50SW5qZWN0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZH
SW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQzk3RjM4MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlkYXRpb25Qb2lu
dEluamVjdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0lu
dmFsaWRhdGlvblBvaW50SW5qZWN0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdJbnZhbGlkYXRp
b25Qb2ludEluamVjdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
Qzk3RjM5MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHSnVtcFJlcGxhY2VtZW50LmNwcDsgcGF0
aCA9IGRmZy9ERkdKdW1wUmVwbGFjZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkM5N0YzQTE4MjAyMTE5MDAyQzlCMjYgLyogREZHSnVtcFJlcGxhY2VtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0p1bXBSZXBsYWNlbWVudC5oOyBwYXRo
ID0gZGZnL0RGR0p1bXBSZXBsYWNlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkM5N0YzQjE4MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFz
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdXYXRjaHBvaW50
Q29sbGVjdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBo
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDOTdGM0MxODIwMjExOTAw
MkM5QjI2IC8qIERGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oOyBwYXRoID0g
ZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTbG90VmlzaXRvcklubGluZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8q
IFBhcnNlckVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckVy
cm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUE5MTgwNEMxM0UwMDQ3
MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGVExTYXZlUmVzdG9yZS5jcHA7IHBhdGggPSBmdGwvRlRMU2F2ZVJlc3RvcmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFBQTE4MDRDMTNFMDA0NzJDRTQg
LyogRlRMU2F2ZVJlc3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
U2F2ZVJlc3RvcmUuaDsgcGF0aCA9IGZ0bC9GVExTYXZlUmVzdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxM
Vk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uaDsg
cGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNo
LW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGli
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5
MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlND
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQx
MDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3Zl
cnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0
MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxs
dm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNF
RkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0
aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsg
cGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExW
TUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUw
MDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExM
Vk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBs
bHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
RUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExMVk1IZWFkZXJzLmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAv
KiBMTFZNQW5jaG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExM
Vk1BbmNob3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFEQjE4MDY0
QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gY29uZmlnX2xsdm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
REQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZUTExvY2F0aW9uLmNwcDsgcGF0aCA9IGZ0bC9GVExMb2NhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQURFMTgwNzM4QzAwMDQ3
MkNFNCAvKiBGVExMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExMb2NhdGlvbi5oOyBwYXRoID0gZnRsL0ZUTExvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRDEyMDJEMUE4QUVEMTIwMDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEpTQ2FsbEJhc2UuY3Bw
OyBwYXRoID0gZnRsL0ZUTEpTQ2FsbEJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkQxMjAyRTFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExKU0NhbGxCYXNlLmg7IHBhdGggPSBmdGwvRlRM
SlNDYWxsQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQxMjAzMTFBOEM4
NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBGVExKU0NhbGxWYXJhcmdzLmNwcDsgcGF0aCA9IGZ0bC9GVExKU0Nh
bGxWYXJhcmdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEMTIwMzIxQThD
ODVCRDAwMEY1MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gRlRMSlNDYWxsVmFyYXJncy5oOyBwYXRoID0gZnRsL0ZUTEpTQ2FsbFZhcmFy
Z3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4
MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3RydWN0dXJlSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQz
QzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNC
IC8qIERGR0RyaXZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2
ZXIuaDsgcGF0aCA9IGRmZy9ERkdEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZENTY1MjIxNkFCNzgwQTAwMTk3NjUzIC8qIERGR0Jhc2ljQmxvY2tJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Jhc2ljQmxvY2tJbmxpbmVzLmg7IHBh
dGggPSBkZmcvREZHQmFzaWNCbG9ja0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZEODFBQ0YxNTRGQjRFQjAwOTgzRTcyIC8qIERGR0RvbWluYXRvcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHRG9taW5hdG9ycy5jcHA7IHBhdGgg
PSBkZmcvREZHRG9taW5hdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDgxQUQwMTU0RkI0RUIwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0RvbWluYXRvcnMuaDsgcGF0aCA9IGRmZy9ERkdEb21pbmF0
b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDgyRTFFMTQxNzJDMkYwMDE3
OUM5NCAvKiBERkdDYXBhYmlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHQ2FwYWJpbGl0aWVzLmNwcDsgcGF0aCA9IGRmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkUxRjE0MTcyQzJGMDAxNzlD
OTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0NhcGFiaWxpdGllcy5oOyBwYXRoID0gZGZnL0RGR0NhcGFiaWxpdGllcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkUzNzE0MUFCMTQyMDAxNzlDOTQgLyogQ29tcGFj
dEpJVENvZGVNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGFjdEpJ
VENvZGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEODJFNEYxNDFEQUVB
MTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNwZWN1bGF0ZWRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDgyRTUyMTQxREFFREUwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdPU1JFbnRyeS5jcHA7IHBhdGggPSBkZmcvREZHT1NS
RW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkU1MzE0MURBRURF
MDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHT1NSRW50cnkuaDsgcGF0aCA9IGRmZy9ERkdPU1JFbnRyeS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkQ4MkU4NDE0MUYzRkRBMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BlY3VsYXRlZFR5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxMTE3RDQzMjZDMDBD
QTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvZGVCbG9ja1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDhBMzEyMTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29kZUJsb2NrU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRDhBMzE1MTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMRm9yT1NSRW50cnlK
SVRDb2RlLmNwcDsgcGF0aCA9IGZ0bC9GVExGb3JPU1JFbnRyeUpJVENvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxNjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMRm9y
T1NSRW50cnlKSVRDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEZv
ck9TUkVudHJ5SklUQ29kZS5oOyBwYXRoID0gZnRsL0ZUTEZvck9TUkVudHJ5SklUQ29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxNzE3RDUxRjIyMDBDQTJDNDAgLyog
RlRMT1NSRW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
T1NSRW50cnkuY3BwOyBwYXRoID0gZnRsL0ZUTE9TUkVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZEOEEzMTgxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTE9TUkVudHJ5Lmg7IHBhdGggPSBm
dGwvRlRMT1NSRW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOEEzMUQx
N0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkVudHJ5cG9pbnRDcmVhdGlv
blBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDhBMzFFMTdENTFGNTcwMENBMkM0MCAv
KiBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDhBMzFGMTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVyVXBDaGVja0luamVjdGlvblBo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1RpZXJVcENo
ZWNrSW5qZWN0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9u
UGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMyMDE3RDUxRjU3
MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNlLmg7IHBhdGgg
PSBkZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9GVExEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwOyBwYXRoID0gZGZnL0RG
R1RvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZEOEEzMjIxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1RvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7IHBhdGggPSBkZmcvREZHVG9GVExE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZEOEEzMjMxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHA7
IHBhdGggPSBkZmcvREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDhBMzI0MTdENTFGNTcwMENB
MkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1RvRlRMRm9yT1NSRW50cnlEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgcGF0aCA9IGRmZy9ERkdUb0ZUTEZvck9TUkVudHJ5
RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYXRjaFNjb3BlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTQ5N0YxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hT
Y29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NhdGNoU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTQ5ODAxQTk3REI5NjAwRTI4OTY2IC8q
IEpTRnVuY3Rpb25OYW1lU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNGdW5jdGlvbk5hbWVTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDk0OTgxMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25OYW1lU2NvcGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEQjJDQzcxNzNEQTUxRTAwN0IzQzFCIC8qIEZU
TEFiYnJldmlhdGVkVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQWJicmV2aWF0ZWRUeXBlcy5o
OyBwYXRoID0gZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZEQjJDQzgxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZUTFZhbHVlRnJvbUJsb2NrLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVG
cm9tQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEQjJDRTUxNzQ4MzBB
MjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IERGR1dvcmtsaXN0LmNwcDsgcGF0aCA9IGRmZy9ERkdXb3JrbGlzdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGREIyQ0U2MTc0ODMwQTIwMDdCM0MxQiAvKiBE
RkdXb3JrbGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdXb3JrbGlz
dC5oOyBwYXRoID0gZGZnL0RGR1dvcmtsaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGREIyQ0U5MTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9jay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25jdXJyZW50SklUTG9jay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkREQkZCMjE2NjZFRUQ1MDBDNTVGRUYgLyogREZHVmFy
aWFibGVBY2Nlc3NEYXRhRHVtcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJs
ZUFjY2Vzc0RhdGFEdW1wLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEREJG
QjMxNjY2RUVENTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHVmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5oOyBw
YXRoID0gZGZnL0RGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZFMDUwMEMxQUE5MDkxMTAwRDMzQjMzIC8qIEFyZ3VtZW50c01vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJndW1lbnRzTW9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAwRDFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0
QXJndW1lbnRzT2Zmc2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGRTA1MDBFMUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHNPZmZzZXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlyZWN0QXJndW1lbnRzT2Zmc2V0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDBGMUFBOTA5MTEwMEQzM0IzMyAvKiBE
aXJlY3RBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGlyZWN0QXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFMDUw
MTAxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaXJlY3RBcmd1bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY0FyZ3VtZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAxMjFBQTkwOTExMDBEMzNCMzMgLyogR2Vu
ZXJpY0FyZ3VtZW50c0lubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJpY0FyZ3VtZW50c0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZFMDUwMTMxQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNPZmZzZXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY09mZnNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkUwNTAxQzFBQTkwOTU2MDBEMzNCMzMgLyogQ2xvbmVkQXJndW1lbnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsb25lZEFyZ3VtZW50cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDFEMUFBOTA5NTYwMEQzM0Iz
MyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2xvbmVkQXJndW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDFF
MUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2NvcGVkQXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZFMDUwMUYxQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlZEFyZ3VtZW50
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY29wZWRBcmd1bWVudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFMDUwMjAxQUE5MDk1NjAwRDMzQjMzIC8q
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RTA1MDIxMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZU9mZnNldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY29wZU9mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRTA1MDIyMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZU9mZnNldC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY29wZU9mZnNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAyMzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhck9mZnNldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDI0MUFBOTA5NTYwMEQzM0IzMyAv
KiBWYXJPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmFyT2Zmc2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDJFMUFBQTgwNjkwMEQzM0Iz
MyAvKiBTY29wZWRBcmd1bWVudHNUYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY29wZWRBcmd1bWVudHNUYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRTIyOEVBMTQzNkFCMjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkUyMjhFQjE0MzZBQjIzMDAxOTZDNDggLyogT3B0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGRTI1NEY0MUFCREREMjIwMEE3QzZEMiAvKiBERkdWYXJhcmdzRm9y
d2FyZGluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1ZhcmFyZ3NGb3J3YXJk
aW5nUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkUyNTRGNTFBQkRE
RDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYXJhcmdzRm9yd2FyZGluZ1BoYXNlLmg7IHBhdGggPSBk
ZmcvREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkU3MjExQjE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdUcmFuc2l0aW9uLmNwcDsgcGF0aCA9
IGRmZy9ERkdUcmFuc2l0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZF
NzIxMUMxOTNCOUM1OTAwMzFGNkVEIC8qIERGR1RyYW5zaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHVHJhbnNpdGlvbi5oOyBwYXRoID0gZGZnL0RGR1RyYW5zaXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFODM0MTUxQTZFRjk3QjAwRDA0
ODQ3IC8qIFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFODM0MTYxQTZFRjk3QjAwRDA0ODQ3IC8qIFBvbHlt
b3JwaGljQ2FsbFN0dWJSb3V0aW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRTg1MzQ5MTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHRGVzaXJlZFdhdGNocG9p
bnRzLmNwcDsgcGF0aCA9IGRmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkU4NTM0QTE3MjNDREE1MDBCNjE4RjUgLyogREZHRGVzaXJl
ZFdhdGNocG9pbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Rlc2ly
ZWRXYXRjaHBvaW50cy5oOyBwYXRoID0gZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkU5NUY3NzE4QjU2OTQ3MDBCNTMxRkIgLyogRlRM
RGF0YVNlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
RGF0YVNlY3Rpb24uY3BwOyBwYXRoID0gZnRsL0ZUTERhdGFTZWN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFOTVGNzgxOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFT
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTERhdGFTZWN0aW9u
Lmg7IHBhdGggPSBmdGwvRlRMRGF0YVNlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZFQTA5RkQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQWJicmV2aWF0aW9ucy5oOyBwYXRoID0g
ZnRsL0ZUTEFiYnJldmlhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZF
QTA5RkUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENhcGFiaWxpdGllcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExDYXBhYmlsaXRpZXMuY3BwOyBwYXRoID0gZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEw
OUZGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRlRMQ2FwYWJpbGl0aWVzLmg7IHBhdGggPSBmdGwvRlRMQ2FwYWJp
bGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTAwMTcwNTEzREIw
MEJCNzIyQyAvKiBGVExDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTENvbXBpbGUuY3BwOyBwYXRoID0gZnRsL0ZUTENvbXBpbGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEwMTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29t
cGlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExDb21waWxlLmg7IHBh
dGggPSBmdGwvRlRMQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVB
MEEwMjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBGVExKSVRDb2RlLmNwcDsgcGF0aCA9IGZ0bC9GVExKSVRDb2Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMDMxNzA1MTNEQjAwQkI3
MjJDIC8qIEZUTEpJVENvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
SklUQ29kZS5oOyBwYXRoID0gZnRsL0ZUTEpJVENvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZFQTBBMDQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTExvd2VyREZHVG9MTFZNLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTExvd2VyREZHVG9MTFZN
LmNwcDsgcGF0aCA9IGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRUEwQTA1MTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExW
TS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExMb3dlckRGR1RvTExWTS5o
OyBwYXRoID0gZnRsL0ZUTExvd2VyREZHVG9MTFZNLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRUEwQTA2MTcwNTEzREIwMEJCNzIyQyAvKiBGVExPdXRwdXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMT3V0cHV0Lmg7IHBhdGggPSBmdGwvRlRMT3V0cHV0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTA3MTcwNTEzREIwMEJCNzIy
QyAvKiBGVExTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExTdGF0
ZS5oOyBwYXRoID0gZnRsL0ZUTFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGRUEwQTE1MTcwNkJCOTAwMEJCNzIyQyAvKiBGVExTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExTdGF0ZS5jcHA7IHBhdGggPSBmdGwvRlRMU3RhdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEExNzE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTEFic3RyYWN0SGVhcC5jcHA7IHBhdGggPSBmdGwvRlRMQWJzdHJhY3RIZWFwLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMTgxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTEFic3RyYWN0SGVhcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExBYnN0cmFjdEhlYXAuaDsgcGF0aCA9IGZ0bC9GVExBYnN0cmFjdEhlYXAuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMTkxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHA7IHBhdGggPSBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTFB
MTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0
aCA9IGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRUEwQTFCMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExUeXBlZFBvaW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMVHlwZWRQb2ludGVyLmg7IHBhdGgg
PSBmdGwvRlRMVHlwZWRQb2ludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RUEwQTIxMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQ29tbW9uVmFsdWVzLmg7IHBhdGggPSBmdGwvRlRMQ29t
bW9uVmFsdWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTIyMTcwOTYw
NjkwMEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaDsgcGF0aCA9IGZ0bC9GVExJ
bnRyaW5zaWNSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEw
QTI1MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMQ29tbW9uVmFsdWVzLmNwcDsgcGF0aCA9IGZ0bC9G
VExDb21tb25WYWx1ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEy
NjE3MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcDsg
cGF0aCA9IGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZFQTBBMjkxNzA5NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExPdXRwdXQuY3BwOyBwYXRoID0g
ZnRsL0ZUTE91dHB1dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTJC
MTcwQjY2MTkwMEJCNzIyQyAvKiBGVExGb3JtYXR0ZWRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBGVExGb3JtYXR0ZWRWYWx1ZS5oOyBwYXRoID0gZnRsL0ZUTEZvcm1h
dHRlZFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTJEMTcwRDQw
QkYwMEJCNzIyQyAvKiBERkdDb21tb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IERGR0NvbW1vbkRhdGEuY3BwOyBwYXRoID0gZGZnL0RGR0NvbW1vbkRhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEyRTE3MEQ0MEJGMDBCQjcy
MkMgLyogREZHQ29tbW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
RkdDb21tb25EYXRhLmg7IHBhdGggPSBkZmcvREZHQ29tbW9uRGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkVBMEEyRjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdKSVRDb2RlLmNwcDsg
cGF0aCA9IGRmZy9ERkdKSVRDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZFQTBBMzAxNzBENDBCRjAwQkI3MjJDIC8qIERGR0pJVENvZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHSklUQ29kZS5oOyBwYXRoID0gZGZnL0RGR0pJVENvZGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQjNFQ0UxNjIzN0Y2NzAwQUI2N0FEIC8q
IE1hY3JvQXNzZW1ibGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hY3JvQXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFRDY3
QjcxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDb25zdGFudEhvaXN0aW5nUGhhc2Uu
Y3BwOyBwYXRoID0gZGZnL0RGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGRUQ2N0I4MUIyNjI1NkQwMDY2Q0UxNSAvKiBERkdDb25zdGFu
dEhvaXN0aW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ29u
c3RhbnRIb2lzdGluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUU5ODQwMUE4ODY1QjYwMDc1NEU5
MyAvKiBTZXR1cFZhcmFyZ3NGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTZXR1cFZhcmFyZ3NGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVF
OTg0MjFBODkyMjc1MDA3NTRFOTMgLyogU2V0dXBWYXJhcmdzRnJhbWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2V0dXBWYXJhcmdzRnJhbWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkVGQzlBNzE2ODFBM0IwMDA1NjdGNTMgLyogREZHT1NS
RXhpdEp1bXBQbGFjZWhvbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0
SnVtcFBsYWNlaG9sZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFRkM5
QTgxNjgxQTNCMDAwNTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdEp1bXBQbGFjZWhvbGRlci5oOyBw
YXRoID0gZGZnL0RGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZGMDU0RjcxQUMzNUI0NDAwRTVCRTU3IC8qIEV4ZWN1dGFibGVBbGxvY2F0
aW9uRnV6ei5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGVjdXRh
YmxlQWxsb2NhdGlvbkZ1enouY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkYw
NTRGODFBQzM1QjQ0MDBFNUJFNTcgLyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4ZWN1dGFibGVBbGxvY2F0aW9uRnV6ei5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0MjcyRjE1OEVCRDQ0MDA0Q0I5RkYgLyog
RGlzYXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpc2Fzc2Vt
Ymxlci5oOyBwYXRoID0gZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0MjczMDE1OEVCRDQ0MDA0Q0I5RkYgLyogVURpczg2RGlzYXNz
ZW1ibGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFVEaXM4NkRp
c2Fzc2VtYmxlci5jcHA7IHBhdGggPSBkaXNhc3NlbWJsZXIvVURpczg2RGlzYXNzZW1ibGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3MzQxNThFQkQ5NDAwNENCOUZG
IC8qIHVkaXM4Nl9kZWNvZGUuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdWRp
czg2X2RlY29kZS5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfZGVjb2RlLmM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzM1MTU4RUJEOTQwMDRDQjlGRiAv
KiB1ZGlzODZfZGVjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4
Nl9kZWNvZGUuaDsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2RlY29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0MjczNjE1OEVCRDk0MDA0Q0I5RkYgLyog
dWRpczg2X2V4dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSB1ZGlzODZf
ZXh0ZXJuLmg7IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9leHRlcm4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3MzcxNThFQkQ5NDAwNENCOUZGIC8qIHVk
aXM4Nl9pbnB1dC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSB1ZGlzODZfaW5w
dXQuYzsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2lucHV0LmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzM4MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
aW5wdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gdWRpczg2X2lucHV0Lmg7
IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9pbnB1dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0MjczOTE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi1h
dHQuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gInVkaXM4Nl9zeW4tYXR0LmMi
OyBwYXRoID0gImRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1hdHQuYyI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNBMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
c3luLWludGVsLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9ICJ1ZGlzODZfc3lu
LWludGVsLmMiOyBwYXRoID0gImRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1pbnRlbC5j
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3M0IxNThFQkQ5NDAwNENCOUZG
IC8qIHVkaXM4Nl9zeW4uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdWRpczg2
X3N5bi5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNDMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
c3luLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4Nl9zeW4uaDsgcGF0
aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkY0MjczRDE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3R5cGVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4Nl90eXBlcy5oOyBwYXRoID0gZGlz
YXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfdHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZGNDI3M0UxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Ni5jICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmM7IG5hbWUgPSB1ZGlzODYuYzsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYv
dWRpczg2LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNGMTU4RUJEOTQw
MDRDQjlGRiAvKiB1ZGlzODYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gdWRp
czg2Lmg7IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0Mjc0QzE1OEVCRkUxMDA0Q0I5RkYgLyogdWRpczg2X2l0YWJf
aG9sZGVyLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IHVkaXM4Nl9pdGFiX2hv
bGRlci5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfaXRhYl9ob2xkZXIuYzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3NTYxNTkxNEEyMDAwNENCOUZGIC8q
IExpbmtCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGlu
a0J1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzYxMTU5MUEx
QzkwMDRDQjlGRiAvKiBERkdEaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHRGlzYXNzZW1ibGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdEaXNhc3Nl
bWJsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0Mjc2MjE1OTFBMUM5
MDA0Q0I5RkYgLyogREZHRGlzYXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR0Rpc2Fzc2VtYmxlci5oOyBwYXRoID0gZGZnL0RGR0Rpc2Fzc2VtYmxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY2MEFCRjE2NzQwRjgxMDAwMjk3NzkgLyog
UmVkdWNlV2hpdGVzcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWR1Y2VXaGl0ZXNwYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZG
NjBBQzAxNjc0MEY4MTAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVkdWNlV2hpdGVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkY3MTY4QTE1QTNCMjMxMDA4RjVEQUEgLyogUHJvcGVydHlPZmZzZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlPZmZzZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTIxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQnl0ZWNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
UHJvZmlsZXJCeXRlY29kZS5jcHA7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckJ5dGVjb2RlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTMxNjZBRDM0NzAwMEY1QkEz
IC8qIFByb2ZpbGVyQnl0ZWNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
UHJvZmlsZXJCeXRlY29kZS5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5NDE2NkFEMzQ3MDAwRjVCQTMgLyog
UHJvZmlsZXJCeXRlY29kZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gUHJvZmlsZXJCeXRlY29kZXMuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29k
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5NTE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gUHJvZmlsZXJCeXRlY29kZXMuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNv
ZGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTk2MTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb24uY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJv
ZmlsZXJDb21waWxhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcy
OTk3MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb24uaDsgcGF0aCA9IHByb2Zp
bGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZGNzI5OTgxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb25L
aW5kLmNwcDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTkxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQ29tcGlsYXRpb25LaW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmg7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckNvbXBp
bGF0aW9uS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5QTE2NkFE
MzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsZWRCeXRlY29kZS5jcHA7IHBh
dGggPSBwcm9maWxlci9Qcm9maWxlckNvbXBpbGVkQnl0ZWNvZGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY3Mjk5QjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21w
aWxlZEJ5dGVjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVy
Q29tcGlsZWRCeXRlY29kZS5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJDb21waWxlZEJ5dGVj
b2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTlDMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFByb2ZpbGVyRGF0YWJhc2UuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJE
YXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTlEMTY2QUQz
NDcwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFByb2ZpbGVyRGF0YWJhc2UuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyRGF0
YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OUUxNjZBRDM0NzAw
MEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBQcm9maWxlckV4ZWN1dGlvbkNvdW50ZXIuaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkY3Mjk5RjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZXJPcmlnaW4uY3BwOyBwYXRoID0g
cHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkY3MjlBMDE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJvZmlsZXJPcmlnaW4uaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyT3JpZ2luLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOUEx
MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyT3JpZ2luU3RhY2suY3BwOyBwYXRoID0g
cHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRjcyOUEyMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVyT3JpZ2luU3RhY2suaDsg
cGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZGOEJERTgxQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVycmVkVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5mZXJyZWRWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjhCREU5MUFENENGNzEwMERGRTg4NCAv
KiBJbmZlcnJlZFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZmVy
cmVkVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGOTIyQ0YxNEY0NkIx
MzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxl
IjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkwRkZCNkMzNjFBRjQ4RERDMDBE
QjFCRjcgLyogVHlwZW9mVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUeXBlb2ZUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGQjZD
MzcxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVHlwZW9mVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkZDOTlEMDE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnN0YW50TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkZDOTlEMjE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZmZXJOZXV0ZXJpbmdX
YXRjaHBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFycmF5
QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRkM5OUQzMTg0RUUzMTgwMDlDMTBBQiAvKiBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlCdWZmZXJOZXV0
ZXJpbmdXYXRjaHBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRkZDOTRC
MTRFRjkwOTUwMEM3MjUzMiAvKiBERkdDRkFQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdDRkFQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ0ZBUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkZGQzk0QzE0RUY5MDk1MDBDNzI1
MzIgLyogREZHQ0ZBUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
Q0ZBUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdDRkFQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkZGQzk0RDE0RUY5MDk1MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQ1NFUGhhc2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0NTRVBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZG
RkM5NEUxNEVGOTA5NTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0NTRVBoYXNlLmg7IHBhdGggPSBkZmcvREZHQ1NFUGhhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGRkM5NEYxNEVGOTA5NTAwQzcyNTMyIC8q
IERGR1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1Bo
YXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRkZDOTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRkZDOTUxMTRFRjkwOTUwMEM3MjUzMiAv
KiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGgg
PSBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkZGQzk1MzE0RUY5
MDk1MDBDNzI1MzIgLyogREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZpcnR1YWxSZWdpc3RlckFsbG9j
YXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBo
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGRkM5NTQxNEVGOTA5NTAw
QzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2Uu
aDsgcGF0aCA9IGRmZy9ERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQwRDE3RDYwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFz
ZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCYXNlUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDEyMTEwMjBBNDg3ODA5MDA0ODAy
NTUgLyogbWluaWRvbS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBtaW5pZG9t
LmM7IHBhdGggPSB0ZXN0cy9taW5pZG9tLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBuYW1lID0gbWluaWRvbS5qczsgcGF0aCA9IHRlc3RzL21pbmlkb20u
anM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTIxMTIwMEE0ODc5M0MwMDQ4MDI1
NSAvKiBtaW5pZG9tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBh
dGggPSBtaW5pZG9tOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNDE0
NDhDQTEzQTE3NkVDMDBGNUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkQmxvY2tTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQxNDQ4Q0MxM0ExNzgzNzAwRjVCQTFBIC8qIFRpbnlCbG9vbUZpbHRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW55Qmxvb21GaWx0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNTAxMzIxNTRCQjEzRjAwNUQ4Qzk4IC8qIFdlYWtT
ZXRJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYWtTZXRJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MjBCRTdBMTBBQTZEREIwMEY0
NTVEMiAvKiBXZWFrUmFuZG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YWtSYW5kb20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyMTM1OUEwQTY3N0Y0
RjAwQTgxOTVFIC8qIEpTQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0Jhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI3MTEzODBB
NDYwQkJCMDA4MEVFRUEgLyogSlNCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI5RDc3QjBFRDIw
RDczMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW50ZXJwcmV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyOUQ3
RDMwRUQyMTI4MjAwQjg5NjE5IC8qIEludGVycHJldGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEludGVycHJldGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQyOUQ4NUIwRUQyMThFOTAwQjg5NjE5IC8qIEpTU3RhY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0MjlEODc3MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25IZWxw
ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2VwdGlvbkhl
bHBlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI5RDg4MzBFRDIxQzNE
MDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNhbXBsaW5nVG9vbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MjlEODg0MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2FtcGxpbmdUb29sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE0MjlEOERCMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbEZyYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyOUQ4REMwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFt
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ2Fs
bEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9u
SWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OworCQkxNDI5RDkyRDBFRDIyRDcwMDBC
ODk2MTkgLyogSklULmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJ
VC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MjlEOTJFMEVEMjJENzAwMEI4
OTYxOSAvKiBKSVQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklULmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBO
dW1lcmljU3RyaW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOdW1lcmlj
U3RyaW5ncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJENkYwNjEzNTM5QTI4
MDBCMDJFODYgLyogTWFya2VkQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWFya2VkQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDJENkYwNzEzNTM5QTI4MDBCMDJFODYgLyogTWFya2VkQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTQyRDZGMEUxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrU3RhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDJENkYwRjEzNTM5QTQxMDBCMDJFODYgLyogTWFya1N0YWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmtTdGFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNDJFMzEyQjEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhbmRsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDJFMzEyQzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU2V0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhhbmRsZVNldC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJEMTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFuZGxlU2V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJFMTM0RkYwQTYwMEFGQURCNSAv
KiBIYW5kbGVTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
YW5kbGVTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJGMTM0
RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIYW5kbGVTdGFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJF
MzEzMDEzNEZGMEE2MDBBRkFEQjUgLyogTG9jYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyRTMxMzEx
MzRGRjBBNjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWxTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJF
MzEzMjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0cm9uZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJFMzEz
MzEzNEZGMEE2MDBBRkFEQjUgLyogV2Vhay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWFrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDAwNTFGMEE1MzFE
M0IwMDA1RjA2MSAvKiBOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5v
ZGUuaDsgcGF0aCA9IHRlc3RzL05vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTQ0MDA1MjAwQTUzMUQzQjAwMDVGMDYxIC8qIE5vZGUuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBuYW1lID0gTm9kZS5jOyBwYXRoID0gdGVzdHMvTm9kZS5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxNDQwMDc0ODBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm9kZUxpc3QuaDsgcGF0aCA9IHRlc3RzL05v
ZGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDAwNzQ5MEE1MzZDQzIw
MDA1RjA2MSAvKiBOb2RlTGlzdC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBO
b2RlTGlzdC5jOyBwYXRoID0gdGVzdHMvTm9kZUxpc3QuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQ0MDA3NTUwQTUzNzBEMjAwMDVGMDYxIC8qIEpTTm9kZUxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNOb2RlTGlzdC5oOyBwYXRoID0gdGVzdHMvSlNO
b2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDQwMDc1NjBBNTM3MEQy
MDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUg
PSBKU05vZGVMaXN0LmM7IHBhdGggPSB0ZXN0cy9KU05vZGVMaXN0LmM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0NDBGNjQxMEE0RjhCNkEwMDA1RjA2MSAvKiBKU05vZGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNOb2RlLmg7IHBhdGggPSB0ZXN0cy9KU05v
ZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0MEY2NDIwQTRGOEI2QTAwMDVG
MDYxIC8qIEpTTm9kZS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBKU05vZGUu
YzsgcGF0aCA9IHRlc3RzL0pTTm9kZS5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDQwRjg4RjBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNDQwRjg5MDBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFj
a0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2Fs
bGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDBGOEFD
MEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDYWxsYmFja0NvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTE0NDBGOEFEMEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlND
YWxsYmFja0NvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0
MEZDRTEwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNDbGFzc1JlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDQwRkNFMjBBNTFFNDZCMDAwNUYwNjEgLyogSlNDbGFzc1JlZi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsYXNzUmVmLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTQ0MjU2NUYxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2l0aFNjb3BlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0MjU2NjAxNUVERTk4RDAwNjZBNDlCIC8q
IEpTV2l0aFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2l0aFNj
b3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NTcyMjg1MTQzN0UxNDAwMDVG
REUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0cm9uZ0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ1QzUwN0Yw
RDlERjYzQjAwODhGNkI5IC8qIENhbGxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENhbGxEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NkFBQjJB
MEI2NkE4NDkwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1N0cmluZ1JlZkNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTE0NkFBQjM3MEI2NkE5NDQwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZ1JlZkNGLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ2QjE0REIxMkVCNUIxMjAwMUJFQzFCIC8qIENvbnNl
cnZhdGl2ZVJvb3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
bnNlcnZhdGl2ZVJvb3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ2RkE1
QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhhbmRsZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0NkZFNTExMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUQ2FsbDMyXzY0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTQ3QjgzQUEwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0
N0I4NDYyMEU2REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHV0UHJvcGVydHlTbG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0ODBEQjlCMEREQzIyN0YwMDNDRkRGMiAvKiBEZWJ1Z2dlckNhbGxGcmFt
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlckNhbGxGcmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDgyQjZFQTBBNDMwMEIzMDA1MTdDRkMg
LyogSlNWYWx1ZVJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZhbHVl
UmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0ODJCNzRCMEE0MzAzMjgwMDUx
N0NGQyAvKiBKU1N0cmluZ1JlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1N0cmluZ1JlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDgyQjc0QzBBNDMw
MzI4MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNTdHJpbmdSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDgyQjc4QTBBNDMwNUFCMDA1MTdDRkMgLyogQVBJQ2FzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBUElDYXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0ODJCN0UxMEE0MzA3NjAwMDUxN0NGQyAvKiBKU09iamVjdFJlZi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU09iamVjdFJlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNDgyQjdFMjBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPYmplY3RSZWYuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxNDg3NEFERjE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1l
U2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYW1lU2Nv
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDg3NEFFMDE1RUJERTRBMDAy
RTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOYW1lU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ4NzRBRTExNUVC
REU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0ODc0
QUUyMTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ4Q0Qx
RDcxMDhDRjkwMjAwODE2M0M2IC8qIEpTQ29udGV4dFJlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb250ZXh0UmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDk1NTlFRDBERENEREY3MDA2NDgwODcgLyogRGVidWdnZXJDYWxs
RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVidWdnZXJD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDlCMjRGRjBEOEFG
NkQxMDA5Q0I4QzcgLyogUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVnaXN0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ5REFBRjIxMkVC
NTU5RDAwODNCMTJCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbnNlcnZhdGl2ZVJvb3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTE0QTE1NjMwMTA5NjYzNjUwMDZGQTI2MCAvKiBEYXRlSW5zdGFuY2VDYWNoZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlSW5zdGFuY2VDYWNoZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEEyM0Q2QzBGNEUxOUNFMDAyM0NEQUQgLyogSklU
U3R1YnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUU3R1YnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEEzOTZBNjBDRDI5MzMxMDBCNUI0
RkYgLyogU3ltYm9sVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lt
Ym9sVGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRBNjU4MUEwRjRFMzZG
NDAwMDE1MEZEIC8qIEpJVFN0dWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpJVFN0dWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJCMzZFMDk5QzA3
NjQwMEUyQTI0RiAvKiBKU0NKU1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0NKU1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJCNDU0
MDk5QzJBMEYwMEUyQTI0RiAvKiBKU1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJERjVEMEE0
MzdGRUYwMEVDQ0EwMSAvKiBKU0NhbGxiYWNrT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTRBQkRGNUUwQTQzN0ZFRjAwRUNDQTAxIC8qIEpTQ2FsbGJhY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYWxsYmFja09iamVjdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QjcyMzNGMTJEN0QwREEwMDNCRDVFRCAv
KiBNYWNoaW5lU3RhY2tNYXJrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWFjaGluZVN0YWNrTWFya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMTRCNzIzNDAxMkQ3RDBEQTAwM0JENUVEIC8qIE1hY2hpbmVTdGFja01hcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNoaW5lU3RhY2tNYXJrZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRCQTc4RjAxM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RW
aXNpdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QkE3QTk1MTNBQURGRjgwMDVCN0MyQyAv
KiBIZWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXAuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEJBN0E5NjEzQUFERkY4MDA1QjdDMkMg
LyogSGVhcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QkQ1OUJGMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0
YXBpICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSB0ZXN0
YXBpOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNEJENUEyOTBBM0U5
MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NvbnRleHRSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxNEJENUEyQTBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NvbnRleHRSZWYuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTRCRDVBMkIwQTNFOTFGNjAwQkFGNTlDIC8qIEpTVmFsdWVSZWYuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVmFsdWVSZWYuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEJENUEyRDBBM0U5MUY2MDBCQUY1OUMgLyog
dGVzdGFwaS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdGVzdGFwaS5jOyBw
YXRoID0gQVBJL3Rlc3RzL3Rlc3RhcGkuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYWtJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTE0QkZDRTY4MTBDREIxRkMwMDM2NENDRSAvKiBXZWFrR0NNYXAuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0dDTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE0Q0E5NThBMTZBQjUwREUwMDkzOEEwNiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5
emVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Byb3BlcnR5QW5h
bHl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRDQTk1OEMxNkFCNTBGQTAw
OTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0RDJGM0Q4MTM5RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRTcGFjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0RDJGM0Q5MTM5RjRCRTIwMDQ5MTAzMSAvKiBN
YXJrZWRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJrZWRTcGFj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEQ3OTI2NDBEQUEwM0ZCMDAxQTlG
MDUgLyogSlNTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0YWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0RDg0NEEyMTZBQTJDNzAwMEE2NUFG
MCAvKiBQcm90b3R5cGVNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUHJvdG90eXBlTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTREODQ0
QTMxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQcm90b3R5cGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMTREODU3NzQwQTQ2OTZDODAwMzIxNDZDIC8qIHRlc3RhcGkuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSB0ZXN0YXBpLmpzOyBwYXRoID0gQVBJL3Rlc3RzL3Rl
c3RhcGkuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0REE4MThFMEQ5OUZEMjAw
MEIwQTRGQiAvKiBKU0xleGljYWxFbnZpcm9ubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0xleGljYWxFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNERBODE4RjBEOTlGRDIwMDBCMEE0RkIgLyogSlNMZXhpY2FsRW52aXJvbm1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMZXhpY2FsRW52aXJv
bm1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNERFMEQ2ODBEMDI0MzE0
MDBBQUNDQTIgLyogSlNHbG9iYWxPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5jcHA7IH07CisJCTE0REYwNEQ5MTZCMzk5NkQwMDE2QTUxMyAvKiBTdGF0aWNQcm9wZXJ0
eUFuYWx5c2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Byb3Bl
cnR5QW5hbHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRFODRGOTkxNEVF
MUFDQzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWFrQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NEU4NEY5QTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYWtCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNEU4NEY5QjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWFrU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTRFODRGOUMxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha1NldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNEU4NEY5RDE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0ltcGwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0ltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTRGMjUyNTYwRDA4REQ4RDAwNEVDRkZGIC8qIEpTRW52aXJvbm1lbnRSZWNvcmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnZpcm9ubWVudFJlY29yZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEY3MjU2MzE0RUUyNjVFMDBCMTY1MkIg
LyogV2Vha0hhbmRsZU93bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYWtIYW5kbGVPd25lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0
RjcyNTY0MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0hhbmRsZU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2NyAvKiBIZWFwUm9vdFZpc2l0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFJvb3RWaXNpdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMjhENEE3MTc3QjcxQzgwMDA3RkEzQyAvKiBK
U1N0cmluZ1JlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNT
dHJpbmdSZWZQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQ0Y3Mzc2
MTcxQ0E2RkIwMEM5QkIxRSAvKiBXZWFrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYWsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzkwNTE0
MjBCQTlFOEE3MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQzkwNTE0MzBCQTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gSmF2YVNjcmlwdENvcmUueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOTA1MTQ0MEJBOUU4QTcwMDgxRTlEMCAv
KiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0g
RGVidWdSZWxlYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzkw
NTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAvKiBKYXZhU2NyaXB0Q29yZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyNjAwQjVBNDE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdK
b2luZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJpbmdK
b2luZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNjAwQjVBNTE1MkJBQUE3
MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTdHJpbmdKb2luZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkEw
NUFCRDMxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTA1QUJENDE5NjFERjI0MDAz
NDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyQTExMTI0MzE5MkZDRTc5MDA1RUUxOEQgLyogQ3VzdG9tR2V0dGVyU2V0
dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEN1c3RvbUdldHRl
clNldHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBMTExMjQ0MTkyRkNF
NzkwMDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ3VzdG9tR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJBMzQzRjc0MThBMTc0OEIwMDM5QjA4NSAvKiBHQ1NlZ21lbnRlZEFycmF5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDU2VnbWVudGVkQXJyYXkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkEzNDNGNzcxOEExNzQ5RDAwMzlCMDg1IC8qIEdDU2Vn
bWVudGVkQXJyYXlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdD
U2VnbWVudGVkQXJyYXlJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJB
NEJCN0YyMThBNDExNzkwMDhBMEZDRCAvKiBKU01hbmFnZWRWYWx1ZUludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWFuYWdlZFZhbHVlSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkE0RUM5MDkxODYwRDZDMjAwOTRGNzgyIC8qIFdy
aXRlQmFycmllckJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXcml0ZUJhcnJpZXJCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QTRFQzkwQTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRlQmFycmllckJ1ZmZlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyQTY4Mjk1QTE4NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRl
QmFycmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3B5V3JpdGVCYXJy
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0
NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhlYXBPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkE3QTU4RUUx
ODA4QTRDNDAwMjBCREY3IC8qIERlZmVyR0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGVmZXJHQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJB
ODM2MzgzMThEN0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTgzNjM4NDE4RDdEMEVFMDAwMEVC
Q0MgLyogRWRlbkdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJBODM2Mzg3MThEN0QwRkUwMDAwRUJDQyAvKiBGdWxsR0NBY3Rpdml0eUNhbGxiYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bGxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTgzNjM4ODE4RDdE
MEZFMDAwMEVCQ0MgLyogRnVsbEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBODgwNjc2MTkxMDdENTUwMENCMEJCQiAvKiBERkdGdW5jdGlvbldo
aXRlbGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGdW5j
dGlvbldoaXRlbGlzdC5jcHA7IHBhdGggPSBkZmcvREZHRnVuY3Rpb25XaGl0ZWxpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTg4MDY3NzE5MTA3RDU1MDBDQjBCQkIgLyog
REZHRnVuY3Rpb25XaGl0ZWxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHRnVuY3Rpb25XaGl0ZWxpc3QuaDsgcGF0aCA9IGRmZy9ERkdGdW5jdGlvbldoaXRlbGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFBQTMxMDE4QkQ0OUQxMDAzOTRDQzgg
LyogU3RydWN0dXJlSURCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0
cnVjdHVyZUlEQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFCQ0RFNjE4
RUYyOTQyMDAwMDIwOTYgLyogR0NMb2dnaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEdDTG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFDRTYz
QTE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQUNFNjNCMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0
eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQUQ5NjQ5MTg1Njk0
MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJBQzkyMkI5MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRl
YnVnTGluZUluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
RFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcDsgcGF0aCA9IGZ0bC9GVExEV0FSRkRlYnVnTGluZUluZm8u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUM5MjJCQTE4QTE2MTgyMDAzQ0Uw
RkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEZUTERXQVJGRGVidWdMaW5lSW5mby5oOyBwYXRoID0gZnRsL0ZUTERXQVJGRGVidWdM
aW5lSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUQyRURGQTE5Nzk5RTM4
MDA0RDY0NzggLyogRW51bWVyYXRpb25Nb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEVudW1lcmF0aW9uTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QUQ4OTMyOTE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBJdGVyYXRpb25TY29wZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyQURGQTI2MjE4RUYzNTQwMDA0RjlGQ0MgLyogR0NMb2dnaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDTG9nZ2luZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAv
KiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFN0cnVjdHVyZUlEVGFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QUY3MzgyQjE4QkJCRjkyMDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVJRFRhYmxlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTM3MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJ6LmR5bGliOyBwYXRoID0gdXNyL2xpYi9saWJ6LmR5
bGliOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJNDM0MEE0ODIxQTkwNTFBRjAwRDczQ0NB
IC8qIE1hdGhDb21tb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWF0aENvbW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzNDBBNDgzMUE5
MDUxQUYwMEQ3M0NDQSAvKiBNYXRoQ29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1hdGhDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MDk3
RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC54Y2NvbmZpZzsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZYXJyLmg7IHBhdGggPSB5YXJyL1lhcnIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBqc2MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDQ7
IH07CisJCTUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJz
b2x1dGU+IjsgfTsKKwkJNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGls
ZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9s
aWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk1MjY3OEY4QzFB
MDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2ljQmxvY2tMb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTUyNjc4RjhEMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2Nr
TG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFzaWNCbG9ja0xv
Y2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyNjc4RjkwMUEwNDE3N0Mw
MDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbnRyb2xGbG93UHJvZmlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTI3NzczREQxQUFGODNBQzAwQkRFN0U4IC8qIFJ1bnRpbWVUeXBlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVUeXBlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJCMzEwRkExOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9u
SGFzRXhlY3V0ZWRDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2Fj
aGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJCMzEwRkMxOTc0QUU4NzAwODA4
NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
dW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MkIzMTBGRTE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gVHlwZUxvY2F0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1MkIzMTEwMDE5NzVCNDY3MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVHlwZUxvY2F0aW9uQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTJCNzE3QjQxQTA1OTdFMTAwN0FGNEYzIC8qIENvbnRyb2xGbG93UHJvZmls
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udHJvbEZsb3dQ
cm9maWxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyQzA2MTFEMUFBNTFF
MUIwMEI0QURCQSAvKiBSdW50aW1lVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSdW50aW1lVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkM5NTJC
NjE5QTI4OTg1MDA2OUIzODYgLyogVHlwZVByb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVQ
cm9maWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkM5NTJCODE5QTI4QTFD
MDA2OUIzODYgLyogVHlwZVByb2ZpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVQcm9m
aWxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU1NDA3NTg0MThGNEEzNzUw
MDYwMkE1RCAvKiBDb21waWxlUnVudGltZVRvTExWTUlSLnhjY29uZmlnICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC54Y2NvbmZpZzsgcGF0aCA9IENvbXBpbGVSdW50aW1lVG9MTFZNSVIueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBE
YXRhSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBEYXRhSW5s
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RDUzNzI2RDBFMUM1NDZCMDAy
MUU1NDkgLyogVHJhY2luZy5kICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFRyYWNpbmcuZDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUQ1MzcyNkUwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRy
YWNpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhY2luZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RDUzNzI3RDBFMUM1NUVDMDAyMUU1NDkgLyogVHJh
Y2luZ0R0cmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFjaW5nRHRy
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVENUQ4QUQwMEUwRDBFQkUwMEY5
QzY5MiAvKiBsaWJlZGl0LmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJlZGl0LmR5
bGliOyBwYXRoID0gL3Vzci9saWIvbGliZWRpdC5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1
dGU+IjsgfTsKKwkJNURBRkQ2Q0IxNDZCNjg2MzAwRkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25m
aWc7IHBhdGggPSBKU0MueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVE
RERGNDQ2MTRGRUU3MjIwMEI0RkI0RCAvKiBMTEludERlc2lyZWRPZmZzZXRzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50RGVzaXJlZE9mZnNldHMuaDsgcGF0aCA9IExM
SW50T2Zmc2V0cy9MTEludERlc2lyZWRPZmZzZXRzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CisJCTVERTNEMEY0MEREOERERkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFi
aWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QXZhaWxhYmls
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQTlBMjlFMUIwQkVENDgwMEJE
NTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdMYXp5Tm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTGF6eU5vZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6
eU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTGF6eU5vZGUuaDsg
cGF0aCA9IGRmZy9ERkdMYXp5Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
MkQyRDM4RDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGdW5jdGlvblJhcmVEYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0
aW9uUmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25S
YXJlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTA3RDI5NzBFODcxRTRB
MDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1R5cGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MTEyMkU1MTQw
NDY5QkEwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IHRlc3RSZWdFeHAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRh
YmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gdGVzdFJlZ0V4cDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNjUxNEYyMTcxOEIzRTE2NzAwOThGRjhCIC8qIEJ5
dGVjb2Rlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29kZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjUxNEYyMTgxOEIzRTE2NzAwOThGRjhCIC8q
IEluaXRCeXRlY29kZXMuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gSW5pdEJ5dGVjb2Rlcy5hc207
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MjlGQjMwMThCMkQ2MzkwMEM2MTEwMiAv
KiBnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsg
cGF0aCA9ICJnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1MjlGQjMxMThCMkQ5OTkwMEM2MTEwMiAvKiBCeXRlY29kZUxpc3QuanNvbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBCeXRlY29kZUxpc3QuanNvbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNjUyQTNBMjAxNjUxQzY2MTAwQTgwQUZFIC8qIEFSTTY0RGlzYXNzZW1ibGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFSTTY0RGlzYXNzZW1i
bGVyLmNwcDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9BUk02NERpc2Fzc2VtYmxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MkEzQTIyMTY1MUM2OTcwMEE4MEFGRSAvKiBBNjRE
T3Bjb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEE2NERPcGNv
ZGUuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NTJBM0EyMzE2NTFDNjk3MDBBODBBRkUgLyogQTY0RE9w
Y29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBNjRET3Bjb2RlLmg7IHBh
dGggPSBkaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2NTMwM0Q2MzE0NDdCOUUxMDBEM0Y5MDQgLyogUGFyc2VyVG9rZW5zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlclRva2Vucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2NTQwMEMxMDBBNjlCQUYyMDA1MDk4ODcgLyogUHJvcGVydHlO
YW1lQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3BlcnR5TmFt
ZUFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NDZGNTFGMUEzMkE1OUMw
MDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IE51bGxHZXR0ZXJGdW5jdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcuY3BwOyB9OworCQk2NTQ2RjUyMDFBMzJBNTlDMDA2RjA3RDUgLyogTnVsbEdl
dHRlckZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bGxHZXR0
ZXJGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTUyNUZDMzFBNkRE
M0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE51bGxTZXR0ZXJGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTY1NTI1RkM0MUE2REQzQjMwMDdCNTQ5NSAvKiBOdWxsU2V0dGVyRnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTnVsbFNldHRlckZ1bmN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NTNBMzJGMTdBMUYxRUUwMDhD
RjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NTUzQTMzMDE3QTFGMUVFMDA4Q0Y2RjMgLyogQ29tbW9u
U2xvd1BhdGhzRXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b21tb25TbG93UGF0aHNFeGNlcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTY1NTcwRjU4MUFBNEMwMEEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlZ3Jlc3MxNDEyNzUuaDsgcGF0aCA9IEFQSS90ZXN0cy9S
ZWdyZXNzMTQxMjc1Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NTcwRjU5MUFB
NEMwMEEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gUmVncmVzczE0MTI3NS5tbTsgcGF0aCA9IEFQSS90ZXN0cy9SZWdy
ZXNzMTQxMjc1Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTVFQjI5QTEwQ0Uy
NTgxMDAxQTk5MEUgLyogTm9kZXNDb2RlZ2VuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5vZGVzQ29kZWdlbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IENvcmVGb3VuZGF0aW9uLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJl
ZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNjU2MjFFNkIwODlFODU5NzAwNzYwRjM1IC8qIFByb3Bl
cnR5U2xvdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQcm9wZXJ0eVNsb3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IH07CisJCTY1NjIxRTZDMDg5RTg1OTcwMDc2MEYzNSAvKiBQcm9wZXJ0eVNsb3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJv
cGVydHlTbG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
NjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2FsbGVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNjU3Q0Y0NTcxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTY1ODYwMTc3MTg1QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NThE
M0E1NTE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gVk1FbnRyeVJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLm9iamNwcDsgfTsKKwkJNjU5ODdGMkMxNjdGRTg0QjAwM0MyRjhEIC8qIERGR09TUkV4
aXRDb21waWxhdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
T1NSRXhpdENvbXBpbGF0aW9uSW5mby5oOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxhdGlv
bkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjU5ODdGMkYxNjgyOEE3RTAw
M0MyRjhEIC8qIFVudXNlZFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVW51c2VkUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMjg0
RjE3MTc5NUUyMDAzNTFFMzUgLyogQVJNdjdEaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQVJNdjdEaXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlz
YXNzZW1ibGVyL0FSTXY3RGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjVDMDI4NUExNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUk12N0RPcGNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMjg1QjE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdE
T3Bjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFSTXY3RE9wY29kZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMkZCQjA2Mzc0NjJBMDAzRTdFRTYg
LyogUHJvdGVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcm90ZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsg
fTsKKwkJNjVDN0ExNzEwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8q
IEpTV3JhcHBlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNX
cmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1RTg2NkVEMERE
NTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTb3VyY2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2NUU4NjZFRTBERDU5QUZBMDBBMkIyQTEgLyogU291cmNlQ29kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1RUE0Qzk5MDkyQUY5RTIwMDkzRDgwMCAvKiBKU0xvY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQk2NUVBNEM5QTA5MkFG
OUUyMDA5M0Q4MDAgLyogSlNMb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IH07CisJCTY1RUE3MzYyMEJBRTM1RDEwMDFCQjU2MCAvKiBDb21tb25JZGVudGlm
aWVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tbW9uSWRl
bnRpZmllcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUVBNzM2MzBCQUUz
NUQxMDAxQkI1NjAgLyogQ29tbW9uSWRlbnRpZmllcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbklkZW50aWZpZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1RkI1MTE1MTg0RUU4RjgwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b0NhbGxGcmFtZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJvdG9DYWxs
RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdG9DYWxs
RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QUQyQ0I0QzE5QjkxNDAx
MDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEZWJ1Z2dlckV2YWxFbmFibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTcwMTEzRDQ5MUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSXRlcmF0b3JPcGVyYXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzAxMTNENEExQThEQjA5MzAwMzg0
OEM0IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJdGVyYXRvck9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzA0RkQzNTMwNTY5N0U2RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQm9vbGVhbk9iamVjdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCTcwNUI0MUEzMUE2RTUw
MUUwMDcxNjc1NyAvKiBTeW1ib2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3ltYm9sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTQx
QTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTeW1ib2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTUxQTZF
NTAxRTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN5bWJvbENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTYxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVj
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbENvbnN0cnVjdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwNUI0MUE3MUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU3ltYm9sT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQx
QTgxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTeW1ib2xPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzA1QjQxQTkxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbFByb3RvdHlwZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeW1ib2xQcm90b3R5cGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MDVCNDFBQTFBNkU1MDFFMDA3MTY3NTcgLyogU3lt
Ym9sUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbFBy
b3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MDk0QzREQzFBRTQzOTUz
MDA0MUEyRUUgLyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5
dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3MDlGQjg2MTFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vha1NldC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTcwOUZCODYyMUFFMzM1QzYwMDM5RDA2OSAvKiBKU1dlYWtTZXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWFrU2V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcwOUZCODYzMUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29u
c3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vha1Nl
dENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA5RkI4NjQx
QUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWFrU2V0Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzA5RkI4NjUxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vha1NldFByb3RvdHlw
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwOUZCODY2MUFFMzM1QzYwMDM5
RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYWtTZXRQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBC
MEE5RDAxQTlCNjYyMDAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSdW50aW1lRmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzBEQzNFMDcxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEl0ZXJhdG9yUHJvdG90eXBlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBEQzNFMDgxQjJERjJDNzAwMDU0Mjk5
IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEl0ZXJhdG9yUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUMw
RUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RyaW5nSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3MEVDMEVCRDFBQTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJ
dGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0l0ZXJh
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUMwRUMwMUFBMEQ3REEwMEI2
QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcwRUMwRUMxMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVy
YXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdJ
dGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYw
MDFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjAxMUFGREJFQTIwMDQ0OTczOSAvKiBK
U1RlbXBsYXRlUmVnaXN0cnlLZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcw
RUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRlbXBsYXRlUmVnaXN0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYwMzFBRkRCRUEyMDA0NDk3MzkgLyogVGVtcGxh
dGVSZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZW1wbGF0ZVJl
Z2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjA0MUFGREJFQTIw
MDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRlbXBsYXRlUmVnaXN0cnlLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0MwMDhDRDAxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNQ
cm9taXNlRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNw
ZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTdDMDA4Q0QxMTg2
RjhBOTMwMDk1NUMyNCAvKiBKU1Byb21pc2VGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNQcm9taXNlRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTdDMDA4Q0Q4MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb21pc2VEZWZlcnJl
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDA4Q0Q5MTg3MTI0QkIwMDk1
NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1Byb21pc2VEZWZlcnJlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNlUmVhY3Rpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQcm9taXNlUmVhY3Rpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAwOENERDE4NzEyNThEMDA5NTVDMjQgLyogSlNQ
cm9taXNlUmVhY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9t
aXNlUmVhY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMDhDRTUxODc2
MzFCNjAwOTU1QzI0IC8qIE1pY3JvdGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNaWNyb3Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMTgx
N0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1Byb21pc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzE4NEUxOTE3QkVEQkQzMDA3Q0I2M0EgLyogSlNQcm9taXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHJvbWlzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzE4NEUxQzE3QkVFMjJFMDA3Q0I2M0EgLyogSlNQcm9taXNlUHJvdG90eXBlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBKU1By
b21pc2VQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJN0MxODRFMUQxN0JF
RTIyRTAwN0NCNjNBIC8qIEpTUHJvbWlzZVByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1Byb21pc2VQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MxODRFMjAxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGgg
PSBKU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFu
Z3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk3QzE4
NEUyMTE3QkVFMjQwMDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9taXNlQ29uc3RydWN0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMjQxN0JGRkEzNjAwN0NCNjNBIC8qIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Byb21pc2VDb25zdHJ1Y3Rvci5s
dXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMjUxN0JGRkEzNjAwN0NC
NjNBIC8qIEpTUHJvbWlzZVByb3RvdHlwZS5sdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9taXNl
UHJvdG90eXBlLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Q0ZCQUMxQzE4
QjUzNUU1MDBEMDA3NTAgLyogUHJvbWlzZS5wcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBQcm9taXNlLnByb3RvdHlwZS5qczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJN0U0RUU3MDgwRUJCNzk2MzAwNTkzNEFBIC8qIFN0cnVjdHVyZUNo
YWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZUNoYWluLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFNEVFNzBFMEVCQjdBNUIwMDU5MzRBQSAv
KiBTdHJ1Y3R1cmVDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHJ1Y3R1cmVDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MDE2
MURGMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYwMTYxRTAwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3Jv
QXNzZW1ibGVyWDg2LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNz
ZW1ibGVyWDg2Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MDE2MUUxMEYzQTgz
QzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjAxNjFFMjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYwM0NFRjIxNEM3NTQ2
NDAwQUU1OUUzIC8qIENvZGVQcm9maWxpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29kZVByb2ZpbGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2MDNDRUYzMTRDNzU0NjQwMEFFNTlFMyAvKiBDb2RlUHJvZmlsaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVQcm9maWxpbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODYwNEY0RjIxNDNBNkM0NDAwQjI5NUY1IC8qIENoYW5nZUxvZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQ2hhbmdlTG9nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcklubGluZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYxMkU0Q0IxNTIyOTE4NDAwQzgzNkJFIC8qIE1hdGNoUmVz
dWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGNoUmVzdWx0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MTU4QUIyMTU1QzhCM0YwMEI0NUM5QyAvKiBQ
cm9wZXJ0eU5hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlO
YW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MjU1M0NFMTYxMzZBQTUwMDlG
MTdEMCAvKiBKU1Byb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjI1NTNDRjE2MTM2
QUE1MDA5RjE3RDAgLyogSlNQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2M0IyM0RGMEZDNjBF
NjIwMDcwM0FBNCAvKiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg2M0M2RDk4MTUyMTExMTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXpl
VUNTMi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJyQ2Fub25p
Y2FsaXplVUNTMi5jcHA7IHBhdGggPSB5YXJyL1lhcnJDYW5vbmljYWxpemVVQ1MyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYzQzZEOTkxNTIxMTExMjAwNTg1RTRFIC8qIFlh
cnJDYW5vbmljYWxpemVVQ1MyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlh
cnJDYW5vbmljYWxpemVVQ1MyLmg7IHBhdGggPSB5YXJyL1lhcnJDYW5vbmljYWxpemVVQ1MyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2M0M2RDlBMTUyMTExMTIwMDU4NUU0RSAv
KiBZYXJyQ2Fub25pY2FsaXplVUNTMi5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgbmFtZSA9IFlhcnJDYW5vbmljYWxpemVVQ1MyLmpzOyBwYXRoID0geWFyci9ZYXJyQ2Fub25p
Y2FsaXplVUNTMi5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0MDkyM0IxNTZF
RUQzQjAwNTY2Q0IyIC8qIEFSTTY0QXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFSTTY0QXNzZW1ibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg2NDA5MjNDMTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNNjQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1QTMwRjAxMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pT
VmFsdWVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ0pTVmFs
dWVJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NjczOUQwMTNCRkRF
NzEwMDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEJpZ0ludGVnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY2NzM5RDEx
M0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBVaW50MTZXaXRoRnJhY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY3MDRCNDAxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFlhcnJTeW50YXhDaGVj
a2VyLmNwcDsgcGF0aCA9IHlhcnIvWWFyclN5bnRheENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NjcwNEI0MTEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENo
ZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gWWFyclN5bnRheENoZWNr
ZXIuaDsgcGF0aCA9IHlhcnIvWWFyclN5bnRheENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY3MDRCN0QxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJbnRlcnByZXRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJySW50ZXJwcmV0ZXIu
Y3BwOyBwYXRoID0geWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjcwNEI3RTEyREJBMzM3MDBBOUZFN0IgLyogWWFyckludGVycHJldGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnJJbnRlcnByZXRlci5oOyBwYXRo
ID0geWFyci9ZYXJySW50ZXJwcmV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY3MDRCN0YxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJKSVQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gWWFyckpJVC5jcHA7IHBhdGggPSB5YXJyL1lhcnJKSVQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjcwNEI4MDEyREJBMzM3MDBBOUZFN0Ig
LyogWWFyckpJVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZYXJySklULmg7
IHBhdGggPSB5YXJyL1lhcnJKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY3
MDRCODExMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gWWFyclBhcnNlci5oOyBwYXRoID0geWFyci9ZYXJyUGFyc2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NzA0QjgyMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJy
UGF0dGVybi5jcHA7IHBhdGggPSB5YXJyL1lhcnJQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODY3MDRCODMxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQYXR0ZXJuLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnJQYXR0ZXJuLmg7IHBhdGggPSB5
YXJyL1lhcnJQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODgwRjFC
MTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOyBw
YXRoID0gZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4Njg4MEY0QzE0MzUzQjIxMDBCMDhENDIgLyogREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDsgcGF0aCA9IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4OTE2QTkxNTVGMjg1NDAwQ0IyQjlBIC8qIFByaXZhdGVO
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVOYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2OUVCQ0I2MEU4QzZENEEwMDg3MjJDQyAvKiBS
ZXN1bHRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc3VsdFR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3
IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBuYW1lID0gTG93TGV2ZWxJ
bnRlcnByZXRlci5hc207IHBhdGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBMDU0NDcxNTU2NDUxQjAwNDQ1MTU3IC8qIExv
d0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IGxpbmVFbmRpbmcgPSAwOyBu
YW1lID0gTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbTsgcGF0aCA9IGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIzMl82NC5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QTA1
NDQ4MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyNjQuYXNtICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20u
YXNtOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc207IHBh
dGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkE5MEVDRjBFRTdENTFGMDBBQjM1MEQgLyogSklUQXJpdGhtZXRpYy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRBcml0aG1ldGljLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBREQxNDMwRkRERUE5ODAwMDZFRUMyIC8q
IEFSTXY3QXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFSTXY3
QXNzZW1ibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QUREMTQ0MEZEREVB
OTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNdjcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODZBRTY0QTYxMzVFNUUxQzAwOTYzMDEyIC8qIE1hY3JvQXNzZW1ibGVyU0g0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyU0g0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QUU2NEE3MTM1RTVFMUMwMDk2MzAxMiAvKiBT
SDRBc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU0g0QXNzZW1i
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QjU4MjJDMTREMjJGNUYwMEE5
QzMwNiAvKiBQcm9maWxlVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHJvZmlsZVRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QjU4
MjJFMTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlUHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2QjU4MjJGMTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NkI1ODI2QTE0RDM1RDUxMDBBOUMzMDYgLyogVGllcmVkTU1hcEFy
cmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpZXJlZE1NYXBBcnJheS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkJGNjQyQTE0OERCMkI1MDA0REUzNkEg
LyogSW50cmluc2ljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludHJpbnNp
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkMzNkVFOTBFRTEyODlEMDBCM0RG
NTkgLyogTWFjcm9Bc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWFjcm9Bc3NlbWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REQx
MUEyMTNFRTAwMDdGN0YwIC8qIE1hY3JvQXNzZW1ibGVyQVJNLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REUxMUEyMTNFRTAwMDdGN0YwIC8qIE1hY3JvQXNzZW1i
bGVyTUlQUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNyb0Fzc2VtYmxl
ck1JUFMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REYxMUEyMTNFRTAw
MDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTUlQU0Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkNBMDMy
RDEwMzhFODQ0MDAyOEE2MDkgLyogRXhlY3V0YWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFeGVjdXRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODZDQUZFRTIxMDM1RERFNjAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhlY3V0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkNDODVBMDBFRTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg2Q0M4NUEyMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVENhbGwuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkNDODVDMzBFRTdBODk0MDAyODg2ODIgLyogSklUUHJv
cGVydHlBY2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklU
UHJvcGVydHlBY2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkNDRUZE
RDBGNDEzRjg5MDBGRDdGOUUgLyogSklUQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKSVRDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RDIyMjE5
MTY3RUY5NDQwMDI0QzgwNCAvKiB0ZXN0YXBpLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGZpbGVFbmNvZGlu
ZyA9IDQ7IG5hbWUgPSB0ZXN0YXBpLm1tOyBwYXRoID0gQVBJL3Rlc3RzL3Rlc3RhcGkubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RDNCMkJGMTAxNTZCREUwMDI4NjVFNyAvKiBB
Uk1Bc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVJN
QXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZEM0IyQzAxMDE1
NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBUk1Bc3NlbWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZE
M0IyQzExMDE1NkJERTAwMjg2NUU3IC8qIEFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXNzZW1ibGVyQnVmZmVyV2l0aENv
bnN0YW50UG9vbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkQzQjJDMjEwMTU2
QkRFMDAyODY1RTcgLyogTWFjcm9Bc3NlbWJsZXJBUk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJBUk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODZEM0IzQzExMDE1OUQ3RjAwMjg2NUU3IC8qIExpbmtCdWZmZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlua0J1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkQzQjNDMjEwMTU5RDdGMDAyODY1RTcgLyogUmVwYXRjaEJ1ZmZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXBhdGNoQnVmZmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2REI2NDYzMEY5NUM2RkMwMEQ3RDkyMSAvKiBFeGVjdXRh
YmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODZFMTE2QjAwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2NhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlTG9jYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFM0M2MDYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpT
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWYWx1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwNzE2N0JBQjg3MDA2RDc2MEEgLyogSlND
b250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwODE2N0JBQjg3MDA2RDc2MEEgLyog
SlNDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlND
b250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwOTE2N0JBQjg3
MDA2RDc2MEEgLyogSlNDb250ZXh0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNDb250ZXh0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODZFM0M2MEExNjdCQUI4NzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2RTNDNjBCMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBKU1dyYXBwZXJNYXAubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjBDMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBw
ZXJNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXcmFwcGVyTWFwLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjBEMTY3QkFCODcwMDZENzYwQSAv
KiBKU1ZhbHVlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlNW
YWx1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFM0M2MEUxNjdCQUI4NzAw
NkQ3NjBBIC8qIEpTVmFsdWVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1ZhbHVlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZF
M0M2MEYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWaXJ0dWFsTWFjaGluZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NkUzQzYxMDE2N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGlu
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEpTVmlydHVhbE1h
Y2hpbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjExMTY3QkFCODcw
MDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg2RTg1NTM4MTExQjk5NjgwMDFBRjUxRSAvKiBKU1N0cmluZ0J1aWxk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHJpbmdCdWlsZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RUM5REI0MTMyOERGODIwMDJCMkFENyAv
KiBERkdCeXRlQ29kZVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdCeXRlQ29kZVBhcnNlci5jcHA7IHBhdGggPSBkZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNTEzMjhERjgyMDAyQjJB
RDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHQnl0ZUNvZGVQYXJzZXIuaDsgcGF0aCA9IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNjEzMjhERjgyMDAyQjJBRDcgLyog
REZHR2VuZXJhdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
R2VuZXJhdGlvbkluZm8uaDsgcGF0aCA9IGRmZy9ERkdHZW5lcmF0aW9uSW5mby5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3Jh
cGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHR3JhcGguY3Bw
OyBwYXRoID0gZGZnL0RGR0dyYXBoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODZFQzlEQjgxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dyYXBoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0dyYXBoLmg7IHBhdGggPSBkZmcvREZHR3JhcGguaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQzlEQkIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJ
VENvbXBpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0pJ
VENvbXBpbGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdKSVRDb21waWxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg2RUM5REJDMTMyOERGODIwMDJCMkFENyAvKiBERkdKSVRDb21w
aWxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdKSVRDb21waWxlci5o
OyBwYXRoID0gZGZnL0RGR0pJVENvbXBpbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2RUM5REJGMTMyOERGODIwMDJCMkFENyAvKiBERkdPcGVyYXRpb25zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09wZXJhdGlvbnMuY3BwOyBwYXRoID0g
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVD
OURDMDEzMjhERjgyMDAyQjJBRDcgLyogREZHT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdPcGVyYXRpb25zLmg7IHBhdGggPSBkZmcvREZHT3BlcmF0aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURDMTEzMjhERjgyMDAyQjJB
RDcgLyogREZHUmVnaXN0ZXJCYW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR1JlZ2lzdGVyQmFuay5oOyBwYXRoID0gZGZnL0RGR1JlZ2lzdGVyQmFuay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURDMjEzMjhERjgyMDAyQjJBRDcgLyogREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
U3BlY3VsYXRpdmVKSVQuY3BwOyBwYXRoID0gZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3IC8qIERG
R1NwZWN1bGF0aXZlSklULmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Nw
ZWN1bGF0aXZlSklULmg7IHBhdGggPSBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQ0EzRTkxMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTm9kZS5oOyBwYXRoID0gZGZn
L0RGR05vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQ0EzRjkxMzJERjI1
QTAwMkIyQUQ3IC8qIERGR1Njb3JlQm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHU2NvcmVCb2FyZC5oOyBwYXRoID0gZGZnL0RGR1Njb3JlQm9hcmQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8qIE9iamNS
dW50aW1lRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9iamNSdW50
aW1lRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RjNFRUI5MTY4Q0NG
NzUwMDc3QjkyQSAvKiBPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkYzRUVCQTE2OENDRjc1MDA3N0I5MkEgLyogT2JqQ0NhbGxiYWNrRnVuY3Rp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPYmpDQ2FsbGJh
Y2tGdW5jdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGNzVFRkIxNTFD
MDYyRjAwN0M5QkEzIC8qIFJlZ0V4cENhY2hlZFJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBDYWNoZWRSZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NkY3NUVGQzE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwQ2FjaGVk
UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ0V4cENhY2hlZFJl
c3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkY3NUVGRDE1MUMwNjJGMDA3
QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0
aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwNTJDMzMw
RkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
MERBRDAzMEZCMUVCMUEwMDgyRDIwNSAvKiBOb2RlQ29uc3RydWN0b3JzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25zdHJ1Y3RvcnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTMyMkEwMDMwNkMzNDFEMzAwOTA2N0JCIC8qIGxpYmljdWNvcmUuZHls
aWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYmljdWNvcmUuZHlsaWI7IHBhdGggPSAvdXNy
L2xpYi9saWJpY3Vjb3JlLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk5
MzJGNUJEODA4MjJBMUM3MDA3MzY5NzUgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlz
dC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IHVzZXNUYWJzID0gMTsgfTsKKwkJOTMyRjVCRDkwODIyQTFDNzAwNzM2OTc1IC8qIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBs
aWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0
aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKKwkJOTMyRjVCRTEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVj
dXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0ganNjOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQk5MzMwM0ZFODBFNkE3MkI1MDA3ODZFNkEgLyogU21hbGxT
dHJpbmdzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNtYWxsU3Ry
aW5ncy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMzAzRkVBMEU2QTcyQzAw
MDc4NkU2QSAvKiBTbWFsbFN0cmluZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU21hbGxTdHJpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMzQ1QTg3
MTJEODM4QzQwMDMwMkJFMyAvKiBTdHJpbmdSZWN1cnNpb25DaGVja2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzM0NUE4ODEyRDgzOEM0MDAzMDJCRTMgLyog
U3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTdHJpbmdSZWN1cnNpb25DaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzM0EzNDlBMDM4QUU3QzYwMDg2MzVDRSAvKiBJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCTkzM0EzNDlEMDM4QUU4MEYwMDg2
MzVDRSAvKiBJZGVudGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTM3QjYzQ0MwOUU3NjZEMjAwQTY3MUREIC8qIERlcml2
ZWRTb3VyY2VzLm1ha2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxl
VHlwZSA9IHNvdXJjZWNvZGUubWFrZTsgZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzLm1ha2U7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHVzZXNUYWJzID0gMTsgfTsKKwkJ
OTM4NzcyRTUwMzhCRkUxOTAwODYzNUNFIC8qIEpTQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTNBREZDRTYwQ0NCRDdBQzAwRDMwQjA4IC8q
IEpTQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJh
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQ0VEREZCMEVBOTFFRTYwMDI1
OEVCRSAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzRjBCM0E5MDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNGMEIzQUEwOUJCNERDMDAwNjhGQ0UzIC8qIFBhcnNlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNGMTk4MUEwODI0NUFBRTAwMUU5QUJDIC8qIEtleXdvcmRzLnRhYmxlICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gS2V5d29yZHMudGFibGU7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTUyQzYzQUMwRTQ3NzdENjAwQzEzOTM2
IC8qIEpTUHJvZmlsZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTUHJvZmlsZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1NzQy
RjYzMEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFByb2ZpbGUuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1NzQyRjY0MEREMTFGNUEwMDA5MTdGQiAv
KiBQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGUuaDsg
cGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTU5ODhCQTkwRTQ3N0JFQzAwRDI4RDREIC8qIEpTUHJvZmlsZXJQcml2YXRlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUHJvZmlsZXJQcml2YXRlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVBQjgzMkUwREE0MkNBRDAwQkM4M0YzIC8qIExl
Z2FjeVByb2ZpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExl
Z2FjeVByb2ZpbGVyLmNwcDsgcGF0aCA9IHByb2ZpbGVyL0xlZ2FjeVByb2ZpbGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVBQjgzMkYwREE0MkNBRDAwQkM4M0YzIC8qIExl
Z2FjeVByb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExlZ2FjeVBy
b2ZpbGVyLmg7IHBhdGggPSBwcm9maWxlci9MZWdhY3lQcm9maWxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NUFCODM1NDBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZU5vZGUuY3Bw
OyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5NUFCODM1NTBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJvZmlsZU5vZGUuaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1QzE4RDNFMEM5
MEU3RUYwMEU3MkY3MyAvKiBKU1JldGFpblB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1JldGFpblB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUNE
NDU3NDBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlR2VuZXJhdG9yLmNwcDsgcGF0aCA9IHBy
b2ZpbGVyL1Byb2ZpbGVHZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5NUNENDU3NTBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlR2VuZXJhdG9yLmg7IHBhdGggPSBwcm9m
aWxlci9Qcm9maWxlR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1
RTNCQzA0MEUxQUU2ODIwMEIyRDFDMSAvKiBDYWxsSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBDYWxsSWRlbnRpZmllci5oOyBwYXRoID0gcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTYwMDk3QTUwRUJB
QkI1ODAwN0E3Mjk3IC8qIExhYmVsU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGFiZWxTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5Njg4Q0Ix
MzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFzc2VtYmxlckJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5Njg4Q0IxNDBFRDEyQjRFMDAxRDY0OUYgLyogWDg2QXNzZW1ibGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFg4NkFzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NjlBMDcyMTBFRDFD
RTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQnl0ZWNvZGVHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTY5QTA3MjcwRUQxQ0U2OTAwRjFGNjgxIC8qIExhYmVsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExhYmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk2OUEwNzI4MEVEMUNFNjkwMEYxRjY4MSAvKiBSZWdpc3RlcklELmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ2lzdGVySUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlQmxvY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NjlBMDc5MTBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVCbG9jay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5NjlBMDc5MjBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENvZGVD
YWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmFsQ29kZUNhY2hlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwNzkzMEVEMUQzQUUwMEYxRjY4MSAv
KiBJbnN0cnVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NjlBMDc5NDBFRDFEM0FFMDBG
MUY2ODEgLyogT3Bjb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE9wY29kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwNzk1MEVEMUQz
QUUwMEYxRjY4MSAvKiBPcGNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
T3Bjb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwOTIyMEVEMUUwOUMw
MEYxRjY4MSAvKiBDb21wbGV0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvbXBsZXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5Nzg4
RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RhdGVNYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTc4OEZDMjMxNDcxQUQwQzAwNjhDRTJEIC8qIEpTRGF0ZU1hdGguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEYXRlTWF0aC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5OTI4RkYzOTE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZXBsYXlJbnB1dHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTI4RkYzQTE4QUM0QUVDMDBCOENG
MTIgLyogSlNSZXBsYXlJbnB1dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNSZXBsYXlJbnB1dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTkyOEZGM0Qx
OEFDNEIxQzAwQjhDRjEyIC8qIEpTSW5wdXRzLmpzb24gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmpzb247IHBh
dGggPSBKU0lucHV0cy5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0NUEx
RDE4QTFCMUU3MDAyNkQ4OEYgLyogQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IENvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMu
cHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5RTQ1QTFFMThBMUIxRTcwMDI2RDg4
RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gQ29kZUdlbmVyYXRvclJlcGxheUlucHV0c1RlbXBsYXRl
cy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTlFNDVBMUYxOEExQjI1OTAwMjZE
ODhGIC8qIEVtcHR5SW5wdXRDdXJzb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRW1wdHlJbnB1dEN1cnNvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0
NUEyMDE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVuY29kZWRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTk5RTQ1QTIxMThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRW5jb2RlZFZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5RTQ1QTIyMThBMUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1
cnNvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnB1dEN1cnNvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0NUEyMzE4QTFCMjU5MDAyNkQ4OEYgLyog
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5vbmRldGVybWluaXN0aWNJbnB1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
QjQ5NTRFODFBNjY0MERCMDAyODE1QTYgLyogUGFyc2VyRnVuY3Rpb25JbmZvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhcnNlckZ1bmN0aW9uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5RTcyOTQwOTE5MEYwMzA2MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJ1bmRsZVBhdGgubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTlFNzI5NDBBMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ1bmRsZVBhdGguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxp
emVMTFZNTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRp
YWxpemVMTFZNTWFjLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTJCQkZGMTFCMDQ0QThCMDA2NjRCNjkgLyogSW50
bE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRsT2JqZWN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMkJCRkYzMUIwNDRBOTgwMDY2NEI2OSAv
KiBJbnRsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
dGxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTcxMkIzQTExQzdC
MjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVnRXhwQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBMTcxMkIzRTExQzdCMjI4MDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTE3MTJCNDAxMUM3QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdFeHBLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTE0MTg4RTBG
QUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTUwM0ZBMTUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkExNjE4OEUw
RkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNTAzRkExNzE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1MDNGQTE4MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlz
dGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkEyMzE4OEVGRkZEMDAx
MTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTAzRkEyNDE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMjcxODhGMTA1OTAwMTEwRjE0IC8qIEpT
R2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTI4MTg4RjEwNTkwMDExMEYxNCAvKiBKU0ds
b2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRp
bWVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTBFNEI1
RTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTBFNEI1RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxP
YmplY3RSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTBFNEI2MDE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RS
dW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxMDA3QkUxODdD
QzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEwMDdCRjE4
N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVCNTE4NUI4QkQz
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTEzRTVCNjE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QjkxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2Ny
aXB0SG9zdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFNjcmlw
dEhvc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QkExODVCRkFDQzAw
N0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QkIxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW5qZWN0ZWRTY3Jp
cHRIb3N0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUJDMTg1QkZBQ0Mw
MDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUJEMTg1QkZBQ0MwMDdFOTVB
RCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDMzE4NUY5MkM5MDA3RTk1QUQgLyogSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbmplY3RlZFNjcmlwdFNvdXJj
ZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QzQxODVGOTJEQzAwN0U5
NUFEIC8qIGpzbWluLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0ganNt
aW4ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUM1MTg1RjkyRjAwMDdF
OTVBRCAvKiB4eGQucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBwYXRoID0geHhkLnBs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDNjE4NUY5NDM2MDA3RTk1QUQg
LyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTUxM0U1QzgxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDOTE4NUY5NjI0MDA3RTk1
QUQgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluamVjdGVkU2NyaXB0TWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTE0QjJDMDE4NUE2ODQ0MDBGM0M3Q0IgLyogSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkU2NyaXB0QmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTRCMkMxMTg1QTY4NDQwMEYzQzdD
QiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5qZWN0ZWRTY3JpcHRCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
MzI0MzgxMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODIxODU2ODMxNzAwMkVENjkyIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODMx
ODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzI0Mzg0MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODUxODU2
ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTMyNDM4NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTMyNDM4RDE4NTY5NkNBMDAyRUQ2OTIgLyogcHJv
dG9jb2wgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBm
b2xkZXI7IHBhdGggPSBwcm90b2NvbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
MjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29u
LnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWNvbWJp
bmVkLWluc3BlY3Rvci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
MjQzOTUxODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5qc29uOyBwYXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
M0NFMDgxMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnNvbGVQcm90b3R5cGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29s
ZVByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zb2xlUHJv
dG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1M0NFMDgzMThCQzFBNTYw
MEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDb25zb2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzQ0Uw
ODQxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0NvbnNvbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
Q0UwODkxOEJDMjFDMzAwQkVERjc2IC8qIENvbnNvbGVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTNGMUFCRTE4QzkwRUM3MDA3MkVCNkQgLyogZnJhbWV3b3JrLnNiICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGZy
YW1ld29yay5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU0OTgyMDExODkxRDBC
MDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBFdmVudExvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTQ5
ODIwMjE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEV2ZW50TG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NTRDRjJGMjE4NEVBQjI0MDAyMzdGMTkgLyogU2NyaXB0VmFsdWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNTRDRjJGMzE4NEVBQjI0MDAyMzdGMTkgLyogU2NyaXB0VmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0VmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU0Q0YyRjcxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9i
amVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTRDRjJGODE4NEVBRURBMDAy
MzdGMTkgLyogU2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTUyQzM3RDFB
RERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZW1vdGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNTUyQzM3RTFBRERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNw
ZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZW1vdGVJbnNwZWN0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU1RDkzQTMxODUwMTJBODAwNDAw
REVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTVEOTNBNDE4NTAxMkE4MDA0MDBERUQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEZ1bmN0aW9uQ2FsbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyog
SW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1N0QyM0UzMTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTdEMjNFNDE4OTBDRUJGMDAz
MUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1N0QyM0U3MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVn
Z2VyQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHbG9i
YWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTU3RDIzRTgxODkxQjA3NzAwMzFDN0ZBIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3RDIzRUIxODkxQjU1NDAw
MzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFJlZ3VsYXJFeHByZXNzaW9uLmNwcDsgcGF0aCA9IHlhcnIvUmVndWxhckV4
cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTdEMjNFQzE4OTFC
NTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVndWxhckV4cHJlc3Npb24uaDsgcGF0aCA9IHlhcnIvUmVndWxhckV4cHJl
c3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3RDIzRUYxODkxQjVCNDAw
MzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1N0QyM0YwMTg5MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2Vh
cmNoVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRT
ZWFyY2hVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4NDBFMUUx
ODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVj
dGVkU2NyaXB0TW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVj
dGVkU2NyaXB0TW9kdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1ODQwRTI2
MTg3Qzk4MDcwMDg0M0IxMCAvKiBjc3NtaW4ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBjc3NtaW4ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1ODQw
RTI4MTg3Q0E1QjgwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1hbmQt
c2NyaXB0cy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJpbmxpbmUt
YW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1hbmQtc2NyaXB0cy5weSI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1OEMwMjQxMThFNEE0MUEwMDAzMkJDNSAvKiBKU0NvbnRleHRQcml2YXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dFByaXZhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4RTM1OTAxODYwREVDNzAwMUYyNEZFIC8q
IEluamVjdGVkU2NyaXB0SG9zdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlw
dEhvc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkzQ0Y3QTE4NDAzNjAz
MDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkzQ0Y3QjE4NDAzNjAzMDBCRkNFMjcgLyog
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTU5M0NGN0UxODQwMzYyQzAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50QmFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBZ2VudEJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU5M0NGODAxODQwMzc3MTAwQkZDRTI3IC8q
IEluc3BlY3RvclZhbHVlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JWYWx1ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkz
Q0Y4MTE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclZhbHVlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTkzQ0Y4NDE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRSZWdp
c3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU5M0NGODUx
ODQwMzhDQTAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50UmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU4RTE4MjQ1RURFMDBDQzM4NDMgLyogUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTU5NDU1OTAxODI0NzQ0NzAwQ0MzODQzIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnYWJs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9iamVj
dERlYnVnZ2FibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU5MTE4
MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU5NDE4MjQ3OUVCMDBDQzM4NDMgLyogSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUI2QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTExODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3Bl
Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTIxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFJlbW90ZUluc3BlY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTVCQTE1RTMxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3JDb25zdGFudHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QkExNUU1MTgyMzQwQjMwMEE4MkU2OSAv
KiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0
aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUJBMTVFNjE4MjM0MEIzMDBB
ODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QkExNUU3MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3JYUENDb25uZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RUYxODIzNDVBRjAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3Rv
ckRlYnVnZ2FibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUMzQTFB
MzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzNBMUE0MThDMDQ5MDIw
MEM5NTkzQSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0
b3JBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Q0VFRTEzMTg3RjNC
QUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRW52aXJvbm1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVEMkU2NjQxOTVFMTczODAwQTUxOEU3IC8qIEpTQ29u
dGV4dFJlZkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dFJlZkludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU0MTlGNUIxMDEwMDk4RjVFQyAv
KiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU1MTlGNUIxMDEwMDk4RjVFQyAvKiBBdWdtZW50YWJs
ZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU2MTlGNUIxMDEwMDk4RjVFQyAvKiBBbHRlcm5hdGVE
aXNwYXRjaGFibGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBbHRl
cm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUVBNzBFQTE5RjVCM0Q1MDA5OEY1RUMgLyogZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5k
X2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRo
ID0gZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzBFRDE5RjVCNUM0MDA5OEY1RUMgLyog
SlNDb250ZXh0UmVmSW5zcGVjdG9yU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NvbnRleHRSZWZJbnNwZWN0b3JTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1RUE3MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2Jh
Y2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247
IHBhdGggPSBnZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHk7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEYwMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5l
cmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVB
NzBGMTE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19jb25maWd1cmF0aW9uX2hlYWRl
ci5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNf
Y29uZmlndXJhdGlvbl9oZWFkZXIucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1w
bGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1wbGVtZW50YXRpb24ucHk7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE1RUE3MEYzMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpj
X2NvbnZlcnNpb25faGVscGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0
aCA9IGdlbmVyYXRlX29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5OyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUVBNzBGNDE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19m
cm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzBGNTE5RjZE
RTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5weXRob247IHBhdGggPSBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVFQTcwRjYxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfaW50ZXJuYWxfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRo
ID0gZ2VuZXJhdGVfb2JqY19pbnRlcm5hbF9oZWFkZXIucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RUE3MEY4MTlGNkRFNUEwMDk4RjVFQyAvKiBvYmpjX2dlbmVyYXRvci5weSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IG9iamNfZ2VuZXJhdG9yLnB5OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzEwRDE5RjZERjgxMDA5OEY1RUMgLyog
SW5zcGVjdG9yQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2NTE4OUFGRTlDMDA2MzMyMzEgLyog
U2NyaXB0QXJndW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNjcmlwdEFyZ3VtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkExODlCMDBBOTAwNjMzMjMx
IC8qIFNjcmlwdENhbGxGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkIx
ODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUZEMDA2QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFjay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MTE4OUIwMzhDMDA2MzMyMzEgLyog
Q29uc29sZVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVU
eXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MjE4OUIwMzhDMDA2
MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDczMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAv
KiBDb25zb2xlTWVzc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDb25zb2xlTWVzc2FnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA3QjE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0MxODlC
MEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODczNzE3
Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWFwQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNzAwODczODE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFwQ29uc3RydWN0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwMDg3M0IxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFBy
b3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBQcm90
b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODczQzE3Q0JFOEQz
MDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1hcFByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODcz
RjE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAw
ODc0MDE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwNDQ3RTkx
N0EwQkQ0NjAwRjU4OThFIC8qIE9wZXJhbmRzSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPcGVyYW5kc0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTcwNDQ3RUIxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER1bXBDb250ZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwNDQ3RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250
ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBDb250ZXh0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MDREOEZFMTdBMEJBQTgwMDZCQTU1NCAvKiBE
RkdBYnN0cmFjdEludGVycHJldGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaDsgcGF0aCA9IGRmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MDREOEZGMTdBMEJBQTgwMDZC
QTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOyBwYXRoID0g
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3MDREOTAwMTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNlQWJzdHJhY3RT
dGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdJblBsYWNl
QWJzdHJhY3RTdGF0ZS5jcHA7IHBhdGggPSBkZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA0RDkwMTE3QTBCQUE4MDA2QkE1NTQg
LyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaDsgcGF0aCA9IGRmZy9ERkdJblBsYWNlQWJz
dHJhY3RTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA0RDkwMjE3QTBC
QUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR01lcmdlTW9kZS5oOyBwYXRoID0gZGZnL0RGR01lcmdlTW9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNzA5RjJFRjE3QTBBQzA0MDA1MTJFOTggLyogU2xvd1Bh
dGhDYWxsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3dQYXRoQ2FsbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA5RjJGMTE3QTBBQzJBMDA1MTJFOTgg
LyogQ29tbW9uU2xvd1BhdGhzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENvbW1vblNsb3dQYXRocy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
MTIzNkU0MTE5NUYzM0MwMEJEMjE3NCAvKiBKSVRPcGNvZGVzMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUT3Bjb2RlczMyXzY0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcxOEY2MUExMTc1NEEyMTAwMjQ2NUE3IC8qIFJlZ0V4cEpp
dFRhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdFeHBKaXRUYWJs
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2
NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgZmlsZUVuY29kaW5nID0gNDsg
cGF0aCA9IGNyZWF0ZV9yZWdleF90YWJsZXM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE3MURBODBEMTg4MEQ3MUYwMEQxRjI5OSAvKiBnZW5lcmF0ZS1qcy1idWlsdGlucyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJnZW5lcmF0ZS1qcy1idWlsdGlucyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBK
U0NUZXN0UnVubmVyVXRpbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDVGVzdFJ1bm5lclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTcyMDI4QjUxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NUZXN0UnVubmVyVXRpbHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyMDI4QjkxNzk3NjAzRDAwOTgwMjhDIC8qIEpTRnVuY3Rp
b25JbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25J
bmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MjcwMDc3MERBQzYwNTYw
MEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTm90QW5PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyNzAw
NzgwREFDNjA1NjAwRTU0OEQ3IC8qIEpTTm90QW5PYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RBbk9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3MjcwMUIzMERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4Y2VwdGlvbkhlbHBlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyOTAwOUIxNzk3NkM2MDAwMzE3Mjk4IC8q
IE1hY3JvQXNzZW1ibGVyQVJNdjcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3Mjk5RDlCMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzI5OUQ5RjE3RDEyODQ4MDA1RjVGRjkgLyogU2V0UHJvdG90eXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNldFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REEwMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2V0UHJvdG90eXBlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAvKiBT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
ZXRDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REE0
MTdEMTI4NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTZXRDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNzMwQjYxMDEyNTAwNjhGMDA5RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaWN0RXZhbEFjdGl2YXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczMEI2MTExMjUwMDY4RjAwOUQyNUIxIC8q
IFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTczNzgxMDkxNzk5RUEyRTAwODE3NTMzIC8qIERGR0FuYWx5c2lzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FuYWx5c2lzLmg7IHBhdGggPSBkZmcvREZHQW5h
bHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczNzgxMEExNzk5RUEyRTAw
ODE3NTMzIC8qIERGR05hdHVyYWxMb29wcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBERkdOYXR1cmFsTG9vcHMuY3BwOyBwYXRoID0gZGZnL0RGR05hdHVyYWxMb29w
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mzc4MTBCMTc5OUVBMkUwMDgx
NzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHTmF0dXJhbExvb3BzLmg7IHBhdGggPSBkZmcvREZHTmF0dXJhbExvb3BzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mzg2NTUxMTE4Njk3QjQwMDU0MDI3OSAvKiBTcGVj
aWFsaXplZFRodW5rSklULmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWNp
YWxpemVkVGh1bmtKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczODY1NTIx
MTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUaHVua0dlbmVyYXRvcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzM4NjU1MzExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3Jz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRodW5rR2VuZXJhdG9ycy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzNBNTM1ODE3OTlDRDVEMDAxNzBDMTkgLyog
REZHTGF6eUpTVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHTGF6eUpTVmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR0xhenlKU1ZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczQTUzNTkxNzk5Q0Q1RDAwMTcwQzE5IC8qIERGR0xh
enlKU1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xhenlKU1Zh
bHVlLmg7IHBhdGggPSBkZmcvREZHTGF6eUpTVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc0MTAxN0UxNzlEQUY4MDAwMkVCOEJBIC8qIERGR1NhbmVTdHJpbmdHZXRCeVZh
bFNsb3dQYXRoR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1NhbmVTdHJpbmdHZXRCeVZhbFNsb3dQYXRoR2VuZXJhdG9yLmg7IHBhdGggPSBkZmcvREZHU2Fu
ZVN0cmluZ0dldEJ5VmFsU2xvd1BhdGhHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc0ODJCNzkxMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ4MkI3QTExNjZD
REVBMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0ODJFMzcxMTZBNjk3QjAwM0IwNzEyIC8q
IEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3NERFRjhEMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBJdGVyYXRvclBy
b3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NERFRjhFMTgyRDk5
MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXBJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNzRERUY4RjE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hcEl0ZXJhdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0REVGOTAxODJEOTkxNDAwNTIyQzIyIC8q
IEpTTWFwSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXBJ
dGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzU3MDZERDExOEEyQkNG
MDA1N0Y4OEYgLyogSklUQXJpdGhtZXRpYzMyXzY0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpJVEFyaXRobWV0aWMzMl82NC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnVpbHRpbk5hbWVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NjdCNUIzMTdBMEI5NjUwMDYzRDk0MCAvKiBERkdMb29w
UHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZH
TG9vcFByZUhlYWRlckNyZWF0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNzY3QjVCNDE3QTBCOTY1MDA2M0Q5NDAgLyogREZHTG9vcFByZUhlYWRlckNyZWF0aW9u
UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTG9vcFByZUhlYWRl
ckNyZWF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzZDNTE3NDExODI3NDhEMDA3MTVC
MDUgLyogSlNJbnRlcmZhY2VKSVQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNJbnRlcmZhY2VKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc2RjU0QTIx
M0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKSVRXcml0ZUJhcnJpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc3QTQyMzYxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdBYnN0cmFjdEhlYXAuY3BwOyBw
YXRoID0gZGZnL0RGR0Fic3RyYWN0SGVhcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3N0E0MjM3MTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWJzdHJhY3RIZWFwLmg7IHBhdGggPSBkZmcv
REZHQWJzdHJhY3RIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3N0E0MjM4
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Nsb2JiZXJpemUuY3BwOyBwYXRoID0gZGZnL0RGR0Nsb2Ji
ZXJpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzdBNDIzOTE3QTBCQkZE
MDBBOERCODEgLyogREZHQ2xvYmJlcml6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdDbG9iYmVyaXplLmg7IHBhdGggPSBkZmcvREZHQ2xvYmJlcml6ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNzdBNDIzQTE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xv
YmJlclNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDbG9i
YmVyU2V0LmNwcDsgcGF0aCA9IGRmZy9ERkdDbG9iYmVyU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTc3QTQyM0IxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ2xvYmJlclNldC5oOyBwYXRo
ID0gZGZnL0RGR0Nsb2JiZXJTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3
QTQyM0MxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHU2FmZVRvRXhlY3V0ZS5oOyBwYXRoID0gZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3RjE4MUYxNjQw
ODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb2RlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzdGMTgyMDE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvZGVDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzdGMTgyNDE2NDE5MjU0MDA2NDBBNDcgLyogUGFyc2VyTW9kZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFyc2VyTW9kZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4NTA3RDUx
N0NCQzZGRDAwMTFGNkU3IC8qIE1hcERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWFwRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzg4NTNGNzE3
OTcyNjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4ODUzRjgxNzk3MjYyOTAwMTQ0MEU0IC8qIElu
dGVuZGVkU3RydWN0dXJlQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzhBOTc2QzE3OTczOEI4MDA5REY3NDQgLyogREZHRmFpbGVkRmluYWxpemVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0ZhaWxlZEZpbmFsaXplci5jcHA7IHBh
dGggPSBkZmcvREZHRmFpbGVkRmluYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdGYWlsZWRGaW5hbGl6ZXIuaDsgcGF0
aCA9IGRmZy9ERkdGYWlsZWRGaW5hbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTc4QTk3NkUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGaW5hbGl6ZXIuY3BwOyBwYXRoID0gZGZn
L0RGR0ZpbmFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OEE5NzZG
MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHRmluYWxpemVyLmg7IHBhdGggPSBkZmcvREZHRmluYWxpemVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OEE5NzcwMTc5NzM4QjgwMDlERjc0NCAvKiBE
RkdKSVRGaW5hbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHSklURmluYWxpemVyLmNwcDsgcGF0aCA9IGRmZy9ERkdKSVRGaW5hbGl6ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzhBOTc3MTE3OTczOEI4MDA5REY3NDQgLyogREZH
SklURmluYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0pJVEZp
bmFsaXplci5oOyBwYXRoID0gZGZnL0RGR0pJVEZpbmFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzhBOTc3MjE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQbGFuLmNwcDsgcGF0aCA9IGRm
Zy9ERkdQbGFuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4QTk3NzMxNzk3
MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHUGxhbi5oOyBwYXRoID0gZGZnL0RGR1BsYW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc4QTk3N0MxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEdlbmVyYXRlZEZ1bmN0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEdlbmVyYXRlZEZ1bmN0aW9u
Lmg7IHBhdGggPSBmdGwvRlRMR2VuZXJhdGVkRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTc4QTk3N0QxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExKSVRGaW5hbGl6ZXIu
Y3BwOyBwYXRoID0gZnRsL0ZUTEpJVEZpbmFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3OEE5NzdFMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMSklURmluYWxpemVyLmg7IHBhdGgg
PSBmdGwvRlRMSklURmluYWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
OTBERDY3MTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OTBERDY4MTgyRjQ5OTcwMDU4ODgwNyAv
KiBTZXRJdGVyYXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTZXRJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzkwREQ2OTE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NldEl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTc5MERENkExODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTZXRJdGVyYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzk4NkQ1NjE3QTBCQjFFMDBBOTVERDAgLyog
REZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHRWRnZVVzZXNTdHJ1Y3R1cmUuaDsgcGF0aCA9IGRmZy9ERkdFZGdlVXNlc1N0cnVjdHVyZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzlFNzgxRTE1RUVDQkE4MDA0N0M4NTUg
LyogVW5saW5rZWRDb2RlQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVW5saW5rZWRDb2RlQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzlFNzgxRjE1RUVDQkE4MDA0N0M4NTUgLyogVW5saW5rZWRDb2RlQmxvY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5saW5rZWRDb2RlQmxvY2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc5RURCMDgxMTUzMUNENjAwMTlFOTEyIC8qIEpTT2JqZWN0
UmVmUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09iamVjdFJl
ZlByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBNEFFMDcxNzk3M0Iy
NjAwNTYxMkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBNEFFMEMxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0
dWJzWDg2Q29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0dWJz
WDg2Q29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QTdFRTc0MTFCOThC
OEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFTVEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBN0VFNzcx
MUI5OEI4RDAwNjVBMTRGIC8qIFN5bnRheENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3ludGF4Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBN0E4QUYyNTE3QURCNUYyMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJyYXlCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBN0E4QUYyNjE3QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlCdWZmZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBOEFGMjcxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5
QnVmZmVyVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcnJh
eUJ1ZmZlclZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyODE3
QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFycmF5QnVmZmVyVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBN0E4QUYyOTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQzMkFycmF5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBN0E4QUYyQTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0NjRBcnJheS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyQjE3QURCNUYzMDA1QUIxNzQgLyogSW50OEFy
cmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludDhBcnJheS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50
MTZBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnQxNkFycmF5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QThBRjJEMTdBREI1RjMwMDVBQjE3NCAv
KiBJbnQzMkFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludDMyQXJy
YXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBOEFGMzAxN0FEQjVGMzAwNUFC
MTc0IC8qIFVpbnQ4QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVWlu
dDhBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYzMTE3QURCNUYz
MDA1QUIxNzQgLyogVWludDhDbGFtcGVkQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVWludDhDbGFtcGVkQXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTdBOEFGMzIxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQxNkFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVpbnQxNkFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3QThBRjMzMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MzJBcnJheS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVaW50MzJBcnJheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBN0E5NzlDNDE4QkU4RDlFMDAyQzM3MzMgLyogRnVuY3Rpb24ucHJv
dG90eXBlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRnVuY3Rp
b24ucHJvdG90eXBlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I0OERCNTBF
RTc0Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBFeGVjdXRhYmxlQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3QjQ4REI2MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4ZWN1dGFibGVB
bGxvY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I0QUNBRTE0ODRD
OUNFMDBCMzhBMzYgLyogSlNFeHBvcnRNYWNyb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNFeHBvcnRNYWNyb3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTdCREFFQzIxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEFycmF5
SXRlcmF0b3JQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdl
U3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJQTdCREFFQzMx
N0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBN0JEQUVDNDE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7
IHBhdGggPSBKU0FycmF5SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJQTdC
REFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdCRkYzQkYxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1
bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRmlsdHJhdGlvblJlc3Vs
dC5oOyBwYXRoID0gZGZnL0RGR0ZpbHRyYXRpb25SZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdDMEM0QUExNjdDMDhDRDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU2NyaXB0UmVmLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMEM0QUIxNjdDMDhDRDAwMTcwMTFEIC8qIEpT
U2NyaXB0UmVmUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Nj
cmlwdFJlZlByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMUU4Qzgx
MTJFNzAxQzAwQTM3Rjk4IC8qIEpJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzFFQUVBMTc5ODdBQjYwMDI5OURCMiAvKiBD
YWxsRnJhbWVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxG
cmFtZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMUVBRUIxNzk4
N0FCNjAwMjk5REIyIC8qIEpTU3RhY2tJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTU3RhY2tJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE3QzFFQUVDMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFN0YWNrVmlzaXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzFFQUVEMTc5ODdBQjYwMDI5OURC
MiAvKiBTdGFja1Zpc2l0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Rh
Y2tWaXNpdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzIyNUNDMTM5OTgx
RjEwMEZGMTY2MiAvKiBLZXl3b3JkTG9va3VwR2VuZXJhdG9yLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gS2V5d29yZExvb2t1cEdlbmVyYXRvci5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMjI1Q0QxMzk5ODQ5QzAwRkYxNjYyIC8qIEtleXdvcmRM
b29rdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5d29yZExvb2t1cC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0NBM0FERDE3REE0MUFFMDA2NTM4QUYg
LyogV2Vha01hcENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYWtNYXBDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3Q0EzQURFMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha01hcENvbnN0cnVjdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFr
TWFwUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YWtNYXBQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0NBM0FF
MDE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcFByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWFrTWFwUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3Q0EzQUUxMTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWFrTWFwLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRTIxN0RBNDFBRTAwNjUzOEFGIC8qIEpTV2Vha01h
cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYWtNYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRTkxN0RBNTE2ODAwNjUzOEFGIC8qIFdlYWtN
YXBEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYWtNYXBE
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRUExN0RBNTE2ODAw
NjUzOEFGIC8qIFdlYWtNYXBEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYWtNYXBEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDgwMUEwMTg4
MEQ2NkUwMDI2QzM5QiAvKiBBcnJheS5wcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBBcnJheS5wcm90b3R5cGUuanM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3RDgwMUExMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJs
ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnVpbHRpbkV4ZWN1
dGFibGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODAxQTIxODgwRDY2
RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCdWlsdGluRXhlY3V0YWJsZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0aW5zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0J1aWx0aW5zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODAxQTcxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0
aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0UzMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdCYXNpY0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0Jhc2ljQmxvY2suY3BwOyBwYXRoID0gZGZnL0RGR0Jhc2ljQmxvY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFNDE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJ
bnNlcnRpb25TZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
QmxvY2tJbnNlcnRpb25TZXQuY3BwOyBwYXRoID0gZGZnL0RGR0Jsb2NrSW5zZXJ0aW9uU2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRTUxN0EwQjhDQzAwNzczQUQ4
IC8qIERGR0Jsb2NrSW5zZXJ0aW9uU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERGR0Jsb2NrSW5zZXJ0aW9uU2V0Lmg7IHBhdGggPSBkZmcvREZHQmxvY2tJbnNlcnRpb25T
ZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRTYxN0EwQjhDQzAwNzcz
QUQ4IC8qIERGR0NyaXRpY2FsRWRnZUJyZWFraW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHA7IHBh
dGggPSBkZmcvREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3RDg5Q0U3MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVk
Z2VCcmVha2luZ1BoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Ny
aXRpY2FsRWRnZUJyZWFraW5nUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdDcml0aWNhbEVkZ2VCcmVh
a2luZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0U4MTdBMEI4
Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBERkdGbHVzaEZvcm1hdC5jcHA7IHBhdGggPSBkZmcvREZHRmx1c2hGb3Jt
YXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFOTE3QTBCOENDMDA3
NzNBRDggLyogREZHRmx1c2hGb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHRmx1c2hGb3JtYXQuaDsgcGF0aCA9IGRmZy9ERkdGbHVzaEZvcm1hdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFQzE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2
ZW5lc3NBbmFseXNpc1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTGl2ZW5lc3NB
bmFseXNpc1BoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRUQx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaDsgcGF0aCA9
IGRmZy9ERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTdEODlDRUUxN0EwQjhDQzAwNzczQUQ4IC8qIERGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NS
QXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHT1NSQXZhaWxhYmls
aXR5QW5hbHlzaXNQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5
Q0VGMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0YwMTdBMEI4Q0MwMDc3M0FEOCAv
KiBERkdTU0FDb252ZXJzaW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHU1NBQ29udmVyc2lvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTU0FDb252
ZXJzaW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNGMTE3
QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NTQUNvbnZlcnNpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R1NTQUNvbnZlcnNpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4
OUQwMTE3QTBCOTA0MDA3NzNBRDggLyogRlRMTG93ZXJlZE5vZGVWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExMb3dlcmVkTm9kZVZhbHVlLmg7IHBhdGggPSBmdGwv
RlRMTG93ZXJlZE5vZGVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q5
QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmNw
cDsgcGF0aCA9IGRmZy9ERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTAxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0F0VGFpbEFic3Ry
YWN0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQXRUYWlsQWJz
dHJhY3RTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR0F0VGFpbEFic3RyYWN0U3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTExN0EwQkM3NDAwRUUyNjE4IC8qIERGR0Vk
Z2VEb21pbmF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRWRnZURv
bWluYXRlcy5oOyBwYXRoID0gZGZnL0RGR0VkZ2VEb21pbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTIxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdMSUNNUGhhc2UuY3Bw
OyBwYXRoID0gZGZnL0RGR0xJQ01QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3RDlBMjkzMTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTElDTVBoYXNlLmg7IHBhdGggPSBkZmcvREZHTElD
TVBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RENCNzc5MTJFM0Q5MDUw
MDkxMTk0MCAvKiBXcml0ZUJhcnJpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV3JpdGVCYXJyaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTJFQTY5
MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExpdGVyYWxQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTdFMkVBNkEwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJzZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGl0ZXJhbFBhcnNlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTVBM0E1MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxh
dGlvblJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21w
aWxhdGlvblJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTVBM0E2
MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb21waWxhdGlvblJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBN0U1QUIzMzE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fzc2VtYmxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNRGlzYXNzZW1ibGVy
LmNwcDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNh
c3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExWTURpc2Fzc2Vt
Ymxlci5oOyBwYXRoID0gZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzUxNzk5RTRCMjAwRDI4MzNEIC8qIFVEaXM4NkRp
c2Fzc2VtYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBVRGlzODZEaXNh
c3NlbWJsZXIuaDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzYxNzk5RTRCMjAwRDI4MzNEIC8qIFg4
NkRpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBY
ODZEaXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL1g4NkRpc2Fzc2VtYmxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RjI5OTY5MTdBMEJCNjcwMDEwNDE3
QSAvKiBGVExGYWlsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZU
TEZhaWwuY3BwOyBwYXRoID0gZnRsL0ZUTEZhaWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBN0YyOTk2QTE3QTBCQjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExGYWlsLmg7IHBhdGggPSBmdGwvRlRMRmFpbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Y4NjkwRTBGOTU4NEExMDA1NTg2OTcgLyog
Q2FjaGVkQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRDYWxs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Rjg2OUVDMEY5NUMyRUMwMDU1ODY5
NyAvKiBDYWxsRnJhbWVDbG9zdXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENhbGxGcmFtZUNsb3N1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdGOTkz
NUQwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNPTk9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
N0Y5OTM1RTBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU09OT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdGQjYwNEIxMDNGNUVBQjAwMTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9wZXJ0eURlc2NyaXB0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdGQjYwQTMxMDNGN0RDMjAwMTdBMjg2
IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBN0ZDQzI2QzE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dpdGNoQ2FzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExTd2l0Y2hDYXNlLmg7IHBhdGggPSBmdGwvRlRM
U3dpdGNoQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0ZGNjQ3QTE4QzUy
RTg1MDBCNTUzMDcgLyogU3BpbGxSZWdpc3RlcnNNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwaWxs
UmVnaXN0ZXJzTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBOEE0NzQ4RDE1
MUE4MzA2MDA0MTIzRkYgLyogbGliV1RGLmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUE4RTg5NDMxMENEMDYwMjQwMDM2NzE3OSAv
KiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQThFODk0MzMwQ0QwNjAzRjAwMzY3MTc5IC8qIEpTR2xvYmFsT2JqZWN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFEMUNGMDY4MTZEQ0FCMkQwMEI5NzEyMyAvKiBQcm9wZXJ0
eVRhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3BlcnR5
VGFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBRDg2QTkzRDFBQTREODdD
MDAyRkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWFrR0NNYXBJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUFEREIxRjYyMThENzdEQjcwMDlCNThBOCAvKiBPcGFxdWVSb290U2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9wYXF1ZVJvb3RTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjU5Rjg5MzcxODkxQUQzMzAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rp
b25TdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5saW5rZWRJbnN0
cnVjdGlvblN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNTlGODkzODE4
OTFBREI1MDBENUNDREMgLyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmxpbmtlZEluc3RydWN0aW9uU3RyZWFtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3
IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0
aCA9IFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzAyRTkwNDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFcnJvckNvbnN0cnVjdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MDUwRTE4MzlEQjAwMEY5Mjk3IC8qIEVy
cm9yQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXJyb3JD
b25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzAyRTkwNjBFMTgz
OURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRXJyb3JQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzAyRTkwNzBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXJyb3JQcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MDgwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUJDMDJFOTA5MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MEEwRTE4MzlEQjAwMEY5Mjk3IC8q
IE5hdGl2ZUVycm9yUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5hdGl2ZUVycm9yUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkMwMkU5MEIwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZUVycm9yUHJvdG90eXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMDJFOThBMEUxODNFMzgwMDBGOTI5NyAv
KiBFcnJvckluc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEVycm9ySW5zdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzAyRTk4
QjBFMTgzRTM4MDAwRjkyOTcgLyogRXJyb3JJbnN0YW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFcnJvckluc3RhbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUJDMDJFOUI2MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUJDMDJFOUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2V0dGVyU2V0dGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8q
IEpTQVBJVmFsdWVXcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEpTQVBJVmFsdWVXcmFwcGVyLmNwcDsgcGF0aCA9IC4uL3J1bnRpbWUvSlNBUElWYWx1ZVdy
YXBwZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzA4OTRENjBGQUZCQTJE
MDAwMDE4NjUgLyogSlNBUElWYWx1ZVdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSlNBUElWYWx1ZVdyYXBwZXIuaDsgcGF0aCA9IC4uL3J1bnRpbWUvSlNBUElWYWx1
ZVdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxMTY2MDAwRTE5OTdC
MTAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEYXRlSW5zdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzExNjYwMTBFMTk5N0IxMDA4MDY2REQgLyogRGF0ZUluc3RhbmNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVJbnN0YW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQzExNjY3QTBFMTk5QzA1MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbEZ1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMTE2N0Q4MEUxOUJDQzkwMDgwNjZERCAvKiBK
U0NlbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDZWxsLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0MwMEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJp
bmdDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
dHJpbmdDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThD
M0MxMEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQzE4QzNDMjBFMTZFRTMzMDBCMzQ0NjAgLyogU3RyaW5nT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ09iamVjdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0MzMEUxNkVFMzMwMEIzNDQ2MCAv
KiBTdHJpbmdPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5n
T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0M1MEUxNkVFMzMw
MEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3RyaW5nUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkMxOEMzQzYwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ1Byb3RvdHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdQcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxOEM1MjMwRTE2RkM4QTAwQjM0NDYwIC8qIEFycmF5UHJv
dG90eXBlLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheVByb3Rv
dHlwZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxOEM1MkQwRTE2RkNF
MTAwQjM0NDYwIC8qIExleGVyLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBMZXhlci5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyMkEzOTgwRTE2
RTE0ODAwQUYyMUM4IC8qIEpTT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMy
MkEzOTkwRTE2RTE0ODAwQUYyMUM4IC8qIEpTT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
MjJBMzlBMEUxNkUxNDgwMEFGMjFDOCAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW52aXJvbm1lbnRSZWNvcmQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDMDBFMTZENEU5MDBBMDZFOTIgLyog
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQkMyNjgwQzEwRTE2RDRFOTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDMjBFMTZENEU5MDBBMDZFOTIgLyogTnVt
YmVyQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TnVtYmVyQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2
ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTnVtYmVyQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkMyNjgwQzQwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOdW1iZXJQcm90b3R5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDNTBFMTZENEU5MDBB
MDZFOTIgLyogTnVtYmVyUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE51bWJlclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2
ODBDNjBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT2JqZWN0Q29uc3RydWN0b3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDNzBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0
Q29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqZWN0Q29u
c3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyNjgwQzgwRTE2RDRF
OTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBPYmplY3RQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzI2ODBDOTBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0UHJvdG90eXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9iamVjdFByb3RvdHlwZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyogTnVtYmVy
Q29uc3RydWN0b3IubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bWJl
ckNvbnN0cnVjdG9yLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzMwNDYw
NjBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMzMzdCREUwRTFB
RjBCODAwNzY5MThBIC8qIEdldHRlclNldHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2Jq
Y3BwOyB9OworCQlCQzMzN0JFQTBFMUIwMENCMDA3NjkxOEEgLyogRXJyb3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQzZBQUFFNDBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsYXNzSW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCQzc1NkZDNjBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
Qzc1NkZDNzBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMDYwRTE1RThBODAwQTg5OEFCIC8q
IEFycmF5Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQXJyYXlDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
Nzk1MjA3MEUxNUU4QTgwMEE4OThBQiAvKiBBcnJheUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMzIwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Db25zdHJ1
Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCb29sZWFuQ29u
c3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzc5NTIzMzBFMTVF
QjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJvb2xlYW5Db25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzc5NTIzNDBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhblByb3RvdHlwZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCb29sZWFuUHJvdG90eXBlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMzUwRTE1RUI1NjAwQTg5OEFC
IC8qIEJvb2xlYW5Qcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Qm9vbGVhblByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzdGOEZC
QTBFMTlEMUVGMDA4NjMyQzAgLyogSlNDZWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ2VsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
ODdDREI4MTA3MTJBQ0EwMDA2MTRDRiAvKiBKU09OT2JqZWN0Lmx1dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU09OT2JqZWN0Lmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAgLyogQ29uc3RydWN0RGF0YS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zdHJ1Y3REYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDOTA0MTQ3MEVCOTI1MDkwMEZFMjZGQSAvKiBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
OTU0MzdDMEVCQTcwRkQwMDcyQjZEMyAvKiBQcm9wZXJ0eU1hcEhhc2hUYWJsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9wZXJ0eU1hcEhhc2hUYWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzlCQjk1QjBFMTk2ODA2MDBERjg4NTUgLyogSW50ZXJu
YWxGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRl
cm5hbEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNBNjJERkUw
RTI4MjYyMzAwMDRGMzBEIC8qIENhbGxEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhbGxEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkNBNjJERkYwRTI4MjYzMTAwMDRGMzBEIC8qIENvbnN0cnVjdERhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc3RydWN0RGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUJDQkUyQ0FEMTRFOTg1QUEwMDA1OTNBRCAvKiBHQ0Fzc2VydGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBc3NlcnRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDQ0YwRDA3MEVGMEFBQjkwMDQxM0M4RiAvKiBT
dHJ1Y3R1cmVTdHViSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1
Y3R1cmVTdHViSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0NGMEQwQjBF
RjBCOEE1MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1YkluZm8uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlU3R1YkluZm8uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCQ0QyMDJCRDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3Ry
dWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwQ29u
c3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJCRTBFMTcw
NkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVnRXhwQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkNEMjAyQkYwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBQcm90b3R5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJDMDBFMTcwNkE3MDAyQzdFODIgLyog
UmVnRXhwUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ0V4
cFByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJENTBFMTcw
NzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0QyMDM0NTBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZUNvbnN0cnVjdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb25zdHJ1Y3Rv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIwMzQ2MEUxNzEzNUUwMDJD
N0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGF0ZUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIw
MzQ3MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0QyMDM0ODBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlUHJvdG90eXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIwM0U3MEUxNzE4RjQwMDJDN0U4MiAvKiBEYXRl
UHJvdG90eXBlLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlUHJv
dG90eXBlLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0RENTFFOTBGQjhE
Rjc0MDA0QThCREMgLyogSklUT3Bjb2Rlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKSVRPcGNvZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkNERTNBQjAwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJ1Y3R1cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQ0RFM0FCMTBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0Y2MDUxMTBFMjAzRUY4MDBCOUE2NEQgLyogQXJnTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcmdMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNGNjA1MTIwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJnTGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCQ0ZEOEM5MDBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEp1bXBUYWJsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAv
KiBKdW1wVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSnVtcFRhYmxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMDMyODFFMTk4MTk3OUQwMDg4QjQ5
OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBuYW1lID0gQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmM7IHBhdGggPSBBUEkvdGVz
dHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMyMDMyODFGMTk4MTk3OUQwMDg4QjQ5OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFz
c1Rlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tR2xvYmFsT2Jq
ZWN0Q2xhc3NUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NU
ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMEJBOTJDMTZCQjFDMTUwMEIz
QUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyMTEyMkRFMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERh
dGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NUaHJlYWRTaGFy
ZWREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIxMTIyREYxNUREOUFC
MzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHQ1RocmVhZFNoYXJlZERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzIxMUI1NzQxNzZBMjI0RDAwMEUyQTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJQ2FsbGJhY2tGdW5jdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjE4MUZDMDE4QTk0OEZCMDAyNUEyMzUgLyog
SlNFeHBvcnRUZXN0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0V4cG9y
dFRlc3RzLmg7IHBhdGggPSBBUEkvdGVzdHMvSlNFeHBvcnRUZXN0cy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMjE4MUZDMTE4QTk0OEZCMDAyNUEyMzUgLyogSlNFeHBvcnRUZXN0
cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEpTRXhwb3J0VGVz
dHMubW07IHBhdGggPSBBUEkvdGVzdHMvSlNFeHBvcnRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzIxOEQxM0YxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3B5V29ya0xpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIyMzlEMTIxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvcHlWaXNp
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIyMzlEMTMxNjI2MkJERDAw
NUFDNUZEIC8qIENvcHlWaXNpdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvcHlWaXNpdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMjM5RDE0MTYy
NjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29weVZpc2l0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMyMjM5RDE1MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ1RocmVhZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUMyMjM5RDE2MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ1RocmVhZC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDMjI1NDk0MjE1RjdEQkFBMDA2NUU4OTggLyogU2xvdFZpc2l0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2xvdFZpc2l0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjQwMzA1MzE0QjQwNEM5MDA3OUVC
NjQgLyogQ29waWVkU3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ29waWVkU3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjREMzFF
MDE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGVhcFN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDMjREMzFFMTE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFN0YXRpc3RpY3MuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI1RDcwOTkxNkRFOTlGNDAwRkNBNkJDIC8qIEpT
TWFuYWdlZFZhbHVlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
SlNNYW5hZ2VkVmFsdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNUQ3MDlB
MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU01hbmFnZWRWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjVGOEJDQjE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2VlcGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluY3JlbWVudGFsU3dlZXBlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNUY4QkNDMTU3NTQ0QTkwMDI0NUI3
MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5jcmVtZW50YWxTd2VlcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMy
ODMxOEZGMTZGRTRCN0QwMDE1N0JGRCAvKiBIYW5kbGVCbG9jay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBIYW5kbGVCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjgzMTkwMTE2RkU1MzNFMDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhbmRsZUJsb2NrSW5saW5lcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIgLyogRGF0
ZVRlc3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERhdGVUZXN0cy5oOyBw
YXRoID0gQVBJL3Rlc3RzL0RhdGVUZXN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMjg4QjJERDE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gRGF0ZVRlc3RzLm1tOyBwYXRoID0gQVBJL3Rlc3Rz
L0RhdGVUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI5ODFGRDYxN0JB
RUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwOyBw
YXRoID0gZGZnL0RGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyOTgxRkQ3MTdCQUVFNEIwMEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1Jl
ZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRGVzaXJlZFdl
YWtSZWZlcmVuY2VzLmg7IHBhdGggPSBkZmcvREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyOTgxRkRBMTdCQUZGNDQwMEEzQkM5OCAvKiBE
RkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHA7IHBhdGggPSBkZmcvREZHRGVzaXJl
ZFdyaXRlQmFycmllcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjk4MUZE
QjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRGVzaXJlZFdyaXRlQmFycmllcnMuaDsgcGF0aCA9
IGRmZy9ERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjlFQ0IwMTE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dl
dHRlclRlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBDdXJy
ZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbTsgcGF0aCA9IEFQSS90ZXN0cy9DdXJyZW50
VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzI5RUNCMDIxODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0
ZXJUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1cnJlbnRUaGlzSW5z
aWRlQmxvY2tHZXR0ZXJUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ3VycmVudFRoaXNJbnNpZGVC
bG9ja0dldHRlclRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJBN0Y2ODcx
NjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJ
bmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRlQmFycmllcklu
bGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJCOTE2QzExNERBMDE0RTAw
Q0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNYXJrZWRBbGxvY2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJC
OTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRBbGxvY2F0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDMkMwRjdDQjE3QkJGQzVCMDA0NjRGRTQgLyogREZHRGVzaXJl
ZFRyYW5zaXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHA7IHBhdGggPSBkZmcvREZHRGVzaXJlZFRyYW5zaXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJDMEY3Q0MxN0JCRkM1QjAwNDY0
RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaDsgcGF0aCA9IGRmZy9ERkdEZXNpcmVkVHJh
bnNpdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJDOEQwMkIxNEEzQzZC
MjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb3BpZWRTcGFjZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyQ0YzOUJGMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJP
YmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBKU0FQSVdy
YXBwZXJPYmplY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyQ0YzOUMwMTZF
MTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNBUElXcmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMyREE3NzgyMThFMjU5OTkwMDY2RkNCNiAvKiBIZWFwSW5saW5lcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwSW5saW5lcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMkU1MjZCQjE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXBUaW1lci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRTUyNkJDMTU5MEVGMDAwMDU0RTQ4RCAvKiBI
ZWFwVGltZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFRpbWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRUFBM0Y4MTQ5QTgzMDgwMEZDRTExMiAv
KiBDb3BpZWRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3BpZWRT
cGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkVBRDJGQjE0RjAyNDk4MDBB
NEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvcGllZEFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkYw
RjJEMDE2QkFFRUU5MDAxODdDMTkgLyogU3RydWN0dXJlUmFyZURhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlUmFyZURhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDMkZDOUJEMjE2NjQ0REZCMDA4MTBEMzMgLyogQ29waWVk
QmxvY2tJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZEJs
b2NrSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkZDQUUwQzE3QTlD
MjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJ5dGVjb2RlQmFzaWNCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyRkNBRTBEMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2lj
QmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVCYXNpY0Js
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRkNBRTBFMTdBOUMyNEUwMDM0
QzczNSAvKiBCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJGQ0FFMEYxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2Rl
TGl2ZW5lc3NBbmFseXNpcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRl
Y29kZUxpdmVuZXNzQW5hbHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJG
RTE4QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVJhcmVEYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM0NzAzQ0JGMTkyODQ0OTYwMDEzRkJFQSAvKiBnZW5lcmF0ZS1pbnNw
ZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247
IHBhdGggPSAiZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5Ijsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ3MDNDQzIxOTI4NDRDQzAwMTNGQkVBIC8qIF9faW5p
dF9fLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gX19pbml0X18ucHk7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM0NzAzQ0MzMTkyODQ0Q0MwMDEzRkJFQSAv
KiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcy5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ3MDNDQ0ExOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRv
cl90ZW1wbGF0ZXMucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0b3JfdGVtcGxhdGVzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNDcwM0ND
QjE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBwYXRoID0gZ2VuZXJhdG9yLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDNDcwM0NDQzE5Mjg0NENDMDAxM0ZCRUEgLyogbW9kZWxzLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gbW9kZWxzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDNEY0QjZDRjFBMDVDNzZGMDA1Q0FCNzYgLyogY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBjcHBfZ2VuZXJhdG9yX3Rl
bXBsYXRlcy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzRGNEI2RDAxQTA1Qzc2
RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBjcHBfZ2VuZXJhdG9yLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDNEY0QjZEMTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0
Y2hlcl9oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzRGNEI2RDIxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9iYWNr
ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5w
eXRob247IHBhdGggPSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZEMzFBMDVDNzZGMDA1
Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rp
c3BhdGNoZXJfaGVhZGVyLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZE
NDFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzRGNEI2RDUxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRl
X2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBnZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5OyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZENjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJh
dGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVu
dGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZENzFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5w
eSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNfcHJv
dG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM0RjRCNkQ4MUEwNUM3NkYwMDVDQUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBvYmpjX2dlbmVyYXRvcl90
ZW1wbGF0ZXMucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQyMTIwMjI4MEFENDMx
MEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCURDMDAwMzkwMTlEOEJFNkYwMDAyM0VCMCAvKiBERkdQcmVj
aXNlTG9jYWxDbG9iYmVyaXplLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaDsgcGF0aCA9IGRmZy9ERkdQcmVjaXNlTG9jYWxDbG9i
YmVyaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxMjRBOEY1MEU1NTU3NzUw
MDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBPcGFxdWVKU1N0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMTI0
QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3BhcXVlSlNTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRo
cmVhZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbml0aWFsaXplVGhy
ZWFkaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxNzg2MzZDMEQ5QkVFQzMw
MEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluaXRpYWxpemVUaHJlYWRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFMThFM0E1NjBERjkyNzhDMDBEOTBCMzQgLyogVk0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcub2JqY3BwOyB9OworCQlFMThFM0E1NzBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0geGNvZGUubGFuZy5jcHA7IH07CisJCUU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQ
cm92aWRlckNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNv
dXJjZVByb3ZpZGVyQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNUJC
MkJDNTAzMEY3NzIxMDFGQ0ZFMUQgLyogQ29tcGxldGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21wbGV0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjVDMjkwRTYwMjg0Rjk4RTAxODYzNUNB
IC8qIEphdmFTY3JpcHRDb3JlUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDb3JlUHJlZml4Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY4RUJCOEMwMjU1RDRDNjAxRkY2MEY3
IC8qIGNvbmZpZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBjb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg0RDAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0g
MDsgcGF0aCA9IEFycmF5UHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKKwkJRjY5MkE4NEUwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
RjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5PYmplY3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQm9vbGVhbk9iamVj
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4
NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgcGF0aCA9IGNyZWF0ZV9oYXNoX3RhYmxlOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY2OTJBODU4MDI1NTU5
N0QwMUZGNjBGNyAvKiBEZWJ1Z2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWJ1Z2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERl
YnVnZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERlYnVnZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsK
KwkJRjY5MkE4NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0
aW9uUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25Q
cm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlG
NjkyQTg1RTAyNTU1OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Z1bmN0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg1RjAyNTU1
OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NjIwMjU1NTk3RDAxRkY2MEY3IC8qIEpTU3Ry
aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
RjY5MkE4NjUwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExleGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg2NjAyNTU1OTdEMDFGRjYw
RjcgLyogTGV4ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGV4ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg2ODAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvb2t1cC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NjkwMjU1NTk3
RDAxRkY2MEY3IC8qIExvb2t1cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb29rdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB9OworCQlGNjkyQTg2QTAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
YXRoT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owor
CQlGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoT2JqZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NkQwMjU1NTk3RDAx
RkY2MEY3IC8qIE5vZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB9OworCQlGNjkyQTg2RTAyNTU1OTdEMDFGRjYwRjcgLyogTm9kZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg3MDAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bWJlck9iamVjdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NzEwMjU1NTk3RDAxRkY2
MEY3IC8qIE51bWJlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOdW1iZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg3NzAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9u
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB9OworCQlGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcGVyYXRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4N0IwMjU1
NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBPYmplY3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY2OTJBODdDMDI1NTU5N0QwMUZG
NjBGNyAvKiBSZWdFeHBPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4N0QwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWdFeHAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJ
CUY2OTJBODdFMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4ODcwMjU1NTk3RDAxRkY2MEY3IC8q
IEpTQ0pTVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNDSlNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgfTsKKwkJRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRp
bWVMaW1pdFRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXhl
Y3V0aW9uVGltZUxpbWl0VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxp
bWl0VGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMEQ0QTA1MUFCOERE
MEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0
cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZFMEQ0QTA3MUFCQTI0MzcwMDJGNTRCRiAvKiBHbG9iYWxDb250ZXh0V2l0aEZpbmFsaXplclRl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR2xvYmFsQ29udGV4
dFdpdGhGaW5hbGl6ZXJUZXN0LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9HbG9iYWxDb250ZXh0V2l0
aEZpbmFsaXplclRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTBENEEw
ODFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEdsb2JhbENvbnRleHRXaXRoRmluYWxpemVy
VGVzdC5oOyBwYXRoID0gQVBJL3Rlc3RzL0dsb2JhbENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTFDMEZGQzFCMTkzRTk4MDBCNTNGQ0Eg
LyogRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4Y2VwdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTFDMEZGRTFCMTk0RkQxMDBCNTNG
Q0EgLyogRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMjBDRTlCMTVG
MDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IExMSW50Q0xvb3AuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRDTG9vcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMjBDRTlDMTVGMDRBOTUwMERGMzQzMCAv
KiBMTEludENMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50Q0xv
b3AuaDsgcGF0aCA9IGxsaW50L0xMSW50Q0xvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkUzODRFRTExQUREQjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEb2xsYXJWTS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZFMzg0RUUyMUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZN
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9sbGFyVk0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkUzODRFRTMxQUREQjdBRDAwNTVERTJDIC8qIEpTRG9s
bGFyVk1Qcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNEb2xsYXJWTVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZF
Mzg0RUU0MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9sbGFyVk1Qcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU0QkZGMjkxQUQ0NzZFNzAwMDg4Rjg3IC8qIEZ1bmN0aW9u
T3ZlcnJpZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0
aW9uT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU0QkZGMkEx
QUQ0NzZFNzAwMDg4Rjg3IC8qIEZ1bmN0aW9uT3ZlcnJpZGVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZ1bmN0aW9uT3ZlcnJpZGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZFNEQ1NUI3MUFFNzE2Q0EwMDUyRTQ1OSAvKiBJdGVyYXRpb25TdGF0dXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSXRlcmF0aW9uU3RhdHVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNTA2ODY0MUFFMjQ2MzkwMDA5REFCNyAvKiBEZWZl
cnJlZFNvdXJjZUR1bXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmZXJy
ZWRTb3VyY2VEdW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNTA2ODY2MUFF
MjVFMjgwMDA5REFCNyAvKiBEZWZlcnJlZFNvdXJjZUR1bXAuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGVmZXJyZWRTb3VyY2VEdW1wLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlTY29w
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWTUVudHJ5U2NvcGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTU5MzJBNjE4M0M1QTI2MDBBMUVD
Q0MgLyogVk1FbnRyeVNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZN
RW50cnlTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTdCQTYwRDFBMUE3
Q0VDMDBGMUY3QjQgLyogSGVhcFZlcmlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhlYXBWZXJpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZFN0JBNjBFMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFZlcmlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZFQTA4NjFFMTgyQjdBMDQwMEY2RDg1MSAvKiBCcmVha3BvaW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkVBMDg2MUYxODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJp
bWl0aXZlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlclByaW1p
dGl2ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVCNTFGNkExQTk3QjY4ODAw
MUY5MjFDIC8qIFJlZ3Jlc3MxNDE4MDkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gUmVncmVzczE0MTgwOS5oOyBwYXRoID0gQVBJL3Rlc3RzL1JlZ3Jlc3MxNDE4MDkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJl
Z3Jlc3MxNDE4MDkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBS
ZWdyZXNzMTQxODA5Lm1tOyBwYXRoID0gQVBJL3Rlc3RzL1JlZ3Jlc3MxNDE4MDkubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQjU4QzEyMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJv
ckhhbmRsaW5nU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RXJyb3JIYW5kbGluZ1Njb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVC
NThDMTMxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFcnJvckhhbmRsaW5nU2NvcGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkVEMjg3QjExNUVDOUE1NzAwREE4MTYxIC8qIExMSW50T3Bjb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50T3Bjb2RlLmg7IHBhdGgg
PSBsbGludC9MTEludE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUQ5
NEYyQjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2F0Y2hkb2cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2F0Y2hkb2cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkVEOTRGMkQxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nTWFjLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhdGNoZG9nTWFjLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVGMDQwNTAxQUFFNjYyRDAwQkQyOEIwIC8qIENvbXBhcmVB
bmRTd2FwVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDb21w
YXJlQW5kU3dhcFRlc3QuY3BwOyBwYXRoID0gQVBJL3Rlc3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFRjA0MDUyMUFBRUM0RUQwMEJEMjhC
MCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQ29tcGFyZUFuZFN3YXBUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBU
ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFRjY4MzVBMTc0MzQzQ0MwMEEz
MkUyNSAvKiBKSVRTdHVic0FSTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
SVRTdHVic0FSTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUY2ODM1QjE3NDM0
M0NDMDBBMzJFMjUgLyogSklUU3R1YnNBUk12Ny5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKSVRTdHVic0FSTXY3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZF
RjY4MzVDMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKSVRTdHVic1g4Nl82NC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGRUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3R1YnNYODYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKworLyog
QmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCMzE4MDVE
NjE2MDA0NzJDRTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOworCQl9OworCQkxNDEyMTExRTBBNDg3OTNDMDA0ODAyNTUgLyogRnJhbWV3
b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRB
Y3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0QjhFQzcyMEE1NjUy
MDkwMDYyQkU1NCAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywK
KwkJCQkxNDEyMTEzMTBBNDg3OTREMDA0ODAyNTUgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCX07CisJCTE0QkQ1OUJEMEEzRThGOTAwMEJBRjU5QyAvKiBGcmFtZXdv
cmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFj
dGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDQ0M0FFMzMxNkUxODhE
OTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJ
MTRCRDU5QzUwQTNFOEY5RjAwQkFGNTlDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OworCQk2NTExMjJGQzE0MDQ2QTRDMDAyQjEwMUQgLyogRnJhbWV3b3JrcyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTY1MTEyMkZEMTQwNDZBNEMwMDJC
MTAxRCAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQk2
NTExMjJGRTE0MDQ2QTRDMDAyQjEwMUQgLyogbGliZWRpdC5keWxpYiBpbiBGcmFtZXdvcmtzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQk5MzJGNUJEMjA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTkzMkY1QkQzMDgyMkExQzcwMDczNjk3NSAvKiBDb3Jl
Rm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlBNzMxQjI1QTEzMDA5
Mzg4MDA0MEE3RkEgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJ
CQk5MzJGNUJENzA4MjJBMUM3MDA3MzY5NzUgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdv
cmtzICovLAorCQkJCTkzMkY1QkQ2MDgyMkExQzcwMDczNjk3NSAvKiBsaWJvYmpjLmR5bGliIGlu
IEZyYW1ld29ya3MgKi8sCisJCQkJQThBNDc0OEUxNTFBODMwNjAwNDEyM0ZGIC8qIGxpYldURi5h
IGluIEZyYW1ld29ya3MgKi8sCisJCQkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJOTMyRjVCREUwODIyQTFDNzAwNzM2OTc1IC8qIEZy
YW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk5MzJGNUJFQTA4
MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCisJCQkJNUQ1RDhBRDEwRTBEMEVCRTAwRjlDNjkyIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJh
bWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisK
Ky8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhC
IC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQkwRkY5MjJDRjE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
ICovLAorCQkJCTkzMkY1QkQ5MDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsgKi8sCisJCQkJOTMyRjVCRTEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLywKKwkJCQkw
RkNFRkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKKwkJCQkx
NDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLywKKwkJCQkxNEJENTlCRjBBM0U4
RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywKKwkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQg
LyogdGVzdFJlZ0V4cCAqLywKKwkJCSk7CisJCQluYW1lID0gUHJvZHVjdHM7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9
OworCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogSmF2YVNjcmlwdENvcmUgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTY1MjlGQjMwMThCMkQ2Mzkw
MEM2MTEwMiAvKiBnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyAqLywKKwkJCQk4NjA0RjRGMjE0M0E2
QzQ0MDBCMjk1RjUgLyogQ2hhbmdlTG9nICovLAorCQkJCUY2OTJBODU0MDI1NTU5N0QwMUZGNjBG
NyAvKiBjcmVhdGVfaGFzaF90YWJsZSAqLywKKwkJCQlBNzE4RjgyMTExNzhFQjRCMDAyNDY1QTcg
LyogY3JlYXRlX3JlZ2V4X3RhYmxlcyAqLywKKwkJCQlBNzFEQTgwRDE4ODBENzFGMDBEMUYyOTkg
LyogZ2VuZXJhdGUtanMtYnVpbHRpbnMgKi8sCisJCQkJNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi8sCisJCQkJRjY4RUJCOEMwMjU1RDRDNjAxRkY2MEY3IC8qIGNvbmZpZy5o
ICovLAorCQkJCUY1QzI5MEU2MDI4NEY5OEUwMTg2MzVDQSAvKiBKYXZhU2NyaXB0Q29yZVByZWZp
eC5oICovLAorCQkJCTkzN0I2M0NDMDlFNzY2RDIwMEE2NzFERCAvKiBEZXJpdmVkU291cmNlcy5t
YWtlICovLAorCQkJCUE3QzIyNUNDMTM5OTgxRjEwMEZGMTY2MiAvKiBLZXl3b3JkTG9va3VwR2Vu
ZXJhdG9yLnB5ICovLAorCQkJCTE0MzJFQkQ3MEEzNENBRDQwMDcxN0I5RiAvKiBBUEkgKi8sCisJ
CQkJOTY4OENCMTIwRUQxMkI0RTAwMUQ2NDlGIC8qIGFzc2VtYmxlciAqLywKKwkJCQlBNTRDRjJF
QTE4NEVBNzM5MDAyMzdGMTkgLyogYmluZGluZ3MgKi8sCisJCQkJQTdEODAxOUYxODgwRDY2RTAw
MjZDMzlCIC8qIGJ1aWx0aW5zICovLAorCQkJCTk2OUEwNzhGMEVEMUQzQUUwMEYxRjY4MSAvKiBi
eXRlY29kZSAqLywKKwkJCQk3RTM5RDgxRDBFQzM4RUZBMDAzQUYxMUEgLyogYnl0ZWNvbXBpbGVy
ICovLAorCQkJCTFDOTA1MTNFMEJBOUU4ODMwMDgxRTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLywK
KwkJCQkxNDgwREI5QTBEREMyMjMxMDAzQ0ZERjIgLyogZGVidWdnZXIgKi8sCisJCQkJNjUwRkRG
OEQwOUQwRkNBNzAwNzY5RTU0IC8qIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQk4NkVDOURCMzEz
MjhERjQ0MDAyQjJBRDcgLyogZGZnICovLAorCQkJCTBGRjQyNzJFMTU4RUJDQ0UwMDRDQjlGRiAv
KiBkaXNhc3NlbWJsZXIgKi8sCisJCQkJMDg2N0Q2OUFGRTg0MDI4RkMwMkFBQzA3IC8qIEZyYW1l
d29ya3MgKi8sCisJCQkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJDIC8qIGZ0bCAqLywKKwkJCQkx
NDJFMzEyQTEzNEZGMEE2MDBBRkFEQjUgLyogaGVhcCAqLywKKwkJCQlBNUJBMTVERjE4MjM0MDky
MDBBODJFNjkgLyogaW5zcGVjdG9yICovLAorCQkJCTE0MjlENzdBMEVEMjBENzMwMEI4OTYxOSAv
KiBpbnRlcnByZXRlciAqLywKKwkJCQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICov
LAorCQkJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAvKiBsbGludCAqLywKKwkJCQkwRkNFRkFB
RDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLywKKwkJCQk3RTM5RDgzNzBFQzNBMzg4MDAzQUYx
MUEgLyogcGFyc2VyICovLAorCQkJCTAzNDc2OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0
cyAqLywKKwkJCQk5NUFCODMxQTBEQTQyQzY5MDBCQzgzRjMgLyogcHJvZmlsZXIgKi8sCisJCQkJ
OTlFNDVBMEMxOEEwMUU5MzAwMjZEODhGIC8qIHJlcGxheSAqLywKKwkJCQk5MzJGQzNDMjA4MjRC
QjcwMDA1QjNDNzUgLyogUmVzb3VyY2VzICovLAorCQkJCTdFRjZFMEJCMEVCN0ExRUMwMDc5QUZB
RiAvKiBydW50aW1lICovLAorCQkJCTE0MTIxMTAwMEE0ODc3MjYwMDQ4MDI1NSAvKiB0ZXN0cyAq
LywKKwkJCQk4NjAzQ0VGMDE0Qzc1M0VGMDBBRTU5RTMgLyogdG9vbHMgKi8sCisJCQkJODZFQUM0
OEMwRjkzRThCOTAwOEVDOTQ4IC8qIHlhcnIgKi8sCisJCQkpOworCQkJbmFtZSA9IEphdmFTY3Jp
cHRDb3JlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMDg2N0Q2OUFGRTg0
MDI4RkMwMkFBQzA3IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRh
dGlvbi5mcmFtZXdvcmsgKi8sCisJCQkJNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5k
YXRpb24uZnJhbWV3b3JrICovLAorCQkJCTVENUQ4QUQwMEUwRDBFQkUwMEY5QzY5MiAvKiBsaWJl
ZGl0LmR5bGliICovLAorCQkJCTkzMjJBMDAzMDZDMzQxRDMwMDkwNjdCQiAvKiBsaWJpY3Vjb3Jl
LmR5bGliICovLAorCQkJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGli
ICovLAorCQkJCUE4QTQ3NDhEMTUxQTgzMDYwMDQxMjNGRiAvKiBsaWJXVEYuYSAqLywKKwkJCQkz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLywKKwkJCSk7CisJCQluYW1l
ID0gRnJhbWV3b3JrczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9
IDQ7CisJCQl1c2VzVGFicyA9IDA7CisJCX07CisJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAv
KiBsbGludCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
RkUyMENFOUIxNUYwNEE5NTAwREYzNDMwIC8qIExMSW50Q0xvb3AuY3BwICovLAorCQkJCUZFMjBD
RTlDMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggKi8sCisJCQkJMEY0NjgwQzUxNEJC
QjE2OTAwQkZFMjcyIC8qIExMSW50Q29tbW9uLmggKi8sCisJCQkJMEY0NjgwQ0UxNEJCQjNEMTAw
QkZFMjcyIC8qIExMSW50RGF0YS5jcHAgKi8sCisJCQkJMEY0NjgwQ0YxNEJCQjNEMTAwQkZFMjcy
IC8qIExMSW50RGF0YS5oICovLAorCQkJCTVERERGNDQ2MTRGRUU3MjIwMEI0RkI0RCAvKiBMTElu
dERlc2lyZWRPZmZzZXRzLmggKi8sCisJCQkJMEYzOEIwMEYxN0NGMDc3RjAwQjE0NEQzIC8qIExM
SW50RW50cnlwb2ludC5jcHAgKi8sCisJCQkJMEYzOEIwMTAxN0NGMDc3RjAwQjE0NEQzIC8qIExM
SW50RW50cnlwb2ludC5oICovLAorCQkJCTBGNDY4MDlEMTRCQTdGODIwMEJGRTI3MiAvKiBMTElu
dEV4Y2VwdGlvbnMuY3BwICovLAorCQkJCTBGNDY4MDlFMTRCQTdGODIwMEJGRTI3MiAvKiBMTElu
dEV4Y2VwdGlvbnMuaCAqLywKKwkJCQkwRjQ2ODBDNjE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRP
ZmZsaW5lQXNtQ29uZmlnLmggKi8sCisJCQkJMEY0NjgwQTExNEJBN0Y4MjAwQkZFMjcyIC8qIExM
SW50T2Zmc2V0c0V4dHJhY3Rvci5jcHAgKi8sCisJCQkJRkVEMjg3QjExNUVDOUE1NzAwREE4MTYx
IC8qIExMSW50T3Bjb2RlLmggKi8sCisJCQkJMEY0NjgwOUYxNEJBN0Y4MjAwQkZFMjcyIC8qIExM
SW50U2xvd1BhdGhzLmNwcCAqLywKKwkJCQkwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJ
bnRTbG93UGF0aHMuaCAqLywKKwkJCQkwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRU
aHVua3MuY3BwICovLAorCQkJCTBGMEI4Mzk4MTRCQ0Y0NUEwMDg4NUI0RiAvKiBMTEludFRodW5r
cy5oICovLAorCQkJCTg2QTA1NDQ2MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJl
dGVyLmFzbSAqLywKKwkJCQkwRjQ2ODBDNzE0QkJCMTY5MDBCRkUyNzIgLyogTG93TGV2ZWxJbnRl
cnByZXRlci5jcHAgKi8sCisJCQkJMEY0NjgwQzgxNEJCQjE2OTAwQkZFMjcyIC8qIExvd0xldmVs
SW50ZXJwcmV0ZXIuaCAqLywKKwkJCQk4NkEwNTQ0NzE1NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2
ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSAqLywKKwkJCQk4NkEwNTQ0ODE1NTY0NTFCMDA0NDUxNTcg
LyogTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSAqLywKKwkJCSk7CisJCQluYW1lID0gbGxpbnQ7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkNFRkFBRDE4MDVDQTQ0MDA0
NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxpemVMTFZNTWFjLmNwcCAq
LywKKwkJCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLywKKwkJCQkwRkNF
RkFDNDE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovLAorCQkJCTBGQ0VG
QUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovLAorCQkJCTBGQ0VGQUM1
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAqLywKKwkJCQkwRkNF
RkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovLAorCQkJCTBG
Q0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCAqLywKKwkJCQkwRkNFRkFDODE4
MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovLAorCQkJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3
MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi8sCisJCQkJMEZDRUZBRDIxODA1RURDQzAwNDcy
Q0U0IC8qIExMVk1IZWFkZXJzLmggKi8sCisJCQkpOworCQkJbmFtZSA9IGxsdm07CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyog
bGlicmFyeSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
MEZDRUZBREIxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZpZ19sbHZtLmggKi8sCisJCQkJMEZDRUZB
RDYxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwICovLAorCQkJCTBGQ0VGQUMyMTgw
NUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi8sCisJCQkJMEZDRUZBQzAxODA1RDk0
MTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSBsaWJy
YXJ5OworCQkJcGF0aCA9IGxsdm0vbGlicmFyeTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CisJCTBGRUEwOUZDMTcwNTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGREIyQ0M3MTczREE1MUUwMDdCM0Mx
QiAvKiBGVExBYmJyZXZpYXRlZFR5cGVzLmggKi8sCisJCQkJMEZFQTA5RkQxNzA1MTNEQjAwQkI3
MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCAqLywKKwkJCQkwRkVBMEExNzE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCAqLywKKwkJCQkwRkVBMEExODE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmggKi8sCisJCQkJMEZFQTBBMTkxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwICovLAorCQkJCTBGRUEwQTFBMTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8sCisJCQkJMEY0ODUz
MjMxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCAqLywKKwkJCQkw
RjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCAqLywKKwkJ
CQkwRkVBMDlGRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJ
CQkwRkVBMDlGRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmggKi8sCisJCQkJ
MEZFQTBBMjUxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5jcHAgKi8sCisJCQkJ
MEZFQTBBMjExNzA5NjA2OTAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5oICovLAorCQkJCTBG
RUEwQTAwMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDb21waWxlLmNwcCAqLywKKwkJCQkwRkVBMEEw
MTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29tcGlsZS5oICovLAorCQkJCTBGRTk1Rjc3MThCNTY5
NDcwMEI1MzFGQiAvKiBGVExEYXRhU2VjdGlvbi5jcHAgKi8sCisJCQkJMEZFOTVGNzgxOEI1Njk0
NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9uLmggKi8sCisJCQkJMkFDOTIyQjkxOEExNjE4MjAw
M0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgKi8sCisJCQkJMkFDOTIyQkExOEEx
NjE4MjAwM0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5oICovLAorCQkJCTBGOUM1RTVD
MThFMzVGNUUwMEQ0MzFDMyAvKiBGVExEV0FSRlJlZ2lzdGVyLmNwcCAqLywKKwkJCQkwRjlDNUU1
RDE4RTM1RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5oICovLAorCQkJCTBGMjM1QkJE
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3BwICovLAorCQkJCTBGMjM1QkJF
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuaCAqLywKKwkJCQkwRjIzNUJCRjE3
MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgKi8sCisJCQkJ
MEYyMzVCQzAxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRBcmd1bWVudEZvck9wZXJhbmQuaCAq
LywKKwkJCQkwRjIzNUJDMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50TGlzdC5o
ICovLAorCQkJCTBGMkI5Q0VFMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1
ZS5jcHAgKi8sCisJCQkJMEYyQjlDRUYxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0
eVZhbHVlLmggKi8sCisJCQkJMEYyMzVCQzIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVu
a0dlbmVyYXRvci5jcHAgKi8sCisJCQkJMEYyMzVCQzMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4
aXRUaHVua0dlbmVyYXRvci5oICovLAorCQkJCTBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFCNSAvKiBG
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi8sCisJCQkJMEYyQjlDRjExOUQw
QkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmggKi8sCisJ
CQkJMEYyMzVCQzQxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5jcHAgKi8sCisJCQkJ
MEYyMzVCQzUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5oICovLAorCQkJCUE3RjI5
OTY5MTdBMEJCNjcwMDEwNDE3QSAvKiBGVExGYWlsLmNwcCAqLywKKwkJCQlBN0YyOTk2QTE3QTBC
QjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oICovLAorCQkJCTBGRUEwQTJCMTcwQjY2MTkwMEJCNzIy
QyAvKiBGVExGb3JtYXR0ZWRWYWx1ZS5oICovLAorCQkJCTBGRDhBMzE1MTdENTFGMjIwMENBMkM0
MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuY3BwICovLAorCQkJCTBGRDhBMzE2MTdENTFGMjIw
MENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCAqLywKKwkJCQlBNzhBOTc3QzE3OTcz
OEQ1MDA5REY3NDQgLyogRlRMR2VuZXJhdGVkRnVuY3Rpb24uaCAqLywKKwkJCQkwRjI1RjFBNzE4
MTYzNUYzMDA1MjJGMzkgLyogRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmggKi8sCisJCQkJMEYy
NUYxQTgxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5jcHAgKi8sCisJCQkJ
MEYyNUYxQTkxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oICovLAorCQkJ
CTBGRUEwQTI2MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcCAq
LywKKwkJCQkwRkVBMEEyMjE3MDk2MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oICovLAorCQkJCTBGRUEwQTAyMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmNwcCAq
LywKKwkJCQkwRkVBMEEwMzE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5oICovLAorCQkJ
CUE3OEE5NzdEMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuY3BwICovLAorCQkJ
CUE3OEE5NzdFMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAqLywKKwkJCQkw
RjZCMUNCMzE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCAqLywKKwkJCQkwRjZCMUNC
NDE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmggKi8sCisJCQkJMEZEMTIwMkQxQThBRUQx
MjAwMEY1MjgwIC8qIEZUTEpTQ2FsbEJhc2UuY3BwICovLAorCQkJCTBGRDEyMDJFMUE4QUVEMTIw
MDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmggKi8sCisJCQkJMEZEMTIwMzExQThDODVCRDAwMEY1
MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuY3BwICovLAorCQkJCTBGRDEyMDMyMUE4Qzg1QkQwMDBG
NTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmggKi8sCisJCQkJMEY4RjJCOTMxNzJFMDQ5RTAwN0RC
REE1IC8qIEZUTExpbmsuY3BwICovLAorCQkJCTBGOEYyQjk0MTcyRTA0OUUwMDdEQkRBNSAvKiBG
VExMaW5rLmggKi8sCisJCQkJMEZDRUZBREQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9u
LmNwcCAqLywKKwkJCQkwRkNFRkFERTE4MDczOEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uaCAq
LywKKwkJCQkwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3Bw
ICovLAorCQkJCTBGRUEwQTA1MTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5o
ICovLAorCQkJCUE3RDg5RDAxMTdBMEI5MDQwMDc3M0FEOCAvKiBGVExMb3dlcmVkTm9kZVZhbHVl
LmggKi8sCisJCQkJMEYyQjlDRjIxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuY3Bw
ICovLAorCQkJCTBGMkI5Q0YzMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExPcGVyYXRpb25zLmggKi8s
CisJCQkJMEZEOEEzMTcxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCAqLywKKwkJ
CQkwRkQ4QTMxODE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuaCAqLywKKwkJCQkwRjIz
NUJDNjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAgKi8sCisJCQkJMEYyMzVCQzcx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuaCAqLywKKwkJCQkwRjIzNUJDODE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oICovLAorCQkJCTBGMjM1QkM5
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwICovLAorCQkJCTBGMjM1
QkNBMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuaCAqLywKKwkJCQkwRkVB
MEEyOTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCAqLywKKwkJCQkwRkVBMEEwNjE3
MDUxM0RCMDBCQjcyMkMgLyogRlRMT3V0cHV0LmggKi8sCisJCQkJMEY0ODUzMjUxODdERkRFQzAw
ODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCAqLywKKwkJCQkwRjQ4NTMyNjE4N0RGREVD
MDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuaCAqLywKKwkJCQkwRjZCMUNCRjE4NjJDNDc4
MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgKi8sCisJCQkJMEY2QjFDQzAxODYy
QzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCAqLywKKwkJCQkwRkNFRkFBOTE4
MDRDMTNFMDA0NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuY3BwICovLAorCQkJCTBGQ0VGQUFBMTgw
NEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5oICovLAorCQkJCTBGMjVGMUFBMTgxNjM1
RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuY3BwICovLAorCQkJCTBGMjVGMUFCMTgxNjM1
RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuaCAqLywKKwkJCQkwRjI1RjFBQzE4MTYzNUYz
MDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmNwcCAqLywKKwkJCQkwRjI1RjFBRDE4MTYz
NUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmggKi8sCisJCQkJMEY5RDMzOTgxODAz
QURCNzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5jcHAgKi8sCisJCQkJMEY5RDMzOTkxODAzQURC
NzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5oICovLAorCQkJCTBGRUEwQTE1MTcwNkJCOTAwMEJC
NzIyQyAvKiBGVExTdGF0ZS5jcHAgKi8sCisJCQkJMEZFQTBBMDcxNzA1MTNEQjAwQkI3MjJDIC8q
IEZUTFN0YXRlLmggKi8sCisJCQkJQTdGQ0MyNkMxN0EwQjZBQTAwNzg2RDFBIC8qIEZUTFN3aXRj
aENhc2UuaCAqLywKKwkJCQkwRjIzNUJDQjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNw
cCAqLywKKwkJCQkwRjIzNUJDQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmggKi8sCisJ
CQkJMEZFQTBBMUIxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTFR5cGVkUG9pbnRlci5oICovLAorCQkJ
CTBGNkIxQ0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmNwcCAqLywKKwkJCQkw
RjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICovLAorCQkJCTBGMjM1
QkNEMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgKi8sCisJCQkJMEYyMzVC
Q0UxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmggKi8sCisJCQkJMEZEQjJDQzgx
NzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggKi8sCisJCQkJMEY1QTYyODEx
ODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuY3BwICovLAorCQkJCTBGNUE2MjgyMTg4
Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmggKi8sCisJCQkJMEYwMzMyQzUxOEI1M0ZB
OTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovLAorCQkJCTBGMDMzMkM3MThCNTQ2RUMwMDVGOTc5
QSAvKiBGVExXZWlnaHRlZFRhcmdldC5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBmdGw7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkY0MjcyRTE1OEVCQ0NFMDA0Q0I5RkYg
LyogZGlzYXNzZW1ibGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk2NTJBM0ExQTE2NTFBOTI0MDBBODBBRkUgLyogQVJNNjQgKi8sCisJCQkJNjVDMDI4
NTkxNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3ICovLAorCQkJCTBGRjQyNzMzMTU4RUJENjQwMDRD
QjlGRiAvKiB1ZGlzODYgKi8sCisJCQkJNjUyQTNBMjAxNjUxQzY2MTAwQTgwQUZFIC8qIEFSTTY0
RGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQk2NUMwMjg0RjE3MTc5NUUyMDAzNTFFMzUgLyogQVJN
djdEaXNhc3NlbWJsZXIuY3BwICovLAorCQkJCTBGOUQzMzZFMTY1REJCOEQwMDVBRDM4NyAvKiBE
aXNhc3NlbWJsZXIuY3BwICovLAorCQkJCTBGRjQyNzJGMTU4RUJENDQwMDRDQjlGRiAvKiBEaXNh
c3NlbWJsZXIuaCAqLywKKwkJCQlBN0U1QUIzMzE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fz
c2VtYmxlci5jcHAgKi8sCisJCQkJQTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNh
c3NlbWJsZXIuaCAqLywKKwkJCQkwRkY0MjczMDE1OEVCRDQ0MDA0Q0I5RkYgLyogVURpczg2RGlz
YXNzZW1ibGVyLmNwcCAqLywKKwkJCQlBN0U1QUIzNTE3OTlFNEIyMDBEMjgzM0QgLyogVURpczg2
RGlzYXNzZW1ibGVyLmggKi8sCisJCQkJQTdFNUFCMzYxNzk5RTRCMjAwRDI4MzNEIC8qIFg4NkRp
c2Fzc2VtYmxlci5jcHAgKi8sCisJCQkpOworCQkJbmFtZSA9IGRpc2Fzc2VtYmxlcjsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGRjQyNzMzMTU4RUJENjQwMDRDQjlGRiAv
KiB1ZGlzODYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTBGRjQyNzNFMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODYuYyAqLywKKwkJCQkwRkY0MjczRjE1
OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2LmggKi8sCisJCQkJMEZGNDI3MzQxNThFQkQ5NDAwNENC
OUZGIC8qIHVkaXM4Nl9kZWNvZGUuYyAqLywKKwkJCQkwRkY0MjczNTE1OEVCRDk0MDA0Q0I5RkYg
LyogdWRpczg2X2RlY29kZS5oICovLAorCQkJCTBGRjQyNzM2MTU4RUJEOTQwMDRDQjlGRiAvKiB1
ZGlzODZfZXh0ZXJuLmggKi8sCisJCQkJMEZGNDI3MzcxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4
Nl9pbnB1dC5jICovLAorCQkJCTBGRjQyNzM4MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfaW5w
dXQuaCAqLywKKwkJCQkwRkY0Mjc0QzE1OEVCRkUxMDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9s
ZGVyLmMgKi8sCisJCQkJMEZGNDI3MzkxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4tYXR0
LmMgKi8sCisJCQkJMEZGNDI3M0ExNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4taW50ZWwu
YyAqLywKKwkJCQkwRkY0MjczQjE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi5jICovLAor
CQkJCTBGRjQyNzNDMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfc3luLmggKi8sCisJCQkJMEZG
NDI3M0QxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl90eXBlcy5oICovLAorCQkJKTsKKwkJCW5h
bWUgPSB1ZGlzODY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkxNDEyMTEw
MDBBNDg3NzI2MDA0ODAyNTUgLyogdGVzdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCUZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5k
U3dhcFRlc3QuY3BwICovLAorCQkJCUZFRjA0MDUyMUFBRUM0RUQwMEJEMjhCMCAvKiBDb21wYXJl
QW5kU3dhcFRlc3QuaCAqLywKKwkJCQlDMjAzMjgxRTE5ODE5NzlEMDA4OEI0OTkgLyogQ3VzdG9t
R2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi8sCisJCQkJQzIwMzI4MUYxOTgxOTc5RDAwODhCNDk5
IC8qIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oICovLAorCQkJCUMyOUVDQjAyMTgwNEQw
RUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5oICovLAorCQkJ
CUMyOUVDQjAxMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVy
VGVzdC5tbSAqLywKKwkJCQlDMjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLmgg
Ki8sCisJCQkJQzI4OEIyREQxOEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSAqLywKKwkJ
CQlGRTBENEEwNDFBQjhERDBBMDAyRjU0QkYgLyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAg
Ki8sCisJCQkJRkUwRDRBMDUxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRl
c3QuaCAqLywKKwkJCQlGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdp
dGhGaW5hbGl6ZXJUZXN0LmNwcCAqLywKKwkJCQlGRTBENEEwODFBQkEyNDM3MDAyRjU0QkYgLyog
R2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmggKi8sCisJCQkJQzIxODFGQzAxOEE5NDhG
QjAwMjVBMjM1IC8qIEpTRXhwb3J0VGVzdHMuaCAqLywKKwkJCQlDMjE4MUZDMTE4QTk0OEZCMDAy
NUEyMzUgLyogSlNFeHBvcnRUZXN0cy5tbSAqLywKKwkJCQk2NTU3MEY1ODFBQTRDMDBBMDA5QjND
MjMgLyogUmVncmVzczE0MTI3NS5oICovLAorCQkJCTY1NTcwRjU5MUFBNEMwMEEwMDlCM0MyMyAv
KiBSZWdyZXNzMTQxMjc1Lm1tICovLAorCQkJCUZFQjUxRjZBMUE5N0I2ODgwMDFGOTIxQyAvKiBS
ZWdyZXNzMTQxODA5LmggKi8sCisJCQkJRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJlZ3Jl
c3MxNDE4MDkubW0gKi8sCisJCQkJMTQ0MDA1MTcwQTUzMUNCNTAwMDVGMDYxIC8qIG1pbmlkb20g
Ki8sCisJCQkJMTRCRDVBMkQwQTNFOTFGNjAwQkFGNTlDIC8qIHRlc3RhcGkuYyAqLywKKwkJCQkx
NEQ4NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLywKKwkJCQk4NkQyMjIxOTE2
N0VGOTQ0MDAyNEM4MDQgLyogdGVzdGFwaS5tbSAqLywKKwkJCQk2NTExMjJFNTE0MDQ2OUJBMDAy
QjEwMUQgLyogdGVzdFJlZ0V4cC5jcHAgKi8sCisJCQkpOworCQkJbmFtZSA9IHRlc3RzOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJCXRhYldpZHRoID0gNDsKKwkJCXVzZXNUYWJzID0g
MDsKKwkJfTsKKwkJMTQyOUQ3N0EwRUQyMEQ3MzAwQjg5NjE5IC8qIGludGVycHJldGVyICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2NThEM0E1NTE5NjM4
MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oICovLAorCQkJCTBGNTVGMEYxMTREMTA2MzYw
MEFDNzY0OSAvKiBBYnN0cmFjdFBDLmNwcCAqLywKKwkJCQkwRjU1RjBGMjE0RDEwNjM2MDBBQzc2
NDkgLyogQWJzdHJhY3RQQy5oICovLAorCQkJCUE3Rjg2OTBFMEY5NTg0QTEwMDU1ODY5NyAvKiBD
YWNoZWRDYWxsLmggKi8sCisJCQkJMTQyOUQ4REIwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFt
ZS5jcHAgKi8sCisJCQkJMTQyOUQ4REMwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFtZS5oICov
LAorCQkJCUE3Rjg2OUVDMEY5NUMyRUMwMDU1ODY5NyAvKiBDYWxsRnJhbWVDbG9zdXJlLmggKi8s
CisJCQkJQTdDMUVBRUExNzk4N0FCNjAwMjk5REIyIC8qIENhbGxGcmFtZUlubGluZXMuaCAqLywK
KwkJCQkxNDI5RDdEMzBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3BwICovLAorCQkJ
CTE0MjlENzdCMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oICovLAorCQkJCTE0MjlE
ODVCMEVEMjE4RTkwMEI4OTYxOSAvKiBKU1N0YWNrLmNwcCAqLywKKwkJCQkxNEQ3OTI2NDBEQUEw
M0ZCMDAxQTlGMDUgLyogSlNTdGFjay5oICovLAorCQkJCUE3QzFFQUVCMTc5ODdBQjYwMDI5OURC
MiAvKiBKU1N0YWNrSW5saW5lcy5oICovLAorCQkJCTY1RkI1MTE2MTg0RUU5QkMwMEMxMkI3MCAv
KiBQcm90b0NhbGxGcmFtZS5jcHAgKi8sCisJCQkJNjVGQjUxMTUxODRFRThGODAwQzEyQjcwIC8q
IFByb3RvQ2FsbEZyYW1lLmggKi8sCisJCQkJMTQ5QjI0RkYwRDhBRjZEMTAwOUNCOEM3IC8qIFJl
Z2lzdGVyLmggKi8sCisJCQkJQTdDMUVBRUMxNzk4N0FCNjAwMjk5REIyIC8qIFN0YWNrVmlzaXRv
ci5jcHAgKi8sCisJCQkJQTdDMUVBRUQxNzk4N0FCNjAwMjk5REIyIC8qIFN0YWNrVmlzaXRvci5o
ICovLAorCQkJKTsKKwkJCXBhdGggPSBpbnRlcnByZXRlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCTE0MjlEOTJDMEVEMjJENzAwMEI4OTYxOSAvKiBqaXQgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGRjA1NEY3MUFDMzVCNDQw
MEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2NhdGlvbkZ1enouY3BwICovLAorCQkJCTBGRjA1NEY4
MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2NhdGlvbkZ1enouaCAqLywKKwkJCQkw
Rjc1NzZEMDE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuY3Bw
ICovLAorCQkJCTBGNzU3NkQxMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRTdHVi
Um91dGluZS5oICovLAorCQkJCTBGNkIxQ0M3MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNr
RmFpbFJldHVyblRodW5rcy5jcHAgKi8sCisJCQkJMEY2QjFDQzgxODY0MURGODAwODQ1RDk3IC8q
IEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmggKi8sCisJCQkJMEYyNEU1M0IxN0VBOUY1OTAw
QUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5jcHAgKi8sCisJCQkJMEYyNEU1M0MxN0VBOUY1OTAw
QUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oICovLAorCQkJCTBGNjRCMjZGMUE3ODRCQUYwMDZF
NEU2NiAvKiBCaW5hcnlTd2l0Y2guY3BwICovLAorCQkJCTBGNjRCMjcwMUE3ODRCQUYwMDZFNEU2
NiAvKiBCaW5hcnlTd2l0Y2guaCAqLywKKwkJCQkwRjI0RTUzRDE3RUE5RjU5MDBBQkIyMTcgLyog
Q0NhbGxIZWxwZXJzLmggKi8sCisJCQkJMEZEODJFMzcxNDFBQjE0MjAwMTc5Qzk0IC8qIENvbXBh
Y3RKSVRDb2RlTWFwLmggKi8sCisJCQkJQTdCNDhEQjYwRUU3NENGQzAwRENCREI2IC8qIEV4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwICovLAorCQkJCUE3QjQ4REI1MEVFNzRDRkMwMERDQkRCNiAvKiBF
eGVjdXRhYmxlQWxsb2NhdG9yLmggKi8sCisJCQkJODZEQjY0NjMwRjk1QzZGQzAwRDdEOTIxIC8q
IEV4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgKi8sCisJCQkJMEYyNEU1M0UxN0VB
OUY1OTAwQUJCMjE3IC8qIEZQUkluZm8uaCAqLywKKwkJCQkwRjc2NkQyRDE1QThEQ0REMDA4RjM2
M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcCAqLywKKwkJCQkwRjc2NkQyRTE1QThEQ0RE
MDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggKi8sCisJCQkJMEYyNEU1M0YxN0VB
OUY1OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLywKKwkJCQkwRjQ2ODBEMDE0QkJDNUY4MDBCRkUy
NzIgLyogSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAgKi8sCisJCQkJMEY0NjgwRDExNEJCQzVGODAw
QkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuaCAqLywKKwkJCQkxNDI5RDkyRDBFRDIyRDcw
MDBCODk2MTkgLyogSklULmNwcCAqLywKKwkJCQkxNDI5RDkyRTBFRDIyRDcwMDBCODk2MTkgLyog
SklULmggKi8sCisJCQkJODZBOTBFQ0YwRUU3RDUxRjAwQUIzNTBEIC8qIEpJVEFyaXRobWV0aWMu
Y3BwICovLAorCQkJCUE3NTcwNkREMTE4QTJCQ0YwMDU3Rjg4RiAvKiBKSVRBcml0aG1ldGljMzJf
NjQuY3BwICovLAorCQkJCTg2Q0M4NUEyMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCAq
LywKKwkJCQkxNDZGRTUxMTExQTcxMDQzMDA4N0FFNjYgLyogSklUQ2FsbDMyXzY0LmNwcCAqLywK
KwkJCQkwRjhGOTQ0MzE2Njc2MzUyMDBENjE5NzEgLyogSklUQ29kZS5jcHAgKi8sCisJCQkJODZD
Q0VGREQwRjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENvZGUuaCAqLywKKwkJCQkwRjA3NzZCRDE0RkYw
MDI4MDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCAqLywKKwkJCQkwRkFGN0VGQTE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQkwRkFGN0VGQjE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi8sCisJCQkJMEY0NjgwN0YxNEJB
NTcyNzAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwICovLAorCQkJCTBGNDY4MDgwMTRCQTU3
MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8sCisJCQkJMEZCMTRFMUMxODEyNEFDRTAw
OUI2QjREIC8qIEpJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcCAqLywKKwkJCQkwRkIxNEUxRDE4
MTI0QUNFMDA5QjZCNEQgLyogSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCAqLywKKwkJCQk4NkND
ODVBMDBFRTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oICovLAorCQkJCUJDREQ1MUU5MEZC
OERGNzQwMDRBOEJEQyAvKiBKSVRPcGNvZGVzLmNwcCAqLywKKwkJCQlBNzEyMzZFNDExOTVGMzND
MDBCRDIxNzQgLyogSklUT3Bjb2RlczMyXzY0LmNwcCAqLywKKwkJCQkwRjI0RTU0NTE3RUUyNzQ5
MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5jcHAgKi8sCisJCQkJMEYyNEU1NDYxN0VFMjc0OTAw
QUJCMjE3IC8qIEpJVE9wZXJhdGlvbnMuaCAqLywKKwkJCQk4NkNDODVDMzBFRTdBODk0MDAyODg2
ODIgLyogSklUUHJvcGVydHlBY2Nlc3MuY3BwICovLAorCQkJCUE3QzFFOEM4MTEyRTcwMUMwMEEz
N0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCAqLywKKwkJCQkwRjc2NkQyNjE1QThD
QzFCMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwICovLAorCQkJCTBGNzY2RDFDMTVBNTAy
OEQwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZS5oICovLAorCQkJCTE0QTIzRDZDMEY0RTE5Q0Uw
MDIzQ0RBRCAvKiBKSVRTdHVicy5jcHAgKi8sCisJCQkJMTRBNjU4MUEwRjRFMzZGNDAwMDE1MEZE
IC8qIEpJVFN0dWJzLmggKi8sCisJCQkJRkVGNjgzNUExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0
dWJzQVJNLmggKi8sCisJCQkJRkVGNjgzNUIxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJN
djcuaCAqLywKKwkJCQlGRUY2ODM1QzE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODZfNjQu
aCAqLywKKwkJCQlGRUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLywK
KwkJCQlBN0E0QUUwQzE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCAqLywK
KwkJCQkwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCAqLywKKwkJCQkw
RjVFRjkxQzE2ODc4Rjc4MDAzRTVDMjUgLyogSklUVGh1bmtzLmggKi8sCisJCQkJMEZDNzEyRTAx
N0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQkwRkM3MTJFMTE3Q0Q4NzhGMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlBNzZGNTRBMjEzQjI4QUFCMDBFRjJCQ0UgLyog
SklUV3JpdGVCYXJyaWVyLmggKi8sCisJCQkJQTc2QzUxNzQxMTgyNzQ4RDAwNzE1QjA1IC8qIEpT
SW50ZXJmYWNlSklULmggKi8sCisJCQkJMEZFRTk4NDIxQTg5MjI3NTAwNzU0RTkzIC8qIFNldHVw
VmFyYXJnc0ZyYW1lLmNwcCAqLywKKwkJCQkwRkVFOTg0MDFBODg2NUI2MDA3NTRFOTMgLyogU2V0
dXBWYXJhcmdzRnJhbWUuaCAqLywKKwkJCQkwRkU4MzQxNTFBNkVGOTdCMDBEMDQ4NDcgLyogUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuY3BwICovLAorCQkJCTBGRTgzNDE2MUE2RUY5N0IwMEQw
NDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5oICovLAorCQkJCTBGQTdBOEU5MThC
NDEzQzgwMDUyMzcxRCAvKiBSZWcuY3BwICovLAorCQkJCTBGQTdBOEVBMThCNDEzQzgwMDUyMzcx
RCAvKiBSZWcuaCAqLywKKwkJCQkwRjZCMUNCQjE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCAqLywKKwkJCQkwRjZCMUNCQzE4NjEyNDZB
MDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmggKi8sCisJ
CQkJMEZDMzE0MTQxODE0NkQ3MDAwMDMzMjMyIC8qIFJlZ2lzdGVyU2V0LmNwcCAqLywKKwkJCQkw
RkMzMTQxMDE4MTQ1NTkxMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuaCAqLywKKwkJCQkwRjI0RTU0
OTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgKi8sCisJCQkJMEYyNEU1NEExN0VFMjc0
OTAwQUJCMjE3IC8qIFJlcGF0Y2guaCAqLywKKwkJCQkwRkE3QThFRDE4Q0U0RkQ4MDA1MjM3MUQg
LyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmNwcCAqLywKKwkJCQkwRjI0RTU0QjE3RUUyNzQ5
MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi8sCisJCQkJQTcwOUYyRUYx
N0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oICovLAorCQkJCUE3Mzg2NTUxMTE4Njk3
QjQwMDU0MDI3OSAvKiBTcGVjaWFsaXplZFRodW5rSklULmggKi8sCisJCQkJQTdGRjY0N0ExOEM1
MkU4NTAwQjU1MzA3IC8qIFNwaWxsUmVnaXN0ZXJzTW9kZS5oICovLAorCQkJCTBGQzMxNDExMTgx
NDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwICovLAorCQkJCTBGMjRFNTQ4MTdF
RTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCAqLywKKwkJCQkwRjU3MkQ0RDE2ODc5
RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCAqLywKKwkJCQlBNzM4NjU1MjExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCAqLywKKwkJCQlBNzM4NjU1MzExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmggKi8sCisJCQkJNjU5ODdGMkYxNjgyOEE3RTAw
M0MyRjhEIC8qIFVudXNlZFBvaW50ZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaml0OworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQyRTMxMkExMzRGRjBBNjAwQUZBREI1
IC8qIGhlYXAgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUZFN0JBNjBEMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuY3BwICovLAorCQkJCUZF
N0JBNjBFMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCAqLywKKwkJCQlDMkRBNzc4
MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCAqLywKKwkJCQlBRERCMUY2MjE4RDc3
REI3MDA5QjU4QTggLyogT3BhcXVlUm9vdFNldC5oICovLAorCQkJCTJBQUNFNjNBMThDQTVBMDMw
MEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAorCQkJCTJBQUNFNjNCMThDQTVB
MDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLywKKwkJCQkwRkQ4QTMxMTE3RDQz
MjZDMDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLywKKwkJCQkwRkQ4QTMxMjE3RDQzMjZD
MDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmggKi8sCisJCQkJMTQ2QjE0REIxMkVCNUIxMjAwMUJF
QzFCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmNwcCAqLywKKwkJCQkxNDlEQUFGMjEyRUI1NTlEMDA4
M0IxMkIgLyogQ29uc2VydmF0aXZlUm9vdHMuaCAqLywKKwkJCQlDMkVBRDJGQjE0RjAyNDk4MDBB
NEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggKi8sCisJCQkJQzJDOEQwMkUxNEEzQ0VGQzAwNTc4
RTY1IC8qIENvcGllZEJsb2NrLmggKi8sCisJCQkJQzJGQzlCRDIxNjY0NERGQjAwODEwRDMzIC8q
IENvcGllZEJsb2NrSW5saW5lcy5oICovLAorCQkJCUMyNDAzMDUzMTRCNDA0QzkwMDc5RUI2NCAv
KiBDb3BpZWRTcGFjZS5jcHAgKi8sCisJCQkJQzJFQUEzRjgxNDlBODMwODAwRkNFMTEyIC8qIENv
cGllZFNwYWNlLmggKi8sCisJCQkJQzJDOEQwMkIxNEEzQzZCMjAwNTc4RTY1IC8qIENvcGllZFNw
YWNlSW5saW5lcy5oICovLAorCQkJCTBGNUE1MkNGMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9r
ZW4uaCAqLywKKwkJCQlDMjIzOUQxMjE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuY3Bw
ICovLAorCQkJCUMyMjM5RDEzMTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oICovLAor
CQkJCUMyMjM5RDE0MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCAqLywK
KwkJCQlDMjE4RDEzRjE2NTVDRkQ1MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggKi8sCisJCQkJ
MkE2ODI5NUExODc1RjgwNTAwQjZDM0UyIC8qIENvcHlXcml0ZUJhcnJpZXIuaCAqLywKKwkJCQky
QTdBNThFRTE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJHQy5jcHAgKi8sCisJCQkJMEYxMzZENEIx
NzRBRDY5QjAwNzVCMzU0IC8qIERlZmVyR0MuaCAqLywKKwkJCQlCQ0JFMkNBRDE0RTk4NUFBMDAw
NTkzQUQgLyogR0NBc3NlcnRpb25zLmggKi8sCisJCQkJMEYyQjY2QTgxN0I2QjUzRDAwQTdBRTNG
IC8qIEdDSW5jb21pbmdSZWZDb3VudGVkLmggKi8sCisJCQkJMEYyQjY2QTkxN0I2QjUzRDAwQTdB
RTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovLAorCQkJCTBGMkI2NkFBMTdC
NkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldC5oICovLAorCQkJCTBGMkI2
NkFCMTdCNkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldElubGluZXMuaCAq
LywKKwkJCQkyQTM0M0Y3NDE4QTE3NDhCMDAzOUIwODUgLyogR0NTZWdtZW50ZWRBcnJheS5oICov
LAorCQkJCTJBMzQzRjc3MThBMTc0OUQwMDM5QjA4NSAvKiBHQ1NlZ21lbnRlZEFycmF5SW5saW5l
cy5oICovLAorCQkJCUMyMjM5RDE1MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5jcHAgKi8s
CisJCQkJQzIyMzlEMTYxNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmggKi8sCisJCQkJQzIx
MTIyREUxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgKi8sCisJCQkJ
QzIxMTIyREYxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5oICovLAorCQkJ
CTE0MkUzMTJCMTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGUuaCAqLywKKwkJCQlDMjgzMThGRjE2
RkU0QjdEMDAxNTdCRkQgLyogSGFuZGxlQmxvY2suaCAqLywKKwkJCQlDMjgzMTkwMTE2RkU1MzNF
MDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggKi8sCisJCQkJMTQyRTMxMkMxMzRGRjBB
NjAwQUZBREI1IC8qIEhhbmRsZVNldC5jcHAgKi8sCisJCQkJMTQyRTMxMkQxMzRGRjBBNjAwQUZB
REI1IC8qIEhhbmRsZVNldC5oICovLAorCQkJCTE0MkUzMTJFMTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTdGFjay5jcHAgKi8sCisJCQkJMTQyRTMxMkYxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRs
ZVN0YWNrLmggKi8sCisJCQkJMTQ2RkE1QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVz
LmggKi8sCisJCQkJMTRCQTdBOTUxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwICovLAorCQkJ
CTE0QkE3QTk2MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmggKi8sCisJCQkJQzJDOEQwMkYxNEEz
Q0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovLAorCQkJCTJBRDg5MzI5MTdFMzg2OEYwMDY2
ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCAqLywKKwkJCQkyQTZGNDYyNTE3RTk1OUNFMDBD
NDVDOTggLyogSGVhcE9wZXJhdGlvbi5oICovLAorCQkJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2
NyAvKiBIZWFwUm9vdFZpc2l0b3IuaCAqLywKKwkJCQlDMjREMzFFMDE2MUNENjk1MDAyQUE0REIg
LyogSGVhcFN0YXRpc3RpY3MuY3BwICovLAorCQkJCUMyNEQzMUUxMTYxQ0Q2OTUwMDJBQTREQiAv
KiBIZWFwU3RhdGlzdGljcy5oICovLAorCQkJCUMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBI
ZWFwVGltZXIuY3BwICovLAorCQkJCUMyRTUyNkJDMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGlt
ZXIuaCAqLywKKwkJCQlDMjVGOEJDQjE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2Vl
cGVyLmNwcCAqLywKKwkJCQlDMjVGOEJDQzE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxT
d2VlcGVyLmggKi8sCisJCQkJMEY3NjZEMjkxNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0
aW5lU2V0LmNwcCAqLywKKwkJCQkwRjc2NkQyQTE1QThDQzM0MDA4RjM2M0UgLyogSklUU3R1YlJv
dXRpbmVTZXQuaCAqLywKKwkJCQkwRjQzMTczNjE0NkJBQzY1MDA3RTM4OTAgLyogTGlzdGFibGVI
YW5kbGVyLmggKi8sCisJCQkJMTQyRTMxMzAxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggKi8s
CisJCQkJMTQyRTMxMzExMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCAqLywKKwkJCQkx
NEI3MjMzRjEyRDdEMERBMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmNwcCAqLywKKwkJ
CQkxNEI3MjM0MDEyRDdEMERBMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggKi8sCisJ
CQkJQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAgKi8sCisJ
CQkJQzJCOTE2QzExNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovLAorCQkJ
CTE0MkQ2RjA2MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgKi8sCisJCQkJMTQy
RDZGMDcxMzUzOUEyODAwQjAyRTg2IC8qIE1hcmtlZEJsb2NrLmggKi8sCisJCQkJMTQxNDQ4Q0Ex
M0ExNzZFQzAwRjVCQTFBIC8qIE1hcmtlZEJsb2NrU2V0LmggKi8sCisJCQkJMTREMkYzRDgxMzlG
NEJFMjAwNDkxMDMxIC8qIE1hcmtlZFNwYWNlLmNwcCAqLywKKwkJCQkxNEQyRjNEOTEzOUY0QkUy
MDA0OTEwMzEgLyogTWFya2VkU3BhY2UuaCAqLywKKwkJCQkxNDJENkYwRTEzNTM5QTQxMDBCMDJF
ODYgLyogTWFya1N0YWNrLmNwcCAqLywKKwkJCQkxNDJENkYwRjEzNTM5QTQxMDBCMDJFODYgLyog
TWFya1N0YWNrLmggKi8sCisJCQkJMkFBRDk2NDkxODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2
ZUFsbG9jYXRpb25TY29wZS5oICovLAorCQkJCUMyMjU0OTQyMTVGN0RCQUEwMDY1RTg5OCAvKiBT
bG90VmlzaXRvci5jcHAgKi8sCisJCQkJMTRCQTc4RjAxM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RW
aXNpdG9yLmggKi8sCisJCQkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9y
SW5saW5lcy5oICovLAorCQkJCTE0MkUzMTMyMTM0RkYwQTYwMEFGQURCNSAvKiBTdHJvbmcuaCAq
LywKKwkJCQkxNDU3MjI4NTE0MzdFMTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oICovLAor
CQkJCTE0MTQ0OENDMTNBMTc4MzcwMEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCAqLywKKwkJ
CQkwRjVGMDhDRTE0NkM3NjJGMDAwNDcyQTkgLyogVW5jb25kaXRpb25hbEZpbmFsaXplci5oICov
LAorCQkJCTFBQ0Y3Mzc2MTcxQ0E2RkIwMEM5QkIxRSAvKiBXZWFrLmNwcCAqLywKKwkJCQkxNDJF
MzEzMzEzNEZGMEE2MDBBRkFEQjUgLyogV2Vhay5oICovLAorCQkJCTE0RTg0Rjk5MTRFRTFBQ0Mw
MEQ2RDVENCAvKiBXZWFrQmxvY2suY3BwICovLAorCQkJCTE0RTg0RjlBMTRFRTFBQ0MwMEQ2RDVE
NCAvKiBXZWFrQmxvY2suaCAqLywKKwkJCQkxNEY3MjU2MzE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmNwcCAqLywKKwkJCQkxNEY3MjU2NDE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmggKi8sCisJCQkJMTRFODRGOUQxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtJ
bXBsLmggKi8sCisJCQkJMTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmgg
Ki8sCisJCQkJMEYyNDJEQTUxM0YzQjFCQjAwN0FERDRDIC8qIFdlYWtSZWZlcmVuY2VIYXJ2ZXN0
ZXIuaCAqLywKKwkJCQkxNEU4NEY5QjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgKi8s
CisJCQkJMTRFODRGOUMxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLywKKwkJCQkxNDE1
MDEzMjE1NEJCMTNGMDA1RDhDOTggLyogV2Vha1NldElubGluZXMuaCAqLywKKwkJCQkyQTRFQzkw
OTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmNwcCAqLywKKwkJCQkyQTRF
QzkwQTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmggKi8sCisJCQkJMEZD
ODE1MDgxNDA0M0JDQTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuY3BwICovLAorCQkJ
CTBGQzgxNTA5MTQwNDNCRDIwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmggKi8sCisJ
CQkJMkE4MzYzODMxOEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suY3Bw
ICovLAorCQkJCTJBODM2Mzg0MThEN0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxi
YWNrLmggKi8sCisJCQkJMkE4MzYzODcxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwICovLAorCQkJCTJBODM2Mzg4MThEN0QwRkUwMDAwRUJDQyAvKiBGdWxsR0NB
Y3Rpdml0eUNhbGxiYWNrLmggKi8sCisJCQkJMkFBQkNERTYxOEVGMjk0MjAwMDAyMDk2IC8qIEdD
TG9nZ2luZy5oICovLAorCQkJCTJBREZBMjYyMThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcu
Y3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBoZWFwOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJMTQzMkVCRDcwQTM0Q0FENDAwNzE3QjlGIC8qIEFQSSAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzIxMUI1NzQxNzZBMjI0RDAwMEUy
QTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAqLywKKwkJCQkxNDgyQjc4QTBBNDMwNUFCMDA1
MTdDRkMgLyogQVBJQ2FzdC5oICovLAorCQkJCTFDQUE4QjRBMEQzMkMzOUEwMDQxQkNGRiAvKiBK
YXZhU2NyaXB0LmggKi8sCisJCQkJMUNBQThCNEIwRDMyQzM5QTAwNDFCQ0ZGIC8qIEphdmFTY3Jp
cHRDb3JlLmggKi8sCisJCQkJQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8qIEpTQVBJVmFsdWVX
cmFwcGVyLmNwcCAqLywKKwkJCQlCQzA4OTRENjBGQUZCQTJEMDAwMDE4NjUgLyogSlNBUElWYWx1
ZVdyYXBwZXIuaCAqLywKKwkJCQlDMkNGMzlDMDE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFw
cGVyT2JqZWN0LmggKi8sCisJCQkJQzJDRjM5QkYxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3Jh
cHBlck9iamVjdC5tbSAqLywKKwkJCQkxNDIxMzU5QTBBNjc3RjRGMDBBODE5NUUgLyogSlNCYXNl
LmNwcCAqLywKKwkJCQkxNDI3MTEzODBBNDYwQkJCMDA4MEVFRUEgLyogSlNCYXNlLmggKi8sCisJ
CQkJMTQwRDE3RDYwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCAqLywKKwkJCQkx
NDQwRjhBRDBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCAqLywK
KwkJCQkxNDQwRjhBQzBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgg
Ki8sCisJCQkJMTQ0MEY4OTAwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlvbi5j
cHAgKi8sCisJCQkJMTQ0MEY4OEYwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlv
bi5oICovLAorCQkJCTE0QUJERjVFMEE0MzdGRUYwMEVDQ0EwMSAvKiBKU0NhbGxiYWNrT2JqZWN0
LmNwcCAqLywKKwkJCQkxNEFCREY1RDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVj
dC5oICovLAorCQkJCUE4RTg5NDMxMENEMDYwMjQwMDM2NzE3OSAvKiBKU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmggKi8sCisJCQkJMTQ0MEZDRTIwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NS
ZWYuY3BwICovLAorCQkJCTE0NDBGQ0UxMEE1MUU0NkIwMDA1RjA2MSAvKiBKU0NsYXNzUmVmLmgg
Ki8sCisJCQkJODZFM0M2MDcxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTQ29udGV4dC5oICovLAorCQkJ
CTg2RTNDNjA4MTY3QkFCODcwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gKi8sCisJCQkJQTU4QzAy
NDExOEU0QTQxQTAwMDMyQkM1IC8qIEpTQ29udGV4dFByaXZhdGUuaCAqLywKKwkJCQk4NkUzQzYw
OTE2N0JBQjg3MDA2RDc2MEEgLyogSlNDb250ZXh0SW50ZXJuYWwuaCAqLywKKwkJCQkxNEJENUEy
OTBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCAqLywKKwkJCQkxNEJENUEyQTBB
M0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmggKi8sCisJCQkJQTVFQTcwRUQxOUY1QjVD
NDAwOThGNUVDIC8qIEpTQ29udGV4dFJlZkluc3BlY3RvclN1cHBvcnQuaCAqLywKKwkJCQlBNUQy
RTY2NDE5NUUxNzM4MDBBNTE4RTcgLyogSlNDb250ZXh0UmVmSW50ZXJuYWwuaCAqLywKKwkJCQkx
NDhDRDFENzEwOENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oICovLAorCQkJ
CUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuY3BwICovLAor
CQkJCUE3MjAyOEI1MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCAqLywK
KwkJCQk4NkUzQzYwQTE2N0JBQjg3MDA2RDc2MEEgLyogSlNFeHBvcnQuaCAqLywKKwkJCQlBNTUy
QzM3RDFBRERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNwZWN0b3IuY3BwICovLAorCQkJCUE1
NTJDMzdFMUFEREI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oICovLAorCQkJCUMy
NUQ3MDlBMTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5oICovLAorCQkJCUMyNUQ3
MDk5MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5tbSAqLywKKwkJCQkyQTRCQjdG
MjE4QTQxMTc5MDA4QTBGQ0QgLyogSlNNYW5hZ2VkVmFsdWVJbnRlcm5hbC5oICovLAorCQkJCTE0
ODJCN0UyMEE0MzA3NjAwMDUxN0NGQyAvKiBKU09iamVjdFJlZi5jcHAgKi8sCisJCQkJMTQ4MkI3
RTEwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmggKi8sCisJCQkJQTc5RURCMDgxMTUz
MUNENjAwMTlFOTEyIC8qIEpTT2JqZWN0UmVmUHJpdmF0ZS5oICovLAorCQkJCTk1OTg4QkE5MEU0
NzdCRUMwMEQyOEQ0RCAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5jcHAgKi8sCisJCQkJOTUyQzYzQUMw
RTQ3NzdENjAwQzEzOTM2IC8qIEpTUHJvZmlsZXJQcml2YXRlLmggKi8sCisJCQkJOTVDMThEM0Uw
QzkwRTdFRjAwRTcyRjczIC8qIEpTUmV0YWluUHRyLmggKi8sCisJCQkJQTdDMEM0QUExNjdDMDhD
RDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCAqLywKKwkJCQlBN0MwQzRBQjE2N0MwOENEMDAx
NzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggKi8sCisJCQkJMTQ4MkI3NEMwQTQzMDMyODAw
NTE3Q0ZDIC8qIEpTU3RyaW5nUmVmLmNwcCAqLywKKwkJCQkxNDgyQjc0QjBBNDMwMzI4MDA1MTdD
RkMgLyogSlNTdHJpbmdSZWYuaCAqLywKKwkJCQkxNDZBQUIzNzBCNjZBOTQ0MDBFNTVGMTYgLyog
SlNTdHJpbmdSZWZDRi5jcHAgKi8sCisJCQkJMTQ2QUFCMkEwQjY2QTg0OTAwRTU1RjE2IC8qIEpT
U3RyaW5nUmVmQ0YuaCAqLywKKwkJCQkxQTI4RDRBNzE3N0I3MUM4MDAwN0ZBM0MgLyogSlNTdHJp
bmdSZWZQcml2YXRlLmggKi8sCisJCQkJODZFM0M2MDYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmFs
dWUuaCAqLywKKwkJCQk4NkUzQzYwRDE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5tbSAqLywK
KwkJCQk4NkUzQzYwRTE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZUludGVybmFsLmggKi8sCisJ
CQkJMTRCRDVBMkIwQTNFOTFGNjAwQkFGNTlDIC8qIEpTVmFsdWVSZWYuY3BwICovLAorCQkJCTE0
ODJCNkVBMEE0MzAwQjMwMDUxN0NGQyAvKiBKU1ZhbHVlUmVmLmggKi8sCisJCQkJODZFM0M2MEYx
NjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCAqLywKKwkJCQk4NkUzQzYxMDE2
N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZS5tbSAqLywKKwkJCQk4NkUzQzYxMTE2
N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmggKi8sCisJCQkJQTc0
ODJFMzcxMTZBNjk3QjAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggKi8s
CisJCQkJQTc0ODJCN0ExMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZh
dGUuY3BwICovLAorCQkJCUE3NDgyQjc5MTE2NkNERUEwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RN
YXBSZWZQcml2YXRlLmggKi8sCisJCQkJODZFM0M2MEMxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTV3Jh
cHBlck1hcC5oICovLAorCQkJCTg2RTNDNjBCMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJN
YXAubW0gKi8sCisJCQkJODZGM0VFQjkxNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1
bmN0aW9uLmggKi8sCisJCQkJODZGM0VFQkExNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFj
a0Z1bmN0aW9uLm1tICovLAorCQkJCTg2RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVu
dGltZUV4dHJhcy5oICovLAorCQkJCUUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVK
U1N0cmluZy5jcHAgKi8sCisJCQkJRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpT
U3RyaW5nLmggKi8sCisJCQkJNURFM0QwRjQwREQ4RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWls
YWJpbGl0eS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBUEk7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQkxNDQw
MDUxNzBBNTMxQ0I1MDAwNUYwNjEgLyogbWluaWRvbSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQ0MEY2NDIwQTRGOEI2QTAwMDVGMDYxIC8qIEpTTm9k
ZS5jICovLAorCQkJCTE0NDBGNjQxMEE0RjhCNkEwMDA1RjA2MSAvKiBKU05vZGUuaCAqLywKKwkJ
CQkxNDQwMDc1NjBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovLAorCQkJCTE0NDAw
NzU1MEE1MzcwRDIwMDA1RjA2MSAvKiBKU05vZGVMaXN0LmggKi8sCisJCQkJMTQxMjExMDIwQTQ4
NzgwOTAwNDgwMjU1IC8qIG1pbmlkb20uYyAqLywKKwkJCQkxNDEyMTEwRDBBNDg3ODg3MDA0ODAy
NTUgLyogbWluaWRvbS5qcyAqLywKKwkJCQkxNDQwMDUyMDBBNTMxRDNCMDAwNUYwNjEgLyogTm9k
ZS5jICovLAorCQkJCTE0NDAwNTFGMEE1MzFEM0IwMDA1RjA2MSAvKiBOb2RlLmggKi8sCisJCQkJ
MTQ0MDA3NDkwQTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmMgKi8sCisJCQkJMTQ0MDA3NDgw
QTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmggKi8sCisJCQkpOworCQkJbmFtZSA9IG1pbmlk
b207CisJCQlwYXRoID0gQVBJOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJ
MTQ4MERCOUEwRERDMjIzMTAwM0NGREYyIC8qIGRlYnVnZ2VyICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGRUEwODYxRTE4MkI3QTA0MDBGNkQ4NTEgLyog
QnJlYWtwb2ludC5oICovLAorCQkJCUY2OTJBODU4MDI1NTU5N0QwMUZGNjBGNyAvKiBEZWJ1Z2dl
ci5jcHAgKi8sCisJCQkJRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERlYnVnZ2VyLmggKi8s
CisJCQkJMTQ5NTU5RUQwRERDRERGNzAwNjQ4MDg3IC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmNwcCAq
LywKKwkJCQkxNDgwREI5QjBEREMyMjdGMDAzQ0ZERjIgLyogRGVidWdnZXJDYWxsRnJhbWUuaCAq
LywKKwkJCQk2QUQyQ0I0QzE5QjkxNDAxMDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5o
ICovLAorCQkJCUZFQTA4NjFGMTgyQjdBMDQwMEY2RDg1MSAvKiBEZWJ1Z2dlclByaW1pdGl2ZXMu
aCAqLywKKwkJCQkwRjJENEREQjE5ODMyRDM0MDA3RDRCMTkgLyogRGVidWdnZXJTY29wZS5jcHAg
Ki8sCisJCQkJMEYyRDREREMxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gZGVidWdnZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQkxQzkwNTEzRTBCQTlFODgzMDA4MUU5RDAgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTU1NDA3NTg0MThGNEEz
NzUwMDYwMkE1RCAvKiBDb21waWxlUnVudGltZVRvTExWTUlSLnhjY29uZmlnICovLAorCQkJCTFD
OTA1MTQ1MEJBOUU4QTcwMDgxRTlEMCAvKiBCYXNlLnhjY29uZmlnICovLAorCQkJCTFDOTA1MTQ0
MEJBOUU4QTcwMDgxRTlEMCAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8sCisJCQkJNDQ5MDk3
RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovLAorCQkJCTFD
OTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLywKKwkJ
CQk1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQgLyogSlNDLnhjY29uZmlnICovLAorCQkJCTBGQ0VG
QUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovLAorCQkJCUJDMDIx
QkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLywKKwkJCQkx
QzkwNTE0MjBCQTlFOEE3MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLywKKwkJCSk7CisJ
CQlwYXRoID0gQ29uZmlndXJhdGlvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQkJ
dGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQk2NTBGREY4RDA5RDBGQ0E3
MDA3NjlFNTQgLyogRGVyaXZlZCBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlCQzE4QzUyMzBFMTZGQzhBMDBCMzQ0NjAgLyogQXJyYXlQcm90
b3R5cGUubHV0LmggKi8sCisJCQkJNjUxNEYyMTcxOEIzRTE2NzAwOThGRjhCIC8qIEJ5dGVjb2Rl
cy5oICovLAorCQkJCUE1MzI0Mzk1MTg1NkE0NzUwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMu
anNvbiAqLywKKwkJCQlCQ0QyMDNFNzBFMTcxOEY0MDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5s
dXQuaCAqLywKKwkJCQk2NTE0RjIxODE4QjNFMTY3MDA5OEZGOEIgLyogSW5pdEJ5dGVjb2Rlcy5h
c20gKi8sCisJCQkJQTUxM0U1QzYxODVGOTQzNjAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0U291
cmNlLmggKi8sCisJCQkJQTVFQTcxMEQxOUY2REY4MTAwOThGNUVDIC8qIEluc3BlY3RvckFsdGVy
bmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5
MiAvKiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgKi8sCisJCQkJQTUzMjQzODExODU2ODMx
NzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8sCisJCQkJQTUz
MjQzODIxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICov
LAorCQkJCUE1MzI0MzgzMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzLmNwcCAqLywKKwkJCQlBNTMyNDM4NDE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAv
KiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwICovLAorCQkJCUE1MzI0Mzg2MTg1NjgzMTcw
MDJFRDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLywKKwkJCQlBN0Q4MDFBNjE4
ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwICovLAorCQkJCUE3RDgwMUE3MTg4MEQ2
QTgwMDI2QzM5QiAvKiBKU0NCdWlsdGlucy5oICovLAorCQkJCUJDODdDREI4MTA3MTJBQ0EwMDA2
MTRDRiAvKiBKU09OT2JqZWN0Lmx1dC5oICovLAorCQkJCTdDMTg0RTI0MTdCRkZBMzYwMDdDQjYz
QSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5sdXQuaCAqLywKKwkJCQk3QzE4NEUyNTE3QkZGQTM2
MDA3Q0I2M0EgLyogSlNQcm9taXNlUHJvdG90eXBlLmx1dC5oICovLAorCQkJCTk5MjhGRjM5MThB
QzRBRUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5jcHAgKi8sCisJCQkJOTkyOEZGM0ExOEFD
NEFFQzAwQjhDRjEyIC8qIEpTUmVwbGF5SW5wdXRzLmggKi8sCisJCQkJQTdDMjI1Q0QxMzk5ODQ5
QzAwRkYxNjYyIC8qIEtleXdvcmRMb29rdXAuaCAqLywKKwkJCQlCQzE4QzUyRDBFMTZGQ0UxMDBC
MzQ0NjAgLyogTGV4ZXIubHV0LmggKi8sCisJCQkJQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8q
IE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovLAorCQkJCUJDRDIwMkQ1MEUxNzA3MDgwMDJDN0U4
MiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5sdXQuaCAqLywKKwkJCQlBNzE4RjYxQTExNzU0QTIxMDAy
NDY1QTcgLyogUmVnRXhwSml0VGFibGVzLmggKi8sCisJCQkJNUQ1MzcyN0QwRTFDNTVFQzAwMjFF
NTQ5IC8qIFRyYWNpbmdEdHJhY2UuaCAqLywKKwkJCSk7CisJCQluYW1lID0gIkRlcml2ZWQgU291
cmNlcyI7CisJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmU7CisJCQlzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1Rh
YnMgPSAwOworCQl9OworCQk2NTJBM0ExQTE2NTFBOTI0MDBBODBBRkUgLyogQVJNNjQgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTY1MkEzQTIyMTY1MUM2
OTcwMEE4MEFGRSAvKiBBNjRET3Bjb2RlLmNwcCAqLywKKwkJCQk2NTJBM0EyMzE2NTFDNjk3MDBB
ODBBRkUgLyogQTY0RE9wY29kZS5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBBUk02NDsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTY1QzAyODU5MTcxNzk2NjgwMDM1MUUzNSAv
KiBBUk12NyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
NjVDMDI4NUExNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5jcHAgKi8sCisJCQkJNjVD
MDI4NUIxNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5oICovLAorCQkJKTsKKwkJCW5h
bWUgPSBBUk12NzsKKwkJCXBhdGggPSBkaXNhc3NlbWJsZXIvQVJNdjc7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OworCQk3RTM5RDgxRDBFQzM4RUZBMDAzQUYxMUEgLyogYnl0ZWNv
bXBpbGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5
NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3IuY3BwICovLAorCQkJ
CTk2OUEwNzIxMEVEMUNFMzMwMEYxRjY4MSAvKiBCeXRlY29kZUdlbmVyYXRvci5oICovLAorCQkJ
CTk2OUEwNzI3MEVEMUNFNjkwMEYxRjY4MSAvKiBMYWJlbC5oICovLAorCQkJCTk2MDA5N0E1MEVC
QUJCNTgwMDdBNzI5NyAvKiBMYWJlbFNjb3BlLmggKi8sCisJCQkJNjU1RUIyOUExMENFMjU4MTAw
MUE5OTBFIC8qIE5vZGVzQ29kZWdlbi5jcHAgKi8sCisJCQkJOTY5QTA3MjgwRUQxQ0U2OTAwRjFG
NjgxIC8qIFJlZ2lzdGVySUQuaCAqLywKKwkJCQkxNERGMDREOTE2QjM5OTZEMDAxNkE1MTMgLyog
U3RhdGljUHJvcGVydHlBbmFseXNpcy5oICovLAorCQkJCTE0Q0E5NThBMTZBQjUwREUwMDkzOEEw
NiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5emVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGJ5dGVj
b21waWxlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTdFMzlEODM3MEVD
M0EzODgwMDNBRjExQSAvKiBwYXJzZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCUE3QTdFRTc0MTFCOThCOEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmgg
Ki8sCisJCQkJOTNGMTk4MUEwODI0NUFBRTAwMUU5QUJDIC8qIEtleXdvcmRzLnRhYmxlICovLAor
CQkJCUY2OTJBODY1MDI1NTU5N0QwMUZGNjBGNyAvKiBMZXhlci5jcHAgKi8sCisJCQkJRjY5MkE4
NjYwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmggKi8sCisJCQkJOTMwREFEMDMwRkIxRUIxQTAw
ODJEMjA1IC8qIE5vZGVDb25zdHJ1Y3RvcnMuaCAqLywKKwkJCQlGNjkyQTg2RDAyNTU1OTdEMDFG
RjYwRjcgLyogTm9kZXMuY3BwICovLAorCQkJCUY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBO
b2Rlcy5oICovLAorCQkJCTkzRjBCM0E5MDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuY3BwICov
LAorCQkJCTkzRjBCM0FBMDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuaCAqLywKKwkJCQk5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovLAorCQkJCTkzMDUyQzMz
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oICovLAorCQkJCTBGQ0NBRTQzMTZEMENG
NkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5oICovLAorCQkJCTlCNDk1NEU4MUE2NjQwREIwMDI4
MTVBNiAvKiBQYXJzZXJGdW5jdGlvbkluZm8uaCAqLywKKwkJCQlBNzdGMTgyNDE2NDE5MjU0MDA2
NDBBNDcgLyogUGFyc2VyTW9kZXMuaCAqLywKKwkJCQk2NTMwM0Q2MzE0NDdCOUUxMDBEM0Y5MDQg
LyogUGFyc2VyVG9rZW5zLmggKi8sCisJCQkJODY5RUJDQjYwRThDNkQ0QTAwODcyMkNDIC8qIFJl
c3VsdFR5cGUuaCAqLywKKwkJCQkwRjhGMkI5RDE3MzA2QzhCMDA3REJEQTUgLyogU291cmNlQ29k
ZS5jcHAgKi8sCisJCQkJNjVFODY2RUUwREQ1OUFGQTAwQTJCMkExIC8qIFNvdXJjZUNvZGUuaCAq
LywKKwkJCQkwRjQ5M0FGODE2RDBDQUQxMDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwICov
LAorCQkJCTY1RTg2NkVEMERENTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VQcm92aWRlci5oICovLAor
CQkJCUU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCAq
LywKKwkJCQlFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5o
ICovLAorCQkJCUU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oICovLAorCQkJCUE3QTdFRTc3MTFCOThCOEQwMDY1QTE0RiAvKiBTeW50YXhDaGVja2Vy
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IHBhcnNlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCTdFRjZFMEJCMEVCN0ExRUMwMDc5QUZBRiAvKiBydW50aW1lICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCQ0Y2MDUxMTBFMjAzRUY4
MDBCOUE2NEQgLyogQXJnTGlzdC5jcHAgKi8sCisJCQkJQkNGNjA1MTIwRTIwM0VGODAwQjlBNjRE
IC8qIEFyZ0xpc3QuaCAqLywKKwkJCQkwRkUwNTAwQzFBQTkwOTExMDBEMzNCMzMgLyogQXJndW1l
bnRzTW9kZS5oICovLAorCQkJCTBGNkIxQ0I3MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNr
TW9kZS5oICovLAorCQkJCUE3QThBRjI1MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5j
cHAgKi8sCisJCQkJQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmggKi8s
CisJCQkJMEZGQzk5RDIxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0
Y2hwb2ludC5jcHAgKi8sCisJCQkJMEZGQzk5RDMxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5QnVm
ZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oICovLAorCQkJCUE3QThBRjI3MTdBREI1RjMwMDVBQjE3
NCAvKiBBcnJheUJ1ZmZlclZpZXcuY3BwICovLAorCQkJCUE3QThBRjI4MTdBREI1RjMwMDVBQjE3
NCAvKiBBcnJheUJ1ZmZlclZpZXcuaCAqLywKKwkJCQlCQzc5NTIwNjBFMTVFOEE4MDBBODk4QUIg
LyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQkM3OTUyMDcwRTE1RThBODAwQTg5OEFC
IC8qIEFycmF5Q29uc3RydWN0b3IuaCAqLywKKwkJCQkwRkI3RjM4OTE1RUQ4RTM4MDBGMTY3QjIg
LyogQXJyYXlDb252ZW50aW9ucy5oICovLAorCQkJCUE3QkRBRUMyMTdGNEVBMTQwMEY2MTQwQyAv
KiBBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBN0JEQUVDMzE3RjRFQTE0MDBG
NjE0MEMgLyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5oICovLAorCQkJCUY2OTJBODREMDI1NTU5
N0QwMUZGNjBGNyAvKiBBcnJheVByb3RvdHlwZS5jcHAgKi8sCisJCQkJRjY5MkE4NEUwMjU1NTk3
RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmggKi8sCisJCQkJMEZCN0YzOEExNUVEOEUzODAw
RjE2N0IyIC8qIEFycmF5U3RvcmFnZS5oICovLAorCQkJCTUyNjc4RjhDMUEwMzEwMDkwMDZBMzA2
RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovLAorCQkJCTUyNjc4RjhEMUEwMzEwMDkwMDZB
MzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCAqLywKKwkJCQkxNDdCODNBQTBFNkRCOEM5MDA0
Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLywKKwkJCQk4NjY3MzlEMDEz
QkZERTcxMDAyM0Q4N0MgLyogQmlnSW50ZWdlci5oICovLAorCQkJCUJDNzk1MjMyMEUxNUVCNTYw
MEE4OThBQiAvKiBCb29sZWFuQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDNzk1MjMzMEUxNUVC
NTYwMEE4OThBQiAvKiBCb29sZWFuQ29uc3RydWN0b3IuaCAqLywKKwkJCQlGNjkyQTg1MDAyNTU1
OTdEMDFGRjYwRjcgLyogQm9vbGVhbk9iamVjdC5jcHAgKi8sCisJCQkJNzA0RkQzNTMwNTY5N0U2
RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLywKKwkJCQlCQzc5NTIzNDBFMTVFQjU2MDBB
ODk4QUIgLyogQm9vbGVhblByb3RvdHlwZS5jcHAgKi8sCisJCQkJQkM3OTUyMzUwRTE1RUI1NjAw
QTg5OEFCIC8qIEJvb2xlYW5Qcm90b3R5cGUuaCAqLywKKwkJCQk5RTcyOTQwQTE5MEYwNTE0MDAx
QTkxQjUgLyogQnVuZGxlUGF0aC5oICovLAorCQkJCTlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAv
KiBCdW5kbGVQYXRoLm1tICovLAorCQkJCTBGQjdGMzhCMTVFRDhFMzgwMEYxNjdCMiAvKiBCdXR0
ZXJmbHkuaCAqLywKKwkJCQkwRkI3RjM4QzE1RUQ4RTM4MDBGMTY3QjIgLyogQnV0dGVyZmx5SW5s
aW5lcy5oICovLAorCQkJCUJDQTYyREZFMEUyODI2MjMwMDA0RjMwRCAvKiBDYWxsRGF0YS5jcHAg
Ki8sCisJCQkJMTQ1QzUwN0YwRDlERjYzQjAwODhGNkI5IC8qIENhbGxEYXRhLmggKi8sCisJCQkJ
QkM2QUFBRTQwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNzSW5mby5oICovLAorCQkJCTBGRTA1MDFD
MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuY3BwICovLAorCQkJCTBGRTA1MDFE
MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLywKKwkJCQlBNzdGMTgxRjE2
NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCAqLywKKwkJCQlBNzdGMTgyMDE2NDA4OEIy
MDA2NDBBNDcgLyogQ29kZUNhY2hlLmggKi8sCisJCQkJMEY4Rjk0M0ExNjY3NjMxMTAwRDYxOTcx
IC8qIENvZGVTcGVjaWFsaXphdGlvbktpbmQuY3BwICovLAorCQkJCTBGMjFDMjc5MTRCRTcyNzMw
MEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggKi8sCisJCQkJNjVFQTczNjIwQkFF
MzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmNwcCAqLywKKwkJCQk2NUVBNzM2MzBC
QUUzNUQxMDAxQkI1NjAgLyogQ29tbW9uSWRlbnRpZmllcnMuaCAqLywKKwkJCQlBNzA5RjJGMTE3
QTBBQzJBMDA1MTJFOTggLyogQ29tbW9uU2xvd1BhdGhzLmNwcCAqLywKKwkJCQkwRjE1RjE1RDE0
QjdBNzNBMDA1REUzN0QgLyogQ29tbW9uU2xvd1BhdGhzLmggKi8sCisJCQkJNjU1M0EzMkYxN0Ex
RjFFRTAwOENGNkYzIC8qIENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwICovLAorCQkJCTY1
NTNBMzMwMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmggKi8s
CisJCQkJQTdFNUEzQTUxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmNwcCAq
LywKKwkJCQlBN0U1QTNBNjE3OTc0MzJEMDBFODkzQzAgLyogQ29tcGlsYXRpb25SZXN1bHQuaCAq
LywKKwkJCQk5NjlBMDkyMjBFRDFFMDlDMDBGMUY2ODEgLyogQ29tcGxldGlvbi5jcHAgKi8sCisJ
CQkJRjVCQjJCQzUwMzBGNzcyMTAxRkNGRTFEIC8qIENvbXBsZXRpb24uaCAqLywKKwkJCQkwRkRC
MkNFOTE3NDg5NkM3MDA3QjNDMUIgLyogQ29uY3VycmVudEpJVExvY2suaCAqLywKKwkJCQlBNUI2
QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgKi8sCisJCQkJQTUzQ0Uw
ODkxOEJDMjFDMzAwQkVERjc2IC8qIENvbnNvbGVDbGllbnQuaCAqLywKKwkJCQlBNTNDRTA4MTE4
QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUzQ0UwODIx
OEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuaCAqLywKKwkJCQlBNUZEMDA3MTE4
OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi8sCisJCQkJMEY5NzhCM0ExQUFFQTcx
RDAwN0M3MzY5IC8qIENvbnN0YW50TW9kZS5jcHAgKi8sCisJCQkJMEZGQzk5RDAxODRFQzhBRDAw
OUMxMEFCIC8qIENvbnN0YW50TW9kZS5oICovLAorCQkJCUJDQTYyREZGMEUyODI2MzEwMDA0RjMw
RCAvKiBDb25zdHJ1Y3REYXRhLmNwcCAqLywKKwkJCQlCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAg
LyogQ29uc3RydWN0RGF0YS5oICovLAorCQkJCTUyQjcxN0I0MUEwNTk3RTEwMDdBRjRGMyAvKiBD
b250cm9sRmxvd1Byb2ZpbGVyLmNwcCAqLywKKwkJCQk1MjY3OEY5MDFBMDQxNzdDMDA2QTMwNkQg
LyogQ29udHJvbEZsb3dQcm9maWxlci5oICovLAorCQkJCTJBMTExMjQzMTkyRkNFNzkwMDVFRTE4
RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuY3BwICovLAorCQkJCTJBMTExMjQ0MTkyRkNFNzkwMDVF
RTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQkwRjJCNjZCMDE3QjZCNUFCMDBB
N0FFM0YgLyogRGF0YVZpZXcuY3BwICovLAorCQkJCTBGMkI2NkIxMTdCNkI1QUIwMEE3QUUzRiAv
KiBEYXRhVmlldy5oICovLAorCQkJCUJDRDIwMzQ1MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuY3BwICovLAorCQkJCUJDRDIwMzQ2MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuaCAqLywKKwkJCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZl
cnNpb24uY3BwICovLAorCQkJCUQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVy
c2lvbi5oICovLAorCQkJCUJDMTE2NjAwMEUxOTk3QjEwMDgwNjZERCAvKiBEYXRlSW5zdGFuY2Uu
Y3BwICovLAorCQkJCUJDMTE2NjAxMEUxOTk3QjEwMDgwNjZERCAvKiBEYXRlSW5zdGFuY2UuaCAq
LywKKwkJCQkxNEExNTYzMDEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3RhbmNlQ2FjaGUuaCAq
LywKKwkJCQlCQ0QyMDM0NzBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5jcHAgKi8s
CisJCQkJQkNEMjAzNDgwRTE3MTM1RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUuaCAqLywKKwkJ
CQkwRkUwNTAwRjFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzLmNwcCAqLywKKwkJ
CQkwRkUwNTAxMDFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzLmggKi8sCisJCQkJ
MEZFMDUwMEQxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAgKi8s
CisJCQkJMEZFMDUwMEUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5o
ICovLAorCQkJCUE3MDQ0N0VCMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29udGV4dC5jcHAgKi8s
CisJCQkJQTcwNDQ3RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmggKi8sCisJCQkJ
MkFEMkVERkExOTc5OUUzODAwNEQ2NDc4IC8qIEVudW1lcmF0aW9uTW9kZS5oICovLAorCQkJCUJD
MzM3QkVBMEUxQjAwQ0IwMDc2OTE4QSAvKiBFcnJvci5jcHAgKi8sCisJCQkJQkMzMDQ2MDYwRTFG
NDk3RjAwMzIzMkNGIC8qIEVycm9yLmggKi8sCisJCQkJQkMwMkU5MDQwRTE4MzlEQjAwMEY5Mjk3
IC8qIEVycm9yQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMDJFOTA1MEUxODM5REIwMDBGOTI5
NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggKi8sCisJCQkJRkVCNThDMTIxODdCOEIxNjAwOThFRjBC
IC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAgKi8sCisJCQkJRkVCNThDMTMxODdCOEIxNjAwOThF
RjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5oICovLAorCQkJCUJDMDJFOThBMEUxODNFMzgwMDBG
OTI5NyAvKiBFcnJvckluc3RhbmNlLmNwcCAqLywKKwkJCQlCQzAyRTk4QjBFMTgzRTM4MDAwRjky
OTcgLyogRXJyb3JJbnN0YW5jZS5oICovLAorCQkJCUJDMDJFOTA2MEUxODM5REIwMDBGOTI5NyAv
KiBFcnJvclByb3RvdHlwZS5jcHAgKi8sCisJCQkJQkMwMkU5MDcwRTE4MzlEQjAwMEY5Mjk3IC8q
IEVycm9yUHJvdG90eXBlLmggKi8sCisJCQkJRkUxQzBGRkMxQjE5M0U5ODAwQjUzRkNBIC8qIEV4
Y2VwdGlvbi5oICovLAorCQkJCUZFMUMwRkZFMUIxOTRGRDEwMEI1M0ZDQSAvKiBFeGNlcHRpb24u
Y3BwICovLAorCQkJCTBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNw
cCAqLywKKwkJCQkwRjEyREUwRTE5NzlENUZEMDAwNkZGNEUgLyogRXhjZXB0aW9uRnV6ei5oICov
LAorCQkJCTE0MjlEODc3MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25IZWxwZXJzLmNwcCAq
LywKKwkJCQlBNzI3MDFCMzBEQURFOTQ5MDBFNTQ4RDcgLyogRXhjZXB0aW9uSGVscGVycy5oICov
LAorCQkJCTg2Q0EwMzJEMTAzOEU4NDQwMDI4QTYwOSAvKiBFeGVjdXRhYmxlLmNwcCAqLywKKwkJ
CQk4NkNBRkVFMjEwMzVEREU2MDAyOEE2MDkgLyogRXhlY3V0YWJsZS5oICovLAorCQkJCUE3QThB
RjI5MTdBREI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCAqLywKKwkJCQlBN0E4QUYyQTE3
QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5LmggKi8sCisJCQkJQkMyNjgwQzAwRTE2RDRF
OTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMjY4MEMxMEUx
NkQ0RTkwMEEwNkU5MiAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmggKi8sCisJCQkJMEZCNEI1MjEx
NkI2Mjc4RDAwM0Y2OTZCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwICovLAorCQkJCTBG
QjRCNTIyMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmggKi8sCisJ
CQkJNTJCMzEwRkMxOTc0QUU4NzAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5j
cHAgKi8sCisJCQkJNTJCMzEwRkExOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0
ZWRDYWNoZS5oICovLAorCQkJCUY2OTJBODVDMDI1NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblBy
b3RvdHlwZS5jcHAgKi8sCisJCQkJRjY5MkE4NUQwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9u
UHJvdG90eXBlLmggKi8sCisJCQkJNjJEMkQzOEQxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9u
UmFyZURhdGEuY3BwICovLAorCQkJCTYyRDJEMzhFMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlv
blJhcmVEYXRhLmggKi8sCisJCQkJMEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNB
cmd1bWVudHMuaCAqLywKKwkJCQkwRkUwNTAxMjFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0Fy
Z3VtZW50c0lubGluZXMuaCAqLywKKwkJCQkwRkUwNTAxMzFBQTkwOTExMDBEMzNCMzMgLyogR2Vu
ZXJpY09mZnNldC5oICovLAorCQkJCTBGMkI2NkIyMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmlj
VHlwZWRBcnJheVZpZXcuaCAqLywKKwkJCQkwRjJCNjZCMzE3QjZCNUFCMDBBN0FFM0YgLyogR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oICovLAorCQkJCUJDMDJFOUI4MEUxODQ1NDUwMDBG
OTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAorCQkJCUJDMzM3QkRFMEUxQUYwQjgwMDc2OTE4
QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQk5MzNBMzQ5RDAzOEFFODBGMDA4NjM1Q0UgLyog
SWRlbnRpZmllci5jcHAgKi8sCisJCQkJOTMzQTM0OUEwMzhBRTdDNjAwODYzNUNFIC8qIElkZW50
aWZpZXIuaCAqLywKKwkJCQk4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklu
bGluZXMuaCAqLywKKwkJCQkwRkI3RjM4RDE1RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdIZWFk
ZXIuaCAqLywKKwkJCQkwRkI3RjM4RTE1RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdIZWFkZXJJ
bmxpbmVzLmggKi8sCisJCQkJMEYxM0UwNEMxNjE2NEExQjAwREM4REU3IC8qIEluZGV4aW5nVHlw
ZS5jcHAgKi8sCisJCQkJMEZCN0YzOEYxNUVEOEUzODAwRjE2N0IyIC8qIEluZGV4aW5nVHlwZS5o
ICovLAorCQkJCTBGRjhCREU4MUFENENGNzEwMERGRTg4NCAvKiBJbmZlcnJlZFZhbHVlLmNwcCAq
LywKKwkJCQkwRkY4QkRFOTFBRDRDRjcxMDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5oICovLAor
CQkJCUUxNzg2MzZDMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAq
LywKKwkJCQlFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5o
ICovLAorCQkJCUE3QThBRjJCMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQ4QXJyYXkuaCAqLywKKwkJ
CQlBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50MTZBcnJheS5oICovLAorCQkJCUE3QThB
RjJEMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQzMkFycmF5LmggKi8sCisJCQkJQTc4ODUzRjcxNzk3
MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwICovLAorCQkJCUE3ODg1
M0Y4MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggKi8sCisJCQkJ
QkM5QkI5NUIwRTE5NjgwNjAwREY4ODU1IC8qIEludGVybmFsRnVuY3Rpb24uY3BwICovLAorCQkJ
CUJDMTE2NjdBMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmggKi8sCisJCQkJ
QTEyQkJGRjMxQjA0NEE5ODAwNjY0QjY5IC8qIEludGxPYmplY3QuY3BwICovLAorCQkJCUExMkJC
RkYxMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggKi8sCisJCQkJODZCRjY0MkExNDhE
QjJCNTAwNERFMzZBIC8qIEludHJpbnNpYy5oICovLAorCQkJCUZFNEQ1NUI3MUFFNzE2Q0EwMDUy
RTQ1OSAvKiBJdGVyYXRpb25TdGF0dXMuaCAqLywKKwkJCQk3MDExM0Q0OTFBOERCMDkzMDAzODQ4
QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmNwcCAqLywKKwkJCQk3MDExM0Q0QTFBOERCMDkzMDAz
ODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmggKi8sCisJCQkJNzBEQzNFMDcxQjJERjJDNzAw
MDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQk3MERDM0UwODFCMkRGMkM3
MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuaCAqLywKKwkJCQk5M0FERkNFNjBDQ0JEN0FD
MDBEMzBCMDggLyogSlNBcnJheS5jcHAgKi8sCisJCQkJOTM4NzcyRTUwMzhCRkUxOTAwODYzNUNF
IC8qIEpTQXJyYXkuaCAqLywKKwkJCQkwRjJCNjZCNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJh
eUJ1ZmZlci5jcHAgKi8sCisJCQkJMEYyQjY2QjUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXIuaCAqLywKKwkJCQkwRjJCNjZCNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yLmNwcCAqLywKKwkJCQkwRjJCNjZCNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggKi8sCisJCQkJMEYyQjY2QjgxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwICovLAorCQkJCTBGMkI2NkI5MTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBlLmggKi8sCisJCQkJMEYyQjY2QkExN0I2
QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKKwkJCQkwRjJCNjZCQjE3
QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXcuaCAqLywKKwkJCQkwRjJCNjZCQzE3
QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmggKi8sCisJCQkJQTdC
REFFQzQxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5jcHAgKi8sCisJCQkJQTdC
REFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAorCQkJCTg2RkE5
RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAorCQkJCTg2RkE5
RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk2NTdDRjQ1
NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAorCQkJCTY1N0NGNDU3MTlCRjY2
NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAorCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2
NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLAorCQkJCTBGRDk0OTdGMUE5N0RCOTYwMEUyODk2NiAv
KiBKU0NhdGNoU2NvcGUuaCAqLywKKwkJCQlCQzdGOEZCQTBFMTlEMUVGMDA4NjMyQzAgLyogSlND
ZWxsLmNwcCAqLywKKwkJCQlCQzExNjdEODBFMTlCQ0M5MDA4MDY2REQgLyogSlNDZWxsLmggKi8s
CisJCQkJMEY5NzQ5NkYxNjg3QURFMjAwQTRGRjZBIC8qIEpTQ2VsbElubGluZXMuaCAqLywKKwkJ
CQkwRjFERDg0OTE4QTk0NUJFMDAyNkYzRkEgLyogSlNDSW5saW5lcy5oICovLAorCQkJCUY2OTJB
ODg3MDI1NTU5N0QwMUZGNjBGNyAvKiBKU0NKU1ZhbHVlLmNwcCAqLywKKwkJCQkxNEFCQjM2RTA5
OUMwNzY0MDBFMkEyNEYgLyogSlNDSlNWYWx1ZS5oICovLAorCQkJCTg2NUEzMEYwMTM1MDA3RTEw
MENEQjQ5RSAvKiBKU0NKU1ZhbHVlSW5saW5lcy5oICovLAorCQkJCUE1M0NFMDgzMThCQzFBNTYw
MEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovLAorCQkJCUE1M0NFMDg0MThCQzFBNTYwMEJFREY3
NiAvKiBKU0NvbnNvbGUuaCAqLywKKwkJCQkwRjJCNjZCRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNE
YXRhVmlldy5jcHAgKi8sCisJCQkJMEYyQjY2QkUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZp
ZXcuaCAqLywKKwkJCQkwRjJCNjZCRjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlld1Byb3Rv
dHlwZS5jcHAgKi8sCisJCQkJMEYyQjY2QzAxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQ
cm90b3R5cGUuaCAqLywKKwkJCQk5Nzg4RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0
aC5jcHAgKi8sCisJCQkJOTc4OEZDMjMxNDcxQUQwQzAwNjhDRTJEIC8qIEpTRGF0ZU1hdGguaCAq
LywKKwkJCQlDMkE3RjY4NzE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3Qu
aCAqLywKKwkJCQlCQzIyQTM5QTBFMTZFMTQ4MDBBRjIxQzggLyogSlNFbnZpcm9ubWVudFJlY29y
ZC5jcHAgKi8sCisJCQkJMTRGMjUyNTYwRDA4REQ4RDAwNEVDRkZGIC8qIEpTRW52aXJvbm1lbnRS
ZWNvcmQuaCAqLywKKwkJCQlBN0I0QUNBRTE0ODRDOUNFMDBCMzhBMzYgLyogSlNFeHBvcnRNYWNy
b3MuaCAqLywKKwkJCQkwRjJCNjZDMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDMyQXJyYXku
aCAqLywKKwkJCQkwRjJCNjZDMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCAq
LywKKwkJCQlGNjkyQTg1RTAyNTU1OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5jcHAgKi8sCisJ
CQkJRjY5MkE4NUYwMjU1NTk3RDAxRkY2MEY3IC8qIEpTRnVuY3Rpb24uaCAqLywKKwkJCQlBNzIw
MjhCOTE3OTc2MDNEMDA5ODAyOEMgLyogSlNGdW5jdGlvbklubGluZXMuaCAqLywKKwkJCQkwRkQ5
NDk4MDFBOTdEQjk2MDBFMjg5NjYgLyogSlNGdW5jdGlvbk5hbWVTY29wZS5jcHAgKi8sCisJCQkJ
MEZEOTQ5ODExQTk3REI5NjAwRTI4OTY2IC8qIEpTRnVuY3Rpb25OYW1lU2NvcGUuaCAqLywKKwkJ
CQkwRjJCNjZDMzE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaCAq
LywKKwkJCQkwRjJCNjZDNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3Rvci5oICovLAorCQkJCTBGMkI2NkM1MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oICovLAorCQkJCTBGMkI2NkM2
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLywK
KwkJCQkwRjJCNjZDNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaCAqLywKKwkJCQkwRjJCNjZDODE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggKi8sCisJCQkJMTRERTBENjgwRDAyNDMx
NDAwQUFDQ0EyIC8qIEpTR2xvYmFsT2JqZWN0LmNwcCAqLywKKwkJCQlBOEU4OTQzMzBDRDA2MDNG
MDAzNjcxNzkgLyogSlNHbG9iYWxPYmplY3QuaCAqLywKKwkJCQlBNTk0NTU5MDE4MjQ3NDQ3MDBD
QzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcCAqLywKKwkJCQlBNTk0NTU5MTE4
MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi8sCisJCQkJQkM3
NTZGQzYwRTIwMzFCMjAwREU3RDEyIC8qIEpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCAqLywK
KwkJCQlCQzc1NkZDNzBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
aCAqLywKKwkJCQkwRjJCNjZDOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQ4QXJyYXkuaCAqLywK
KwkJCQkwRjJCNjZDQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi8sCisJCQkJ
MEYyQjY2Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovLAorCQkJCTE0REE4
MThGMEQ5OUZEMjAwMEIwQTRGQiAvKiBKU0xleGljYWxFbnZpcm9ubWVudC5jcHAgKi8sCisJCQkJ
MTREQTgxOEUwRDk5RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmggKi8sCisJ
CQkJNjVFQTRDOTkwOTJBRjlFMjAwOTNEODAwIC8qIEpTTG9jay5jcHAgKi8sCisJCQkJNjVFQTRD
OUEwOTJBRjlFMjAwOTNEODAwIC8qIEpTTG9jay5oICovLAorCQkJCUE3MDA4NzNGMTdDQkU4RUIw
MEMzRTY0MyAvKiBKU01hcC5jcHAgKi8sCisJCQkJQTcwMDg3NDAxN0NCRThFQjAwQzNFNjQzIC8q
IEpTTWFwLmggKi8sCisJCQkJQTc0REVGOEYxODJEOTkxNDAwNTIyQzIyIC8qIEpTTWFwSXRlcmF0
b3IuY3BwICovLAorCQkJCUE3NERFRjkwMTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9y
LmggKi8sCisJCQkJMTQ4NzRBREYxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCAq
LywKKwkJCQkxNDg3NEFFMDE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLywKKwkJ
CQlBNzI3MDA3ODBEQUM2MDU2MDBFNTQ4RDcgLyogSlNOb3RBbk9iamVjdC5jcHAgKi8sCisJCQkJ
QTcyNzAwNzcwREFDNjA1NjAwRTU0OEQ3IC8qIEpTTm90QW5PYmplY3QuaCAqLywKKwkJCQlCQzIy
QTM5ODBFMTZFMTQ4MDBBRjIxQzggLyogSlNPYmplY3QuY3BwICovLAorCQkJCUJDMjJBMzk5MEUx
NkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5oICovLAorCQkJCUE3Rjk5MzVFMEZENzMyNTEwMEEw
QjJEMCAvKiBKU09OT2JqZWN0LmNwcCAqLywKKwkJCQlBN0Y5OTM1RDBGRDczMjUxMDBBMEIyRDAg
LyogSlNPTk9iamVjdC5oICovLAorCQkJCTdDMTg0RTE4MTdCRURCRDMwMDdDQjYzQSAvKiBKU1By
b21pc2UuY3BwICovLAorCQkJCTdDMTg0RTE5MTdCRURCRDMwMDdDQjYzQSAvKiBKU1Byb21pc2Uu
aCAqLywKKwkJCQk3QzE4NEUyMDE3QkVFMjQwMDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0
b3IuY3BwICovLAorCQkJCTdDMTg0RTIxMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25z
dHJ1Y3Rvci5oICovLAorCQkJCTdDMDA4Q0Q4MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VE
ZWZlcnJlZC5jcHAgKi8sCisJCQkJN0MwMDhDRDkxODcxMjRCQjAwOTU1QzI0IC8qIEpTUHJvbWlz
ZURlZmVycmVkLmggKi8sCisJCQkJN0MwMDhDRDAxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlz
ZUZ1bmN0aW9ucy5jcHAgKi8sCisJCQkJN0MwMDhDRDExODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJv
bWlzZUZ1bmN0aW9ucy5oICovLAorCQkJCTdDMTg0RTFDMTdCRUUyMkUwMDdDQjYzQSAvKiBKU1By
b21pc2VQcm90b3R5cGUuY3BwICovLAorCQkJCTdDMTg0RTFEMTdCRUUyMkUwMDdDQjYzQSAvKiBK
U1Byb21pc2VQcm90b3R5cGUuaCAqLywKKwkJCQk3QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyog
SlNQcm9taXNlUmVhY3Rpb24uY3BwICovLAorCQkJCTdDMDA4Q0REMTg3MTI1OEQwMDk1NUMyNCAv
KiBKU1Byb21pc2VSZWFjdGlvbi5oICovLAorCQkJCTJBMDVBQkQzMTk2MURGMjQwMDM0MTc1MCAv
KiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwICovLAorCQkJCTJBMDVBQkQ0MTk2MURGMjQw
MDM0MTc1MCAvKiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCAqLywKKwkJCQk4NjI1NTNDRTE2
MTM2QUE1MDA5RjE3RDAgLyogSlNQcm94eS5jcHAgKi8sCisJCQkJODYyNTUzQ0YxNjEzNkFBNTAw
OUYxN0QwIC8qIEpTUHJveHkuaCAqLywKKwkJCQkxNDg3NEFFMTE1RUJERTRBMDAyRTM1ODcgLyog
SlNTY29wZS5jcHAgKi8sCisJCQkJMTQ4NzRBRTIxNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUu
aCAqLywKKwkJCQkwRjkxOUQwRTE1N0YzMzI3MDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5jcHAgKi8sCisJCQkJMEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3QuaCAqLywKKwkJCQlBNzI5OUQ5QjE3RDEyODM3MDA1RjVGRjkgLyog
SlNTZXQuY3BwICovLAorCQkJCUE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICov
LAorCQkJCUE3OTBERDY5MTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCAqLywK
KwkJCQlBNzkwREQ2QTE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5oICovLAorCQkJ
CUJDMDJFOUI2MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8sCisJCQkJRjY5MkE4
NjIwMjU1NTk3RDAxRkY2MEY3IC8qIEpTU3RyaW5nLmggKi8sCisJCQkJODZFODU1MzgxMTFCOTk2
ODAwMUFGNTFFIC8qIEpTU3RyaW5nQnVpbGRlci5oICovLAorCQkJCTcwRUMwRUJDMUFBMEQ3REEw
MEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCAqLywKKwkJCQk3MEVDMEVCRDFBQTBEN0RB
MDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5oICovLAorCQkJCTI2MDBCNUE0MTUyQkFBQTcw
MDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5jcHAgKi8sCisJCQkJMjYwMEI1QTUxNTJCQUFBNzAw
OTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVyLmggKi8sCisJCQkJMEY5MTlEMDkxNTdFRTA5RDAwNEE0
RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuY3BwICovLAorCQkJCTBGOTE5RDBBMTU3RUUwOUQw
MDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggKi8sCisJCQkJNzBFQ0E2MDAxQUZEQkVB
MjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHAgKi8sCisJCQkJNzBFQ0E2MDEx
QUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5oICovLAorCQkJCTE0QUJC
NDU0MDk5QzJBMEYwMEUyQTI0RiAvKiBKU1R5cGUuaCAqLywKKwkJCQkwRjJCNjZDQzE3QjZCNUFC
MDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcCAqLywKKwkJCQkwRjJCNjZD
RDE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmggKi8sCisJCQkJ
MEYyQjY2Q0UxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwICov
LAorCQkJCTBGMkI2NkNGMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVz
LmggKi8sCisJCQkJMEYyQjY2RDAxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuY3Bw
ICovLAorCQkJCTBGMkI2NkQxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmggKi8s
CisJCQkJNjUwN0QyOTcwRTg3MUU0QTAwRDdEODk2IC8qIEpTVHlwZUluZm8uaCAqLywKKwkJCQkw
RjJCNjZEMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggKi8sCisJCQkJMEYyQjY2
RDMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDhDbGFtcGVkQXJyYXkuaCAqLywKKwkJCQkwRjJC
NjZENDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oICovLAorCQkJCTBGMkI2NkQ1
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQzMkFycmF5LmggKi8sCisJCQkJQTdDQTNBRTExN0RB
NDFBRTAwNjUzOEFGIC8qIEpTV2Vha01hcC5jcHAgKi8sCisJCQkJQTdDQTNBRTIxN0RBNDFBRTAw
NjUzOEFGIC8qIEpTV2Vha01hcC5oICovLAorCQkJCTcwOUZCODYxMUFFMzM1QzYwMDM5RDA2OSAv
KiBKU1dlYWtTZXQuY3BwICovLAorCQkJCTcwOUZCODYyMUFFMzM1QzYwMDM5RDA2OSAvKiBKU1dl
YWtTZXQuaCAqLywKKwkJCQkxNDQyNTY1RjE1RURFOThEMDA2NkE0OUIgLyogSlNXaXRoU2NvcGUu
Y3BwICovLAorCQkJCTE0NDI1NjYwMTVFREU5OEQwMDY2QTQ5QiAvKiBKU1dpdGhTY29wZS5oICov
LAorCQkJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3BwICov
LAorCQkJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLywK
KwkJCQlBN0UyRUE2QTBGQjQ2MENGMDA2MDFGMDYgLyogTGl0ZXJhbFBhcnNlci5jcHAgKi8sCisJ
CQkJQTdFMkVBNjkwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJzZXIuaCAqLywKKwkJCQlG
NjkyQTg2ODAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmNwcCAqLywKKwkJCQlGNjkyQTg2OTAy
NTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmggKi8sCisJCQkJQTcwMDg3MzcxN0NCRTg1MzAwQzNF
NjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLywKKwkJCQlBNzAwODczODE3Q0JFODUzMDBDM0U2
NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLywKKwkJCQlBNzg1MDdENTE3Q0JDNkZEMDAxMUY2RTcg
LyogTWFwRGF0YS5oICovLAorCQkJCTU5M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBEYXRh
SW5saW5lcy5oICovLAorCQkJCUE3NERFRjhEMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRv
clByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTc0REVGOEUxODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0
ZXJhdG9yUHJvdG90eXBlLmggKi8sCisJCQkJQTcwMDg3M0IxN0NCRThEMzAwQzNFNjQzIC8qIE1h
cFByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTcwMDg3M0MxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFBy
b3RvdHlwZS5oICovLAorCQkJCTg2MTJFNENCMTUyMjkxODQwMEM4MzZCRSAvKiBNYXRjaFJlc3Vs
dC5oICovLAorCQkJCTQzNDBBNDgyMUE5MDUxQUYwMEQ3M0NDQSAvKiBNYXRoQ29tbW9uLmNwcCAq
LywKKwkJCQk0MzQwQTQ4MzFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENvbW1vbi5oICovLAorCQkJ
CUY2OTJBODZBMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmNwcCAqLywKKwkJCQlGNjky
QTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovLAorCQkJCTkwMjEzRTNCMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLywKKwkJCQk5MDIxM0UzQzEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovLAorCQkJCTdDMDA4Q0U1MTg3
NjMxQjYwMDk1NUMyNCAvKiBNaWNyb3Rhc2suaCAqLywKKwkJCQlCQzAyRTkwODBFMTgzOURCMDAw
RjkyOTcgLyogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQkMwMkU5MDkwRTE4
MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCAqLywKKwkJCQlCQzAyRTkw
QTBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
MDJFOTBCMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5oICovLAorCQkJ
CTY1NDZGNTFGMUEzMkE1OUMwMDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uY3BwICovLAor
CQkJCTY1NDZGNTIwMUEzMkE1OUMwMDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uaCAqLywK
KwkJCQk2NTUyNUZDMzFBNkREM0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmNwcCAq
LywKKwkJCQk2NTUyNUZDNDFBNkREM0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmgg
Ki8sCisJCQkJQkMyNjgwQzIwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmNw
cCAqLywKKwkJCQlCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLywKKwkJCQlGNjkyQTg3MDAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmNwcCAq
LywKKwkJCQlGNjkyQTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi8sCisJ
CQkJQkMyNjgwQzQwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5jcHAgKi8sCisJ
CQkJQkMyNjgwQzUwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5oICovLAorCQkJ
CTE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBOdW1lcmljU3RyaW5ncy5oICovLAorCQkJCUJD
MjY4MEM2MEUxNkQ0RTkwMEEwNkU5MiAvKiBPYmplY3RDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJ
QkMyNjgwQzcwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdENvbnN0cnVjdG9yLmggKi8sCisJCQkJ
QkMyNjgwQzgwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5jcHAgKi8sCisJCQkJ
QkMyNjgwQzkwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5oICovLAorCQkJCUY2
OTJBODc3MDI1NTU5N0QwMUZGNjBGNyAvKiBPcGVyYXRpb25zLmNwcCAqLywKKwkJCQlGNjkyQTg3
ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovLAorCQkJCTBGRTIyOEVBMTQzNkFC
MjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLywKKwkJCQkwRkUyMjhFQjE0MzZBQjIzMDAxOTZD
NDggLyogT3B0aW9ucy5oICovLAorCQkJCTg2ODkxNkE5MTU1RjI4NTQwMENCMkI5QSAvKiBQcml2
YXRlTmFtZS5oICovLAorCQkJCUE3RkI2MEEzMTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURl
c2NyaXB0b3IuY3BwICovLAorCQkJCUE3RkI2MDRCMTAzRjVFQUIwMDE3QTI4NiAvKiBQcm9wZXJ0
eURlc2NyaXB0b3IuaCAqLywKKwkJCQlCQzk1NDM3QzBFQkE3MEZEMDA3MkI2RDMgLyogUHJvcGVy
dHlNYXBIYXNoVGFibGUuaCAqLywKKwkJCQk4NjE1OEFCMjE1NUM4QjNGMDBCNDVDOUMgLyogUHJv
cGVydHlOYW1lLmggKi8sCisJCQkJNjU0MDBDMTAwQTY5QkFGMjAwNTA5ODg3IC8qIFByb3BlcnR5
TmFtZUFycmF5LmggKi8sCisJCQkJMEZGNzE2OEExNUEzQjIzMTAwOEY1REFBIC8qIFByb3BlcnR5
T2Zmc2V0LmggKi8sCisJCQkJNjU2MjFFNkIwODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xv
dC5jcHAgKi8sCisJCQkJNjU2MjFFNkMwODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xvdC5o
ICovLAorCQkJCTBGQjdGMzkwMTVFRDhFMzgwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCAq
LywKKwkJCQlBRDFDRjA2ODE2RENBQjJEMDBCOTcxMjMgLyogUHJvcGVydHlUYWJsZS5jcHAgKi8s
CisJCQkJNjVDMDJGQkIwNjM3NDYyQTAwM0U3RUU2IC8qIFByb3RlY3QuaCAqLywKKwkJCQkxNEQ4
NDRBMjE2QUEyQzcwMDBBNjVBRjAgLyogUHJvdG90eXBlTWFwLmNwcCAqLywKKwkJCQkxNEQ4NDRB
MzE2QUEyQzcwMDBBNjVBRjAgLyogUHJvdG90eXBlTWFwLmggKi8sCisJCQkJMEY1NzgwQTExOEZF
MUU5ODAwMUU3MkQ5IC8qIFB1cmVOYU4uaCAqLywKKwkJCQkwRjBDRDRDMDE1RjFBNjA0MDAzMkYx
QzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi8sCisJCQkJMTQ3Qjg0NjIwRTZERTZCMTAwNDc3
NUE0IC8qIFB1dFByb3BlcnR5U2xvdC5oICovLAorCQkJCUY2OTJBODdEMDI1NTU5N0QwMUZGNjBG
NyAvKiBSZWdFeHAuY3BwICovLAorCQkJCUY2OTJBODdFMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdF
eHAuaCAqLywKKwkJCQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuY3Bw
ICovLAorCQkJCUExNzEyQjNFMTFDN0IyMjgwMDdBNTMxNSAvKiBSZWdFeHBDYWNoZS5oICovLAor
CQkJCTg2Rjc1RUZCMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBDYWNoZWRSZXN1bHQuY3BwICov
LAorCQkJCTg2Rjc1RUZDMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBDYWNoZWRSZXN1bHQuaCAq
LywKKwkJCQlCQ0QyMDJCRDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuY3Bw
ICovLAorCQkJCUJDRDIwMkJFMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5o
ICovLAorCQkJCUExNzEyQjQwMTFDN0IyMzUwMDdBNTMxNSAvKiBSZWdFeHBLZXkuaCAqLywKKwkJ
CQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLywK
KwkJCQk5M0NFRERGQjBFQTkxRUU2MDAyNThFQkUgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmggKi8s
CisJCQkJRjY5MkE4N0IwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5jcHAgKi8sCisJ
CQkJRjY5MkE4N0MwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5oICovLAorCQkJCUJD
RDIwMkJGMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
RDIwMkMwMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuaCAqLywKKwkJCQkwRjZC
MUNCODE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggKi8sCisJ
CQkJMEZCN0YzOTExNUVEOEUzODAwRjE2N0IyIC8qIFJlamVjdC5oICovLAorCQkJCTcwQjBBOUQw
MUE5QjY2MjAwMDAxMzA2QSAvKiBSdW50aW1lRmxhZ3MuaCAqLywKKwkJCQk1Mjc3NzNERDFBQUY4
M0FDMDBCREU3RTggLyogUnVudGltZVR5cGUuY3BwICovLAorCQkJCTUyQzA2MTFEMUFBNTFFMUIw
MEI0QURCQSAvKiBSdW50aW1lVHlwZS5oICovLAorCQkJCTBGNzcwMDkxMTQwMkZGMjgwMDc4RUIz
OSAvKiBTYW1wbGluZ0NvdW50ZXIuY3BwICovLAorCQkJCTBGNzcwMDhFMTQwMkZERDYwMDc4RUIz
OSAvKiBTYW1wbGluZ0NvdW50ZXIuaCAqLywKKwkJCQkwRkUwNTAxRTFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmNwcCAqLywKKwkJCQkwRkUwNTAxRjFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmggKi8sCisJCQkJMEZFMDUwMkUxQUFBODA2OTAwRDMzQjMzIC8q
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmNwcCAqLywKKwkJCQkwRkUwNTAyMDFBQTkwOTU2MDBEMzNC
MzMgLyogU2NvcGVkQXJndW1lbnRzVGFibGUuaCAqLywKKwkJCQkwRkUwNTAyMTFBQTkwOTU2MDBE
MzNCMzMgLyogU2NvcGVPZmZzZXQuY3BwICovLAorCQkJCTBGRTA1MDIyMUFBOTA5NTYwMEQzM0Iz
MyAvKiBTY29wZU9mZnNldC5oICovLAorCQkJCUE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAvKiBT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQTcyOTlEQTQxN0QxMjg1ODAwNUY1RkY5IC8qIFNl
dENvbnN0cnVjdG9yLmggKi8sCisJCQkJQTc5MERENjcxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0
ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBNzkwREQ2ODE4MkY0OTk3MDA1ODg4MDcgLyog
U2V0SXRlcmF0b3JQcm90b3R5cGUuaCAqLywKKwkJCQlBNzI5OUQ5RjE3RDEyODQ4MDA1RjVGRjkg
LyogU2V0UHJvdG90eXBlLmNwcCAqLywKKwkJCQlBNzI5OURBMDE3RDEyODQ4MDA1RjVGRjkgLyog
U2V0UHJvdG90eXBlLmggKi8sCisJCQkJMEYyQjY2RDYxN0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBs
ZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLywKKwkJCQkwRjJCNjZENzE3QjZCNUFCMDBBN0FF
M0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKKwkJCQk5MzMwM0ZFODBFNkE3
MkI1MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNwcCAqLywKKwkJCQk5MzMwM0ZFQTBFNkE3MkMw
MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggKi8sCisJCQkJMEYwQ0Q0QzMxNUY2QjZCNTAwMzJG
MUMwIC8qIFNwYXJzZUFycmF5VmFsdWVNYXAuY3BwICovLAorCQkJCTBGQjdGMzkyMTVFRDhFMzgw
MEYxNjdCMiAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmggKi8sCisJCQkJMEYzQUM3NTExODNFQTEw
NDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50LmggKi8sCisJCQkJQTczMEI2MTExMjUwMDY4RjAw
OUQyNUIxIC8qIFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcCAqLywKKwkJCQlBNzMwQjYxMDEyNTAw
NjhGMDA5RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCAqLywKKwkJCQlCQzE4QzNDMDBF
MTZFRTMzMDBCMzQ0NjAgLyogU3RyaW5nQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMThDM0Mx
MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5oICovLAorCQkJCTcwRUMwRUMw
MUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8sCisJCQkJ
NzBFQzBFQzExQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmggKi8s
CisJCQkJQkMxOEMzQzIwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5jcHAgKi8sCisJ
CQkJQkMxOEMzQzMwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5oICovLAorCQkJCUJD
MThDM0M1MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
MThDM0M2MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCAqLywKKwkJCQk5MzM0
NUE4NzEyRDgzOEM0MDAzMDJCRTMgLyogU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAgKi8sCisJ
CQkJOTMzNDVBODgxMkQ4MzhDNDAwMzAyQkUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuaCAq
LywKKwkJCQlCQ0RFM0FCMDBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmNwcCAqLywKKwkJ
CQlCQ0RFM0FCMTBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmggKi8sCisJCQkJN0U0RUU3
MEUwRUJCN0E1QjAwNTkzNEFBIC8qIFN0cnVjdHVyZUNoYWluLmNwcCAqLywKKwkJCQk3RTRFRTcw
ODBFQkI3OTYzMDA1OTM0QUEgLyogU3RydWN0dXJlQ2hhaW4uaCAqLywKKwkJCQkyQUFBQTMxMDE4
QkQ0OUQxMDAzOTRDQzggLyogU3RydWN0dXJlSURCbG9iLmggKi8sCisJCQkJMkFGNzM4MkExOEJC
QkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwICovLAorCQkJCTJBRjczODJCMThC
QkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi8sCisJCQkJMEZEMkM5MjMxNkQw
MUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLywKKwkJCQlDMkYwRjJEMDE2QkFF
RUU5MDAxODdDMTkgLyogU3RydWN0dXJlUmFyZURhdGEuY3BwICovLAorCQkJCUMyRkUxOEEzMTZC
QUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5oICovLAorCQkJCUMyMEJBOTJDMTZC
QjFDMTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLywKKwkJCQlCQzkw
NDE0NzBFQjkyNTA5MDBGRTI2RkEgLyogU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggKi8sCisJ
CQkJNzA1QjQxQTMxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5jcHAgKi8sCisJCQkJNzA1QjQx
QTQxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovLAorCQkJCTcwNUI0MUE1MUE2RTUwMUUw
MDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJNzA1QjQxQTYxQTZFNTAx
RTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVjdG9yLmggKi8sCisJCQkJNzA1QjQxQTcxQTZFNTAx
RTAwNzE2NzU3IC8qIFN5bWJvbE9iamVjdC5jcHAgKi8sCisJCQkJNzA1QjQxQTgxQTZFNTAxRTAw
NzE2NzU3IC8qIFN5bWJvbE9iamVjdC5oICovLAorCQkJCTcwNUI0MUE5MUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xQcm90b3R5cGUuY3BwICovLAorCQkJCTcwNUI0MUFBMUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xQcm90b3R5cGUuaCAqLywKKwkJCQkwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0Qg
LyogU3ltYm9sVGFibGUuY3BwICovLAorCQkJCTE0QTM5NkE2MENEMjkzMzEwMEI1QjRGRiAvKiBT
eW1ib2xUYWJsZS5oICovLAorCQkJCTcwRUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0
ZVJlZ2lzdHJ5LmNwcCAqLywKKwkJCQk3MEVDQTYwMzFBRkRCRUEyMDA0NDk3MzkgLyogVGVtcGxh
dGVSZWdpc3RyeS5oICovLAorCQkJCTcwRUNBNjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0
ZVJlZ2lzdHJ5S2V5LmggKi8sCisJCQkJMEZBMkMxNzkxN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RS
dW5uZXJVdGlscy5jcHAgKi8sCisJCQkJMEZBMkMxN0ExN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RS
dW5uZXJVdGlscy5oICovLAorCQkJCTBGNTU5ODk3MTdDODZDNTYwMEExRTU0MyAvKiBUb05hdGl2
ZUZyb21WYWx1ZS5oICovLAorCQkJCTVENTM3MjZEMEUxQzU0NkIwMDIxRTU0OSAvKiBUcmFjaW5n
LmQgKi8sCisJCQkJNUQ1MzcyNkUwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRyYWNpbmcuaCAqLywKKwkJ
CQkwRjJCNjZEODE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUFkYXB0b3JzLmggKi8sCisJ
CQkJMEYyQjY2RDkxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAq
LywKKwkJCQkwRjJCNjZEQTE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIu
aCAqLywKKwkJCQkwRjRCOTREQjE3QjlGMDc1MDBERDAzQTQgLyogVHlwZWRBcnJheUlubGluZXMu
aCAqLywKKwkJCQkwRjJCNjZEQjE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheXMuaCAqLywK
KwkJCQkwRjJCNjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwICovLAor
CQkJCTBGMkI2NkREMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oICovLAorCQkJ
CTUyQjMxMEZFMTk3NUI0MjQwMDgwODU3QyAvKiBUeXBlTG9jYXRpb25DYWNoZS5jcHAgKi8sCisJ
CQkJNTJCMzExMDAxOTc1QjQ2NzAwODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmggKi8sCisJ
CQkJMEZGQjZDMzYxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5cGUuY3BwICovLAorCQkJCTBG
RkI2QzM3MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmggKi8sCisJCQkJNTJDOTUyQjgx
OUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgKi8sCisJCQkJNTJDOTUyQjYxOUEy
ODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oICovLAorCQkJCTBGMkQ0RERGMTk4MzJEOTEw
MDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuY3BwICovLAorCQkJCTBGMkQ0REUwMTk4MzJEOTEw
MDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuaCAqLywKKwkJCQkwRjJENERFMzE5ODMyRDkxMDA3
RDRCMTkgLyogVHlwZVNldC5jcHAgKi8sCisJCQkJMEYyRDRERTQxOTgzMkQ5MTAwN0Q0QjE5IC8q
IFR5cGVTZXQuaCAqLywKKwkJCQlBN0E4QUYzMDE3QURCNUYzMDA1QUIxNzQgLyogVWludDhBcnJh
eS5oICovLAorCQkJCUE3QThBRjMxMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRBcnJh
eS5oICovLAorCQkJCUE3QThBRjMyMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MTZBcnJheS5oICov
LAorCQkJCTg2NjczOUQxMTNCRkRFNzEwMDIzRDg3QyAvKiBVaW50MTZXaXRoRnJhY3Rpb24uaCAq
LywKKwkJCQlBN0E4QUYzMzE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCAqLywKKwkJ
CQkwRkUwNTAyMzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmNwcCAqLywKKwkJCQkwRkUw
NTAyNDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggKi8sCisJCQkJRTE4RTNBNTcwREY5
Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAqLywKKwkJCQlFMThFM0E1NjBERjkyNzhDMDBEOTBCMzQg
LyogVk0uaCAqLywKKwkJCQlGRTU5MzJBNTE4M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3Bl
LmNwcCAqLywKKwkJCQlGRTU5MzJBNjE4M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3BlLmgg
Ki8sCisJCQkJRkVEOTRGMkIxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmNwcCAqLywKKwkJ
CQlGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLywKKwkJCQlGRUQ5NEYy
RDE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2dNYWMuY3BwICovLAorCQkJCTE0QkZDRTY4MTBD
REIxRkMwMDM2NENDRSAvKiBXZWFrR0NNYXAuaCAqLywKKwkJCQlBRDg2QTkzRDFBQTREODdDMDAy
RkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovLAorCQkJCUE3Q0EzQUREMTdEQTQxQUUwMDY1
MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUE3Q0EzQURFMTdEQTQxQUUw
MDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCAqLywKKwkJCQlBN0NBM0FFOTE3REE1MTY4
MDA2NTM4QUYgLyogV2Vha01hcERhdGEuY3BwICovLAorCQkJCUE3Q0EzQUVBMTdEQTUxNjgwMDY1
MzhBRiAvKiBXZWFrTWFwRGF0YS5oICovLAorCQkJCUE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAv
KiBXZWFrTWFwUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBN0NBM0FFMDE3REE0MUFFMDA2NTM4QUYg
LyogV2Vha01hcFByb3RvdHlwZS5oICovLAorCQkJCTE0MjBCRTdBMTBBQTZEREIwMEY0NTVEMiAv
KiBXZWFrUmFuZG9tLmggKi8sCisJCQkJNzA5RkI4NjMxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJNzA5RkI4NjQxQUUzMzVDNjAwMzlEMDY5IC8qIFdl
YWtTZXRDb25zdHJ1Y3Rvci5oICovLAorCQkJCTcwOUZCODY1MUFFMzM1QzYwMDM5RDA2OSAvKiBX
ZWFrU2V0UHJvdG90eXBlLmNwcCAqLywKKwkJCQk3MDlGQjg2NjFBRTMzNUM2MDAzOUQwNjkgLyog
V2Vha1NldFByb3RvdHlwZS5oICovLAorCQkJCUE3RENCNzc5MTJFM0Q5MDUwMDkxMTk0MCAvKiBX
cml0ZUJhcnJpZXIuaCAqLywKKwkJCQlDMkI2RDc1MjE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVC
YXJyaWVySW5saW5lcy5oICovLAorCQkJKTsKKwkJCXBhdGggPSBydW50aW1lOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJODYwM0NFRjAxNEM3NTNFRjAwQUU1OUUzIC8qIHRv
b2xzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4NkI1
ODIyRTE0RDIzNzNCMDBBOUMzMDYgLyogQ29kZVByb2ZpbGUuY3BwICovLAorCQkJCTg2QjU4MjJG
MTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5oICovLAorCQkJCTg2MDNDRUYyMTRDNzU0
NjQwMEFFNTlFMyAvKiBDb2RlUHJvZmlsaW5nLmNwcCAqLywKKwkJCQk4NjAzQ0VGMzE0Qzc1NDY0
MDBBRTU5RTMgLyogQ29kZVByb2ZpbGluZy5oICovLAorCQkJCUZFNEJGRjI5MUFENDc2RTcwMDA4
OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgKi8sCisJCQkJRkU0QkZGMkExQUQ0NzZFNzAw
MDg4Rjg3IC8qIEZ1bmN0aW9uT3ZlcnJpZGVzLmggKi8sCisJCQkJRkUzODRFRTExQUREQjdBRDAw
NTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICovLAorCQkJCUZFMzg0RUUyMUFEREI3QUQwMDU1REUy
QyAvKiBKU0RvbGxhclZNLmggKi8sCisJCQkJRkUzODRFRTMxQUREQjdBRDAwNTVERTJDIC8qIEpT
RG9sbGFyVk1Qcm90b3R5cGUuY3BwICovLAorCQkJCUZFMzg0RUU0MUFEREI3QUQwMDU1REUyQyAv
KiBKU0RvbGxhclZNUHJvdG90eXBlLmggKi8sCisJCQkJODZCNTgyMkMxNEQyMkY1RjAwQTlDMzA2
IC8qIFByb2ZpbGVUcmVlTm9kZS5oICovLAorCQkJCTg2QjU4MjZBMTREMzVENTEwMEE5QzMwNiAv
KiBUaWVyZWRNTWFwQXJyYXkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gdG9vbHM7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk4NkVBQzQ4QzBGOTNFOEI5MDA4RUM5NDggLyog
eWFyciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTU3
RDIzRUIxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCAqLywKKwkJCQlB
NTdEMjNFQzE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLywKKwkJCQk0
NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovLAorCQkJCTg2M0M2RDk4MTUyMTEx
MTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAgKi8sCisJCQkJODYzQzZEOTkx
NTIxMTExMjAwNTg1RTRFIC8qIFlhcnJDYW5vbmljYWxpemVVQ1MyLmggKi8sCisJCQkJODYzQzZE
OUExNTIxMTExMjAwNTg1RTRFIC8qIFlhcnJDYW5vbmljYWxpemVVQ1MyLmpzICovLAorCQkJCTg2
NzA0QjdEMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuY3BwICovLAorCQkJCTg2
NzA0QjdFMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuaCAqLywKKwkJCQk4Njcw
NEI3RjEyREJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgKi8sCisJCQkJODY3MDRCODAxMkRC
QTMzNzAwQTlGRTdCIC8qIFlhcnJKSVQuaCAqLywKKwkJCQk4NjcwNEI4MTEyREJBMzM3MDBBOUZF
N0IgLyogWWFyclBhcnNlci5oICovLAorCQkJCTg2NzA0QjgyMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5jcHAgKi8sCisJCQkJODY3MDRCODMxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQ
YXR0ZXJuLmggKi8sCisJCQkJODY3MDRCNDAxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhD
aGVja2VyLmNwcCAqLywKKwkJCQk4NjcwNEI0MTEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRh
eENoZWNrZXIuaCAqLywKKwkJCSk7CisJCQluYW1lID0geWFycjsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTg2RUM5REIzMTMyOERGNDQwMDJCMkFENyAvKiBkZmcgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE3N0E0MjM2MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuY3BwICovLAorCQkJCUE3N0E0MjM3MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLywKKwkJCQlBNzA0RDhGRTE3QTBCQUE4
MDA2QkE1NTQgLyogREZHQWJzdHJhY3RJbnRlcnByZXRlci5oICovLAorCQkJCUE3MDREOEZGMTdB
MEJBQTgwMDZCQTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oICovLAorCQkJ
CTBGNTVDMTkzMTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0cmFjdFZhbHVlLmNwcCAqLywKKwkJ
CQkwRjYyMDE2RjE0M0ZDRDJGMDA2OEI3N0MgLyogREZHQWJzdHJhY3RWYWx1ZS5oICovLAorCQkJ
CTBGNjZFMTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi8sCisJCQkJ
MEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovLAorCQkJCUE3Mzc4
MTA5MTc5OUVBMkUwMDgxNzUzMyAvKiBERkdBbmFseXNpcy5oICovLAorCQkJCTBGMUUzQTQzMTUz
NENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi8sCisJCQkJMEYyREQ4MEMx
QUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwICovLAor
CQkJCTBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlvblBo
YXNlLmggKi8sCisJCQkJMEYyREQ4MEUxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0
aWxpdGllcy5jcHAgKi8sCisJCQkJMEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3Vt
ZW50c1V0aWxpdGllcy5oICovLAorCQkJCTBGNDg1MzFGMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdB
cml0aE1vZGUuY3BwICovLAorCQkJCTBGNDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0
aE1vZGUuaCAqLywKKwkJCQkwRjA1QzNCMjE2ODNDRjhGMDBCQUY0NUIgLyogREZHQXJyYXlpZnlT
bG93UGF0aEdlbmVyYXRvci5oICovLAorCQkJCTBGNjM5NDgxMTVFNDgxMTQwMDZBNTk3QyAvKiBE
RkdBcnJheU1vZGUuY3BwICovLAorCQkJCTBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdB
cnJheU1vZGUuaCAqLywKKwkJCQlBN0Q5QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWls
QWJzdHJhY3RTdGF0ZS5jcHAgKi8sCisJCQkJQTdEOUEyOTAxN0EwQkM3NDAwRUUyNjE4IC8qIERG
R0F0VGFpbEFic3RyYWN0U3RhdGUuaCAqLywKKwkJCQkwRjY2NkVDMjE4MzU2NzJCMDBEMDE3RjEg
LyogREZHQXZhaWxhYmlsaXR5LmNwcCAqLywKKwkJCQkwRjY2NkVDMzE4MzU2NzJCMDBEMDE3RjEg
LyogREZHQXZhaWxhYmlsaXR5LmggKi8sCisJCQkJMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0F2YWlsYWJpbGl0eU1hcC5jcHAgKi8sCisJCQkJMEYyQjlDRDcxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR0F2YWlsYWJpbGl0eU1hcC5oICovLAorCQkJCTBGNzE0Q0ExMTZFQTkyRUQwMEYzRUJF
QiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRjcxNENBMjE2
RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oICovLAorCQkJ
CUE3RDg5Q0UzMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCYXNpY0Jsb2NrLmNwcCAqLywKKwkJCQkw
RjYyMDE3MDE0M0ZDRDJGMDA2OEI3N0MgLyogREZHQmFzaWNCbG9jay5oICovLAorCQkJCTBGRDU2
NTIyMTZBQjc4MEEwMDE5NzY1MyAvKiBERkdCYXNpY0Jsb2NrSW5saW5lcy5oICovLAorCQkJCUE3
RDg5Q0U0MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5jcHAgKi8sCisJ
CQkJQTdEODlDRTUxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5zZXJ0aW9uU2V0LmggKi8s
CisJCQkJMEZDM0NDRjUxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrTWFwLmggKi8sCisJCQkJ
MEZDM0NDRjYxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrTWFwSW5saW5lcy5oICovLAorCQkJ
CTBGQkYxNThBMTlCN0E1MzEwMDY5NUREMCAvKiBERkdCbG9ja1NldC5jcHAgKi8sCisJCQkJMEZD
M0NDRjcxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrU2V0LmggKi8sCisJCQkJMEZCRjE1OEIx
OUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oICovLAorCQkJCTBGQzNDQ0Y4
MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCAqLywKKwkJCQkwRkMzQ0NG
OTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tXb3JrbGlzdC5oICovLAorCQkJCTBGODM2NEI1
MTY0QjBDMEUwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCAqLywKKwkJCQk4NkVDOURC
NDEzMjhERjgyMDAyQjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuY3BwICovLAorCQkJCTg2RUM5
REI1MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5oICovLAorCQkJCTBGMjU2
QzM0MTYyN0IwQUEwMDdGMjc4MyAvKiBERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVy
YXRvci5oICovLAorCQkJCTBGQkRCOUFDMUFCMEZCQzYwMDBCNTdFNSAvKiBERkdDYWxsQ3JlYXRl
RGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaCAqLywKKwkJCQkwRkQ4MkUxRTE0MTcy
QzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJCQkwRkQ4MkUxRjE0MTcy
QzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi8sCisJCQkJMEZGRkM5NEIxNEVGOTA5
NTAwQzcyNTMyIC8qIERGR0NGQVBoYXNlLmNwcCAqLywKKwkJCQkwRkZGQzk0QzE0RUY5MDk1MDBD
NzI1MzIgLyogREZHQ0ZBUGhhc2UuaCAqLywKKwkJCQkwRjNCM0EyNDE1NDRDOTkxMDAzRUQwRkYg
LyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAgKi8sCisJCQkJMEYzQjNBMjUxNTQ0Qzk5
MTAwM0VEMEZGIC8qIERGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjlEMzY5
MjFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmNwcCAqLywKKwkJCQkwRjlEMzY5
MzFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmggKi8sCisJCQkJQTc3QTQyMzgx
N0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJpemUuY3BwICovLAorCQkJCUE3N0E0MjM5MTdB
MEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmggKi8sCisJCQkJQTc3QTQyM0ExN0EwQkJG
RDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQuY3BwICovLAorCQkJCUE3N0E0MjNCMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmggKi8sCisJCQkJMEYwNDM5NkIxQjAzREMwQjAwOTU5
OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovLAorCQkJCTBGMDQzOTZDMUIwM0RDMEIw
MDk1OThCNyAvKiBERkdDb21iaW5lZExpdmVuZXNzLmggKi8sCisJCQkJMEZCNEI1MUExNkI2Mjc3
MjAwM0Y2OTZCIC8qIERGR0NvbW1vbi5jcHAgKi8sCisJCQkJMEZDMDk3N0UxNDY5RUJDNDAwQ0Yy
NDQyIC8qIERGR0NvbW1vbi5oICovLAorCQkJCTBGRUEwQTJEMTcwRDQwQkYwMEJCNzIyQyAvKiBE
RkdDb21tb25EYXRhLmNwcCAqLywKKwkJCQkwRkVBMEEyRTE3MEQ0MEJGMDBCQjcyMkMgLyogREZH
Q29tbW9uRGF0YS5oICovLAorCQkJCTBGMzhCMDEzMTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21w
aWxhdGlvbktleS5jcHAgKi8sCisJCQkJMEYzOEIwMTQxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0Nv
bXBpbGF0aW9uS2V5LmggKi8sCisJCQkJMEYzOEIwMTUxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0Nv
bXBpbGF0aW9uTW9kZS5jcHAgKi8sCisJCQkJMEYzOEIwMTYxN0NGRTc1NTAwQjE0NEQzIC8qIERG
R0NvbXBpbGF0aW9uTW9kZS5oICovLAorCQkJCTBGM0IzQTE3MTUzRTY4RUYwMDNFRDBGRiAvKiBE
RkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgKi8sCisJCQkJMEYzQjNBMTgxNTNFNjhFRjAwM0VE
MEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmggKi8sCisJCQkJMEZFRDY3QjcxQjI2MjU2
RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgKi8sCisJCQkJMEZFRDY3
QjgxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5oICovLAorCQkJ
CTBGQkUwRjZCMTZDMURCMDEwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNwcCAq
LywKKwkJCQkwRkJFMEY2QzE2QzFEQjAxMDA4MkM1RTggLyogREZHQ1BTUmV0aHJlYWRpbmdQaGFz
ZS5oICovLAorCQkJCUE3RDg5Q0U2MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVkZ2VC
cmVha2luZ1BoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNFNzE3QTBCOENDMDA3NzNBRDggLyogREZH
Q3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oICovLAorCQkJCTBGRkZDOTREMTRFRjkwOTUwMEM3
MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAgKi8sCisJCQkJMEZGRkM5NEUxNEVGOTA5NTAwQzcyNTMy
IC8qIERGR0NTRVBoYXNlLmggKi8sCisJCQkJMEYyRkM3NzAxNkUxMkY2RjAwMzhEOTc2IC8qIERG
R0RDRVBoYXNlLmNwcCAqLywKKwkJCQkwRjJGQzc3MTE2RTEyRjZGMDAzOEQ5NzYgLyogREZHRENF
UGhhc2UuaCAqLywKKwkJCQkwRjhGMkI5NzE3MkYwNEZEMDA3REJEQTUgLyogREZHRGVzaXJlZElk
ZW50aWZpZXJzLmNwcCAqLywKKwkJCQkwRjhGMkI5ODE3MkYwNEZEMDA3REJEQTUgLyogREZHRGVz
aXJlZElkZW50aWZpZXJzLmggKi8sCisJCQkJQzJDMEY3Q0IxN0JCRkM1QjAwNDY0RkU0IC8qIERG
R0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAgKi8sCisJCQkJQzJDMEY3Q0MxN0JCRkM1QjAwNDY0RkU0
IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5oICovLAorCQkJCTBGRTg1MzQ5MTcyM0NEQTUwMEI2
MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwICovLAorCQkJCTBGRTg1MzRBMTcyM0NE
QTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCAqLywKKwkJCQlDMjk4MUZENjE3
QkFFRTRCMDBBM0JDOTggLyogREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmNwcCAqLywKKwkJCQlD
Mjk4MUZENzE3QkFFRTRCMDBBM0JDOTggLyogREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmggKi8s
CisJCQkJQzI5ODFGREExN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJpZXJz
LmNwcCAqLywKKwkJCQlDMjk4MUZEQjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRl
QmFycmllcnMuaCAqLywKKwkJCQkwRkY0Mjc2MTE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNz
ZW1ibGVyLmNwcCAqLywKKwkJCQkwRkY0Mjc2MjE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNz
ZW1ibGVyLmggKi8sCisJCQkJMEY1QTEyNzExOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5j
cHAgKi8sCisJCQkJMEY1QTEyNzIxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5oICovLAor
CQkJCTBGRDgxQUNGMTU0RkI0RUIwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmNwcCAqLywKKwkJ
CQkwRkQ4MUFEMDE1NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5oICovLAorCQkJCTBG
MUUzQTQ0MTUzNENCQUQwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oICovLAorCQkJ
CTBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovLAorCQkJCTBGRDND
ODIyMTQxMTVEMEUwMEZEODFDQiAvKiBERkdEcml2ZXIuaCAqLywKKwkJCQkwRkI0QjUxQjE2QjYy
NzcyMDAzRjY5NkIgLyogREZHRWRnZS5jcHAgKi8sCisJCQkJMEY2NkUxNjkxNERGM0YxMzAwQjdC
MkU0IC8qIERGR0VkZ2UuaCAqLywKKwkJCQlBN0Q5QTI5MTE3QTBCQzc0MDBFRTI2MTggLyogREZH
RWRnZURvbWluYXRlcy5oICovLAorCQkJCUE3OTg2RDU2MTdBMEJCMUUwMEE5NUREMCAvKiBERkdF
ZGdlVXNlc1N0cnVjdHVyZS5oICovLAorCQkJCTBGOEYxNDJGMUFERjA5MDEwMEVENzkyQyAvKiBE
RkdFcG9jaC5jcHAgKi8sCisJCQkJMEY4RjE0MzAxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2No
LmggKi8sCisJCQkJQTc4QTk3NkMxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXpl
ci5jcHAgKi8sCisJCQkJQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFs
aXplci5oICovLAorCQkJCUE3QkZGM0JGMTc5ODY4OTQwMDAyRjQ2MiAvKiBERkdGaWx0cmF0aW9u
UmVzdWx0LmggKi8sCisJCQkJQTc4QTk3NkUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXpl
ci5jcHAgKi8sCisJCQkJQTc4QTk3NkYxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5o
ICovLAorCQkJCTBGMkJEQzEyMTUxQzVENEEwMENEODkxMCAvKiBERkdGaXh1cFBoYXNlLmNwcCAq
LywKKwkJCQkwRjJCREMxMzE1MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5oICovLAor
CQkJCTBGOUQzMzk0MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuY3BwICovLAorCQkJ
CTBGOUQzMzk1MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCAqLywKKwkJCQlBN0Q4
OUNFODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1c2hGb3JtYXQuY3BwICovLAorCQkJCUE3RDg5
Q0U5MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oICovLAorCQkJCTBGMkREODEw
MUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oICovLAorCQkJCTBGNjlDQzg2MTkz
QUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5jcHAgKi8sCisJCQkJMEY2OUNDODcxOTNB
QzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggKi8sCisJCQkJMkE4ODA2NzYxOTEwN0Q1
NTAwQ0IwQkJCIC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmNwcCAqLywKKwkJCQkyQTg4MDY3NzE5
MTA3RDU1MDBDQjBCQkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuaCAqLywKKwkJCQk4NkVDOURC
NjEzMjhERjgyMDAyQjJBRDcgLyogREZHR2VuZXJhdGlvbkluZm8uaCAqLywKKwkJCQk4NkVDOURC
NzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguY3BwICovLAorCQkJCTg2RUM5REI4MTMyOERG
ODIwMDJCMkFENyAvKiBERkdHcmFwaC5oICovLAorCQkJCTBGMkZDQ0YyMThBNjAwNzAwMDFBMjdG
OCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAgKi8sCisJCQkJMEYyRkNDRjMxOEE2MDA3MDAwMUEy
N0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmggKi8sCisJCQkJMEZCMTc2NUMxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR0hlYXBMb2NhdGlvbi5jcHAgKi8sCisJCQkJMEZCMTc2NUQxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR0hlYXBMb2NhdGlvbi5oICovLAorCQkJCTBGQjE0RTIwMTgxMjU3MEIwMDlCNkI0
RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCAqLywKKwkJCQkwRkIxNEUyMjE4MTMwOTU1MDA5
QjZCNEQgLyogREZHSW5saW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oICovLAorCQkJCUE3MDREOTAw
MTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNlQWJzdHJhY3RTdGF0ZS5jcHAgKi8sCisJCQkJ
QTcwNEQ5MDExN0EwQkFBODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmggKi8s
CisJCQkJMEYyQkRDMUYxNTFFODAzODAwQ0Q4OTEwIC8qIERGR0luc2VydGlvblNldC5oICovLAor
CQkJCTBGMkI5Q0Q4MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0
ZS5jcHAgKi8sCisJCQkJMEYyQjlDRDkxOUQwQkE3RDAwQjFEMUI1IC8qIERGR0luc2VydE9TUkhp
bnRzRm9yVXBkYXRlLmggKi8sCisJCQkJMEYzMDBCNzkxOEFCMUIxNDAwQTZENzJFIC8qIERGR0lu
dGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmNwcCAqLywKKwkJCQkwRjMwMEI3QTE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCAqLywKKwkJCQkwRjg5OEYy
RjFCMjc2ODlGMDA4M0EzM0MgLyogREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuY3Bw
ICovLAorCQkJCTBGODk4RjMwMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRp
bWl6YXRpb25QaGFzZS5oICovLAorCQkJCTBGQzk3RjM3MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJ
bnZhbGlkYXRpb25Qb2ludEluamVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkM5N0YzODE4MjAy
MTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5oICovLAor
CQkJCTBGRUEwQTJGMTcwRDQwQkYwMEJCNzIyQyAvKiBERkdKSVRDb2RlLmNwcCAqLywKKwkJCQkw
RkVBMEEzMDE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oICovLAorCQkJCTg2RUM5REJC
MTMyOERGODIwMDJCMkFENyAvKiBERkdKSVRDb21waWxlci5jcHAgKi8sCisJCQkJODZFQzlEQkMx
MzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmggKi8sCisJCQkJQTc4QTk3NzAxNzk3
MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5jcHAgKi8sCisJCQkJQTc4QTk3NzExNzk3
MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5oICovLAorCQkJCTBGQzk3RjM5MTgyMDIx
MTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuY3BwICovLAorCQkJCTBGQzk3RjNBMTgy
MDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCAqLywKKwkJCQlBNzNBNTM1ODE3
OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwICovLAorCQkJCUE3M0E1MzU5MTc5
OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNWYWx1ZS5oICovLAorCQkJCTYyQTlBMjlFMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8sCisJCQkJNjJBOUEyOUYxQjBCRUQ0ODAw
QkQ1NENBIC8qIERGR0xhenlOb2RlLmggKi8sCisJCQkJQTdEOUEyOTIxN0EwQkM3NDAwRUUyNjE4
IC8qIERGR0xJQ01QaGFzZS5jcHAgKi8sCisJCQkJQTdEOUEyOTMxN0EwQkM3NDAwRUUyNjE4IC8q
IERGR0xJQ01QaGFzZS5oICovLAorCQkJCUE3RDg5Q0VDMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdM
aXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwICovLAorCQkJCUE3RDg5Q0VEMTdBMEI4Q0MwMDc3M0FE
OCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCAqLywKKwkJCQkwRkI0QjUxQzE2QjYyNzcy
MDAzRjY5NkIgLyogREZHTG9uZ0xpdmVkU3RhdGUuY3BwICovLAorCQkJCTBGQjRCNTFEMTZCNjI3
NzIwMDNGNjk2QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5oICovLAorCQkJCUE3NjdCNUIzMTdBMEI5
NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi8sCisJCQkJ
QTc2N0I1QjQxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNl
LmggKi8sCisJCQkJMEY1ODc0RUIxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuY3BwICov
LAorCQkJCTBGNTg3NEVDMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmggKi8sCisJCQkJ
QTcwNEQ5MDIxN0EwQkFBODAwNkJBNTU0IC8qIERGR01lcmdlTW9kZS5oICovLAorCQkJCTBGMkJE
QzNEMTUyMjgwMTcwMENEODkxMCAvKiBERkdNaW5pZmllZEdyYXBoLmggKi8sCisJCQkJMEZCNEI1
MTAxNkIzQTk2NDAwM0Y2OTZCIC8qIERGR01pbmlmaWVkSUQuaCAqLywKKwkJCQkwRjJCREM0QzE1
MjI4MTgzMDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmNwcCAqLywKKwkJCQkwRjJCREMzRTE1
MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggKi8sCisJCQkJMEY4RjE0MzExQURG
MDkwMTAwRUQ3OTJDIC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwICovLAorCQkJCTBGOEYx
NDMyMUFERjA5MDEwMEVENzkyQyAvKiBERkdNb3ZIaW50UmVtb3ZhbFBoYXNlLmggKi8sCisJCQkJ
MEZDM0NDRkExOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5jcHAgKi8sCisJ
CQkJMEZDM0NDRkIxOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5oICovLAor
CQkJCUE3Mzc4MTBBMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuY3BwICovLAor
CQkJCUE3Mzc4MTBCMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLywKKwkJ
CQkwRkI0QjUxRTE2QjYyNzcyMDAzRjY5NkIgLyogREZHTm9kZS5jcHAgKi8sCisJCQkJODZFQ0Ez
RTkxMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUuaCAqLywKKwkJCQkwRkI0QjUxRjE2QjYyNzcy
MDAzRjY5NkIgLyogREZHTm9kZUFsbG9jYXRvci5oICovLAorCQkJCTBGQTU4MUI3MTUwRTk1MkEw
MEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwICovLAorCQkJCTBGQTU4MUI4MTUwRTk1MkEwMEI5
QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCAqLywKKwkJCQkwRjMwMEI3NzE4QUIwNTExMDBBNkQ3MkUg
LyogREZHTm9kZU9yaWdpbi5oICovLAorCQkJCTBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBE
RkdOb2RlVHlwZS5oICovLAorCQkJCTBGMkI5Q0RBMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcCAqLywKKwkJCQkwRjJCOUNEQjE5RDBCQTdEMDBC
MUQxQjUgLyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oICovLAorCQkJCTBGMkI5
Q0RDMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCAq
LywKKwkJCQkwRjJCOUNERDE5RDBCQTdEMDBCMUQxQjUgLyogREZHT2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YS5oICovLAorCQkJCTg2RUM5REJGMTMyOERGODIwMDJCMkFENyAvKiBERkdPcGVyYXRp
b25zLmNwcCAqLywKKwkJCQk4NkVDOURDMDEzMjhERjgyMDAyQjJBRDcgLyogREZHT3BlcmF0aW9u
cy5oICovLAorCQkJCUE3RDg5Q0VFMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxp
dHlBbmFseXNpc1BoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNFRjE3QTBCOENDMDA3NzNBRDggLyog
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oICovLAorCQkJCTBGRDgyRTUyMTQxREFF
REUwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5jcHAgKi8sCisJCQkJMEZEODJFNTMxNDFEQUVERTAw
MTc5Qzk0IC8qIERGR09TUkVudHJ5LmggKi8sCisJCQkJMEZEOEEzMUQxN0Q1MUY1NzAwQ0EyQzQw
IC8qIERGR09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkQ4QTMxRTE3
RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlwb2ludENyZWF0aW9uUGhhc2UuaCAqLywKKwkJ
CQkwRkMwOTc4RTE0NkE2RjYzMDBDRjI0NDIgLyogREZHT1NSRXhpdC5jcHAgKi8sCisJCQkJMEZD
MDk3NjgxNDY4QTZFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXQuaCAqLywKKwkJCQkwRjIzNUJFNzE3
MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuY3BwICovLAorCQkJCTBGMjM1QkU4MTcx
NzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0QmFzZS5oICovLAorCQkJCTY1OTg3RjJDMTY3RkU4
NEIwMDNDMkY4RCAvKiBERkdPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmggKi8sCisJCQkJMEZDMDk3
OEYxNDZBNkY2MzAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlci5jcHAgKi8sCisJCQkJMEZD
MDk3NkYxNDY5M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlci5oICovLAorCQkJCTBG
QzA5Nzc1MTQ2OTQzQUQwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgKi8s
CisJCQkJMEZDMDk3NzAxNDY5M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjY0LmNw
cCAqLywKKwkJCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVy
Q29tbW9uLmNwcCAqLywKKwkJCQkwRjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhp
dENvbXBpbGVyQ29tbW9uLmggKi8sCisJCQkJMEZFRkM5QTcxNjgxQTNCMDAwNTY3RjUzIC8qIERG
R09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwICovLAorCQkJCTBGRUZDOUE4MTY4MUEzQjAwMDU2
N0Y1MyAvKiBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmggKi8sCisJCQkJMEYyMzVCRTkxNzE3
OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5jcHAgKi8sCisJCQkJMEYyMzVC
RUExNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5oICovLAorCQkJCTBG
NjIzNzk1MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5zZXJ0aW9uUGhhc2UuY3BwICov
LAorCQkJCTBGNjIzNzk2MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5zZXJ0aW9uUGhh
c2UuaCAqLywKKwkJCQkwRkZGQzk0RjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUGhhc2UuY3BwICov
LAorCQkJCTBGRkZDOTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovLAorCQkJCTBG
MkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgKi8sCisJCQkJMEYy
QjlDREYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1BoaUNoaWxkcmVuLmggKi8sCisJCQkJQTc4QTk3
NzIxNzk3MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uY3BwICovLAorCQkJCUE3OEE5NzczMTc5NzM4
QjgwMDlERjc0NCAvKiBERkdQbGFuLmggKi8sCisJCQkJREMwMDAzOTAxOUQ4QkU2RjAwMDIzRUIw
IC8qIERGR1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaCAqLywKKwkJCQkwRkJFMEY2RDE2QzFEQjAx
MDA4MkM1RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkJF
MEY2RTE2QzFEQjAxMDA4MkM1RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmggKi8s
CisJCQkJMEZGRkM5NTExNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlLmNwcCAqLywKKwkJCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjNFMDFBODE5RDM1M0E1MDBGNjFCN0Yg
LyogREZHUHJlUG9zdE51bWJlcmluZy5jcHAgKi8sCisJCQkJMEYzRTAxQTkxOUQzNTNBNTAwRjYx
QjdGIC8qIERGR1ByZVBvc3ROdW1iZXJpbmcuaCAqLywKKwkJCQkwRjJCOUNFMDE5RDBCQTdEMDBC
MUQxQjUgLyogREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwICovLAorCQkJCTBGMkI5Q0UxMTlE
MEJBN0QwMEIxRDFCNSAvKiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oICovLAorCQkJCTBGQUEz
RTA4MTlEMEMyQ0IwMEZBQzlFMiAvKiBERkdQcm9tb3RlSGVhcEFjY2Vzcy5oICovLAorCQkJCTBG
QjE3NjVFMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQdXJlVmFsdWUuY3BwICovLAorCQkJCTBGQjE3
NjVGMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQdXJlVmFsdWUuaCAqLywKKwkJCQkwRjNBMUJGNzFB
OUVDQjdEMDAwREUwMUEgLyogREZHUHV0U3RhY2tTaW5raW5nUGhhc2UuY3BwICovLAorCQkJCTBG
M0ExQkY4MUE5RUNCN0QwMDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5oICovLAor
CQkJCTg2RUM5REMxMTMyOERGODIwMDJCMkFENyAvKiBERkdSZWdpc3RlckJhbmsuaCAqLywKKwkJ
CQkwRjJGQ0NGNDE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmNwcCAqLywKKwkJCQkw
RjJGQ0NGNTE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmggKi8sCisJCQkJQTc3QTQy
M0MxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCAqLywKKwkJCQlBNzQxMDE3
RTE3OURBRjgwMDAyRUI4QkEgLyogREZHU2FuZVN0cmluZ0dldEJ5VmFsU2xvd1BhdGhHZW5lcmF0
b3IuaCAqLywKKwkJCQkwRjJGQ0NGNjE4QTYwMDcwMDAxQTI3RjggLyogREZHU2Nhbm5hYmxlLmgg
Ki8sCisJCQkJODZFQ0EzRjkxMzJERjI1QTAwMkIyQUQ3IC8qIERGR1Njb3JlQm9hcmQuaCAqLywK
KwkJCQkwRjFFM0E2NTE1M0EyMURGMDAwRjk0NTYgLyogREZHU2lsZW50UmVnaXN0ZXJTYXZlUGxh
bi5oICovLAorCQkJCTBGMUUzQTUwMTUzN0MyQ0IwMDBGOTQ1NiAvKiBERkdTbG93UGF0aEdlbmVy
YXRvci5oICovLAorCQkJCTg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2
ZUpJVC5jcHAgKi8sCisJCQkJODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0
aXZlSklULmggKi8sCisJCQkJODY4ODBGMUIxNDMyOEJCOTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwICovLAorCQkJCTg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCAqLywKKwkJCQkwRjY4MkZCMDE5QkNCMzY0MDBGQTNCQUQgLyog
REZHU1NBQ2FsY3VsYXRvci5jcHAgKi8sCisJCQkJMEY2ODJGQjExOUJDQjM2NDAwRkEzQkFEIC8q
IERGR1NTQUNhbGN1bGF0b3IuaCAqLywKKwkJCQlBN0Q4OUNGMDE3QTBCOENDMDA3NzNBRDggLyog
REZHU1NBQ29udmVyc2lvblBoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNGMTE3QTBCOENDMDA3NzNB
RDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmggKi8sCisJCQkJMEZDMjBDQjcxODU1NkEzNTAw
QzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuY3BwICovLAorCQkJCTBGQzIwQ0I4MTg1NTZB
MzUwMEM5RTk1NCAvKiBERkdTU0FMb3dlcmluZ1BoYXNlLmggKi8sCisJCQkJMEY5RkI0RjIxN0ZD
QjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuY3BwICovLAorCQkJCTBGOUZCNEYz
MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggKi8sCisJCQkJMEY0RjI5
REQxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmNwcCAqLywKKwkJCQkwRjRGMjlERTE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhl
Y3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjlFMzI2MTFCMDVBQjA0MDA4
MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwICovLAorCQkJCTBGOUUz
MjYyMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oICov
LAorCQkJCTBGQzIwQ0IzMTg1MkUyQzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBo
YXNlLmNwcCAqLywKKwkJCQkwRkMyMENCNDE4NTJFMkM2MDBDOUU5NTQgLyogREZHU3RyZW5ndGhS
ZWR1Y3Rpb25QaGFzZS5oICovLAorCQkJCTBGODkzQkRBMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcCAqLywKKwkJCQkwRjYzOTQ3NjE1RENFMzQ3MDA2QTU5
N0MgLyogREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5oICovLAorCQkJCTBGNTBBRjNCMTkzRThC
MzkwMDY3NEVFOCAvKiBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaCAqLywKKwkJCQkwRjc5MDg1
MzE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwICov
LAorCQkJCTBGNzkwODU0MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRp
b25QaGFzZS5oICovLAorCQkJCTBGMkZDQ0Y3MThBNjAwNzAwMDFBMjdGOCAvKiBERkdUaHJlYWRE
YXRhLmNwcCAqLywKKwkJCQkwRjJGQ0NGODE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0
YS5oICovLAorCQkJCTBGQzA5NzlGMTQ2QjI4QzcwMENGMjQ0MiAvKiBERkdUaHVua3MuY3BwICov
LAorCQkJCTBGQzA5N0EwMTQ2QjI4QzcwMENGMjQ0MiAvKiBERkdUaHVua3MuaCAqLywKKwkJCQkw
RkQ4QTMxRjE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5j
cHAgKi8sCisJCQkJMEZEOEEzMjAxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RpZXJVcENoZWNrSW5q
ZWN0aW9uUGhhc2UuaCAqLywKKwkJCQkwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9G
VExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTBGRDhBMzIyMTdENTFG
NTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovLAor
CQkJCTBGRDhBMzIzMTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQkwRkQ4QTMyNDE3RDUxRjU3MDBDQTJD
NDAgLyogREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICov
LAorCQkJCTBGRTcyMTFCMTkzQjlDNTkwMDMxRjZFRCAvKiBERkdUcmFuc2l0aW9uLmNwcCAqLywK
KwkJCQkwRkU3MjExQzE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oICovLAorCQkJ
CTBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNw
cCAqLywKKwkJCQkwRjYzOTQzRDE1Qzc1RjE0MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3Rp
bmdQaGFzZS5oICovLAorCQkJCTBGQkUwRjZGMTZDMURCMDEwMDgyQzVFOCAvKiBERkdVbmlmaWNh
dGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkJFMEY3MDE2QzFEQjAxMDA4MkM1RTggLyogREZHVW5p
ZmljYXRpb25QaGFzZS5oICovLAorCQkJCTBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAvKiBERkdV
c2VLaW5kLmNwcCAqLywKKwkJCQkwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2lu
ZC5oICovLAorCQkJCTBGM0IzQTI5MTU0NzRGRjQwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAg
Ki8sCisJCQkJMEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmggKi8sCisJ
CQkJMEYyQkRDNEUxNTIyOEJFNzAwQ0Q4OTEwIC8qIERGR1ZhbHVlU291cmNlLmNwcCAqLywKKwkJ
CQkwRjJCREM0MDE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCAqLywKKwkJCQkw
RjAxMjMzMDE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJlbmd0aC5jcHAgKi8sCisJCQkJ
MEYwMTIzMzExOTQ0RUExQjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguaCAqLywKKwkJCQkw
RkUyNTRGNDFBQkRERDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5jcHAg
Ki8sCisJCQkJMEZFMjU0RjUxQUJEREQyMjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5n
UGhhc2UuaCAqLywKKwkJCQkwRjZFODQ1OTE5MDMwQkVGMDA1NjI3NDEgLyogREZHVmFyaWFibGVB
Y2Nlc3NEYXRhLmNwcCAqLywKKwkJCQkwRjYyMDE3MjE0M0ZDRDJGMDA2OEI3N0MgLyogREZHVmFy
aWFibGVBY2Nlc3NEYXRhLmggKi8sCisJCQkJMEZEREJGQjIxNjY2RUVENTAwQzU1RkVGIC8qIERG
R1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuY3BwICovLAorCQkJCTBGRERCRkIzMTY2NkVFRDUwMEM1
NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggKi8sCisJCQkJMEYyQkRDNTAxNTIy
OEZGQTAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnQuY3BwICovLAorCQkJCTBGMkJEQzQxMTUy
MjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggKi8sCisJCQkJMEYyQkRDNDIxNTIy
ODAxNzAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uY3BwICovLAorCQkJCTBGMkJE
QzQzMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmggKi8sCisJCQkJ
MEZGRkM5NTMxNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25Q
aGFzZS5jcHAgKi8sCisJCQkJMEZGRkM5NTQxNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxS
ZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICovLAorCQkJCTBGQzk3RjNCMTgyMDIxMTkwMDJDOUIy
NiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkM5N0YzQzE4
MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oICovLAorCQkJ
CTBGREIyQ0U1MTc0ODMwQTIwMDdCM0MxQiAvKiBERkdXb3JrbGlzdC5jcHAgKi8sCisJCQkJMEZE
QjJDRTYxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0LmggKi8sCisJCQkpOworCQkJbmFt
ZSA9IGRmZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTkzMkZDM0MyMDgy
NEJCNzAwMDVCM0M3NSAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCUE1M0YxQUJFMThDOTBFQzcwMDcyRUI2RCAvKiBmcmFtZXdvcmsu
c2IgKi8sCisJCQkJOTMyRjVCRDgwODIyQTFDNzAwNzM2OTc1IC8qIEluZm8ucGxpc3QgKi8sCisJ
CQkpOworCQkJbmFtZSA9IFJlc291cmNlczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CQl0YWJXaWR0aCA9IDQ7CisJCQl1c2VzVGFicyA9IDA7CisJCX07CisJCTk1QUI4MzFBMERBNDJD
NjkwMEJDODNGMyAvKiBwcm9maWxlciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJOTVFM0JDMDQwRTFBRTY4MjAwQjJEMUMxIC8qIENhbGxJZGVudGlmaWVy
LmggKi8sCisJCQkJOTVBQjgzMkUwREE0MkNBRDAwQkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmNw
cCAqLywKKwkJCQk5NUFCODMyRjBEQTQyQ0FEMDBCQzgzRjMgLyogTGVnYWN5UHJvZmlsZXIuaCAq
LywKKwkJCQk5NTc0MkY2MzBERDExRjVBMDAwOTE3RkIgLyogUHJvZmlsZS5jcHAgKi8sCisJCQkJ
OTU3NDJGNjQwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuaCAqLywKKwkJCQk5NUNENDU3NDBF
MUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi8sCisJCQkJOTVDRDQ1NzUw
RTFDNEZERDAwODUzNThFIC8qIFByb2ZpbGVHZW5lcmF0b3IuaCAqLywKKwkJCQk5NUFCODM1NDBE
QTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuY3BwICovLAorCQkJCTk1QUI4MzU1MERBNDNC
NDQwMEJDODNGMyAvKiBQcm9maWxlTm9kZS5oICovLAorCQkJCTBGRjcyOTkyMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCAqLywKKwkJCQkwRkY3Mjk5MzE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5oICovLAorCQkJCTBGRjcyOTk0MTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgKi8sCisJCQkJMEZGNzI5OTUxNjZBRDM0NzAw
MEY1QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmggKi8sCisJCQkJMEYxMzkxMjQxNjc3MUMzMDAw
OUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgKi8sCisJCQkJMEYxMzkxMjUx
Njc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5oICovLAorCQkJCTBG
RjcyOTk2MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCAqLywKKwkJ
CQkwRkY3Mjk5NzE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbi5oICovLAor
CQkJCTBGRjcyOTk4MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2luZC5j
cHAgKi8sCisJCQkJMEZGNzI5OTkxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRp
b25LaW5kLmggKi8sCisJCQkJMEZGNzI5OUExNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29t
cGlsZWRCeXRlY29kZS5jcHAgKi8sCisJCQkJMEZGNzI5OUIxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQ29tcGlsZWRCeXRlY29kZS5oICovLAorCQkJCTBGRjcyOTlDMTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCAqLywKKwkJCQkwRkY3Mjk5RDE2NkFEMzQ3MDAwRjVC
QTMgLyogUHJvZmlsZXJEYXRhYmFzZS5oICovLAorCQkJCTBGRjcyOTlFMTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckV4ZWN1dGlvbkNvdW50ZXIuaCAqLywKKwkJCQkwRjE5MENBQTE4OUQ4MkY2
MDAwQUU1RjAgLyogUHJvZmlsZXJKZXR0aXNvblJlYXNvbi5jcHAgKi8sCisJCQkJMEYxOTBDQUIx
ODlEODJGNjAwMEFFNUYwIC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uaCAqLywKKwkJCQkwRkY3
Mjk5RjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovLAorCQkJCTBGRjcy
OUEwMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpbi5oICovLAorCQkJCTBGRjcyOUEx
MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmNwcCAqLywKKwkJCQkwRkY3
MjlBMjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW5TdGFjay5oICovLAorCQkJCTBG
QjEwNTg3MTY3NTQ4MkUwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuY3BwICovLAorCQkJCTBG
QjEwNTg4MTY3NTQ4MkUwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuaCAqLywKKwkJCQkwRkIx
MDU4OTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi8sCisJCQkJ
MEZCMTA1OEExNjc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdFNpdGUuaCAqLywKKwkJ
CQkwRjEzOTEyNjE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5j
cHAgKi8sCisJCQkJMEYxMzkxMjcxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyUHJvZmlsZWRC
eXRlY29kZXMuaCAqLywKKwkJCSk7CisJCQluYW1lID0gcHJvZmlsZXI7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQk5Njg4Q0IxMjBFRDEyQjRF
MDAxRDY0OUYgLyogYXNzZW1ibGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQkwRjFGRTUxQjE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCAq
LywKKwkJCQk4NjAxNjFERjBGM0E4M0MxMDBGODQ3MTAgLyogQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oICovLAorCQkJCTg2NDA5MjNCMTU2RUVEM0IwMDU2NkNCMiAvKiBBUk02NEFzc2VtYmxlci5o
ICovLAorCQkJCTg2RDNCMkJGMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuY3BwICov
LAorCQkJCTg2RDNCMkMwMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuaCAqLywKKwkJ
CQk4NkFERDE0MzBGRERFQTk4MDAwNkVFQzIgLyogQVJNdjdBc3NlbWJsZXIuaCAqLywKKwkJCQk5
Njg4Q0IxMzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi8sCisJCQkJODZE
M0IyQzExMDE1NkJERTAwMjg2NUU3IC8qIEFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wu
aCAqLywKKwkJCQk4NkUxMTZCMDBGRTc1QUM4MDBCNTEyQkMgLyogQ29kZUxvY2F0aW9uLmggKi8s
CisJCQkJMEZGNDI3NTYxNTkxNEEyMDAwNENCOUZGIC8qIExpbmtCdWZmZXIuY3BwICovLAorCQkJ
CTg2RDNCM0MxMTAxNTlEN0YwMDI4NjVFNyAvKiBMaW5rQnVmZmVyLmggKi8sCisJCQkJMEZFQjNF
Q0UxNjIzN0Y2NzAwQUI2N0FEIC8qIE1hY3JvQXNzZW1ibGVyLmNwcCAqLywKKwkJCQk4NkMzNkVF
OTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9Bc3NlbWJsZXIuaCAqLywKKwkJCQk4NkM1NjhERDEx
QTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJBUk0uY3BwICovLAorCQkJCTg2RDNCMkMy
MTAxNTZCREUwMDI4NjVFNyAvKiBNYWNyb0Fzc2VtYmxlckFSTS5oICovLAorCQkJCTg2NDA5MjND
MTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi8sCisJCQkJQTcyOTAw
OUIxNzk3NkM2MDAwMzE3Mjk4IC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuY3BwICovLAorCQkJCTg2
QUREMTQ0MEZEREVBOTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggKi8sCisJCQkJ
ODYzQjIzREYwRkM2MEU2MjAwNzAzQUE0IC8qIE1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oICovLAor
CQkJCTg2QzU2OERFMTFBMjEzRUUwMDA3RjdGMCAvKiBNYWNyb0Fzc2VtYmxlck1JUFMuaCAqLywK
KwkJCQk4NkFFNjRBNjEzNUU1RTFDMDA5NjMwMTIgLyogTWFjcm9Bc3NlbWJsZXJTSDQuaCAqLywK
KwkJCQk4NjAxNjFFMDBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODYuaCAqLywK
KwkJCQk4NjAxNjFFMTBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZfNjQuaCAq
LywKKwkJCQlBN0E0QUUwNzE3OTczQjI2MDA1NjEyQjEgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uY3BwICovLAorCQkJCTg2MDE2MUUyMEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbi5oICovLAorCQkJCTY1ODYwMTc3MTg1QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFt
ZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oICovLAorCQkJCTg2QzU2OERGMTFBMjEzRUUwMDA3RjdG
MCAvKiBNSVBTQXNzZW1ibGVyLmggKi8sCisJCQkJODZEM0IzQzIxMDE1OUQ3RjAwMjg2NUU3IC8q
IFJlcGF0Y2hCdWZmZXIuaCAqLywKKwkJCQk4NkFFNjRBNzEzNUU1RTFDMDA5NjMwMTIgLyogU0g0
QXNzZW1ibGVyLmggKi8sCisJCQkJOTY4OENCMTQwRUQxMkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2Vt
Ymxlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBhc3NlbWJsZXI7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OworCQk5NjlBMDc4RjBFRDFEM0FFMDBGMUY2ODEgLyogYnl0ZWNvZGUg
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGODMzNUI0
MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCAqLywKKwkJCQkw
RjgzMzVCNTE2MzlDMUUzMDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTBGNjM5NDUxMTVEMDcwNTEwMDZBNTk3QyAvKiBBcnJheVByb2ZpbGUuY3BwICovLAorCQkJ
CTBGNjM5NDUyMTVEMDcwNTEwMDZBNTk3QyAvKiBBcnJheVByb2ZpbGUuaCAqLywKKwkJCQlDMkZD
QUUwQzE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcCAqLywKKwkJCQlD
MkZDQUUwRDE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmggKi8sCisJCQkJ
MEYyMUMyN0UxNEJFQUE4MDAwQURDNjRCIC8qIEJ5dGVjb2RlQ29udmVudGlvbnMuaCAqLywKKwkJ
CQk3MDk0QzREQzFBRTQzOTUzMDA0MUEyRUUgLyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5j
cHAgKi8sCisJCQkJNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2RlSW50cmluc2lj
UmVnaXN0cnkuaCAqLywKKwkJCQkwRjJERDgwQTFBQjNEODU4MDBCQkI4RTggLyogQnl0ZWNvZGVL
aWxscy5oICovLAorCQkJCTY1MjlGQjMxMThCMkQ5OTkwMEM2MTEwMiAvKiBCeXRlY29kZUxpc3Qu
anNvbiAqLywKKwkJCQlDMkZDQUUwRTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVMaXZlbmVz
c0FuYWx5c2lzLmNwcCAqLywKKwkJCQlDMkZDQUUwRjE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNv
ZGVMaXZlbmVzc0FuYWx5c2lzLmggKi8sCisJCQkJMEY2NjZFQkUxODM1NjZGOTAwRDAxN0YxIC8q
IEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpc0lubGluZXMuaCAqLywKKwkJCQkwRjg4NUUxMDE4NDlB
M0JFMDBGMUUzRkEgLyogQnl0ZWNvZGVVc2VEZWYuaCAqLywKKwkJCQkwRjgwMjNFOTE2MTM4MzIz
MDBBMEJBNDUgLyogQnlWYWxJbmZvLmggKi8sCisJCQkJMEY2NEIyNzcxQTc5NTdCMjAwNkU0RTY2
IC8qIENhbGxFZGdlLmNwcCAqLywKKwkJCQkwRjY0QjI3ODFBNzk1N0IyMDA2RTRFNjYgLyogQ2Fs
bEVkZ2UuaCAqLywKKwkJCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZv
LmNwcCAqLywKKwkJCQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmgg
Ki8sCisJCQkJMEY5MzMyOTMxNENBN0RDMTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCAq
LywKKwkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLywK
KwkJCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNv
ZGVPZmZzZXQuaCAqLywKKwkJCQkwRjNCN0UyNDE5QTExQjgwMDBEOUJDNTYgLyogQ2FsbFZhcmlh
bnQuY3BwICovLAorCQkJCTBGM0I3RTI1MTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5o
ICovLAorCQkJCTk2OUEwNzkwMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwICovLAor
CQkJCTk2OUEwNzkxMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCAqLywKKwkJCQkwRjhG
OTQzRDE2Njc2MzJEMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5jcHAgKi8sCisJCQkJMEY4Rjk0
M0UxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2guaCAqLywKKwkJCQkwRkM5N0YyRjE4
MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcCAqLywK
KwkJCQkwRkM5N0YzMDE4MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRj
aHBvaW50LmggKi8sCisJCQkJMEY5NkVCQjExNjY3NkVGNDAwOEJBREUzIC8qIENvZGVCbG9ja1dp
dGhKSVRUeXBlLmggKi8sCisJCQkJMEY4Rjk0NDUxNjY3NjRFRTAwRDYxOTcxIC8qIENvZGVPcmln
aW4uY3BwICovLAorCQkJCTBGQkQ3RTY3MTQ0Nzk5OEYwMDQ4MTMxNSAvKiBDb2RlT3JpZ2luLmgg
Ki8sCisJCQkJMEY4Rjk0M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLywKKwkJ
CQkwRjBCODNBNTE0QkNGNTA0MDA4ODVCNEYgLyogQ29kZVR5cGUuaCAqLywKKwkJCQkwRjZGQzc0
RTE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgKi8sCisJCQkJMEY2RkM3
NEYxOTYxMTBBODAwRTFEMDJEIC8qIENvbXBsZXhHZXRTdGF0dXMuaCAqLywKKwkJCQkwRjNEMEJC
QTE5NEE0MTQzMDBGQzlDRjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5jcHAgKi8sCisJCQkJ
MEYzRDBCQkIxOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0YW50U3RydWN0dXJlQ2hlY2suaCAqLywK
KwkJCQkwRjQyNkE0QTE0NjBDRDZCMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oICovLAorCQkJCTBG
QzcxMkRDMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3Bw
ICovLAorCQkJCTBGQzcxMkREMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0aW9u
Q2FsbGJhY2suaCAqLywKKwkJCQkwRkJDMEFFNDE0OTZDN0MxMDBENEZCREQgLyogREZHRXhpdFBy
b2ZpbGUuY3BwICovLAorCQkJCTBGQkMwQUU1MTQ5NkM3QzEwMEQ0RkJERCAvKiBERkdFeGl0UHJv
ZmlsZS5oICovLAorCQkJCTk2OUEwNzkyMEVEMUQzQUUwMEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hl
LmggKi8sCisJCQkJMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50ZXIu
Y3BwICovLAorCQkJCTBGNTZBMUQxMTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVy
LmggKi8sCisJCQkJMEYwMzMyQkYxOEFERkFFMTAwNUY5NzlBIC8qIEV4aXRpbmdKSVRUeXBlLmNw
cCAqLywKKwkJCQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAyOUYgLyogRXhpdGluZ0pJVFR5cGUuaCAq
LywKKwkJCQkwRkIxMDU4MjE2NzU0ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuY3BwICovLAorCQkJ
CTBGQjEwNTgzMTY3NTQ4MEMwMEY4QUI2RSAvKiBFeGl0S2luZC5oICovLAorCQkJCTBGMEI4M0FB
MTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi8sCisJCQkJMEY2NjZF
QkYxODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNzLmggKi8sCisJCQkJMEY5
MzMyOTUxNENBN0RDMTAwODVGM0M2IC8qIEdldEJ5SWRTdGF0dXMuY3BwICovLAorCQkJCTBGOTMz
Mjk2MTRDQTdEQzEwMDg1RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmggKi8sCisJCQkJMEYwMzMyQzEx
OEIwMTc2MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmNwcCAqLywKKwkJCQkwRjAzMzJDMjE4
QjAxNzYzMDA1Rjk3OUEgLyogR2V0QnlJZFZhcmlhbnQuaCAqLywKKwkJCQkwRjBCODNBODE0QkNG
NTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLywKKwkJCQkwRjI0RTU1MzE3RjBCNzFDMDBB
QkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmNwcCAqLywKKwkJCQkwRjI0RTU1NDE3RjBCNzFD
MDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmggKi8sCisJCQkJOTY5QTA3OTMwRUQxRDNB
RTAwRjFGNjgxIC8qIEluc3RydWN0aW9uLmggKi8sCisJCQkJQkNGRDhDOTAwRUVCMkVFNzAwMjgz
ODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi8sCisJCQkJQkNGRDhDOTEwRUVCMkVFNzAwMjgzODQ4IC8q
IEp1bXBUYWJsZS5oICovLAorCQkJCTBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZS5jcHAgKi8sCisJCQkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5IC8q
IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi8sCisJCQkJMEYwRkM0NTgxNEJEMTVGMTAwQjgx
MTU0IC8qIExMSW50Q2FsbExpbmtJbmZvLmggKi8sCisJCQkJMEZCNTQ2N0MxNEY1Q0ZEMzAwMkMy
OTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwICovLAorCQkJCTBGQjU0NjdB
MTRGNUM3RDQwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggKi8sCisJ
CQkJMTRDQTk1OEMxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgg
Ki8sCisJCQkJOTY5QTA3OTQwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5jcHAgKi8sCisJCQkJ
OTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5oICovLAorCQkJCTBGMkJEQzJCMTUx
RkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovLAorCQkJCUE3MDQ0N0U5MTdBMEJENDYwMEY1
ODk4RSAvKiBPcGVyYW5kc0lubGluZXMuaCAqLywKKwkJCQkwRjM0QjE0QjE2RDQzRTBDMDAxQ0RB
NUEgLyogUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0LmggKi8sCisJCQkJMEY0Q0VENUMx
OENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExpc3QuY3BwICovLAorCQkJCTBG
NENFRDVEMThDRUE3QUIwMDgwMkZFMCAvKiBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmggKi8sCisJ
CQkJMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3Bw
ICovLAorCQkJCTBGOUZDOEMwMTRFMUI1RkIwMEQ1MkFFMCAvKiBQb2x5bW9ycGhpY1B1dEJ5SWRM
aXN0LmggKi8sCisJCQkJMEY5ODIwNUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgKi8sCisJCQkJMEY5ODIwNUUxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1w
VGFyZ2V0cy5oICovLAorCQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3Rh
dHVzLmNwcCAqLywKKwkJCQkwRjkzMzI5QTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1
cy5oICovLAorCQkJCTBGOTNCNEE3MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5j
cHAgKi8sCisJCQkJMEY5M0I0QTgxOEI5MkM0RDAwMTc4QTNGIC8qIFB1dEJ5SWRWYXJpYW50Lmgg
Ki8sCisJCQkJMEY5RkM4QzExNEUxQjVGQjAwRDUyQUUwIC8qIFB1dEtpbmQuaCAqLywKKwkJCQkw
RkY2MEFCRjE2NzQwRjgxMDAwMjk3NzkgLyogUmVkdWNlV2hpdGVzcGFjZS5jcHAgKi8sCisJCQkJ
MEZGNjBBQzAxNjc0MEY4MTAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuaCAqLywKKwkJCQkx
NDI5RDg4MzBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmNwcCAqLywKKwkJCQkxNDI5
RDg4NDBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmggKi8sCisJCQkJRkU1MDY4NjYx
QUUyNUUyODAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5jcHAgKi8sCisJCQkJRkU1MDY4
NjQxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5oICovLAorCQkJCTBGNTU0
MUFGMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAgKi8sCisJCQkJMEY1NTQx
QjAxNjEzQzFGQjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmggKi8sCisJCQkJMEZEODJFODQx
NDFGM0ZEQTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmNwcCAqLywKKwkJCQkwRkQ4MkU0RjE0
MURBRUExMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5cGUuaCAqLywKKwkJCQkwRkI0MzhBMjE5Mjcw
QjFEMDBFMUZCQzkgLyogU3RydWN0dXJlU2V0LmNwcCAqLywKKwkJCQkwRjkzMzI5QjE0Q0E3REMx
MDA4NUYzQzYgLyogU3RydWN0dXJlU2V0LmggKi8sCisJCQkJMEY3NjZEMzYxNUFFNEExQTAwOEYz
NjNFIC8qIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwICovLAorCQkJCTBGNzY2
RDM3MTVBRTRBMUEwMDhGMzYzRSAvKiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50Lmgg
Ki8sCisJCQkJQkNDRjBEMEIwRUYwQjhBNTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmNw
cCAqLywKKwkJCQlCQ0NGMEQwNzBFRjBBQUI5MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1YkluZm8u
aCAqLywKKwkJCQkwRjJENERFNTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCAq
LywKKwkJCQkwRjJENERFNjE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggKi8sCisJ
CQkJMEYyRDRERTcxOTgzMkRBQzAwN0Q0QjE5IC8qIFR5cGVMb2NhdGlvbi5oICovLAorCQkJCUE3
OUU3ODFFMTVFRUNCQTgwMDQ3Qzg1NSAvKiBVbmxpbmtlZENvZGVCbG9jay5jcHAgKi8sCisJCQkJ
QTc5RTc4MUYxNUVFQ0JBODAwNDdDODU1IC8qIFVubGlua2VkQ29kZUJsb2NrLmggKi8sCisJCQkJ
QjU5Rjg5MzgxODkxQURCNTAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3Bw
ICovLAorCQkJCUI1OUY4OTM3MTg5MUFEMzMwMEQ1Q0NEQyAvKiBVbmxpbmtlZEluc3RydWN0aW9u
U3RyZWFtLmggKi8sCisJCQkJMEY5NjNCMzYxM0ZDNkZERTAwMDJEOUIyIC8qIFZhbHVlUHJvZmls
ZS5oICovLAorCQkJCTBGMjRFNTU3MTdGNzRFREIwMEFCQjIxNyAvKiBWYWx1ZVJlY292ZXJ5LmNw
cCAqLywKKwkJCQkwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVyeS5oICov
LAorCQkJCTBGNkM3MzRFMUFDOUY5OUYwMEJFMTY4MiAvKiBWYXJpYWJsZVdyaXRlRmlyZURldGFp
bC5jcHAgKi8sCisJCQkJMEY2QzczNEYxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVG
aXJlRGV0YWlsLmggKi8sCisJCQkJMEYyMEMyNTgxQTgwMTNBQjAwREEzMjI5IC8qIFZpcnR1YWxS
ZWdpc3Rlci5jcHAgKi8sCisJCQkJMEY0MjZBNDYxNDYwQ0JBQjAwMTMxRjhGIC8qIFZpcnR1YWxS
ZWdpc3Rlci5oICovLAorCQkJCTBGOTE5RDIyMTU4NTNDREUwMDRBNEU3RCAvKiBXYXRjaHBvaW50
LmNwcCAqLywKKwkJCQkwRjkxOUQyMzE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBieXRlY29kZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CisJCTk5RTQ1QTBDMThBMDFFOTMwMDI2RDg4RiAvKiByZXBsYXkgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTk5RTQ1QTFDMThBMUIxQjgwMDI2
RDg4RiAvKiBzY3JpcHRzICovLAorCQkJCTk5RTQ1QTFGMThBMUIyNTkwMDI2RDg4RiAvKiBFbXB0
eUlucHV0Q3Vyc29yLmggKi8sCisJCQkJOTlFNDVBMjAxOEExQjI1OTAwMjZEODhGIC8qIEVuY29k
ZWRWYWx1ZS5jcHAgKi8sCisJCQkJOTlFNDVBMjExOEExQjI1OTAwMjZEODhGIC8qIEVuY29kZWRW
YWx1ZS5oICovLAorCQkJCTk5RTQ1QTIyMThBMUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1cnNvci5o
ICovLAorCQkJCTk5MjhGRjNEMThBQzRCMUMwMEI4Q0YxMiAvKiBKU0lucHV0cy5qc29uICovLAor
CQkJCTk5RTQ1QTIzMThBMUIyNTkwMDI2RDg4RiAvKiBOb25kZXRlcm1pbmlzdGljSW5wdXQuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gcmVwbGF5OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJOTlFNDVBMUMxOEExQjFCODAwMjZEODhGIC8qIHNjcmlwdHMgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTk5RTQ1QTFEMThBMUIxRTcwMDI2
RDg4RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5ICovLAorCQkJCTk5RTQ1QTFFMThB
MUIxRTcwMDI2RDg4RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5ICov
LAorCQkJKTsKKwkJCXBhdGggPSBzY3JpcHRzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJQTUxM0U1Q0MxODVGQjk5MjAwN0U5NUFEIC8qIGFnZW50cyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTVDRUVFMTIxODdGM0JBRDAwRTU1
Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAqLywKKwkJCQlBNUNFRUUxMzE4N0YzQkFEMDBFNTVD
OTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLywKKwkJCQlBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKKwkJCQlBNUZEMDA4MDE4OUIxOTFBMDA2
MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCisJCQkJQTU3RDIzRTMxODkwQ0VC
RjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwICovLAorCQkJCUE1N0QyM0U0
MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggKi8sCisJCQkJQTUw
RTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgKi8sCisJ
CQkJQTUwRTRCNUUxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oICov
LAorCQkJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudC5jcHAgKi8sCisJCQkJQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50LmggKi8sCisJCQkJQTU3RDIzRTcxODkxQjA3NzAwMzFDN0ZBIC8qIEpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAgKi8sCisJCQkJQTU3RDIzRTgxODkxQjA3NzAw
MzFDN0ZBIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oICovLAorCQkJCUE1MEU0QjVG
MTg4MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAgKi8sCisJ
CQkJQTUwRTRCNjAxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGFnZW50czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCUE1MzI0MzhFMTg1Njk2Q0UwMDJFRDY5MiAvKiBzY3JpcHRzICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDNDcwM0NDMTE5Mjg0NEE0
MDAxM0ZCRUEgLyogY29kZWdlbiAqLywKKwkJCQlBNTg0MEUyNjE4N0M5ODA3MDA4NDNCMTAgLyog
Y3NzbWluLnB5ICovLAorCQkJCUE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1j
b21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLywKKwkJCQlDNDcwM0NCRjE5Mjg0NDk2MDAxM0ZC
RUEgLyogZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5ICovLAorCQkJCUE1
ODQwRTI4MTg3Q0E1QjgwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1h
bmQtc2NyaXB0cy5weSAqLywKKwkJCQlBNTEzRTVDNDE4NUY5MkRDMDA3RTk1QUQgLyoganNtaW4u
cHkgKi8sCisJCQkJQTUxM0U1QzUxODVGOTJGMDAwN0U5NUFEIC8qIHh4ZC5wbCAqLywKKwkJCSk7
CisJCQlwYXRoID0gc2NyaXB0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CUE1NENGMkVBMTg0RUE3MzkwMDIzN0YxOSAvKiBiaW5kaW5ncyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTU1RDkzQTMxODUwMTJBODAwNDAwREVEIC8q
IFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgKi8sCisJCQkJQTU1RDkzQTQxODUwMTJBODAwNDAwREVE
IC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovLAorCQkJCUE1NENGMkY3MTg0RUFFREEwMDIzN0Yx
OSAvKiBTY3JpcHRPYmplY3QuY3BwICovLAorCQkJCUE1NENGMkY4MTg0RUFFREEwMDIzN0YxOSAv
KiBTY3JpcHRPYmplY3QuaCAqLywKKwkJCQlBNTRDRjJGMjE4NEVBQjI0MDAyMzdGMTkgLyogU2Ny
aXB0VmFsdWUuY3BwICovLAorCQkJCUE1NENGMkYzMTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRW
YWx1ZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBiaW5kaW5nczsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCUE1QkExNURGMTgyMzQwOTIwMEE4MkU2OSAvKiBpbnNwZWN0b3Ig
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE1MTNFNUND
MTg1RkI5OTIwMDdFOTVBRCAvKiBhZ2VudHMgKi8sCisJCQkJQTVFQTcwRTMxOUY1QjBFMjAwOThG
NUVDIC8qIGF1Z21lbnRhYmxlICovLAorCQkJCUE1MzI0MzhEMTg1Njk2Q0EwMDJFRDY5MiAvKiBw
cm90b2NvbCAqLywKKwkJCQlBNUJBMTVFMDE4MjM0MDlEMDBBODJFNjkgLyogcmVtb3RlICovLAor
CQkJCUE1MzI0MzhFMTg1Njk2Q0UwMDJFRDY5MiAvKiBzY3JpcHRzICovLAorCQkJCUE1RkQwMDc3
MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCisJCQkJQTVGRDAwNzgx
ODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCisJCQkJQTU3RDIzRUYxODkx
QjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovLAorCQkJCUE1N0Qy
M0YwMTg5MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggKi8sCisJCQkJ
QTU0OTgyMDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8sCisJCQkJQTU0OTgy
MDIxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oICovLAorCQkJCUE1RkQwMDcyMTg5QjAz
OEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDczMTg5
QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywKKwkJCQlBNTEzRTVCNTE4
NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLAorCQkJCUE1MTNFNUI2MTg1
QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oICovLAorCQkJCUE1MTRCMkMwMTg1QTY4
NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwICovLAorCQkJCUE1MTRCMkMxMTg1
QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLywKKwkJCQlBNThFMzU5MDE4
NjBERUM3MDAxRjI0RkUgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCAqLywKKwkJCQlBNTEzRTVC
OTE4NUJGQUNDMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCisJCQkJQTUxM0U1
QzgxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8sCisJCQkJ
QTUxM0U1QzkxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oICovLAor
CQkJCUE1ODQwRTFFMTg3QjdCODYwMDg0M0IxMCAvKiBJbmplY3RlZFNjcmlwdE1vZHVsZS5jcHAg
Ki8sCisJCQkJQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxl
LmggKi8sCisJCQkJQTUxM0U1QzMxODVGOTJDOTAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0U291
cmNlLmpzICovLAorCQkJCUE1OTNDRjdFMTg0MDM2MkMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JBZ2Vu
dEJhc2UuaCAqLywKKwkJCQlBNTkzQ0Y4NDE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdl
bnRSZWdpc3RyeS5jcHAgKi8sCisJCQkJQTU5M0NGODUxODQwMzhDQTAwQkZDRTI3IC8qIEluc3Bl
Y3RvckFnZW50UmVnaXN0cnkuaCAqLywKKwkJCQlBNTkzQ0Y3QTE4NDAzNjAzMDBCRkNFMjcgLyog
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwICovLAorCQkJCUE1OTNDRjdCMTg0MDM2MDMw
MEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oICovLAorCQkJCUE1RDBBMUJB
MTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVudC5oICovLAorCQkJCUE1OTQ1
NTk0MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLywKKwkJ
CQlBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyogSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oICov
LAorCQkJCUE1OTNDRjgwMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICov
LAorCQkJCUE1OTNDRjgxMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywK
KwkJCQlBNTAzRkExMzE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAg
Ki8sCisJCQkJQTUwM0ZBMTQxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUu
aCAqLywKKwkJCQlBNUMzQTFBMzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25z
b2xlQ2xpZW50LmNwcCAqLywKKwkJCQlBNUMzQTFBNDE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmggKi8sCisJCQkJQTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5
IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8sCisJCQkJQTUxMDA3
QkYxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5o
ICovLAorCQkJCUE1MDNGQTI3MTg4RjEwNTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlw
dERlYnVnU2VydmVyLmNwcCAqLywKKwkJCQlBNTAzRkEyODE4OEYxMDU5MDAxMTBGMTQgLyogSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oICovLAorCQkJCUE1MTNFNUJBMTg1QkZBQ0Mw
MDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAgKi8sCisJCQkJQTUxM0U1QkIxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCisJCQkJQTUxM0U1QkMx
ODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCAqLywK
KwkJCQlBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90
b3R5cGUuaCAqLywKKwkJCQlBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLywKKwkJCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpT
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUwM0ZBMTgxODhFMEZC
MDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICovLAorCQkJCUE1
RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovLAorCQkJCUE1
RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLywKKwkJCQlBNTAz
RkExRjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0QnJlYWtwb2ludC5oICovLAorCQkJCUE1RkQw
MDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAorCQkJCUE1RkQw
MDZBMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKKwkJCQlBNUZEMDA2
QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKKwkJCQlBNUZEMDA2
QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCisJCQkJQTVGRDAwN0Ix
ODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovLAorCQkJCUE1
RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8sCisJ
CQkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywK
KwkJCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICov
LAorCQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBpbnNwZWN0b3I7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQlBNUJBMTVFMDE4MjM0MDlEMDBBODJFNjkgLyogcmVtb3RlICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBNUJBMTVFMTE4MjM0MEIzMDBB
ODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yLmggKi8sCisJCQkJQTVCQTE1RTIxODIzNDBCMzAwQTgy
RTY5IC8qIFJlbW90ZUluc3BlY3Rvci5tbSAqLywKKwkJCQlBNUJBMTVFMzE4MjM0MEIzMDBBODJF
NjkgLyogUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmggKi8sCisJCQkJQTU5NDU1OEUxODI0NUVE
RTAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwICovLAorCQkJCUE1QkEx
NUVGMTgyMzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmggKi8sCisJ
CQkJQTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVD
b25uZWN0aW9uLmggKi8sCisJCQkJQTVCQTE1RTUxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLm1tICovLAorCQkJCUE1QkExNUU2MTgyMzQwQjMw
MEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggKi8sCisJCQkJQTVCQTE1
RTcxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gKi8s
CisJCQkpOworCQkJcGF0aCA9IHJlbW90ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CisJCUE1RUE3MEUzMTlGNUIwRTIwMDk4RjVFQyAvKiBhdWdtZW50YWJsZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTVFQTcwRTQxOUY1QjEwMTAw
OThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlci5oICovLAorCQkJCUE1RUE3
MEU1MTlGNUIxMDEwMDk4RjVFQyAvKiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGll
bnQuaCAqLywKKwkJCQlBNUVBNzBFNjE5RjVCMTAxMDA5OEY1RUMgLyogQWx0ZXJuYXRlRGlzcGF0
Y2hhYmxlQWdlbnQuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gYXVnbWVudGFibGU7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlBN0Q4MDE5RjE4ODBENjZFMDAyNkMzOUIgLyog
YnVpbHRpbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUE3RDgwMUEwMTg4MEQ2NkUwMDI2QzM5QiAvKiBBcnJheS5wcm90b3R5cGUuanMgKi8sCisJCQkJ
QTdEODAxQTExODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5jcHAgKi8sCisJ
CQkJQTdEODAxQTIxODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oICovLAor
CQkJCUE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCAqLywKKwkJCQk3
Q0ZCQUMxQzE4QjUzNUU1MDBEMDA3NTAgLyogUHJvbWlzZS5wcm90b3R5cGUuanMgKi8sCisJCQkJ
QTdBOTc5QzQxOEJFOEQ5RTAwMkMzNzMzIC8qIEZ1bmN0aW9uLnByb3RvdHlwZS5qcyAqLywKKwkJ
CSk7CisJCQlwYXRoID0gYnVpbHRpbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OworCQlDNDcwM0NDMTE5Mjg0NEE0MDAxM0ZCRUEgLyogY29kZWdlbiAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzQ3MDNDQzIxOTI4NDRDQzAwMTNGQkVB
IC8qIF9faW5pdF9fLnB5ICovLAorCQkJCUM0RjRCNkNGMUEwNUM3NkYwMDVDQUI3NiAvKiBjcHBf
Z2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLywKKwkJCQlDNEY0QjZEMDFBMDVDNzZGMDA1Q0FCNzYg
LyogY3BwX2dlbmVyYXRvci5weSAqLywKKwkJCQlBNUVBNzBFQTE5RjVCM0Q1MDA5OEY1RUMgLyog
Z2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovLAor
CQkJCUM0RjRCNkQxMUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNw
YXRjaGVyX2hlYWRlci5weSAqLywKKwkJCQlDNEY0QjZEMjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2Vu
ZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLywKKwkJCQlD
NEY0QjZEMzFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5ICovLAorCQkJCUM0RjRCNkQ0MUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5lcmF0
ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLywKKwkJCQlDNEY0
QjZENTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRl
ci5weSAqLywKKwkJCQlDNEY0QjZENjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3By
b3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovLAorCQkJCUM0NzAzQ0MzMTkyODQ0Q0Mw
MDEzRkJFQSAvKiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovLAorCQkJCUE1RUE3
MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHkgKi8sCisJCQkJQTVFQTcwRjAxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICovLAorCQkJCUE1RUE3MEYx
MTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faGVhZGVyLnB5
ICovLAorCQkJCUE1RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkgKi8sCisJCQkJQTVFQTcwRjMxOUY2REU1QTAwOThG
NUVDIC8qIGdlbmVyYXRlX29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5ICovLAorCQkJCUE1RUE3
MEY0MTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJf
aW1wbGVtZW50YXRpb24ucHkgKi8sCisJCQkJQTVFQTcwRjUxOUY2REU1QTAwOThGNUVDIC8qIGdl
bmVyYXRlX29iamNfaGVhZGVyLnB5ICovLAorCQkJCUE1RUE3MEY2MTlGNkRFNUEwMDk4RjVFQyAv
KiBnZW5lcmF0ZV9vYmpjX2ludGVybmFsX2hlYWRlci5weSAqLywKKwkJCQlDNEY0QjZENzFBMDVD
NzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlv
bi5weSAqLywKKwkJCQlDNDcwM0NDQTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yX3RlbXBs
YXRlcy5weSAqLywKKwkJCQlDNDcwM0NDQjE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yLnB5
ICovLAorCQkJCUM0NzAzQ0NDMTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2RlbHMucHkgKi8sCisJCQkJ
QzRGNEI2RDgxQTA1Qzc2RjAwNUNBQjc2IC8qIG9iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAq
LywKKwkJCQlBNUVBNzBGODE5RjZERTVBMDA5OEY1RUMgLyogb2JqY19nZW5lcmF0b3IucHkgKi8s
CisJCQkpOworCQkJcGF0aCA9IGNvZGVnZW47CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCNDE4MDVENjE2MDA0NzJDRTQgLyogSGVhZGVy
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VGQURDMTgwNjRBMTQwMDQ3
MkNFNCAvKiBjb25maWdfbGx2bS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBREExODA2MjBE
QTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUQxMTgwNUU3
NzkwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNF
RkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworCQkx
NDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhl
YWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJCUE3MjcwMUI5MERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQwMDVDQjBBNTMzOEQxMDAwNUYwNjEgLyogSlNOb2Rl
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQwMDc1NzBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2Rl
TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQ0MDA1Q0MwQTUzMzhGODAwMDVGMDYxIC8qIE5v
ZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0NDAwNzRBMEE1MzZDQzIwMDA1RjA2MSAvKiBOb2Rl
TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTkzMkY1QjNGMDgyMkExQzcwMDczNjk3NSAvKiBIZWFk
ZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZGQTU0OTgxNkI4ODM1MzAw
QjNBOTgyIC8qIEE2NERPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MDE2MUUzMEYzQTgz
QzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkUwNTAyOTFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1lbnRzVGFibGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGNTVGMEY1MTREMTA2M0MwMEFDNzY0OSAvKiBBYnN0cmFjdFBDLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkyQTQ4RDE5MTE3NzIzNjVCMDBDNjVBNUYgLyogQVBJQ2FsbGJh
Y2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMzRTUwRTE2RjVDRDAwQjM0NDYw
IC8qIEFQSUNhc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRjYwNTE0MEUyMDNFRjgwMEI5QTY0
RCAvKiBBcmdMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkyQTg4MDY3OTE5MTA3RDU1MDBDQjBC
QkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0NB
MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBMUEwMDlDMTE4MzFBMjZFMDBDRjg3MTEgLyogQVJNNjRBc3Nl
bWJsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODk4RjMyMUIyNzY4OUYwMDgzQTMzQyAvKiBE
RkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZE
M0IyQzQxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZFMDUwMjgxQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlZEFyZ3VtZW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTJDMDYxMUYxQUE1MUUxQzAwQjRBREJBIC8qIFJ1bnRpbWVUeXBlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGRTRENTVCODFBRTcxNkNBMDA1MkU0NTkgLyogSXRlcmF0aW9uU3Rh
dHVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTUwNjg2NTFBRTI0NjM5MDAwOURBQjcgLyogRGVm
ZXJyZWRTb3VyY2VEdW1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNDQyQ0IyNTFBNkNEQjhDMDA1
RDNEN0MgLyogSlNJbnB1dHMuanNvbiBpbiBIZWFkZXJzICovLAorCQkJCUZFMUMwRkZEMUIxOTNF
OTgwMEI1M0ZDQSAvKiBFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUyNjc4RjkxMUEw
NDE3N0MwMDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjY3OEY4RjFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNUVBNzEwRTE5RjZERjgxMDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJu
YXRlQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzBFQzE5RjVC
M0VBMDA5OEY1RUMgLyogZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJf
aGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzRGNEI2RjMxQTA1Qzk0NDAwNUNBQjc2IC8q
IGNwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFRjlCMTUx
QTFENDNGQTAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKKwkJCQlGRTM4NEVFODFBRERCN0FEMDA1NURFMkMg
LyogSlNEb2xsYXJWTVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkUzODRFRTYxQURE
QjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uaCBpbiBIZWFkZXJzICovLAorCQkJCTZBRDJDQjRE
MTlCOTE0MDEwMDA2NTcxOSAvKiBEZWJ1Z2dlckV2YWxFbmFibGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk2NThEM0E1NjE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTVFRjlCMTYxQTFENDQwMDAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9mcm9u
dGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCTJBRDJFREZCMTk3
OTlFMzgwMDRENjQ3OCAvKiBFbnVtZXJhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
RUY5QjE4MUExRDQ0MDYwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVh
ZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFRjlCMTkxQTFENDQwNzAwNzAyRTkwIC8qIGdl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICov
LAorCQkJCUM0RjRCNkY2MUEwNUM5ODQwMDVDQUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0
ZXMucHkgaW4gSGVhZGVycyAqLywKKwkJCQk3MERDM0UwQTFCMkRGMkM3MDAwNTQyOTkgLyogSXRl
cmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUY5QjE3MUExRDQ0MDMwMDcw
MkU5MCAvKiBnZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5w
eSBpbiBIZWFkZXJzICovLAorCQkJCTE0N0I4M0FDMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkExMTEyNDYxOTJGQ0U3
OTAwNUVFMThEIC8qIEN1c3RvbUdldHRlclNldHRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzRG
NEI2RjUxQTA1Qzk4NDAwNUNBQjc2IC8qIGdlbmVyYXRlX29iamNfcHJvdG9jb2xfdHlwZXNfaW1w
bGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNTg0MDMyMDE4QkZGQkUxMDA1QTA4
MTEgLyogSW5zcGVjdG9yQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQUJDREU3MThFRjI5
NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFN0JBNjEwMUEx
QTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUY5
QjE0MUExRDQzRjYwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hl
YWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCUMyREE3NzgzMThFMjU5OTkwMDY2RkNCNiAvKiBI
ZWFwSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzRGNEI2RjQxQTA1Qzk0NDAwNUNBQjc2
IC8qIGNwcF9nZW5lcmF0b3IucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNTMyNDM5NDE4NTY5NzA5
MDAyRUQ2OTIgLyogZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgaW4gSGVhZGVy
cyAqLywKKwkJCQlBNTg0MEUyNzE4N0M5ODFFMDA4NDNCMTAgLyogY3NzbWluLnB5IGluIEhlYWRl
cnMgKi8sCisJCQkJQTVFQTcxMDQxOUY2REU3MjAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfYmFj
a2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ3
MDNDRDUxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvcl90ZW1wbGF0ZXMucHkgaW4gSGVhZGVy
cyAqLywKKwkJCQlBNUVBNzEwNTE5RjZERTc0MDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19jb25m
aWd1cmF0aW9uX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCUE1RUE3MTA2MTlGNkRFNzYw
MDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkg
aW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwNzE5RjZERTc4MDA5OEY1RUMgLyogZ2VuZXJhdGVf
b2JqY19jb252ZXJzaW9uX2hlbHBlcnMucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwODE5
RjZERTdBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFQTcxMEExOUY2REU3RTAwOThGNUVD
IC8qIGdlbmVyYXRlX29iamNfaW50ZXJuYWxfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVFQTcxMEMxOUY2REU4MjAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9yLnB5IGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVFQTcxMDkxOUY2REU3QzAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfaGVhZGVy
LnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ3MDNDRDYxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVy
YXRvci5weSBpbiBIZWFkZXJzICovLAorCQkJCUM0NzAzQ0MwMTkyODQ0OTYwMDEzRkJFQSAvKiBn
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgaW4gSGVhZGVycyAqLywKKwkJ
CQlDNDcwM0NDRTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5k
cy5weSBpbiBIZWFkZXJzICovLAorCQkJCUM0NzAzQ0Q3MTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2Rl
bHMucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwMzE5RjZERTZGMDA5OEY1RUMgLyogZ2Vu
ZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJ
CQkJMkFBQ0U2M0QxOENBNUEwMzAwRUQwMTkxIC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMkE4MzYzODYxOEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTJBODM2MzhBMThEN0QwRkUwMDAwRUJDQyAv
KiBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQUFBQTMxMjE4
QkQ0OUQxMDAzOTRDQzggLyogU3RydWN0dXJlSURCbG9iLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NTRFOEVCMTE4QkZGQkJFMDA1NTZEMjggLyogR0NTZWdtZW50ZWRBcnJheUlubGluZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTg2QUREMTQ1MEZEREVBOTgwMDA2RUVDMiAvKiBBUk12N0Fzc2VtYmxl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0RThFQjAxOEJGRkJCQjAwNTU2RDI4IC8qIEdDU2Vn
bWVudGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1MTRGMjE5MThCM0UxNjcwMDk4RkY4
QiAvKiBCeXRlY29kZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1QzAyODVEMTcxNzk2NjgwMDM1
MUUzNSAvKiBBUk12N0RPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODMzNUI4MTYzOUMx
RUEwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkQxMjAzNDFBOEM4NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTdBOEFGMzUxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkZDOTlENTE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZmZXJO
ZXV0ZXJpbmdXYXRjaHBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzNzE3QURCNUYz
MDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNF
NjBFMTZGNUNEMDBCMzQ0NjAgLyogQXJyYXlDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZCN0YzOTUxNUVEOEU0NjAwRjE2N0IyIC8qIEFycmF5Q29udmVudGlvbnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE3QkRBRUM5MTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjYzOTQ1NTE1RDA3MDU3MDA2QTU5N0MgLyog
QXJyYXlQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNFNzBFMTZGNUNEMDBCMzQ0
NjAgLyogQXJyYXlQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNTI0MEUxNkZD
OEEwMEIzNDQ2MCAvKiBBcnJheVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJB
RjczODJEMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkI3RjM5NjE1RUQ4RTQ2MDBGMTY3QjIgLyogQXJyYXlTdG9yYWdlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5Njg4Q0IxNTBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkQzQjJDNTEwMTU2QkRFMDAyODY1RTcgLyogQXNzZW1i
bGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNEU1NDEx
N0VBOUY1OTAwQUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg2NjczOUQyMTNCRkRFNzEwMDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzE4QzNFQzBFMTZGNUNEMDBCMzQ0NjAgLyogQm9vbGVhbk9iamVjdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRkVBMDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1RDJFNjY1MTk1RTE3NDAwMEE1MThFNyAvKiBKU0NvbnRleHRS
ZWZJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdEODAxQTUxODgwRDY2RTAwMjZDMzlC
IC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc1RUU5QjIxOEFB
QjdFMjAwQUFEMDQzIC8qIEJ1aWx0aW5OYW1lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjlD
RjcxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5NzE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVyZmx5
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5ODE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVy
Zmx5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjJEMkQzOTAxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRkNBRTExMTdBOUMy
NEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2ljQmxvY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
MjFDMjdGMTRCRUFBODIwMEFEQzY0QiAvKiBCeXRlY29kZUNvbnZlbnRpb25zLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NjlBMDcyMzBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3Iu
aCBpbiBIZWFkZXJzICovLAorCQkJCUMyRkNBRTEzMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29k
ZUxpdmVuZXNzQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjY2RUMwMTgzNTY2Rjkw
MEQwMTdGMSAvKiBCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXNJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjhGMTQzNjFBREYwOTAxMDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY4ODVFMTExODQ5QTNCRTAwRjFFM0ZBIC8qIEJ5dGVj
b2RlVXNlRGVmLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjgwMjNFQTE2MTM4MzJCMDBBMEJBNDUg
LyogQnlWYWxJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNFRDBFMTZGNUNEMDBCMzQ0
NjAgLyogQ2FsbERhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUFEODZBOTNFMUFBNEQ4OEQwMDJG
RTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDhERTBF
RDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0MxRUFF
RjE3OTg3QUI2MDAyOTlEQjIgLyogQ2FsbEZyYW1lSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTVFM0JDMDUwRTFBRTY4MjAwQjJEMUMxIC8qIENhbGxJZGVudGlmaWVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0
dXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMEI4M0I5MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxs
UmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2OUND
ODkxOTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjI0RTU0MjE3RUE5RjU5MDBBQkIyMTcgLyogQ0NhbGxIZWxwZXJzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzZBQUFFNTBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NjlBMDc5NzBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjhGOTQ0MTE2Njc2MzMyMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZDOTdGMzQxODIwMjBENzAwMkM5QjI2IC8qIENvZGVCbG9j
a0pldHRpc29uaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBFQ0E2MDgxQUZE
QkVBMjAwNDQ5NzM5IC8qIFRlbXBsYXRlUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
RDhBMzE0MTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGOTZFQkIzMTY2NzZFRjYwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTc3RjE4MjIxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODZFMTE2QjEwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2Nh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCRDdFNjkxNDQ3OTk5NjAwNDgxMzE1IC8qIENv
ZGVPcmlnaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMjFDMjdEMTRCRTcyN0EwMEFEQzY0QiAv
KiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjBCODNBNzE0
QkNGNTA3MDA4ODVCNEYgLyogQ29kZVR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDM0Yz
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBDb21tb25JZGVudGlmaWVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNzA5RkI4NkMxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMTVGMTVGMTRCN0E3M0UwMDVERTM3RCAvKiBDb21tb25TbG93UGF0aHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTY1NTNBMzMyMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25T
bG93UGF0aHNFeGNlcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkQ4MkUzOTE0MUFCMTRE
MDAxNzlDOTQgLyogQ29tcGFjdEpJVENvZGVNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RTVB
M0E4MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTUzQ0UwODgxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkMxOEMzRjQwRTE2RjVDRDAwQjM0NDYwIC8qIENvbXBsZXRpb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGREIyQ0VBMTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMzRjUwRTE2RjVDRDAwQjM0NDYwIC8qIGNvbmZp
Zy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGQjZDMzkxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVv
ZlR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0NDgzNkU3MTMyREE3QkUwMDVCRTc4NSAvKiBD
b25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwN0ExODlCMDUxMDAw
NjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3NDE4
OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZD
OTlEMTE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzNGNjBFMTZGNUNEMDBCMzQ0NjAgLyogQ29uc3RydWN0RGF0YS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTU3RDIzRjIxODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRUFEMkZDMTRGMDI0OTgwMEE0QjE1OSAvKiBDb3Bp
ZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2
NSAvKiBDb3BpZWRCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJGQzlCRDMxNjY0NERGQjAw
ODEwRDMzIC8qIENvcGllZEJsb2NrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTEyQkJG
RjIxQjA0NEE4QjAwNjY0QjY5IC8qIEludGxPYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
RUFBM0ZBMTQ5QTgzNUUwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQzJDOEQwMkQxNEEzQzZFMDAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZFRTk4NDExQTg4NjVCNzAwNzU0RTkzIC8qIFNldHVwVmFyYXJnc0Zy
YW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGRDE5QURBNDEwMDA2QUM3MkEgLyogREZH
QmxvY2tNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVBNTJEMDE3QURENzE3MDA4
RUNCMkQgLyogQ29weVRva2VuLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjIzOUQxODE2MjYyQkRE
MDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyMjM5RDE5MTYy
NjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCTJBNjgyOTVCMTg3NUY4MDUwMEI2QzNFMiAvKiBDb3B5V3JpdGVCYXJyaWVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hf
dGFibGUgaW4gSGVhZGVycyAqLywKKwkJCQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0
YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjlDRTUxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZE
RjE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRDIw
MzRBMEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxMzU5Q0YzMEZERDg5QUQwMDIwNjE4MCAvKiBEYXRlQ29udmVyc2lvbi5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQkMxMTY2MDIwRTE5OTdCNDAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY2NEIyN0ExQTc5NTdCMjAwNkU0RTY2IC8qIENhbGxFZGdlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNEExNTYzMjEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3Rh
bmNlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRDIwMzRDMEUxNzEzNUUwMDJDN0U4MiAv
KiBEYXRlUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDNFODBFMTcxOEY0MDAy
QzdFODIgLyogRGF0ZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDM0ZB
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBEZWJ1Z2dlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMz
RkIwRTE2RjVDRDAwQjM0NDYwIC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywK
KwkJCQlGRUEwODYyMTE4MkI3QTA0MDBGNkQ4NTEgLyogRGVidWdnZXJQcmltaXRpdmVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjEzNkQ0RDE3NEFENjlFMDA3NUIzNTQgLyogRGVmZXJHQy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEZDNzEyREYxN0NEODc3QzAwOENDOTNDIC8qIERlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc3QTQyM0UxN0EwQkJGRDAw
QThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVFQTcwRTgx
OUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTcwNEQ5MDMxN0EwQkFBODAwNkJBNTU0IC8qIERGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MDREOTA0MTdBMEJBQTgwMDZC
QTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY2MjAxNzcxNDNGQ0QzRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRjA1NEZBMUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2Nh
dGlvbkZ1enouaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjZFMTZCMTRERjNGMTYwMEI3QjJFNCAv
KiBERkdBZGphY2VuY3lMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZCOTIxODE2RDAyRUIy
MDA1NUE1REIgLyogREZHQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzM3ODEwQzE3
OTlFQTJFMDA4MTc1MzMgLyogREZHQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUz
QTQ2MTUzNENCQUYwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNUMzQTFBNjE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ4NTMyMjE4Nzc1MDU2MDA4M0I2ODcgLyog
REZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjA1QzNCNDE2ODNDRjkyMDBCQUY0
NUIgLyogREZHQXJyYXlpZnlTbG93UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEY2Mzk0ODUxNUU0ODExQjAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdEOUEyOTUxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0F0VGFpbEFic3RyYWN0U3RhdGUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjY2RUM3MTgzNTY3MkIwMEQwMTdGMSAvKiBERkdBdmFp
bGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNzE0Q0E1MTZFQTkyRjIwMEYzRUJFQiAv
KiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjYy
MDE3NjE0M0ZDRDNCMDA2OEI3N0MgLyogREZHQmFzaWNCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZGQjkyMUExNkQwMkVDNTAwNTVBNURCIC8qIERGR0Jhc2ljQmxvY2tJbmxpbmVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlBN0Q4OUNGNDE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNl
cnRpb25TZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAv
KiBERkdCcmFuY2hEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RUM5REM1MTMyOERG
ODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
NTZDMzYxNjI3QjBBRDAwN0YyNzgzIC8qIERGR0NhbGxBcnJheUFsbG9jYXRvclNsb3dQYXRoR2Vu
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdCMjk0QjE0QzNDRDJGMDA3QzNEQjEgLyog
REZHQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZGQzk1ODE0RUY5MEEyMDBD
NzI1MzIgLyogREZHQ0ZBUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkREODBCMUFCM0Q4
NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNCM0Ey
ODE1NDRDOTk3MDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTc3QTQyNDAxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJpemUuaCBp
biBIZWFkZXJzICovLAorCQkJCUE3N0E0MjQyMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVy
U2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdCMjk0RDE0QzNDRDRDMDA3QzNEQjEgLyogREZH
Q29tbW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyog
REZHQ29tbW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0
NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjM4QjAxQTE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjNCM0ExQjE1M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVFOCAvKiBERkdDUFNSZXRo
cmVhZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q4OUNGNjE3QTBCOENDMDA3NzNB
RDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGRkM5NUExNEVGOTBBOTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjJGQzc3MzE2RTEyRjc0MDAzOEQ5NzYgLyogREZHRENFUGhhc2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGOEYyQjlBMTcyRjA1MDEwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmll
cnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyQzBGN0NFMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdE
ZXNpcmVkVHJhbnNpdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTg1MzRDMTcyM0NEQTUw
MEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
OTgxRkQ5MTdCQUVFNEIwMEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUMyOTgxRkREMTdCQUZGNDQwMEEzQkM5OCAvKiBERkdEZXNpcmVkV3Jp
dGVCYXJyaWVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNDI3NjUxNTkxQTFDRTAwNENCOUZG
IC8qIERGR0Rpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEODFBRDMxNTRGQjRG
MDAwOTgzRTcyIC8qIERGR0RvbWluYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUzQTQ3
MTUzNENCQjkwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3RDlBMjk2MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdFZGdlRG9taW5hdGVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkJGMTU4RDE5QjdBNTMxMDA2OTVERDAgLyogREZHQmxvY2tT
ZXRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVERDAg
LyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQkMwQUU4MTQ5
NkM3QzcwMEQ0RkJERCAvKiBERkdFeGl0UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc4
QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTdCRkYzQzAxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1bHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE3OEE5Nzc3MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkJEQzE2MTUxQzVENEYwMENEODkxMCAvKiBE
RkdGaXh1cFBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGQzE5QURBNDEwMDA2QUM3
MkEgLyogREZHQmxvY2tNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUQzMzk3MTdGRkM0RTYw
MDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RDg5Q0Y4MTdB
MEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZF
QzlEQzYxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dlbmVyYXRpb25JbmZvLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NkVDOURDODEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGMkZDQ0ZBMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTRFMjExODEyNTcwQjAwOUI2QjREIC8qIERGR0lubGlu
ZUNhY2hlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTRFMjMxODEzMDk1NTAwOUI2
QjREIC8qIERGR0lubGluZUNhY2hlV3JhcHBlcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGNzkwODU2MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwNEQ5MDYxN0EwQkFBODAwNkJBNTU0IC8qIERGR0lu
UGxhY2VBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCREMyMTE1MUU4MDNC
MDBDRDg5MTAgLyogREZHSW5zZXJ0aW9uU2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjMwMEI3
QzE4QUIxQjE0MDBBNkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQzk3RjNFMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlkYXRp
b25Qb2ludEluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEzNDE3MEQ0
MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQzlEQ0Mx
MzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NzhBOTc3OTE3OTczOEI4MDA5REY3NDQgLyogREZHSklURmluYWxpemVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkM5N0Y0MDE4MjAyMTE5MDAyQzlCMjYgLyogREZHSnVtcFJlcGxhY2VtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNzNBNTM1QjE3OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpT
VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI5Q0U5MTlEMEJBN0QwMEIxRDFCNSAvKiBE
RkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q5QTI5
ODE3QTBCQzc0MDBFRTI2MTggLyogREZHTElDTVBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
N0Q4OUNGQzE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkYwRjE5QjE2QjcyOUZBMDA1REY5NUIgLyogREZHTG9uZ0xpdmVk
U3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwOUZCODY4MUFFMzM1QzYwMDM5RDA2OSAvKiBK
U1dlYWtTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NjdCNUI2MTdBMEI5NjUwMDYzRDk0MCAv
KiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
QjlDRUQxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNzA0RDkwNzE3QTBCQUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkIxNzY2MzE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZh
bHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCREM0NTE1MjI4MDFCMDBDRDg5MTAgLyogREZH
TWluaWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0
RkQyIC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkJEQzQ2MTUyMjgw
MjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3Mzc4
MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1REIgLyogREZHTm9kZUFsbG9jYXRvci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZBNTgxQkIxNTBFOTUzMDAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYzMDBCNzgxOEFCMDUxMTAwQTZENzJFIC8qIERGR05vZGVP
cmlnaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQTU4MUJDMTUwRTk1MzAwMEI5QTJEOSAvKiBE
RkdOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQzlERDAxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR09wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RDg5Q0ZFMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkQ4MkU1NzE0MURBRjEwMDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRDhBMzI2MTdENTFGNTcwMENBMkM0MCAvKiBERkdPU1JFbnRyeXBvaW50
Q3JlYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjJGMkFBMzgxQjBCRURFMzAwNjEw
QzdBIC8qIERGR0xhenlOb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMwOTc2QTE0NjhBNkY3
MDBDRjI0NDIgLyogREZHT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRUMxNzE3
OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZC
OTIxQzE2RDAyRjExMDA1NUE1REIgLyogREZHT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZDMDk3NzExNDY5M0FGNTAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21w
aWxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3MDI1QUExNzE0QjBGQzAwMzgyQzBFIC8qIERG
R09TUkV4aXRDb21waWxlckNvbW1vbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOTQ5ODUxQTk3
REI5NjAwRTI4OTY2IC8qIEpTRnVuY3Rpb25OYW1lU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRUZDOUFCMTY4MUEzQjYwMDU2N0Y1MyAvKiBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjRDRUQ1RjE4Q0VBN0FCMDA4MDJGRTAgLyogUG9seW1vcnBo
aWNHZXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRUUxNzE3OEU3MzAwNjkw
QzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGRkM5
NUMxNEVGOTBBRjAwQzcyNTMyIC8qIERGR1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVB
NzBFRTE5RjVCNUM0MDA5OEY1RUMgLyogSlNDb250ZXh0UmVmSW5zcGVjdG9yU3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTc4QTk3N0IxNzk3MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uaCBp
biBIZWFkZXJzICovLAorCQkJCTBGQkUwRjc1MTZDMURCMEIwMDgyQzVFOCAvKiBERkdQcmVkaWN0
aW9uSW5qZWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRkZDOTVFMTRFRjkwQjcw
MEM3MjUzMiAvKiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODZFQzlERDExMzI4REY4MjAwMkIyQUQ3IC8qIERGR1JlZ2lzdGVyQmFuay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyRkNDRkMxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTc3QTQyNDMxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVU
b0V4ZWN1dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NDEwMTdGMTc5REFGODAwMDJFQjhCQSAv
KiBERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEYyRkNDRkQxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NjYW5uYWJsZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxp
dGllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQ0EzRkExMzJERjI1QTAwMkIyQUQ3IC8qIERG
R1Njb3JlQm9hcmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUzQTY3MTUzQTIxRTIwMDBGOTQ1
NiAvKiBERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZC
OTIxRDE2RDAyRjMwMDA1NUE1REIgLyogREZHU2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2RUM5REQzMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTdEODlEMDAxN0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNv
bnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDMjBDQkExODU1NkEzNTAwQzlF
OTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUZCNEY1
MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjlFMzI2NDFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9u
UGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNEYyOUUwMThCNkFEMUMwMDU3QkMxNSAvKiBE
RkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZDMjBDQjYxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1
Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJGQ0NGRjE4QTYwMDcw
MDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDMDk3QTIx
NDZCMjhDQzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOEEz
MjgxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGRDhBMzJBMTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVy
cmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOEEzMkMxN0Q1
MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjM5NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBE
RkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkJFMEY3NzE2
QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEYzNEIxNEExNkQ0MjAxMzAwMUNEQTVBIC8qIERGR1VzZUtpbmQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGM0IzQTJDMTU0NzUwMDIwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyQkRDNDgxNTIyODAyOTAwQ0Q4OTEwIC8qIERGR1ZhbHVlU291cmNlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjYyMDE3NDE0M0ZDRDMzMDA2OEI3N0MgLyogREZHVmFyaWFi
bGVBY2Nlc3NEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkFBM0UwOTE5RDBDMkNCMDBGQUM5
RTIgLyogREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRERCRkI2
MTY2NkVFREEwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjJCREM0OTE1MjI4MDk2MDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQkRDNEIxNTIyODA5RDAwQ0Q4OTEwIC8qIERGR1Zhcmlh
YmxlRXZlbnRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRkZDOTYwMTRFRjkwQkQwMEM3
MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGQzk3RjQyMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkRCMkNFODE3NDgzMEEyMDA3QjNDMUIgLyog
REZHV29ya2xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRjQyNzMxMTU4RUJENTQwMDRDQjlG
RiAvKiBEaXNhc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MDQ0N0VFMTdBMEJENzAw
MEY1ODk4RSAvKiBEdW1wQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTlFNDVBMjQxOEEx
QjI1OTAwMjZEODhGIC8qIEVtcHR5SW5wdXRDdXJzb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5
RTQ1QTI2MThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGNTg3NEVFMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzMwNDYwNzBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMDJFOTBEMEUxODM5REIwMDBGOTI5NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGRUI1OEMxNTE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGlu
Z1Njb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzAyRTk4RDBFMTgzRTM4MDAwRjkyOTcgLyog
RXJyb3JJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMwMkU5MEYwRTE4MzlEQjAwMEY5
Mjk3IC8qIEVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDc5ODBFRDFE
M0FFMDBGMUY2ODEgLyogRXZhbENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0OTgy
MDQxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0MDAwRTE2RjVDRDAwQjM0NDYwIC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg2Q0FGRUUzMTAzNURERTYwMDI4QTYwOSAvKiBFeGVjdXRhYmxlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNzY2QjQ0RjBFRThEQ0QxMDA5NTE4Q0EgLyogRXhlY3V0YWJsZUFsbG9jYXRv
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY1NkExRDMxNTAwMEYzNTAwMjk5MkIxIC8qIEV4ZWN1
dGlvbkNvdW50ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGM0FDNzU0MTg4RTVFQzgwMDMyMDI5
RiAvKiBFeGl0aW5nSklUVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1ODYxNjc1NDgx
MjAwRjhBQjZFIC8qIEV4aXRLaW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjBCODNBQjE0QkNG
NUJCMDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTdBOEFGMzgxN0FEQjVGMzAwNUFCMTc0IC8qIEZsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdBOEFGMzkxN0FEQjVGMzAwNUFCMTc0IC8qIEZsb2F0NjRBcnJheS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyNEU1NDMxN0VBOUY1OTAwQUJCMjE3IC8qIEZQUkluZm8uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTcwOTRDNERGMUFFNDM5NTMwMDQxQTJFRSAvKiBCeXRlY29kZUludHJpbnNp
Y1JlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkRCMkNDOTE3M0RBNTIwMDA3QjNDMUIg
LyogRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMDgxNzA1
MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
M0NFMDhBMThCQzIxQzMwMEJFREY3NiAvKiBDb25zb2xlQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkUwNTAxOTFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0FyZ3VtZW50cy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZFQTBBMUQxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVh
cC5oIGluIEhlYWRlcnMgKi8sCisJCQkJREMwMDAzOTMxOUQ4QkU2RjAwMDIzRUIwIC8qIERGR1By
ZWNpc2VMb2NhbENsb2JiZXJpemUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTFGMTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjQ4NTMyODE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGRUEwQTBBMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTIzMTcwOTYwNjkwMEJCNzIyQyAvKiBG
VExDb21tb25WYWx1ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTBDMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExDb21waWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkU5NUY3QTE4QjU2OTQ3
MDBCNTMxRkIgLyogRlRMRGF0YVNlY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQzkyMkJD
MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMjM1QkQ0MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMjM1QkQ2MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1l
bnRGb3JPcGVyYW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjIzNUJENzE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMRXhpdEFyZ3VtZW50TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRDkx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY5RDM2OTUxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyMzVCREIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTUzQ0UwODYxOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQ
cm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RjI5OTZDMTdBMEJCNjcwMDEwNDE3QSAv
KiBGVExGYWlsLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEyQzE3MEI2NjE5MDBCQjcyMkMg
LyogRlRMRm9ybWF0dGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDhBMzFBMTdENTFG
MjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE3OEE5NzdGMTc5NzM4RDUwMDlERjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyNUYxQUUxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hl
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNUYxQjAxODE2MzVGMzAwNTIyRjM5
IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMjQxNzA5
NjA2OTAwQkI3MjJDIC8qIEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGRUEwQTBFMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNzhBOTc4MTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkVENjdCQTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRI
b2lzdGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNCNjE4NUZDOUU5MDA4NDVE
OTcgLyogRlRMSlNDYWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjhGMkI5NjE3MkUwNEEzMDA3
REJEQTUgLyogRlRMTGluay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRTAxODA3MzhDMDAw
NDcyQ0U0IC8qIEZUTExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEExMDE3MDUx
M0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
RDg5RDAyMTdBMEI5MDQwMDc3M0FEOCAvKiBGVExMb3dlcmVkTm9kZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkQ4QTMxQzE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMjM1QkREMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjIzNUJERTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhp
dENvbXBpbGF0aW9uSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRTAxNzE3OEUxQzAw
NjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTJCMzEw
RkIxOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZFQTBBMTExNzA1MTNEQjAwQkI3MjJDIC8qIEZUTE91dHB1dC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOUU3Mjk0MEIxOTBGMDUxNDAwMUE5MUI1IC8qIEJ1bmRsZVBhdGguaCBp
biBIZWFkZXJzICovLAorCQkJCTBGNDg1MzJBMTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVy
eU9wY29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQzQxODYyQzQ3ODAwODQ1RDk3IC8q
IEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUFDMTgwNEMx
M0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNUYx
QjIxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEYyNUYxQjQxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY5RDMzOUIxODAzQURCNzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMTIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTFN0YXRl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0ZDQzI2RDE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dp
dGNoQ2FzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRTIxNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTFRodW5rcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMjAxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTFR5cGVkUG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQzYxODYyQzQ3
ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMjM1QkU0
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZEQjJDQ0ExNzNEQTUyMzAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkU3MjExRTE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFu
Z2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDMzMkM2MThCNTNGQTkwMDVGOTc5QSAvKiBGVExX
ZWlnaHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDMzMkM4MThCNTQ2RUMwMDVGOTc5QSAvKiBG
VExXZWlnaHRlZFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2NjZFQzExODM1NjZGOTAw
RDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQwNDBFMTZGNUNEMDBCMzQ0NjAgLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZGMEYxQTAxNkI3MkExQTAwNURGOTVCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1
bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDA1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBGdW5j
dGlvblByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkNCRTJDQUUxNEU5ODVBQTAwMDU5
M0FEIC8qIEdDQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3NjZEMzAxNUE4RENF
MjAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzBFQzBFQzcxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjJCNjZBQzE3QjZCNTNGMDBBN0FFM0YgLyogR0NJbmNvbWluZ1Jl
ZkNvdW50ZWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkFEMTdCNkI1NDUwMEE3QUUzRiAv
KiBHQ0luY29taW5nUmVmQ291bnRlZElubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2
NkFFMTdCNkI1NDUwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyQjY2QUYxN0I2QjU0NTAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3Vu
dGVkU2V0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzIyMzlEMUIxNjI2MkJERDAwNUFD
NUZEIC8qIEdDVGhyZWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjExMjJFMjE1REQ5QUIzMDA3
OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZF
MDE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjFGRTUxQzE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMkI2NkUxMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlwZWRBcnJh
eVZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjkzMzJBMDE0Q0E3RENEMDA4NUYz
QzYgLyogR2V0QnlJZFN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYwMzMyQzQxOEIwMTc2
MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0RTU0
NDE3RUE5RjU5MDBBQkIyMTcgLyogR1BSSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRTMx
MzQxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzI4MzE5
MDAxNkZFNEI3RDAwMTU3QkZEIC8qIEhhbmRsZUJsb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
MjgzMTkwMjE2RkU1MzNFMDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjBCODNBOTE0QkNGNTYyMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkQ0REVDMTk4MzJEQzQwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJM
b2cuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM2MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5k
bGVTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM4MTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQ3ODI5N0IxMzc5RThBODAwQTdDMkEz
IC8qIEhhbmRsZVR5cGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEJBN0E5ODEzQUFERkY4MDA1
QjdDMkMgLyogSGVhcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJDOEQwMzExNEEzQ0VGQzAwNTc4
RTY1IC8qIEhlYXBCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkFEODkzMkIxN0UzODY4RjAw
NjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkE2RjQ2
MjYxN0U5NTlDRTAwQzQ1Qzk4IC8qIEhlYXBPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRTA1MDE0MUFBOTA5MTEwMEQzM0IzMyAvKiBBcmd1bWVudHNNb2RlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNEY5NzQ0NzEzOEM4NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDMjREMzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3Rp
Y3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRTUyNkJFMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFw
VGltZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MEQ1MTRCQkQyNEIwMEJGRTI3MiAvKiBI
b3N0Q2FsbFJldHVyblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQwRjBFMTZGNUNE
MDBCMzQ0NjAgLyogSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzYxODlC
MDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTk2MjMxRTkxOEQxODA0MjAwQzAzRkRBIC8qIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBp
biBIZWFkZXJzICovLAorCQkJCUMyNUY4QkNFMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRh
bFN3ZWVwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQjdGMzk5MTVFRDhFNDYwMEYxNjdCMiAv
KiBJbmRleGluZ0hlYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCN0YzOUExNUVEOEU0NjAw
RjE2N0IyIC8qIEluZGV4aW5nSGVhZGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZC
N0YzOUIxNUVEOEU0NjAwRjE2N0IyIC8qIEluZGV4aW5nVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkNFRkFDQzE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTAwRTE2RjVDRDAwQjM0NDYwIC8qIEluaXRp
YWxpemVUaHJlYWRpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MTNFNUI4MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxNEIyQzMxODVB
Njg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTUxM0U1QkUxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTUxM0U1Q0IxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFu
YWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU4NDBFMjExODdCN0I4NjAwODQzQjEwIC8qIElu
amVjdGVkU2NyaXB0TW9kdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTEzRTVDNzE4NUY5NDQ2
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
ODQwRTI5MTg3Q0E1RTYwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1h
bmQtc2NyaXB0cy5weSBpbiBIZWFkZXJzICovLAorCQkJCTBGMjRFNTU2MTdGMEI3MUMwMEFCQjIx
NyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5RTQ1QTI3MThB
MUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1cnNvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU5M0NG
N0YxODQwMzYyQzAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50QmFzZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEYzRTAxQUIxOUQzNTNBNTAwRjYxQjdGIC8qIERGR1ByZVBvc3ROdW1iZXJpbmcuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1OTNDRjg3MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUwNTAyNjFBQTkwOTU2MDBEMzNC
MzMgLyogQ2xvbmVkQXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTkzQ0Y3RDE4NDAz
NjAzMDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1N0QyM0U2MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUQwQTFCQjE4NjIzMDFCMDBD
N0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1OTQ1
NTk1MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMu
anNvbiBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0Mzg4MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0MzhBMTg1
NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4NjA2RERFQTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0MzhDMTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MEU0QjYyMTg4MDlERDUw
MDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
NUQ5M0FDMTg1MTRGNzkwMDQwMERFRCAvKiBJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNTkzQ0Y4MzE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFsdWVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDc5OTBFRDFEM0FFMDBGMUY2ODEgLyogSW5zdHJ1
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QThBRjNCMTdBREI1RjMwMDVBQjE3NCAvKiBJ
bnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzQzE3QURCNUYzMDA1QUIxNzQg
LyogSW50MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGM0ExN0FEQjVGMzAwNUFC
MTc0IC8qIEludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc4ODUzRkExNzk3MjYyOTAw
MTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg2MEJEODAxMTQ4RUE2RjIwMDExMkIyRiAvKiBJbnRyaW5zaWMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTcwMTEzRDRDMUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJh
dGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDEzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBK
YXZhU2NyaXB0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNGNTE5RDBCQUMxMDBCMUQxQjUg
LyogRlRMRXhpdFByb3BlcnR5VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1NTJDMzgwMUFE
REI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTUwM0ZBMUExODhFMEZCMDAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUJDMThDNDE0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0Q29yZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTUwRTE2RjVDRDAwQjM0NDYwIC8qIEphdmFTY3Jp
cHRDb3JlUHJlZml4LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDkzMDBFRDIyRDcwMDBCODk2
MTkgLyogSklULmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzBFOTE5RjVCMTAxMDA5OEY1RUMg
LyogQWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2Q0NF
RkRFMEY0MTNGODkwMEZEN0Y5RSAvKiBKSVRDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjA3
NzZCRjE0RkYwMDJCMDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGQUY3RUZFMTY1QkE5MUYwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGNDY4MDgyMTRCQTU3MkQwMEJGRTI3MiAvKiBKSVRFeGNlcHRp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkIxNEUxRjE4MTI0QUNFMDA5QjZCNEQgLyogSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2Q0M4NUExMEVFNzlB
NDcwMDI4ODY4MiAvKiBKSVRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0RTU0RDE3
RUUyNzQ5MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3
NjZEMzExNUFBODExMjAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjc2NkQyQzE1QThDQzNBMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmVTZXQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0QzUyNDJCMEY1MzU1RTkwMEJBM0QwNCAvKiBKSVRTdHVicy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEYzQjdFMkIxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUY2ODM1RTE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1
YnNBUk0uaCBpbiBIZWFkZXJzICovLAorCQkJCUZFRjY4MzVGMTc0MzQzQ0MwMEEzMkUyNSAvKiBK
SVRTdHVic0FSTXY3LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUY2ODM2MTE3NDM0M0NDMDBBMzJF
MjUgLyogSklUU3R1YnNYODYuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFRjY4MzYwMTc0MzQzQ0Mw
MEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUREQjFGNjMx
OEQ3N0RCRTAwOUI1OEE4IC8qIE9wYXF1ZVJvb3RTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
QTRBRTEwMTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic1g4NkNvbW1vbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY1RUY5MUYxNjg3OEY3RDAwM0U1QzI1IC8qIEpJVFRodW5rcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDNzEyRTMxN0NEODc5MzAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzZGNTRBMzEzQjI4QUFC
MDBFRjJCQ0UgLyogSklUV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQx
NjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNMZXhpY2FsRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg0MDQ4MDEzMTAyMUExRDkwMDhFN0YwMSAvKiBKU0FQSVZhbHVlV3JhcHBlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQzJDRjM5QzIxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBl
ck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTcwRTE2RjVDRDAwQjM0NDYwIC8q
IEpTQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkUzMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFNTE3QjZCNUFCMDBB
N0FFM0YgLyogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RjJCNjZFNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyQjY2RTkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJW
aWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlclZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0JEQUVDQjE3RjRF
QTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQxODBFMTZGNUNEMDBCMzQ0NjAgLyogSlNCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJE
NERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxNDBEMTdENzBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNjU3Q0Y0NTkxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxOTBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxQTBFMTZGNUNEMDBCMzQ0
NjAgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNGOTE5
RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0MUIwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDFDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q4MDFBOTE4ODBENkE4MDAyNkMzOUIgLyogSlND
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMTE2N0RBMEUxOUJDQzkwMDgwNjZERCAv
KiBKU0NlbGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTc0OTcxMTY4N0FERTQwMEE0RkY2QSAv
KiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjFERDg0QTE4QTk0NUJFMDAy
NkYzRkEgLyogSlNDSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFMDUwMUExQUE5MDkx
MTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzQyQjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDSlNWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY2NEIyNzIxQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3aXRjaC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODY1QTMwRjExMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pTVmFsdWVJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxRDBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDbGFz
c1JlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTMxNjdCQUJENzAwNkQ3NjBBIC8qIEpT
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTcxNjdCQUJFRTAwNkQ3NjBBIC8q
IEpTQ29udGV4dEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxRTBFMTZGNUNE
MDBCMzQ0NjAgLyogSlNDb250ZXh0UmVmLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDhDRDFEODEw
OENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY3NTc2RDMxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJ
VFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFQzE3QjZCNUFCMDBBN0FF
M0YgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RUUxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk3ODgw
MTQxMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
MkE3RjY4ODE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg2RTNDNjE0MTY3QkFCRDcwMDZENzYwQSAvKiBKU0V4cG9ydC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdCNEFDQUYxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFRjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9h
dDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkYwMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0Zsb2F0NjRBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MUYwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MjAyOEJBMTc5NzYw
M0QwMDk4MDI4QyAvKiBKU0Z1bmN0aW9uSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
QjY2RjExN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjJCNjZGMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRB
cnJheVZpZXdDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RjMxN0I2QjVB
QjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVBMTI3NDE5MkQ5
RkRGMDA4NzY0QTMgLyogREZHRG9lc0dDLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNTE3
QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkI2NkY2MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDIx
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0dsb2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVGRDAwODYxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNTk0NTU5MzE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxP
YmplY3REZWJ1Z2dhYmxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTdEMjNFQTE4OTFCMDc3MDAz
MUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzc1NkZDOTBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1MTAwN0MxMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MEU0QjY0MTg4
MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTUwM0ZBMkExODhGMTA1OTAwMTEwRjE0IC8qIEpTR2xvYmFsT2JqZWN0U2NyaXB0
RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MTNFNUMwMTg1QkZBQ0MwMDdFOTVB
RCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxM0U1QzIx
ODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjJCNjZGODE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQzMkFy
cmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNJ
bnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NkM1MTc2MTE4Mjc0OEQwMDcxNUIwNSAv
KiBKU0ludGVyZmFjZUpJVC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMUUxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkMxOEM0MjMwRTE2RjVDRDAwQjM0NDYwIC8qIEpTTG9jay5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQzI1RDcwOUMxNkRFOTlGNDAwRkNBNkJDIC8qIEpTTWFuYWdlZFZhbHVlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkyQTRCQjdGMzE4QTQxMTc5MDA4QTBGQ0QgLyogSlNNYW5hZ2VkVmFsdWVJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3NDIxN0NCRThFQjAwQzNFNjQzIC8q
IEpTTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzRERUY5NjE4MkQ5OTE0MDA1MjJDMjIgLyog
SlNNYXBJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU4NDBFMkIxODdDQTc1QjAwODQz
QjEwIC8qIGpzbWluLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJMTQ4NzRBRTQxNUVCREU0QTAwMkUz
NTg3IC8qIEpTTmFtZVNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyNDBFMTZGNUNE
MDBCMzQ0NjAgLyogSlNPYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwOUZCODZBMUFFMzM1
QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDI1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTcyODBBMjgxMTU1N0UzMDAwRDU2OTU3IC8qIEpTT2JqZWN0UmVmUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdGOTkzNUYwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDODdDREI5MTA3MTJBRDQwMDA2MTRDRiAvKiBKU09OT2JqZWN0
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTUzNEFBRkIwRTVCN0E5NjAwQjhBNDVCIC8qIEpT
UHJvZmlsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QzE4NEUxQjE3QkVEQkQzMDA3
Q0I2M0EgLyogSlNQcm9taXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QzE4NEUyMzE3QkVFMjQw
MDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTdD
MDA4Q0RCMTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0MwMDhDRDMxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJN0MxODRFMUYxN0JFRTIyRTAwN0NCNjNBIC8qIEpTUHJvbWlz
ZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0MwMDhDREYxODcxMjU4RDAwOTU1QzI0
IC8qIEpTUHJvbWlzZVJlYWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjI1NTNEMjE2MTM2
RTFBMDA5RjE3RDAgLyogSlNQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTkyOEZGM0MxOEFD
NEFFQzAwQjhDRjEyIC8qIEpTUmVwbGF5SW5wdXRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQyNjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTE0ODc0QUU2MTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBN0MwQzRBQzE2ODEwMzAyMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjkxOUQxMTE1N0YzMzJDMDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcyOTlEOUUxN0QxMjgzNzAwNUY1RkY5
IC8qIEpTU2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzkwREQ3MDE4MkY0OTk3MDA1ODg4MDcg
LyogSlNTZXRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NUUwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTU3RhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QzFFQUYwMTc5ODdBQjYw
MDI5OURCMiAvKiBKU1N0YWNrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0Mjcw
RTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkU4NTUz
OTExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyNjAwQjVBNzE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUJDMThDNDI4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZ1JlZi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkMxOEM0MjkwRTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nUmVmQ0Yu
aCBpbiBIZWFkZXJzICovLAorCQkJCTFBMjhENEE4MTc3QjcxQzgwMDA3RkEzQyAvKiBKU1N0cmlu
Z1JlZlByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTE5RDBEMTU3RUUwQTIwMDRBNEU3
RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyQTBF
MTZGNUNEMDBCMzQ0NjAgLyogSlNUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUwNTAxNjFB
QTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzT2Zmc2V0LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjJCNjZGQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3Jz
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBl
ZEFycmF5UHJvdG90eXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RkYxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1MDdEMjlFMEU4
NzFFNUUwMEQ3RDg5NiAvKiBKU1R5cGVJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjcw
MjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYyQjY3MDMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMkQ0REYwMTk4MzJERDYwMDdENEIxOSAvKiBUeXBlU2V0LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjJCNjcwMDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkUwNTAyRDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjJCNjcwMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OENsYW1w
ZWRBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTIxNjdCQUJENzAwNkQ3NjBBIC8q
IEpTVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RTNDNjFCMTY3QkFCRUUwMDZENzYwQSAv
KiBKU1ZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDJDMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBKU1ZhbHVlUmVmLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyRDBFMTZG
NUNEMDBCMzQ0NjAgLyogSlNFbnZpcm9ubWVudFJlY29yZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODZFM0M2MTUxNjdCQUJENzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2RTNDNjFEMTY3QkFCRUUwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI5Q0U3MTlEMEJBN0QwMEIxRDFCNSAvKiBE
RkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0NB
M0FFODE3REE0MUFFMDA2NTM4QUYgLyogSlNXZWFrTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NzQ4MkU5MzExNkE3Q0FEMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGRDk0OTgzMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2Nv
cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NDgyQjkzMTE2NzExNDcwMDNCMDcxMiAvKiBKU1dl
YWtPYmplY3RNYXBSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQyNTY2MjE1RURF
OThEMDA2NkE0OUIgLyogSlNXaXRoU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RTNDNjE5
MTY3QkFCRUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDJFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1dyYXBwZXJPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDRkQ4QzkzMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3MkZGRDY0MTM5OTg1QTgwMEU1MzY1QSAvKiBLZXl3b3JkTG9va3VwLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjYyMzc5ODFBRTQ1Q0E3MDBENDAyRUEgLyogREZHUGhhbnRvbUlu
c2VydGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDcyQTBFRDFDRTY5MDBGMUY2
ODEgLyogTGFiZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTk2MDA5N0E2MEVCQUJCNTgwMDdBNzI5
NyAvKiBMYWJlbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI1NDY3NzE0RjU5QjVDMDAy
QzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDUyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBMZWdhY3lQcm9maWxlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkMxOEM0MzEwRTE2RjVDRDAwQjM0NDYwIC8qIExleGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCQzE4QzUyRTBFMTZGQ0UxMDBCMzQ0NjAgLyogTGV4ZXIubHV0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NkQzQjNDMzEwMTU5RDdGMDAyODY1RTcgLyogTGlua0J1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEY0MzE3MzgxNDZCQUM2OTAwN0UzODkwIC8qIExpc3RhYmxlSGFuZGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTdFMkVBNkIwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMEZDNDVBMTRCRDE1RjUwMEI4MTE1NCAvKiBM
TEludENhbGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDM0NEMDAxOUFEQTQxMDAw
NkFDNzJBIC8qIERGR0Jsb2NrV29ya2xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTA1MDE4
MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZFMjBDRTlFMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjA0Mzk2RTFCMDNEQzBCMDA5NTk4QjcgLyogREZHQ29tYmluZWRMaXZlbmVzcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY0NjgwQ0ExNEJCQjE2QzAwQkZFMjcyIC8qIExMSW50Q29tbW9u
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkJEQjlBRDFBQjBGQkM2MDAwQjU3RTUgLyogREZHQ2Fs
bENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjQ2ODBEMzE0QkJEMTY3MDBCRkUyNzIgLyogTExJbnREYXRhLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjM4QjAxMjE3Q0YwNzgzMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRFeGNlcHRp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ2ODBDQjE0QkJCMTcyMDBCRkUyNzIgLyogTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUQyODdCMjE1RUM5QTU3
MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MEE1MTRC
QTdGOEQwMEJGRTI3MiAvKiBMTEludFNsb3dQYXRocy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYw
QjgzOUQxNEJDRjQ2NjAwODg1QjRGIC8qIExMSW50VGh1bmtzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjAxMjMzMzE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJlbmd0aC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGRTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxv
Y2tTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RTVBQjM4MTc5OUU0QjIwMEQyODMzRCAvKiBM
TFZNRGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEMzE4MDVFRENDMDA0
NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM5MTM0RkYw
QTYwMEFGQURCNSAvKiBMb2NhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRTMxM0ExMzRGRjBB
NjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDM3MEUx
NkY1Q0QwMEIzNDQ2MCAvKiBMb29rdXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MENEMTRC
QkIxN0QwMEJGRTI3MiAvKiBMb3dMZXZlbEludGVycHJldGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxNEI3MjNCODEyRDdEQTZGMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NkMzNkVFQTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9Bc3NlbWJsZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg2RDNCMkM2MTAxNTZCREUwMDI4NjVFNyAvKiBNYWNyb0Fz
c2VtYmxlckFSTS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzEx
IC8qIE1hY3JvQXNzZW1ibGVyQVJNNjQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2QUREMTQ2MEZE
REVBOTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4NjNCMjNFMDBGQzYxMTg5MDA3MDNBQTQgLyogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4NkM1NjhFMTExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJs
ZXJNSVBTLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkFFNjRBOTEzNUU1RTFDMDA5NjMwMTIgLyog
TWFjcm9Bc3NlbWJsZXJTSDQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MDE2MUU0MEYzQTgzQzEw
MEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Ni5oIGluIEhlYWRlcnMgKi8sCisJCQkJODYwMTYx
RTUwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2XzY0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NjAxNjFFNjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTNCNEFBMThCOTJDNEQwMDE3OEEzRiAvKiBQdXRC
eUlkVmFyaWFudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQz
IC8qIE1hcENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzg1MDdENzE3Q0JDNkZE
MDAxMUY2RTcgLyogTWFwRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEE2NDQxNTE5NDIwQTZD
NjFBRDE4ODJFIC8qIE1hcERhdGFJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTRCRkYy
QzFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25PdmVycmlkZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE3NERFRjk0MTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3M0UxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlw
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtl
ZEFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRDZGMDkxMzUzOUEyODAwQjAyRTg2
IC8qIE1hcmtlZEJsb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDE0NDhDQjEzQTE3NkVDMDBG
NUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0RDJGM0RCMTM5
RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRDZG
MTIxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODYx
MkU0Q0QxNTIzODlFQzAwQzgzNkJFIC8qIE1hdGNoUmVzdWx0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzQzQzBFMTZGNUNEMDBCMzQ0NjAgLyogTWF0aE9iamVjdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQjU0NjdCMTRGNUM3RTEwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRp
bmdBVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNEMEJCRDE5NEE0MTQzMDBG
QzlDRjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0Mw
MDhDRTcxODc2MzFCNjAwOTU1QzI0IC8qIE1pY3JvdGFzay5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODZDNTY4RTIxMUEyMTNFRTAwMDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMDJFOTExMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzAyRTkxMzBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZl
RXJyb3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5Q0MwQjYzMThCRTk5NTAwMDZD
RUJDQyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGQjkyMjAxNkQwMzNCNzAwNTVBNURCIC8qIE5vZGVDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcwRUNBNjA5MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTk5RTQ1QTI4MThBMUIyNTkwMDI2RDg4RiAvKiBOb25kZXRl
cm1pbmlzdGljSW5wdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQzNDRDAyMTlBREE0MTEwMDZB
QzcyQSAvKiBERkdOYWl2ZURvbWluYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDQx
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY1NzgwQTIxOEZFMUU5ODAwMUU3MkQ5IC8qIFB1cmVOYU4uaCBpbiBIZWFkZXJzICovLAor
CQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJPYmpl
Y3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDQ0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1i
ZXJQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5Q0MwQjYyMThCRTk5NDYwMDZDRUJD
QyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8s
CisJCQkJMTQyRDM5MzkxMDNFNDU2MDAwN0RDQjUyIC8qIE51bWVyaWNTdHJpbmdzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NkYzRUVCRDE2OENERTkzMDA3N0I5MkEgLyogT2JqQ0NhbGxiYWNrRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBP
YmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRDQTk1OEQxNkFCNTBGQTAw
OTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzE4QzQ0NTBFMTZGNUNEMDBCMzQ0NjAgLyogT2JqZWN0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUJDMThDNDQ2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBPYmplY3RQcm90b3R5cGUuaCBp
biBIZWFkZXJzICovLAorCQkJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0
cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTY5QTA3OUIwRUQxRDNBRTAwRjFGNjgxIC8qIE9w
Y29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQkRDMkMxNTFGREU5MTAwQ0Q4OTEwIC8qIE9w
ZXJhbmRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzA0NDdFQTE3QTBCRDQ2MDBGNTg5OEUgLyog
T3BlcmFuZHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJENERERTE5ODMyRDM0MDA3
RDRCMTkgLyogRGVidWdnZXJTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NDgwRTE2
RjVDRDAwQjM0NDYwIC8qIE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTA1MDFC
MUFBOTA5MTEwMEQzM0IzMyAvKiBHZW5lcmljT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RkUyMjhFRDE0MzZBQjI3MDAxOTZDNDggLyogT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QkMxOEM0NEIwRTE2RjVDRDAwQjM0NDYwIC8qIFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTMwNTJDMzUwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkNDQUU0NTE2RDBDRjc0MDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNjUzMDNENjQxNDQ3QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYzNEIxNEMxNkQ0M0UwRDAwMUNEQTVBIC8qIFBvbHltb3Jw
aGljQWNjZXNzU3RydWN0dXJlTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5RkM4QzQxNEUx
QjYwMDAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGOEYxNDM0MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY5ODIwNjExNkJGRTM4MzAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEYyREQ4MTUxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0ZvckFsbEtp
bGxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4Njg5MTZCMDE1NUYyODYzMDBDQjJCOUEgLyogUHJp
dmF0ZU5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUE3MEU3MTlGNUIxMDEwMDk4RjVFQyAv
KiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDUwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5
NUNENDU3NzBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkMxOEM0NTEwRTE2RjVDRDAwQjM0NDYwIC8qIFByb2ZpbGVOb2RlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkY3MjlBNTE2NkFEMzUxMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29k
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNzI5QjkxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2Zp
bGVyQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjEzOTEyQTE2NzcxQzM2MDA5Q0NC
MDcgLyogUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3
MjlCQTE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZGNzI5QkIxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25L
aW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNFMzE5RDBCQTdEMDBCMUQxQjUgLyogREZH
QXZhaWxhYmlsaXR5TWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlCQzE2NkFEMzYwMDAw
RjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RkY3MjlCRDE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJEYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMkEwNUFCRDYxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTJCMzExMDExOTc1QjQ2NzAwODA4NTdDIC8qIFR5
cGVMb2NhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlCRTE2NkFEMzYwMDAw
RjVCQTMgLyogUHJvZmlsZXJFeGVjdXRpb25Db3VudGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RjE5MENBRDE4OUQ4MkY2MDAwQUU1RjAgLyogUHJvZmlsZXJKZXR0aXNvblJlYXNvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTJDOTUyQjcxOUEyODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNzI5QkYxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVy
T3JpZ2luLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlDMDE2NkFEMzYwMDAwRjVCQTMgLyog
UHJvZmlsZXJPcmlnaW5TdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1OEMxNjc1NDgz
MzAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1
OEUxNjc1NDgzQTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdFNpdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMTM5MTJDMTY3NzFDM0QwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNv
ZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0ZCNjEwMDEwNDBDMzhCMDAxN0EyODYgLyogUHJv
cGVydHlEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzk1NDM3RDBFQkE3MEZEMDA3
MkI2RDMgLyogUHJvcGVydHlNYXBIYXNoVGFibGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MTU4
QUIzMTU1QzhCNDAwMEI0NUM5QyAvKiBQcm9wZXJ0eU5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUJDMThDNDU0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm9wZXJ0eU5hbWVBcnJheS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZGNzE2OEMxNUEzQjIzNTAwOEY1REFBIC8qIFByb3BlcnR5T2Zmc2V0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNzg1RjZCQzE4QzU1M0ZFMDBGMTA2MjYgLyogU3BpbGxSZWdp
c3RlcnNNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ1NTBFMTZGNUNEMDBCMzQ0NjAg
LyogUHJvcGVydHlTbG90LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5QzE1RUQ4RTQ2MDBG
MTY3QjIgLyogUHJvcGVydHlTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZGQzc1MTE5
NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYxMkRFMTAxOTc5RDVGRDAwMDZGRjRFIC8qIEV4Y2VwdGlvbkZ1enouaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDU2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm90ZWN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNDc0QzMzQjE2QUEyRDk1MDA2MkYwMUQgLyogUHJvdG90eXBlTWFwLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjkzMzJBNDE0Q0E3REQ5MDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYwQ0Q0QzIxNUYxQTYwNzAwMzJGMUMwIC8qIFB1dERpcmVj
dEluZGV4TW9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5RkM4QzUxNEUxQjYwNDAwRDUyQUUw
IC8qIFB1dEtpbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0N0I4NDYzMEU2REU2QjEwMDQ3NzVB
NCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQUQ5NjRBMTg1Njk0
MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGRjYwQUMyMTY3NDBGODMwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkQxMjAzMDFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZBN0E4RUMxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NUEwRTE2RjVDRDAwQjM0NDYwIC8qIFJlZ0V4cC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTE3MTJCM0YxMUM3QjIyODAwN0E1MzE1IC8qIFJlZ0V4cENhY2hl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MzQwQTQ4NTFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENv
bW1vbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkNEMjAyQzIwRTE3MDZBNzAwMkM3RTgyIC8qIFJl
Z0V4cENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDJENjBFMTcwNzA4MDAy
QzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTcx
MkI0MTExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhwS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzE4QzQ1QjBFMTZGNUNEMDBCMzQ0NjAgLyogUmVnRXhwT2JqZWN0LmggaW4gSGVhZGVycyAqLywK
KwkJCQk3MEVDQTYwNjFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDJDNDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ1RDBFMTZGNUNEMDBCMzQ0NjAgLyog
UmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTk2OUEwNzJCMEVEMUNFNjkwMEYxRjY4MSAv
KiBSZWdpc3RlcklELmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVE
OTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZC
MUNCRTE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJh
dG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzMTQxMjE4MTQ1NTkxMDAwMzMyMzIgLyogUmVn
aXN0ZXJTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTBBRjNDMTkzRThCMzkwMDY3NEVFOCAv
KiBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1N0QyM0VF
MTg5MUI1NTQwMDMxQzdGQSAvKiBSZWd1bGFyRXhwcmVzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY2ODJGQjMxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQjdGMzlEMTVFRDhFNDYwMEYxNjdCMiAvKiBSZWplY3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMkQ0REVBMTk4MzJEQUMwMDdENEIxOSAvKiBUeXBlTG9jYXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCUE1QkExNUU4MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUVBMTgyMzQwQjQwMEE4MkU2OSAvKiBS
ZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUYwMTgy
MzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNUJBMTVFQjE4MjM0MEI0MDBBODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yRGVidWdn
YWJsZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUVEMTgyMzQwQjQwMEE4
MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjI0RTU1MTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODZEM0IzQzQxMDE1OUQ3RjAwMjg2NUU3IC8qIFJlcGF0Y2hCdWZmZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2OUVCQ0I3MEU4QzZENEEwMDg3MjJDQyAvKiBSZXN1bHRUeXBlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDMjJCMzFCOTE0MDU3N0Q3MDBEQjQ3NUEgLyogU2FtcGxpbmdDb3VudGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDg4NjBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxp
bmdUb29sLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUyNTRGNzFBQkRERDIyMDBBN0M2RDIgLyog
REZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNEU1NTIx
N0VFMjc0OTAwQUJCMjE3IC8qIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVGRDAwNjgxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMjExODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFr
cG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDZFMTg5QjAwQUEwMDYzMzIzMSAvKiBT
Y3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDcwMTg5QjAwQUEwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1OEMwMjQyMThF
NEE0MUEwMDAzMkJDNSAvKiBKU0NvbnRleHRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTUwM0ZBMjIxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MDNGQTI2MTg4RUZGRkQwMDExMEYxNCAvKiBT
Y3JpcHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU1RDkzQTYxODUwMTJBODAw
NDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0Q0Yy
RkExODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTU0Q0YyRjYxODRFQUIyNDAwMjM3RjE5IC8qIFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBNzI5OURBNjE3RDEyODU4MDA1RjVGRjkgLyogU2V0Q29uc3RydWN0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE3OTBERDZFMTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvclByb3Rv
dHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcyOTlEQTIxN0QxMjg0ODAwNUY1RkY5IC8qIFNl
dFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZBRTY0QUExMzVFNUUxQzAwOTYzMDEy
IC8qIFNINEFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGOEJERUIxQUQ0Q0Y3MTAw
REZFODg0IC8qIEluZmVycmVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NzA1MTdC
NkI1QUIwMEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMTRCQTc4RjExM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RWaXNpdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkIxNzY2MTE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9u
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjE2MEZFNzE1RjdFOTVFMDA5NDJERkMgLyogU2xvdFZp
c2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzA5RjJGMDE3QTBBQzA0MDA1MTJF
OTggLyogU2xvd1BhdGhDYWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzMwNDAwNDBFNkE3NDk0
MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ2NDBF
MTZGNUNEMDBCMzQ0NjAgLyogU291cmNlQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2Qzcz
NTExQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlCQzE4QzQ2MzBFMTZGNUNEMDBCMzQ0NjAgLyogU291cmNlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTcwRUMwRUMzMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyog
U291cmNlUHJvdmlkZXJDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ5REMxNkQxMkVGMjk1
MzAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkI3RjM5RTE1RUQ4RTQ2MDBGMTY3QjIgLyogU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTczODY1NTQxMTg2OTdCNDAwNTQwMjc5IC8qIFNwZWNpYWxpemVkVGh1
bmtKSVQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTU0MUIyMTYxM0MxRkIwMENFM0UyNSAvKiBT
cGVjaWFsUG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEODJFNTQxNDFEQUVFRTAwMTc5
Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNBQzc1MjE4M0VB
MTA0MDAzMjAyOUYgLyogU3RhY2tBbGlnbm1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QzFF
QUYyMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTE0REYwNERBMTZCMzk5NkQwMDE2QTUxMyAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5c2lzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkxNENBOTU4QjE2QUI1MERFMDA5MzhBMDYgLyogU3RhdGljUHJvcGVy
dHlBbmFseXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTczMEI2MTIxMjUwMDY4RjAwOUQyNUIx
IC8qIFN0cmljdEV2YWxBY3RpdmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ2NjBF
MTZGNUNEMDBCMzQ0NjAgLyogU3RyaW5nQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUJDMThDNDY4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDZBMEUxNkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0MkUzMTNCMTM0RkYwQTYwMEFGQURCNSAvKiBTdHJvbmcuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0NTcyMjg2MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0RFM0FCODBFNkM4MkY1MDAxNDUzQTcgLyogU3RydWN0
dXJlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3RTRFRTcwOTBFQkI3OTYzMDA1OTM0QUEgLyogU3Ry
dWN0dXJlQ2hhaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDJDOTI0MTZEMDFFRTkwMEM3ODAz
RiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMkZFMThBNDE2QkFF
QzQwMDBBRjMwNjEgLyogU3RydWN0dXJlUmFyZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
MEJBOTJEMTZCQjFDMTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkI5Q0VCMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5MzMyQTUxNENBN0RERDAwODVGM0M2IC8qIFN0cnVj
dHVyZVNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3NjZEMzkxNUFFNEExRjAwOEYzNjNFIC8q
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
Q0YwRDA4MEVGMEFBQjkwMDQxM0M4RiAvKiBTdHJ1Y3R1cmVTdHViSW5mby5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkM5MDQxNDgwRUI5MjUwOTAwRkUyNkZBIC8qIFN0cnVjdHVyZVRyYW5zaXRpb25U
YWJsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzA1QjQxQUMxQTZFNTAxRTAwNzE2NzU3IC8qIFN5
bWJvbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzA1QjQxQUUxQTZFNTAxRTAwNzE2NzU3IC8qIFN5
bWJvbENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MDVCNDFCMDFBNkU1MDFFMDA3
MTY3NTcgLyogU3ltYm9sT2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MDVCNDFCMjFBNkU1
MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQ2QjBFMTZGNUNEMDBCMzQ0NjAgLyogU3ltYm9sVGFibGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE3ODRBMjY0MTFEMTY2MjIwMDU3NzZBQyAvKiBTeW50YXhDaGVja2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjI0RTU0RjE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkEyQzE3QzE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0
aWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjU3MkQ0RjE2ODc5RkREMDBFNTdGQkQgLyogVGh1
bmtHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3Mzg2NTU2MTE4Njk3QjQwMDU0MDI3
OSAvKiBUaHVua0dlbmVyYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ0OENEMTNBMTc4
MzcwMEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTU5
ODk4MTdDODZDNTgwMEExRTU0MyAvKiBUb05hdGl2ZUZyb21WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNUQ1MzcyNkYwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRyYWNpbmcuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMkI2NzA2MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5QWRhcHRvcnMuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGMkI2NzA4MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0Qjk0REMxN0I5RjA3NTAwREQwM0E0
IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjcwOTE3QjZC
NUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NzBC
MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGNDI3NEIxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGNDI3NDExNThFQkU4RDAwNENCOUZGIC8qIHVkaXM4Nl9kZWNvZGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGRjQyNzQyMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfZXh0ZXJuLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkY0Mjc0NDE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X2lucHV0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkY0Mjc0ODE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNDI3NDkxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4
Nl90eXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBCMEE5RDExQTlCNjY0NjAwMDEzMDZBIC8q
IFJ1bnRpbWVGbGFncy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdFNUFCMzkxNzk5RTRCMjAwRDI4
MzNEIC8qIFVEaXM4NkRpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFMDUwMkIx
QUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4
QUY0MTE3QURCNUYzMDA1QUIxNzQgLyogVWludDE2QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRTgzNDE4MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODY2NzM5RDMxM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldp
dGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGNDIxN0FEQjVGMzAwNUFCMTc0
IC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzRjE3QURCNUYzMDA1
QUIxNzQgLyogVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGNDAxN0FEQjVG
MzAwNUFCMTc0IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVG
MDhDRjE0NkM3NjMzMDAwNDcyQTkgLyogVW5jb25kaXRpb25hbEZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTdCNjAxODIxNjM5RkQyQTAwMzcyQkEzIC8qIFVubGlua2VkQ29kZUJsb2Nr
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJFODkyQzE2RDAyOEFEMDA5RTRGRDIgLyogVW51c2Vk
UG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5NjNCMzgxM0ZDNkZFOTAwMDJEOUIyIC8q
IFZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0MjZBNDgxNDYwQ0JCMzAwMTMx
RjhGIC8qIFZhbHVlUmVjb3ZlcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUM1RTVGMThFMzVG
NUUwMEQ0MzFDMyAvKiBGVExEV0FSRlJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQy
NkE0OTE0NjBDQkI3MDAxMzFGOEYgLyogVmlydHVhbFJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCQzE4QzQyMDBFMTZGNUNEMDBCMzQ0NjAgLyogVk0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZFRDk0RjJGMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY5MTlEMjYxNTg1M0NFMzAwNEE0RTdEIC8qIFdhdGNocG9pbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTE0MkUzMTNDMTM0RkYwQTYwMEFGQURCNSAvKiBXZWFrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxNEU4NEY5RjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxNEJGQ0U2OTEwQ0RCMUZDMDAzNjRDQ0UgLyogV2Vha0dDTWFwLmggaW4g
SGVhZGVycyAqLywKKwkJCQkxNEY3MjU2NjE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93
bmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEU4NEZBMjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vh
a0ltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkREODEyMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEJFN0Qz
MzE3MTM1Q0Y0MDBEMTgwN0EgLyogV2Vha0lubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
Q0EzQUU0MTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3Q0EzQUVDMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdDQTNBRTYxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5
cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MjBCRTdCMTBBQTZEREIwMEY0NTVEMiAvKiBXZWFr
UmFuZG9tLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0MkRBNzEzRjNCMUU4MDA3QURENEMgLyog
V2Vha1JlZmVyZW5jZUhhcnZlc3Rlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRFODRGQTExNEVF
MUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTUwMTMzMTU0
QkIxM0YwMDVEOEM5OCAvKiBXZWFrU2V0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdlYktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMkE0RUM5MEMxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCNkQ3NTMxOEEzMzc5MzAwNEE5MzAxIC8qIFdy
aXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQzgxNTBBMTQwNDNCRjUw
MENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5Njg4
Q0IxNjBFRDEyQjRFMDAxRDY0OUYgLyogWDg2QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBNTg0MEUyQTE4N0NBNzU5MDA4NDNCMTAgLyogeHhkLnBsIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYzQTFCRkExQTlFQ0I3RDAwMERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0NTE1MzlCOTEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODY3MDRCODUxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJbnRlcnByZXRl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODY3MDRCODcxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJK
SVQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NzA0Qjg4MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJy
UGFyc2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjcwNEI4QTEyREJBMzM3MDBBOUZFN0IgLyog
WWFyclBhdHRlcm4uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NzA0QjQzMTJEQjhBODEwMEE5RkU3
QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVy
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlv
biAqLworCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkNF
RkFCNzE4MDVENjE2MDA0NzJDRTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgImxsdm1Gb3JKU0MiICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJMEZD
RUZBQjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQjMxODA1RDYx
NjAwNDcyQ0U0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJMEZDRUZBQjQxODA1RDYxNjAwNDcyQ0U0
IC8qIEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBl
bmRlbmNpZXMgPSAoCisJCQkpOworCQkJbmFtZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0TmFt
ZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZDRUZBQjYxODA1RDYxNjAw
NDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20u
YXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07CisJCTBGRjkyMkMzMTRG
NDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8gPSB7CisJCQlpc2Eg
PSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZGOTIyQ0Ex
NEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZl
VGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovOworCQkJYnVpbGRQaGFzZXMgPSAo
CisJCQkJMEZGOTIyQzQxNEY0NkIxMzAwNDFBMjRFIC8qIFNvdXJjZXMgKi8sCisJCQkJMEZGOTIy
QzYxNEY0NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxl
cyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNjU3ODhBQUIxOEI0MEEzQjAw
QzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJMEZGOTIyRDMxNEY0NkIyRjAw
NDFBMjRFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEpTQ0xM
SW50T2Zmc2V0c0V4dHJhY3RvcjsKKwkJCXByb2R1Y3RJbnN0YWxsUGF0aCA9IC91c3IvbG9jYWwv
YmluOworCQkJcHJvZHVjdE5hbWUgPSBqc2M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZGOTIy
Q0YxNEY0NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLzsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7CisJCX07CisJCTE0MTIx
MTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovID0geworCQkJaXNhID0gUEJYTmF0aXZl
VGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0MTIxMTM5MEE0ODc5ODQwMDQ4
MDI1NSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAibWlu
aWRvbSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDEyMTExRDBBNDg3OTNDMDA0ODAy
NTUgLyogU291cmNlcyAqLywKKwkJCQkxNDEyMTExRTBBNDg3OTNDMDA0ODAyNTUgLyogRnJhbWV3
b3JrcyAqLywKKwkJCQkxNDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLywKKwkJ
CQk1REJCMTUyNDEzMUQwQkExMDA1NkFEMzYgLyogQ29weSBTdXBwb3J0IFNjcmlwdCAqLywKKwkJ
CSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7
CisJCQluYW1lID0gbWluaWRvbTsKKwkJCXByb2R1Y3ROYW1lID0gbWluaWRvbTsKKwkJCXByb2R1
Y3RSZWZlcmVuY2UgPSAxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLzsKKwkJ
CXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7CisJCX07CisJCTE0
QkQ1OUJFMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0YXBpICovID0geworCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ1OUQ2MEEzRThGQzkw
MEJBRjU5QyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
dGVzdGFwaSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNEJENTlCQzBBM0U4RjkwMDBC
QUY1OUMgLyogU291cmNlcyAqLywKKwkJCQkxNEJENTlCRDBBM0U4RjkwMDBCQUY1OUMgLyogRnJh
bWV3b3JrcyAqLywKKwkJCQk1REJCMTUxMTEzMUQwQjEzMDA1NkFEMzYgLyogQ29weSBTdXBwb3J0
IFNjcmlwdCAqLywKKwkJCQk1REFGRDZDRDE0NkI2QjZFMDBGQkVGQjQgLyogSW5zdGFsbCBTdXBw
b3J0IFNjcmlwdCAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVu
ZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gdGVzdGFwaTsKKwkJCXByb2R1Y3ROYW1lID0g
dGVzdGFwaTsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSAxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMg
LyogdGVzdGFwaSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUu
dG9vbCI7CisJCX07CisJCTY1MTEyMkY3MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICov
ID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlz
dCA9IDY1MTEyMzAwMTQwNDZBNEMwMDJCMTAxRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3Qg
Zm9yIFBCWE5hdGl2ZVRhcmdldCAidGVzdFJlZ0V4cCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgK
KwkJCQk2NTExMjJGQTE0MDQ2QTRDMDAyQjEwMUQgLyogU291cmNlcyAqLywKKwkJCQk2NTExMjJG
QzE0MDQ2QTRDMDAyQjEwMUQgLyogRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVz
ID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gdGVzdFJl
Z0V4cDsKKwkJCXByb2R1Y3RJbnN0YWxsUGF0aCA9IC91c3IvbG9jYWwvYmluOworCQkJcHJvZHVj
dE5hbWUgPSB0ZXN0UmVnRXhwOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDY1MTEyMzA1MTQwNDZB
NEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxl
LnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKwkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8q
IEphdmFTY3JpcHRDb3JlICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzVEMDg5MDJBRkUwMDhBOUVGQyAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSmF2YVNjcmlwdENvcmUiICov
OworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJNUQyRjdDRjkwQzY4NzVCQjAwQjVCNzJCIC8qIFVw
ZGF0ZSBJbmZvLnBsaXN0IHdpdGggdmVyc2lvbiBpbmZvcm1hdGlvbiAqLywKKwkJCQlBNTNGMUFC
RjE4QzkwRjhCMDA3MkVCNkQgLyogUmVzb3VyY2VzICovLAorCQkJCTkzMkY1QjNGMDgyMkExQzcw
MDczNjk3NSAvKiBIZWFkZXJzICovLAorCQkJCTM3MzI4MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQ
b3N0cHJvY2VzcyBIZWFkZXJzICovLAorCQkJCTkzMkY1QjkxMDgyMkExQzcwMDczNjk3NSAvKiBT
b3VyY2VzICovLAorCQkJCTkzMkY1QkQyMDgyMkExQzcwMDczNjk3NSAvKiBGcmFtZXdvcmtzICov
LAorCQkJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0gTGlicmFyeSBJbnRv
IEZyYW1ld29yayAqLywKKwkJCQk1RDI5RDhCRTBFOTg2MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9y
IFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovLAorCQkJCTM3MTNGMDE0MTQyOTA1MjQwMDM2
Mzg3RiAvKiBDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyAq
LywKKwkJCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlh
dGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9
ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJMEZDRUZBQkQxODA1RDY2MzAwNDcy
Q0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4
OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5
REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEphdmFTY3Jp
cHRDb3JlOworCQkJcHJvZHVjdEluc3RhbGxQYXRoID0gIiR7U1lTVEVNX0xJQlJBUllfRElSfS9G
cmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzIjsKKwkJCXBy
b2R1Y3ROYW1lID0gSmF2YVNjcmlwdENvcmU7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gOTMyRjVC
RDkwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKwkJ
OTMyRjVCREEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjc2NzA4OTAyQUZFMDA4
QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImpz
YyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk5MzJGNUJEQzA4MjJBMUM3MDA3MzY5NzUg
LyogU291cmNlcyAqLywKKwkJCQk5MzJGNUJERTA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3Jr
cyAqLywKKwkJCQk1RDVEOEFCRjBFMEQwQjAzMDBGOUM2OTIgLyogQ3JlYXRlIC91c3IvbG9jYWwv
YmluL2pzYyBzeW1saW5rICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJ
ZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSBqc2M7CisJCQlwcm9kdWN0SW5zdGFs
bFBhdGggPSAvdXNyL2xvY2FsL2JpbjsKKwkJCXByb2R1Y3ROYW1lID0ganNjOworCQkJcHJvZHVj
dFJlZmVyZW5jZSA9IDkzMkY1QkUxMDgyMkExQzcwMDczNjk3NSAvKiBqc2MgKi87CisJCQlwcm9k
dWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnRvb2wiOworCQl9OworLyogRW5kIFBC
WE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFByb2plY3Qgc2VjdGlvbiAq
LworCQkwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CisJ
CQlpc2EgPSBQQlhQcm9qZWN0OworCQkJYXR0cmlidXRlcyA9IHsKKwkJCQlCdWlsZEluZGVwZW5k
ZW50VGFyZ2V0c0luUGFyYWxsZWwgPSBZRVM7CisJCQkJTGFzdFN3aWZ0VXBkYXRlQ2hlY2sgPSAw
NzAwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOworCQkJfTsKKwkJCWJ1aWxkQ29uZmln
dXJhdGlvbkxpc3QgPSAxNDlDMjc3MTA4OTAyQUZFMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJh
dGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJKYXZhU2NyaXB0Q29yZSIgKi87CisJCQljb21wYXRp
YmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmds
aXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7CisJCQlrbm93blJlZ2lvbnMgPSAo
CisJCQkJRW5nbGlzaCwKKwkJCQlKYXBhbmVzZSwKKwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAor
CQkJKTsKKwkJCW1haW5Hcm91cCA9IDA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBKYXZhU2Ny
aXB0Q29yZSAqLzsKKwkJCXByb2R1Y3RSZWZHcm91cCA9IDAzNDc2OERGRkYzOEE1MDQxMURCOUM4
QiAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9qZWN0Um9v
dCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQk5MzJGNUJFMzA4MjJBMUM3MDA3MzY5NzUgLyog
QWxsICovLAorCQkJCTkzMkY1QjNFMDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZSAq
LywKKwkJCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLywKKwkJCQkw
RjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJCQk2NUZCM0Y2
NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovLAorCQkJCTBGRjkyMkMzMTRG
NDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8sCisJCQkJNjU3ODhB
OUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovLAorCQkJCTE0MTIxMTFG
MEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLAorCQkJCTE0QkQ1OUJFMEEzRThGOTAwMEJB
RjU5QyAvKiB0ZXN0YXBpICovLAorCQkJCTkzMkY1QkRBMDgyMkExQzcwMDczNjk3NSAvKiBqc2Mg
Ki8sCisJCQkJNjUxMTIyRjcxNDA0NkE0QzAwMkIxMDFEIC8qIHRlc3RSZWdFeHAgKi8sCisJCQkJ
NUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCisJCQkpOworCQl9Owor
LyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KKwkJQTUzRjFBQkYxOEM5MEY4QjAwNzJFQjZEIC8qIFJlc291cmNl
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJQTUzRjFBQzAxOEM5MEY4RjAw
NzJFQjZEIC8qIGZyYW1ld29yay5zYiBpbiBSZXNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYUmVzb3Vy
Y2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQ
aGFzZSBzZWN0aW9uICovCisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBE
ZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOwor
CQkJaW5wdXRQYXRocyA9ICgKKwkJCSk7CisJCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291
cmNlcyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNj
cmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRP
ZmZzZXRzL1wiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dl
bmVyYXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzL0xM
SW50RGVzaXJlZE9mZnNldHMuaFwiIFwiWDg2LFg4Nl82NCxBUk12NyxBUk12N3MsQVJNNjQsQ19M
T09QXCJcbiI7CisJCX07CisJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0g
TGlicmFyeSBJbnRvIEZyYW1ld29yayAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvbGli
bGx2bUZvckpTQy5keWxpYiIsCisJCQkpOworCQkJbmFtZSA9ICJDb3B5IExMVk0gTGlicmFyeSBJ
bnRvIEZyYW1ld29yayI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJ
CQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxuaWYgW1sgJEVOQUJMRV9GVExfSklUICE9IFwiRU5B
QkxFX0ZUTF9KSVRcIiBdXVxudGhlblxuICAgIGV4aXQgMFxuZmlcblxuaWYgW1sgJHtDT05GSUdV
UkFUSU9OOj1EZWJ1Z30gIT0gXCJQcm9kdWN0aW9uXCIgXV1cbnRoZW5cbiAgICAjIENvcHkgdGhl
IGxsdm1Gb3JKU0MgbGlicmFyeSBpbnRvIHRoZSBmcmFtZXdvcmsuXG4gICAgZGl0dG8gXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vbGlibGx2bUZvckpTQy5keWxpYlwiIFwiJHtCVUlMVF9QUk9EVUNU
U19ESVJ9LyR7Q09OVEVOVFNfRk9MREVSX1BBVEh9L0xpYnJhcmllcy9saWJsbHZtRm9ySlNDLmR5
bGliXCJcbmZpXG5cbmlmIFtbICRQTEFURk9STV9OQU1FICE9IFwibWFjb3N4XCIgXV1cbnRoZW5c
biAgICBleGl0IDBcbmZpXG5cbmlmIFsgISAtZSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke1dS
QVBQRVJfTkFNRX0vTGlicmFyaWVzXCIgXVxudGhlblxuICAgIGxuIC1mcyBcIlZlcnNpb25zL0N1
cnJlbnQvTGlicmFyaWVzXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtXUkFQUEVSX05BTUV9
L0xpYnJhcmllc1wiXG5maSI7CisJCX07CisJCTM3MTNGMDE0MTQyOTA1MjQwMDM2Mzg3RiAvKiBD
aGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIk
KFRBUkdFVF9CVUlMRF9ESVIpLyQoRVhFQ1VUQUJMRV9QQVRIKSIsCisJCQkpOworCQkJbmFtZSA9
ICJDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyI7CisJCQlv
dXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQg
LWVcblxuaWYgWyBcIiR7QUNUSU9OfVwiID0gXCJpbnN0YWxsaGRyc1wiIF07IHRoZW5cbiAgICBl
eGl0IDA7XG5maVxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLWluYXBw
cm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBdOyB0aGVuXG4gICAgLi4vLi4vVG9vbHMvU2NyaXB0
cy9jaGVjay1mb3ItaW5hcHByb3ByaWF0ZS1vYmpjLWNsYXNzLW5hbWVzIEpTXG5maSI7CisJCX07
CisJCTM3MzI4MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQb3N0cHJvY2VzcyBIZWFkZXJzICovID0g
eworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJ
CQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCkvSlNC
YXNlLmgiLAorCQkJCSIkKFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElDX0hFQURFUlNfRk9MREVS
X1BBVEgpL0pTQ29udGV4dC5oIiwKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8kKFBVQkxJQ19I
RUFERVJTX0ZPTERFUl9QQVRIKS9KU01hbmFnZWRWYWx1ZS5oIiwKKwkJCQkiJChUQVJHRVRfQlVJ
TERfRElSKS8kKFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIKS9KU1ZhbHVlLmgiLAorCQkJCSIk
KFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEgpL0pTVmlydHVh
bE1hY2hpbmUuaCIsCisJCQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVSU19G
T0xERVJfUEFUSCkvV2ViS2l0QXZhaWxhYmlsaXR5LmgiLAorCQkJKTsKKwkJCW5hbWUgPSAiUG9z
dHByb2Nlc3MgSGVhZGVycyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7
CisJCQlzaGVsbFNjcmlwdCA9ICJleGVjICR7U1JDUk9PVH0vcG9zdHByb2Nlc3MtaGVhZGVycy5z
aCI7CisJCX07CisJCTVEMjlEOEJFMEU5ODYwQjQwMEMzRDJEMCAvKiBDaGVjayBGb3IgV2VhayBW
VGFibGVzIGFuZCBFeHRlcm5hbHMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8kKEVYRUNV
VEFCTEVfUEFUSCkiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBh
bmQgRXh0ZXJuYWxzIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hl
Y2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29s
cy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFsc1xuZmkiOworCQl9
OworCQk1RDJGN0NGOTBDNjg3NUJCMDBCNUI3MkIgLyogVXBkYXRlIEluZm8ucGxpc3Qgd2l0aCB2
ZXJzaW9uIGluZm9ybWF0aW9uICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoU1JDUk9PVCkvQ29uZmlndXJhdGlvbnMvVmVy
c2lvbi54Y2NvbmZpZyIsCisJCQkpOworCQkJbmFtZSA9ICJVcGRhdGUgSW5mby5wbGlzdCB3aXRo
IHZlcnNpb24gaW5mb3JtYXRpb24iOworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkJIiQoU1JDUk9P
VCkvSW5mby5wbGlzdCIsCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAiIyBU
b3VjaCBJbmZvLnBsaXN0IHRvIGxldCBYY29kZSBrbm93IGl0IG5lZWRzIHRvIGNvcHkgaXQgaW50
byB0aGUgYnVpbHQgcHJvZHVjdFxuaWYgW1sgXCIke0NPTkZJR1VSQVRJT059XCIgIT0gXCJQcm9k
dWN0aW9uXCIgXV07IHRoZW5cbiAgICB0b3VjaCBcIiRTUkNST09UL0luZm8ucGxpc3RcIjtcbmZp
O1xuIjsKKwkJfTsKKwkJNUQzNURFRTEwQzdDMTQwQjAwODY0OEIyIC8qIEdlbmVyYXRlIERUcmFj
ZSBoZWFkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5w
dXRQYXRocyA9ICgKKwkJCQkiJChTUkNST09UKS9ydW50aW1lL1RyYWNpbmcuZCIsCisJCQkpOwor
CQkJbmFtZSA9ICJHZW5lcmF0ZSBEVHJhY2UgaGVhZGVyIjsKKwkJCW91dHB1dFBhdGhzID0gKAor
CQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUv
VHJhY2luZ0R0cmFjZS5oIiwKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuVFJBQ0lOR19EPVwiJFNSQ1JPT1QvcnVudGltZS9UcmFjaW5nLmRcIjtcblRSQUNJ
TkdfSD1cIiRCVUlMVF9QUk9EVUNUU19ESVIvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUv
VHJhY2luZ0R0cmFjZS5oXCI7XG5cbmlmIFtbIFwiJFRSQUNJTkdfRFwiIC1udCBcIiRUUkFDSU5H
X0hcIiBdXTtcbnRoZW5cblx0ZHRyYWNlIC1oIC1vIFwiJFRSQUNJTkdfSFwiIC1zIFwiJFRSQUNJ
TkdfRFwiO1xuZmk7XG4iOworCQl9OworCQk1RDVEOEFCRjBFMEQwQjAzMDBGOUM2OTIgLyogQ3Jl
YXRlIC91c3IvbG9jYWwvYmluL2pzYyBzeW1saW5rICovID0geworCQkJaXNhID0gUEJYU2hlbGxT
Y3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoRFNUUk9PVCkkKElOU1RB
TExfUEFUSCkvanNjIiwKKwkJCSk7CisJCQluYW1lID0gIkNyZWF0ZSAvdXNyL2xvY2FsL2Jpbi9q
c2Mgc3ltbGluayI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCQkiJChEU1RST09UKSQoSU5TVEFM
TF9QQVRIX1BSRUZJWCkvdXNyL2xvY2FsL2Jpbi9qc2MiLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtTS0lQX0lOU1RBTEx9XCIgPT0gXCJOT1wiIF1dOyB0
aGVuXG4gICAgbWtkaXIgLXAgXCIke0RTVFJPT1R9JHtJTlNUQUxMX1BBVEhfUFJFRklYfS91c3Iv
bG9jYWwvYmluXCJcbiAgICBjZCBcIiR7RFNUUk9PVH0ke0lOU1RBTExfUEFUSF9QUkVGSVh9L3Vz
ci9sb2NhbC9iaW5cIlxuICAgIGlmIFsgLUwganNjIF07IHRoZW5cbiAgICAgICAgcm0gLWYganNj
XG4gICAgZmlcbiAgICBsbiAtcyBcIi4uLy4uLy4uJHtJTlNUQUxMX1BBVEhfQUNUVUFMfS9qc2Nc
IiBqc2NcbiAgICBleGl0XG5maVxuIjsKKwkJfTsKKwkJNURBRkQ2Q0QxNDZCNkI2RTAwRkJFRkI0
IC8qIEluc3RhbGwgU3VwcG9ydCBTY3JpcHQgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSA4OworCQkJZmlsZXMgPSAoCisJCQkp
OworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChTUkNST09UKS9BUEkvdGVzdHMvdGVzdGFwaS5q
cyIsCisJCQkpOworCQkJbmFtZSA9ICJJbnN0YWxsIFN1cHBvcnQgU2NyaXB0IjsKKwkJCW91dHB1
dFBhdGhzID0gKAorCQkJCSIkKERTVFJPT1QpJChJTlNUQUxMX1BBVEgpL3Rlc3RhcGkuanMiLAor
CQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOworCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtTS0lQX0lOU1RB
TEx9XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgY3AgXCIke1NSQ1JPT1R9L0FQSS90ZXN0cy90
ZXN0YXBpLmpzXCIgXCIke0RTVFJPT1R9JHtJTlNUQUxMX1BBVEh9L3Rlc3RhcGkuanNcIlxuZmlc
biI7CisJCX07CisJCTVERjdFMUNDMTg4RTZCODcwMDNGOUE0NiAvKiBDb3B5IGpzYyBpbnRvIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvanNj
IiwKKwkJCSk7CisJCQluYW1lID0gIkNvcHkganNjIGludG8gSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvJChK
QVZBU0NSSVBUQ09SRV9SRVNPVVJDRVNfRElSKS9qc2MiLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG4jIFNraXAgZm9yIFByb2R1Y3Rpb24gYnVpbGRzLlxu
aWYgW1sgJHtDT05GSUdVUkFUSU9OOj1EZWJ1Z30gPT0gXCJQcm9kdWN0aW9uXCIgXV07IHRoZW5c
biAgICBleGl0XG5maVxuXG4jIENvcHkgYW5kIHVwZGF0ZSB0aGUganNjIGJpbmFyeSB0byByZWZl
ciB0byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgcmVsYXRpdmUgdG8gaXRzIGxvY2F0aW9uLlxu
ZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vanNjXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJ
Un0vJHtKQVZBU0NSSVBUQ09SRV9SRVNPVVJDRVNfRElSfS9qc2NcIlxuaW5zdGFsbF9uYW1lX3Rv
b2wgLWNoYW5nZSBcIiR7SkFWQVNDUklQVENPUkVfRlJBTUVXT1JLU19ESVJ9L0phdmFTY3JpcHRD
b3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlXCIgXCJAbG9hZGVyX3BhdGgv
Li4vSmF2YVNjcmlwdENvcmVcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke0pBVkFTQ1JJUFRD
T1JFX1JFU09VUkNFU19ESVJ9L2pzY1wiXG4iOworCQl9OworCQk2NTc4OEFBMDE4QjQwOUVCMDBD
MTg5RkYgLyogT2ZmbGluZSBBc3NlbWJsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJKTsKKwkJCW5hbWUgPSAiT2ZmbGluZSBB
c3NlbWJsZSI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVs
bFNjcmlwdCA9ICJpZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhl
blxuICAgIGV4aXQgMFxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
XCIgTExJbnRBc3NlbWJseS5oIHx8IGV4aXQgMSI7CisJCX07CisJCTY1RkIzRjY1MDlEMTFFOTEw
MEY0OURFQiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owor
CQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCSk7CisJCQluYW1lID0g
IkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9
IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuY2QgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vYmlu
L2xuIC1zZmggXCIke1NSQ1JPT1R9XCIgSmF2YVNjcmlwdENvcmVcbmV4cG9ydCBKYXZhU2NyaXB0
Q29yZT1cIkphdmFTY3JpcHRDb3JlXCJcbmV4cG9ydCBCVUlMVF9QUk9EVUNUU19ESVI9XCIuLi8u
LlwiXG5cbm1ha2UgLS1uby1idWlsdGluLXJ1bGVzIC1mIFwiSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZVwiIC1qIGAvdXNyL3NiaW4vc3lzY3RsIC1uIGh3Lm5jcHVgXG4iOworCQl9
OworCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUg
TWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMg
PSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8k
KEVYRUNVVEFCTEVfUEFUSCkiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ2hlY2sgRm9yIEluYXBwcm9w
cmlhdGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMiOworCQkJb3V0cHV0UGF0aHMgPSAoCisJ
CQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVs
bFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbmlmIFsgXCIke0FD
VElPTn1cIiA9IFwiaW5zdGFsbGhkcnNcIiBdOyB0aGVuXG4gICAgZXhpdCAwO1xuZmlcblxuaWYg
WyAtZiAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci1pbmFwcHJvcHJpYXRlLW1hY3Jvcy1p
bi1leHRlcm5hbC1oZWFkZXJzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNr
LWZvci1pbmFwcHJvcHJpYXRlLW1hY3Jvcy1pbi1leHRlcm5hbC1oZWFkZXJzIEhlYWRlcnMgUHJp
dmF0ZUhlYWRlcnMvSlNCYXNlUHJpdmF0ZS5oXG5maSI7CisJCX07CisvKiBFbmQgUEJYU2hlbGxT
Y3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhh
c2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCMjE4MDVENjE2MDA0NzJDRTQgLyogU291cmNlcyAqLyA9
IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VGQUQ3MTgwNjE3NDYwMDQ3MkNFNCAv
KiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3
MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNFRkFDMTE4MDVE
OTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJMEZGOTIy
QzQxNEY0NkIxMzAwNDFBMjRFIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2Vz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRzRXh0cmFjdG9y
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOworCQl9OworCQkxNDEyMTExRDBBNDg3OTNDMDA0ODAyNTUgLyogU291cmNl
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0NDAwNTdGMEE1MzM1NjQwMDA1
RjA2MSAvKiBKU05vZGUuYyBpbiBTb3VyY2VzICovLAorCQkJCTE0NDAwNzU4MEE1MzcwRDIwMDA1
RjA2MSAvKiBKU05vZGVMaXN0LmMgaW4gU291cmNlcyAqLywKKwkJCQkxNDEyMTEzNDBBNDg3OTU4
MDA0ODAyNTUgLyogbWluaWRvbS5jIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MDA2M0YwQTUzNTk4
QTAwMDVGMDYxIC8qIE5vZGUuYyBpbiBTb3VyY2VzICovLAorCQkJCTE0NDAwNzRCMEE1MzZDQzIw
MDA1RjA2MSAvKiBOb2RlTGlzdC5jIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTE0QkQ1OUJDMEEzRThGOTAw
MEJBRjU5QyAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJRkUw
RDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2JhbENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk2NTU3MEY1QTFBQTRDM0VBMDA5QjNDMjMgLyogUmVncmVz
czE0MTI3NS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMyOUVDQjAzMTgwNEQwRUQwMEQyQ0JCNCAv
KiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUZFQjUxRjZDMUE5N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJQzIwMzI4MjAxOTgxOTc5RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENs
YXNzVGVzdC5jIGluIFNvdXJjZXMgKi8sCisJCQkJQzI4OEIyREUxOEE1NEQzRTAwN0JFNDBCIC8q
IERhdGVUZXN0cy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMyMTgxRkMyMThBOTQ4RkIwMDI1QTIz
NSAvKiBKU0V4cG9ydFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRkVGMDQwNTExQUFFNjYy
RDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyogdGVzdGFwaS5jIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODZEMjIyMUExNjdFRjk0NDAwMjRDODA0IC8qIHRlc3RhcGkubW0gaW4gU291cmNlcyAqLywKKwkJ
CQlGRTBENEEwNjFBQjhERDBBMDAyRjU0QkYgLyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKKwkJNjUxMTIyRkExNDA0NkE0QzAwMkIxMDFEIC8qIFNvdXJjZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk2NTExMjMwNzE0MDQ2QjBBMDAyQjEwMUQg
LyogdGVzdFJlZ0V4cC5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJOTMyRjVCOTEwODIyQTFDNzAwNzM2
OTc1IC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk5RUE1QzdB
MjE5MEYwODg3MDA1MDhFQkUgLyogSW5pdGlhbGl6ZUxMVk1NYWMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJOUVBNUM3QTExOTBGMDg0MjAwNTA4RUJFIC8qIEJ1bmRsZVBhdGgubW0gaW4gU291cmNl
cyAqLywKKwkJCQk1MkIzMTBGRjE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUU3Mjk0MDgxOTBGMDIxRTAwMUE5MUI1IC8qIEluaXRp
YWxpemVMTFZNUE9TSVguY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUU3Mjk0MDcxOTBGMDFBNTAw
MUE5MUI1IC8qIEluaXRpYWxpemVUaHJlYWRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZG
QTU0OTcxNkI4ODM1MDAwQjNBOTgyIC8qIEE2NERPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZFMDUwMTUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjU1RjBGNDE0RDEwNjM5MDBBQzc2NDkgLyogQWJzdHJhY3RQ
Qy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlCRDEwN0VDMzc2MDA0MjdBNDggLyogQXJn
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDOTE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3NDNC
QUExNkI4ODI0OTAwOUY5Mjc3IC8qIEFSTTY0RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2RDNCMkMzMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjVDMDI4NTAxNzE3OTVFMjAwMzUxRTM1IC8qIEFSTXY3RGlzYXNzZW1i
bGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1QzAyODVDMTcxNzk2NjgwMDM1MUUzNSAvKiBB
Uk12N0RPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY4MzM1QjcxNjM5QzFFNjAwMTQ0
M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdB
OEFGMzQxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGRkM5OUQ0MTg0RUUzMTgwMDlDMTBBQiAvKiBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdBOEFGMzYxN0FEQjVGMzAwNUFCMTc0IC8q
IEFycmF5QnVmZmVyVmlldy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjEyREUwRjE5NzlENUZE
MDAwNkZGNEUgLyogRXhjZXB0aW9uRnV6ei5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlC
RjEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBN0JEQUVDODE3RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyogQXJyYXlQ
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQyN0E0OCAv
KiBBcnJheVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjI0RTU0MDE3RUE5RjU5
MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNjlD
Qzg4MTkzQUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxNDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0MjgwODY0MTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuT2Jq
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODY1MTA3RUMxMUEwMDEzRTdCMiAvKiBC
b29sZWFuUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3RDgwMUE0MTg4MEQ2NkUw
MDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzJG
Q0FFMTAxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlQmFzaWNCbG9jay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxNDhGMjFBQTEwN0VDNTNBMDA0MkVDMkMgLyogQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzJGQ0FFMTIxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVj
b2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDI4MDgyRDEwN0VD
MDU3MDAxM0U3QjIgLyogQ2FsbERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyOUQ4REQw
RUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjBC
ODNCMDE0QkNGNzE2MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGOTMzMjlEMTRDQTdEQzMwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjJCOUNFNDE5RDBCQTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGlu
dHNGb3JVcGRhdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTY5QTA3OTYwRUQxRDNBRTAwRjFG
NjgxIC8qIENvZGVCbG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGOTQ0MDE2Njc2MzMw
MDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkM5N0Yz
MzE4MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRDhBMzEzMTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tT
ZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc3RjE4MjExNjQwODhCMjAwNjQwQTQ3IC8qIENv
ZGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGOTQ0NjE2Njc2NEYxMDBENjE5NzEg
LyogQ29kZU9yaWdpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkI1ODI2NzE0RDI3OTZDMDBB
OUMzMDYgLyogQ29kZVByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QzczNTAxQUM5
Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2QjU4MjY5MTREMjc5NzAwMEE5QzMwNiAvKiBDb2RlUHJvZmlsaW5nLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGOEY5NDNDMTY2NzYzMTMwMEQ2MTk3MSAvKiBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOEY5NDQyMTY2NzYzMzUwMEQ2MTk3
MSAvKiBDb2RlVHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDMTEwN0VDMzc2MDA0
MjdBNDggLyogQ29tbW9uSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5QzVF
NUUxOEUzNUY1RTAwRDQzMUMzIC8qIEZUTERXQVJGUmVnaXN0ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTcwOUYyRjIxN0EwQUMyQTAwNTEyRTk4IC8qIENvbW1vblNsb3dQYXRocy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk2NTUzQTMzMTE3QTFGMUVFMDA4Q0Y2RjMgLyogQ29tbW9uU2xvd1Bh
dGhzRXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjY0QjI3OTFBNzk1N0IyMDA2
RTRFNjYgLyogQ2FsbEVkZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFMjU0RjYxQUJEREQy
MjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTdFNUEzQTcxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0N0YzOUMyMTA3RUMzNzYwMDQyN0E0OCAvKiBDb21wbGV0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NkIxNkQ4MTJFQjVCNTkwMDFCRUMxQiAvKiBDb25z
ZXJ2YXRpdmVSb290cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA3OTE4OUIwNTEwMDA2
MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkE4MzYzODUx
OEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMTQyODA4MkUxMDdFQzA1NzAwMTNFN0IyIC8qIENvbnN0cnVjdERhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTU3RDIzRjExODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFy
Y2hVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzI0MDMwNTUxNEI0MDRFNjAwNzlF
QjY0IC8qIENvcGllZFNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJBQUNFNjNDMThDQTVB
MDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QzIyMzlEMTcxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9yLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGMkI2NkRFMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjY4MkZCMjE5QkNCMzY0MDBGQTNCQUQgLyogREZHU1NBQ2FsY3VsYXRvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDMzEwN0VDMzc2MDA0MjdBNDggLyogRGF0ZUNv
bnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUM0MTA3RUMzNzYwMDQyN0E0
OCAvKiBEYXRlQ29udmVyc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDNTEwN0VD
Mzc2MDA0MjdBNDggLyogRGF0ZUluc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwOTRD
NERFMUFFNDM5NTMwMDQxQTJFRSAvKiBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTE0N0YzOUM2MTA3RUMzNzYwMDQyN0E0OCAvKiBEYXRlUHJvdG90eXBl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODIzMTA3RUMwMkMwMDEzRTdCMiAvKiBEZWJ1
Z2dlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDk1NTlFRTBERENEREY3MDA2NDgwODcgLyog
RGVidWdnZXJDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkE3QTU4RUYxODA4QTRD
NDAwMjBCREY3IC8qIERlZmVyR0MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDNzEyREUxN0NE
ODc3OTAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNzdBNDIzRDE3QTBCQkZEMDBBOERCODEgLyogREZHQWJzdHJhY3RIZWFwLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGNTVDMTk0MTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0
cmFjdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDg1MzIxMTg3NzUwNTYwMDgzQjY4
NyAvKiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyRDREREQxOTgzMkQz
NDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2Mzk0
ODQxNUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBN0Q5QTI5NDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjY2NkVDNjE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxh
YmlsaXR5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzE0Q0E0MTZFQTkyRjAwMEYzRUJFQiAv
KiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
MkI5Q0VDMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBN0Q4OUNGMjE3QTBCOENDMDA3NzNBRDggLyogREZHQmFzaWNCbG9j
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQTg4MDY3ODE5MTA3RDU1MDBDQjBCQkIgLyogREZH
RnVuY3Rpb25XaGl0ZWxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyREQ4MTMxQUIzRDhC
RTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBN0Q4OUNGMzE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJODZFQzlEQzQxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0J5dGVDb2Rl
UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDgyRTIxMTQxNzJDRTMwMDE3OUM5NCAv
KiBERkdDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjlDRTYxOUQwQkE3
RDAwQjFEMUI1IC8qIERGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZGRkM5NTcxNEVGOTBBMDAwQzcyNTMyIC8qIERGR0NGQVBoYXNlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGM0IzQTI3MTU0NEM5OTUwMDNFRDBGRiAvKiBERkdDRkdTaW1w
bGlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3N0E0MjNGMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3N0E0MjQx
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRjBGMTlEMTZCNzJBMDgwMDVERjk1QiAvKiBERkdDb21tb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZFQTBBMzExNzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEYzOEIwMTcxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9u
S2V5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMzhCMDE5MTdDRkU3NTUwMEIxNDREMyAvKiBE
RkdDb21waWxhdGlvbk1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYzQjNBMUExNTNFNjhG
MjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGQkUwRjcyMTZDMURCMDMwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUE3RDg5Q0Y1MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0
aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMzg0RUU3MUFE
REI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGRkZDOTU5MTRFRjkwQTYwMEM3MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjJGQzc3MjE2RTEyRjcxMDAzOEQ5NzYgLyogREZHRENFUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOTkxNzJGMDRGRjAwN0RCREE1IC8qIERGR0Rlc2lyZWRJ
ZGVudGlmaWVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMkMwRjdDRDE3QkJGQzVCMDA0NjRG
RTQgLyogREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTg1
MzRCMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzI5ODFGRDgxN0JBRUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVm
ZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMjk4MUZEQzE3QkFGRjQ0MDBBM0JDOTgg
LyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3
NjQxNTkxQTFDQzAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkQ4MUFEMjE1NEZCNEVFMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkQzQzgyNjE0MTE1RDQwMDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGMkI5Q0UyMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFi
aWxpdHlNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjlDRTgxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEZGMEYxOUUxNkI3MkEwQjAwNURGOTVCIC8qIERGR0VkZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZCQzBBRTcxNDk2QzdDNDAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMDEyMzMyMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0cmVuZ3Ro
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3OEE5Nzc0MTc5NzM4QjgwMDlERjc0NCAvKiBERkdG
YWlsZWRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4QTk3NzYxNzk3MzhCODAw
OURGNzQ0IC8qIERGR0ZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCREMxNTE1
MUM1RDREMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RkQxMjAzMzFBOEM4NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjlEMzM5NjE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hlZEF0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGOUQzNjk0MUFFOUNDMzMwMDBENERGQiAvKiBERkdDbGVhblVw
UGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdEODlDRjcxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0ZsdXNoRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0ExQkY5MUE5RUNCN0Qw
MDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4NkVDOURDNzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyRkNDRjkxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE3MDREOTA1MTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNl
QWJzdHJhY3RTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjMwMEI3QjE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZDOTdGM0QxODIwMjExOTAwMkM5QjI2IC8qIERGR0ludmFsaWRhdGlvblBvaW50SW5q
ZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVDM0ExQTUxOEMwNDkwMjAwQzk1
OTNBIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkVBMEEzMzE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk4NkVDOURDQjEzMjhERjgyMDAyQjJBRDcgLyogREZHSklUQ29tcGlsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZFMDUwMkExQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3OEE5Nzc4MTc5NzM4QjgwMDlERjc0NCAvKiBERkdK
SVRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDOTdGM0YxODIwMjExOTAwMkM5
QjI2IC8qIERGR0p1bXBSZXBsYWNlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzNBNTM1
QTE3OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTdEOUEyOTcxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBN0Q4OUNGQjE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2ZW5lc3NBbmFseXNp
c1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjBGMTk5MTZCNzI5RjYwMDVERjk1QiAv
KiBERkdMb25nTGl2ZWRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzY3QjVCNTE3QTBC
OTY1MDA2M0Q5NDAgLyogREZHTG9vcFByZUhlYWRlckNyZWF0aW9uUGhhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEYyQkRDNEQxNTIyODE4NjAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzM3ODEwRDE3OTlFQTJFMDA4MTc1MzMgLyogREZHTmF0
dXJhbExvb3BzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjBGMTlDMTZCNzJBMDMwMDVERjk1
QiAvKiBERkdOb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTU4MUJBMTUwRTk1MkMwMEI5
QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFQzlEQ0YxMzI4
REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdE
ODlDRkQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZEODJFNTYxNDFEQUYwODAwMTc5Qzk0IC8qIERGR09T
UkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI1MTdENTFGNTcwMENBMkM0MCAv
KiBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
RTUwNjg2NzFBRTI1RTI4MDAwOURBQjcgLyogRGVmZXJyZWRTb3VyY2VEdW1wLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGQzA5NzkxMTQ2QTZGNzEwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTcwRUNBNjA3MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJl
Z2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjM1QkVCMTcxNzhFNzMwMDY5MEM3RiAv
KiBERkdPU1JFeGl0QmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMwOTc5MjE0NkE2Rjcz
MDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QzA5Nzc2MTQ2OTQzQjAwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRkMwOTc3MjE0NjkzQUY5MDBDRjI0NDIgLyogREZHT1NSRXhpdENv
bXBpbGVyNjQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQzBFQzIxQUEwRDdEQTAwQjZBQUZB
IC8qIEpTU3RyaW5nSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3MDI1QTkxNzE0
QjBGQTAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBMTJCQkZGNDFCMDQ0QTk4MDA2NjRCNjkgLyogSW50bE9iamVjdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkVGQzlBQTE2ODFBM0IzMDA1NjdGNTMgLyogREZHT1NSRXhpdEp1bXBQ
bGFjZWhvbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjIzNUJFRDE3MTc4RTczMDA2OTBD
N0YgLyogREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRkZD
OTVCMTRFRjkwQUQwMEM3MjUzMiAvKiBERkdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQky
QTExMTI0NTE5MkZDRTc5MDA1RUUxOEQgLyogQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE3OEE5NzdBMTc5NzM4QjgwMDlERjc0NCAvKiBERkdQbGFuLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGQkUwRjc0MTZDMURCMDkwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9u
SW5qZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGRkM5NUQxNEVGOTBCMzAw
QzcyNTMyIC8qIERGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGMkZDQ0ZCMThBNjAwNzAwMDFBMjdGOCAvKiBERkdTYWZlcG9pbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODZFQzlERDIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZl
SklULmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2ODgwRjFGMTQzMjhCQjkwMEIwOEQ0MiAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2ODgwRjREMTQz
NTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE3RDg5Q0ZGMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMkEwNUFCRDUxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMyMENCOTE4NTU2QTM1
MDBDOUU5NTQgLyogREZHU1NBTG93ZXJpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1
MkI3MTdCNTFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkMzQ0QwMTE5QURBNDExMDA2QUM3MkEgLyogREZHTmFpdmVEb21pbmF0
b3JzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBE
RkdTdGFja0xheW91dFBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNEYyOURGMThCNkFE
MUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkU3MjExRDE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNp
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMyMENCNTE4NTJFMkM2MDBDOUU5NTQgLyog
REZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJGQ0NG
RTE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkMwOTdBMTE0NkIyOENBMDBDRjI0NDIgLyogREZHVGh1bmtzLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGOTNCNEE5MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3MDlGQjg2NzFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI3MTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVy
VXBDaGVja0luamVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI5MTdE
NTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkIxNzY2MjE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZh
bHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzJCMTdENTFGNTcwMENBMkM0MCAvKiBE
RkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGNjM5NDQwMTVDNzVGMUQwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lz
dGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQkUwRjc2MTZDMURCMEYwMDgyQzVF
OCAvKiBERkdVbmlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMzRCMTQ5
MTZENDIwMTAwMDFDREE1QSAvKiBERkdVc2VLaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
M0IzQTJCMTU0NzUwMDAwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkIxNzY2MDE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGMkJEQzRGMTUyMjhCRjMwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJj
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkREQkZCNTE2NjZFRUQ4MDBDNTVGRUYgLyogREZH
VmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjU4NzRFRDE5
NEZFQjEyMDBBQUIyQzEgLyogREZHTWF5RXhpdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJC
REM1MTE1MjI4RkZEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRjJCREM0QTE1MjI4MDlBMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0cmVh
bS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkZGQzk1RjE0RUY5MEJCMDBDNzI1MzIgLyogREZH
VmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
OUUzMjYzMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkM5N0Y0MTE4MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0
Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkRCMkNFNzE3
NDgzMEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5
RDMzNzAxNjVEQkI5MDAwNUFEMzg3IC8qIERpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBNzA0NDdFRDE3QTBCRDcwMDBGNTg5OEUgLyogRHVtcENvbnRleHQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTlFNDVBMjUxOEExQjI1OTAwMjZEODhGIC8qIEVuY29kZWRWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDNzEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3IuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5QzgxMDdFQzM3NjAwNDI3QTQ4IC8qIEVycm9yQ29u
c3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkVCNThDMTQxODdCOEIxNjAwOThFRjBC
IC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDOTEw
N0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDdGMzlDQTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTU0OTgyMDMxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVy
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkNBMDMyRTEwMzhFODQ0MDAyOEE2MDkgLyogRXhl
Y3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0I0OEY0OTBFRTg5MzZGMDBEQ0JEQjYg
LyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkRCNjQ2NDBG
OTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGMkREODExMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNF
bGltaW5hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNTZBMUQ1MTUwMDFDRjQw
MDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUyNjc4
RjhFMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEYyRDRERUIxOTgzMkRDNDAwN0Q0QjE5IC8qIFR5cGVQcm9maWxlckxvZy5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjAzMzJDMDE4QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJ
VFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZCMTA1ODUxNjc1NDgwRjAwRjhBQjZFIC8q
IEV4aXRLaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTFDMTcwOEIwMDcwMEJCNzIy
QyAvKiBGVExBYnN0cmFjdEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5NzhCM0IxQUFF
QTcxRDAwN0M3MzY5IC8qIENvbnN0YW50TW9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUw
NTAyNTFBQTkwOTU2MDBEMzNCMzMgLyogQ2xvbmVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGNzkwODU1MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEExRTE3MDhCMDA3MDBCQjcyMkMg
LyogRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ4
NTMyNzE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZFQTBBMDkxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENhcGFiaWxpdGllcy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29t
bW9uVmFsdWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTBCMTcwNTEzREIwMEJCNzIy
QyAvKiBGVExDb21waWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTk1Rjc5MThCNTY5NDcw
MEI1MzFGQiAvKiBGVExEYXRhU2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQUM5MjJC
QjE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGMjM1QkQzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEYyMzVCRDUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRB
cmd1bWVudEZvck9wZXJhbmQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyMzVCRDgxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjIzNUJEQTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUE3RjI5OTZCMTdBMEJCNjcwMDEwNDE3QSAvKiBGVExGYWlsLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGRTgzNDE3MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxT
dHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ4QTMxOTE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMRm9yT1NSRW50cnlKSVRDb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjVG
MUFGMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxpbmVDYWNoZVNpemUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEZFQTBBMjgxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTEludHJpbnNpY1JlcG9zaXRv
cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDM0NDRkYxOUFEQTQxMDAwNkFDNzJBIC8qIERG
R0Jsb2NrV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFQTBBMEQxNzA1MTNEQjAw
QkI3MjJDIC8qIEZUTEpJVENvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4QTk3ODAxNzk3
MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RjJCOUNGNDE5RDBCQUMxMDBCMUQxQjUgLyogRlRMRXhpdFByb3BlcnR5VmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjJGMkFBMzcxQjBCRURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0I1MTg1RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0Nh
bGwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOTUxNzJFMDRBMDAwN0RCREE1IC8qIEZU
TExpbmsuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8q
IEZUTExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ4QTMx
QjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExS
ZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4
NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFBQjE4MDRDMTNFMDA0NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyNUYxQjExODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjI1RjFCMzE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhD
YWxsS2V5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOUQzMzlBMTgwM0FEQjcwMDczQzJCQyAv
KiBGVExTdGFja01hcHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFQTBBMTYxNzA2QkI5MDAw
QkI3MjJDIC8qIEZUTFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjM1QkUxMTcxNzhF
MUMwMDY5MEM3RiAvKiBGVExUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QjFDQzUx
ODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEYyMzVCRTMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNUExMjczMTkyRDlGREYwMDg3NjRBMyAvKiBERkdEb2VzR0MuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTUzQ0UwODcxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjVBNjI4MzE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDggLyog
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkYwRjE5RjE2Qjcy
QTE3MDA1REY5NUIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1MkIzMTBGRDE5NzRBRTg3MDA4MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5j
dGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjY0QjI3MTFBNzg0QkFGMDA2
RTRFNjYgLyogQmluYXJ5U3dpdGNoLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzY2RDJGMTVB
OERDRTAwMDhGMzYzRSAvKiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzIyMzlEMUExNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUMyMTEyMkUxMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MzMyOUYxNENBN0RDQTAwODVGM0M2IC8qIEdldEJ5
SWRTdGF0dXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYwMzMyQzMxOEIwMTc2MzAwNUY5NzlB
IC8qIEdldEJ5SWRWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODU1MTA3RUMw
RTcwMDEzRTdCMiAvKiBHZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyRTMx
MzUxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDJFMzEzNzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU3RhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMTRCQTdBOTcxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzI0RDMxRTIxNjFDRDY5NTAwMkFBNERCIC8qIEhlYXBTdGF0aXN0aWNzLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUMyRTUyNkJEMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEY0NjgwRDQxNEJCRDI0OTAwQkZFMjcyIC8qIEhvc3RDYWxs
UmV0dXJuVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5Q0UxMDdFQzM3NjAwNDI3
QTQ4IC8qIElkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
MjVGOEJDRDE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2VlcGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMTNFMDRFMTYxNjRBMUYwMERDOERFNyAvKiBJbmRleGluZ1R5cGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxp
emVMTFZNLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUyNzc3M0RFMUFBRjgzQUMwMEJERTdFOCAv
KiBSdW50aW1lVHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTEzRTVCNzE4NUI4QkQzMDA3
RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZCRjE1OEMx
OUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1
MTRCMkMyMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTU4RTM1OTExODYwREVDRjAwMUYyNEZFIC8qIEluamVjdGVkU2NyaXB0SG9z
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTEzRTVDQTE4NUY5NjI0MDA3RTk1QUQgLyogSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1ODQwRTIwMTg3QjdC
ODYwMDg0M0IxMCAvKiBJbmplY3RlZFNjcmlwdE1vZHVsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjI0RTU1NTE3RjBCNzFDMDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUZFN0JBNjBGMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVDRUVFMTQxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3Bl
Y3RvckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1OTNDRjg2MTg0MDM4Q0EwMEJGQ0Uy
NyAvKiBJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI5
Q0Y2MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTkzQ0Y3QzE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkFGNzM4MkMxOEJC
QkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QTVGRDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBNTdEMjNFNTE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTMyNDM4NzE4NTY4MzM1MDAyRUQ2
OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTcwOUZCODY5MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29uc3RydWN0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTUzMjQzODkxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUzMjQzOEIxODU2ODMzNTAw
MkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBNTBFNEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1OTNDRjgyMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JW
YWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4ODUzRjkxNzk3MjYyOTAwMTQ0MEU0IC8q
IEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5Q0Yx
MDdFQzM3NjAwNDI3QTQ4IC8qIEludGVybmFsRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMTQyOUQ3RDQwRUQyMTI4MjAwQjg5NjE5IC8qIEludGVycHJldGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTcwMTEzRDRCMUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwM0ZBMTkxODhFMEZCMDAwMTEwRjE0IC8qIEphdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyOUQ5MkYwRUQyMkQ3MDAw
Qjg5NjE5IC8qIEpJVC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkE5MEVEMDBFRTdENTFGMDBB
QjM1MEQgLyogSklUQXJpdGhtZXRpYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzU3MDZERTEx
OEEyQkNGMDA1N0Y4OEYgLyogSklUQXJpdGhtZXRpYzMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2Q0M4NUEzMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTE0NkZFNTEyMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEY4Rjk0NDQxNjY3NjM1NDAwRDYxOTcxIC8qIEpJVENvZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZBRjdFRkQxNjVCQTkxQjAwMEM4NDU1IC8qIEpJVERpc2Fzc2Vt
Ymxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ2ODA4MzE0QkE1NzMxMDBCRkUyNzIgLyog
SklURXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkIxNEUxRTE4MTI0QUNFMDA5
QjZCNEQgLyogSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QkNERDUxRUIwRkI4REY3NDAwNEE4QkRDIC8qIEpJVE9wY29kZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTcxMjM2RTUxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9wY29kZXMzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjZFODQ1QTE5MDMwQkVGMDA1NjI3NDEgLyogREZHVmFyaWFibGVB
Y2Nlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjRFNTRDMTdFRTI3NDkwMEFCQjIx
NyAvKiBKSVRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2Q0M4NUM0MEVFN0E4
OTQwMDI4ODY4MiAvKiBKSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlB
N0MxRThFNDExMkU3MkVGMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjc2NkQyODE1QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRp
bmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFNEJGRjJCMUFENDc2RTcw
MDA4OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEEy
M0Q3NTBGNEUxQUJCMDAyM0NEQUQgLyogSklUU3R1YnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEY1RUY5MUUxNjg3OEY3QTAwM0U1QzI1IC8qIEpJVFRodW5rcy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkM3MTJFMjE3Q0Q4NzkxMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQwQjdEMUQwREM2OUFGNzAwOUM0
MkI4IC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MDU2
NkM0MTA3RUMyNTUwMDVEQkM4RCAvKiBKU0FQSVZhbHVlV3JhcHBlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDMkNGMzlDMTE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFwcGVyT2JqZWN0Lm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDAxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjY2RTIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJy
YXlCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjY2RTQxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJC
NjZFNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjJCNjZFODE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdCREFFQ0ExN0Y0RUExNDAwRjYxNDBDIC8qIEpT
QXJyYXlJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDIxMzU5QjBBNjc3RjRGMDBB
ODE5NUUgLyogSlNCYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGODk4RjMxMUIyNzY4OUYw
MDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDBGOEFGMEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxi
YWNrQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MEY4OTIwQTUwOEIxMDAw
MDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEFC
REY2MDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBN0Q4MDFBODE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjU3Q0Y0NTgxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0N0YzOUQxMTA3RUMzNzYwMDQyN0E0OCAvKiBKU0NlbGwuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDYxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQ0pTVmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MEZDRTQwQTUxRTQ2QjAwMDVGMDYxIC8qIEpT
Q2xhc3NSZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFM0M2MTYxNjdCQUJFRTAwNkQ3NjBB
IC8qIEpTQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTE0QkQ1QTMwMEEzRTkxRjYwMEJB
RjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBEQzNFMDkxQjJE
RjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRDk0OTgyMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTcyMDI4QjYxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRh
Vmlldy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZFRDE3QjZCNUFCMDBBN0FFM0YgLyog
SlNEYXRhVmlld1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJENERFODE5ODMy
REFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMzg0
RUU1MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTk3ODgwMTQwMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGRTA1MDE3MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTQwNTY2RDYxMDdFQzI3MTAwNURCQzhEIC8qIEpTRnVuY3Rpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDIxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTR2xv
YmFsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDg1MTg5QjFCN0UwMDYzMzIz
MSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlB
NTk0NTU5MjE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1N0QyM0U5MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9i
amVjdERlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTRFOUQxN0IxMDdFQzQ2
OTAwNEREQTIxIC8qIEpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1MTAwN0MwMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwRTRCNjMxODgwOURENTAwNjhBNDZE
IC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1
MDNGQTI5MTg4RjEwNTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTdBOEVFMThDRTRGRDgwMDUyMzcxRCAvKiBTY3Jh
dGNoUmVnaXN0ZXJBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUxM0U1QkYxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1MTNFNUMxMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1MDNGQTFEMTg4
RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMTQyODA4NzUxMDdFQzEzRTAwMTNFN0IyIC8qIEpTTG9jay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjNEMEJCQzE5NEE0MTQzMDBGQzlDRjkgLyogQ29uc3RhbnRTdHJ1
Y3R1cmVDaGVjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMjVENzA5QjE2REU5OUY0MDBGQ0E2
QkMgLyogSlNNYW5hZ2VkVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNzAwODc0MTE3Q0JF
OEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0REVGOTUxODJE
OTkxNDAwNTIyQzIyIC8qIEpTTWFwSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4
NzRBRTMxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE3MjcwMDkwMERBQzZCQkMwMEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTE0N0YzOUQ0MTA3RUMzNzYwMDQyN0E0OCAvKiBKU09iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDgyQjdFNDBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdGOTkzNjAwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05P
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGQjZDMzgxQUY0OEREQzAwREIxQkY3IC8q
IFR5cGVvZlR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTVGNkU2OTUwRTVCNUY5NzAwOTFF
ODYwIC8qIEpTUHJvZmlsZXJQcml2YXRlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDMTg0RTFB
MTdCRURCRDMwMDdDQjYzQSAvKiBKU1Byb21pc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0Mx
ODRFMjIxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1NTJDMzdGMUFEREI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rv
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjg5M0JEQjE5MzZFMjNDMDAxMjExRjQgLyogREZH
U3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzAwOENEQTE4
NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJN0MwMDhDRDIxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3QzE4NEUxRTE3QkVFMjJFMDA3Q0I2M0EgLyogSlNQcm9taXNlUHJv
dG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMUMwRkZGMUIxOTRGRDEwMEI1M0ZDQSAv
KiBFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzA5RkI4NkIxQUUzMzVDNjAwMzlE
MDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0MwMDhDREUx
ODcxMjU4RDAwOTU1QzI0IC8qIEpTUHJvbWlzZVJlYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2MjU1M0QxMTYxMzZEQTkwMDlGMTdEMCAvKiBKU1Byb3h5LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTk5MjhGRjNCMThBQzRBRUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDg3NEFFNTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBN0MwQzRBRDE2ODEwNjdFMDAxNzAxMUQgLyogSlNTY3JpcHRS
ZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTlEOUQx
N0QxMjgzNzAwNUY1RkY5IC8qIEpTU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjBDMjU5
MUE4MDEzQUIwMERBMzIyOSAvKiBWaXJ0dWFsUmVnaXN0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTc5MERENkYxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkE4MzYzODkxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4M0ExMDdFQzA3NTAwMTNFN0IyIC8q
IEpTU3RhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDUxMDdFQzM3NjAwNDI3QTQ4
IC8qIEpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQjQzOEEzMTkyNzBCMUQwMEUx
RkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjYwMEI1QTYxNTJC
QUFBNzAwOTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0
ODJCNzRFMEE0MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxNDZBQUIzODBCNjZBOTQ0MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjkxOUQwQzE1N0VFMDlGMDA0QTRFN0QgLyogSlNTeW1ib2xUYWJsZU9i
amVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZGQTE3QjZCNUFCMDBBN0FFM0YgLyog
SlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI2NkZD
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGMkI2NkZFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRjA1NEY5MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxl
QWxsb2NhdGlvbkZ1enouY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFM0M2MUExNjdCQUJFRTAw
NkQ3NjBBIC8qIEpTVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQkwRkY4QkRFQTFBRDRDRjcx
MDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGMTQz
NTFBREYwOTAxMDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxNEJENUEzMjBBM0U5MUY2MDBCQUY1OUMgLyogSlNWYWx1ZVJlZi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDdGMzlENzEwN0VDMzc2MDA0MjdBNDggLyogSlNFbnZpcm9ubWVu
dFJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkUzQzYxQzE2N0JBQkVFMDA2RDc2MEEg
LyogSlNWaXJ0dWFsTWFjaGluZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUE3Q0EzQUU3MTdEQTQx
QUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0ODJCOTQx
MTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMTQ0MjU2NjExNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRUU5ODQzMUE4OTIyNzUwMDc1NEU5MyAvKiBTZXR1cFZhcmFy
Z3NGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkUzQzYxODE2N0JBQkVFMDA2RDc2MEEg
LyogSlNXcmFwcGVyTWFwLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NzAxMDdFQzEzNDAw
MTNFN0IyIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0ZEOEM5
MjBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QjU0Njc5MTRGNUM0NkIwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk5NUFCODM0MjBEQTQzMjI1MDBCQzgzRjMgLyogTGVnYWN5UHJvZmls
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4RjIxQjAxMDdFQzU0MTAwNDJFQzJDIC8qIExl
eGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjQyNzU3MTU5MTRBMjAwMDRDQjlGRiAvKiBM
aW5rQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3RTJFQTZDMEZCNDYwQ0YwMDYwMUYw
NiAvKiBMaXRlcmFsUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMjBDRTlEMTVGMDRB
OTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDY4MEQy
MTRCQkQxNjUwMEJGRTI3MiAvKiBMTEludERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYz
OEIwMTExN0NGMDc4MDAwQjE0NEQzIC8qIExMSW50RW50cnlwb2ludC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRjQ2ODBBODE0QkE3RkFCMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRDk0OTg0MUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9u
TmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDY4MEE0MTRCQTdGOEQwMEJGRTI3
MiAvKiBMTEludFNsb3dQYXRocy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjBCODM5QzE0QkNG
NDYzMDA4ODVCNEYgLyogTExJbnRUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZB
Q0QxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdF
NUFCMzcxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEY0Q0VENUUxOENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0NjlEREUxMDdFQzdFNzAwNjUwNDQ2IC8qIExv
b2t1cC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ2ODBDQzE0QkJCMTdBMDBCRkUyNzIgLyog
TG93TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEI3MjNCMjEyRDdE
QTQ2MDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRUIzRUNGMTYyMzdGNkMwMEFCNjdBRCAvKiBNYWNyb0Fzc2VtYmxlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4NkM1NjhFMDExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJBUk0u
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTAwOUMxNzk3NkM2MDAwMzE3Mjk4IC8qIE1hY3Jv
QXNzZW1ibGVyQVJNdjcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUzQ0UwODUxOEJDMUE1NjAw
QkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdBNEFF
MDgxNzk3M0IyNjAwNTYxMkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1QjZBNzREMThDNkRCQTYwMEYxMUU5MSAvKiBDb25zb2xlQ2xpZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUE3MDA4NzM5MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzRERUY5MzE4MkQ5OTE0MDA1MjJDMjIg
LyogTWFwSXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcwMDg3M0Qx
N0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
MkI5MTZDNTE0REEwNDBDMDBDQkFDODYgLyogTWFya2VkQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0MkQ2RjA4MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNEQyRjNEQTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyRDZGMTExMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtT
dGFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURERjEwN0VDN0U3MDA2NTA0NDYgLyog
TWF0aE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkI1NDY3RDE0
RjVDRkQ2MDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxNDQ2OURFMDEwN0VDN0U3MDA2NTA0NDYgLyogTmF0aXZlRXJyb3JDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURFMTEwN0VDN0U3MDA2NTA0NDYg
LyogTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4RjIxQjcx
MDdFQzU0NzAwNDJFQzJDIC8qIE5vZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1NUVCMjlC
MTBDRTI1ODEwMDFBOTkwRSAvKiBOb2Rlc0NvZGVnZW4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NjU0NkY1MjExQTMyQjMxMzAwNkYwN0Q1IC8qIE51bGxHZXR0ZXJGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk2NTUyNUZDNTFBNkREODAxMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REUyMTA3RUM3RTcwMDY1MDQ0NiAvKiBO
dW1iZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURFMzEwN0VDN0U3
MDA2NTA0NDYgLyogTnVtYmVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REU0
MTA3RUM3RTcwMDY1MDQ0NiAvKiBOdW1iZXJQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJODZGM0VFQkUxNjhDREU5MzAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTQ0NjlERTUxMDdFQzdFNzAwNjUwNDQ2IC8qIE9iamVjdENvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REU2MTA3RUM3RTcwMDY1MDQ0NiAv
KiBPYmplY3RQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTEyNEE4RjgwRTU1NTc3
NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk2OUEw
NzlBMEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZF
RDY3QjkxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDI4MDg1MDEwN0VDMEQ3MDAxM0U3QjIgLyogT3BlcmF0aW9ucy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUyMjhFRTE0MzZBQjJDMDAxOTZDNDggLyogT3B0aW9u
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQ
YXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJB
RTAgLyogUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjk4
MjA2MDE2QkZFMzgxMDAyNDBEMDIgLyogUHJlY2lzZUp1bXBUYXJnZXRzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTk1NzQyRjY1MEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMkI5Q0Y4MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExPcGVyYXRpb25zLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk1Q0Q0NTc2MEUxQzRGREQwMDg1MzU4RSAvKiBQcm9maWxl
R2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk1QUI4MzU2MERBNDNDMzAwMEJDODNG
MyAvKiBQcm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlBRDE2NkFEMzVD
MDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3
MjlBRTE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEY2MjM3OTcxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyog
UHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjcyOUFG
MTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2lu
ZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlCMTE2NkFEMzVDMDAwRjVCQTMgLyogUHJv
ZmlsZXJDb21waWxlZEJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjcyOUIyMTY2
QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGMTkwQ0FDMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9maWxlckpldHRpc29uUmVhc29uLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRjcyOUIzMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlck9y
aWdpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlCNDE2NkFEMzVDMDAwRjVCQTMgLyog
UHJvZmlsZXJPcmlnaW5TdGFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkIxMDU4QjE2NzU0
ODMxMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QjEwNThEMTY3NTQ4MzcwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXRTaXRlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMTM5MTJCMTY3NzFDM0EwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVk
Qnl0ZWNvZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwRUNBNjA1MUFGREJFQTIwMDQ0OTcz
OSAvKiBKU1RlbXBsYXRlUmVnaXN0cnlLZXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdGQjYw
QTQxMDNGN0RDMjAwMTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxNDQ2OURFODEwN0VDN0U3MDA2NTA0NDYgLyogUHJvcGVydHlTbG90LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUFERTM5RkZGMTZERDE0NEIwMDAzQ0Q0QSAvKiBQcm9wZXJ0eVRhYmxl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1RkI1MTE3MTg0RUVFNzAwMEMxMkI3MCAvKiBQcm90
b0NhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDc0QzMzQzE2QUEyRDlCMDA2MkYw
MUQgLyogUHJvdG90eXBlTWFwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOTMzMkEzMTRDQTdE
RDcwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0Uw
MUFBMTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGRjYwQUMzMTY3NDBGODgwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTdBOEVCMThCNDEzQzgwMDUyMzcxRCAvKiBSZWcuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NDExMDdFQzA5MzAwMTNFN0IyIC8qIFJlZ0V4cC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBMTcxMkIzQjExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhw
Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFMDUwMkMxQUE5MDk1NjAwRDMzQjMzIC8q
IFZhck9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjQyQzUxMDE1MUMwNkE5MDA0NkQ0
RUYgLyogUmVnRXhwQ2FjaGVkUmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODQy
MTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4NjQyQzUxMjE1MUMwODNEMDA0NkQ0RUYgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0MjgwODQzMTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBPYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NDQxMDdFQzA5MzAwMTNFN0IyIC8qIFJl
Z0V4cFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNCRDE4NjEyNDZBMDA4
NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGQzMxNDE1MTgxNDZENzAwMDAzMzIzMiAvKiBSZWdpc3RlclNldC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNTdEMjNFRDE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4
cHJlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVCQTE1RTkxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3Rvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJBREZBMjYzMThFRjM1
NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU5NDU1OEYx
ODI0NUVGRDAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTVCQTE1RUMxODIzNDBCNDAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGVDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTVCQTE1RUUxODIzNDBC
NDAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAq
LywKKwkJCQkwRjI0RTU1MDE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk2MkQyRDM4RjFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjc3MDA5MjE0MDJGRjNDMDA3OEVCMzkgLyogU2FtcGxp
bmdDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjlEODg1MEVEMjFDM0QwMEI4OTYx
OSAvKiBTYW1wbGluZ1Rvb2wuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQzBFQzYxQUEwRDdE
QTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjA0Mzk2RDFCMDNEQzBCMDA5NTk4QjcgLyogREZH
Q29tYmluZWRMaXZlbmVzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RjE4OUIwMEFB
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQw
MDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1MDNGQTI1MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTVEOTNBNTE4NTAxMkE4MDA0MDBERUQgLyogU2Ny
aXB0RnVuY3Rpb25DYWxsLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1NENGMkY5MTg0RUFFREEw
MDIzN0YxOSAvKiBTY3JpcHRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU0Q0YyRjUx
ODRFQUIyNDAwMjM3RjE5IC8qIFNjcmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3
Mjk5REE1MTdEMTI4NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRkQxMjAyRjFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBNzkwREQ2RDE4MkY0OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JQ
cm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTlEQTExN0QxMjg0ODAwNUY1RkY5
IC8qIFNldFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjcwNDE3QjZCNUFC
MDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzIyNTQ5NDMxNUY3REJBQTAwNjVFODk4IC8qIFNsb3RWaXNpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTkzMzA0MDJDMEU2QTc2NDAwMDc4NkU2QSAvKiBTbWFsbFN0cmluZ3MuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOUUxNzMwNkM4RDAwN0RCREE1IC8qIFNvdXJjZUNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1MDhCIC8qIFNv
dXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUU0OURDMTZCMTJFRjI5M0UwMDE4
NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMENE
NEM0MTVGNkI2QkIwMDMyRjFDMCAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNTU0MUIxMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkQ4MkU4NjE0MUYzRkYxMDAxNzlDOTQgLyogU3BlY3VsYXRl
ZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdDMUVBRjExNzk4N0FCNjAwMjk5REIyIC8q
IFN0YWNrVmlzaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzMwQjYxMzEyNTAwNjhGMDA5
RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0
NjlERUIxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ0NvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0NDY5REVDMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEY4RjE0MzMxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REVEMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdQ
cm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyRDRERUYxOTgzMkREMzAwN0Q0QjE5
IC8qIFR5cGVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTMzNUYyNEQxMkU2NzY1QjAwMkI1
NTUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNE
RTNCNDMwRTZDODMyRDAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk3RTRFRTcwRjBFQkI3QTVCMDA1OTM0QUEgLyogU3RydWN0dXJlQ2hhaW4uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzJGMEYyRDExNkJBRUVFOTAwMTg3QzE5IC8qIFN0cnVjdHVyZVJhcmVEYXRh
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzY2RDM4MTVBRTRBMUMwMDhGMzYzRSAvKiBTdHJ1
Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDQ0Yw
RDBDMEVGMEI4QTUwMDQxM0M4RiAvKiBTdHJ1Y3R1cmVTdHViSW5mby5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk3MDVCNDFBQjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTcwNUI0MUFEMUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk3MDVCNDFBRjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9s
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwNUI0MUIxMUE2RTUwMUUwMDcxNjc1NyAv
KiBTeW1ib2xQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MTlEMjgxNTg1Njc3
MzAwNEE0RTdEIC8qIFN5bWJvbFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQzMxNDEz
MTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZBMkMxN0IxN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBNzM4NjU1NTExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3Jz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBl
ZEFycmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjcwQTE3QjZCNUFC
MDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTJDOTUy
QjkxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0Mjc0MDE1OEVCRThCMDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEZGNDI3NDMxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1dC5jIGluIFNv
dXJjZXMgKi8sCisJCQkJMEZGNDI3NEQxNThFQkZFNjAwNENCOUZGIC8qIHVkaXM4Nl9pdGFiX2hv
bGRlci5jIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3NDUxNThFQkU5MTAwNENCOUZGIC8qIHVk
aXM4Nl9zeW4tYXR0LmMgaW4gU291cmNlcyAqLywKKwkJCQkwRkY0Mjc0NjE1OEVCRTkxMDA0Q0I5
RkYgLyogdWRpczg2X3N5bi1pbnRlbC5jIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3NDcxNThF
QkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4uYyBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI5Q0VB
MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0MjczMjE1OEVCRDU4MDA0Q0I5RkYgLyogVURpczg2RGlzYXNzZW1ibGVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE3NkYyNzk0MTVGMTNDOTYwMDUxN0Q2NyAvKiBVbmxpbmtlZENvZGVC
bG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCNTlGODkzOTE4OTFGMjlGMDBENUNDREMgLyog
VW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjc1NzZE
MjE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEYyNEU1NTgxN0Y3NEVEQjAwQUJCMjE3IC8qIFZhbHVlUmVjb3Zlcnku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTE4RTNBNTkwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUZFNTkzMkE3MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5
U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkVEOTRGMkUxNzFFM0UyMzAwQkU3N0E0IC8q
IFdhdGNoZG9nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFRDk0RjMwMTcxRTNFMjMwMEJFNzdB
NCAvKiBXYXRjaGRvZ01hYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjkxOUQyNTE1ODUzQ0Uw
MDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUNGNzM3NzE3
MUNBNkZCMDBDOUJCMUUgLyogV2Vhay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZGQzc1MDE5
NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTE0RjcyNTY1MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTdDQTNBRTMxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0NBM0FFQjE3REE1MTY4MDA2NTM4QUYg
LyogV2Vha01hcERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDM0MEE0ODQxQTkwNTFBRjAw
RDczQ0NBIC8qIE1hdGhDb21tb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdDQTNBRTUxN0RB
NDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MTRFODRGQTAxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkE0RUM5MEIxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1ZmZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVy
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUwNTAyNzFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0I3RTJBMTlBMTFC
ODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0U1QUIz
QTE3OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2M0M2RDlDMTUyMTExMUEwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkUwNTAyRjFBQUE4MDY5MDBEMzNCMzMgLyogU2NvcGVkQXJn
dW1lbnRzVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODY3MDRCODQxMkRCQTMzNzAwQTlG
RTdCIC8qIFlhcnJJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjcwNEI4NjEy
REJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjcwNEI4
OTEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODY3MDRCNDIxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworCQk5MzJGNUJEQzA4MjJBMUM3MDA3MzY5NzUgLyogU291cmNlcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTkzMkY1QkREMDgyMkExQzcwMDczNjk3NSAvKiBqc2Mu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCisvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkQx
ODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQ
QlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0
IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2NjMwMDQ3
MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJCTBGRjkyMkQzMTRGNDZC
MkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFy
Z2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBM
TEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0UHJveHkgPSAwRkY5MjJEMjE0RjQ2QjJGMDA0MUEy
NEUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk1RDY5RTkxMjE1MkJFNTQ3
MDAyOEQ3MjAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdl
dERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5MzJGNUJEQTA4MjJBMUM3MDA3MzY5NzUgLyoganNj
ICovOworCQkJdGFyZ2V0UHJveHkgPSA1RDY5RTkxMTE1MkJFNTQ3MDAyOEQ3MjAgLyogUEJYQ29u
dGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk1RDZCMkE0RjE1MkI5RTIzMDA1MjMxREUgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7
CisJCQl0YXJnZXQgPSAxNDEyMTExRjBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLzsKKwkJ
CXRhcmdldFByb3h5ID0gNUQ2QjJBNEUxNTJCOUUyMzAwNTIzMURFIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNUQ2QjJBNTExNTJCOUUyMzAwNTIzMURFIC8qIFBCWFRhcmdl
dERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFy
Z2V0ID0gMTRCRDU5QkUwQTNFOEY5MDAwQkFGNTlDIC8qIHRlc3RhcGkgKi87CisJCQl0YXJnZXRQ
cm94eSA9IDVENkIyQTUwMTUyQjlFMjMwMDUyMzFERSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CisJCTVENkIyQTU1MTUyQjlFMjMwMDUyMzFERSAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDY1
MTEyMkY3MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICovOworCQkJdGFyZ2V0UHJveHkg
PSA1RDZCMkE1NDE1MkI5RTIzMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwor
CQl9OworCQk1RDZCMkE1NzE1MkI5RTJFMDA1MjMxREUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA1RDZCMkE0
NzE1MkI5RTE3MDA1MjMxREUgLyogVGVzdCBUb29scyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNUQ2
QjJBNTYxNTJCOUUyRTAwNTIzMURFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjUyNDRCRDMxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNjUy
NDRCRDIxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjU0NDJENTAxOEVCQjc0NDAwN0FGOTJGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNjU0
NDJENEYxOEVCQjc0NDAwN0FGOTJGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjU3ODhBOUUxOEI0MDlFQjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZGOTIyQzMxNEY0
NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLzsKKwkJCXRhcmdldFBy
b3h5ID0gNjU3ODhBOUYxOEI0MDlFQjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LzsKKwkJfTsKKwkJNjU3ODhBQUIxOEI0MEEzQjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVG
QjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFBy
b3h5ID0gNjU3ODhBQUExOEI0MEEzQjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LzsKKwkJfTsKKwkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjU3
ODhBOUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovOworCQkJdGFyZ2V0
UHJveHkgPSA2NTc4OEFBQzE4QjQwQTdCMDBDMTg5RkYgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovOworCQl9OworCQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA2
NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovOworCQkJdGFyZ2V0
UHJveHkgPSA2NUZCM0Y3RDA5RDExRUYzMDBGNDlERUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovOworCQl9OworCQk5MzJGNUJFNzA4MjJBMUM3MDA3MzY5NzUgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5
MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUgKi87CisJCQl0YXJnZXRQ
cm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CisvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCisKKy8qIEJl
Z2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJMEY0NjgwQUQxNEJBN0ZEOTAw
QkZFMjcyIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJpdmVkIFNvdXJjZXMg
Y29weSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkwRjQ2ODBBRTE0QkE3RkQ5
MDBCRkUyNzIgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiRGVyaXZlZCBTb3Vy
Y2VzIGNvcHkiOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkwRjQ2ODBBRjE0
QkE3RkQ5MDBCRkUyNzIgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJp
dmVkIFNvdXJjZXMgY29weSI7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJ
MEY0NjgwQjAxNEJBN0ZEOTAwQkZFMjcyIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9O
QU1FID0gIkRlcml2ZWQgU291cmNlcyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IDBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTBG
Q0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJF
MTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMEZDRUZBQkExODA1
RDYxNjAwNDcyQ0U0IC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5
MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJMEZDRUZBQkIxODA1RDYxNjAw
NDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAwNDcy
Q0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
fTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQkwRkY5MjJDQjE0RjQ2QjEzMDA0MUEy
NEUgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRv
b2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gRGVidWc7CisJCX07CisJCTBGRjkyMkNDMTRGNDZCMTMwMDQxQTI0RSAvKiBSZWxl
YXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmln
dXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0
YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9
IFJlbGVhc2U7CisJCX07CisJCTBGRjkyMkNEMTRGNDZCMTMwMDQxQTI0RSAvKiBQcm9maWxpbmcg
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0
aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxl
LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJv
ZmlsaW5nOworCQl9OworCQkwRkY5MjJDRTE0RjQ2QjEzMDA0MUEyNEUgLyogUHJvZHVjdGlvbiAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUu
eGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9k
dWN0aW9uOworCQl9OworCQkxNDEyMTEzQTBBNDg3OTg0MDA0ODAyNTUgLyogRGVidWcgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29u
ZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJ
CX07CisJCTE0MTIxMTNCMEE0ODc5ODQwMDQ4MDI1NSAvKiBSZWxlYXNlICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJ
CTE0MTIxMTNDMEE0ODc5ODQwMDQ4MDI1NSAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJD
MDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJ
CTE0OUMyNzVFMDg5MDJBRkUwMDhBOUVGQyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0
MzBCQTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQ5QzI3NUYw
ODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThB
NzAwODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTQ5QzI3NjEwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAw
ODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlCVUlMRF9WQVJJQU5UUyA9IG5vcm1hbDsKKwkJCX07CisJCQluYW1lID0gUHJvZHVj
dGlvbjsKKwkJfTsKKwkJMTQ5QzI3NjgwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovID0gewor
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVy
ZW5jZSA9IDVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAvKiBKU0MueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQ5QzI3
NjkwODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNURBRkQ2Q0IxNDZC
Njg2MzAwRkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0OUMyNzZCMDg5MDJBRkUwMDhBOUVG
QyAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAv
KiBKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBQcm9kdWN0aW9uOworCQl9OworCQkxNDlDMjc2RDA4OTAyQUZFMDA4QTlFRkMgLyogRGVidWcg
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQkJUFJPRFVDVF9OQU1FID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJ
fTsKKwkJMTQ5QzI3NkUwODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVD
VF9OQU1FID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDlDMjc3
MDA4OTAyQUZFMDA4QTlFRkMgLyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSBB
bGw7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTE0OUMyNzcyMDg5MDJB
RkUwMDhBOUVGQyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0NDBCQTlFOEE3MDA4MUU5
RDAgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJ
CQlERUFEX0NPREVfU1RSSVBQSU5HID0gIiQoREVBRF9DT0RFX1NUUklQUElOR19kZWJ1ZykiOwor
CQkJCURFQlVHX0RFRklORVMgPSAiJChERUJVR19ERUZJTkVTX2RlYnVnKSI7CisJCQkJR0NDX09Q
VElNSVpBVElPTl9MRVZFTCA9ICIkKEdDQ19PUFRJTUlaQVRJT05fTEVWRUxfZGVidWcpIjsKKwkJ
CQlTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9ICIkKFNUUklQX0lOU1RBTExFRF9QUk9EVUNUX2Rl
YnVnKSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkxNDlDMjc3MzA4OTAyQUZF
MDA4QTlFRkMgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0NDBCQTlFOEE3MDA4MUU5
RDAgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJ
CQlTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9IE5POworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNl
OworCQl9OworCQkxNDlDMjc3NTA4OTAyQUZFMDA4QTlFRkMgLyogUHJvZHVjdGlvbiAqLyA9IHsK
KwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJ
CTE0QkQ1OUQ3MEEzRThGQzkwMEJBRjU5QyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJG
MjEzNjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTRCRDU5RDgw
QTNFOEZDOTAwQkFGNTlDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBD
MzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTRCRDU5RDkwQTNFOEZD
OTAwQkFGNTlDIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAw
RkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNUQ2QjJBNDgxNTJCOUUx
NzAwNTIzMURFIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQk1RDZCMkE0OTE1MkI5RTE3MDA1
MjMxREUgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSki
OworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk1RDZCMkE0QTE1MkI5RTE3MDA1
MjMxREUgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNUQ2QjJBNEIxNTJCOUUx
NzAwNTIzMURFIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VU
X05BTUUpIjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjUxMTIzMDEx
NDA0NkE0QzAwMkIxMDFEIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMw
MEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQk2NTExMjMwMjE0MDQ2QTRDMDAy
QjEwMUQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkwMEMzMDBGQzU0Njcg
LyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
fTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk2NTExMjMwMzE0MDQ2QTRDMDAyQjEwMUQg
LyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQli
YXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBU
b29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9Owor
CQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNjUxMTIzMDQxNDA0NkE0QzAwMkIxMDFEIC8q
IFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRv
b2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjU3ODhBQTMxOEI0MDlFQjAwQzE4OUZGIC8q
IERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29u
ZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2Ny
aXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJSU5GT1BMSVNU
X0ZJTEUgPSAiRGVyaXZlZCBTb3VyY2VzIGNvcHktSW5mby5wbGlzdCI7CisJCQkJUFJPRFVDVF9O
QU1FID0gIkRlcml2ZWQgU291cmNlcyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJ
CX07CisJCTY1Nzg4QUE0MThCNDA5RUIwMEMxODlGRiAvKiBSZWxlYXNlICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IDFDOTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJSU5GT1BMSVNUX0ZJTEUgPSAiRGVyaXZlZCBTb3Vy
Y2VzIGNvcHktSW5mby5wbGlzdCI7CisJCQkJUFJPRFVDVF9OQU1FID0gIkRlcml2ZWQgU291cmNl
cyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNjU3ODhBQTUxOEI0
MDlFQjAwQzE4OUZGIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0MzBCQTlFOEE3
MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdz
ID0geworCQkJCUlORk9QTElTVF9GSUxFID0gIkRlcml2ZWQgU291cmNlcyBjb3B5LUluZm8ucGxp
c3QiOworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJpdmVkIFNvdXJjZXMgY29weSI7CisJCQl9Owor
CQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNjU3ODhBQTYxOEI0MDlFQjAwQzE4OUZGIC8q
IFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAwODFFOUQwIC8qIEph
dmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlJTkZP
UExJU1RfRklMRSA9ICJEZXJpdmVkIFNvdXJjZXMgY29weS1JbmZvLnBsaXN0IjsKKwkJCQlQUk9E
VUNUX05BTUUgPSAiRGVyaXZlZCBTb3VyY2VzIGNvcHkiOworCQkJfTsKKwkJCW5hbWUgPSBQcm9k
dWN0aW9uOworCQl9OworCQk2NUZCM0Y3ODA5RDExRUJEMDBGNDlERUIgLyogRGVidWcgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAwODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29u
ZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiR2VuZXJh
dGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTY1
RkIzRjc5MDlEMTFFQkQwMEY0OURFQiAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQz
MEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyI7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTY1RkIzRjdBMDlEMTFFQkQw
MEY0OURFQiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQzMEJBOUU4QTcwMDgx
RTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJUFJPRFVDVF9OQU1FID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQl9Owor
CQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCUE3NjE0ODNEMEU2NDAyRjcwMEUzNTdGQSAv
KiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERl
YnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJU1RSSVBf
SU5TVEFMTEVEX1BST0RVQ1QgPSBOTzsKKwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9
OworCQlBNzYxNDgzRTBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RV
Q1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9OworCQlBNzYx
NDgzRjBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQz
MEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJQTc2MTQ4
NDAwRTY0MDJGNzAwRTM1N0ZBIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0MzBC
QTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMi
OworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCUE3NjE0ODQxMEU2NDAyRjcw
MEUzNTdGQSAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1
NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsK
KwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9OworCQlBNzYxNDg0MjBFNjQwMkY3MDBF
MzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2
NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJQTc2MTQ4NDMwRTY0MDJGNzAwRTM1
N0ZBIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQg
LyogSlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1l
ID0gUHJvZmlsaW5nOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24g
Ki8KKworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTBGNDY4MEFD
MTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3Jl
Z2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQkwRjQ2ODBBRDE0QkE3RkQ5
MDBCRkUyNzIgLyogRGVidWcgKi8sCisJCQkJMEY0NjgwQUUxNEJBN0ZEOTAwQkZFMjcyIC8qIFJl
bGVhc2UgKi8sCisJCQkJMEY0NjgwQUYxNEJBN0ZEOTAwQkZFMjcyIC8qIFByb2ZpbGluZyAqLywK
KwkJCQkwRjQ2ODBCMDE0QkE3RkQ5MDBCRkUyNzIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJ
CQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQkwRkNFRkFCNzE4MDVENjE2MDA0NzJDRTQg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxsdm1Gb3JK
U0MiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmln
dXJhdGlvbnMgPSAoCisJCQkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovLAor
CQkJCTBGQ0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovLAorCQkJCTBGQ0VGQUJB
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZDRUZBQkIxODA1RDYxNjAw
NDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsK
KwkJfTsKKwkJMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovID0g
eworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMg
PSAoCisJCQkJMEZGOTIyQ0IxNEY0NkIxMzAwNDFBMjRFIC8qIERlYnVnICovLAorCQkJCTBGRjky
MkNDMTRGNDZCMTMwMDQxQTI0RSAvKiBSZWxlYXNlICovLAorCQkJCTBGRjkyMkNEMTRGNDZCMTMw
MDQxQTI0RSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZGOTIyQ0UxNEY0NkIxMzAwNDFBMjRFIC8q
IFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUg
PSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJ
MTQxMjExMzkwQTQ4Nzk4NDAwNDgwMjU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJtaW5pZG9tIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlv
bkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTIxMTNBMEE0ODc5ODQw
MDQ4MDI1NSAvKiBEZWJ1ZyAqLywKKwkJCQkxNDEyMTEzQjBBNDg3OTg0MDA0ODAyNTUgLyogUmVs
ZWFzZSAqLywKKwkJCQlBNzYxNDg0MTBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovLAor
CQkJCTE0MTIxMTNDMEE0ODc5ODQwMDQ4MDI1NSAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJ
CWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0
aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTE0OUMyNzVEMDg5MDJBRkUwMDhBOUVGQyAv
KiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSmF2YVNjcmlw
dENvcmUiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3NUUwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICov
LAorCQkJCTE0OUMyNzVGMDg5MDJBRkUwMDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0
ODNGMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NjEwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMTQ5QzI3NjcwODkwMkFGRTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJqc2MiICovID0geworCQkJaXNhID0gWENDb25m
aWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3Njgw
ODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovLAorCQkJCTE0OUMyNzY5MDg5MDJBRkUwMDhBOUVG
QyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0ODQzMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxp
bmcgKi8sCisJCQkJMTQ5QzI3NkIwODkwMkFGRTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJ
CQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENv
bmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJMTQ5QzI3NkMwODkwMkFGRTAw
OEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0
ICJBbGwiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3NkQwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICov
LAorCQkJCTE0OUMyNzZFMDg5MDJBRkUwMDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0
ODNFMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NzAwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMTQ5QzI3NzEwODkwMkFGRTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYUHJvamVjdCAiSmF2YVNjcmlwdENvcmUiICovID0geworCQkJaXNhID0g
WENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5
QzI3NzIwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovLAorCQkJCTE0OUMyNzczMDg5MDJBRkUw
MDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0ODNEMEU2NDAyRjcwMEUzNTdGQSAvKiBQ
cm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NzUwODkwMkFGRTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24g
Ki8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVm
YXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJMTRCRDU5RDYwQTNF
OEZDOTAwQkFGNTlDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFy
Z2V0ICJ0ZXN0YXBpIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0QkQ1OUQ3MEEzRThGQzkwMEJBRjU5QyAvKiBE
ZWJ1ZyAqLywKKwkJCQkxNEJENTlEODBBM0U4RkM5MDBCQUY1OUMgLyogUmVsZWFzZSAqLywKKwkJ
CQlBNzYxNDg0MjBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovLAorCQkJCTE0QkQ1OUQ5
MEEzRThGQzkwMEJBRjU5QyAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFBy
b2R1Y3Rpb247CisJCX07CisJCTVENkIyQTRDMTUyQjlFMTcwMDUyMzFERSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiVGVzdCBUb29scyIgKi8gPSB7
CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9
ICgKKwkJCQk1RDZCMkE0ODE1MkI5RTE3MDA1MjMxREUgLyogRGVidWcgKi8sCisJCQkJNUQ2QjJB
NDkxNTJCOUUxNzAwNTIzMURFIC8qIFJlbGVhc2UgKi8sCisJCQkJNUQ2QjJBNEExNTJCOUUxNzAw
NTIzMURFIC8qIFByb2ZpbGluZyAqLywKKwkJCQk1RDZCMkE0QjE1MkI5RTE3MDA1MjMxREUgLyog
UHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9
IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQk2
NTExMjMwMDE0MDQ2QTRDMDAyQjEwMUQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3RSZWdFeHAiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0
aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNjUxMTIzMDExNDA0NkE0
QzAwMkIxMDFEIC8qIERlYnVnICovLAorCQkJCTY1MTEyMzAyMTQwNDZBNEMwMDJCMTAxRCAvKiBS
ZWxlYXNlICovLAorCQkJCTY1MTEyMzAzMTQwNDZBNEMwMDJCMTAxRCAvKiBQcm9maWxpbmcgKi8s
CisJCQkJNjUxMTIzMDQxNDA0NkE0QzAwMkIxMDFEIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOwor
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZG
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJPZmZs
aW5lIEFzc2VtYmxlciIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJ
YnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQk2NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyog
RGVidWcgKi8sCisJCQkJNjU3ODhBQTQxOEI0MDlFQjAwQzE4OUZGIC8qIFJlbGVhc2UgKi8sCisJ
CQkJNjU3ODhBQTUxOEI0MDlFQjAwQzE4OUZGIC8qIFByb2ZpbGluZyAqLywKKwkJCQk2NTc4OEFB
NjE4QjQwOUVCMDBDMTg5RkYgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQ
cm9kdWN0aW9uOworCQl9OworCQk2NUZCM0Y3NzA5RDExRUJEMDBGNDlERUIgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkRlcml2ZWQgU291cmNlcyIg
Ki8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKKwkJCQk2NUZCM0Y3ODA5RDExRUJEMDBGNDlERUIgLyogRGVidWcgKi8sCisJCQkJ
NjVGQjNGNzkwOUQxMUVCRDAwRjQ5REVCIC8qIFJlbGVhc2UgKi8sCisJCQkJQTc2MTQ4NDAwRTY0
MDJGNzAwRTM1N0ZBIC8qIFByb2ZpbGluZyAqLywKKwkJCQk2NUZCM0Y3QTA5RDExRUJEMDBGNDlE
RUIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlz
aWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9
OworLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVj
dCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lu
a2luZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTM2ZGNlYTc0Mjg4NWZhZjc1MjczMDJh
YTBmYmRmZjBiMDJiOTIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCkBAIC0wLDAgKzEsMjEzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCIK
KworI2lmIEVOQUJMRShERkdfSklUKQorCisjaW5jbHVkZSAiREZHQmxvY2tNYXBJbmxpbmVzLmgi
CisjaW5jbHVkZSAiREZHQ29tYmluZWRMaXZlbmVzcy5oIgorI2luY2x1ZGUgIkRGR0dyYXBoLmgi
CisjaW5jbHVkZSAiREZHSW5zZXJ0aW9uU2V0LmgiCisjaW5jbHVkZSAiREZHTGF6eU5vZGUuaCIK
KyNpbmNsdWRlICJERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCIKKyNpbmNsdWRlICJERkdPU1JB
dmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgiCisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNs
dWRlICJERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIgorI2luY2x1ZGUgIkRGR1NTQUNhbGN1bGF0
b3IuaCIKKyNpbmNsdWRlICJERkdWYWxpZGF0ZS5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
KworI2luY2x1ZGUgPGxpc3Q+CisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKwor
bmFtZXNwYWNlIHsKKworYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKKy8vIEluIG9yZGVyIHRvIHNp
bmsgb2JqZWN0IGN5Y2xlcywgd2UgdXNlIGEgcG9pbnRzLXRvIGFuYWx5c2lzIGNvdXBsZWQKKy8v
IHdpdGggYW4gZXNjYXBlIGFuYWx5c2lzLiBUaGlzIGFuYWx5c2lzIGlzIGFjdHVhbGx5IHNpbWls
YXIgdG8gYW4KKy8vIGFic3RyYWN0IGludGVycHJldGVyIGZvY3VzZWQgb24gbG9jYWwgYWxsb2Nh
dGlvbnMgYW5kIGlnbm9yaW5nCisvLyBldmVyeXRoaW5nIGVsc2UuCisvLworLy8gV2UgcmVwcmVz
ZW50IHRoZSBsb2NhbCBoZWFwIHVzaW5nIHR3byBtYXBwaW5nczoKKy8vCisvLyAtIEEgc2V0IG9m
IHRoZSBsb2NhbCBhbGxvY2F0aW9ucyBwcmVzZW50IGluIHRoZSBmdW5jdGlvbiwgd2hlcmUKKy8v
ICAgZWFjaCBvZiB0aG9zZSBoYXZlIGEgZnVydGhlciBtYXBwaW5nIGZyb20KKy8vICAgUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IgdG8gbG9jYWwgYWxsb2NhdGlvbnMgdGhleSBtdXN0IHBvaW50
CisvLyAgIHRvLgorLy8KKy8vIC0gQSAicG9pbnRlciIgbWFwcGluZyBmcm9tIG5vZGVzIHRvIGxv
Y2FsIGFsbG9jYXRpb25zLCBpZiB0aGV5IG11c3QKKy8vICAgYmUgZXF1YWwgdG8gc2FpZCBsb2Nh
bCBhbGxvY2F0aW9uIGFuZCBhcmUgY3VycmVudGx5IGxpdmUuIFRoaXMKKy8vICAgY2FuIGJlIGJl
Y2F1c2UgdGhlIG5vZGUgaXMgdGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUKKy8vICAg
YWxsb2NhdGlvbiwgb3IgYW55IG90aGVyIG5vZGUgdGhhdCBtdXN0IGN1cnJlbnRseSBwb2ludCB0
byBpdCAtCisvLyAgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlLgorLy8KKy8vIFRoZSBmb2xs
b3dpbmcgZ3JhcGggaXMgYSBtb3RpdmF0aW9uIGZvciB3aHkgd2Ugc2VwYXJhdGUgYWxsb2NhdGlv
bnMKKy8vIGZyb20gcG9pbnRlcnM6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qo
e30pCisvLyAgMTogTmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkK
Ky8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorLy8gIDI6IEdldEJ5T2Zmc2V0KEAwLCB4
KQorLy8gIC06IEp1bXAoIzEpCisvLworLy8gQmxvY2sgIzEKKy8vICAtOiBSZXR1cm4oQDIpCisv
LworLy8gSGVyZSwgd2UgbmVlZCB0byByZW1lbWJlciBpbiBibG9jayAjMSB0aGF0IEAyIHBvaW50
cyB0byBhIGxvY2FsCisvLyBhbGxvY2F0aW9uIHdpdGggYXBwcm9wcmlhdGUgZmllbGRzIGFuZCBz
dHJ1Y3R1cmVzIGluZm9ybWF0aW9uCisvLyAoYmVjYXVzZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBw
bGFjZSBhIG1hdGVyaWFsaXphdGlvbiBvbiB0b3Agb2YKKy8vIGJsb2NrICMxIGhlcmUpLCBldmVu
IHRob3VnaCBAMSBpcyBkZWFkLiBXZSAqY291bGQqIGp1c3Qga2VlcCBAMQorLy8gYXJ0aWZpY2lh
bGx5IGFsaXZlIGhlcmUsIGJ1dCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiB0byBkbyBpdDoKKy8v
IGFmdGVyIGFsbCwgYnkgdGhlIGVuZCBvZiBibG9jayAjMCwgQDEgYW5kIEAyIHNob3VsZCBiZSBj
b21wbGV0ZWx5CisvLyBpbnRlcmNoYW5nZWFibGUsIGFuZCB0aGVyZSBpcyBubyByZWFzb24gZm9y
IHVzIHRvIGFydGlmaWNpYWxseSBtYWtlCisvLyBAMSBtb3JlIGltcG9ydGFudC4KKy8vCisvLyBB
biBpbXBvcnRhbnQgcG9pbnQgdG8gY29uc2lkZXIgdG8gdW5kZXJzdGFuZCB0aGlzIHNlcGFyYXRp
b24gaXMKKy8vIHRoYXQgd2Ugc2hvdWxkIHRoaW5rIG9mIHRoZSBsb2NhbCBoZWFwIGFzIGZvbGxv
dzogd2UgaGF2ZSBhCisvLyBidW5jaCBvZiBub2RlcyB0aGF0IGFyZSBwb2ludGVycyB0byAiYWxs
b2NhdGlvbnMiIHRoYXQgbGl2ZQorLy8gc29tZXBsYWNlIG9uIHRoZSBoZWFwLCBhbmQgdGhvc2Ug
YWxsb2NhdGlvbnMgY2FuIGhhdmUgcG9pbnRlcnMgaW4KKy8vIGJldHdlZW4gdGhlbXNlbHZlcyBh
cyB3ZWxsLiBXZSBzaG91bGRuJ3QgY2FyZSBhYm91dCB3aGF0ZXZlcgorLy8gbmFtZXMgd2UgZ2l2
ZSB0byB0aGUgYWxsb2NhdGlvbnMgOyB3aGF0IG1hdHRlcnMgd2hlbgorLy8gY29tcGFyaW5nL21l
cmdpbmcgdHdvIGhlYXBzIGlzIHRoZSBpc29tb3JwaGlzbS9jb21wYXJpc29uIGJldHdlZW4KKy8v
IHRoZSBhbGxvY2F0aW9uIGdyYXBocyBhcyBzZWVuIGJ5IHRoZSBub2Rlcy4KKy8vCisvLyBGb3Ig
aW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisvLworLy8gQmxvY2sgIzAKKy8vICAw
OiBOZXdPYmplY3Qoe30pCisvLyAgLTogQnJhbmNoKCMxLCAjMikKKy8vCisvLyBCbG9jayAjMQor
Ly8gIDE6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDEsIHgpCisvLyAg
LTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8vIEJsb2Nr
ICMyCisvLyAgMjogTmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAyLCB1bmRlZmlu
ZWQsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAyLCB7eDowfSkKKy8vICAtOiBQdXRCeU9mZnNl
dChAMCwgQDIsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1w
KCMzKQorLy8KKy8vIEJsb2NrICMzCisvLyAgLTogUmV0dXJuKEAwKQorLy8KKy8vIHdlIHNob3Vs
ZCB0aGluayBvZiB0aGUgaGVhcHMgYXQgdGFpbCBvZiBibG9ja3MgIzEgYW5kICMyIGFzIGJlaW5n
CisvLyBleGFjdGx5IHRoZSBzYW1lLCBldmVuIHRob3VnaCBvbmUgaGFzIEAwLnggcG9pbnRpbmcg
dG8gQDEgYW5kIHRoZQorLy8gb3RoZXIgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDIsIGJlY2F1c2Ug
aW4gZXNzZW5jZSB0aGlzIHNob3VsZCBub3QKKy8vIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBncmFw
aCB3aGVyZSB3ZSBob2lzdGVkIEAxIGFuZCBAMiBpbnRvIGEKKy8vIHNpbmdsZSBhbGxvY2F0aW9u
IGluIGJsb2NrICMwLiBXZSBjdXJyZW50bHkgd2lsbCBub3QgaGFuZGxlIHRoaXMKKy8vIGNhc2Us
IGJlY2F1c2Ugd2UgbWVyZ2UgYWxsb2NhdGlvbnMgYmFzZWQgb24gdGhlIG5vZGUgdGhleSBhcmUK
Ky8vIGNvbWluZyBmcm9tLCBidXQgdGhpcyBpcyBvbmx5IGEgdGVjaG5pY2FsaXR5IGZvciB0aGUg
c2FrZSBvZgorLy8gc2ltcGxpY2l0eSB0aGF0IHNob3VsZG4ndCBoaWRlIHRoZSBkZWVwZXIgaWRl
YSBvdXRsaW5lZCBoZXJlLgorCitjbGFzcyBBbGxvY2F0aW9uIHsKK3B1YmxpYzoKKyAgICAvLyBX
ZSB1c2UgRXNjYXBlZCBhcyBhIHNwZWNpYWwgYWxsb2NhdGlvbiBraW5kIGJlY2F1c2Ugd2hlbiB3
ZQorICAgIC8vIGRlY2lkZSB0byBzaW5rIGFuIGFsbG9jYXRpb24sIHdlIHN0aWxsIG5lZWQgdG8g
a2VlcCB0cmFjayBvZiBpdAorICAgIC8vIG9uY2UgaXQgaXMgZXNjYXBlZCBpZiBpdCBzdGlsbCBo
YXMgcG9pbnRlcnMgdG8gaXQgaW4gb3JkZXIgdG8KKyAgICAvLyByZXBsYWNlIGFueSB1c2Ugb2Yg
dGhvc2UgcG9pbnRlcnMgYnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAvLyBtYXRlcmlhbGl6YXRp
b24KKyAgICBlbnVtIGNsYXNzIEtpbmQgeyBFc2NhcGVkLCBPYmplY3QsIEFjdGl2YXRpb24sIEZ1
bmN0aW9uIH07CisKKyAgICBleHBsaWNpdCBBbGxvY2F0aW9uKE5vZGUqIGlkZW50aWZpZXIgPSBu
dWxscHRyLCBLaW5kIGtpbmQgPSBLaW5kOjpFc2NhcGVkKQorICAgICAgICA6IG1faWRlbnRpZmll
cihpZGVudGlmaWVyKQorICAgICAgICAsIG1fa2luZChraW5kKQorICAgIHsKKyAgICB9CisKKwor
ICAgIGNvbnN0IEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiYgZmll
bGRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZpZWxkczsKKyAgICB9CisKKyAg
ICBOb2RlKiBnZXQoUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7
CisgICAgICAgIHJldHVybiBtX2ZpZWxkcy5nZXQoZGVzY3JpcHRvcik7CisgICAgfQorCisgICAg
QWxsb2NhdGlvbiYgc2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IsIE5v
ZGUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gUG9pbnRpbmcgdG8gYW55dGhpbmcgZWxzZSB0
aGFuIGFuIHVuZXNjYXBlZCBsb2NhbAorICAgICAgICAvLyBhbGxvY2F0aW9uIGlzIHJlcHJlc2Vu
dGVkIGJ5IHNpbXBseSBub3QgaGF2aW5nIHRoZQorICAgICAgICAvLyBmaWVsZAorICAgICAgICBp
ZiAodmFsdWUpCisgICAgICAgICAgICBtX2ZpZWxkcy5zZXQoZGVzY3JpcHRvciwgdmFsdWUpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ZpZWxkcy5yZW1vdmUoZGVzY3JpcHRvcik7Cisg
ICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgc2V0KGRlc2NyaXB0
b3IsIG51bGxwdHIpOworICAgIH0KKworICAgIGJvb2wgaGFzU3RydWN0dXJlcygpIGNvbnN0Cisg
ICAgeworICAgICAgICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIEtpbmQ6Ok9iamVj
dDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBz
ZXRTdHJ1Y3R1cmVzKGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7CisgICAg
ICAgIEFTU0VSVChoYXNTdHJ1Y3R1cmVzKCkgJiYgIXN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAg
ICAgICAgbV9zdHJ1Y3R1cmVzID0gc3RydWN0dXJlczsKKyAgICAgICAgcmV0dXJuICp0aGlzOwor
ICAgIH0KKworICAgIEFsbG9jYXRpb24mIG1lcmdlU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVT
ZXQmIHN0cnVjdHVyZXMpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpIHx8
IHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLm1lcmdlKHN0cnVj
dHVyZXMpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYg
ZmlsdGVyU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAgewor
ICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLmZp
bHRlcihzdHJ1Y3R1cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIGNv
bnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9zdHJ1Y3R1cmVzOworICAgIH0KKworICAgIE5vZGUqIGlkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJu
IG1fa2luZDsgfQorCisgICAgYm9vbCBpc0VzY2FwZWRBbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBraW5kKCkgPT0gS2luZDo6RXNjYXBlZDsKKyAgICB9CisKKyAgICBi
b29sIGlzT2JqZWN0QWxsb2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9r
aW5kID09IEtpbmQ6Ok9iamVjdDsKKyAgICB9CisKKyAgICBib29sIGlzQWN0aXZhdGlvbkFsbG9j
YXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpBY3Rp
dmF0aW9uOworICAgIH0KKworICAgIGJvb2wgaXNGdW5jdGlvbkFsbG9jYXRpb24oKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpGdW5jdGlvbjsKKyAgICB9CisK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllcgorICAg
ICAgICAgICAgJiYgbV9raW5kID09IG90aGVyLm1fa2luZAorICAgICAgICAgICAgJiYgbV9maWVs
ZHMgPT0gb3RoZXIubV9maWVsZHMKKyAgICAgICAgICAgICYmIG1fc3RydWN0dXJlcyA9PSBvdGhl
ci5tX3N0cnVjdHVyZXM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFsbG9j
YXRpb24mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3Ro
ZXIpOworICAgIH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAg
IHsKKyAgICAgICAgZHVtcEluQ29udGV4dChvdXQsIG51bGxwdHIpOworICAgIH0KKworICAgIHZv
aWQgZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9raW5kKSB7CisgICAgICAgIGNhc2UgS2lu
ZDo6RXNjYXBlZDoKKyAgICAgICAgICAgIG91dC5wcmludCgiRXNjYXBlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5kOjpPYmplY3Q6CisgICAgICAgICAgICBvdXQu
cHJpbnQoIk9iamVjdCIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5k
OjpGdW5jdGlvbjoKKyAgICAgICAgICAgIG91dC5wcmludCgiRnVuY3Rpb24iKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgS2luZDo6QWN0aXZhdGlvbjoKKyAgICAgICAgICAg
IG91dC5wcmludCgiQWN0aXZhdGlvbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgb3V0LnByaW50KCJBbGxvY2F0aW9uKCIpOworICAgICAgICBpZiAoIW1fc3RydWN0
dXJlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICBvdXQucHJpbnQoaW5Db250ZXh0KG1fc3RydWN0
dXJlcywgY29udGV4dCkpOworICAgICAgICBpZiAoIW1fZmllbGRzLmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgaWYgKCFtX3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91
dC5wcmludCgiLCAiKTsKKyAgICAgICAgICAgIG91dC5wcmludChtYXBEdW1wKG1fZmllbGRzLCAi
ID0+ICMiLCAiLCAiKSk7CisgICAgICAgIH0KKyAgICAgICAgb3V0LnByaW50KCIpIik7CisgICAg
fQorCitwcml2YXRlOgorICAgIE5vZGUqIG1faWRlbnRpZmllcjsgLy8gVGhpcyBpcyB0aGUgYWN0
dWFsIG5vZGUgdGhhdCBjcmVhdGVkIHRoZSBhbGxvY2F0aW9uCisgICAgS2luZCBtX2tpbmQ7Cisg
ICAgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IG1fZmllbGRzOwor
ICAgIFN0cnVjdHVyZVNldCBtX3N0cnVjdHVyZXM7Cit9OworCitjbGFzcyBMb2NhbEhlYXAgewor
cHVibGljOgorICAgIEFsbG9jYXRpb24mIG5ld0FsbG9jYXRpb24oTm9kZSogbm9kZSwgQWxsb2Nh
dGlvbjo6S2luZCBraW5kKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3BvaW50ZXJzLmNvbnRh
aW5zKG5vZGUpICYmICFpc0FsbG9jYXRpb24obm9kZSkpOworICAgICAgICBtX3BvaW50ZXJzLmFk
ZChub2RlLCBub2RlKTsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvbnMuc2V0KG5vZGUsIEFs
bG9jYXRpb24obm9kZSwga2luZCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBib29s
IGlzQWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fYWxsb2NhdGlvbnMuY29udGFpbnMoaWRlbnRpZmllcik7CisgICAgfQorCisgICAgLy8g
Tm90ZSB0aGF0IHRoaXMgaXMgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQgZnJvbQorICAgIC8vIG9u
bHlMb2NhbEFsbG9jYXRpb24oKSBiZWxvdy4gZ2V0QWxsb2NhdGlvbigpIHRha2VzIGFzIGFyZ3Vt
ZW50CisgICAgLy8gYSBub2RlLWFzLWlkZW50aWZpZXIsIHRoYXQgaXMsIGFuIGFsbG9jYXRpb24g
bm9kZS4gVGhpcworICAgIC8vIGFsbG9jYXRpb24gbm9kZSBkb2Vzbid0IGhhdmUgdG8gYmUgYWxp
dmU7IGl0IG1heSBvbmx5IGJlCisgICAgLy8gcG9pbnRlZCB0byBieSBvdGhlciBub2RlcyBvciBh
bGxvY2F0aW9uIGZpZWxkcy4KKyAgICAvLyBGb3IgaW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcg
Z3JhcGg6CisgICAgLy8KKyAgICAvLyBCbG9jayAjMAorICAgIC8vICAwOiBOZXdPYmplY3Qoe30p
CisgICAgLy8gIDE6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAx
LCB4KQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorICAgIC8vICAyOiBHZXRC
eU9mZnNldChAMCwgeCkKKyAgICAvLyAgLTogSnVtcCgjMSkKKyAgICAvLworICAgIC8vIEJsb2Nr
ICMxCisgICAgLy8gIC06IFJldHVybihAMikKKyAgICAvLworICAgIC8vIEF0IGhlYWQgb2YgYmxv
Y2sgIzEsIHRoZSBvbmx5IHJlYWNoYWJsZSBhbGxvY2F0aW9uIGlzICNAMSwKKyAgICAvLyB3aGlj
aCBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIG5vZGUgQDIuIFRodXMsIGdldEFsbG9jYXRpb24oI0Ax
KQorICAgIC8vIGNvbnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBtZXRhZGF0YSBmb3IgdGhpcyBhbGxv
Y2F0aW9uLCBidXQKKyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKEAxKSBpcyBudWxsLCBhcyBA
MSBpcyBubyBsb25nZXIgYSBwb2ludGVyCisgICAgLy8gdG8gI0AxIChzaW5jZSBpdCBpcyBkZWFk
KS4gQ29udmVyc2VseSwgb25seUxvY2FsQWxsb2NhdGlvbihAMikKKyAgICAvLyBpcyB0aGUgc2Ft
ZSBhcyBnZXRBbGxvY2F0aW9uKCNAMSksIHdoaWxlIGdldEFsbG9jYXRpb24oI0AyKQorICAgIC8v
IGRvZXMgbm90IG1ha2Ugc2Vuc2Ugc2luY2UgQDIgaXMgbm90IGFuIGFsbG9jYXRpb24gbm9kZS4K
KyAgICAvLworICAgIC8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCB3aGVuIHRoZSBub2RlIGlz
IGFscmVhZHkga25vd24gdG8gYmUKKyAgICAvLyBhbiBpZGVudGlmaWVyIChpLmUuIGFuIGFsbG9j
YXRpb24pIC0gcHJvYmFibHkgYmVjYXVzZSBpdCB3YXMKKyAgICAvLyBmb3VuZCBhcyB2YWx1ZSBv
ZiBhIGZpZWxkIG9yIHBvaW50ZXIgaW4gdGhlIGN1cnJlbnQgaGVhcCwgb3IKKyAgICAvLyB3YXMg
dGhlIHJlc3VsdCBvZiBhIGNhbGwgdG8gZm9sbG93KCkuIEluIGFueSBvdGhlciBjYXNlcyAoc3Vj
aAorICAgIC8vIGFzIHdoZW4gZG9pbmcgYW55dGhpbmcgd2hpbGUgdHJhdmVyc2luZyB0aGUgZ3Jh
cGgpLCB0aGUKKyAgICAvLyBhcHByb3ByaWF0ZSBmdW5jdGlvbiB0byBjYWxsIGlzIHByb2JhYmx5
IG9ubHlMb2NhbEFsbG9jYXRpb24uCisgICAgQWxsb2NhdGlvbiYgZ2V0QWxsb2NhdGlvbihOb2Rl
KiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5m
aW5kKGlkZW50aWZpZXIpOworICAgICAgICBBU1NFUlQoaXRlciAhPSBtX2FsbG9jYXRpb25zLmVu
ZCgpKTsKKyAgICAgICAgcmV0dXJuIGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIHZvaWQgbmV3
UG9pbnRlcihOb2RlKiBub2RlLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKCFtX2FsbG9jYXRpb25zLmNvbnRhaW5zKG5vZGUpICYmICFtX3BvaW50ZXJzLmNvbnRhaW5z
KG5vZGUpKTsKKyAgICAgICAgQVNTRVJUKGlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSk7CisgICAg
ICAgIG1fcG9pbnRlcnMuYWRkKG5vZGUsIGlkZW50aWZpZXIpOworICAgIH0KKworICAgIC8vIGZv
bGxvdyBzb2x2ZXMgdGhlIHBvaW50cy10byBwcm9ibGVtLiBHaXZlbiBhIGxpdmUgbm9kZSwgd2hp
Y2gKKyAgICAvLyBtYXkgYmUgZWl0aGVyIGFuIGFsbG9jYXRpb24gaXRzZWxmIG9yIGEgaGVhcCBy
ZWFkIChlLmcuIGEKKyAgICAvLyBHZXRCeU9mZnNldCBub2RlKSwgaXQgcmV0dXJucyB0aGUgY29y
cmVzcG9uZGluZyBhbGxvY2F0aW9uCisgICAgLy8gbm9kZSwgaWYgdGhlcmUgaXMgb25lLiBJZiB0
aGUgYXJndW1lbnQgbm9kZSBpcyBuZWl0aGVyIGFuCisgICAgLy8gYWxsb2NhdGlvbiBvciBhIGhl
YXAgcmVhZCwgb3IgbWF5IHBvaW50IHRvIGRpZmZlcmVudCBub2RlcywKKyAgICAvLyBudWxscHRy
IHdpbGwgYmUgcmV0dXJuZWQuIE5vdGUgdGhhdCBhIG5vZGUgdGhhdCBwb2ludHMgdG8KKyAgICAv
LyBkaWZmZXJlbnQgbm9kZXMgY2FuIG5ldmVyIHBvaW50IHRvIGFuIHVuZXNjYXBlZCBsb2NhbAor
ICAgIC8vIGFsbG9jYXRpb24uCisgICAgTm9kZSogZm9sbG93KE5vZGUqIG5vZGUpIGNvbnN0Cisg
ICAgeworICAgICAgICBhdXRvIGl0ZXIgPSBtX3BvaW50ZXJzLmZpbmQobm9kZSk7CisgICAgICAg
IEFTU0VSVChpdGVyID09IG1fcG9pbnRlcnMuZW5kKCkgfHwgbV9hbGxvY2F0aW9ucy5jb250YWlu
cyhpdGVyLT52YWx1ZSkpOworICAgICAgICByZXR1cm4gaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgp
ID8gbnVsbHB0ciA6IGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIE5vZGUqIGZvbGxvdyhQcm9t
b3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgY29uc3QKKyAgICB7CisgICAgICAgIGNvbnN0IEFs
bG9jYXRpb24mIGJhc2UgPSBtX2FsbG9jYXRpb25zLmZpbmQobG9jYXRpb24uYmFzZSgpKS0+dmFs
dWU7CisgICAgICAgIGF1dG8gaXRlciA9IGJhc2UuZmllbGRzKCkuZmluZChsb2NhdGlvbi5kZXNj
cmlwdG9yKCkpOworCisgICAgICAgIGlmIChpdGVyID09IGJhc2UuZmllbGRzKCkuZW5kKCkpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7
CisgICAgfQorCisgICAgLy8gb25seUxvY2FsQWxsb2NhdGlvbiBmaW5kIHRoZSBjb3JyZXNwb25k
aW5nIGFsbG9jYXRpb24gbWV0YWRhdGEKKyAgICAvLyBmb3IgYW55IGxpdmUgbm9kZS4gb25seUxv
Y2FsQWxsb2NhdGlvbihub2RlKSBpcyBlc3NlbnRpYWxseQorICAgIC8vIGdldEFsbG9jYXRpb24o
Zm9sbG93KG5vZGUpKSwgd2l0aCBhcHByb3ByaWF0ZSBudWxsIGhhbmRsaW5nLgorICAgIEFsbG9j
YXRpb24qIG9ubHlMb2NhbEFsbG9jYXRpb24oTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIE5v
ZGUqIGlkZW50aWZpZXIgPSBmb2xsb3cobm9kZSk7CisgICAgICAgIGlmICghaWRlbnRpZmllcikK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2Nh
dGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxv
Y2F0aW9uKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgTm9k
ZSogaWRlbnRpZmllciA9IGZvbGxvdyhsb2NhdGlvbik7CisgICAgICAgIGlmICghaWRlbnRpZmll
cikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxs
b2NhdGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICAvLyBUaGlzIGFsbG93cyB1cyB0byBz
dG9yZSB0aGUgZXNjYXBlZXMgb25seSB3aGVuIG5lY2Vzc2FyeS4gSWYKKyAgICAvLyBzZXQsIHRo
ZSBjdXJyZW50IGVzY2FwZWVzIGNhbiBiZSByZXRyaWV2ZWQgYXQgYW55IHRpbWUgdXNpbmcKKyAg
ICAvLyB0YWtlRXNjYXBlZXMoKSwgd2hpY2ggd2lsbCBjbGVhciB0aGUgY2FjaGVkIHNldCBvZiBl
c2NhcGVlczsKKyAgICAvLyBvdGhlcndpc2UgdGhlIGhlYXAgd29uJ3QgcmVtZW1iZXIgZXNjYXBp
bmcgYWxsb2NhdGlvbnMuCisgICAgdm9pZCBzZXRXYW50RXNjYXBlZXMoKQorICAgIHsKKyAgICAg
ICAgbV93YW50RXNjYXBlZXMgPSB0cnVlOworICAgIH0KKworICAgIEhhc2hNYXA8Tm9kZSosIEFs
bG9jYXRpb24+IHRha2VFc2NhcGVlcygpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjptb3Zl
KG1fZXNjYXBlZXMpOworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKE5vZGUqIG5vZGUpCisgICAg
eworICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAo
IWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXNjYXBlQWxsb2Nh
dGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IExvY2FsSGVh
cCYgb3RoZXIpCisgICAgeworICAgICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgICAgIG90aGVy
LmFzc2VydElzVmFsaWQoKTsKKyAgICAgICAgQVNTRVJUKCFtX3dhbnRFc2NhcGVlcyk7CisKKyAg
ICAgICAgaWYgKCFyZWFjaGVkKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChvdGhlci5yZWFjaGVk
KCkpOworICAgICAgICAgICAgKnRoaXMgPSBvdGhlcjsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvRXNjYXBlOworCisgICAgICAgIGZv
ciAoYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogb3RoZXIubV9hbGxvY2F0aW9ucykKKyAgICAgICAg
ICAgIG1fYWxsb2NhdGlvbnMuYWRkKGFsbG9jYXRpb25FbnRyeS5rZXksIGFsbG9jYXRpb25FbnRy
eS52YWx1ZSk7CisgICAgICAgIGZvciAoYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogbV9hbGxvY2F0
aW9ucykgeworICAgICAgICAgICAgYXV0byBhbGxvY2F0aW9uSXRlciA9IG90aGVyLm1fYWxsb2Nh
dGlvbnMuZmluZChhbGxvY2F0aW9uRW50cnkua2V5KTsKKworICAgICAgICAgICAgLy8gSWYgd2Ug
aGF2ZSBpdCBhbmQgdGhleSBkb24ndCwgaXQgZGllZCBmb3IgdGhlbSBidXQgd2UKKyAgICAgICAg
ICAgIC8vIGFyZSBrZWVwaW5nIGl0IGFsaXZlIGZyb20gYW5vdGhlciBmaWVsZCBzb21ld2hlcmUu
CisgICAgICAgICAgICAvLyBUaGVyZSBpcyBub3RoaW5nIHRvIGRvIC0gd2Ugd2lsbCBiZSBlc2Nh
cGVkCisgICAgICAgICAgICAvLyBhdXRvbWF0aWNhbGx5IHdoZW4gd2UgaGFuZGxlIHRoYXQgb3Ro
ZXIgZmllbGQuCisgICAgICAgICAgICAvLyBUaGlzIHdpbGwgYWxzbyBoYXBwZW4gZm9yIGFsbG9j
YXRpb24gdGhhdCB3ZSBoYXZlIGFuZAorICAgICAgICAgICAgLy8gdGhleSBkb24ndCwgYW5kIGFs
bCBvZiB0aG9zZSB3aWxsIGdldCBwcnVuZWQuCisgICAgICAgICAgICBpZiAoYWxsb2NhdGlvbkl0
ZXIgPT0gb3RoZXIubV9hbGxvY2F0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgaWYgKGFsbG9jYXRpb25FbnRyeS52YWx1ZS5raW5kKCkgIT0gYWxs
b2NhdGlvbkl0ZXItPnZhbHVlLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIHRvRXNjYXBlLmFk
ZChhbGxvY2F0aW9uRW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8m
IGZpZWxkRW50cnkgOiBhbGxvY2F0aW9uSXRlci0+dmFsdWUuZmllbGRzKCkpCisgICAgICAgICAg
ICAgICAgICAgIHRvRXNjYXBlLmFkZChmaWVsZEVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgbWVyZ2VQb2ludGVyU2V0cygKKyAgICAgICAgICAgICAg
ICAgICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLmZpZWxkcygpLCBhbGxvY2F0aW9uSXRlci0+dmFs
dWUuZmllbGRzKCksCisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikg
eworICAgICAgICAgICAgICAgICAgICAgICAgdG9Fc2NhcGUuYWRkKGlkZW50aWZpZXIpOworICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yIGZpZWxkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0
aW9uRW50cnkudmFsdWUucmVtb3ZlKGZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLm1lcmdlU3RydWN0dXJlcyhhbGxv
Y2F0aW9uSXRlci0+dmFsdWUuc3RydWN0dXJlcygpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIG1lcmdlUG9pbnRlclNldHMobV9wb2ludGVycywgb3RoZXIubV9wb2ludGVy
cywKKyAgICAgICAgICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAgICAgICAg
IHRvRXNjYXBlLmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBb
Jl0gKE5vZGUqIGZpZWxkKSB7CisgICAgICAgICAgICAgICAgbV9wb2ludGVycy5yZW1vdmUoZmll
bGQpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDog
dG9Fc2NhcGUpCisgICAgICAgICAgICBlc2NhcGVBbGxvY2F0aW9uKGlkZW50aWZpZXIpOworCisg
ICAgICAgIGlmICghQVNTRVJUX0RJU0FCTEVEKSB7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIGVudHJ5IDogbV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VE
KGVudHJ5LCBlbnRyeS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkgfHwgb3RoZXIubV9hbGxv
Y2F0aW9ucy5jb250YWlucyhlbnRyeS5rZXkpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElm
IHRoZXJlIGlzIG5vIHJlbWFpbmluZyBwb2ludGVyIHRvIGFuIGFsbG9jYXRpb24sIHdlIGNhbgor
ICAgICAgICAvLyByZW1vdmUgaXQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGZvciBlc2NhcGVk
IGFsbG9jYXRpb25zLAorICAgICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgbWVyZ2UgbGl2ZW5lc3Mt
cHJ1bmVkIGhlYXBzIGluIHRoZSBmaXJzdAorICAgICAgICAvLyBwbGFjZS4KKyAgICAgICAgcHJ1
bmUoKTsKKworICAgICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgfQorCisgICAgdm9pZCBwcnVu
ZUJ5TGl2ZW5lc3MoY29uc3QgSGFzaFNldDxOb2RlKj4mIGxpdmUpCisgICAgeworICAgICAgICBW
ZWN0b3I8Tm9kZSo+IHRvUmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDog
bV9wb2ludGVycykgeworICAgICAgICAgICAgaWYgKCFsaXZlLmNvbnRhaW5zKGVudHJ5LmtleSkp
CisgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgIH0K
KyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogdG9SZW1vdmUpCisgICAgICAgICAgICBtX3BvaW50
ZXJzLnJlbW92ZShub2RlKTsKKyAgICAgICAgCisgICAgICAgIHBydW5lKCk7CisgICAgfQorCisg
ICAgdm9pZCBhc3NlcnRJc1ZhbGlkKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChBU1NFUlRf
RElTQUJMRUQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gUG9pbnRlcnMgc2hv
dWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0aW9uCisgICAgICAgIGZvciAoY29uc3QgYXV0
byYgZW50cnkgOiBtX3BvaW50ZXJzKSB7CisgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGVudHJ5
LCBlbnRyeS52YWx1ZSk7CisgICAgICAgICAgICBBU1NFUlQobV9hbGxvY2F0aW9ucy5jb250YWlu
cyhlbnRyeS52YWx1ZSkpOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBh
bGxvY2F0aW9uRW50cnkgOiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAvLyBGaWVsZHMg
c2hvdWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0aW9uCisgICAgICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGZpZWxkRW50cnkgOiBhbGxvY2F0aW9uRW50cnkudmFsdWUuZmllbGRzKCkpIHsK
KyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGZpZWxkRW50cnksIGZpZWxkRW50cnkudmFs
dWUpOworICAgICAgICAgICAgICAgIEFTU0VSVChtX2FsbG9jYXRpb25zLmNvbnRhaW5zKGZpZWxk
RW50cnkudmFsdWUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBMb2NhbEhlYXAmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAg
ICAgYXNzZXJ0SXNWYWxpZCgpOworICAgICAgICBvdGhlci5hc3NlcnRJc1ZhbGlkKCk7CisgICAg
ICAgIHJldHVybiBtX2FsbG9jYXRpb25zID09IG90aGVyLm1fYWxsb2NhdGlvbnMKKyAgICAgICAg
ICAgICYmIG1fcG9pbnRlcnMgPT0gb3RoZXIubV9wb2ludGVyczsKKyAgICB9CisKKyAgICBib29s
IG9wZXJhdG9yIT0oY29uc3QgTG9jYWxIZWFwJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKKyAgICBjb25zdCBIYXNoTWFwPE5v
ZGUqLCBBbGxvY2F0aW9uPiBhbGxvY2F0aW9ucygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9hbGxvY2F0aW9uczsKKyAgICB9CisKKyAgICBjb25zdCBIYXNoTWFwPE5vZGUqLCBOb2Rl
Kj4gcG9pbnRlcnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcG9pbnRlcnM7Cisg
ICAgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgeworICAg
ICAgICBvdXQucHJpbnQoIiAgQWxsb2NhdGlvbnM6XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBh
dXRvJiBlbnRyeSA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICBvdXQucHJpbnQoIiAgICAj
IiwgZW50cnkua2V5LCAiOiAiLCBlbnRyeS52YWx1ZSwgIlxuIik7CisgICAgICAgIG91dC5wcmlu
dCgiICBQb2ludGVyczpcbiIpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9w
b2ludGVycykKKyAgICAgICAgICAgIG91dC5wcmludCgiICAgICIsIGVudHJ5LmtleSwgIiA9PiAj
IiwgZW50cnkudmFsdWUsICJcbiIpOworICAgIH0KKworICAgIGJvb2wgcmVhY2hlZCgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9yZWFjaGVkOworICAgIH0KKworICAgIHZvaWQgc2V0
UmVhY2hlZCgpCisgICAgeworICAgICAgICBtX3JlYWNoZWQgPSB0cnVlOworICAgIH0KKworcHJp
dmF0ZToKKyAgICAvLyBXaGVuIHdlIG1lcmdlIHR3byBoZWFwcywgd2UgZXNjYXBlIGFsbCBmaWVs
ZHMgb2YgYWxsb2NhdGlvbnMsCisgICAgLy8gdW5sZXNzIHRoZXkgcG9pbnQgdG8gdGhlIHNhbWUg
dGhpbmcgaW4gYm90aCBoZWFwcy4KKyAgICAvLyBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQg
aXQgYWxsb3dzIHVzIG5vdCB0byBkbyBleHRyYSB3b3JrCisgICAgLy8gZm9yIGRpYW1vbmQgZ3Jh
cGhzIHdoZXJlIHdlIHdvdWxkIG90aGVyd2lzZSBoYXZlIHRvIGNoZWNrCisgICAgLy8gd2hldGhl
ciB3ZSBoYXZlIGEgc2luZ2xlIGRlZmluaXRpb24gb3Igbm90LCB3aGljaCB3b3VsZCBiZQorICAg
IC8vIGN1bWJlcnNvbWUuCisgICAgLy8KKyAgICAvLyBOb3RlIHRoYXQgd2Ugc2hvdWxkIHRyeSB0
byB1bmlmeSBub2RlcyBldmVuIHdoZW4gdGhleSBhcmUgbm90CisgICAgLy8gZnJvbSB0aGUgc2Ft
ZSBhbGxvY2F0aW9uOyBmb3IgaW5zdGFuY2Ugd2Ugc2hvdWxkIGJlIGFibGUgdG8KKyAgICAvLyBj
b21wbGV0ZWx5IGVsaW1pbmF0ZSBhbGwgYWxsb2NhdGlvbnMgZnJvbSB0aGUgZm9sbG93aW5nIGdy
YXBoOgorICAgIC8vCisgICAgLy8gQmxvY2sgIzAKKyAgICAvLyAgMDogTmV3T2JqZWN0KHt9KQor
ICAgIC8vICAtOiBCcmFuY2goIzEsICMyKQorICAgIC8vCisgICAgLy8gQmxvY2sgIzEKKyAgICAv
LyAgMTogTmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMSwgImxlZnQiLCB2
YWwpCisgICAgLy8gIC06IFB1dFN0cnVjdHVyZShAMSwge3ZhbDowfSkKKyAgICAvLyAgLTogUHV0
QnlPZmZzZXQoQDAsIEAxLCB4KQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQor
ICAgIC8vICAtOiBKdW1wKCMzKQorICAgIC8vCisgICAgLy8gQmxvY2sgIzIKKyAgICAvLyAgMjog
TmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMiwgInJpZ2h0IiwgdmFsKQor
ICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDIsIHt2YWw6MH0pCisgICAgLy8gIC06IFB1dEJ5T2Zm
c2V0KEAwLCBAMiwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAv
LyAgLTogSnVtcCgjMykKKyAgICAvLworICAgIC8vIEJsb2NrICMzOgorICAgIC8vICAzOiBHZXRC
eU9mZnNldChAMCwgeCkKKyAgICAvLyAgNDogR2V0QnlPZmZzZXQoQDMsIHZhbCkKKyAgICAvLyAg
LTogUmV0dXJuKEA0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgRXNjYXBl
RnVuY3RvciwgdHlwZW5hbWUgUmVtb3ZlRnVuY3Rvcj4KKyAgICB2b2lkIG1lcmdlUG9pbnRlclNl
dHMoCisgICAgICAgIGNvbnN0IEhhc2hNYXA8S2V5LCBOb2RlKj4mIG15LCBjb25zdCBIYXNoTWFw
PEtleSwgTm9kZSo+JiB0aGVpciwKKyAgICAgICAgY29uc3QgRXNjYXBlRnVuY3RvciYgZXNjYXBl
LCBjb25zdCBSZW1vdmVGdW5jdG9yJiByZW1vdmUpCisgICAgeworICAgICAgICBWZWN0b3I8S2V5
PiB0b1JlbW92ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG15KSB7CisgICAg
ICAgICAgICBhdXRvIGl0ZXIgPSB0aGVpci5maW5kKGVudHJ5LmtleSk7CisgICAgICAgICAgICBp
ZiAoaXRlciA9PSB0aGVpci5lbmQoKSkgeworICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVu
ZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGVzY2FwZShlbnRyeS52YWx1ZSk7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGl0ZXItPnZhbHVlICE9IGVudHJ5LnZhbHVlKSB7CisgICAgICAg
ICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgZXNj
YXBlKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUoaXRlci0+dmFsdWUpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkg
OiB0aGVpcikgeworICAgICAgICAgICAgaWYgKG15LmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBlc2NhcGUoZW50cnkudmFsdWUpOwor
ICAgICAgICB9CisgICAgICAgIGZvciAoS2V5IGtleSA6IHRvUmVtb3ZlKQorICAgICAgICAgICAg
cmVtb3ZlKGtleSk7CisgICAgfQorCisgICAgdm9pZCBlc2NhcGVBbGxvY2F0aW9uKE5vZGUqIGlk
ZW50aWZpZXIpCisgICAgeworICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uID0gZ2V0QWxs
b2NhdGlvbihpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKGFsbG9jYXRpb24uaXNFc2NhcGVkQWxs
b2NhdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEFsbG9jYXRpb24gdW5l
c2NhcGVkID0gV1RGOjptb3ZlKGFsbG9jYXRpb24pOworICAgICAgICBhbGxvY2F0aW9uID0gQWxs
b2NhdGlvbih1bmVzY2FwZWQuaWRlbnRpZmllcigpLCBBbGxvY2F0aW9uOjpLaW5kOjpFc2NhcGVk
KTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogdW5lc2NhcGVkLmZpZWxkcygp
KQorICAgICAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihlbnRyeS52YWx1ZSk7CisKKyAgICAgICAg
aWYgKG1fd2FudEVzY2FwZWVzKQorICAgICAgICAgICAgbV9lc2NhcGVlcy5hZGQodW5lc2NhcGVk
LmlkZW50aWZpZXIoKSwgV1RGOjptb3ZlKHVuZXNjYXBlZCkpOworICAgIH0KKworICAgIHZvaWQg
cHJ1bmUoKQorICAgIHsKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gcmVhY2hhYmxlOworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9wb2ludGVycykKKyAgICAgICAgICAgIHJlYWNo
YWJsZS5hZGQoZW50cnkudmFsdWUpOworCisgICAgICAgIC8vIFJlcGVhdGVkbHkgbWFyayBhcyBy
ZWFjaGFibGUgYWxsb2NhdGlvbnMgaW4gZmllbGRzIG9mIG90aGVyCisgICAgICAgIC8vIHJlYWNo
YWJsZSBhbGxvY2F0aW9ucworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHdv
cmtsaXN0OworICAgICAgICAgICAgd29ya2xpc3QuYXBwZW5kUmFuZ2UocmVhY2hhYmxlLmJlZ2lu
KCksIHJlYWNoYWJsZS5lbmQoKSk7CisKKyAgICAgICAgICAgIHdoaWxlICghd29ya2xpc3QuaXNF
bXB0eSgpKSB7CisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IHdvcmtsaXN0LnRh
a2VMYXN0KCk7CisgICAgICAgICAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1fYWxs
b2NhdGlvbnMuZmluZChpZGVudGlmaWVyKS0+dmFsdWU7CisgICAgICAgICAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBlbnRyeSA6IGFsbG9jYXRpb24uZmllbGRzKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHJlYWNoYWJsZS5hZGQoZW50cnkudmFsdWUpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQoZW50cnkudmFsdWUpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlbW92ZSB1
bnJlYWNoYWJsZSBhbGxvY2F0aW9ucworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9k
ZSo+IHRvUmVtb3ZlOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fYWxs
b2NhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXJlYWNoYWJsZS5jb250YWlucyhlbnRy
eS5rZXkpKQorICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQoZW50cnkua2V5KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvUmVt
b3ZlKQorICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvbnMucmVtb3ZlKGlkZW50aWZpZXIpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgYm9vbCBtX3JlYWNoZWQgPSBmYWxzZTsKKyAgICBIYXNo
TWFwPE5vZGUqLCBOb2RlKj4gbV9wb2ludGVyczsKKyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0
aW9uPiBtX2FsbG9jYXRpb25zOworCisgICAgYm9vbCBtX3dhbnRFc2NhcGVlcyA9IGZhbHNlOwor
ICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+IG1fZXNjYXBlZXM7Cit9OworCitjbGFzcyBB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAg
IEFsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAgIDogUGhh
c2UoZ3JhcGgsICJvYmplY3QgYWxsb2NhdGlvbiBlbGltaW5hdGlvbiIpCisgICAgICAgICwgbV9w
b2ludGVyU1NBKGdyYXBoKQorICAgICAgICAsIG1fYWxsb2NhdGlvblNTQShncmFwaCkKKyAgICAg
ICAgLCBtX2luc2VydGlvblNldChncmFwaCkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBydW4o
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9mb3JtID09IFNTQSk7CisgICAgICAg
IEFTU0VSVChtX2dyYXBoLm1fZml4cG9pbnRTdGF0ZSA9PSBGaXhwb2ludE5vdENvbnZlcmdlZCk7
CisKKyAgICAgICAgaWYgKCFwZXJmb3JtU2lua2luZygpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBkYXRhTG9nKCJHcmFw
aCBhZnRlciBlbGltaW5hdGlvbjpcbiIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
Ym9vbCBwZXJmb3JtU2lua2luZygpCisgICAgeworICAgICAgICBtX2dyYXBoLmNvbXB1dGVSZWZD
b3VudHMoKTsKKyAgICAgICAgbV9ncmFwaC5pbml0aWFsaXplTm9kZU93bmVycygpOworICAgICAg
ICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhtX2dyYXBoKTsKKyAgICAgICAgcGVyZm9ybU9TUkF2
YWlsYWJpbGl0eUFuYWx5c2lzKG1fZ3JhcGgpOworICAgICAgICBtX2NvbWJpbmVkTGl2ZW5lc3Mg
PSBDb21iaW5lZExpdmVuZXNzKG1fZ3JhcGgpOworCisgICAgICAgIENTdHJpbmcgZ3JhcGhCZWZv
cmVTaW5raW5nOworICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZVZhbGlkYXRpb25GYWlsdXJl
KCkgJiYgT3B0aW9uczo6dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkpIHsKKyAgICAgICAgICAg
IFN0cmluZ1ByaW50U3RyZWFtIG91dDsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcChvdXQpOwor
ICAgICAgICAgICAgZ3JhcGhCZWZvcmVTaW5raW5nID0gb3V0LnRvQ1N0cmluZygpOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBo
IGJlZm9yZSBlbGltaW5hdGlvbjpcbiIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7Cisg
ICAgICAgIH0KKworICAgICAgICBwZXJmb3JtQW5hbHlzaXMoKTsKKworICAgICAgICBpZiAoIWRl
dGVybWluZVNpbmtDYW5kaWRhdGVzKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBkYXRh
TG9nKCJIZWFwIGF0IGhlYWQgb2YgIiwgKmJsb2NrLCAiOiBcbiIsIG1faGVhcEF0SGVhZFtibG9j
a10pOworICAgICAgICAgICAgICAgIGRhdGFMb2coIkhlYXAgYXQgdGFpbCBvZiAiLCAqYmxvY2ss
ICI6IFxuIiwgbV9oZWFwQXRUYWlsW2Jsb2NrXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICBwcm9tb3RlTG9jYWxIZWFwKCk7CisKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZh
bGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKQorICAgICAgICAgICAgdmFsaWRhdGUobV9ncmFwaCwg
RHVtcEdyYXBoLCBncmFwaEJlZm9yZVNpbmtpbmcpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICB2b2lkIHBlcmZvcm1BbmFseXNpcygpCisgICAgeworICAgICAgICBtX2hlYXBB
dEhlYWQgPSBCbG9ja01hcDxMb2NhbEhlYXA+KG1fZ3JhcGgpOworICAgICAgICBtX2hlYXBBdFRh
aWwgPSBCbG9ja01hcDxMb2NhbEhlYXA+KG1fZ3JhcGgpOworCisgICAgICAgIGJvb2wgY2hhbmdl
ZDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAg
ICAgZGF0YUxvZygiRG9pbmcgaXRlcmF0aW9uIG9mIGVzY2FwZSBhbmFseXNpcy5cbiIpOworICAg
ICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOworCisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBt
X2hlYXBBdEhlYWRbYmxvY2tdLnNldFJlYWNoZWQoKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAg
PSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2Rl
IDogKmJsb2NrKSB7CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVk
SGVhcExvY2F0aW9uLCBMYXp5Tm9kZSkgeyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgWyZd
IChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG1faGVhcCA9PSBtX2hlYXBBdFRh
aWxbYmxvY2tdKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgIG1faGVhcEF0VGFpbFtibG9ja10gPSBtX2hlYXA7CisgICAgICAgICAgICAgICAgY2hhbmdl
ZCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgpOworCisg
ICAgICAgICAgICAgICAgLy8gV2Uga2VlcCBvbmx5IHBvaW50ZXJzIHRoYXQgYXJlIGxpdmUsIGFu
ZCBvbmx5CisgICAgICAgICAgICAgICAgLy8gYWxsb2NhdGlvbnMgdGhhdCBhcmUgZWl0aGVyIGxp
dmUsIHBvaW50ZWQgdG8gYnkgYQorICAgICAgICAgICAgICAgIC8vIGxpdmUgcG9pbnRlciwgb3Ig
KHJlY3Vyc2l2ZWx5KSBzdG9yZWQgaW4gYSBmaWVsZCBvZgorICAgICAgICAgICAgICAgIC8vIGEg
bGl2ZSBhbGxvY2F0aW9uLgorICAgICAgICAgICAgICAgIC8vCisgICAgICAgICAgICAgICAgLy8g
VGhpcyBtZWFucyB3ZSBjYW4gYWNjaWRlbnRhbHkgbGVhayBub24tZG9taW5hdGluZworICAgICAg
ICAgICAgICAgIC8vIG5vZGVzIGludG8gdGhlIHN1Y2Nlc3Nvci4gSG93ZXZlciwgZHVlIHRvIHRo
ZQorICAgICAgICAgICAgICAgIC8vIG5vbi1kb21pbmFuY2UgcHJvcGVydHksIHdlIGFyZSBndWFy
YW50ZWVkIHRoYXQgdGhlCisgICAgICAgICAgICAgICAgLy8gc3VjY2Vzc29yIGhhcyBhdCBsZWFz
dCBvbmUgcHJlZGVjZXNzb3IgdGhhdCBpcyBub3QKKyAgICAgICAgICAgICAgICAvLyBkb21pbmF0
ZWQgZWl0aGVyOiB0aGlzIG1lYW5zIGFueSByZWZlcmVuY2UgdG8gYQorICAgICAgICAgICAgICAg
IC8vIG5vbi1kb21pbmF0aW5nIGFsbG9jYXRpb24gaW4gdGhlIHN1Y2Nlc3NvciB3aWxsCisgICAg
ICAgICAgICAgICAgLy8gdHJpZ2dlciBhbiBlc2NhcGUgYW5kIGdldCBwcnVuZWQgZHVyaW5nIHRo
ZSBtZXJnZS4KKyAgICAgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29tYmlu
ZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgICAgICBmb3IgKEJh
c2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkKKyAgICAgICAg
ICAgICAgICAgICAgbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5tZXJnZShtX2hlYXApOwor
ICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlc29sdmVGdW5jdG9yPgor
ICAgIHZvaWQgaGFuZGxlTm9kZSgKKyAgICAgICAgTm9kZSogbm9kZSwKKyAgICAgICAgY29uc3Qg
V3JpdGVGdW5jdG9yJiBoZWFwV3JpdGUsCisgICAgICAgIGNvbnN0IFJlc29sdmVGdW5jdG9yJiBo
ZWFwUmVzb2x2ZSkKKyAgICB7CisgICAgICAgIG1faGVhcC5hc3NlcnRJc1ZhbGlkKCk7CisgICAg
ICAgIEFTU0VSVChtX2hlYXAudGFrZUVzY2FwZWVzKCkuaXNFbXB0eSgpKTsKKworICAgICAgICBB
bGxvY2F0aW9uKiB0YXJnZXQgPSBudWxscHRyOworICAgICAgICBIYXNoTWFwPFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yLCBMYXp5Tm9kZT4gd3JpdGVzOworICAgICAgICBQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvciBleGFjdFJlYWQ7CisKKyAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7
CisgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5u
ZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdCk7CisgICAgICAgICAg
ICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlKCkpOworICAgICAgICAgICAg
d3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVQTG9jLCBMYXp5Tm9kZShtX2dy
YXBoLmZyZWV6ZShub2RlLT5zdHJ1Y3R1cmUoKSkpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIHRhcmdldCA9
ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpPYmplY3QpOwor
ICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZVNldCgpKTsK
KyAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgU3RydWN0dXJlUExvYywg
TGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVz
LmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoCisg
ICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNb
aV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobV9n
cmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246
IHsKKyAgICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUq
PigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAg
ICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3
QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbik7CisgICAgICAgICAg
ICB3cml0ZXMuYWRkKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxP
cGVyYW5kKCkpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoRnVuY3Rpb25BY3RpdmF0aW9uUExv
YywgTGF6eU5vZGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAg
ICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUo
KS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2Nh
dGlvbjo6S2luZDo6QWN0aXZhdGlvbik7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFjdGl2YXRp
b25TeW1ib2xUYWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxPcGVyYW5kKCkpKTsKKyAgICAg
ICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywgTGF6eU5vZGUobm9kZS0+Y2hp
bGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOworICAg
ICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xv
Y2spOworICAgICAgICAgICAgICAgIExhenlOb2RlIHVuZGVmaW5lZChtX2dyYXBoLmZyZWV6ZShq
c1VuZGVmaW5lZCgpKSk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBzeW1ib2xU
YWJsZS0+YmVnaW4obG9ja2VyKSwgZW5kID0gc3ltYm9sVGFibGUtPmVuZChsb2NrZXIpOyBpdGVy
ICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAg
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFy
UExvYywgaXRlci0+dmFsdWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICB1bmRlZmluZWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6
ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgc3VuayB0aGlzIG9u
Y2UgYWxyZWFkeSAtIHRoZXJlIGlzIG5vIHdheSB0aGUKKyAgICAgICAgICAgIC8vIHdhdGNocG9p
bnQgaXMgc3RpbGwgdmFsaWQuCisgICAgICAgICAgICBBU1NFUlQoIW5vZGUtPmNhc3RPcGVyYW5k
PFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpOworICAg
ICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246
OktpbmQ6OkFjdGl2YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU3lt
Ym9sVGFibGVQTG9jLCBMYXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUo
KSkpOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU2NvcGVQTG9jLCBMYXp5Tm9k
ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5t
X3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAor
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGllc1tpXS5tX2lkZW50
aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShtX2dyYXBoLnZhckFy
Z0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CisgICAgICAg
ICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5u
b2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZChTdHJ1Y3R1cmVQTG9jLCBMYXp5
Tm9kZShtX2dyYXBoLmZyZWV6ZShKU1ZhbHVlKG5vZGUtPnRyYW5zaXRpb24oKS0+bmV4dCkpKSk7
CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnRyYW5zaXRpb24o
KS0+bmV4dCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNj
YXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9uKiBhbGxvY2F0
aW9uID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uICYmIGFsbG9jYXRpb24tPmlzT2JqZWN0QWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi0+ZmlsdGVyU3RydWN0dXJlcyhu
b2RlLT5zdHJ1Y3R1cmVTZXQoKSk7CisgICAgICAgICAgICAgICAgaWYgKE5vZGUqIHZhbHVlID0g
aGVhcFJlc29sdmUoUHJvbW90ZWRIZWFwTG9jYXRpb24oYWxsb2NhdGlvbi0+aWRlbnRpZmllcigp
LCBTdHJ1Y3R1cmVQTG9jKSkpCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0No
ZWNrU3RydWN0dXJlSW1tZWRpYXRlKHZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKKyAgICAg
ICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdldCA9IG1f
aGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAg
ICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+c3RvcmFnZUFjY2Vz
c0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVhZCA9IFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVt
YmVyKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2Fw
ZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdldCA9
IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAg
ICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+bXVsdGlHZXRC
eU9mZnNldERhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVh
ZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlm
aWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxv
Y2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRh
cmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAg
ICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRl
bnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxk
MygpLm5vZGUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKKyAgICAgICAgICAgIHRhcmdl
dCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0KKyAgICAgICAgICAgICAgICAgICAgUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIG5vZGUtPnNjb3BlT2Zmc2V0
KCkub2Zmc2V0KCkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9u
bHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlm
ICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpIHsKKyAgICAgICAg
ICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSks
CisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSkpOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5j
aGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBTa2lwU2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxv
Y2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRh
cmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAg
ICBleGFjdFJlYWQgPSBBY3RpdmF0aW9uU2NvcGVQTG9jOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0RXhlY3V0YWJsZToKKyAgICAgICAgICAg
IHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUo
KSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNGdW5jdGlvbkFsbG9jYXRp
b24oKSkKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBGdW5jdGlvbkV4ZWN1dGFibGVQTG9j
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+
Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0
U2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihu
b2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQt
PmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0gRnVu
Y3Rpb25BY3RpdmF0aW9uUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoZWRnZS53aWxsTm90SGF2ZUNoZWNrKCkpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGFs
cmVhZHlDaGVja2VkKGVkZ2UudXNlS2luZCgpLCBTcGVjT2JqZWN0KSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVk
Z2Uubm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgTW92SGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAgICAgICAg
Ly8gSGFuZGxlZCBieSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzCisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkg
eworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVkZ2Uubm9kZSgpKTsKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGV4YWN0UmVhZCkgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdldCk7CisgICAgICAgICAg
ICBBU1NFUlQod3JpdGVzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBpZiAoTm9kZSogdmFsdWUg
PSBoZWFwUmVzb2x2ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0YXJnZXQtPmlkZW50aWZpZXIoKSwg
ZXhhY3RSZWFkKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXZhbHVlLT5yZXBsYWNlbWVu
dCgpKTsKKyAgICAgICAgICAgICAgICBub2RlLT5yZXBsYWNlV2l0aCh2YWx1ZSk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gdGFyZ2V0LT5nZXQoZXhhY3RS
ZWFkKTsKKyAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgIG1faGVh
cC5uZXdQb2ludGVyKG5vZGUsIGlkZW50aWZpZXIpOworICAgICAgICB9CisKKyAgICAgICAgZm9y
IChhdXRvIGVudHJ5IDogd3JpdGVzKSB7CisgICAgICAgICAgICBBU1NFUlQodGFyZ2V0KTsKKyAg
ICAgICAgICAgIGlmIChlbnRyeS52YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICB0YXJn
ZXQtPnNldChlbnRyeS5rZXksIG1faGVhcC5mb2xsb3coZW50cnkudmFsdWUuYXNOb2RlKCkpKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0YXJnZXQtPnJlbW92ZShlbnRyeS5r
ZXkpOworICAgICAgICAgICAgaGVhcFdyaXRlKFByb21vdGVkSGVhcExvY2F0aW9uKHRhcmdldC0+
aWRlbnRpZmllcigpLCBlbnRyeS5rZXkpLCBlbnRyeS52YWx1ZSk7CisgICAgICAgIH0KKworICAg
ICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgpOworICAgIH0KKworICAgIGJvb2wgZGV0ZXJtaW5l
U2lua0NhbmRpZGF0ZXMoKQorICAgIHsKKyAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5jbGVhcigp
OworICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5jbGVhcigpOworICAgICAgICBt
X21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKKyAgICAgICAg
bV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmNsZWFyKCk7CisKKyAgICAgICAgLy8g
TG9naWNhbGx5IHdlIHdpc2ggdG8gY29uc2lkZXIgZXZlcnkgYWxsb2NhdGlvbiBhbmQgc2luawor
ICAgICAgICAvLyBpdC4gSG93ZXZlciwgaXQgaXMgcHJvYmFibHkgbm90IHByb2ZpdGFibGUgdG8g
c2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIHRoYXQgd2lsbCBhbHdheXMgZXNjYXBlLiBT
bywgd2Ugb25seSBzaW5rIGFuCisgICAgICAgIC8vIGFsbG9jYXRpb24gaWYgb25lIG9mIHRoZSBm
b2xsb3dpbmcgaXMgdHJ1ZToKKyAgICAgICAgLy8KKyAgICAgICAgLy8gMSkgVGhlcmUgZXhpc3Rz
IGEgYmFzaWMgYmxvY2sgd2l0aCBvbmx5IGJhY2t3YXJkcyBvdXRnb2luZworICAgICAgICAvLyAg
ICBlZGdlcyAob3Igbm8gb3V0Z29pbmcgZWRnZXMpIGluIHdoaWNoIHRoZSBub2RlIHdhc24ndAor
ICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZWQuIFRoaXMgaXMgbWVhbnQgdG8gY2F0Y2gKKyAgICAg
ICAgLy8gICAgZWZmZWN0aXZlbHktaW5maW5pdGUgbG9vcHMgaW4gd2hpY2ggd2UgZG9uJ3QgbmVl
ZCB0bworICAgICAgICAvLyAgICBoYXZlIGFsbG9jYXRlZCB0aGUgb2JqZWN0LgorICAgICAgICAv
LworICAgICAgICAvLyAyKSBUaGVyZSBleGlzdHMgYSBiYXNpYyBibG9jayBhdCB0aGUgdGFpbCBv
ZiB3aGljaCB0aGUgbm9kZQorICAgICAgICAvLyAgICBpcyBkZWFkIGFuZCBub3QgbWF0ZXJpYWxp
emVkLgorICAgICAgICAvLworICAgICAgICAvLyAzKSBUaGUgc3VtIG9mIGV4ZWN1dGlvbiBjb3Vu
dHMgb2YgdGhlIG1hdGVyaWFsaXphdGlvbnMgaXMKKyAgICAgICAgLy8gICAgbGVzcyB0aGFuIHRo
ZSBzdW0gb2YgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgb3JpZ2luYWwKKyAgICAgICAgLy8gICAg
bm9kZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gV2UgY3VycmVudGx5IGltcGxlbWVudCBvbmx5
IHJ1bGUgIzIuCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIHR3byBvdGhlciBydWxl
cy4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzA3MyAocnVsZSAjMSkKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNzA3NCAocnVsZSAjMykKKyAgICAgICAgLy8KKyAgICAgICAgLy8gSG93ZXZl
ciwgdGhlc2UgcnVsZXMgYWxsb3cgZm9yIGEgc3VuayBvYmplY3QgdG8gYmUgcHV0IGludG8KKyAg
ICAgICAgLy8gYSBub24tc3VuayBvbmUsIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQuIFdlIGNvdWxk
IHNvbHZlIHRoaXMKKyAgICAgICAgLy8gYnkgc3VwcG9ydGluZyBQdXRIaW50cyBvbiBsb2NhbCBh
bGxvY2F0aW9ucywgbWFraW5nIHRoZXNlCisgICAgICAgIC8vIG9iamVjdHMgb25seSBwYXJ0aWFs
bHkgY29ycmVjdCwgYW5kIHdlIHdvdWxkIG5lZWQgdG8gYWRhcHQKKyAgICAgICAgLy8gdGhlIE9T
UiBhdmFpbGFiaWxpdHkgYW5hbHlzaXMgYW5kIE9TUiBleGl0IHRvIGhhbmRsZQorICAgICAgICAv
LyB0aGlzLiBUaGlzIHdvdWxkIGJlIHRvdGFsbHkgZG9hYmxlLCBidXQgd291bGQgY3JlYXRlIGEK
KyAgICAgICAgLy8gc3VwZXIgcmFyZSwgYW5kIHRodXMgYnVnLXByb25lLCBjb2RlIHBhdGguCisg
ICAgICAgIC8vIFNvLCBpbnN0ZWFkLCB3ZSBuZWVkIHRvIGltcGxlbWVudCBvbmUgb2YgdGhlIGZv
bGxvd2luZworICAgICAgICAvLyBjbG9zdXJlIHJ1bGVzOgorICAgICAgICAvLworICAgICAgICAv
LyAxKSBJZiB3ZSBwdXQgYSBzaW5rIGNhbmRpZGF0ZSBpbnRvIGEgbG9jYWwgYWxsb2NhdGlvbiB0
aGF0CisgICAgICAgIC8vICAgIGlzIG5vdCBhIHNpbmsgY2FuZGlkYXRlLCBjaGFuZ2Ugb3VyIG1p
bmRzIGFuZCBkb24ndAorICAgICAgICAvLyAgICBhY3R1YWxseSBzaW5rIHRoZSBzaW5rIGNhbmRp
ZGF0ZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gMikgSWYgd2UgcHV0IGEgc2luayBjYW5kaWRh
dGUgaW50byBhIGxvY2FsIGFsbG9jYXRpb24sIHRoYXQKKyAgICAgICAgLy8gICAgYWxsb2NhdGlv
biBiZWNvbWVzIGEgc2luayBjYW5kaWRhdGUgYXMgd2VsbC4KKyAgICAgICAgLy8KKyAgICAgICAg
Ly8gV2UgY3VycmVudGx5IGNob29zZSB0byBpbXBsZW1lbnQgY2xvc3VyZSBydWxlICMyLgorICAg
ICAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8Tm9kZSo+PiBkZXBlbmRlbmNpZXM7CisgICAgICAg
IGJvb2wgaGFzVW5lc2NhcGVkUmVhZHMgPSBmYWxzZTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2Nr
KiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hl
YXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
OiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAg
ICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9u
IGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCF2YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgICAgICAgICAgICAgICAgIEFsbG9jYXRpb24qIGFsbG9jYXRpb24gPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbih2YWx1ZS5hc05vZGUoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoYWxsb2NhdGlvbiAmJiAhYWxsb2NhdGlvbi0+aXNFc2NhcGVkQWxsb2NhdGlvbigp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcy5hZGQoYWxsb2NhdGlv
bi0+aWRlbnRpZmllcigpLCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQo
bG9jYXRpb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAg
ICAgICAgICAgICAgaGFzVW5lc2NhcGVkUmVhZHMgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAvLyBUaGUgc2luayBjYW5kaWRhdGVzIGFyZSBpbml0aWFsbHkg
dGhlIHVuZXNjYXBlZAorICAgICAgICAgICAgLy8gYWxsb2NhdGlvbnMgZHlpbmcgYXQgdGFpbCBv
ZiBibG9ja3MKKyAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IGFsbG9jYXRpb25zOworICAgICAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCFlbnRyeS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisg
ICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb25zLmFkZChlbnRyeS5rZXkpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29tYmluZWRMaXZl
bmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRp
ZmllciA6IGFsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXAuaXNBbGxv
Y2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBtX3NpbmtDYW5kaWRhdGVz
LmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8v
IEVuc3VyZSB0aGF0IHRoZSBzZXQgb2Ygc2luayBjYW5kaWRhdGVzIGlzIGNsb3NlZCBmb3IgcHV0
IG9wZXJhdGlvbnMKKyAgICAgICAgVmVjdG9yPE5vZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgd29y
a2xpc3QuYXBwZW5kUmFuZ2UobV9zaW5rQ2FuZGlkYXRlcy5iZWdpbigpLCBtX3NpbmtDYW5kaWRh
dGVzLmVuZCgpKTsKKworICAgICAgICB3aGlsZSAoIXdvcmtsaXN0LmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogZGVwZW5kZW5jaWVzLmdldCh3b3JrbGlz
dC50YWtlTGFzdCgpKSkgeworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmFk
ZChpZGVudGlmaWVyKS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICB3b3JrbGlzdC5h
cHBlbmQoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gaGFzVW5l
c2NhcGVkUmVhZHM7CisKKyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9n
KCJDYW5kaWRhdGVzOiAiLCBsaXN0RHVtcChtX3NpbmtDYW5kaWRhdGVzKSwgIlxuIik7CisKKyAg
ICAgICAgLy8gQ3JlYXRlIHRoZSBtYXRlcmlhbGl6YXRpb24gbm9kZXMKKyAgICAgICAgZm9yIChC
YXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAg
ICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIG1faGVh
cC5zZXRXYW50RXNjYXBlZXMoKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJs
b2NrKSB7CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAg
bm9kZSwKKyAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uLCBMYXp5
Tm9kZSkgeyB9LAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24p
IC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBhdXRvIGVzY2FwZWVzID0gbV9o
ZWFwLnRha2VFc2NhcGVlcygpOworICAgICAgICAgICAgICAgIGlmICghZXNjYXBlZXMuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgICAgICBwbGFjZU1hdGVyaWFsaXphdGlvbnMoZXNjYXBlZXMs
IG5vZGUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVu
ZXNzKG1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBlc2NhcGluZ09u
RWRnZTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9oZWFwLmFs
bG9jYXRpb25zKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlLmlzRXNj
YXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICAgICAgICAgIGJvb2wgbXVzdEVzY2FwZSA9IGZhbHNlOworICAgICAgICAgICAg
ICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3Nv
cnMoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbc3VjY2Vz
c29yQmxvY2tdLmlzQWxsb2NhdGlvbihlbnRyeS5rZXkpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfHwgbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5nZXRBbGxvY2F0aW9uKGVudHJ5
LmtleSkuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG11c3RFc2NhcGUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG11c3RFc2NhcGUpCisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGlu
Z09uRWRnZS5hZGQoZW50cnkua2V5LCBlbnRyeS52YWx1ZSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIHBsYWNlTWF0ZXJpYWxpemF0aW9ucyhXVEY6Om1vdmUoZXNjYXBpbmdP
bkVkZ2UpLCBibG9jay0+dGVybWluYWwoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gaGFzVW5lc2NhcGVkUmVhZHMgfHwgIW1fc2lua0NhbmRpZGF0ZXMuaXNF
bXB0eSgpOworICAgIH0KKworICAgIHZvaWQgcGxhY2VNYXRlcmlhbGl6YXRpb25zKEhhc2hNYXA8
Tm9kZSosIEFsbG9jYXRpb24+IGVzY2FwZWVzLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAg
IC8vIFdlIGRvbid0IGNyZWF0ZSBtYXRlcmlhbGl6YXRpb25zIGlmIHRoZSBlc2NhcGVlIGlzIG5v
dCBhCisgICAgICAgIC8vIHNpbmsgY2FuZGlkYXRlCisgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9S
ZW1vdmU7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAg
ICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAg
ICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgIH0KKyAgICAg
ICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogdG9SZW1vdmUpCisgICAgICAgICAgICBlc2NhcGVl
cy5yZW1vdmUoaWRlbnRpZmllcik7CisKKyAgICAgICAgaWYgKGVzY2FwZWVzLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBGaXJzdCBjb2xsZWN0IHRoZSBoaW50
cyB0aGF0IHdpbGwgYmUgbmVlZGVkIHdoZW4gdGhlIG5vZGUKKyAgICAgICAgLy8gd2UgbWF0ZXJp
YWxpemUgaXMgc3RpbGwgc3RvcmVkIGludG8gb3RoZXIgdW5lc2NhcGVkIHNpbmsgY2FuZGlkYXRl
cworICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGhpbnRzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9oZWFwLmFsbG9jYXRpb25zKCkpIHsKKyAgICAgICAg
ICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhlbnRyeS5rZXkpKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogZW50cnkudmFs
dWUuZmllbGRzKCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV9zaW5rQ2FuZGlkYXRlcy5j
b250YWlucyhlbnRyeS5rZXkpIHx8ICFlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkpOwor
ICAgICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgIWZp
ZWxkLmtleS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
aGludHMuYXBwZW5kKFByb21vdGVkSGVhcExvY2F0aW9uKGVudHJ5LmtleSwgZmllbGQua2V5KSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBv
cmRlciB0aGUgbWF0ZXJpYWxpemF0aW9uLiBBbnkgb3JkZXIgaXMKKyAgICAgICAgLy8gdmFsaWQg
KGFzIGxvbmcgYXMgd2UgbWF0ZXJpYWxpemUgYSBub2RlIGZpcnN0IGlmIGl0IGlzCisgICAgICAg
IC8vIG5lZWRlZCBmb3IgdGhlIG1hdGVyaWFsaXphdGlvbiBvZiBhbm90aGVyIG5vZGUsIGUuZy4g
YQorICAgICAgICAvLyBmdW5jdGlvbidzIGFjdGl2YXRpb24gbXVzdCBiZSBtYXRlcmlhbGl6ZWQg
YmVmb3JlIHRoZQorICAgICAgICAvLyBmdW5jdGlvbiBpdHNlbGYpLCBidXQgd2Ugd2FudCB0byB0
cnkgbWluaW1pemluZyB0aGUgbnVtYmVyCisgICAgICAgIC8vIG9mIHRpbWVzIHdlIGhhdmUgdG8g
cGxhY2UgUHV0cyB0byBjbG9zZSBjeWNsZXMgYWZ0ZXIgYQorICAgICAgICAvLyBtYXRlcmlhbGl6
YXRpb24uIEluIG90aGVyIHdvcmRzLCB3ZSBhcmUgdHJ5aW5nIHRvIGZpbmQgdGhlCisgICAgICAg
IC8vIG1pbmltdW0gbnVtYmVyIG9mIG1hdGVyaWFsaXphdGlvbnMgdG8gcmVtb3ZlIGZyb20gdGhl
CisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiBncmFwaCB0byBtYWtlIGl0IGEgREFHLCBrbm93
biBhcyB0aGUKKyAgICAgICAgLy8gKHZlcnRleCkgZmVlZGJhY2sgc2V0IHByb2JsZW0uIFVuZm9y
dHVuYXRlbHksIHRoaXMgaXMgYQorICAgICAgICAvLyBOUC1oYXJkIHByb2JsZW0sIHdoaWNoIHdl
IGRvbid0IHdhbnQgdG8gc29sdmUgZXhhY3RseS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSW5z
dGVhZCwgd2UgdXNlIGEgc2ltcGxlIGdyZWVkeSBwcm9jZWR1cmUsIHRoYXQgcHJvY2VkZXMgYXMK
KyAgICAgICAgLy8gZm9sbG93OgorICAgICAgICAvLyAgLSBXaGlsZSB0aGVyZSBpcyBhdCBsZWFz
dCBvbmUgbm9kZSB3aXRoIG5vIG91dGdvaW5nIGVkZ2UKKyAgICAgICAgLy8gICAgYW1vbmdzdCB0
aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsIG1hdGVyaWFsaXplIGl0CisgICAgICAgIC8v
ICAgIGZpcnN0CisgICAgICAgIC8vIAorICAgICAgICAvLyAgLSBTaW1pbGFyaWx5LCB3aGlsZSB0
aGVyZSBpcyBhdCBsZWFzdCBvbmUgbm9kZSB3aXRoIG5vCisgICAgICAgIC8vICAgIGluY29taW5n
IGVkZ2UgYW1vbmdzdCB0aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsCisgICAgICAgIC8v
ICAgIG1hdGVyaWFsaXplIGl0IGxhc3QuCisgICAgICAgIC8vCisgICAgICAgIC8vICAtIFdoZW4g
Ym90aCBwcmV2aW91cyBjb25kaXRpb25zIGFyZSBmYWxzZSwgd2UgaGF2ZSBhbgorICAgICAgICAv
LyAgICBhY3R1YWwgY3ljbGUsIGFuZCB3ZSBuZWVkIHRvIHBpY2sgYSBub2RlIHRvCisgICAgICAg
IC8vICAgIG1hdGVyaWFsaXplLiBXZSB0cnkgZ3JlZWRpbHkgdG8gcmVtb3ZlIHRoZSAicHJlc3N1
cmUiIG9uCisgICAgICAgIC8vICAgIHRoZSByZW1haW5pbmcgbm9kZXMgYnkgY2hvb3NpbmcgdGhl
IG5vZGUgd2l0aCBtYXhpbXVtCisgICAgICAgIC8vICAgIHxpbmNvbWluZyBlZGdlc3wgKiB8b3V0
Z29pbmcgZWRnZXN8IGFzIGEgbWVhc3VyZSBvZiBob3cKKyAgICAgICAgLy8gICAgImNlbnRyYWwi
IHRvIHRoZSBncmFwaCBpdCBpcy4gV2UgbWF0ZXJpYWxpemUgaXQgZmlyc3QsCisgICAgICAgIC8v
ICAgIHNvIHRoYXQgYWxsIHRoZSByZWNvdmVyaWVzIHdpbGwgYmUgUHV0cyBvZiB0aGluZ3MgaW50
bworICAgICAgICAvLyAgICBpdCAocmF0aGVyIHRoYW4gUHV0cyBvZiB0aGUgbWF0ZXJpYWxpemF0
aW9uIGludG8gb3RoZXIKKyAgICAgICAgLy8gICAgb2JqZWN0cyksIHdoaWNoIG1lYW5zIHdlIHdp
bGwgaGF2ZSBhIHNpbmdsZQorICAgICAgICAvLyAgICBTdG9yZUJhcnJpZXIuCisKKworICAgICAg
ICAvLyBDb21wdXRlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIG1hdGVyaWFsaXphdGlvbnMKKyAgICAg
ICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IGRlcGVuZGVuY2llczsKKyAgICAgICAg
SGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IHJldmVyc2VEZXBlbmRlbmNpZXM7CisgICAg
ICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiBmb3JNYXRlcmlhbGl6YXRpb247Cisg
ICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAg
YXV0byYgbXlEZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuYWRkKGVudHJ5LmtleSwgSGFzaFNl
dDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgYXV0byYgbXlEZXBlbmRl
bmNpZXNGb3JNYXRlcmlhbGl6YXRpb24gPSBmb3JNYXRlcmlhbGl6YXRpb24uYWRkKGVudHJ5Lmtl
eSwgSGFzaFNldDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgcmV2ZXJz
ZURlcGVuZGVuY2llcy5hZGQoZW50cnkua2V5LCBIYXNoU2V0PE5vZGUqPigpKTsKKyAgICAgICAg
ICAgIGZvciAoY29uc3QgYXV0byYgZmllbGQgOiBlbnRyeS52YWx1ZS5maWVsZHMoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgZmllbGQu
dmFsdWUgIT0gZW50cnkua2V5KSB7CisgICAgICAgICAgICAgICAgICAgIG15RGVwZW5kZW5jaWVz
LmFkZChmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIHJldmVyc2VEZXBlbmRlbmNp
ZXMuYWRkKGZpZWxkLnZhbHVlLCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYWRk
KGVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5rZXkubmVlZGVkRm9y
TWF0ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBteURlcGVuZGVuY2ll
c0Zvck1hdGVyaWFsaXphdGlvbi5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0
byB1cGRhdGUgdGhlIG1hdGVyaWFsaXplZCBzZXQgYW5kIHRoZQorICAgICAgICAvLyBkZXBlbmRl
bmNpZXMKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gbWF0ZXJpYWxpemVkOworICAgICAgICBhdXRv
IG1hdGVyaWFsaXplID0gWyZdIChOb2RlKiBpZGVudGlmaWVyKSB7CisgICAgICAgICAgICBtYXRl
cmlhbGl6ZWQuYWRkKGlkZW50aWZpZXIpOworICAgICAgICAgICAgZm9yIChOb2RlKiBkZXAgOiBk
ZXBlbmRlbmNpZXMuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgIHJldmVyc2VEZXBl
bmRlbmNpZXMuZmluZChkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAg
ICBmb3IgKE5vZGUqIHJkZXAgOiByZXZlcnNlRGVwZW5kZW5jaWVzLmdldChpZGVudGlmaWVyKSkg
eworICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcy5maW5kKHJkZXApLT52YWx1ZS5yZW1vdmUo
aWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQocmRl
cCktPnZhbHVlLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGRlcGVuZGVuY2llcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICByZXZlcnNlRGVw
ZW5kZW5jaWVzLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvck1hdGVyaWFsaXph
dGlvbi5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH07CisKKyAgICAgICAgLy8gTm9kZXMg
d2l0aG91dCByZW1haW5pbmcgdW5tYXRlcmlhbGl6ZWQgZmllbGRzIHdpbGwgYmUKKyAgICAgICAg
Ly8gbWF0ZXJpYWxpemVkIGZpcnN0IC0gYW1vbmdzdCB0aGUgcmVtYWluaW5nIHVubWF0ZXJpYWxp
emVkCisgICAgICAgIC8vIG5vZGVzCisgICAgICAgIHN0ZDo6bGlzdDxBbGxvY2F0aW9uPiB0b01h
dGVyaWFsaXplOworICAgICAgICBhdXRvIGZpcnN0UG9zID0gdG9NYXRlcmlhbGl6ZS5iZWdpbigp
OworICAgICAgICBhdXRvIG1hdGVyaWFsaXplRmlyc3QgPSBbJl0gKEFsbG9jYXRpb24mJiBhbGxv
Y2F0aW9uKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZShhbGxvY2F0aW9uLmlkZW50aWZpZXIo
KSk7CisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGluc2VydCAqYWZ0ZXIqIHRoZSBjdXJyZW50
IHBvc2l0aW9uCisgICAgICAgICAgICBpZiAoZmlyc3RQb3MgIT0gdG9NYXRlcmlhbGl6ZS5lbmQo
KSkKKyAgICAgICAgICAgICAgICArK2ZpcnN0UG9zOworICAgICAgICAgICAgZmlyc3RQb3MgPSB0
b01hdGVyaWFsaXplLmluc2VydChmaXJzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRpb24pKTsKKyAg
ICAgICAgfTsKKworICAgICAgICAvLyBOb2RlcyB0aGF0IG5vIG90aGVyIHVubWF0ZXJpYWxpemVk
IG5vZGUgcG9pbnRzIHRvIHdpbGwgYmUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemVkIGxhc3QgLSBh
bW9uZ3N0IHRoZSByZW1haW5pbmcgdW5tYXRlcmlhbGl6ZWQKKyAgICAgICAgLy8gbm9kZXMKKyAg
ICAgICAgYXV0byBsYXN0UG9zID0gdG9NYXRlcmlhbGl6ZS5lbmQoKTsKKyAgICAgICAgYXV0byBt
YXRlcmlhbGl6ZUxhc3QgPSBbJl0gKEFsbG9jYXRpb24mJiBhbGxvY2F0aW9uKSB7CisgICAgICAg
ICAgICBtYXRlcmlhbGl6ZShhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBs
YXN0UG9zID0gdG9NYXRlcmlhbGl6ZS5pbnNlcnQobGFzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRp
b24pKTsKKyAgICAgICAgfTsKKworICAgICAgICAvLyBUaGVzZSBhcmUgdGhlIHByb21vdGVkIGxv
Y2F0aW9ucyB0aGF0IGNvbnRhaW5zIHNvbWUgb2YgdGhlCisgICAgICAgIC8vIGFsbG9jYXRpb25z
IHdlIGFyZSBjdXJyZW50bHkgZXNjYXBpbmcuIElmIHRoZXkgYXJlIGEgbG9jYXRpb24gb24KKyAg
ICAgICAgLy8gc29tZSBvdGhlciBhbGxvY2F0aW9uIHdlIGFyZSBjdXJyZW50bHkgbWF0ZXJpYWxp
emluZywgd2Ugd2lsbCBuZWVkCisgICAgICAgIC8vIHRvICJyZWNvdmVyIiB0aGVpciB2YWx1ZSB3
aXRoIGEgcmVhbCBwdXQgb25jZSB0aGUgY29ycmVzcG9uZGluZworICAgICAgICAvLyBhbGxvY2F0
aW9uIGlzIG1hdGVyaWFsaXplZDsgaWYgdGhleSBhcmUgYSBsb2NhdGlvbiBvbiBzb21lIG90aGVy
CisgICAgICAgIC8vIG5vdC15ZXQtbWF0ZXJpYWxpemVkIGFsbG9jYXRpb24sIHdlIHdpbGwgbmVl
ZCBhIFB1dEhpbnQuCisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gdG9SZWNv
dmVyOworCisgICAgICAgIC8vIFRoaXMgbG9vcCBkb2VzIHRoZSBhY3R1YWwgY3ljbGUgYnJlYWtp
bmcKKyAgICAgICAgd2hpbGUgKCFlc2NhcGVlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1h
dGVyaWFsaXplZC5jbGVhcigpOworCisgICAgICAgICAgICAvLyBNYXRlcmlhbGl6ZSBub2RlcyB0
aGF0IHdvbid0IHJlcXVpcmUgcmVjb3ZlcmllcyBpZiB3ZSBjYW4KKyAgICAgICAgICAgIGZvciAo
YXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgICAgIGlmICghZm9yTWF0ZXJp
YWxpemF0aW9uLmZpbmQoZW50cnkua2V5KS0+dmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIGlmIChkZXBlbmRlbmNpZXMuZmlu
ZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0
ZXJpYWxpemVGaXJzdChXVEY6Om1vdmUoZW50cnkudmFsdWUpKTsKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHJl
dmVyc2VEZXBlbmRlbmNpZXMuZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVMYXN0KFdURjo6bW92ZShlbnRyeS52YWx1ZSkp
OworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFdlIHJlYWNoIHRoaXMgb25seSBpZiB0aGVyZSBp
cyBhbiBhY3R1YWwgY3ljbGUgdGhhdCBuZWVkcworICAgICAgICAgICAgLy8gYnJlYWtpbmcuIEJl
Y2F1c2Ugd2UgZG8gbm90IHdhbnQgdG8gc29sdmUgYSBOUC1oYXJkIHByb2JsZW0KKyAgICAgICAg
ICAgIC8vIGhlcmUsIHdlIGp1c3QgaGV1cmlzdGljYWxseSBwaWNrIGEgbm9kZSBhbmQgbWF0ZXJp
YWxpemUgaXQKKyAgICAgICAgICAgIC8vIGZpcnN0LgorICAgICAgICAgICAgaWYgKG1hdGVyaWFs
aXplZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICB1aW50NjRfdCBtYXhFdmFsdWF0aW9u
ID0gMDsKKyAgICAgICAgICAgICAgICBBbGxvY2F0aW9uKiBiZXN0QWxsb2NhdGlvbjsKKyAgICAg
ICAgICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFmb3JNYXRlcmlhbGl6YXRpb24uZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0Vt
cHR5KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgICAgICB1aW50NjRfdCBldmFsdWF0aW9uID0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PHVpbnQ2NF90PihkZXBlbmRlbmNpZXMuZ2V0KGVudHJ5LmtleSkuc2l6ZSgpKSAq
IHJldmVyc2VEZXBlbmRlbmNpZXMuZ2V0KGVudHJ5LmtleSkuc2l6ZSgpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoZXZhbHVhdGlvbiA+IG1heEV2YWx1YXRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1heEV2YWx1YXRpb24gPSBldmFsdWF0aW9uOworICAgICAgICAgICAgICAgICAg
ICAgICAgYmVzdEFsbG9jYXRpb24gPSAmZW50cnkudmFsdWU7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF4
RXZhbHVhdGlvbiA+IDApOworCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVGaXJzdChXVEY6
Om1vdmUoKmJlc3RBbGxvY2F0aW9uKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVCghbWF0ZXJpYWxpemVkLmlzRW1wdHkoKSk7CisKKyAgICAgICAgICAgIGZvciAo
Tm9kZSogaWRlbnRpZmllciA6IG1hdGVyaWFsaXplZCkKKyAgICAgICAgICAgICAgICBlc2NhcGVl
cy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRlcmlhbGl6ZWQu
Y2xlYXIoKTsKKworICAgICAgICBIYXNoU2V0PE5vZGUqPiBlc2NhcGVkOworICAgICAgICBmb3Ig
KGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVyaWFsaXplKQorICAgICAgICAg
ICAgZXNjYXBlZC5hZGQoYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICBmb3IgKGNv
bnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVyaWFsaXplKSB7CisgICAgICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogYWxsb2NhdGlvbi5maWVsZHMoKSkgeworICAgICAg
ICAgICAgICAgIGlmIChlc2NhcGVkLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSAmJiAhbWF0ZXJpYWxp
emVkLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgdG9SZWNvdmVy
LmFwcGVuZChQcm9tb3RlZEhlYXBMb2NhdGlvbihhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSwgZmll
bGQua2V5KSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKGFs
bG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIFZlY3RvcjxOb2Rl
Kj4mIG1hdGVyaWFsaXphdGlvbnMgPSBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXph
dGlvbnMuYWRkKAorICAgICAgICAgICAgd2hlcmUsIFZlY3RvcjxOb2RlKj4oKSkuaXRlcmF0b3It
PnZhbHVlOworCisgICAgICAgIGZvciAoY29uc3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA6IHRv
TWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAgIE5vZGUqIG1hdGVyaWFsaXphdGlvbiA9IGNyZWF0
ZU1hdGVyaWFsaXphdGlvbihhbGxvY2F0aW9uLCB3aGVyZSk7CisgICAgICAgICAgICBtYXRlcmlh
bGl6YXRpb25zLmFwcGVuZChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgbV9tYXRlcmlh
bGl6YXRpb25Ub0VzY2FwZWUuYWRkKG1hdGVyaWFsaXphdGlvbiwgYWxsb2NhdGlvbi5pZGVudGlm
aWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF0b1JlY292ZXIuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJpZXMuYWRkKAorICAg
ICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpLml0ZXJh
dG9yLT52YWx1ZS5hcHBlbmRSYW5nZSgKKyAgICAgICAgICAgICAgICAgICAgdG9SZWNvdmVyLmJl
Z2luKCksIHRvUmVjb3Zlci5lbmQoKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUaGUgaGlu
dHMgbmVlZCB0byBiZSBhZnRlciB0aGUgInJlYWwiIHJlY292ZXJpZXMgc28gdGhhdCB3ZQorICAg
ICAgICAvLyBkb24ndCBoaW50IG5vdC15ZXQtY29tcGxldGUgb2JqZWN0cworICAgICAgICBpZiAo
IWhpbnRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9S
ZWNvdmVyaWVzLmFkZCgKKyAgICAgICAgICAgICAgICB3aGVyZSwgVmVjdG9yPFByb21vdGVkSGVh
cExvY2F0aW9uPigpKS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kUmFuZ2UoCisgICAgICAgICAgICAg
ICAgICAgIGhpbnRzLmJlZ2luKCksIGhpbnRzLmVuZCgpKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIE5vZGUqIGNyZWF0ZU1hdGVyaWFsaXphdGlvbihjb25zdCBBbGxvY2F0aW9uJiBhbGxvY2F0
aW9uLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRoZSBv
bmx5IHBsYWNlIHdoZXJlIHdlIGFjdHVhbGx5IHVzZSB0aGUKKyAgICAgICAgLy8gZmFjdCB0aGF0
IGFuIGFsbG9jYXRpb24ncyBpZGVudGlmaWVyIGlzIGluZGVlZCB0aGUgbm9kZQorICAgICAgICAv
LyB0aGF0IGNyZWF0ZWQgdGhlIGFsbG9jYXRpb24uCisgICAgICAgIHN3aXRjaCAoYWxsb2NhdGlv
bi5raW5kKCkpIHsKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5kOjpPYmplY3Q6IHsKKyAg
ICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZVNldCog
c2V0ID0gbV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQoYWxsb2NhdGlvbi5zdHJ1Y3R1cmVzKCkpOwor
CisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIGFs
bG9jYXRpb24uaWRlbnRpZmllcigpLT5wcmVkaWN0aW9uKCksIE5vZGU6OlZhckFyZywgTWF0ZXJp
YWxpemVOZXdPYmplY3QsCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAg
ICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywKKyAgICAg
ICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBP
cEluZm8oc2V0KSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGNh
c2UgQWxsb2NhdGlvbjo6S2luZDo6RnVuY3Rpb246IHsKKyAgICAgICAgICAgIEZyb3plblZhbHVl
KiBleGVjdXRhYmxlID0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPmNlbGxPcGVyYW5kKCk7CisK
KyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxs
b2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTmV3RnVuY3Rpb24sCisgICAgICAg
ICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9y
aWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZXhlY3V0YWJsZSkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEFsbG9jYXRpb246Oktp
bmQ6OkFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEq
IGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAg
ICAgICAgIEZyb3plblZhbHVlKiBzeW1ib2xUYWJsZSA9IGFsbG9jYXRpb24uaWRlbnRpZmllcigp
LT5jZWxsT3BlcmFuZCgpOworCisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAor
ICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5wcmVkaWN0aW9uKCksIE5v
ZGU6OlZhckFyZywgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uLAorICAgICAgICAgICAgICAg
IE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb24uaWRlbnRpZmllcigp
LT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9y
RXhpdCksCisgICAgICAgICAgICAgICAgT3BJbmZvKHN5bWJvbFRhYmxlKSwgT3BJbmZvKGRhdGEp
LCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdf
Q1JBU0gobV9ncmFwaCwgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCksICJCYWQgYWxsb2NhdGlvbiBr
aW5kIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHByb21vdGVMb2NhbEhlYXAoKQor
ICAgIHsKKyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9mIGhlYXAgbG9jYXRpb25zIHRoYXQg
d2Ugd2lsbCBiZSBvcGVyYXRpbmcKKyAgICAgICAgLy8gb3Zlci4KKyAgICAgICAgSGFzaFNldDxQ
cm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBt
X2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIG5v
ZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAg
ICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0
aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYg
dGhlIGxvY2F0aW9uIGlzIG5vdCBvbiBhIHNpbmsgY2FuZGlkYXRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gd2Ugb25seSBzaW5rIGl0IGlmIGl0IGlzIHJlYWQKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLmFkZChsb2NhdGlvbik7Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRI
ZWFwTG9jYXRpb24gbG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGxvY2F0aW9ucy5hZGQobG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBsb2NhdGlvbnMgYmVsb25nIHRvIHdo
aWNoIGFsbG9jYXRpb25zLgorICAgICAgICBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uY2xlYXIo
KTsKKyAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9u
cykgeworICAgICAgICAgICAgYXV0byByZXN1bHQgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24u
YWRkKAorICAgICAgICAgICAgICAgIGxvY2F0aW9uLmJhc2UoKSwKKyAgICAgICAgICAgICAgICBW
ZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpOworICAgICAgICAgICAgQVNTRVJUKCFyZXN1
bHQuaXRlcmF0b3ItPnZhbHVlLmNvbnRhaW5zKGxvY2F0aW9uKSk7CisgICAgICAgICAgICByZXN1
bHQuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChsb2NhdGlvbik7CisgICAgICAgIH0KKworICAgICAg
ICBtX3BvaW50ZXJTU0EucmVzZXQoKTsKKyAgICAgICAgbV9hbGxvY2F0aW9uU1NBLnJlc2V0KCk7
CisKKyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9mICJ2YXJpYWJsZXMiIHRoYXQgd2Ugd2ls
bCBiZSBzaW5raW5nLgorICAgICAgICBtX2xvY2F0aW9uVG9WYXJpYWJsZS5jbGVhcigpOworICAg
ICAgICBtX25vZGVUb1ZhcmlhYmxlLmNsZWFyKCk7CisgICAgICAgIFZlY3RvcjxOb2RlKj4gaW5k
ZXhUb05vZGU7CisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gaW5kZXhUb0xv
Y2F0aW9uOworCisgICAgICAgIGZvciAoTm9kZSogaW5kZXggOiBtX3NpbmtDYW5kaWRhdGVzKSB7
CisgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2FsbG9j
YXRpb25TU0EubmV3VmFyaWFibGUoKTsKKyAgICAgICAgICAgIG1fbm9kZVRvVmFyaWFibGUuYWRk
KGluZGV4LCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXhUb05vZGUuc2l6ZSgp
ID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAgIGluZGV4VG9Ob2RlLmFwcGVuZChp
bmRleCk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJs
ZSogdmFyaWFibGUgPSBtX3BvaW50ZXJTU0EubmV3VmFyaWFibGUoKTsKKyAgICAgICAgICAgIG1f
bG9jYXRpb25Ub1ZhcmlhYmxlLmFkZChsb2NhdGlvbiwgdmFyaWFibGUpOworICAgICAgICAgICAg
QVNTRVJUKGluZGV4VG9Mb2NhdGlvbi5zaXplKCkgPT0gdmFyaWFibGUtPmluZGV4KCkpOworICAg
ICAgICAgICAgaW5kZXhUb0xvY2F0aW9uLmFwcGVuZChsb2NhdGlvbik7CisgICAgICAgIH0KKwor
ICAgICAgICAvLyBXZSBpbnNlcnQgYWxsIHJlcXVpcmVkIGNvbnN0YW50cyBhdCB0b3Agb2YgYmxv
Y2sgMCBzbyB0aGF0CisgICAgICAgIC8vIHRoZXkgYXJlIGluc2VydGVkIG9ubHkgb25jZSBhbmQg
d2UgZG9uJ3QgY2x1dHRlciB0aGUgZ3JhcGgKKyAgICAgICAgLy8gd2l0aCB1c2VsZXNzIGNvbnN0
YW50cyBldmVyeXdoZXJlCisgICAgICAgIEhhc2hNYXA8RnJvemVuVmFsdWUqLCBOb2RlKj4gbGF6
eU1hcHBpbmc7CisgICAgICAgIGlmICghbV9ib3R0b20pCisgICAgICAgICAgICBtX2JvdHRvbSA9
IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KDAsIE5vZGVPcmlnaW4oKSwganNOdW1iZXIo
MTkyNykpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJ
bk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxv
Y2tdOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRl
eCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAgICAgICAgICAgTm9kZSog
bm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworCisgICAgICAgICAgICAgICAgLy8gU29tZSBu
YW1lZCBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCBjb25kaXRpb25hbGx5LAorICAgICAgICAgICAg
ICAgIC8vIGFuZCB0aGF0IHdvdWxkIG5lY2Vzc2l0YXRlIGJvdHRvbXMKKyAgICAgICAgICAgICAg
ICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9sb2NhdGlvbnNGb3JBbGxv
Y2F0aW9uLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobG9jYXRpb24ua2lu
ZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlh
YmxlID0gbV9sb2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgbV9wb2ludGVyU1NBLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIG1fYm90dG9tKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXph
dGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9u
VG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBtX2Fs
bG9jYXRpb25TU0EubmV3RGVmKG1fbm9kZVRvVmFyaWFibGUuZ2V0KGVzY2FwZWUpLCBibG9jaywg
bWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkKKyAgICAgICAgICAgICAgICAgICAg
bV9hbGxvY2F0aW9uU1NBLm5ld0RlZihtX25vZGVUb1ZhcmlhYmxlLmdldChub2RlKSwgYmxvY2ss
IG5vZGUpOworCisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBs
b2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
bG9jYXRpb25zLmNvbnRhaW5zKGxvY2F0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIG5vZGVWYWx1ZTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5hc05vZGUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9
IGxhenlNYXBwaW5nLmZpbmQodmFsdWUuYXNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoaXRlciAhPSBsYXp5TWFwcGluZy5lbmQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVW
YWx1ZSA9IHZhbHVlLmVuc3VyZUlzTm9kZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1faW5zZXJ0aW9uU2V0LCBtX2dyYXBoLmJsb2NrKDApLCAwKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGF6eU1hcHBpbmcuYWRkKHZhbHVlLmFzVmFsdWUoKSwgbm9k
ZVZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlh
YmxlKiB2YXJpYWJsZSA9IG1fbG9jYXRpb25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBtX3BvaW50ZXJTU0EubmV3RGVmKHZhcmlhYmxlLCBibG9jaywg
bm9kZVZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
W10gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICAgICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShtX2dyYXBoLmJs
b2NrKDApKTsKKworICAgICAgICAvLyBSdW4gdGhlIFNTQSBjYWxjdWxhdG9ycyB0byBjcmVhdGUg
UGhpcworICAgICAgICBtX3BvaW50ZXJTU0EuY29tcHV0ZVBoaXMoCisgICAgICAgICAgICBbJl0g
KFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSwgQmFzaWNCbG9jayogYmxvY2spIC0+
IE5vZGUqIHsKKyAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9
IGluZGV4VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CisKKyAgICAgICAgICAgICAgICAv
LyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIGZvciBmaWVsZHMgb2YgZGVhZCBhbGxvY2F0aW9ucwor
ICAgICAgICAgICAgICAgIGlmICghbV9oZWFwQXRIZWFkW2Jsb2NrXS5pc0FsbG9jYXRpb24obG9j
YXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICAgICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIG9uY2Ugd2UgYXJlIGVzY2Fw
ZWQKKyAgICAgICAgICAgICAgICBpZiAobV9oZWFwQXRIZWFkW2Jsb2NrXS5nZXRBbGxvY2F0aW9u
KGxvY2F0aW9uLmJhc2UoKSkuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIElmIHdlIHBvaW50IHRv
IGEgc2luZ2xlIGFsbG9jYXRpb24sIHdlIHdpbGwKKyAgICAgICAgICAgICAgICAvLyBkaXJlY3Rs
eSB1c2UgaXRzIG1hdGVyaWFsaXphdGlvbgorICAgICAgICAgICAgICAgIGlmIChtX2hlYXBBdEhl
YWRbYmxvY2tdLmZvbGxvdyhsb2NhdGlvbikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9k
ZShTcGVjSGVhcFRvcCwgUGhpLCBOb2RlT3JpZ2luKCkpOworICAgICAgICAgICAgICAgIHBoaU5v
ZGUtPm1lcmdlRmxhZ3MoTm9kZVJlc3VsdEpTKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGhp
Tm9kZTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgIG1fYWxsb2NhdGlvblNTQS5jb21wdXRl
UGhpcygKKyAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxl
LCBCYXNpY0Jsb2NrKiBibG9jaykgLT4gTm9kZSogeworICAgICAgICAgICAgICAgIE5vZGUqIGlk
ZW50aWZpZXIgPSBpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV07CisKKyAgICAgICAgICAg
ICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIGZvciBkZWFkIGFsbG9jYXRpb25zCisgICAg
ICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2tdLmlzQWxsb2NhdGlvbihpZGVudGlm
aWVyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAg
ICAgICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIHVudGlsIHdlIGFyZSBlc2NhcGVkCisgICAg
ICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2tdLmdldEFsbG9jYXRpb24oaWRlbnRp
ZmllcikuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBtX2dyYXBoLmFkZE5v
ZGUoU3BlY0hlYXBUb3AsIFBoaSwgTm9kZU9yaWdpbigpKTsKKyAgICAgICAgICAgICAgICBwaGlO
b2RlLT5tZXJnZUZsYWdzKE5vZGVSZXN1bHRKUyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBo
aU5vZGU7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAvLyBQbGFjZSBQaGlzIGluIHRoZSBy
aWdodCBwbGFjZXMsIHJlcGxhY2UgYWxsIHVzZXMgb2YgYW55IGxvYWQgd2l0aCB0aGUgYXBwcm9w
cmlhdGUKKyAgICAgICAgLy8gdmFsdWUsIGFuZCBjcmVhdGUgdGhlIG1hdGVyaWFsaXphdGlvbiBu
b2Rlcy4KKyAgICAgICAgTG9jYWxPU1JBdmFpbGFiaWxpdHlDYWxjdWxhdG9yIGF2YWlsYWJpbGl0
eUNhbGN1bGF0b3I7CisgICAgICAgIG1fZ3JhcGguY2xlYXJSZXBsYWNlbWVudHMoKTsKKyAgICAg
ICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7
CisgICAgICAgICAgICBtX2hlYXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworICAgICAgICAgICAg
YXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5iZWdpbkJsb2NrKGJsb2NrKTsKKworICAgICAgICAgICAg
Ly8gVGhlc2UgbWFwcGluZyB0YWJsZXMgYXJlIGludGVuZGVkIHRvIGJlIGxhenkuIElmCisgICAg
ICAgICAgICAvLyBzb21ldGhpbmcgaXMgb21pdHRlZCBmcm9tIHRoZSB0YWJsZSwgaXQgbWVhbnMg
dGhhdAorICAgICAgICAgICAgLy8gdGhlcmUgaGF2ZW4ndCBiZWVuIGFueSBsb2NhbCBzdG9yZXMg
dG8gdGhlIHByb21vdGVkCisgICAgICAgICAgICAvLyBoZWFwIGxvY2F0aW9uIChvciBhbnkgbG9j
YWwgbWF0ZXJpYWxpemF0aW9uKS4KKyAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5nLmNsZWFyKCk7
CisgICAgICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5jbGVhcigpOworCisgICAg
ICAgICAgICAvLyBJbnNlcnQgdGhlIFBoaSBmdW5jdGlvbnMgdGhhdCB3ZSBoYWQgcHJldmlvdXNs
eQorICAgICAgICAgICAgLy8gY3JlYXRlZC4KKyAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRv
cjo6RGVmKiBwaGlEZWYgOiBtX3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKGJsb2NrKSkgeworICAg
ICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURlZi0+
dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoMCwgcGhp
RGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAg
ICAgICBtX2xvY2FsTWFwcGluZy5zZXQobG9jYXRpb24sIHBoaURlZi0+dmFsdWUoKSk7CisKKyAg
ICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNl
KCkpKSB7CisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIDAsIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwgTm9kZU9y
aWdpbigpLCBwaGlEZWYtPnZhbHVlKCkpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX2Fs
bG9jYXRpb25TU0EucGhpc0ZvckJsb2NrKGJsb2NrKSkgeworICAgICAgICAgICAgICAgIFNTQUNh
bGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURlZi0+dmFyaWFibGUoKTsKKyAgICAg
ICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoMCwgcGhpRGVmLT52YWx1ZSgpKTsKKwor
ICAgICAgICAgICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSBpbmRleFRvTm9kZVt2YXJpYWJsZS0+
aW5kZXgoKV07CisgICAgICAgICAgICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uYWRk
KGlkZW50aWZpZXIsIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAgICAgICAgICAgaW5zZXJ0T1NS
SGludHNGb3JVcGRhdGUoMCwgTm9kZU9yaWdpbigpLCBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLm1f
YXZhaWxhYmlsaXR5LCBpZGVudGlmaWVyLCBwaGlEZWYtPnZhbHVlKCkpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAodmVyYm9zZSkgeworICAgICAgICAgICAgICAgIGRhdGFMb2co
IkxvY2FsIG1hcHBpbmcgYXQgIiwgcG9pbnRlckR1bXAoYmxvY2spLCAiOiAiLCBtYXBEdW1wKG1f
bG9jYWxNYXBwaW5nKSwgIlxuIik7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWF0
ZXJpYWxpemF0aW9ucyBhdCAiLCBwb2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobV9l
c2NhcGVlVG9NYXRlcmlhbGl6YXRpb24pLCAiXG4iKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6
ZSgpOyArK25vZGVJbmRleCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+
YXQobm9kZUluZGV4KTsKKyAgICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9u
IGxvY2F0aW9uIDogbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChub2RlKSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAobG9jYXRpb24ua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQor
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAg
bV9sb2NhbE1hcHBpbmcuc2V0KGxvY2F0aW9uLCBtX2JvdHRvbSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlSW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0
aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2JvdHRvbSkpOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9y
IChOb2RlKiBtYXRlcmlhbGl6YXRpb24gOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFs
aXphdGlvbnMuZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIGVzY2FwZWUg
PSBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobWF0ZXJpYWxpemF0aW9uKTsKKyAgICAg
ICAgICAgICAgICAgICAgcG9wdWxhdGVNYXRlcmlhbGl6YXRpb24oYmxvY2ssIG1hdGVyaWFsaXph
dGlvbiwgZXNjYXBlZSk7CisgICAgICAgICAgICAgICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJpYWxp
emF0aW9uLnNldChlc2NhcGVlLCBtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAg
ICBtX2luc2VydGlvblNldC5pbnNlcnQobm9kZUluZGV4LCBtYXRlcmlhbGl6YXRpb24pOworICAg
ICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRh
dGFMb2coIk1hdGVyaWFsaXppbmcgIiwgZXNjYXBlZSwgIiA9PiAiLCBtYXRlcmlhbGl6YXRpb24s
ICIgYXQgIiwgbm9kZSwgIlxuIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9u
U2l0ZVRvUmVjb3Zlcmllcy5nZXQobm9kZSkpCisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0
aW9uU2V0Lmluc2VydChub2RlSW5kZXgsIGNyZWF0ZVJlY292ZXJ5KGJsb2NrLCBsb2NhdGlvbiwg
bm9kZSkpOworCisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBwdXQgdGhlIE9TUiBoaW50
cyBhZnRlciB0aGUgcmVjb3ZlcmllcywKKyAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIHdlIG9u
bHkgd2FudCB0aGUgaGludHMgb25jZSB0aGUgb2JqZWN0IGlzCisgICAgICAgICAgICAgICAgLy8g
Y29tcGxldGUKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXphdGlvbiA6IG1f
bWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVl
LmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50
c0ZvclVwZGF0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgbm9kZS0+b3Jp
Z2luLAorICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2
YWlsYWJpbGl0eSwgZXNjYXBlZSwgbWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkK
KyAgICAgICAgICAgICAgICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uc2V0KG5vZGUs
IG5vZGUpOworCisgICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5leGVjdXRl
Tm9kZShub2RlKTsKKworICAgICAgICAgICAgICAgIGJvb2wgZG9Mb3dlciA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlO
b2RlIHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWxvY2F0aW9ucy5jb250
YWlucyhsb2NhdGlvbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlVmFsdWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZVZhbHVlID0gdmFsdWUuYXNOb2RlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gbGF6eU1hcHBpbmcuZ2V0
KHZhbHVlLmFzVmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9
IHJlc29sdmUoYmxvY2ssIG5vZGVWYWx1ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG1f
bG9jYWxNYXBwaW5nLnNldChsb2NhdGlvbiwgbm9kZVZhbHVlKTsKKworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAg
ICAgICAgICBkb0xvd2VyID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNl
cnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG5vZGVWYWx1ZSkp
OworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21v
dGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5v
ZGUpIHx8IGRvTG93ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvUGhhbnRvbU5ld09iamVjdCgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdGdW5jdGlvbigpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICAgICAgICAgICAgICBjYXNlIE1hdGVyaWFsaXpl
Q3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRU
b1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZS0+cmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG1f
Z3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAg
ICAgICAgICAgICBbJl0gKEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVk
Z2Uuc2V0Tm9kZShyZXNvbHZlKGJsb2NrLCBlZGdlLm5vZGUoKSkpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gR290dGEgZHJvcCBzb21l
IFVwc2lsb25zLgorICAgICAgICAgICAgTm9kZUFuZEluZGV4IHRlcm1pbmFsID0gYmxvY2stPmZp
bmRUZXJtaW5hbCgpOworICAgICAgICAgICAgc2l6ZV90IHVwc2lsb25JbnNlcnRpb25Qb2ludCA9
IHRlcm1pbmFsLmluZGV4OworICAgICAgICAgICAgTm9kZU9yaWdpbiB1cHNpbG9uT3JpZ2luID0g
dGVybWluYWwubm9kZS0+b3JpZ2luOworICAgICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNj
ZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9wb2ludGVyU1NBLnBoaXNGb3JCbG9jayhz
dWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IHBo
aURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFi
bGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgICAgICBQ
cm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IGluZGV4VG9Mb2NhdGlvblt2YXJpYWJsZS0+
aW5kZXgoKV07CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIGluY29taW5nID0gcmVzb2x2ZShi
bG9jaywgbG9jYXRpb24pOworCisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmlu
c2VydE5vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICB1cHNpbG9uSW5zZXJ0aW9uUG9pbnQs
IFNwZWNOb25lLCBVcHNpbG9uLCB1cHNpbG9uT3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAg
ICAgT3BJbmZvKHBoaU5vZGUpLCBpbmNvbWluZy0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURl
ZiA6IG1fYWxsb2NhdGlvblNTQS5waGlzRm9yQmxvY2soc3VjY2Vzc29yQmxvY2spKSB7CisgICAg
ICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBwaGlEZWYtPnZhbHVlKCk7CisgICAgICAg
ICAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURlZi0+
dmFyaWFibGUoKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSBnZXRNYXRl
cmlhbGl6YXRpb24oYmxvY2ssIGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXSk7CisKKyAg
ICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVwc2lsb24sIHVw
c2lsb25PcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhpTm9kZSksIGlu
Y29taW5nLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOworICAgICAgICB9
CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Jsb2NrKiBibG9jaywgUHJvbW90ZWRI
ZWFwTG9jYXRpb24gbG9jYXRpb24pCisgICAgeworICAgICAgICAvLyBJZiB3ZSBhcmUgY3VycmVu
dGx5IHBvaW50aW5nIHRvIGEgc2luZ2xlIGxvY2FsIGFsbG9jYXRpb24sCisgICAgICAgIC8vIHNp
bXBseSByZXR1cm4gdGhlIGFzc29jaWF0ZWQgbWF0ZXJpYWxpemF0aW9uLgorICAgICAgICBpZiAo
Tm9kZSogaWRlbnRpZmllciA9IG1faGVhcC5mb2xsb3cobG9jYXRpb24pKQorICAgICAgICAgICAg
cmV0dXJuIGdldE1hdGVyaWFsaXphdGlvbihibG9jaywgaWRlbnRpZmllcik7CisKKyAgICAgICAg
aWYgKE5vZGUqIHJlc3VsdCA9IG1fbG9jYWxNYXBwaW5nLmdldChsb2NhdGlvbikpCisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworCisgICAgICAgIC8vIFRoaXMgaW1wbGllcyB0aGF0IHRoZXJl
IGlzIG5vIGxvY2FsIG1hcHBpbmcuIEZpbmQgYSBub24tbG9jYWwgbWFwcGluZy4KKyAgICAgICAg
U1NBQ2FsY3VsYXRvcjo6RGVmKiBkZWYgPSBtX3BvaW50ZXJTU0Eubm9uTG9jYWxSZWFjaGluZ0Rl
ZigKKyAgICAgICAgICAgIGJsb2NrLCBtX2xvY2F0aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24p
KTsKKyAgICAgICAgQVNTRVJUKGRlZik7CisgICAgICAgIEFTU0VSVChkZWYtPnZhbHVlKCkpOwor
CisgICAgICAgIE5vZGUqIHJlc3VsdCA9IGRlZi0+dmFsdWUoKTsKKworICAgICAgICBBU1NFUlQo
IXJlc3VsdC0+cmVwbGFjZW1lbnQoKSk7CisKKyAgICAgICAgbV9sb2NhbE1hcHBpbmcuYWRkKGxv
Y2F0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIE5v
ZGUqIHJlc29sdmUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUpCisgICAgeworICAgICAg
ICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IHBvaW50aW5nIHRvIGEgc2luZ2xlIGxvY2FsIGFsbG9j
YXRpb24sCisgICAgICAgIC8vIHNpbXBseSByZXR1cm4gdGhlIGFzc29jaWF0ZWQgbWF0ZXJpYWxp
emF0aW9uLgorICAgICAgICBpZiAoTm9kZSogaWRlbnRpZmllciA9IG1faGVhcC5mb2xsb3cobm9k
ZSkpCisgICAgICAgICAgICByZXR1cm4gZ2V0TWF0ZXJpYWxpemF0aW9uKGJsb2NrLCBpZGVudGlm
aWVyKTsKKworICAgICAgICBpZiAobm9kZS0+cmVwbGFjZW1lbnQoKSkKKyAgICAgICAgICAgIG5v
ZGUgPSBub2RlLT5yZXBsYWNlbWVudCgpOworICAgICAgICBBU1NFUlQoIW5vZGUtPnJlcGxhY2Vt
ZW50KCkpOworCisgICAgICAgIHJldHVybiBub2RlOworICAgIH0KKworICAgIE5vZGUqIGdldE1h
dGVyaWFsaXphdGlvbihCYXNpY0Jsb2NrKiBibG9jaywgTm9kZSogaWRlbnRpZmllcikKKyAgICB7
CisgICAgICAgIEFTU0VSVChtX2hlYXAuaXNBbGxvY2F0aW9uKGlkZW50aWZpZXIpKTsKKyAgICAg
ICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGlkZW50aWZpZXIpKQorICAgICAgICAg
ICAgcmV0dXJuIGlkZW50aWZpZXI7CisKKyAgICAgICAgaWYgKE5vZGUqIG1hdGVyaWFsaXphdGlv
biA9IG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmdldChpZGVudGlmaWVyKSkKKyAgICAgICAg
ICAgIHJldHVybiBtYXRlcmlhbGl6YXRpb247CisKKyAgICAgICAgU1NBQ2FsY3VsYXRvcjo6RGVm
KiBkZWYgPSBtX2FsbG9jYXRpb25TU0Eubm9uTG9jYWxSZWFjaGluZ0RlZigKKyAgICAgICAgICAg
IGJsb2NrLCBtX25vZGVUb1ZhcmlhYmxlLmdldChpZGVudGlmaWVyKSk7CisgICAgICAgIEFTU0VS
VChkZWYgJiYgZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRp
b24uYWRkKGlkZW50aWZpZXIsIGRlZi0+dmFsdWUoKSk7CisgICAgICAgIEFTU0VSVCghZGVmLT52
YWx1ZSgpLT5yZXBsYWNlbWVudCgpKTsKKyAgICAgICAgcmV0dXJuIGRlZi0+dmFsdWUoKTsKKyAg
ICB9CisKKyAgICB2b2lkIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKHVuc2lnbmVkIG5vZGVJbmRl
eCwgTm9kZU9yaWdpbiBvcmlnaW4sIEF2YWlsYWJpbGl0eU1hcCYgYXZhaWxhYmlsaXR5LCBOb2Rl
KiBlc2NhcGVlLCBOb2RlKiBtYXRlcmlhbGl6YXRpb24pCisgICAgeworICAgICAgICAvLyBXZSBu
ZWVkIHRvIGZvbGxvdygpIHRoZSB2YWx1ZSBpbiB0aGUgaGVhcC4KKyAgICAgICAgLy8gQ29uc2lk
ZXIgdGhlIGZvbGxvd2luZyBncmFwaDoKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sgIzAK
KyAgICAgICAgLy8gICAwOiBOZXdPYmplY3Qoe30pCisgICAgICAgIC8vICAgMTogTmV3T2JqZWN0
KHt9KQorICAgICAgICAvLyAgIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeDowKQorICAgICAgICAv
LyAgIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisgICAgICAgIC8vICAgMjogR2V0QnlPZmZz
ZXQoQDAsIHg6MCkKKyAgICAgICAgLy8gICAtOiBNb3ZIaW50KEAyLCBsb2MxKQorICAgICAgICAv
LyAgIC06IEJyYW5jaCgjMSwgIzIpCisgICAgICAgIC8vCisgICAgICAgIC8vIEJsb2NrICMxCisg
ICAgICAgIC8vICAgMzogQ2FsbChmLCBAMSkKKyAgICAgICAgLy8gICA0OiBSZXR1cm4oQDApCisg
ICAgICAgIC8vCisgICAgICAgIC8vIEJsb2NrICMyCisgICAgICAgIC8vICAgLTogUmV0dXJuKHVu
ZGVmaW5lZCkKKyAgICAgICAgLy8KKyAgICAgICAgLy8gV2UgbmVlZCB0byBtYXRlcmlhbGl6ZSBA
MSBhdCBAMywgYW5kIHdoZW4gZG9pbmcgc28gd2UgbmVlZAorICAgICAgICAvLyB0byBpbnNlcnQg
YSBNb3ZIaW50IGZvciB0aGUgbWF0ZXJpYWxpemF0aW9uIGludG8gbG9jMSBhcworICAgICAgICAv
LyB3ZWxsLgorICAgICAgICAvLyBJbiBvcmRlciB0byBkbyB0aGlzLCB3ZSBzYXkgdGhhdCB3ZSBu
ZWVkIHRvIGluc2VydCBhbgorICAgICAgICAvLyB1cGRhdGUgaGludCBmb3IgYW55IGF2YWlsYWJp
bGl0eSB3aG9zZSBub2RlIHJlc29sdmUoKXMgdG8KKyAgICAgICAgLy8gdGhlIG1hdGVyaWFsaXph
dGlvbi4KKyAgICAgICAgZm9yIChhdXRvIGVudHJ5IDogYXZhaWxhYmlsaXR5Lm1faGVhcCkgewor
ICAgICAgICAgICAgaWYgKCFlbnRyeS52YWx1ZS5oYXNOb2RlKCkpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBpZiAobV9oZWFwLmZvbGxvdyhlbnRyeS52YWx1ZS5ub2Rl
KCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICBub2RlSW5kZXgsIGVudHJ5
LmtleS5jcmVhdGVIaW50KG1fZ3JhcGgsIG9yaWdpbiwgbWF0ZXJpYWxpemF0aW9uKSk7CisgICAg
ICAgIH0KKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBhdmFpbGFiaWxpdHkubV9sb2NhbHMu
c2l6ZSgpOyBpLS07KSB7CisgICAgICAgICAgICBpZiAoIWF2YWlsYWJpbGl0eS5tX2xvY2Fsc1tp
XS5oYXNOb2RlKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAo
bV9oZWFwLmZvbGxvdyhhdmFpbGFiaWxpdHkubV9sb2NhbHNbaV0ubm9kZSgpKSAhPSBlc2NhcGVl
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpbnQgb3BlcmFuZCA9
IGF2YWlsYWJpbGl0eS5tX2xvY2Fscy5vcGVyYW5kRm9ySW5kZXgoaSk7CisgICAgICAgICAgICBt
X2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgU3Bl
Y05vbmUsIE1vdkhpbnQsIG9yaWdpbiwgT3BJbmZvKG9wZXJhbmQpLAorICAgICAgICAgICAgICAg
IG1hdGVyaWFsaXphdGlvbi0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICB2b2lkIHBvcHVsYXRlTWF0ZXJpYWxpemF0aW9uKEJhc2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBu
b2RlLCBOb2RlKiBlc2NhcGVlKQorICAgIHsKKyAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlv
biA9IG1faGVhcC5nZXRBbGxvY2F0aW9uKGVzY2FwZWUpOworICAgICAgICBzd2l0Y2ggKG5vZGUt
Pm9wKCkpIHsKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDogeworICAgICAgICAg
ICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFs
aXphdGlvbkRhdGEoKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGZpcnN0Q2hpbGQgPSBtX2dyYXBo
Lm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpOworCisgICAgICAgICAgICBWZWN0b3I8UHJvbW90ZWRI
ZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5nZXQoZXNj
YXBlZSk7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN0cnVjdHVyZShTdHJ1
Y3R1cmVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25zLmNvbnRhaW5zKHN0cnVjdHVyZSkpOworCisgICAgICAgICAgICBtX2dyYXBoLm1f
dmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc3RydWN0dXJlKSwgS25v
d25DZWxsVXNlKSk7CisKKyAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9j
YXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLmtp
bmQoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgU3RydWN0dXJlUExvYzoKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKGxvY2F0aW9uID09IHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzogewor
ICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24uYmFzZSgpID09IGFsbG9jYXRpb24u
aWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgICAgICAgICAgZGF0YS5tX3Byb3BlcnRpZXMuYXBw
ZW5kKFBoYW50b21Qcm9wZXJ0eVZhbHVlKGxvY2F0aW9uLmluZm8oKSkpOworICAgICAgICAgICAg
ICAgICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnModmFsdWUpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChtX2JvdHRv
bSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOworICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIkJhZCBsb2NhdGlv
biBraW5kIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBub2RlLT5jaGlsZHJlbiA9IEFkamFjZW5jeUxpc3QoCisgICAgICAgICAgICAgICAgQWRqYWNl
bmN5TGlzdDo6VmFyaWFibGUsCisgICAgICAgICAgICAgICAgZmlyc3RDaGlsZCwgbV9ncmFwaC5t
X3ZhckFyZ0NoaWxkcmVuLnNpemUoKSAtIGZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKworICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbjog
eworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9i
amVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKKworICAgICAgICAgICAgdW5zaWduZWQgZmlyc3RD
aGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCk7CisKKyAgICAgICAgICAgIFZl
Y3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxv
Y2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24g
c3ltYm9sVGFibGUoQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYywgYWxsb2NhdGlvbi5pZGVudGlm
aWVyKCkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzeW1ib2xUYWJs
ZSkpOworICAgICAgICAgICAgQVNTRVJUKG5vZGUtPmNlbGxPcGVyYW5kKCkgPT0gcmVzb2x2ZShi
bG9jaywgc3ltYm9sVGFibGUpLT5jb25zdGFudCgpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92
YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSksIEtu
b3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzY29wZShB
Y3RpdmF0aW9uU2NvcGVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3BlKSk7CisgICAgICAgICAgICBtX2dyYXBo
Lm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKEVkZ2UocmVzb2x2ZShibG9jaywgc2NvcGUpLCBLbm93
bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2Nh
dGlvbiA6IGxvY2F0aW9ucykgeworICAgICAgICAgICAgICAgIHN3aXRjaCAobG9jYXRpb24ua2lu
ZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBBY3RpdmF0aW9uU2NvcGVQTG9jOiB7CisgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbiA9PSBzY29wZSk7CisgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2Ug
QWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYzogeworICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb24gPT0gc3ltYm9sVGFibGUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOiB7
CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbi5iYXNlKCkgPT0gYWxsb2NhdGlv
bi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgICAgICAgICBkYXRhLm1fcHJvcGVydGllcy5h
cHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRpb24uaW5mbygpKSk7CisgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAg
ICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyh2YWx1ZSkpCisgICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5kKG1fYm90
dG9tKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIGxvY2F0
aW9uIGtpbmQiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIG5vZGUtPmNoaWxkcmVuID0gQWRqYWNlbmN5TGlzdCgKKyAgICAgICAgICAgICAgICBBZGph
Y2VuY3lMaXN0OjpWYXJpYWJsZSwKKyAgICAgICAgICAgICAgICBmaXJzdENoaWxkLCBtX2dyYXBo
Lm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpIC0gZmlyc3RDaGlsZCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKKyAgICAgICAgICAg
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JB
bGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuc2l6
ZSgpID09IDIpOworCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBleGVjdXRhYmxl
KEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAg
ICAgICAgIEFTU0VSVF9VTlVTRUQoZXhlY3V0YWJsZSwgbG9jYXRpb25zLmNvbnRhaW5zKGV4ZWN1
dGFibGUpKTsKKworICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gYWN0aXZhdGlvbihG
dW5jdGlvbkFjdGl2YXRpb25QTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAg
ICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKGFjdGl2YXRpb24pKTsKKworICAgICAgICAg
ICAgbm9kZS0+Y2hpbGQxKCkgPSBFZGdlKHJlc29sdmUoYmxvY2ssIGFjdGl2YXRpb24pLCBLbm93
bkNlbGxVc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbWF0ZXJpYWxp
emUgb3AiKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIE5vZGUqIGNyZWF0ZVJlY292ZXJ5KEJh
c2ljQmxvY2sqIGJsb2NrLCBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTm9kZSogd2hl
cmUpCisgICAgeworICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRhdGFMb2coIlJl
Y292ZXJpbmcgIiwgbG9jYXRpb24sICIgYXQgIiwgd2hlcmUsICJcbiIpOworICAgICAgICBBU1NF
UlQobG9jYXRpb24uYmFzZSgpLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICBOb2Rl
KiBiYXNlID0gZ2V0TWF0ZXJpYWxpemF0aW9uKGJsb2NrLCBsb2NhdGlvbi5iYXNlKCkpOworICAg
ICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKworICAgICAgICBp
ZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRhdGFMb2coIkJhc2UgaXMgIiwgYmFzZSwgIiBhbmQg
dmFsdWUgaXMgIiwgdmFsdWUsICJcbiIpOworCisgICAgICAgIGlmIChiYXNlLT5pc1BoYW50b21B
bGxvY2F0aW9uKCkpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9tb3RlZEhlYXBMb2NhdGlvbihi
YXNlLCBsb2NhdGlvbi5kZXNjcmlwdG9yKCkpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAg
bV9ncmFwaCwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAg
ICBiYXNlLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmln
aW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgdmFsdWUpOworICAgICAgICB9CisKKyAgICAg
ICAgc3dpdGNoIChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5
UExvYzogeworICAgICAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1faGVhcC5nZXRB
bGxvY2F0aW9uKGxvY2F0aW9uLmJhc2UoKSk7CisgICAgICAgIAorICAgICAgICAgICAgVmVjdG9y
PFN0cnVjdHVyZSo+IHN0cnVjdHVyZXM7CisgICAgICAgICAgICBzdHJ1Y3R1cmVzLmFwcGVuZFJh
bmdlKGFsbG9jYXRpb24uc3RydWN0dXJlcygpLmJlZ2luKCksIGFsbG9jYXRpb24uc3RydWN0dXJl
cygpLmVuZCgpKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBsb2Nh
dGlvbi5pbmZvKCk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOworCisgICAgICAgICAgICBzdGQ6OnNv
cnQoCisgICAgICAgICAgICAgICAgc3RydWN0dXJlcy5iZWdpbigpLAorICAgICAgICAgICAgICAg
IHN0cnVjdHVyZXMuZW5kKCksCisgICAgICAgICAgICAgICAgW3VpZF0gKFN0cnVjdHVyZSAqYSwg
U3RydWN0dXJlKiBiKSAtPiBib29sIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEtPmdl
dENvbmN1cnJlbnRseSh1aWQpIDwgYi0+Z2V0Q29uY3VycmVudGx5KHVpZCk7CisgICAgICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGZpcnN0T2Zmc2V0ID0gc3Ry
dWN0dXJlc1swXS0+Z2V0Q29uY3VycmVudGx5KHVpZCk7CisKKyAgICAgICAgICAgIGlmIChmaXJz
dE9mZnNldCA9PSBzdHJ1Y3R1cmVzLmxhc3QoKS0+Z2V0Q29uY3VycmVudGx5KHVpZCkpIHsKKyAg
ICAgICAgICAgICAgICBOb2RlKiBzdG9yYWdlID0gYmFzZTsKKyAgICAgICAgICAgICAgICAvLyBG
SVhNRTogV2hlbiB3ZSBkZWNpZGUgdG8gc2luayBvYmplY3RzIHdpdGggYQorICAgICAgICAgICAg
ICAgIC8vIHByb3BlcnR5IHN0b3JhZ2UsIHdlIHNob3VsZCBoYW5kbGUgbm9uLWlubGluZSBvZmZz
ZXRzLgorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KGZpcnN0
T2Zmc2V0KSk7CisKKyAgICAgICAgICAgICAgICBTdG9yYWdlQWNjZXNzRGF0YSogZGF0YSA9IG1f
Z3JhcGgubV9zdG9yYWdlQWNjZXNzRGF0YS5hZGQoKTsKKyAgICAgICAgICAgICAgICBkYXRhLT5v
ZmZzZXQgPSBmaXJzdE9mZnNldDsKKyAgICAgICAgICAgICAgICBkYXRhLT5pZGVudGlmaWVyTnVt
YmVyID0gaWRlbnRpZmllck51bWJlcjsKKworICAgICAgICAgICAgICAgIHJldHVybiBtX2dyYXBo
LmFkZE5vZGUoCisgICAgICAgICAgICAgICAgICAgIFNwZWNOb25lLAorICAgICAgICAgICAgICAg
ICAgICBQdXRCeU9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbiwKKyAg
ICAgICAgICAgICAgICAgICAgT3BJbmZvKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICBFZGdl
KHN0b3JhZ2UsIEtub3duQ2VsbFVzZSksCisgICAgICAgICAgICAgICAgICAgIEVkZ2UoYmFzZSwg
S25vd25DZWxsVXNlKSwKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBNdWx0aVB1dEJ5T2Zmc2V0RGF0YSogZGF0
YSA9IG1fZ3JhcGgubV9tdWx0aVB1dEJ5T2Zmc2V0RGF0YS5hZGQoKTsKKyAgICAgICAgICAgIGRh
dGEtPmlkZW50aWZpZXJOdW1iZXIgPSBpZGVudGlmaWVyTnVtYmVyOworCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IGZpcnN0T2Zm
c2V0OworICAgICAgICAgICAgICAgIFN0cnVjdHVyZVNldCBjdXJyZW50U2V0OworICAgICAgICAg
ICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBzdHJ1Y3R1cmVzKSB7CisgICAgICAg
ICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3Vy
cmVudGx5KHVpZCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChvZmZzZXQgIT0gY3VycmVudE9m
ZnNldCkgeworICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+dmFyaWFudHMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1dEJ5SWRWYXJpYW50OjpyZXBsYWNlKGN1cnJl
bnRTZXQsIGN1cnJlbnRPZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRP
ZmZzZXQgPSBvZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2V0LmNsZWFy
KCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFNl
dC5hZGQoc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZGF0
YS0+dmFyaWFudHMuYXBwZW5kKFB1dEJ5SWRWYXJpYW50OjpyZXBsYWNlKGN1cnJlbnRTZXQsIGN1
cnJlbnRPZmZzZXQpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIG1fZ3Jh
cGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICBN
dWx0aVB1dEJ5T2Zmc2V0LAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAg
ICAgICAgICAgIGJhc2UtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hl
cmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksCisgICAg
ICAgICAgICAgICAgRWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAgIHZh
bHVlLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzogeworICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGgu
YWRkTm9kZSgKKyAgICAgICAgICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICBQdXRD
bG9zdXJlVmFyLAorICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAg
ICAgIGJhc2UtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9y
aWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8obG9jYXRpb24uaW5mbygpKSwK
KyAgICAgICAgICAgICAgICBFZGdlKGJhc2UsIEtub3duQ2VsbFVzZSksCisgICAgICAgICAgICAg
ICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIGJhc2Us
ICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBTU0FDYWxjdWxhdG9yIG1fcG9pbnRlclNTQTsKKyAgICBTU0FDYWxjdWxhdG9y
IG1fYWxsb2NhdGlvblNTQTsKKyAgICBIYXNoU2V0PE5vZGUqPiBtX3NpbmtDYW5kaWRhdGVzOwor
ICAgIEhhc2hNYXA8UHJvbW90ZWRIZWFwTG9jYXRpb24sIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxl
Kj4gbV9sb2NhdGlvblRvVmFyaWFibGU7CisgICAgSGFzaE1hcDxOb2RlKiwgU1NBQ2FsY3VsYXRv
cjo6VmFyaWFibGUqPiBtX25vZGVUb1ZhcmlhYmxlOworICAgIEhhc2hNYXA8UHJvbW90ZWRIZWFw
TG9jYXRpb24sIE5vZGUqPiBtX2xvY2FsTWFwcGluZzsKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2Rl
Kj4gbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb247CisgICAgSW5zZXJ0aW9uU2V0IG1faW5zZXJ0
aW9uU2V0OworICAgIENvbWJpbmVkTGl2ZW5lc3MgbV9jb21iaW5lZExpdmVuZXNzOworCisgICAg
SGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlOworICAgIEhh
c2hNYXA8Tm9kZSosIFZlY3RvcjxOb2RlKj4+IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJp
YWxpemF0aW9uczsKKyAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRp
b24+PiBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJpZXM7CisKKyAgICBIYXNoTWFwPE5v
ZGUqLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+PiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRp
b247CisKKyAgICBCbG9ja01hcDxMb2NhbEhlYXA+IG1faGVhcEF0SGVhZDsKKyAgICBCbG9ja01h
cDxMb2NhbEhlYXA+IG1faGVhcEF0VGFpbDsKKyAgICBMb2NhbEhlYXAgbV9oZWFwOworCisgICAg
Tm9kZSogbV9ib3R0b20gPSBudWxscHRyOworfTsKKworfQorCitib29sIHBlcmZvcm1BbGxvY2F0
aW9uQ3ljbGVTaW5raW5nKEdyYXBoJiBncmFwaCkKK3sKKyAgICBTYW1wbGluZ1JlZ2lvbiBzYW1w
bGluZ1JlZ2lvbigiREZHIEFsbG9jYXRpb24gQ3ljbGUgU2lua2luZyBQaGFzZSIpOworICAgIHJl
dHVybiBydW5QaGFzZTxBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2U+KGdyYXBoKTsKK30KKwor
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRworCisjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNp
bmtpbmdQaGFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBbGxvY2F0aW9uQ3lj
bGVTaW5raW5nUGhhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmQ2ZDVjNTc5YTNlODljZTU4Yjc5MGU1NTYz
MWE3ZjU2M2NmMDg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaApAQCAtMCwwICsxLDQ4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgREZHQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlX2gKKyNkZWZpbmUgREZHQWxsb2NhdGlvbkN5Y2xlU2lu
a2luZ1BoYXNlX2gKKworI2lmIEVOQUJMRShERkdfSklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIERGRyB7CisKK2NsYXNzIEdyYXBoOworCisvLyBFbGltaW5hdGVzIGFsbG9jYXRpb25z
IGFsbG9jYXRpb25zIHRoYXQgYXJlIG5ldmVyIHVzZWQgZXhjZXB0CisvLyBsb2NhbGx5LiBUaGlz
IHdpbGwgaW5zZXJ0IHBoYW50b20gYWxsb2NhdGlvbnMgYW5kIHN0b3JlIGhpbnRzIHNvCisvLyB0
aGF0IE9TUiBleGl0IGNhbiBtYXRlcmlhbGl6ZSB0aGUgb2JqZWN0cy4gUmVwbGFjZXMgYWxsIHVz
ZXMgb2YgdGhlCisvLyBvYmplY3RzJyBmaWVsZHMgd2l0aCBTU0EgZGF0YSBmbG93LiBDb250cmFy
eSB0byB0aGUKKy8vIE9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UsIHRoaXMgcGhhc2UgaXMg
YWJsZSB0byBoYW5kbGUgY3ljbGljCisvLyBhbGxvY2F0aW9uIGdyYXBocy4KKworYm9vbCBwZXJm
b3JtQWxsb2NhdGlvbkN5Y2xlU2lua2luZyhHcmFwaCYpOworCit9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6REZHCisKKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKKworI2VuZGlmIC8vIERGR09iamVj
dEN5Y2xlU2lua2luZ1BoYXNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAppbmRl
eCBiYWM1MzhmMDI1ZDNlY2UxMzdiZTMxNzgwNjg4MTVkOTUzN2M5NWE4Li5mZWQ2YTY4N2Q3YThk
YTlhMzY5MTUyMGExMDA0NGU4NmY0ZTU4MWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdH
cmFwaC5oCkBAIC0zMjUsNyArMzI1LDYgQEAgcHVibGljOgogICAgIAogICAgIFN0cnVjdHVyZVNl
dCogYWRkU3RydWN0dXJlU2V0KGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlU2V0KQogICAg
IHsKLSAgICAgICAgQVNTRVJUKHN0cnVjdHVyZVNldC5zaXplKCkpOwogICAgICAgICBtX3N0cnVj
dHVyZVNldC5hcHBlbmQoc3RydWN0dXJlU2V0KTsKICAgICAgICAgcmV0dXJuICZtX3N0cnVjdHVy
ZVNldC5sYXN0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdMYXp5Tm9kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2Rl
LmNwcAppbmRleCA5NTRlZDk4NTVkNWVlMmE1MzYyYTljMTdiN2E1NzMxNGIyYTI1NDY5Li5jOGQw
OTQwZTc3ZjNmZGI5MTFiYWE0NGRiNWM0ZGVlMjA4NTkxMmMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcApAQCAtMzgsOCArMzgsNyBAQCB2b2lkIExhenlOb2Rl
OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgICAgIGlmIChpc05vZGUoKSkKICAg
ICAgICAgICAgIG91dC5wcmludCgiTGF6eU5vZGU6QCIsIGFzTm9kZSgpLT5pbmRleCgpKTsKICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCJMYXp5Tm9kZTpGcm96ZW5WYWx1ZToi
LCBHcmFwaDo6b3BOYW1lKG9wKCkpLCAiLCAiLCBwb2ludGVyRHVtcChhc1ZhbHVlKCkpKTsKLSAg
ICAgICAgb3V0LnByaW50KCIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIkxhenlOb2RlOkZy
b3plblZhbHVlKCIsIEdyYXBoOjpvcE5hbWUob3AoKSksICIsICIsIHBvaW50ZXJEdW1wKGFzVmFs
dWUoKSksICIpIik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmlu
ZGV4IDljYTJjZGM2ODE4YTIzYmMyYTZiN2MxMzYzMGM0YjkyMmJiZWQzMWYuLjUwYmExZGQyOTBm
YmFhNmVmYTM4N2Q2ZTJlZTg2MDc1YTk1MGE2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZS5oCkBAIC0xMjkzLDEzICsxMjkzLDcgQEAgc3RydWN0IE5vZGUgewogICAgIEZyb3plblZh
bHVlKiBjZWxsT3BlcmFuZCgpCiAgICAgewogICAgICAgICBBU1NFUlQoaGFzQ2VsbE9wZXJhbmQo
KSk7Ci0gICAgICAgIHN3aXRjaCAob3AoKSkgewotICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3Jl
YXRlQWN0aXZhdGlvbjoKLSAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PEZyb3pl
blZhbHVlKj4obV9vcEluZm8yKTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PEZyb3plblZhbHVlKj4obV9vcEluZm8pOwotICAgICAgICB9Ci0g
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PEZyb3plblZhbHVlKj4obV9vcEluZm8pOwogICAgIH0KICAgICAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMTM1OSw2ICsxMzUzLDcgQEAgc3RydWN0IE5vZGUgewog
ICAgICAgICBzd2l0Y2ggKG9wKCkpIHsKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAg
ICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0ZToKKyAgICAgICAgY2FzZSBNYXRlcmlh
bGl6ZU5ld09iamVjdDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTQ0NCw3ICsxNDM5LDcgQEAgc3RydWN0
IE5vZGUgewogICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEmIG9iamVjdE1hdGVyaWFsaXph
dGlvbkRhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGhhc09iamVjdE1hdGVyaWFsaXphdGlv
bkRhdGEoKSk7Ci0gICAgICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhKj4obV9vcEluZm8pOworICAgICAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nh
c3Q8T2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSo+KG1fb3BJbmZvMik7CiAgICAgfQogCiAgICAg
Ym9vbCBpc09iamVjdEFsbG9jYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKaW5kZXgg
ZmY1ZmQ5NWE3YzBjODUxNWYzZDc3MTdjZjZhNWU2NGQ0NmYxZDI3Yi4uOGM4NDE5YTgxOGNkMjY0
MTkzOTlmNGU0OTEwZjQ5NzBiZGRiMTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwCkBA
IC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiREZHR3JhcGguaCIKICNpbmNsdWRlICJERkdJbnNl
cnRpb25TZXQuaCIKICNpbmNsdWRlICJERkdQaGFzZS5oIgotI2luY2x1ZGUgIkRGR1Byb21vdGVI
ZWFwQWNjZXNzLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCiBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAppbmRleCA0MjIzODJmZjI5
ZDE3OTc1YmJmMmYxODNiNjc4MTFhNTg4ZWY1NmM2Li40ZmI3OTEyZDc4OTBlMTRkNGZkNWM1MjU3
NmIyNjY5NzNlMjU1MTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbmNsdWRlICJERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCIKICNpbmNsdWRlICJE
RkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHUGhhc2UuaCIK
KyNpbmNsdWRlICJERkdQaGlDaGlsZHJlbi5oIgogI2luY2x1ZGUgIkRGR1Byb21vdGVIZWFwQWNj
ZXNzLmgiCiAjaW5jbHVkZSAiREZHU1NBQ2FsY3VsYXRvci5oIgogI2luY2x1ZGUgIkRGR1ZhbGlk
YXRlLmgiCkBAIC05NCw2ICs5NSw4IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgICAgIHdoaWxl
IChwZXJmb3JtU2lua2luZygpKSB7IH0KICAgICAgICAgCisgICAgICAgIGZpbGxTdHJ1Y3R1cmVT
ZXRzKCk7CisKICAgICAgICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICAgICAgIGRhdGFMb2coIkdy
YXBoIGFmdGVyIHNpbmtpbmc6XG4iKTsKICAgICAgICAgICAgIG1fZ3JhcGguZHVtcCgpOwpAQCAt
NjE2LDE0ICs2MTksMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1f
aW5zZXJ0aW9uU2V0Lmluc2VydCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5k
ZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
KEFjdGl2YXRpb25TY29wZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5bWJvbFRhYmxlUExv
Yywgbm9kZSkuY3JlYXRlSGludCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9n
cmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUoKSkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogc3ltYm9sVGFibGVOb2RlID0gbV9pbnNl
cnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZUluZGV4ICsgMSwgbm9kZS0+b3JpZ2luLCBub2RlLT5jZWxsT3BlcmFuZCgpKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy
b21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIG5vZGUpLmNyZWF0
ZUhpbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9y
aWdpbiwgc3ltYm9sVGFibGVOb2RlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJv
bW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBt
X2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVy
aWFsaXphdGlvbkRhdGEoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBkYXRhLm1fcHJvcGVy
dGllc1tpXS5tX2lkZW50aWZpZXJOdW1iZXI7CkBAIC02MzIsNyArNjMzLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zdXJlVmFyUExvYywgbm9kZSwg
aWRlbnRpZmllck51bWJlcikuY3JlYXRlSGludCgKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChu
b2RlLCBpICsgMikubm9kZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tQ3JlYXRlQWN0aXZhdGlvbigp
OwogICAgICAgICAgICAgICAgICAgICB9CkBAIC04MzEsNiArODMyLDI1IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBkZWYtPnZhbHVlKCk7CiAgICAgfQogCisgICAgdm9pZCBmaWxsU3RydWN0
dXJlU2V0cygpCisgICAgeworICAgICAgICBQaGlDaGlsZHJlbiBwaGlDaGlsZHJlbihtX2dyYXBo
KTsKKworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5h
dHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsK
KyAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSAhPSBNYXRlcmlhbGl6ZU5ld09iamVjdCkK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmVTZXQmIHN0cnVjdHVyZXMgPSBub2RlLT5zdHJ1Y3R1cmVTZXQoKTsKKyAgICAgICAgICAgICAg
ICBwaGlDaGlsZHJlbi5mb3JBbGxUcmFuc2l0aXZlSW5jb21pbmdWYWx1ZXMoCisgICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpLAorICAgICAgICAg
ICAgICAgICAgICBbJl0gKE5vZGUqIHN0cnVjdHVyZSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0dXJlcy5hZGQoc3RydWN0dXJlLT5jYXN0Q29uc3RhbnQ8U3RydWN0dXJlKj4oKSk7
CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgU2lua0NhbmRpZGF0ZUZ1bmN0b3IsIHR5cGVuYW1l
IEVzY2FwZUZ1bmN0b3I+CiAgICAgdm9pZCBoYW5kbGVOb2RlKAogICAgICAgICBOb2RlKiBub2Rl
LApAQCAtOTY0LDEzICs5ODQsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBOZXdPYmplY3Q6
CiAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKICAgICAgICAgICAgIE9iamVj
dE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZVNldCogc3RydWN0dXJlcyA9IG1f
Z3JhcGguYWRkU3RydWN0dXJlU2V0KFN0cnVjdHVyZVNldCgpKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgcmVzdWx0ID0gbV9ncmFwaC5hZGROb2RlKAogICAgICAgICAgICAgICAgIGVzY2Fw
ZWUtPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKICAg
ICAgICAgICAgICAgICBOb2RlT3JpZ2luKAogICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5v
cmlnaW4uc2VtYW50aWMsCiAgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhp
dCksCi0gICAgICAgICAgICAgICAgT3BJbmZvKGRhdGEpLCBPcEluZm8oKSwgMCwgMCk7CisgICAg
ICAgICAgICAgICAgT3BJbmZvKHN0cnVjdHVyZXMpLCBPcEluZm8oZGF0YSksIDAsIDApOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtOTkzLDcgKzEwMTQsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCiAgICAgICAgICAgICAgICAgICAgIGVzY2Fw
ZWUtPm9yaWdpbi5zZW1hbnRpYywKICAgICAgICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5m
b3JFeGl0KSwKLSAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSksIE9wSW5mbyhzeW1ib2xUYWJs
ZSksIDAsIDApOworICAgICAgICAgICAgICAgIE9wSW5mbyhzeW1ib2xUYWJsZSksIE9wSW5mbyhk
YXRhKSwgMCwgMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC0xMDYzLDEw
ICsxMDg0LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBM
b2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2NhcGVl
KTsKIAotICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gc2NvcGUoQWN0aXZhdGlvblNj
b3BlUExvYywgZXNjYXBlZSk7CiAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzeW1i
b2xUYWJsZShBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBlc2NhcGVlKTsKLSAgICAgICAgICAg
IEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc2NvcGUpKTsKKyAgICAgICAgICAgIEFTU0VSVChs
b2NhdGlvbnMuY29udGFpbnMoc3ltYm9sVGFibGUpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92
YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSksIEtu
b3duQ2VsbFVzZSkpOwogCisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzY29wZShB
Y3RpdmF0aW9uU2NvcGVQTG9jLCBlc2NhcGVlKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlv
bnMuY29udGFpbnMoc2NvcGUpKTsKICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJl
bi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOwogCiAg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbG9jYXRpb25zLnNpemUoKTsgKytp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAppbmRleCA2NDljNjA1NzFjOTNm
YWM4Yjc1ZGIyNzVlZGIzMzdjN2EzY2VmNmJjLi5kNTVlM2YwMWQ0NzI1YjU5N2I1Y2NhODEwODlj
ZmY5ZmUzMDIxNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Bs
YW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCisjaW5jbHVkZSAiREZHQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHQXJndW1lbnRzRWxpbWluYXRp
b25QaGFzZS5oIgogI2luY2x1ZGUgIkRGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaCIKICNp
bmNsdWRlICJERkdCeXRlQ29kZVBhcnNlci5oIgpAQCAtMzY1LDEwICszNjYsMTEgQEAgUGxhbjo6
Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUm
IGxvbmdMaXZlZFN0YXRlKQogICAgICAgICBwZXJmb3JtQ2xlYW5VcChkZmcpOyAvLyBSZWR1Y2Ug
dGhlIGdyYXBoIHNpemUgYSBsb3QuCiAgICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKICAgICAgICAg
Y2hhbmdlZCB8PSBwZXJmb3JtU3RyZW5ndGhSZWR1Y3Rpb24oZGZnKTsKLSAgICAgICAgaWYgKE9w
dGlvbnM6OmVuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nKCkpIHsKLSAgICAgICAgICAgIGNo
YW5nZWQgfD0gcGVyZm9ybUNyaXRpY2FsRWRnZUJyZWFraW5nKGRmZyk7CisgICAgICAgIGNoYW5n
ZWQgfD0gcGVyZm9ybUNyaXRpY2FsRWRnZUJyZWFraW5nKGRmZyk7CisgICAgICAgIGlmIChPcHRp
b25zOjplbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nKCkpCisgICAgICAgICAgICBjaGFuZ2Vk
IHw9IHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVTaW5raW5nKGRmZyk7CisgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGNoYW5nZWQgfD0gcGVyZm9ybU9iamVjdEFsbG9jYXRpb25TaW5raW5nKGRmZyk7
Ci0gICAgICAgIH0KICAgICAgICAgaWYgKGNoYW5nZWQpIHsKICAgICAgICAgICAgIC8vIFN0YXRl
LWF0LXRhaWwgYW5kIHN0YXRlLWF0LWhlYWQgd2lsbCBiZSBpbnZhbGlkIGlmIHdlIGRpZCBzdHJl
bmd0aCByZWR1Y3Rpb24gc2luY2UKICAgICAgICAgICAgIC8vIGl0IG1pZ2h0IGluY3JlYXNlIGxp
dmUgcmFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9t
b3RlZEhlYXBMb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3Rl
ZEhlYXBMb2NhdGlvbi5oCmluZGV4IGJjMTUxNTg0ODA3NDM3ZGIwNzI5NDE0MTllOGI0YjliYTNl
NTYyY2IuLmEyMWU0ZGExYWY5YjViMGZiNjA0YzNiMjIzNzA3MWY1MTVmYTY1NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgK
QEAgLTU3LDggKzU3LDE2IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2luZm8oaW5mbykKICAgICB7
CiAgICAgfQotICAgIAorCisgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoV1RGOjpIYXNo
VGFibGVEZWxldGVkVmFsdWVUeXBlKQorICAgICAgICA6IG1fa2luZChJbnZhbGlkUHJvbW90ZWRM
b2NhdGlvbktpbmQpCisgICAgICAgICwgbV9pbmZvKDEpCisgICAgeworICAgIH0KKwogICAgIGJv
b2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IEludmFsaWRQcm9tb3RlZExv
Y2F0aW9uS2luZDsgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhKnRoaXM7IH0KICAgICAKICAgICBQcm9tb3RlZExvY2F0aW9uS2luZCBraW5kKCkgY29u
c3QgeyByZXR1cm4gbV9raW5kOyB9CiAgICAgdW5zaWduZWQgaW5mbygpIGNvbnN0IHsgcmV0dXJu
IG1faW5mbzsgfQpAQCAtODYsNiArOTQsMTggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0
dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQgJiYgbV9pbmZvOwogICAg
IH0KKworICAgIGJvb2wgbmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHN3aXRjaCAoa2luZCgpKSB7CisgICAgICAgIGNhc2UgTmFtZWRQcm9wZXJ0eVBMb2M6
CisgICAgICAgIGNhc2UgQ2xvc3VyZVZhclBMb2M6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9
CisgICAgfQogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIApA
QCAtOTQsNiArMTE0LDEyIEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmZvOwogfTsKIAor
c3RydWN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaCB7CisgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGtleSkgeyByZXR1cm4g
a2V5Lmhhc2goKTsgfQorICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9yJiBhLCBjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciYgYikgeyBy
ZXR1cm4gYSA9PSBiOyB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1w
dHlPckRlbGV0ZWQgPSB0cnVlOworfTsKKwogY2xhc3MgUHJvbW90ZWRIZWFwTG9jYXRpb24gewog
cHVibGljOgogICAgIFByb21vdGVkSGVhcExvY2F0aW9uKApAQCAtMTc2LDYgKzIwMiwxNiBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlv
bj4gOiBTaW1wbGVDbGFzc0hhc2hUcgogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJ
c1plcm8gPSBmYWxzZTsKIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvcj4geworICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9ySGFzaCBIYXNoOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IEhhc2hUcmFpdHM7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6
OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1w
dHlWYWx1ZUlzWmVybyA9IGZhbHNlOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKICNlbmRp
ZiAvLyBFTkFCTEUoREZHX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHVmFsaWRhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0
ZS5jcHAKaW5kZXggMmJhMzMzODQ5Mzk5ZTQzYjZjNDFmNWRmZmJlOTA5MzM1MTUxZjU1Mi4uYTk2
OWMxM2M5NjE2YjhkNDZmOGE1YTEyNjZjM2ViYTk4ODgwMDYxZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAKQEAgLTUyNCwxMiArNTI0LDQyIEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tOgogICAgICAgICAgICAgICAgICAgICBWQUxJ
REFURSgobm9kZSksICEiYmFkIG5vZGUgdHlwZSBmb3IgU1NBIik7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB0aGluZ3MgaGVyZS4K
ICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzQ3MQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAgICAgICAg
ICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbU5l
d0Z1bmN0aW9uOgorICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb246
CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRzOgorICAgICAgICAg
ICAgICAgIGNhc2UgUGhhbnRvbUNsb25lZEFyZ3VtZW50czoKKyAgICAgICAgICAgICAgICBjYXNl
IE1vdkhpbnQ6CisgICAgICAgICAgICAgICAgY2FzZSBVcHNpbG9uOgorICAgICAgICAgICAgICAg
IGNhc2UgRm9yd2FyZFZhcmFyZ3M6CisgICAgICAgICAgICAgICAgY2FzZSBDYWxsRm9yd2FyZFZh
cmFyZ3M6CisgICAgICAgICAgICAgICAgY2FzZSBDb25zdHJ1Y3RGb3J3YXJkVmFyYXJnczoKKyAg
ICAgICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogVGhpcyBpcyBwcm9iYWJseSBub3QgY29ycmVjdC4KKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIFB1dEhpbnQ6CisgICAgICAg
ICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgbm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbUFs
bG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCisg
ICAgICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgWyZd
IChjb25zdCBFZGdlJiBlZGdlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURB
VEUoKG5vZGUpLCAhZWRnZS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IGQ1Y2UwZDdmMWIyNDU3MDM2
MzRjMDUwMzU3N2MyYzVjMWJkNDFiMWQuLjg4ZjU0ZDA0ZWQ4YmI3N2NlMGMyMTRmNTMwZTNkZWVm
NzYxNzY5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCkBAIC01Mjg2LDEyICs1Mjg2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKQogICAgICAg
ICAgICAgdmFsdWVzLmFwcGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2Rl
LCAxICsgaSkpKTsKICAgICAgICAgCi0gICAgICAgIFN0cnVjdHVyZVNldCBzZXQ7Ci0gICAgICAg
IG1faW50ZXJwcmV0ZXIucGhpQ2hpbGRyZW4oKS0+Zm9yQWxsVHJhbnNpdGl2ZUluY29taW5nVmFs
dWVzKAotICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApLm5vZGUoKSwK
LSAgICAgICAgICAgIFsmXSAoTm9kZSogaW5jb21pbmcpIHsKLSAgICAgICAgICAgICAgICBzZXQu
YWRkKGluY29taW5nLT5jYXN0Q29uc3RhbnQ8U3RydWN0dXJlKj4oKSk7Ci0gICAgICAgICAgICB9
KTsKKyAgICAgICAgY29uc3QgU3RydWN0dXJlU2V0JiBzZXQgPSBtX25vZGUtPnN0cnVjdHVyZVNl
dCgpOwogICAgICAgICAKICAgICAgICAgVmVjdG9yPExCYXNpY0Jsb2NrLCAxPiBibG9ja3Moc2V0
LnNpemUoKSk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHNldC5zaXplKCk7IGktLTspCkBA
IC01MzkwLDEwICs1Mzg1LDExIEBAIHByaXZhdGU6CiAKICAgICAgICAgVmVjdG9yPExWYWx1ZSwg
OD4gdmFsdWVzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3Bl
cnRpZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUo
bV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEgKyBpKSkpOworICAgICAgICAgICAgdmFsdWVz
LmFwcGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyICsgaSkpKTsK
IAotICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAwKSk7CisgICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9ncmFwaC52YXJBcmdD
aGlsZChtX25vZGUsIDEpKTsKICAgICAgICAgU3ltYm9sVGFibGUqIHRhYmxlID0gbV9ub2RlLT5j
YXN0T3BlcmFuZDxTeW1ib2xUYWJsZSo+KCk7CisgICAgICAgIEFTU0VSVCh0YWJsZSA9PSBtX2dy
YXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCktPmNhc3RDb25zdGFudDxTeW1ib2xUYWJsZSo+KCkp
OwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YWN0aXZhdGlvblN0cnVjdHVyZSgpOwogCiAgICAg
ICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJNYXRlcmlh
bGl6ZUNyZWF0ZUFjdGl2YXRpb24gc2xvdyBwYXRoIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCmluZGV4IDI3Nzg4ZTdmNmE1YTlmYjll
NTMwNjllYzU0YzA5MDBkZWNkOWVjN2UuLjE2NTAxNDNhNTZiOTJjNzBiNTUxZjk5OWY0NjgxZTk1
OTM1NDY2YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhp
dENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRD
b21waWxlci5jcHAKQEAgLTIyMCwyNCArMjIwLDI0IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHVi
KAogICAgICAgICAgICAgICAgIGppdC5vcjMyKEdQUkluZm86OnJlZ1QyLCBNYWNyb0Fzc2VtYmxl
cjo6QWJzb2x1dGVBZGRyZXNzKGFycmF5UHJvZmlsZS0+YWRkcmVzc09mQXJyYXlNb2RlcygpKSk7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKCEhZXhp
dC5tX3ZhbHVlUHJvZmlsZSkKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1Qw
LCBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWlsQnVja2V0KDApKTsKICAgICB9Ci0gICAg
Ci0gICAgLy8gTWF0ZXJpYWxpemUgYWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFuIG9i
amVjdCB1bnRpbCBhbGwgb2YgdGhlIG9iamVjdHMgaXQgbmVlZHMKLSAgICAvLyBoYXZlIGJlZW4g
bWF0ZXJpYWxpemVkLiBDdXJpb3VzbHksIHRoaXMgaXMgdGhlIG9ubHkgcGxhY2UgdGhhdCB3ZSBo
YXZlIGFuIGFsZ29yaXRobSB0aGF0IHByZXZlbnRzCi0gICAgLy8gT1NSIGV4aXQgZnJvbSBoYW5k
bGluZyBjeWNsaWMgb2JqZWN0IG1hdGVyaWFsaXphdGlvbnMuIE9mIGNvdXJzZSwgb2JqZWN0IGFs
bG9jYXRpb24gc2lua2luZwotICAgIC8vIGN1cnJlbnRseSB3b3VsZG4ndCByZWNvZ25pemUgYSBj
eWNsZSBhcyBiZWluZyBzaW5rYWJsZSAtIGJ1dCBpZiBpdCBkaWQgdGhlbiB0aGUgb25seSB0aGlu
ZyB0aGF0Ci0gICAgLy8gd291bGQgYWh2ZSB0byBjaGFuZ2UgaXMgdGhpcyBmaXhwb2ludC4gSW5z
dGVhZCB3ZSB3b3VsZCBhbGxvY2F0ZSB0aGUgb2JqZWN0cyBmaXJzdCBhbmQgcG9wdWxhdGUKLSAg
ICAvLyB0aGVtIHdpdGggZGF0YSBsYXRlci4KKworICAgIC8vIE1hdGVyaWFsaXplIGFsbCBvYmpl
Y3RzLiBEb24ndCBtYXRlcmlhbGl6ZSBhbiBvYmplY3QgdW50aWwgYWxsCisgICAgLy8gb2YgdGhl
IG9iamVjdHMgaXQgbmVlZHMgaGF2ZSBiZWVuIG1hdGVyaWFsaXplZC4gV2UgYnJlYWsgY3ljbGVz
CisgICAgLy8gYnkgcG9wdWxhdGluZyBvYmplY3RzIGxhdGUgLSB3ZSBvbmx5IGNvbnNpZGVyIGFu
IG9iamVjdCBhcworICAgIC8vIG5lZWRpbmcgYW5vdGhlciBvYmplY3QgaWYgdGhlIGxhdGVyIGlz
IG5lZWRlZCBmb3IgdGhlCisgICAgLy8gYWxsb2NhdGlvbiBvZiB0aGUgZm9ybWVyLgorCiAgICAg
SGFzaFNldDxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbio+IHRvTWF0ZXJpYWxpemU7CiAg
ICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJpYWxpemF0aW9uIDog
ZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpCiAgICAgICAgIHRvTWF0ZXJpYWxpemUuYWRkKG1hdGVy
aWFsaXphdGlvbik7Ci0gICAgCisKICAgICB3aGlsZSAoIXRvTWF0ZXJpYWxpemUuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHVuc2lnbmVkIHByZXZpb3VzVG9NYXRlcmlhbGl6ZVNpemUgPSB0b01hdGVy
aWFsaXplLnNpemUoKTsKLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPEV4aXRUaW1lT2JqZWN0
TWF0ZXJpYWxpemF0aW9uKj4gd29ya2xpc3Q7CiAgICAgICAgIHdvcmtsaXN0LmFwcGVuZFJhbmdl
KHRvTWF0ZXJpYWxpemUuYmVnaW4oKSwgdG9NYXRlcmlhbGl6ZS5lbmQoKSk7CiAgICAgICAgIGZv
ciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IHdvcmts
aXN0KSB7CkBAIC0yNDYsMjAgKzI0NiwyOCBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAg
ICAgICAgICAgIGZvciAoRXhpdFByb3BlcnR5VmFsdWUgdmFsdWUgOiBtYXRlcmlhbGl6YXRpb24t
PnByb3BlcnRpZXMoKSkgewogICAgICAgICAgICAgICAgIGlmICghdmFsdWUudmFsdWUoKS5pc09i
amVjdE1hdGVyaWFsaXphdGlvbigpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICBpZiAoIXZhbHVlLmxvY2F0aW9uKCkubmVlZGVkRm9yTWF0ZXJpYWxpemF0
aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGlm
ICh0b01hdGVyaWFsaXplLmNvbnRhaW5zKHZhbHVlLnZhbHVlKCkub2JqZWN0TWF0ZXJpYWxpemF0
aW9uKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdvdHRhIHNraXAgdGhpcyBvbmUsIHNp
bmNlIG9uZSBvZiBpdHMgZmllbGRzIHBvaW50cyB0byBhIG1hdGVyaWFsaXphdGlvbgotICAgICAg
ICAgICAgICAgICAgICAvLyB0aGF0IGhhc24ndCBiZWVuIG1hdGVyaWFsaXplZC4KKyAgICAgICAg
ICAgICAgICAgICAgLy8gR290dGEgc2tpcCB0aGlzIG9uZSwgc2luY2UgaXQgbmVlZHMgYQorICAg
ICAgICAgICAgICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gdGhhdCBoYXNuJ3QgYmVlbiBtYXRl
cmlhbGl6ZWQuCiAgICAgICAgICAgICAgICAgICAgIGFsbEdvb2QgPSBmYWxzZTsKICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKCFhbGxHb29kKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICAvLyBBbGwgc3lzdGVtcyBnbyBmb3IgbWF0ZXJpYWxpemluZyB0
aGUgb2JqZWN0LiBGaXJzdCB3ZSByZWNvdmVyIHRoZSB2YWx1ZXMgb2YgYWxsIG9mCi0gICAgICAg
ICAgICAvLyBpdHMgZmllbGRzIGFuZCB0aGVuIHdlIGNhbGwgYSBmdW5jdGlvbiB0byBhY3R1YWxs
eSBhbGxvY2F0ZSB0aGUgYmVhc3QuCisKKyAgICAgICAgICAgIC8vIEFsbCBzeXN0ZW1zIGdvIGZv
ciBtYXRlcmlhbGl6aW5nIHRoZSBvYmplY3QuIEZpcnN0IHdlCisgICAgICAgICAgICAvLyByZWNv
dmVyIHRoZSB2YWx1ZXMgb2YgYWxsIG9mIGl0cyBmaWVsZHMgYW5kIHRoZW4gd2UKKyAgICAgICAg
ICAgIC8vIGNhbGwgYSBmdW5jdGlvbiB0byBhY3R1YWxseSBhbGxvY2F0ZSB0aGUgYmVhc3QuCisg
ICAgICAgICAgICAvLyBXZSBvbmx5IHJlY292ZXIgdGhlIGZpZWxkcyB0aGF0IGFyZSBuZWVkZWQg
Zm9yIHRoZSBhbGxvY2F0aW9uLgogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBwcm9wZXJ0eUlu
ZGV4ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBwcm9wZXJ0eUluZGV4
LS07KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2YWx1ZSA9IG1hdGVyaWFs
aXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVlKCk7CisgICAgICAgICAg
ICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9u
LT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJbmRleF07CisgICAgICAgICAgICAgICAgY29uc3QgRXhp
dFZhbHVlJiB2YWx1ZSA9IHByb3BlcnR5LnZhbHVlKCk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm9wZXJ0eS5sb2NhdGlvbigpLm5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgICAgIGNvbXBpbGVSZWNvdmVyeSgK
ICAgICAgICAgICAgICAgICAgICAgaml0LCB2YWx1ZSwgcmVjb3JkLCBqaXRDb2RlLT5zdGFja21h
cHMsIHJlZ2lzdGVyU2NyYXRjaCwKICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9u
VG9Qb2ludGVyKTsKQEAgLTI3Myw3ICsyODEsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigK
ICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNl
X2Nhc3Q8dm9pZCo+KG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpKSwgR1BSSW5mbzo6
bm9uQXJnR1BSMCk7CiAgICAgICAgICAgICBqaXQuY2FsbChHUFJJbmZvOjpub25BcmdHUFIwKTsK
ICAgICAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgbWF0ZXJp
YWxpemF0aW9uVG9Qb2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKTsKLSAgICAgICAgICAgIAor
CiAgICAgICAgICAgICAvLyBMZXQgZXZlcnlvbmUga25vdyB0aGF0IHdlJ3JlIGRvbmUuCiAgICAg
ICAgICAgICB0b01hdGVyaWFsaXplLnJlbW92ZShtYXRlcmlhbGl6YXRpb24pOwogICAgICAgICB9
CkBAIC0yODQsNiArMjkyLDI3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAogICAgICAgICBS
RUxFQVNFX0FTU0VSVCh0b01hdGVyaWFsaXplLnNpemUoKSA8IHByZXZpb3VzVG9NYXRlcmlhbGl6
ZVNpemUpOwogICAgIH0KIAorICAgIC8vIE5vdyB0aGF0IGFsbCB0aGUgb2JqZWN0cyBoYXZlIGJl
ZW4gYWxsb2NhdGVkLCB3ZSBwb3B1bGF0ZSB0aGVtCisgICAgLy8gd2l0aCB0aGUgY29ycmVjdCB2
YWx1ZXMuIFRoaXMgdGltZSB3ZSBjYW4gcmVjb3ZlciBhbGwgdGhlCisgICAgLy8gZmllbGRzLCBp
bmNsdWRpbmcgdGhvc2UgdGhhdCBhcmUgb25seSBuZWVkZWQgZm9yIHRoZSBhbGxvY2F0aW9uLgor
ICAgIGZvciAoRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6
IGV4aXQubV9tYXRlcmlhbGl6YXRpb25zKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgcHJvcGVy
dHlJbmRleCA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgcHJvcGVydHlJ
bmRleC0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFZhbHVlJiB2YWx1ZSA9IG1hdGVyaWFs
aXphdGlvbi0+cHJvcGVydGllcygpW3Byb3BlcnR5SW5kZXhdLnZhbHVlKCk7CisgICAgICAgICAg
ICBjb21waWxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgaml0LCB2YWx1ZSwgcmVjb3JkLCBq
aXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwKKyAgICAgICAgICAgICAgICBtYXRl
cmlhbGl6YXRpb25Ub1BvaW50ZXIpOworICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86
OnJlZ1QwLCBtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMgKyBwcm9wZXJ0eUluZGV4KTsKKyAgICAg
ICAgfQorCisgICAgICAgIC8vIFRoaXMgY2FsbCBhc3N1bWVzIHRoYXQgd2UgZG9uJ3QgcGFzcyBh
cmd1bWVudHMgb24gdGhlIHN0YWNrCisgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxp
emF0aW9uKSwKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihtYXRlcmlh
bGl6YXRpb25Ub1BvaW50ZXIuZ2V0KG1hdGVyaWFsaXphdGlvbikpLAorICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50cykpOworICAg
ICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZv
aWQqPihvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKSksIEdQUkluZm86Om5vbkFyZ0dQUjAp
OworICAgICAgICBqaXQuY2FsbChHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICB9CisKICAgICAv
LyBTYXZlIGFsbCBzdGF0ZSBmcm9tIHdoZXJldmVyIHRoZSBleGl0IGRhdGEgdGVsbHMgdXMgaXQg
d2FzLCBpbnRvIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbgogICAgIC8vIHRoZSBzY3JhdGNoIGJ1
ZmZlci4gVGhpcyBhbHNvIGRvZXMgdGhlIHJlYm94aW5nLgogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKaW5kZXggNGU1YzhiM2ZiNzkzYTgzYjIzNjdm
YjAwYTdlN2MxYjc0YTQ4NDllMC4uNGMzODM3Mzg4NmEzNWVmZjhkMmY5MjRjZjQyYjcxZDMxMWY1
Mzc5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25z
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCkBA
IC00OCw0OSArNDgsMTEwIEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRlKiBleGVjCiAgICAgcmV0dXJuIEpT
RmluYWxPYmplY3Q6OmNyZWF0ZShleGVjLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSk7CiB9CiAKK2V4
dGVybiAiQyIgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5PU1Io
CisgICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0
ZXJpYWxpemF0aW9uLAorICAgIEVuY29kZWRKU1ZhbHVlKiBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlKiB2YWx1ZXMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBDb2RlQmxv
Y2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworCisgICAgLy8gV2UgY2Fubm90IEdD
LiBXZSd2ZSBnb3QgcG9pbnRlcnMgaW4gZXZpbCBwbGFjZXMuCisgICAgLy8gRklYTUU6IFdlIGFy
ZSBub3QgZG9pbmcgYW55dGhpbmcgdGhhdCBjYW4gR0MgaGVyZSwgYW5kIHRoaXMgaXMKKyAgICAv
LyBwcm9iYWJseSB1bm5lY2Vzc2FyeS4KKyAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Modm0u
aGVhcCk7CisKKyAgICBzd2l0Y2ggKG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CisgICAgY2Fz
ZSBQaGFudG9tTmV3T2JqZWN0OiB7CisgICAgICAgIEpTRmluYWxPYmplY3QqIG9iamVjdCA9IGpz
Q2FzdDxKU0ZpbmFsT2JqZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNvZGVkVmFsdWUpKTsKKyAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSgpOworCisgICAg
ICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgaGVjayB0byBwb3B1bGF0ZSB0aGUgb2JqZWN0IHdp
dGguIFVzZQorICAgICAgICAvLyBnZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkgYmVjYXVzZSB0
aGF0IGhhcHBlbnMgdG8gYmUKKyAgICAgICAgLy8gbG93ZXItbGV2ZWwgYW5kIG1vcmUgY29udmVu
aWVudC4gSXQgZG9lc24ndCBjaGFuZ2UgdGhlCisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiBv
ZiB0aGUgcHJvcGVydHkgdGFibGUuIFdlIHdhbnQgdG8gaGF2ZQorICAgICAgICAvLyBtaW5pbWFs
IHZpc2libGUgZWZmZWN0cyBvbiB0aGUgc3lzdGVtLiBBbHNvLCBkb24ndCBtaW5kCisgICAgICAg
IC8vIHRoYXQgdGhpcyBpcyBPKG5eMikuIEl0IGRvZXNuJ3QgbWF0dGVyLiBXZSBvbmx5IGdldCBo
ZXJlCisgICAgICAgIC8vIGZyb20gT1NSIGV4aXQuCisgICAgICAgIGZvciAoUHJvcGVydHlNYXBF
bnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpKSB7Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMo
KS5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1
ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKKyAgICAgICAg
ICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0eVBM
b2MpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlmIChj
b2RlQmxvY2stPmlkZW50aWZpZXIocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpLmltcGwoKSAh
PSBlbnRyeS5rZXkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICAgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIGVudHJ5Lm9mZnNldCwgSlNWYWx1ZTo6ZGVjb2Rl
KHZhbHVlc1tpXSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKworICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgorICAgIGNhc2UgUGhhbnRvbURp
cmVjdEFyZ3VtZW50czoKKyAgICBjYXNlIFBoYW50b21DbG9uZWRBcmd1bWVudHM6CisgICAgICAg
IC8vIFRob3NlIGFyZSBjb21wbGV0ZWx5IGhhbmRsZWQgYnkgb3BlcmF0aW9uTWF0ZXJpYWxpemVP
YmplY3RJbk9TUgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgUGhhbnRvbUNyZWF0ZUFjdGl2
YXRpb246IHsKKyAgICAgICAgSlNMZXhpY2FsRW52aXJvbm1lbnQqIGFjdGl2YXRpb24gPSBqc0Nh
c3Q8SlNMZXhpY2FsRW52aXJvbm1lbnQqPihKU1ZhbHVlOjpkZWNvZGUoKmVuY29kZWRWYWx1ZSkp
OworCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0byBwb3B1bGF0ZSB0aGUgYWN0aXZhdGlv
biB3aXRoCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVy
dGllcygpLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFs
dWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CisgICAgICAg
ICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkgIT0gQ2xvc3VyZVZhclBMb2MpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGFjdGl2YXRpb24tPnZhcmlh
YmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQoZXhlYy0+
dm0oKSwgYWN0aXZhdGlvbiwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOworICAgICAgICB9
CisKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisKKyAgICBkZWZhdWx0OgorICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIH0KK30KKwog
ZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmpl
Y3RJbk9TUigKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0
aW9uKiBtYXRlcmlhbGl6YXRpb24sIEVuY29kZWRKU1ZhbHVlKiB2YWx1ZXMpCiB7CiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVC
bG9jaygpOwogCiAgICAgLy8gV2UgY2Fubm90IEdDLiBXZSd2ZSBnb3QgcG9pbnRlcnMgaW4gZXZp
bCBwbGFjZXMuCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOwogICAgIAog
ICAgIHN3aXRjaCAobWF0ZXJpYWxpemF0aW9uLT50eXBlKCkpIHsKICAgICBjYXNlIFBoYW50b21O
ZXdPYmplY3Q6IHsKLSAgICAgICAgLy8gRmlyc3QgZmlndXJlIG91dCB3aGF0IHRoZSBzdHJ1Y3R1
cmUgaXMuCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RydWN0dXJlIGlzCiAgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CiAgICAg
ICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRp
b24tPnByb3BlcnRpZXMoKVtpXTsKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigp
ICE9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKFN0cnVjdHVyZVBMb2MpKQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKKwogICAgICAgICAgICAgc3RydWN0dXJlID0ganND
YXN0PFN0cnVjdHVyZSo+KEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZSk7Ci0g
ICAgCi0gICAgICAgIC8vIExldCdzIGNyZWF0ZSB0aGF0IG9iamVjdCEKKwogICAgICAgICBKU0Zp
bmFsT2JqZWN0KiByZXN1bHQgPSBKU0ZpbmFsT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7
Ci0gICAgCi0gICAgICAgIC8vIE5vdyBmaWd1cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxh
dGUgdGhlIG9iamVjdCB3aXRoLiBVc2UgZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpCi0gICAg
ICAgIC8vIGJlY2F1c2UgdGhhdCBoYXBwZW5zIHRvIGJlIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNv
bnZlbmllbnQuIEl0IGRvZXNuJ3QgY2hhbmdlIHRoZQotICAgICAgICAvLyBtYXRlcmlhbGl6YXRp
b24gb2YgdGhlIHByb3BlcnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUgbWluaW1hbCB2aXNpYmxl
IGVmZmVjdHMgb24gdGhlCi0gICAgICAgIC8vIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZCB0aGF0
IHRoaXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZSBmcm9t
IE9TUgotICAgICAgICAvLyBleGl0LgotICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50
cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgewotICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgp
OyBpLS07KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3Bl
cnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07Ci0gICAgICAgICAgICAgICAg
aWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQotICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBpZiAoY29kZUJsb2Nr
LT5pZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5pbXBsKCkgIT0gZW50cnku
a2V5KQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6OmRl
Y29kZSh2YWx1ZXNbaV0pKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIAorCisgICAg
ICAgIC8vIFRoZSByZWFsIHZhbHVlcyB3aWxsIGJlIHB1dCBzdWJzZXF1ZW50bHkgYnkKKyAgICAg
ICAgLy8gb3BlcmF0aW9uUG9wdWxhdGVOZXdPYmplY3RJbk9TUi4gV2UgY2FuJ3QgZmlsbCB0aGVt
IGluCisgICAgICAgIC8vIG5vdywgYmVjYXVzZSB0aGV5IG1heSBub3QgYmUgYXZhaWxhYmxlIHll
dCAodHlwaWNhbGx5CisgICAgICAgIC8vIGJlY2F1c2Ugd2UgaGF2ZSBhIGN5Y2xpYyBkZXBlbmRl
bmN5IGdyYXBoKS4KKworICAgICAgICAvLyBXZSBwdXQgYSBkdW1teSB2YWx1ZSBoZXJlIGluIG9y
ZGVyIHRvIGF2b2lkIHN1cGVyLXN1YnRsZQorICAgICAgICAvLyBHQy1hbmQtT1NSLWV4aXQgY3Jh
c2hlcyBpbiBjYXNlIHdlIGhhdmUgYSBidWcgYW5kIHNvbWUKKyAgICAgICAgLy8gZmllbGQgaXMs
IGZvciBhbnkgcmVhc29uLCBub3QgZmlsbGVkIGxhdGVyLgorICAgICAgICAvLyBXZSB1c2UgYSBy
YW5kb20taXNoIG51bWJlciBpbnN0ZWFkIG9mIGEgc2Vuc2libGUgdmFsdWUgbGlrZQorICAgICAg
ICAvLyB1bmRlZmluZWQgdG8gbWFrZSBwb3NzaWJsZSBidWdzIGVhc2llciB0byB0cmFjay4KKyAg
ICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9wZXJ0
aWVzQ29uY3VycmVudGx5KCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50
cnkub2Zmc2V0LCBqc051bWJlcigxOTcyMykpOworCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCkBAIC0xMTMsNyArMTc0LDcgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICB9CiAKICAgICBjYXNlIFBo
YW50b21DcmVhdGVBY3RpdmF0aW9uOiB7Ci0gICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hlcmUgdGhl
IHNjb3BlIGlzCisgICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc2NvcGUgYW5kIHN5bWJv
bCB0YWJsZSBhcmUKICAgICAgICAgSlNTY29wZSogc2NvcGUgPSBudWxscHRyOwogICAgICAgICBT
eW1ib2xUYWJsZSogdGFibGUgPSBudWxscHRyOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBt
YXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKQEAgLTEzMywxMyAr
MTk0LDE3IEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVy
aWFsaXplT2JqZWN0SW5PU1IoCiAgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiByZXN1bHQg
PSBKU0xleGljYWxFbnZpcm9ubWVudDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIHNjb3BlLCB0YWJs
ZSk7CiAKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KCkuc2l6ZSgpIC0gMiA9PSB0YWJsZS0+c2NvcGVTaXplKCkpOwotICAgICAgICAvLyBGaWd1cmUg
b3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhlIGFjdGl2YXRpb24gd2l0aAorCisgICAgICAgIC8vIFRo
ZSByZWFsIHZhbHVlcyB3aWxsIGJlIHB1dCBzdWJzZXF1ZW50bHkgYnkKKyAgICAgICAgLy8gb3Bl
cmF0aW9uUG9wdWxhdGVOZXdPYmplY3RJbk9TUi4gU2VlIHRoZSBQaGFudG9tTmV3T2JqZWN0Cisg
ICAgICAgIC8vIGNhc2UgZm9yIGRldGFpbHMuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1h
dGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewogICAgICAgICAgICAg
Y29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9w
ZXJ0aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkg
IT0gQ2xvc3VyZVZhclBMb2MpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg
ICAgIHJlc3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5sb2NhdGlvbigpLmlu
Zm8oKSkpLnNldChleGVjLT52bSgpLCByZXN1bHQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0p
KTsKKyAgICAgICAgICAgIHJlc3VsdC0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5s
b2NhdGlvbigpLmluZm8oKSkpLnNldCgKKyAgICAgICAgICAgICAgICBleGVjLT52bSgpLCByZXN1
bHQsIGpzTnVtYmVyKDI5ODM0KSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAodmFsaWRhdGlv
bkVuYWJsZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
cGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuaApp
bmRleCBkMTVmMThlYjlhZGQzMzc5ZmI1Y2YxNDJkZTM0NjEzYzQ4NTc3NTA1Li5hNTU2OGY5MWIx
MTcyYjUxMjlmODgzOTc4M2U3M2JjNmQ4YzgzZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTE9wZXJhdGlvbnMuaApAQCAtNDAsNiArNDAsOSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3T2JqZWN0V2l0aEJ1dHRlcmZseShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5P
U1IoCiAgICAgRXhlY1N0YXRlKiwgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qLCBFbmNv
ZGVkSlNWYWx1ZSopIFdURl9JTlRFUk5BTDsKIAordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blBvcHVsYXRlT2JqZWN0SW5PU1IoCisgICAgRXhlY1N0YXRlKiwgRXhpdFRpbWVPYmplY3RNYXRl
cmlhbGl6YXRpb24qLCBFbmNvZGVkSlNWYWx1ZSosIEVuY29kZWRKU1ZhbHVlKikgV1RGX0lOVEVS
TkFMOworCiB9IC8vIGV4dGVybiAiQyIKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4IGZkMTY4MmNkMzQzMGEzZTJj
MmM3ZWMwN2EwOWUyZGU1NTFkNTBmODMuLjZmYzdjMzJhMzg2NzdmY2YyYWYxYjBiMmE4NDA5OTdk
ZGZkNTczNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTE4
NSw3ICsxODUsNyBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGRv
dWJsZSwgbWluaW11bUNhbGxUb0tub3duUmF0ZSwgMC41MSwgbnVsbHB0cikgXAogICAgIHYoYm9v
bCwgb3B0aW1pemVOYXRpdmVDYWxscywgZmFsc2UsIG51bGxwdHIpIFwKICAgICB2KGJvb2wsIGVu
YWJsZU1vdkhpbnRSZW1vdmFsLCB0cnVlLCBudWxscHRyKSBcCi0gICAgdihib29sLCBlbmFibGVP
YmplY3RBbGxvY2F0aW9uU2lua2luZywgdHJ1ZSwgbnVsbHB0cikgXAorICAgIHYoYm9vbCwgZW5h
YmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZywgZmFsc2UsIG51bGxwdHIpIFwKICAgICBcCiAgICAg
dihib29sLCBlbmFibGVDb25jdXJyZW50SklULCB0cnVlLCAiYWxsb3dzIHRoZSBERkcgLyBGVEwg
Y29tcGlsYXRpb24gaW4gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBleGVjdXRpbmcgSlMgdGhyZWFk
IikgXAogICAgIHYodW5zaWduZWQsIG51bWJlck9mREZHQ29tcGlsZXJUaHJlYWRzLCBjb21wdXRl
TnVtYmVyT2ZXb3JrZXJUaHJlYWRzKDIsIDIpIC0gMSwgbnVsbHB0cikgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9jb3JyZWN0bHktc2luay1vYmplY3Qt
ZXZlbi10aG91Z2gtaXQtZGllcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvY29ycmVjdGx5LXNpbmstb2JqZWN0LWV2ZW4tdGhvdWdoLWl0LWRpZXMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmVlMGI3YjczODk4YzlhMzgxYjc3MTY3MTE5N2M0YTFmN2EzZTY2OQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvY29ycmVjdGx5LXNpbmst
b2JqZWN0LWV2ZW4tdGhvdWdoLWl0LWRpZXMuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24g
Y2xvYmJlcigpIHsgfQorbm9JbmxpbmUoY2xvYmJlcik7CisKK2Z1bmN0aW9uIGZvbyhwKSB7Cisg
ICAgdmFyIGEgPSB7IHg6IHsgJ2lkJzogJ2JsYWgnIH0gfTsKKyAgICBjbG9iYmVyKCk7CisgICAg
aWYgKHApCisgICAgICAgIHJldHVybiBhLng7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhpICUgMik7
CisgICAgaWYgKGkgJSAyICYmIHJlc3VsdC5pZCAhPSAnYmxhaCcpCisgICAgICAgIHRocm93ICJJ
bnZhbGlkIHJlc3VsdCBJRDogIiArIHJlc3VsdC5pZDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZWxpbWluYXRlLW9iamVjdC1yZWFkLW92ZXItY2Fs
bC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZWxpbWluYXRlLW9iamVj
dC1yZWFkLW92ZXItY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODg3YzYwMmJlZTg4MmZlZThlZmQ1Njkx
YjkwNGU5ZDc2MGYxYjI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9lbGltaW5hdGUtb2JqZWN0LXJlYWQtb3Zlci1jYWxsLmpzCkBAIC0wLDAg
KzEsMTYgQEAKK2Z1bmN0aW9uIGNsb2JiZXIoKSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitm
dW5jdGlvbiBmb28ocCkgeworICAgIHZhciBhID0geyB4OiAxMCB9OworICAgIGNsb2JiZXIoKTsK
KyAgICBpZiAocCkgYS56ID0gMjA7CisgICAgYS55ID0gYS54OworICAgIHJldHVybiBhOworfQor
bm9JbmxpbmUoZm9vKTsKKworZm9vKHRydWUpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDsgKytpKQorICAgIGZvbyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL21hdGVyaWFsaXplLW9iamVjdC1vbi1lZGdlLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tYXRlcmlhbGl6ZS1vYmplY3Qtb24tZWRnZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NmJmZDM4NjVhYzAxMDY3YWQxZDM3NGUzYzNiYmU3YjgwMjk4NDgxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tYXRlcmlh
bGl6ZS1vYmplY3Qtb24tZWRnZS5qcwpAQCAtMCwwICsxLDE3IEBACitmdW5jdGlvbiBjYWxsKCkg
eyB9Citub0lubGluZShjYWxsKTsKKworZnVuY3Rpb24gZm9vKHApIHsKKyAgICB2YXIgYSA9IHt9
OworICAgIHZhciBiID0ge307CisgICAgaWYgKHApIHsgCisgICAgICAgIGIueCA9IGE7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgYi54ID0gMDsKKyAgICB9CisgICAgcmV0dXJuIGIueDsKK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKQorICAgIGZv
byhpICUgMik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L29iamVjdC1zaW5raW5nLXN0cmVzcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvb2JqZWN0LXNpbmtpbmctc3RyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1M2Y3NzUxODFjNGVi
MDQ5OThiYTNlYTczZjVmOWFhM2ZjOTUzNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29iamVjdC1zaW5raW5nLXN0cmVzcy5qcwpAQCAtMCww
ICsxLDE2IEBACitmdW5jdGlvbiBmb28ocCkgeworICAgIHZhciBhID0geyBpZDogImEiIH07Cisg
ICAgYS5fX3NlbGYgPSBhOworICAgIHZhciBiID0geyBpZDogImIiIH07CisgICAgYi5fX3NlbGYg
PSBiOworICAgIHZhciBjID0geyBpZDogImMiIH07CisgICAgYy5fX3NlbGYgPSBjOworICAgIGlm
IChwKSBhLnggPSBiOyBlbHNlIGEueCA9IGI7CisgICAgdmFyIHJldCA9IHsgJ3YnOiBhLngsICdi
JzogYiwgJ2MnOiBjIH07CisgICAgcmV0Ll9fc2VsZiA9IHJldDsKKyAgICBpZiAocCkgcmV0dXJu
IHJldDsKK30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpCisgICAgZm9vKGkgJSAyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtY3ljbGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NjY4NGI5NTVm
MDlhNmQ0NGNmNTU4NzEwM2VkZjlkYTc0NjYwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0LWN5Y2xlLmpzCkBAIC0wLDAg
KzEsMTcgQEAKK2Z1bmN0aW9uIGNsb2JiZXIoKSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitm
dW5jdGlvbiBmb28ocCkgeworICAgIHZhciBhID0ge307CisgICAgdmFyIGIgPSB7fTsKKyAgICBh
LnggPSAwOworICAgIGIueCA9IDA7CisgICAgY2xvYmJlcigpOworICAgIGEueCA9IGI7CisgICAg
Yi54ID0gYTsKKyAgICBpZiAocCkgcmV0dXJuIGE7Cit9Citub0lubGluZShmb28pOworCitmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisgICAgZm9vKGkgJSAyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0LXBhc3Qt
cHV0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQwYWE0ZDBmNzQ5MjA0ZjNhNTQxNDRmNWNlYzJjZTU1MGJhNzc1
MDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3Npbmstb2JqZWN0LXBhc3QtcHV0LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGNsb2Ji
ZXIoKSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFy
IG8gPSB7fTsKKyAgICB2YXIgcCA9IHt9OworICAgIG8ueCA9IHA7CisgICAgY2xvYmJlcigpOwor
ICAgIG8ueCA9IDA7CisgICAgcmV0dXJuIG87Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGZvbygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3Au
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3NpbmthYmxlLW5ldy1vYmpl
Y3QtaW4tbG9vcC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTNlMTlmMjRhMGJiNzAxNTJhZWUxZWY0MTBmY2Ez
NzAyM2FiNTk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanMKQEAgLTAsMCArMSwxMCBAQAor
ZnVuY3Rpb24gZm9vKHApIHsKKyAgICB2YXIgbyA9IHt9OworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTAwOyArK2kpCisgICAgICAgIG8ueCA9IHt9OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkKKyAgICBmb28oaSAlIDIpOworCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjVlZDY5NWJlZWJi
MjY3ODgxZmE2ZTcyZGM1NjY3ODFkMDMyMmQ4NC4uNjExOWQ1YzcwN2E2NmI0YTNiNWNmNzFhNjUw
OThkZjg4MmI2Njk2ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA3LTAyICBCYXNpbGUgQ2xlbWVudCAgPGJh
c2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KKworICAgICAgICBPYmplY3QgY3ljbGVzIHNob3VsZCBu
b3QgcHJldmVudCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uL3NpbmtpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1biBGVEwgdGVzdHMgd2l0aCBib3Ro
IHRoZSBvbGQgYW5kIG5ldyBhbGxvY2F0aW9uIHNpbmtpbmcgcGhhc2VzLgorCisgICAgICAgICog
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0czoKKwogMjAxNS0wNy0wMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gV2ViU1FMIGRv
ZXNuJ3Qgd29yayBiZWNhdXNlIG9wZW5EYXRhYmFzZSBhbHdheXMgZmFpbHMgd2l0aCBET00gRXhj
ZXB0aW9uIDE4CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3Rz
IGIvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwppbmRleCAyMWVhZTNjMmNkNDg4
ZTlkMTM5NzZkZGU2YmI2ZmNkODU1NDgwOWE4Li5hZmEwNzU0MzgzOTc5YzBiZGNlODY3NmQyNWM1
NDRjMWQ1ZjJiMTkwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRl
c3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKQEAgLTcwNCwxMCAr
NzA0LDEyIEBAIGVuZAogCiBkZWYgcnVuRlRMTm9DSklUCiAgICAgcnVuKCJmdGwtbm8tY2ppdCIs
ICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKSBpZiAkZW5hYmxlRlRMCisgICAgcnVu
KCJmdGwtbm8tY2ppdC1leHBlcmltZW50YWwiLCAiLS1lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5r
aW5nPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkgaWYgJGVuYWJsZUZU
TAogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZQogICAgIHJ1bigiZnRsLW5vLWNqaXQt
dmFsaWRhdGUiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJ
VF9PUFRJT05TKSkgaWYgJGVuYWJsZUZUTAorICAgIHJ1bigiZnRsLW5vLWNqaXQtZXhwZXJpbWVu
dGFsLXZhbGlkYXRlIiwgIi0tZW5hYmxlQWxsb2NhdGlvbkN5Y2xlU2lua2luZz10cnVlIiwgIi0t
dmFsaWRhdGVHcmFwaD10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUykpIGlm
ICRlbmFibGVGVEwKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklUTm9JbmxpbmVWYWxpZGF0ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNlYTdiZWUyNzZmNzI2ZTE1YzA4YmQwMjA4YWMwNjYyZDYwODUyYjUuLmExNWVlMTYxMTg2
ZjBjMDFkZGY2MmNmMzllYTQzMzMyODdlNWM3YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAx
NS0wNy0wMiAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+CisKKyAg
ICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxsb2NhdGlvbiBlbGltaW5h
dGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAg
ICBBZGQgYSBmZXcgbWljcm9iZW5jaG1hcmtzIHRoYXQgc2hvdyBwZXJmb3JtYW5jZSBpbXByb3Zl
bWVudCB3aGVuCisgICAgICAgIHNpbmtpbmcgb3IgZWxpbWluaW5hdGluZyBvYmplY3QgY3ljbGVz
LgorCisgICAgICAgICoganMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0
LWN5Y2xlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2Vs
aWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAoc3VtT2ZBcml0aFNl
cmllcyk6CisgICAgICAgIChmb28pOgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAoZmFjdG9yaWFsLmYp
OgorICAgICAgICAoZmFjdG9yaWFsKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0
cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKHN1bU9mQXJp
dGhTZXJpZXMpOgorICAgICAgICAodmVyaWZ5KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICog
anMvcmVncmVzcy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICoganMvcmVncmVzcy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9iamVjdC1jeWNs
ZS5odG1sOiBBZGRlZC4KKwogMjAxNS0wNy0wMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFNraXAgbmV3IHdlYiB0aW1pbmcgdGVzdCBvbiBw
bGF0Zm9ybXMgd2l0aG91dCB3ZWIgdGltaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGFlNjk5YmM2OGVmYjlkNGVlNTY1MzczNjUyMTk0OTEyNGE0OTgwZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvZWxpZGFibGUtbmV3LW9iamVjdC1j
eWNsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2VsaWRhYmxlLW5l
dy1vYmplY3QtY3ljbGUKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8g
ZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvZWxpZGFibGUt
bmV3LW9iamVjdC1jeWNsZS5odG1sIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1u
ZXctb2JqZWN0LWN5Y2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg1NzY4ZmQxOTkzMTc5NGIwMzYwOGY1
NjY3ODEyM2U5ZDAwZGQ3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jl
c3MvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2VsaWRhYmxlLW5ldy1v
YmplY3QtY3ljbGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9y
ZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1j
eWNsZS5qcyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2VsaWRhYmxlLW5l
dy1vYmplY3QtY3ljbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwYjQ0ODI3N2IxMjBlYWJiMDE3NzA4NjUz
NDI5NGJjYmJjOTdhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuanMKQEAgLTAsMCArMSwyNCBA
QAorZnVuY3Rpb24gc3VtT2ZBcml0aFNlcmllcyhsaW1pdCkgeworICAgIHJldHVybiBsaW1pdCAq
IChsaW1pdCArIDEpIC8gMjsKK30KKwordmFyIG4gPSAxMDAwMDAwMDsKKworZnVuY3Rpb24gZm9v
KCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgICAgIHZhciBxID0ge307CisgICAgICAgIHZhciBsZWFmID0ge2Y6aSwgdHJlZTog
cX07CisgICAgICAgIHZhciBvID0ge2Y6bGVhZiwgdHJlZTogcX07CisgICAgICAgIHZhciBwID0g
e2Y6bGVhZiwgdHJlZTogcX07CisgICAgICAgIHEuZiA9IG87CisgICAgICAgIHEuZyA9IHA7Cisg
ICAgICAgIHEudHJlZSA9IHE7CisgICAgICAgIHJlc3VsdCArPSBxLmYuZi5mOworICAgIH0KKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCit2YXIgcmVzdWx0ID0gZm9vKCk7CitpZiAocmVzdWx0ICE9
IHN1bU9mQXJpdGhTZXJpZXMobiAtIDEpKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDog
IiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxNDhkYmI0
MDlhZWQxOWQ0Nzk3MzE5MTg0ZjczZDJmNDdkMzU0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpz
CkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9uIGZhY3RvcmlhbCh4KSB7CisgICAgaWYgKHggPCAw
KSB0aHJvdyAiV2UgYXJlIG5vdCBHYW1tYSI7CisKKyAgICBpZiAoeCA9PT0gMCkKKyAgICAgICAg
cmV0dXJuIDE7CisKKyAgICBmdW5jdGlvbiBmKGksIGFjYykgeworICAgICAgICBpZiAoaSA9PT0g
MSkKKyAgICAgICAgICAgIHJldHVybiBhY2M7CisgICAgICAgIHJldHVybiBmKGkgLSAxLCBpICog
YWNjKTsKKyAgICB9CisKKyAgICByZXR1cm4gZih4LCAxKTsKK30KK25vSW5saW5lKGZhY3Rvcmlh
bCk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKQorICAgIGZhY3RvcmlhbChp
ICUgMyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9z
aW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjA4MTcy
MmRkMjNjYTk3NGE0ZWQ4YjBkZDAxNzhhMDBmNTg1MDYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtbmV3LW9iamVjdC1jeWNs
ZS5qcwpAQCAtMCwwICsxLDM4IEBACitmdW5jdGlvbiBzdW1PZkFyaXRoU2VyaWVzKGxpbWl0KSB7
CisgICAgcmV0dXJuIGxpbWl0ICogKGxpbWl0ICsgMSkgLyAyOworfQorCit2YXIgbiA9IDEwMDAw
MDAwOworCitmdW5jdGlvbiB2ZXJpZnkocSwgaSkgeworICAgIGlmIChxLmYgPT0gcS5nKQorICAg
ICAgICB0aHJvdyAiRXJyb3I6IHEuZiA9PSBxLmciOworICAgIGlmIChxLmYuZiAhPSBxLmcuZikK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBxLmYuZiAhPSBxLmcuZiI7CisgICAgaWYgKHEuZi5mLmYg
IT0gaSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBxLmYuZi5mICE9IGkiOworfQorCitmdW5jdGlv
biBmb28oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICAgICAgdmFyIHEgPSB7fTsKKyAgICAgICAgdmFyIGxlYWYgPSB7ZjppLCB0
cmVlOnF9OworICAgICAgICB2YXIgbyA9IHtmOmxlYWYsIHRyZWU6cX07CisgICAgICAgIHZhciBw
ID0ge2Y6bGVhZiwgdHJlZTpxfTsKKyAgICAgICAgcS5mID0gbzsKKyAgICAgICAgcS5nID0gcDsK
KyAgICAgICAgcS50cmVlID0gcTsKKyAgICAgICAgcmVzdWx0ICs9IHEuZi5mLmY7CisgICAgICAg
IGlmICghKGkgJSAxMDApKQorICAgICAgICAgICAgdmVyaWZ5KHEsIGkpOworICAgIH0KKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitub0lubGluZShmb28pOworbm9JbmxpbmUodmVyaWZ5KTsKKwor
dmFyIHJlc3VsdCA9IGZvbygpOworaWYgKHJlc3VsdCAhPSBzdW1PZkFyaXRoU2VyaWVzKG4gLSAx
KSkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNTQ4NWFmZmU2ZjgyMDc1ODVjNTZjZWNkMWQ4MTY3ZDM3MDBl
ZDY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rYWJsZS1j
bG9zdXJlLWN5Y2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3Mvc2lu
a2FibGUtY2xvc3VyZS1jeWNsZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5r
YWJsZS1jbG9zdXJlLWN5Y2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxl
LWNsb3N1cmUtY3ljbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTU2OGEzMmI3YmI1MTk4Mzg3N2NiMzU2
MjI2YmU1YTdlY2M0YWY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1j
eWNsZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3Mt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZDMzZjM4NTZkMzUwODFhNGJmOWI0ZTE5MWYxMDY5Zjk3N2RmNjFh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rYWJsZS1uZXct
b2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3Mvc2lu
a2FibGUtbmV3LW9iamVjdC1jeWNsZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
aW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Np
bmthYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNmJiNWMyN2RjNWJjZDU5
YzE5ZTQyMWU3M2IwMGZiZTg2Y2JlZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Jl
Z3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc2lua2Fi
bGUtbmV3LW9iamVjdC1jeWNsZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256041</attachid>
            <date>2015-07-02 15:40:55 -0700</date>
            <delta_ts>2015-07-13 14:04:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143073-20150702154000.patch</filename>
            <type>text/plain</type>
            <size>1027731</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MTkwNjRlNjkyMzkyMGEzOTRmMWJiNjk5MzY5ZjlhYWU4ODY3OWY0Li5iMzYwYmY4NGY4Zjc5NmM3
NDI1ZTJlOTNhMTM2OGExNDQ5MDM3MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxNS0wNy0wMiAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQ
aXpsby4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgYWxsb2NhdGlvbiBz
aW5raW5nIHBoYXNlIHRoYXQgaXMgYWJsZSB0bworICAgICAgICBzaW5rIGN5Y2xlcywgaW4gREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcC4gVGhpcyBwaGFzZQorICAgICAgICBzdXBl
cnNlZGVzIHRoZSBvbGQgYWxsb2NhdGlvbiBzaW5raW5nIHBoYXNlIGluCisgICAgICAgIERGR09i
amVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLCBhcyB0aGF0IHByZXZpb3VzIHBoYXNlIHdh
cyBuZXZlcgorICAgICAgICBhYmxlIHRvIHNpbmsgYWxsb2NhdGlvbiBjeWNsZXMgd2hpbGUgdGhl
IG5ldyBwaGFzZSBzb21ldGltZXMgY2FuOyBzZWUKKyAgICAgICAgREZHQWxsb2NhdGlvbkN5Y2xl
U2lua2luZ1BoYXNlLmNwcCBmb3IgZGV0YWlscy4KKworICAgICAgICBGb3Igbm93LCB0aGUgbmV3
IHNpbmtpbmcgcGhhc2UgaXMga2VwdCBiZWhpbmQgYQorICAgICAgICBKU0NfZW5hYmxlQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZyBmbGFnIHRoYXQgcmV2ZXJ0cyB0byB0aGUgb2xkIHNpbmtpbmcKKyAg
ICAgICAgcGhhc2Ugd2hlbiBmYWxzZSAoaS5lLiwgYnkgZGVmYXVsdCkuIFRoaXMgYWxzbyByZW1v
dmVzIHRoZSBvbGQKKyAgICAgICAgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nIGZs
YWcuIHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICBkZWZhdWx0cyB0byB1c2luZyB0
aGUgbmV3IHNpbmtpbmcgcGhhc2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDogQWRkZWQu
CisgICAgICAgIChKU0M6OkRGRzo6cGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDogQWRkZWQuCisgICAg
ICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmFkZFN0cnVj
dHVyZVNldCk6IEFsbG93IGVtcHR5IHN0cnVjdHVyZSBzZXRzCisgICAgICAgICogZGZnL0RGR0xh
enlOb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMYXp5Tm9kZTo6ZHVtcCk6IFByZXR0aWVy
IGR1bXAKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6
OmNlbGxPcGVyYW5kKTogTW92ZSB0byBvcEluZm8gZm9yIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZh
dGlvbgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1N0cnVjdHVyZVNldCk6IEFkZCBNYXRl
cmlhbGl6ZU5ld09iamVjdAorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Om9iamVjdE1hdGVyaWFs
aXphdGlvbkRhdGEpOiBNb3ZlIHRvIG9wSW5mbzIKKyAgICAgICAgKiBkZmcvREZHT1NSQXZhaWxh
YmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA6IFJlbW92ZSB1bnVzZWQgaGVhZGVyCisgICAgICAgICog
ZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwOiBNYXRlcmlhbGl6ZU5ld09i
amVjdC9NYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24gY2hhbmdlZAorICAgICAgICAoSlNDOjpE
Rkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRG
Rzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6bG93ZXJOb25SZWFkaW5nT3BlcmF0aW9u
c09uUGhhbnRvbUFsbG9jYXRpb25zKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlOjpmaWxsU3RydWN0dXJlU2V0cyk6CisgICAgICAgIChKU0M6OkRGRzo6
T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6Y3JlYXRlTWF0ZXJpYWxpemUpOgorICAgICAg
ICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OnBvcHVsYXRlTWF0ZXJp
YWxpemUpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQ
bGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaDogQWRkIGEgaGFzaCBhbmQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gUHJvbW90ZWRM
b2NhdGlvbkRlc2NyaXB0b3IKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpERkc6
OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVyYXRvciBib29sKToKKyAgICAgICAgKEpT
Qzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2g6Omhhc2gpOgorICAgICAgICAo
SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6ZXF1YWwpOgorICAgICAg
ICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpuZWVkZWRGb3JNYXRlcmlh
bGl6YXRpb24pOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKTogQXNzZXJ0IHRoYXQgbW9zdCBub2RlcyBuZXZl
ciBzZWUgYSBwaGFudG9tIGFsbG9jYXRpb24KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwOiAKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxl
TWF0ZXJpYWxpemVOZXdPYmplY3QpOiBVc2UgdGhlIG5ldyBzdHJ1Y3R1cmVTZXQoKSBvcGVyYW5k
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVyaWFs
aXplQ3JlYXRlQWN0aXZhdGlvbik6IE5vZGUgaGFzIGEgbmV3IGNoaWxkCisgICAgICAgICogZnRs
L0ZUTE9TUkV4aXRDb21waWxlci5jcHA6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVzCisg
ICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRp
b25zLmNwcDogSGFuZGxlIG1hdGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6RlRM
OjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVy
YXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAgICAgICAgKiBmdGwvRlRMT3BlcmF0aW9u
cy5oOiBIYW5kbGUgbWF0ZXJpYWxpemF0aW9uIGN5Y2xlcworICAgICAgICAqIHJ1bnRpbWUvT3B0
aW9ucy5oOiBSZW1vdmUgb2xkIEpTQ19lbmFibGVPYmplY3RBbGxvY2F0aW9uU2lua2luZyBhbmQg
YWRkIEpTQ19lbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nCisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2NvcnJlY3RseS1zaW5rLW9iamVjdC1ldmVuLXRob3VnaC1pdC1kaWVzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGNsb2JiZXIpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvZWxpbWluYXRlLW9iamVjdC1yZWFkLW92ZXItY2FsbC5qczogQWRkZWQuCisgICAgICAgIChj
bG9iYmVyKToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL21hdGVyaWFs
aXplLW9iamVjdC1vbi1lZGdlLmpzOiBBZGRlZC4KKyAgICAgICAgKGNhbGwpOgorICAgICAgICAo
Zm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LXNpbmtpbmctc3RyZXNzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0
LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKGNsb2JiZXIpOgorICAgICAgICAoZm9vKToKKyAg
ICAgICAgKiB0ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQuanM6IEFkZGVkLgorICAg
ICAgICAoY2xvYmJlcik6CisgICAgICAgIChmb28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9z
aW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxNS0wNy0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMTQyOTYxMz4gW2lPU10gU3RvcCBtYWtpbmcgc3ltbGlua3MgZnJvbSBQ
cml2YXRlRnJhbWV3b3JrcyB0byBGcmFtZXdvcmtzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMDExNjI0Y2I4ZjY3NDcwMWEyN2M3ZDQ4YjdjNmNiOTAwMmZiNDZhNi4uZWE1
ODRiOGM1MzRhZmJiMGM4MDhmYWI4NjM4M2E3MWRiNzhiN2E3OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTI2LDYgKzEyNiw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9T
T1VSQ0VTCiAKICAgICBkZmcvREZHQWJzdHJhY3RIZWFwLmNwcAogICAgIGRmZy9ERkdBYnN0cmFj
dFZhbHVlLmNwcAorICAgIGRmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCiAg
ICAgZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCiAgICAgZGZnL0RGR0FyZ3Vt
ZW50c1V0aWxpdGllcy5jcHAKICAgICBkZmcvREZHQXJpdGhNb2RlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzE2MjI1NGE2Y2U2ZmM3OGM1Y2FiYmJmMDYx
YjFkYzBiYzAyNWNmMS4uYjQ5ODliMmU1ZDMxYzQ1YWIxMTQ3ODE0Y2NhMmNiNDM4ZDk4ZjU4MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC0zNjQsNiArMzY0LDcg
QEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyU2NvcGUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0SGVhcC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQWJzdHJhY3RWYWx1ZS5jcHAi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lu
a2luZ1BoYXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGRmZ1xERkdBcmd1bWVudHNVdGlsaXRpZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0FyaXRoTW9kZS5jcHAiIC8+CkBAIC0xMDM3LDYgKzEwMzgsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0VmFsdWUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBZGphY2VuY3lMaXN0LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdG9yLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQW5hbHlzaXMuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBcmd1bWVudFBvc2l0aW9uLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5oIiAv
PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IDRkZTE2ZTdjMGMyYzE2NGUyODBkYmJkNjFiMDBjZTgyOWJkOTZiNDYuLjdmYmE1MjQ1YzMy
MThiNTU5NGRjMDFiMzM2MWYwODBiMmExYTExOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmls
dGVycworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE2ODAsNiArMTY4MCw5IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5jcHAi
PgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3Bw
Ij4KKyAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0zMzkx
LDYgKzMzOTQsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0FsbG9jYXRv
ci5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNl
LmgiPgorICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBbmFseXNpcy5oIj4KICAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGFkMmY0YzY4OGVkN2Y2ZGY4ODRlOTA1YjZjZGJhNDg5NDVlNmZmMDkuLmQ5MDhmZjdi
NTM3ZWQ0MDhmZTUxN2ZiNjZhZTEwNTliODQ3YzUyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05NjIsNiArOTYyLDggQEAKIAkJNURCQjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8q
IHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEQ4NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLzsg
fTsKIAkJNURCQjE1MjUxMzFEMEJENzAwNTZBRDM2IC8qIG1pbmlkb20uanMgaW4gQ29weSBTdXBw
b3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwRDBB
NDg3ODg3MDA0ODAyNTUgLyogbWluaWRvbS5qcyAqLzsgfTsKIAkJNURFNkU1QjMwRTE3MjhFQzAw
MTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNo
X3RhYmxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTYyNzdDQzIy
MUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI3N0NDMjAxQjNE
RTI1ODAwRDE2RDJFIC8qIERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5jcHAgKi87IH07
CisJCTYyNzdDQzIzMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5n
UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYy
NzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2Uu
aCAqLzsgfTsKIAkJNjJEMkQzOEYxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQz
OEQxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovOyB9OwogCQk2MkQy
RDM5MDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2MkYyQUEzNzFCMEJFREUzMDA2MTBDN0EgLyogREZHTGF6eU5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJBOUEy
OUUxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLzsgfTsKQEAgLTI2NzksNiAr
MjY4MSw4IEBACiAJCTVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAvKiBKU0MueGNjb25maWcgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29u
ZmlnOyBwYXRoID0gSlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
RERERjQ0NjE0RkVFNzIyMDBCNEZCNEQgLyogTExJbnREZXNpcmVkT2Zmc2V0cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludERlc2lyZWRPZmZzZXRzLmg7IHBhdGggPSBM
TEludE9mZnNldHMvTExJbnREZXNpcmVkT2Zmc2V0cy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk1REUzRDBGNDBERDhEREZCMDA0Njg3MTQgLyogV2ViS2l0QXZhaWxh
YmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWlsYWJp
bGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2Mjc3Q0MyMDFCM0RFMjU4MDBE
MTZEMkUgLyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5j
cHA7IHBhdGggPSBkZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjI3N0NDMjExQjNERTI1ODAwRDE2RDJFIC8qIERGR0Fs
bG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdBbGxv
Y2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjJBOUEyOUUxQjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xhenlOb2RlLmNwcDsgcGF0aCA9IGRmZy9ERkdM
YXp5Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyQTlBMjlGMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdMYXp5Tm9kZS5oOyBwYXRoID0gZGZnL0RGR0xhenlOb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyRDJEMzhEMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJh
cmVEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0aW9u
UmFyZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDg1Miw2ICs0ODU2
LDggQEAKIAkJCQkwRjU1QzE5MzE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5j
cHAgKi8sCiAJCQkJMEY2MjAxNkYxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUu
aCAqLywKIAkJCQkwRjY2RTE2ODE0REYzRjEzMDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5o
ICovLAorCQkJCTYyNzdDQzIwMUIzREUyNTgwMEQxNkQyRSAvKiBERkdBbGxvY2F0aW9uQ3ljbGVT
aW5raW5nUGhhc2UuY3BwICovLAorCQkJCTYyNzdDQzIxMUIzREUyNTgwMEQxNkQyRSAvKiBERkdB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCAqLywKIAkJCQkwRkI0QjUxOTE2QjYyNzcyMDAz
RjY5NkIgLyogREZHQWxsb2NhdG9yLmggKi8sCiAJCQkJQTczNzgxMDkxNzk5RUEyRTAwODE3NTMz
IC8qIERGR0FuYWx5c2lzLmggKi8sCiAJCQkJMEYxRTNBNDMxNTM0Q0JBRDAwMEY5NDU2IC8qIERG
R0FyZ3VtZW50UG9zaXRpb24uaCAqLywKQEAgLTYxMjcsNiArNjEzMyw3IEBACiAJCQkJMEYyQjY2
RTkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjJCNjZFQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JEQUVDQjE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJh
eUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk2Mjc3Q0MyMzFCM0RFMjU4MDBEMTZEMkUg
LyogREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQxODBFMTZGNUNEMDBCMzQ0NjAgLyogSlNCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjJENERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxNDBEMTdENzBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC03MDg1LDYgKzcwOTIsNyBAQAogCQkJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkz
QyAvKiBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTc3QTQyM0QxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjU1QzE5NDE3Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk2Mjc3Q0MyMjFCM0RFMjU4MDBEMTZEMkUgLyogREZHQWxs
b2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzIx
MTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyRDREREQxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY2Mzk0ODQxNUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qLm9yaWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvai5vcmlnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFkMmY0YzY4OGVkN2Y2ZGY4ODRlOTA1YjZjZGJhNDg5NDVlNmZmMDkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvai5vcmlnCkBAIC0wLDAgKzEsODI1NSBAQAorLy8gISQqVVRGOCokIQorewor
CWFyY2hpdmVWZXJzaW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9
IDQ2OworCW9iamVjdHMgPSB7CisKKy8qIEJlZ2luIFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9u
ICovCisJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovID0gewor
CQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9
IDBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi87CisJCQlidWlsZFBoYXNlcyA9
ICgKKwkJCQkwRjQ2ODBBQTE0QkE3RkQ5MDBCRkUyNzIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3Vy
Y2VzICovLAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk2NTQ0MkQ1MDE4RUJCNzQ0
MDA3QUY5MkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIkxM
SW50IE9mZnNldHMiOworCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsK
KwkJNUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8gPSB7CisJCQlpc2Eg
PSBQQlhBZ2dyZWdhdGVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ2QjJB
NEMxNTJCOUUxNzAwNTIzMURFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdn
cmVnYXRlVGFyZ2V0ICJUZXN0IFRvb2xzIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJKTsK
KwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk1RDZCMkE0RjE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1RDZCMkE1MTE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1RDZCMkE1NTE1MkI5RTIzMDA1MjMxREUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIlRlc3QgVG9vbHMiOworCQkJ
cHJvZHVjdE5hbWUgPSAiVGVzdCBUb29scyI7CisJCX07CisJCTY1Nzg4QTlEMThCNDA5RUIwMEMx
ODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLyA9IHsKKwkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRh
cmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA2NTc4OEFBMjE4QjQwOUVCMDBDMTg5
RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9m
ZmxpbmUgQXNzZW1ibGVyIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTY1Nzg4QUEwMThC
NDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlICovLAorCQkJKTsKKwkJCWRlcGVuZGVu
Y2llcyA9ICgKKwkJCQk2NTI0NEJEMzE4RUNCNTAwMDAxMEI3MDggLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCQk2NTc4OEE5RTE4QjQwOUVCMDBDMTg5RkYgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJCXByb2R1
Y3ROYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJfTsKKwkJNjVGQjNGNjYwOUQxMUU5MTAw
RjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRh
cmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA2NUZCM0Y3NzA5RDExRUJEMDBGNDlE
RUIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkRl
cml2ZWQgU291cmNlcyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk2NUZCM0Y2NTA5RDEx
RTkxMDBGNDlERUIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovLAorCQkJCTVEMzVERUUx
MEM3QzE0MEIwMDg2NDhCMiAvKiBHZW5lcmF0ZSBEVHJhY2UgaGVhZGVyICovLAorCQkJKTsKKwkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gIkRlcml2ZWQgU291cmNlcyI7CisJ
CQlwcm9kdWN0TmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOworCQl9OworCQk5MzJGNUJFMzA4MjJB
MUM3MDA3MzY5NzUgLyogQWxsICovID0geworCQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0Owor
CQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzZDMDg5MDJBRkUwMDhBOUVGQyAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLzsK
KwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTVERjdFMUNDMTg4RTZCODcwMDNGOUE0NiAvKiBDb3B5
IGpzYyBpbnRvIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLywKKwkJCSk7CisJCQlkZXBlbmRl
bmNpZXMgPSAoCisJCQkJOTMyRjVCRTcwODIyQTFDNzAwNzM2OTc1IC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkJNUQ2OUU5MTIxNTJCRTU0NzAwMjhENzIwIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkJNUQ2QjJBNTcxNTJCOUUyRTAwNTIzMURFIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEFsbDsKKwkJCXByb2R1Y3ROYW1lID0gQWxsOwor
CQl9OworLyogRW5kIFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBC
WEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTBBNjQ0MTUxOTQyMEE2QzYxQUQxODgyRSAvKiBNYXBE
YXRhSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTkzRDQzQ0NBMEJCRTA2RDg5QzU5NzA3IC8qIE1hcERhdGFJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwMTIzMzIxOTQ0RUEx
QjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMTIzMzAxOTQ0RUExQjAwODQzQTBDIC8qIERGR1Zh
bHVlU3RyZW5ndGguY3BwICovOyB9OworCQkwRjAxMjMzMzE5NDRFQTFCMDA4NDNBMEMgLyogREZH
VmFsdWVTdHJlbmd0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwMTIzMzExOTQ0RUExQjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjAzMzJDMDE4
QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJVFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzMyQkYxOEFERkFFMTAwNUY5NzlBIC8qIEV4
aXRpbmdKSVRUeXBlLmNwcCAqLzsgfTsKKwkJMEYwMzMyQzMxOEIwMTc2MzAwNUY5NzlBIC8qIEdl
dEJ5SWRWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMDMzMkMxMThCMDE3NjMwMDVGOTc5QSAvKiBHZXRCeUlkVmFyaWFudC5jcHAgKi87
IH07CisJCTBGMDMzMkM0MThCMDE3NjMwMDVGOTc5QSAvKiBHZXRCeUlkVmFyaWFudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzMyQzIxOEIwMTc2
MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwMzMyQzYxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdl
aWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYw
MzMyQzUxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMDMzMkM4MThCNTQ2RUMwMDVGOTc5QSAv
KiBGVExXZWlnaHRlZFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYwMzMyQzcxOEI1NDZFQzAwNUY5NzlBIC8qIEZUTFdlaWdodGVkVGFyZ2V0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYw
NDM5NkQxQjAzREMwQjAwOTU5OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwNDM5NkIxQjAzREMwQjAw
OTU5OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovOyB9OworCQkwRjA0Mzk2RTFCMDNE
QzBCMDA5NTk4QjcgLyogREZHQ29tYmluZWRMaXZlbmVzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwNDM5NkMxQjAzREMwQjAwOTU5OEI3IC8qIERG
R0NvbWJpbmVkTGl2ZW5lc3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjA1QzNCNDE2ODNDRjkyMDBCQUY0NUIgLyogREZHQXJyYXlpZnlTbG93
UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwNUMzQjIxNjgzQ0Y4RjAwQkFGNDVCIC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5l
cmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjA3NzZCRjE0RkYwMDJCMDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDc3NkJEMTRGRjAw
MjgwMDEwMjMzMiAvKiBKSVRDb21waWxhdGlvbkVmZm9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMEI4MzlDMTRCQ0Y0NjMwMDg4NUI0RiAv
KiBMTEludFRodW5rcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRUaHVua3MuY3BwICovOyB9
OworCQkwRjBCODM5RDE0QkNGNDY2MDA4ODVCNEYgLyogTExJbnRUaHVua3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4Mzk4MTRCQ0Y0NUEwMDg4
NUI0RiAvKiBMTEludFRodW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMEI4M0E3MTRCQ0Y1MDcwMDg4NUI0RiAvKiBDb2RlVHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQTUxNEJD
RjUwNDAwODg1QjRGIC8qIENvZGVUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwQjgzQTkxNEJDRjU2MjAwODg1QjRGIC8qIEhhbmRsZXJJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBC
ODNBODE0QkNGNTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjBCODNBQjE0QkNGNUJCMDA4ODVCNEYg
LyogRXhwcmVzc2lvblJhbmdlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYwQjgzQUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5n
ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjBCODNCMDE0QkNGNzE2MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0FFMTRCQ0Y3MTQwMDg4
NUI0RiAvKiBDYWxsTGlua0luZm8uY3BwICovOyB9OworCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVC
NEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYwQjgzQjkx
NEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNCODE0QkNG
OTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjBDRDRDMjE1RjFB
NjA3MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyogUHV0
RGlyZWN0SW5kZXhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEYwQ0Q0QzQxNUY2QjZCQjAwMzJGMUMwIC8qIFNwYXJzZUFycmF5VmFsdWVN
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYw
Q0Q0QzMxNUY2QjZCNTAwMzJGMUMwIC8qIFNwYXJzZUFycmF5VmFsdWVNYXAuY3BwICovOyB9Owor
CQkwRjBGQzQ1QTE0QkQxNUY1MDBCODExNTQgLyogTExJbnRDYWxsTGlua0luZm8uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEZDNDU4MTRCRDE1RjEw
MEI4MTE1NCAvKiBMTEludENhbGxMaW5rSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMTJERTBGMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNl
cHRpb25GdXp6LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNwcCAqLzsgfTsK
KwkJMEYxMkRFMTAxOTc5RDVGRDAwMDZGRjRFIC8qIEV4Y2VwdGlvbkZ1enouaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTJERTBFMTk3OUQ1RkQwMDA2
RkY0RSAvKiBFeGNlcHRpb25GdXp6LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYxMzZENEQxNzRBRDY5RTAwNzVCMzU0IC8qIERlZmVyR0MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM2RDRCMTc0
QUQ2OUIwMDc1QjM1NCAvKiBEZWZlckdDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxMzkxMjkxNjc3MUMzMzAwOUNDQjA3IC8qIFByb2ZpbGVy
Qnl0ZWNvZGVTZXF1ZW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjEzOTEyNDE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJCeXRlY29kZVNl
cXVlbmNlLmNwcCAqLzsgfTsKKwkJMEYxMzkxMkExNjc3MUMzNjAwOUNDQjA3IC8qIFByb2ZpbGVy
Qnl0ZWNvZGVTZXF1ZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYxMzkxMjUxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1
ZW5jZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGMTM5MTJCMTY3NzFDM0EwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM5MTI2
MTY3NzFDMzAwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNwcCAqLzsgfTsK
KwkJMEYxMzkxMkMxNjc3MUMzRDAwOUNDQjA3IC8qIFByb2ZpbGVyUHJvZmlsZWRCeXRlY29kZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTM5MTI3
MTY3NzFDMzAwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxM0UwNEUxNjE2NEEx
RjAwREM4REU3IC8qIEluZGV4aW5nVHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjEzRTA0QzE2MTY0QTFCMDBEQzhERTcgLyogSW5kZXhpbmdU
eXBlLmNwcCAqLzsgfTsKKwkJMEYxNUYxNUYxNEI3QTczRTAwNURFMzdEIC8qIENvbW1vblNsb3dQ
YXRocy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYx
NUYxNUQxNEI3QTczQTAwNURFMzdEIC8qIENvbW1vblNsb3dQYXRocy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMTkwQ0FDMTg5RDgyRjYwMDBB
RTVGMCAvKiBQcm9maWxlckpldHRpc29uUmVhc29uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTkwQ0FBMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9m
aWxlckpldHRpc29uUmVhc29uLmNwcCAqLzsgfTsKKwkJMEYxOTBDQUQxODlEODJGNjAwMEFFNUYw
IC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTkwQ0FCMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9maWxlckpl
dHRpc29uUmVhc29uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYxREQ4NEExOEE5NDVCRTAwMjZGM0ZBIC8qIEpTQ0lubGluZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMUREODQ5MThBOTQ1QkUw
MDI2RjNGQSAvKiBKU0NJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYxRTNBNDYxNTM0Q0JBRjAwMEY5NDU2IC8qIERGR0FyZ3VtZW50
UG9zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMUUzQTQzMTUzNENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxRTNBNDcxNTM0
Q0JCOTAwMEY5NDU2IC8qIERGR0RvdWJsZUZvcm1hdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjFFM0E0NDE1MzRDQkFEMDAwRjk0NTYgLyog
REZHRG91YmxlRm9ybWF0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjFFM0E2NzE1M0EyMUUyMDAwRjk0NTYgLyogREZHU2lsZW50UmVn
aXN0ZXJTYXZlUGxhbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYxRTNBNjUxNTNBMjFERjAwMEY5NDU2IC8qIERGR1NpbGVudFJlZ2lzdGVyU2F2ZVBs
YW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RjFGRTUxQzE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMUZFNTFCMTkyMkEzQkMwMDY5ODdDNSAv
KiBBYm9ydFJlYXNvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGMjBDMjU5MUE4MDEzQUIwMERBMzIyOSAvKiBWaXJ0dWFsUmVnaXN0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMEMyNTgx
QTgwMTNBQjAwREEzMjI5IC8qIFZpcnR1YWxSZWdpc3Rlci5jcHAgKi87IH07CisJCTBGMjFDMjdE
MTRCRTcyN0EwMEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIxQzI3OTE0QkU3MjczMDBBREM2
NEIgLyogQ29kZVNwZWNpYWxpemF0aW9uS2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjFDMjdGMTRCRUFBODIwMEFEQzY0QiAvKiBCeXRl
Y29kZUNvbnZlbnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjIxQzI3RTE0QkVBQTgwMDBBREM2NEIgLyogQnl0ZWNvZGVDb252ZW50aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1
QkQzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQkQxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTEV4aXRBcmd1bWVudC5jcHAgKi87IH07CisJCTBGMjM1QkQ0MTcxNzhFMUMwMDY5MEM3
RiAvKiBGVExFeGl0QXJndW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGMjM1QkJFMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIz
NUJENTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJCRjE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgKi87IH07CisJCTBG
MjM1QkQ2MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDMDE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkQ3MTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExFeGl0QXJndW1lbnRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFy
Z3VtZW50TGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGMjM1QkQ4MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVC
QzIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5jcHAgKi87IH07CisJ
CTBGMjM1QkQ5MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkMzMTcxNzhF
MUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIzNUJEQTE3MTc4RTFDMDA2OTBDN0Yg
LyogRlRMRXhpdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMjM1QkM0MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VmFsdWUuY3BwICov
OyB9OworCQkwRjIzNUJEQjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDNTE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4
aXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
MzVCQzYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwICovOyB9OworCQkwRjIzNUJE
RDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQzcxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9T
UkV4aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjIzNUJERTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGF0aW9uSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyMzVCQzgx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxhdGlvbkluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjIzNUJERjE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkM5MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExP
U1JFeGl0Q29tcGlsZXIuY3BwICovOyB9OworCQkwRjIzNUJFMDE3MTc4RTFDMDA2OTBDN0YgLyog
RlRMT1NSRXhpdENvbXBpbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjIzNUJDQTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
MzVCRTExNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjIzNUJDQjE3MTc4RTFDMDA2OTBDN0YgLyog
RlRMVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEYyMzVCRTIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRo
dW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
MzVCQ0MxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkUzMTcxNzhFMUMwMDY5MEM3RiAv
KiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjIzNUJDRDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVGb3JtYXQuY3Bw
ICovOyB9OworCQkwRjIzNUJFNDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVGb3JtYXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkNFMTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkVCMTcxNzhFNzMwMDY5MEM3RiAvKiBE
RkdPU1JFeGl0QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjIzNUJFNzE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuY3BwICov
OyB9OworCQkwRjIzNUJFQzE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjM1QkU4MTcxNzhF
NzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjM1QkVEMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdP
U1JFeGl0UHJlcGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYyMzVCRTkxNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJh
dGlvbi5jcHAgKi87IH07CisJCTBGMjM1QkVFMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0
UHJlcGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMjM1QkVBMTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0UHJlcGFyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI0MkRB
NzEzRjNCMUU4MDA3QURENEMgLyogV2Vha1JlZmVyZW5jZUhhcnZlc3Rlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNDJEQTUxM0YzQjFCQjAwN0FE
RDRDIC8qIFdlYWtSZWZlcmVuY2VIYXJ2ZXN0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI0RTU0MDE3RUE5RjU5MDBBQkIyMTcgLyogQXNz
ZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMjRFNTNCMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwICov
OyB9OworCQkwRjI0RTU0MTE3RUE5RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTUzQzE3RUE5
RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyNEU1NDIxN0VBOUY1OTAwQUJCMjE3IC8qIEND
YWxsSGVscGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyNEU1M0QxN0VBOUY1OTAwQUJCMjE3IC8qIENDYWxsSGVscGVycy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTQzMTdFQTlGNTkw
MEFCQjIxNyAvKiBGUFJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjI0RTUzRTE3RUE5RjU5MDBBQkIyMTcgLyogRlBSSW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTQ0MTdFQTlG
NTkwMEFCQjIxNyAvKiBHUFJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjI0RTUzRjE3RUE5RjU5MDBBQkIyMTcgLyogR1BSSW5mby5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjRFNTRDMTdF
RTI3NDkwMEFCQjIxNyAvKiBKSVRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTQ1MTdFRTI3NDkwMEFCQjIxNyAvKiBKSVRP
cGVyYXRpb25zLmNwcCAqLzsgfTsKKwkJMEYyNEU1NEQxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9w
ZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMjRFNTQ2MTdFRTI3NDkwMEFCQjIxNyAvKiBKSVRPcGVyYXRpb25zLmggKi87IH07CisJCTBG
MjRFNTRGMTdFRTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTQ4MTdFRTI3NDkwMEFCQjIx
NyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjI0RTU1MDE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU0OTE3
RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgKi87IH07CisJCTBGMjRFNTUxMTdFRTI3NDkw
MEFCQjIxNyAvKiBSZXBhdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjI0RTU0QTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5oICovOyB9Owor
CQkwRjI0RTU1MjE3RUUyNzQ5MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU0QjE3
RUUyNzQ5MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi87IH07CisJCTBG
MjRFNTU1MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNEU1NTMxN0YwQjcxQzAw
QUJCMjE3IC8qIElubGluZUNhbGxGcmFtZVNldC5jcHAgKi87IH07CisJCTBGMjRFNTU2MTdGMEI3
MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTU0MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxp
bmVDYWxsRnJhbWVTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjI0RTU1ODE3Rjc0RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU1NzE3
Rjc0RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgKi87IH07CisJCTBGMjU2QzM2MTYy
N0IwQUQwMDdGMjc4MyAvKiBERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVyYXRvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNTZDMzQx
NjI3QjBBQTAwN0YyNzgzIC8qIERGR0NhbGxBcnJheUFsbG9jYXRvclNsb3dQYXRoR2VuZXJhdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
NUYxQUUxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQTcxODE2MzVG
MzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMjVGMUFGMTgxNjM1RjMwMDUyMkYz
OSAvKiBGVExJbmxpbmVDYWNoZVNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQTgxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNh
Y2hlU2l6ZS5jcHAgKi87IH07CisJCTBGMjVGMUIwMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxp
bmVDYWNoZVNpemUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMjVGMUE5MTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxpbmVDYWNoZVNpemUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjI1RjFCMTE4
MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjVGMUFBMTgxNjM1RjMwMDUyMkYzOSAvKiBG
VExTbG93UGF0aENhbGwuY3BwICovOyB9OworCQkwRjI1RjFCMjE4MTYzNUYzMDA1MjJGMzkgLyog
RlRMU2xvd1BhdGhDYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjI1RjFBQjE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyNUYxQjMx
ODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI1RjFBQzE4MTYzNUYzMDA1MjJGMzkg
LyogRlRMU2xvd1BhdGhDYWxsS2V5LmNwcCAqLzsgfTsKKwkJMEYyNUYxQjQxODE2MzVGMzAwNTIy
RjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyNUYxQUQxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRo
Q2FsbEtleS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGMkI2NkFDMTdCNkI1M0YwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QTgxN0I2
QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2QUQxN0I2QjU0NTAwQTdBRTNG
IC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QTkxN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5j
b21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGMkI2NkFFMTdCNkI1NDUwMEE3QUUzRiAvKiBHQ0luY29taW5n
UmVmQ291bnRlZFNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYyQjY2QUExN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYy
QjY2QUYxN0I2QjU0NTAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0SW5saW5lcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QUIx
N0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0SW5saW5lcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkRFMTdC
NkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCMDE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcu
Y3BwICovOyB9OworCQkwRjJCNjZERjE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkIxMTdCNkI1
QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGMkI2NkUwMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlw
ZWRBcnJheVZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkI2NkIyMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlwZWRBcnJheVZpZXcuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZF
MTE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QjMxN0I2QjVB
QjAwQTdBRTNGIC8qIEdlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZFMjE3QjZCNUFCMDBB
N0FFM0YgLyogSlNBcnJheUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZl
ci5jcHAgKi87IH07CisJCTBGMkI2NkUzMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZC
NTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkU0MTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QjYxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTBGMkI2NkU1MTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkI3MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjJCNjZFNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjJCNjZCODE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAgKi87
IH07CisJCTBGMkI2NkU3MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZC
OTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkU4MTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwICovOyB9OworCQkwRjJCNjZFOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlclZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkI2NkJCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkVB
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkJDMTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyog
SlNEYXRhVmlldy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjJCNjZCRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5jcHAgKi87IH07CisJ
CTBGMkI2NkVDMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZCRTE3QjZCNUFCMDBBN0FFM0Yg
LyogSlNEYXRhVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGMkI2NkVEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2
NkJGMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJ
MEYyQjY2RUUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkMwMTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RUYxN0I2QjVBQjAwQTdBRTNGIC8qIEpT
RmxvYXQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjJCNjZDMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDMyQXJyYXkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZGMDE3QjZC
NUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkMyMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0Zsb2F0
NjRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGMkI2NkYxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2QzMx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjIxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkM0MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjMxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNTE3QjZC
NUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJC
NjZGNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNjE3
QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjUxN0I2
QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDNzE3QjZCNUFC
MDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjZGNjE3QjZCNUFC
MDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDODE3QjZC
NUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2
RjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJ
bnQ4QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRjJCNjZGODE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZDQTE3QjZCNUFCMDBB
N0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY2RjkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJh
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2
Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkZBMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2Q0MxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy5jcHAgKi87IH07CisJCTBGMkI2NkZCMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkNEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjJCNjZGQzE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90
eXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjJCNjZDRTE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHAgKi87
IH07CisJCTBGMkI2NkZEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZD
RjE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NkZFMTdCNkI1QUIw
MEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQwMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJy
YXlzLmNwcCAqLzsgfTsKKwkJMEYyQjY2RkYxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJh
eXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2
NkQxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjY3MDAxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYyQjY2RDIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDhBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzAxMTdC
NkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZEMzE3QjZCNUFCMDBBN0FFM0YgLyog
SlNVaW50OENsYW1wZWRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkI2NzAyMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQxNkFycmF5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZE
NDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzAzMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU1VpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjJCNjZENTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MzJBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzA0MTdC
NkI1QUIwMEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZENjE3QjZCNUFCMDBB
N0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwICovOyB9OworCQkwRjJCNjcw
NTE3QjZCNUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQ3MTdCNkI1QUIw
MEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzA2MTdCNkI1QUIwMEE3QUUz
RiAvKiBUeXBlZEFycmF5QWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkI2NkQ4MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5QWRh
cHRvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjJCNjcwNzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjY2RDkxN0I2
QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMEYyQjY3
MDgxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCNjZEQTE3QjZCNUFCMDBBN0FF
M0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCNjcwOTE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRB
cnJheXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkI2NkRCMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5cy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI2NzBBMTdCNkI1QUIwMEE3QUUz
RiAvKiBUeXBlZEFycmF5VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJCNjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUu
Y3BwICovOyB9OworCQkwRjJCNjcwQjE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI2NkRE
MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI5Q0UyMTlEMEJBN0QwMEIxRDFCNSAv
KiBERkdBdmFpbGFiaWxpdHlNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR0F2YWlsYWJpbGl0
eU1hcC5jcHAgKi87IH07CisJCTBGMkI5Q0UzMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFi
aWxpdHlNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMkI5Q0Q3MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFiaWxpdHlNYXAuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCOUNFNDE5RDBC
QTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRDgxOUQwQkE3RDAwQjFE
MUI1IC8qIERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmNwcCAqLzsgfTsKKwkJMEYyQjlDRTUx
OUQwQkE3RDAwQjFEMUI1IC8qIERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEOTE5RDBCQTdEMDBC
MUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCOUNFNjE5RDBCQTdEMDBCMUQxQjUg
LyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEQTE5RDBCQTdEMDBCMUQxQjUgLyog
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgKi87IH07CisJCTBGMkI5Q0U3MTlE
MEJBN0QwMEIxRDFCNSAvKiBERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCOUNEQjE5RDBCQTdE
MDBCMUQxQjUgLyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkI5Q0U4MTlEMEJBN0Qw
MEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0RDMTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCAqLzsgfTsKKwkJMEYyQjlDRTkx
OUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0REMTlEMEJBN0Qw
MEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRUExOUQwQkE3RDAwQjFE
MUI1IC8qIERGR1BoaUNoaWxkcmVuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5jcHAgKi87IH07CisJCTBGMkI5Q0VCMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlD
REYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1BoaUNoaWxkcmVuLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRUMxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0UwMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQcm9t
b3RlZEhlYXBMb2NhdGlvbi5jcHAgKi87IH07CisJCTBGMkI5Q0VEMTlEMEJBN0QwMEIxRDFCNSAv
KiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRTExOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYyQjlDRjQxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0eVZhbHVl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5
Q0VFMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1ZS5jcHAgKi87IH07CisJ
CTBGMkI5Q0Y1MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRUYxOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0eVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRjYxOUQwQkFDMTAwQjFEMUI1IC8q
IEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFCNSAvKiBG
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi87IH07CisJCTBGMkI5Q0Y3MTlE
MEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRjExOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQjlDRjgxOUQwQkFD
MTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQjlDRjIxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJh
dGlvbnMuY3BwICovOyB9OworCQkwRjJCOUNGOTE5RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYy
QjlDRjMxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREMxNTE1MUM1RDREMDBDRDg5
MTAgLyogREZHRml4dXBQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJCREMxMjE1MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5j
cHAgKi87IH07CisJCTBGMkJEQzE2MTUxQzVENEYwMENEODkxMCAvKiBERkdGaXh1cFBoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREMxMzE1
MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJEQzIxMTUxRTgwM0IwMENEODkxMCAvKiBE
RkdJbnNlcnRpb25TZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkJEQzFGMTUxRTgwMzgwMENEODkxMCAvKiBERkdJbnNlcnRpb25TZXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREMyQzE1
MUZERTkxMDBDRDg5MTAgLyogT3BlcmFuZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJEQzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJE
QzQ1MTUyMjgwMUIwMENEODkxMCAvKiBERkdNaW5pZmllZEdyYXBoLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREMzRDE1MjI4MDE3MDBDRDg5MTAg
LyogREZHTWluaWZpZWRHcmFwaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkJEQzQ2MTUyMjgwMjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJE
QzNFMTUyMjgwMTcwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJCREM0ODE1MjI4MDI5MDBDRDg5
MTAgLyogREZHVmFsdWVTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGMkJEQzQwMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkJE
QzQ5MTUyMjgwOTYwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREM0MTE1MjI4MDE3MDBDRDg5MTAg
LyogREZHVmFyaWFibGVFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMkJEQzRBMTUyMjgwOUEwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2
ZW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkJEQzQyMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmNw
cCAqLzsgfTsKKwkJMEYyQkRDNEIxNTIyODA5RDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRT
dHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkJEQzQzMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyQkRDNEQxNTIy
ODE4NjAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJCREM0QzE1MjI4MTgzMDBDRDg5MTAgLyogREZH
TWluaWZpZWROb2RlLmNwcCAqLzsgfTsKKwkJMEYyQkRDNEYxNTIyOEJGMzAwQ0Q4OTEwIC8qIERG
R1ZhbHVlU291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkJEQzRFMTUyMjhCRTcwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5jcHAgKi87
IH07CisJCTBGMkJEQzUxMTUyMjhGRkQwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkJEQzUwMTUy
MjhGRkEwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmNwcCAqLzsgfTsKKwkJMEYyRDREREQx
OTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRDREREIxOTgzMkQzNDAwN0Q0QjE5IC8qIERl
YnVnZ2VyU2NvcGUuY3BwICovOyB9OworCQkwRjJENERERTE5ODMyRDM0MDA3RDRCMTkgLyogRGVi
dWdnZXJTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyRDREREMxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJENERFODE5ODMyREFD
MDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkQ0REU1MTk4MzJEQUMwMDdENEIxOSAvKiBUb1RoaXNTdGF0
dXMuY3BwICovOyB9OworCQkwRjJENERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJENERF
NjE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRDRERUExOTgzMkRBQzAwN0Q0QjE5IC8q
IFR5cGVMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYyRDRERTcxOTgzMkRBQzAwN0Q0QjE5IC8qIFR5cGVMb2NhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkQ0REVCMTk4MzJE
QzQwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRDREREYxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVQ
cm9maWxlckxvZy5jcHAgKi87IH07CisJCTBGMkQ0REVDMTk4MzJEQzQwMDdENEIxOSAvKiBUeXBl
UHJvZmlsZXJMb2cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMkQ0REUwMTk4MzJEOTEwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJENERFRjE5ODMy
REQzMDA3RDRCMTkgLyogVHlwZVNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjJENERFMzE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVNldC5jcHAg
Ki87IH07CisJCTBGMkQ0REYwMTk4MzJERDYwMDdENEIxOSAvKiBUeXBlU2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJENERFNDE5ODMyRDkxMDA3
RDRCMTkgLyogVHlwZVNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGMkREODBCMUFCM0Q4NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJERDgwQTFB
QjNEODU4MDBCQkI4RTggLyogQnl0ZWNvZGVLaWxscy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkREODExMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODBDMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEYyREQ4MTIxQUIzRDhCRTAwQkJC
OEU4IC8qIERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyREQ4MTMxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0Fy
Z3VtZW50c1V0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjJERDgwRTFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0
aWVzLmNwcCAqLzsgfTsKKwkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50
c1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMkREODE1
MUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyREQ4MTAxQUIzRDhCRTAwQkJCOEU4IC8qIERG
R0ZvckFsbEtpbGxzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYyRTg5MkMxNkQwMjhBRDAwOUU0RkQyIC8qIFVudXNlZFBvaW50ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OTg3RjJGMTY4MjhB
N0UwMDNDMkY4RCAvKiBVbnVzZWRQb2ludGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQyIC8qIERGR01p
bmlmaWVkSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjRCNTEwMTZCM0E5NjQwMDNGNjk2QiAvKiBERkdNaW5pZmllZElELmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkM3NzIxNkUxMkY3MTAw
MzhEOTc2IC8qIERGR0RDRVBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMkZDNzcwMTZFMTJGNkYwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5j
cHAgKi87IH07CisJCTBGMkZDNzczMTZFMTJGNzQwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkM3NzExNkUx
MkY2RjAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkNDRjkxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dy
YXBoU2FmZXBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMkZDQ0YyMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAg
Ki87IH07CisJCTBGMkZDQ0ZBMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkNDRjMx
OEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYyRkNDRkIxOEE2MDA3MDAwMUEyN0Y4
IC8qIERGR1NhZmVwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjJGQ0NGNDE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmNwcCAq
LzsgfTsKKwkJMEYyRkNDRkMxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkNDRjUxOEE2MDA3
MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGMkZDQ0ZEMThBNjAwNzAwMDFBMjdGOCAvKiBERkdTY2Fu
bmFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
MkZDQ0Y2MThBNjAwNzAwMDFBMjdGOCAvKiBERkdTY2FubmFibGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjJGQ0NGRTE4QTYwMDcwMDAxQTI3
RjggLyogREZHVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJGQ0NGNzE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5j
cHAgKi87IH07CisJCTBGMkZDQ0ZGMThBNjAwNzAwMDFBMjdGOCAvKiBERkdUaHJlYWREYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJGQ0NGODE4
QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzAwQjc4MThBQjA1MTEwMEE2RDcyRSAvKiBE
RkdOb2RlT3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjMwMEI3NzE4QUIwNTExMDBBNkQ3MkUgLyogREZHTm9kZU9yaWdpbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzAwQjdCMThBQjFC
MTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjMwMEI3OTE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuY3BwICovOyB9OworCQkwRjMw
MEI3QzE4QUIxQjE0MDBBNkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzAwQjdBMThB
QjFCMTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMzRCMTQ5MTZENDIw
MTAwMDFDREE1QSAvKiBERkdVc2VLaW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5k
LmNwcCAqLzsgfTsKKwkJMEYzNEIxNEExNkQ0MjAxMzAwMUNEQTVBIC8qIERGR1VzZUtpbmQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzRCMTQ4MTZE
NDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzNEIxNEMxNkQ0M0UwRDAwMUNEQTVBIC8qIFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYzNEIxNEIxNkQ0M0UwQzAwMUNEQTVBIC8qIFBvbHltb3JwaGlj
QWNjZXNzU3RydWN0dXJlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGMzhCMDExMTdDRjA3ODAwMEIxNDREMyAvKiBMTEludEVudHJ5cG9p
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYz
OEIwMEYxN0NGMDc3RjAwQjE0NEQzIC8qIExMSW50RW50cnlwb2ludC5jcHAgKi87IH07CisJCTBG
MzhCMDEyMTdDRjA3ODMwMEIxNDREMyAvKiBMTEludEVudHJ5cG9pbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzhCMDEwMTdDRjA3N0YwMEIxNDRE
MyAvKiBMTEludEVudHJ5cG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjM4QjAxNzE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRp
b25LZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYzOEIwMTMxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmNwcCAqLzsgfTsK
KwkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4QjAxNDE3Q0ZFNzU1
MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25LZXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjM4QjAxOTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZH
Q29tcGlsYXRpb25Nb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMzhCMDE1MTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbk1vZGUu
Y3BwICovOyB9OworCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25N
b2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4
QjAxNjE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzQTFCRjkxQTlFQ0I3RDAw
MERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0ExQkY3MUE5RUNCN0QwMDBERTAxQSAvKiBE
RkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHAgKi87IH07CisJCTBGM0ExQkZBMUE5RUNCN0QwMDBE
RTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzQTFCRjgxQTlFQ0I3RDAwMERFMDFBIC8qIERGR1B1
dFN0YWNrU2lua2luZ1BoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEYzQUM3NTIxODNFQTEwNDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNBQzc1
MTE4M0VBMTA0MDAzMjAyOUYgLyogU3RhY2tBbGlnbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjNBQzc1NDE4OEU1RUM4MDAzMjAyOUYg
LyogRXhpdGluZ0pJVFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGM0FDNzUzMTg4RTVFQzgwMDMyMDI5RiAvKiBFeGl0aW5nSklUVHlwZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGM0IzQTFB
MTUzRTY4RjIwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNCM0ExNzE1M0U2OEVGMDAz
RUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRjNCM0ExQjE1
M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0IzQTE4MTUzRTY4RUYwMDNFRDBG
RiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGM0IzQTI3MTU0NEM5OTUwMDNFRDBGRiAvKiBERkdD
RkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI0MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlm
aWNhdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEYzQjNBMjgxNTQ0Qzk5NzAwM0VEMEZGIC8qIERG
R0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI1MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlm
aWNhdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEYzQjNBMkIxNTQ3NTAwMDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI5MTU0NzRG
RjQwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAgKi87IH07CisJCTBGM0IzQTJDMTU0NzUwMDIw
MDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzQjdF
MkExOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAvKiBD
YWxsVmFyaWFudC5jcHAgKi87IH07CisJCTBGM0I3RTJCMTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxs
VmFyaWFudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYzRDBCQkMxOTRBNDE0MzAwRkM5
Q0Y5IC8qIENvbnN0YW50U3RydWN0dXJlQ2hlY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzRDBCQkExOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0
YW50U3RydWN0dXJlQ2hlY2suY3BwICovOyB9OworCQkwRjNEMEJCRDE5NEE0MTQzMDBGQzlDRjkg
LyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYzRDBCQkIxOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0YW50U3Ry
dWN0dXJlQ2hlY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjNFMDFBQTE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNFMDFB
ODE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5jcHAgKi87IH07CisJCTBG
M0UwMUFCMTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNFMDFBOTE5RDM1M0E1MDBG
NjFCN0YgLyogREZHUHJlUG9zdE51bWJlcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNDI2QTQ4MTQ2MENCQjMwMDEzMUY4RiAvKiBWYWx1
ZVJlY292ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVyeS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNDI2QTQ5MTQ2MENCQjcw
MDEzMUY4RiAvKiBWaXJ0dWFsUmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDI2QTQ2MTQ2MENCQUIwMDEzMUY4RiAvKiBWaXJ0dWFsUmVn
aXN0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0MjZBNEExNDYwQ0Q2QjAwMTMxRjhG
IC8qIERhdGFGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjQzMTczODE0NkJBQzY5MDA3RTM4OTAgLyogTGlzdGFibGVIYW5kbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQzMTczNjE0
NkJBQzY1MDA3RTM4OTAgLyogTGlzdGFibGVIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwODIxNEJBNTcyRDAwQkZFMjcyIC8q
IEpJVEV4Y2VwdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNDY4MDgwMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwODMxNEJB
NTczMTAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8qIEpJVEV4
Y2VwdGlvbnMuY3BwICovOyB9OworCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRF
eGNlcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQ2ODA5RTE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwQTQxNEJBN0Y4
RDAwQkZFMjcyIC8qIExMSW50U2xvd1BhdGhzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDY4MDlGMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludFNs
b3dQYXRocy5jcHAgKi87IHNldHRpbmdzID0ge0NPTVBJTEVSX0ZMQUdTID0gIi1Xbm8tdW51c2Vk
LXBhcmFtZXRlciI7IH07IH07CisJCTBGNDY4MEE1MTRCQTdGOEQwMEJGRTI3MiAvKiBMTEludFNs
b3dQYXRocy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY0NjgwQTAxNEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50U2xvd1BhdGhzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0NjgwQTgxNEJBN0ZBQjAw
QkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODA5RDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRFeGNl
cHRpb25zLmNwcCAqLzsgfTsKKwkJMEY0NjgwQ0ExNEJCQjE2QzAwQkZFMjcyIC8qIExMSW50Q29t
bW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2
ODBDNTE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjQ2ODBDQjE0QkJCMTcyMDBCRkUyNzIg
LyogTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODBDNjE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRPZmZsaW5l
QXNtQ29uZmlnLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY0NjgwQ0MxNEJCQjE3QTAwQkZFMjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwQzcx
NEJCQjE2OTAwQkZFMjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3BwICovOyB9OworCQkwRjQ2
ODBDRDE0QkJCMTdEMDBCRkUyNzIgLyogTG93TGV2ZWxJbnRlcnByZXRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwQzgxNEJCQjE2OTAwQkZF
MjcyIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRjQ2ODBEMjE0QkJEMTY1MDBCRkUyNzIgLyogTExJbnRE
YXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NDY4MENFMTRCQkIzRDEwMEJGRTI3MiAvKiBMTEludERhdGEuY3BwICovOyB9OworCQkwRjQ2ODBE
MzE0QkJEMTY3MDBCRkUyNzIgLyogTExJbnREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODBDRjE0QkJCM0QxMDBCRkUyNzIgLyogTExJbnRE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MEY0NjgwRDQxNEJCRDI0OTAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwRDAxNEJCQzVG
ODAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwICovOyB9OworCQkwRjQ2ODBENTE0
QkJEMjRCMDBCRkUyNzIgLyogSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwRDExNEJCQzVGODAwQkZFMjcyIC8q
IEhvc3RDYWxsUmV0dXJuVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjQ4NTMyMTE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2Rl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1
MzFGMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuY3BwICovOyB9OworCQkwRjQ4NTMy
MjE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4NTMyMDE4Nzc1MDU2MDA4M0I2ODcgLyogREZH
QXJpdGhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY0ODUzMjcxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1MzIz
MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgKi87IH07CisJCTBG
NDg1MzI4MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUzMjQxODdERkRFQzAw
ODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZU
TFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNDg1MzI1MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5j
cHAgKi87IH07CisJCTBGNDg1MzJBMTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29k
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUz
MjYxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1
MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNDkzQUY4MTZEMENBRDEwMDg0NTA4QiAvKiBTb3VyY2VQcm92aWRl
ci5jcHAgKi87IH07CisJCTBGNEI5NERDMTdCOUYwNzUwMEREMDNBNCAvKiBUeXBlZEFycmF5SW5s
aW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0
Qjk0REIxN0I5RjA3NTAwREQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY0Q0VENUUxOENFQTdBQjAw
ODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0Q0VENUMxOENFQTdBQjAwODAyRkUwIC8qIFBv
bHltb3JwaGljR2V0QnlJZExpc3QuY3BwICovOyB9OworCQkwRjRDRUQ1RjE4Q0VBN0FCMDA4MDJG
RTAgLyogUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0Q0VENUQxOENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3Jw
aGljR2V0QnlJZExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjRGMjlERjE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhlY3V0aW9u
Q291bnRFc3RpbWF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY0RjI5REQxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1
dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEY0RjI5RTAxOEI2QUQxQzAw
NTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRGMjlERTE4QjZBRDFD
MDA1N0JDMTUgLyogREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjUwQUYzQzE5
M0U4QjM5MDA2NzRFRTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjUwQUYzQjE5M0U4QjM5MDA2NzRF
RTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NTQxQjExNjEzQzFGQjAwQ0UzRTI1IC8qIFNw
ZWNpYWxQb2ludGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNTU0MUFGMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAgKi87
IH07CisJCTBGNTU0MUIyMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NTQxQjAxNjEzQzFG
QjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NTk4OTgxN0M4NkM1ODAwQTFFNTQzIC8qIFRvTmF0
aXZlRnJvbVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjU1OTg5NzE3Qzg2QzU2MDBBMUU1NDMgLyogVG9OYXRpdmVGcm9tVmFsdWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjU1QzE5NDE3
Mjc2RTQ2MDBDRUFCRkQgLyogREZHQWJzdHJhY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU1QzE5MzE3Mjc2RTQ2MDBDRUFCRkQgLyog
REZHQWJzdHJhY3RWYWx1ZS5jcHAgKi87IH07CisJCTBGNTVGMEY0MTREMTA2MzkwMEFDNzY0OSAv
KiBBYnN0cmFjdFBDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNTVGMEYxMTREMTA2MzYwMEFDNzY0OSAvKiBBYnN0cmFjdFBDLmNwcCAqLzsgfTsK
KwkJMEY1NUYwRjUxNEQxMDYzQzAwQUM3NjQ5IC8qIEFic3RyYWN0UEMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTVGMEYyMTREMTA2MzYwMEFDNzY0
OSAvKiBBYnN0cmFjdFBDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEY1NkExRDMxNTAwMEYzNTAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTZBMUQx
MTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1NkExRDUxNTAwMUNGNDAwMjk5MkIx
IC8qIEV4ZWN1dGlvbkNvdW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50
ZXIuY3BwICovOyB9OworCQkwRjU3MkQ0RjE2ODc5RkREMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTcy
RDREMTY4NzlGREIwMEU1N0ZCRCAvKiBUaHVua0dlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNTc4MEEyMThGRTFFOTgwMDFFNzJE
OSAvKiBQdXJlTmFOLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjU3ODBBMTE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNTg3NEVEMTk0RkVCMTIwMEFB
QjJDMSAvKiBERkdNYXlFeGl0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTg3NEVCMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmNwcCAq
LzsgfTsKKwkJMEY1ODc0RUUxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTg3NEVDMTk0RkVCMTIw
MEFBQjJDMSAvKiBERkdNYXlFeGl0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEY1QTEyNzMxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVBMTI3
MTE5MkQ5RkRGMDA4NzY0QTMgLyogREZHRG9lc0dDLmNwcCAqLzsgfTsKKwkJMEY1QTEyNzQxOTJE
OUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY1QTEyNzIxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNUE1
MkQwMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9rZW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNUE1MkNGMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5
VG9rZW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjVBNjI4MzE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVBNjI4MTE4OEM5OEQ0MDA3
MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgKi87IH07CisJCTBGNUE2Mjg0MTg4Qzk4RDQwMDcy
QzlERiAvKiBGVExWYWx1ZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjVBNjI4MjE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNUVG
OTFFMTY4NzhGN0EwMDNFNUMyNSAvKiBKSVRUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1RUY5MUIxNjg3OEY3ODAwM0U1QzI1IC8qIEpJ
VFRodW5rcy5jcHAgKi87IH07CisJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMyNSAvKiBKSVRUaHVu
a3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNUVG
OTFDMTY4NzhGNzgwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjVGMDhDRjE0NkM3NjMzMDAwNDcyQTkgLyog
VW5jb25kaXRpb25hbEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1RjA4Q0UxNDZDNzYyRjAwMDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxG
aW5hbGl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRjYyMDE3NDE0M0ZDRDMzMDA2OEI3N0MgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYyMDE3MjE0
M0ZDRDJGMDA2OEI3N0MgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2MjAxNzYxNDNGQ0QzQjAwNjhC
NzdDIC8qIERGR0Jhc2ljQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNjIwMTcwMTQzRkNEMkYwMDY4Qjc3QyAvKiBERkdCYXNpY0Jsb2NrLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2MjAx
NzcxNDNGQ0QzRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjIwMTZGMTQzRkNEMkYwMDY4Qjc3QyAv
KiBERkdBYnN0cmFjdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY2MjM3OTcxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNl
cnRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjYyMzc5NTFBRTQ1Q0E3MDBENDAyRUEgLyogREZHUGhhbnRvbUluc2VydGlvblBoYXNl
LmNwcCAqLzsgfTsKKwkJMEY2MjM3OTgxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNl
cnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2MjM3OTYxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25QaGFzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5
NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQzRDE1Qzc1RjE0
MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5NDQwMTVDNzVGMUQwMDZBNTk3
QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAvKiBERkdU
eXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCAqLzsgfTsKKwkJMEY2Mzk0NTQxNUQwNzA1NTAwNkE1
OTdDIC8qIEFycmF5UHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjYzOTQ1MTE1RDA3MDUxMDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNw
cCAqLzsgfTsKKwkJMEY2Mzk0NTUxNUQwNzA1NzAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2Mzk0NTIxNUQw
NzA1MTAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjYzOTQ3NjE1RENFMzQ3MDA2QTU5N0MgLyogREZHU3RydWN0dXJlQWJz
dHJhY3RWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGNjM5NDg0MTVFNDgxMTgwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2Mzk0ODExNUU0ODEx
NDAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgKi87IH07CisJCTBGNjM5NDg1MTVFNDgxMUIw
MDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjY0
QjI3MTFBNzg0QkFGMDA2RTRFNjYgLyogQmluYXJ5U3dpdGNoLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjRCMjZGMUE3ODRCQUYwMDZFNEU2NiAv
KiBCaW5hcnlTd2l0Y2guY3BwICovOyB9OworCQkwRjY0QjI3MjFBNzg0QkFGMDA2RTRFNjYgLyog
QmluYXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjY0QjI3MDFBNzg0QkFGMDA2RTRFNjYgLyogQmluYXJ5U3dpdGNoLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2NEIyNzkxQTc5NTdC
MjAwNkU0RTY2IC8qIENhbGxFZGdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNjRCMjc3MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5jcHAg
Ki87IH07CisJCTBGNjRCMjdBMUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NEIyNzgxQTc5NTdCMjAw
NkU0RTY2IC8qIENhbGxFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY2NjZFQzAxODM1NjZGOTAwRDAxN0YxIC8qIEJ5dGVjb2RlTGl2ZW5l
c3NBbmFseXNpc0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNjY2RUJFMTgzNTY2RjkwMEQwMTdGMSAvKiBCeXRlY29kZUxpdmVuZXNzQW5h
bHlzaXNJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEY2NjZFQzExODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2NkVC
RjE4MzU2NkY5MDBEMDE3RjEgLyogRnVsbEJ5dGVjb2RlTGl2ZW5lc3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjY2NkVDNjE4MzU2NzJCMDBE
MDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjY2RUMyMTgzNTY3MkIwMEQwMTdGMSAvKiBERkdBdmFpbGFi
aWxpdHkuY3BwICovOyB9OworCQkwRjY2NkVDNzE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxh
YmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjY2NkVDMzE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2NkUxNkIxNERGM0YxNjAw
QjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2Vu
Y3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY5MTRERjNGMTMwMEI3QjJFNCAv
KiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEY2ODJGQjIxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2ODJGQjAxOUJD
QjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuY3BwICovOyB9OworCQkwRjY4MkZCMzE5
QkNCMzY0MDBGQTNCQUQgLyogREZHU1NBQ2FsY3VsYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2ODJGQjExOUJDQjM2NDAwRkEzQkFEIC8qIERG
R1NTQUNhbGN1bGF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjY5Q0M4ODE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2OUNDODYx
OTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmNwcCAqLzsgfTsKKwkJMEY2OUNDODkx
OTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZH
RnJvemVuVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjZCMUNCNTE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0IzMTg1RkM5RTkw
MDg0NUQ5NyAvKiBGVExKU0NhbGwuY3BwICovOyB9OworCQkwRjZCMUNCNjE4NUZDOUU5MDA4NDVE
OTcgLyogRlRMSlNDYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjZCMUNCNDE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQjkxODYxMjQ0
QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCNzE4NjEyNDRDMDA4NDVEOTcgLyogQXJpdHlDaGVj
a01vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCODE4
NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQkQxODYxMjQ2QTAw
ODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCQjE4NjEyNDZB
MDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCAqLzsg
fTsKKwkJMEY2QjFDQkUxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3Jh
cHBlckdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2QjFDQkMxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3Jh
cHBlckdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIx
Q0JGMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCAqLzsgfTsKKwkJ
MEY2QjFDQzQxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0MwMTg2MkM0Nzgw
MDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQzUxODYyQzQ3ODAwODQ1RDk3IC8qIEZU
TFVud2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2QjFDQzExODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwICovOyB9
OworCQkwRjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQzIxODYyQzQ3ODAw
ODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRjZCMUNDOTE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVj
a0ZhaWxSZXR1cm5UaHVua3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2QjFDQzcxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0
dXJuVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEY2QjFDQ0ExODY0MURGODAwODQ1RDk3IC8qIEFyaXR5
Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxS
ZXR1cm5UaHVua3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRjZDNzM1MDFBQzlGOTlGMDBCRTE2ODIgLyogVmFyaWFibGVXcml0ZUZpcmVEZXRh
aWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2
QzczNEUxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmNwcCAqLzsg
fTsKKwkJMEY2QzczNTExQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWls
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZDNzM0
RjFBQzlGOTlGMDBCRTE2ODIgLyogVmFyaWFibGVXcml0ZUZpcmVEZXRhaWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjZFODQ1QTE5MDMwQkVG
MDA1NjI3NDEgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkU4NDU5MTkwMzBCRUYwMDU2Mjc0MSAvKiBE
RkdWYXJpYWJsZUFjY2Vzc0RhdGEuY3BwICovOyB9OworCQkwRjZGQzc1MDE5NjExMEE4MDBFMUQw
MkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjZGQzc0RTE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0
YXR1cy5jcHAgKi87IH07CisJCTBGNkZDNzUxMTk2MTEwQTgwMEUxRDAyRCAvKiBDb21wbGV4R2V0
U3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjZGQzc0RjE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNzAyNUE5MTcxNEIwRkEw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8q
IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgKi87IH07CisJCTBGNzAyNUFBMTcxNEIwRkMw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJv
cGFnYXRpb25QaGFzZS5jcHAgKi87IH07CisJCTBGNzE0Q0E1MTZFQTkyRjIwMEYzRUJFQiAvKiBE
RkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcxNENBMjE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGNzQzQkFBMTZCODgyNDkwMDlGOTI3NyAvKiBBUk02NERpc2Fzc2Vt
Ymxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTJBM0EyMDE2NTFDNjYxMDBBODBBRkUgLyogQVJNNjREaXNhc3NlbWJsZXIuY3BwICovOyB9Owor
CQkwRjc1NzZEMjE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NTc2
RDAxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJVFN0dWJSb3V0aW5lLmNwcCAqLzsg
fTsKKwkJMEY3NTc2RDMxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJVFN0dWJSb3V0
aW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjc1
NzZEMTE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjc2NkQyODE1
QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMjYxNUE4Q0MxQjAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lLmNwcCAqLzsgfTsKKwkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lU2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzY2RDI5MTVBOENDMzQwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZVNldC5j
cHAgKi87IH07CisJCTBGNzY2RDJDMTVBOENDM0EwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZVNl
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZE
MkExNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3NjZEMkYxNUE4RENFMDAwOEYz
NjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjc2NkQyRDE1QThEQ0REMDA4RjM2M0UgLyogR0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lLmNwcCAqLzsgfTsKKwkJMEY3NjZEMzAxNUE4RENFMjAwOEYzNjNFIC8q
IEdDQXdhcmVKSVRTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY3NjZEMkUxNUE4RENERDAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHVi
Um91dGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGNzY2RDMxMTVBQTgxMTIwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMUMxNUE1MDI4RDAw
OEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3NjZEMzgxNUFFNEExQzAwOEYzNjNFIC8qIFN0cnVjdHVy
ZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMzYxNUFFNEExQTAwOEYzNjNFIC8qIFN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwICovOyB9OworCQkwRjc2NkQzOTE1QUU0QTFGMDA4RjM2
M0UgLyogU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3NjZEMzcxNUFFNEExQTAwOEYzNjNFIC8q
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjc3MDA5MjE0MDJGRjNDMDA3OEVCMzkgLyog
U2FtcGxpbmdDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzcwMDkxMTQwMkZGMjgwMDc4RUIzOSAvKiBTYW1wbGluZ0NvdW50ZXIuY3Bw
ICovOyB9OworCQkwRjc5MDg1NTE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVnaXN0
cmF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY3OTA4NTMxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVjdHVyZVJlZ2lzdHJhdGlv
blBoYXNlLmNwcCAqLzsgfTsKKwkJMEY3OTA4NTYxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVj
dHVyZVJlZ2lzdHJhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjc5MDg1NDE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjdCMjk0QjE0QzNDRDJGMDA3QzNEQjEgLyogREZHQ2FwYWJpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MkUxRjE0
MTcyQzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3QjI5NEQxNEMzQ0Q0QzAwN0MzREIxIC8q
IERGR0NvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDMDk3N0UxNDY5RUJDNDAwQ0YyNDQyIC8qIERGR0NvbW1vbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGODAyM0VBMTYxMzgzMkIwMEEw
QkE0NSAvKiBCeVZhbEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGODAyM0U5MTYxMzgzMjMwMEEwQkE0NSAvKiBCeVZhbEluZm8uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjgzMzVCNzE2MzlD
MUU2MDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjgzMzVCNDE2MzlDMUUzMDAxNDQzQjUg
LyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi87IH07CisJCTBGODMzNUI4MTYzOUMxRUEw
MDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjgzMzVCNTE2MzlDMUUzMDAxNDQzQjUgLyogQXJy
YXlBbGxvY2F0aW9uUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJl
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
ODM2NEI1MTY0QjBDMEUwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjg4NUUxMTE4NDlBM0JF
MDBGMUUzRkEgLyogQnl0ZWNvZGVVc2VEZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGODg1RTEwMTg0OUEzQkUwMEYxRTNGQSAvKiBCeXRlY29kZVVz
ZURlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGODkzQkRCMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODkzQkRB
MTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcCAqLzsgfTsK
KwkJMEY4OThGMzExQjI3Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlv
blBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGODk4RjJGMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25Q
aGFzZS5jcHAgKi87IH07CisJCTBGODk4RjMyMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2Vy
UmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY4OThGMzAxQjI3Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5n
ZU9wdGltaXphdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEY4RjE0MzMxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEYxNDJGMUFE
RjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5jcHAgKi87IH07CisJCTBGOEYxNDM0MUFERjA5MDEw
MEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY4RjE0MzAxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY4RjE0MzUxQURG
MDkwMTAwRUQ3OTJDIC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjE0MzExQURGMDkwMTAwRUQ3OTJD
IC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwICovOyB9OworCQkwRjhGMTQzNjFBREYwOTAx
MDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjE0MzIxQURGMDkwMTAwRUQ3OTJDIC8qIERG
R01vdkhpbnRSZW1vdmFsUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjhGMkI5NTE3MkUwNEEwMDA3REJEQTUgLyogRlRMTGluay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhGMkI5MzE3
MkUwNDlFMDA3REJEQTUgLyogRlRMTGluay5jcHAgKi87IH07CisJCTBGOEYyQjk2MTcyRTA0QTMw
MDdEQkRBNSAvKiBGVExMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjhGMkI5NDE3MkUwNDlFMDA3REJEQTUgLyogRlRMTGluay5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOEYyQjk5MTcyRjA0
RkYwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjJCOTcxNzJGMDRGRDAwN0RCREE1IC8q
IERGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAgKi87IH07CisJCTBGOEYyQjlBMTcyRjA1MDEwMDdE
QkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEYyQjk4MTcyRjA0RkQwMDdEQkRBNSAvKiBERkdEZXNp
cmVkSWRlbnRpZmllcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjhGMkI5RTE3MzA2QzhEMDA3REJEQTUgLyogU291cmNlQ29kZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhGMkI5RDE3MzA2
QzhCMDA3REJEQTUgLyogU291cmNlQ29kZS5jcHAgKi87IH07CisJCTBGOEY5NDNDMTY2NzYzMTMw
MEQ2MTk3MSAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEY5NDNBMTY2NzYzMTEwMEQ2MTk3MSAvKiBD
b2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcCAqLzsgfTsKKwkJMEY4Rjk0NDAxNjY3NjMzMDAwRDYx
OTcxIC8qIENvZGVCbG9ja0hhc2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY4Rjk0M0QxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2gu
Y3BwICovOyB9OworCQkwRjhGOTQ0MTE2Njc2MzMyMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4Rjk0M0Ux
NjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjhGOTQ0MjE2Njc2MzM1MDBENjE5NzEgLyog
Q29kZVR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY4Rjk0M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLzsgfTsKKwkJMEY4
Rjk0NDQxNjY3NjM1NDAwRDYxOTcxIC8qIEpJVENvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4Rjk0NDMxNjY3NjM1MjAwRDYxOTcxIC8qIEpJ
VENvZGUuY3BwICovOyB9OworCQkwRjhGOTQ0NjE2Njc2NEYxMDBENjE5NzEgLyogQ29kZU9yaWdp
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhG
OTQ0NTE2Njc2NEVFMDBENjE5NzEgLyogQ29kZU9yaWdpbi5jcHAgKi87IH07CisJCTBGOTE5RDBD
MTU3RUUwOUYwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDA5MTU3RUUwOUQwMDRBNEU3
RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCAqLzsgfTsKKwkJMEY5MTlEMEQxNTdFRTBBMjAw
NEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDBBMTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5bWJv
bFRhYmxlT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3Bw
ICovOyB9OworCQkwRjkxOUQxMTE1N0YzMzJDMDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjkxOUQy
NTE1ODUzQ0UwMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkxOUQyMjE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0
Y2hwb2ludC5jcHAgKi87IH07CisJCTBGOTE5RDI2MTU4NTNDRTMwMDRBNEU3RCAvKiBXYXRjaHBv
aW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkx
OUQyMzE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTE5RDI4MTU4NTY3NzMwMDRBNEU3RCAv
KiBTeW1ib2xUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3BwICovOyB9
OworCQkwRjkzMzI5RDE0Q0E3REMzMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MzMyOTMxNENBN0RD
MTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCAqLzsgfTsKKwkJMEY5MzMyOUUxNENBN0RD
NTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtT
dGF0dXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjkzMzI5RjE0Q0E3RENBMDA4NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzMzI5NTE0Q0E3REMxMDA4
NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5jcHAgKi87IH07CisJCTBGOTMzMkEwMTRDQTdEQ0QwMDg1
RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjkzMzI5NjE0Q0E3REMxMDA4NUYzQzYgLyogR2V0QnlJZFN0YXR1cy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTMz
MkEzMTRDQTdERDcwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAv
KiBQdXRCeUlkU3RhdHVzLmNwcCAqLzsgfTsKKwkJMEY5MzMyQTQxNENBN0REOTAwODVGM0M2IC8q
IFB1dEJ5SWRTdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTMzMjlBMTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY5MzMyQTUxNENB
N0RERDAwODVGM0M2IC8qIFN0cnVjdHVyZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MzMyOUIxNENBN0RDMTAwODVGM0M2IC8qIFN0cnVjdHVy
ZVNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGOTNCNEE5MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzQjRBNzE4QjkyQzREMDAx
NzhBM0YgLyogUHV0QnlJZFZhcmlhbnQuY3BwICovOyB9OworCQkwRjkzQjRBQTE4QjkyQzREMDAx
NzhBM0YgLyogUHV0QnlJZFZhcmlhbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGOTNCNEE4MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
OTYzQjM4MTNGQzZGRTkwMDAyRDlCMiAvKiBWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTYzQjM2MTNGQzZGREUwMDAyRDlCMiAv
KiBWYWx1ZVByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjk2RUJCMzE2Njc2RUY2MDA4QkFERTMgLyogQ29kZUJsb2NrV2l0aEpJVFR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTZF
QkIxMTY2NzZFRjQwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOTc0OTcxMTY4N0FERTQw
MEE0RkY2QSAvKiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjk3NDk2RjE2ODdBREUyMDBBNEZGNkEgLyogSlNDZWxsSW5saW5l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
OTc4QjNCMUFBRUE3MUQwMDdDNzM2OSAvKiBDb25zdGFudE1vZGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5NzhCM0ExQUFFQTcxRDAwN0M3MzY5
IC8qIENvbnN0YW50TW9kZS5jcHAgKi87IH07CisJCTBGOTgyMDYwMTZCRkUzODEwMDI0MEQwMiAv
KiBQcmVjaXNlSnVtcFRhcmdldHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY5ODIwNUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgKi87IH07CisJCTBGOTgyMDYxMTZCRkUzODMwMDI0MEQwMiAvKiBQcmVjaXNlSnVt
cFRhcmdldHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGOTgyMDVFMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjlDNUU1RTE4RTM1
RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlDNUU1QzE4RTM1RjVFMDBENDMxQzMgLyogRlRM
RFdBUkZSZWdpc3Rlci5jcHAgKi87IH07CisJCTBGOUM1RTVGMThFMzVGNUUwMEQ0MzFDMyAvKiBG
VExEV0FSRlJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjlDNUU1RDE4RTM1RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGOUQzMzcw
MTY1REJCOTAwMDVBRDM4NyAvKiBEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RDMzNkUxNjVEQkI4RDAwNUFEMzg3IC8qIERp
c2Fzc2VtYmxlci5jcHAgKi87IH07CisJCTBGOUQzMzk2MTdGRkM0RTYwMDczQzJCQyAvKiBERkdG
bHVzaGVkQXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY5RDMzOTQxN0ZGQzRFNjAwNzNDMkJDIC8qIERGR0ZsdXNoZWRBdC5jcHAgKi87IH07CisJ
CTBGOUQzMzk3MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUQzMzk1MTdGRkM0RTYwMDczQzJC
QyAvKiBERkdGbHVzaGVkQXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjlEMzM5QTE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUQzMzk4
MTgwM0FEQjcwMDczQzJCQyAvKiBGVExTdGFja01hcHMuY3BwICovOyB9OworCQkwRjlEMzM5QjE4
MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlEMzM5OTE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3Rh
Y2tNYXBzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMEY5RDM2OTQxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlEMzY5MjFBRTlDQzMz
MDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmNwcCAqLzsgfTsKKwkJMEY5RDM2OTUxQUU5Q0Mz
MzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RDM2OTMxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFu
VXBQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGOUUzMjYzMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjlFMzI2MTFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2Uu
Y3BwICovOyB9OworCQkwRjlFMzI2NDFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVy
SW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOUUzMjYyMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUZCNEYyMTdG
Q0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmNwcCAqLzsgfTsKKwkJMEY5RkI0
RjUxN0ZDQjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUZCNEYzMTdGQ0I5MTcwMENCNjdG
OCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY5RkM4QzMxNEUxQjVGRTAwRDUyQUUwIC8qIFBvbHltb3Jw
aGljUHV0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExp
c3QuY3BwICovOyB9OworCQkwRjlGQzhDNDE0RTFCNjAwMDBENTJBRTAgLyogUG9seW1vcnBoaWNQ
dXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY5RkM4QzAxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjlGQzhD
NTE0RTFCNjA0MDBENTJBRTAgLyogUHV0S2luZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RkM4QzExNEUxQjVGQjAwRDUyQUUwIC8qIFB1dEtpbmQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkEy
QzE3QjE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTJDMTc5MTdEN0NGODQwMDlEMDE1
RiAvKiBUZXN0UnVubmVyVXRpbHMuY3BwICovOyB9OworCQkwRkEyQzE3QzE3RDdDRjg0MDA5RDAx
NUYgLyogVGVzdFJ1bm5lclV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkEyQzE3QTE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZB
NTgxQkExNTBFOTUyQzAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE1ODFCNzE1MEU5NTJBMDBCOUEyRDkg
LyogREZHTm9kZUZsYWdzLmNwcCAqLzsgfTsKKwkJMEZBNTgxQkIxNTBFOTUzMDAwQjlBMkQ5IC8q
IERGR05vZGVGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZBNTgxQjgxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQTU4MUJDMTUwRTk1
MzAwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZBNTgxQjkxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVUeXBl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZB
N0E4RUIxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE3QThFOTE4QjQxM0M4MDA1MjM3MUQgLyogUmVnLmNw
cCAqLzsgfTsKKwkJMEZBN0E4RUMxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBN0E4RUExOEI0MTNDODAwNTIz
NzFEIC8qIFJlZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGQTdBOEVFMThDRTRGRDgwMDUyMzcxRCAvKiBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZB
N0E4RUQxOENFNEZEODAwNTIzNzFEIC8qIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAgKi87
IH07CisJCTBGQUEzRTA5MTlEMEMyQ0IwMEZBQzlFMiAvKiBERkdQcm9tb3RlSGVhcEFjY2Vzcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBQTNFMDgx
OUQwQzJDQjAwRkFDOUUyIC8qIERGR1Byb21vdGVIZWFwQWNjZXNzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZBRjdFRkQxNjVCQTkxQjAwMEM4
NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkFGN0VGQTE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1i
bGVyLmNwcCAqLzsgfTsKKwkJMEZBRjdFRkUxNjVCQTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2Vt
Ymxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZB
RjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjEwNTg1MTY3NTQ4MEYwMEY4
QUI2RSAvKiBFeGl0S2luZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkIxMDU4MjE2NzU0ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuY3BwICovOyB9
OworCQkwRkIxMDU4NjE2NzU0ODEyMDBGOEFCNkUgLyogRXhpdEtpbmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjEwNTgzMTY3NTQ4MEMwMEY4QUI2
RSAvKiBFeGl0S2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGQjEwNThCMTY3NTQ4MzEwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTA1ODcx
Njc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5jcHAgKi87IH07CisJCTBGQjEwNThD
MTY3NTQ4MzMwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjEwNTg4MTY3NTQ4MkUwMEY4QUI2RSAvKiBQ
cm9maWxlck9TUkV4aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkIxMDU4RDE2NzU0ODM3MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIx
MDU4OTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi87IH07CisJ
CTBGQjEwNThFMTY3NTQ4M0EwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXRTaXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIxMDU4QTE2NzU0ODJF
MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjE0RTFFMTgxMjRBQ0UwMDlCNkI0RCAvKiBK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkIxNEUxQzE4MTI0QUNFMDA5QjZCNEQgLyogSklUSW5saW5lQ2Fj
aGVHZW5lcmF0b3IuY3BwICovOyB9OworCQkwRkIxNEUxRjE4MTI0QUNFMDA5QjZCNEQgLyogSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQjE0RTFEMTgxMjRBQ0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdl
bmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGQjE0RTIxMTgxMjU3MEIwMDlCNkI0RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjE0RTIwMTgx
MjU3MEIwMDlCNkI0RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkIxNEUyMzE4MTMwOTU1MDA5QjZC
NEQgLyogREZHSW5saW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTRFMjIxODEzMDk1NTAwOUI2QjREIC8qIERG
R0lubGluZUNhY2hlV3JhcHBlcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkIxNzY2MDE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVh
cExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjE3NjVDMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdIZWFwTG9jYXRpb24uY3BwICovOyB9
OworCQkwRkIxNzY2MTE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkIxNzY1RDE5NkI4RjlF
MDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCMTc2NjIxOTZCOEY5RTAwOTEwNTJBIC8qIERGR1B1
cmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkIxNzY1RTE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZhbHVlLmNwcCAqLzsgfTsKKwkJ
MEZCMTc2NjMxOTZCOEY5RTAwOTEwNTJBIC8qIERGR1B1cmVWYWx1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCMTc2NUYxOTZCOEY5RTAwOTEwNTJB
IC8qIERGR1B1cmVWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGQjQzOEEzMTkyNzBCMUQwMEUxRkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNDM4QTIx
OTI3MEIxRDAwRTFGQkM5IC8qIFN0cnVjdHVyZVNldC5jcHAgKi87IH07CisJCTBGQjU0Njc3MTRG
NTlCNUMwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5
IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCNTQ2NzkxNEY1QzQ2QjAwMkMyOTg5IC8qIExhenlP
cGVyYW5kVmFsdWVQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVl
UHJvZmlsZS5jcHAgKi87IH07CisJCTBGQjU0NjdCMTRGNUM3RTEwMDJDMjk4OSAvKiBNZXRob2RP
ZkdldHRpbmdBVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5n
QVZhbHVlUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGQjU0NjdEMTRGNUNGRDYwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFs
dWVQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjU0NjdDMTRGNUNGRDMwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9m
aWxlLmNwcCAqLzsgfTsKKwkJMEZCN0YzOTUxNUVEOEU0NjAwRjE2N0IyIC8qIEFycmF5Q29udmVu
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
QjdGMzg5MTVFRDhFMzgwMEYxNjdCMiAvKiBBcnJheUNvbnZlbnRpb25zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCN0YzOTYxNUVEOEU0NjAw
RjE2N0IyIC8qIEFycmF5U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZCN0YzOEExNUVEOEUzODAwRjE2N0IyIC8qIEFycmF5U3RvcmFnZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdG
Mzk3MTVFRDhFNDYwMEYxNjdCMiAvKiBCdXR0ZXJmbHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjdGMzhCMTVFRDhFMzgwMEYxNjdCMiAvKiBCdXR0
ZXJmbHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkI3RjM5ODE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVyZmx5SW5saW5lcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCN0YzOEMxNUVEOEUzODAw
RjE2N0IyIC8qIEJ1dHRlcmZseUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkI3RjM5OTE1RUQ4RTQ2MDBGMTY3QjIgLyogSW5kZXhp
bmdIZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjdGMzhEMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdGMzlBMTVFRDhFNDYw
MEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjdGMzhFMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRl
eGluZ0hlYWRlcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkI3RjM5QjE1RUQ4RTQ2MDBGMTY3QjIgLyogSW5kZXhpbmdUeXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI3RjM4RjE1
RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCN0YzOUMxNUVEOEU0NjAwRjE2N0IyIC8qIFBy
b3BlcnR5U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZCN0YzOTAxNUVEOEUzODAwRjE2N0IyIC8qIFByb3BlcnR5U3RvcmFnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQjdGMzlEMTVF
RDhFNDYwMEYxNjdCMiAvKiBSZWplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQjdGMzkxMTVFRDhFMzgwMEYxNjdCMiAvKiBSZWplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkI3RjM5RTE1
RUQ4RTQ2MDBGMTY3QjIgLyogU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCN0YzOTIxNUVEOEUzODAwRjE2N0IyIC8q
IFNwYXJzZUFycmF5VmFsdWVNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkJDMEFFNzE0OTZDN0M0MDBENEZCREQgLyogREZHRXhpdFByb2Zp
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZC
QzBBRTQxNDk2QzdDMTAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmNwcCAqLzsgfTsKKwkJMEZC
QzBBRTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkJDMEFFNTE0OTZDN0MxMDBENEZCREQg
LyogREZHRXhpdFByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkJEN0U2OTE0NDc5OTk2MDA0ODEzMTUgLyogQ29kZU9yaWdpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRDdFNjcxNDQ3
OTk4RjAwNDgxMzE1IC8qIENvZGVPcmlnaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkJEQjlBRDFBQjBGQkM2MDAwQjU3RTUgLyogREZHQ2Fs
bENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkJEQjlBQzFBQjBGQkM2MDAwQjU3RTUg
LyogREZHQ2FsbENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZCRTBGNzIxNkMx
REIwMzAwODJDNUU4IC8qIERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNkIxNkMxREIwMTAwODJDNUU4
IC8qIERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRkJFMEY3MzE2QzFEQjA1
MDA4MkM1RTggLyogREZHQ1BTUmV0aHJlYWRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNkMxNkMxREIwMTAwODJDNUU4IC8qIERG
R0NQU1JldGhyZWFkaW5nUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkJFMEY3NDE2QzFEQjA5MDA4MkM1RTggLyogREZHUHJlZGljdGlv
bkluamVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQkUwRjZEMTZDMURCMDEwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9uSW5qZWN0
aW9uUGhhc2UuY3BwICovOyB9OworCQkwRkJFMEY3NTE2QzFEQjBCMDA4MkM1RTggLyogREZHUHJl
ZGljdGlvbkluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkJFMEY2RTE2QzFEQjAxMDA4MkM1RTggLyogREZHUHJlZGljdGlvbklu
amVjdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEZCRTBGNzYxNkMxREIwRjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBG
NkYxNkMxREIwMTAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuY3BwICovOyB9OworCQkw
RkJFMEY3NzE2QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRTBGNzAxNkMxREIwMTAw
ODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkJGMTU4QzE5QjdBNTMxMDA2OTVERDAgLyogREZH
QmxvY2tTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCRjE1OEExOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCAqLzsgfTsKKwkJ
MEZCRjE1OEQxOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCRjE1OEIxOUI3QTUzMTAw
Njk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzA5NzZBMTQ2OEE2RjcwMENGMjQ0MiAvKiBERkdP
U1JFeGl0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkMwOTc2ODE0NjhBNkVGMDBDRjI0NDIgLyogREZHT1NSRXhpdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzA5NzcxMTQ2OTNBRjUwMENGMjQ0
MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQzA5NzZGMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29t
cGlsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkMwOTc3MjE0NjkzQUY5MDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDMDk3NzAxNDY5
M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjY0LmNwcCAqLzsgfTsKKwkJMEZDMDk3
NzYxNDY5NDNCMDAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzA5Nzc1MTQ2OTQzQUQw
MENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgKi87IH07CisJCTBGQzA5Nzkx
MTQ2QTZGNzEwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzA5NzhFMTQ2QTZGNjMwMENGMjQ0MiAvKiBERkdP
U1JFeGl0LmNwcCAqLzsgfTsKKwkJMEZDMDk3OTIxNDZBNkY3MzAwQ0YyNDQyIC8qIERGR09TUkV4
aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkMwOTc4RjE0NkE2RjYzMDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyLmNwcCAq
LzsgfTsKKwkJMEZDMDk3QTExNDZCMjhDQTAwQ0YyNDQyIC8qIERGR1RodW5rcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkMwOTc5RjE0NkIyOEM3
MDBDRjI0NDIgLyogREZHVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEZDMDk3QTIxNDZCMjhDQzAwQ0Yy
NDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDMDk3QTAxNDZCMjhDNzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQzIwQ0I1MTg1MkUy
QzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzIwQ0IzMTg1MkUyQzYwMEM5RTk1
NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEZDMjBDQjYxODUy
RTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzIwQ0I0MTg1MkUyQzYwMEM5RTk1
NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDMjBDQjkxODU1NkEzNTAwQzlFOTU0IC8qIERG
R1NTQUxvd2VyaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDMjBDQjcxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhh
c2UuY3BwICovOyB9OworCQkwRkMyMENCQTE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NBTG93ZXJp
bmdQaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZDMjBDQjgxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkMzMTQxMjE4MTQ1
NTkxMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzMxNDEwMTgxNDU1OTEwMDAzMzIzMiAvKiBSZWdpc3RlclNl
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
QzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDMzE0MTExODE0NTU5MTAwMDMz
MjMyIC8qIFRlbXBSZWdpc3RlclNldC5jcHAgKi87IH07CisJCTBGQzMxNDE1MTgxNDZENzAwMDAz
MzIzMiAvKiBSZWdpc3RlclNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkMzMTQxNDE4MTQ2RDcwMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuY3Bw
ICovOyB9OworCQkwRkMzQ0NGQzE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y1MTlBREE0
MTAwMDZBQzcyQSAvKiBERkdCbG9ja01hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGQzNDQ0ZEMTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a01hcElubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQzNDQ0Y2MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja01hcElubGluZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkMzQ0NGRTE5
QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y3MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a1NldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGQzNDQ0ZGMTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y4MTlBREE0MTAw
MDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCAqLzsgfTsKKwkJMEZDM0NEMDAxOUFEQTQx
MDAwNkFDNzJBIC8qIERGR0Jsb2NrV29ya2xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzNDQ0Y5MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9j
a1dvcmtsaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEZDM0NEMDExOUFEQTQxMTAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkMzQ0NGQTE5
QURBNDEwMDA2QUM3MkEgLyogREZHTmFpdmVEb21pbmF0b3JzLmNwcCAqLzsgfTsKKwkJMEZDM0NE
MDIxOUFEQTQxMTAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDM0NDRkIxOUFEQTQxMDAwNkFDNzJB
IC8qIERGR05haXZlRG9taW5hdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkzQyAvKiBEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDNzEyREMxN0NEODc3ODAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAgKi87IH07CisJCTBGQzcxMkRGMTdDRDg3N0MwMDhDQzkzQyAvKiBEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQzcxMkREMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkM3MTJFMjE3Q0Q4NzkxMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDNzEyRTAxN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMEZDNzEyRTMxN0NEODc5MzAwOENDOTND
IC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM3MTJFMTE3Q0Q4NzhGMDA4Q0M5M0Mg
LyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkM4MTUwQTE0MDQzQkY1MDBDRkE2
MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDODE1MDkxNDA0M0JEMjAwQ0ZBNjAzIC8qIFdyaXRlQmFycmll
clN1cHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM4MTUwODE0
MDQzQkNBMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAgKi87IH07CisJCTBGQzk3
RjMzMTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDOTdGMkYx
ODIwMjBENzAwMkM5QjI2IC8qIENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5jcHAgKi87
IH07CisJCTBGQzk3RjM0MTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dh
dGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQzk3RjMwMTgyMDIwRDcwMDJDOUIyNiAvKiBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9p
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkM5N0YzRDE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkM5N0YzNzE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25Q
aGFzZS5jcHAgKi87IH07CisJCTBGQzk3RjNFMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlk
YXRpb25Qb2ludEluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzODE4MjAyMTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0
aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGQzk3RjNGMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVw
bGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDOTdGMzkxODIwMjExOTAwMkM5QjI2IC8qIERGR0p1bXBSZXBsYWNlbWVudC5jcHAgKi87
IH07CisJCTBGQzk3RjQwMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzk3RjNBMTgy
MDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkM5N0Y0MTE4MjAyMTE5MDAyQzlCMjYg
LyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzQjE4MjAyMTE5MDAyQzlCMjYgLyogREZH
V2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgKi87IH07CisJCTBGQzk3RjQyMTgyMDIxMTkw
MDJDOUIyNiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM5N0YzQzE4MjAyMTE5MDAyQzlCMjYg
LyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1QiAvKiBQ
YXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQUIxODA0QzEzRTAw
NDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUE5MTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVz
dG9yZS5jcHAgKi87IH07CisJCTBGQ0VGQUFDMTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVz
dG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RUZBQUExODA0QzEzRTAwNDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1Q0E2RDAwNDcy
Q0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNF
RkFDMTE4MDVEOTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQg
LyogTExWTU92ZXJyaWRlcy5jcHAgKi87IH07CisJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3MkNFNCAv
KiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovOyB9
OworCQkwRkNFRkFDQTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzQxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0MxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzcxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovOyB9OworCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFDRjE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5j
dGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1NTAw
NDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgfTsKKwkJMEZDRUZBRDMxODA1RURDQzAw
NDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFE
NDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQyMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZN
SGVhZGVycy5oICovOyB9OworCQkwRkNFRkFENzE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNF
RkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAgKi87IH07CisJCTBGQ0VGQURB
MTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5o
ICovOyB9OworCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQURCMTgwNjRB
MTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovOyB9OworCQkwRkNFRkFERjE4MDczOEMwMDA0
NzJDRTQgLyogRlRMTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZDRUZBREQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNw
cCAqLzsgfTsKKwkJMEZDRUZBRTAxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFERTE4MDcz
OEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQxMjAyRjFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlND
YWxsQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkQxMjAyRDFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5jcHAgKi87IH07CisJ
CTBGRDEyMDMwMUE4QUVEMTIwMDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQxMjAyRTFBOEFFRDEyMDAwRjUy
ODAgLyogRlRMSlNDYWxsQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRDEyMDMzMUE4Qzg1QkQwMDBGNTI4MCAvKiBGVExKU0NhbGxWYXJh
cmdzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDEyMDMxMUE4Qzg1QkQwMDBGNTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmNwcCAqLzsgfTsKKwkJ
MEZEMTIwMzQxQThDODVCRDAwMEY1MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDEyMDMyMUE4Qzg1QkQwMDBG
NTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEMkM5MjQxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVy
ZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDJDOTIzMTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEM0M4MjYxNDExNUQ0
MDAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNw
cCAqLzsgfTsKKwkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0M4MjIxNDExNUQw
RTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovOyB9OworCQkwRkQ4MUFEMjE1NEZCNEVFMDA5ODNF
NzIgLyogREZHRG9taW5hdG9ycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkQ4MUFDRjE1NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5j
cHAgKi87IH07CisJCTBGRDgxQUQzMTU0RkI0RjAwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MUFEMDE1
NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDgyRTIxMTQxNzJDRTMwMDE3OUM5NCAvKiBE
RkdDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZEODJFMUUxNDE3MkMyRjAwMTc5Qzk0IC8qIERGR0NhcGFiaWxpdGllcy5jcHAg
Ki87IH07CisJCTBGRDgyRTM5MTQxQUIxNEQwMDE3OUM5NCAvKiBDb21wYWN0SklUQ29kZU1hcC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFMzcx
NDFBQjE0MjAwMTc5Qzk0IC8qIENvbXBhY3RKSVRDb2RlTWFwLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEODJFNTQxNDFEQUVFRTAwMTc5Qzk0
IC8qIFNwZWN1bGF0ZWRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkQ4MkU0RjE0MURBRUExMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5cGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4MkU1
NjE0MURBRjA4MDAxNzlDOTQgLyogREZHT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFNTIxNDFEQUVERTAwMTc5Qzk0IC8qIERG
R09TUkVudHJ5LmNwcCAqLzsgfTsKKwkJMEZEODJFNTcxNDFEQUYxMDAwMTc5Qzk0IC8qIERGR09T
UkVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkQ4MkU1MzE0MURBRURFMDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4MkU4NjE0MUYzRkYxMDAxNzlD
OTQgLyogU3BlY3VsYXRlZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZEODJFODQxNDFGM0ZEQTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBl
LmNwcCAqLzsgfTsKKwkJMEZEOEEzMTMxN0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVCbG9ja1NldC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMx
MTE3RDQzMjZDMDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLzsgfTsKKwkJMEZEOEEzMTQx
N0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVCbG9ja1NldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEOEEzMTIxN0Q0MzI2QzAwQ0EyQzQwIC8qIENvZGVC
bG9ja1NldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGRDhBMzE5MTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEOEEzMTUx
N0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTEZvck9TUkVudHJ5SklUQ29kZS5jcHAgKi87IH07CisJCTBG
RDhBMzFBMTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzE2MTdENTFGMjIw
MENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyog
RlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZEOEEzMTcxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCAqLzsgfTsK
KwkJMEZEOEEzMUMxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMxODE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMT1NSRW50cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkQ4QTMyNTE3RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlwb2lu
dENyZWF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZEOEEzMUQxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09TUkVudHJ5cG9pbnRDcmVh
dGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJMEZEOEEzMjYxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09T
UkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQ4QTMxRTE3RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRkQ4QTMyNzE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJ
bmplY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkQ4QTMxRjE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rp
b25QaGFzZS5jcHAgKi87IH07CisJCTBGRDhBMzI4MTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVy
VXBDaGVja0luamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkQ4QTMyMDE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJ
bmplY3Rpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGRDhBMzI5MTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9GVExEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwICovOyB9OworCQkwRkQ4QTMyQTE3RDUxRjU3MDBDQTJDNDAg
LyogREZHVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzIyMTdENTFGNTcwMENBMkM0MCAv
KiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDhBMzJCMTdENTFGNTcwMENBMkM0
MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzIzMTdE
NTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrLmNwcCAqLzsgfTsKKwkJMEZEOEEzMkMxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRM
Rm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDhBMzI0MTdENTFGNTcwMENBMkM0MCAv
KiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEOTQ5ODIxQTk3
REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRj
aFNjb3BlLmNwcCAqLzsgfTsKKwkJMEZEOTQ5ODMxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hT
Y29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZE
OTQ5N0YxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDk0OTg0MUE5N0RCOTYwMEUyODk2
NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDk0OTgwMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9u
TmFtZVNjb3BlLmNwcCAqLzsgfTsKKwkJMEZEOTQ5ODUxQTk3REI5NjAwRTI4OTY2IC8qIEpTRnVu
Y3Rpb25OYW1lU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRDk0OTgxMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEQjJD
QzkxNzNEQTUyMDAwN0IzQzFCIC8qIEZUTEFiYnJldmlhdGVkVHlwZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREIyQ0M3MTczREE1MUUwMDdCM0Mx
QiAvKiBGVExBYmJyZXZpYXRlZFR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEQjJDQ0ExNzNEQTUyMzAwN0IzQzFCIC8qIEZUTFZhbHVl
RnJvbUJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkRCMkNDODE3M0RBNTFFMDA3QjNDMUIgLyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkRCMkNFNzE3NDgz
MEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQjJDRTUxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmts
aXN0LmNwcCAqLzsgfTsKKwkJMEZEQjJDRTgxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRCMkNF
NjE3NDgzMEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkRCMkNFQTE3NDg5NkM3MDA3QjNDMUIgLyog
Q29uY3VycmVudEpJVExvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGREIyQ0U5MTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9jay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRERC
RkI1MTY2NkVFRDgwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIyMTY2NkVF
RDUwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCAqLzsgfTsKKwkJMEZE
REJGQjYxNjY2RUVEQTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIzMTY2NkVF
RDUwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMTQxQUE5MDkxMTAwRDMz
QjMzIC8qIEFyZ3VtZW50c01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRTA1MDBDMUFBOTA5MTEwMEQzM0IzMyAvKiBBcmd1bWVudHNNb2RlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUw
MTUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAwRDFBQTkwOTExMDBE
MzNCMzMgLyogRGlyZWN0QXJndW1lbnRzT2Zmc2V0LmNwcCAqLzsgfTsKKwkJMEZFMDUwMTYxQUE5
MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMDUwMEUxQUE5MDkxMTAwRDMzQjMzIC8q
IERpcmVjdEFyZ3VtZW50c09mZnNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGRTA1MDE3MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1
bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFMDUwMEYxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50cy5jcHAgKi87IH07CisJ
CTBGRTA1MDE4MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDEwMUFBOTA5MTEwMEQz
M0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAxOTFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0Fy
Z3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAxQTFBQTkwOTEx
MDBEMzNCMzMgLyogR2VuZXJpY0FyZ3VtZW50c0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDEyMUFBOTA5MTEwMEQzM0IzMyAvKiBH
ZW5lcmljQXJndW1lbnRzSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGRTA1MDFCMUFBOTA5MTEwMEQzM0IzMyAvKiBHZW5lcmljT2Zm
c2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUw
NTAxMzFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY09mZnNldC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRTA1MDI1MUFBOTA5NTYwMEQzM0Iz
MyAvKiBDbG9uZWRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFMDUwMUMxQUE5MDk1NjAwRDMzQjMzIC8qIENsb25lZEFyZ3VtZW50
cy5jcHAgKi87IH07CisJCTBGRTA1MDI2MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1
MDFEMUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAyNzFBQTkwOTU2MDBEMzNC
MzMgLyogU2NvcGVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTA1MDFFMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVu
dHMuY3BwICovOyB9OworCQkwRkUwNTAyODFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1l
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUw
NTAxRjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1lbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMjkxQUE5MDk1NjAwRDMz
QjMzIC8qIFNjb3BlZEFyZ3VtZW50c1RhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAyMDFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJn
dW1lbnRzVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkwRkUwNTAyQTFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMDUwMjExQUE5MDk1
NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmNwcCAqLzsgfTsKKwkJMEZFMDUwMkIxQUE5MDk1NjAw
RDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkUwNTAyMjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkUwNTAy
QzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTA1MDIzMUFBOTA5NTYwMEQzM0IzMyAvKiBWYXJP
ZmZzZXQuY3BwICovOyB9OworCQkwRkUwNTAyRDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUwNTAy
NDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFMDUwMkYxQUFBODA2OTAwRDMzQjMzIC8qIFNj
b3BlZEFyZ3VtZW50c1RhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRTA1MDJFMUFBQTgwNjkwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVudHNU
YWJsZS5jcHAgKi87IH07CisJCTBGRTIyOEVEMTQzNkFCMjcwMDE5NkM0OCAvKiBPcHRpb25zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUyMjhFQjE0
MzZBQjIzMDAxOTZDNDggLyogT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRTIyOEVFMTQzNkFCMkMwMDE5NkM0OCAvKiBPcHRpb25z
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTIy
OEVBMTQzNkFCMjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLzsgfTsKKwkJMEZFMjU0RjYxQUJE
REQyMjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMjU0RjQxQUJEREQyMjAwQTdD
NkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwICovOyB9OworCQkwRkUyNTRGNzFB
QkRERDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFMjU0RjUxQUJEREQyMjAwQTdD
NkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkU3MjExRDE5M0I5QzU5MDAzMUY2RUQgLyog
REZHVHJhbnNpdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkU3MjExQjE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5jcHAgKi87
IH07CisJCTBGRTcyMTFFMTkzQjlDNTkwMDMxRjZFRCAvKiBERkdUcmFuc2l0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU3MjExQzE5M0I5QzU5
MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRTgzNDE3MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9y
cGhpY0NhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkU4MzQxNTFBNkVGOTdCMDBEMDQ4NDcgLyogUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmUuY3BwICovOyB9OworCQkwRkU4MzQxODFBNkVGOTdCMDBEMDQ4NDcgLyogUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTgzNDE2MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0Nh
bGxTdHViUm91dGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTBGRTg1MzRCMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2lu
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
ODUzNDkxNzIzQ0RBNTAwQjYxOEY1IC8qIERGR0Rlc2lyZWRXYXRjaHBvaW50cy5jcHAgKi87IH07
CisJCTBGRTg1MzRDMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTg1MzRBMTcy
M0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkU5NUY3OTE4QjU2OTQ3MDBCNTMx
RkIgLyogRlRMRGF0YVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFOTVGNzcxOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9u
LmNwcCAqLzsgfTsKKwkJMEZFOTVGN0ExOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU5NUY3
ODE4QjU2OTQ3MDBCNTMxRkIgLyogRlRMRGF0YVNlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEwODE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMQWJicmV2aWF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZFQTA5RkQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVB
MEEwOTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwOUZFMTcwNTEzREIwMEJCNzIy
QyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwICovOyB9OworCQkwRkVBMEEwQTE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkVBMDlGRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZF
QTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMDAxNzA1MTNEQjAwQkI3MjJDIC8q
IEZUTENvbXBpbGUuY3BwICovOyB9OworCQkwRkVBMEEwQzE3MDUxM0RCMDBCQjcyMkMgLyogRlRM
Q29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFQTBBMDExNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEwRDE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMSklUQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkVBMEEwMjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5jcHAgKi87
IH07CisJCTBGRUEwQTBFMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwMzE3MDUxM0RCMDBC
QjcyMkMgLyogRlRMSklUQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1Rv
TExWTS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3BwICovOyB9Owor
CQkwRkVBMEExMDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwQTA1MTcwNTEzREIw
MEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRUEwQTExMTcwNTEzREIwMEJCNzIyQyAvKiBGVExP
dXRwdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RUEwQTA2MTcwNTEzREIwMEJCNzIyQyAvKiBGVExPdXRwdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEExMjE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUEwQTA3MTcwNTEzREIwMEJCNzIyQyAvKiBGVExTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRUEwQTE2MTcwNkJCOTAwMEJC
NzIyQyAvKiBGVExTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkVBMEExNTE3MDZCQjkwMDBCQjcyMkMgLyogRlRMU3RhdGUuY3BwICovOyB9
OworCQkwRkVBMEExQzE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwQTE3MTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXAuY3BwICovOyB9OworCQkwRkVBMEExRDE3MDhC
MDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEExODE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJz
dHJhY3RIZWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEZFQTBBMUUxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
QTBBMTkxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwICov
OyB9OworCQkwRkVBMEExRjE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
QTBBMUExNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyMDE3
MDhCMDA3MDBCQjcyMkMgLyogRlRMVHlwZWRQb2ludGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEExQjE3MDhCMDA3MDBCQjcyMkMgLyogRlRM
VHlwZWRQb2ludGVyLmggKi87IH07CisJCTBGRUEwQTIzMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUEwQTIxMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyNDE3MDk2
MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMjIxNzA5NjA2OTAwQkI3MjJDIC8q
IEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9u
VmFsdWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRUEwQTI1MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3BwICovOyB9Owor
CQkwRkVBMEEyODE3MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEyNjE3
MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAgKi87IH07CisJCTBG
RUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMjkxNzA5NjI5NjAwQkI3MjJDIC8q
IEZUTE91dHB1dC5jcHAgKi87IH07CisJCTBGRUEwQTJDMTcwQjY2MTkwMEJCNzIyQyAvKiBGVExG
b3JtYXR0ZWRWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZFQTBBMkIxNzBCNjYxOTAwQkI3MjJDIC8qIEZUTEZvcm1hdHRlZFZhbHVlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFQTBBMzEx
NzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMkQxNzBENDBCRjAwQkI3MjJDIC8qIERG
R0NvbW1vbkRhdGEuY3BwICovOyB9OworCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyogREZH
Q29tbW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZFQTBBMkUxNzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkVBMEEzMzE3MEQ0MEJG
MDBCQjcyMkMgLyogREZHSklUQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEyRjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5j
cHAgKi87IH07CisJCTBGRUEwQTM0MTcwRDQwQkYwMEJCNzIyQyAvKiBERkdKSVRDb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEzMDE3MEQ0
MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRUIzRUNGMTYyMzdGNkMwMEFCNjdBRCAvKiBNYWNyb0Fz
c2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkVCM0VDRTE2MjM3RjY3MDBBQjY3QUQgLyogTWFjcm9Bc3NlbWJsZXIuY3BwICovOyB9Owor
CQkwRkVENjdCOTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUQ2N0I3
MUIyNjI1NkQwMDY2Q0UxNSAvKiBERkdDb25zdGFudEhvaXN0aW5nUGhhc2UuY3BwICovOyB9Owor
CQkwRkVENjdCQTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVENjdCODFC
MjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZFRTk4NDExQTg4NjVCNzAw
NzU0RTkzIC8qIFNldHVwVmFyYXJnc0ZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVFOTg0MDFBODg2NUI2MDA3NTRFOTMgLyogU2V0dXBWYXJh
cmdzRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkVFOTg0MzFBODkyMjc1MDA3NTRFOTMgLyogU2V0dXBWYXJhcmdzRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRTk4NDIxQTg5
MjI3NTAwNzU0RTkzIC8qIFNldHVwVmFyYXJnc0ZyYW1lLmNwcCAqLzsgfTsKKwkJMEZFRkM5QUEx
NjgxQTNCMzAwNTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRkM5QTcxNjgxQTNCMDAw
NTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwICovOyB9OworCQkwRkVGQzlB
QjE2ODFBM0I2MDA1NjdGNTMgLyogREZHT1NSRXhpdEp1bXBQbGFjZWhvbGRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRkM5QTgxNjgxQTNCMDAw
NTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkYwNTRGOTFBQzM1QjQ0MDBFNUJFNTcg
LyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjA1NEY3MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRh
YmxlQWxsb2NhdGlvbkZ1enouY3BwICovOyB9OworCQkwRkYwNTRGQTFBQzM1QjQ0MDBFNUJFNTcg
LyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYwNTRGODFBQzM1QjQ0MDBFNUJFNTcgLyogRXhlY3V0YWJs
ZUFsbG9jYXRpb25GdXp6LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEZGMEYxOTkxNkI3MjlGNjAwNURGOTVCIC8qIERGR0xvbmdMaXZlZFN0YXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRC
NTFDMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5jcHAgKi87IH07CisJCTBG
RjBGMTlCMTZCNzI5RkEwMDVERjk1QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1MUQxNkI2Mjc3MjAwM0Y2
OTZCIC8qIERGR0xvbmdMaXZlZFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGMEYxOUMxNkI3MkEwMzAwNURGOTVCIC8qIERGR05vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1
MUUxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR05vZGUuY3BwICovOyB9OworCQkwRkYwRjE5RDE2Qjcy
QTA4MDA1REY5NUIgLyogREZHQ29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTFBMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdDb21tb24u
Y3BwICovOyB9OworCQkwRkYwRjE5RTE2QjcyQTBCMDA1REY5NUIgLyogREZHRWRnZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI0QjUxQjE2QjYy
NzcyMDAzRjY5NkIgLyogREZHRWRnZS5jcHAgKi87IH07CisJCTBGRjBGMTlGMTZCNzJBMTcwMDVE
Rjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTIxMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5j
dGlvbkV4ZWN1dGFibGVEdW1wLmNwcCAqLzsgfTsKKwkJMEZGMEYxQTAxNkI3MkExQTAwNURGOTVC
IC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRCNTIyMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4
ZWN1dGFibGVEdW1wLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMEZGNDI3MzExNThFQkQ1NDAwNENCOUZGIC8qIERpc2Fzc2VtYmxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3MkYxNThFQkQ0
NDAwNENCOUZGIC8qIERpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTBGRjQyNzMyMTU4RUJENTgwMDRDQjlGRiAvKiBVRGlzODZE
aXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZGNDI3MzAxNThFQkQ0NDAwNENCOUZGIC8qIFVEaXM4NkRpc2Fzc2VtYmxlci5jcHAg
Ki87IH07CisJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2RlLmMgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0MjczNDE1OEVC
RDk0MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jICovOyB9OworCQkwRkY0Mjc0MTE1OEVCRThE
MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3MzUxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9kZWNv
ZGUuaCAqLzsgfTsKKwkJMEZGNDI3NDIxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9leHRlcm4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM2
MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfZXh0ZXJuLmggKi87IH07CisJCTBGRjQyNzQzMTU4
RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfaW5wdXQuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM3MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
aW5wdXQuYyAqLzsgfTsKKwkJMEZGNDI3NDQxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3
MzgxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1dC5oICovOyB9OworCQkwRkY0Mjc0NTE1
OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5bi1hdHQuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzM5MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlz
ODZfc3luLWF0dC5jICovOyB9OworCQkwRkY0Mjc0NjE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2
X3N5bi1pbnRlbC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNDI3M0ExNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4taW50ZWwuYyAqLzsgfTsK
KwkJMEZGNDI3NDcxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4uYyBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzNCMTU4RUJEOTQwMDRDQjlG
RiAvKiB1ZGlzODZfc3luLmMgKi87IH07CisJCTBGRjQyNzQ4MTU4RUJFOTEwMDRDQjlGRiAvKiB1
ZGlzODZfc3luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkY0MjczQzE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi5oICovOyB9OworCQkwRkY0
Mjc0OTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3R5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0MjczRDE1OEVCRDk0MDA0Q0I5RkYgLyog
dWRpczg2X3R5cGVzLmggKi87IH07CisJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlz
ODYuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQy
NzNFMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODYuYyAqLzsgfTsKKwkJMEZGNDI3NEIxNThFQkU5
MTAwNENCOUZGIC8qIHVkaXM4Ni5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZGNDI3M0YxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Ni5oICovOyB9Owor
CQkwRkY0Mjc0RDE1OEVCRkU2MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0Mjc0QzE1OEVCRkUx
MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgKi87IH07CisJCTBGRjQyNzU3MTU5MTRB
MjAwMDRDQjlGRiAvKiBMaW5rQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjQyNzU2MTU5MTRBMjAwMDRDQjlGRiAvKiBMaW5rQnVmZmVy
LmNwcCAqLzsgfTsKKwkJMEZGNDI3NjQxNTkxQTFDQzAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY0
Mjc2MTE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJMEZG
NDI3NjUxNTkxQTFDRTAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNDI3NjIxNTkxQTFDOTAwNENCOUZG
IC8qIERGR0Rpc2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTBGRjYwQUMyMTY3NDBGODMwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNw
YWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY2
MEFDMDE2NzQwRjgxMDAwMjk3NzkgLyogUmVkdWNlV2hpdGVzcGFjZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRjYwQUMzMTY3NDBGODgwMDAy
OTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjYwQUJGMTY3NDBGODEwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0
ZXNwYWNlLmNwcCAqLzsgfTsKKwkJMEZGNzE2OEMxNUEzQjIzNTAwOEY1REFBIC8qIFByb3BlcnR5
T2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkY3MTY4QTE1QTNCMjMxMDA4RjVEQUEgLyogUHJvcGVydHlPZmZzZXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkY3MjlBNTE2NkFEMzUxMDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGNzI5OTMxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQnl0
ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkY3MjlBRDE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5MjE2NkFEMzQ3
MDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgKi87IH07CisJCTBGRjcyOUFFMTY2QUQz
NUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5NDE2NkFEMzQ3MDAwRjVCQTMgLyogUHJv
ZmlsZXJCeXRlY29kZXMuY3BwICovOyB9OworCQkwRkY3MjlBRjE2NkFEMzVDMDAwRjVCQTMgLyog
UHJvZmlsZXJDb21waWxhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkY3Mjk5NjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxh
dGlvbi5jcHAgKi87IH07CisJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNv
bXBpbGF0aW9uS2luZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkY3Mjk5ODE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbktp
bmQuY3BwICovOyB9OworCQkwRkY3MjlCMTE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJDb21w
aWxlZEJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRjcyOTlBMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGVkQnl0ZWNv
ZGUuY3BwICovOyB9OworCQkwRkY3MjlCMjE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJEYXRh
YmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkY3Mjk5QzE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJEYXRhYmFzZS5jcHAgKi87IH07CisJ
CTBGRjcyOUIzMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5RjE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovOyB9OworCQkwRkY3MjlCNDE2NkFEMzVDMDAw
RjVCQTMgLyogUHJvZmlsZXJPcmlnaW5TdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3MjlBMTE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmls
ZXJPcmlnaW5TdGFjay5jcHAgKi87IH07CisJCTBGRjcyOUI5MTY2QUQzNjAwMDBGNUJBMyAvKiBQ
cm9maWxlckJ5dGVjb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGNzI5OTUxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5
QkExNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjcyOTk3MTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5QkIxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVy
Q29tcGlsYXRpb25LaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkY3Mjk5OTE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbktp
bmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkY3MjlCQzE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY3Mjk5QjE2NkFE
MzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGNzI5QkQxNjZBRDM2MDAwMEY1
QkEzIC8qIFByb2ZpbGVyRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRjcyOTlEMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFi
YXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MEZGNzI5QkUxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNzI5OUUxNjZB
RDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRjcyOUJGMTY2QUQzNjAwMDBG
NUJBMyAvKiBQcm9maWxlck9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZGNzI5QTAxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyT3JpZ2lu
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZG
NzI5QzAxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyT3JpZ2luU3RhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjcyOUEyMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGOEJERUExQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVy
cmVkVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGOEJERTgxQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVycmVkVmFsdWUuY3BwICovOyB9Owor
CQkwRkY4QkRFQjFBRDRDRjcxMDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGOEJERTkxQUQ0Q0Y3MTAwREZF
ODg0IC8qIEluZmVycmVkVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRz
RXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGNDY4MEExMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludE9mZnNldHNFeHRyYWN0b3IuY3Bw
ICovOyB9OworCQkwRkZBNTQ5NzE2Qjg4MzUwMDBCM0E5ODIgLyogQTY0RE9wY29kZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTJBM0EyMjE2NTFD
Njk3MDBBODBBRkUgLyogQTY0RE9wY29kZS5jcHAgKi87IH07CisJCTBGRkE1NDk4MTZCODgzNTMw
MEIzQTk4MiAvKiBBNjRET3Bjb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTJBM0EyMzE2NTFDNjk3MDBBODBBRkUgLyogQTY0RE9wY29kZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkI2QzM4
MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkI2QzM2MUFGNDhEREMwMERCMUJGNyAvKiBUeXBl
b2ZUeXBlLmNwcCAqLzsgfTsKKwkJMEZGQjZDMzkxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkI2
QzM3MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMTgxNkQwMkVCMjAwNTVBNURCIC8q
IERGR0FsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkI5MjFBMTZEMDJF
QzUwMDU1QTVEQiAvKiBERkdCYXNpY0Jsb2NrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENTY1MjIxNkFCNzgwQTAwMTk3NjUzIC8qIERG
R0Jhc2ljQmxvY2tJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUIxNkQwMkYwMTAwNTVBNURCIC8qIERGR05vZGVBbGxvY2F0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjRC
NTFGMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdOb2RlQWxsb2NhdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUMxNkQwMkYxMTAwNTVB
NURCIC8qIERGR09TUkV4aXRDb21waWxhdGlvbkluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OTg3RjJDMTY3RkU4NEIwMDNDMkY4RCAvKiBERkdP
U1JFeGl0Q29tcGlsYXRpb25JbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEZGQjkyMUQxNkQwMkYzMDAwNTVBNURCIC8qIERGR1Nsb3dQYXRo
R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjFFM0E1MDE1MzdDMkNCMDAwRjk0NTYgLyogREZHU2xvd1BhdGhHZW5lcmF0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkZCOTIyMDE2
RDAzM0I3MDA1NUE1REIgLyogTm9kZUNvbnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwREFEMDMwRkIxRUIxQTAwODJEMjA1IC8qIE5v
ZGVDb25zdHJ1Y3RvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRkZDOTlEMTE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZDOTlEMDE4NEVD
OEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZGQzk5RDQxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5
QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZDOTlEMjE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZm
ZXJOZXV0ZXJpbmdXYXRjaHBvaW50LmNwcCAqLzsgfTsKKwkJMEZGQzk5RDUxODRFRTMxODAwOUMx
MEFCIC8qIEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGQzk5RDMxODRFRTMxODAwOUMxMEFCIC8q
IEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTU3MTRFRjkwQTAwMEM3MjUzMiAvKiBE
RkdDRkFQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkZGQzk0QjE0RUY5MDk1MDBDNzI1MzIgLyogREZHQ0ZBUGhhc2UuY3BwICovOyB9Owor
CQkwRkZGQzk1ODE0RUY5MEEyMDBDNzI1MzIgLyogREZHQ0ZBUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTRDMTRFRjkwOTUwMEM3MjUz
MiAvKiBERkdDRkFQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTBGRkZDOTU5MTRFRjkwQTYwMEM3MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk0RDE0
RUY5MDk1MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1QTE0RUY5
MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTRFMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdDU0VQaGFz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBG
RkZDOTVCMTRFRjkwQUQwMEM3MjUzMiAvKiBERkdQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk0RjE0RUY5MDk1MDBDNzI1MzIgLyog
REZHUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1QzE0RUY5MEFGMDBDNzI1MzIgLyogREZHUGhh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZD
OTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTVEMTRFRjkwQjMwMEM3MjUzMiAvKiBE
RkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkZGQzk1MTE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwICovOyB9OworCQkwRkZGQzk1RTE0RUY5MEI3MDBD
NzI1MzIgLyogREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTUyMTRFRjkwOTUwMEM3MjUzMiAv
KiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRkZDOTVGMTRFRjkwQkIwMEM3MjUzMiAvKiBE
RkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGRkM5NTMxNEVGOTA5NTAwQzcyNTMyIC8qIERG
R1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5jcHAgKi87IH07CisJCTBGRkZDOTYwMTRF
RjkwQkQwMEM3MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkZDOTU0MTRFRjkw
OTUwMEM3MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDA1NjZDNDEwN0VD
MjU1MDA1REJDOEQgLyogSlNBUElWYWx1ZVdyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8qIEpT
QVBJVmFsdWVXcmFwcGVyLmNwcCAqLzsgfTsKKwkJMTQwNTY2RDYxMDdFQzI3MTAwNURCQzhEIC8q
IEpTRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjY5MkE4NUUwMjU1NTk3RDAxRkY2MEY3IC8qIEpTRnVuY3Rpb24uY3BwICovOyB9Owor
CQkxNDBCN0QxRDBEQzY5QUY3MDA5QzQyQjggLyogSlNMZXhpY2FsRW52aXJvbm1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREQTgxOEYwRDk5
RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmNwcCAqLzsgfTsKKwkJMTQwRDE3
RDcwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MEQxN0Q2MEU4QUQ0QTkwMDBDRDE3RCAvKiBK
U0Jhc2VQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMTQxMjExMzEwQTQ4Nzk0RDAwNDgwMjU1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MkY1QkQ5MDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07
CisJCTE0MTIxMTM0MEE0ODc5NTgwMDQ4MDI1NSAvKiBtaW5pZG9tLmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwMjBBNDg3ODA5MDA0ODAyNTUg
LyogbWluaWRvbS5jICovOyB9OworCQkxNDE0NDhDQjEzQTE3NkVDMDBGNUJBMUEgLyogTWFya2Vk
QmxvY2tTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0OENBMTNBMTc2RUMwMEY1QkExQSAvKiBNYXJrZWRCbG9ja1NldC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MTQ0OENEMTNBMTc4Mzcw
MEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0OENDMTNBMTc4MzcwMEY1QkExQSAvKiBUaW55Qmxvb21G
aWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxNDE1MDEzMzE1NEJCMTNGMDA1RDhDOTggLyogV2Vha1NldElubGluZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTUwMTMyMTU0QkIxM0YwMDVE
OEM5OCAvKiBXZWFrU2V0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTE0MjBCRTdCMTBBQTZEREIwMEY0NTVEMiAvKiBXZWFrUmFuZG9t
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDIwQkU3
QTEwQUE2RERCMDBGNDU1RDIgLyogV2Vha1JhbmRvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MjEzNTlCMEE2NzdGNEYwMEE4MTk1RSAvKiBK
U0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQyMTM1OUEwQTY3N0Y0RjAwQTgxOTVFIC8qIEpTQmFzZS5jcHAgKi87IH07CisJCTE0MjgwODIz
MTA3RUMwMkMwMDEzRTdCMiAvKiBEZWJ1Z2dlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1ODAyNTU1OTdEMDFGRjYwRjcgLyogRGVidWdn
ZXIuY3BwICovOyB9OworCQkxNDI4MDgyRDEwN0VDMDU3MDAxM0U3QjIgLyogQ2FsbERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjJERkUw
RTI4MjYyMzAwMDRGMzBEIC8qIENhbGxEYXRhLmNwcCAqLzsgfTsKKwkJMTQyODA4MkUxMDdFQzA1
NzAwMTNFN0IyIC8qIENvbnN0cnVjdERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjJERkYwRTI4MjYzMTAwMDRGMzBEIC8qIENvbnN0cnVj
dERhdGEuY3BwICovOyB9OworCQkxNDI4MDgzQTEwN0VDMDc1MDAxM0U3QjIgLyogSlNTdGFjay5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDg1
QjBFRDIxOEU5MDBCODk2MTkgLyogSlNTdGFjay5jcHAgKi87IH07CisJCTE0MjgwODQxMTA3RUMw
OTMwMDEzRTdCMiAvKiBSZWdFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4N0QwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cC5jcHAgKi87
IH07CisJCTE0MjgwODQyMTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0QyMDJCRDBF
MTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuY3BwICovOyB9OworCQkxNDI4MDg0
MzEwN0VDMDkzMDAxM0U3QjIgLyogUmVnRXhwT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODdCMDI1NTU5N0QwMUZGNjBGNyAvKiBS
ZWdFeHBPYmplY3QuY3BwICovOyB9OworCQkxNDI4MDg0NDEwN0VDMDkzMDAxM0U3QjIgLyogUmVn
RXhwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRDIwMkJGMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuY3BwICov
OyB9OworCQkxNDI4MDg1MDEwN0VDMEQ3MDAxM0U3QjIgLyogT3BlcmF0aW9ucy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3NzAyNTU1OTdE
MDFGRjYwRjcgLyogT3BlcmF0aW9ucy5jcHAgKi87IH07CisJCTE0MjgwODU1MTA3RUMwRTcwMDEz
RTdCMiAvKiBHZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMwMkU5QjgwRTE4NDU0NTAwMEY5Mjk3IC8qIEdldHRlclNldHRlci5j
cHAgKi87IH07CisJCTE0MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuQ29uc3RydWN0
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
OTUyMzIwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgKi87IH07CisJ
CTE0MjgwODY0MTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODUwMDI1NTU5N0QwMUZG
NjBGNyAvKiBCb29sZWFuT2JqZWN0LmNwcCAqLzsgfTsKKwkJMTQyODA4NjUxMDdFQzExQTAwMTNF
N0IyIC8qIEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM3OTUyMzQwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Qcm90
b3R5cGUuY3BwICovOyB9OworCQkxNDI4MDg3MDEwN0VDMTM0MDAxM0U3QjIgLyogSlNXcmFwcGVy
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3BwICovOyB9Owor
CQkxNDI4MDg3NTEwN0VDMTNFMDAxM0U3QjIgLyogSlNMb2NrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RUE0Qzk5MDkyQUY5RTIwMDkzRDgwMCAv
KiBKU0xvY2suY3BwICovOyB9OworCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJw
cmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MjlENzdCMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MjlEN0Q0MEVEMjEyODIwMEI4OTYx
OSAvKiBJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDI5RDdEMzBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3BwICov
OyB9OworCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDg3NzBF
RDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAgKi87IH07CisJCTE0MjlEODg1
MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQyOUQ4ODMwRUQyMUMzRDAwQjg5NjE5IC8qIFNh
bXBsaW5nVG9vbC5jcHAgKi87IH07CisJCTE0MjlEODg2MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1w
bGluZ1Rvb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MjlEODg0MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDI5RDhERDBFRDIyMDVCMDBC
ODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MjlEOERCMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwICov
OyB9OworCQkxNDI5RDhERTBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDhEQzBFRDIyMDVCMDBC
ODk2MTkgLyogQ2FsbEZyYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMTQyOUQ5MkYwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDI5RDkyRDBFRDIyRDcw
MDBCODk2MTkgLyogSklULmNwcCAqLzsgfTsKKwkJMTQyOUQ5MzAwRUQyMkQ3MDAwQjg5NjE5IC8q
IEpJVC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQy
OUQ5MkUwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5oICovOyB9OworCQkxNDJEMzkzOTEwM0U0NTYw
MDA3RENCNTIgLyogTnVtZXJpY1N0cmluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBOdW1lcmljU3Ry
aW5ncy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTE0MkQ2RjA4MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJENkYwNjEzNTM5QTI4MDBCMDJF
ODYgLyogTWFya2VkQmxvY2suY3BwICovOyB9OworCQkxNDJENkYwOTEzNTM5QTI4MDBCMDJFODYg
LyogTWFya2VkQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0MkQ2RjA3MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MkQ2RjExMTM1MzlB
NDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQyRDZGMEUxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5j
cHAgKi87IH07CisJCTE0MkQ2RjEyMTM1MzlBNDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkQ2RjBGMTM1MzlB
NDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNDJFMzEzNDEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEyQjEz
NEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQyRTMxMzUxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNl
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJF
MzEyQzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU2V0LmNwcCAqLzsgfTsKKwkJMTQyRTMxMzYx
MzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMTQyRTMxMkQxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNl
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0
MkUzMTM3MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEyRTEzNEZGMEE2MDBBRkFEQjUg
LyogSGFuZGxlU3RhY2suY3BwICovOyB9OworCQkxNDJFMzEzODEzNEZGMEE2MDBBRkFEQjUgLyog
SGFuZGxlU3RhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0MkUzMTJGMTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0MkUzMTM5MTM0RkYwQTYw
MEFGQURCNSAvKiBMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQyRTMxMzAxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggKi87IH07CisJCTE0
MkUzMTNBMTM0RkYwQTYwMEFGQURCNSAvKiBMb2NhbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEzMTEzNEZGMEE2MDBBRkFEQjUgLyog
TG9jYWxTY29wZS5oICovOyB9OworCQkxNDJFMzEzQjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25n
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDJFMzEz
MjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQyRTMxM0MxMzRGRjBBNjAwQUZBREI1IC8qIFdlYWsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MkUzMTMz
MTM0RkYwQTYwMEFGQURCNSAvKiBXZWFrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ0MDA1N0YwQTUzMzU2NDAwMDVGMDYxIC8qIEpTTm9kZS5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEY2NDIw
QTRGOEI2QTAwMDVGMDYxIC8qIEpTTm9kZS5jICovOyB9OworCQkxNDQwMDVDQjBBNTMzOEQxMDAw
NUYwNjEgLyogSlNOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDQwRjY0MTBBNEY4QjZBMDAwNUYwNjEgLyogSlNOb2RlLmggKi87IH07CisJCTE0
NDAwNUNDMEE1MzM4RjgwMDA1RjA2MSAvKiBOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQwMDUxRjBBNTMxRDNCMDAwNUYwNjEgLyogTm9kZS5o
ICovOyB9OworCQkxNDQwMDYzRjBBNTM1OThBMDAwNUYwNjEgLyogTm9kZS5jIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MDA1MjAwQTUzMUQzQjAwMDVG
MDYxIC8qIE5vZGUuYyAqLzsgfTsKKwkJMTQ0MDA3NEEwQTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQw
MDc0ODBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuaCAqLzsgfTsKKwkJMTQ0MDA3NEIwQTUz
NkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDQwMDc0OTBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuYyAq
LzsgfTsKKwkJMTQ0MDA3NTcwQTUzNzBEMjAwMDVGMDYxIC8qIEpTTm9kZUxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDAwNzU1MEE1MzcwRDIw
MDA1RjA2MSAvKiBKU05vZGVMaXN0LmggKi87IH07CisJCTE0NDAwNzU4MEE1MzcwRDIwMDA1RjA2
MSAvKiBKU05vZGVMaXN0LmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDQwMDc1NjBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovOyB9Owor
CQkxNDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyogdGVzdGFwaS5jIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCRDVBMkQwQTNFOTFGNjAwQkFGNTlDIC8q
IHRlc3RhcGkuYyAqLzsgfTsKKwkJMTQ0MEY4OTIwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJh
Y2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDQwRjg5MDBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmNwcCAq
LzsgfTsKKwkJMTQ0MEY4QUYwQTUwOEQyMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQw
RjhBRDBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCAqLzsgfTsK
KwkJMTQ0MEZDRTQwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEZDRTIwQTUxRTQ2QjAwMDVG
MDYxIC8qIEpTQ2xhc3NSZWYuY3BwICovOyB9OworCQkxNDQyNTY2MTE1RURFOThEMDA2NkE0OUIg
LyogSlNXaXRoU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ0MjU2NUYxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNwcCAqLzsg
fTsKKwkJMTQ0MjU2NjIxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQyNTY2MDE1RURFOThEMDA2
NkE0OUIgLyogSlNXaXRoU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkxNDQ2OURERTEwN0VDN0U3MDA2NTA0NDYgLyogTG9va3VwLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODY4MDI1
NTU5N0QwMUZGNjBGNyAvKiBMb29rdXAuY3BwICovOyB9OworCQkxNDQ2OURERjEwN0VDN0U3MDA2
NTA0NDYgLyogTWF0aE9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg2QTAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5jcHAg
Ki87IH07CisJCTE0NDY5REUwMTA3RUM3RTcwMDY1MDQ0NiAvKiBOYXRpdmVFcnJvckNvbnN0cnVj
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MDJFOTA4MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCAqLzsg
fTsKKwkJMTQ0NjlERTExMDdFQzdFNzAwNjUwNDQ2IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDJFOTBB
MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5jcHAgKi87IH07CisJCTE0
NDY5REUyMTA3RUM3RTcwMDY1MDQ0NiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMjBFMTZENEU5MDBB
MDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3IuY3BwICovOyB9OworCQkxNDQ2OURFMzEwN0VDN0U3
MDA2NTA0NDYgLyogTnVtYmVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODcwMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmpl
Y3QuY3BwICovOyB9OworCQkxNDQ2OURFNDEwN0VDN0U3MDA2NTA0NDYgLyogTnVtYmVyUHJvdG90
eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MjY4MEM0MEUxNkQ0RTkwMEEwNkU5MiAvKiBOdW1iZXJQcm90b3R5cGUuY3BwICovOyB9OworCQkx
NDQ2OURFNTEwN0VDN0U3MDA2NTA0NDYgLyogT2JqZWN0Q29uc3RydWN0b3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzYwRTE2RDRFOTAw
QTA2RTkyIC8qIE9iamVjdENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJMTQ0NjlERTYxMDdFQzdF
NzAwNjUwNDQ2IC8qIE9iamVjdFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDODBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0
UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJMTQ0NjlERTgxMDdFQzdFNzAwNjUwNDQ2IC8qIFByb3Bl
cnR5U2xvdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTYyMUU2QjA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlTbG90LmNwcCAqLzsgfTsKKwkJ
MTQ0NjlERUIxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ0NvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0MwMEUxNkVFMzMw
MEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0NDY5REVDMTA3RUM3
RTcwMDY1MDQ0NiAvKiBTdHJpbmdPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxOEMzQzIwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09i
amVjdC5jcHAgKi87IH07CisJCTE0NDY5REVEMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdQcm90
b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkMxOEMzQzUwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ1Byb3RvdHlwZS5jcHAgKi87IH07CisJ
CTE0NDgzNkU3MTMyREE3QkUwMDVCRTc4NSAvKiBDb25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5REFBRjIxMkVCNTU5RDAw
ODNCMTJCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ1NzIyODYxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9u
Z0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0NTcyMjg1MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ2QUFCMzgwQjY2QTk0NDAw
RTU1RjE2IC8qIEpTU3RyaW5nUmVmQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQ2QUFCMzcwQjY2QTk0NDAwRTU1RjE2IC8qIEpTU3RyaW5nUmVm
Q0YuY3BwICovOyB9OworCQkxNDZCMTZEODEyRUI1QjU5MDAxQkVDMUIgLyogQ29uc2VydmF0aXZl
Um9vdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ2QjE0REIxMkVCNUIxMjAwMUJFQzFCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmNwcCAqLzsgfTsK
KwkJMTQ2RkU1MTIxMUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDZGRTUxMTExQTcxMDQzMDA4
N0FFNjYgLyogSklUQ2FsbDMyXzY0LmNwcCAqLzsgfTsKKwkJMTQ3NEMzM0IxNkFBMkQ5NTAwNjJG
MDFEIC8qIFByb3RvdHlwZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTREODQ0QTMxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0NzRDMzND
MTZBQTJEOUIwMDYyRjAxRCAvKiBQcm90b3R5cGVNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREODQ0QTIxNkFBMkM3MDAwQTY1QUYwIC8qIFBy
b3RvdHlwZU1hcC5jcHAgKi87IH07CisJCTE0NzgyOTdCMTM3OUU4QTgwMEE3QzJBMyAvKiBIYW5k
bGVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ2RkE1QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ3QjgzQUMwRTZEQjhDOTAwNDc3
NUE0IC8qIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDdCODNBQTBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0
Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNDdCODQ2MzBFNkRFNkIxMDA0Nzc1QTQgLyogUHV0UHJvcGVy
dHlTbG90LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDdCODQ2MjBFNkRFNkIxMDA0Nzc1QTQgLyogUHV0UHJvcGVydHlTbG90LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQ3RjM5QkQxMDdFQzM3NjAw
NDI3QTQ4IC8qIEFyZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjA1MTEwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3QuY3BwICovOyB9
OworCQkxNDdGMzlCRjEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc5NTIwNjBFMTVF
OEE4MDBBODk4QUIgLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0N0YzOUMwMTA3
RUMzNzYwMDQyN0E0OCAvKiBBcnJheVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg0RDAyNTU1OTdEMDFGRjYwRjcgLyogQXJy
YXlQcm90b3R5cGUuY3BwICovOyB9OworCQkxNDdGMzlDMTEwN0VDMzc2MDA0MjdBNDggLyogQ29t
bW9uSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjVFQTczNjIwQkFFMzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmNw
cCAqLzsgfTsKKwkJMTQ3RjM5QzIxMDdFQzM3NjAwNDI3QTQ4IC8qIENvbXBsZXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA5MjIwRUQx
RTA5QzAwRjFGNjgxIC8qIENvbXBsZXRpb24uY3BwICovOyB9OworCQkxNDdGMzlDMzEwN0VDMzc2
MDA0MjdBNDggLyogRGF0ZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ1MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuY3BwICovOyB9OworCQkxNDdGMzlDNDEwN0VDMzc2MDA0MjdBNDggLyogRGF0ZUNv
bnZlcnNpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmNwcCAqLzsgfTsK
KwkJMTQ3RjM5QzUxMDdFQzM3NjAwNDI3QTQ4IC8qIERhdGVJbnN0YW5jZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzExNjYwMDBFMTk5N0IxMDA4
MDY2REQgLyogRGF0ZUluc3RhbmNlLmNwcCAqLzsgfTsKKwkJMTQ3RjM5QzYxMDdFQzM3NjAwNDI3
QTQ4IC8qIERhdGVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNEMjAzNDcwRTE3MTM1RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUu
Y3BwICovOyB9OworCQkxNDdGMzlDNzEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzMzdCRUEwRTFCMDBD
QjAwNzY5MThBIC8qIEVycm9yLmNwcCAqLzsgfTsKKwkJMTQ3RjM5QzgxMDdFQzM3NjAwNDI3QTQ4
IC8qIEVycm9yQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMwMkU5MDQwRTE4MzlEQjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0
b3IuY3BwICovOyB9OworCQkxNDdGMzlDOTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5j
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAy
RTk4QTBFMTgzRTM4MDAwRjkyOTcgLyogRXJyb3JJbnN0YW5jZS5jcHAgKi87IH07CisJCTE0N0Yz
OUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwNjBFMTgzOURCMDAwRjkyOTcg
LyogRXJyb3JQcm90b3R5cGUuY3BwICovOyB9OworCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDgg
LyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMDBFMTZENEU5MDBBMDZFOTIgLyogRnVuY3Rpb25Db25z
dHJ1Y3Rvci5jcHAgKi87IH07CisJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlv
blByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNjkyQTg1QzAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICov
OyB9OworCQkxNDdGMzlDRTEwN0VDMzc2MDA0MjdBNDggLyogSWRlbnRpZmllci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzNBMzQ5RDAzOEFFODBG
MDA4NjM1Q0UgLyogSWRlbnRpZmllci5jcHAgKi87IH07CisJCTE0N0YzOUNGMTA3RUMzNzYwMDQy
N0E0OCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDOUJCOTVCMEUxOTY4MDYwMERGODg1NSAvKiBJbnRlcm5hbEZ1
bmN0aW9uLmNwcCAqLzsgfTsKKwkJMTQ3RjM5RDAxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBREZD
RTYwQ0NCRDdBQzAwRDMwQjA4IC8qIEpTQXJyYXkuY3BwICovOyB9OworCQkxNDdGMzlEMTEwN0VD
Mzc2MDA0MjdBNDggLyogSlNDZWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDN0Y4RkJBMEUxOUQxRUYwMDg2MzJDMCAvKiBKU0NlbGwuY3BwICov
OyB9OworCQkxNDdGMzlEMjEwN0VDMzc2MDA0MjdBNDggLyogSlNHbG9iYWxPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRERTBENjgwRDAy
NDMxNDAwQUFDQ0EyIC8qIEpTR2xvYmFsT2JqZWN0LmNwcCAqLzsgfTsKKwkJMTQ3RjM5RDQxMDdF
QzM3NjAwNDI3QTQ4IC8qIEpTT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjJBMzk4MEUxNkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5j
cHAgKi87IH07CisJCTE0N0YzOUQ1MTA3RUMzNzYwMDQyN0E0OCAvKiBKU1N0cmluZy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTlCNjBFMTg0
MkZBMDAwRjkyOTcgLyogSlNTdHJpbmcuY3BwICovOyB9OworCQkxNDdGMzlENjEwN0VDMzc2MDA0
MjdBNDggLyogSlNDSlNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg4NzAyNTU1OTdEMDFGRjYwRjcgLyogSlNDSlNWYWx1ZS5jcHAg
Ki87IH07CisJCTE0N0YzOUQ3MTA3RUMzNzYwMDQyN0E0OCAvKiBKU0Vudmlyb25tZW50UmVjb3Jk
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjJB
MzlBMEUxNkUxNDgwMEFGMjFDOCAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmNwcCAqLzsgfTsKKwkJ
MTQ4MkI3NEUwQTQzMDMyODAwNTE3Q0ZDIC8qIEpTU3RyaW5nUmVmLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0ODJCNzRDMEE0MzAzMjgwMDUxN0NG
QyAvKiBKU1N0cmluZ1JlZi5jcHAgKi87IH07CisJCTE0ODJCN0U0MEE0MzA3NjAwMDUxN0NGQyAv
KiBKU09iamVjdFJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDgyQjdFMjBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYuY3BwICovOyB9
OworCQkxNDg3NEFFMzE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ4NzRBREYxNUVCREU0QTAw
MkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCAqLzsgfTsKKwkJMTQ4NzRBRTQxNUVCREU0QTAwMkUz
NTg3IC8qIEpTTmFtZVNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDg3NEFFMDE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNDg3NEFFNTE1
RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNDg3NEFFMTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5j
cHAgKi87IH07CisJCTE0ODc0QUU2MTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDg3NEFFMjE1RUJERTRB
MDAyRTM1ODcgLyogSlNTY29wZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTE0OENEMUQ4MTA4Q0Y5MDIwMDgxNjNDNiAvKiBKU0NvbnRleHRSZWZQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDhDRDFENzEwOENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0OEYyMUFBMTA3RUM1
M0EwMDQyRUMyQyAvKiBCeXRlY29kZUdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwICovOyB9OworCQkxNDhGMjFCMDEwN0VDNTQxMDA0MkVDMkMgLyog
TGV4ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjY5MkE4NjUwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmNwcCAqLzsgfTsKKwkJMTQ4RjIxQjcx
MDdFQzU0NzAwNDJFQzJDIC8qIE5vZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODZEMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5jcHAg
Ki87IH07CisJCTE0OEYyMUJDMTA3RUM1NEQwMDQyRUMyQyAvKiBQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMEIzQTkwOUJCNERDMDAw
NjhGQ0UzIC8qIFBhcnNlci5jcHAgKi87IH07CisJCTE0OTU1OUVFMEREQ0RERjcwMDY0ODA4NyAv
KiBEZWJ1Z2dlckNhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNDk1NTlFRDBERENEREY3MDA2NDgwODcgLyogRGVidWdnZXJDYWxsRnJh
bWUuY3BwICovOyB9OworCQkxNEExNTYzMjEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3RhbmNl
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
QTE1NjMwMTA5NjYzNjUwMDZGQTI2MCAvKiBEYXRlSW5zdGFuY2VDYWNoZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QTIzRDc1MEY0RTFBQkIw
MDIzQ0RBRCAvKiBKSVRTdHVicy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEEyM0Q2QzBGNEUxOUNFMDAyM0NEQUQgLyogSklUU3R1YnMuY3BwICov
OyB9OworCQkxNEFCREY2MDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEFCREY1RTBB
NDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAgKi87IH07CisJCTE0QjcyM0Iy
MTJEN0RBNDYwMDNCRDVFRCAvKiBNYWNoaW5lU3RhY2tNYXJrZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCNzIzM0YxMkQ3RDBEQTAwM0JENUVE
IC8qIE1hY2hpbmVTdGFja01hcmtlci5jcHAgKi87IH07CisJCTE0QjcyM0I4MTJEN0RBNkYwMDNC
RDVFRCAvKiBNYWNoaW5lU3RhY2tNYXJrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0QjcyMzQwMTJEN0QwREEwMDNCRDVFRCAvKiBNYWNoaW5lU3Rh
Y2tNYXJrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkxNEI4RUM3MjBBNTY1MjA5MDA2MkJFNTQgLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2MEE0
Q0YwNEIzQjNFNzAwOEFFOTUyIC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKKwkJ
MTRCQTc4RjExM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RWaXNpdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJBNzhGMDEzQUFCODhGMDA1QjdDMkMg
LyogU2xvdFZpc2l0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxNEJBN0E5NzEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJBN0E5NTEzQUFERkY4MDA1
QjdDMkMgLyogSGVhcC5jcHAgKi87IH07CisJCTE0QkE3QTk4MTNBQURGRjgwMDVCN0MyQyAvKiBI
ZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJB
N0E5NjEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QkQ1OUM1MEEzRThGOUYwMEJBRjU5QyAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzJGNUJEOTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUu
ZnJhbWV3b3JrICovOyB9OworCQkxNEJENUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0
UmVmLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
QkQ1QTI5MEEzRTkxRjYwMEJBRjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwICovOyB9OworCQkxNEJE
NUEzMjBBM0U5MUY2MDBCQUY1OUMgLyogSlNWYWx1ZVJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJENUEyQjBBM0U5MUY2MDBCQUY1OUMgLyog
SlNWYWx1ZVJlZi5jcHAgKi87IH07CisJCTE0QkU3RDMzMTcxMzVDRjQwMEQxODA3QSAvKiBXZWFr
SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRCRkNFNjkxMENEQjFGQzAwMzY0
Q0NFIC8qIFdlYWtHQ01hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTRCRkNFNjgxMENEQjFGQzAwMzY0Q0NFIC8qIFdlYWtHQ01hcC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QzUyNDJCMEY1MzU1
RTkwMEJBM0QwNCAvKiBKSVRTdHVicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTRBNjU4MUEwRjRFMzZGNDAwMDE1MEZEIC8qIEpJVFN0dWJzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRDQTk1OEIx
NkFCNTBERTAwOTM4QTA2IC8qIFN0YXRpY1Byb3BlcnR5QW5hbHl6ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0Q0E5NThBMTZBQjUwREUwMDkzOEEw
NiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5emVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRDQTk1OEQxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNENBOTU4QzE2QUI1MEZBMDA5MzhBMDYgLyogT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxNEQyRjNEQTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREMkYzRDgxMzlGNEJFMjAwNDkx
MDMxIC8qIE1hcmtlZFNwYWNlLmNwcCAqLzsgfTsKKwkJMTREMkYzREIxMzlGNEJFMjAwNDkxMDMx
IC8qIE1hcmtlZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNEQyRjNEOTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERGMDREQTE2QjM5
OTZEMDAxNkE1MTMgLyogU3RhdGljUHJvcGVydHlBbmFseXNpcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRERjA0RDkxNkIzOTk2RDAwMTZBNTEzIC8q
IFN0YXRpY1Byb3BlcnR5QW5hbHlzaXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2Nr
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTg0
Rjk5MTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrQmxvY2suY3BwICovOyB9OworCQkxNEU4NEY5RjE0
RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4NEY5QTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2Nr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRF
ODRGQTAxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRFODRGOUIxNEVFMUFDQzAwRDZENUQ0IC8qIFdl
YWtTZXQuY3BwICovOyB9OworCQkxNEU4NEZBMTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRFODRGOUMx
NEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkxNEU4NEZBMjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0lt
cGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTg0
RjlEMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrSW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0RTlEMTdCMTA3RUM0NjkwMDREREEyMSAvKiBK
U0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc1NkZDNjBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwICovOyB9OworCQkxNEY3MjU2NTE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0RjcyNTYzMTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuY3BwICov
OyB9OworCQkxNEY3MjU2NjE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEY3MjU2NDE0RUUy
NjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRGOTc0NDcxMzhDODUzRTAwREExQzY3IC8qIEhl
YXBSb290VmlzaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTRGOTc0NDYxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBMjhENEE4MTc3
QjcxQzgwMDA3RkEzQyAvKiBKU1N0cmluZ1JlZlByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjhENEE3MTc3QjcxQzgwMDA3RkEzQyAvKiBK
U1N0cmluZ1JlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkxQUNGNzM3NzE3MUNBNkZCMDBDOUJCMUUgLyogV2Vhay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNGNzM3NjE3MUNBNkZC
MDBDOUJCMUUgLyogV2Vhay5jcHAgKi87IH07CisJCTI2MDBCNUE2MTUyQkFBQTcwMDkxRUU1RiAv
KiBKU1N0cmluZ0pvaW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNjAwQjVBNDE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuY3Bw
ICovOyB9OworCQkyNjAwQjVBNzE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2MDBCNUE1MTUy
QkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5oICovOyB9OworCQkyQTA1QUJENTE5NjFE
RjI0MDAzNDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBMDVBQkQzMTk2MURGMjQwMDM0MTc1
MCAvKiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwICovOyB9OworCQkyQTA1QUJENjE5NjFE
RjI0MDAzNDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTA1QUJENDE5NjFERjI0MDAzNDE3NTAg
LyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggKi87IH07CisJCTJBMTExMjQ1MTkyRkNFNzkw
MDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkExMTEyNDMxOTJGQ0U3OTAwNUVFMThEIC8qIEN1c3Rv
bUdldHRlclNldHRlci5jcHAgKi87IH07CisJCTJBMTExMjQ2MTkyRkNFNzkwMDVFRTE4RCAvKiBD
dXN0b21HZXR0ZXJTZXR0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJBMTExMjQ0MTkyRkNFNzkwMDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTQ4
RDE5MTE3NzIzNjVCMDBDNjVBNUYgLyogQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxMUI1NzQxNzZBMjI0RDAwMEUy
QTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKKwkJMkE0QkI3RjMxOEE0MTE3OTAw
OEEwRkNEIC8qIEpTTWFuYWdlZFZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBNEJCN0YyMThBNDExNzkwMDhBMEZDRCAvKiBKU01h
bmFnZWRWYWx1ZUludGVybmFsLmggKi87IH07CisJCTJBNEVDOTBCMTg2MEQ2QzIwMDk0Rjc4MiAv
KiBXcml0ZUJhcnJpZXJCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkE0RUM5MDkxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1
ZmZlci5jcHAgKi87IH07CisJCTJBNEVDOTBDMTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJp
ZXJCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJBNEVDOTBBMTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJpZXJCdWZmZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTY4Mjk1QjE4NzVG
ODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2ODI5NUExODc1RjgwNTAwQjZDM0UyIC8qIENvcHlX
cml0ZUJhcnJpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkyQTZGNDYyNjE3RTk1OUNFMDBDNDVDOTggLyogSGVhcE9wZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2RjQ2MjUxN0U5NTlD
RTAwQzQ1Qzk4IC8qIEhlYXBPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkyQTdBNThFRjE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJH
Qy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTdB
NThFRTE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJHQy5jcHAgKi87IH07CisJCTJBODM2Mzg1MThE
N0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBODM2MzgzMThEN0QwRUUwMDAwRUJD
QyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMkE4MzYzODYxOEQ3RDBF
RTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBODM2Mzg0MThEN0QwRUUwMDAwRUJDQyAvKiBF
ZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMkE4MzYzODkxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2
aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkE4MzYzODcxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwICovOyB9OworCQkyQTgzNjM4QTE4RDdEMEZFMDAwMEVCQ0MgLyogRnVsbEdDQWN0aXZpdHlD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkE4MzYzODgxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTg4MDY3ODE5
MTA3RDU1MDBDQjBCQkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE4ODA2NzYxOTEwN0Q1NTAwQ0IwQkJC
IC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmNwcCAqLzsgfTsKKwkJMkE4ODA2NzkxOTEwN0Q1NTAw
Q0IwQkJCIC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTg4MDY3NzE5MTA3RDU1MDBDQjBCQkIgLyogREZHRnVu
Y3Rpb25XaGl0ZWxpc3QuaCAqLzsgfTsKKwkJMkFBQUEzMTIxOEJENDlEMTAwMzk0Q0M4IC8qIFN0
cnVjdHVyZUlEQmxvYi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkFBQUEzMTAxOEJENDlEMTAwMzk0Q0M4IC8qIFN0cnVjdHVyZUlEQmxvYi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJBQUJDREU3MThF
RjI5NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUJDREU2MThFRjI5NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQUFD
RTYzQzE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUNFNjNBMThDQTVBMDMwMEVE
MDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovOyB9OworCQkyQUFDRTYzRDE4Q0E1QTAz
MDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUFDRTYzQjE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rp
dml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMkFBRDk2NEExODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2ZUFsbG9jYXRpb25T
Y29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFB
RDk2NDkxODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5oICovOyB9
OworCQkyQUM5MjJCQjE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQzkyMkI5
MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uY3BwICovOyB9OworCQky
QUM5MjJCQzE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUM5MjJCQTE4QTE2MTgy
MDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggKi87IH07CisJCTJBRDJFREZCMTk3
OTlFMzgwMDRENjQ3OCAvKiBFbnVtZXJhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRDJFREZBMTk3OTlFMzgwMDRENjQ3OCAvKiBFbnVt
ZXJhdGlvbk1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkyQUQ4OTMyQjE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUQ4OTMyOTE3
RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi87IH07CisJCTJBREZBMjYz
MThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFERkEyNjIxOEVGMzU0MDAwNEY5RkNDIC8qIEdDTG9n
Z2luZy5jcHAgKi87IH07CisJCTJBRjczODJDMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJ
RFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLzsgfTsK
KwkJMkFGNzM4MkQxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIw
MDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKKwkJNDEzNTlDRjMw
RkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0
ZUNvbnZlcnNpb24uaCAqLzsgfTsKKwkJNDM0MEE0ODQxQTkwNTFBRjAwRDczQ0NBIC8qIE1hdGhD
b21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDM0MEE0ODIxQTkwNTFBRjAwRDczQ0NBIC8qIE1hdGhDb21tb24uY3BwICovOyB9OworCQk0MzQw
QTQ4NTFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM0MEE0ODMxQTkwNTFBRjAwRDczQ0NBIC8qIE1h
dGhDb21tb24uaCAqLzsgfTsKKwkJNDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICov
OyB9OworCQk0NTE1MzlCOTEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0
IC8qIFlhcnIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk1MjY3OEY4RTFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNjc4RjhDMUEw
MzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovOyB9OworCQk1MjY3OEY4
RjFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjY3OEY4RDFBMDMxMDA5MDA2QTMwNkQg
LyogQmFzaWNCbG9ja0xvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJNTI2NzhGOTExQTA0MTc3QzAwNkEzMDZEIC8qIENvbnRyb2xGbG93
UHJvZmlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUyNjc4RjkwMUEwNDE3N0MwMDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTI3NzczREUxQUFG
ODNBQzAwQkRFN0U4IC8qIFJ1bnRpbWVUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNzc3M0REMUFBRjgzQUMwMEJERTdFOCAvKiBSdW50aW1l
VHlwZS5jcHAgKi87IH07CisJCTUyQjMxMEZCMTk3NEFFNjEwMDgwODU3QyAvKiBGdW5jdGlvbkhh
c0V4ZWN1dGVkQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUyQjMxMEZBMTk3NEFFNjEwMDgwODU3QyAvKiBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2Fj
aGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1
MkIzMTBGRDE5NzRBRTg3MDA4MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjMxMEZDMTk3
NEFFODcwMDgwODU3QyAvKiBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUuY3BwICovOyB9OworCQk1
MkIzMTBGRjE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJCMzEwRkUxOTc1QjQyNDAw
ODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmNwcCAqLzsgfTsKKwkJNTJCMzExMDExOTc1QjQ2
NzAwODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkIzMTEwMDE5NzVCNDY3MDA4MDg1N0MgLyogVHlwZUxv
Y2F0aW9uQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk1MkI3MTdCNTFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkI3MTdC
NDFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5jcHAgKi87IH07CisJCTUy
QzA2MTFGMUFBNTFFMUMwMEI0QURCQSAvKiBSdW50aW1lVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDMDYxMUQxQUE1MUUxQjAwQjRBREJBIC8q
IFJ1bnRpbWVUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNTJDOTUyQjcxOUEyODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDOTUyQjYxOUEyODk4
NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTUyQzk1MkI5MTlBMjhBMUMwMDY5QjM4NiAvKiBUeXBlUHJv
ZmlsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTJDOTUyQjgxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgKi87IH07CisJCTVE
NTM3MjZGMEUxQzU0ODgwMDIxRTU0OSAvKiBUcmFjaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDUzNzI2RTBFMUM1NDg4MDAyMUU1NDkgLyogVHJh
Y2luZy5oICovOyB9OworCQk1RDVEOEFEMTBFMEQwRUJFMDBGOUM2OTIgLyogbGliZWRpdC5keWxp
YiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVENUQ4
QUQwMEUwRDBFQkUwMEY5QzY5MiAvKiBsaWJlZGl0LmR5bGliICovOyB9OworCQk1REJCMTUxQjEz
MUQwQjMxMDA1NkFEMzYgLyogdGVzdGFwaS5qcyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RDg1Nzc0MEE0Njk2QzgwMDMyMTQ2QyAv
KiB0ZXN0YXBpLmpzICovOyB9OworCQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRv
bS5qcyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovOyB9OworCQk1
REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1NDAyNTU1OTdEMDFGRjYw
RjcgLyogY3JlYXRlX2hhc2hfdGFibGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsg
fTsgfTsKKwkJNjJEMkQzOEYxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEQx
QURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9uUmFyZURhdGEuY3BwICovOyB9OworCQk2MkQyRDM5
MDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMxIC8q
IEZ1bmN0aW9uUmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk2MkYyQUEzNzFCMEJFREUzMDA2MTBDN0EgLyogREZHTGF6eU5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJBOUEyOUUx
QjBCRUQ0ODAwQkQ1NENBIC8qIERGR0xhenlOb2RlLmNwcCAqLzsgfTsKKwkJNjJGMkFBMzgxQjBC
RURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6eU5v
ZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2
NTA3RDI5RTBFODcxRTVFMDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUwN0QyOTcwRTg3MUU0QTAwRDdEODk2IC8q
IEpTVHlwZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2NTExMjJGRDE0MDQ2QTRDMDAyQjEwMUQgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMy
RjVCRDkwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsK
KwkJNjUxMTIyRkUxNDA0NkE0QzAwMkIxMDFEIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJhbWV3b3Jr
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDVEOEFEMDBFMEQwRUJFMDBG
OUM2OTIgLyogbGliZWRpdC5keWxpYiAqLzsgfTsKKwkJNjUxMTIzMDcxNDA0NkIwQTAwMkIxMDFE
IC8qIHRlc3RSZWdFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjUxMTIyRTUxNDA0NjlCQTAwMkIxMDFEIC8qIHRlc3RSZWdFeHAuY3BwICovOyB9
OworCQk2NTE0RjIxOTE4QjNFMTY3MDA5OEZGOEIgLyogQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTE0RjIxNzE4QjNFMTY3MDA5OEZG
OEIgLyogQnl0ZWNvZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNjUzMDNENjQxNDQ3QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUzMDNENjMxNDQ3
QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1NDZGNTIxMUEzMkIzMTMwMDZGMDdENSAvKiBOdWxs
R2V0dGVyRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjU0NkY1MUYxQTMyQTU5QzAwNkYwN0Q1IC8qIE51bGxHZXR0ZXJGdW5jdGlvbi5j
cHAgKi87IH07CisJCTY1NTI1RkM1MUE2REQ4MDEwMDdCNTQ5NSAvKiBOdWxsU2V0dGVyRnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1
MjVGQzMxQTZERDNCMzAwN0I1NDk1IC8qIE51bGxTZXR0ZXJGdW5jdGlvbi5jcHAgKi87IH07CisJ
CTY1NTNBMzMxMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTNBMzJG
MTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNwcCAqLzsgfTsK
KwkJNjU1M0EzMzIxN0ExRjFFRTAwOENGNkYzIC8qIENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTNBMzMw
MTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmggKi87IH07CisJ
CTY1NTcwRjVBMUFBNEMzRUEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1NzBGNTkxQUE0QzAwQTAwOUIz
QzIzIC8qIFJlZ3Jlc3MxNDEyNzUubW0gKi87IH07CisJCTY1NUVCMjlCMTBDRTI1ODEwMDFBOTkw
RSAvKiBOb2Rlc0NvZGVnZW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjU1RUIyOUExMENFMjU4MTAwMUE5OTBFIC8qIE5vZGVzQ29kZWdlbi5jcHAg
Ki87IH07CisJCTY1N0NGNDU4MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTdDRjQ1NjE5QkY2NjYy
MDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovOyB9OworCQk2NTdDRjQ1OTE5QkY2NjYyMDA0QUNC
RjIgLyogSlNDYWxsZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1OEQzQTU2MTk2MzgyNjgw
MDNDNDVENiAvKiBWTUVudHJ5UmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NThEM0E1NTE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29y
ZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTY1
QzAyODUwMTcxNzk1RTIwMDM1MUUzNSAvKiBBUk12N0Rpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUMwMjg0RjE3MTc5NUUyMDAz
NTFFMzUgLyogQVJNdjdEaXNhc3NlbWJsZXIuY3BwICovOyB9OworCQk2NUMwMjg1QzE3MTc5NjY4
MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1QzAyODVBMTcxNzk2NjgwMDM1MUUzNSAvKiBBUk12N0RPcGNv
ZGUuY3BwICovOyB9OworCQk2NUMwMjg1RDE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdET3Bjb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUMwMjg1
QjE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmggKi87IH07CisJCTY1RkI1MTE3MTg0
RUVFNzAwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJv
dG9DYWxsRnJhbWUuY3BwICovOyB9OworCQk2QUQyQ0I0RDE5QjkxNDAxMDAwNjU3MTkgLyogRGVi
dWdnZXJFdmFsRW5hYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkFEMkNCNEMxOUI5MTQwMTAwMDY1NzE5IC8qIERlYnVnZ2VyRXZhbEVuYWJsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MDEx
M0Q0QjFBOERCMDkzMDAzODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwMTEzRDQ5MUE4REIwOTMwMDM4
NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMuY3BwICovOyB9OworCQk3MDExM0Q0QzFBOERCMDkz
MDAzODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDExM0Q0QTFBOERCMDkzMDAzODQ4QzQgLyogSXRlcmF0
b3JPcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzA1QjQxQUIxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDVCNDFBMzFBNkU1MDFFMDA3
MTY3NTcgLyogU3ltYm9sLmNwcCAqLzsgfTsKKwkJNzA1QjQxQUMxQTZFNTAxRTAwNzE2NzU3IC8q
IFN5bWJvbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzA1QjQxQTQxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwNUI0MUFEMUE2RTUwMUUwMDcxNjc1NyAv
KiBTeW1ib2xDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MDVCNDFBNTFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sQ29uc3RydWN0
b3IuY3BwICovOyB9OworCQk3MDVCNDFBRTFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sQ29uc3Ry
dWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcw
NUI0MUE2MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwNUI0MUFGMUE2RTUwMUUw
MDcxNjc1NyAvKiBTeW1ib2xPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzA1QjQxQTcxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbE9iamVj
dC5jcHAgKi87IH07CisJCTcwNUI0MUIwMUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xPYmplY3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwNUI0MUE4
MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MDVCNDFCMTFBNkU1MDFFMDA3MTY3NTcgLyog
U3ltYm9sUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcwNUI0MUE5MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xQcm90b3R5cGUuY3Bw
ICovOyB9OworCQk3MDVCNDFCMjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDVCNDFBQTFB
NkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzA5NEM0REUxQUU0Mzk1MzAwNDFBMkVFIC8q
IEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzA5NEM0REMxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2Rl
SW50cmluc2ljUmVnaXN0cnkuY3BwICovOyB9OworCQk3MDk0QzRERjFBRTQzOTUzMDA0MUEyRUUg
LyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2Rl
SW50cmluc2ljUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk3MDlGQjg2NzFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODYxMUFF
MzM1QzYwMDM5RDA2OSAvKiBKU1dlYWtTZXQuY3BwICovOyB9OworCQk3MDlGQjg2ODFBRTMzNUM2
MDAzOUQwNjkgLyogSlNXZWFrU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MDlGQjg2MjFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzA5RkI4Njkx
QUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MDlGQjg2MzFBRTMzNUM2MDAzOUQwNjkg
LyogV2Vha1NldENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJNzA5RkI4NkExQUUzMzVDNjAwMzlE
MDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzA5RkI4NjQxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25z
dHJ1Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTcwOUZCODZCMUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODY1MUFFMzM1
QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJNzA5RkI4NkMxQUUz
MzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwOUZCODY2MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFr
U2V0UHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzBCMEE5RDExQTlCNjY0NjAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBCMEE5RDAxQTlCNjYy
MDAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTcwREMzRTA5MUIyREYyQzcwMDA1NDI5OSAvKiBJdGVyYXRv
clByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3MERDM0UwNzFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuY3BwICov
OyB9OworCQk3MERDM0UwQTFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwREMzRTA4MUIy
REYyQzcwMDA1NDI5OSAvKiBJdGVyYXRvclByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwRUMwRUMyMUFBMEQ3REEwMEI2QUFGQSAv
KiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDcwRUMwRUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9y
LmNwcCAqLzsgfTsKKwkJNzBFQzBFQzMxQUEwRDdEQTAwQjZBQUZBIC8qIEpTU3RyaW5nSXRlcmF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUMw
RUJEMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzBFQzBFQzYxQUEwRDdEQTAwQjZB
QUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUMwRUMwMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJp
bmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CisJCTcwRUMwRUM3MUFBMEQ3REEwMEI2QUFG
QSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQzBFQzExQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0
ZXJhdG9yUHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNzBFQ0E2MDUxQUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3Ry
eUtleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MEVDQTYwMDFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmNwcCAqLzsg
fTsKKwkJNzBFQ0E2MDYxQUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MDEx
QUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcwRUNBNjA3MUFGREJFQTIwMDQ0
OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJl
Z2lzdHJ5LmNwcCAqLzsgfTsKKwkJNzBFQ0E2MDgxQUZEQkVBMjAwNDQ5NzM5IC8qIFRlbXBsYXRl
UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcwRUNBNjAzMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzBFQ0E2MDkxQUZEQkVB
MjAwNDQ5NzM5IC8qIFRlbXBsYXRlUmVnaXN0cnlLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1w
bGF0ZVJlZ2lzdHJ5S2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJN0MwMDhDRDIxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9u
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzAw
OENEMDE4NkY4QTkzMDA5NTVDMjQgLyogSlNQcm9taXNlRnVuY3Rpb25zLmNwcCAqLzsgfTsKKwkJ
N0MwMDhDRDMxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwMDhDRDExODZGOEE5MzAw
OTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMDA4Q0RBMTg3MTI0QkIwMDk1NUMyNCAvKiBKU1By
b21pc2VEZWZlcnJlZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QzAwOENEODE4NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQuY3Bw
ICovOyB9OworCQk3QzAwOENEQjE4NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMDA4Q0Q5
MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMDA4Q0RFMTg3MTI1OEQwMDk1NUMy
NCAvKiBKU1Byb21pc2VSZWFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNlUmVh
Y3Rpb24uY3BwICovOyB9OworCQk3QzAwOENERjE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNl
UmVhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDMDA4Q0REMTg3MTI1OEQwMDk1NUMyNCAvKiBKU1Byb21pc2VSZWFjdGlvbi5oICovOyB9Owor
CQk3QzAwOENFNzE4NzYzMUI2MDA5NTVDMjQgLyogTWljcm90YXNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzAwOENFNTE4NzYzMUI2MDA5NTVDMjQg
LyogTWljcm90YXNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJN0MxODRFMUExN0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzE4NEUxODE3QkVEQkQz
MDA3Q0I2M0EgLyogSlNQcm9taXNlLmNwcCAqLzsgfTsKKwkJN0MxODRFMUIxN0JFREJEMzAwN0NC
NjNBIC8qIEpTUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0MxODRFMTkxN0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdDMTg0RTFFMTdCRUUy
MkUwMDdDQjYzQSAvKiBKU1Byb21pc2VQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxODRFMUMxN0JFRTIyRTAwN0NCNjNBIC8qIEpT
UHJvbWlzZVByb3RvdHlwZS5jcHAgKi87IH07CisJCTdDMTg0RTFGMTdCRUUyMkUwMDdDQjYzQSAv
KiBKU1Byb21pc2VQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDMTg0RTFEMTdCRUUyMkUwMDdDQjYzQSAvKiBKU1Byb21pc2VQcm90b3R5
cGUuaCAqLzsgfTsKKwkJN0MxODRFMjIxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDMTg0RTIwMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAgKi87
IH07CisJCTdDMTg0RTIzMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxODRFMjEx
N0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9yLmggKi87IH07CisJCTdFNEVF
NzA5MEVCQjc5NjMwMDU5MzRBQSAvKiBTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U0RUU3MDgwRUJCNzk2MzAwNTkzNEFBIC8q
IFN0cnVjdHVyZUNoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJN0U0RUU3MEYwRUJCN0E1QjAwNTkzNEFBIC8qIFN0cnVjdHVyZUNoYWluLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNEVFNzBF
MEVCQjdBNUIwMDU5MzRBQSAvKiBTdHJ1Y3R1cmVDaGFpbi5jcHAgKi87IH07CisJCTg0MDQ4MDEz
MTAyMUExRDkwMDhFN0YwMSAvKiBKU0FQSVZhbHVlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwODk0RDYwRkFGQkEyRDAwMDAxODY1IC8q
IEpTQVBJVmFsdWVXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJODYwMTYxRTMwRjNBODNDMTAwRjg0NzEwIC8qIEFic3RyYWN0TWFjcm9B
c3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2MDE2MURGMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYwMTYxRTQw
RjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjAxNjFFMDBGM0E4M0MxMDBGODQ3MTAgLyog
TWFjcm9Bc3NlbWJsZXJYODYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk4NjAxNjFFNTBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJY
ODZfNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MDE2MUUxMEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2MDE2MUU2MEYzQTgz
QzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYwMTYxRTIwRjNBODNDMTAwRjg0NzEwIC8q
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYwNkRERUExOERBNDRBQjAwQTM4M0QwIC8qIElkZW50aWZp
ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjBCRDgwMTE0OEVB
NkYyMDAxMTJCMkYgLyogSW50cmluc2ljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkJGNjQyQTE0OERCMkI1MDA0REUzNkEgLyogSW50cmluc2ljLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODYxMkU0
Q0QxNTIzODlFQzAwQzgzNkJFIC8qIE1hdGNoUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjEyRTRDQjE1MjI5MTg0MDBDODM2QkUgLyogTWF0
Y2hSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk4NjE1OEFCMzE1NUM4QjQwMDBCNDVDOUMgLyogUHJvcGVydHlOYW1lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjE1OEFCMjE1NUM4QjNGMDBC
NDVDOUMgLyogUHJvcGVydHlOYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODYyNTUzRDExNjEzNkRBOTAwOUYxN0QwIC8qIEpTUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyNTUzQ0Ux
NjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuY3BwICovOyB9OworCQk4NjI1NTNEMjE2MTM2RTFB
MDA5RjE3RDAgLyogSlNQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODYyNTUzQ0YxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjNCMjNFMDBGQzYx
MTg5MDA3MDNBQTQgLyogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjNCMjNERjBGQzYwRTYyMDA3MDNBQTQgLyog
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODYzQzZEOUMxNTIxMTExQTAwNTg1RTRFIC8qIFlhcnJDYW5vbmlj
YWxpemVVQ1MyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2M0M2RDk4MTUyMTExMTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAg
Ki87IH07CisJCTg2NDJDNTEwMTUxQzA2QTkwMDQ2RDRFRiAvKiBSZWdFeHBDYWNoZWRSZXN1bHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGNzVF
RkIxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cENhY2hlZFJlc3VsdC5jcHAgKi87IH07CisJCTg2
NDJDNTEyMTUxQzA4M0QwMDQ2RDRFRiAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGNzVFRkQxNTFDMDYyRjAw
N0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAgKi87IH07CisJCTg2NUEzMEYxMTM1MDA3
RTEwMENEQjQ5RSAvKiBKU0NKU1ZhbHVlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1QTMwRjAxMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pT
VmFsdWVJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODY2NzM5RDIxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NjczOUQwMTNCRkRFNzEw
MDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggKi87IH07CisJCTg2NjczOUQzMTNCRkRFNzEwMDIzRDg3
QyAvKiBVaW50MTZXaXRoRnJhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2NjczOUQxMTNCRkRFNzEwMDIzRDg3QyAvKiBVaW50MTZXaXRoRnJh
Y3Rpb24uaCAqLzsgfTsKKwkJODY3MDRCNDIxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhD
aGVja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2NzA0QjQwMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5jcHAgKi87IH07
CisJCTg2NzA0QjQzMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY3MDRCNDExMkRCOEE4
MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmggKi87IH07CisJCTg2NzA0Qjg0MTJEQkEz
MzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY3MDRCN0QxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJ
bnRlcnByZXRlci5jcHAgKi87IH07CisJCTg2NzA0Qjg1MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJy
SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NzA0QjdFMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjcwNEI4NjEyREJB
MzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI3RjEyREJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAg
Ki87IH07CisJCTg2NzA0Qjg3MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySklULmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI4MDEyREJBMzM3MDBB
OUZFN0IgLyogWWFyckpJVC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTg2NzA0Qjg4MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJyUGFyc2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjcwNEI4MTEyREJB
MzM3MDBBOUZFN0IgLyogWWFyclBhcnNlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTg2NzA0Qjg5MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJyUGF0
dGVybi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NjcwNEI4MjEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uY3BwICovOyB9OworCQk4Njcw
NEI4QTEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NzA0QjgzMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTg2ODgwRjFGMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgw
RjFCMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsK
KwkJODY4ODBGNEQxNDM1M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4ODBGNEMxNDM1
M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwICovOyB9OworCQk4Njg5MTZC
MDE1NUYyODYzMDBDQjJCOUEgLyogUHJpdmF0ZU5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODkxNkE5MTU1RjI4NTQwMENCMkI5QSAvKiBQcml2
YXRlTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTg2OUVCQ0I3MEU4QzZENEEwMDg3MjJDQyAvKiBSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjlFQkNCNjBFOEM2RDRBMDA4NzIy
Q0MgLyogUmVzdWx0VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTg2QTkwRUQwMEVFN0Q1MUYwMEFCMzUwRCAvKiBKSVRBcml0aG1ldGljLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTkwRUNG
MEVFN0Q1MUYwMEFCMzUwRCAvKiBKSVRBcml0aG1ldGljLmNwcCAqLzsgfTsKKwkJODZBREQxNDUw
RkRERUE5ODAwMDZFRUMyIC8qIEFSTXY3QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkFERDE0MzBGRERFQTk4MDAwNkVFQzIgLyogQVJN
djdBc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk4NkFERDE0NjBGRERFQTk4MDAwNkVFQzIgLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZBREQxNDQw
RkRERUE5ODAwMDZFRUMyIC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkFFNjRBOTEzNUU1RTFDMDA5NjMw
MTIgLyogTWFjcm9Bc3NlbWJsZXJTSDQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2QUU2NEE2MTM1RTVFMUMwMDk2MzAxMiAvKiBNYWNyb0Fzc2VtYmxl
clNINC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTg2QUU2NEFBMTM1RTVFMUMwMDk2MzAxMiAvKiBTSDRBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QUU2NEE3MTM1RTVFMUMwMDk2MzAx
MiAvKiBTSDRBc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk4NkI1ODI2NzE0RDI3OTZDMDBBOUMzMDYgLyogQ29kZVByb2ZpbGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCNTgyMkUx
NEQyMzczQjAwQTlDMzA2IC8qIENvZGVQcm9maWxlLmNwcCAqLzsgfTsKKwkJODZCNTgyNjkxNEQy
Nzk3MDAwQTlDMzA2IC8qIENvZGVQcm9maWxpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYwM0NFRjIxNEM3NTQ2NDAwQUU1OUUzIC8qIENvZGVQ
cm9maWxpbmcuY3BwICovOyB9OworCQk4NkMzNkVFQTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9B
c3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2QzM2RUU5MEVFMTI4OUQwMEIzREY1OSAvKiBNYWNyb0Fzc2VtYmxlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2QzU2OEUwMTFBMjEzRUUw
MDA3RjdGMCAvKiBNYWNyb0Fzc2VtYmxlckFSTS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkM1NjhERDExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9B
c3NlbWJsZXJBUk0uY3BwICovOyB9OworCQk4NkM1NjhFMTExQTIxM0VFMDAwN0Y3RjAgLyogTWFj
cm9Bc3NlbWJsZXJNSVBTLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NkM1NjhERTExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJNSVBTLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZDNTY4
RTIxMUEyMTNFRTAwMDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QzU2OERGMTFBMjEzRUUwMDA3RjdGMCAvKiBN
SVBTQXNzZW1ibGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODZDQTAzMkUxMDM4RTg0NDAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQTAzMkQxMDM4RTg0
NDAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuY3BwICovOyB9OworCQk4NkNBRkVFMzEwMzVEREU2MDAy
OEE2MDkgLyogRXhlY3V0YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZDQUZFRTIxMDM1RERFNjAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkNDODVBMTBF
RTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QTAwRUU3OUE0NzAwMjg4NjgyIC8qIEpJVElubGlu
ZXMuaCAqLzsgfTsKKwkJODZDQzg1QTMwRUU3OUI3NDAwMjg4NjgyIC8qIEpJVENhbGwuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QTIwRUU3
OUI3NDAwMjg4NjgyIC8qIEpJVENhbGwuY3BwICovOyB9OworCQk4NkNDODVDNDBFRTdBODk0MDAy
ODg2ODIgLyogSklUUHJvcGVydHlBY2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZDQzg1QzMwRUU3QTg5NDAwMjg4NjgyIC8qIEpJVFByb3Bl
cnR5QWNjZXNzLmNwcCAqLzsgfTsKKwkJODZDQ0VGREUwRjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENv
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2Q0NF
RkREMEY0MTNGODkwMEZEN0Y5RSAvKiBKSVRDb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZEMjIyMUExNjdFRjk0NDAwMjRDODA0IC8qIHRl
c3RhcGkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NkQyMjIxOTE2N0VGOTQ0MDAyNEM4MDQgLyogdGVzdGFwaS5tbSAqLzsgfTsKKwkJODZEM0IyQzMx
MDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkQzQjJCRjEwMTU2QkRFMDAyODY1RTcgLyogQVJN
QXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJODZEM0IyQzQxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZEM0IyQzAxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RDNCMkM1MTAxNTZCREUwMDI4
NjVFNyAvKiBBc3NlbWJsZXJCdWZmZXJXaXRoQ29uc3RhbnRQb29sLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkQzQjJDMTEwMTU2QkRFMDAyODY1RTcg
LyogQXNzZW1ibGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RDNCMkM2MTAxNTZCREUwMDI4NjVFNyAv
KiBNYWNyb0Fzc2VtYmxlckFSTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZEM0IyQzIxMDE1NkJERTAwMjg2NUU3IC8qIE1hY3JvQXNzZW1ibGVyQVJN
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZE
M0IzQzMxMDE1OUQ3RjAwMjg2NUU3IC8qIExpbmtCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RDNCM0MxMTAxNTlEN0YwMDI4NjVFNyAvKiBM
aW5rQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJODZEM0IzQzQxMDE1OUQ3RjAwMjg2NUU3IC8qIFJlcGF0Y2hCdWZmZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RDNCM0MyMTAxNTlEN0Yw
MDI4NjVFNyAvKiBSZXBhdGNoQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZEQjY0NjQwRjk1QzZGQzAwRDdEOTIxIC8qIEV4ZWN1dGFi
bGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkRCNjQ2MzBGOTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFs
bG9jYXRvckZpeGVkVk1Qb29sLmNwcCAqLzsgfTsKKwkJODZFMTE2QjEwRkU3NUFDODAwQjUxMkJD
IC8qIENvZGVMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZFMTE2QjAwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2NhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RTNDNjEyMTY3
QkFCRDcwMDZENzYwQSAvKiBKU1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwNjE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJODZFM0M2MTMx
NjdCQUJENzAwNkQ3NjBBIC8qIEpTQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MDcxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTQ29udGV4
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJODZF
M0M2MTQxNjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwQTE2N0JBQjg3MDA2RDc2MEEgLyogSlNF
eHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJ
CTg2RTNDNjE1MTY3QkFCRDcwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwRjE2N0JBQjg3MDA2
RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKKwkJODZFM0M2MTYxNjdCQUJFRTAwNkQ3NjBBIC8qIEpTQ29udGV4
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTND
NjA4MTY3QkFCODcwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gKi87IH07CisJCTg2RTNDNjE3MTY3
QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MDkxNjdCQUI4NzAwNkQ3NjBBIC8qIEpT
Q29udGV4dEludGVybmFsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJODZFM0M2MTgxNjdCQUJFRTAwNkQ3NjBBIC8qIEpTV3JhcHBlck1hcC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjBCMTY3
QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gKi87IH07CisJCTg2RTNDNjE5MTY3QkFC
RUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjBDMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJN
YXAuaCAqLzsgfTsKKwkJODZFM0M2MUExNjdCQUJFRTAwNkQ3NjBBIC8qIEpTVmFsdWUubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkUzQzYwRDE2N0JB
Qjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5tbSAqLzsgfTsKKwkJODZFM0M2MUIxNjdCQUJFRTAwNkQ3
NjBBIC8qIEpTVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZFM0M2MEUxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmFsdWVJbnRlcm5h
bC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2
RTNDNjFDMTY3QkFCRUUwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFM0M2MTAxNjdCQUI4NzAwNkQ3
NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUubW0gKi87IH07CisJCTg2RTNDNjFEMTY3QkFCRUUwMDZE
NzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RTNDNjExMTY3QkFCODcwMDZENzYwQSAvKiBKU1Zp
cnR1YWxNYWNoaW5lSW50ZXJuYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk4NkU4NTUzOTExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWls
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkU4
NTUzODExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWlsZGVyLmggKi87IH07CisJCTg2RUM5
REM0MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkVDOURCNDEzMjhERjgyMDAyQjJB
RDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuY3BwICovOyB9OworCQk4NkVDOURDNTEzMjhERjgyMDAy
QjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REI1MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29k
ZVBhcnNlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTg2RUM5REM2MTMyOERGODIwMDJCMkFENyAvKiBERkdHZW5lcmF0aW9uSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQjYxMzI4REY4
MjAwMkIyQUQ3IC8qIERGR0dlbmVyYXRpb25JbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZFQzlEQzcxMzI4REY4MjAwMkIyQUQ3IC8qIERG
R0dyYXBoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RUM5REI3MTMyOERGODIwMDJCMkFENyAvKiBERkdHcmFwaC5jcHAgKi87IH07CisJCTg2RUM5
REM4MTMyOERGODIwMDJCMkFENyAvKiBERkdHcmFwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQjgxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dy
YXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
ODZFQzlEQ0IxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REJCMTMyOERGODIwMDJC
MkFENyAvKiBERkdKSVRDb21waWxlci5jcHAgKi87IH07CisJCTg2RUM5RENDMTMyOERGODIwMDJC
MkFENyAvKiBERkdKSVRDb21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZFQzlEQkMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZF
QzlEQ0YxMzI4REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQkYxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR09wZXJhdGlvbnMuY3BwICovOyB9OworCQk4NkVDOUREMDEzMjhERjgyMDAyQjJBRDcg
LyogREZHT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZFQzlEQzAxMzI4REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkVDOUREMTEz
MjhERjgyMDAyQjJBRDcgLyogREZHUmVnaXN0ZXJCYW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkVDOURDMTEzMjhERjgyMDAyQjJBRDcgLyogREZH
UmVnaXN0ZXJCYW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODZFQzlERDIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZlSklULmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMy
MTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5jcHAgKi87IH07CisJCTg2RUM5
REQzMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR1NwZWN1bGF0aXZlSklULmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJODZFQ0EzRUExMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUNBM0U5MTMy
REVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZFQ0EzRkExMzJERjI1QTAwMkIyQUQ3IC8qIERGR1Njb3Jl
Qm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RUNBM0Y5MTMyREYyNUEwMDJCMkFENyAvKiBERkdTY29yZUJvYXJkLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZGM0VFQkQxNjhDREU5MzAwNzdC
OTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCOTE2OENDRjc1MDA3N0I5MkEgLyogT2JqQ0NhbGxi
YWNrRnVuY3Rpb24uaCAqLzsgfTsKKwkJODZGM0VFQkUxNjhDREU5MzAwNzdCOTJBIC8qIE9iakND
YWxsYmFja0Z1bmN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZGM0VFQkExNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9u
Lm1tICovOyB9OworCQk4NkYzRUVCRjE2OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRy
YXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNF
RUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9OworCQk4NkZB
OUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovOyB9OworCQk4NkZBOUU5MjE0MkJCQjJFMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9u
LmggKi87IH07CisJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEz
RTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKKwkJOTAy
MTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJG
MyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUy
QzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CisJCTkzMDUyQzM1
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTMyRjVCRDMwODIyQTFDNzAwNzM2OTc1IC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjBBNENG
MDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CisJCTkz
MkY1QkQ2MDgyMkExQzcwMDczNjk3NSAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFC
IC8qIGxpYm9iamMuZHlsaWIgKi87IH07CisJCTkzMkY1QkQ3MDgyMkExQzcwMDczNjk3NSAvKiBs
aWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTMyMkEwMDMwNkMzNDFEMzAwOTA2N0JCIC8qIGxpYmljdWNvcmUuZHlsaWIgKi87
IH07CisJCTkzMkY1QkREMDgyMkExQzcwMDczNjk3NSAvKiBqc2MuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi87IH07CisJCTkzMkY1QkVBMDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2Ny
aXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzJGNUJEOTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrICovOyB9OworCQk5MzMwNDAwNDBFNkE3NDk0MDA3ODZFNkEgLyogU21hbGxTdHJpbmdz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzMwM0ZF
QTBFNkE3MkMwMDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTMzMDQwMkMwRTZBNzY0MDAwNzg2RTZBIC8q
IFNtYWxsU3RyaW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzMwM0ZFODBFNkE3MkI1MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNwcCAqLzsg
fTsKKwkJOTMzNUYyNEQxMkU2NzY1QjAwMkI1NTUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzNDVB
ODcxMkQ4MzhDNDAwMzAyQkUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwICovOyB9Owor
CQk5NTM0QUFGQjBFNUI3QTk2MDBCOEE0NUIgLyogSlNQcm9maWxlclByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MkM2M0FDMEU0Nzc3RDYw
MEMxMzkzNiAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk1NzQyRjY1MEREMTFGNUEwMDA5MTdGQiAvKiBQcm9m
aWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
NzQyRjYzMEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCAqLzsgfTsKKwkJOTVBQjgzNDIw
REE0MzIyNTAwQkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QUI4MzJFMERBNDJDQUQwMEJDODNGMyAvKiBM
ZWdhY3lQcm9maWxlci5jcHAgKi87IH07CisJCTk1QUI4MzU2MERBNDNDMzAwMEJDODNGMyAvKiBQ
cm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NUFCODM1NDBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuY3BwICovOyB9Owor
CQk5NUNENDU3NjBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUNENDU3NDBFMUM0RkRE
MDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi87IH07CisJCTk1Q0Q0NTc3MEUxQzRG
REQwMDg1MzU4RSAvKiBQcm9maWxlR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUNENDU3NTBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmls
ZUdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTk1
RTNCQzA1MEUxQUU2ODIwMEIyRDFDMSAvKiBDYWxsSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFM0JDMDQwRTFBRTY4MjAwQjJEMUMx
IC8qIENhbGxJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTVGNkU2OTUwRTVCNUY5NzAwOTFFODYwIC8qIEpTUHJvZmlsZXJQcml2
YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
OTg4QkE5MEU0NzdCRUMwMEQyOEQ0RCAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5jcHAgKi87IH07CisJ
CTk2MDA5N0E2MEVCQUJCNTgwMDdBNzI5NyAvKiBMYWJlbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjAwOTdBNTBFQkFCQjU4MDA3QTcyOTcg
LyogTGFiZWxTY29wZS5oICovOyB9OworCQk5Njg4Q0IxNTBFRDEyQjRFMDAxRDY0OUYgLyogQXNz
ZW1ibGVyQnVmZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5Njg4Q0IxMzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTY4OENCMTYwRUQx
MkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTY4OENCMTQwRUQxMkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2Vt
Ymxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTk2OUEwNzIzMEVEMUNFMzMwMEYxRjY4MSAvKiBCeXRlY29kZUdlbmVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3MjEwRUQxQ0UzMzAw
RjFGNjgxIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmggKi87IH07CisJCTk2OUEwNzJBMEVEMUNFNjkw
MEYxRjY4MSAvKiBMYWJlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTY5QTA3MjcwRUQxQ0U2OTAwRjFGNjgxIC8qIExhYmVsLmggKi87IH07CisJCTk2
OUEwNzJCMEVEMUNFNjkwMEYxRjY4MSAvKiBSZWdpc3RlcklELmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDcyODBFRDFDRTY5MDBGMUY2ODEgLyog
UmVnaXN0ZXJJRC5oICovOyB9OworCQk5NjlBMDc5NjBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJs
b2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2
OUEwNzkwMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwICovOyBzZXR0aW5ncyA9IHtD
T01QSUxFUl9GTEFHUyA9ICItZm5vLXN0cmljdC1hbGlhc2luZyI7IH07IH07CisJCTk2OUEwNzk3
MEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2OUEwNzkxMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxv
Y2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5
NjlBMDc5ODBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3OTIwRUQxRDNBRTAwRjFGNjgx
IC8qIEV2YWxDb2RlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5NjlBMDc5OTBFRDFEM0FFMDBGMUY2ODEgLyogSW5zdHJ1Y3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk2OUEwNzkzMEVE
MUQzQUUwMEYxRjY4MSAvKiBJbnN0cnVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk2OUEwNzlBMEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5
QTA3OTQwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5jcHAgKi87IH07CisJCTk2OUEwNzlCMEVE
MUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5Nzg4MDE0MDE0
NzFBRDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Nzg4RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRl
TWF0aC5jcHAgKi87IH07CisJCTk3ODgwMTQxMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Nzg4RkMy
MzE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5MjhGRjNCMThBQzRBRUMwMEI4Q0YxMiAvKiBK
U1JlcGxheUlucHV0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5OTI4RkYzOTE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMuY3BwICov
OyB9OworCQk5OTI4RkYzQzE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MjhGRjNBMThBQzRB
RUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NjIzMUU5MThEMTgwNDIwMEMwM0ZEQSAvKiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTMyNDM5NjE4NTZBNDc1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmpzICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTk5Q0MwQjYyMThCRTk5NDYwMDZDRUJDQyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5w
dXRzVGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTlFNDVBMUUxOEExQjFFNzAwMjZEODhGIC8qIENvZGVHZW5lcmF0b3JSZXBsYXlJbnB1
dHNUZW1wbGF0ZXMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJOTlDQzBCNjMxOEJFOTk1MDAwNkNFQkNDIC8qIENvZGVHZW5lcmF0b3JSZXBsYXlJ
bnB1dHMucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUU0NUExRDE4QTFCMUU3MDAyNkQ4OEYgLyogQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5OUU0NUEy
NDE4QTFCMjU5MDAyNkQ4OEYgLyogRW1wdHlJbnB1dEN1cnNvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlFNDVBMUYxOEExQjI1OTAwMjZEODhGIC8q
IEVtcHR5SW5wdXRDdXJzb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5OUU0NUEyNTE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5RTQ1QTIw
MThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuY3BwICovOyB9OworCQk5OUU0NUEyNjE4
QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUEyMTE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2Rl
ZFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTlFNDVBMjcxOEExQjI1OTAwMjZEODhGIC8qIElucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUEyMjE4QTFCMjU5MDAyNkQ4
OEYgLyogSW5wdXRDdXJzb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5OUU0NUEyODE4QTFCMjU5MDAyNkQ4OEYgLyogTm9uZGV0ZXJtaW5pc3Rp
Y0lucHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUU0NUEyMzE4QTFCMjU5MDAyNkQ4OEYgLyogTm9uZGV0ZXJtaW5pc3RpY0lucHV0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOUU3Mjk0MDcxOTBG
MDFBNTAwMUE5MUI1IC8qIEluaXRpYWxpemVUaHJlYWRpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3ODYzNkMwRDlCRUVDMzAwRDc0RTc1IC8q
IEluaXRpYWxpemVUaHJlYWRpbmcuY3BwICovOyB9OworCQk5RTcyOTQwODE5MEYwMjFFMDAxQTkx
QjUgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6
ZUxMVk1QT1NJWC5jcHAgKi87IH07CisJCTlFNzI5NDBCMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
RTcyOTQwQTE5MEYwNTE0MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5oICovOyB9OworCQk5RUE1QzdB
MTE5MEYwODQyMDA1MDhFQkUgLyogQnVuZGxlUGF0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLm1tICovOyB9OworCQk5RUE1QzdBMjE5MEYwODg3MDA1MDhFQkUgLyogSW5pdGlhbGl6
ZUxMVk1NYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxpemVMTFZNTWFjLmNwcCAqLzsg
fTsKKwkJQTEyQkJGRjIxQjA0NEE4QjAwNjY0QjY5IC8qIEludGxPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMkJCRkYxMUIwNDRBOEIwMDY2
NEI2OSAvKiBJbnRsT2JqZWN0LmggKi87IH07CisJCUExMkJCRkY0MUIwNDRBOTgwMDY2NEI2OSAv
KiBJbnRsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExMkJCRkYzMUIwNDRBOTgwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmNwcCAqLzsgfTsK
KwkJQTE3MTJCM0IxMUM3QjIxMjAwN0E1MzE1IC8qIFJlZ0V4cENhY2hlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNzEyQjNBMTFDN0IyMTIwMDdB
NTMxNSAvKiBSZWdFeHBDYWNoZS5jcHAgKi87IH07CisJCUExNzEyQjNGMTFDN0IyMjgwMDdBNTMx
NSAvKiBSZWdFeHBDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE3MTJCM0UxMUM3QjIyODAwN0E1MzE1IC8qIFJlZ0V4cENhY2hlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTE3MTJCNDExMUM3
QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3MTJCNDAxMUM3QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUExQTAw
OUMwMTgzMUEyMkQwMENGODcxMSAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQwOTIzQzE1NkVFRDNCMDA1NjZD
QjIgLyogTWFjcm9Bc3NlbWJsZXJBUk02NC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUExQTAwOUMxMTgzMUEyNkUwMENGODcxMSAvKiBBUk02NEFz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODY0MDkyM0IxNTZFRUQzQjAwNTY2Q0IyIC8qIEFSTTY0QXNzZW1ibGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwM0ZBMTkxODhFMEZCMDAw
MTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNTAzRkExQTE4OEUwRkIwMDAxMTBGMTQgLyog
SmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTUwM0ZBMTQxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuaCAqLzsgfTsKKwkJQTUwM0ZBMUIxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAq
LzsgfTsKKwkJQTUwM0ZBMUQxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTAzRkExNzE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmNwcCAqLzsgfTsKKwkJQTUwM0ZBMUUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5oICovOyB9OworCQlBNTAzRkEyMTE4OEVGRjY4MDAxMTBGMTQgLyog
U2NyaXB0QnJlYWtwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTUwM0ZBMUYxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEy
MjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0
IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTUwM0ZBMjMxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLzsg
fTsKKwkJQTUwM0ZBMjYxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyNDE4OEVG
RkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTAzRkEyOTE4OEYxMDU5MDAxMTBGMTQgLyog
SlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyNzE4OEYxMDU5MDAxMTBGMTQgLyogSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi87IH07CisJCUE1MDNGQTJBMTg4RjEw
NTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyODE4OEYxMDU5MDAx
MTBGMTQgLyogSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oICovOyB9OworCQlBNTBF
NEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MEU0QjVEMTg4MDlERDUw
MDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovOyB9OworCQlBNTBFNEI2MjE4
ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTBFNEI1RTE4ODA5REQ1MDA2OEE0NkQg
LyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwRTRCNjMxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1MEU0QjVGMTg4MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1
bnRpbWVBZ2VudC5jcHAgKi87IH07CisJCUE1MEU0QjY0MTg4MDlERDUwMDY4QTQ2RCAvKiBKU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwRTRCNjAxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0
UnVudGltZUFnZW50LmggKi87IH07CisJCUE1MTAwN0MwMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87IH07CisJCUE1MTAwN0MxMTg3Q0Mz
QzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTAwN0JGMTg3Q0MzQzYw
MEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgfTsKKwkJ
QTUxM0U1QjcxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTNFNUI1MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi87IH07CisJCUE1MTNFNUI4MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUxM0U1QjYxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUx
M0U1QkUxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1QjkxODVCRkFDQzAwN0U5
NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1MTNFNUJGMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVj
dGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTEzRTVCQTE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3Qu
Y3BwICovOyB9OworCQlBNTEzRTVDMDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlw
dEhvc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
MTNFNUJCMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5oICovOyB9Owor
CQlBNTEzRTVDMTE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUx
M0U1QkMxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNw
cCAqLzsgfTsKKwkJQTUxM0U1QzIxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRI
b3N0UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90
b3R5cGUuaCAqLzsgfTsKKwkJQTUxM0U1QzcxODVGOTQ0NjAwN0U5NUFEIC8qIEluamVjdGVkU2Ny
aXB0U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTEzRTVDNjE4NUY5NDM2MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLzsg
fTsKKwkJQTUxM0U1Q0ExODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRTVD
ODE4NUY5NjI0MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJ
QTUxM0U1Q0IxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1QzkxODVGOTYy
NDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MTRCMkMyMTg1QTY4NDQwMEYzQzdDQiAv
KiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUxNEIyQzAxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0
QmFzZS5jcHAgKi87IH07CisJCUE1MTRCMkMzMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNj
cmlwdEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1MTRCMkMxMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTMyNDM4NzE4NTY4
MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzgxMTg1NjgzMTcwMDJF
RDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OworCQlBNTMyNDM4
ODE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM4MjE4NTY4MzE3
MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUzMjQzODkxODU2ODMzNTAwMkVE
NjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8q
IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OworCQlBNTMyNDM4QTE4NTY4
MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODQxODU2ODMxNzAwMkVE
NjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTMyNDM4QjE4NTY4MzM1MDAyRUQ2OTIg
LyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuY3BwICovOyB9OworCQlBNTMyNDM4QzE4NTY4MzM1MDAyRUQ2OTIg
LyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM4NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9y
UHJvdG9jb2xPYmplY3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTUzMjQzOTQxODU2OTcwOTAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVk
LWluc3BlY3Rvci1qc29uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTUzMjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWlu
c3BlY3Rvci1qc29uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMuanNv
biBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzk1
MTg1NkE0NzUwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMuanNvbiAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTNDRTA4NTE4QkMxQTU2MDBCRURG
NzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3Rv
dHlwZS5jcHAgKi87IH07CisJCUE1M0NFMDg2MThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovOyB9OworCQlB
NTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAv
KiBKU0NvbnNvbGUuY3BwICovOyB9OworCQlBNTNDRTA4ODE4QkMxQTU2MDBCRURGNzYgLyogSlND
b25zb2xlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTNDRTA4NDE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmggKi87IH07CisJCUE1M0NFMDhB
MThCQzIxQzMwMEJFREY3NiAvKiBDb25zb2xlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4OTE4QkMyMUMzMDBCRURGNzYgLyogQ29u
c29sZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE1M0YxQUMwMThDOTBGOEYwMDcyRUI2RCAvKiBmcmFtZXdvcmsuc2IgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0YxQUJFMThDOTBFQzcw
MDcyRUI2RCAvKiBmcmFtZXdvcmsuc2IgKi87IH07CisJCUE1NDk4MjAzMTg5MUQwQjAwMDgxRTVC
OCAvKiBFdmVudExvb3AuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU0OTgyMDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi87IH07
CisJCUE1NDk4MjA0MTg5MUQwQjAwMDgxRTVCOCAvKiBFdmVudExvb3AuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDk4MjAyMTg5MUQwQjAwMDgxRTVC
OCAvKiBFdmVudExvb3AuaCAqLzsgfTsKKwkJQTU0Q0YyRjUxODRFQUIyNDAwMjM3RjE5IC8qIFNj
cmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NENGMkYyMTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRWYWx1ZS5jcHAgKi87IH07CisJ
CUE1NENGMkY2MTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRWYWx1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0Q0YyRjMxODRFQUIyNDAwMjM3RjE5
IC8qIFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTU0Q0YyRjkxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRDRjJGNzE4
NEVBRURBMDAyMzdGMTkgLyogU2NyaXB0T2JqZWN0LmNwcCAqLzsgfTsKKwkJQTU0Q0YyRkExODRF
QUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0Q0YyRjgxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9i
amVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1NEU4RUIwMThCRkZCQkIwMDU1NkQyOCAvKiBHQ1NlZ21lbnRlZEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTM0M0Y3NDE4QTE3NDhCMDAz
OUIwODUgLyogR0NTZWdtZW50ZWRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1NEU4RUIxMThCRkZCQkUwMDU1NkQyOCAvKiBHQ1NlZ21l
bnRlZEFycmF5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkEzNDNGNzcxOEExNzQ5RDAwMzlCMDg1IC8qIEdDU2VnbWVudGVkQXJyYXlJbmxp
bmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTU1MkMzN0YxQUREQjhGRTAwMTM5NzI2IC8qIEpTUmVtb3RlSW5zcGVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NTJDMzdEMUFEREI4RkUw
MDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5jcHAgKi87IH07CisJCUE1NTJDMzgwMUFEREI4
RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1MkMzN0UxQUREQjhGRTAwMTM5NzI2IC8qIEpTUmVt
b3RlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTU1RDkzQTUxODUwMTJBODAwNDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVEOTNB
MzE4NTAxMkE4MDA0MDBERUQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCAqLzsgfTsKKwkJQTU1
RDkzQTYxODUwMTJBODAwNDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1RDkzQTQxODUwMTJBODAwNDAw
REVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1NUQ5M0FDMTg1MTRGNzkwMDQwMERFRCAvKiBJbnNwZWN0
b3JQcm90b2NvbFR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyogSW5zcGVjdG9yUHJvdG9jb2xUeXBl
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1
N0QyM0U1MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0QyM0UzMTg5MENF
QkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAqLzsgfTsKKwkJQTU3RDIz
RTYxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0QyM0U0MTg5MENFQkYwMDMx
QzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU3RDIzRTkxODkxQjA3NzAwMzFDN0ZBIC8qIEpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNFNzE4OTFCMDc3MDAzMUM3RkEgLyogSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcCAqLzsgfTsKKwkJQTU3RDIzRUExODkxQjA3NzAwMzFDN0ZB
IC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3RDIzRTgxODkxQjA3NzAwMzFDN0ZBIC8qIEpTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oICovOyB9OworCQlBNTdEMjNFRDE4OTFCNTU0MDAzMUM3
RkEgLyogUmVndWxhckV4cHJlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTU3RDIzRUIxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHBy
ZXNzaW9uLmNwcCAqLzsgfTsKKwkJQTU3RDIzRUUxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJF
eHByZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTdEMjNFQzE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNTdEMjNGMTE4OTFC
NUI0MDAzMUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNFRjE4OTFCNUI0MDAzMUM3RkEg
LyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgKi87IH07CisJCUE1N0QyM0YyMTg5MUI1QjQw
MDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTdEMjNGMDE4OTFCNUI0MDAzMUM3RkEgLyogQ29u
dGVudFNlYXJjaFV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1ODQwMzIwMThCRkZCRTEwMDVBMDgxMSAvKiBJbnNwZWN0b3JBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDRUVF
MTMxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU4NDBFMjAxODdCN0I4NjAwODQzQjEw
IC8qIEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1ODQwRTFFMTg3QjdCODYwMDg0M0IxMCAvKiBJbmplY3RlZFNj
cmlwdE1vZHVsZS5jcHAgKi87IH07CisJCUE1ODQwRTIxMTg3QjdCODYwMDg0M0IxMCAvKiBJbmpl
Y3RlZFNjcmlwdE1vZHVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU4
NDBFMjcxODdDOTgxRTAwODQzQjEwIC8qIGNzc21pbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1ODQwRTI2MTg3Qzk4MDcwMDg0M0IxMCAvKiBjc3Nt
aW4ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTU4NDBFMjkxODdDQTVFNjAwODQzQjEwIC8qIGlubGluZS1hbmQtbWluaWZ5LXN0eWxlc2hlZXRz
LWFuZC1zY3JpcHRzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU4NDBFMjgxODdDQTVCODAwODQzQjEwIC8qIGlubGluZS1hbmQtbWluaWZ5LXN0eWxl
c2hlZXRzLWFuZC1zY3JpcHRzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1ODQwRTJBMTg3Q0E3NTkwMDg0M0IxMCAvKiB4eGQucGwgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRTVDNTE4NUY5MkYw
MDA3RTk1QUQgLyogeHhkLnBsICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUE1ODQwRTJCMTg3Q0E3NUIwMDg0M0IxMCAvKiBqc21pbi5weSBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTNFNUM0MTg1RjkyREMw
MDdFOTVBRCAvKiBqc21pbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlBNThDMDI0MjE4RTRBNDFBMDAwMzJCQzUgLyogSlNDb250ZXh0UHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QzAy
NDExOEU0QTQxQTAwMDMyQkM1IC8qIEpTQ29udGV4dFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNThFMzU5MTE4NjBERUNGMDAxRjI0
RkUgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEUzNTkwMTg2MERFQzcwMDFGMjRGRSAvKiBJbmplY3RlZFNj
cmlwdEhvc3QuY3BwICovOyB9OworCQlBNTkzQ0Y3QzE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTU5M0NGN0ExODQwMzYwMzAwQkZDRTI3IC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyLmNwcCAqLzsgfTsKKwkJQTU5M0NGN0QxODQwMzYwMzAwQkZDRTI3IC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y3QjE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBNTkzQ0Y3RjE4NDAzNjJDMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y3
RTE4NDAzNjJDMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRCYXNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTU5M0NGODIxODQwMzc3MTAwQkZD
RTI3IC8qIEluc3BlY3RvclZhbHVlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTkzQ0Y4MDE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFs
dWVzLmNwcCAqLzsgfTsKKwkJQTU5M0NGODMxODQwMzc3MTAwQkZDRTI3IC8qIEluc3BlY3RvclZh
bHVlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5
M0NGODExODQwMzc3MTAwQkZDRTI3IC8qIEluc3BlY3RvclZhbHVlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1OTNDRjg2MTg0MDM4Q0EwMEJG
Q0UyNyAvKiBJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTNDRjg0MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNw
ZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCAqLzsgfTsKKwkJQTU5M0NGODcxODQwMzhDQTAwQkZDRTI3
IC8qIEluc3BlY3RvckFnZW50UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTNDRjg1MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTU5NDU1OEYxODI0NUVGRDAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVn
Z2FibGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTU5NDU1OEUxODI0NUVERTAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3Bw
ICovOyB9OworCQlBNTk0NTU5MjE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1
Z2dhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1OTQ1NTkwMTgyNDc0NDcwMENDMzg0MyAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3Bw
ICovOyB9OworCQlBNTk0NTU5MzE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1
Z2dhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTk0NTU5MTE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi87
IH07CisJCUE1OTQ1NTk1MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OTQ1
NTk0MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUI2QTc0RDE4QzZE
QkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUI2QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29s
ZUNsaWVudC5jcHAgKi87IH07CisJCUE1QkExNUU4MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1QkExNUUxMTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUJBMTVFOTE4MjM0MEIz
MDBBODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RTIxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3Rvci5tbSAqLzsgfTsKKwkJQTVCQTE1RUExODIzNDBCNDAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3RvckNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVCQTE1RTMxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckNvbnN0
YW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1QkExNUVCMTgyMzQwQjQwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25u
ZWN0aW9uLmggKi87IH07CisJCUE1QkExNUVDMTgyMzQwQjQwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUU1MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSAqLzsgfTsKKwkJQTVCQTE1RUQxODIzNDBCNDAw
QTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUU2MTgyMzQwQjMwMEE4MkU2OSAv
KiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVCQTE1RUUxODIzNDBCNDAwQTgyRTY5IC8qIFJl
bW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUJBMTVFNzE4MjM0MEIzMDBBODJFNjkgLyogUmVtb3RlSW5z
cGVjdG9yWFBDQ29ubmVjdGlvbi5tbSAqLzsgfTsKKwkJQTVCQTE1RjAxODIzNDVBRjAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUVGMTgyMzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVDM0ExQTUxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUMzQTFBMzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50LmNwcCAqLzsgfTsKKwkJQTVDM0ExQTYxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVDM0ExQTQxOEMwNDkwMjAwQzk1OTNBIC8qIEpTR2xvYmFsT2JqZWN0Q29u
c29sZUNsaWVudC5oICovOyB9OworCQlBNUNFRUUxNDE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVj
dG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAqLzsgfTsK
KwkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVudmlyb25tZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUQwQTFCQTE4NjIz
MDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUQyRTY2NTE5NUUxNzQwMDBBNTE4RTcg
LyogSlNDb250ZXh0UmVmSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RDJFNjY0MTk1RTE3MzgwMEE1MThFNyAvKiBKU0NvbnRleHRSZWZJ
bnRlcm5hbC5oICovOyB9OworCQlBNUVBNzBFNzE5RjVCMTAxMDA5OEY1RUMgLyogQXVnbWVudGFi
bGVJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUVBNzBFNDE5RjVCMTAxMDA5OEY1RUMgLyogQXVnbWVudGFibGVJbnNw
ZWN0b3JDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTVFQTcwRTgxOUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVj
dG9yQ29udHJvbGxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVFQTcwRTUxOUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVj
dG9yQ29udHJvbGxlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE1RUE3MEU5MTlGNUIxMDEwMDk4RjVFQyAvKiBBbHRlcm5hdGVEaXNw
YXRjaGFibGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVFQTcwRTYxOUY1QjEwMTAwOThGNUVDIC8qIEFsdGVybmF0ZURpc3BhdGNoYWJsZUFn
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVFQTcwRUMxOUY1QjNFQTAwOThGNUVDIC8qIGdlbmVyYXRlX2NwcF9hbHRlcm5hdGVfYmFja2Vu
ZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RUE3MEVBMTlGNUIzRDUwMDk4RjVFQyAvKiBnZW5lcmF0ZV9jcHBfYWx0
ZXJuYXRlX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcwRUUxOUY1QjVDNDAwOThGNUVDIC8q
IEpTQ29udGV4dFJlZkluc3BlY3RvclN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEVEMTlGNUI1QzQwMDk4RjVFQyAvKiBKU0NvbnRl
eHRSZWZJbnNwZWN0b3JTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDMxOUY2REU2RjAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0
ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDQxOUY2REU3MjAwOThGNUVDIC8q
IGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFQTcwRjAxOUY2REU1
QTAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RUE3MTA1MTlGNkRFNzQwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25f
aGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVFQTcwRjExOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfY29uZmlndXJhdGlvbl9o
ZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTVFQTcxMDYxOUY2REU3NjAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfY29uZmlndXJhdGlv
bl9pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMDcxOUY2REU3ODAwOThGNUVDIC8qIGdlbmVyYXRl
X29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVFQTcwRjMxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfY29udmVyc2lvbl9oZWxwZXJzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUE1RUE3MTA4MTlGNkRFN0EwMDk4RjVFQyAvKiBnZW5lcmF0ZV9v
YmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUVBNzBGNDE5RjZERTVBMDA5OEY1RUMg
LyogZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RUE3MTA5
MTlGNkRFN0MwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weSBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MEY1MTlGNkRFNUEwMDk4RjVF
QyAvKiBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVBNzEwQTE5RjZERTdFMDA5OEY1RUMgLyogZ2VuZXJh
dGVfb2JqY19pbnRlcm5hbF9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUVBNzBGNjE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2Jq
Y19pbnRlcm5hbF9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVFQTcxMEMxOUY2REU4MjAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9y
LnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFQTcw
RjgxOUY2REU1QTAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9yLnB5ICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RUE3MTBFMTlGNkRGODEwMDk4RjVF
QyAvKiBJbnNwZWN0b3JBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUE3MTBEMTlGNkRGODEwMDk4RjVF
QyAvKiBJbnNwZWN0b3JBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNDFBMUQ0M0Y2MDA3
MDJFOTAgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEMTFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVFRjlCMTUx
QTFENDNGQTAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDNEY0QjZEMjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0
Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNjFBMUQ0NDAwMDA3MDJFOTAgLyogZ2VuZXJhdGVfY3Bw
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDMxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRl
X2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUVGOUIxNzFBMUQ0NDAzMDA3MDJFOTAgLyog
Z2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZENDFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRp
b24ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVFRjlCMTgxQTFENDQwNjAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19o
ZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NEY0QjZENTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hl
YWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUVGOUIxOTFBMUQ0NDA3MDA3MDJFOTAgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVz
X2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzRGNEI2RDYxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9wcm90b2Nv
bF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJn
dW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovOyB9Owor
CQlBNUZEMDA2ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2NjE4OUFGRTlDMDA2
MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsK
KwkJQTVGRDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkExODlCMDBBOTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDZGMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVGRDAwNkIxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07
CisJCUE1RkQwMDcwMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDZDMTg5QjAwQUEw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29s
ZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA3MTE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzUxODlCMDM4QzAwNjMz
MjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50
aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc5
MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuY3BwICovOyB9OworCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDdEMTg5
QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdCMTg5QjBCNEMwMDYzMzIz
MSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwN0UxODlCMEI0
QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBT
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cCAqLzsgfTsKKwkJQTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVG
RDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDg1MTg5QjFC
N0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MzE4OUIxQjdFMDA2MzMy
MzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4NjE4
OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDg0MTg5QjFCN0UwMDYz
MzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oICovOyB9OworCQlBNzAwODczOTE3
Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1h
cENvbnN0cnVjdG9yLmNwcCAqLzsgfTsKKwkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQzIC8qIE1h
cENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzAwODczODE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLzsgfTsK
KwkJQTcwMDg3M0QxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczQjE3Q0JFOEQzMDBD
M0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJQTcwMDg3M0UxN0NCRThEMzAwQzNF
NjQzIC8qIE1hcFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTcwMDg3M0MxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5oICov
OyB9OworCQlBNzAwODc0MTE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwMDg3M0YxN0NCRThFQjAwQzNF
NjQzIC8qIEpTTWFwLmNwcCAqLzsgfTsKKwkJQTcwMDg3NDIxN0NCRThFQjAwQzNFNjQzIC8qIEpT
TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAw
ODc0MDE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0NDdFQTE3QTBCRDQ2MDBGNTg5OEUgLyogT3Bl
cmFuZHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwNDQ3RUQxN0Ew
QkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDQ0N0VCMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29u
dGV4dC5jcHAgKi87IH07CisJCUE3MDQ0N0VFMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwNDQ3
RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwNEQ5MDMxN0EwQkFBODAwNkJBNTU0IC8q
IERGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MDREOEZFMTdBMEJBQTgwMDZCQTU1NCAvKiBERkdBYnN0cmFjdElu
dGVycHJldGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQTcwNEQ5MDQxN0EwQkFBODAwNkJBNTU0IC8qIERGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzA0RDhGRjE3QTBCQUE4MDA2QkE1NTQgLyogREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0
RDkwNTE3QTBCQUE4MDA2QkE1NTQgLyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwNEQ5MDAxN0EwQkFB
ODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcCAqLzsgfTsKKwkJQTcwNEQ5
MDYxN0EwQkFBODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzA0RDkwMTE3QTBCQUE4MDA2
QkE1NTQgLyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzA0RDkwNzE3QTBCQUE4MDA2QkE1NTQgLyog
REZHTWVyZ2VNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzA0RDkwMjE3QTBCQUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTcwOUYyRjAxN0EwQUMw
NDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTcwOUYyRUYxN0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2Fs
bC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
MDlGMkYyMTdBMEFDMkEwMDUxMkU5OCAvKiBDb21tb25TbG93UGF0aHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwOUYyRjExN0EwQUMyQTAwNTEy
RTk4IC8qIENvbW1vblNsb3dQYXRocy5jcHAgKi87IH07CisJCUE3MTIzNkU1MTE5NUYzM0MwMEJE
MjE3NCAvKiBKSVRPcGNvZGVzMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTcxMjM2RTQxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9wY29kZXMz
Ml82NC5jcHAgKi87IH07CisJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVu
bmVyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTcyMDI4QjQxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5jcHAgKi87
IH07CisJCUE3MjAyOEI4MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjAyOEI1MTc5
NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzIwMjhCQTE3OTc2MDNEMDA5ODAyOEMg
LyogSlNGdW5jdGlvbklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MjAyOEI5MTc5NzYwM0QwMDk4MDI4QyAvKiBKU0Z1bmN0aW9uSW5saW5l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
MjcwMDkwMERBQzZCQkMwMEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjcwMDc4MERBQzYwNTYwMEU1NDhE
NyAvKiBKU05vdEFuT2JqZWN0LmNwcCAqLzsgfTsKKwkJQTcyNzAxQjkwREFERTk0OTAwRTU0OEQ3
IC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MjcwMUIzMERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggKi87IH07CisJCUE3MjgwQTI4MTE1NTdFMzAwMEQ1Njk1NyAvKiBKU09iamVjdFJlZlByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OUVE
QjA4MTE1MzFDRDYwMDE5RTkxMiAvKiBKU09iamVjdFJlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNzI5MDA5QzE3OTc2QzYwMDAz
MTcyOTggLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzI5MDA5QjE3OTc2QzYwMDAzMTcyOTggLyogTWFjcm9B
c3NlbWJsZXJBUk12Ny5jcHAgKi87IH07CisJCUE3Mjk5RDlEMTdEMTI4MzcwMDVGNUZGOSAvKiBK
U1NldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzI5OUQ5QjE3RDEyODM3MDA1RjVGRjkgLyogSlNTZXQuY3BwICovOyB9OworCQlBNzI5OUQ5RTE3
RDEyODM3MDA1RjVGRjkgLyogSlNTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3Mjk5REExMTdE
MTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcyOTlEOUYxN0QxMjg0ODAwNUY1RkY5IC8qIFNldFBy
b3RvdHlwZS5jcHAgKi87IH07CisJCUE3Mjk5REEyMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
Mjk5REEwMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5cGUuaCAqLzsgfTsKKwkJQTcyOTlE
QTUxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAv
KiBTZXRDb25zdHJ1Y3Rvci5jcHAgKi87IH07CisJCUE3Mjk5REE2MTdEMTI4NTgwMDVGNUZGOSAv
KiBTZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTcyOTlEQTQxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmggKi87
IH07CisJCUE3MkZGRDY0MTM5OTg1QTgwMEU1MzY1QSAvKiBLZXl3b3JkTG9va3VwLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0MyMjVDRDEzOTk4NDlD
MDBGRjE2NjIgLyogS2V5d29yZExvb2t1cC5oICovOyB9OworCQlBNzMwQjYxMjEyNTAwNjhGMDA5
RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzBCNjEwMTI1MDA2OEYwMDlEMjVCMSAvKiBTdHJpY3RF
dmFsQWN0aXZhdGlvbi5oICovOyB9OworCQlBNzMwQjYxMzEyNTAwNjhGMDA5RDI1QjEgLyogU3Ry
aWN0RXZhbEFjdGl2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTczMEI2MTExMjUwMDY4RjAwOUQyNUIxIC8qIFN0cmljdEV2YWxBY3RpdmF0
aW9uLmNwcCAqLzsgfTsKKwkJQTczMUIyNUExMzAwOTM4ODAwNDBBN0ZBIC8qIEZvdW5kYXRpb24u
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9
OworCQlBNzM3ODEwQzE3OTlFQTJFMDA4MTc1MzMgLyogREZHQW5hbHlzaXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mzc4MTA5MTc5OUVBMkUwMDgx
NzUzMyAvKiBERkdBbmFseXNpcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3Mzc4MTBEMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9v
cHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcz
NzgxMEExNzk5RUEyRTAwODE3NTMzIC8qIERGR05hdHVyYWxMb29wcy5jcHAgKi87IH07CisJCUE3
Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Mzc4MTBCMTc5OUVBMkUwMDgxNzUz
MyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNzM4NjU1NDExODY5N0I0MDA1NDAyNzkgLyogU3BlY2lhbGl6ZWRU
aHVua0pJVC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTczODY1NTExMTg2OTdCNDAwNTQwMjc5IC8qIFNwZWNpYWxpemVkVGh1bmtKSVQuaCAqLzsgfTsK
KwkJQTczODY1NTUxMTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM4NjU1MjExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCAqLzsgfTsKKwkJQTczODY1NTYxMTg2OTdC
NDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTczODY1NTMxMTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2Vu
ZXJhdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUE3M0E1MzVBMTc5OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzNBNTM1ODE3OTlDRDVE
MDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwICovOyB9OworCQlBNzNBNTM1QjE3OTlDRDVE
MDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3M0E1MzU5MTc5OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNW
YWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE3NDEwMTdGMTc5REFGODAwMDJFQjhCQSAvKiBERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93UGF0
aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc0MTAxN0UxNzlEQUY4MDAwMkVCOEJBIC8qIERGR1NhbmVTdHJpbmdHZXRCeVZhbFNsb3dQ
YXRoR2VuZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTc0ODJCOTMxMTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NDgyQjc5MTE2NkNERUEwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc0ODJCOTQx
MTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0ODJCN0ExMTY2Q0RFQTAw
M0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwICovOyB9OworCQlBNzQ4MkU5
MzExNkE3Q0FEMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDgyRTM3MTE2QTY5N0Iw
MDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3NERFRjkzMTgyRDk5MTQwMDUyMkMy
MiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY4RDE4MkQ5OTE0MDA1MjJDMjIgLyogTWFwSXRlcmF0
b3JQcm90b3R5cGUuY3BwICovOyB9OworCQlBNzRERUY5NDE4MkQ5OTE0MDA1MjJDMjIgLyogTWFw
SXRlcmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3NERFRjhFMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlw
ZS5oICovOyB9OworCQlBNzRERUY5NTE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY4
RjE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5jcHAgKi87IH07CisJCUE3NERFRjk2
MTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzRERUY5MDE4MkQ5OTE0MDA1MjJDMjIgLyogSlNN
YXBJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3NTcwNkRFMTE4QTJCQ0YwMDU3Rjg4RiAvKiBKSVRBcml0aG1ldGljMzJfNjQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1NzA2REQx
MThBMkJDRjAwNTdGODhGIC8qIEpJVEFyaXRobWV0aWMzMl82NC5jcHAgKi87IH07CisJCUE3NUVF
OUIyMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBC
dWlsdGluTmFtZXMuaCAqLzsgfTsKKwkJQTc2NkI0NEYwRUU4RENEMTAwOTUxOENBIC8qIEV4ZWN1
dGFibGVBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3QjQ4REI1MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc2N0I1
QjUxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NjdCNUIzMTdB
MEI5NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi87IH07
CisJCUE3NjdCNUI2MTdBMEI5NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25Q
aGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc2
N0I1QjQxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc2QzUx
NzYxMTgyNzQ4RDAwNzE1QjA1IC8qIEpTSW50ZXJmYWNlSklULmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzZDNTE3NDExODI3NDhEMDA3MTVCMDUgLyog
SlNJbnRlcmZhY2VKSVQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBNzZGMjc5NDE1RjEzQzk2MDA1MTdENjcgLyogVW5saW5rZWRDb2RlQmxvY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5RTc4
MUUxNUVFQ0JBODAwNDdDODU1IC8qIFVubGlua2VkQ29kZUJsb2NrLmNwcCAqLzsgfTsKKwkJQTc2
RjU0QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc2RjU0QTIxM0IyOEFBQjAwRUYyQkNF
IC8qIEpJVFdyaXRlQmFycmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3N0E0MjNEMTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhl
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3
QTQyMzYxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgKi87IH07CisJCUE3
N0E0MjNFMTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjM3MTdBMEJCRkQwMEE4REI4
MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNzdBNDIzRjE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xvYmJlcml6
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzdB
NDIzODE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xvYmJlcml6ZS5jcHAgKi87IH07CisJCUE3N0E0
MjQwMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzdBNDIzOTE3QTBCQkZEMDBBOERCODEgLyog
REZHQ2xvYmJlcml6ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE3N0E0MjQxMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNBMTdB
MEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCAqLzsgfTsKKwkJQTc3QTQyNDIxN0Ew
QkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNCMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9i
YmVyU2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTc3QTQyNDMxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3N0E0MjNDMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdTYWZlVG9FeGVjdXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc3RjE4MjExNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVD
YWNoZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzdGMTgxRjE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCAqLzsgfTsKKwkJQTc3RjE4
MjIxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3RjE4MjAxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVD
YWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3RjE4MjQxNjQxOTI1NDAwNjQwQTQ3
IC8qIFBhcnNlck1vZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QTdFRTc0MTFCOThC
OEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NEEyNjQxMUQxNjYyMjAwNTc3NkFDIC8qIFN5bnRheENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
QTdFRTc3MTFCOThCOEQwMDY1QTE0RiAvKiBTeW50YXhDaGVja2VyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NTA3RDcxN0NCQzZGRDAwMTFG
NkU3IC8qIE1hcERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3ODUwN0Q1MTdDQkM2RkQwMDExRjZFNyAvKiBNYXBEYXRhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4NUY2QkMxOEM1NTNGRTAw
RjEwNjI2IC8qIFNwaWxsUmVnaXN0ZXJzTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGRjY0N0ExOEM1MkU4NTAwQjU1MzA3IC8qIFNwaWxsUmVn
aXN0ZXJzTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3ODg1M0Y5MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWlu
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3ODg1
M0Y3MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCAqLzsgfTsK
KwkJQTc4ODUzRkExNzk3MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3ODg1M0Y4MTc5
NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4QTk3NzQxNzk3MzhCODAwOURG
NzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc2QzE3OTczOEI4MDA5REY3NDQgLyogREZHRmFpbGVk
RmluYWxpemVyLmNwcCAqLzsgfTsKKwkJQTc4QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0Zh
aWxlZEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oICov
OyB9OworCQlBNzhBOTc3NjE3OTczOEI4MDA5REY3NDQgLyogREZHRmluYWxpemVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEE5NzZFMTc5NzM4
QjgwMDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuY3BwICovOyB9OworCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc2RjE3OTczOEI4MDA5REY3NDQgLyogREZHRmluYWxpemVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTc4
QTk3NzgxNzk3MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc3MDE3OTczOEI4MDA5REY3
NDQgLyogREZHSklURmluYWxpemVyLmNwcCAqLzsgfTsKKwkJQTc4QTk3NzkxNzk3MzhCODAwOURG
NzQ0IC8qIERGR0pJVEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc4QTk3NzExNzk3MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXpl
ci5oICovOyB9OworCQlBNzhBOTc3QTE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhBOTc3MjE3OTcz
OEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgKi87IH07CisJCUE3OEE5NzdCMTc5NzM4QjgwMDlE
Rjc0NCAvKiBERkdQbGFuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzhBOTc3MzE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3OEE5NzdGMTc5NzM4RDUw
MDlERjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4QTk3N0MxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEdl
bmVyYXRlZEZ1bmN0aW9uLmggKi87IH07CisJCUE3OEE5NzgwMTc5NzM4RDUwMDlERjc0NCAvKiBG
VExKSVRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc4QTk3N0QxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAg
Ki87IH07CisJCUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEE5NzdFMTc5
NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAqLzsgfTsKKwkJQTc5MERENkQxODJG
NDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OTBERDY3MTgyRjQ5OTcwMDU4ODgwNyAv
KiBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CisJCUE3OTBERDZFMTgyRjQ5OTcwMDU4
ODgwNyAvKiBTZXRJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5MERENjgxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJh
dG9yUHJvdG90eXBlLmggKi87IH07CisJCUE3OTBERDZGMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1Nl
dEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3OTBERDY5MTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCAqLzsgfTsK
KwkJQTc5MERENzAxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OTBERDZBMTgyRjQ5OTcwMDU4
ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTc5ODZENTcxN0EwQkIxRTAwQTk1REQwIC8qIERGR0VkZ2VVc2Vz
U3RydWN0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzk4NkQ1NjE3QTBCQjFFMDBBOTVERDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E0QUUwODE3
OTczQjI2MDA1NjEyQjEgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBNEFFMDcxNzk3M0IyNjAwNTYx
MkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLzsgfTsKKwkJQTdBNEFFMTAxNzk3
M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E0QUUwQzE3OTczQjREMDA1NjEyQjEgLyogSklU
U3R1YnNYODZDb21tb24uaCAqLzsgfTsKKwkJQTdBOEFGMzQxN0FEQjVGMzAwNUFCMTc0IC8qIEFy
cmF5QnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3QThBRjI1MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5jcHAgKi87IH07CisJ
CUE3QThBRjM1MTdBREI1RjMwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0
IC8qIEFycmF5QnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQTdBOEFGMzYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyVmlldy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYy
NzE3QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmNwcCAqLzsgfTsKKwkJQTdBOEFG
MzcxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBOEFGMjgxN0FEQjVGMzAwNUFCMTc0IC8q
IEFycmF5QnVmZmVyVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUE3QThBRjM4MTdBREI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QThBRjI5MTdB
REI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E4QUYzOTE3QURCNUYzMDA1QUIxNzQgLyogRmxv
YXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0E4QUYyQTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdBOEFGM0ExN0FEQjVGMzAw
NUFCMTc0IC8qIEludDhBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdBOEFGMkIxN0FEQjVGMzAwNUFCMTc0IC8qIEludDhBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QThBRjNCMTdB
REI1RjMwMDVBQjE3NCAvKiBJbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50MTZBcnJh
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
QThBRjNDMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYyRDE3QURCNUYzMDA1QUIxNzQgLyog
SW50MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUE3QThBRjNGMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E4QUYzMDE3QURCNUYzMDA1
QUIxNzQgLyogVWludDhBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRB
cnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdB
OEFGMzExN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdBOEFGNDExN0FEQjVGMzAw
NUFCMTc0IC8qIFVpbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBN0E4QUYzMjE3QURCNUYzMDA1QUIxNzQgLyogVWludDE2QXJyYXkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0E4QUY0
MjE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QThBRjMzMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50
MzJBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUE3QjQ4RjQ5MEVFODkzNkYwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QjQ4REI2MEVF
NzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCAqLzsgfTsKKwkJQTdCNEFD
QUYxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0I0QUNBRTE0ODRDOUNFMDBCMzhBMzYgLyog
SlNFeHBvcnRNYWNyb3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBN0I2MDE4MjE2MzlGRDJBMDAzNzJCQTMgLyogVW5saW5rZWRDb2RlQmxvY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OUU3ODFG
MTVFRUNCQTgwMDQ3Qzg1NSAvKiBVbmxpbmtlZENvZGVCbG9jay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QkRBRUM4MTdGNEVBMTQwMEY2MTQw
QyAvKiBBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkRBRUMyMTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0
ZXJhdG9yUHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJQTdCREFFQzkxN0Y0RUExNDAwRjYxNDBDIC8q
IEFycmF5SXRlcmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3QkRBRUMzMTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9y
UHJvdG90eXBlLmggKi87IH07CisJCUE3QkRBRUNBMTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5
SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTdCREFFQzQxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5jcHAgKi87IH07
CisJCUE3QkRBRUNCMTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkRBRUM1MTdGNEVBMTQw
MEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAqLzsgfTsKKwkJQTdCRkYzQzAxNzk4Njg5NDAw
MDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkZGM0JGMTc5ODY4OTQwMDAyRjQ2MiAvKiBERkdGaWx0
cmF0aW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTdDMEM0QUMxNjgxMDMwMjAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDMEM0QUIx
NjdDMDhDRDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QzBDNEFEMTY4MTA2N0UwMDE3MDEx
RCAvKiBKU1NjcmlwdFJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0MwQzRBQTE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWYuY3BwICov
OyB9OworCQlBN0MxRThFNDExMkU3MkVGMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82
NC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Mx
RThDODExMkU3MDFDMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgKi87IH07
CisJCUE3QzFFQUVGMTc5ODdBQjYwMDI5OURCMiAvKiBDYWxsRnJhbWVJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0MxRUFFQTE3OTg3QUI2
MDAyOTlEQjIgLyogQ2FsbEZyYW1lSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3QzFFQUYwMTc5ODdBQjYwMDI5OURCMiAvKiBKU1N0
YWNrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTdDMUVBRUIxNzk4N0FCNjAwMjk5REIyIC8qIEpTU3RhY2tJbmxpbmVzLmggKi87IH07CisJ
CUE3QzFFQUYxMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDMUVBRUMxNzk4N0FCNjAwMjk5
REIyIC8qIFN0YWNrVmlzaXRvci5jcHAgKi87IH07CisJCUE3QzFFQUYyMTc5ODdBQjYwMDI5OURC
MiAvKiBTdGFja1Zpc2l0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3QzFFQUVEMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0NBM0FFMzE3
REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUREMTdEQTQxQUUwMDY1MzhBRiAv
KiBXZWFrTWFwQ29uc3RydWN0b3IuY3BwICovOyB9OworCQlBN0NBM0FFNDE3REE0MUFFMDA2NTM4
QUYgLyogV2Vha01hcENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBN0NBM0FERTE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcENvbnN0
cnVjdG9yLmggKi87IH07CisJCUE3Q0EzQUU1MTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwUHJv
dG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwUHJvdG90eXBlLmNwcCAqLzsgfTsK
KwkJQTdDQTNBRTYxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUUwMTdEQTQxQUUw
MDY1MzhBRiAvKiBXZWFrTWFwUHJvdG90eXBlLmggKi87IH07CisJCUE3Q0EzQUU3MTdEQTQxQUUw
MDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTdDQTNBRTExN0RBNDFBRTAwNjUzOEFGIC8qIEpTV2Vha01hcC5jcHAg
Ki87IH07CisJCUE3Q0EzQUU4MTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0EzQUUyMTdEQTQxQUUw
MDY1MzhBRiAvKiBKU1dlYWtNYXAuaCAqLzsgfTsKKwkJQTdDQTNBRUIxN0RBNTE2ODAwNjUzOEFG
IC8qIFdlYWtNYXBEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3Q0EzQUU5MTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5jcHAgKi87
IH07CisJCUE3Q0EzQUVDMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDQTNBRUExN0RBNTE2ODAw
NjUzOEFGIC8qIFdlYWtNYXBEYXRhLmggKi87IH07CisJCUE3RDgwMUE0MTg4MEQ2NkUwMDI2QzM5
QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdEODAxQTExODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVj
dXRhYmxlcy5jcHAgKi87IH07CisJCUE3RDgwMUE1MTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGlu
RXhlY3V0YWJsZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3RDgwMUEyMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4MDFBODE4
ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1
aWx0aW5zLmNwcCAqLzsgfTsKKwkJQTdEODAxQTkxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0
aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4
MDFBNzE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuaCAqLzsgfTsKKwkJQTdEODlDRjIx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jhc2ljQmxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlDRTMxN0EwQjhDQzAwNzczQUQ4IC8qIERG
R0Jhc2ljQmxvY2suY3BwICovOyB9OworCQlBN0Q4OUNGMzE3QTBCOENDMDA3NzNBRDggLyogREZH
QmxvY2tJbnNlcnRpb25TZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdEODlDRTQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5zZXJ0aW9u
U2V0LmNwcCAqLzsgfTsKKwkJQTdEODlDRjQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5z
ZXJ0aW9uU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0Q4OUNFNTE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4OUNGNTE3
QTBCOENDMDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFNjE3QTBCOEND
MDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHAgKi87IH07CisJCUE3
RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFNzE3
QTBCOENDMDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0Y3MTdBMEI4
Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1
c2hGb3JtYXQuY3BwICovOyB9OworCQlBN0Q4OUNGODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1
c2hGb3JtYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3RDg5Q0U5MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0ZCMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlDRUMxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAgKi87IH07CisJCUE3RDg5Q0ZDMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDg5Q0VEMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBN0Q4OUNGRDE3QTBCOENDMDA3NzNBRDggLyogREZHT1NSQXZh
aWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFRTE3QTBCOENDMDA3NzNBRDggLyogREZHT1NSQXZhaWxh
YmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAgKi87IH07CisJCUE3RDg5Q0ZFMTdBMEI4Q0MwMDc3M0FE
OCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4OUNFRjE3QTBCOENDMDA3NzNBRDggLyog
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDg5Q0ZGMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdTU0FDb252ZXJzaW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTdEODlDRjAxN0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNp
b25QaGFzZS5jcHAgKi87IH07CisJCUE3RDg5RDAwMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FD
b252ZXJzaW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3RDg5Q0YxMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q4
OUQwMjE3QTBCOTA0MDA3NzNBRDggLyogRlRMTG93ZXJlZE5vZGVWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODlEMDExN0EwQjkwNDAwNzcz
QUQ4IC8qIEZUTExvd2VyZWROb2RlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Q5QTI5NDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRU
YWlsQWJzdHJhY3RTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0Q5QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RT
dGF0ZS5jcHAgKi87IH07CisJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdBdFRhaWxB
YnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBN0Q5QTI5MDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3RDlB
Mjk2MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdFZGdlRG9taW5hdGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q5QTI5MTE3QTBCQzc0MDBFRTI2MTgg
LyogREZHRWRnZURvbWluYXRlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUE3RDlBMjk3MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEOUEy
OTIxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5jcHAgKi87IH07CisJCUE3RDlBMjk4
MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDlBMjkzMTdBMEJDNzQwMEVFMjYxOCAvKiBERkdM
SUNNUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlBN0RDQjk3MzEyRTUxOTNGMDA5MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0RDQjc3OTEyRTNEOTA1MDA5
MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTdFMkVBNkIwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJz
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTJF
QTY5MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmggKi87IH07CisJCUE3RTJFQTZD
MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTJFQTZBMEZCNDYwQ0YwMDYwMUYwNiAvKiBM
aXRlcmFsUGFyc2VyLmNwcCAqLzsgfTsKKwkJQTdFNUEzQTcxNzk3NDMyRDAwRTg5M0MwIC8qIENv
bXBpbGF0aW9uUmVzdWx0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3RTVBM0E1MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5j
cHAgKi87IH07CisJCUE3RTVBM0E4MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3Vs
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdFNUEz
QTYxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdFNUFCMzcxNzk5RTRCMjAwRDI4
MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdFNUFCMzMxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3Nl
bWJsZXIuY3BwICovOyB9OworCQlBN0U1QUIzODE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fz
c2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0U1QUIzOTE3OTlFNEIy
MDBEMjgzM0QgLyogVURpczg2RGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0U1QUIzNTE3OTlFNEIyMDBEMjgzM0QgLyogVURpczg2
RGlzYXNzZW1ibGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTdFNUFCM0ExNzk5RTRCMjAwRDI4MzNEIC8qIFg4NkRpc2Fzc2VtYmxlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0U1QUIzNjE3
OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJQTdGMjk5NkIx
N0EwQkI2NzAwMTA0MTdBIC8qIEZUTEZhaWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGMjk5NjkxN0EwQkI2NzAwMTA0MTdBIC8qIEZUTEZhaWwu
Y3BwICovOyB9OworCQlBN0YyOTk2QzE3QTBCQjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGMjk5NkExN0EwQkI2
NzAwMTA0MTdBIC8qIEZUTEZhaWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBN0Y5OTM1RjBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGOTkzNUQw
RkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0Y5OTM2MDBGRDczMjUxMDBBMEIyRDAgLyogSlNP
Tk9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0Y5OTM1RTBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5jcHAgKi87IH07CisJCUE3
RkI2MEE0MTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGQjYwQTMxMDNGN0RDMjAw
MTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgKi87IH07CisJCUE3RkI2MTAwMTA0MEMz
OEIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RkI2MDRCMTAzRjVFQUIwMDE3QTI4NiAvKiBQcm9w
ZXJ0eURlc2NyaXB0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlBN0ZDQzI2RDE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dpdGNoQ2FzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdGQ0MyNkMxN0Ew
QjZBQTAwNzg2RDFBIC8qIEZUTFN3aXRjaENhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBOEE0NzQ4RTE1MUE4MzA2MDA0MTIzRkYgLyogbGli
V1RGLmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEE0NzQ4RDE1MUE4MzA2MDA0MTIzRkYgLyogbGliV1RGLmEgKi87IH07CisJCUFEODZBOTNFMUFB
NEQ4OEQwMDJGRTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDg2QTkzRDFBQTREODdDMDAyRkU3N0YgLyogV2Vh
a0dDTWFwSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUFEREIxRjYzMThENzdEQkUwMDlCNThBOCAvKiBPcGFxdWVSb290U2V0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRERCMUY2MjE4RDc3
REI3MDA5QjU4QTggLyogT3BhcXVlUm9vdFNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUFERTM5RkZGMTZERDE0NEIwMDAzQ0Q0QSAvKiBQcm9w
ZXJ0eVRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFEMUNGMDY4MTZEQ0FCMkQwMEI5NzEyMyAvKiBQcm9wZXJ0eVRhYmxlLmNwcCAqLzsgfTsK
KwkJQjU5Rjg5MzkxODkxRjI5RjAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU5Rjg5
MzgxODkxQURCNTAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3BwICovOyB9
OworCQlCQzAyRTkwRDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMkU5MDUwRTE4MzlE
QjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMwMkU5MEYwRTE4MzlE
QjAwMEY5Mjk3IC8qIEVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwNzBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90
b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlCQzAyRTkxMTBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMkU5MDkwRTE4
MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMwMkU5
MTMwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwQjBFMTgzOURCMDAwRjky
OTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuaCAqLzsgfTsKKwkJQkMwMkU5OEQwRTE4M0UzODAw
MEY5Mjk3IC8qIEVycm9ySW5zdGFuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMDJFOThCMEUxODNFMzgwMDBGOTI5NyAvKiBFcnJvckluc3RhbmNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMx
MTY2MDIwRTE5OTdCNDAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMTY2MDEwRTE5OTdCMTAwODA2NkREIC8q
IERhdGVJbnN0YW5jZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUJDMTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzExNjY3QTBF
MTk5QzA1MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMTE2N0RBMEUxOUJDQzkwMDgwNjZERCAv
KiBKU0NlbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMTE2N0Q4MEUxOUJDQzkwMDgwNjZERCAvKiBKU0NlbGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFNTBFMTZGNUNEMDBCMzQ0NjAg
LyogQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTQ4MkI3OEEwQTQzMDVBQjAwNTE3Q0ZDIC8qIEFQSUNhc3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFNjBFMTZGNUNEMDBCMzQ0
NjAgLyogQXJyYXlDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM3OTUyMDcwRTE1RThBODAwQTg5OEFCIC8qIEFycmF5Q29uc3RydWN0
b3IuaCAqLzsgfTsKKwkJQkMxOEMzRTcwRTE2RjVDRDAwQjM0NDYwIC8qIEFycmF5UHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg0
RTAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFQzBFMTZGNUNEMDBCMzQ0NjAg
LyogQm9vbGVhbk9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzA0RkQzNTMwNTY5N0U2RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzNFRDBF
MTZGNUNEMDBCMzQ0NjAgLyogQ2FsbERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUM1MDdGMEQ5REY2M0IwMDg4RjZCOSAvKiBDYWxsRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThD
M0YzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBDb21tb25JZGVudGlmaWVycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVFQTczNjMwQkFFMzVEMTAwMUJCNTYw
IC8qIENvbW1vbklkZW50aWZpZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRjQwRTE2RjVDRDAwQjM0NDYwIC8qIENvbXBsZXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QkIyQkM1
MDMwRjc3MjEwMUZDRkUxRCAvKiBDb21wbGV0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRjUwRTE2RjVDRDAwQjM0NDYwIC8qIGNv
bmZpZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY4
RUJCOEMwMjU1RDRDNjAxRkY2MEY3IC8qIGNvbmZpZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDM0Y2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBD
b25zdHJ1Y3REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAgLyogQ29uc3RydWN0RGF0YS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDM0ZBMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBEZWJ1Z2dlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERlYnVnZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEMzRkIw
RTE2RjVDRDAwQjM0NDYwIC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgwREI5QjBEREMyMjdGMDAzQ0ZERjIgLyog
RGVidWdnZXJDYWxsRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlCQzE4QzQwMDBFMTZGNUNEMDBCMzQ0NjAgLyogRXhjZXB0aW9uSGVscGVy
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcyNzAx
QjMwREFERTk0OTAwRTU0OEQ3IC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQwNDBFMTZGNUNEMDBCMzQ0
NjAgLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzEwRTE2RDRFOTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29u
c3RydWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlCQzE4QzQwNTBFMTZGNUNEMDBCMzQ0NjAgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODVEMDI1NTU5
N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDBGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzNBMzQ5QTAzOEFFN0M2MDA4NjM1Q0UgLyogSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDEwMEUxNkY1Q0QwMEIz
NDQ2MCAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6
ZVRocmVhZGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUJDMThDNDEzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FBOEI0QTBEMzJDMzlBMDA0
MUJDRkYgLyogSmF2YVNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKKwkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8qIEphdmFTY3JpcHRDb3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FBOEI0
QjBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdENvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMThDNDE1MEUxNkY1Q0QwMEIzNDQ2MCAv
KiBKYXZhU2NyaXB0Q29yZVByZWZpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjVDMjkwRTYwMjg0Rjk4RTAxODYzNUNBIC8qIEphdmFTY3JpcHRDb3Jl
UHJlZml4LmggKi87IH07CisJCUJDMThDNDE2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0xleGljYWxF
bnZpcm9ubWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTREQTgxOEUwRDk5RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQkMxOEM0MTcwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzODc3MkU1MDM4QkZFMTkwMDg2MzVDRSAvKiBKU0FycmF5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MTgwRTE2RjVD
RDAwQjM0NDYwIC8qIEpTQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQyNzExMzgwQTQ2MEJCQjAwODBFRUVBIC8qIEpTQmFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0MTkwRTE2RjVD
RDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEY4QUMwQTUwOEQyMDAwMDVGMDYxIC8qIEpT
Q2FsbGJhY2tDb25zdHJ1Y3Rvci5oICovOyB9OworCQlCQzE4QzQxQTBFMTZGNUNEMDBCMzQ0NjAg
LyogSlNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNDQwRjg4RjBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0
aW9uLmggKi87IH07CisJCUJDMThDNDFCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0NhbGxiYWNrT2Jq
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEFC
REY1RDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5oICovOyB9OworCQlCQzE4
QzQxQzBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFODk0MzEwQ0QwNjAy
NDAwMzY3MTc5IC8qIEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCAqLzsgfTsKKwkJQkMxOEM0
MUQwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ2xhc3NSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDBGQ0UxMEE1MUU0NkIwMDA1RjA2MSAvKiBKU0Ns
YXNzUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQkMxOEM0MUUwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ29udGV4dFJlZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCRDVBMkEwQTNFOTFGNjAwQkFG
NTlDIC8qIEpTQ29udGV4dFJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKKwkJQkMxOEM0MUYwRTE2RjVDRDAwQjM0NDYwIC8qIEpTRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODVGMDI1
NTU5N0QwMUZGNjBGNyAvKiBKU0Z1bmN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MjAwRTE2RjVDRDAwQjM0NDYwIC8qIFZNLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFM0E1NjBE
RjkyNzhDMDBEOTBCMzQgLyogVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlCQzE4QzQyMTBFMTZGNUNEMDBCMzQ0NjAgLyogSlNHbG9iYWxPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RTg5
NDMzMENEMDYwM0YwMDM2NzE3OSAvKiBKU0dsb2JhbE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDIzMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBKU0xvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1RUE0QzlBMDkyQUY5RTIwMDkzRDgwMCAvKiBKU0xvY2suaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQyNDBFMTZGNUNEMDBCMzQ0
NjAgLyogSlNPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDMjJBMzk5MEUxNkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDI1MEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBKU09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTQ4MkI3RTEwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OworCQlCQzE4QzQy
NjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QzE4RDNFMEM5MEU3RUYwMEU3MkY3MyAvKiBKU1Jl
dGFpblB0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDI3MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NjIwMjU1NTk3RDAxRkY2MEY3
IC8qIEpTU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQkMxOEM0MjgwRTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nUmVmLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjc0QjBBNDMwMzI4
MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CisJCUJDMThDNDI5MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZ1Jl
ZkNGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDZB
QUIyQTBCNjZBODQ5MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0MkEwRTE2RjVDRDAwQjM0NDYw
IC8qIEpTVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTRBQkI0NTQwOTlDMkEwRjAwRTJBMjRGIC8qIEpTVHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDJCMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBKU0NKU1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNEFCQjM2RTA5OUMwNzY0MDBFMkEyNEYgLyogSlNDSlNWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDJDMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBKU1ZhbHVlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjZFQTBBNDMwMEIzMDA1MTdDRkMgLyogSlNWYWx1ZVJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0
MkQwRTE2RjVDRDAwQjM0NDYwIC8qIEpTRW52aXJvbm1lbnRSZWNvcmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RjI1MjU2MEQwOEREOEQwMDRFQ0ZG
RiAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MkUwRTE2RjVDRDAwQjM0NDYwIC8qIEpTV3JhcHBl
ck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDMxMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBMZXhlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjY5MkE4NjYwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0MzcwRTE2RjVDRDAw
QjM0NDYwIC8qIExvb2t1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjY5MkE4NjkwMjU1NTk3RDAxRkY2MEY3IC8qIExvb2t1cC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDNDMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDNG
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8qIE5vZGVzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDEw
RTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyog
TnVtYmVyQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVj
dG9yLmx1dC5oICovOyB9OworCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2Jq
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjky
QTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDQwRTE2RjVDRDAwQjM0NDYw
IC8qIE51bWJlclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkMyNjgwQzUwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThD
NDQ1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBPYmplY3RDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzcwRTE2RDRFOTAwQTA2RTky
IC8qIE9iamVjdENvbnN0cnVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NDYwRTE2RjVDRDAwQjM0NDYwIC8qIE9iamVjdFByb3Rv
dHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwQzkwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDQ4MEUxNkY1Q0QwMEIz
NDQ2MCAvKiBPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDRCMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzRjBCM0FBMDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1MDBF
MTZGNUNEMDBCMzQ0NjAgLyogUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTU3NDJGNjQwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1
MTBFMTZGNUNEMDBCMzQ0NjAgLyogUHJvZmlsZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QUI4MzU1MERBNDNCNDQwMEJDODNGMyAvKiBQcm9m
aWxlTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDUyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBMZWdhY3lQcm9maWxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBQjgzMkYwREE0MkNBRDAw
QkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NTQwRTE2RjVDRDAwQjM0NDYwIC8qIFByb3BlcnR5
TmFtZUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTQwMEMxMDBBNjlCQUYyMDA1MDk4ODcgLyogUHJvcGVydHlOYW1lQXJyYXkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1NTBFMTZG
NUNEMDBCMzQ0NjAgLyogUHJvcGVydHlTbG90LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTYyMUU2QzA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlT
bG90LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QkMxOEM0NTYwRTE2RjVDRDAwQjM0NDYwIC8qIFByb3RlY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1QzAyRkJCMDYzNzQ2MkEwMDNFN0VFNiAvKiBQ
cm90ZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQkMxOEM0NUEwRTE2RjVDRDAwQjM0NDYwIC8qIFJlZ0V4cC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4N0UwMjU1NTk3RDAxRkY2MEY3IC8q
IFJlZ0V4cC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUJDMThDNDVCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBSZWdFeHBPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODdDMDI1NTU5N0QwMUZG
NjBGNyAvKiBSZWdFeHBPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlCQzE4QzQ1RDBFMTZGNUNEMDBCMzQ0NjAgLyogUmVnaXN0ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OUIyNEZGMEQ4
QUY2RDEwMDlDQjhDNyAvKiBSZWdpc3Rlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDVFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0YWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEQ3OTI2
NDBEQUEwM0ZCMDAxQTlGMDUgLyogSlNTdGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDYzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBTb3Vy
Y2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjVFODY2RUQwREQ1OUFGQTAwQTJCMkExIC8qIFNvdXJjZVByb3ZpZGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0NjQwRTE2RjVD
RDAwQjM0NDYwIC8qIFNvdXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1RTg2NkVFMERENTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VDb2RlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxOEM0
NjYwRTE2RjVDRDAwQjM0NDYwIC8qIFN0cmluZ0NvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE4QzNDMTBFMTZFRTMzMDBCMzQ0NjAg
LyogU3RyaW5nQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkMxOEM0NjgwRTE2RjVDRDAwQjM0NDYw
IC8qIFN0cmluZ09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMxOEMzQzMwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDMThDNDZBMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0M2MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJp
bmdQcm90b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlCQzE4QzQ2QjBFMTZGNUNEMDBCMzQ0NjAgLyogU3ltYm9sVGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0QTM5NkE2MENEMjkzMzEw
MEI1QjRGRiAvKiBTeW1ib2xUYWJsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUJDMThDNDdBMEUxNkY1Q0QwMEIzNDQ2MCAvKiBXZWJLaXRBdmFp
bGFiaWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVERTNEMEY0MEREOERERkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMThDNTI0MEUxNkZD
OEEwMEIzNDQ2MCAvKiBBcnJheVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDNTIzMEUxNkZDOEEwMEIzNDQ2MCAvKiBBcnJh
eVByb3RvdHlwZS5sdXQuaCAqLzsgfTsKKwkJQkMxOEM1MkUwRTE2RkNFMTAwQjM0NDYwIC8qIExl
eGVyLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkMxOEM1MkQwRTE2RkNFMTAwQjM0NDYwIC8qIExleGVyLmx1dC5oICovOyB9OworCQlCQzMwNDYw
NzBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzA0NjA2MEUxRjQ5N0YwMDMyMzJDRiAvKiBFcnJvci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDNkFBQUU1
MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNkFBQUU0MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0lu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlC
Qzc1NkZDOTBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzU2RkM3MEUyMDMx
QjIwMERFN0QxMiAvKiBKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oICovOyB9OworCQlCQzg3Q0RC
OTEwNzEyQUQ0MDAwNjE0Q0YgLyogSlNPTk9iamVjdC5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODdDREI4MTA3MTJBQ0EwMDA2MTRDRiAvKiBK
U09OT2JqZWN0Lmx1dC5oICovOyB9OworCQlCQzkwNDE0ODBFQjkyNTA5MDBGRTI2RkEgLyogU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzkwNDE0NzBFQjkyNTA5MDBGRTI2RkEgLyogU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQkM5NTQzN0QwRUJBNzBGRDAwNzJCNkQzIC8qIFByb3BlcnR5TWFwSGFzaFRhYmxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk1NDM3QzBF
QkE3MEZEMDA3MkI2RDMgLyogUHJvcGVydHlNYXBIYXNoVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQ0JFMkNBRTE0RTk4NUFBMDAwNTkz
QUQgLyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0JFMkNBRDE0RTk4NUFBMDAwNTkzQUQgLyogR0NBc3NlcnRpb25zLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkNDRjBEMDgw
RUYwQUFCOTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0NGMEQwNzBFRjBBQUI5MDA0MTNDOEYgLyog
U3RydWN0dXJlU3R1YkluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlCQ0NGMEQwQzBFRjBCOEE1MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1Yklu
Zm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkND
RjBEMEIwRUYwQjhBNTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmNwcCAqLzsgfTsKKwkJ
QkNEMjAyQzIwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cENvbnN0cnVjdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0QyMDJCRTBFMTcwNkE3MDAy
QzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkNEMjAyQzQwRTE3MDZBNzAw
MkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNEMjAyQzAwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cFByb3Rv
dHlwZS5oICovOyB9OworCQlCQ0QyMDJENjBFMTcwNzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3Ry
dWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0QyMDJENTBFMTcwNzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggKi87
IH07CisJCUJDRDIwMzRBMEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ2MEUxNzEz
NUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJQkNEMjAzNEMwRTE3MTM1
RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDIwMzQ4MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlUHJvdG90
eXBlLmggKi87IH07CisJCUJDRDIwM0U4MEUxNzE4RjQwMDJDN0U4MiAvKiBEYXRlUHJvdG90eXBl
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNE
MjAzRTcwRTE3MThGNDAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUubHV0LmggKi87IH07CisJCUJD
REQ1MUVCMEZCOERGNzQwMDRBOEJEQyAvKiBKSVRPcGNvZGVzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDREQ1MUU5MEZCOERGNzQwMDRBOEJEQyAv
KiBKSVRPcGNvZGVzLmNwcCAqLzsgfTsKKwkJQkNERTNBQjgwRTZDODJGNTAwMTQ1M0E3IC8qIFN0
cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNERTNBQjEwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDREUzQjQzMEU2QzgzMkQwMDE0NTNB
NyAvKiBTdHJ1Y3R1cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNERTNBQjAwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgKi87IH07
CisJCUJDRjYwNTE0MEUyMDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2MDUxMjBFMjAzRUY4MDBCOUE2NEQg
LyogQXJnTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGRDhDOTAwRUVCMkVFNzAw
MjgzODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi87IH07CisJCUJDRkQ4QzkzMEVFQjJFRTcwMDI4Mzg0
OCAvKiBKdW1wVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjAzMjgyMDE5ODE5NzlE
MDA4OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAzMjgxRTE5ODE5NzlEMDA4OEI0OTkg
LyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi87IH07CisJCUMyMEJBOTJEMTZCQjFD
MTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEJBOTJDMTZCQjFDMTUwMEIzQUVBMiAv
KiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDMjExMjJFMTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJl
YWRTaGFyZWREYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyMTEyMkRFMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEuY3Bw
ICovOyB9OworCQlDMjExMjJFMjE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjExMjJE
RjE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzIxNjBGRTcxNUY3RTk1RTAwOTQy
REZDIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9y
SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUMyMTgxRkMyMThBOTQ4RkIwMDI1QTIzNSAvKiBKU0V4cG9ydFRlc3RzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxODFGQzExOEE5NDhGQjAw
MjVBMjM1IC8qIEpTRXhwb3J0VGVzdHMubW0gKi87IH07CisJCUMyMThEMTQwMTY1NUNGRDUwMDYy
QkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMyMThEMTNGMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjIzOUQx
NzE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyMzlEMTIxNjI2MkJERDAwNUFDNUZEIC8qIENv
cHlWaXNpdG9yLmNwcCAqLzsgfTsKKwkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MjIzOUQxMzE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1
RkQgLyogQ29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMjIzOUQxNDE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3JJ
bmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQzIyMzlEMUExNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMjM5RDE1MTYyNjJCREQwMDVBQzVG
RCAvKiBHQ1RocmVhZC5jcHAgKi87IH07CisJCUMyMjM5RDFCMTYyNjJCREQwMDVBQzVGRCAvKiBH
Q1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzIyMzlEMTYxNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmggKi87IH07CisJCUMyMjU0OTQz
MTVGN0RCQUEwMDY1RTg5OCAvKiBTbG90VmlzaXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjI1NDk0MjE1RjdEQkFBMDA2NUU4OTggLyogU2xv
dFZpc2l0b3IuY3BwICovOyB9OworCQlDMjJCMzFCOTE0MDU3N0Q3MDBEQjQ3NUEgLyogU2FtcGxp
bmdDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjc3MDA4RTE0MDJGREQ2MDA3OEVCMzkgLyogU2FtcGxpbmdDb3VudGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzI0MDMwNTUxNEI0MDRF
NjAwNzlFQjY0IC8qIENvcGllZFNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDAzMDUzMTRCNDA0QzkwMDc5RUI2NCAvKiBDb3BpZWRTcGFj
ZS5jcHAgKi87IH07CisJCUMyNEQzMUUyMTYxQ0Q2OTUwMDJBQTREQiAvKiBIZWFwU3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjRE
MzFFMDE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuY3BwICovOyB9OworCQlDMjRE
MzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNEQzMUUxMTYxQ0Q2OTUwMDJBQTREQiAv
KiBIZWFwU3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMyNUQ3MDlCMTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNUQ3MDk5
MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5tbSAqLzsgfTsKKwkJQzI1RDcwOUMx
NkRFOTlGNDAwRkNBNkJDIC8qIEpTTWFuYWdlZFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjVENzA5QTE2REU5OUY0MDBGQ0E2QkMgLyogSlNN
YW5hZ2VkVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07
IH07CisJCUMyNUY4QkNEMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI1RjhCQ0Ix
NTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5jcHAgKi87IH07CisJCUMyNUY4
QkNFMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNUY4QkNDMTU3NTQ0QTkwMDI0NUI3
MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMjgzMTkwMDE2RkU0QjdEMDAxNTdCRkQgLyogSGFuZGxlQmxv
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyODMx
OEZGMTZGRTRCN0QwMDE1N0JGRCAvKiBIYW5kbGVCbG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyODMxOTAyMTZGRTUzM0UwMDE1N0JGRCAv
KiBIYW5kbGVCbG9ja0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMyODMxOTAxMTZGRTUzM0UwMDE1N0JGRCAvKiBIYW5kbGVCbG9ja0lubGlu
ZXMuaCAqLzsgfTsKKwkJQzI4OEIyREUxOEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyODhCMkREMThB
NTREM0UwMDdCRTQwQiAvKiBEYXRlVGVzdHMubW0gKi87IH07CisJCUMyOTgxRkQ4MTdCQUVFNEIw
MEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5ODFGRDYxN0JBRUU0QjAwQTNCQzk4IC8q
IERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAgKi87IH07CisJCUMyOTgxRkQ5MTdCQUVFNEIw
MEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyOTgxRkQ3MTdCQUVFNEIwMEEzQkM5OCAvKiBE
RkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMjk4MUZEQzE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJl
ZFdyaXRlQmFycmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzI5ODFGREExN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJp
ZXJzLmNwcCAqLzsgfTsKKwkJQzI5ODFGREQxN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRX
cml0ZUJhcnJpZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMjk4MUZEQjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjlF
Q0IwMzE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3Qu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjlFQ0Iw
MTE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3QubW0g
Ki87IH07CisJCUMyQTdGNjg4MTYwNDMyRDQwMEY3NkI5OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVj
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJBN0Y2
ODcxNjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJCNkQ3NTMxOEEzMzc5MzAw
NEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJh
cnJpZXJJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJCOTE2QzExNERB
MDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyQjkxNkM1MTREQTA0MEMwMENCQUM4NiAvKiBN
YXJrZWRBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAg
Ki87IH07CisJCUMyQzBGN0NEMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlv
bnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJD
MEY3Q0IxN0JCRkM1QjAwNDY0RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAgKi87IH07
CisJCUMyQzBGN0NFMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzBGN0NDMTdC
QkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMkM4RDAyRDE0QTNDNkUwMDA1NzhF
NjUgLyogQ29waWVkU3BhY2VJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyQjE0QTNDNkIyMDA1NzhFNjUgLyogQ29waWVkU3BhY2VJ
bmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQzJDOEQwMzAxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyRTE0QTNDRUZDMDA1NzhF
NjUgLyogQ29waWVkQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDMkM4RDAzMTE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkM4RDAyRjE0QTND
RUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJDRjM5QzExNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3Jh
cHBlck9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMyQ0YzOUJGMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QubW0gKi87
IH07CisJCUMyQ0YzOUMyMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQ0YzOUMwMTZF
MTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCAqLzsgfTsKKwkJQzJEQTc3ODMx
OEUyNTk5OTAwNjZGQ0I2IC8qIEhlYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkRBNzc4MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElu
bGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4
RCAvKiBIZWFwVGltZXIuY3BwICovOyB9OworCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyog
SGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJFQUEzRkExNDlBODM1RTAwRkNF
MTEyIC8qIENvcGllZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMkVBRDJGQzE0
RjAyNDk4MDBBNEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkVBRDJGQjE0RjAyNDk4MDBBNEIxNTkgLyogQ29w
aWVkQWxsb2NhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQzJGMEYyRDExNkJBRUVFOTAwMTg3QzE5IC8qIFN0cnVjdHVyZVJhcmVEYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRjBGMkQw
MTZCQUVFRTkwMDE4N0MxOSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5jcHAgKi87IH07CisJCUMyRkM5
QkQzMTY2NDRERkIwMDgxMEQzMyAvKiBDb3BpZWRCbG9ja0lubGluZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRkM5QkQyMTY2NDRERkIwMDgxMEQz
MyAvKiBDb3BpZWRCbG9ja0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDMkZDQUUxMDE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVC
YXNpY0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMyRkNBRTBDMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2ljQmxvY2suY3BwICov
OyB9OworCQlDMkZDQUUxMTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZDQUUwRDE3
QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJGQ0FFMTIxN0E5QzI0RTAwMzRDNzM1
IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZDQUUwRTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNv
ZGVMaXZlbmVzc0FuYWx5c2lzLmNwcCAqLzsgfTsKKwkJQzJGQ0FFMTMxN0E5QzI0RTAwMzRDNzM1
IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGQ0FFMEYxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2Rl
TGl2ZW5lc3NBbmFseXNpcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMyRkUxOEE0MTZCQUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGRTE4
QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzQ0MkNCMjUxQTZDREI4QzAwNUQz
RDdDIC8qIEpTSW5wdXRzLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OTI4RkYzRDE4QUM0QjFDMDBCOENGMTIgLyogSlNJbnB1dHMuanNvbiAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNDcwM0NDMDE5
Mjg0NDk2MDAxM0ZCRUEgLyogZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ3MDNDQkYx
OTI4NDQ5NjAwMTNGQkVBIC8qIGdlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNDcw
M0NDRTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcy5weSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAzQ0MzMTky
ODQ0Q0MwMDEzRkJFQSAvKiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM0NzAzQ0Q1MTkyODQ0
Q0MwMDEzRkJFQSAvKiBnZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ3MDNDQ0ExOTI4NDRDQzAwMTNGQkVBIC8qIGdl
bmVyYXRvcl90ZW1wbGF0ZXMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQzQ3MDNDRDYxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvci5weSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAzQ0NCMTky
ODQ0Q0MwMDEzRkJFQSAvKiBnZW5lcmF0b3IucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzQ3MDNDRDcxOTI4NDRDQzAwMTNGQkVBIC8qIG1vZGVs
cy5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0NzAz
Q0NDMTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2RlbHMucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzRGNEI2RjMxQTA1Qzk0NDAwNUNBQjc2IC8qIGNw
cF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzRGNEI2Q0YxQTA1Qzc2RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3Jf
dGVtcGxhdGVzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUM0RjRCNkY0MUEwNUM5NDQwMDVDQUI3NiAvKiBjcHBfZ2VuZXJhdG9yLnB5IGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDAxQTA1Qzc2
RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzRGNEI2RjUxQTA1Qzk4NDAwNUNBQjc2IC8qIGdlbmVy
YXRlX29iamNfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZENzFBMDVDNzZGMDA1Q0FCNzYg
LyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNEY0QjZGNjFBMDVD
OTg0MDA1Q0FCNzYgLyogb2JqY19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRGNEI2RDgxQTA1Qzc2RjAwNUNBQjc2
IC8qIG9iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlEQzAwMDM5MzE5RDhCRTZGMDAwMjNFQjAgLyogREZH
UHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gREMwMDAzOTAxOUQ4QkU2RjAwMDIzRUIwIC8qIERGR1ByZWNpc2VMb2Nh
bENsb2JiZXJpemUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlFMTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1MEU1NTU3
NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUxMjRBOEY4MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFx
dWVKU1N0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMTI0QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovOyB9
OworCQlFMThFM0E1OTBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8q
IFZNLmNwcCAqLzsgfTsKKwkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3Zp
ZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTQ5REMxNTUxMkVGMjc3MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwICov
OyB9OworCQlFNDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTEx
MkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNDlEQzE2RDEyRUYyOTUzMDAxODRB
MUYgLyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUZFMEQ0QTA2MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGlt
aXRUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFMEQ0QTA0MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCAq
LzsgfTsKKwkJRkUwRDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2JhbENvbnRleHRXaXRoRmlu
YWxpemVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6
ZXJUZXN0LmNwcCAqLzsgfTsKKwkJRkUxQzBGRkQxQjE5M0U5ODAwQjUzRkNBIC8qIEV4Y2VwdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUxQzBG
RkMxQjE5M0U5ODAwQjUzRkNBIC8qIEV4Y2VwdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFMUMwRkZGMUIxOTRGRDEwMEI1M0ZDQSAvKiBF
eGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkUxQzBGRkUxQjE5NEZEMTAwQjUzRkNBIC8qIEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCUZF
MjBDRTlEMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMjBDRTlCMTVGMDRBOTUwMERGMzQzMCAv
KiBMTEludENMb29wLmNwcCAqLzsgfTsKKwkJRkUyMENFOUUxNUYwNEE5NTAwREYzNDMwIC8qIExM
SW50Q0xvb3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFMjBDRTlDMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkUzODRFRTUxQUREQjdBRDAwNTVE
RTJDIC8qIEpTRG9sbGFyVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkUzODRFRTExQUREQjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICov
OyB9OworCQlGRTM4NEVFNjFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUzODRFRTIxQUREQjdBRDAw
NTVERTJDIC8qIEpTRG9sbGFyVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlGRTM4NEVFNzFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVBy
b3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRTM4NEVFMzFBRERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVByb3RvdHlwZS5jcHAgKi87
IH07CisJCUZFMzg0RUU4MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTM4NEVFNDFB
RERCN0FEMDA1NURFMkMgLyogSlNEb2xsYXJWTVByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFNEJGRjJCMUFENDc2RTcwMDA4OEY4
NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTRCRkYyOTFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25PdmVy
cmlkZXMuY3BwICovOyB9OworCQlGRTRCRkYyQzFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25P
dmVycmlkZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFNEJGRjJBMUFENDc2RTcwMDA4OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5oICovOyB9Owor
CQlGRTRENTVCODFBRTcxNkNBMDA1MkU0NTkgLyogSXRlcmF0aW9uU3RhdHVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTRENTVCNzFBRTcxNkNBMDA1
MkU0NTkgLyogSXRlcmF0aW9uU3RhdHVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkU1MDY4NjUxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVk
U291cmNlRHVtcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU1MDY4NjQxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFNTA2ODY3MUFF
MjVFMjgwMDA5REFCNyAvKiBEZWZlcnJlZFNvdXJjZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU1MDY4NjYxQUUyNUUyODAwMDlEQUI3IC8q
IERlZmVycmVkU291cmNlRHVtcC5jcHAgKi87IH07CisJCUZFNTkzMkE3MTgzQzVBMjYwMEExRUND
QyAvKiBWTUVudHJ5U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlTY29wZS5jcHAg
Ki87IH07CisJCUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNTkzMkE2MTgzQzVB
MjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlGRTdCQTYwRjFBMUE3Q0VDMDBGMUY3QjQgLyogSGVhcFZl
cmlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFN0JBNjBEMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuY3BwICovOyB9OworCQlG
RTdCQTYxMDFBMUE3Q0VDMDBGMUY3QjQgLyogSGVhcFZlcmlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTdCQTYwRTFBMUE3Q0VDMDBGMUY3QjQg
LyogSGVhcFZlcmlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRkVBMDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQTA4NjFFMTgyQjdB
MDQwMEY2RDg1MSAvKiBCcmVha3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkVBMDg2MjExODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2Vy
UHJpbWl0aXZlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkVBMDg2MUYxODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFQjUxRjZDMUE5
N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJlZ3Jl
c3MxNDE4MDkubW0gKi87IH07CisJCUZFQjU4QzE0MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhh
bmRsaW5nU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkVCNThDMTIxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAg
Ki87IH07CisJCUZFQjU4QzE1MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQjU4QzEz
MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGRUQyODdCMjE1RUM5QTU3MDBEQTgx
NjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZFRDI4N0IxMTVFQzlBNTcwMERBODE2MSAvKiBMTEludE9wY29kZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFRDk0RjJFMTcx
RTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cu
Y3BwICovOyB9OworCQlGRUQ5NEYyRjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDk0RjJDMTcxRTNF
MjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUZFRDk0RjMwMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZ01h
Yy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5
NEYyRDE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2dNYWMuY3BwICovOyB9OworCQlGRUYwNDA1
MTFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjA0MDUwMUFBRTY2MkQwMEJEMjhC
MCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovOyB9OworCQlGRUY2ODM1RTE3NDM0M0NDMDBB
MzJFMjUgLyogSklUU3R1YnNBUk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZFRjY4MzVBMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFRjY4MzVG
MTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTXY3LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUY2ODM1QjE3NDM0M0NDMDBBMzJFMjUgLyogSklU
U3R1YnNBUk12Ny5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUZFRjY4MzYwMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVGNjgzNUMxNzQzNDND
QzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2XzY0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkVGNjgzNjExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0
dWJzWDg2LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCisKKy8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTBG
Q0VGQUJDMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJ
CQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3
RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUg
PSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQ7
CisJCQlyZW1vdGVJbmZvID0gbGx2bUZvckpTQzsKKwkJfTsKKwkJMEZGOTIyRDIxNEY0NkIyRjAw
NDFBMjRFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRh
aW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJB
QUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVH
bG9iYWxJRFN0cmluZyA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MjsKKwkJCXJlbW90ZUluZm8g
PSAiTExJbnQgT2Zmc2V0cyI7CisJCX07CisJCTVENjlFOTExMTUyQkU1NDcwMDI4RDcyMCAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA5MzJGNUJEQTA4MjJBMUM3MDA3MzY5NzU7CisJCQlyZW1vdGVJbmZvID0ganNjOworCQl9
OworCQk1RDZCMkE0RTE1MkI5RTIzMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gMTQxMjExMUYwQTQ4NzkzQzAw
NDgwMjU1OworCQkJcmVtb3RlSW5mbyA9IG1pbmlkb207CisJCX07CisJCTVENkIyQTUwMTUyQjlF
MjMwMDUyMzFERSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVt
b3RlR2xvYmFsSURTdHJpbmcgPSAxNEJENTlCRTBBM0U4RjkwMDBCQUY1OUM7CisJCQlyZW1vdGVJ
bmZvID0gdGVzdGFwaTsKKwkJfTsKKwkJNUQ2QjJBNTQxNTJCOUUyMzAwNTIzMURFIC8qIFBCWENv
bnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsK
KwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0
IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDY1MTEyMkY3MTQwNDZBNEMwMDJCMTAxRDsKKwkJCXJlbW90ZUluZm8gPSB0ZXN0UmVnRXhwOwor
CQl9OworCQk1RDZCMkE1NjE1MkI5RTJFMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9y
dGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJ
cHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNUQ2QjJBNDcxNTJCOUUx
NzAwNTIzMURFOworCQkJcmVtb3RlSW5mbyA9ICJUZXN0IFRvb2xzIjsKKwkJfTsKKwkJNjUyNDRC
RDIxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlz
YSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkw
RkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7
CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQjsKKwkJ
CXJlbW90ZUluZm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsKKwkJNjU0NDJENEYxOEVCQjc0
NDAwN0FGOTJGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENv
bnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZD
MDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1v
dGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQjsKKwkJCXJlbW90ZUlu
Zm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKKwkJfTsKKwkJNjU3ODhBOUYxOEI0MDlFQjAwQzE4OUZG
IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0
ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAv
KiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJ
RFN0cmluZyA9IDBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RTsKKwkJCXJlbW90ZUluZm8gPSBKU0NM
TEludE9mZnNldHNFeHRyYWN0b3I7CisJCX07CisJCTY1Nzg4QUFBMThCNDBBM0IwMEMxODlGRiAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVt
UHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyog
UHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CisJCQlyZW1vdGVJbmZvID0gIkRlcml2
ZWQgU291cmNlcyI7CisJCX07CisJCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJ
CQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBv
YmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA2
NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7CisJCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUgQXNzZW1i
bGVyIjsKKwkJfTsKKwkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2
MDlEMTFFOTEwMEY0OURFQjsKKwkJCXJlbW90ZUluZm8gPSAiR2VuZXJhdGUgRGVyaXZlZCBTb3Vy
Y2VzIjsKKwkJfTsKKwkJOTMyRjVCRTYwODIyQTFDNzAwNzM2OTc1IC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDkzMkY1QjNF
MDgyMkExQzcwMDczNjk3NTsKKwkJCXJlbW90ZUluZm8gPSAiSmF2YVNjcmlwdENvcmUgKFVwZ3Jh
ZGVkKSI7CisJCX07CisvKiBFbmQgUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTVEQkIxNTExMTMx
RDBCMTMwMDU2QUQzNiAvKiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0geworCQkJaXNhID0gUEJY
Q29weUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDEyOworCQkJZHN0UGF0
aCA9ICIiOworCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDE2OworCQkJZmlsZXMgPSAoCisJCQkJNURC
QjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8qIHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlw
dCAqLywKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgU3VwcG9ydCBTY3JpcHQiOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTVEQkIxNTI0MTMxRDBC
QTEwMDU2QUQzNiAvKiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0geworCQkJaXNhID0gUEJYQ29w
eUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlk
c3RQYXRoID0gIiI7CisJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTY7CisJCQlmaWxlcyA9ICgKKwkJ
CQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRvbS5qcyBpbiBDb3B5IFN1cHBvcnQg
U2NyaXB0ICovLAorCQkJKTsKKwkJCW5hbWUgPSAiQ29weSBTdXBwb3J0IFNjcmlwdCI7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhD
b3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5j
ZSBzZWN0aW9uICovCisJCTBGMDEyMzMwMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0cmVu
Z3RoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZhbHVlU3Ry
ZW5ndGguY3BwOyBwYXRoID0gZGZnL0RGR1ZhbHVlU3RyZW5ndGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjAxMjMzMTE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJl
bmd0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYWx1ZVN0cmVuZ3Ro
Lmg7IHBhdGggPSBkZmcvREZHVmFsdWVTdHJlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjAzMzJCRjE4QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJVFR5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXhpdGluZ0pJVFR5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzMzJDMTE4QjAxNzYzMDA1Rjk3OUEgLyog
R2V0QnlJZFZhcmlhbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
R2V0QnlJZFZhcmlhbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzMzJD
MjE4QjAxNzYzMDA1Rjk3OUEgLyogR2V0QnlJZFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR2V0QnlJZFZhcmlhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYwMzMyQzUxOEI1M0ZBOTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExXZWlnaHQuaDsgcGF0aCA9IGZ0bC9GVExXZWlnaHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwMzMyQzcxOEI1NDZFQzAwNUY5NzlB
IC8qIEZUTFdlaWdodGVkVGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZUTFdlaWdodGVkVGFyZ2V0Lmg7IHBhdGggPSBmdGwvRlRMV2VpZ2h0ZWRUYXJnZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwNDM5NkIxQjAzREMwQjAwOTU5OEI3IC8qIERG
R0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHQ29tYmluZWRMaXZlbmVzcy5jcHA7IHBhdGggPSBkZmcvREZHQ29tYmluZWRMaXZlbmVz
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDQzOTZDMUIwM0RDMEIwMDk1
OThCNyAvKiBERkdDb21iaW5lZExpdmVuZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR0NvbWJpbmVkTGl2ZW5lc3MuaDsgcGF0aCA9IGRmZy9ERkdDb21iaW5lZExpdmVu
ZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDVDM0IyMTY4M0NGOEYwMEJB
RjQ1QiAvKiBERkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0aCA9IGRm
Zy9ERkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMDc3NkJEMTRGRjAwMjgwMDEwMjMzMiAvKiBKSVRDb21waWxhdGlvbkVmZm9ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRDb21waWxhdGlvbkVmZm9ydC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYg
LyogTExJbnRUaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
TExJbnRUaHVua3MuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRUaHVua3MuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjBCODM5ODE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRUaHVu
a3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnRUaHVua3MuaDsgcGF0
aCA9IGxsaW50L0xMSW50VGh1bmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MEI4M0E1MTRCQ0Y1MDQwMDg4NUI0RiAvKiBDb2RlVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb2RlVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjBCODNBODE0QkNGNTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSGFuZGxlckluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYwQjgzQUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhwcmVzc2lvblJhbmdlSW5mby5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyog
Q2FsbExpbmtJbmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENh
bGxMaW5rSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMEI4M0FGMTRC
Q0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2FsbExpbmtJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNl
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsUmV0dXJuT2Zmc2V0VG9C
eXRlY29kZU9mZnNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjBDRDRDMDE1
RjFBNjA0MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFB1dERpcmVjdEluZGV4TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjBDRDRDMzE1RjZCNkI1MDAzMkYxQzAgLyogU3BhcnNlQXJyYXlWYWx1ZU1h
cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGFyc2VBcnJheVZh
bHVlTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwRkM0NTgxNEJEMTVG
MTAwQjgxMTU0IC8qIExMSW50Q2FsbExpbmtJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExMSW50Q2FsbExpbmtJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2VwdGlvbkZ1enouY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjEyREUwRTE5NzlENUZEMDAwNkZGNEUgLyogRXhjZXB0
aW9uRnV6ei5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGNlcHRpb25GdXp6
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMTM2RDRCMTc0QUQ2OUIwMDc1QjM1
NCAvKiBEZWZlckdDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmVyR0Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxMzkxMjQxNjc3MUMzMDAwOUNDQjA3
IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBQcm9maWxlckJ5dGVjb2RlU2VxdWVuY2UuY3BwOyBwYXRoID0gcHJvZmls
ZXIvUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYxMzkxMjUxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5j
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlckJ5dGVjb2RlU2Vx
dWVuY2UuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjEzOTEyNjE2NzcxQzMwMDA5Q0NCMDcgLyogUHJv
ZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmNwcDsgcGF0aCA9IHByb2ZpbGVyL1By
b2ZpbGVyUHJvZmlsZWRCeXRlY29kZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjEzOTEyNzE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlclByb2ZpbGVkQnl0ZWNv
ZGVzLmg7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMTNFMDRDMTYxNjRBMUIwMERDOERFNyAvKiBJbmRl
eGluZ1R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5kZXhp
bmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxNUYxNUQxNEI3QTcz
QTAwNURFMzdEIC8qIENvbW1vblNsb3dQYXRocy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb21tb25TbG93UGF0aHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYxOTBDQUExODlEODJGNjAwMEFFNUYwIC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZXJKZXR0aXNvblJlYXNv
bi5jcHA7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckpldHRpc29uUmVhc29uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYxOTBDQUIxODlEODJGNjAwMEFFNUYwIC8qIFByb2Zp
bGVySmV0dGlzb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJv
ZmlsZXJKZXR0aXNvblJlYXNvbi5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJKZXR0aXNvblJl
YXNvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjFERDg0OTE4QTk0NUJFMDAy
NkYzRkEgLyogSlNDSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0NJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTQzMTUzNENC
QUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50UG9zaXRpb24uaDsgcGF0aCA9IGRmZy9ERkdBcmd1bWVu
dFBvc2l0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTQ0MTUzNENC
QUQwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdEb3VibGVGb3JtYXRTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR0RvdWJs
ZUZvcm1hdFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTUwMTUz
N0MyQ0IwMDBGOTQ1NiAvKiBERkdTbG93UGF0aEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdTbG93UGF0aEdlbmVyYXRvci5oOyBwYXRoID0gZGZnL0RGR1Ns
b3dQYXRoR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMUUzQTY1
MTUzQTIxREYwMDBGOTQ1NiAvKiBERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NpbGVudFJlZ2lzdGVyU2F2ZVBsYW4uaDsgcGF0
aCA9IGRmZy9ERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMUZFNTFCMTkyMkEzQkMwMDY5ODdDNSAvKiBBYm9ydFJlYXNvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYm9ydFJlYXNvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjIwQzI1ODFBODAxM0FCMDBEQTMyMjkgLyogVmlydHVhbFJlZ2lz
dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpcnR1YWxSZWdp
c3Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjFDMjc5MTRCRTcyNzMw
MEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvZGVTcGVjaWFsaXphdGlvbktpbmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEYyMUMyN0UxNEJFQUE4MDAwQURDNjRCIC8qIEJ5dGVjb2RlQ29udmVudGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVDb252ZW50aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJCRDE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMRXhpdEFyZ3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTEV4aXRBcmd1bWVudC5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdEFyZ3VtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQkUxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTEV4aXRBcmd1bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExFeGl0QXJndW1lbnQuaDsgcGF0aCA9IGZ0bC9GVExFeGl0QXJndW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQkYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRB
cmd1bWVudEZvck9wZXJhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdEFyZ3Vt
ZW50Rm9yT3BlcmFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkMw
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEV4aXRBcmd1bWVudEZvck9wZXJhbmQuaDsgcGF0
aCA9IGZ0bC9GVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMjM1QkMxMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnRMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEV4aXRBcmd1bWVudExpc3Qu
aDsgcGF0aCA9IGZ0bC9GVExFeGl0QXJndW1lbnRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMjM1QkMyMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMRXhpdFRodW5r
R2VuZXJhdG9yLmNwcDsgcGF0aCA9IGZ0bC9GVExFeGl0VGh1bmtHZW5lcmF0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDMzE3MTc4RTFDMDA2OTBDN0YgLyogRlRM
RXhpdFRodW5rR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TEV4aXRUaHVua0dlbmVyYXRvci5oOyBwYXRoID0gZnRsL0ZUTEV4aXRUaHVua0dlbmVyYXRvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDNDE3MTc4RTFDMDA2OTBDN0Yg
LyogRlRMRXhpdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEZUTEV4aXRWYWx1ZS5jcHA7IHBhdGggPSBmdGwvRlRMRXhpdFZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQzUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRW
YWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExFeGl0VmFsdWUuaDsg
cGF0aCA9IGZ0bC9GVExFeGl0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyMzVCQzYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMT1NSRXhpdC5jcHA7IHBhdGggPSBmdGwvRlRMT1NS
RXhpdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkM3MTcxNzhFMUMw
MDY5MEM3RiAvKiBGVExPU1JFeGl0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZUTE9TUkV4aXQuaDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGMjM1QkM4MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGls
YXRpb25JbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTE9TUkV4aXRD
b21waWxhdGlvbkluZm8uaDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkM5MTcxNzhFMUMwMDY5MEM3RiAv
KiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRlRMT1NSRXhpdENvbXBpbGVyLmNwcDsgcGF0aCA9IGZ0bC9GVExPU1JFeGl0Q29tcGls
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDQTE3MTc4RTFDMDA2
OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEZUTE9TUkV4aXRDb21waWxlci5oOyBwYXRoID0gZnRsL0ZUTE9TUkV4aXRDb21waWxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjIzNUJDQjE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMVGh1bmtzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEZUTFRodW5rcy5jcHA7IHBhdGggPSBmdGwvRlRMVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQ0MxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExUaHVua3MuaDsgcGF0aCA9IGZ0bC9G
VExUaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCQ0QxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEZUTFZhbHVlRm9ybWF0LmNwcDsgcGF0aCA9IGZ0bC9GVExWYWx1ZUZvcm1h
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkNFMTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGVExWYWx1ZUZvcm1hdC5oOyBwYXRoID0gZnRsL0ZUTFZhbHVlRm9ybWF0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjM1QkU3MTcxNzhFNzMwMDY5MEM3RiAvKiBERkdPU1JF
eGl0QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdPU1JF
eGl0QmFzZS5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdEJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjIzNUJFODE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdEJhc2UuaDsg
cGF0aCA9IGRmZy9ERkdPU1JFeGl0QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjIzNUJFOTE3MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkV4aXRQcmVwYXJhdGlv
bi5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyMzVCRUExNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQ
cmVwYXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0
UHJlcGFyYXRpb24uaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0UHJlcGFyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNDJEQTUxM0YzQjFCQjAwN0FERDRDIC8qIFdlYWtS
ZWZlcmVuY2VIYXJ2ZXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vh
a1JlZmVyZW5jZUhhcnZlc3Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0
RTUzQjE3RUE5RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzc2VtYmx5SGVscGVycy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNDMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhl
bHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXNzZW1ibHlIZWxwZXJz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNEMTdFQTlGNTkwMEFCQjIx
NyAvKiBDQ2FsbEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0Nh
bGxIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTNFMTdFQTlG
NTkwMEFCQjIxNyAvKiBGUFJJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZQUkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNEU1M0YxN0VBOUY1
OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R1BSSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0NTE3RUUyNzQ5
MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKSVRPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyNEU1NDYxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUT3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjI0RTU0ODE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlbXBSZWdpc3RlclNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0OTE3RUUyNzQ5MDBBQkIyMTcgLyog
UmVwYXRjaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXBhdGNo
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNEU1NEExN0VFMjc0OTAwQUJC
MjE3IC8qIFJlcGF0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVwYXRj
aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0QjE3RUUyNzQ5MDBBQkIy
MTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjI0RTU1MzE3RjBCNzFDMDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUNhbGxGcmFt
ZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjRFNTU0MTdGMEI3MUMw
MEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5saW5lQ2FsbEZyYW1lU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMjRFNTU3MTdGNzRFREIwMEFCQjIxNyAvKiBWYWx1ZVJlY292ZXJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhbHVlUmVjb3ZlcnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1NkMzNDE2MjdCMEFBMDA3RjI3ODMgLyogREZHQ2Fs
bEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHQ2FsbEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0
aCA9IGRmZy9ERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVyYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBNzE4MTYzNUYzMDA1MjJGMzkgLyogRlRMSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TElubGluZUNhY2hlRGVzY3JpcHRvci5oOyBwYXRoID0gZnRsL0ZUTElubGluZUNhY2hlRGVzY3Jp
cHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBODE4MTYzNUYzMDA1
MjJGMzkgLyogRlRMSW5saW5lQ2FjaGVTaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEZUTElubGluZUNhY2hlU2l6ZS5jcHA7IHBhdGggPSBmdGwvRlRMSW5saW5l
Q2FjaGVTaXplLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNUYxQTkxODE2
MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGVExJbmxpbmVDYWNoZVNpemUuaDsgcGF0aCA9IGZ0bC9GVExJbmxpbmVD
YWNoZVNpemUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyNUYxQUExODE2MzVG
MzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBGVExTbG93UGF0aENhbGwuY3BwOyBwYXRoID0gZnRsL0ZUTFNsb3dQYXRo
Q2FsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjVGMUFCMTgxNjM1RjMw
MDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRlRMU2xvd1BhdGhDYWxsLmg7IHBhdGggPSBmdGwvRlRMU2xvd1BhdGhDYWxsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMjVGMUFDMTgxNjM1RjMwMDUyMkYzOSAvKiBG
VExTbG93UGF0aENhbGxLZXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMU2xvd1BhdGhDYWxsS2V5LmNwcDsgcGF0aCA9IGZ0bC9GVExTbG93UGF0aENhbGxLZXku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI1RjFBRDE4MTYzNUYzMDA1MjJG
MzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEZUTFNsb3dQYXRoQ2FsbEtleS5oOyBwYXRoID0gZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZBODE3QjZCNTNEMDBBN0FFM0Yg
LyogR0NJbmNvbWluZ1JlZkNvdW50ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NJbmNvbWluZ1JlZkNv
dW50ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QTkxN0I2QjUzRDAw
QTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
Q0luY29taW5nUmVmQ291bnRlZElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyQjY2QUExN0I2QjUzRDAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdDSW5jb21pbmdSZWZDb3VudGVkU2V0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMkI2NkFCMTdCNkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVm
Q291bnRlZFNldElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NJbmNvbWluZ1JlZkNvdW50ZWRT
ZXRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkIwMTdCNkI1
QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEYXRhVmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2
NkIxMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJC
NjZCMjE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyaWNUeXBlZEFycmF5Vmlldy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCMzE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkI2NkI0MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyYXlCdWZmZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCNTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5QnVm
ZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkI2MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
QjY2QjgxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkI5MTdCNkI1QUIwMEE3QUUz
RiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYyQjY2QkExN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyYXlCdWZmZXJWaWV3LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QkIxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTQXJyYXlCdWZmZXJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2
NkJDMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkJEMTdCNkI1QUIwMEE3QUUzRiAvKiBK
U0RhdGFWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0
YVZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZCRTE3QjZCNUFC
MDBBN0FFM0YgLyogSlNEYXRhVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RhdGFWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkJGMTdC
NkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVZpZXdQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDMDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmll
d1Byb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RhdGFWaWV3
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkMxMTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0Zsb2F0MzJBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0Zsb2F0MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCNjZDMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGbG9hdDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEYyQjY2QzMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM0MTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2QzUxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM2
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkM3MTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDODE3QjZCNUFCMDBBN0FFM0YgLyog
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlSW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDOTE3QjZCNUFCMDBBN0FF
M0YgLyogSlNJbnQ4QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJ
bnQ4QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2Q0ExN0I2QjVB
QjAwQTdBRTNGIC8qIEpTSW50MTZBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0ludDE2QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2
Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0ludDMyQXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyQjY2Q0MxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDRDE3QjZC
NUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZDRTE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFy
cmF5UHJvdG90eXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyQjY2Q0YxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheVByb3RvdHlwZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZEMDE3QjZCNUFCMDBBN0FFM0YgLyog
SlNUeXBlZEFycmF5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1R5cGVkQXJyYXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDEx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNUeXBlZEFycmF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjJCNjZEMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVWludDhBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjJCNjZEMzE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OENsYW1wZWRBcnJh
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1VpbnQ4Q2xhbXBlZEFycmF5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkQ0MTdCNkI1QUIwMEE3QUUz
RiAvKiBKU1VpbnQxNkFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VWludDE2QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDUxN0I2
QjVBQjAwQTdBRTNGIC8qIEpTVWludDMyQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNVaW50MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCNjZENjE3QjZCNUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlVHlwZWRBcnJheUNv
bnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCNjZENzE3QjZC
NUFCMDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDgxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVk
QXJyYXlBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlZEFy
cmF5QWRhcHRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2RDkxN0I2
QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjY2REExN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJy
YXlDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVkQXJy
YXlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI2NkRCMTdC
NkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUeXBlZEFycmF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJC
NjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHlwZWRBcnJheVR5cGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjJCNjZERDE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZWRBcnJheVR5cGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0F2YWlsYWJpbGl0eU1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdBdmFpbGFiaWxpdHlNYXAuY3BwOyBwYXRoID0gZGZnL0RGR0F2YWlsYWJpbGl0eU1h
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0Q3MTlEMEJBN0QwMEIx
RDFCNSAvKiBERkdBdmFpbGFiaWxpdHlNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHQXZhaWxhYmlsaXR5TWFwLmg7IHBhdGggPSBkZmcvREZHQXZhaWxhYmlsaXR5TWFw
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0Q4MTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5jcHA7IHBhdGggPSBk
ZmcvREZHSW5zZXJ0T1NSSGludHNGb3JVcGRhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjJCOUNEOTE5RDBCQTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGludHNGb3JV
cGRhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHSW5zZXJ0T1NSSGlu
dHNGb3JVcGRhdGUuaDsgcGF0aCA9IGRmZy9ERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNEQTE5RDBCQTdEMDBCMUQxQjUgLyog
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcDsgcGF0
aCA9IGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDREIxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR09iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
QjlDREMxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YS5jcHA7IHBhdGggPSBkZmcvREZHT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0REMTlEMEJBN0QwMEIxRDFC
NSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuaDsgcGF0aCA9IGRmZy9E
RkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGMkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQaGlDaGlsZHJlbi5jcHA7IHBhdGgg
PSBkZmcvREZHUGhpQ2hpbGRyZW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJCOUNERjE5RDBCQTdEMDBCMUQxQjUgLyogREZHUGhpQ2hpbGRyZW4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUGhpQ2hpbGRyZW4uaDsgcGF0aCA9IGRmZy9ERkdQaGlD
aGlsZHJlbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNFMDE5RDBCQTdE
MDBCMUQxQjUgLyogREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwOyBwYXRoID0g
ZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEYyQjlDRTExOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Byb21vdGVkSGVhcExvY2F0
aW9uLmg7IHBhdGggPSBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQjlDRUUxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9w
ZXJ0eVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEV4
aXRQcm9wZXJ0eVZhbHVlLmNwcDsgcGF0aCA9IGZ0bC9GVExFeGl0UHJvcGVydHlWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0VGMTlEMEJBQzEwMEIxRDFCNSAv
KiBGVExFeGl0UHJvcGVydHlWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGVExFeGl0UHJvcGVydHlWYWx1ZS5oOyBwYXRoID0gZnRsL0ZUTEV4aXRQcm9wZXJ0eVZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFC
NSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5j
cHA7IHBhdGggPSBmdGwvRlRMRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCOUNGMTE5RDBCQUMxMDBCMUQxQjUgLyogRlRM
RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRlRMRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24uaDsgcGF0aCA9IGZ0bC9G
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjJCOUNGMjE5RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0aW9ucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExPcGVyYXRpb25zLmNwcDsgcGF0
aCA9IGZ0bC9GVExPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyQjlDRjMxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMT3BlcmF0aW9ucy5oOyBwYXRoID0gZnRsL0ZUTE9wZXJh
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDMTIxNTFDNUQ0QTAw
Q0Q4OTEwIC8qIERGR0ZpeHVwUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHRml4dXBQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHRml4dXBQaGFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkJEQzEzMTUxQzVENEEwMENEODkxMCAv
KiBERkdGaXh1cFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Zp
eHVwUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdGaXh1cFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGMkJEQzFGMTUxRTgwMzgwMENEODkxMCAvKiBERkdJbnNlcnRpb25TZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHSW5zZXJ0aW9uU2V0Lmg7IHBh
dGggPSBkZmcvREZHSW5zZXJ0aW9uU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMkJEQzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBPcGVyYW5kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjJCREMzRDE1MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWRHcmFwaC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdNaW5pZmllZEdyYXBoLmg7IHBhdGggPSBkZmcv
REZHTWluaWZpZWRHcmFwaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREMz
RTE1MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR01pbmlmaWVkTm9kZS5oOyBwYXRoID0gZGZnL0RGR01pbmlmaWVk
Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM0MDE1MjI4MDE3MDBD
RDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHVmFsdWVTb3VyY2UuaDsgcGF0aCA9IGRmZy9ERkdWYWx1ZVNvdXJjZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM0MTE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFy
aWFibGVFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYXJpYWJs
ZUV2ZW50Lmg7IHBhdGggPSBkZmcvREZHVmFyaWFibGVFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjJCREM0MjE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVu
dFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdWYXJp
YWJsZUV2ZW50U3RyZWFtLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDNDMxNTIyODAxNzAwQ0Q4OTEw
IC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHVmFyaWFibGVFdmVudFN0cmVhbS5oOyBwYXRoID0gZGZnL0RGR1ZhcmlhYmxlRXZl
bnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyQkRDNEMxNTIyODE4
MzAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBERkdNaW5pZmllZE5vZGUuY3BwOyBwYXRoID0gZGZnL0RGR01pbmlmaWVk
Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkJEQzRFMTUyMjhCRTcw
MENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBERkdWYWx1ZVNvdXJjZS5jcHA7IHBhdGggPSBkZmcvREZHVmFsdWVTb3VyY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJCREM1MDE1MjI4RkZBMDBDRDg5
MTAgLyogREZHVmFyaWFibGVFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdWYXJpYWJsZUV2ZW50LmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUV2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyRDREREIxOTgzMkQzNDAwN0Q0
QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVidWdnZXJTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MkQ0RERDMTk4MzJEMzQwMDdENEIxOSAvKiBEZWJ1Z2dlclNjb3BlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEYyRDREREYxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVQcm9maWxlckxvZy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlUHJvZmlsZXJMb2cuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjJENERFMDE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVByb2ZpbGVyTG9n
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVQcm9maWxlckxvZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjJENERFMzE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVNldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYyRDRERTQxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlw
ZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJENERFNTE5ODMyREFDMDA3
RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRvVGhpc1N0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MkQ0REU2MTk4MzJEQUMwMDdENEIxOSAvKiBUb1RoaXNTdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVG9UaGlzU3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkQ0REU3MTk4MzJEQUMwMDdENEIxOSAvKiBUeXBlTG9jYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMkREODBBMUFCM0Q4NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVjb2RlS2lsbHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyREQ4MEMxQUIzRDhCRTAwQkJCOEU4IC8qIERG
R0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcv
REZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlv
blBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50c0Vs
aW1pbmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMkREODBFMUFCM0Q4QkUwMEJCQjhF
OCAvKiBERkdBcmd1bWVudHNVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHQXJndW1lbnRzVXRpbGl0aWVzLmNwcDsgcGF0aCA9IGRmZy9ERkdBcmd1
bWVudHNVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJERDgw
RjFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0aWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FyZ3VtZW50c1V0aWxpdGllcy5oOyBwYXRoID0gZGZn
L0RGR0FyZ3VtZW50c1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjJERDgxMDFBQjNEOEJFMDBCQkI4RTggLyogREZHRm9yQWxsS2lsbHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRm9yQWxsS2lsbHMuaDsgcGF0aCA9IGRmZy9ERkdGb3JB
bGxLaWxscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQzc3MDE2RTEyRjZG
MDAzOEQ5NzYgLyogREZHRENFUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHRENFUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0RDRVBoYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYyRkM3NzExNkUxMkY2RjAwMzhEOTc2IC8qIERG
R0RDRVBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0RDRVBoYXNl
Lmg7IHBhdGggPSBkZmcvREZHRENFUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEYyRkNDRjIxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0dyYXBoU2FmZXBvaW50LmNwcDsg
cGF0aCA9IGRmZy9ERkdHcmFwaFNhZmVwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGMkZDQ0YzMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdHcmFwaFNhZmVwb2ludC5oOyBwYXRo
ID0gZGZnL0RGR0dyYXBoU2FmZXBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMkZDQ0Y0MThBNjAwNzAwMDFBMjdGOCAvKiBERkdTYWZlcG9pbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHU2FmZXBvaW50LmNwcDsgcGF0aCA9IGRmZy9E
RkdTYWZlcG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQ0NGNTE4
QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IERGR1NhZmVwb2ludC5oOyBwYXRoID0gZGZnL0RGR1NhZmVwb2ludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjJGQ0NGNjE4QTYwMDcwMDAxQTI3RjggLyogREZH
U2Nhbm5hYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NjYW5uYWJs
ZS5oOyBwYXRoID0gZGZnL0RGR1NjYW5uYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRjJGQ0NGNzE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdUaHJlYWREYXRhLmNwcDsgcGF0aCA9
IGRmZy9ERkdUaHJlYWREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYy
RkNDRjgxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1RocmVhZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHVGhyZWFkRGF0YS5oOyBwYXRoID0gZGZnL0RGR1RocmVhZERh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzMDBCNzcxOEFCMDUxMTAwQTZE
NzJFIC8qIERGR05vZGVPcmlnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHTm9kZU9yaWdpbi5oOyBwYXRoID0gZGZnL0RGR05vZGVPcmlnaW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEYzMDBCNzkxOEFCMUIxNDAwQTZENzJFIC8qIERGR0ludGVnZXJD
aGVja0NvbWJpbmluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR0ludGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdJbnRl
Z2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGMzAwQjdBMThBQjFCMTQwMEE2RDcyRSAvKiBERkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFz
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdJbnRlZ2VyQ2hlY2tDb21i
aW5pbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR0ludGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAv
KiBERkdVc2VLaW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R1VzZUtpbmQuY3BwOyBwYXRoID0gZGZnL0RGR1VzZUtpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2luZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdVc2VLaW5kLmg7IHBhdGggPSBkZmcv
REZHVXNlS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM0QjE0QjE2RDQz
RTBDMDAxQ0RBNUEgLyogUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAwRjE3Q0YwNzdGMDBCMTQ0RDMg
LyogTExJbnRFbnRyeXBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExMSW50RW50cnlwb2lu
dC5jcHA7IHBhdGggPSBsbGludC9MTEludEVudHJ5cG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjM4QjAxMDE3Q0YwNzdGMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50RW50cnlwb2ludC5oOyBwYXRoID0gbGxpbnQvTExJbnRF
bnRyeXBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMzhCMDEzMTdDRkU3
NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbktleS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdDb21waWxhdGlvbktleS5jcHA7IHBhdGggPSBkZmcvREZHQ29t
cGlsYXRpb25LZXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAxNDE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25LZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gREZHQ29tcGlsYXRpb25LZXkuaDsgcGF0aCA9IGRmZy9ERkdDb21waWxh
dGlvbktleS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjM4QjAxNTE3Q0ZFNzU1
MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IERGR0NvbXBpbGF0aW9uTW9kZS5jcHA7IHBhdGggPSBkZmcvREZHQ29t
cGlsYXRpb25Nb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzOEIwMTYx
N0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uTW9kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdDb21waWxhdGlvbk1vZGUuaDsgcGF0aCA9IGRmZy9ERkdDb21w
aWxhdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQTFCRjcxQTlF
Q0I3RDAwMERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcDsgcGF0
aCA9IGRmZy9ERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGM0ExQkY4MUE5RUNCN0QwMDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQ
aGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQdXRTdGFja1Npbmtp
bmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGM0FDNzUxMTgzRUExMDQwMDMyMDI5RiAvKiBTdGFja0Fs
aWdubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGFja0FsaWdubWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAy
OUYgLyogRXhpdGluZ0pJVFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RXhpdGluZ0pJVFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjNBMTcx
NTNFNjhFRjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDsg
cGF0aCA9IGRmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGM0IzQTE4MTUzRTY4RUYwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRp
bmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDb25zdGFudEZv
bGRpbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGM0IzQTI0MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdD
RkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0NGR1Np
bXBsaWZpY2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNC
M0EyNTE1NDRDOTkxMDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmg7
IHBhdGggPSBkZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjNCM0EyOTE1NDc0RkY0MDAzRUQwRkYgLyogREZHVmFsaWRhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHVmFsaWRhdGUuY3BwOyBw
YXRoID0gZGZnL0RGR1ZhbGlkYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR1ZhbGlkYXRlLmg7IHBhdGggPSBkZmcvREZHVmFsaWRhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjdFMjQxOUExMUI4MDAwRDlCQzU2
IC8qIENhbGxWYXJpYW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENhbGxWYXJpYW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYzQjdFMjUx
OUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhbGxWYXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
M0QwQkJBMTk0QTQxNDMwMEZDOUNGOSAvKiBDb25zdGFudFN0cnVjdHVyZUNoZWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnN0YW50U3RydWN0dXJlQ2hlY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjNEMEJCQjE5NEE0MTQzMDBGQzlD
RjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb25zdGFudFN0cnVjdHVyZUNoZWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGM0UwMUE4MTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ByZVBvc3ROdW1iZXJp
bmcuY3BwOyBwYXRoID0gZGZnL0RGR1ByZVBvc3ROdW1iZXJpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjNFMDFBOTE5RDM1M0E1MDBGNjFCN0YgLyogREZHUHJlUG9zdE51
bWJlcmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQcmVQb3N0TnVt
YmVyaW5nLmg7IHBhdGggPSBkZmcvREZHUHJlUG9zdE51bWJlcmluZy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWYWx1ZVJlY292ZXJ5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDI2QTQ2MTQ2MENCQUIwMDEzMUY4RiAvKiBW
aXJ0dWFsUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlydHVh
bFJlZ2lzdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDI2QTRBMTQ2MENE
NkIwMDEzMUY4RiAvKiBEYXRhRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERhdGFGb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0MzE3MzYx
NDZCQUM2NTAwN0UzODkwIC8qIExpc3RhYmxlSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMaXN0YWJsZUhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklURXhjZXB0aW9ucy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MDgwMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRF
eGNlcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVEV4Y2VwdGlv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwOUQxNEJBN0Y4MjAwQkZF
MjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRFeGNlcHRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwOUUxNEJBN0Y4MjAwQkZF
MjcyIC8qIExMSW50RXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMTEludEV4Y2VwdGlvbnMuaDsgcGF0aCA9IGxsaW50L0xMSW50RXhjZXB0aW9ucy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODA5RjE0QkE3RjgyMDBCRkUyNzIgLyogTExJ
bnRTbG93UGF0aHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJ
bnRTbG93UGF0aHMuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRT
bG93UGF0aHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnRTbG93UGF0
aHMuaDsgcGF0aCA9IGxsaW50L0xMSW50U2xvd1BhdGhzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNDY4MEExMTRCQTdGODIwMEJGRTI3MiAvKiBMTEludE9mZnNldHNFeHRyYWN0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJbnRPZmZzZXRz
RXh0cmFjdG9yLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50T2Zmc2V0c0V4dHJhY3Rvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MEM1MTRCQkIxNjkwMEJGRTI3MiAvKiBM
TEludENvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludENvbW1v
bi5oOyBwYXRoID0gbGxpbnQvTExJbnRDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NjgwQzYxNEJCQjE2OTAwQkZFMjcyIC8qIExMSW50T2ZmbGluZUFzbUNvbmZpZy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludE9mZmxpbmVBc21Db25maWcu
aDsgcGF0aCA9IGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjQ2ODBDNzE0QkJCMTY5MDBCRkUyNzIgLyogTG93TGV2ZWxJbnRlcnBy
ZXRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMb3dMZXZlbElu
dGVycHJldGVyLmNwcDsgcGF0aCA9IGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODBDODE0QkJCMTY5MDBCRkUyNzIgLyogTG93
TGV2ZWxJbnRlcnByZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMb3dM
ZXZlbEludGVycHJldGVyLmg7IHBhdGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDY4MENFMTRCQkIzRDEwMEJGRTI3MiAvKiBM
TEludERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTExJbnRE
YXRhLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNDY4MENGMTRCQkIzRDEwMEJGRTI3MiAvKiBMTEludERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnREYXRhLmg7IHBhdGggPSBsbGludC9MTElu
dERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NjgwRDAxNEJCQzVGODAw
QkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNDY4MEQxMTRCQkM1RjgwMEJGRTI3MiAvKiBIb3N0Q2FsbFJldHVyblZh
bHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhvc3RDYWxsUmV0dXJuVmFs
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0ODUzMUYxODc3NTA1NjAwODNC
Njg3IC8qIERGR0FyaXRoTW9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdBcml0aE1vZGUuY3BwOyBwYXRoID0gZGZnL0RGR0FyaXRoTW9kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdB
cml0aE1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQXJpdGhNb2Rl
Lmg7IHBhdGggPSBkZmcvREZHQXJpdGhNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNDg1MzIzMTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExBdmFpbGFibGVSZWNvdmVy
eS5jcHA7IHBhdGggPSBmdGwvRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxl
UmVjb3ZlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQXZhaWxhYmxl
UmVjb3ZlcnkuaDsgcGF0aCA9IGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjQ4NTMyNTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3Zl
cnlPcGNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVj
b3ZlcnlPcGNvZGUuY3BwOyBwYXRoID0gZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0ODUzMjYxODdERkRFQzAwODNCNjg3IC8qIEZUTFJl
Y292ZXJ5T3Bjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlY292
ZXJ5T3Bjb2RlLmg7IHBhdGggPSBmdGwvRlRMUmVjb3ZlcnlPcGNvZGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTNBRjgxNkQwQ0FEMTAwODQ1MDhCIC8qIFNvdXJjZVByb3Zp
ZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZVByb3Zp
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0Qjk0REIxN0I5RjA3NTAw
REQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFR5cGVkQXJyYXlJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNENFRDVDMThDRUE3QUIwMDgwMkZFMCAvKiBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvbHltb3JwaGljR2V0QnlJZExp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjRDRUQ1RDE4Q0VBN0FCMDA4
MDJGRTAgLyogUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNEYyOUREMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25D
b3VudEVzdGltYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHA7IHBhdGggPSBk
ZmcvREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjRGMjlERTE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGlj
RXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaDsgcGF0aCA9
IGRmZy9ERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjUwQUYzQjE5M0U4QjM5MDA2NzRFRTggLyogREZHU3RydWN0
dXJlQ2xvYmJlclN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0
cnVjdHVyZUNsb2JiZXJTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR1N0cnVjdHVyZUNsb2JiZXJTdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU1NDFBRjE2MTNDMUZCMDBDRTNF
MjUgLyogU3BlY2lhbFBvaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3BlY2lhbFBvaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjU1NDFCMDE2MTNDMUZCMDBDRTNFMjUgLyogU3BlY2lhbFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlY2lhbFBvaW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY1NTk4OTcxN0M4NkM1NjAwQTFFNTQzIC8qIFRvTmF0aXZlRnJvbVZhbHVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRvTmF0aXZlRnJvbVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNTVDMTkzMTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0cmFjdFZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Fic3RyYWN0VmFs
dWUuY3BwOyBwYXRoID0gZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjU1RjBGMTE0RDEwNjM2MDBBQzc2NDkgLyogQWJzdHJhY3RQQy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0cmFjdFBDLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1NUYwRjIxNEQxMDYzNjAwQUM3NjQ5IC8qIEFi
c3RyYWN0UEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RQQy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU2QTFEMTE1MDAwRjMxMDAyOTkyQjEg
LyogRXhlY3V0aW9uQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
eGVjdXRpb25Db3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNTZBMUQ0
MTUwMDFDRjIwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4ZWN1dGlvbkNvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjU3MkQ0RDE2ODc5RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGh1bmtHZW5lcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1NzgwQTExOEZFMUU5ODAwMUU3MkQ5IC8q
IFB1cmVOYU4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVyZU5hTi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjU4NzRFQjE5NEZFQjEyMDBBQUIyQzEgLyog
REZHTWF5RXhpdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdN
YXlFeGl0LmNwcDsgcGF0aCA9IGRmZy9ERkdNYXlFeGl0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY1ODc0RUMxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTWF5RXhpdC5oOyBwYXRoID0gZGZnL0RG
R01heUV4aXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY1QTEyNzExOTJEOUZE
RjAwODc2NEEzIC8qIERGR0RvZXNHQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdEb2VzR0MuY3BwOyBwYXRoID0gZGZnL0RGR0RvZXNHQy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUExMjcyMTkyRDlGREYwMDg3NjRBMyAvKiBERkdEb2Vz
R0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRG9lc0dDLmg7IHBhdGgg
PSBkZmcvREZHRG9lc0dDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUE1MkNG
MTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29weVRva2VuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUE2
MjgxMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFZhbHVlUmFuZ2UuY3BwOyBwYXRoID0gZnRsL0ZUTFZh
bHVlUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjVBNjI4MjE4OEM5
OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBGVExWYWx1ZVJhbmdlLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVSYW5nZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUgLyogSklU
VGh1bmtzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFRodW5r
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUVGOTFDMTY4NzhGNzgwMDNF
NUMyNSAvKiBKSVRUaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklU
VGh1bmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNUYwOENFMTQ2Qzc2MkYw
MDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY2MjAxNkYxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWJzdHJhY3RWYWx1ZS5oOyBw
YXRoID0gZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2MjAxNzAxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Jhc2ljQmxvY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmFzaWNCbG9jay5oOyBwYXRoID0gZGZnL0RGR0Jh
c2ljQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2MjAxNzIxNDNGQ0Qy
RjAwNjhCNzdDIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdWYXJpYWJsZUFjY2Vzc0RhdGEuaDsgcGF0aCA9IGRmZy9ERkdWYXJp
YWJsZUFjY2Vzc0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2MjM3OTUx
QUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25QaGFzZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQaGFudG9tSW5zZXJ0aW9uUGhhc2UuY3Bw
OyBwYXRoID0gZGZnL0RGR1BoYW50b21JbnNlcnRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNjIzNzk2MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5z
ZXJ0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUGhhbnRv
bUluc2VydGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHUGhhbnRvbUluc2VydGlvblBoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAv
KiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IERGR1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RG
R1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjYzOTQzRDE1Qzc1RjE0MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdUeXBlQ2hlY2tIb2lzdGluZ1Bo
YXNlLmg7IHBhdGggPSBkZmcvREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjYzOTQ1MTE1RDA3MDUxMDA2QTU5N0MgLyogQXJyYXlQcm9m
aWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFycmF5UHJvZmls
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDUyMTVEMDcwNTEwMDZB
NTk3QyAvKiBBcnJheVByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXJyYXlQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjM5NDc2MTVE
Q0UzNDcwMDZBNTk3QyAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuaDsgcGF0aCA9
IGRmZy9ERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNjM5NDgxMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQXJyYXlNb2RlLmNwcDsgcGF0aCA9
IGRmZy9ERkdBcnJheU1vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjYz
OTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5TW9kZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjY0QjI2RjFBNzg0QkFGMDA2RTRFNjYg
LyogQmluYXJ5U3dpdGNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEJpbmFyeVN3aXRjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjRCMjcw
MUE3ODRCQUYwMDZFNEU2NiAvKiBCaW5hcnlTd2l0Y2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQmluYXJ5U3dpdGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNjRCMjc3MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsRWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNjRCMjc4MUE3OTU3QjIwMDZFNEU2NiAvKiBDYWxsRWRnZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjY2NkVCRTE4MzU2NkY5MDBEMDE3RjEgLyogQnl0ZWNvZGVMaXZlbmVzc0Fu
YWx5c2lzSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29k
ZUxpdmVuZXNzQW5hbHlzaXNJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNjY2RUJGMTgzNTY2RjkwMEQwMTdGMSAvKiBGdWxsQnl0ZWNvZGVMaXZlbmVzcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGdWxsQnl0ZWNvZGVMaXZlbmVzcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjY2NkVDMjE4MzU2NzJCMDBEMDE3RjEgLyogREZH
QXZhaWxhYmlsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0F2YWlsYWJpbGl0eS5jcHA7IHBhdGggPSBkZmcvREZHQXZhaWxhYmlsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2NjZFQzMxODM1NjcyQjAwRDAxN0YxIC8qIERGR0F2
YWlsYWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBdmFpbGFi
aWxpdHkuaDsgcGF0aCA9IGRmZy9ERkdBdmFpbGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWRqYWNlbmN5TGlzdC5oOyBw
YXRoID0gZGZnL0RGR0FkamFjZW5jeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2NkUxNjkxNERGM0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHRWRnZS5oOyBwYXRoID0gZGZnL0RGR0VkZ2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2ODJGQjAxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NT
QUNhbGN1bGF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
U1NBQ2FsY3VsYXRvci5jcHA7IHBhdGggPSBkZmcvREZHU1NBQ2FsY3VsYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNjgyRkIxMTlCQ0IzNjQwMEZBM0JBRCAvKiBERkdT
U0FDYWxjdWxhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NTQUNh
bGN1bGF0b3IuaDsgcGF0aCA9IGRmZy9ERkdTU0FDYWxjdWxhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNjlDQzg2MTkzQUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGcm96ZW5WYWx1
ZS5jcHA7IHBhdGggPSBkZmcvREZHRnJvemVuVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRnJvemVuVmFsdWUuaDsgcGF0aCA9
IGRmZy9ERkdGcm96ZW5WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZC
MUNCMzE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEpTQ2FsbC5jcHA7IHBhdGggPSBmdGwvRlRMSlNDYWxsLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQjQxODVGQzlFOTAwODQ1RDk3
IC8qIEZUTEpTQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExKU0Nh
bGwuaDsgcGF0aCA9IGZ0bC9GVExKU0NhbGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY2QjFDQjcxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFyaXR5Q2hlY2tNb2RlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGNkIxQ0I4MTg2MTI0NEMwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNl
cnZhdGlvbk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25Nb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIxQ0JC
MTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnaXN0ZXJQcmVzZXJ2
YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY2QjFDQkMxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdl
bmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdpc3RlclByZXNl
cnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY2QjFDQkYxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHA7
IHBhdGggPSBmdGwvRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNkIxQ0MwMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlZ2lzdGVyQXRPZmZzZXQu
aDsgcGF0aCA9IGZ0bC9GVExSZWdpc3RlckF0T2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGNkIxQ0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFVud2luZEluZm8uY3BwOyBw
YXRoID0gZnRsL0ZUTFVud2luZEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExVbndpbmRJbmZvLmg7IHBhdGggPSBmdGwvRlRMVW53
aW5kSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDNzE4NjQxREY4
MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY2QzczNEUxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0
YWlsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhcmlhYmxlV3Jp
dGVGaXJlRGV0YWlsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QzczNEYx
QUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkU4NDU5MTkwMzBCRUYwMDU2Mjc0MSAvKiBERkdWYXJp
YWJsZUFjY2Vzc0RhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHVmFyaWFibGVBY2Nlc3NEYXRhLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJsZUFjY2Vzc0Rh
dGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZGQzc0RTE5NjExMEE4MDBF
MUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb21wbGV4R2V0U3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY2RkM3NEYxOTYxMTBBODAwRTFEMDJEIC8qIENvbXBsZXhHZXRTdGF0dXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxleEdldFN0YXR1cy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdENv
bXBpbGVyQ29tbW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3MDI1QTgx
NzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgcGF0aCA9
IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY3MTRDQTExNkVBOTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9u
UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQmFja3dhcmRzUHJvcGFnYXRp
b25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNzE0Q0EyMTZFQTky
RUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaDsgcGF0
aCA9IGRmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGNzU3NkQwMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRT
dHViUm91dGluZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nl
c3NvckNhbGxKSVRTdHViUm91dGluZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNzU3NkQxMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRTdHViUm91dGluZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NvckNhbGxKSVRTdHViUm91
dGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjc2NkQxQzE1QTUwMjhEMDA4
RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSklUU3R1YlJvdXRpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZE
MjYxNUE4Q0MxQjAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFN0dWJSb3V0aW5lLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMjkxNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5l
U2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFN0dWJSb3V0
aW5lU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMkExNUE4Q0Mz
NDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpJVFN0dWJSb3V0aW5lU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNzY2RDJEMTVBOERDREQwMDhGMzYzRSAvKiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBd2FyZUpJVFN0dWJSb3V0
aW5lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3NjZEMkUxNUE4RENERDAw
OEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY3NjZEMzYxNUFFNEExQTAwOEYzNjNFIC8qIFN0cnVjdHVyZVN0dWJDbGVhcmlu
Z1dhdGNocG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3Ry
dWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNzY2RDM3MTVBRTRBMUEwMDhGMzYzRSAvKiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdX
YXRjaHBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY3
NzAwOEUxNDAyRkRENjAwNzhFQjM5IC8qIFNhbXBsaW5nQ291bnRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTYW1wbGluZ0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY3NzAwOTExNDAyRkYyODAwNzhFQjM5IC8qIFNhbXBsaW5nQ291bnRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTYW1wbGluZ0NvdW50ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjc5MDg1MzE5QTI5MEIyMDBGNjMx
MEMgLyogREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOyBw
YXRoID0gZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEY3OTA4NTQxOUEyOTBCMjAwRjYzMTBDIC8qIERGR1N0cnVjdHVy
ZVJlZ2lzdHJhdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4MDIzRTkx
NjEzODMyMzAwQTBCQTQ1IC8qIEJ5VmFsSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBCeVZhbEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4MzM1
QjQxNjM5QzFFMzAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGODMzNUI1MTYzOUMxRTMwMDE0NDNCNSAv
KiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdCcmFuY2hEaXJlY3Rpb24uaDsgcGF0aCA9
IGRmZy9ERkdCcmFuY2hEaXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY4ODVFMTAxODQ5QTNCRTAwRjFFM0ZBIC8qIEJ5dGVjb2RlVXNlRGVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVjb2RlVXNlRGVmLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGODkzQkRBMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdTdHJ1Y3R1cmVBYnN0
cmFjdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1N0
cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR1N0cnVjdHVyZUFic3RyYWN0
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjg5OEYyRjFCMjc2ODlG
MDA4M0EzM0MgLyogREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4OThGMzAxQjI3Njg5RjAwODNBMzND
IC8qIERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmg7IHBhdGgg
PSBkZmcvREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY4RjE0MkYxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Vwb2NoLmNwcDsgcGF0aCA9
IGRmZy9ERkdFcG9jaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEYxNDMw
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdFcG9jaC5oOyBwYXRoID0gZGZnL0RGR0Vwb2NoLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGOEYxNDMxMUFERjA5MDEwMEVENzkyQyAvKiBERkdNb3ZIaW50UmVt
b3ZhbFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR01v
dkhpbnRSZW1vdmFsUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR01vdkhpbnRSZW1vdmFsUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGMTQzMjFBREYwOTAxMDBFRDc5
MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdNb3ZIaW50UmVtb3ZhbFBoYXNlLmg7IHBhdGggPSBkZmcvREZHTW92SGludFJl
bW92YWxQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGMkI5MzE3MkUw
NDlFMDA3REJEQTUgLyogRlRMTGluay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExMaW5rLmNw
cDsgcGF0aCA9IGZ0bC9GVExMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEY4RjJCOTQxNzJFMDQ5RTAwN0RCREE1IC8qIEZUTExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
TGluay5oOyBwYXRoID0gZnRsL0ZUTExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4RjJCOTcxNzJGMDRGRDAwN0RCREE1IC8qIERGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOyBwYXRoID0gZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGOEYyQjk4MTcyRjA0RkQwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmllcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHRGVzaXJlZElkZW50aWZpZXJzLmg7IHBhdGggPSBkZmcvREZHRGVzaXJl
ZElkZW50aWZpZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEYyQjlEMTcz
MDZDOEIwMDdEQkRBNSAvKiBTb3VyY2VDb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJj
ZUNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjhGOTQzQTE2Njc2MzEx
MDBENjE5NzEgLyogQ29kZVNwZWNpYWxpemF0aW9uS2luZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4Rjk0M0QxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9j
a0hhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29kZUJsb2Nr
SGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOEY5NDNFMTY2NzYzMkQw
MEQ2MTk3MSAvKiBDb2RlQmxvY2tIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvZGVCbG9ja0hhc2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4Rjk0
M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENvZGVUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY4Rjk0NDMxNjY3NjM1MjAwRDYxOTcxIC8qIEpJVENvZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUQ29kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGOEY5NDQ1MTY2NzY0RUUwMEQ2MTk3MSAvKiBDb2RlT3JpZ2luLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvZGVPcmlnaW4uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQwOTE1N0VFMDlEMDA0QTRFN0QgLyogSlNTeW1i
b2xUYWJsZU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1N5bWJvbFRhYmxlT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MTlEMEExNTdFRTA5RDAwNEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTeW1ib2xUYWJsZU9iamVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQwRTE1N0YzMzI3MDA0QTRFN0QgLyogSlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjkxOUQyMjE1ODUzQ0RF
MDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXYXRjaHBvaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MTlEMjMxNTg1M0NERTAwNEE0RTdEIC8qIFdhdGNocG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2F0Y2hwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3ltYm9sVGFibGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjkzMzI5MzE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0
dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbExpbmtTdGF0
dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjkzMzI5NDE0Q0E3REMxMDA4
NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FsbExpbmtTdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5MzMy
OTUxNENBN0RDMTAwODVGM0M2IC8qIEdldEJ5SWRTdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR2V0QnlJZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGOTMzMjk2MTRDQTdEQzEwMDg1RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldEJ5SWRTdGF0dXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5
SWRTdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHV0QnlJ
ZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTMzMjlBMTRDQTdE
QzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFB1dEJ5SWRTdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5
MzMyOUIxNENBN0RDMTAwODVGM0M2IC8qIFN0cnVjdHVyZVNldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY5M0I0QTcxOEI5MkM0RDAwMTc4QTNGIC8qIFB1dEJ5SWRWYXJpYW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1dEJ5SWRWYXJpYW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5M0I0QTgxOEI5MkM0RDAwMTc4QTNGIC8qIFB1
dEJ5SWRWYXJpYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1dEJ5SWRW
YXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTYzQjM2MTNGQzZGREUw
MDAyRDlCMiAvKiBWYWx1ZVByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTZFQkIx
MTY2NzZFRjQwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlQmxvY2tXaXRoSklUVHlwZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjk3NDk2RjE2ODdBREUyMDBBNEZGNkEgLyogSlNDZWxsSW5saW5l
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NlbGxJbmxpbmVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTc4QjNBMUFBRUE3MUQwMDdDNzM2OSAvKiBD
b25zdGFudE1vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29u
c3RhbnRNb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5ODIwNUQxNkJG
RTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQcmVjaXNlSnVtcFRhcmdldHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjk4MjA1RTE2QkZFMzdGMDAyNDBEMDIgLyogUHJlY2lzZUp1bXBU
YXJnZXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWNpc2VKdW1wVGFy
Z2V0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlDNUU1QzE4RTM1RjVFMDBE
NDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBGVExEV0FSRlJlZ2lzdGVyLmNwcDsgcGF0aCA9IGZ0bC9GVExEV0FSRlJlZ2lz
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5QzVFNUQxOEUzNUY1RTAw
RDQzMUMzIC8qIEZUTERXQVJGUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRlRMRFdBUkZSZWdpc3Rlci5oOyBwYXRoID0gZnRsL0ZUTERXQVJGUmVnaXN0ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDMzNkUxNjVEQkI4RDAwNUFEMzg3IC8q
IERpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
aXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOUQzMzk0MTdGRkM0RTYwMDczQzJCQyAvKiBE
RkdGbHVzaGVkQXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
Rmx1c2hlZEF0LmNwcDsgcGF0aCA9IGRmZy9ERkdGbHVzaGVkQXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjlEMzM5NTE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hlZEF0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0ZsdXNoZWRBdC5oOyBwYXRo
ID0gZGZnL0RGR0ZsdXNoZWRBdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlE
MzM5ODE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFN0YWNrTWFwcy5jcHA7IHBhdGggPSBmdGwvRlRMU3Rh
Y2tNYXBzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDMzOTkxODAzQURC
NzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBGVExTdGFja01hcHMuaDsgcGF0aCA9IGZ0bC9GVExTdGFja01hcHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RDM2OTIxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFu
VXBQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDbGVh
blVwUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0NsZWFuVXBQaGFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGOUQzNjkzMUFFOUNDMzMwMDBENERGQiAvKiBERkdDbGVhblVw
UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ2xlYW5VcFBoYXNl
Lmg7IHBhdGggPSBkZmcvREZHQ2xlYW5VcFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGOUUzMjYxMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdTdG9y
ZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjlFMzI2MjFC
MDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2Uu
aDsgcGF0aCA9IGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjlGQjRGMjE3RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tM
YXlvdXRQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdT
dGFja0xheW91dFBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdGFja0xheW91dFBoYXNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkI0RjMxN0ZDQjkxNzAwQ0I2N0Y4IC8q
IERGR1N0YWNrTGF5b3V0UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHU3RhY2tMYXlvdXRQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1N0YWNrTGF5b3V0UGhhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8q
IFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGOUZDOEMwMTRFMUI1RkIwMEQ1MkFFMCAvKiBQb2x5bW9ycGhpY1B1dEJ5SWRM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbHltb3JwaGljUHV0QnlJ
ZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5RkM4QzExNEUxQjVGQjAw
RDUyQUUwIC8qIFB1dEtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHV0
S2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkEyQzE3OTE3RDdDRjg0MDA5
RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRlc3RSdW5uZXJVdGlscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQTJDMTdBMTdEN0NGODQwMDlEMDE1RiAvKiBUZXN0UnVubmVyVXRpbHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdFJ1bm5lclV0aWxzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQTU4MUI3MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxh
Z3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTm9kZUZsYWdz
LmNwcDsgcGF0aCA9IGRmZy9ERkdOb2RlRmxhZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkE1ODFCODE1MEU5NTJBMDBCOUEyRDkgLyogREZHTm9kZUZsYWdzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR05vZGVGbGFncy5oOyBwYXRoID0gZGZnL0RG
R05vZGVGbGFncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkE1ODFCOTE1MEU5
NTJBMDBCOUEyRDkgLyogREZHTm9kZVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHTm9kZVR5cGUuaDsgcGF0aCA9IGRmZy9ERkdOb2RlVHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkE3QThFOTE4QjQxM0M4MDA1MjM3MUQgLyogUmVnLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQTdBOEVBMThCNDEzQzgwMDUyMzcxRCAvKiBSZWcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQTdBOEVEMThDRTRGRDgwMDUyMzcxRCAvKiBTY3JhdGNoUmVnaXN0ZXJBbGxv
Y2F0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyYXRjaFJl
Z2lzdGVyQWxsb2NhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZBQTNF
MDgxOUQwQzJDQjAwRkFDOUUyIC8qIERGR1Byb21vdGVIZWFwQWNjZXNzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Byb21vdGVIZWFwQWNjZXNzLmg7IHBhdGggPSBkZmcv
REZHUHJvbW90ZUhlYXBBY2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZB
RjdFRkExNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVREaXNhc3NlbWJsZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkFGN0VGQjE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNz
ZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVERpc2Fzc2VtYmxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4MjE2NzU0ODBDMDBGOEFC
NkUgLyogRXhpdEtpbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RXhpdEtpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4MzE2NzU0
ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXhpdEtpbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTA1ODcxNjc1
NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlck9TUkV4aXQuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJv
ZmlsZXJPU1JFeGl0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTA1ODgx
Njc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBQcm9maWxlck9TUkV4aXQuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVy
T1NSRXhpdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxMDU4OTE2NzU0ODJF
MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlck9TUkV4aXRTaXRlLmNwcDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyT1NSRXhpdFNpdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkIxMDU4QTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlck9TUkV4aXRTaXRlLmg7IHBhdGggPSBw
cm9maWxlci9Qcm9maWxlck9TUkV4aXRTaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjE0RTFDMTgxMjRBQ0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRJbmxpbmVDYWNoZUdl
bmVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjE0RTFEMTgxMjRB
Q0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkIxNEUyMDE4MTI1NzBCMDA5QjZCNEQgLyogREZHSW5saW5lQ2Fj
aGVXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0lubGluZUNh
Y2hlV3JhcHBlci5oOyBwYXRoID0gZGZnL0RGR0lubGluZUNhY2hlV3JhcHBlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxNEUyMjE4MTMwOTU1MDA5QjZCNEQgLyogREZHSW5s
aW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBERkdJbmxpbmVDYWNoZVdyYXBwZXJJbmxpbmVzLmg7IHBhdGggPSBkZmcvREZHSW5saW5lQ2Fj
aGVXcmFwcGVySW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkIxNzY1
QzE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0hlYXBMb2NhdGlvbi5jcHA7IHBhdGggPSBkZmcvREZH
SGVhcExvY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTc2NUQx
OTZCOEY5RTAwOTEwNTJBIC8qIERGR0hlYXBMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdIZWFwTG9jYXRpb24uaDsgcGF0aCA9IGRmZy9ERkdIZWFwTG9jYXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCMTc2NUUxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR1B1cmVWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdQdXJlVmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR1B1cmVWYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjE3NjVGMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQ
dXJlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUHVyZVZhbHVl
Lmg7IHBhdGggPSBkZmcvREZHUHVyZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjQzOEEyMTkyNzBCMUQwMEUxRkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlU2V0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MTAxNkIzQTk2NDAwM0Y2OTZCIC8qIERGR01pbmlm
aWVkSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTWluaWZpZWRJRC5o
OyBwYXRoID0gZGZnL0RGR01pbmlmaWVkSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBbGxvY2F0b3IuaDsgcGF0aCA9IGRmZy9ERkdBbGxv
Y2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MUExNkI2Mjc3MjAw
M0Y2OTZCIC8qIERGR0NvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdDb21tb24uY3BwOyBwYXRoID0gZGZnL0RGR0NvbW1vbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQjRCNTFCMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdFZGdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0VkZ2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0VkZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI0QjUx
QzE2QjYyNzcyMDAzRjY5NkIgLyogREZHTG9uZ0xpdmVkU3RhdGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTG9uZ0xpdmVkU3RhdGUuY3BwOyBwYXRoID0gZGZn
L0RGR0xvbmdMaXZlZFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZC
NEI1MUQxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0xvbmdMaXZlZFN0YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xvbmdMaXZlZFN0YXRlLmg7IHBhdGggPSBkZmcvREZH
TG9uZ0xpdmVkU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNEI1MUUx
NkI2Mjc3MjAwM0Y2OTZCIC8qIERGR05vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHTm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTm9kZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjRCNTFGMTZCNjI3NzIwMDNGNjk2QiAvKiBERkdOb2Rl
QWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR05vZGVBbGxv
Y2F0b3IuaDsgcGF0aCA9IGRmZy9ERkdOb2RlQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQjRCNTIxMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4ZWN1dGFi
bGVEdW1wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0aW9u
RXhlY3V0YWJsZUR1bXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI0QjUy
MjE2QjYyNzhEMDAzRjY5NkIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjU0Njc2MTRGNTlBRDEwMDJDMjk4OSAvKiBMYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXp5
T3BlcmFuZFZhbHVlUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI1
NDY3ODE0RjVDNDY4MDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5
ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGQjU0NjdDMTRGNUNGRDMwMDJDMjk4OSAvKiBNZXRob2RPZkdl
dHRpbmdBVmFsdWVQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkI3RjM4OTE1RUQ4RTM4MDBGMTY3QjIgLyogQXJyYXlDb252ZW50aW9ucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheUNvbnZlbnRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhBMTVFRDhFMzgwMEYxNjdCMiAvKiBB
cnJheVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlTdG9y
YWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhCMTVFRDhFMzgwMEYx
NjdCMiAvKiBCdXR0ZXJmbHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnV0
dGVyZmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhDMTVFRDhFMzgw
MEYxNjdCMiAvKiBCdXR0ZXJmbHlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEJ1dHRlcmZseUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZCN0YzOEQxNUVEOEUzODAwRjE2N0IyIC8qIEluZGV4aW5nSGVhZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4aW5nSGVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQjdGMzhFMTVFRDhFMzgwMEYxNjdCMiAvKiBJbmRleGluZ0hlYWRlcklu
bGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5kZXhpbmdIZWFkZXJJ
bmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzhGMTVFRDhFMzgw
MEYxNjdCMiAvKiBJbmRleGluZ1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5kZXhpbmdUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjdGMzkw
MTVFRDhFMzgwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJvcGVydHlTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGQjdGMzkxMTVFRDhFMzgwMEYxNjdCMiAvKiBSZWplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQjdGMzkyMTVFRDhFMzgwMEYxNjdCMiAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXJzZUFycmF5VmFsdWVNYXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCQzBBRTQxNDk2QzdDMTAwRDRGQkREIC8qIERG
R0V4aXRQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERG
R0V4aXRQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCQzBBRTUx
NDk2QzdDMTAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERGR0V4aXRQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQkQ3RTY3MTQ0Nzk5OEYwMDQ4MTMxNSAvKiBDb2RlT3JpZ2luLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZCREI5QUMxQUIwRkJDNjAwMEI1N0U1IC8qIERGR0NhbGxDcmVhdGVEaXJlY3RB
cmd1bWVudHNTbG93UGF0aEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdDYWxsQ3JlYXRlRGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaDsgcGF0
aCA9IGRmZy9ERkdDYWxsQ3JlYXRlRGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCRTBGNkIxNkMxREIwMTAwODJDNUU4IC8q
IERGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHQ1BTUmV0aHJlYWRpbmdQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ1BTUmV0
aHJlYWRpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQkUwRjZD
MTZDMURCMDEwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0NQU1JldGhyZWFkaW5nUGhhc2UuaDsgcGF0aCA9IGRm
Zy9ERkdDUFNSZXRocmVhZGluZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQkUwRjZEMTZDMURCMDEwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHUHJlZGljdGlvbklu
amVjdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkJFMEY2RTE2QzFEQjAxMDA4MkM1
RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkJFMEY2RjE2QzFEQjAxMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdVbmlmaWNhdGlvblBoYXNlLmNw
cDsgcGF0aCA9IGRmZy9ERkdVbmlmaWNhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZCRTBGNzAxNkMxREIwMTAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHVW5pZmljYXRpb25QaGFz
ZS5oOyBwYXRoID0gZGZnL0RGR1VuaWZpY2F0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZCRjE1OEExOUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Jsb2NrU2V0LmNwcDsgcGF0
aCA9IGRmZy9ERkdCbG9ja1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
QkYxNThCMTlCN0E1MzEwMDY5NUREMCAvKiBERkdCbG9ja1NldElubGluZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tTZXRJbmxpbmVzLmg7IHBhdGggPSBkZmcv
REZHQmxvY2tTZXRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5
NzY4MTQ2OEE2RUYwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR09TUkV4aXQuaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5NzZGMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdP
U1JFeGl0Q29tcGlsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NS
RXhpdENvbXBpbGVyLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzA5NzcwMTQ2OTNBRUYwMENGMjQ0MiAvKiBERkdPU1JF
eGl0Q29tcGlsZXI2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdPU1JFeGl0Q29tcGlsZXI2NC5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMwOTc3NTE0Njk0M0FEMDBDRjI0
NDIgLyogREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwOyBwYXRoID0gZGZnL0RG
R09TUkV4aXRDb21waWxlcjMyXzY0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZDMDk3N0UxNDY5RUJDNDAwQ0YyNDQyIC8qIERGR0NvbW1vbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdDb21tb24uaDsgcGF0aCA9IGRmZy9ERkdDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMDk3OEUxNDZBNkY2MzAwQ0YyNDQyIC8qIERG
R09TUkV4aXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NS
RXhpdC5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQzA5NzhGMTQ2QTZGNjMwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBp
bGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkMwOTc5RjE0NkIyOEM3MDBDRjI0NDIgLyogREZHVGh1bmtzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1RodW5rcy5jcHA7IHBh
dGggPSBkZmcvREZHVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
MDk3QTAxNDZCMjhDNzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdUaHVua3MuaDsgcGF0aCA9IGRmZy9ERkdUaHVua3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMjBDQjMxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0
cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzIw
Q0I0MTg1MkUyQzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaDsg
cGF0aCA9IGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQzIwQ0I3MTg1NTZBMzUwMEM5RTk1NCAvKiBERkdTU0FMb3dlcmluZ1Bo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1NTQUxvd2Vy
aW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1NTQUxvd2VyaW5nUGhhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkMyMENCODE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NB
TG93ZXJpbmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTU0FM
b3dlcmluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHU1NBTG93ZXJpbmdQaGFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzMTQxMDE4MTQ1NTkxMDAwMzMyMzIgLyogUmVnaXN0
ZXJTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnaXN0ZXJTZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDMzE0MTExODE0NTU5MTAwMDMzMjMyIC8q
IFRlbXBSZWdpc3RlclNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUZW1wUmVnaXN0ZXJTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMz
MTQxNDE4MTQ2RDcwMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVnaXN0ZXJTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkMzQ0NGNTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXAuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tNYXAuaDsgcGF0aCA9IGRmZy9E
RkdCbG9ja01hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzQ0NGNjE5QURB
NDEwMDA2QUM3MkEgLyogREZHQmxvY2tNYXBJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERGR0Jsb2NrTWFwSW5saW5lcy5oOyBwYXRoID0gZGZnL0RGR0Jsb2NrTWFw
SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkMzQ0NGNzE5QURBNDEw
MDA2QUM3MkEgLyogREZHQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHQmxvY2tTZXQuaDsgcGF0aCA9IGRmZy9ERkdCbG9ja1NldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkMzQ0NGODE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tXb3Jr
bGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdCbG9ja1dv
cmtsaXN0LmNwcDsgcGF0aCA9IGRmZy9ERkdCbG9ja1dvcmtsaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZDM0NDRjkxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrV29y
a2xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQmxvY2tXb3JrbGlz
dC5oOyBwYXRoID0gZGZnL0RGR0Jsb2NrV29ya2xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZDM0NDRkExOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdOYWl2ZURvbWluYXRv
cnMuY3BwOyBwYXRoID0gZGZnL0RGR05haXZlRG9taW5hdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGQzNDQ0ZCMTlBREE0MTAwMDZBQzcyQSAvKiBERkdOYWl2ZURvbWlu
YXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTmFpdmVEb21pbmF0
b3JzLmg7IHBhdGggPSBkZmcvREZHTmFpdmVEb21pbmF0b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQzcxMkRDMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDNzEyREQxN0NEODc3
ODAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZDNzEyRTAxN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxh
dGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFRvREZHRGVmZXJyZWRDb21w
aWxhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDNzEy
RTExN0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzgxNTA4MTQwNDNCQ0EwMENGQTYwMyAv
KiBXcml0ZUJhcnJpZXJTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdyaXRlQmFycmllclN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkM4MTUwOTE0MDQzQkQyMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0ZUJhcnJpZXJTdXBwb3J0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQzk3RjJGMTgyMDIwRDcwMDJDOUIyNiAvKiBD
b2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDOTdGMzAxODIwMjBENzAwMkM5QjI2IC8qIENvZGVC
bG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZDOTdGMzcxODIwMjExOTAwMkM5QjI2IC8qIERGR0ludmFsaWRhdGlvblBv
aW50SW5qZWN0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZH
SW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQzk3RjM4MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlkYXRpb25Qb2lu
dEluamVjdGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0lu
dmFsaWRhdGlvblBvaW50SW5qZWN0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdJbnZhbGlkYXRp
b25Qb2ludEluamVjdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
Qzk3RjM5MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHSnVtcFJlcGxhY2VtZW50LmNwcDsgcGF0
aCA9IGRmZy9ERkdKdW1wUmVwbGFjZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkM5N0YzQTE4MjAyMTE5MDAyQzlCMjYgLyogREZHSnVtcFJlcGxhY2VtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0p1bXBSZXBsYWNlbWVudC5oOyBwYXRo
ID0gZGZnL0RGR0p1bXBSZXBsYWNlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkM5N0YzQjE4MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFz
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdXYXRjaHBvaW50
Q29sbGVjdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBo
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDOTdGM0MxODIwMjExOTAw
MkM5QjI2IC8qIERGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oOyBwYXRoID0g
ZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTbG90VmlzaXRvcklubGluZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8q
IFBhcnNlckVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckVy
cm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUE5MTgwNEMxM0UwMDQ3
MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGVExTYXZlUmVzdG9yZS5jcHA7IHBhdGggPSBmdGwvRlRMU2F2ZVJlc3RvcmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFBQTE4MDRDMTNFMDA0NzJDRTQg
LyogRlRMU2F2ZVJlc3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
U2F2ZVJlc3RvcmUuaDsgcGF0aCA9IGZ0bC9GVExTYXZlUmVzdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxM
Vk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uaDsg
cGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNo
LW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGli
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5
MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlND
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQx
MDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3Zl
cnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0
MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxs
dm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNF
RkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0
aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsg
cGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExW
TUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUw
MDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExM
Vk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBs
bHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
RUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExMVk1IZWFkZXJzLmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAv
KiBMTFZNQW5jaG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExM
Vk1BbmNob3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFEQjE4MDY0
QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gY29uZmlnX2xsdm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
REQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZUTExvY2F0aW9uLmNwcDsgcGF0aCA9IGZ0bC9GVExMb2NhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQURFMTgwNzM4QzAwMDQ3
MkNFNCAvKiBGVExMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExMb2NhdGlvbi5oOyBwYXRoID0gZnRsL0ZUTExvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRDEyMDJEMUE4QUVEMTIwMDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEpTQ2FsbEJhc2UuY3Bw
OyBwYXRoID0gZnRsL0ZUTEpTQ2FsbEJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkQxMjAyRTFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExKU0NhbGxCYXNlLmg7IHBhdGggPSBmdGwvRlRM
SlNDYWxsQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQxMjAzMTFBOEM4
NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBGVExKU0NhbGxWYXJhcmdzLmNwcDsgcGF0aCA9IGZ0bC9GVExKU0Nh
bGxWYXJhcmdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEMTIwMzIxQThD
ODVCRDAwMEY1MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gRlRMSlNDYWxsVmFyYXJncy5oOyBwYXRoID0gZnRsL0ZUTEpTQ2FsbFZhcmFy
Z3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4
MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3RydWN0dXJlSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQz
QzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNC
IC8qIERGR0RyaXZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2
ZXIuaDsgcGF0aCA9IGRmZy9ERkdEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZENTY1MjIxNkFCNzgwQTAwMTk3NjUzIC8qIERGR0Jhc2ljQmxvY2tJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Jhc2ljQmxvY2tJbmxpbmVzLmg7IHBh
dGggPSBkZmcvREZHQmFzaWNCbG9ja0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZEODFBQ0YxNTRGQjRFQjAwOTgzRTcyIC8qIERGR0RvbWluYXRvcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHRG9taW5hdG9ycy5jcHA7IHBhdGgg
PSBkZmcvREZHRG9taW5hdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDgxQUQwMTU0RkI0RUIwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0RvbWluYXRvcnMuaDsgcGF0aCA9IGRmZy9ERkdEb21pbmF0
b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDgyRTFFMTQxNzJDMkYwMDE3
OUM5NCAvKiBERkdDYXBhYmlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHQ2FwYWJpbGl0aWVzLmNwcDsgcGF0aCA9IGRmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkUxRjE0MTcyQzJGMDAxNzlD
OTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0NhcGFiaWxpdGllcy5oOyBwYXRoID0gZGZnL0RGR0NhcGFiaWxpdGllcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkUzNzE0MUFCMTQyMDAxNzlDOTQgLyogQ29tcGFj
dEpJVENvZGVNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGFjdEpJ
VENvZGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEODJFNEYxNDFEQUVB
MTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNwZWN1bGF0ZWRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDgyRTUyMTQxREFFREUwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdPU1JFbnRyeS5jcHA7IHBhdGggPSBkZmcvREZHT1NS
RW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4MkU1MzE0MURBRURF
MDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHT1NSRW50cnkuaDsgcGF0aCA9IGRmZy9ERkdPU1JFbnRyeS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkQ4MkU4NDE0MUYzRkRBMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BlY3VsYXRlZFR5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxMTE3RDQzMjZDMDBD
QTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvZGVCbG9ja1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDhBMzEyMTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29kZUJsb2NrU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRDhBMzE1MTdENTFGMjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMRm9yT1NSRW50cnlK
SVRDb2RlLmNwcDsgcGF0aCA9IGZ0bC9GVExGb3JPU1JFbnRyeUpJVENvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxNjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMRm9y
T1NSRW50cnlKSVRDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEZv
ck9TUkVudHJ5SklUQ29kZS5oOyBwYXRoID0gZnRsL0ZUTEZvck9TUkVudHJ5SklUQ29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMxNzE3RDUxRjIyMDBDQTJDNDAgLyog
RlRMT1NSRW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
T1NSRW50cnkuY3BwOyBwYXRoID0gZnRsL0ZUTE9TUkVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZEOEEzMTgxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTE9TUkVudHJ5Lmg7IHBhdGggPSBm
dGwvRlRMT1NSRW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOEEzMUQx
N0Q1MUY1NzAwQ0EyQzQwIC8qIERGR09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkVudHJ5cG9pbnRDcmVhdGlv
blBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDhBMzFFMTdENTFGNTcwMENBMkM0MCAv
KiBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDhBMzFGMTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVyVXBDaGVja0luamVjdGlvblBo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1RpZXJVcENo
ZWNrSW5qZWN0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9u
UGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ4QTMyMDE3RDUxRjU3
MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNlLmg7IHBhdGgg
PSBkZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9GVExEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwOyBwYXRoID0gZGZnL0RG
R1RvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZEOEEzMjIxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1RvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7IHBhdGggPSBkZmcvREZHVG9GVExE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZEOEEzMjMxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHA7
IHBhdGggPSBkZmcvREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDhBMzI0MTdENTFGNTcwMENB
MkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1RvRlRMRm9yT1NSRW50cnlEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaDsgcGF0aCA9IGRmZy9ERkdUb0ZUTEZvck9TUkVudHJ5
RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYXRjaFNjb3BlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTQ5N0YxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hT
Y29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NhdGNoU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTQ5ODAxQTk3REI5NjAwRTI4OTY2IC8q
IEpTRnVuY3Rpb25OYW1lU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNGdW5jdGlvbk5hbWVTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRDk0OTgxMUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9uTmFtZVNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25OYW1lU2NvcGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEQjJDQzcxNzNEQTUxRTAwN0IzQzFCIC8qIEZU
TEFiYnJldmlhdGVkVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQWJicmV2aWF0ZWRUeXBlcy5o
OyBwYXRoID0gZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZEQjJDQzgxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZUTFZhbHVlRnJvbUJsb2NrLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVG
cm9tQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEQjJDRTUxNzQ4MzBB
MjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IERGR1dvcmtsaXN0LmNwcDsgcGF0aCA9IGRmZy9ERkdXb3JrbGlzdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGREIyQ0U2MTc0ODMwQTIwMDdCM0MxQiAvKiBE
RkdXb3JrbGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdXb3JrbGlz
dC5oOyBwYXRoID0gZGZnL0RGR1dvcmtsaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGREIyQ0U5MTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9jay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25jdXJyZW50SklUTG9jay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkREQkZCMjE2NjZFRUQ1MDBDNTVGRUYgLyogREZHVmFy
aWFibGVBY2Nlc3NEYXRhRHVtcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcDsgcGF0aCA9IGRmZy9ERkdWYXJpYWJs
ZUFjY2Vzc0RhdGFEdW1wLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEREJG
QjMxNjY2RUVENTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHVmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5oOyBw
YXRoID0gZGZnL0RGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZFMDUwMEMxQUE5MDkxMTAwRDMzQjMzIC8qIEFyZ3VtZW50c01vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJndW1lbnRzTW9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAwRDFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0
QXJndW1lbnRzT2Zmc2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGRTA1MDBFMUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHNPZmZzZXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlyZWN0QXJndW1lbnRzT2Zmc2V0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDBGMUFBOTA5MTEwMEQzM0IzMyAvKiBE
aXJlY3RBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGlyZWN0QXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFMDUw
MTAxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaXJlY3RBcmd1bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY0FyZ3VtZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAxMjFBQTkwOTExMDBEMzNCMzMgLyogR2Vu
ZXJpY0FyZ3VtZW50c0lubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJpY0FyZ3VtZW50c0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZFMDUwMTMxQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNPZmZzZXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY09mZnNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkUwNTAxQzFBQTkwOTU2MDBEMzNCMzMgLyogQ2xvbmVkQXJndW1lbnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsb25lZEFyZ3VtZW50cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDFEMUFBOTA5NTYwMEQzM0Iz
MyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2xvbmVkQXJndW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDFF
MUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZWRBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2NvcGVkQXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZFMDUwMUYxQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlZEFyZ3VtZW50
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY29wZWRBcmd1bWVudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFMDUwMjAxQUE5MDk1NjAwRDMzQjMzIC8q
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RTA1MDIxMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZU9mZnNldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY29wZU9mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRTA1MDIyMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZU9mZnNldC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY29wZU9mZnNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkUwNTAyMzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhck9mZnNldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDI0MUFBOTA5NTYwMEQzM0IzMyAv
KiBWYXJPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmFyT2Zmc2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTA1MDJFMUFBQTgwNjkwMEQzM0Iz
MyAvKiBTY29wZWRBcmd1bWVudHNUYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY29wZWRBcmd1bWVudHNUYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRTIyOEVBMTQzNkFCMjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkUyMjhFQjE0MzZBQjIzMDAxOTZDNDggLyogT3B0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGRTI1NEY0MUFCREREMjIwMEE3QzZEMiAvKiBERkdWYXJhcmdzRm9y
d2FyZGluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1ZhcmFyZ3NGb3J3YXJk
aW5nUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkUyNTRGNTFBQkRE
RDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYXJhcmdzRm9yd2FyZGluZ1BoYXNlLmg7IHBhdGggPSBk
ZmcvREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkU3MjExQjE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdUcmFuc2l0aW9uLmNwcDsgcGF0aCA9
IGRmZy9ERkdUcmFuc2l0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZF
NzIxMUMxOTNCOUM1OTAwMzFGNkVEIC8qIERGR1RyYW5zaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHVHJhbnNpdGlvbi5oOyBwYXRoID0gZGZnL0RGR1RyYW5zaXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFODM0MTUxQTZFRjk3QjAwRDA0
ODQ3IC8qIFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFODM0MTYxQTZFRjk3QjAwRDA0ODQ3IC8qIFBvbHlt
b3JwaGljQ2FsbFN0dWJSb3V0aW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRTg1MzQ5MTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHRGVzaXJlZFdhdGNocG9p
bnRzLmNwcDsgcGF0aCA9IGRmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkU4NTM0QTE3MjNDREE1MDBCNjE4RjUgLyogREZHRGVzaXJl
ZFdhdGNocG9pbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Rlc2ly
ZWRXYXRjaHBvaW50cy5oOyBwYXRoID0gZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkU5NUY3NzE4QjU2OTQ3MDBCNTMxRkIgLyogRlRM
RGF0YVNlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
RGF0YVNlY3Rpb24uY3BwOyBwYXRoID0gZnRsL0ZUTERhdGFTZWN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFOTVGNzgxOEI1Njk0NzAwQjUzMUZCIC8qIEZUTERhdGFT
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTERhdGFTZWN0aW9u
Lmg7IHBhdGggPSBmdGwvRlRMRGF0YVNlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZFQTA5RkQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQWJicmV2aWF0aW9ucy5oOyBwYXRoID0g
ZnRsL0ZUTEFiYnJldmlhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZF
QTA5RkUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENhcGFiaWxpdGllcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExDYXBhYmlsaXRpZXMuY3BwOyBwYXRoID0gZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEw
OUZGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRlRMQ2FwYWJpbGl0aWVzLmg7IHBhdGggPSBmdGwvRlRMQ2FwYWJp
bGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTAwMTcwNTEzREIw
MEJCNzIyQyAvKiBGVExDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTENvbXBpbGUuY3BwOyBwYXRoID0gZnRsL0ZUTENvbXBpbGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEwMTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29t
cGlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExDb21waWxlLmg7IHBh
dGggPSBmdGwvRlRMQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVB
MEEwMjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBGVExKSVRDb2RlLmNwcDsgcGF0aCA9IGZ0bC9GVExKSVRDb2Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMDMxNzA1MTNEQjAwQkI3
MjJDIC8qIEZUTEpJVENvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
SklUQ29kZS5oOyBwYXRoID0gZnRsL0ZUTEpJVENvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZFQTBBMDQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTExvd2VyREZHVG9MTFZNLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTExvd2VyREZHVG9MTFZN
LmNwcDsgcGF0aCA9IGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRUEwQTA1MTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExW
TS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExMb3dlckRGR1RvTExWTS5o
OyBwYXRoID0gZnRsL0ZUTExvd2VyREZHVG9MTFZNLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRUEwQTA2MTcwNTEzREIwMEJCNzIyQyAvKiBGVExPdXRwdXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMT3V0cHV0Lmg7IHBhdGggPSBmdGwvRlRMT3V0cHV0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTA3MTcwNTEzREIwMEJCNzIy
QyAvKiBGVExTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExTdGF0
ZS5oOyBwYXRoID0gZnRsL0ZUTFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGRUEwQTE1MTcwNkJCOTAwMEJCNzIyQyAvKiBGVExTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExTdGF0ZS5jcHA7IHBhdGggPSBmdGwvRlRMU3RhdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEExNzE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZUTEFic3RyYWN0SGVhcC5jcHA7IHBhdGggPSBmdGwvRlRMQWJzdHJhY3RIZWFwLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMTgxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTEFic3RyYWN0SGVhcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExBYnN0cmFjdEhlYXAuaDsgcGF0aCA9IGZ0bC9GVExBYnN0cmFjdEhlYXAuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQTBBMTkxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHA7IHBhdGggPSBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTFB
MTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaDsgcGF0
aCA9IGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRUEwQTFCMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExUeXBlZFBvaW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMVHlwZWRQb2ludGVyLmg7IHBhdGgg
PSBmdGwvRlRMVHlwZWRQb2ludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RUEwQTIxMTcwOTYwNjkwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMQ29tbW9uVmFsdWVzLmg7IHBhdGggPSBmdGwvRlRMQ29t
bW9uVmFsdWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTIyMTcwOTYw
NjkwMEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaDsgcGF0aCA9IGZ0bC9GVExJ
bnRyaW5zaWNSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEw
QTI1MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMQ29tbW9uVmFsdWVzLmNwcDsgcGF0aCA9IGZ0bC9G
VExDb21tb25WYWx1ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEy
NjE3MDk2MjNCMDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcDsg
cGF0aCA9IGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZFQTBBMjkxNzA5NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExPdXRwdXQuY3BwOyBwYXRoID0g
ZnRsL0ZUTE91dHB1dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTJC
MTcwQjY2MTkwMEJCNzIyQyAvKiBGVExGb3JtYXR0ZWRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBGVExGb3JtYXR0ZWRWYWx1ZS5oOyBwYXRoID0gZnRsL0ZUTEZvcm1h
dHRlZFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUEwQTJEMTcwRDQw
QkYwMEJCNzIyQyAvKiBERkdDb21tb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IERGR0NvbW1vbkRhdGEuY3BwOyBwYXRoID0gZGZnL0RGR0NvbW1vbkRhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVBMEEyRTE3MEQ0MEJGMDBCQjcy
MkMgLyogREZHQ29tbW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
RkdDb21tb25EYXRhLmg7IHBhdGggPSBkZmcvREZHQ29tbW9uRGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkVBMEEyRjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdKSVRDb2RlLmNwcDsg
cGF0aCA9IGRmZy9ERkdKSVRDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZFQTBBMzAxNzBENDBCRjAwQkI3MjJDIC8qIERGR0pJVENvZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHSklUQ29kZS5oOyBwYXRoID0gZGZnL0RGR0pJVENvZGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFQjNFQ0UxNjIzN0Y2NzAwQUI2N0FEIC8q
IE1hY3JvQXNzZW1ibGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hY3JvQXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFRDY3
QjcxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDb25zdGFudEhvaXN0aW5nUGhhc2Uu
Y3BwOyBwYXRoID0gZGZnL0RGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGRUQ2N0I4MUIyNjI1NkQwMDY2Q0UxNSAvKiBERkdDb25zdGFu
dEhvaXN0aW5nUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ29u
c3RhbnRIb2lzdGluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHQ29uc3RhbnRIb2lzdGluZ1BoYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRUU5ODQwMUE4ODY1QjYwMDc1NEU5
MyAvKiBTZXR1cFZhcmFyZ3NGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTZXR1cFZhcmFyZ3NGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVF
OTg0MjFBODkyMjc1MDA3NTRFOTMgLyogU2V0dXBWYXJhcmdzRnJhbWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2V0dXBWYXJhcmdzRnJhbWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkVGQzlBNzE2ODFBM0IwMDA1NjdGNTMgLyogREZHT1NS
RXhpdEp1bXBQbGFjZWhvbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0
SnVtcFBsYWNlaG9sZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFRkM5
QTgxNjgxQTNCMDAwNTY3RjUzIC8qIERGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdEp1bXBQbGFjZWhvbGRlci5oOyBw
YXRoID0gZGZnL0RGR09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZGMDU0RjcxQUMzNUI0NDAwRTVCRTU3IC8qIEV4ZWN1dGFibGVBbGxvY2F0
aW9uRnV6ei5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGVjdXRh
YmxlQWxsb2NhdGlvbkZ1enouY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkYw
NTRGODFBQzM1QjQ0MDBFNUJFNTcgLyogRXhlY3V0YWJsZUFsbG9jYXRpb25GdXp6LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4ZWN1dGFibGVBbGxvY2F0aW9uRnV6ei5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0MjcyRjE1OEVCRDQ0MDA0Q0I5RkYgLyog
RGlzYXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpc2Fzc2Vt
Ymxlci5oOyBwYXRoID0gZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0MjczMDE1OEVCRDQ0MDA0Q0I5RkYgLyogVURpczg2RGlzYXNz
ZW1ibGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFVEaXM4NkRp
c2Fzc2VtYmxlci5jcHA7IHBhdGggPSBkaXNhc3NlbWJsZXIvVURpczg2RGlzYXNzZW1ibGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3MzQxNThFQkQ5NDAwNENCOUZG
IC8qIHVkaXM4Nl9kZWNvZGUuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdWRp
czg2X2RlY29kZS5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfZGVjb2RlLmM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzM1MTU4RUJEOTQwMDRDQjlGRiAv
KiB1ZGlzODZfZGVjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4
Nl9kZWNvZGUuaDsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2RlY29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0MjczNjE1OEVCRDk0MDA0Q0I5RkYgLyog
dWRpczg2X2V4dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSB1ZGlzODZf
ZXh0ZXJuLmg7IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9leHRlcm4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3MzcxNThFQkQ5NDAwNENCOUZGIC8qIHVk
aXM4Nl9pbnB1dC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSB1ZGlzODZfaW5w
dXQuYzsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2lucHV0LmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzM4MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
aW5wdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gdWRpczg2X2lucHV0Lmg7
IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9pbnB1dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0MjczOTE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi1h
dHQuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gInVkaXM4Nl9zeW4tYXR0LmMi
OyBwYXRoID0gImRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1hdHQuYyI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNBMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
c3luLWludGVsLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9ICJ1ZGlzODZfc3lu
LWludGVsLmMiOyBwYXRoID0gImRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1pbnRlbC5j
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3M0IxNThFQkQ5NDAwNENCOUZG
IC8qIHVkaXM4Nl9zeW4uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdWRpczg2
X3N5bi5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNDMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZf
c3luLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4Nl9zeW4uaDsgcGF0
aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkY0MjczRDE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3R5cGVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHVkaXM4Nl90eXBlcy5oOyBwYXRoID0gZGlz
YXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfdHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZGNDI3M0UxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Ni5jICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmM7IG5hbWUgPSB1ZGlzODYuYzsgcGF0aCA9IGRpc2Fzc2VtYmxlci91ZGlzODYv
dWRpczg2LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzNGMTU4RUJEOTQw
MDRDQjlGRiAvKiB1ZGlzODYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gdWRp
czg2Lmg7IHBhdGggPSBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY0Mjc0QzE1OEVCRkUxMDA0Q0I5RkYgLyogdWRpczg2X2l0YWJf
aG9sZGVyLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IHVkaXM4Nl9pdGFiX2hv
bGRlci5jOyBwYXRoID0gZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfaXRhYl9ob2xkZXIuYzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNDI3NTYxNTkxNEEyMDAwNENCOUZGIC8q
IExpbmtCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGlu
a0J1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjQyNzYxMTU5MUEx
QzkwMDRDQjlGRiAvKiBERkdEaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHRGlzYXNzZW1ibGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdEaXNhc3Nl
bWJsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY0Mjc2MjE1OTFBMUM5
MDA0Q0I5RkYgLyogREZHRGlzYXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR0Rpc2Fzc2VtYmxlci5oOyBwYXRoID0gZGZnL0RGR0Rpc2Fzc2VtYmxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY2MEFCRjE2NzQwRjgxMDAwMjk3NzkgLyog
UmVkdWNlV2hpdGVzcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWR1Y2VXaGl0ZXNwYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZG
NjBBQzAxNjc0MEY4MTAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVkdWNlV2hpdGVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkY3MTY4QTE1QTNCMjMxMDA4RjVEQUEgLyogUHJvcGVydHlPZmZzZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlPZmZzZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTIxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQnl0ZWNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
UHJvZmlsZXJCeXRlY29kZS5jcHA7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckJ5dGVjb2RlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTMxNjZBRDM0NzAwMEY1QkEz
IC8qIFByb2ZpbGVyQnl0ZWNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
UHJvZmlsZXJCeXRlY29kZS5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5NDE2NkFEMzQ3MDAwRjVCQTMgLyog
UHJvZmlsZXJCeXRlY29kZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gUHJvZmlsZXJCeXRlY29kZXMuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29k
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5NTE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gUHJvZmlsZXJCeXRlY29kZXMuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNv
ZGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTk2MTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb24uY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJv
ZmlsZXJDb21waWxhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcy
OTk3MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb24uaDsgcGF0aCA9IHByb2Zp
bGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZGNzI5OTgxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsYXRpb25L
aW5kLmNwcDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OTkxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQ29tcGlsYXRpb25LaW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmg7IHBhdGggPSBwcm9maWxlci9Qcm9maWxlckNvbXBp
bGF0aW9uS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY3Mjk5QTE2NkFE
MzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyQ29tcGlsZWRCeXRlY29kZS5jcHA7IHBh
dGggPSBwcm9maWxlci9Qcm9maWxlckNvbXBpbGVkQnl0ZWNvZGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkY3Mjk5QjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21w
aWxlZEJ5dGVjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVy
Q29tcGlsZWRCeXRlY29kZS5oOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJDb21waWxlZEJ5dGVj
b2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTlDMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFByb2ZpbGVyRGF0YWJhc2UuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZXJE
YXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOTlEMTY2QUQz
NDcwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFByb2ZpbGVyRGF0YWJhc2UuaDsgcGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyRGF0
YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGNzI5OUUxNjZBRDM0NzAw
MEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBQcm9maWxlckV4ZWN1dGlvbkNvdW50ZXIuaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkY3Mjk5RjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZXJPcmlnaW4uY3BwOyBwYXRoID0g
cHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkY3MjlBMDE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJvZmlsZXJPcmlnaW4uaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVyT3JpZ2luLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjcyOUEx
MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFByb2ZpbGVyT3JpZ2luU3RhY2suY3BwOyBwYXRoID0g
cHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRjcyOUEyMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGVyT3JpZ2luU3RhY2suaDsg
cGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZGOEJERTgxQUQ0Q0Y3MTAwREZFODg0IC8qIEluZmVycmVkVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5mZXJyZWRWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjhCREU5MUFENENGNzEwMERGRTg4NCAv
KiBJbmZlcnJlZFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZmVy
cmVkVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGOTIyQ0YxNEY0NkIx
MzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxl
IjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkwRkZCNkMzNjFBRjQ4RERDMDBE
QjFCRjcgLyogVHlwZW9mVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUeXBlb2ZUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGQjZD
MzcxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVHlwZW9mVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkZDOTlEMDE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnN0YW50TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkZDOTlEMjE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZmZXJOZXV0ZXJpbmdX
YXRjaHBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFycmF5
QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRkM5OUQzMTg0RUUzMTgwMDlDMTBBQiAvKiBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlCdWZmZXJOZXV0
ZXJpbmdXYXRjaHBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRkZDOTRC
MTRFRjkwOTUwMEM3MjUzMiAvKiBERkdDRkFQaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdDRkFQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ0ZBUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkZGQzk0QzE0RUY5MDk1MDBDNzI1
MzIgLyogREZHQ0ZBUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
Q0ZBUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdDRkFQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkZGQzk0RDE0RUY5MDk1MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQ1NFUGhhc2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0NTRVBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZG
RkM5NEUxNEVGOTA5NTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0NTRVBoYXNlLmg7IHBhdGggPSBkZmcvREZHQ1NFUGhhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGRkM5NEYxNEVGOTA5NTAwQzcyNTMyIC8q
IERGR1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1Bo
YXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRkZDOTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRkZDOTUxMTRFRjkwOTUwMEM3MjUzMiAv
KiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGgg
PSBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkZGQzk1MzE0RUY5
MDk1MDBDNzI1MzIgLyogREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZpcnR1YWxSZWdpc3RlckFsbG9j
YXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBo
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGRkM5NTQxNEVGOTA5NTAw
QzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2Uu
aDsgcGF0aCA9IGRmZy9ERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQwRDE3RDYwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFz
ZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCYXNlUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDEyMTEwMjBBNDg3ODA5MDA0ODAy
NTUgLyogbWluaWRvbS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBtaW5pZG9t
LmM7IHBhdGggPSB0ZXN0cy9taW5pZG9tLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBuYW1lID0gbWluaWRvbS5qczsgcGF0aCA9IHRlc3RzL21pbmlkb20u
anM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTIxMTIwMEE0ODc5M0MwMDQ4MDI1
NSAvKiBtaW5pZG9tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBh
dGggPSBtaW5pZG9tOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNDE0
NDhDQTEzQTE3NkVDMDBGNUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkQmxvY2tTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQxNDQ4Q0MxM0ExNzgzNzAwRjVCQTFBIC8qIFRpbnlCbG9vbUZpbHRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW55Qmxvb21GaWx0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNTAxMzIxNTRCQjEzRjAwNUQ4Qzk4IC8qIFdlYWtT
ZXRJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYWtTZXRJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MjBCRTdBMTBBQTZEREIwMEY0
NTVEMiAvKiBXZWFrUmFuZG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YWtSYW5kb20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyMTM1OUEwQTY3N0Y0
RjAwQTgxOTVFIC8qIEpTQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0Jhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI3MTEzODBB
NDYwQkJCMDA4MEVFRUEgLyogSlNCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI5RDc3QjBFRDIw
RDczMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW50ZXJwcmV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyOUQ3
RDMwRUQyMTI4MjAwQjg5NjE5IC8qIEludGVycHJldGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEludGVycHJldGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQyOUQ4NUIwRUQyMThFOTAwQjg5NjE5IC8qIEpTU3RhY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0MjlEODc3MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25IZWxw
ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2VwdGlvbkhl
bHBlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDI5RDg4MzBFRDIxQzNE
MDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNhbXBsaW5nVG9vbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MjlEODg0MEVEMjFDM0QwMEI4OTYxOSAvKiBTYW1wbGluZ1Rvb2wuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2FtcGxpbmdUb29sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE0MjlEOERCMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbEZyYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyOUQ4REMwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFt
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ2Fs
bEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9u
SWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OworCQkxNDI5RDkyRDBFRDIyRDcwMDBC
ODk2MTkgLyogSklULmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJ
VC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MjlEOTJFMEVEMjJENzAwMEI4
OTYxOSAvKiBKSVQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklULmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBO
dW1lcmljU3RyaW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOdW1lcmlj
U3RyaW5ncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJENkYwNjEzNTM5QTI4
MDBCMDJFODYgLyogTWFya2VkQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWFya2VkQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDJENkYwNzEzNTM5QTI4MDBCMDJFODYgLyogTWFya2VkQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTQyRDZGMEUxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrU3RhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDJENkYwRjEzNTM5QTQxMDBCMDJFODYgLyogTWFya1N0YWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmtTdGFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNDJFMzEyQjEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhbmRsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDJFMzEyQzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU2V0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhhbmRsZVNldC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJEMTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFuZGxlU2V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJFMTM0RkYwQTYwMEFGQURCNSAv
KiBIYW5kbGVTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
YW5kbGVTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkUzMTJGMTM0
RkYwQTYwMEFGQURCNSAvKiBIYW5kbGVTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIYW5kbGVTdGFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJF
MzEzMDEzNEZGMEE2MDBBRkFEQjUgLyogTG9jYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyRTMxMzEx
MzRGRjBBNjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWxTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJF
MzEzMjEzNEZGMEE2MDBBRkFEQjUgLyogU3Ryb25nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0cm9uZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJFMzEz
MzEzNEZGMEE2MDBBRkFEQjUgLyogV2Vhay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWFrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDAwNTFGMEE1MzFE
M0IwMDA1RjA2MSAvKiBOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5v
ZGUuaDsgcGF0aCA9IHRlc3RzL05vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTQ0MDA1MjAwQTUzMUQzQjAwMDVGMDYxIC8qIE5vZGUuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBuYW1lID0gTm9kZS5jOyBwYXRoID0gdGVzdHMvTm9kZS5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxNDQwMDc0ODBBNTM2Q0MyMDAwNUYwNjEgLyogTm9kZUxpc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm9kZUxpc3QuaDsgcGF0aCA9IHRlc3RzL05v
ZGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDAwNzQ5MEE1MzZDQzIw
MDA1RjA2MSAvKiBOb2RlTGlzdC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBO
b2RlTGlzdC5jOyBwYXRoID0gdGVzdHMvTm9kZUxpc3QuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQ0MDA3NTUwQTUzNzBEMjAwMDVGMDYxIC8qIEpTTm9kZUxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNOb2RlTGlzdC5oOyBwYXRoID0gdGVzdHMvSlNO
b2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDQwMDc1NjBBNTM3MEQy
MDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUg
PSBKU05vZGVMaXN0LmM7IHBhdGggPSB0ZXN0cy9KU05vZGVMaXN0LmM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0NDBGNjQxMEE0RjhCNkEwMDA1RjA2MSAvKiBKU05vZGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNOb2RlLmg7IHBhdGggPSB0ZXN0cy9KU05v
ZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0MEY2NDIwQTRGOEI2QTAwMDVG
MDYxIC8qIEpTTm9kZS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBKU05vZGUu
YzsgcGF0aCA9IHRlc3RzL0pTTm9kZS5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDQwRjg4RjBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNDQwRjg5MDBBNTA4QjEwMDAwNUYwNjEgLyogSlNDYWxsYmFj
a0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2Fs
bGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NDBGOEFD
MEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDYWxsYmFja0NvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTE0NDBGOEFEMEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlND
YWxsYmFja0NvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0
MEZDRTEwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNDbGFzc1JlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDQwRkNFMjBBNTFFNDZCMDAwNUYwNjEgLyogSlNDbGFzc1JlZi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsYXNzUmVmLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTQ0MjU2NUYxNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2l0aFNjb3BlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ0MjU2NjAxNUVERTk4RDAwNjZBNDlCIC8q
IEpTV2l0aFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2l0aFNj
b3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NTcyMjg1MTQzN0UxNDAwMDVG
REUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0cm9uZ0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ1QzUwN0Yw
RDlERjYzQjAwODhGNkI5IC8qIENhbGxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENhbGxEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0NkFBQjJB
MEI2NkE4NDkwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1N0cmluZ1JlZkNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTE0NkFBQjM3MEI2NkE5NDQwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZ1JlZkNGLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ2QjE0REIxMkVCNUIxMjAwMUJFQzFCIC8qIENvbnNl
cnZhdGl2ZVJvb3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
bnNlcnZhdGl2ZVJvb3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ2RkE1
QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhhbmRsZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0NkZFNTExMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUQ2FsbDMyXzY0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTQ3QjgzQUEwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0
N0I4NDYyMEU2REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHV0UHJvcGVydHlTbG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0ODBEQjlCMEREQzIyN0YwMDNDRkRGMiAvKiBEZWJ1Z2dlckNhbGxGcmFt
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlckNhbGxGcmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDgyQjZFQTBBNDMwMEIzMDA1MTdDRkMg
LyogSlNWYWx1ZVJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZhbHVl
UmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0ODJCNzRCMEE0MzAzMjgwMDUx
N0NGQyAvKiBKU1N0cmluZ1JlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1N0cmluZ1JlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDgyQjc0QzBBNDMw
MzI4MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNTdHJpbmdSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDgyQjc4QTBBNDMwNUFCMDA1MTdDRkMgLyogQVBJQ2FzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBUElDYXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0ODJCN0UxMEE0MzA3NjAwMDUxN0NGQyAvKiBKU09iamVjdFJlZi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU09iamVjdFJlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNDgyQjdFMjBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPYmplY3RSZWYuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxNDg3NEFERjE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1l
U2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYW1lU2Nv
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDg3NEFFMDE1RUJERTRBMDAy
RTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOYW1lU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ4NzRBRTExNUVC
REU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0ODc0
QUUyMTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ4Q0Qx
RDcxMDhDRjkwMjAwODE2M0M2IC8qIEpTQ29udGV4dFJlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb250ZXh0UmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDk1NTlFRDBERENEREY3MDA2NDgwODcgLyogRGVidWdnZXJDYWxs
RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVidWdnZXJD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDlCMjRGRjBEOEFG
NkQxMDA5Q0I4QzcgLyogUmVnaXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVnaXN0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQ5REFBRjIxMkVC
NTU5RDAwODNCMTJCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbnNlcnZhdGl2ZVJvb3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTE0QTE1NjMwMTA5NjYzNjUwMDZGQTI2MCAvKiBEYXRlSW5zdGFuY2VDYWNoZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlSW5zdGFuY2VDYWNoZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEEyM0Q2QzBGNEUxOUNFMDAyM0NEQUQgLyogSklU
U3R1YnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUU3R1YnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEEzOTZBNjBDRDI5MzMxMDBCNUI0
RkYgLyogU3ltYm9sVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lt
Ym9sVGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRBNjU4MUEwRjRFMzZG
NDAwMDE1MEZEIC8qIEpJVFN0dWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpJVFN0dWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJCMzZFMDk5QzA3
NjQwMEUyQTI0RiAvKiBKU0NKU1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0NKU1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJCNDU0
MDk5QzJBMEYwMEUyQTI0RiAvKiBKU1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QUJERjVEMEE0
MzdGRUYwMEVDQ0EwMSAvKiBKU0NhbGxiYWNrT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTRBQkRGNUUwQTQzN0ZFRjAwRUNDQTAxIC8qIEpTQ2FsbGJhY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYWxsYmFja09iamVjdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QjcyMzNGMTJEN0QwREEwMDNCRDVFRCAv
KiBNYWNoaW5lU3RhY2tNYXJrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWFjaGluZVN0YWNrTWFya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMTRCNzIzNDAxMkQ3RDBEQTAwM0JENUVEIC8qIE1hY2hpbmVTdGFja01hcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNoaW5lU3RhY2tNYXJrZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRCQTc4RjAxM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RW
aXNpdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QkE3QTk1MTNBQURGRjgwMDVCN0MyQyAv
KiBIZWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXAuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEJBN0E5NjEzQUFERkY4MDA1QjdDMkMg
LyogSGVhcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0QkQ1OUJGMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0
YXBpICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSB0ZXN0
YXBpOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNEJENUEyOTBBM0U5
MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NvbnRleHRSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxNEJENUEyQTBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NvbnRleHRSZWYuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTRCRDVBMkIwQTNFOTFGNjAwQkFGNTlDIC8qIEpTVmFsdWVSZWYuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVmFsdWVSZWYuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEJENUEyRDBBM0U5MUY2MDBCQUY1OUMgLyog
dGVzdGFwaS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gdGVzdGFwaS5jOyBw
YXRoID0gQVBJL3Rlc3RzL3Rlc3RhcGkuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYWtJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTE0QkZDRTY4MTBDREIxRkMwMDM2NENDRSAvKiBXZWFrR0NNYXAuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0dDTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE0Q0E5NThBMTZBQjUwREUwMDkzOEEwNiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5
emVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Byb3BlcnR5QW5h
bHl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRDQTk1OEMxNkFCNTBGQTAw
OTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0RDJGM0Q4MTM5RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRTcGFjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0RDJGM0Q5MTM5RjRCRTIwMDQ5MTAzMSAvKiBN
YXJrZWRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJrZWRTcGFj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEQ3OTI2NDBEQUEwM0ZCMDAxQTlG
MDUgLyogSlNTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0YWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0RDg0NEEyMTZBQTJDNzAwMEE2NUFG
MCAvKiBQcm90b3R5cGVNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUHJvdG90eXBlTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTREODQ0
QTMxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQcm90b3R5cGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMTREODU3NzQwQTQ2OTZDODAwMzIxNDZDIC8qIHRlc3RhcGkuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSB0ZXN0YXBpLmpzOyBwYXRoID0gQVBJL3Rlc3RzL3Rl
c3RhcGkuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0REE4MThFMEQ5OUZEMjAw
MEIwQTRGQiAvKiBKU0xleGljYWxFbnZpcm9ubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0xleGljYWxFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNERBODE4RjBEOTlGRDIwMDBCMEE0RkIgLyogSlNMZXhpY2FsRW52aXJvbm1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMZXhpY2FsRW52aXJv
bm1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNERFMEQ2ODBEMDI0MzE0
MDBBQUNDQTIgLyogSlNHbG9iYWxPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5jcHA7IH07CisJCTE0REYwNEQ5MTZCMzk5NkQwMDE2QTUxMyAvKiBTdGF0aWNQcm9wZXJ0
eUFuYWx5c2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Byb3Bl
cnR5QW5hbHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRFODRGOTkxNEVF
MUFDQzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWFrQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NEU4NEY5QTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYWtCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNEU4NEY5QjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWFrU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTRFODRGOUMxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha1NldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxNEU4NEY5RDE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0ltcGwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0ltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTRGMjUyNTYwRDA4REQ4RDAwNEVDRkZGIC8qIEpTRW52aXJvbm1lbnRSZWNvcmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnZpcm9ubWVudFJlY29yZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEY3MjU2MzE0RUUyNjVFMDBCMTY1MkIg
LyogV2Vha0hhbmRsZU93bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYWtIYW5kbGVPd25lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0
RjcyNTY0MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0hhbmRsZU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2NyAvKiBIZWFwUm9vdFZpc2l0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFJvb3RWaXNpdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMjhENEE3MTc3QjcxQzgwMDA3RkEzQyAvKiBK
U1N0cmluZ1JlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNT
dHJpbmdSZWZQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQ0Y3Mzc2
MTcxQ0E2RkIwMEM5QkIxRSAvKiBXZWFrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYWsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzkwNTE0
MjBCQTlFOEE3MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQzkwNTE0MzBCQTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gSmF2YVNjcmlwdENvcmUueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOTA1MTQ0MEJBOUU4QTcwMDgxRTlEMCAv
KiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0g
RGVidWdSZWxlYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzkw
NTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAvKiBKYXZhU2NyaXB0Q29yZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyNjAwQjVBNDE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdK
b2luZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJpbmdK
b2luZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNjAwQjVBNTE1MkJBQUE3
MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTdHJpbmdKb2luZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkEw
NUFCRDMxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTA1QUJENDE5NjFERjI0MDAz
NDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyQTExMTI0MzE5MkZDRTc5MDA1RUUxOEQgLyogQ3VzdG9tR2V0dGVyU2V0
dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEN1c3RvbUdldHRl
clNldHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBMTExMjQ0MTkyRkNF
NzkwMDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ3VzdG9tR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJBMzQzRjc0MThBMTc0OEIwMDM5QjA4NSAvKiBHQ1NlZ21lbnRlZEFycmF5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDU2VnbWVudGVkQXJyYXkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkEzNDNGNzcxOEExNzQ5RDAwMzlCMDg1IC8qIEdDU2Vn
bWVudGVkQXJyYXlJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdD
U2VnbWVudGVkQXJyYXlJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJB
NEJCN0YyMThBNDExNzkwMDhBMEZDRCAvKiBKU01hbmFnZWRWYWx1ZUludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWFuYWdlZFZhbHVlSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkE0RUM5MDkxODYwRDZDMjAwOTRGNzgyIC8qIFdy
aXRlQmFycmllckJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXcml0ZUJhcnJpZXJCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QTRFQzkwQTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRlQmFycmllckJ1ZmZlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyQTY4Mjk1QTE4NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRl
QmFycmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3B5V3JpdGVCYXJy
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0
NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhlYXBPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkE3QTU4RUUx
ODA4QTRDNDAwMjBCREY3IC8qIERlZmVyR0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGVmZXJHQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJB
ODM2MzgzMThEN0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTgzNjM4NDE4RDdEMEVFMDAwMEVC
Q0MgLyogRWRlbkdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJBODM2Mzg3MThEN0QwRkUwMDAwRUJDQyAvKiBGdWxsR0NBY3Rpdml0eUNhbGxiYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bGxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTgzNjM4ODE4RDdE
MEZFMDAwMEVCQ0MgLyogRnVsbEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBODgwNjc2MTkxMDdENTUwMENCMEJCQiAvKiBERkdGdW5jdGlvbldo
aXRlbGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGdW5j
dGlvbldoaXRlbGlzdC5jcHA7IHBhdGggPSBkZmcvREZHRnVuY3Rpb25XaGl0ZWxpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTg4MDY3NzE5MTA3RDU1MDBDQjBCQkIgLyog
REZHRnVuY3Rpb25XaGl0ZWxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHRnVuY3Rpb25XaGl0ZWxpc3QuaDsgcGF0aCA9IGRmZy9ERkdGdW5jdGlvbldoaXRlbGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFBQTMxMDE4QkQ0OUQxMDAzOTRDQzgg
LyogU3RydWN0dXJlSURCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0
cnVjdHVyZUlEQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFCQ0RFNjE4
RUYyOTQyMDAwMDIwOTYgLyogR0NMb2dnaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEdDTG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUFDRTYz
QTE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQUNFNjNCMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0
eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQUQ5NjQ5MTg1Njk0
MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJBQzkyMkI5MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRl
YnVnTGluZUluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRM
RFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcDsgcGF0aCA9IGZ0bC9GVExEV0FSRkRlYnVnTGluZUluZm8u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUM5MjJCQTE4QTE2MTgyMDAzQ0Uw
RkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEZUTERXQVJGRGVidWdMaW5lSW5mby5oOyBwYXRoID0gZnRsL0ZUTERXQVJGRGVidWdM
aW5lSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUQyRURGQTE5Nzk5RTM4
MDA0RDY0NzggLyogRW51bWVyYXRpb25Nb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEVudW1lcmF0aW9uTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QUQ4OTMyOTE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBJdGVyYXRpb25TY29wZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyQURGQTI2MjE4RUYzNTQwMDA0RjlGQ0MgLyogR0NMb2dnaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDTG9nZ2luZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAv
KiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFN0cnVjdHVyZUlEVGFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
QUY3MzgyQjE4QkJCRjkyMDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVJRFRhYmxlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTM3MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJ6LmR5bGliOyBwYXRoID0gdXNyL2xpYi9saWJ6LmR5
bGliOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJNDM0MEE0ODIxQTkwNTFBRjAwRDczQ0NB
IC8qIE1hdGhDb21tb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWF0aENvbW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzNDBBNDgzMUE5
MDUxQUYwMEQ3M0NDQSAvKiBNYXRoQ29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1hdGhDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5MDk3
RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC54Y2NvbmZpZzsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZYXJyLmg7IHBhdGggPSB5YXJyL1lhcnIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBqc2MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDQ7
IH07CisJCTUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJz
b2x1dGU+IjsgfTsKKwkJNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGls
ZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9s
aWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk1MjY3OEY4QzFB
MDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2ljQmxvY2tMb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTUyNjc4RjhEMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2Nr
TG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFzaWNCbG9ja0xv
Y2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyNjc4RjkwMUEwNDE3N0Mw
MDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbnRyb2xGbG93UHJvZmlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTI3NzczREQxQUFGODNBQzAwQkRFN0U4IC8qIFJ1bnRpbWVUeXBlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVUeXBlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJCMzEwRkExOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9u
SGFzRXhlY3V0ZWRDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGdW5jdGlvbkhhc0V4ZWN1dGVkQ2Fj
aGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJCMzEwRkMxOTc0QUU4NzAwODA4
NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
dW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MkIzMTBGRTE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gVHlwZUxvY2F0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1MkIzMTEwMDE5NzVCNDY3MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVHlwZUxvY2F0aW9uQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTJCNzE3QjQxQTA1OTdFMTAwN0FGNEYzIC8qIENvbnRyb2xGbG93UHJvZmls
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udHJvbEZsb3dQ
cm9maWxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyQzA2MTFEMUFBNTFF
MUIwMEI0QURCQSAvKiBSdW50aW1lVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSdW50aW1lVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkM5NTJC
NjE5QTI4OTg1MDA2OUIzODYgLyogVHlwZVByb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVQ
cm9maWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkM5NTJCODE5QTI4QTFD
MDA2OUIzODYgLyogVHlwZVByb2ZpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFR5cGVQcm9m
aWxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU1NDA3NTg0MThGNEEzNzUw
MDYwMkE1RCAvKiBDb21waWxlUnVudGltZVRvTExWTUlSLnhjY29uZmlnICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC54Y2NvbmZpZzsgcGF0aCA9IENvbXBpbGVSdW50aW1lVG9MTFZNSVIueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBE
YXRhSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBEYXRhSW5s
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RDUzNzI2RDBFMUM1NDZCMDAy
MUU1NDkgLyogVHJhY2luZy5kICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFRyYWNpbmcuZDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUQ1MzcyNkUwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRy
YWNpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhY2luZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RDUzNzI3RDBFMUM1NUVDMDAyMUU1NDkgLyogVHJh
Y2luZ0R0cmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFjaW5nRHRy
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVENUQ4QUQwMEUwRDBFQkUwMEY5
QzY5MiAvKiBsaWJlZGl0LmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJlZGl0LmR5
bGliOyBwYXRoID0gL3Vzci9saWIvbGliZWRpdC5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1
dGU+IjsgfTsKKwkJNURBRkQ2Q0IxNDZCNjg2MzAwRkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25m
aWc7IHBhdGggPSBKU0MueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVE
RERGNDQ2MTRGRUU3MjIwMEI0RkI0RCAvKiBMTEludERlc2lyZWRPZmZzZXRzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50RGVzaXJlZE9mZnNldHMuaDsgcGF0aCA9IExM
SW50T2Zmc2V0cy9MTEludERlc2lyZWRPZmZzZXRzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CisJCTVERTNEMEY0MEREOERERkIwMDQ2ODcxNCAvKiBXZWJLaXRBdmFpbGFi
aWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QXZhaWxhYmls
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQTlBMjlFMUIwQkVENDgwMEJE
NTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdMYXp5Tm9kZS5jcHA7IHBhdGggPSBkZmcvREZHTGF6eU5vZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2MkE5QTI5RjFCMEJFRDQ4MDBCRDU0Q0EgLyogREZHTGF6
eU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTGF6eU5vZGUuaDsg
cGF0aCA9IGRmZy9ERkdMYXp5Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
MkQyRDM4RDFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGdW5jdGlvblJhcmVEYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjJEMkQzOEUxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0
aW9uUmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25S
YXJlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTA3RDI5NzBFODcxRTRB
MDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1R5cGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MTEyMkU1MTQw
NDY5QkEwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IHRlc3RSZWdFeHAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRh
YmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gdGVzdFJlZ0V4cDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNjUxNEYyMTcxOEIzRTE2NzAwOThGRjhCIC8qIEJ5
dGVjb2Rlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29kZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjUxNEYyMTgxOEIzRTE2NzAwOThGRjhCIC8q
IEluaXRCeXRlY29kZXMuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gSW5pdEJ5dGVjb2Rlcy5hc207
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MjlGQjMwMThCMkQ2MzkwMEM2MTEwMiAv
KiBnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsg
cGF0aCA9ICJnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1MjlGQjMxMThCMkQ5OTkwMEM2MTEwMiAvKiBCeXRlY29kZUxpc3QuanNvbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBCeXRlY29kZUxpc3QuanNvbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNjUyQTNBMjAxNjUxQzY2MTAwQTgwQUZFIC8qIEFSTTY0RGlzYXNzZW1ibGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFSTTY0RGlzYXNzZW1i
bGVyLmNwcDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9BUk02NERpc2Fzc2VtYmxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MkEzQTIyMTY1MUM2OTcwMEE4MEFGRSAvKiBBNjRE
T3Bjb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEE2NERPcGNv
ZGUuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NTJBM0EyMzE2NTFDNjk3MDBBODBBRkUgLyogQTY0RE9w
Y29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBNjRET3Bjb2RlLmg7IHBh
dGggPSBkaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2NTMwM0Q2MzE0NDdCOUUxMDBEM0Y5MDQgLyogUGFyc2VyVG9rZW5zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlclRva2Vucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2NTQwMEMxMDBBNjlCQUYyMDA1MDk4ODcgLyogUHJvcGVydHlO
YW1lQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3BlcnR5TmFt
ZUFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NDZGNTFGMUEzMkE1OUMw
MDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IE51bGxHZXR0ZXJGdW5jdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcuY3BwOyB9OworCQk2NTQ2RjUyMDFBMzJBNTlDMDA2RjA3RDUgLyogTnVsbEdl
dHRlckZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bGxHZXR0
ZXJGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTUyNUZDMzFBNkRE
M0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE51bGxTZXR0ZXJGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTY1NTI1RkM0MUE2REQzQjMwMDdCNTQ5NSAvKiBOdWxsU2V0dGVyRnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTnVsbFNldHRlckZ1bmN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NTNBMzJGMTdBMUYxRUUwMDhD
RjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NTUzQTMzMDE3QTFGMUVFMDA4Q0Y2RjMgLyogQ29tbW9u
U2xvd1BhdGhzRXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b21tb25TbG93UGF0aHNFeGNlcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTY1NTcwRjU4MUFBNEMwMEEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlZ3Jlc3MxNDEyNzUuaDsgcGF0aCA9IEFQSS90ZXN0cy9S
ZWdyZXNzMTQxMjc1Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NTcwRjU5MUFB
NEMwMEEwMDlCM0MyMyAvKiBSZWdyZXNzMTQxMjc1Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gUmVncmVzczE0MTI3NS5tbTsgcGF0aCA9IEFQSS90ZXN0cy9SZWdy
ZXNzMTQxMjc1Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NTVFQjI5QTEwQ0Uy
NTgxMDAxQTk5MEUgLyogTm9kZXNDb2RlZ2VuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5vZGVzQ29kZWdlbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IENvcmVGb3VuZGF0aW9uLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJl
ZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNjU2MjFFNkIwODlFODU5NzAwNzYwRjM1IC8qIFByb3Bl
cnR5U2xvdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQcm9wZXJ0eVNsb3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IH07CisJCTY1NjIxRTZDMDg5RTg1OTcwMDc2MEYzNSAvKiBQcm9wZXJ0eVNsb3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJv
cGVydHlTbG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
NjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2FsbGVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNjU3Q0Y0NTcxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTY1ODYwMTc3MTg1QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NThE
M0E1NTE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gVk1FbnRyeVJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLm9iamNwcDsgfTsKKwkJNjU5ODdGMkMxNjdGRTg0QjAwM0MyRjhEIC8qIERGR09TUkV4
aXRDb21waWxhdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
T1NSRXhpdENvbXBpbGF0aW9uSW5mby5oOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxhdGlv
bkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjU5ODdGMkYxNjgyOEE3RTAw
M0MyRjhEIC8qIFVudXNlZFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVW51c2VkUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMjg0
RjE3MTc5NUUyMDAzNTFFMzUgLyogQVJNdjdEaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQVJNdjdEaXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlz
YXNzZW1ibGVyL0FSTXY3RGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjVDMDI4NUExNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUk12N0RPcGNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMjg1QjE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdE
T3Bjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFSTXY3RE9wY29kZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUMwMkZCQjA2Mzc0NjJBMDAzRTdFRTYg
LyogUHJvdGVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcm90ZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsg
fTsKKwkJNjVDN0ExNzEwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8q
IEpTV3JhcHBlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNX
cmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1RTg2NkVEMERE
NTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTb3VyY2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2NUU4NjZFRTBERDU5QUZBMDBBMkIyQTEgLyogU291cmNlQ29kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1RUE0Qzk5MDkyQUY5RTIwMDkzRDgwMCAvKiBKU0xvY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQk2NUVBNEM5QTA5MkFG
OUUyMDA5M0Q4MDAgLyogSlNMb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IH07CisJCTY1RUE3MzYyMEJBRTM1RDEwMDFCQjU2MCAvKiBDb21tb25JZGVudGlm
aWVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tbW9uSWRl
bnRpZmllcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2NUVBNzM2MzBCQUUz
NUQxMDAxQkI1NjAgLyogQ29tbW9uSWRlbnRpZmllcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbklkZW50aWZpZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTY1RkI1MTE1MTg0RUU4RjgwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b0NhbGxGcmFtZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJvdG9DYWxs
RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdG9DYWxs
RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QUQyQ0I0QzE5QjkxNDAx
MDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEZWJ1Z2dlckV2YWxFbmFibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTcwMTEzRDQ5MUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSXRlcmF0b3JPcGVyYXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzAxMTNENEExQThEQjA5MzAwMzg0
OEM0IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJdGVyYXRvck9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzA0RkQzNTMwNTY5N0U2RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQm9vbGVhbk9iamVjdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCTcwNUI0MUEzMUE2RTUw
MUUwMDcxNjc1NyAvKiBTeW1ib2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3ltYm9sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTQx
QTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTeW1ib2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTUxQTZF
NTAxRTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN5bWJvbENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzA1QjQxQTYxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVj
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbENvbnN0cnVjdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwNUI0MUE3MUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU3ltYm9sT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA1QjQx
QTgxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTeW1ib2xPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzA1QjQxQTkxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbFByb3RvdHlwZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeW1ib2xQcm90b3R5cGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MDVCNDFBQTFBNkU1MDFFMDA3MTY3NTcgLyogU3lt
Ym9sUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbFBy
b3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MDk0QzREQzFBRTQzOTUz
MDA0MUEyRUUgLyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5
dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3MDlGQjg2MTFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vha1NldC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTcwOUZCODYyMUFFMzM1QzYwMDM5RDA2OSAvKiBKU1dlYWtTZXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWFrU2V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcwOUZCODYzMUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29u
c3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vha1Nl
dENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzA5RkI4NjQx
QUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWFrU2V0Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzA5RkI4NjUxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vha1NldFByb3RvdHlw
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwOUZCODY2MUFFMzM1QzYwMDM5
RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYWtTZXRQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBC
MEE5RDAxQTlCNjYyMDAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSdW50aW1lRmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzBEQzNFMDcxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEl0ZXJhdG9yUHJvdG90eXBlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBEQzNFMDgxQjJERjJDNzAwMDU0Mjk5
IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEl0ZXJhdG9yUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUMw
RUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RyaW5nSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3MEVDMEVCRDFBQTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJ
dGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0l0ZXJh
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUMwRUMwMUFBMEQ3REEwMEI2
QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcwRUMwRUMxMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVy
YXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdJ
dGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYw
MDFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjAxMUFGREJFQTIwMDQ0OTczOSAvKiBK
U1RlbXBsYXRlUmVnaXN0cnlLZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcw
RUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRlbXBsYXRlUmVnaXN0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYwMzFBRkRCRUEyMDA0NDk3MzkgLyogVGVtcGxh
dGVSZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZW1wbGF0ZVJl
Z2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjA0MUFGREJFQTIw
MDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRlbXBsYXRlUmVnaXN0cnlLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0MwMDhDRDAxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNQ
cm9taXNlRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNw
ZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTdDMDA4Q0QxMTg2
RjhBOTMwMDk1NUMyNCAvKiBKU1Byb21pc2VGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNQcm9taXNlRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTdDMDA4Q0Q4MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb21pc2VEZWZlcnJl
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDA4Q0Q5MTg3MTI0QkIwMDk1
NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1Byb21pc2VEZWZlcnJlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyogSlNQcm9taXNlUmVhY3Rpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQcm9taXNlUmVhY3Rpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAwOENERDE4NzEyNThEMDA5NTVDMjQgLyogSlNQ
cm9taXNlUmVhY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9t
aXNlUmVhY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMDhDRTUxODc2
MzFCNjAwOTU1QzI0IC8qIE1pY3JvdGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNaWNyb3Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMTgx
N0JFREJEMzAwN0NCNjNBIC8qIEpTUHJvbWlzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1Byb21pc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzE4NEUxOTE3QkVEQkQzMDA3Q0I2M0EgLyogSlNQcm9taXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHJvbWlzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzE4NEUxQzE3QkVFMjJFMDA3Q0I2M0EgLyogSlNQcm9taXNlUHJvdG90eXBlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBKU1By
b21pc2VQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJN0MxODRFMUQxN0JF
RTIyRTAwN0NCNjNBIC8qIEpTUHJvbWlzZVByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1Byb21pc2VQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MxODRFMjAxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGgg
PSBKU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFu
Z3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk3QzE4
NEUyMTE3QkVFMjQwMDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9taXNlQ29uc3RydWN0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMjQxN0JGRkEzNjAwN0NCNjNBIC8qIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Byb21pc2VDb25zdHJ1Y3Rvci5s
dXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MxODRFMjUxN0JGRkEzNjAwN0NC
NjNBIC8qIEpTUHJvbWlzZVByb3RvdHlwZS5sdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9taXNl
UHJvdG90eXBlLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Q0ZCQUMxQzE4
QjUzNUU1MDBEMDA3NTAgLyogUHJvbWlzZS5wcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBQcm9taXNlLnByb3RvdHlwZS5qczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJN0U0RUU3MDgwRUJCNzk2MzAwNTkzNEFBIC8qIFN0cnVjdHVyZUNo
YWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZUNoYWluLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFNEVFNzBFMEVCQjdBNUIwMDU5MzRBQSAv
KiBTdHJ1Y3R1cmVDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHJ1Y3R1cmVDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MDE2
MURGMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYwMTYxRTAwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3Jv
QXNzZW1ibGVyWDg2LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNz
ZW1ibGVyWDg2Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MDE2MUUxMEYzQTgz
QzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjAxNjFFMjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYwM0NFRjIxNEM3NTQ2
NDAwQUU1OUUzIC8qIENvZGVQcm9maWxpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29kZVByb2ZpbGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2MDNDRUYzMTRDNzU0NjQwMEFFNTlFMyAvKiBDb2RlUHJvZmlsaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVQcm9maWxpbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODYwNEY0RjIxNDNBNkM0NDAwQjI5NUY1IC8qIENoYW5nZUxvZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQ2hhbmdlTG9nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcklubGluZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYxMkU0Q0IxNTIyOTE4NDAwQzgzNkJFIC8qIE1hdGNoUmVz
dWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGNoUmVzdWx0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MTU4QUIyMTU1QzhCM0YwMEI0NUM5QyAvKiBQ
cm9wZXJ0eU5hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlO
YW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2MjU1M0NFMTYxMzZBQTUwMDlG
MTdEMCAvKiBKU1Byb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjI1NTNDRjE2MTM2
QUE1MDA5RjE3RDAgLyogSlNQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2M0IyM0RGMEZDNjBF
NjIwMDcwM0FBNCAvKiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg2M0M2RDk4MTUyMTExMTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXpl
VUNTMi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJyQ2Fub25p
Y2FsaXplVUNTMi5jcHA7IHBhdGggPSB5YXJyL1lhcnJDYW5vbmljYWxpemVVQ1MyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODYzQzZEOTkxNTIxMTExMjAwNTg1RTRFIC8qIFlh
cnJDYW5vbmljYWxpemVVQ1MyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlh
cnJDYW5vbmljYWxpemVVQ1MyLmg7IHBhdGggPSB5YXJyL1lhcnJDYW5vbmljYWxpemVVQ1MyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2M0M2RDlBMTUyMTExMTIwMDU4NUU0RSAv
KiBZYXJyQ2Fub25pY2FsaXplVUNTMi5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgbmFtZSA9IFlhcnJDYW5vbmljYWxpemVVQ1MyLmpzOyBwYXRoID0geWFyci9ZYXJyQ2Fub25p
Y2FsaXplVUNTMi5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0MDkyM0IxNTZF
RUQzQjAwNTY2Q0IyIC8qIEFSTTY0QXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFSTTY0QXNzZW1ibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg2NDA5MjNDMTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNNjQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1QTMwRjAxMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pT
VmFsdWVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ0pTVmFs
dWVJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NjczOUQwMTNCRkRF
NzEwMDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEJpZ0ludGVnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY2NzM5RDEx
M0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBVaW50MTZXaXRoRnJhY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY3MDRCNDAxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFlhcnJTeW50YXhDaGVj
a2VyLmNwcDsgcGF0aCA9IHlhcnIvWWFyclN5bnRheENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NjcwNEI0MTEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENo
ZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gWWFyclN5bnRheENoZWNr
ZXIuaDsgcGF0aCA9IHlhcnIvWWFyclN5bnRheENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY3MDRCN0QxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJbnRlcnByZXRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJySW50ZXJwcmV0ZXIu
Y3BwOyBwYXRoID0geWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjcwNEI3RTEyREJBMzM3MDBBOUZFN0IgLyogWWFyckludGVycHJldGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnJJbnRlcnByZXRlci5oOyBwYXRo
ID0geWFyci9ZYXJySW50ZXJwcmV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY3MDRCN0YxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJKSVQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gWWFyckpJVC5jcHA7IHBhdGggPSB5YXJyL1lhcnJKSVQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjcwNEI4MDEyREJBMzM3MDBBOUZFN0Ig
LyogWWFyckpJVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZYXJySklULmg7
IHBhdGggPSB5YXJyL1lhcnJKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY3
MDRCODExMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gWWFyclBhcnNlci5oOyBwYXRoID0geWFyci9ZYXJyUGFyc2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NzA0QjgyMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJy
UGF0dGVybi5jcHA7IHBhdGggPSB5YXJyL1lhcnJQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODY3MDRCODMxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQYXR0ZXJuLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnJQYXR0ZXJuLmg7IHBhdGggPSB5
YXJyL1lhcnJQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODgwRjFC
MTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOyBw
YXRoID0gZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4Njg4MEY0QzE0MzUzQjIxMDBCMDhENDIgLyogREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDsgcGF0aCA9IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4OTE2QTkxNTVGMjg1NDAwQ0IyQjlBIC8qIFByaXZhdGVO
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVOYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2OUVCQ0I2MEU4QzZENEEwMDg3MjJDQyAvKiBS
ZXN1bHRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc3VsdFR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3
IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBuYW1lID0gTG93TGV2ZWxJ
bnRlcnByZXRlci5hc207IHBhdGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBMDU0NDcxNTU2NDUxQjAwNDQ1MTU3IC8qIExv
d0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IGxpbmVFbmRpbmcgPSAwOyBu
YW1lID0gTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbTsgcGF0aCA9IGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIzMl82NC5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QTA1
NDQ4MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyNjQuYXNtICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20u
YXNtOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc207IHBh
dGggPSBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkE5MEVDRjBFRTdENTFGMDBBQjM1MEQgLyogSklUQXJpdGhtZXRpYy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRBcml0aG1ldGljLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZBREQxNDMwRkRERUE5ODAwMDZFRUMyIC8q
IEFSTXY3QXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFSTXY3
QXNzZW1ibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QUREMTQ0MEZEREVB
OTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNdjcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODZBRTY0QTYxMzVFNUUxQzAwOTYzMDEyIC8qIE1hY3JvQXNzZW1ibGVyU0g0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyU0g0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QUU2NEE3MTM1RTVFMUMwMDk2MzAxMiAvKiBT
SDRBc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU0g0QXNzZW1i
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QjU4MjJDMTREMjJGNUYwMEE5
QzMwNiAvKiBQcm9maWxlVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHJvZmlsZVRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2QjU4
MjJFMTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlUHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2QjU4MjJGMTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NkI1ODI2QTE0RDM1RDUxMDBBOUMzMDYgLyogVGllcmVkTU1hcEFy
cmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpZXJlZE1NYXBBcnJheS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkJGNjQyQTE0OERCMkI1MDA0REUzNkEg
LyogSW50cmluc2ljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludHJpbnNp
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkMzNkVFOTBFRTEyODlEMDBCM0RG
NTkgLyogTWFjcm9Bc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWFjcm9Bc3NlbWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REQx
MUEyMTNFRTAwMDdGN0YwIC8qIE1hY3JvQXNzZW1ibGVyQVJNLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REUxMUEyMTNFRTAwMDdGN0YwIC8qIE1hY3JvQXNzZW1i
bGVyTUlQUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNyb0Fzc2VtYmxl
ck1JUFMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZDNTY4REYxMUEyMTNFRTAw
MDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTUlQU0Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkNBMDMy
RDEwMzhFODQ0MDAyOEE2MDkgLyogRXhlY3V0YWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFeGVjdXRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODZDQUZFRTIxMDM1RERFNjAwMjhBNjA5IC8qIEV4ZWN1dGFibGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhlY3V0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkNDODVBMDBFRTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg2Q0M4NUEyMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVENhbGwuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkNDODVDMzBFRTdBODk0MDAyODg2ODIgLyogSklUUHJv
cGVydHlBY2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklU
UHJvcGVydHlBY2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkNDRUZE
RDBGNDEzRjg5MDBGRDdGOUUgLyogSklUQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKSVRDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RDIyMjE5
MTY3RUY5NDQwMDI0QzgwNCAvKiB0ZXN0YXBpLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGZpbGVFbmNvZGlu
ZyA9IDQ7IG5hbWUgPSB0ZXN0YXBpLm1tOyBwYXRoID0gQVBJL3Rlc3RzL3Rlc3RhcGkubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RDNCMkJGMTAxNTZCREUwMDI4NjVFNyAvKiBB
Uk1Bc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVJN
QXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZEM0IyQzAxMDE1
NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBUk1Bc3NlbWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZE
M0IyQzExMDE1NkJERTAwMjg2NUU3IC8qIEFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXNzZW1ibGVyQnVmZmVyV2l0aENv
bnN0YW50UG9vbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkQzQjJDMjEwMTU2
QkRFMDAyODY1RTcgLyogTWFjcm9Bc3NlbWJsZXJBUk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJBUk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODZEM0IzQzExMDE1OUQ3RjAwMjg2NUU3IC8qIExpbmtCdWZmZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlua0J1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkQzQjNDMjEwMTU5RDdGMDAyODY1RTcgLyogUmVwYXRjaEJ1ZmZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXBhdGNoQnVmZmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2REI2NDYzMEY5NUM2RkMwMEQ3RDkyMSAvKiBFeGVjdXRh
YmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODZFMTE2QjAwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2NhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlTG9jYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFM0M2MDYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpT
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWYWx1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwNzE2N0JBQjg3MDA2RDc2MEEgLyogSlND
b250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwODE2N0JBQjg3MDA2RDc2MEEgLyog
SlNDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlND
b250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkUzQzYwOTE2N0JBQjg3
MDA2RDc2MEEgLyogSlNDb250ZXh0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNDb250ZXh0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODZFM0M2MEExNjdCQUI4NzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2RTNDNjBCMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBKU1dyYXBwZXJNYXAubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjBDMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBw
ZXJNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXcmFwcGVyTWFwLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjBEMTY3QkFCODcwMDZENzYwQSAv
KiBKU1ZhbHVlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlNW
YWx1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFM0M2MEUxNjdCQUI4NzAw
NkQ3NjBBIC8qIEpTVmFsdWVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1ZhbHVlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZF
M0M2MEYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWaXJ0dWFsTWFjaGluZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NkUzQzYxMDE2N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGlu
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEpTVmlydHVhbE1h
Y2hpbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RTNDNjExMTY3QkFCODcw
MDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg2RTg1NTM4MTExQjk5NjgwMDFBRjUxRSAvKiBKU1N0cmluZ0J1aWxk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHJpbmdCdWlsZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RUM5REI0MTMyOERGODIwMDJCMkFENyAv
KiBERkdCeXRlQ29kZVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBERkdCeXRlQ29kZVBhcnNlci5jcHA7IHBhdGggPSBkZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNTEzMjhERjgyMDAyQjJB
RDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHQnl0ZUNvZGVQYXJzZXIuaDsgcGF0aCA9IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNjEzMjhERjgyMDAyQjJBRDcgLyog
REZHR2VuZXJhdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
R2VuZXJhdGlvbkluZm8uaDsgcGF0aCA9IGRmZy9ERkdHZW5lcmF0aW9uSW5mby5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURCNzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3Jh
cGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHR3JhcGguY3Bw
OyBwYXRoID0gZGZnL0RGR0dyYXBoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODZFQzlEQjgxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dyYXBoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERGR0dyYXBoLmg7IHBhdGggPSBkZmcvREZHR3JhcGguaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQzlEQkIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJ
VENvbXBpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0pJ
VENvbXBpbGVyLmNwcDsgcGF0aCA9IGRmZy9ERkdKSVRDb21waWxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg2RUM5REJDMTMyOERGODIwMDJCMkFENyAvKiBERkdKSVRDb21w
aWxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdKSVRDb21waWxlci5o
OyBwYXRoID0gZGZnL0RGR0pJVENvbXBpbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2RUM5REJGMTMyOERGODIwMDJCMkFENyAvKiBERkdPcGVyYXRpb25zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09wZXJhdGlvbnMuY3BwOyBwYXRoID0g
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVD
OURDMDEzMjhERjgyMDAyQjJBRDcgLyogREZHT3BlcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdPcGVyYXRpb25zLmg7IHBhdGggPSBkZmcvREZHT3BlcmF0aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURDMTEzMjhERjgyMDAyQjJB
RDcgLyogREZHUmVnaXN0ZXJCYW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR1JlZ2lzdGVyQmFuay5oOyBwYXRoID0gZGZnL0RGR1JlZ2lzdGVyQmFuay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NkVDOURDMjEzMjhERjgyMDAyQjJBRDcgLyogREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
U3BlY3VsYXRpdmVKSVQuY3BwOyBwYXRoID0gZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3IC8qIERG
R1NwZWN1bGF0aXZlSklULmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Nw
ZWN1bGF0aXZlSklULmg7IHBhdGggPSBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQ0EzRTkxMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTm9kZS5oOyBwYXRoID0gZGZn
L0RGR05vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZFQ0EzRjkxMzJERjI1
QTAwMkIyQUQ3IC8qIERGR1Njb3JlQm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHU2NvcmVCb2FyZC5oOyBwYXRoID0gZGZnL0RGR1Njb3JlQm9hcmQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8qIE9iamNS
dW50aW1lRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9iamNSdW50
aW1lRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2RjNFRUI5MTY4Q0NG
NzUwMDc3QjkyQSAvKiBPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NkYzRUVCQTE2OENDRjc1MDA3N0I5MkEgLyogT2JqQ0NhbGxiYWNrRnVuY3Rp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPYmpDQ2FsbGJh
Y2tGdW5jdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGNzVFRkIxNTFD
MDYyRjAwN0M5QkEzIC8qIFJlZ0V4cENhY2hlZFJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBDYWNoZWRSZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NkY3NUVGQzE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwQ2FjaGVk
UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ0V4cENhY2hlZFJl
c3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkY3NUVGRDE1MUMwNjJGMDA3
QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0
aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwNTJDMzMw
RkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
MERBRDAzMEZCMUVCMUEwMDgyRDIwNSAvKiBOb2RlQ29uc3RydWN0b3JzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25zdHJ1Y3RvcnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTMyMkEwMDMwNkMzNDFEMzAwOTA2N0JCIC8qIGxpYmljdWNvcmUuZHls
aWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYmljdWNvcmUuZHlsaWI7IHBhdGggPSAvdXNy
L2xpYi9saWJpY3Vjb3JlLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk5
MzJGNUJEODA4MjJBMUM3MDA3MzY5NzUgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlz
dC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IHVzZXNUYWJzID0gMTsgfTsKKwkJOTMyRjVCRDkwODIyQTFDNzAwNzM2OTc1IC8qIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBs
aWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0
aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKKwkJOTMyRjVCRTEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVj
dXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0ganNjOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQk5MzMwM0ZFODBFNkE3MkI1MDA3ODZFNkEgLyogU21hbGxT
dHJpbmdzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNtYWxsU3Ry
aW5ncy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMzAzRkVBMEU2QTcyQzAw
MDc4NkU2QSAvKiBTbWFsbFN0cmluZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU21hbGxTdHJpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMzQ1QTg3
MTJEODM4QzQwMDMwMkJFMyAvKiBTdHJpbmdSZWN1cnNpb25DaGVja2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzM0NUE4ODEyRDgzOEM0MDAzMDJCRTMgLyog
U3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTdHJpbmdSZWN1cnNpb25DaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzM0EzNDlBMDM4QUU3QzYwMDg2MzVDRSAvKiBJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCTkzM0EzNDlEMDM4QUU4MEYwMDg2
MzVDRSAvKiBJZGVudGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTM3QjYzQ0MwOUU3NjZEMjAwQTY3MUREIC8qIERlcml2
ZWRTb3VyY2VzLm1ha2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxl
VHlwZSA9IHNvdXJjZWNvZGUubWFrZTsgZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzLm1ha2U7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHVzZXNUYWJzID0gMTsgfTsKKwkJ
OTM4NzcyRTUwMzhCRkUxOTAwODYzNUNFIC8qIEpTQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTNBREZDRTYwQ0NCRDdBQzAwRDMwQjA4IC8q
IEpTQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJh
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQ0VEREZCMEVBOTFFRTYwMDI1
OEVCRSAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzRjBCM0E5MDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNGMEIzQUEwOUJCNERDMDAwNjhGQ0UzIC8qIFBhcnNlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNGMTk4MUEwODI0NUFBRTAwMUU5QUJDIC8qIEtleXdvcmRzLnRhYmxlICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gS2V5d29yZHMudGFibGU7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJOTUyQzYzQUMwRTQ3NzdENjAwQzEzOTM2
IC8qIEpTUHJvZmlsZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTUHJvZmlsZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1NzQy
RjYzMEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFByb2ZpbGUuY3BwOyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1NzQyRjY0MEREMTFGNUEwMDA5MTdGQiAv
KiBQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFByb2ZpbGUuaDsg
cGF0aCA9IHByb2ZpbGVyL1Byb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTU5ODhCQTkwRTQ3N0JFQzAwRDI4RDREIC8qIEpTUHJvZmlsZXJQcml2YXRlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUHJvZmlsZXJQcml2YXRlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVBQjgzMkUwREE0MkNBRDAwQkM4M0YzIC8qIExl
Z2FjeVByb2ZpbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExl
Z2FjeVByb2ZpbGVyLmNwcDsgcGF0aCA9IHByb2ZpbGVyL0xlZ2FjeVByb2ZpbGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVBQjgzMkYwREE0MkNBRDAwQkM4M0YzIC8qIExl
Z2FjeVByb2ZpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExlZ2FjeVBy
b2ZpbGVyLmg7IHBhdGggPSBwcm9maWxlci9MZWdhY3lQcm9maWxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NUFCODM1NDBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUHJvZmlsZU5vZGUuY3Bw
OyBwYXRoID0gcHJvZmlsZXIvUHJvZmlsZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5NUFCODM1NTBEQTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUHJvZmlsZU5vZGUuaDsgcGF0aCA9IHByb2ZpbGVy
L1Byb2ZpbGVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1QzE4RDNFMEM5
MEU3RUYwMEU3MkY3MyAvKiBKU1JldGFpblB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1JldGFpblB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUNE
NDU3NDBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQcm9maWxlR2VuZXJhdG9yLmNwcDsgcGF0aCA9IHBy
b2ZpbGVyL1Byb2ZpbGVHZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5NUNENDU3NTBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQcm9maWxlR2VuZXJhdG9yLmg7IHBhdGggPSBwcm9m
aWxlci9Qcm9maWxlR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1
RTNCQzA0MEUxQUU2ODIwMEIyRDFDMSAvKiBDYWxsSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBDYWxsSWRlbnRpZmllci5oOyBwYXRoID0gcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTYwMDk3QTUwRUJB
QkI1ODAwN0E3Mjk3IC8qIExhYmVsU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGFiZWxTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5Njg4Q0Ix
MzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFzc2VtYmxlckJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5Njg4Q0IxNDBFRDEyQjRFMDAxRDY0OUYgLyogWDg2QXNzZW1ibGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFg4NkFzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NjlBMDcyMTBFRDFD
RTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQnl0ZWNvZGVHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTY5QTA3MjcwRUQxQ0U2OTAwRjFGNjgxIC8qIExhYmVsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExhYmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk2OUEwNzI4MEVEMUNFNjkwMEYxRjY4MSAvKiBSZWdpc3RlcklELmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ2lzdGVySUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2RlQmxvY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NjlBMDc5MTBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVCbG9jay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5NjlBMDc5MjBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENvZGVD
YWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmFsQ29kZUNhY2hlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwNzkzMEVEMUQzQUUwMEYxRjY4MSAv
KiBJbnN0cnVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NjlBMDc5NDBFRDFEM0FFMDBG
MUY2ODEgLyogT3Bjb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE9wY29kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwNzk1MEVEMUQz
QUUwMEYxRjY4MSAvKiBPcGNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
T3Bjb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk2OUEwOTIyMEVEMUUwOUMw
MEYxRjY4MSAvKiBDb21wbGV0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvbXBsZXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5Nzg4
RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RhdGVNYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTc4OEZDMjMxNDcxQUQwQzAwNjhDRTJEIC8qIEpTRGF0ZU1hdGguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEYXRlTWF0aC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5OTI4RkYzOTE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1dHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZXBsYXlJbnB1dHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTI4RkYzQTE4QUM0QUVDMDBCOENG
MTIgLyogSlNSZXBsYXlJbnB1dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNSZXBsYXlJbnB1dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTkyOEZGM0Qx
OEFDNEIxQzAwQjhDRjEyIC8qIEpTSW5wdXRzLmpzb24gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmpzb247IHBh
dGggPSBKU0lucHV0cy5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0NUEx
RDE4QTFCMUU3MDAyNkQ4OEYgLyogQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IENvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMu
cHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5RTQ1QTFFMThBMUIxRTcwMDI2RDg4
RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gQ29kZUdlbmVyYXRvclJlcGxheUlucHV0c1RlbXBsYXRl
cy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTlFNDVBMUYxOEExQjI1OTAwMjZE
ODhGIC8qIEVtcHR5SW5wdXRDdXJzb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRW1wdHlJbnB1dEN1cnNvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0
NUEyMDE4QTFCMjU5MDAyNkQ4OEYgLyogRW5jb2RlZFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVuY29kZWRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTk5RTQ1QTIxMThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRW5jb2RlZFZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5RTQ1QTIyMThBMUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1
cnNvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnB1dEN1cnNvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OUU0NUEyMzE4QTFCMjU5MDAyNkQ4OEYgLyog
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5vbmRldGVybWluaXN0aWNJbnB1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
QjQ5NTRFODFBNjY0MERCMDAyODE1QTYgLyogUGFyc2VyRnVuY3Rpb25JbmZvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhcnNlckZ1bmN0aW9uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5RTcyOTQwOTE5MEYwMzA2MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJ1bmRsZVBhdGgubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTlFNzI5NDBBMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ1bmRsZVBhdGguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxp
emVMTFZNTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRp
YWxpemVMTFZNTWFjLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTJCQkZGMTFCMDQ0QThCMDA2NjRCNjkgLyogSW50
bE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRsT2JqZWN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMkJCRkYzMUIwNDRBOTgwMDY2NEI2OSAv
KiBJbnRsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
dGxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTcxMkIzQTExQzdC
MjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVnRXhwQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBMTcxMkIzRTExQzdCMjI4MDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTE3MTJCNDAxMUM3QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdFeHBLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTE0MTg4RTBG
QUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTUwM0ZBMTUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkExNjE4OEUw
RkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNTAzRkExNzE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1MDNGQTE4MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlz
dGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkEyMzE4OEVGRkZEMDAx
MTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTAzRkEyNDE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMjcxODhGMTA1OTAwMTEwRjE0IC8qIEpT
R2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTI4MTg4RjEwNTkwMDExMEYxNCAvKiBKU0ds
b2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRp
bWVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTBFNEI1
RTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTBFNEI1RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxP
YmplY3RSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTBFNEI2MDE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RS
dW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxMDA3QkUxODdD
QzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEwMDdCRjE4
N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVCNTE4NUI4QkQz
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTEzRTVCNjE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QjkxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2Ny
aXB0SG9zdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFNjcmlw
dEhvc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QkExODVCRkFDQzAw
N0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QkIxODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW5qZWN0ZWRTY3Jp
cHRIb3N0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUJDMTg1QkZBQ0Mw
MDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUJEMTg1QkZBQ0MwMDdFOTVB
RCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDMzE4NUY5MkM5MDA3RTk1QUQgLyogSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbmplY3RlZFNjcmlwdFNvdXJj
ZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxM0U1QzQxODVGOTJEQzAwN0U5
NUFEIC8qIGpzbWluLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0ganNt
aW4ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTNFNUM1MTg1RjkyRjAwMDdF
OTVBRCAvKiB4eGQucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBwYXRoID0geHhkLnBs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDNjE4NUY5NDM2MDA3RTk1QUQg
LyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTUxM0U1QzgxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTEzRTVDOTE4NUY5NjI0MDA3RTk1
QUQgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluamVjdGVkU2NyaXB0TWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTE0QjJDMDE4NUE2ODQ0MDBGM0M3Q0IgLyogSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkU2NyaXB0QmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MTRCMkMxMTg1QTY4NDQwMEYzQzdD
QiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5qZWN0ZWRTY3JpcHRCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
MzI0MzgxMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODIxODU2ODMxNzAwMkVENjkyIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODMx
ODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzI0Mzg0MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMjQzODUxODU2
ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTMyNDM4NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTMyNDM4RDE4NTY5NkNBMDAyRUQ2OTIgLyogcHJv
dG9jb2wgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBm
b2xkZXI7IHBhdGggPSBwcm90b2NvbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
MjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29u
LnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWNvbWJp
bmVkLWluc3BlY3Rvci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
MjQzOTUxODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5qc29uOyBwYXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
M0NFMDgxMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnNvbGVQcm90b3R5cGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29s
ZVByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zb2xlUHJv
dG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1M0NFMDgzMThCQzFBNTYw
MEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDb25zb2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzQ0Uw
ODQxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0NvbnNvbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
Q0UwODkxOEJDMjFDMzAwQkVERjc2IC8qIENvbnNvbGVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTNGMUFCRTE4QzkwRUM3MDA3MkVCNkQgLyogZnJhbWV3b3JrLnNiICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGZy
YW1ld29yay5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU0OTgyMDExODkxRDBC
MDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBFdmVudExvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTQ5
ODIwMjE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEV2ZW50TG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NTRDRjJGMjE4NEVBQjI0MDAyMzdGMTkgLyogU2NyaXB0VmFsdWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNTRDRjJGMzE4NEVBQjI0MDAyMzdGMTkgLyogU2NyaXB0VmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0VmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU0Q0YyRjcxODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9i
amVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTRDRjJGODE4NEVBRURBMDAy
MzdGMTkgLyogU2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTUyQzM3RDFB
RERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZW1vdGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNTUyQzM3RTFBRERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNw
ZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZW1vdGVJbnNwZWN0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU1RDkzQTMxODUwMTJBODAwNDAw
REVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTVEOTNBNDE4NTAxMkE4MDA0MDBERUQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEZ1bmN0aW9uQ2FsbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyog
SW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1N0QyM0UzMTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTdEMjNFNDE4OTBDRUJGMDAz
MUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1N0QyM0U3MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVn
Z2VyQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHbG9i
YWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTU3RDIzRTgxODkxQjA3NzAwMzFDN0ZBIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3RDIzRUIxODkxQjU1NDAw
MzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFJlZ3VsYXJFeHByZXNzaW9uLmNwcDsgcGF0aCA9IHlhcnIvUmVndWxhckV4
cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTdEMjNFQzE4OTFC
NTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVndWxhckV4cHJlc3Npb24uaDsgcGF0aCA9IHlhcnIvUmVndWxhckV4cHJl
c3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3RDIzRUYxODkxQjVCNDAw
MzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1N0QyM0YwMTg5MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2Vh
cmNoVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRT
ZWFyY2hVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4NDBFMUUx
ODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkU2NyaXB0TW9kdWxlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVj
dGVkU2NyaXB0TW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVj
dGVkU2NyaXB0TW9kdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1ODQwRTI2
MTg3Qzk4MDcwMDg0M0IxMCAvKiBjc3NtaW4ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBjc3NtaW4ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1ODQw
RTI4MTg3Q0E1QjgwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1hbmQt
c2NyaXB0cy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJpbmxpbmUt
YW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1hbmQtc2NyaXB0cy5weSI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1OEMwMjQxMThFNEE0MUEwMDAzMkJDNSAvKiBKU0NvbnRleHRQcml2YXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dFByaXZhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU4RTM1OTAxODYwREVDNzAwMUYyNEZFIC8q
IEluamVjdGVkU2NyaXB0SG9zdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlw
dEhvc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkzQ0Y3QTE4NDAzNjAz
MDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkzQ0Y3QjE4NDAzNjAzMDBCRkNFMjcgLyog
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTU5M0NGN0UxODQwMzYyQzAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50QmFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBZ2VudEJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU5M0NGODAxODQwMzc3MTAwQkZDRTI3IC8q
IEluc3BlY3RvclZhbHVlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JWYWx1ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTkz
Q0Y4MTE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclZhbHVlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTkzQ0Y4NDE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRSZWdp
c3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU5M0NGODUx
ODQwMzhDQTAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50UmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU4RTE4MjQ1RURFMDBDQzM4NDMgLyogUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTU5NDU1OTAxODI0NzQ0NzAwQ0MzODQzIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnYWJs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9iamVj
dERlYnVnZ2FibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU5MTE4
MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNTk0NTU5NDE4MjQ3OUVCMDBDQzM4NDMgLyogSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUI2QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTExODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3Bl
Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTIxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFJlbW90ZUluc3BlY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTVCQTE1RTMxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3JDb25zdGFudHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QkExNUU1MTgyMzQwQjMwMEE4MkU2OSAv
KiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0
aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUJBMTVFNjE4MjM0MEIzMDBB
ODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QkExNUU3MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJ
bnNwZWN0b3JYUENDb25uZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTVCQTE1RUYxODIzNDVBRjAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3Rv
ckRlYnVnZ2FibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUMzQTFB
MzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzNBMUE0MThDMDQ5MDIw
MEM5NTkzQSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0
b3JBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Q0VFRTEzMTg3RjNC
QUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRW52aXJvbm1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVEMkU2NjQxOTVFMTczODAwQTUxOEU3IC8qIEpTQ29u
dGV4dFJlZkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29udGV4dFJlZkludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU0MTlGNUIxMDEwMDk4RjVFQyAv
KiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU1MTlGNUIxMDEwMDk4RjVFQyAvKiBBdWdtZW50YWJs
ZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEU2MTlGNUIxMDEwMDk4RjVFQyAvKiBBbHRlcm5hdGVE
aXNwYXRjaGFibGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBbHRl
cm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUVBNzBFQTE5RjVCM0Q1MDA5OEY1RUMgLyogZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5k
X2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRo
ID0gZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzBFRDE5RjVCNUM0MDA5OEY1RUMgLyog
SlNDb250ZXh0UmVmSW5zcGVjdG9yU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NvbnRleHRSZWZJbnNwZWN0b3JTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1RUE3MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2Jh
Y2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247
IHBhdGggPSBnZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHk7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RUE3MEYwMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5l
cmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVB
NzBGMTE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19jb25maWd1cmF0aW9uX2hlYWRl
ci5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNf
Y29uZmlndXJhdGlvbl9oZWFkZXIucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1w
bGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1wbGVtZW50YXRpb24ucHk7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE1RUE3MEYzMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpj
X2NvbnZlcnNpb25faGVscGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0
aCA9IGdlbmVyYXRlX29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5OyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUVBNzBGNDE5RjZERTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19m
cm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzBGNTE5RjZE
RTVBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5weXRob247IHBhdGggPSBnZW5lcmF0ZV9vYmpjX2hlYWRlci5weTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVFQTcwRjYxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfaW50ZXJuYWxfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRo
ID0gZ2VuZXJhdGVfb2JqY19pbnRlcm5hbF9oZWFkZXIucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RUE3MEY4MTlGNkRFNUEwMDk4RjVFQyAvKiBvYmpjX2dlbmVyYXRvci5weSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IG9iamNfZ2VuZXJhdG9yLnB5OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUVBNzEwRDE5RjZERjgxMDA5OEY1RUMgLyog
SW5zcGVjdG9yQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2NTE4OUFGRTlDMDA2MzMyMzEgLyog
U2NyaXB0QXJndW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNjcmlwdEFyZ3VtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkExODlCMDBBOTAwNjMzMjMx
IC8qIFNjcmlwdENhbGxGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkIx
ODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUZEMDA2QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFjay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MTE4OUIwMzhDMDA2MzMyMzEgLyog
Q29uc29sZVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVU
eXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MjE4OUIwMzhDMDA2
MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDczMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAv
KiBDb25zb2xlTWVzc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDb25zb2xlTWVzc2FnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA3QjE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0MxODlC
MEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQw
MDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODczNzE3
Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWFwQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNzAwODczODE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFwQ29uc3RydWN0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwMDg3M0IxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFBy
b3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBQcm90
b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODczQzE3Q0JFOEQz
MDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1hcFByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAwODcz
RjE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzAw
ODc0MDE3Q0JFOEVCMDBDM0U2NDMgLyogSlNNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwNDQ3RTkx
N0EwQkQ0NjAwRjU4OThFIC8qIE9wZXJhbmRzSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPcGVyYW5kc0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTcwNDQ3RUIxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER1bXBDb250ZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwNDQ3RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250
ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBDb250ZXh0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MDREOEZFMTdBMEJBQTgwMDZCQTU1NCAvKiBE
RkdBYnN0cmFjdEludGVycHJldGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaDsgcGF0aCA9IGRmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MDREOEZGMTdBMEJBQTgwMDZC
QTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOyBwYXRoID0g
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3MDREOTAwMTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNlQWJzdHJhY3RT
dGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdJblBsYWNl
QWJzdHJhY3RTdGF0ZS5jcHA7IHBhdGggPSBkZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA0RDkwMTE3QTBCQUE4MDA2QkE1NTQg
LyogREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaDsgcGF0aCA9IGRmZy9ERkdJblBsYWNlQWJz
dHJhY3RTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA0RDkwMjE3QTBC
QUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR01lcmdlTW9kZS5oOyBwYXRoID0gZGZnL0RGR01lcmdlTW9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNzA5RjJFRjE3QTBBQzA0MDA1MTJFOTggLyogU2xvd1Bh
dGhDYWxsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3dQYXRoQ2FsbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzA5RjJGMTE3QTBBQzJBMDA1MTJFOTgg
LyogQ29tbW9uU2xvd1BhdGhzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENvbW1vblNsb3dQYXRocy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
MTIzNkU0MTE5NUYzM0MwMEJEMjE3NCAvKiBKSVRPcGNvZGVzMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUT3Bjb2RlczMyXzY0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcxOEY2MUExMTc1NEEyMTAwMjQ2NUE3IC8qIFJlZ0V4cEpp
dFRhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdFeHBKaXRUYWJs
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2
NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgZmlsZUVuY29kaW5nID0gNDsg
cGF0aCA9IGNyZWF0ZV9yZWdleF90YWJsZXM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE3MURBODBEMTg4MEQ3MUYwMEQxRjI5OSAvKiBnZW5lcmF0ZS1qcy1idWlsdGlucyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJnZW5lcmF0ZS1qcy1idWlsdGlucyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBK
U0NUZXN0UnVubmVyVXRpbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDVGVzdFJ1bm5lclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTcyMDI4QjUxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NUZXN0UnVubmVyVXRpbHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyMDI4QjkxNzk3NjAzRDAwOTgwMjhDIC8qIEpTRnVuY3Rp
b25JbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25J
bmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MjcwMDc3MERBQzYwNTYw
MEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTm90QW5PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyNzAw
NzgwREFDNjA1NjAwRTU0OEQ3IC8qIEpTTm90QW5PYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RBbk9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3MjcwMUIzMERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4Y2VwdGlvbkhlbHBlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcyOTAwOUIxNzk3NkM2MDAwMzE3Mjk4IC8q
IE1hY3JvQXNzZW1ibGVyQVJNdjcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3Mjk5RDlCMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzI5OUQ5RjE3RDEyODQ4MDA1RjVGRjkgLyogU2V0UHJvdG90eXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNldFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REEwMTdEMTI4NDgwMDVGNUZGOSAvKiBTZXRQcm90b3R5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2V0UHJvdG90eXBlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAvKiBT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
ZXRDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mjk5REE0
MTdEMTI4NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTZXRDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNzMwQjYxMDEyNTAwNjhGMDA5RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaWN0RXZhbEFjdGl2YXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczMEI2MTExMjUwMDY4RjAwOUQyNUIxIC8q
IFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTczNzgxMDkxNzk5RUEyRTAwODE3NTMzIC8qIERGR0FuYWx5c2lzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FuYWx5c2lzLmg7IHBhdGggPSBkZmcvREZHQW5h
bHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczNzgxMEExNzk5RUEyRTAw
ODE3NTMzIC8qIERGR05hdHVyYWxMb29wcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBERkdOYXR1cmFsTG9vcHMuY3BwOyBwYXRoID0gZGZnL0RGR05hdHVyYWxMb29w
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mzc4MTBCMTc5OUVBMkUwMDgx
NzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHTmF0dXJhbExvb3BzLmg7IHBhdGggPSBkZmcvREZHTmF0dXJhbExvb3BzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Mzg2NTUxMTE4Njk3QjQwMDU0MDI3OSAvKiBTcGVj
aWFsaXplZFRodW5rSklULmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWNp
YWxpemVkVGh1bmtKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczODY1NTIx
MTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUaHVua0dlbmVyYXRvcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzM4NjU1MzExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3Jz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRodW5rR2VuZXJhdG9ycy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzNBNTM1ODE3OTlDRDVEMDAxNzBDMTkgLyog
REZHTGF6eUpTVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHTGF6eUpTVmFsdWUuY3BwOyBwYXRoID0gZGZnL0RGR0xhenlKU1ZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTczQTUzNTkxNzk5Q0Q1RDAwMTcwQzE5IC8qIERGR0xh
enlKU1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xhenlKU1Zh
bHVlLmg7IHBhdGggPSBkZmcvREZHTGF6eUpTVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc0MTAxN0UxNzlEQUY4MDAwMkVCOEJBIC8qIERGR1NhbmVTdHJpbmdHZXRCeVZh
bFNsb3dQYXRoR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1NhbmVTdHJpbmdHZXRCeVZhbFNsb3dQYXRoR2VuZXJhdG9yLmg7IHBhdGggPSBkZmcvREZHU2Fu
ZVN0cmluZ0dldEJ5VmFsU2xvd1BhdGhHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc0ODJCNzkxMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ4MkI3QTExNjZD
REVBMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0ODJFMzcxMTZBNjk3QjAwM0IwNzEyIC8q
IEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3NERFRjhEMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBJdGVyYXRvclBy
b3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NERFRjhFMTgyRDk5
MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXBJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNzRERUY4RjE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hcEl0ZXJhdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0REVGOTAxODJEOTkxNDAwNTIyQzIyIC8q
IEpTTWFwSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXBJ
dGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzU3MDZERDExOEEyQkNG
MDA1N0Y4OEYgLyogSklUQXJpdGhtZXRpYzMyXzY0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpJVEFyaXRobWV0aWMzMl82NC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnVpbHRpbk5hbWVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NjdCNUIzMTdBMEI5NjUwMDYzRDk0MCAvKiBERkdMb29w
UHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZH
TG9vcFByZUhlYWRlckNyZWF0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNzY3QjVCNDE3QTBCOTY1MDA2M0Q5NDAgLyogREZHTG9vcFByZUhlYWRlckNyZWF0aW9u
UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTG9vcFByZUhlYWRl
ckNyZWF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzZDNTE3NDExODI3NDhEMDA3MTVC
MDUgLyogSlNJbnRlcmZhY2VKSVQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNJbnRlcmZhY2VKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc2RjU0QTIx
M0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKSVRXcml0ZUJhcnJpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc3QTQyMzYxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdBYnN0cmFjdEhlYXAuY3BwOyBw
YXRoID0gZGZnL0RGR0Fic3RyYWN0SGVhcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3N0E0MjM3MTdBMEJCRkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWJzdHJhY3RIZWFwLmg7IHBhdGggPSBkZmcv
REZHQWJzdHJhY3RIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3N0E0MjM4
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Nsb2JiZXJpemUuY3BwOyBwYXRoID0gZGZnL0RGR0Nsb2Ji
ZXJpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzdBNDIzOTE3QTBCQkZE
MDBBOERCODEgLyogREZHQ2xvYmJlcml6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdDbG9iYmVyaXplLmg7IHBhdGggPSBkZmcvREZHQ2xvYmJlcml6ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNzdBNDIzQTE3QTBCQkZEMDBBOERCODEgLyogREZHQ2xv
YmJlclNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdDbG9i
YmVyU2V0LmNwcDsgcGF0aCA9IGRmZy9ERkdDbG9iYmVyU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTc3QTQyM0IxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ2xvYmJlclNldC5oOyBwYXRo
ID0gZGZnL0RGR0Nsb2JiZXJTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3
QTQyM0MxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHU2FmZVRvRXhlY3V0ZS5oOyBwYXRoID0gZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3RjE4MUYxNjQw
ODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb2RlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzdGMTgyMDE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvZGVDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzdGMTgyNDE2NDE5MjU0MDA2NDBBNDcgLyogUGFyc2VyTW9kZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFyc2VyTW9kZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4NTA3RDUx
N0NCQzZGRDAwMTFGNkU3IC8qIE1hcERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWFwRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzg4NTNGNzE3
OTcyNjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4ODUzRjgxNzk3MjYyOTAwMTQ0MEU0IC8qIElu
dGVuZGVkU3RydWN0dXJlQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzhBOTc2QzE3OTczOEI4MDA5REY3NDQgLyogREZHRmFpbGVkRmluYWxpemVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0ZhaWxlZEZpbmFsaXplci5jcHA7IHBh
dGggPSBkZmcvREZHRmFpbGVkRmluYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdGYWlsZWRGaW5hbGl6ZXIuaDsgcGF0
aCA9IGRmZy9ERkdGYWlsZWRGaW5hbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTc4QTk3NkUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdGaW5hbGl6ZXIuY3BwOyBwYXRoID0gZGZn
L0RGR0ZpbmFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OEE5NzZG
MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gREZHRmluYWxpemVyLmg7IHBhdGggPSBkZmcvREZHRmluYWxpemVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OEE5NzcwMTc5NzM4QjgwMDlERjc0NCAvKiBE
RkdKSVRGaW5hbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHSklURmluYWxpemVyLmNwcDsgcGF0aCA9IGRmZy9ERkdKSVRGaW5hbGl6ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzhBOTc3MTE3OTczOEI4MDA5REY3NDQgLyogREZH
SklURmluYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0pJVEZp
bmFsaXplci5oOyBwYXRoID0gZGZnL0RGR0pJVEZpbmFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzhBOTc3MjE3OTczOEI4MDA5REY3NDQgLyogREZHUGxhbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdQbGFuLmNwcDsgcGF0aCA9IGRm
Zy9ERkdQbGFuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc4QTk3NzMxNzk3
MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHUGxhbi5oOyBwYXRoID0gZGZnL0RGR1BsYW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTc4QTk3N0MxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEdlbmVyYXRlZEZ1bmN0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEdlbmVyYXRlZEZ1bmN0aW9u
Lmg7IHBhdGggPSBmdGwvRlRMR2VuZXJhdGVkRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTc4QTk3N0QxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExKSVRGaW5hbGl6ZXIu
Y3BwOyBwYXRoID0gZnRsL0ZUTEpJVEZpbmFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3OEE5NzdFMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMSklURmluYWxpemVyLmg7IHBhdGgg
PSBmdGwvRlRMSklURmluYWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
OTBERDY3MTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXRJdGVyYXRvclByb3RvdHlwZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3OTBERDY4MTgyRjQ5OTcwMDU4ODgwNyAv
KiBTZXRJdGVyYXRvclByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTZXRJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NzkwREQ2OTE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NldEl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTc5MERENkExODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTZXRJdGVyYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzk4NkQ1NjE3QTBCQjFFMDBBOTVERDAgLyog
REZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHRWRnZVVzZXNTdHJ1Y3R1cmUuaDsgcGF0aCA9IGRmZy9ERkdFZGdlVXNlc1N0cnVjdHVyZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzlFNzgxRTE1RUVDQkE4MDA0N0M4NTUg
LyogVW5saW5rZWRDb2RlQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVW5saW5rZWRDb2RlQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNzlFNzgxRjE1RUVDQkE4MDA0N0M4NTUgLyogVW5saW5rZWRDb2RlQmxvY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5saW5rZWRDb2RlQmxvY2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc5RURCMDgxMTUzMUNENjAwMTlFOTEyIC8qIEpTT2JqZWN0
UmVmUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09iamVjdFJl
ZlByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBNEFFMDcxNzk3M0Iy
NjAwNTYxMkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBNEFFMEMxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0
dWJzWDg2Q29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0dWJz
WDg2Q29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QTdFRTc0MTFCOThC
OEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFTVEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBN0VFNzcx
MUI5OEI4RDAwNjVBMTRGIC8qIFN5bnRheENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3ludGF4Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBN0E4QUYyNTE3QURCNUYyMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJyYXlCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBN0E4QUYyNjE3QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlCdWZmZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBOEFGMjcxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5
QnVmZmVyVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcnJh
eUJ1ZmZlclZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyODE3
QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFycmF5QnVmZmVyVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBN0E4QUYyOTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQzMkFycmF5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0MzJBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBN0E4QUYyQTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0NjRBcnJheS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyQjE3QURCNUYzMDA1QUIxNzQgLyogSW50OEFy
cmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludDhBcnJheS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50
MTZBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnQxNkFycmF5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QThBRjJEMTdBREI1RjMwMDVBQjE3NCAv
KiBJbnQzMkFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludDMyQXJy
YXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBOEFGMzAxN0FEQjVGMzAwNUFC
MTc0IC8qIFVpbnQ4QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVWlu
dDhBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0E4QUYzMTE3QURCNUYz
MDA1QUIxNzQgLyogVWludDhDbGFtcGVkQXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVWludDhDbGFtcGVkQXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTdBOEFGMzIxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQxNkFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVpbnQxNkFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3QThBRjMzMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MzJBcnJheS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVaW50MzJBcnJheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBN0E5NzlDNDE4QkU4RDlFMDAyQzM3MzMgLyogRnVuY3Rpb24ucHJv
dG90eXBlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRnVuY3Rp
b24ucHJvdG90eXBlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I0OERCNTBF
RTc0Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBFeGVjdXRhYmxlQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3QjQ4REI2MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4ZWN1dGFibGVB
bGxvY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I0QUNBRTE0ODRD
OUNFMDBCMzhBMzYgLyogSlNFeHBvcnRNYWNyb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNFeHBvcnRNYWNyb3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTdCREFFQzIxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEFycmF5
SXRlcmF0b3JQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdl
U3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJQTdCREFFQzMx
N0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlJdGVyYXRvclByb3RvdHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBN0JEQUVDNDE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7
IHBhdGggPSBKU0FycmF5SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJQTdC
REFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdCRkYzQkYxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1
bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRmlsdHJhdGlvblJlc3Vs
dC5oOyBwYXRoID0gZGZnL0RGR0ZpbHRyYXRpb25SZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdDMEM0QUExNjdDMDhDRDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU2NyaXB0UmVmLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMEM0QUIxNjdDMDhDRDAwMTcwMTFEIC8qIEpT
U2NyaXB0UmVmUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Nj
cmlwdFJlZlByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMUU4Qzgx
MTJFNzAxQzAwQTM3Rjk4IC8qIEpJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzFFQUVBMTc5ODdBQjYwMDI5OURCMiAvKiBD
YWxsRnJhbWVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxG
cmFtZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMUVBRUIxNzk4
N0FCNjAwMjk5REIyIC8qIEpTU3RhY2tJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTU3RhY2tJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE3QzFFQUVDMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFN0YWNrVmlzaXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzFFQUVEMTc5ODdBQjYwMDI5OURC
MiAvKiBTdGFja1Zpc2l0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Rh
Y2tWaXNpdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzIyNUNDMTM5OTgx
RjEwMEZGMTY2MiAvKiBLZXl3b3JkTG9va3VwR2VuZXJhdG9yLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gS2V5d29yZExvb2t1cEdlbmVyYXRvci5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDMjI1Q0QxMzk5ODQ5QzAwRkYxNjYyIC8qIEtleXdvcmRM
b29rdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5d29yZExvb2t1cC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0NBM0FERDE3REE0MUFFMDA2NTM4QUYg
LyogV2Vha01hcENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYWtNYXBDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3Q0EzQURFMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha01hcENvbnN0cnVjdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFr
TWFwUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YWtNYXBQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0NBM0FF
MDE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcFByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWFrTWFwUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3Q0EzQUUxMTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWFrTWFwLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRTIxN0RBNDFBRTAwNjUzOEFGIC8qIEpTV2Vha01h
cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYWtNYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRTkxN0RBNTE2ODAwNjUzOEFGIC8qIFdlYWtN
YXBEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYWtNYXBE
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdDQTNBRUExN0RBNTE2ODAw
NjUzOEFGIC8qIFdlYWtNYXBEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYWtNYXBEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDgwMUEwMTg4
MEQ2NkUwMDI2QzM5QiAvKiBBcnJheS5wcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBBcnJheS5wcm90b3R5cGUuanM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3RDgwMUExMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJs
ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnVpbHRpbkV4ZWN1
dGFibGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODAxQTIxODgwRDY2
RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCdWlsdGluRXhlY3V0YWJsZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0aW5zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0J1aWx0aW5zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODAxQTcxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0
aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0UzMTdBMEI4Q0MwMDc3M0FEOCAvKiBE
RkdCYXNpY0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0Jhc2ljQmxvY2suY3BwOyBwYXRoID0gZGZnL0RGR0Jhc2ljQmxvY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFNDE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJ
bnNlcnRpb25TZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
QmxvY2tJbnNlcnRpb25TZXQuY3BwOyBwYXRoID0gZGZnL0RGR0Jsb2NrSW5zZXJ0aW9uU2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRTUxN0EwQjhDQzAwNzczQUQ4
IC8qIERGR0Jsb2NrSW5zZXJ0aW9uU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERGR0Jsb2NrSW5zZXJ0aW9uU2V0Lmg7IHBhdGggPSBkZmcvREZHQmxvY2tJbnNlcnRpb25T
ZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRTYxN0EwQjhDQzAwNzcz
QUQ4IC8qIERGR0NyaXRpY2FsRWRnZUJyZWFraW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHA7IHBh
dGggPSBkZmcvREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3RDg5Q0U3MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVk
Z2VCcmVha2luZ1BoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Ny
aXRpY2FsRWRnZUJyZWFraW5nUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdDcml0aWNhbEVkZ2VCcmVh
a2luZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0U4MTdBMEI4
Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBERkdGbHVzaEZvcm1hdC5jcHA7IHBhdGggPSBkZmcvREZHRmx1c2hGb3Jt
YXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFOTE3QTBCOENDMDA3
NzNBRDggLyogREZHRmx1c2hGb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHRmx1c2hGb3JtYXQuaDsgcGF0aCA9IGRmZy9ERkdGbHVzaEZvcm1hdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNFQzE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2
ZW5lc3NBbmFseXNpc1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTGl2ZW5lc3NB
bmFseXNpc1BoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEODlDRUQx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaDsgcGF0aCA9
IGRmZy9ERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTdEODlDRUUxN0EwQjhDQzAwNzczQUQ4IC8qIERGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NS
QXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHT1NSQXZhaWxhYmls
aXR5QW5hbHlzaXNQaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5
Q0VGMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RDg5Q0YwMTdBMEI4Q0MwMDc3M0FEOCAv
KiBERkdTU0FDb252ZXJzaW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHU1NBQ29udmVyc2lvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTU0FDb252
ZXJzaW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4OUNGMTE3
QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR1NTQUNvbnZlcnNpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RG
R1NTQUNvbnZlcnNpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q4
OUQwMTE3QTBCOTA0MDA3NzNBRDggLyogRlRMTG93ZXJlZE5vZGVWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExMb3dlcmVkTm9kZVZhbHVlLmg7IHBhdGggPSBmdGwv
RlRMTG93ZXJlZE5vZGVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Q5
QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmNw
cDsgcGF0aCA9IGRmZy9ERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTAxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0F0VGFpbEFic3Ry
YWN0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQXRUYWlsQWJz
dHJhY3RTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR0F0VGFpbEFic3RyYWN0U3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTExN0EwQkM3NDAwRUUyNjE4IC8qIERGR0Vk
Z2VEb21pbmF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRWRnZURv
bWluYXRlcy5oOyBwYXRoID0gZGZnL0RGR0VkZ2VEb21pbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTdEOUEyOTIxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdMSUNNUGhhc2UuY3Bw
OyBwYXRoID0gZGZnL0RGR0xJQ01QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3RDlBMjkzMTdBMEJDNzQwMEVFMjYxOCAvKiBERkdMSUNNUGhhc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTElDTVBoYXNlLmg7IHBhdGggPSBkZmcvREZHTElD
TVBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RENCNzc5MTJFM0Q5MDUw
MDkxMTk0MCAvKiBXcml0ZUJhcnJpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV3JpdGVCYXJyaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTJFQTY5
MEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFsUGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExpdGVyYWxQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTdFMkVBNkEwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJzZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGl0ZXJhbFBhcnNlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTVBM0E1MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxh
dGlvblJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21w
aWxhdGlvblJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RTVBM0E2
MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb21waWxhdGlvblJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBN0U1QUIzMzE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fzc2VtYmxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNRGlzYXNzZW1ibGVy
LmNwcDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNh
c3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExWTURpc2Fzc2Vt
Ymxlci5oOyBwYXRoID0gZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzUxNzk5RTRCMjAwRDI4MzNEIC8qIFVEaXM4NkRp
c2Fzc2VtYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBVRGlzODZEaXNh
c3NlbWJsZXIuaDsgcGF0aCA9IGRpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUFCMzYxNzk5RTRCMjAwRDI4MzNEIC8qIFg4
NkRpc2Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBY
ODZEaXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlzYXNzZW1ibGVyL1g4NkRpc2Fzc2VtYmxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3RjI5OTY5MTdBMEJCNjcwMDEwNDE3
QSAvKiBGVExGYWlsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZU
TEZhaWwuY3BwOyBwYXRoID0gZnRsL0ZUTEZhaWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBN0YyOTk2QTE3QTBCQjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExGYWlsLmg7IHBhdGggPSBmdGwvRlRMRmFpbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0Y4NjkwRTBGOTU4NEExMDA1NTg2OTcgLyog
Q2FjaGVkQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRDYWxs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Rjg2OUVDMEY5NUMyRUMwMDU1ODY5
NyAvKiBDYWxsRnJhbWVDbG9zdXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENhbGxGcmFtZUNsb3N1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdGOTkz
NUQwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNPTk9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
N0Y5OTM1RTBGRDczMjUxMDBBMEIyRDAgLyogSlNPTk9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU09OT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTdGQjYwNEIxMDNGNUVBQjAwMTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9wZXJ0eURlc2NyaXB0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdGQjYwQTMxMDNGN0RDMjAwMTdBMjg2
IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBN0ZDQzI2QzE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dpdGNoQ2FzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExTd2l0Y2hDYXNlLmg7IHBhdGggPSBmdGwvRlRM
U3dpdGNoQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0ZGNjQ3QTE4QzUy
RTg1MDBCNTUzMDcgLyogU3BpbGxSZWdpc3RlcnNNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwaWxs
UmVnaXN0ZXJzTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBOEE0NzQ4RDE1
MUE4MzA2MDA0MTIzRkYgLyogbGliV1RGLmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUE4RTg5NDMxMENEMDYwMjQwMDM2NzE3OSAv
KiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQThFODk0MzMwQ0QwNjAzRjAwMzY3MTc5IC8qIEpTR2xvYmFsT2JqZWN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFEMUNGMDY4MTZEQ0FCMkQwMEI5NzEyMyAvKiBQcm9wZXJ0
eVRhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3BlcnR5
VGFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBRDg2QTkzRDFBQTREODdD
MDAyRkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWFrR0NNYXBJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUFEREIxRjYyMThENzdEQjcwMDlCNThBOCAvKiBPcGFxdWVSb290U2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9wYXF1ZVJvb3RTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjU5Rjg5MzcxODkxQUQzMzAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rp
b25TdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5saW5rZWRJbnN0
cnVjdGlvblN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNTlGODkzODE4
OTFBREI1MDBENUNDREMgLyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmxpbmtlZEluc3RydWN0aW9uU3RyZWFtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3
IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0
aCA9IFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzAyRTkwNDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFcnJvckNvbnN0cnVjdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MDUwRTE4MzlEQjAwMEY5Mjk3IC8qIEVy
cm9yQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXJyb3JD
b25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzAyRTkwNjBFMTgz
OURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRXJyb3JQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzAyRTkwNzBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXJyb3JQcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MDgwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUJDMDJFOTA5MEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwMkU5MEEwRTE4MzlEQjAwMEY5Mjk3IC8q
IE5hdGl2ZUVycm9yUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5hdGl2ZUVycm9yUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkMwMkU5MEIwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yUHJvdG90eXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZUVycm9yUHJvdG90eXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMDJFOThBMEUxODNFMzgwMDBGOTI5NyAv
KiBFcnJvckluc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEVycm9ySW5zdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzAyRTk4
QjBFMTgzRTM4MDAwRjkyOTcgLyogRXJyb3JJbnN0YW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFcnJvckluc3RhbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUJDMDJFOUI2MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUJDMDJFOUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2V0dGVyU2V0dGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8q
IEpTQVBJVmFsdWVXcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEpTQVBJVmFsdWVXcmFwcGVyLmNwcDsgcGF0aCA9IC4uL3J1bnRpbWUvSlNBUElWYWx1ZVdy
YXBwZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzA4OTRENjBGQUZCQTJE
MDAwMDE4NjUgLyogSlNBUElWYWx1ZVdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSlNBUElWYWx1ZVdyYXBwZXIuaDsgcGF0aCA9IC4uL3J1bnRpbWUvSlNBUElWYWx1
ZVdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxMTY2MDAwRTE5OTdC
MTAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEYXRlSW5zdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzExNjYwMTBFMTk5N0IxMDA4MDY2REQgLyogRGF0ZUluc3RhbmNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVJbnN0YW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQzExNjY3QTBFMTk5QzA1MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbEZ1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMTE2N0Q4MEUxOUJDQzkwMDgwNjZERCAvKiBK
U0NlbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDZWxsLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0MwMEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJp
bmdDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
dHJpbmdDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThD
M0MxMEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQzE4QzNDMjBFMTZFRTMzMDBCMzQ0NjAgLyogU3RyaW5nT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ09iamVjdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0MzMEUxNkVFMzMwMEIzNDQ2MCAv
KiBTdHJpbmdPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5n
T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMThDM0M1MEUxNkVFMzMw
MEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3RyaW5nUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkMxOEMzQzYwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ1Byb3RvdHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdQcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxOEM1MjMwRTE2RkM4QTAwQjM0NDYwIC8qIEFycmF5UHJv
dG90eXBlLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheVByb3Rv
dHlwZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxOEM1MkQwRTE2RkNF
MTAwQjM0NDYwIC8qIExleGVyLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBMZXhlci5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyMkEzOTgwRTE2
RTE0ODAwQUYyMUM4IC8qIEpTT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMy
MkEzOTkwRTE2RTE0ODAwQUYyMUM4IC8qIEpTT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
MjJBMzlBMEUxNkUxNDgwMEFGMjFDOCAvKiBKU0Vudmlyb25tZW50UmVjb3JkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW52aXJvbm1lbnRSZWNvcmQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDMDBFMTZENEU5MDBBMDZFOTIgLyog
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQkMyNjgwQzEwRTE2RDRFOTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDMjBFMTZENEU5MDBBMDZFOTIgLyogTnVt
YmVyQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TnVtYmVyQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2
ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTnVtYmVyQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkMyNjgwQzQwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOdW1iZXJQcm90b3R5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDNTBFMTZENEU5MDBB
MDZFOTIgLyogTnVtYmVyUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE51bWJlclByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2
ODBDNjBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT2JqZWN0Q29uc3RydWN0b3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBDNzBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0
Q29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqZWN0Q29u
c3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyNjgwQzgwRTE2RDRF
OTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBPYmplY3RQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzI2ODBDOTBFMTZENEU5MDBBMDZFOTIgLyogT2JqZWN0UHJvdG90eXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9iamVjdFByb3RvdHlwZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyogTnVtYmVy
Q29uc3RydWN0b3IubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bWJl
ckNvbnN0cnVjdG9yLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzMwNDYw
NjBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMzMzdCREUwRTFB
RjBCODAwNzY5MThBIC8qIEdldHRlclNldHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2Jq
Y3BwOyB9OworCQlCQzMzN0JFQTBFMUIwMENCMDA3NjkxOEEgLyogRXJyb3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQzZBQUFFNDBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsYXNzSW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCQzc1NkZDNjBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
Qzc1NkZDNzBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMDYwRTE1RThBODAwQTg5OEFCIC8q
IEFycmF5Q29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQXJyYXlDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
Nzk1MjA3MEUxNUU4QTgwMEE4OThBQiAvKiBBcnJheUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMzIwRTE1RUI1NjAwQTg5OEFCIC8qIEJvb2xlYW5Db25zdHJ1
Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCb29sZWFuQ29u
c3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzc5NTIzMzBFMTVF
QjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJvb2xlYW5Db25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCQzc5NTIzNDBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhblByb3RvdHlwZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCb29sZWFuUHJvdG90eXBlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3OTUyMzUwRTE1RUI1NjAwQTg5OEFC
IC8qIEJvb2xlYW5Qcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Qm9vbGVhblByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzdGOEZC
QTBFMTlEMUVGMDA4NjMyQzAgLyogSlNDZWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ2VsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
ODdDREI4MTA3MTJBQ0EwMDA2MTRDRiAvKiBKU09OT2JqZWN0Lmx1dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU09OT2JqZWN0Lmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAgLyogQ29uc3RydWN0RGF0YS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zdHJ1Y3REYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDOTA0MTQ3MEVCOTI1MDkwMEZFMjZGQSAvKiBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJD
OTU0MzdDMEVCQTcwRkQwMDcyQjZEMyAvKiBQcm9wZXJ0eU1hcEhhc2hUYWJsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9wZXJ0eU1hcEhhc2hUYWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzlCQjk1QjBFMTk2ODA2MDBERjg4NTUgLyogSW50ZXJu
YWxGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRl
cm5hbEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNBNjJERkUw
RTI4MjYyMzAwMDRGMzBEIC8qIENhbGxEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhbGxEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkNBNjJERkYwRTI4MjYzMTAwMDRGMzBEIC8qIENvbnN0cnVjdERhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc3RydWN0RGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUJDQkUyQ0FEMTRFOTg1QUEwMDA1OTNBRCAvKiBHQ0Fzc2VydGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBc3NlcnRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDQ0YwRDA3MEVGMEFBQjkwMDQxM0M4RiAvKiBT
dHJ1Y3R1cmVTdHViSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1
Y3R1cmVTdHViSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0NGMEQwQjBF
RjBCOEE1MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1YkluZm8uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlU3R1YkluZm8uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCQ0QyMDJCRDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3Ry
dWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwQ29u
c3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJCRTBFMTcw
NkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVnRXhwQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkNEMjAyQkYwRTE3MDZBNzAwMkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBQcm90b3R5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJDMDBFMTcwNkE3MDAyQzdFODIgLyog
UmVnRXhwUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ0V4
cFByb3RvdHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0QyMDJENTBFMTcw
NzA4MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0QyMDM0NTBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZUNvbnN0cnVjdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb25zdHJ1Y3Rv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIwMzQ2MEUxNzEzNUUwMDJD
N0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGF0ZUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIw
MzQ3MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0QyMDM0ODBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlUHJvdG90eXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRDIwM0U3MEUxNzE4RjQwMDJDN0U4MiAvKiBEYXRl
UHJvdG90eXBlLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlUHJv
dG90eXBlLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0RENTFFOTBGQjhE
Rjc0MDA0QThCREMgLyogSklUT3Bjb2Rlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKSVRPcGNvZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkNERTNBQjAwRTZDODJDRjAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJ1Y3R1cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCQ0RFM0FCMTBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQ0Y2MDUxMTBFMjAzRUY4MDBCOUE2NEQgLyogQXJnTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcmdMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNGNjA1MTIwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJnTGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCQ0ZEOEM5MDBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEp1bXBUYWJsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAv
KiBKdW1wVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSnVtcFRhYmxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMDMyODFFMTk4MTk3OUQwMDg4QjQ5
OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBuYW1lID0gQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmM7IHBhdGggPSBBUEkvdGVz
dHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMyMDMyODFGMTk4MTk3OUQwMDg4QjQ5OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFz
c1Rlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tR2xvYmFsT2Jq
ZWN0Q2xhc3NUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NU
ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMEJBOTJDMTZCQjFDMTUwMEIz
QUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyMTEyMkRFMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERh
dGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NUaHJlYWRTaGFy
ZWREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIxMTIyREYxNUREOUFC
MzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHQ1RocmVhZFNoYXJlZERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzIxMUI1NzQxNzZBMjI0RDAwMEUyQTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJQ2FsbGJhY2tGdW5jdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjE4MUZDMDE4QTk0OEZCMDAyNUEyMzUgLyog
SlNFeHBvcnRUZXN0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0V4cG9y
dFRlc3RzLmg7IHBhdGggPSBBUEkvdGVzdHMvSlNFeHBvcnRUZXN0cy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMjE4MUZDMTE4QTk0OEZCMDAyNUEyMzUgLyogSlNFeHBvcnRUZXN0
cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEpTRXhwb3J0VGVz
dHMubW07IHBhdGggPSBBUEkvdGVzdHMvSlNFeHBvcnRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzIxOEQxM0YxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3B5V29ya0xpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIyMzlEMTIxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvcHlWaXNp
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIyMzlEMTMxNjI2MkJERDAw
NUFDNUZEIC8qIENvcHlWaXNpdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvcHlWaXNpdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyMjM5RDE0MTYy
NjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29weVZpc2l0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMyMjM5RDE1MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ1RocmVhZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUMyMjM5RDE2MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ1RocmVhZC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDMjI1NDk0MjE1RjdEQkFBMDA2NUU4OTggLyogU2xvdFZpc2l0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2xvdFZpc2l0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjQwMzA1MzE0QjQwNEM5MDA3OUVC
NjQgLyogQ29waWVkU3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ29waWVkU3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjREMzFF
MDE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGVhcFN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDMjREMzFFMTE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFN0YXRpc3RpY3MuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI1RDcwOTkxNkRFOTlGNDAwRkNBNkJDIC8qIEpT
TWFuYWdlZFZhbHVlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
SlNNYW5hZ2VkVmFsdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNUQ3MDlB
MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU01hbmFnZWRWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjVGOEJDQjE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2VlcGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluY3JlbWVudGFsU3dlZXBlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNUY4QkNDMTU3NTQ0QTkwMDI0NUI3
MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5jcmVtZW50YWxTd2VlcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMy
ODMxOEZGMTZGRTRCN0QwMDE1N0JGRCAvKiBIYW5kbGVCbG9jay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBIYW5kbGVCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjgzMTkwMTE2RkU1MzNFMDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhbmRsZUJsb2NrSW5saW5lcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIgLyogRGF0
ZVRlc3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERhdGVUZXN0cy5oOyBw
YXRoID0gQVBJL3Rlc3RzL0RhdGVUZXN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMjg4QjJERDE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gRGF0ZVRlc3RzLm1tOyBwYXRoID0gQVBJL3Rlc3Rz
L0RhdGVUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI5ODFGRDYxN0JB
RUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwOyBw
YXRoID0gZGZnL0RGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyOTgxRkQ3MTdCQUVFNEIwMEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1Jl
ZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRGVzaXJlZFdl
YWtSZWZlcmVuY2VzLmg7IHBhdGggPSBkZmcvREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyOTgxRkRBMTdCQUZGNDQwMEEzQkM5OCAvKiBE
RkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHA7IHBhdGggPSBkZmcvREZHRGVzaXJl
ZFdyaXRlQmFycmllcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjk4MUZE
QjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHRGVzaXJlZFdyaXRlQmFycmllcnMuaDsgcGF0aCA9
IGRmZy9ERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMjlFQ0IwMTE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dl
dHRlclRlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBDdXJy
ZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbTsgcGF0aCA9IEFQSS90ZXN0cy9DdXJyZW50
VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzI5RUNCMDIxODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0
ZXJUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1cnJlbnRUaGlzSW5z
aWRlQmxvY2tHZXR0ZXJUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ3VycmVudFRoaXNJbnNpZGVC
bG9ja0dldHRlclRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJBN0Y2ODcx
NjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJ
bmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRlQmFycmllcklu
bGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJCOTE2QzExNERBMDE0RTAw
Q0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNYXJrZWRBbGxvY2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJC
OTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRBbGxvY2F0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDMkMwRjdDQjE3QkJGQzVCMDA0NjRGRTQgLyogREZHRGVzaXJl
ZFRyYW5zaXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHA7IHBhdGggPSBkZmcvREZHRGVzaXJlZFRyYW5zaXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJDMEY3Q0MxN0JCRkM1QjAwNDY0
RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdEZXNpcmVkVHJhbnNpdGlvbnMuaDsgcGF0aCA9IGRmZy9ERkdEZXNpcmVkVHJh
bnNpdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJDOEQwMkIxNEEzQzZC
MjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb3BpZWRTcGFjZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyQ0YzOUJGMTZFMTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJP
YmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBKU0FQSVdy
YXBwZXJPYmplY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyQ0YzOUMwMTZF
MTVBODEwMERENjlCRSAvKiBKU0FQSVdyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNBUElXcmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMyREE3NzgyMThFMjU5OTkwMDY2RkNCNiAvKiBIZWFwSW5saW5lcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwSW5saW5lcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMkU1MjZCQjE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXBUaW1lci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRTUyNkJDMTU5MEVGMDAwMDU0RTQ4RCAvKiBI
ZWFwVGltZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFRpbWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRUFBM0Y4MTQ5QTgzMDgwMEZDRTExMiAv
KiBDb3BpZWRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3BpZWRT
cGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkVBRDJGQjE0RjAyNDk4MDBB
NEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvcGllZEFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkYw
RjJEMDE2QkFFRUU5MDAxODdDMTkgLyogU3RydWN0dXJlUmFyZURhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RydWN0dXJlUmFyZURhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDMkZDOUJEMjE2NjQ0REZCMDA4MTBEMzMgLyogQ29waWVk
QmxvY2tJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZEJs
b2NrSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkZDQUUwQzE3QTlD
MjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJ5dGVjb2RlQmFzaWNCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMyRkNBRTBEMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2lj
QmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVCYXNpY0Js
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRkNBRTBFMTdBOUMyNEUwMDM0
QzczNSAvKiBCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJGQ0FFMEYxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2Rl
TGl2ZW5lc3NBbmFseXNpcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRl
Y29kZUxpdmVuZXNzQW5hbHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJG
RTE4QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVJhcmVEYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM0NzAzQ0JGMTkyODQ0OTYwMDEzRkJFQSAvKiBnZW5lcmF0ZS1pbnNw
ZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247
IHBhdGggPSAiZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5Ijsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ3MDNDQzIxOTI4NDRDQzAwMTNGQkVBIC8qIF9faW5p
dF9fLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gX19pbml0X18ucHk7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM0NzAzQ0MzMTkyODQ0Q0MwMDEzRkJFQSAv
KiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcy5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ3MDNDQ0ExOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRv
cl90ZW1wbGF0ZXMucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0b3JfdGVtcGxhdGVzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNDcwM0ND
QjE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBwYXRoID0gZ2VuZXJhdG9yLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDNDcwM0NDQzE5Mjg0NENDMDAxM0ZCRUEgLyogbW9kZWxzLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gbW9kZWxzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDNEY0QjZDRjFBMDVDNzZGMDA1Q0FCNzYgLyogY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBjcHBfZ2VuZXJhdG9yX3Rl
bXBsYXRlcy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzRGNEI2RDAxQTA1Qzc2
RjAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBjcHBfZ2VuZXJhdG9yLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDNEY0QjZEMTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0
Y2hlcl9oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzRGNEI2RDIxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9iYWNr
ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5w
eXRob247IHBhdGggPSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZEMzFBMDVDNzZGMDA1
Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rp
c3BhdGNoZXJfaGVhZGVyLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZE
NDFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5l
cmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzRGNEI2RDUxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRl
X2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IHBhdGggPSBnZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5OyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZENjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJh
dGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVu
dGF0aW9uLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNEY0QjZENzFBMDVDNzZG
MDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5w
eSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlX29iamNfcHJv
dG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM0RjRCNkQ4MUEwNUM3NkYwMDVDQUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBvYmpjX2dlbmVyYXRvcl90
ZW1wbGF0ZXMucHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQyMTIwMjI4MEFENDMx
MEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCURDMDAwMzkwMTlEOEJFNkYwMDAyM0VCMCAvKiBERkdQcmVj
aXNlTG9jYWxDbG9iYmVyaXplLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaDsgcGF0aCA9IGRmZy9ERkdQcmVjaXNlTG9jYWxDbG9i
YmVyaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxMjRBOEY1MEU1NTU3NzUw
MDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBPcGFxdWVKU1N0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMTI0
QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3BhcXVlSlNTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRo
cmVhZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbml0aWFsaXplVGhy
ZWFkaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxNzg2MzZDMEQ5QkVFQzMw
MEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluaXRpYWxpemVUaHJlYWRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFMThFM0E1NjBERjkyNzhDMDBEOTBCMzQgLyogVk0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcub2JqY3BwOyB9OworCQlFMThFM0E1NzBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0geGNvZGUubGFuZy5jcHA7IH07CisJCUU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQ
cm92aWRlckNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNv
dXJjZVByb3ZpZGVyQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNUJC
MkJDNTAzMEY3NzIxMDFGQ0ZFMUQgLyogQ29tcGxldGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21wbGV0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjVDMjkwRTYwMjg0Rjk4RTAxODYzNUNB
IC8qIEphdmFTY3JpcHRDb3JlUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDb3JlUHJlZml4Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY4RUJCOEMwMjU1RDRDNjAxRkY2MEY3
IC8qIGNvbmZpZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBjb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg0RDAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0g
MDsgcGF0aCA9IEFycmF5UHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKKwkJRjY5MkE4NEUwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
RjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5PYmplY3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQm9vbGVhbk9iamVj
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4
NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgcGF0aCA9IGNyZWF0ZV9oYXNoX3RhYmxlOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY2OTJBODU4MDI1NTU5
N0QwMUZGNjBGNyAvKiBEZWJ1Z2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWJ1Z2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERl
YnVnZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERlYnVnZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsK
KwkJRjY5MkE4NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0
aW9uUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVuY3Rpb25Q
cm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlG
NjkyQTg1RTAyNTU1OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Z1bmN0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg1RjAyNTU1
OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NjIwMjU1NTk3RDAxRkY2MEY3IC8qIEpTU3Ry
aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJ
RjY5MkE4NjUwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExleGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg2NjAyNTU1OTdEMDFGRjYw
RjcgLyogTGV4ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGV4ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OworCQlGNjkyQTg2ODAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvb2t1cC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NjkwMjU1NTk3
RDAxRkY2MEY3IC8qIExvb2t1cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb29rdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB9OworCQlGNjkyQTg2QTAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
YXRoT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owor
CQlGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoT2JqZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NkQwMjU1NTk3RDAx
RkY2MEY3IC8qIE5vZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB9OworCQlGNjkyQTg2RTAyNTU1OTdEMDFGRjYwRjcgLyogTm9kZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg3MDAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bWJlck9iamVjdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4NzEwMjU1NTk3RDAxRkY2
MEY3IC8qIE51bWJlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOdW1iZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB9OworCQlGNjkyQTg3NzAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9u
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB9OworCQlGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcGVyYXRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4N0IwMjU1
NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBPYmplY3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY2OTJBODdDMDI1NTU5N0QwMUZG
NjBGNyAvKiBSZWdFeHBPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4N0QwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWdFeHAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJ
CUY2OTJBODdFMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKKwkJRjY5MkE4ODcwMjU1NTk3RDAxRkY2MEY3IC8q
IEpTQ0pTVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNDSlNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgfTsKKwkJRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRp
bWVMaW1pdFRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXhl
Y3V0aW9uVGltZUxpbWl0VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxp
bWl0VGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMEQ0QTA1MUFCOERE
MEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0
cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZFMEQ0QTA3MUFCQTI0MzcwMDJGNTRCRiAvKiBHbG9iYWxDb250ZXh0V2l0aEZpbmFsaXplclRl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR2xvYmFsQ29udGV4
dFdpdGhGaW5hbGl6ZXJUZXN0LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9HbG9iYWxDb250ZXh0V2l0
aEZpbmFsaXplclRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTBENEEw
ODFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEdsb2JhbENvbnRleHRXaXRoRmluYWxpemVy
VGVzdC5oOyBwYXRoID0gQVBJL3Rlc3RzL0dsb2JhbENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTFDMEZGQzFCMTkzRTk4MDBCNTNGQ0Eg
LyogRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4Y2VwdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTFDMEZGRTFCMTk0RkQxMDBCNTNG
Q0EgLyogRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMjBDRTlCMTVG
MDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IExMSW50Q0xvb3AuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRDTG9vcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMjBDRTlDMTVGMDRBOTUwMERGMzQzMCAv
KiBMTEludENMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50Q0xv
b3AuaDsgcGF0aCA9IGxsaW50L0xMSW50Q0xvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkUzODRFRTExQUREQjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEb2xsYXJWTS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZFMzg0RUUyMUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZN
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9sbGFyVk0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkUzODRFRTMxQUREQjdBRDAwNTVERTJDIC8qIEpTRG9s
bGFyVk1Qcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNEb2xsYXJWTVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZF
Mzg0RUU0MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9sbGFyVk1Qcm90b3R5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU0QkZGMjkxQUQ0NzZFNzAwMDg4Rjg3IC8qIEZ1bmN0aW9u
T3ZlcnJpZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZ1bmN0
aW9uT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU0QkZGMkEx
QUQ0NzZFNzAwMDg4Rjg3IC8qIEZ1bmN0aW9uT3ZlcnJpZGVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZ1bmN0aW9uT3ZlcnJpZGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZFNEQ1NUI3MUFFNzE2Q0EwMDUyRTQ1OSAvKiBJdGVyYXRpb25TdGF0dXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSXRlcmF0aW9uU3RhdHVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNTA2ODY0MUFFMjQ2MzkwMDA5REFCNyAvKiBEZWZl
cnJlZFNvdXJjZUR1bXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmZXJy
ZWRTb3VyY2VEdW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNTA2ODY2MUFF
MjVFMjgwMDA5REFCNyAvKiBEZWZlcnJlZFNvdXJjZUR1bXAuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGVmZXJyZWRTb3VyY2VEdW1wLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlTY29w
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWTUVudHJ5U2NvcGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTU5MzJBNjE4M0M1QTI2MDBBMUVD
Q0MgLyogVk1FbnRyeVNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZN
RW50cnlTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTdCQTYwRDFBMUE3
Q0VDMDBGMUY3QjQgLyogSGVhcFZlcmlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhlYXBWZXJpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZFN0JBNjBFMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFZlcmlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZFQTA4NjFFMTgyQjdBMDQwMEY2RDg1MSAvKiBCcmVha3BvaW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkVBMDg2MUYxODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJp
bWl0aXZlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlclByaW1p
dGl2ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVCNTFGNkExQTk3QjY4ODAw
MUY5MjFDIC8qIFJlZ3Jlc3MxNDE4MDkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gUmVncmVzczE0MTgwOS5oOyBwYXRoID0gQVBJL3Rlc3RzL1JlZ3Jlc3MxNDE4MDkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJl
Z3Jlc3MxNDE4MDkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBS
ZWdyZXNzMTQxODA5Lm1tOyBwYXRoID0gQVBJL3Rlc3RzL1JlZ3Jlc3MxNDE4MDkubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQjU4QzEyMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJv
ckhhbmRsaW5nU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RXJyb3JIYW5kbGluZ1Njb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVC
NThDMTMxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFcnJvckhhbmRsaW5nU2NvcGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkVEMjg3QjExNUVDOUE1NzAwREE4MTYxIC8qIExMSW50T3Bjb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50T3Bjb2RlLmg7IHBhdGgg
PSBsbGludC9MTEludE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUQ5
NEYyQjE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2F0Y2hkb2cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2F0Y2hkb2cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkVEOTRGMkQxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nTWFjLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhdGNoZG9nTWFjLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVGMDQwNTAxQUFFNjYyRDAwQkQyOEIwIC8qIENvbXBhcmVB
bmRTd2FwVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDb21w
YXJlQW5kU3dhcFRlc3QuY3BwOyBwYXRoID0gQVBJL3Rlc3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFRjA0MDUyMUFBRUM0RUQwMEJEMjhC
MCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQ29tcGFyZUFuZFN3YXBUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBU
ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFRjY4MzVBMTc0MzQzQ0MwMEEz
MkUyNSAvKiBKSVRTdHVic0FSTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
SVRTdHVic0FSTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUY2ODM1QjE3NDM0
M0NDMDBBMzJFMjUgLyogSklUU3R1YnNBUk12Ny5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKSVRTdHVic0FSTXY3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZF
RjY4MzVDMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKSVRTdHVic1g4Nl82NC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGRUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3R1YnNYODYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKworLyog
QmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCMzE4MDVE
NjE2MDA0NzJDRTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOworCQl9OworCQkxNDEyMTExRTBBNDg3OTNDMDA0ODAyNTUgLyogRnJhbWV3
b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRB
Y3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0QjhFQzcyMEE1NjUy
MDkwMDYyQkU1NCAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywK
KwkJCQkxNDEyMTEzMTBBNDg3OTREMDA0ODAyNTUgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCX07CisJCTE0QkQ1OUJEMEEzRThGOTAwMEJBRjU5QyAvKiBGcmFtZXdv
cmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFj
dGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDQ0M0FFMzMxNkUxODhE
OTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJ
MTRCRDU5QzUwQTNFOEY5RjAwQkFGNTlDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OworCQk2NTExMjJGQzE0MDQ2QTRDMDAyQjEwMUQgLyogRnJhbWV3b3JrcyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTY1MTEyMkZEMTQwNDZBNEMwMDJC
MTAxRCAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQk2
NTExMjJGRTE0MDQ2QTRDMDAyQjEwMUQgLyogbGliZWRpdC5keWxpYiBpbiBGcmFtZXdvcmtzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQk5MzJGNUJEMjA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTkzMkY1QkQzMDgyMkExQzcwMDczNjk3NSAvKiBDb3Jl
Rm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlBNzMxQjI1QTEzMDA5
Mzg4MDA0MEE3RkEgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJ
CQk5MzJGNUJENzA4MjJBMUM3MDA3MzY5NzUgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdv
cmtzICovLAorCQkJCTkzMkY1QkQ2MDgyMkExQzcwMDczNjk3NSAvKiBsaWJvYmpjLmR5bGliIGlu
IEZyYW1ld29ya3MgKi8sCisJCQkJQThBNDc0OEUxNTFBODMwNjAwNDEyM0ZGIC8qIGxpYldURi5h
IGluIEZyYW1ld29ya3MgKi8sCisJCQkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJOTMyRjVCREUwODIyQTFDNzAwNzM2OTc1IC8qIEZy
YW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk5MzJGNUJFQTA4
MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCisJCQkJNUQ1RDhBRDEwRTBEMEVCRTAwRjlDNjkyIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJh
bWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisK
Ky8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhC
IC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQkwRkY5MjJDRjE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
ICovLAorCQkJCTkzMkY1QkQ5MDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsgKi8sCisJCQkJOTMyRjVCRTEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLywKKwkJCQkw
RkNFRkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKKwkJCQkx
NDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLywKKwkJCQkxNEJENTlCRjBBM0U4
RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywKKwkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQg
LyogdGVzdFJlZ0V4cCAqLywKKwkJCSk7CisJCQluYW1lID0gUHJvZHVjdHM7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9
OworCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogSmF2YVNjcmlwdENvcmUgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTY1MjlGQjMwMThCMkQ2Mzkw
MEM2MTEwMiAvKiBnZW5lcmF0ZS1ieXRlY29kZS1maWxlcyAqLywKKwkJCQk4NjA0RjRGMjE0M0E2
QzQ0MDBCMjk1RjUgLyogQ2hhbmdlTG9nICovLAorCQkJCUY2OTJBODU0MDI1NTU5N0QwMUZGNjBG
NyAvKiBjcmVhdGVfaGFzaF90YWJsZSAqLywKKwkJCQlBNzE4RjgyMTExNzhFQjRCMDAyNDY1QTcg
LyogY3JlYXRlX3JlZ2V4X3RhYmxlcyAqLywKKwkJCQlBNzFEQTgwRDE4ODBENzFGMDBEMUYyOTkg
LyogZ2VuZXJhdGUtanMtYnVpbHRpbnMgKi8sCisJCQkJNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0
IC8qIGpzYy5jcHAgKi8sCisJCQkJRjY4RUJCOEMwMjU1RDRDNjAxRkY2MEY3IC8qIGNvbmZpZy5o
ICovLAorCQkJCUY1QzI5MEU2MDI4NEY5OEUwMTg2MzVDQSAvKiBKYXZhU2NyaXB0Q29yZVByZWZp
eC5oICovLAorCQkJCTkzN0I2M0NDMDlFNzY2RDIwMEE2NzFERCAvKiBEZXJpdmVkU291cmNlcy5t
YWtlICovLAorCQkJCUE3QzIyNUNDMTM5OTgxRjEwMEZGMTY2MiAvKiBLZXl3b3JkTG9va3VwR2Vu
ZXJhdG9yLnB5ICovLAorCQkJCTE0MzJFQkQ3MEEzNENBRDQwMDcxN0I5RiAvKiBBUEkgKi8sCisJ
CQkJOTY4OENCMTIwRUQxMkI0RTAwMUQ2NDlGIC8qIGFzc2VtYmxlciAqLywKKwkJCQlBNTRDRjJF
QTE4NEVBNzM5MDAyMzdGMTkgLyogYmluZGluZ3MgKi8sCisJCQkJQTdEODAxOUYxODgwRDY2RTAw
MjZDMzlCIC8qIGJ1aWx0aW5zICovLAorCQkJCTk2OUEwNzhGMEVEMUQzQUUwMEYxRjY4MSAvKiBi
eXRlY29kZSAqLywKKwkJCQk3RTM5RDgxRDBFQzM4RUZBMDAzQUYxMUEgLyogYnl0ZWNvbXBpbGVy
ICovLAorCQkJCTFDOTA1MTNFMEJBOUU4ODMwMDgxRTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLywK
KwkJCQkxNDgwREI5QTBEREMyMjMxMDAzQ0ZERjIgLyogZGVidWdnZXIgKi8sCisJCQkJNjUwRkRG
OEQwOUQwRkNBNzAwNzY5RTU0IC8qIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQk4NkVDOURCMzEz
MjhERjQ0MDAyQjJBRDcgLyogZGZnICovLAorCQkJCTBGRjQyNzJFMTU4RUJDQ0UwMDRDQjlGRiAv
KiBkaXNhc3NlbWJsZXIgKi8sCisJCQkJMDg2N0Q2OUFGRTg0MDI4RkMwMkFBQzA3IC8qIEZyYW1l
d29ya3MgKi8sCisJCQkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJDIC8qIGZ0bCAqLywKKwkJCQkx
NDJFMzEyQTEzNEZGMEE2MDBBRkFEQjUgLyogaGVhcCAqLywKKwkJCQlBNUJBMTVERjE4MjM0MDky
MDBBODJFNjkgLyogaW5zcGVjdG9yICovLAorCQkJCTE0MjlENzdBMEVEMjBENzMwMEI4OTYxOSAv
KiBpbnRlcnByZXRlciAqLywKKwkJCQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICov
LAorCQkJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAvKiBsbGludCAqLywKKwkJCQkwRkNFRkFB
RDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLywKKwkJCQk3RTM5RDgzNzBFQzNBMzg4MDAzQUYx
MUEgLyogcGFyc2VyICovLAorCQkJCTAzNDc2OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0
cyAqLywKKwkJCQk5NUFCODMxQTBEQTQyQzY5MDBCQzgzRjMgLyogcHJvZmlsZXIgKi8sCisJCQkJ
OTlFNDVBMEMxOEEwMUU5MzAwMjZEODhGIC8qIHJlcGxheSAqLywKKwkJCQk5MzJGQzNDMjA4MjRC
QjcwMDA1QjNDNzUgLyogUmVzb3VyY2VzICovLAorCQkJCTdFRjZFMEJCMEVCN0ExRUMwMDc5QUZB
RiAvKiBydW50aW1lICovLAorCQkJCTE0MTIxMTAwMEE0ODc3MjYwMDQ4MDI1NSAvKiB0ZXN0cyAq
LywKKwkJCQk4NjAzQ0VGMDE0Qzc1M0VGMDBBRTU5RTMgLyogdG9vbHMgKi8sCisJCQkJODZFQUM0
OEMwRjkzRThCOTAwOEVDOTQ4IC8qIHlhcnIgKi8sCisJCQkpOworCQkJbmFtZSA9IEphdmFTY3Jp
cHRDb3JlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMDg2N0Q2OUFGRTg0
MDI4RkMwMkFBQzA3IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRh
dGlvbi5mcmFtZXdvcmsgKi8sCisJCQkJNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5k
YXRpb24uZnJhbWV3b3JrICovLAorCQkJCTVENUQ4QUQwMEUwRDBFQkUwMEY5QzY5MiAvKiBsaWJl
ZGl0LmR5bGliICovLAorCQkJCTkzMjJBMDAzMDZDMzQxRDMwMDkwNjdCQiAvKiBsaWJpY3Vjb3Jl
LmR5bGliICovLAorCQkJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGli
ICovLAorCQkJCUE4QTQ3NDhEMTUxQTgzMDYwMDQxMjNGRiAvKiBsaWJXVEYuYSAqLywKKwkJCQkz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLywKKwkJCSk7CisJCQluYW1l
ID0gRnJhbWV3b3JrczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9
IDQ7CisJCQl1c2VzVGFicyA9IDA7CisJCX07CisJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAv
KiBsbGludCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
RkUyMENFOUIxNUYwNEE5NTAwREYzNDMwIC8qIExMSW50Q0xvb3AuY3BwICovLAorCQkJCUZFMjBD
RTlDMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggKi8sCisJCQkJMEY0NjgwQzUxNEJC
QjE2OTAwQkZFMjcyIC8qIExMSW50Q29tbW9uLmggKi8sCisJCQkJMEY0NjgwQ0UxNEJCQjNEMTAw
QkZFMjcyIC8qIExMSW50RGF0YS5jcHAgKi8sCisJCQkJMEY0NjgwQ0YxNEJCQjNEMTAwQkZFMjcy
IC8qIExMSW50RGF0YS5oICovLAorCQkJCTVERERGNDQ2MTRGRUU3MjIwMEI0RkI0RCAvKiBMTElu
dERlc2lyZWRPZmZzZXRzLmggKi8sCisJCQkJMEYzOEIwMEYxN0NGMDc3RjAwQjE0NEQzIC8qIExM
SW50RW50cnlwb2ludC5jcHAgKi8sCisJCQkJMEYzOEIwMTAxN0NGMDc3RjAwQjE0NEQzIC8qIExM
SW50RW50cnlwb2ludC5oICovLAorCQkJCTBGNDY4MDlEMTRCQTdGODIwMEJGRTI3MiAvKiBMTElu
dEV4Y2VwdGlvbnMuY3BwICovLAorCQkJCTBGNDY4MDlFMTRCQTdGODIwMEJGRTI3MiAvKiBMTElu
dEV4Y2VwdGlvbnMuaCAqLywKKwkJCQkwRjQ2ODBDNjE0QkJCMTY5MDBCRkUyNzIgLyogTExJbnRP
ZmZsaW5lQXNtQ29uZmlnLmggKi8sCisJCQkJMEY0NjgwQTExNEJBN0Y4MjAwQkZFMjcyIC8qIExM
SW50T2Zmc2V0c0V4dHJhY3Rvci5jcHAgKi8sCisJCQkJRkVEMjg3QjExNUVDOUE1NzAwREE4MTYx
IC8qIExMSW50T3Bjb2RlLmggKi8sCisJCQkJMEY0NjgwOUYxNEJBN0Y4MjAwQkZFMjcyIC8qIExM
SW50U2xvd1BhdGhzLmNwcCAqLywKKwkJCQkwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJ
bnRTbG93UGF0aHMuaCAqLywKKwkJCQkwRjBCODM5NzE0QkNGNDVBMDA4ODVCNEYgLyogTExJbnRU
aHVua3MuY3BwICovLAorCQkJCTBGMEI4Mzk4MTRCQ0Y0NUEwMDg4NUI0RiAvKiBMTEludFRodW5r
cy5oICovLAorCQkJCTg2QTA1NDQ2MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJl
dGVyLmFzbSAqLywKKwkJCQkwRjQ2ODBDNzE0QkJCMTY5MDBCRkUyNzIgLyogTG93TGV2ZWxJbnRl
cnByZXRlci5jcHAgKi8sCisJCQkJMEY0NjgwQzgxNEJCQjE2OTAwQkZFMjcyIC8qIExvd0xldmVs
SW50ZXJwcmV0ZXIuaCAqLywKKwkJCQk4NkEwNTQ0NzE1NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2
ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSAqLywKKwkJCQk4NkEwNTQ0ODE1NTY0NTFCMDA0NDUxNTcg
LyogTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSAqLywKKwkJCSk7CisJCQluYW1lID0gbGxpbnQ7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkNFRkFBRDE4MDVDQTQ0MDA0
NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJOUVBNUM3QTAxOTBGMDVEMjAwNTA4RUJFIC8qIEluaXRpYWxpemVMTFZNTWFjLmNwcCAq
LywKKwkJCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLywKKwkJCQkwRkNF
RkFDNDE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovLAorCQkJCTBGQ0VG
QUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovLAorCQkJCTBGQ0VGQUM1
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAqLywKKwkJCQkwRkNF
RkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovLAorCQkJCTBG
Q0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCAqLywKKwkJCQkwRkNFRkFDODE4
MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovLAorCQkJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3
MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi8sCisJCQkJMEZDRUZBRDIxODA1RURDQzAwNDcy
Q0U0IC8qIExMVk1IZWFkZXJzLmggKi8sCisJCQkpOworCQkJbmFtZSA9IGxsdm07CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyog
bGlicmFyeSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
MEZDRUZBREIxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZpZ19sbHZtLmggKi8sCisJCQkJMEZDRUZB
RDYxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwICovLAorCQkJCTBGQ0VGQUMyMTgw
NUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi8sCisJCQkJMEZDRUZBQzAxODA1RDk0
MTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSBsaWJy
YXJ5OworCQkJcGF0aCA9IGxsdm0vbGlicmFyeTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CisJCTBGRUEwOUZDMTcwNTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGREIyQ0M3MTczREE1MUUwMDdCM0Mx
QiAvKiBGVExBYmJyZXZpYXRlZFR5cGVzLmggKi8sCisJCQkJMEZFQTA5RkQxNzA1MTNEQjAwQkI3
MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCAqLywKKwkJCQkwRkVBMEExNzE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmNwcCAqLywKKwkJCQkwRkVBMEExODE3MDhCMDA3MDBCQjcy
MkMgLyogRlRMQWJzdHJhY3RIZWFwLmggKi8sCisJCQkJMEZFQTBBMTkxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwICovLAorCQkJCTBGRUEwQTFBMTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8sCisJCQkJMEY0ODUz
MjMxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCAqLywKKwkJCQkw
RjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCAqLywKKwkJ
CQkwRkVBMDlGRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJ
CQkwRkVBMDlGRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmggKi8sCisJCQkJ
MEZFQTBBMjUxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5jcHAgKi8sCisJCQkJ
MEZFQTBBMjExNzA5NjA2OTAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5oICovLAorCQkJCTBG
RUEwQTAwMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDb21waWxlLmNwcCAqLywKKwkJCQkwRkVBMEEw
MTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29tcGlsZS5oICovLAorCQkJCTBGRTk1Rjc3MThCNTY5
NDcwMEI1MzFGQiAvKiBGVExEYXRhU2VjdGlvbi5jcHAgKi8sCisJCQkJMEZFOTVGNzgxOEI1Njk0
NzAwQjUzMUZCIC8qIEZUTERhdGFTZWN0aW9uLmggKi8sCisJCQkJMkFDOTIyQjkxOEExNjE4MjAw
M0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgKi8sCisJCQkJMkFDOTIyQkExOEEx
NjE4MjAwM0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5oICovLAorCQkJCTBGOUM1RTVD
MThFMzVGNUUwMEQ0MzFDMyAvKiBGVExEV0FSRlJlZ2lzdGVyLmNwcCAqLywKKwkJCQkwRjlDNUU1
RDE4RTM1RjVFMDBENDMxQzMgLyogRlRMRFdBUkZSZWdpc3Rlci5oICovLAorCQkJCTBGMjM1QkJE
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3BwICovLAorCQkJCTBGMjM1QkJF
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuaCAqLywKKwkJCQkwRjIzNUJCRjE3
MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgKi8sCisJCQkJ
MEYyMzVCQzAxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRBcmd1bWVudEZvck9wZXJhbmQuaCAq
LywKKwkJCQkwRjIzNUJDMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50TGlzdC5o
ICovLAorCQkJCTBGMkI5Q0VFMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0UHJvcGVydHlWYWx1
ZS5jcHAgKi8sCisJCQkJMEYyQjlDRUYxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRQcm9wZXJ0
eVZhbHVlLmggKi8sCisJCQkJMEYyMzVCQzIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVu
a0dlbmVyYXRvci5jcHAgKi8sCisJCQkJMEYyMzVCQzMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4
aXRUaHVua0dlbmVyYXRvci5oICovLAorCQkJCTBGMkI5Q0YwMTlEMEJBQzEwMEIxRDFCNSAvKiBG
VExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5jcHAgKi8sCisJCQkJMEYyQjlDRjExOUQw
QkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmggKi8sCisJ
CQkJMEYyMzVCQzQxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5jcHAgKi8sCisJCQkJ
MEYyMzVCQzUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5oICovLAorCQkJCUE3RjI5
OTY5MTdBMEJCNjcwMDEwNDE3QSAvKiBGVExGYWlsLmNwcCAqLywKKwkJCQlBN0YyOTk2QTE3QTBC
QjY3MDAxMDQxN0EgLyogRlRMRmFpbC5oICovLAorCQkJCTBGRUEwQTJCMTcwQjY2MTkwMEJCNzIy
QyAvKiBGVExGb3JtYXR0ZWRWYWx1ZS5oICovLAorCQkJCTBGRDhBMzE1MTdENTFGMjIwMENBMkM0
MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuY3BwICovLAorCQkJCTBGRDhBMzE2MTdENTFGMjIw
MENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCAqLywKKwkJCQlBNzhBOTc3QzE3OTcz
OEQ1MDA5REY3NDQgLyogRlRMR2VuZXJhdGVkRnVuY3Rpb24uaCAqLywKKwkJCQkwRjI1RjFBNzE4
MTYzNUYzMDA1MjJGMzkgLyogRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmggKi8sCisJCQkJMEYy
NUYxQTgxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5jcHAgKi8sCisJCQkJ
MEYyNUYxQTkxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oICovLAorCQkJ
CTBGRUEwQTI2MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmNwcCAq
LywKKwkJCQkwRkVBMEEyMjE3MDk2MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oICovLAorCQkJCTBGRUEwQTAyMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmNwcCAq
LywKKwkJCQkwRkVBMEEwMzE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5oICovLAorCQkJ
CUE3OEE5NzdEMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuY3BwICovLAorCQkJ
CUE3OEE5NzdFMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAqLywKKwkJCQkw
RjZCMUNCMzE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNwcCAqLywKKwkJCQkwRjZCMUNC
NDE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmggKi8sCisJCQkJMEZEMTIwMkQxQThBRUQx
MjAwMEY1MjgwIC8qIEZUTEpTQ2FsbEJhc2UuY3BwICovLAorCQkJCTBGRDEyMDJFMUE4QUVEMTIw
MDBGNTI4MCAvKiBGVExKU0NhbGxCYXNlLmggKi8sCisJCQkJMEZEMTIwMzExQThDODVCRDAwMEY1
MjgwIC8qIEZUTEpTQ2FsbFZhcmFyZ3MuY3BwICovLAorCQkJCTBGRDEyMDMyMUE4Qzg1QkQwMDBG
NTI4MCAvKiBGVExKU0NhbGxWYXJhcmdzLmggKi8sCisJCQkJMEY4RjJCOTMxNzJFMDQ5RTAwN0RC
REE1IC8qIEZUTExpbmsuY3BwICovLAorCQkJCTBGOEYyQjk0MTcyRTA0OUUwMDdEQkRBNSAvKiBG
VExMaW5rLmggKi8sCisJCQkJMEZDRUZBREQxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9u
LmNwcCAqLywKKwkJCQkwRkNFRkFERTE4MDczOEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uaCAq
LywKKwkJCQkwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3Bw
ICovLAorCQkJCTBGRUEwQTA1MTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5o
ICovLAorCQkJCUE3RDg5RDAxMTdBMEI5MDQwMDc3M0FEOCAvKiBGVExMb3dlcmVkTm9kZVZhbHVl
LmggKi8sCisJCQkJMEYyQjlDRjIxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTE9wZXJhdGlvbnMuY3Bw
ICovLAorCQkJCTBGMkI5Q0YzMTlEMEJBQzEwMEIxRDFCNSAvKiBGVExPcGVyYXRpb25zLmggKi8s
CisJCQkJMEZEOEEzMTcxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCAqLywKKwkJ
CQkwRkQ4QTMxODE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuaCAqLywKKwkJCQkwRjIz
NUJDNjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAgKi8sCisJCQkJMEYyMzVCQzcx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuaCAqLywKKwkJCQkwRjIzNUJDODE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oICovLAorCQkJCTBGMjM1QkM5
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwICovLAorCQkJCTBGMjM1
QkNBMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuaCAqLywKKwkJCQkwRkVB
MEEyOTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCAqLywKKwkJCQkwRkVBMEEwNjE3
MDUxM0RCMDBCQjcyMkMgLyogRlRMT3V0cHV0LmggKi8sCisJCQkJMEY0ODUzMjUxODdERkRFQzAw
ODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCAqLywKKwkJCQkwRjQ4NTMyNjE4N0RGREVD
MDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuaCAqLywKKwkJCQkwRjZCMUNCRjE4NjJDNDc4
MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgKi8sCisJCQkJMEY2QjFDQzAxODYy
QzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCAqLywKKwkJCQkwRkNFRkFBOTE4
MDRDMTNFMDA0NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuY3BwICovLAorCQkJCTBGQ0VGQUFBMTgw
NEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5oICovLAorCQkJCTBGMjVGMUFBMTgxNjM1
RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuY3BwICovLAorCQkJCTBGMjVGMUFCMTgxNjM1
RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuaCAqLywKKwkJCQkwRjI1RjFBQzE4MTYzNUYz
MDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmNwcCAqLywKKwkJCQkwRjI1RjFBRDE4MTYz
NUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmggKi8sCisJCQkJMEY5RDMzOTgxODAz
QURCNzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5jcHAgKi8sCisJCQkJMEY5RDMzOTkxODAzQURC
NzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5oICovLAorCQkJCTBGRUEwQTE1MTcwNkJCOTAwMEJC
NzIyQyAvKiBGVExTdGF0ZS5jcHAgKi8sCisJCQkJMEZFQTBBMDcxNzA1MTNEQjAwQkI3MjJDIC8q
IEZUTFN0YXRlLmggKi8sCisJCQkJQTdGQ0MyNkMxN0EwQjZBQTAwNzg2RDFBIC8qIEZUTFN3aXRj
aENhc2UuaCAqLywKKwkJCQkwRjIzNUJDQjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNw
cCAqLywKKwkJCQkwRjIzNUJDQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmggKi8sCisJ
CQkJMEZFQTBBMUIxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTFR5cGVkUG9pbnRlci5oICovLAorCQkJ
CTBGNkIxQ0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmNwcCAqLywKKwkJCQkw
RjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICovLAorCQkJCTBGMjM1
QkNEMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgKi8sCisJCQkJMEYyMzVC
Q0UxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmggKi8sCisJCQkJMEZEQjJDQzgx
NzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggKi8sCisJCQkJMEY1QTYyODEx
ODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuY3BwICovLAorCQkJCTBGNUE2MjgyMTg4
Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmggKi8sCisJCQkJMEYwMzMyQzUxOEI1M0ZB
OTAwNUY5NzlBIC8qIEZUTFdlaWdodC5oICovLAorCQkJCTBGMDMzMkM3MThCNTQ2RUMwMDVGOTc5
QSAvKiBGVExXZWlnaHRlZFRhcmdldC5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBmdGw7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkwRkY0MjcyRTE1OEVCQ0NFMDA0Q0I5RkYg
LyogZGlzYXNzZW1ibGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk2NTJBM0ExQTE2NTFBOTI0MDBBODBBRkUgLyogQVJNNjQgKi8sCisJCQkJNjVDMDI4
NTkxNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3ICovLAorCQkJCTBGRjQyNzMzMTU4RUJENjQwMDRD
QjlGRiAvKiB1ZGlzODYgKi8sCisJCQkJNjUyQTNBMjAxNjUxQzY2MTAwQTgwQUZFIC8qIEFSTTY0
RGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQk2NUMwMjg0RjE3MTc5NUUyMDAzNTFFMzUgLyogQVJN
djdEaXNhc3NlbWJsZXIuY3BwICovLAorCQkJCTBGOUQzMzZFMTY1REJCOEQwMDVBRDM4NyAvKiBE
aXNhc3NlbWJsZXIuY3BwICovLAorCQkJCTBGRjQyNzJGMTU4RUJENDQwMDRDQjlGRiAvKiBEaXNh
c3NlbWJsZXIuaCAqLywKKwkJCQlBN0U1QUIzMzE3OTlFNEIyMDBEMjgzM0QgLyogTExWTURpc2Fz
c2VtYmxlci5jcHAgKi8sCisJCQkJQTdFNUFCMzQxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNh
c3NlbWJsZXIuaCAqLywKKwkJCQkwRkY0MjczMDE1OEVCRDQ0MDA0Q0I5RkYgLyogVURpczg2RGlz
YXNzZW1ibGVyLmNwcCAqLywKKwkJCQlBN0U1QUIzNTE3OTlFNEIyMDBEMjgzM0QgLyogVURpczg2
RGlzYXNzZW1ibGVyLmggKi8sCisJCQkJQTdFNUFCMzYxNzk5RTRCMjAwRDI4MzNEIC8qIFg4NkRp
c2Fzc2VtYmxlci5jcHAgKi8sCisJCQkpOworCQkJbmFtZSA9IGRpc2Fzc2VtYmxlcjsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGRjQyNzMzMTU4RUJENjQwMDRDQjlGRiAv
KiB1ZGlzODYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTBGRjQyNzNFMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODYuYyAqLywKKwkJCQkwRkY0MjczRjE1
OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2LmggKi8sCisJCQkJMEZGNDI3MzQxNThFQkQ5NDAwNENC
OUZGIC8qIHVkaXM4Nl9kZWNvZGUuYyAqLywKKwkJCQkwRkY0MjczNTE1OEVCRDk0MDA0Q0I5RkYg
LyogdWRpczg2X2RlY29kZS5oICovLAorCQkJCTBGRjQyNzM2MTU4RUJEOTQwMDRDQjlGRiAvKiB1
ZGlzODZfZXh0ZXJuLmggKi8sCisJCQkJMEZGNDI3MzcxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4
Nl9pbnB1dC5jICovLAorCQkJCTBGRjQyNzM4MTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfaW5w
dXQuaCAqLywKKwkJCQkwRkY0Mjc0QzE1OEVCRkUxMDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9s
ZGVyLmMgKi8sCisJCQkJMEZGNDI3MzkxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4tYXR0
LmMgKi8sCisJCQkJMEZGNDI3M0ExNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl9zeW4taW50ZWwu
YyAqLywKKwkJCQkwRkY0MjczQjE1OEVCRDk0MDA0Q0I5RkYgLyogdWRpczg2X3N5bi5jICovLAor
CQkJCTBGRjQyNzNDMTU4RUJEOTQwMDRDQjlGRiAvKiB1ZGlzODZfc3luLmggKi8sCisJCQkJMEZG
NDI3M0QxNThFQkQ5NDAwNENCOUZGIC8qIHVkaXM4Nl90eXBlcy5oICovLAorCQkJKTsKKwkJCW5h
bWUgPSB1ZGlzODY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkxNDEyMTEw
MDBBNDg3NzI2MDA0ODAyNTUgLyogdGVzdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCUZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5k
U3dhcFRlc3QuY3BwICovLAorCQkJCUZFRjA0MDUyMUFBRUM0RUQwMEJEMjhCMCAvKiBDb21wYXJl
QW5kU3dhcFRlc3QuaCAqLywKKwkJCQlDMjAzMjgxRTE5ODE5NzlEMDA4OEI0OTkgLyogQ3VzdG9t
R2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi8sCisJCQkJQzIwMzI4MUYxOTgxOTc5RDAwODhCNDk5
IC8qIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oICovLAorCQkJCUMyOUVDQjAyMTgwNEQw
RUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5oICovLAorCQkJ
CUMyOUVDQjAxMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVy
VGVzdC5tbSAqLywKKwkJCQlDMjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLmgg
Ki8sCisJCQkJQzI4OEIyREQxOEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSAqLywKKwkJ
CQlGRTBENEEwNDFBQjhERDBBMDAyRjU0QkYgLyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAg
Ki8sCisJCQkJRkUwRDRBMDUxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRl
c3QuaCAqLywKKwkJCQlGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29udGV4dFdp
dGhGaW5hbGl6ZXJUZXN0LmNwcCAqLywKKwkJCQlGRTBENEEwODFBQkEyNDM3MDAyRjU0QkYgLyog
R2xvYmFsQ29udGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmggKi8sCisJCQkJQzIxODFGQzAxOEE5NDhG
QjAwMjVBMjM1IC8qIEpTRXhwb3J0VGVzdHMuaCAqLywKKwkJCQlDMjE4MUZDMTE4QTk0OEZCMDAy
NUEyMzUgLyogSlNFeHBvcnRUZXN0cy5tbSAqLywKKwkJCQk2NTU3MEY1ODFBQTRDMDBBMDA5QjND
MjMgLyogUmVncmVzczE0MTI3NS5oICovLAorCQkJCTY1NTcwRjU5MUFBNEMwMEEwMDlCM0MyMyAv
KiBSZWdyZXNzMTQxMjc1Lm1tICovLAorCQkJCUZFQjUxRjZBMUE5N0I2ODgwMDFGOTIxQyAvKiBS
ZWdyZXNzMTQxODA5LmggKi8sCisJCQkJRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJlZ3Jl
c3MxNDE4MDkubW0gKi8sCisJCQkJMTQ0MDA1MTcwQTUzMUNCNTAwMDVGMDYxIC8qIG1pbmlkb20g
Ki8sCisJCQkJMTRCRDVBMkQwQTNFOTFGNjAwQkFGNTlDIC8qIHRlc3RhcGkuYyAqLywKKwkJCQkx
NEQ4NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLywKKwkJCQk4NkQyMjIxOTE2
N0VGOTQ0MDAyNEM4MDQgLyogdGVzdGFwaS5tbSAqLywKKwkJCQk2NTExMjJFNTE0MDQ2OUJBMDAy
QjEwMUQgLyogdGVzdFJlZ0V4cC5jcHAgKi8sCisJCQkpOworCQkJbmFtZSA9IHRlc3RzOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJCXRhYldpZHRoID0gNDsKKwkJCXVzZXNUYWJzID0g
MDsKKwkJfTsKKwkJMTQyOUQ3N0EwRUQyMEQ3MzAwQjg5NjE5IC8qIGludGVycHJldGVyICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2NThEM0E1NTE5NjM4
MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oICovLAorCQkJCTBGNTVGMEYxMTREMTA2MzYw
MEFDNzY0OSAvKiBBYnN0cmFjdFBDLmNwcCAqLywKKwkJCQkwRjU1RjBGMjE0RDEwNjM2MDBBQzc2
NDkgLyogQWJzdHJhY3RQQy5oICovLAorCQkJCUE3Rjg2OTBFMEY5NTg0QTEwMDU1ODY5NyAvKiBD
YWNoZWRDYWxsLmggKi8sCisJCQkJMTQyOUQ4REIwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFt
ZS5jcHAgKi8sCisJCQkJMTQyOUQ4REMwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFtZS5oICov
LAorCQkJCUE3Rjg2OUVDMEY5NUMyRUMwMDU1ODY5NyAvKiBDYWxsRnJhbWVDbG9zdXJlLmggKi8s
CisJCQkJQTdDMUVBRUExNzk4N0FCNjAwMjk5REIyIC8qIENhbGxGcmFtZUlubGluZXMuaCAqLywK
KwkJCQkxNDI5RDdEMzBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3BwICovLAorCQkJ
CTE0MjlENzdCMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oICovLAorCQkJCTE0MjlE
ODVCMEVEMjE4RTkwMEI4OTYxOSAvKiBKU1N0YWNrLmNwcCAqLywKKwkJCQkxNEQ3OTI2NDBEQUEw
M0ZCMDAxQTlGMDUgLyogSlNTdGFjay5oICovLAorCQkJCUE3QzFFQUVCMTc5ODdBQjYwMDI5OURC
MiAvKiBKU1N0YWNrSW5saW5lcy5oICovLAorCQkJCTY1RkI1MTE2MTg0RUU5QkMwMEMxMkI3MCAv
KiBQcm90b0NhbGxGcmFtZS5jcHAgKi8sCisJCQkJNjVGQjUxMTUxODRFRThGODAwQzEyQjcwIC8q
IFByb3RvQ2FsbEZyYW1lLmggKi8sCisJCQkJMTQ5QjI0RkYwRDhBRjZEMTAwOUNCOEM3IC8qIFJl
Z2lzdGVyLmggKi8sCisJCQkJQTdDMUVBRUMxNzk4N0FCNjAwMjk5REIyIC8qIFN0YWNrVmlzaXRv
ci5jcHAgKi8sCisJCQkJQTdDMUVBRUQxNzk4N0FCNjAwMjk5REIyIC8qIFN0YWNrVmlzaXRvci5o
ICovLAorCQkJKTsKKwkJCXBhdGggPSBpbnRlcnByZXRlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCTE0MjlEOTJDMEVEMjJENzAwMEI4OTYxOSAvKiBqaXQgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGRjA1NEY3MUFDMzVCNDQw
MEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2NhdGlvbkZ1enouY3BwICovLAorCQkJCTBGRjA1NEY4
MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2NhdGlvbkZ1enouaCAqLywKKwkJCQkw
Rjc1NzZEMDE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuY3Bw
ICovLAorCQkJCTBGNzU3NkQxMThFMUZFRTkwMDJFRjRDRCAvKiBBY2Nlc3NvckNhbGxKSVRTdHVi
Um91dGluZS5oICovLAorCQkJCTBGNkIxQ0M3MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNr
RmFpbFJldHVyblRodW5rcy5jcHAgKi8sCisJCQkJMEY2QjFDQzgxODY0MURGODAwODQ1RDk3IC8q
IEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmggKi8sCisJCQkJMEYyNEU1M0IxN0VBOUY1OTAw
QUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5jcHAgKi8sCisJCQkJMEYyNEU1M0MxN0VBOUY1OTAw
QUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oICovLAorCQkJCTBGNjRCMjZGMUE3ODRCQUYwMDZF
NEU2NiAvKiBCaW5hcnlTd2l0Y2guY3BwICovLAorCQkJCTBGNjRCMjcwMUE3ODRCQUYwMDZFNEU2
NiAvKiBCaW5hcnlTd2l0Y2guaCAqLywKKwkJCQkwRjI0RTUzRDE3RUE5RjU5MDBBQkIyMTcgLyog
Q0NhbGxIZWxwZXJzLmggKi8sCisJCQkJMEZEODJFMzcxNDFBQjE0MjAwMTc5Qzk0IC8qIENvbXBh
Y3RKSVRDb2RlTWFwLmggKi8sCisJCQkJQTdCNDhEQjYwRUU3NENGQzAwRENCREI2IC8qIEV4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwICovLAorCQkJCUE3QjQ4REI1MEVFNzRDRkMwMERDQkRCNiAvKiBF
eGVjdXRhYmxlQWxsb2NhdG9yLmggKi8sCisJCQkJODZEQjY0NjMwRjk1QzZGQzAwRDdEOTIxIC8q
IEV4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgKi8sCisJCQkJMEYyNEU1M0UxN0VB
OUY1OTAwQUJCMjE3IC8qIEZQUkluZm8uaCAqLywKKwkJCQkwRjc2NkQyRDE1QThEQ0REMDA4RjM2
M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcCAqLywKKwkJCQkwRjc2NkQyRTE1QThEQ0RE
MDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggKi8sCisJCQkJMEYyNEU1M0YxN0VB
OUY1OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLywKKwkJCQkwRjQ2ODBEMDE0QkJDNUY4MDBCRkUy
NzIgLyogSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAgKi8sCisJCQkJMEY0NjgwRDExNEJCQzVGODAw
QkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuaCAqLywKKwkJCQkxNDI5RDkyRDBFRDIyRDcw
MDBCODk2MTkgLyogSklULmNwcCAqLywKKwkJCQkxNDI5RDkyRTBFRDIyRDcwMDBCODk2MTkgLyog
SklULmggKi8sCisJCQkJODZBOTBFQ0YwRUU3RDUxRjAwQUIzNTBEIC8qIEpJVEFyaXRobWV0aWMu
Y3BwICovLAorCQkJCUE3NTcwNkREMTE4QTJCQ0YwMDU3Rjg4RiAvKiBKSVRBcml0aG1ldGljMzJf
NjQuY3BwICovLAorCQkJCTg2Q0M4NUEyMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCAq
LywKKwkJCQkxNDZGRTUxMTExQTcxMDQzMDA4N0FFNjYgLyogSklUQ2FsbDMyXzY0LmNwcCAqLywK
KwkJCQkwRjhGOTQ0MzE2Njc2MzUyMDBENjE5NzEgLyogSklUQ29kZS5jcHAgKi8sCisJCQkJODZD
Q0VGREQwRjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENvZGUuaCAqLywKKwkJCQkwRjA3NzZCRDE0RkYw
MDI4MDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCAqLywKKwkJCQkwRkFGN0VGQTE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQkwRkFGN0VGQjE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi8sCisJCQkJMEY0NjgwN0YxNEJB
NTcyNzAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwICovLAorCQkJCTBGNDY4MDgwMTRCQTU3
MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8sCisJCQkJMEZCMTRFMUMxODEyNEFDRTAw
OUI2QjREIC8qIEpJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcCAqLywKKwkJCQkwRkIxNEUxRDE4
MTI0QUNFMDA5QjZCNEQgLyogSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCAqLywKKwkJCQk4NkND
ODVBMDBFRTc5QTQ3MDAyODg2ODIgLyogSklUSW5saW5lcy5oICovLAorCQkJCUJDREQ1MUU5MEZC
OERGNzQwMDRBOEJEQyAvKiBKSVRPcGNvZGVzLmNwcCAqLywKKwkJCQlBNzEyMzZFNDExOTVGMzND
MDBCRDIxNzQgLyogSklUT3Bjb2RlczMyXzY0LmNwcCAqLywKKwkJCQkwRjI0RTU0NTE3RUUyNzQ5
MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5jcHAgKi8sCisJCQkJMEYyNEU1NDYxN0VFMjc0OTAw
QUJCMjE3IC8qIEpJVE9wZXJhdGlvbnMuaCAqLywKKwkJCQk4NkNDODVDMzBFRTdBODk0MDAyODg2
ODIgLyogSklUUHJvcGVydHlBY2Nlc3MuY3BwICovLAorCQkJCUE3QzFFOEM4MTEyRTcwMUMwMEEz
N0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCAqLywKKwkJCQkwRjc2NkQyNjE1QThD
QzFCMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwICovLAorCQkJCTBGNzY2RDFDMTVBNTAy
OEQwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZS5oICovLAorCQkJCTE0QTIzRDZDMEY0RTE5Q0Uw
MDIzQ0RBRCAvKiBKSVRTdHVicy5jcHAgKi8sCisJCQkJMTRBNjU4MUEwRjRFMzZGNDAwMDE1MEZE
IC8qIEpJVFN0dWJzLmggKi8sCisJCQkJRkVGNjgzNUExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0
dWJzQVJNLmggKi8sCisJCQkJRkVGNjgzNUIxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJN
djcuaCAqLywKKwkJCQlGRUY2ODM1QzE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODZfNjQu
aCAqLywKKwkJCQlGRUY2ODM1RDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODYuaCAqLywK
KwkJCQlBN0E0QUUwQzE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCAqLywK
KwkJCQkwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCAqLywKKwkJCQkw
RjVFRjkxQzE2ODc4Rjc4MDAzRTVDMjUgLyogSklUVGh1bmtzLmggKi8sCisJCQkJMEZDNzEyRTAx
N0NEODc4RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQkwRkM3MTJFMTE3Q0Q4NzhGMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlBNzZGNTRBMjEzQjI4QUFCMDBFRjJCQ0UgLyog
SklUV3JpdGVCYXJyaWVyLmggKi8sCisJCQkJQTc2QzUxNzQxMTgyNzQ4RDAwNzE1QjA1IC8qIEpT
SW50ZXJmYWNlSklULmggKi8sCisJCQkJMEZFRTk4NDIxQTg5MjI3NTAwNzU0RTkzIC8qIFNldHVw
VmFyYXJnc0ZyYW1lLmNwcCAqLywKKwkJCQkwRkVFOTg0MDFBODg2NUI2MDA3NTRFOTMgLyogU2V0
dXBWYXJhcmdzRnJhbWUuaCAqLywKKwkJCQkwRkU4MzQxNTFBNkVGOTdCMDBEMDQ4NDcgLyogUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuY3BwICovLAorCQkJCTBGRTgzNDE2MUE2RUY5N0IwMEQw
NDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5oICovLAorCQkJCTBGQTdBOEU5MThC
NDEzQzgwMDUyMzcxRCAvKiBSZWcuY3BwICovLAorCQkJCTBGQTdBOEVBMThCNDEzQzgwMDUyMzcx
RCAvKiBSZWcuaCAqLywKKwkJCQkwRjZCMUNCQjE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCAqLywKKwkJCQkwRjZCMUNCQzE4NjEyNDZB
MDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmggKi8sCisJ
CQkJMEZDMzE0MTQxODE0NkQ3MDAwMDMzMjMyIC8qIFJlZ2lzdGVyU2V0LmNwcCAqLywKKwkJCQkw
RkMzMTQxMDE4MTQ1NTkxMDAwMzMyMzIgLyogUmVnaXN0ZXJTZXQuaCAqLywKKwkJCQkwRjI0RTU0
OTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgKi8sCisJCQkJMEYyNEU1NEExN0VFMjc0
OTAwQUJCMjE3IC8qIFJlcGF0Y2guaCAqLywKKwkJCQkwRkE3QThFRDE4Q0U0RkQ4MDA1MjM3MUQg
LyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmNwcCAqLywKKwkJCQkwRjI0RTU0QjE3RUUyNzQ5
MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmggKi8sCisJCQkJQTcwOUYyRUYx
N0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oICovLAorCQkJCUE3Mzg2NTUxMTE4Njk3
QjQwMDU0MDI3OSAvKiBTcGVjaWFsaXplZFRodW5rSklULmggKi8sCisJCQkJQTdGRjY0N0ExOEM1
MkU4NTAwQjU1MzA3IC8qIFNwaWxsUmVnaXN0ZXJzTW9kZS5oICovLAorCQkJCTBGQzMxNDExMTgx
NDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwICovLAorCQkJCTBGMjRFNTQ4MTdF
RTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCAqLywKKwkJCQkwRjU3MkQ0RDE2ODc5
RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCAqLywKKwkJCQlBNzM4NjU1MjExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCAqLywKKwkJCQlBNzM4NjU1MzExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmggKi8sCisJCQkJNjU5ODdGMkYxNjgyOEE3RTAw
M0MyRjhEIC8qIFVudXNlZFBvaW50ZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaml0OworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQyRTMxMkExMzRGRjBBNjAwQUZBREI1
IC8qIGhlYXAgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUZFN0JBNjBEMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuY3BwICovLAorCQkJCUZF
N0JBNjBFMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCAqLywKKwkJCQlDMkRBNzc4
MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCAqLywKKwkJCQlBRERCMUY2MjE4RDc3
REI3MDA5QjU4QTggLyogT3BhcXVlUm9vdFNldC5oICovLAorCQkJCTJBQUNFNjNBMThDQTVBMDMw
MEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAorCQkJCTJBQUNFNjNCMThDQTVB
MDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLywKKwkJCQkwRkQ4QTMxMTE3RDQz
MjZDMDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLywKKwkJCQkwRkQ4QTMxMjE3RDQzMjZD
MDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmggKi8sCisJCQkJMTQ2QjE0REIxMkVCNUIxMjAwMUJF
QzFCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmNwcCAqLywKKwkJCQkxNDlEQUFGMjEyRUI1NTlEMDA4
M0IxMkIgLyogQ29uc2VydmF0aXZlUm9vdHMuaCAqLywKKwkJCQlDMkVBRDJGQjE0RjAyNDk4MDBB
NEIxNTkgLyogQ29waWVkQWxsb2NhdG9yLmggKi8sCisJCQkJQzJDOEQwMkUxNEEzQ0VGQzAwNTc4
RTY1IC8qIENvcGllZEJsb2NrLmggKi8sCisJCQkJQzJGQzlCRDIxNjY0NERGQjAwODEwRDMzIC8q
IENvcGllZEJsb2NrSW5saW5lcy5oICovLAorCQkJCUMyNDAzMDUzMTRCNDA0QzkwMDc5RUI2NCAv
KiBDb3BpZWRTcGFjZS5jcHAgKi8sCisJCQkJQzJFQUEzRjgxNDlBODMwODAwRkNFMTEyIC8qIENv
cGllZFNwYWNlLmggKi8sCisJCQkJQzJDOEQwMkIxNEEzQzZCMjAwNTc4RTY1IC8qIENvcGllZFNw
YWNlSW5saW5lcy5oICovLAorCQkJCTBGNUE1MkNGMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9r
ZW4uaCAqLywKKwkJCQlDMjIzOUQxMjE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuY3Bw
ICovLAorCQkJCUMyMjM5RDEzMTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oICovLAor
CQkJCUMyMjM5RDE0MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCAqLywK
KwkJCQlDMjE4RDEzRjE2NTVDRkQ1MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggKi8sCisJCQkJ
MkE2ODI5NUExODc1RjgwNTAwQjZDM0UyIC8qIENvcHlXcml0ZUJhcnJpZXIuaCAqLywKKwkJCQky
QTdBNThFRTE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJHQy5jcHAgKi8sCisJCQkJMEYxMzZENEIx
NzRBRDY5QjAwNzVCMzU0IC8qIERlZmVyR0MuaCAqLywKKwkJCQlCQ0JFMkNBRDE0RTk4NUFBMDAw
NTkzQUQgLyogR0NBc3NlcnRpb25zLmggKi8sCisJCQkJMEYyQjY2QTgxN0I2QjUzRDAwQTdBRTNG
IC8qIEdDSW5jb21pbmdSZWZDb3VudGVkLmggKi8sCisJCQkJMEYyQjY2QTkxN0I2QjUzRDAwQTdB
RTNGIC8qIEdDSW5jb21pbmdSZWZDb3VudGVkSW5saW5lcy5oICovLAorCQkJCTBGMkI2NkFBMTdC
NkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldC5oICovLAorCQkJCTBGMkI2
NkFCMTdCNkI1M0QwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldElubGluZXMuaCAq
LywKKwkJCQkyQTM0M0Y3NDE4QTE3NDhCMDAzOUIwODUgLyogR0NTZWdtZW50ZWRBcnJheS5oICov
LAorCQkJCTJBMzQzRjc3MThBMTc0OUQwMDM5QjA4NSAvKiBHQ1NlZ21lbnRlZEFycmF5SW5saW5l
cy5oICovLAorCQkJCUMyMjM5RDE1MTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5jcHAgKi8s
CisJCQkJQzIyMzlEMTYxNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmggKi8sCisJCQkJQzIx
MTIyREUxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgKi8sCisJCQkJ
QzIxMTIyREYxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5oICovLAorCQkJ
CTE0MkUzMTJCMTM0RkYwQTYwMEFGQURCNSAvKiBIYW5kbGUuaCAqLywKKwkJCQlDMjgzMThGRjE2
RkU0QjdEMDAxNTdCRkQgLyogSGFuZGxlQmxvY2suaCAqLywKKwkJCQlDMjgzMTkwMTE2RkU1MzNF
MDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggKi8sCisJCQkJMTQyRTMxMkMxMzRGRjBB
NjAwQUZBREI1IC8qIEhhbmRsZVNldC5jcHAgKi8sCisJCQkJMTQyRTMxMkQxMzRGRjBBNjAwQUZB
REI1IC8qIEhhbmRsZVNldC5oICovLAorCQkJCTE0MkUzMTJFMTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTdGFjay5jcHAgKi8sCisJCQkJMTQyRTMxMkYxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRs
ZVN0YWNrLmggKi8sCisJCQkJMTQ2RkE1QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVz
LmggKi8sCisJCQkJMTRCQTdBOTUxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwICovLAorCQkJ
CTE0QkE3QTk2MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmggKi8sCisJCQkJQzJDOEQwMkYxNEEz
Q0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovLAorCQkJCTJBRDg5MzI5MTdFMzg2OEYwMDY2
ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCAqLywKKwkJCQkyQTZGNDYyNTE3RTk1OUNFMDBD
NDVDOTggLyogSGVhcE9wZXJhdGlvbi5oICovLAorCQkJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2
NyAvKiBIZWFwUm9vdFZpc2l0b3IuaCAqLywKKwkJCQlDMjREMzFFMDE2MUNENjk1MDAyQUE0REIg
LyogSGVhcFN0YXRpc3RpY3MuY3BwICovLAorCQkJCUMyNEQzMUUxMTYxQ0Q2OTUwMDJBQTREQiAv
KiBIZWFwU3RhdGlzdGljcy5oICovLAorCQkJCUMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBI
ZWFwVGltZXIuY3BwICovLAorCQkJCUMyRTUyNkJDMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGlt
ZXIuaCAqLywKKwkJCQlDMjVGOEJDQjE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2Vl
cGVyLmNwcCAqLywKKwkJCQlDMjVGOEJDQzE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxT
d2VlcGVyLmggKi8sCisJCQkJMEY3NjZEMjkxNUE4Q0MzNDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0
aW5lU2V0LmNwcCAqLywKKwkJCQkwRjc2NkQyQTE1QThDQzM0MDA4RjM2M0UgLyogSklUU3R1YlJv
dXRpbmVTZXQuaCAqLywKKwkJCQkwRjQzMTczNjE0NkJBQzY1MDA3RTM4OTAgLyogTGlzdGFibGVI
YW5kbGVyLmggKi8sCisJCQkJMTQyRTMxMzAxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggKi8s
CisJCQkJMTQyRTMxMzExMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCAqLywKKwkJCQkx
NEI3MjMzRjEyRDdEMERBMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmNwcCAqLywKKwkJ
CQkxNEI3MjM0MDEyRDdEMERBMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggKi8sCisJ
CQkJQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5jcHAgKi8sCisJ
CQkJQzJCOTE2QzExNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovLAorCQkJ
CTE0MkQ2RjA2MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgKi8sCisJCQkJMTQy
RDZGMDcxMzUzOUEyODAwQjAyRTg2IC8qIE1hcmtlZEJsb2NrLmggKi8sCisJCQkJMTQxNDQ4Q0Ex
M0ExNzZFQzAwRjVCQTFBIC8qIE1hcmtlZEJsb2NrU2V0LmggKi8sCisJCQkJMTREMkYzRDgxMzlG
NEJFMjAwNDkxMDMxIC8qIE1hcmtlZFNwYWNlLmNwcCAqLywKKwkJCQkxNEQyRjNEOTEzOUY0QkUy
MDA0OTEwMzEgLyogTWFya2VkU3BhY2UuaCAqLywKKwkJCQkxNDJENkYwRTEzNTM5QTQxMDBCMDJF
ODYgLyogTWFya1N0YWNrLmNwcCAqLywKKwkJCQkxNDJENkYwRjEzNTM5QTQxMDBCMDJFODYgLyog
TWFya1N0YWNrLmggKi8sCisJCQkJMkFBRDk2NDkxODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2
ZUFsbG9jYXRpb25TY29wZS5oICovLAorCQkJCUMyMjU0OTQyMTVGN0RCQUEwMDY1RTg5OCAvKiBT
bG90VmlzaXRvci5jcHAgKi8sCisJCQkJMTRCQTc4RjAxM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RW
aXNpdG9yLmggKi8sCisJCQkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9y
SW5saW5lcy5oICovLAorCQkJCTE0MkUzMTMyMTM0RkYwQTYwMEFGQURCNSAvKiBTdHJvbmcuaCAq
LywKKwkJCQkxNDU3MjI4NTE0MzdFMTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oICovLAor
CQkJCTE0MTQ0OENDMTNBMTc4MzcwMEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCAqLywKKwkJ
CQkwRjVGMDhDRTE0NkM3NjJGMDAwNDcyQTkgLyogVW5jb25kaXRpb25hbEZpbmFsaXplci5oICov
LAorCQkJCTFBQ0Y3Mzc2MTcxQ0E2RkIwMEM5QkIxRSAvKiBXZWFrLmNwcCAqLywKKwkJCQkxNDJF
MzEzMzEzNEZGMEE2MDBBRkFEQjUgLyogV2Vhay5oICovLAorCQkJCTE0RTg0Rjk5MTRFRTFBQ0Mw
MEQ2RDVENCAvKiBXZWFrQmxvY2suY3BwICovLAorCQkJCTE0RTg0RjlBMTRFRTFBQ0MwMEQ2RDVE
NCAvKiBXZWFrQmxvY2suaCAqLywKKwkJCQkxNEY3MjU2MzE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmNwcCAqLywKKwkJCQkxNEY3MjU2NDE0RUUyNjVFMDBCMTY1MkIgLyogV2Vh
a0hhbmRsZU93bmVyLmggKi8sCisJCQkJMTRFODRGOUQxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtJ
bXBsLmggKi8sCisJCQkJMTRCRTdEMzIxNzEzNUNGNDAwRDE4MDdBIC8qIFdlYWtJbmxpbmVzLmgg
Ki8sCisJCQkJMEYyNDJEQTUxM0YzQjFCQjAwN0FERDRDIC8qIFdlYWtSZWZlcmVuY2VIYXJ2ZXN0
ZXIuaCAqLywKKwkJCQkxNEU4NEY5QjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgKi8s
CisJCQkJMTRFODRGOUMxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCAqLywKKwkJCQkxNDE1
MDEzMjE1NEJCMTNGMDA1RDhDOTggLyogV2Vha1NldElubGluZXMuaCAqLywKKwkJCQkyQTRFQzkw
OTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmNwcCAqLywKKwkJCQkyQTRF
QzkwQTE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmggKi8sCisJCQkJMEZD
ODE1MDgxNDA0M0JDQTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuY3BwICovLAorCQkJ
CTBGQzgxNTA5MTQwNDNCRDIwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmggKi8sCisJ
CQkJMkE4MzYzODMxOEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suY3Bw
ICovLAorCQkJCTJBODM2Mzg0MThEN0QwRUUwMDAwRUJDQyAvKiBFZGVuR0NBY3Rpdml0eUNhbGxi
YWNrLmggKi8sCisJCQkJMkE4MzYzODcxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwICovLAorCQkJCTJBODM2Mzg4MThEN0QwRkUwMDAwRUJDQyAvKiBGdWxsR0NB
Y3Rpdml0eUNhbGxiYWNrLmggKi8sCisJCQkJMkFBQkNERTYxOEVGMjk0MjAwMDAyMDk2IC8qIEdD
TG9nZ2luZy5oICovLAorCQkJCTJBREZBMjYyMThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcu
Y3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBoZWFwOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJMTQzMkVCRDcwQTM0Q0FENDAwNzE3QjlGIC8qIEFQSSAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzIxMUI1NzQxNzZBMjI0RDAwMEUy
QTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAqLywKKwkJCQkxNDgyQjc4QTBBNDMwNUFCMDA1
MTdDRkMgLyogQVBJQ2FzdC5oICovLAorCQkJCTFDQUE4QjRBMEQzMkMzOUEwMDQxQkNGRiAvKiBK
YXZhU2NyaXB0LmggKi8sCisJCQkJMUNBQThCNEIwRDMyQzM5QTAwNDFCQ0ZGIC8qIEphdmFTY3Jp
cHRDb3JlLmggKi8sCisJCQkJQkMwODk0RDUwRkFGQkEyRDAwMDAxODY1IC8qIEpTQVBJVmFsdWVX
cmFwcGVyLmNwcCAqLywKKwkJCQlCQzA4OTRENjBGQUZCQTJEMDAwMDE4NjUgLyogSlNBUElWYWx1
ZVdyYXBwZXIuaCAqLywKKwkJCQlDMkNGMzlDMDE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFw
cGVyT2JqZWN0LmggKi8sCisJCQkJQzJDRjM5QkYxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3Jh
cHBlck9iamVjdC5tbSAqLywKKwkJCQkxNDIxMzU5QTBBNjc3RjRGMDBBODE5NUUgLyogSlNCYXNl
LmNwcCAqLywKKwkJCQkxNDI3MTEzODBBNDYwQkJCMDA4MEVFRUEgLyogSlNCYXNlLmggKi8sCisJ
CQkJMTQwRDE3RDYwRThBRDRBOTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCAqLywKKwkJCQkx
NDQwRjhBRDBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCAqLywK
KwkJCQkxNDQwRjhBQzBBNTA4RDIwMDAwNUYwNjEgLyogSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgg
Ki8sCisJCQkJMTQ0MEY4OTAwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlvbi5j
cHAgKi8sCisJCQkJMTQ0MEY4OEYwQTUwOEIxMDAwMDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlv
bi5oICovLAorCQkJCTE0QUJERjVFMEE0MzdGRUYwMEVDQ0EwMSAvKiBKU0NhbGxiYWNrT2JqZWN0
LmNwcCAqLywKKwkJCQkxNEFCREY1RDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVj
dC5oICovLAorCQkJCUE4RTg5NDMxMENEMDYwMjQwMDM2NzE3OSAvKiBKU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmggKi8sCisJCQkJMTQ0MEZDRTIwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NS
ZWYuY3BwICovLAorCQkJCTE0NDBGQ0UxMEE1MUU0NkIwMDA1RjA2MSAvKiBKU0NsYXNzUmVmLmgg
Ki8sCisJCQkJODZFM0M2MDcxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTQ29udGV4dC5oICovLAorCQkJ
CTg2RTNDNjA4MTY3QkFCODcwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gKi8sCisJCQkJQTU4QzAy
NDExOEU0QTQxQTAwMDMyQkM1IC8qIEpTQ29udGV4dFByaXZhdGUuaCAqLywKKwkJCQk4NkUzQzYw
OTE2N0JBQjg3MDA2RDc2MEEgLyogSlNDb250ZXh0SW50ZXJuYWwuaCAqLywKKwkJCQkxNEJENUEy
OTBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCAqLywKKwkJCQkxNEJENUEyQTBB
M0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmggKi8sCisJCQkJQTVFQTcwRUQxOUY1QjVD
NDAwOThGNUVDIC8qIEpTQ29udGV4dFJlZkluc3BlY3RvclN1cHBvcnQuaCAqLywKKwkJCQlBNUQy
RTY2NDE5NUUxNzM4MDBBNTE4RTcgLyogSlNDb250ZXh0UmVmSW50ZXJuYWwuaCAqLywKKwkJCQkx
NDhDRDFENzEwOENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oICovLAorCQkJ
CUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuY3BwICovLAor
CQkJCUE3MjAyOEI1MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCAqLywK
KwkJCQk4NkUzQzYwQTE2N0JBQjg3MDA2RDc2MEEgLyogSlNFeHBvcnQuaCAqLywKKwkJCQlBNTUy
QzM3RDFBRERCOEZFMDAxMzk3MjYgLyogSlNSZW1vdGVJbnNwZWN0b3IuY3BwICovLAorCQkJCUE1
NTJDMzdFMUFEREI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oICovLAorCQkJCUMy
NUQ3MDlBMTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5oICovLAorCQkJCUMyNUQ3
MDk5MTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5tbSAqLywKKwkJCQkyQTRCQjdG
MjE4QTQxMTc5MDA4QTBGQ0QgLyogSlNNYW5hZ2VkVmFsdWVJbnRlcm5hbC5oICovLAorCQkJCTE0
ODJCN0UyMEE0MzA3NjAwMDUxN0NGQyAvKiBKU09iamVjdFJlZi5jcHAgKi8sCisJCQkJMTQ4MkI3
RTEwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmggKi8sCisJCQkJQTc5RURCMDgxMTUz
MUNENjAwMTlFOTEyIC8qIEpTT2JqZWN0UmVmUHJpdmF0ZS5oICovLAorCQkJCTk1OTg4QkE5MEU0
NzdCRUMwMEQyOEQ0RCAvKiBKU1Byb2ZpbGVyUHJpdmF0ZS5jcHAgKi8sCisJCQkJOTUyQzYzQUMw
RTQ3NzdENjAwQzEzOTM2IC8qIEpTUHJvZmlsZXJQcml2YXRlLmggKi8sCisJCQkJOTVDMThEM0Uw
QzkwRTdFRjAwRTcyRjczIC8qIEpTUmV0YWluUHRyLmggKi8sCisJCQkJQTdDMEM0QUExNjdDMDhD
RDAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCAqLywKKwkJCQlBN0MwQzRBQjE2N0MwOENEMDAx
NzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggKi8sCisJCQkJMTQ4MkI3NEMwQTQzMDMyODAw
NTE3Q0ZDIC8qIEpTU3RyaW5nUmVmLmNwcCAqLywKKwkJCQkxNDgyQjc0QjBBNDMwMzI4MDA1MTdD
RkMgLyogSlNTdHJpbmdSZWYuaCAqLywKKwkJCQkxNDZBQUIzNzBCNjZBOTQ0MDBFNTVGMTYgLyog
SlNTdHJpbmdSZWZDRi5jcHAgKi8sCisJCQkJMTQ2QUFCMkEwQjY2QTg0OTAwRTU1RjE2IC8qIEpT
U3RyaW5nUmVmQ0YuaCAqLywKKwkJCQkxQTI4RDRBNzE3N0I3MUM4MDAwN0ZBM0MgLyogSlNTdHJp
bmdSZWZQcml2YXRlLmggKi8sCisJCQkJODZFM0M2MDYxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmFs
dWUuaCAqLywKKwkJCQk4NkUzQzYwRDE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZS5tbSAqLywK
KwkJCQk4NkUzQzYwRTE2N0JBQjg3MDA2RDc2MEEgLyogSlNWYWx1ZUludGVybmFsLmggKi8sCisJ
CQkJMTRCRDVBMkIwQTNFOTFGNjAwQkFGNTlDIC8qIEpTVmFsdWVSZWYuY3BwICovLAorCQkJCTE0
ODJCNkVBMEE0MzAwQjMwMDUxN0NGQyAvKiBKU1ZhbHVlUmVmLmggKi8sCisJCQkJODZFM0M2MEYx
NjdCQUI4NzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCAqLywKKwkJCQk4NkUzQzYxMDE2
N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZS5tbSAqLywKKwkJCQk4NkUzQzYxMTE2
N0JBQjg3MDA2RDc2MEEgLyogSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmggKi8sCisJCQkJQTc0
ODJFMzcxMTZBNjk3QjAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggKi8s
CisJCQkJQTc0ODJCN0ExMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZh
dGUuY3BwICovLAorCQkJCUE3NDgyQjc5MTE2NkNERUEwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RN
YXBSZWZQcml2YXRlLmggKi8sCisJCQkJODZFM0M2MEMxNjdCQUI4NzAwNkQ3NjBBIC8qIEpTV3Jh
cHBlck1hcC5oICovLAorCQkJCTg2RTNDNjBCMTY3QkFCODcwMDZENzYwQSAvKiBKU1dyYXBwZXJN
YXAubW0gKi8sCisJCQkJODZGM0VFQjkxNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1
bmN0aW9uLmggKi8sCisJCQkJODZGM0VFQkExNjhDQ0Y3NTAwNzdCOTJBIC8qIE9iakNDYWxsYmFj
a0Z1bmN0aW9uLm1tICovLAorCQkJCTg2RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVu
dGltZUV4dHJhcy5oICovLAorCQkJCUUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVK
U1N0cmluZy5jcHAgKi8sCisJCQkJRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpT
U3RyaW5nLmggKi8sCisJCQkJNURFM0QwRjQwREQ4RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWls
YWJpbGl0eS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBUEk7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQkxNDQw
MDUxNzBBNTMxQ0I1MDAwNUYwNjEgLyogbWluaWRvbSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQ0MEY2NDIwQTRGOEI2QTAwMDVGMDYxIC8qIEpTTm9k
ZS5jICovLAorCQkJCTE0NDBGNjQxMEE0RjhCNkEwMDA1RjA2MSAvKiBKU05vZGUuaCAqLywKKwkJ
CQkxNDQwMDc1NjBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2RlTGlzdC5jICovLAorCQkJCTE0NDAw
NzU1MEE1MzcwRDIwMDA1RjA2MSAvKiBKU05vZGVMaXN0LmggKi8sCisJCQkJMTQxMjExMDIwQTQ4
NzgwOTAwNDgwMjU1IC8qIG1pbmlkb20uYyAqLywKKwkJCQkxNDEyMTEwRDBBNDg3ODg3MDA0ODAy
NTUgLyogbWluaWRvbS5qcyAqLywKKwkJCQkxNDQwMDUyMDBBNTMxRDNCMDAwNUYwNjEgLyogTm9k
ZS5jICovLAorCQkJCTE0NDAwNTFGMEE1MzFEM0IwMDA1RjA2MSAvKiBOb2RlLmggKi8sCisJCQkJ
MTQ0MDA3NDkwQTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmMgKi8sCisJCQkJMTQ0MDA3NDgw
QTUzNkNDMjAwMDVGMDYxIC8qIE5vZGVMaXN0LmggKi8sCisJCQkpOworCQkJbmFtZSA9IG1pbmlk
b207CisJCQlwYXRoID0gQVBJOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJ
MTQ4MERCOUEwRERDMjIzMTAwM0NGREYyIC8qIGRlYnVnZ2VyICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGRUEwODYxRTE4MkI3QTA0MDBGNkQ4NTEgLyog
QnJlYWtwb2ludC5oICovLAorCQkJCUY2OTJBODU4MDI1NTU5N0QwMUZGNjBGNyAvKiBEZWJ1Z2dl
ci5jcHAgKi8sCisJCQkJRjY5MkE4NTkwMjU1NTk3RDAxRkY2MEY3IC8qIERlYnVnZ2VyLmggKi8s
CisJCQkJMTQ5NTU5RUQwRERDRERGNzAwNjQ4MDg3IC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmNwcCAq
LywKKwkJCQkxNDgwREI5QjBEREMyMjdGMDAzQ0ZERjIgLyogRGVidWdnZXJDYWxsRnJhbWUuaCAq
LywKKwkJCQk2QUQyQ0I0QzE5QjkxNDAxMDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5o
ICovLAorCQkJCUZFQTA4NjFGMTgyQjdBMDQwMEY2RDg1MSAvKiBEZWJ1Z2dlclByaW1pdGl2ZXMu
aCAqLywKKwkJCQkwRjJENEREQjE5ODMyRDM0MDA3RDRCMTkgLyogRGVidWdnZXJTY29wZS5jcHAg
Ki8sCisJCQkJMEYyRDREREMxOTgzMkQzNDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gZGVidWdnZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQkxQzkwNTEzRTBCQTlFODgzMDA4MUU5RDAgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTU1NDA3NTg0MThGNEEz
NzUwMDYwMkE1RCAvKiBDb21waWxlUnVudGltZVRvTExWTUlSLnhjY29uZmlnICovLAorCQkJCTFD
OTA1MTQ1MEJBOUU4QTcwMDgxRTlEMCAvKiBCYXNlLnhjY29uZmlnICovLAorCQkJCTFDOTA1MTQ0
MEJBOUU4QTcwMDgxRTlEMCAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8sCisJCQkJNDQ5MDk3
RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovLAorCQkJCTFD
OTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLywKKwkJ
CQk1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQgLyogSlNDLnhjY29uZmlnICovLAorCQkJCTBGQ0VG
QUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovLAorCQkJCUJDMDIx
QkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLywKKwkJCQkx
QzkwNTE0MjBCQTlFOEE3MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLywKKwkJCSk7CisJ
CQlwYXRoID0gQ29uZmlndXJhdGlvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQkJ
dGFiV2lkdGggPSA0OworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQk2NTBGREY4RDA5RDBGQ0E3
MDA3NjlFNTQgLyogRGVyaXZlZCBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlCQzE4QzUyMzBFMTZGQzhBMDBCMzQ0NjAgLyogQXJyYXlQcm90
b3R5cGUubHV0LmggKi8sCisJCQkJNjUxNEYyMTcxOEIzRTE2NzAwOThGRjhCIC8qIEJ5dGVjb2Rl
cy5oICovLAorCQkJCUE1MzI0Mzk1MTg1NkE0NzUwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMu
anNvbiAqLywKKwkJCQlCQ0QyMDNFNzBFMTcxOEY0MDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5s
dXQuaCAqLywKKwkJCQk2NTE0RjIxODE4QjNFMTY3MDA5OEZGOEIgLyogSW5pdEJ5dGVjb2Rlcy5h
c20gKi8sCisJCQkJQTUxM0U1QzYxODVGOTQzNjAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0U291
cmNlLmggKi8sCisJCQkJQTVFQTcxMEQxOUY2REY4MTAwOThGNUVDIC8qIEluc3BlY3RvckFsdGVy
bmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5
MiAvKiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgKi8sCisJCQkJQTUzMjQzODExODU2ODMx
NzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8sCisJCQkJQTUz
MjQzODIxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICov
LAorCQkJCUE1MzI0MzgzMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzLmNwcCAqLywKKwkJCQlBNTMyNDM4NDE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAv
KiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwICovLAorCQkJCUE1MzI0Mzg2MTg1NjgzMTcw
MDJFRDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLywKKwkJCQlBN0Q4MDFBNjE4
ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwICovLAorCQkJCUE3RDgwMUE3MTg4MEQ2
QTgwMDI2QzM5QiAvKiBKU0NCdWlsdGlucy5oICovLAorCQkJCUJDODdDREI4MTA3MTJBQ0EwMDA2
MTRDRiAvKiBKU09OT2JqZWN0Lmx1dC5oICovLAorCQkJCTdDMTg0RTI0MTdCRkZBMzYwMDdDQjYz
QSAvKiBKU1Byb21pc2VDb25zdHJ1Y3Rvci5sdXQuaCAqLywKKwkJCQk3QzE4NEUyNTE3QkZGQTM2
MDA3Q0I2M0EgLyogSlNQcm9taXNlUHJvdG90eXBlLmx1dC5oICovLAorCQkJCTk5MjhGRjM5MThB
QzRBRUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5jcHAgKi8sCisJCQkJOTkyOEZGM0ExOEFD
NEFFQzAwQjhDRjEyIC8qIEpTUmVwbGF5SW5wdXRzLmggKi8sCisJCQkJQTdDMjI1Q0QxMzk5ODQ5
QzAwRkYxNjYyIC8qIEtleXdvcmRMb29rdXAuaCAqLywKKwkJCQlCQzE4QzUyRDBFMTZGQ0UxMDBC
MzQ0NjAgLyogTGV4ZXIubHV0LmggKi8sCisJCQkJQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8q
IE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovLAorCQkJCUJDRDIwMkQ1MEUxNzA3MDgwMDJDN0U4
MiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5sdXQuaCAqLywKKwkJCQlBNzE4RjYxQTExNzU0QTIxMDAy
NDY1QTcgLyogUmVnRXhwSml0VGFibGVzLmggKi8sCisJCQkJNUQ1MzcyN0QwRTFDNTVFQzAwMjFF
NTQ5IC8qIFRyYWNpbmdEdHJhY2UuaCAqLywKKwkJCSk7CisJCQluYW1lID0gIkRlcml2ZWQgU291
cmNlcyI7CisJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmU7CisJCQlzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOworCQkJdGFiV2lkdGggPSA0OworCQkJdXNlc1Rh
YnMgPSAwOworCQl9OworCQk2NTJBM0ExQTE2NTFBOTI0MDBBODBBRkUgLyogQVJNNjQgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTY1MkEzQTIyMTY1MUM2
OTcwMEE4MEFGRSAvKiBBNjRET3Bjb2RlLmNwcCAqLywKKwkJCQk2NTJBM0EyMzE2NTFDNjk3MDBB
ODBBRkUgLyogQTY0RE9wY29kZS5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBBUk02NDsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTY1QzAyODU5MTcxNzk2NjgwMDM1MUUzNSAv
KiBBUk12NyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
NjVDMDI4NUExNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5jcHAgKi8sCisJCQkJNjVD
MDI4NUIxNzE3OTY2ODAwMzUxRTM1IC8qIEFSTXY3RE9wY29kZS5oICovLAorCQkJKTsKKwkJCW5h
bWUgPSBBUk12NzsKKwkJCXBhdGggPSBkaXNhc3NlbWJsZXIvQVJNdjc7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OworCQk3RTM5RDgxRDBFQzM4RUZBMDAzQUYxMUEgLyogYnl0ZWNv
bXBpbGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5
NjlBMDcyMDBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3IuY3BwICovLAorCQkJ
CTk2OUEwNzIxMEVEMUNFMzMwMEYxRjY4MSAvKiBCeXRlY29kZUdlbmVyYXRvci5oICovLAorCQkJ
CTk2OUEwNzI3MEVEMUNFNjkwMEYxRjY4MSAvKiBMYWJlbC5oICovLAorCQkJCTk2MDA5N0E1MEVC
QUJCNTgwMDdBNzI5NyAvKiBMYWJlbFNjb3BlLmggKi8sCisJCQkJNjU1RUIyOUExMENFMjU4MTAw
MUE5OTBFIC8qIE5vZGVzQ29kZWdlbi5jcHAgKi8sCisJCQkJOTY5QTA3MjgwRUQxQ0U2OTAwRjFG
NjgxIC8qIFJlZ2lzdGVySUQuaCAqLywKKwkJCQkxNERGMDREOTE2QjM5OTZEMDAxNkE1MTMgLyog
U3RhdGljUHJvcGVydHlBbmFseXNpcy5oICovLAorCQkJCTE0Q0E5NThBMTZBQjUwREUwMDkzOEEw
NiAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5emVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGJ5dGVj
b21waWxlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTdFMzlEODM3MEVD
M0EzODgwMDNBRjExQSAvKiBwYXJzZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCUE3QTdFRTc0MTFCOThCOEQwMDY1QTE0RiAvKiBBU1RCdWlsZGVyLmgg
Ki8sCisJCQkJOTNGMTk4MUEwODI0NUFBRTAwMUU5QUJDIC8qIEtleXdvcmRzLnRhYmxlICovLAor
CQkJCUY2OTJBODY1MDI1NTU5N0QwMUZGNjBGNyAvKiBMZXhlci5jcHAgKi8sCisJCQkJRjY5MkE4
NjYwMjU1NTk3RDAxRkY2MEY3IC8qIExleGVyLmggKi8sCisJCQkJOTMwREFEMDMwRkIxRUIxQTAw
ODJEMjA1IC8qIE5vZGVDb25zdHJ1Y3RvcnMuaCAqLywKKwkJCQlGNjkyQTg2RDAyNTU1OTdEMDFG
RjYwRjcgLyogTm9kZXMuY3BwICovLAorCQkJCUY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBO
b2Rlcy5oICovLAorCQkJCTkzRjBCM0E5MDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuY3BwICov
LAorCQkJCTkzRjBCM0FBMDlCQjREQzAwMDY4RkNFMyAvKiBQYXJzZXIuaCAqLywKKwkJCQk5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovLAorCQkJCTkzMDUyQzMz
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oICovLAorCQkJCTBGQ0NBRTQzMTZEMENG
NkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5oICovLAorCQkJCTlCNDk1NEU4MUE2NjQwREIwMDI4
MTVBNiAvKiBQYXJzZXJGdW5jdGlvbkluZm8uaCAqLywKKwkJCQlBNzdGMTgyNDE2NDE5MjU0MDA2
NDBBNDcgLyogUGFyc2VyTW9kZXMuaCAqLywKKwkJCQk2NTMwM0Q2MzE0NDdCOUUxMDBEM0Y5MDQg
LyogUGFyc2VyVG9rZW5zLmggKi8sCisJCQkJODY5RUJDQjYwRThDNkQ0QTAwODcyMkNDIC8qIFJl
c3VsdFR5cGUuaCAqLywKKwkJCQkwRjhGMkI5RDE3MzA2QzhCMDA3REJEQTUgLyogU291cmNlQ29k
ZS5jcHAgKi8sCisJCQkJNjVFODY2RUUwREQ1OUFGQTAwQTJCMkExIC8qIFNvdXJjZUNvZGUuaCAq
LywKKwkJCQkwRjQ5M0FGODE2RDBDQUQxMDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwICov
LAorCQkJCTY1RTg2NkVEMERENTlBRkEwMEEyQjJBMSAvKiBTb3VyY2VQcm92aWRlci5oICovLAor
CQkJCUU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCAq
LywKKwkJCQlFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5o
ICovLAorCQkJCUU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oICovLAorCQkJCUE3QTdFRTc3MTFCOThCOEQwMDY1QTE0RiAvKiBTeW50YXhDaGVja2Vy
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IHBhcnNlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCTdFRjZFMEJCMEVCN0ExRUMwMDc5QUZBRiAvKiBydW50aW1lICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCQ0Y2MDUxMTBFMjAzRUY4
MDBCOUE2NEQgLyogQXJnTGlzdC5jcHAgKi8sCisJCQkJQkNGNjA1MTIwRTIwM0VGODAwQjlBNjRE
IC8qIEFyZ0xpc3QuaCAqLywKKwkJCQkwRkUwNTAwQzFBQTkwOTExMDBEMzNCMzMgLyogQXJndW1l
bnRzTW9kZS5oICovLAorCQkJCTBGNkIxQ0I3MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNr
TW9kZS5oICovLAorCQkJCUE3QThBRjI1MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5j
cHAgKi8sCisJCQkJQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmggKi8s
CisJCQkJMEZGQzk5RDIxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0
Y2hwb2ludC5jcHAgKi8sCisJCQkJMEZGQzk5RDMxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5QnVm
ZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5oICovLAorCQkJCUE3QThBRjI3MTdBREI1RjMwMDVBQjE3
NCAvKiBBcnJheUJ1ZmZlclZpZXcuY3BwICovLAorCQkJCUE3QThBRjI4MTdBREI1RjMwMDVBQjE3
NCAvKiBBcnJheUJ1ZmZlclZpZXcuaCAqLywKKwkJCQlCQzc5NTIwNjBFMTVFOEE4MDBBODk4QUIg
LyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQkM3OTUyMDcwRTE1RThBODAwQTg5OEFC
IC8qIEFycmF5Q29uc3RydWN0b3IuaCAqLywKKwkJCQkwRkI3RjM4OTE1RUQ4RTM4MDBGMTY3QjIg
LyogQXJyYXlDb252ZW50aW9ucy5oICovLAorCQkJCUE3QkRBRUMyMTdGNEVBMTQwMEY2MTQwQyAv
KiBBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBN0JEQUVDMzE3RjRFQTE0MDBG
NjE0MEMgLyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5oICovLAorCQkJCUY2OTJBODREMDI1NTU5
N0QwMUZGNjBGNyAvKiBBcnJheVByb3RvdHlwZS5jcHAgKi8sCisJCQkJRjY5MkE4NEUwMjU1NTk3
RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmggKi8sCisJCQkJMEZCN0YzOEExNUVEOEUzODAw
RjE2N0IyIC8qIEFycmF5U3RvcmFnZS5oICovLAorCQkJCTUyNjc4RjhDMUEwMzEwMDkwMDZBMzA2
RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovLAorCQkJCTUyNjc4RjhEMUEwMzEwMDkwMDZB
MzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCAqLywKKwkJCQkxNDdCODNBQTBFNkRCOEM5MDA0
Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLywKKwkJCQk4NjY3MzlEMDEz
QkZERTcxMDAyM0Q4N0MgLyogQmlnSW50ZWdlci5oICovLAorCQkJCUJDNzk1MjMyMEUxNUVCNTYw
MEE4OThBQiAvKiBCb29sZWFuQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDNzk1MjMzMEUxNUVC
NTYwMEE4OThBQiAvKiBCb29sZWFuQ29uc3RydWN0b3IuaCAqLywKKwkJCQlGNjkyQTg1MDAyNTU1
OTdEMDFGRjYwRjcgLyogQm9vbGVhbk9iamVjdC5jcHAgKi8sCisJCQkJNzA0RkQzNTMwNTY5N0U2
RDAwM0RCRUQ5IC8qIEJvb2xlYW5PYmplY3QuaCAqLywKKwkJCQlCQzc5NTIzNDBFMTVFQjU2MDBB
ODk4QUIgLyogQm9vbGVhblByb3RvdHlwZS5jcHAgKi8sCisJCQkJQkM3OTUyMzUwRTE1RUI1NjAw
QTg5OEFCIC8qIEJvb2xlYW5Qcm90b3R5cGUuaCAqLywKKwkJCQk5RTcyOTQwQTE5MEYwNTE0MDAx
QTkxQjUgLyogQnVuZGxlUGF0aC5oICovLAorCQkJCTlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAv
KiBCdW5kbGVQYXRoLm1tICovLAorCQkJCTBGQjdGMzhCMTVFRDhFMzgwMEYxNjdCMiAvKiBCdXR0
ZXJmbHkuaCAqLywKKwkJCQkwRkI3RjM4QzE1RUQ4RTM4MDBGMTY3QjIgLyogQnV0dGVyZmx5SW5s
aW5lcy5oICovLAorCQkJCUJDQTYyREZFMEUyODI2MjMwMDA0RjMwRCAvKiBDYWxsRGF0YS5jcHAg
Ki8sCisJCQkJMTQ1QzUwN0YwRDlERjYzQjAwODhGNkI5IC8qIENhbGxEYXRhLmggKi8sCisJCQkJ
QkM2QUFBRTQwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNzSW5mby5oICovLAorCQkJCTBGRTA1MDFD
MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuY3BwICovLAorCQkJCTBGRTA1MDFE
MUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuaCAqLywKKwkJCQlBNzdGMTgxRjE2
NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCAqLywKKwkJCQlBNzdGMTgyMDE2NDA4OEIy
MDA2NDBBNDcgLyogQ29kZUNhY2hlLmggKi8sCisJCQkJMEY4Rjk0M0ExNjY3NjMxMTAwRDYxOTcx
IC8qIENvZGVTcGVjaWFsaXphdGlvbktpbmQuY3BwICovLAorCQkJCTBGMjFDMjc5MTRCRTcyNzMw
MEFEQzY0QiAvKiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggKi8sCisJCQkJNjVFQTczNjIwQkFF
MzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmNwcCAqLywKKwkJCQk2NUVBNzM2MzBC
QUUzNUQxMDAxQkI1NjAgLyogQ29tbW9uSWRlbnRpZmllcnMuaCAqLywKKwkJCQlBNzA5RjJGMTE3
QTBBQzJBMDA1MTJFOTggLyogQ29tbW9uU2xvd1BhdGhzLmNwcCAqLywKKwkJCQkwRjE1RjE1RDE0
QjdBNzNBMDA1REUzN0QgLyogQ29tbW9uU2xvd1BhdGhzLmggKi8sCisJCQkJNjU1M0EzMkYxN0Ex
RjFFRTAwOENGNkYzIC8qIENvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwICovLAorCQkJCTY1
NTNBMzMwMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmggKi8s
CisJCQkJQTdFNUEzQTUxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmNwcCAq
LywKKwkJCQlBN0U1QTNBNjE3OTc0MzJEMDBFODkzQzAgLyogQ29tcGlsYXRpb25SZXN1bHQuaCAq
LywKKwkJCQk5NjlBMDkyMjBFRDFFMDlDMDBGMUY2ODEgLyogQ29tcGxldGlvbi5jcHAgKi8sCisJ
CQkJRjVCQjJCQzUwMzBGNzcyMTAxRkNGRTFEIC8qIENvbXBsZXRpb24uaCAqLywKKwkJCQkwRkRC
MkNFOTE3NDg5NkM3MDA3QjNDMUIgLyogQ29uY3VycmVudEpJVExvY2suaCAqLywKKwkJCQlBNUI2
QTc0QzE4QzZEQkE2MDBGMTFFOTEgLyogQ29uc29sZUNsaWVudC5jcHAgKi8sCisJCQkJQTUzQ0Uw
ODkxOEJDMjFDMzAwQkVERjc2IC8qIENvbnNvbGVDbGllbnQuaCAqLywKKwkJCQlBNTNDRTA4MTE4
QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUzQ0UwODIx
OEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuaCAqLywKKwkJCQlBNUZEMDA3MTE4
OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi8sCisJCQkJMEY5NzhCM0ExQUFFQTcx
RDAwN0M3MzY5IC8qIENvbnN0YW50TW9kZS5jcHAgKi8sCisJCQkJMEZGQzk5RDAxODRFQzhBRDAw
OUMxMEFCIC8qIENvbnN0YW50TW9kZS5oICovLAorCQkJCUJDQTYyREZGMEUyODI2MzEwMDA0RjMw
RCAvKiBDb25zdHJ1Y3REYXRhLmNwcCAqLywKKwkJCQlCQzhGM0NDRjBEQUYxN0JBMDA1NzdBODAg
LyogQ29uc3RydWN0RGF0YS5oICovLAorCQkJCTUyQjcxN0I0MUEwNTk3RTEwMDdBRjRGMyAvKiBD
b250cm9sRmxvd1Byb2ZpbGVyLmNwcCAqLywKKwkJCQk1MjY3OEY5MDFBMDQxNzdDMDA2QTMwNkQg
LyogQ29udHJvbEZsb3dQcm9maWxlci5oICovLAorCQkJCTJBMTExMjQzMTkyRkNFNzkwMDVFRTE4
RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuY3BwICovLAorCQkJCTJBMTExMjQ0MTkyRkNFNzkwMDVF
RTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQkwRjJCNjZCMDE3QjZCNUFCMDBB
N0FFM0YgLyogRGF0YVZpZXcuY3BwICovLAorCQkJCTBGMkI2NkIxMTdCNkI1QUIwMEE3QUUzRiAv
KiBEYXRhVmlldy5oICovLAorCQkJCUJDRDIwMzQ1MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuY3BwICovLAorCQkJCUJDRDIwMzQ2MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29u
c3RydWN0b3IuaCAqLywKKwkJCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZl
cnNpb24uY3BwICovLAorCQkJCUQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVy
c2lvbi5oICovLAorCQkJCUJDMTE2NjAwMEUxOTk3QjEwMDgwNjZERCAvKiBEYXRlSW5zdGFuY2Uu
Y3BwICovLAorCQkJCUJDMTE2NjAxMEUxOTk3QjEwMDgwNjZERCAvKiBEYXRlSW5zdGFuY2UuaCAq
LywKKwkJCQkxNEExNTYzMDEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3RhbmNlQ2FjaGUuaCAq
LywKKwkJCQlCQ0QyMDM0NzBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZVByb3RvdHlwZS5jcHAgKi8s
CisJCQkJQkNEMjAzNDgwRTE3MTM1RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUuaCAqLywKKwkJ
CQkwRkUwNTAwRjFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzLmNwcCAqLywKKwkJ
CQkwRkUwNTAxMDFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzLmggKi8sCisJCQkJ
MEZFMDUwMEQxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAgKi8s
CisJCQkJMEZFMDUwMEUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5o
ICovLAorCQkJCUE3MDQ0N0VCMTdBMEJENzAwMEY1ODk4RSAvKiBEdW1wQ29udGV4dC5jcHAgKi8s
CisJCQkJQTcwNDQ3RUMxN0EwQkQ3MDAwRjU4OThFIC8qIER1bXBDb250ZXh0LmggKi8sCisJCQkJ
MkFEMkVERkExOTc5OUUzODAwNEQ2NDc4IC8qIEVudW1lcmF0aW9uTW9kZS5oICovLAorCQkJCUJD
MzM3QkVBMEUxQjAwQ0IwMDc2OTE4QSAvKiBFcnJvci5jcHAgKi8sCisJCQkJQkMzMDQ2MDYwRTFG
NDk3RjAwMzIzMkNGIC8qIEVycm9yLmggKi8sCisJCQkJQkMwMkU5MDQwRTE4MzlEQjAwMEY5Mjk3
IC8qIEVycm9yQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMDJFOTA1MEUxODM5REIwMDBGOTI5
NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggKi8sCisJCQkJRkVCNThDMTIxODdCOEIxNjAwOThFRjBC
IC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAgKi8sCisJCQkJRkVCNThDMTMxODdCOEIxNjAwOThF
RjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5oICovLAorCQkJCUJDMDJFOThBMEUxODNFMzgwMDBG
OTI5NyAvKiBFcnJvckluc3RhbmNlLmNwcCAqLywKKwkJCQlCQzAyRTk4QjBFMTgzRTM4MDAwRjky
OTcgLyogRXJyb3JJbnN0YW5jZS5oICovLAorCQkJCUJDMDJFOTA2MEUxODM5REIwMDBGOTI5NyAv
KiBFcnJvclByb3RvdHlwZS5jcHAgKi8sCisJCQkJQkMwMkU5MDcwRTE4MzlEQjAwMEY5Mjk3IC8q
IEVycm9yUHJvdG90eXBlLmggKi8sCisJCQkJRkUxQzBGRkMxQjE5M0U5ODAwQjUzRkNBIC8qIEV4
Y2VwdGlvbi5oICovLAorCQkJCUZFMUMwRkZFMUIxOTRGRDEwMEI1M0ZDQSAvKiBFeGNlcHRpb24u
Y3BwICovLAorCQkJCTBGMTJERTBEMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNw
cCAqLywKKwkJCQkwRjEyREUwRTE5NzlENUZEMDAwNkZGNEUgLyogRXhjZXB0aW9uRnV6ei5oICov
LAorCQkJCTE0MjlEODc3MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25IZWxwZXJzLmNwcCAq
LywKKwkJCQlBNzI3MDFCMzBEQURFOTQ5MDBFNTQ4RDcgLyogRXhjZXB0aW9uSGVscGVycy5oICov
LAorCQkJCTg2Q0EwMzJEMTAzOEU4NDQwMDI4QTYwOSAvKiBFeGVjdXRhYmxlLmNwcCAqLywKKwkJ
CQk4NkNBRkVFMjEwMzVEREU2MDAyOEE2MDkgLyogRXhlY3V0YWJsZS5oICovLAorCQkJCUE3QThB
RjI5MTdBREI1RjMwMDVBQjE3NCAvKiBGbG9hdDMyQXJyYXkuaCAqLywKKwkJCQlBN0E4QUYyQTE3
QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFycmF5LmggKi8sCisJCQkJQkMyNjgwQzAwRTE2RDRF
OTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMjY4MEMxMEUx
NkQ0RTkwMEEwNkU5MiAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmggKi8sCisJCQkJMEZCNEI1MjEx
NkI2Mjc4RDAwM0Y2OTZCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwICovLAorCQkJCTBG
QjRCNTIyMTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmggKi8sCisJ
CQkJNTJCMzEwRkMxOTc0QUU4NzAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5j
cHAgKi8sCisJCQkJNTJCMzEwRkExOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0
ZWRDYWNoZS5oICovLAorCQkJCUY2OTJBODVDMDI1NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblBy
b3RvdHlwZS5jcHAgKi8sCisJCQkJRjY5MkE4NUQwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9u
UHJvdG90eXBlLmggKi8sCisJCQkJNjJEMkQzOEQxQURGMTAzRjAwMDIwNkMxIC8qIEZ1bmN0aW9u
UmFyZURhdGEuY3BwICovLAorCQkJCTYyRDJEMzhFMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlv
blJhcmVEYXRhLmggKi8sCisJCQkJMEZFMDUwMTExQUE5MDkxMTAwRDMzQjMzIC8qIEdlbmVyaWNB
cmd1bWVudHMuaCAqLywKKwkJCQkwRkUwNTAxMjFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0Fy
Z3VtZW50c0lubGluZXMuaCAqLywKKwkJCQkwRkUwNTAxMzFBQTkwOTExMDBEMzNCMzMgLyogR2Vu
ZXJpY09mZnNldC5oICovLAorCQkJCTBGMkI2NkIyMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmlj
VHlwZWRBcnJheVZpZXcuaCAqLywKKwkJCQkwRjJCNjZCMzE3QjZCNUFCMDBBN0FFM0YgLyogR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oICovLAorCQkJCUJDMDJFOUI4MEUxODQ1NDUwMDBG
OTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAorCQkJCUJDMzM3QkRFMEUxQUYwQjgwMDc2OTE4
QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQk5MzNBMzQ5RDAzOEFFODBGMDA4NjM1Q0UgLyog
SWRlbnRpZmllci5jcHAgKi8sCisJCQkJOTMzQTM0OUEwMzhBRTdDNjAwODYzNUNFIC8qIElkZW50
aWZpZXIuaCAqLywKKwkJCQk4NjA2RERFOTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklu
bGluZXMuaCAqLywKKwkJCQkwRkI3RjM4RDE1RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdIZWFk
ZXIuaCAqLywKKwkJCQkwRkI3RjM4RTE1RUQ4RTM4MDBGMTY3QjIgLyogSW5kZXhpbmdIZWFkZXJJ
bmxpbmVzLmggKi8sCisJCQkJMEYxM0UwNEMxNjE2NEExQjAwREM4REU3IC8qIEluZGV4aW5nVHlw
ZS5jcHAgKi8sCisJCQkJMEZCN0YzOEYxNUVEOEUzODAwRjE2N0IyIC8qIEluZGV4aW5nVHlwZS5o
ICovLAorCQkJCTBGRjhCREU4MUFENENGNzEwMERGRTg4NCAvKiBJbmZlcnJlZFZhbHVlLmNwcCAq
LywKKwkJCQkwRkY4QkRFOTFBRDRDRjcxMDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5oICovLAor
CQkJCUUxNzg2MzZDMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAq
LywKKwkJCQlFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5o
ICovLAorCQkJCUE3QThBRjJCMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQ4QXJyYXkuaCAqLywKKwkJ
CQlBN0E4QUYyQzE3QURCNUYzMDA1QUIxNzQgLyogSW50MTZBcnJheS5oICovLAorCQkJCUE3QThB
RjJEMTdBREI1RjMwMDVBQjE3NCAvKiBJbnQzMkFycmF5LmggKi8sCisJCQkJQTc4ODUzRjcxNzk3
MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwICovLAorCQkJCUE3ODg1
M0Y4MTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggKi8sCisJCQkJ
QkM5QkI5NUIwRTE5NjgwNjAwREY4ODU1IC8qIEludGVybmFsRnVuY3Rpb24uY3BwICovLAorCQkJ
CUJDMTE2NjdBMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmggKi8sCisJCQkJ
QTEyQkJGRjMxQjA0NEE5ODAwNjY0QjY5IC8qIEludGxPYmplY3QuY3BwICovLAorCQkJCUExMkJC
RkYxMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggKi8sCisJCQkJODZCRjY0MkExNDhE
QjJCNTAwNERFMzZBIC8qIEludHJpbnNpYy5oICovLAorCQkJCUZFNEQ1NUI3MUFFNzE2Q0EwMDUy
RTQ1OSAvKiBJdGVyYXRpb25TdGF0dXMuaCAqLywKKwkJCQk3MDExM0Q0OTFBOERCMDkzMDAzODQ4
QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmNwcCAqLywKKwkJCQk3MDExM0Q0QTFBOERCMDkzMDAz
ODQ4QzQgLyogSXRlcmF0b3JPcGVyYXRpb25zLmggKi8sCisJCQkJNzBEQzNFMDcxQjJERjJDNzAw
MDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQk3MERDM0UwODFCMkRGMkM3
MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuaCAqLywKKwkJCQk5M0FERkNFNjBDQ0JEN0FD
MDBEMzBCMDggLyogSlNBcnJheS5jcHAgKi8sCisJCQkJOTM4NzcyRTUwMzhCRkUxOTAwODYzNUNF
IC8qIEpTQXJyYXkuaCAqLywKKwkJCQkwRjJCNjZCNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJh
eUJ1ZmZlci5jcHAgKi8sCisJCQkJMEYyQjY2QjUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXIuaCAqLywKKwkJCQkwRjJCNjZCNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yLmNwcCAqLywKKwkJCQkwRjJCNjZCNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggKi8sCisJCQkJMEYyQjY2QjgxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwICovLAorCQkJCTBGMkI2NkI5MTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyUHJvdG90eXBlLmggKi8sCisJCQkJMEYyQjY2QkExN0I2
QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKKwkJCQkwRjJCNjZCQjE3
QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXcuaCAqLywKKwkJCQkwRjJCNjZCQzE3
QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmggKi8sCisJCQkJQTdC
REFFQzQxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5jcHAgKi8sCisJCQkJQTdC
REFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAorCQkJCTg2RkE5
RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAorCQkJCTg2RkE5
RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk2NTdDRjQ1
NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAorCQkJCTY1N0NGNDU3MTlCRjY2
NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAorCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2
NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLAorCQkJCTBGRDk0OTdGMUE5N0RCOTYwMEUyODk2NiAv
KiBKU0NhdGNoU2NvcGUuaCAqLywKKwkJCQlCQzdGOEZCQTBFMTlEMUVGMDA4NjMyQzAgLyogSlND
ZWxsLmNwcCAqLywKKwkJCQlCQzExNjdEODBFMTlCQ0M5MDA4MDY2REQgLyogSlNDZWxsLmggKi8s
CisJCQkJMEY5NzQ5NkYxNjg3QURFMjAwQTRGRjZBIC8qIEpTQ2VsbElubGluZXMuaCAqLywKKwkJ
CQkwRjFERDg0OTE4QTk0NUJFMDAyNkYzRkEgLyogSlNDSW5saW5lcy5oICovLAorCQkJCUY2OTJB
ODg3MDI1NTU5N0QwMUZGNjBGNyAvKiBKU0NKU1ZhbHVlLmNwcCAqLywKKwkJCQkxNEFCQjM2RTA5
OUMwNzY0MDBFMkEyNEYgLyogSlNDSlNWYWx1ZS5oICovLAorCQkJCTg2NUEzMEYwMTM1MDA3RTEw
MENEQjQ5RSAvKiBKU0NKU1ZhbHVlSW5saW5lcy5oICovLAorCQkJCUE1M0NFMDgzMThCQzFBNTYw
MEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovLAorCQkJCUE1M0NFMDg0MThCQzFBNTYwMEJFREY3
NiAvKiBKU0NvbnNvbGUuaCAqLywKKwkJCQkwRjJCNjZCRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNE
YXRhVmlldy5jcHAgKi8sCisJCQkJMEYyQjY2QkUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZp
ZXcuaCAqLywKKwkJCQkwRjJCNjZCRjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlld1Byb3Rv
dHlwZS5jcHAgKi8sCisJCQkJMEYyQjY2QzAxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQ
cm90b3R5cGUuaCAqLywKKwkJCQk5Nzg4RkMyMjE0NzFBRDBDMDA2OENFMkQgLyogSlNEYXRlTWF0
aC5jcHAgKi8sCisJCQkJOTc4OEZDMjMxNDcxQUQwQzAwNjhDRTJEIC8qIEpTRGF0ZU1hdGguaCAq
LywKKwkJCQlDMkE3RjY4NzE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3Qu
aCAqLywKKwkJCQlCQzIyQTM5QTBFMTZFMTQ4MDBBRjIxQzggLyogSlNFbnZpcm9ubWVudFJlY29y
ZC5jcHAgKi8sCisJCQkJMTRGMjUyNTYwRDA4REQ4RDAwNEVDRkZGIC8qIEpTRW52aXJvbm1lbnRS
ZWNvcmQuaCAqLywKKwkJCQlBN0I0QUNBRTE0ODRDOUNFMDBCMzhBMzYgLyogSlNFeHBvcnRNYWNy
b3MuaCAqLywKKwkJCQkwRjJCNjZDMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDMyQXJyYXku
aCAqLywKKwkJCQkwRjJCNjZDMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9hdDY0QXJyYXkuaCAq
LywKKwkJCQlGNjkyQTg1RTAyNTU1OTdEMDFGRjYwRjcgLyogSlNGdW5jdGlvbi5jcHAgKi8sCisJ
CQkJRjY5MkE4NUYwMjU1NTk3RDAxRkY2MEY3IC8qIEpTRnVuY3Rpb24uaCAqLywKKwkJCQlBNzIw
MjhCOTE3OTc2MDNEMDA5ODAyOEMgLyogSlNGdW5jdGlvbklubGluZXMuaCAqLywKKwkJCQkwRkQ5
NDk4MDFBOTdEQjk2MDBFMjg5NjYgLyogSlNGdW5jdGlvbk5hbWVTY29wZS5jcHAgKi8sCisJCQkJ
MEZEOTQ5ODExQTk3REI5NjAwRTI4OTY2IC8qIEpTRnVuY3Rpb25OYW1lU2NvcGUuaCAqLywKKwkJ
CQkwRjJCNjZDMzE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaCAq
LywKKwkJCQkwRjJCNjZDNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3Rvci5oICovLAorCQkJCTBGMkI2NkM1MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oICovLAorCQkJCTBGMkI2NkM2
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLywK
KwkJCQkwRjJCNjZDNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaCAqLywKKwkJCQkwRjJCNjZDODE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdQcm90b3R5cGVJbmxpbmVzLmggKi8sCisJCQkJMTRERTBENjgwRDAyNDMx
NDAwQUFDQ0EyIC8qIEpTR2xvYmFsT2JqZWN0LmNwcCAqLywKKwkJCQlBOEU4OTQzMzBDRDA2MDNG
MDAzNjcxNzkgLyogSlNHbG9iYWxPYmplY3QuaCAqLywKKwkJCQlBNTk0NTU5MDE4MjQ3NDQ3MDBD
QzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcCAqLywKKwkJCQlBNTk0NTU5MTE4
MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggKi8sCisJCQkJQkM3
NTZGQzYwRTIwMzFCMjAwREU3RDEyIC8qIEpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCAqLywK
KwkJCQlCQzc1NkZDNzBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
aCAqLywKKwkJCQkwRjJCNjZDOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQ4QXJyYXkuaCAqLywK
KwkJCQkwRjJCNjZDQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi8sCisJCQkJ
MEYyQjY2Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovLAorCQkJCTE0REE4
MThGMEQ5OUZEMjAwMEIwQTRGQiAvKiBKU0xleGljYWxFbnZpcm9ubWVudC5jcHAgKi8sCisJCQkJ
MTREQTgxOEUwRDk5RkQyMDAwQjBBNEZCIC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmggKi8sCisJ
CQkJNjVFQTRDOTkwOTJBRjlFMjAwOTNEODAwIC8qIEpTTG9jay5jcHAgKi8sCisJCQkJNjVFQTRD
OUEwOTJBRjlFMjAwOTNEODAwIC8qIEpTTG9jay5oICovLAorCQkJCUE3MDA4NzNGMTdDQkU4RUIw
MEMzRTY0MyAvKiBKU01hcC5jcHAgKi8sCisJCQkJQTcwMDg3NDAxN0NCRThFQjAwQzNFNjQzIC8q
IEpTTWFwLmggKi8sCisJCQkJQTc0REVGOEYxODJEOTkxNDAwNTIyQzIyIC8qIEpTTWFwSXRlcmF0
b3IuY3BwICovLAorCQkJCUE3NERFRjkwMTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9y
LmggKi8sCisJCQkJMTQ4NzRBREYxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCAq
LywKKwkJCQkxNDg3NEFFMDE1RUJERTRBMDAyRTM1ODcgLyogSlNOYW1lU2NvcGUuaCAqLywKKwkJ
CQlBNzI3MDA3ODBEQUM2MDU2MDBFNTQ4RDcgLyogSlNOb3RBbk9iamVjdC5jcHAgKi8sCisJCQkJ
QTcyNzAwNzcwREFDNjA1NjAwRTU0OEQ3IC8qIEpTTm90QW5PYmplY3QuaCAqLywKKwkJCQlCQzIy
QTM5ODBFMTZFMTQ4MDBBRjIxQzggLyogSlNPYmplY3QuY3BwICovLAorCQkJCUJDMjJBMzk5MEUx
NkUxNDgwMEFGMjFDOCAvKiBKU09iamVjdC5oICovLAorCQkJCUE3Rjk5MzVFMEZENzMyNTEwMEEw
QjJEMCAvKiBKU09OT2JqZWN0LmNwcCAqLywKKwkJCQlBN0Y5OTM1RDBGRDczMjUxMDBBMEIyRDAg
LyogSlNPTk9iamVjdC5oICovLAorCQkJCTdDMTg0RTE4MTdCRURCRDMwMDdDQjYzQSAvKiBKU1By
b21pc2UuY3BwICovLAorCQkJCTdDMTg0RTE5MTdCRURCRDMwMDdDQjYzQSAvKiBKU1Byb21pc2Uu
aCAqLywKKwkJCQk3QzE4NEUyMDE3QkVFMjQwMDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0
b3IuY3BwICovLAorCQkJCTdDMTg0RTIxMTdCRUUyNDAwMDdDQjYzQSAvKiBKU1Byb21pc2VDb25z
dHJ1Y3Rvci5oICovLAorCQkJCTdDMDA4Q0Q4MTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VE
ZWZlcnJlZC5jcHAgKi8sCisJCQkJN0MwMDhDRDkxODcxMjRCQjAwOTU1QzI0IC8qIEpTUHJvbWlz
ZURlZmVycmVkLmggKi8sCisJCQkJN0MwMDhDRDAxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlz
ZUZ1bmN0aW9ucy5jcHAgKi8sCisJCQkJN0MwMDhDRDExODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJv
bWlzZUZ1bmN0aW9ucy5oICovLAorCQkJCTdDMTg0RTFDMTdCRUUyMkUwMDdDQjYzQSAvKiBKU1By
b21pc2VQcm90b3R5cGUuY3BwICovLAorCQkJCTdDMTg0RTFEMTdCRUUyMkUwMDdDQjYzQSAvKiBK
U1Byb21pc2VQcm90b3R5cGUuaCAqLywKKwkJCQk3QzAwOENEQzE4NzEyNThEMDA5NTVDMjQgLyog
SlNQcm9taXNlUmVhY3Rpb24uY3BwICovLAorCQkJCTdDMDA4Q0REMTg3MTI1OEQwMDk1NUMyNCAv
KiBKU1Byb21pc2VSZWFjdGlvbi5oICovLAorCQkJCTJBMDVBQkQzMTk2MURGMjQwMDM0MTc1MCAv
KiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwICovLAorCQkJCTJBMDVBQkQ0MTk2MURGMjQw
MDM0MTc1MCAvKiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCAqLywKKwkJCQk4NjI1NTNDRTE2
MTM2QUE1MDA5RjE3RDAgLyogSlNQcm94eS5jcHAgKi8sCisJCQkJODYyNTUzQ0YxNjEzNkFBNTAw
OUYxN0QwIC8qIEpTUHJveHkuaCAqLywKKwkJCQkxNDg3NEFFMTE1RUJERTRBMDAyRTM1ODcgLyog
SlNTY29wZS5jcHAgKi8sCisJCQkJMTQ4NzRBRTIxNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUu
aCAqLywKKwkJCQkwRjkxOUQwRTE1N0YzMzI3MDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdC5jcHAgKi8sCisJCQkJMEY5MTlEMEYxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3QuaCAqLywKKwkJCQlBNzI5OUQ5QjE3RDEyODM3MDA1RjVGRjkgLyog
SlNTZXQuY3BwICovLAorCQkJCUE3Mjk5RDlDMTdEMTI4MzcwMDVGNUZGOSAvKiBKU1NldC5oICov
LAorCQkJCUE3OTBERDY5MTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCAqLywK
KwkJCQlBNzkwREQ2QTE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5oICovLAorCQkJ
CUJDMDJFOUI2MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8sCisJCQkJRjY5MkE4
NjIwMjU1NTk3RDAxRkY2MEY3IC8qIEpTU3RyaW5nLmggKi8sCisJCQkJODZFODU1MzgxMTFCOTk2
ODAwMUFGNTFFIC8qIEpTU3RyaW5nQnVpbGRlci5oICovLAorCQkJCTcwRUMwRUJDMUFBMEQ3REEw
MEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmNwcCAqLywKKwkJCQk3MEVDMEVCRDFBQTBEN0RB
MDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5oICovLAorCQkJCTI2MDBCNUE0MTUyQkFBQTcw
MDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5jcHAgKi8sCisJCQkJMjYwMEI1QTUxNTJCQUFBNzAw
OTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVyLmggKi8sCisJCQkJMEY5MTlEMDkxNTdFRTA5RDAwNEE0
RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuY3BwICovLAorCQkJCTBGOTE5RDBBMTU3RUUwOUQw
MDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggKi8sCisJCQkJNzBFQ0E2MDAxQUZEQkVB
MjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHAgKi8sCisJCQkJNzBFQ0E2MDEx
QUZEQkVBMjAwNDQ5NzM5IC8qIEpTVGVtcGxhdGVSZWdpc3RyeUtleS5oICovLAorCQkJCTE0QUJC
NDU0MDk5QzJBMEYwMEUyQTI0RiAvKiBKU1R5cGUuaCAqLywKKwkJCQkwRjJCNjZDQzE3QjZCNUFC
MDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcCAqLywKKwkJCQkwRjJCNjZD
RDE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmggKi8sCisJCQkJ
MEYyQjY2Q0UxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwICov
LAorCQkJCTBGMkI2NkNGMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVz
LmggKi8sCisJCQkJMEYyQjY2RDAxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuY3Bw
ICovLAorCQkJCTBGMkI2NkQxMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmggKi8s
CisJCQkJNjUwN0QyOTcwRTg3MUU0QTAwRDdEODk2IC8qIEpTVHlwZUluZm8uaCAqLywKKwkJCQkw
RjJCNjZEMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggKi8sCisJCQkJMEYyQjY2
RDMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDhDbGFtcGVkQXJyYXkuaCAqLywKKwkJCQkwRjJC
NjZENDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oICovLAorCQkJCTBGMkI2NkQ1
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQzMkFycmF5LmggKi8sCisJCQkJQTdDQTNBRTExN0RB
NDFBRTAwNjUzOEFGIC8qIEpTV2Vha01hcC5jcHAgKi8sCisJCQkJQTdDQTNBRTIxN0RBNDFBRTAw
NjUzOEFGIC8qIEpTV2Vha01hcC5oICovLAorCQkJCTcwOUZCODYxMUFFMzM1QzYwMDM5RDA2OSAv
KiBKU1dlYWtTZXQuY3BwICovLAorCQkJCTcwOUZCODYyMUFFMzM1QzYwMDM5RDA2OSAvKiBKU1dl
YWtTZXQuaCAqLywKKwkJCQkxNDQyNTY1RjE1RURFOThEMDA2NkE0OUIgLyogSlNXaXRoU2NvcGUu
Y3BwICovLAorCQkJCTE0NDI1NjYwMTVFREU5OEQwMDY2QTQ5QiAvKiBKU1dpdGhTY29wZS5oICov
LAorCQkJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3BwICov
LAorCQkJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLywK
KwkJCQlBN0UyRUE2QTBGQjQ2MENGMDA2MDFGMDYgLyogTGl0ZXJhbFBhcnNlci5jcHAgKi8sCisJ
CQkJQTdFMkVBNjkwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJzZXIuaCAqLywKKwkJCQlG
NjkyQTg2ODAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmNwcCAqLywKKwkJCQlGNjkyQTg2OTAy
NTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmggKi8sCisJCQkJQTcwMDg3MzcxN0NCRTg1MzAwQzNF
NjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLywKKwkJCQlBNzAwODczODE3Q0JFODUzMDBDM0U2
NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLywKKwkJCQlBNzg1MDdENTE3Q0JDNkZEMDAxMUY2RTcg
LyogTWFwRGF0YS5oICovLAorCQkJCTU5M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBEYXRh
SW5saW5lcy5oICovLAorCQkJCUE3NERFRjhEMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRv
clByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTc0REVGOEUxODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0
ZXJhdG9yUHJvdG90eXBlLmggKi8sCisJCQkJQTcwMDg3M0IxN0NCRThEMzAwQzNFNjQzIC8qIE1h
cFByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTcwMDg3M0MxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFBy
b3RvdHlwZS5oICovLAorCQkJCTg2MTJFNENCMTUyMjkxODQwMEM4MzZCRSAvKiBNYXRjaFJlc3Vs
dC5oICovLAorCQkJCTQzNDBBNDgyMUE5MDUxQUYwMEQ3M0NDQSAvKiBNYXRoQ29tbW9uLmNwcCAq
LywKKwkJCQk0MzQwQTQ4MzFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENvbW1vbi5oICovLAorCQkJ
CUY2OTJBODZBMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmNwcCAqLywKKwkJCQlGNjky
QTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovLAorCQkJCTkwMjEzRTNCMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLywKKwkJCQk5MDIxM0UzQzEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovLAorCQkJCTdDMDA4Q0U1MTg3
NjMxQjYwMDk1NUMyNCAvKiBNaWNyb3Rhc2suaCAqLywKKwkJCQlCQzAyRTkwODBFMTgzOURCMDAw
RjkyOTcgLyogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQkMwMkU5MDkwRTE4
MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCAqLywKKwkJCQlCQzAyRTkw
QTBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
MDJFOTBCMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5oICovLAorCQkJ
CTY1NDZGNTFGMUEzMkE1OUMwMDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uY3BwICovLAor
CQkJCTY1NDZGNTIwMUEzMkE1OUMwMDZGMDdENSAvKiBOdWxsR2V0dGVyRnVuY3Rpb24uaCAqLywK
KwkJCQk2NTUyNUZDMzFBNkREM0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmNwcCAq
LywKKwkJCQk2NTUyNUZDNDFBNkREM0IzMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0aW9uLmgg
Ki8sCisJCQkJQkMyNjgwQzIwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmNw
cCAqLywKKwkJCQlCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLywKKwkJCQlGNjkyQTg3MDAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmNwcCAq
LywKKwkJCQlGNjkyQTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi8sCisJ
CQkJQkMyNjgwQzQwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5jcHAgKi8sCisJ
CQkJQkMyNjgwQzUwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJlclByb3RvdHlwZS5oICovLAorCQkJ
CTE0MkQzOTM4MTAzRTQ1NjAwMDdEQ0I1MiAvKiBOdW1lcmljU3RyaW5ncy5oICovLAorCQkJCUJD
MjY4MEM2MEUxNkQ0RTkwMEEwNkU5MiAvKiBPYmplY3RDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJ
QkMyNjgwQzcwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdENvbnN0cnVjdG9yLmggKi8sCisJCQkJ
QkMyNjgwQzgwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5jcHAgKi8sCisJCQkJ
QkMyNjgwQzkwRTE2RDRFOTAwQTA2RTkyIC8qIE9iamVjdFByb3RvdHlwZS5oICovLAorCQkJCUY2
OTJBODc3MDI1NTU5N0QwMUZGNjBGNyAvKiBPcGVyYXRpb25zLmNwcCAqLywKKwkJCQlGNjkyQTg3
ODAyNTU1OTdEMDFGRjYwRjcgLyogT3BlcmF0aW9ucy5oICovLAorCQkJCTBGRTIyOEVBMTQzNkFC
MjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLywKKwkJCQkwRkUyMjhFQjE0MzZBQjIzMDAxOTZD
NDggLyogT3B0aW9ucy5oICovLAorCQkJCTg2ODkxNkE5MTU1RjI4NTQwMENCMkI5QSAvKiBQcml2
YXRlTmFtZS5oICovLAorCQkJCUE3RkI2MEEzMTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURl
c2NyaXB0b3IuY3BwICovLAorCQkJCUE3RkI2MDRCMTAzRjVFQUIwMDE3QTI4NiAvKiBQcm9wZXJ0
eURlc2NyaXB0b3IuaCAqLywKKwkJCQlCQzk1NDM3QzBFQkE3MEZEMDA3MkI2RDMgLyogUHJvcGVy
dHlNYXBIYXNoVGFibGUuaCAqLywKKwkJCQk4NjE1OEFCMjE1NUM4QjNGMDBCNDVDOUMgLyogUHJv
cGVydHlOYW1lLmggKi8sCisJCQkJNjU0MDBDMTAwQTY5QkFGMjAwNTA5ODg3IC8qIFByb3BlcnR5
TmFtZUFycmF5LmggKi8sCisJCQkJMEZGNzE2OEExNUEzQjIzMTAwOEY1REFBIC8qIFByb3BlcnR5
T2Zmc2V0LmggKi8sCisJCQkJNjU2MjFFNkIwODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xv
dC5jcHAgKi8sCisJCQkJNjU2MjFFNkMwODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xvdC5o
ICovLAorCQkJCTBGQjdGMzkwMTVFRDhFMzgwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCAq
LywKKwkJCQlBRDFDRjA2ODE2RENBQjJEMDBCOTcxMjMgLyogUHJvcGVydHlUYWJsZS5jcHAgKi8s
CisJCQkJNjVDMDJGQkIwNjM3NDYyQTAwM0U3RUU2IC8qIFByb3RlY3QuaCAqLywKKwkJCQkxNEQ4
NDRBMjE2QUEyQzcwMDBBNjVBRjAgLyogUHJvdG90eXBlTWFwLmNwcCAqLywKKwkJCQkxNEQ4NDRB
MzE2QUEyQzcwMDBBNjVBRjAgLyogUHJvdG90eXBlTWFwLmggKi8sCisJCQkJMEY1NzgwQTExOEZF
MUU5ODAwMUU3MkQ5IC8qIFB1cmVOYU4uaCAqLywKKwkJCQkwRjBDRDRDMDE1RjFBNjA0MDAzMkYx
QzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi8sCisJCQkJMTQ3Qjg0NjIwRTZERTZCMTAwNDc3
NUE0IC8qIFB1dFByb3BlcnR5U2xvdC5oICovLAorCQkJCUY2OTJBODdEMDI1NTU5N0QwMUZGNjBG
NyAvKiBSZWdFeHAuY3BwICovLAorCQkJCUY2OTJBODdFMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdF
eHAuaCAqLywKKwkJCQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuY3Bw
ICovLAorCQkJCUExNzEyQjNFMTFDN0IyMjgwMDdBNTMxNSAvKiBSZWdFeHBDYWNoZS5oICovLAor
CQkJCTg2Rjc1RUZCMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBDYWNoZWRSZXN1bHQuY3BwICov
LAorCQkJCTg2Rjc1RUZDMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBDYWNoZWRSZXN1bHQuaCAq
LywKKwkJCQlCQ0QyMDJCRDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IuY3Bw
ICovLAorCQkJCUJDRDIwMkJFMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5o
ICovLAorCQkJCUExNzEyQjQwMTFDN0IyMzUwMDdBNTMxNSAvKiBSZWdFeHBLZXkuaCAqLywKKwkJ
CQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLywK
KwkJCQk5M0NFRERGQjBFQTkxRUU2MDAyNThFQkUgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmggKi8s
CisJCQkJRjY5MkE4N0IwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5jcHAgKi8sCisJ
CQkJRjY5MkE4N0MwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cE9iamVjdC5oICovLAorCQkJCUJD
RDIwMkJGMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
RDIwMkMwMEUxNzA2QTcwMDJDN0U4MiAvKiBSZWdFeHBQcm90b3R5cGUuaCAqLywKKwkJCQkwRjZC
MUNCODE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggKi8sCisJ
CQkJMEZCN0YzOTExNUVEOEUzODAwRjE2N0IyIC8qIFJlamVjdC5oICovLAorCQkJCTcwQjBBOUQw
MUE5QjY2MjAwMDAxMzA2QSAvKiBSdW50aW1lRmxhZ3MuaCAqLywKKwkJCQk1Mjc3NzNERDFBQUY4
M0FDMDBCREU3RTggLyogUnVudGltZVR5cGUuY3BwICovLAorCQkJCTUyQzA2MTFEMUFBNTFFMUIw
MEI0QURCQSAvKiBSdW50aW1lVHlwZS5oICovLAorCQkJCTBGNzcwMDkxMTQwMkZGMjgwMDc4RUIz
OSAvKiBTYW1wbGluZ0NvdW50ZXIuY3BwICovLAorCQkJCTBGNzcwMDhFMTQwMkZERDYwMDc4RUIz
OSAvKiBTYW1wbGluZ0NvdW50ZXIuaCAqLywKKwkJCQkwRkUwNTAxRTFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmNwcCAqLywKKwkJCQkwRkUwNTAxRjFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmggKi8sCisJCQkJMEZFMDUwMkUxQUFBODA2OTAwRDMzQjMzIC8q
IFNjb3BlZEFyZ3VtZW50c1RhYmxlLmNwcCAqLywKKwkJCQkwRkUwNTAyMDFBQTkwOTU2MDBEMzNC
MzMgLyogU2NvcGVkQXJndW1lbnRzVGFibGUuaCAqLywKKwkJCQkwRkUwNTAyMTFBQTkwOTU2MDBE
MzNCMzMgLyogU2NvcGVPZmZzZXQuY3BwICovLAorCQkJCTBGRTA1MDIyMUFBOTA5NTYwMEQzM0Iz
MyAvKiBTY29wZU9mZnNldC5oICovLAorCQkJCUE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAvKiBT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJQTcyOTlEQTQxN0QxMjg1ODAwNUY1RkY5IC8qIFNl
dENvbnN0cnVjdG9yLmggKi8sCisJCQkJQTc5MERENjcxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0
ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBNzkwREQ2ODE4MkY0OTk3MDA1ODg4MDcgLyog
U2V0SXRlcmF0b3JQcm90b3R5cGUuaCAqLywKKwkJCQlBNzI5OUQ5RjE3RDEyODQ4MDA1RjVGRjkg
LyogU2V0UHJvdG90eXBlLmNwcCAqLywKKwkJCQlBNzI5OURBMDE3RDEyODQ4MDA1RjVGRjkgLyog
U2V0UHJvdG90eXBlLmggKi8sCisJCQkJMEYyQjY2RDYxN0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBs
ZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLywKKwkJCQkwRjJCNjZENzE3QjZCNUFCMDBBN0FF
M0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKKwkJCQk5MzMwM0ZFODBFNkE3
MkI1MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNwcCAqLywKKwkJCQk5MzMwM0ZFQTBFNkE3MkMw
MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggKi8sCisJCQkJMEYwQ0Q0QzMxNUY2QjZCNTAwMzJG
MUMwIC8qIFNwYXJzZUFycmF5VmFsdWVNYXAuY3BwICovLAorCQkJCTBGQjdGMzkyMTVFRDhFMzgw
MEYxNjdCMiAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmggKi8sCisJCQkJMEYzQUM3NTExODNFQTEw
NDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50LmggKi8sCisJCQkJQTczMEI2MTExMjUwMDY4RjAw
OUQyNUIxIC8qIFN0cmljdEV2YWxBY3RpdmF0aW9uLmNwcCAqLywKKwkJCQlBNzMwQjYxMDEyNTAw
NjhGMDA5RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uaCAqLywKKwkJCQlCQzE4QzNDMDBF
MTZFRTMzMDBCMzQ0NjAgLyogU3RyaW5nQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUJDMThDM0Mx
MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdDb25zdHJ1Y3Rvci5oICovLAorCQkJCTcwRUMwRUMw
MUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8sCisJCQkJ
NzBFQzBFQzExQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmggKi8s
CisJCQkJQkMxOEMzQzIwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5jcHAgKi8sCisJ
CQkJQkMxOEMzQzMwRTE2RUUzMzAwQjM0NDYwIC8qIFN0cmluZ09iamVjdC5oICovLAorCQkJCUJD
MThDM0M1MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuY3BwICovLAorCQkJCUJD
MThDM0M2MEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCAqLywKKwkJCQk5MzM0
NUE4NzEyRDgzOEM0MDAzMDJCRTMgLyogU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAgKi8sCisJ
CQkJOTMzNDVBODgxMkQ4MzhDNDAwMzAyQkUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuaCAq
LywKKwkJCQlCQ0RFM0FCMDBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmNwcCAqLywKKwkJ
CQlCQ0RFM0FCMTBFNkM4MkNGMDAxNDUzQTcgLyogU3RydWN0dXJlLmggKi8sCisJCQkJN0U0RUU3
MEUwRUJCN0E1QjAwNTkzNEFBIC8qIFN0cnVjdHVyZUNoYWluLmNwcCAqLywKKwkJCQk3RTRFRTcw
ODBFQkI3OTYzMDA1OTM0QUEgLyogU3RydWN0dXJlQ2hhaW4uaCAqLywKKwkJCQkyQUFBQTMxMDE4
QkQ0OUQxMDAzOTRDQzggLyogU3RydWN0dXJlSURCbG9iLmggKi8sCisJCQkJMkFGNzM4MkExOEJC
QkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwICovLAorCQkJCTJBRjczODJCMThC
QkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi8sCisJCQkJMEZEMkM5MjMxNkQw
MUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLywKKwkJCQlDMkYwRjJEMDE2QkFF
RUU5MDAxODdDMTkgLyogU3RydWN0dXJlUmFyZURhdGEuY3BwICovLAorCQkJCUMyRkUxOEEzMTZC
QUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5oICovLAorCQkJCUMyMEJBOTJDMTZC
QjFDMTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCAqLywKKwkJCQlCQzkw
NDE0NzBFQjkyNTA5MDBGRTI2RkEgLyogU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggKi8sCisJ
CQkJNzA1QjQxQTMxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5jcHAgKi8sCisJCQkJNzA1QjQx
QTQxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbC5oICovLAorCQkJCTcwNUI0MUE1MUE2RTUwMUUw
MDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJNzA1QjQxQTYxQTZFNTAx
RTAwNzE2NzU3IC8qIFN5bWJvbENvbnN0cnVjdG9yLmggKi8sCisJCQkJNzA1QjQxQTcxQTZFNTAx
RTAwNzE2NzU3IC8qIFN5bWJvbE9iamVjdC5jcHAgKi8sCisJCQkJNzA1QjQxQTgxQTZFNTAxRTAw
NzE2NzU3IC8qIFN5bWJvbE9iamVjdC5oICovLAorCQkJCTcwNUI0MUE5MUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xQcm90b3R5cGUuY3BwICovLAorCQkJCTcwNUI0MUFBMUE2RTUwMUUwMDcxNjc1
NyAvKiBTeW1ib2xQcm90b3R5cGUuaCAqLywKKwkJCQkwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0Qg
LyogU3ltYm9sVGFibGUuY3BwICovLAorCQkJCTE0QTM5NkE2MENEMjkzMzEwMEI1QjRGRiAvKiBT
eW1ib2xUYWJsZS5oICovLAorCQkJCTcwRUNBNjAyMUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0
ZVJlZ2lzdHJ5LmNwcCAqLywKKwkJCQk3MEVDQTYwMzFBRkRCRUEyMDA0NDk3MzkgLyogVGVtcGxh
dGVSZWdpc3RyeS5oICovLAorCQkJCTcwRUNBNjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0
ZVJlZ2lzdHJ5S2V5LmggKi8sCisJCQkJMEZBMkMxNzkxN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RS
dW5uZXJVdGlscy5jcHAgKi8sCisJCQkJMEZBMkMxN0ExN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RS
dW5uZXJVdGlscy5oICovLAorCQkJCTBGNTU5ODk3MTdDODZDNTYwMEExRTU0MyAvKiBUb05hdGl2
ZUZyb21WYWx1ZS5oICovLAorCQkJCTVENTM3MjZEMEUxQzU0NkIwMDIxRTU0OSAvKiBUcmFjaW5n
LmQgKi8sCisJCQkJNUQ1MzcyNkUwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRyYWNpbmcuaCAqLywKKwkJ
CQkwRjJCNjZEODE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUFkYXB0b3JzLmggKi8sCisJ
CQkJMEYyQjY2RDkxN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAq
LywKKwkJCQkwRjJCNjZEQTE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIu
aCAqLywKKwkJCQkwRjRCOTREQjE3QjlGMDc1MDBERDAzQTQgLyogVHlwZWRBcnJheUlubGluZXMu
aCAqLywKKwkJCQkwRjJCNjZEQjE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheXMuaCAqLywK
KwkJCQkwRjJCNjZEQzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwICovLAor
CQkJCTBGMkI2NkREMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oICovLAorCQkJ
CTUyQjMxMEZFMTk3NUI0MjQwMDgwODU3QyAvKiBUeXBlTG9jYXRpb25DYWNoZS5jcHAgKi8sCisJ
CQkJNTJCMzExMDAxOTc1QjQ2NzAwODA4NTdDIC8qIFR5cGVMb2NhdGlvbkNhY2hlLmggKi8sCisJ
CQkJMEZGQjZDMzYxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVvZlR5cGUuY3BwICovLAorCQkJCTBG
RkI2QzM3MUFGNDhEREMwMERCMUJGNyAvKiBUeXBlb2ZUeXBlLmggKi8sCisJCQkJNTJDOTUyQjgx
OUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgKi8sCisJCQkJNTJDOTUyQjYxOUEy
ODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5oICovLAorCQkJCTBGMkQ0RERGMTk4MzJEOTEw
MDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuY3BwICovLAorCQkJCTBGMkQ0REUwMTk4MzJEOTEw
MDdENEIxOSAvKiBUeXBlUHJvZmlsZXJMb2cuaCAqLywKKwkJCQkwRjJENERFMzE5ODMyRDkxMDA3
RDRCMTkgLyogVHlwZVNldC5jcHAgKi8sCisJCQkJMEYyRDRERTQxOTgzMkQ5MTAwN0Q0QjE5IC8q
IFR5cGVTZXQuaCAqLywKKwkJCQlBN0E4QUYzMDE3QURCNUYzMDA1QUIxNzQgLyogVWludDhBcnJh
eS5oICovLAorCQkJCUE3QThBRjMxMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRBcnJh
eS5oICovLAorCQkJCUE3QThBRjMyMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MTZBcnJheS5oICov
LAorCQkJCTg2NjczOUQxMTNCRkRFNzEwMDIzRDg3QyAvKiBVaW50MTZXaXRoRnJhY3Rpb24uaCAq
LywKKwkJCQlBN0E4QUYzMzE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCAqLywKKwkJ
CQkwRkUwNTAyMzFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmNwcCAqLywKKwkJCQkwRkUw
NTAyNDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggKi8sCisJCQkJRTE4RTNBNTcwREY5
Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAqLywKKwkJCQlFMThFM0E1NjBERjkyNzhDMDBEOTBCMzQg
LyogVk0uaCAqLywKKwkJCQlGRTU5MzJBNTE4M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3Bl
LmNwcCAqLywKKwkJCQlGRTU5MzJBNjE4M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3BlLmgg
Ki8sCisJCQkJRkVEOTRGMkIxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmNwcCAqLywKKwkJ
CQlGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLywKKwkJCQlGRUQ5NEYy
RDE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2dNYWMuY3BwICovLAorCQkJCTE0QkZDRTY4MTBD
REIxRkMwMDM2NENDRSAvKiBXZWFrR0NNYXAuaCAqLywKKwkJCQlBRDg2QTkzRDFBQTREODdDMDAy
RkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovLAorCQkJCUE3Q0EzQUREMTdEQTQxQUUwMDY1
MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUE3Q0EzQURFMTdEQTQxQUUw
MDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCAqLywKKwkJCQlBN0NBM0FFOTE3REE1MTY4
MDA2NTM4QUYgLyogV2Vha01hcERhdGEuY3BwICovLAorCQkJCUE3Q0EzQUVBMTdEQTUxNjgwMDY1
MzhBRiAvKiBXZWFrTWFwRGF0YS5oICovLAorCQkJCUE3Q0EzQURGMTdEQTQxQUUwMDY1MzhBRiAv
KiBXZWFrTWFwUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBN0NBM0FFMDE3REE0MUFFMDA2NTM4QUYg
LyogV2Vha01hcFByb3RvdHlwZS5oICovLAorCQkJCTE0MjBCRTdBMTBBQTZEREIwMEY0NTVEMiAv
KiBXZWFrUmFuZG9tLmggKi8sCisJCQkJNzA5RkI4NjMxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtT
ZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCisJCQkJNzA5RkI4NjQxQUUzMzVDNjAwMzlEMDY5IC8qIFdl
YWtTZXRDb25zdHJ1Y3Rvci5oICovLAorCQkJCTcwOUZCODY1MUFFMzM1QzYwMDM5RDA2OSAvKiBX
ZWFrU2V0UHJvdG90eXBlLmNwcCAqLywKKwkJCQk3MDlGQjg2NjFBRTMzNUM2MDAzOUQwNjkgLyog
V2Vha1NldFByb3RvdHlwZS5oICovLAorCQkJCUE3RENCNzc5MTJFM0Q5MDUwMDkxMTk0MCAvKiBX
cml0ZUJhcnJpZXIuaCAqLywKKwkJCQlDMkI2RDc1MjE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVC
YXJyaWVySW5saW5lcy5oICovLAorCQkJKTsKKwkJCXBhdGggPSBydW50aW1lOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJODYwM0NFRjAxNEM3NTNFRjAwQUU1OUUzIC8qIHRv
b2xzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4NkI1
ODIyRTE0RDIzNzNCMDBBOUMzMDYgLyogQ29kZVByb2ZpbGUuY3BwICovLAorCQkJCTg2QjU4MjJG
MTREMjM3M0IwMEE5QzMwNiAvKiBDb2RlUHJvZmlsZS5oICovLAorCQkJCTg2MDNDRUYyMTRDNzU0
NjQwMEFFNTlFMyAvKiBDb2RlUHJvZmlsaW5nLmNwcCAqLywKKwkJCQk4NjAzQ0VGMzE0Qzc1NDY0
MDBBRTU5RTMgLyogQ29kZVByb2ZpbGluZy5oICovLAorCQkJCUZFNEJGRjI5MUFENDc2RTcwMDA4
OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgKi8sCisJCQkJRkU0QkZGMkExQUQ0NzZFNzAw
MDg4Rjg3IC8qIEZ1bmN0aW9uT3ZlcnJpZGVzLmggKi8sCisJCQkJRkUzODRFRTExQUREQjdBRDAw
NTVERTJDIC8qIEpTRG9sbGFyVk0uY3BwICovLAorCQkJCUZFMzg0RUUyMUFEREI3QUQwMDU1REUy
QyAvKiBKU0RvbGxhclZNLmggKi8sCisJCQkJRkUzODRFRTMxQUREQjdBRDAwNTVERTJDIC8qIEpT
RG9sbGFyVk1Qcm90b3R5cGUuY3BwICovLAorCQkJCUZFMzg0RUU0MUFEREI3QUQwMDU1REUyQyAv
KiBKU0RvbGxhclZNUHJvdG90eXBlLmggKi8sCisJCQkJODZCNTgyMkMxNEQyMkY1RjAwQTlDMzA2
IC8qIFByb2ZpbGVUcmVlTm9kZS5oICovLAorCQkJCTg2QjU4MjZBMTREMzVENTEwMEE5QzMwNiAv
KiBUaWVyZWRNTWFwQXJyYXkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gdG9vbHM7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk4NkVBQzQ4QzBGOTNFOEI5MDA4RUM5NDggLyog
eWFyciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTU3
RDIzRUIxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCAqLywKKwkJCQlB
NTdEMjNFQzE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLywKKwkJCQk0
NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovLAorCQkJCTg2M0M2RDk4MTUyMTEx
MTIwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAgKi8sCisJCQkJODYzQzZEOTkx
NTIxMTExMjAwNTg1RTRFIC8qIFlhcnJDYW5vbmljYWxpemVVQ1MyLmggKi8sCisJCQkJODYzQzZE
OUExNTIxMTExMjAwNTg1RTRFIC8qIFlhcnJDYW5vbmljYWxpemVVQ1MyLmpzICovLAorCQkJCTg2
NzA0QjdEMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuY3BwICovLAorCQkJCTg2
NzA0QjdFMTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuaCAqLywKKwkJCQk4Njcw
NEI3RjEyREJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgKi8sCisJCQkJODY3MDRCODAxMkRC
QTMzNzAwQTlGRTdCIC8qIFlhcnJKSVQuaCAqLywKKwkJCQk4NjcwNEI4MTEyREJBMzM3MDBBOUZF
N0IgLyogWWFyclBhcnNlci5oICovLAorCQkJCTg2NzA0QjgyMTJEQkEzMzcwMEE5RkU3QiAvKiBZ
YXJyUGF0dGVybi5jcHAgKi8sCisJCQkJODY3MDRCODMxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQ
YXR0ZXJuLmggKi8sCisJCQkJODY3MDRCNDAxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhD
aGVja2VyLmNwcCAqLywKKwkJCQk4NjcwNEI0MTEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRh
eENoZWNrZXIuaCAqLywKKwkJCSk7CisJCQluYW1lID0geWFycjsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTg2RUM5REIzMTMyOERGNDQwMDJCMkFENyAvKiBkZmcgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE3N0E0MjM2MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuY3BwICovLAorCQkJCUE3N0E0MjM3MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLywKKwkJCQlBNzA0RDhGRTE3QTBCQUE4
MDA2QkE1NTQgLyogREZHQWJzdHJhY3RJbnRlcnByZXRlci5oICovLAorCQkJCUE3MDREOEZGMTdB
MEJBQTgwMDZCQTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oICovLAorCQkJ
CTBGNTVDMTkzMTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0cmFjdFZhbHVlLmNwcCAqLywKKwkJ
CQkwRjYyMDE2RjE0M0ZDRDJGMDA2OEI3N0MgLyogREZHQWJzdHJhY3RWYWx1ZS5oICovLAorCQkJ
CTBGNjZFMTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi8sCisJCQkJ
MEZCNEI1MTkxNkI2Mjc3MjAwM0Y2OTZCIC8qIERGR0FsbG9jYXRvci5oICovLAorCQkJCUE3Mzc4
MTA5MTc5OUVBMkUwMDgxNzUzMyAvKiBERkdBbmFseXNpcy5oICovLAorCQkJCTBGMUUzQTQzMTUz
NENCQUQwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggKi8sCisJCQkJMEYyREQ4MEMx
QUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwICovLAor
CQkJCTBGMkREODBEMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlvblBo
YXNlLmggKi8sCisJCQkJMEYyREQ4MEUxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0
aWxpdGllcy5jcHAgKi8sCisJCQkJMEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3Vt
ZW50c1V0aWxpdGllcy5oICovLAorCQkJCTBGNDg1MzFGMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdB
cml0aE1vZGUuY3BwICovLAorCQkJCTBGNDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0
aE1vZGUuaCAqLywKKwkJCQkwRjA1QzNCMjE2ODNDRjhGMDBCQUY0NUIgLyogREZHQXJyYXlpZnlT
bG93UGF0aEdlbmVyYXRvci5oICovLAorCQkJCTBGNjM5NDgxMTVFNDgxMTQwMDZBNTk3QyAvKiBE
RkdBcnJheU1vZGUuY3BwICovLAorCQkJCTBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdB
cnJheU1vZGUuaCAqLywKKwkJCQlBN0Q5QTI4RjE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWls
QWJzdHJhY3RTdGF0ZS5jcHAgKi8sCisJCQkJQTdEOUEyOTAxN0EwQkM3NDAwRUUyNjE4IC8qIERG
R0F0VGFpbEFic3RyYWN0U3RhdGUuaCAqLywKKwkJCQkwRjY2NkVDMjE4MzU2NzJCMDBEMDE3RjEg
LyogREZHQXZhaWxhYmlsaXR5LmNwcCAqLywKKwkJCQkwRjY2NkVDMzE4MzU2NzJCMDBEMDE3RjEg
LyogREZHQXZhaWxhYmlsaXR5LmggKi8sCisJCQkJMEYyQjlDRDYxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0F2YWlsYWJpbGl0eU1hcC5jcHAgKi8sCisJCQkJMEYyQjlDRDcxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR0F2YWlsYWJpbGl0eU1hcC5oICovLAorCQkJCTBGNzE0Q0ExMTZFQTkyRUQwMEYzRUJF
QiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRjcxNENBMjE2
RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oICovLAorCQkJ
CUE3RDg5Q0UzMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCYXNpY0Jsb2NrLmNwcCAqLywKKwkJCQkw
RjYyMDE3MDE0M0ZDRDJGMDA2OEI3N0MgLyogREZHQmFzaWNCbG9jay5oICovLAorCQkJCTBGRDU2
NTIyMTZBQjc4MEEwMDE5NzY1MyAvKiBERkdCYXNpY0Jsb2NrSW5saW5lcy5oICovLAorCQkJCUE3
RDg5Q0U0MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5jcHAgKi8sCisJ
CQkJQTdEODlDRTUxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0Jsb2NrSW5zZXJ0aW9uU2V0LmggKi8s
CisJCQkJMEZDM0NDRjUxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrTWFwLmggKi8sCisJCQkJ
MEZDM0NDRjYxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrTWFwSW5saW5lcy5oICovLAorCQkJ
CTBGQkYxNThBMTlCN0E1MzEwMDY5NUREMCAvKiBERkdCbG9ja1NldC5jcHAgKi8sCisJCQkJMEZD
M0NDRjcxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrU2V0LmggKi8sCisJCQkJMEZCRjE1OEIx
OUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0SW5saW5lcy5oICovLAorCQkJCTBGQzNDQ0Y4
MTlBREE0MTAwMDZBQzcyQSAvKiBERkdCbG9ja1dvcmtsaXN0LmNwcCAqLywKKwkJCQkwRkMzQ0NG
OTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tXb3JrbGlzdC5oICovLAorCQkJCTBGODM2NEI1
MTY0QjBDMEUwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCAqLywKKwkJCQk4NkVDOURC
NDEzMjhERjgyMDAyQjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuY3BwICovLAorCQkJCTg2RUM5
REI1MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5oICovLAorCQkJCTBGMjU2
QzM0MTYyN0IwQUEwMDdGMjc4MyAvKiBERkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVy
YXRvci5oICovLAorCQkJCTBGQkRCOUFDMUFCMEZCQzYwMDBCNTdFNSAvKiBERkdDYWxsQ3JlYXRl
RGlyZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaCAqLywKKwkJCQkwRkQ4MkUxRTE0MTcy
QzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJCQkwRkQ4MkUxRjE0MTcy
QzJGMDAxNzlDOTQgLyogREZHQ2FwYWJpbGl0aWVzLmggKi8sCisJCQkJMEZGRkM5NEIxNEVGOTA5
NTAwQzcyNTMyIC8qIERGR0NGQVBoYXNlLmNwcCAqLywKKwkJCQkwRkZGQzk0QzE0RUY5MDk1MDBD
NzI1MzIgLyogREZHQ0ZBUGhhc2UuaCAqLywKKwkJCQkwRjNCM0EyNDE1NDRDOTkxMDAzRUQwRkYg
LyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAgKi8sCisJCQkJMEYzQjNBMjUxNTQ0Qzk5
MTAwM0VEMEZGIC8qIERGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjlEMzY5
MjFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmNwcCAqLywKKwkJCQkwRjlEMzY5
MzFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmggKi8sCisJCQkJQTc3QTQyMzgx
N0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJpemUuY3BwICovLAorCQkJCUE3N0E0MjM5MTdB
MEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmggKi8sCisJCQkJQTc3QTQyM0ExN0EwQkJG
RDAwQThEQjgxIC8qIERGR0Nsb2JiZXJTZXQuY3BwICovLAorCQkJCUE3N0E0MjNCMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmggKi8sCisJCQkJMEYwNDM5NkIxQjAzREMwQjAwOTU5
OEI3IC8qIERGR0NvbWJpbmVkTGl2ZW5lc3MuY3BwICovLAorCQkJCTBGMDQzOTZDMUIwM0RDMEIw
MDk1OThCNyAvKiBERkdDb21iaW5lZExpdmVuZXNzLmggKi8sCisJCQkJMEZCNEI1MUExNkI2Mjc3
MjAwM0Y2OTZCIC8qIERGR0NvbW1vbi5jcHAgKi8sCisJCQkJMEZDMDk3N0UxNDY5RUJDNDAwQ0Yy
NDQyIC8qIERGR0NvbW1vbi5oICovLAorCQkJCTBGRUEwQTJEMTcwRDQwQkYwMEJCNzIyQyAvKiBE
RkdDb21tb25EYXRhLmNwcCAqLywKKwkJCQkwRkVBMEEyRTE3MEQ0MEJGMDBCQjcyMkMgLyogREZH
Q29tbW9uRGF0YS5oICovLAorCQkJCTBGMzhCMDEzMTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21w
aWxhdGlvbktleS5jcHAgKi8sCisJCQkJMEYzOEIwMTQxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0Nv
bXBpbGF0aW9uS2V5LmggKi8sCisJCQkJMEYzOEIwMTUxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0Nv
bXBpbGF0aW9uTW9kZS5jcHAgKi8sCisJCQkJMEYzOEIwMTYxN0NGRTc1NTAwQjE0NEQzIC8qIERG
R0NvbXBpbGF0aW9uTW9kZS5oICovLAorCQkJCTBGM0IzQTE3MTUzRTY4RUYwMDNFRDBGRiAvKiBE
RkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgKi8sCisJCQkJMEYzQjNBMTgxNTNFNjhFRjAwM0VE
MEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmggKi8sCisJCQkJMEZFRDY3QjcxQjI2MjU2
RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgKi8sCisJCQkJMEZFRDY3
QjgxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5oICovLAorCQkJ
CTBGQkUwRjZCMTZDMURCMDEwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNwcCAq
LywKKwkJCQkwRkJFMEY2QzE2QzFEQjAxMDA4MkM1RTggLyogREZHQ1BTUmV0aHJlYWRpbmdQaGFz
ZS5oICovLAorCQkJCUE3RDg5Q0U2MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVkZ2VC
cmVha2luZ1BoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNFNzE3QTBCOENDMDA3NzNBRDggLyogREZH
Q3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oICovLAorCQkJCTBGRkZDOTREMTRFRjkwOTUwMEM3
MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAgKi8sCisJCQkJMEZGRkM5NEUxNEVGOTA5NTAwQzcyNTMy
IC8qIERGR0NTRVBoYXNlLmggKi8sCisJCQkJMEYyRkM3NzAxNkUxMkY2RjAwMzhEOTc2IC8qIERG
R0RDRVBoYXNlLmNwcCAqLywKKwkJCQkwRjJGQzc3MTE2RTEyRjZGMDAzOEQ5NzYgLyogREZHRENF
UGhhc2UuaCAqLywKKwkJCQkwRjhGMkI5NzE3MkYwNEZEMDA3REJEQTUgLyogREZHRGVzaXJlZElk
ZW50aWZpZXJzLmNwcCAqLywKKwkJCQkwRjhGMkI5ODE3MkYwNEZEMDA3REJEQTUgLyogREZHRGVz
aXJlZElkZW50aWZpZXJzLmggKi8sCisJCQkJQzJDMEY3Q0IxN0JCRkM1QjAwNDY0RkU0IC8qIERG
R0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAgKi8sCisJCQkJQzJDMEY3Q0MxN0JCRkM1QjAwNDY0RkU0
IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5oICovLAorCQkJCTBGRTg1MzQ5MTcyM0NEQTUwMEI2
MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwICovLAorCQkJCTBGRTg1MzRBMTcyM0NE
QTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCAqLywKKwkJCQlDMjk4MUZENjE3
QkFFRTRCMDBBM0JDOTggLyogREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmNwcCAqLywKKwkJCQlD
Mjk4MUZENzE3QkFFRTRCMDBBM0JDOTggLyogREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmggKi8s
CisJCQkJQzI5ODFGREExN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJpZXJz
LmNwcCAqLywKKwkJCQlDMjk4MUZEQjE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVzaXJlZFdyaXRl
QmFycmllcnMuaCAqLywKKwkJCQkwRkY0Mjc2MTE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNz
ZW1ibGVyLmNwcCAqLywKKwkJCQkwRkY0Mjc2MjE1OTFBMUM5MDA0Q0I5RkYgLyogREZHRGlzYXNz
ZW1ibGVyLmggKi8sCisJCQkJMEY1QTEyNzExOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5j
cHAgKi8sCisJCQkJMEY1QTEyNzIxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5oICovLAor
CQkJCTBGRDgxQUNGMTU0RkI0RUIwMDk4M0U3MiAvKiBERkdEb21pbmF0b3JzLmNwcCAqLywKKwkJ
CQkwRkQ4MUFEMDE1NEZCNEVCMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5oICovLAorCQkJCTBG
MUUzQTQ0MTUzNENCQUQwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oICovLAorCQkJ
CTBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovLAorCQkJCTBGRDND
ODIyMTQxMTVEMEUwMEZEODFDQiAvKiBERkdEcml2ZXIuaCAqLywKKwkJCQkwRkI0QjUxQjE2QjYy
NzcyMDAzRjY5NkIgLyogREZHRWRnZS5jcHAgKi8sCisJCQkJMEY2NkUxNjkxNERGM0YxMzAwQjdC
MkU0IC8qIERGR0VkZ2UuaCAqLywKKwkJCQlBN0Q5QTI5MTE3QTBCQzc0MDBFRTI2MTggLyogREZH
RWRnZURvbWluYXRlcy5oICovLAorCQkJCUE3OTg2RDU2MTdBMEJCMUUwMEE5NUREMCAvKiBERkdF
ZGdlVXNlc1N0cnVjdHVyZS5oICovLAorCQkJCTBGOEYxNDJGMUFERjA5MDEwMEVENzkyQyAvKiBE
RkdFcG9jaC5jcHAgKi8sCisJCQkJMEY4RjE0MzAxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2No
LmggKi8sCisJCQkJQTc4QTk3NkMxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXpl
ci5jcHAgKi8sCisJCQkJQTc4QTk3NkQxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFs
aXplci5oICovLAorCQkJCUE3QkZGM0JGMTc5ODY4OTQwMDAyRjQ2MiAvKiBERkdGaWx0cmF0aW9u
UmVzdWx0LmggKi8sCisJCQkJQTc4QTk3NkUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXpl
ci5jcHAgKi8sCisJCQkJQTc4QTk3NkYxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5o
ICovLAorCQkJCTBGMkJEQzEyMTUxQzVENEEwMENEODkxMCAvKiBERkdGaXh1cFBoYXNlLmNwcCAq
LywKKwkJCQkwRjJCREMxMzE1MUM1RDRBMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5oICovLAor
CQkJCTBGOUQzMzk0MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuY3BwICovLAorCQkJ
CTBGOUQzMzk1MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCAqLywKKwkJCQlBN0Q4
OUNFODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1c2hGb3JtYXQuY3BwICovLAorCQkJCUE3RDg5
Q0U5MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oICovLAorCQkJCTBGMkREODEw
MUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oICovLAorCQkJCTBGNjlDQzg2MTkz
QUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5jcHAgKi8sCisJCQkJMEY2OUNDODcxOTNB
QzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggKi8sCisJCQkJMkE4ODA2NzYxOTEwN0Q1
NTAwQ0IwQkJCIC8qIERGR0Z1bmN0aW9uV2hpdGVsaXN0LmNwcCAqLywKKwkJCQkyQTg4MDY3NzE5
MTA3RDU1MDBDQjBCQkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuaCAqLywKKwkJCQk4NkVDOURC
NjEzMjhERjgyMDAyQjJBRDcgLyogREZHR2VuZXJhdGlvbkluZm8uaCAqLywKKwkJCQk4NkVDOURC
NzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguY3BwICovLAorCQkJCTg2RUM5REI4MTMyOERG
ODIwMDJCMkFENyAvKiBERkdHcmFwaC5oICovLAorCQkJCTBGMkZDQ0YyMThBNjAwNzAwMDFBMjdG
OCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAgKi8sCisJCQkJMEYyRkNDRjMxOEE2MDA3MDAwMUEy
N0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmggKi8sCisJCQkJMEZCMTc2NUMxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR0hlYXBMb2NhdGlvbi5jcHAgKi8sCisJCQkJMEZCMTc2NUQxOTZCOEY5RTAwOTEw
NTJBIC8qIERGR0hlYXBMb2NhdGlvbi5oICovLAorCQkJCTBGQjE0RTIwMTgxMjU3MEIwMDlCNkI0
RCAvKiBERkdJbmxpbmVDYWNoZVdyYXBwZXIuaCAqLywKKwkJCQkwRkIxNEUyMjE4MTMwOTU1MDA5
QjZCNEQgLyogREZHSW5saW5lQ2FjaGVXcmFwcGVySW5saW5lcy5oICovLAorCQkJCUE3MDREOTAw
MTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNlQWJzdHJhY3RTdGF0ZS5jcHAgKi8sCisJCQkJ
QTcwNEQ5MDExN0EwQkFBODAwNkJBNTU0IC8qIERGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmggKi8s
CisJCQkJMEYyQkRDMUYxNTFFODAzODAwQ0Q4OTEwIC8qIERGR0luc2VydGlvblNldC5oICovLAor
CQkJCTBGMkI5Q0Q4MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0
ZS5jcHAgKi8sCisJCQkJMEYyQjlDRDkxOUQwQkE3RDAwQjFEMUI1IC8qIERGR0luc2VydE9TUkhp
bnRzRm9yVXBkYXRlLmggKi8sCisJCQkJMEYzMDBCNzkxOEFCMUIxNDAwQTZENzJFIC8qIERGR0lu
dGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmNwcCAqLywKKwkJCQkwRjMwMEI3QTE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCAqLywKKwkJCQkwRjg5OEYy
RjFCMjc2ODlGMDA4M0EzM0MgLyogREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuY3Bw
ICovLAorCQkJCTBGODk4RjMwMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRp
bWl6YXRpb25QaGFzZS5oICovLAorCQkJCTBGQzk3RjM3MTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJ
bnZhbGlkYXRpb25Qb2ludEluamVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkM5N0YzODE4MjAy
MTE5MDAyQzlCMjYgLyogREZHSW52YWxpZGF0aW9uUG9pbnRJbmplY3Rpb25QaGFzZS5oICovLAor
CQkJCTBGRUEwQTJGMTcwRDQwQkYwMEJCNzIyQyAvKiBERkdKSVRDb2RlLmNwcCAqLywKKwkJCQkw
RkVBMEEzMDE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oICovLAorCQkJCTg2RUM5REJC
MTMyOERGODIwMDJCMkFENyAvKiBERkdKSVRDb21waWxlci5jcHAgKi8sCisJCQkJODZFQzlEQkMx
MzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmggKi8sCisJCQkJQTc4QTk3NzAxNzk3
MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5jcHAgKi8sCisJCQkJQTc4QTk3NzExNzk3
MzhCODAwOURGNzQ0IC8qIERGR0pJVEZpbmFsaXplci5oICovLAorCQkJCTBGQzk3RjM5MTgyMDIx
MTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuY3BwICovLAorCQkJCTBGQzk3RjNBMTgy
MDIxMTkwMDJDOUIyNiAvKiBERkdKdW1wUmVwbGFjZW1lbnQuaCAqLywKKwkJCQlBNzNBNTM1ODE3
OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwICovLAorCQkJCUE3M0E1MzU5MTc5
OUNENUQwMDE3MEMxOSAvKiBERkdMYXp5SlNWYWx1ZS5oICovLAorCQkJCTYyQTlBMjlFMUIwQkVE
NDgwMEJENTRDQSAvKiBERkdMYXp5Tm9kZS5jcHAgKi8sCisJCQkJNjJBOUEyOUYxQjBCRUQ0ODAw
QkQ1NENBIC8qIERGR0xhenlOb2RlLmggKi8sCisJCQkJQTdEOUEyOTIxN0EwQkM3NDAwRUUyNjE4
IC8qIERGR0xJQ01QaGFzZS5jcHAgKi8sCisJCQkJQTdEOUEyOTMxN0EwQkM3NDAwRUUyNjE4IC8q
IERGR0xJQ01QaGFzZS5oICovLAorCQkJCUE3RDg5Q0VDMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdM
aXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwICovLAorCQkJCUE3RDg5Q0VEMTdBMEI4Q0MwMDc3M0FE
OCAvKiBERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCAqLywKKwkJCQkwRkI0QjUxQzE2QjYyNzcy
MDAzRjY5NkIgLyogREZHTG9uZ0xpdmVkU3RhdGUuY3BwICovLAorCQkJCTBGQjRCNTFEMTZCNjI3
NzIwMDNGNjk2QiAvKiBERkdMb25nTGl2ZWRTdGF0ZS5oICovLAorCQkJCUE3NjdCNUIzMTdBMEI5
NjUwMDYzRDk0MCAvKiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5jcHAgKi8sCisJCQkJ
QTc2N0I1QjQxN0EwQjk2NTAwNjNEOTQwIC8qIERGR0xvb3BQcmVIZWFkZXJDcmVhdGlvblBoYXNl
LmggKi8sCisJCQkJMEY1ODc0RUIxOTRGRUIxMjAwQUFCMkMxIC8qIERGR01heUV4aXQuY3BwICov
LAorCQkJCTBGNTg3NEVDMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmggKi8sCisJCQkJ
QTcwNEQ5MDIxN0EwQkFBODAwNkJBNTU0IC8qIERGR01lcmdlTW9kZS5oICovLAorCQkJCTBGMkJE
QzNEMTUyMjgwMTcwMENEODkxMCAvKiBERkdNaW5pZmllZEdyYXBoLmggKi8sCisJCQkJMEZCNEI1
MTAxNkIzQTk2NDAwM0Y2OTZCIC8qIERGR01pbmlmaWVkSUQuaCAqLywKKwkJCQkwRjJCREM0QzE1
MjI4MTgzMDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmNwcCAqLywKKwkJCQkwRjJCREMzRTE1
MjI4MDE3MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggKi8sCisJCQkJMEY4RjE0MzExQURG
MDkwMTAwRUQ3OTJDIC8qIERGR01vdkhpbnRSZW1vdmFsUGhhc2UuY3BwICovLAorCQkJCTBGOEYx
NDMyMUFERjA5MDEwMEVENzkyQyAvKiBERkdNb3ZIaW50UmVtb3ZhbFBoYXNlLmggKi8sCisJCQkJ
MEZDM0NDRkExOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5jcHAgKi8sCisJ
CQkJMEZDM0NDRkIxOUFEQTQxMDAwNkFDNzJBIC8qIERGR05haXZlRG9taW5hdG9ycy5oICovLAor
CQkJCUE3Mzc4MTBBMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuY3BwICovLAor
CQkJCUE3Mzc4MTBCMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCAqLywKKwkJ
CQkwRkI0QjUxRTE2QjYyNzcyMDAzRjY5NkIgLyogREZHTm9kZS5jcHAgKi8sCisJCQkJODZFQ0Ez
RTkxMzJERUYxQzAwMkIyQUQ3IC8qIERGR05vZGUuaCAqLywKKwkJCQkwRkI0QjUxRjE2QjYyNzcy
MDAzRjY5NkIgLyogREZHTm9kZUFsbG9jYXRvci5oICovLAorCQkJCTBGQTU4MUI3MTUwRTk1MkEw
MEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwICovLAorCQkJCTBGQTU4MUI4MTUwRTk1MkEwMEI5
QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCAqLywKKwkJCQkwRjMwMEI3NzE4QUIwNTExMDBBNkQ3MkUg
LyogREZHTm9kZU9yaWdpbi5oICovLAorCQkJCTBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBE
RkdOb2RlVHlwZS5oICovLAorCQkJCTBGMkI5Q0RBMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcCAqLywKKwkJCQkwRjJCOUNEQjE5RDBCQTdEMDBC
MUQxQjUgLyogREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5oICovLAorCQkJCTBGMkI5
Q0RDMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmNwcCAq
LywKKwkJCQkwRjJCOUNERDE5RDBCQTdEMDBCMUQxQjUgLyogREZHT2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YS5oICovLAorCQkJCTg2RUM5REJGMTMyOERGODIwMDJCMkFENyAvKiBERkdPcGVyYXRp
b25zLmNwcCAqLywKKwkJCQk4NkVDOURDMDEzMjhERjgyMDAyQjJBRDcgLyogREZHT3BlcmF0aW9u
cy5oICovLAorCQkJCUE3RDg5Q0VFMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxp
dHlBbmFseXNpc1BoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNFRjE3QTBCOENDMDA3NzNBRDggLyog
REZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5oICovLAorCQkJCTBGRDgyRTUyMTQxREFF
REUwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5jcHAgKi8sCisJCQkJMEZEODJFNTMxNDFEQUVERTAw
MTc5Qzk0IC8qIERGR09TUkVudHJ5LmggKi8sCisJCQkJMEZEOEEzMUQxN0Q1MUY1NzAwQ0EyQzQw
IC8qIERGR09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkQ4QTMxRTE3
RDUxRjU3MDBDQTJDNDAgLyogREZHT1NSRW50cnlwb2ludENyZWF0aW9uUGhhc2UuaCAqLywKKwkJ
CQkwRkMwOTc4RTE0NkE2RjYzMDBDRjI0NDIgLyogREZHT1NSRXhpdC5jcHAgKi8sCisJCQkJMEZD
MDk3NjgxNDY4QTZFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXQuaCAqLywKKwkJCQkwRjIzNUJFNzE3
MTc4RTczMDA2OTBDN0YgLyogREZHT1NSRXhpdEJhc2UuY3BwICovLAorCQkJCTBGMjM1QkU4MTcx
NzhFNzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0QmFzZS5oICovLAorCQkJCTY1OTg3RjJDMTY3RkU4
NEIwMDNDMkY4RCAvKiBERkdPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmggKi8sCisJCQkJMEZDMDk3
OEYxNDZBNkY2MzAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlci5jcHAgKi8sCisJCQkJMEZD
MDk3NkYxNDY5M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlci5oICovLAorCQkJCTBG
QzA5Nzc1MTQ2OTQzQUQwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgKi8s
CisJCQkJMEZDMDk3NzAxNDY5M0FFRjAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjY0LmNw
cCAqLywKKwkJCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVy
Q29tbW9uLmNwcCAqLywKKwkJCQkwRjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhp
dENvbXBpbGVyQ29tbW9uLmggKi8sCisJCQkJMEZFRkM5QTcxNjgxQTNCMDAwNTY3RjUzIC8qIERG
R09TUkV4aXRKdW1wUGxhY2Vob2xkZXIuY3BwICovLAorCQkJCTBGRUZDOUE4MTY4MUEzQjAwMDU2
N0Y1MyAvKiBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmggKi8sCisJCQkJMEYyMzVCRTkxNzE3
OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5jcHAgKi8sCisJCQkJMEYyMzVC
RUExNzE3OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5oICovLAorCQkJCTBG
NjIzNzk1MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5zZXJ0aW9uUGhhc2UuY3BwICov
LAorCQkJCTBGNjIzNzk2MUFFNDVDQTcwMEQ0MDJFQSAvKiBERkdQaGFudG9tSW5zZXJ0aW9uUGhh
c2UuaCAqLywKKwkJCQkwRkZGQzk0RjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUGhhc2UuY3BwICov
LAorCQkJCTBGRkZDOTUwMTRFRjkwOTUwMEM3MjUzMiAvKiBERkdQaGFzZS5oICovLAorCQkJCTBG
MkI5Q0RFMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgKi8sCisJCQkJMEYy
QjlDREYxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1BoaUNoaWxkcmVuLmggKi8sCisJCQkJQTc4QTk3
NzIxNzk3MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uY3BwICovLAorCQkJCUE3OEE5NzczMTc5NzM4
QjgwMDlERjc0NCAvKiBERkdQbGFuLmggKi8sCisJCQkJREMwMDAzOTAxOUQ4QkU2RjAwMDIzRUIw
IC8qIERGR1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaCAqLywKKwkJCQkwRkJFMEY2RDE2QzFEQjAx
MDA4MkM1RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkJF
MEY2RTE2QzFEQjAxMDA4MkM1RTggLyogREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmggKi8s
CisJCQkJMEZGRkM5NTExNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlLmNwcCAqLywKKwkJCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjNFMDFBODE5RDM1M0E1MDBGNjFCN0Yg
LyogREZHUHJlUG9zdE51bWJlcmluZy5jcHAgKi8sCisJCQkJMEYzRTAxQTkxOUQzNTNBNTAwRjYx
QjdGIC8qIERGR1ByZVBvc3ROdW1iZXJpbmcuaCAqLywKKwkJCQkwRjJCOUNFMDE5RDBCQTdEMDBC
MUQxQjUgLyogREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwICovLAorCQkJCTBGMkI5Q0UxMTlE
MEJBN0QwMEIxRDFCNSAvKiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oICovLAorCQkJCTBGQUEz
RTA4MTlEMEMyQ0IwMEZBQzlFMiAvKiBERkdQcm9tb3RlSGVhcEFjY2Vzcy5oICovLAorCQkJCTBG
QjE3NjVFMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQdXJlVmFsdWUuY3BwICovLAorCQkJCTBGQjE3
NjVGMTk2QjhGOUUwMDkxMDUyQSAvKiBERkdQdXJlVmFsdWUuaCAqLywKKwkJCQkwRjNBMUJGNzFB
OUVDQjdEMDAwREUwMUEgLyogREZHUHV0U3RhY2tTaW5raW5nUGhhc2UuY3BwICovLAorCQkJCTBG
M0ExQkY4MUE5RUNCN0QwMDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5oICovLAor
CQkJCTg2RUM5REMxMTMyOERGODIwMDJCMkFENyAvKiBERkdSZWdpc3RlckJhbmsuaCAqLywKKwkJ
CQkwRjJGQ0NGNDE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmNwcCAqLywKKwkJCQkw
RjJGQ0NGNTE4QTYwMDcwMDAxQTI3RjggLyogREZHU2FmZXBvaW50LmggKi8sCisJCQkJQTc3QTQy
M0MxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVUb0V4ZWN1dGUuaCAqLywKKwkJCQlBNzQxMDE3
RTE3OURBRjgwMDAyRUI4QkEgLyogREZHU2FuZVN0cmluZ0dldEJ5VmFsU2xvd1BhdGhHZW5lcmF0
b3IuaCAqLywKKwkJCQkwRjJGQ0NGNjE4QTYwMDcwMDAxQTI3RjggLyogREZHU2Nhbm5hYmxlLmgg
Ki8sCisJCQkJODZFQ0EzRjkxMzJERjI1QTAwMkIyQUQ3IC8qIERGR1Njb3JlQm9hcmQuaCAqLywK
KwkJCQkwRjFFM0E2NTE1M0EyMURGMDAwRjk0NTYgLyogREZHU2lsZW50UmVnaXN0ZXJTYXZlUGxh
bi5oICovLAorCQkJCTBGMUUzQTUwMTUzN0MyQ0IwMDBGOTQ1NiAvKiBERkdTbG93UGF0aEdlbmVy
YXRvci5oICovLAorCQkJCTg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2
ZUpJVC5jcHAgKi8sCisJCQkJODZFQzlEQzMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0
aXZlSklULmggKi8sCisJCQkJODY4ODBGMUIxNDMyOEJCOTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwICovLAorCQkJCTg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCAqLywKKwkJCQkwRjY4MkZCMDE5QkNCMzY0MDBGQTNCQUQgLyog
REZHU1NBQ2FsY3VsYXRvci5jcHAgKi8sCisJCQkJMEY2ODJGQjExOUJDQjM2NDAwRkEzQkFEIC8q
IERGR1NTQUNhbGN1bGF0b3IuaCAqLywKKwkJCQlBN0Q4OUNGMDE3QTBCOENDMDA3NzNBRDggLyog
REZHU1NBQ29udmVyc2lvblBoYXNlLmNwcCAqLywKKwkJCQlBN0Q4OUNGMTE3QTBCOENDMDA3NzNB
RDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmggKi8sCisJCQkJMEZDMjBDQjcxODU1NkEzNTAw
QzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuY3BwICovLAorCQkJCTBGQzIwQ0I4MTg1NTZB
MzUwMEM5RTk1NCAvKiBERkdTU0FMb3dlcmluZ1BoYXNlLmggKi8sCisJCQkJMEY5RkI0RjIxN0ZD
QjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuY3BwICovLAorCQkJCTBGOUZCNEYz
MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggKi8sCisJCQkJMEY0RjI5
REQxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmNwcCAqLywKKwkJCQkwRjRGMjlERTE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhl
Y3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLywKKwkJCQkwRjlFMzI2MTFCMDVBQjA0MDA4
MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwICovLAorCQkJCTBGOUUz
MjYyMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oICov
LAorCQkJCTBGQzIwQ0IzMTg1MkUyQzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBo
YXNlLmNwcCAqLywKKwkJCQkwRkMyMENCNDE4NTJFMkM2MDBDOUU5NTQgLyogREZHU3RyZW5ndGhS
ZWR1Y3Rpb25QaGFzZS5oICovLAorCQkJCTBGODkzQkRBMTkzNkUyM0MwMDEyMTFGNCAvKiBERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcCAqLywKKwkJCQkwRjYzOTQ3NjE1RENFMzQ3MDA2QTU5
N0MgLyogREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5oICovLAorCQkJCTBGNTBBRjNCMTkzRThC
MzkwMDY3NEVFOCAvKiBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaCAqLywKKwkJCQkwRjc5MDg1
MzE5QTI5MEIyMDBGNjMxMEMgLyogREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwICov
LAorCQkJCTBGNzkwODU0MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRp
b25QaGFzZS5oICovLAorCQkJCTBGMkZDQ0Y3MThBNjAwNzAwMDFBMjdGOCAvKiBERkdUaHJlYWRE
YXRhLmNwcCAqLywKKwkJCQkwRjJGQ0NGODE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0
YS5oICovLAorCQkJCTBGQzA5NzlGMTQ2QjI4QzcwMENGMjQ0MiAvKiBERkdUaHVua3MuY3BwICov
LAorCQkJCTBGQzA5N0EwMTQ2QjI4QzcwMENGMjQ0MiAvKiBERkdUaHVua3MuaCAqLywKKwkJCQkw
RkQ4QTMxRjE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5j
cHAgKi8sCisJCQkJMEZEOEEzMjAxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RpZXJVcENoZWNrSW5q
ZWN0aW9uUGhhc2UuaCAqLywKKwkJCQkwRkQ4QTMyMTE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9G
VExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTBGRDhBMzIyMTdENTFG
NTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovLAor
CQkJCTBGRDhBMzIzMTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQkwRkQ4QTMyNDE3RDUxRjU3MDBDQTJD
NDAgLyogREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICov
LAorCQkJCTBGRTcyMTFCMTkzQjlDNTkwMDMxRjZFRCAvKiBERkdUcmFuc2l0aW9uLmNwcCAqLywK
KwkJCQkwRkU3MjExQzE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oICovLAorCQkJ
CTBGNjM5NDNDMTVDNzVGMTQwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNw
cCAqLywKKwkJCQkwRjYzOTQzRDE1Qzc1RjE0MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3Rp
bmdQaGFzZS5oICovLAorCQkJCTBGQkUwRjZGMTZDMURCMDEwMDgyQzVFOCAvKiBERkdVbmlmaWNh
dGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkJFMEY3MDE2QzFEQjAxMDA4MkM1RTggLyogREZHVW5p
ZmljYXRpb25QaGFzZS5oICovLAorCQkJCTBGMzRCMTQ3MTZENDIwMEUwMDFDREE1QSAvKiBERkdV
c2VLaW5kLmNwcCAqLywKKwkJCQkwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2lu
ZC5oICovLAorCQkJCTBGM0IzQTI5MTU0NzRGRjQwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAg
Ki8sCisJCQkJMEYzQjNBMkExNTQ3NEZGNDAwM0VEMEZGIC8qIERGR1ZhbGlkYXRlLmggKi8sCisJ
CQkJMEYyQkRDNEUxNTIyOEJFNzAwQ0Q4OTEwIC8qIERGR1ZhbHVlU291cmNlLmNwcCAqLywKKwkJ
CQkwRjJCREM0MDE1MjI4MDE3MDBDRDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCAqLywKKwkJCQkw
RjAxMjMzMDE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJlbmd0aC5jcHAgKi8sCisJCQkJ
MEYwMTIzMzExOTQ0RUExQjAwODQzQTBDIC8qIERGR1ZhbHVlU3RyZW5ndGguaCAqLywKKwkJCQkw
RkUyNTRGNDFBQkRERDIyMDBBN0M2RDIgLyogREZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5jcHAg
Ki8sCisJCQkJMEZFMjU0RjUxQUJEREQyMjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5n
UGhhc2UuaCAqLywKKwkJCQkwRjZFODQ1OTE5MDMwQkVGMDA1NjI3NDEgLyogREZHVmFyaWFibGVB
Y2Nlc3NEYXRhLmNwcCAqLywKKwkJCQkwRjYyMDE3MjE0M0ZDRDJGMDA2OEI3N0MgLyogREZHVmFy
aWFibGVBY2Nlc3NEYXRhLmggKi8sCisJCQkJMEZEREJGQjIxNjY2RUVENTAwQzU1RkVGIC8qIERG
R1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuY3BwICovLAorCQkJCTBGRERCRkIzMTY2NkVFRDUwMEM1
NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggKi8sCisJCQkJMEYyQkRDNTAxNTIy
OEZGQTAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnQuY3BwICovLAorCQkJCTBGMkJEQzQxMTUy
MjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggKi8sCisJCQkJMEYyQkRDNDIxNTIy
ODAxNzAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uY3BwICovLAorCQkJCTBGMkJE
QzQzMTUyMjgwMTcwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50U3RyZWFtLmggKi8sCisJCQkJ
MEZGRkM5NTMxNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25Q
aGFzZS5jcHAgKi8sCisJCQkJMEZGRkM5NTQxNEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxS
ZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICovLAorCQkJCTBGQzk3RjNCMTgyMDIxMTkwMDJDOUIy
NiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcCAqLywKKwkJCQkwRkM5N0YzQzE4
MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5oICovLAorCQkJ
CTBGREIyQ0U1MTc0ODMwQTIwMDdCM0MxQiAvKiBERkdXb3JrbGlzdC5jcHAgKi8sCisJCQkJMEZE
QjJDRTYxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0LmggKi8sCisJCQkpOworCQkJbmFt
ZSA9IGRmZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTkzMkZDM0MyMDgy
NEJCNzAwMDVCM0M3NSAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCUE1M0YxQUJFMThDOTBFQzcwMDcyRUI2RCAvKiBmcmFtZXdvcmsu
c2IgKi8sCisJCQkJOTMyRjVCRDgwODIyQTFDNzAwNzM2OTc1IC8qIEluZm8ucGxpc3QgKi8sCisJ
CQkpOworCQkJbmFtZSA9IFJlc291cmNlczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CQl0YWJXaWR0aCA9IDQ7CisJCQl1c2VzVGFicyA9IDA7CisJCX07CisJCTk1QUI4MzFBMERBNDJD
NjkwMEJDODNGMyAvKiBwcm9maWxlciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJOTVFM0JDMDQwRTFBRTY4MjAwQjJEMUMxIC8qIENhbGxJZGVudGlmaWVy
LmggKi8sCisJCQkJOTVBQjgzMkUwREE0MkNBRDAwQkM4M0YzIC8qIExlZ2FjeVByb2ZpbGVyLmNw
cCAqLywKKwkJCQk5NUFCODMyRjBEQTQyQ0FEMDBCQzgzRjMgLyogTGVnYWN5UHJvZmlsZXIuaCAq
LywKKwkJCQk5NTc0MkY2MzBERDExRjVBMDAwOTE3RkIgLyogUHJvZmlsZS5jcHAgKi8sCisJCQkJ
OTU3NDJGNjQwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuaCAqLywKKwkJCQk5NUNENDU3NDBF
MUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5jcHAgKi8sCisJCQkJOTVDRDQ1NzUw
RTFDNEZERDAwODUzNThFIC8qIFByb2ZpbGVHZW5lcmF0b3IuaCAqLywKKwkJCQk5NUFCODM1NDBE
QTQzQjQ0MDBCQzgzRjMgLyogUHJvZmlsZU5vZGUuY3BwICovLAorCQkJCTk1QUI4MzU1MERBNDNC
NDQwMEJDODNGMyAvKiBQcm9maWxlTm9kZS5oICovLAorCQkJCTBGRjcyOTkyMTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCAqLywKKwkJCQkwRkY3Mjk5MzE2NkFEMzQ3MDAw
RjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5oICovLAorCQkJCTBGRjcyOTk0MTY2QUQzNDcwMDBG
NUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgKi8sCisJCQkJMEZGNzI5OTUxNjZBRDM0NzAw
MEY1QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmggKi8sCisJCQkJMEYxMzkxMjQxNjc3MUMzMDAw
OUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgKi8sCisJCQkJMEYxMzkxMjUx
Njc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5oICovLAorCQkJCTBG
RjcyOTk2MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCAqLywKKwkJ
CQkwRkY3Mjk5NzE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbi5oICovLAor
CQkJCTBGRjcyOTk4MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2luZC5j
cHAgKi8sCisJCQkJMEZGNzI5OTkxNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRp
b25LaW5kLmggKi8sCisJCQkJMEZGNzI5OUExNjZBRDM0NzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29t
cGlsZWRCeXRlY29kZS5jcHAgKi8sCisJCQkJMEZGNzI5OUIxNjZBRDM0NzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQ29tcGlsZWRCeXRlY29kZS5oICovLAorCQkJCTBGRjcyOTlDMTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCAqLywKKwkJCQkwRkY3Mjk5RDE2NkFEMzQ3MDAwRjVC
QTMgLyogUHJvZmlsZXJEYXRhYmFzZS5oICovLAorCQkJCTBGRjcyOTlFMTY2QUQzNDcwMDBGNUJB
MyAvKiBQcm9maWxlckV4ZWN1dGlvbkNvdW50ZXIuaCAqLywKKwkJCQkwRjE5MENBQTE4OUQ4MkY2
MDAwQUU1RjAgLyogUHJvZmlsZXJKZXR0aXNvblJlYXNvbi5jcHAgKi8sCisJCQkJMEYxOTBDQUIx
ODlEODJGNjAwMEFFNUYwIC8qIFByb2ZpbGVySmV0dGlzb25SZWFzb24uaCAqLywKKwkJCQkwRkY3
Mjk5RjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW4uY3BwICovLAorCQkJCTBGRjcy
OUEwMTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpbi5oICovLAorCQkJCTBGRjcyOUEx
MTY2QUQzNDcwMDBGNUJBMyAvKiBQcm9maWxlck9yaWdpblN0YWNrLmNwcCAqLywKKwkJCQkwRkY3
MjlBMjE2NkFEMzQ3MDAwRjVCQTMgLyogUHJvZmlsZXJPcmlnaW5TdGFjay5oICovLAorCQkJCTBG
QjEwNTg3MTY3NTQ4MkUwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuY3BwICovLAorCQkJCTBG
QjEwNTg4MTY3NTQ4MkUwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuaCAqLywKKwkJCQkwRkIx
MDU4OTE2NzU0ODJFMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAgKi8sCisJCQkJ
MEZCMTA1OEExNjc1NDgyRTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdFNpdGUuaCAqLywKKwkJ
CQkwRjEzOTEyNjE2NzcxQzMwMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5j
cHAgKi8sCisJCQkJMEYxMzkxMjcxNjc3MUMzMDAwOUNDQjA3IC8qIFByb2ZpbGVyUHJvZmlsZWRC
eXRlY29kZXMuaCAqLywKKwkJCSk7CisJCQluYW1lID0gcHJvZmlsZXI7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQkJdXNlc1RhYnMgPSAwOworCQl9OworCQk5Njg4Q0IxMjBFRDEyQjRF
MDAxRDY0OUYgLyogYXNzZW1ibGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQkwRjFGRTUxQjE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCAq
LywKKwkJCQk4NjAxNjFERjBGM0E4M0MxMDBGODQ3MTAgLyogQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oICovLAorCQkJCTg2NDA5MjNCMTU2RUVEM0IwMDU2NkNCMiAvKiBBUk02NEFzc2VtYmxlci5o
ICovLAorCQkJCTg2RDNCMkJGMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuY3BwICov
LAorCQkJCTg2RDNCMkMwMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuaCAqLywKKwkJ
CQk4NkFERDE0MzBGRERFQTk4MDAwNkVFQzIgLyogQVJNdjdBc3NlbWJsZXIuaCAqLywKKwkJCQk5
Njg4Q0IxMzBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVyLmggKi8sCisJCQkJODZE
M0IyQzExMDE1NkJERTAwMjg2NUU3IC8qIEFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wu
aCAqLywKKwkJCQk4NkUxMTZCMDBGRTc1QUM4MDBCNTEyQkMgLyogQ29kZUxvY2F0aW9uLmggKi8s
CisJCQkJMEZGNDI3NTYxNTkxNEEyMDAwNENCOUZGIC8qIExpbmtCdWZmZXIuY3BwICovLAorCQkJ
CTg2RDNCM0MxMTAxNTlEN0YwMDI4NjVFNyAvKiBMaW5rQnVmZmVyLmggKi8sCisJCQkJMEZFQjNF
Q0UxNjIzN0Y2NzAwQUI2N0FEIC8qIE1hY3JvQXNzZW1ibGVyLmNwcCAqLywKKwkJCQk4NkMzNkVF
OTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9Bc3NlbWJsZXIuaCAqLywKKwkJCQk4NkM1NjhERDEx
QTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJBUk0uY3BwICovLAorCQkJCTg2RDNCMkMy
MTAxNTZCREUwMDI4NjVFNyAvKiBNYWNyb0Fzc2VtYmxlckFSTS5oICovLAorCQkJCTg2NDA5MjND
MTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi8sCisJCQkJQTcyOTAw
OUIxNzk3NkM2MDAwMzE3Mjk4IC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuY3BwICovLAorCQkJCTg2
QUREMTQ0MEZEREVBOTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggKi8sCisJCQkJ
ODYzQjIzREYwRkM2MEU2MjAwNzAzQUE0IC8qIE1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oICovLAor
CQkJCTg2QzU2OERFMTFBMjEzRUUwMDA3RjdGMCAvKiBNYWNyb0Fzc2VtYmxlck1JUFMuaCAqLywK
KwkJCQk4NkFFNjRBNjEzNUU1RTFDMDA5NjMwMTIgLyogTWFjcm9Bc3NlbWJsZXJTSDQuaCAqLywK
KwkJCQk4NjAxNjFFMDBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODYuaCAqLywK
KwkJCQk4NjAxNjFFMTBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZfNjQuaCAq
LywKKwkJCQlBN0E0QUUwNzE3OTczQjI2MDA1NjEyQjEgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uY3BwICovLAorCQkJCTg2MDE2MUUyMEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbi5oICovLAorCQkJCTY1ODYwMTc3MTg1QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFt
ZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oICovLAorCQkJCTg2QzU2OERGMTFBMjEzRUUwMDA3RjdG
MCAvKiBNSVBTQXNzZW1ibGVyLmggKi8sCisJCQkJODZEM0IzQzIxMDE1OUQ3RjAwMjg2NUU3IC8q
IFJlcGF0Y2hCdWZmZXIuaCAqLywKKwkJCQk4NkFFNjRBNzEzNUU1RTFDMDA5NjMwMTIgLyogU0g0
QXNzZW1ibGVyLmggKi8sCisJCQkJOTY4OENCMTQwRUQxMkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2Vt
Ymxlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBhc3NlbWJsZXI7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OworCQk5NjlBMDc4RjBFRDFEM0FFMDBGMUY2ODEgLyogYnl0ZWNvZGUg
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGODMzNUI0
MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCAqLywKKwkJCQkw
RjgzMzVCNTE2MzlDMUUzMDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTBGNjM5NDUxMTVEMDcwNTEwMDZBNTk3QyAvKiBBcnJheVByb2ZpbGUuY3BwICovLAorCQkJ
CTBGNjM5NDUyMTVEMDcwNTEwMDZBNTk3QyAvKiBBcnJheVByb2ZpbGUuaCAqLywKKwkJCQlDMkZD
QUUwQzE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcCAqLywKKwkJCQlD
MkZDQUUwRDE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmggKi8sCisJCQkJ
MEYyMUMyN0UxNEJFQUE4MDAwQURDNjRCIC8qIEJ5dGVjb2RlQ29udmVudGlvbnMuaCAqLywKKwkJ
CQk3MDk0QzREQzFBRTQzOTUzMDA0MUEyRUUgLyogQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5j
cHAgKi8sCisJCQkJNzA5NEM0REQxQUU0Mzk1MzAwNDFBMkVFIC8qIEJ5dGVjb2RlSW50cmluc2lj
UmVnaXN0cnkuaCAqLywKKwkJCQkwRjJERDgwQTFBQjNEODU4MDBCQkI4RTggLyogQnl0ZWNvZGVL
aWxscy5oICovLAorCQkJCTY1MjlGQjMxMThCMkQ5OTkwMEM2MTEwMiAvKiBCeXRlY29kZUxpc3Qu
anNvbiAqLywKKwkJCQlDMkZDQUUwRTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVMaXZlbmVz
c0FuYWx5c2lzLmNwcCAqLywKKwkJCQlDMkZDQUUwRjE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNv
ZGVMaXZlbmVzc0FuYWx5c2lzLmggKi8sCisJCQkJMEY2NjZFQkUxODM1NjZGOTAwRDAxN0YxIC8q
IEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpc0lubGluZXMuaCAqLywKKwkJCQkwRjg4NUUxMDE4NDlB
M0JFMDBGMUUzRkEgLyogQnl0ZWNvZGVVc2VEZWYuaCAqLywKKwkJCQkwRjgwMjNFOTE2MTM4MzIz
MDBBMEJBNDUgLyogQnlWYWxJbmZvLmggKi8sCisJCQkJMEY2NEIyNzcxQTc5NTdCMjAwNkU0RTY2
IC8qIENhbGxFZGdlLmNwcCAqLywKKwkJCQkwRjY0QjI3ODFBNzk1N0IyMDA2RTRFNjYgLyogQ2Fs
bEVkZ2UuaCAqLywKKwkJCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZv
LmNwcCAqLywKKwkJCQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmgg
Ki8sCisJCQkJMEY5MzMyOTMxNENBN0RDMTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCAq
LywKKwkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLywK
KwkJCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNv
ZGVPZmZzZXQuaCAqLywKKwkJCQkwRjNCN0UyNDE5QTExQjgwMDBEOUJDNTYgLyogQ2FsbFZhcmlh
bnQuY3BwICovLAorCQkJCTBGM0I3RTI1MTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5o
ICovLAorCQkJCTk2OUEwNzkwMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwICovLAor
CQkJCTk2OUEwNzkxMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCAqLywKKwkJCQkwRjhG
OTQzRDE2Njc2MzJEMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5jcHAgKi8sCisJCQkJMEY4Rjk0
M0UxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVCbG9ja0hhc2guaCAqLywKKwkJCQkwRkM5N0YyRjE4
MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcCAqLywK
KwkJCQkwRkM5N0YzMDE4MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRj
aHBvaW50LmggKi8sCisJCQkJMEY5NkVCQjExNjY3NkVGNDAwOEJBREUzIC8qIENvZGVCbG9ja1dp
dGhKSVRUeXBlLmggKi8sCisJCQkJMEY4Rjk0NDUxNjY3NjRFRTAwRDYxOTcxIC8qIENvZGVPcmln
aW4uY3BwICovLAorCQkJCTBGQkQ3RTY3MTQ0Nzk5OEYwMDQ4MTMxNSAvKiBDb2RlT3JpZ2luLmgg
Ki8sCisJCQkJMEY4Rjk0M0YxNjY3NjMyRDAwRDYxOTcxIC8qIENvZGVUeXBlLmNwcCAqLywKKwkJ
CQkwRjBCODNBNTE0QkNGNTA0MDA4ODVCNEYgLyogQ29kZVR5cGUuaCAqLywKKwkJCQkwRjZGQzc0
RTE5NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgKi8sCisJCQkJMEY2RkM3
NEYxOTYxMTBBODAwRTFEMDJEIC8qIENvbXBsZXhHZXRTdGF0dXMuaCAqLywKKwkJCQkwRjNEMEJC
QTE5NEE0MTQzMDBGQzlDRjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5jcHAgKi8sCisJCQkJ
MEYzRDBCQkIxOTRBNDE0MzAwRkM5Q0Y5IC8qIENvbnN0YW50U3RydWN0dXJlQ2hlY2suaCAqLywK
KwkJCQkwRjQyNkE0QTE0NjBDRDZCMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oICovLAorCQkJCTBG
QzcxMkRDMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3Bw
ICovLAorCQkJCTBGQzcxMkREMTdDRDg3NzgwMDhDQzkzQyAvKiBEZWZlcnJlZENvbXBpbGF0aW9u
Q2FsbGJhY2suaCAqLywKKwkJCQkwRkJDMEFFNDE0OTZDN0MxMDBENEZCREQgLyogREZHRXhpdFBy
b2ZpbGUuY3BwICovLAorCQkJCTBGQkMwQUU1MTQ5NkM3QzEwMEQ0RkJERCAvKiBERkdFeGl0UHJv
ZmlsZS5oICovLAorCQkJCTk2OUEwNzkyMEVEMUQzQUUwMEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hl
LmggKi8sCisJCQkJMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNvdW50ZXIu
Y3BwICovLAorCQkJCTBGNTZBMUQxMTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVy
LmggKi8sCisJCQkJMEYwMzMyQkYxOEFERkFFMTAwNUY5NzlBIC8qIEV4aXRpbmdKSVRUeXBlLmNw
cCAqLywKKwkJCQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAyOUYgLyogRXhpdGluZ0pJVFR5cGUuaCAq
LywKKwkJCQkwRkIxMDU4MjE2NzU0ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuY3BwICovLAorCQkJ
CTBGQjEwNTgzMTY3NTQ4MEMwMEY4QUI2RSAvKiBFeGl0S2luZC5oICovLAorCQkJCTBGMEI4M0FB
MTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi8sCisJCQkJMEY2NjZF
QkYxODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNzLmggKi8sCisJCQkJMEY5
MzMyOTUxNENBN0RDMTAwODVGM0M2IC8qIEdldEJ5SWRTdGF0dXMuY3BwICovLAorCQkJCTBGOTMz
Mjk2MTRDQTdEQzEwMDg1RjNDNiAvKiBHZXRCeUlkU3RhdHVzLmggKi8sCisJCQkJMEYwMzMyQzEx
OEIwMTc2MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmNwcCAqLywKKwkJCQkwRjAzMzJDMjE4
QjAxNzYzMDA1Rjk3OUEgLyogR2V0QnlJZFZhcmlhbnQuaCAqLywKKwkJCQkwRjBCODNBODE0QkNG
NTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLywKKwkJCQkwRjI0RTU1MzE3RjBCNzFDMDBB
QkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmNwcCAqLywKKwkJCQkwRjI0RTU1NDE3RjBCNzFD
MDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmggKi8sCisJCQkJOTY5QTA3OTMwRUQxRDNB
RTAwRjFGNjgxIC8qIEluc3RydWN0aW9uLmggKi8sCisJCQkJQkNGRDhDOTAwRUVCMkVFNzAwMjgz
ODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi8sCisJCQkJQkNGRDhDOTEwRUVCMkVFNzAwMjgzODQ4IC8q
IEp1bXBUYWJsZS5oICovLAorCQkJCTBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZS5jcHAgKi8sCisJCQkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5IC8q
IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi8sCisJCQkJMEYwRkM0NTgxNEJEMTVGMTAwQjgx
MTU0IC8qIExMSW50Q2FsbExpbmtJbmZvLmggKi8sCisJCQkJMEZCNTQ2N0MxNEY1Q0ZEMzAwMkMy
OTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwICovLAorCQkJCTBGQjU0NjdB
MTRGNUM3RDQwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggKi8sCisJ
CQkJMTRDQTk1OEMxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgg
Ki8sCisJCQkJOTY5QTA3OTQwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5jcHAgKi8sCisJCQkJ
OTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5oICovLAorCQkJCTBGMkJEQzJCMTUx
RkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovLAorCQkJCUE3MDQ0N0U5MTdBMEJENDYwMEY1
ODk4RSAvKiBPcGVyYW5kc0lubGluZXMuaCAqLywKKwkJCQkwRjM0QjE0QjE2RDQzRTBDMDAxQ0RB
NUEgLyogUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0LmggKi8sCisJCQkJMEY0Q0VENUMx
OENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExpc3QuY3BwICovLAorCQkJCTBG
NENFRDVEMThDRUE3QUIwMDgwMkZFMCAvKiBQb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmggKi8sCisJ
CQkJMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3Bw
ICovLAorCQkJCTBGOUZDOEMwMTRFMUI1RkIwMEQ1MkFFMCAvKiBQb2x5bW9ycGhpY1B1dEJ5SWRM
aXN0LmggKi8sCisJCQkJMEY5ODIwNUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgKi8sCisJCQkJMEY5ODIwNUUxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1w
VGFyZ2V0cy5oICovLAorCQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3Rh
dHVzLmNwcCAqLywKKwkJCQkwRjkzMzI5QTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1
cy5oICovLAorCQkJCTBGOTNCNEE3MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5j
cHAgKi8sCisJCQkJMEY5M0I0QTgxOEI5MkM0RDAwMTc4QTNGIC8qIFB1dEJ5SWRWYXJpYW50Lmgg
Ki8sCisJCQkJMEY5RkM4QzExNEUxQjVGQjAwRDUyQUUwIC8qIFB1dEtpbmQuaCAqLywKKwkJCQkw
RkY2MEFCRjE2NzQwRjgxMDAwMjk3NzkgLyogUmVkdWNlV2hpdGVzcGFjZS5jcHAgKi8sCisJCQkJ
MEZGNjBBQzAxNjc0MEY4MTAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuaCAqLywKKwkJCQkx
NDI5RDg4MzBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmNwcCAqLywKKwkJCQkxNDI5
RDg4NDBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxpbmdUb29sLmggKi8sCisJCQkJRkU1MDY4NjYx
QUUyNUUyODAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5jcHAgKi8sCisJCQkJRkU1MDY4
NjQxQUUyNDYzOTAwMDlEQUI3IC8qIERlZmVycmVkU291cmNlRHVtcC5oICovLAorCQkJCTBGNTU0
MUFGMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAgKi8sCisJCQkJMEY1NTQx
QjAxNjEzQzFGQjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmggKi8sCisJCQkJMEZEODJFODQx
NDFGM0ZEQTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmNwcCAqLywKKwkJCQkwRkQ4MkU0RjE0
MURBRUExMDAxNzlDOTQgLyogU3BlY3VsYXRlZFR5cGUuaCAqLywKKwkJCQkwRkI0MzhBMjE5Mjcw
QjFEMDBFMUZCQzkgLyogU3RydWN0dXJlU2V0LmNwcCAqLywKKwkJCQkwRjkzMzI5QjE0Q0E3REMx
MDA4NUYzQzYgLyogU3RydWN0dXJlU2V0LmggKi8sCisJCQkJMEY3NjZEMzYxNUFFNEExQTAwOEYz
NjNFIC8qIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwICovLAorCQkJCTBGNzY2
RDM3MTVBRTRBMUEwMDhGMzYzRSAvKiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50Lmgg
Ki8sCisJCQkJQkNDRjBEMEIwRUYwQjhBNTAwNDEzQzhGIC8qIFN0cnVjdHVyZVN0dWJJbmZvLmNw
cCAqLywKKwkJCQlCQ0NGMEQwNzBFRjBBQUI5MDA0MTNDOEYgLyogU3RydWN0dXJlU3R1YkluZm8u
aCAqLywKKwkJCQkwRjJENERFNTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCAq
LywKKwkJCQkwRjJENERFNjE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggKi8sCisJ
CQkJMEYyRDRERTcxOTgzMkRBQzAwN0Q0QjE5IC8qIFR5cGVMb2NhdGlvbi5oICovLAorCQkJCUE3
OUU3ODFFMTVFRUNCQTgwMDQ3Qzg1NSAvKiBVbmxpbmtlZENvZGVCbG9jay5jcHAgKi8sCisJCQkJ
QTc5RTc4MUYxNUVFQ0JBODAwNDdDODU1IC8qIFVubGlua2VkQ29kZUJsb2NrLmggKi8sCisJCQkJ
QjU5Rjg5MzgxODkxQURCNTAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3Bw
ICovLAorCQkJCUI1OUY4OTM3MTg5MUFEMzMwMEQ1Q0NEQyAvKiBVbmxpbmtlZEluc3RydWN0aW9u
U3RyZWFtLmggKi8sCisJCQkJMEY5NjNCMzYxM0ZDNkZERTAwMDJEOUIyIC8qIFZhbHVlUHJvZmls
ZS5oICovLAorCQkJCTBGMjRFNTU3MTdGNzRFREIwMEFCQjIxNyAvKiBWYWx1ZVJlY292ZXJ5LmNw
cCAqLywKKwkJCQkwRjQyNkE0NTE0NjBDQkFCMDAxMzFGOEYgLyogVmFsdWVSZWNvdmVyeS5oICov
LAorCQkJCTBGNkM3MzRFMUFDOUY5OUYwMEJFMTY4MiAvKiBWYXJpYWJsZVdyaXRlRmlyZURldGFp
bC5jcHAgKi8sCisJCQkJMEY2QzczNEYxQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVG
aXJlRGV0YWlsLmggKi8sCisJCQkJMEYyMEMyNTgxQTgwMTNBQjAwREEzMjI5IC8qIFZpcnR1YWxS
ZWdpc3Rlci5jcHAgKi8sCisJCQkJMEY0MjZBNDYxNDYwQ0JBQjAwMTMxRjhGIC8qIFZpcnR1YWxS
ZWdpc3Rlci5oICovLAorCQkJCTBGOTE5RDIyMTU4NTNDREUwMDRBNEU3RCAvKiBXYXRjaHBvaW50
LmNwcCAqLywKKwkJCQkwRjkxOUQyMzE1ODUzQ0RFMDA0QTRFN0QgLyogV2F0Y2hwb2ludC5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBieXRlY29kZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CisJCTk5RTQ1QTBDMThBMDFFOTMwMDI2RDg4RiAvKiByZXBsYXkgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTk5RTQ1QTFDMThBMUIxQjgwMDI2
RDg4RiAvKiBzY3JpcHRzICovLAorCQkJCTk5RTQ1QTFGMThBMUIyNTkwMDI2RDg4RiAvKiBFbXB0
eUlucHV0Q3Vyc29yLmggKi8sCisJCQkJOTlFNDVBMjAxOEExQjI1OTAwMjZEODhGIC8qIEVuY29k
ZWRWYWx1ZS5jcHAgKi8sCisJCQkJOTlFNDVBMjExOEExQjI1OTAwMjZEODhGIC8qIEVuY29kZWRW
YWx1ZS5oICovLAorCQkJCTk5RTQ1QTIyMThBMUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1cnNvci5o
ICovLAorCQkJCTk5MjhGRjNEMThBQzRCMUMwMEI4Q0YxMiAvKiBKU0lucHV0cy5qc29uICovLAor
CQkJCTk5RTQ1QTIzMThBMUIyNTkwMDI2RDg4RiAvKiBOb25kZXRlcm1pbmlzdGljSW5wdXQuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gcmVwbGF5OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJOTlFNDVBMUMxOEExQjFCODAwMjZEODhGIC8qIHNjcmlwdHMgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTk5RTQ1QTFEMThBMUIxRTcwMDI2
RDg4RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5ICovLAorCQkJCTk5RTQ1QTFFMThB
MUIxRTcwMDI2RDg4RiAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5ICov
LAorCQkJKTsKKwkJCXBhdGggPSBzY3JpcHRzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJQTUxM0U1Q0MxODVGQjk5MjAwN0U5NUFEIC8qIGFnZW50cyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTVDRUVFMTIxODdGM0JBRDAwRTU1
Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAqLywKKwkJCQlBNUNFRUUxMzE4N0YzQkFEMDBFNTVD
OTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLywKKwkJCQlBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKKwkJCQlBNUZEMDA4MDE4OUIxOTFBMDA2
MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCisJCQkJQTU3RDIzRTMxODkwQ0VC
RjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwICovLAorCQkJCUE1N0QyM0U0
MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggKi8sCisJCQkJQTUw
RTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgKi8sCisJ
CQkJQTUwRTRCNUUxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oICov
LAorCQkJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudC5jcHAgKi8sCisJCQkJQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50LmggKi8sCisJCQkJQTU3RDIzRTcxODkxQjA3NzAwMzFDN0ZBIC8qIEpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAgKi8sCisJCQkJQTU3RDIzRTgxODkxQjA3NzAw
MzFDN0ZBIC8qIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oICovLAorCQkJCUE1MEU0QjVG
MTg4MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAgKi8sCisJ
CQkJQTUwRTRCNjAxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGFnZW50czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCUE1MzI0MzhFMTg1Njk2Q0UwMDJFRDY5MiAvKiBzY3JpcHRzICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDNDcwM0NDMTE5Mjg0NEE0
MDAxM0ZCRUEgLyogY29kZWdlbiAqLywKKwkJCQlBNTg0MEUyNjE4N0M5ODA3MDA4NDNCMTAgLyog
Y3NzbWluLnB5ICovLAorCQkJCUE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1j
b21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLywKKwkJCQlDNDcwM0NCRjE5Mjg0NDk2MDAxM0ZC
RUEgLyogZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5ICovLAorCQkJCUE1
ODQwRTI4MTg3Q0E1QjgwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1h
bmQtc2NyaXB0cy5weSAqLywKKwkJCQlBNTEzRTVDNDE4NUY5MkRDMDA3RTk1QUQgLyoganNtaW4u
cHkgKi8sCisJCQkJQTUxM0U1QzUxODVGOTJGMDAwN0U5NUFEIC8qIHh4ZC5wbCAqLywKKwkJCSk7
CisJCQlwYXRoID0gc2NyaXB0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CUE1NENGMkVBMTg0RUE3MzkwMDIzN0YxOSAvKiBiaW5kaW5ncyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTU1RDkzQTMxODUwMTJBODAwNDAwREVEIC8q
IFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgKi8sCisJCQkJQTU1RDkzQTQxODUwMTJBODAwNDAwREVE
IC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovLAorCQkJCUE1NENGMkY3MTg0RUFFREEwMDIzN0Yx
OSAvKiBTY3JpcHRPYmplY3QuY3BwICovLAorCQkJCUE1NENGMkY4MTg0RUFFREEwMDIzN0YxOSAv
KiBTY3JpcHRPYmplY3QuaCAqLywKKwkJCQlBNTRDRjJGMjE4NEVBQjI0MDAyMzdGMTkgLyogU2Ny
aXB0VmFsdWUuY3BwICovLAorCQkJCUE1NENGMkYzMTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRW
YWx1ZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBiaW5kaW5nczsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCUE1QkExNURGMTgyMzQwOTIwMEE4MkU2OSAvKiBpbnNwZWN0b3Ig
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE1MTNFNUND
MTg1RkI5OTIwMDdFOTVBRCAvKiBhZ2VudHMgKi8sCisJCQkJQTVFQTcwRTMxOUY1QjBFMjAwOThG
NUVDIC8qIGF1Z21lbnRhYmxlICovLAorCQkJCUE1MzI0MzhEMTg1Njk2Q0EwMDJFRDY5MiAvKiBw
cm90b2NvbCAqLywKKwkJCQlBNUJBMTVFMDE4MjM0MDlEMDBBODJFNjkgLyogcmVtb3RlICovLAor
CQkJCUE1MzI0MzhFMTg1Njk2Q0UwMDJFRDY5MiAvKiBzY3JpcHRzICovLAorCQkJCUE1RkQwMDc3
MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCisJCQkJQTVGRDAwNzgx
ODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCisJCQkJQTU3RDIzRUYxODkx
QjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovLAorCQkJCUE1N0Qy
M0YwMTg5MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggKi8sCisJCQkJ
QTU0OTgyMDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8sCisJCQkJQTU0OTgy
MDIxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oICovLAorCQkJCUE1RkQwMDcyMTg5QjAz
OEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDczMTg5
QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywKKwkJCQlBNTEzRTVCNTE4
NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLAorCQkJCUE1MTNFNUI2MTg1
QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oICovLAorCQkJCUE1MTRCMkMwMTg1QTY4
NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwICovLAorCQkJCUE1MTRCMkMxMTg1
QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCAqLywKKwkJCQlBNThFMzU5MDE4
NjBERUM3MDAxRjI0RkUgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCAqLywKKwkJCQlBNTEzRTVC
OTE4NUJGQUNDMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCisJCQkJQTUxM0U1
QzgxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8sCisJCQkJ
QTUxM0U1QzkxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oICovLAor
CQkJCUE1ODQwRTFFMTg3QjdCODYwMDg0M0IxMCAvKiBJbmplY3RlZFNjcmlwdE1vZHVsZS5jcHAg
Ki8sCisJCQkJQTU4NDBFMUYxODdCN0I4NjAwODQzQjEwIC8qIEluamVjdGVkU2NyaXB0TW9kdWxl
LmggKi8sCisJCQkJQTUxM0U1QzMxODVGOTJDOTAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0U291
cmNlLmpzICovLAorCQkJCUE1OTNDRjdFMTg0MDM2MkMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JBZ2Vu
dEJhc2UuaCAqLywKKwkJCQlBNTkzQ0Y4NDE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdl
bnRSZWdpc3RyeS5jcHAgKi8sCisJCQkJQTU5M0NGODUxODQwMzhDQTAwQkZDRTI3IC8qIEluc3Bl
Y3RvckFnZW50UmVnaXN0cnkuaCAqLywKKwkJCQlBNTkzQ0Y3QTE4NDAzNjAzMDBCRkNFMjcgLyog
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwICovLAorCQkJCUE1OTNDRjdCMTg0MDM2MDMw
MEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oICovLAorCQkJCUE1RDBBMUJB
MTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVudC5oICovLAorCQkJCUE1OTQ1
NTk0MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLywKKwkJ
CQlBNTVEOTNBQjE4NTE0Rjc5MDA0MDBERUQgLyogSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oICov
LAorCQkJCUE1OTNDRjgwMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICov
LAorCQkJCUE1OTNDRjgxMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywK
KwkJCQlBNTAzRkExMzE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAg
Ki8sCisJCQkJQTUwM0ZBMTQxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUu
aCAqLywKKwkJCQlBNUMzQTFBMzE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25z
b2xlQ2xpZW50LmNwcCAqLywKKwkJCQlBNUMzQTFBNDE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmggKi8sCisJCQkJQTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5
IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8sCisJCQkJQTUxMDA3
QkYxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5o
ICovLAorCQkJCUE1MDNGQTI3MTg4RjEwNTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlw
dERlYnVnU2VydmVyLmNwcCAqLywKKwkJCQlBNTAzRkEyODE4OEYxMDU5MDAxMTBGMTQgLyogSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oICovLAorCQkJCUE1MTNFNUJBMTg1QkZBQ0Mw
MDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAgKi8sCisJCQkJQTUxM0U1QkIxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCisJCQkJQTUxM0U1QkMx
ODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCAqLywK
KwkJCQlBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90
b3R5cGUuaCAqLywKKwkJCQlBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLywKKwkJCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpT
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUwM0ZBMTgxODhFMEZC
MDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICovLAorCQkJCUE1
RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovLAorCQkJCUE1
RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLywKKwkJCQlBNTAz
RkExRjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0QnJlYWtwb2ludC5oICovLAorCQkJCUE1RkQw
MDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAorCQkJCUE1RkQw
MDZBMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKKwkJCQlBNUZEMDA2
QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKKwkJCQlBNUZEMDA2
QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCisJCQkJQTVGRDAwN0Ix
ODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovLAorCQkJCUE1
RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8sCisJ
CQkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywK
KwkJCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICov
LAorCQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBpbnNwZWN0b3I7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQlBNUJBMTVFMDE4MjM0MDlEMDBBODJFNjkgLyogcmVtb3RlICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBNUJBMTVFMTE4MjM0MEIzMDBB
ODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yLmggKi8sCisJCQkJQTVCQTE1RTIxODIzNDBCMzAwQTgy
RTY5IC8qIFJlbW90ZUluc3BlY3Rvci5tbSAqLywKKwkJCQlBNUJBMTVFMzE4MjM0MEIzMDBBODJF
NjkgLyogUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmggKi8sCisJCQkJQTU5NDU1OEUxODI0NUVE
RTAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwICovLAorCQkJCUE1QkEx
NUVGMTgyMzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmggKi8sCisJ
CQkJQTVCQTE1RTQxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVD
b25uZWN0aW9uLmggKi8sCisJCQkJQTVCQTE1RTUxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUlu
c3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLm1tICovLAorCQkJCUE1QkExNUU2MTgyMzQwQjMw
MEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggKi8sCisJCQkJQTVCQTE1
RTcxODIzNDBCMzAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gKi8s
CisJCQkpOworCQkJcGF0aCA9IHJlbW90ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CisJCUE1RUE3MEUzMTlGNUIwRTIwMDk4RjVFQyAvKiBhdWdtZW50YWJsZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTVFQTcwRTQxOUY1QjEwMTAw
OThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlci5oICovLAorCQkJCUE1RUE3
MEU1MTlGNUIxMDEwMDk4RjVFQyAvKiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGll
bnQuaCAqLywKKwkJCQlBNUVBNzBFNjE5RjVCMTAxMDA5OEY1RUMgLyogQWx0ZXJuYXRlRGlzcGF0
Y2hhYmxlQWdlbnQuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gYXVnbWVudGFibGU7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlBN0Q4MDE5RjE4ODBENjZFMDAyNkMzOUIgLyog
YnVpbHRpbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUE3RDgwMUEwMTg4MEQ2NkUwMDI2QzM5QiAvKiBBcnJheS5wcm90b3R5cGUuanMgKi8sCisJCQkJ
QTdEODAxQTExODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5jcHAgKi8sCisJ
CQkJQTdEODAxQTIxODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oICovLAor
CQkJCUE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCAqLywKKwkJCQk3
Q0ZCQUMxQzE4QjUzNUU1MDBEMDA3NTAgLyogUHJvbWlzZS5wcm90b3R5cGUuanMgKi8sCisJCQkJ
QTdBOTc5QzQxOEJFOEQ5RTAwMkMzNzMzIC8qIEZ1bmN0aW9uLnByb3RvdHlwZS5qcyAqLywKKwkJ
CSk7CisJCQlwYXRoID0gYnVpbHRpbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OworCQlDNDcwM0NDMTE5Mjg0NEE0MDAxM0ZCRUEgLyogY29kZWdlbiAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzQ3MDNDQzIxOTI4NDRDQzAwMTNGQkVB
IC8qIF9faW5pdF9fLnB5ICovLAorCQkJCUM0RjRCNkNGMUEwNUM3NkYwMDVDQUI3NiAvKiBjcHBf
Z2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLywKKwkJCQlDNEY0QjZEMDFBMDVDNzZGMDA1Q0FCNzYg
LyogY3BwX2dlbmVyYXRvci5weSAqLywKKwkJCQlBNUVBNzBFQTE5RjVCM0Q1MDA5OEY1RUMgLyog
Z2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovLAor
CQkJCUM0RjRCNkQxMUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNw
YXRjaGVyX2hlYWRlci5weSAqLywKKwkJCQlDNEY0QjZEMjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2Vu
ZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLywKKwkJCQlD
NEY0QjZEMzFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5ICovLAorCQkJCUM0RjRCNkQ0MUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5lcmF0
ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSAqLywKKwkJCQlDNEY0
QjZENTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRl
ci5weSAqLywKKwkJCQlDNEY0QjZENjFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX3By
b3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovLAorCQkJCUM0NzAzQ0MzMTkyODQ0Q0Mw
MDEzRkJFQSAvKiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5ICovLAorCQkJCUE1RUE3
MEVGMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHkgKi8sCisJCQkJQTVFQTcwRjAxOUY2REU1QTAwOThGNUVDIC8qIGdlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5ICovLAorCQkJCUE1RUE3MEYx
MTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faGVhZGVyLnB5
ICovLAorCQkJCUE1RUE3MEYyMTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkgKi8sCisJCQkJQTVFQTcwRjMxOUY2REU1QTAwOThG
NUVDIC8qIGdlbmVyYXRlX29iamNfY29udmVyc2lvbl9oZWxwZXJzLnB5ICovLAorCQkJCUE1RUE3
MEY0MTlGNkRFNUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJf
aW1wbGVtZW50YXRpb24ucHkgKi8sCisJCQkJQTVFQTcwRjUxOUY2REU1QTAwOThGNUVDIC8qIGdl
bmVyYXRlX29iamNfaGVhZGVyLnB5ICovLAorCQkJCUE1RUE3MEY2MTlGNkRFNUEwMDk4RjVFQyAv
KiBnZW5lcmF0ZV9vYmpjX2ludGVybmFsX2hlYWRlci5weSAqLywKKwkJCQlDNEY0QjZENzFBMDVD
NzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlv
bi5weSAqLywKKwkJCQlDNDcwM0NDQTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yX3RlbXBs
YXRlcy5weSAqLywKKwkJCQlDNDcwM0NDQjE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yLnB5
ICovLAorCQkJCUM0NzAzQ0NDMTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2RlbHMucHkgKi8sCisJCQkJ
QzRGNEI2RDgxQTA1Qzc2RjAwNUNBQjc2IC8qIG9iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAq
LywKKwkJCQlBNUVBNzBGODE5RjZERTVBMDA5OEY1RUMgLyogb2JqY19nZW5lcmF0b3IucHkgKi8s
CisJCQkpOworCQkJcGF0aCA9IGNvZGVnZW47CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCNDE4MDVENjE2MDA0NzJDRTQgLyogSGVhZGVy
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VGQURDMTgwNjRBMTQwMDQ3
MkNFNCAvKiBjb25maWdfbGx2bS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBREExODA2MjBE
QTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUQxMTgwNUU3
NzkwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNF
RkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworCQkx
NDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhl
YWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJCUE3MjcwMUI5MERBREU5NDkwMEU1NDhENyAvKiBFeGNlcHRpb25IZWxwZXJz
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQwMDVDQjBBNTMzOEQxMDAwNUYwNjEgLyogSlNOb2Rl
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQwMDc1NzBBNTM3MEQyMDAwNUYwNjEgLyogSlNOb2Rl
TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQ0MDA1Q0MwQTUzMzhGODAwMDVGMDYxIC8qIE5v
ZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0NDAwNzRBMEE1MzZDQzIwMDA1RjA2MSAvKiBOb2Rl
TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTkzMkY1QjNGMDgyMkExQzcwMDczNjk3NSAvKiBIZWFk
ZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZGQTU0OTgxNkI4ODM1MzAw
QjNBOTgyIC8qIEE2NERPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MDE2MUUzMEYzQTgz
QzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkUwNTAyOTFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVkQXJndW1lbnRzVGFibGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGNTVGMEY1MTREMTA2M0MwMEFDNzY0OSAvKiBBYnN0cmFjdFBDLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkyQTQ4RDE5MTE3NzIzNjVCMDBDNjVBNUYgLyogQVBJQ2FsbGJh
Y2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMzRTUwRTE2RjVDRDAwQjM0NDYw
IC8qIEFQSUNhc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRjYwNTE0MEUyMDNFRjgwMEI5QTY0
RCAvKiBBcmdMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkyQTg4MDY3OTE5MTA3RDU1MDBDQjBC
QkIgLyogREZHRnVuY3Rpb25XaGl0ZWxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0NB
MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBMUEwMDlDMTE4MzFBMjZFMDBDRjg3MTEgLyogQVJNNjRBc3Nl
bWJsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODk4RjMyMUIyNzY4OUYwMDgzQTMzQyAvKiBE
RkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZE
M0IyQzQxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZFMDUwMjgxQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlZEFyZ3VtZW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTJDMDYxMUYxQUE1MUUxQzAwQjRBREJBIC8qIFJ1bnRpbWVUeXBlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGRTRENTVCODFBRTcxNkNBMDA1MkU0NTkgLyogSXRlcmF0aW9uU3Rh
dHVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTUwNjg2NTFBRTI0NjM5MDAwOURBQjcgLyogRGVm
ZXJyZWRTb3VyY2VEdW1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNDQyQ0IyNTFBNkNEQjhDMDA1
RDNEN0MgLyogSlNJbnB1dHMuanNvbiBpbiBIZWFkZXJzICovLAorCQkJCUZFMUMwRkZEMUIxOTNF
OTgwMEI1M0ZDQSAvKiBFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUyNjc4RjkxMUEw
NDE3N0MwMDZBMzA2RCAvKiBDb250cm9sRmxvd1Byb2ZpbGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjY3OEY4RjFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNUVBNzEwRTE5RjZERjgxMDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJu
YXRlQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzBFQzE5RjVC
M0VBMDA5OEY1RUMgLyogZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJf
aGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzRGNEI2RjMxQTA1Qzk0NDAwNUNBQjc2IC8q
IGNwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFRjlCMTUx
QTFENDNGQTAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKKwkJCQlGRTM4NEVFODFBRERCN0FEMDA1NURFMkMg
LyogSlNEb2xsYXJWTVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkUzODRFRTYxQURE
QjdBRDAwNTVERTJDIC8qIEpTRG9sbGFyVk0uaCBpbiBIZWFkZXJzICovLAorCQkJCTZBRDJDQjRE
MTlCOTE0MDEwMDA2NTcxOSAvKiBEZWJ1Z2dlckV2YWxFbmFibGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk2NThEM0E1NjE5NjM4MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTVFRjlCMTYxQTFENDQwMDAwNzAyRTkwIC8qIGdlbmVyYXRlX2NwcF9mcm9u
dGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCTJBRDJFREZCMTk3
OTlFMzgwMDRENjQ3OCAvKiBFbnVtZXJhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
RUY5QjE4MUExRDQ0MDYwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVh
ZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFRjlCMTkxQTFENDQwNzAwNzAyRTkwIC8qIGdl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICov
LAorCQkJCUM0RjRCNkY2MUEwNUM5ODQwMDVDQUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0
ZXMucHkgaW4gSGVhZGVycyAqLywKKwkJCQk3MERDM0UwQTFCMkRGMkM3MDAwNTQyOTkgLyogSXRl
cmF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUY5QjE3MUExRDQ0MDMwMDcw
MkU5MCAvKiBnZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5w
eSBpbiBIZWFkZXJzICovLAorCQkJCTE0N0I4M0FDMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkExMTEyNDYxOTJGQ0U3
OTAwNUVFMThEIC8qIEN1c3RvbUdldHRlclNldHRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzRG
NEI2RjUxQTA1Qzk4NDAwNUNBQjc2IC8qIGdlbmVyYXRlX29iamNfcHJvdG9jb2xfdHlwZXNfaW1w
bGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNTg0MDMyMDE4QkZGQkUxMDA1QTA4
MTEgLyogSW5zcGVjdG9yQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQUJDREU3MThFRjI5
NDIwMDAwMjA5NiAvKiBHQ0xvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFN0JBNjEwMUEx
QTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUY5
QjE0MUExRDQzRjYwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hl
YWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCUMyREE3NzgzMThFMjU5OTkwMDY2RkNCNiAvKiBI
ZWFwSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzRGNEI2RjQxQTA1Qzk0NDAwNUNBQjc2
IC8qIGNwcF9nZW5lcmF0b3IucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNTMyNDM5NDE4NTY5NzA5
MDAyRUQ2OTIgLyogZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgaW4gSGVhZGVy
cyAqLywKKwkJCQlBNTg0MEUyNzE4N0M5ODFFMDA4NDNCMTAgLyogY3NzbWluLnB5IGluIEhlYWRl
cnMgKi8sCisJCQkJQTVFQTcxMDQxOUY2REU3MjAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfYmFj
a2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ3
MDNDRDUxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvcl90ZW1wbGF0ZXMucHkgaW4gSGVhZGVy
cyAqLywKKwkJCQlBNUVBNzEwNTE5RjZERTc0MDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19jb25m
aWd1cmF0aW9uX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAorCQkJCUE1RUE3MTA2MTlGNkRFNzYw
MDk4RjVFQyAvKiBnZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1wbGVtZW50YXRpb24ucHkg
aW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwNzE5RjZERTc4MDA5OEY1RUMgLyogZ2VuZXJhdGVf
b2JqY19jb252ZXJzaW9uX2hlbHBlcnMucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwODE5
RjZERTdBMDA5OEY1RUMgLyogZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQTVFQTcxMEExOUY2REU3RTAwOThGNUVD
IC8qIGdlbmVyYXRlX29iamNfaW50ZXJuYWxfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVFQTcxMEMxOUY2REU4MjAwOThGNUVDIC8qIG9iamNfZ2VuZXJhdG9yLnB5IGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVFQTcxMDkxOUY2REU3QzAwOThGNUVDIC8qIGdlbmVyYXRlX29iamNfaGVhZGVy
LnB5IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ3MDNDRDYxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVy
YXRvci5weSBpbiBIZWFkZXJzICovLAorCQkJCUM0NzAzQ0MwMTkyODQ0OTYwMDEzRkJFQSAvKiBn
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgaW4gSGVhZGVycyAqLywKKwkJ
CQlDNDcwM0NDRTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5k
cy5weSBpbiBIZWFkZXJzICovLAorCQkJCUM0NzAzQ0Q3MTkyODQ0Q0MwMDEzRkJFQSAvKiBtb2Rl
bHMucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzEwMzE5RjZERTZGMDA5OEY1RUMgLyogZ2Vu
ZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCisJ
CQkJMkFBQ0U2M0QxOENBNUEwMzAwRUQwMTkxIC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMkE4MzYzODYxOEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTJBODM2MzhBMThEN0QwRkUwMDAwRUJDQyAv
KiBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQUFBQTMxMjE4
QkQ0OUQxMDAzOTRDQzggLyogU3RydWN0dXJlSURCbG9iLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NTRFOEVCMTE4QkZGQkJFMDA1NTZEMjggLyogR0NTZWdtZW50ZWRBcnJheUlubGluZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTg2QUREMTQ1MEZEREVBOTgwMDA2RUVDMiAvKiBBUk12N0Fzc2VtYmxl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0RThFQjAxOEJGRkJCQjAwNTU2RDI4IC8qIEdDU2Vn
bWVudGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1MTRGMjE5MThCM0UxNjcwMDk4RkY4
QiAvKiBCeXRlY29kZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1QzAyODVEMTcxNzk2NjgwMDM1
MUUzNSAvKiBBUk12N0RPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODMzNUI4MTYzOUMx
RUEwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkQxMjAzNDFBOEM4NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTdBOEFGMzUxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkZDOTlENTE4NEVFMzE4MDA5QzEwQUIgLyogQXJyYXlCdWZmZXJO
ZXV0ZXJpbmdXYXRjaHBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzNzE3QURCNUYz
MDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNF
NjBFMTZGNUNEMDBCMzQ0NjAgLyogQXJyYXlDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZCN0YzOTUxNUVEOEU0NjAwRjE2N0IyIC8qIEFycmF5Q29udmVudGlvbnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE3QkRBRUM5MTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjYzOTQ1NTE1RDA3MDU3MDA2QTU5N0MgLyog
QXJyYXlQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNFNzBFMTZGNUNEMDBCMzQ0
NjAgLyogQXJyYXlQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNTI0MEUxNkZD
OEEwMEIzNDQ2MCAvKiBBcnJheVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJB
RjczODJEMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkI3RjM5NjE1RUQ4RTQ2MDBGMTY3QjIgLyogQXJyYXlTdG9yYWdlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5Njg4Q0IxNTBFRDEyQjRFMDAxRDY0OUYgLyogQXNzZW1ibGVyQnVmZmVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkQzQjJDNTEwMTU2QkRFMDAyODY1RTcgLyogQXNzZW1i
bGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNEU1NDEx
N0VBOUY1OTAwQUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg2NjczOUQyMTNCRkRFNzEwMDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzE4QzNFQzBFMTZGNUNEMDBCMzQ0NjAgLyogQm9vbGVhbk9iamVjdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRkVBMDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1RDJFNjY1MTk1RTE3NDAwMEE1MThFNyAvKiBKU0NvbnRleHRS
ZWZJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdEODAxQTUxODgwRDY2RTAwMjZDMzlC
IC8qIEJ1aWx0aW5FeGVjdXRhYmxlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc1RUU5QjIxOEFB
QjdFMjAwQUFEMDQzIC8qIEJ1aWx0aW5OYW1lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjlD
RjcxOUQwQkFDMTAwQjFEMUI1IC8qIEZUTEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5NzE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVyZmx5
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5ODE1RUQ4RTQ2MDBGMTY3QjIgLyogQnV0dGVy
Zmx5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjJEMkQzOTAxQURGMTAzRjAwMDIwNkMx
IC8qIEZ1bmN0aW9uUmFyZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRkNBRTExMTdBOUMy
NEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2ljQmxvY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
MjFDMjdGMTRCRUFBODIwMEFEQzY0QiAvKiBCeXRlY29kZUNvbnZlbnRpb25zLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NjlBMDcyMzBFRDFDRTMzMDBGMUY2ODEgLyogQnl0ZWNvZGVHZW5lcmF0b3Iu
aCBpbiBIZWFkZXJzICovLAorCQkJCUMyRkNBRTEzMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29k
ZUxpdmVuZXNzQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjY2RUMwMTgzNTY2Rjkw
MEQwMTdGMSAvKiBCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXNJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjhGMTQzNjFBREYwOTAxMDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY4ODVFMTExODQ5QTNCRTAwRjFFM0ZBIC8qIEJ5dGVj
b2RlVXNlRGVmLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjgwMjNFQTE2MTM4MzJCMDBBMEJBNDUg
LyogQnlWYWxJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzNFRDBFMTZGNUNEMDBCMzQ0
NjAgLyogQ2FsbERhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUFEODZBOTNFMUFBNEQ4OEQwMDJG
RTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDhERTBF
RDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0MxRUFF
RjE3OTg3QUI2MDAyOTlEQjIgLyogQ2FsbEZyYW1lSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTVFM0JDMDUwRTFBRTY4MjAwQjJEMUMxIC8qIENhbGxJZGVudGlmaWVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0
dXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMEI4M0I5MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxs
UmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2OUND
ODkxOTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjI0RTU0MjE3RUE5RjU5MDBBQkIyMTcgLyogQ0NhbGxIZWxwZXJzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzZBQUFFNTBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NjlBMDc5NzBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjhGOTQ0MTE2Njc2MzMyMDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZDOTdGMzQxODIwMjBENzAwMkM5QjI2IC8qIENvZGVCbG9j
a0pldHRpc29uaW5nV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBFQ0E2MDgxQUZE
QkVBMjAwNDQ5NzM5IC8qIFRlbXBsYXRlUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
RDhBMzE0MTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGOTZFQkIzMTY2NzZFRjYwMDhCQURFMyAvKiBDb2RlQmxvY2tXaXRoSklUVHlwZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTc3RjE4MjIxNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVDYWNoZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODZFMTE2QjEwRkU3NUFDODAwQjUxMkJDIC8qIENvZGVMb2Nh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCRDdFNjkxNDQ3OTk5NjAwNDgxMzE1IC8qIENv
ZGVPcmlnaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMjFDMjdEMTRCRTcyN0EwMEFEQzY0QiAv
KiBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjBCODNBNzE0
QkNGNTA3MDA4ODVCNEYgLyogQ29kZVR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDM0Yz
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBDb21tb25JZGVudGlmaWVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNzA5RkI4NkMxQUUzMzVDNjAwMzlEMDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMTVGMTVGMTRCN0E3M0UwMDVERTM3RCAvKiBDb21tb25TbG93UGF0aHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTY1NTNBMzMyMTdBMUYxRUUwMDhDRjZGMyAvKiBDb21tb25T
bG93UGF0aHNFeGNlcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkQ4MkUzOTE0MUFCMTRE
MDAxNzlDOTQgLyogQ29tcGFjdEpJVENvZGVNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RTVB
M0E4MTc5NzQzMkQwMEU4OTNDMCAvKiBDb21waWxhdGlvblJlc3VsdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTUzQ0UwODgxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkMxOEMzRjQwRTE2RjVDRDAwQjM0NDYwIC8qIENvbXBsZXRpb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGREIyQ0VBMTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SklUTG9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMzRjUwRTE2RjVDRDAwQjM0NDYwIC8qIGNvbmZp
Zy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGQjZDMzkxQUY0OEREQzAwREIxQkY3IC8qIFR5cGVv
ZlR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0NDgzNkU3MTMyREE3QkUwMDVCRTc4NSAvKiBD
b25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwN0ExODlCMDUxMDAw
NjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3NDE4
OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZD
OTlEMTE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzNGNjBFMTZGNUNEMDBCMzQ0NjAgLyogQ29uc3RydWN0RGF0YS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTU3RDIzRjIxODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRUFEMkZDMTRGMDI0OTgwMEE0QjE1OSAvKiBDb3Bp
ZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2
NSAvKiBDb3BpZWRCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJGQzlCRDMxNjY0NERGQjAw
ODEwRDMzIC8qIENvcGllZEJsb2NrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTEyQkJG
RjIxQjA0NEE4QjAwNjY0QjY5IC8qIEludGxPYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
RUFBM0ZBMTQ5QTgzNUUwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQzJDOEQwMkQxNEEzQzZFMDAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZFRTk4NDExQTg4NjVCNzAwNzU0RTkzIC8qIFNldHVwVmFyYXJnc0Zy
YW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGRDE5QURBNDEwMDA2QUM3MkEgLyogREZH
QmxvY2tNYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVBNTJEMDE3QURENzE3MDA4
RUNCMkQgLyogQ29weVRva2VuLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjIzOUQxODE2MjYyQkRE
MDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyMjM5RDE5MTYy
NjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCTJBNjgyOTVCMTg3NUY4MDUwMEI2QzNFMiAvKiBDb3B5V3JpdGVCYXJyaWVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hf
dGFibGUgaW4gSGVhZGVycyAqLywKKwkJCQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0
YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjlDRTUxOUQwQkE3RDAwQjFEMUI1IC8q
IERGR0luc2VydE9TUkhpbnRzRm9yVXBkYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZE
RjE3QjZCNUFCMDBBN0FFM0YgLyogRGF0YVZpZXcuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRDIw
MzRBMEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxMzU5Q0YzMEZERDg5QUQwMDIwNjE4MCAvKiBEYXRlQ29udmVyc2lvbi5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQkMxMTY2MDIwRTE5OTdCNDAwODA2NkREIC8qIERhdGVJbnN0YW5jZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY2NEIyN0ExQTc5NTdCMjAwNkU0RTY2IC8qIENhbGxFZGdlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNEExNTYzMjEwOTY2MzY1MDA2RkEyNjAgLyogRGF0ZUluc3Rh
bmNlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRDIwMzRDMEUxNzEzNUUwMDJDN0U4MiAv
KiBEYXRlUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDNFODBFMTcxOEY0MDAy
QzdFODIgLyogRGF0ZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDM0ZB
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBEZWJ1Z2dlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEMz
RkIwRTE2RjVDRDAwQjM0NDYwIC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywK
KwkJCQlGRUEwODYyMTE4MkI3QTA0MDBGNkQ4NTEgLyogRGVidWdnZXJQcmltaXRpdmVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjEzNkQ0RDE3NEFENjlFMDA3NUIzNTQgLyogRGVmZXJHQy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEZDNzEyREYxN0NEODc3QzAwOENDOTNDIC8qIERlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc3QTQyM0UxN0EwQkJGRDAw
QThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVFQTcwRTgx
OUY1QjEwMTAwOThGNUVDIC8qIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTcwNEQ5MDMxN0EwQkFBODAwNkJBNTU0IC8qIERGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MDREOTA0MTdBMEJBQTgwMDZC
QTU1NCAvKiBERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY2MjAxNzcxNDNGQ0QzRjAwNjhCNzdDIC8qIERGR0Fic3RyYWN0VmFsdWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRjA1NEZBMUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxlQWxsb2Nh
dGlvbkZ1enouaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjZFMTZCMTRERjNGMTYwMEI3QjJFNCAv
KiBERkdBZGphY2VuY3lMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZCOTIxODE2RDAyRUIy
MDA1NUE1REIgLyogREZHQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzM3ODEwQzE3
OTlFQTJFMDA4MTc1MzMgLyogREZHQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUz
QTQ2MTUzNENCQUYwMDBGOTQ1NiAvKiBERkdBcmd1bWVudFBvc2l0aW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNUMzQTFBNjE4QzA0OTAyMDBDOTU5M0EgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ4NTMyMjE4Nzc1MDU2MDA4M0I2ODcgLyog
REZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjA1QzNCNDE2ODNDRjkyMDBCQUY0
NUIgLyogREZHQXJyYXlpZnlTbG93UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEY2Mzk0ODUxNUU0ODExQjAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdEOUEyOTUxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0F0VGFpbEFic3RyYWN0U3RhdGUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjY2RUM3MTgzNTY3MkIwMEQwMTdGMSAvKiBERkdBdmFp
bGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNzE0Q0E1MTZFQTkyRjIwMEYzRUJFQiAv
KiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjYy
MDE3NjE0M0ZDRDNCMDA2OEI3N0MgLyogREZHQmFzaWNCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZGQjkyMUExNkQwMkVDNTAwNTVBNURCIC8qIERGR0Jhc2ljQmxvY2tJbmxpbmVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlBN0Q4OUNGNDE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNl
cnRpb25TZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAv
KiBERkdCcmFuY2hEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RUM5REM1MTMyOERG
ODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
NTZDMzYxNjI3QjBBRDAwN0YyNzgzIC8qIERGR0NhbGxBcnJheUFsbG9jYXRvclNsb3dQYXRoR2Vu
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdCMjk0QjE0QzNDRDJGMDA3QzNEQjEgLyog
REZHQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZGQzk1ODE0RUY5MEEyMDBD
NzI1MzIgLyogREZHQ0ZBUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkREODBCMUFCM0Q4
NTgwMEJCQjhFOCAvKiBCeXRlY29kZUtpbGxzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNCM0Ey
ODE1NDRDOTk3MDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTc3QTQyNDAxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Nsb2JiZXJpemUuaCBp
biBIZWFkZXJzICovLAorCQkJCUE3N0E0MjQyMTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVy
U2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdCMjk0RDE0QzNDRDRDMDA3QzNEQjEgLyogREZH
Q29tbW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyog
REZHQ29tbW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0
NEQzIC8qIERGR0NvbXBpbGF0aW9uS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjM4QjAxQTE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjNCM0ExQjE1M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVFOCAvKiBERkdDUFNSZXRo
cmVhZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q4OUNGNjE3QTBCOENDMDA3NzNB
RDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGRkM5NUExNEVGOTBBOTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjJGQzc3MzE2RTEyRjc0MDAzOEQ5NzYgLyogREZHRENFUGhhc2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGOEYyQjlBMTcyRjA1MDEwMDdEQkRBNSAvKiBERkdEZXNpcmVkSWRlbnRpZmll
cnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyQzBGN0NFMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdE
ZXNpcmVkVHJhbnNpdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTg1MzRDMTcyM0NEQTUw
MEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
OTgxRkQ5MTdCQUVFNEIwMEEzQkM5OCAvKiBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUMyOTgxRkREMTdCQUZGNDQwMEEzQkM5OCAvKiBERkdEZXNpcmVkV3Jp
dGVCYXJyaWVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNDI3NjUxNTkxQTFDRTAwNENCOUZG
IC8qIERGR0Rpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEODFBRDMxNTRGQjRG
MDAwOTgzRTcyIC8qIERGR0RvbWluYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUzQTQ3
MTUzNENCQjkwMDBGOTQ1NiAvKiBERkdEb3VibGVGb3JtYXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3RDlBMjk2MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdFZGdlRG9taW5hdGVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkJGMTU4RDE5QjdBNTMxMDA2OTVERDAgLyogREZHQmxvY2tT
ZXRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVERDAg
LyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQkMwQUU4MTQ5
NkM3QzcwMEQ0RkJERCAvKiBERkdFeGl0UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc4
QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTdCRkYzQzAxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1bHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE3OEE5Nzc3MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkJEQzE2MTUxQzVENEYwMENEODkxMCAvKiBE
RkdGaXh1cFBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGQzE5QURBNDEwMDA2QUM3
MkEgLyogREZHQmxvY2tNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUQzMzk3MTdGRkM0RTYw
MDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RDg5Q0Y4MTdB
MEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZF
QzlEQzYxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0dlbmVyYXRpb25JbmZvLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NkVDOURDODEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGMkZDQ0ZBMThBNjAwNzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTRFMjExODEyNTcwQjAwOUI2QjREIC8qIERGR0lubGlu
ZUNhY2hlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTRFMjMxODEzMDk1NTAwOUI2
QjREIC8qIERGR0lubGluZUNhY2hlV3JhcHBlcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGNzkwODU2MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwNEQ5MDYxN0EwQkFBODAwNkJBNTU0IC8qIERGR0lu
UGxhY2VBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCREMyMTE1MUU4MDNC
MDBDRDg5MTAgLyogREZHSW5zZXJ0aW9uU2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjMwMEI3
QzE4QUIxQjE0MDBBNkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQzk3RjNFMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdJbnZhbGlkYXRp
b25Qb2ludEluamVjdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEzNDE3MEQ0
MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQzlEQ0Mx
MzI4REY4MjAwMkIyQUQ3IC8qIERGR0pJVENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NzhBOTc3OTE3OTczOEI4MDA5REY3NDQgLyogREZHSklURmluYWxpemVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkM5N0Y0MDE4MjAyMTE5MDAyQzlCMjYgLyogREZHSnVtcFJlcGxhY2VtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNzNBNTM1QjE3OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpT
VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI5Q0U5MTlEMEJBN0QwMEIxRDFCNSAvKiBE
RkdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q5QTI5
ODE3QTBCQzc0MDBFRTI2MTggLyogREZHTElDTVBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
N0Q4OUNGQzE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkYwRjE5QjE2QjcyOUZBMDA1REY5NUIgLyogREZHTG9uZ0xpdmVk
U3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwOUZCODY4MUFFMzM1QzYwMDM5RDA2OSAvKiBK
U1dlYWtTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NjdCNUI2MTdBMEI5NjUwMDYzRDk0MCAv
KiBERkdMb29wUHJlSGVhZGVyQ3JlYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
QjlDRUQxOUQwQkE3RDAwQjFEMUI1IC8qIERGR1Byb21vdGVkSGVhcExvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNzA0RDkwNzE3QTBCQUE4MDA2QkE1NTQgLyogREZHTWVyZ2VNb2RlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkIxNzY2MzE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZh
bHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCREM0NTE1MjI4MDFCMDBDRDg5MTAgLyogREZH
TWluaWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0
RkQyIC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkJEQzQ2MTUyMjgw
MjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3Mzc4
MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1REIgLyogREZHTm9kZUFsbG9jYXRvci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZBNTgxQkIxNTBFOTUzMDAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYzMDBCNzgxOEFCMDUxMTAwQTZENzJFIC8qIERGR05vZGVP
cmlnaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQTU4MUJDMTUwRTk1MzAwMEI5QTJEOSAvKiBE
RkdOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQzlERDAxMzI4REY4MjAwMkIyQUQ3
IC8qIERGR09wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RDg5Q0ZFMTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkQ4MkU1NzE0MURBRjEwMDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRDhBMzI2MTdENTFGNTcwMENBMkM0MCAvKiBERkdPU1JFbnRyeXBvaW50
Q3JlYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjJGMkFBMzgxQjBCRURFMzAwNjEw
QzdBIC8qIERGR0xhenlOb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMwOTc2QTE0NjhBNkY3
MDBDRjI0NDIgLyogREZHT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRUMxNzE3
OEU3MzAwNjkwQzdGIC8qIERGR09TUkV4aXRCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZC
OTIxQzE2RDAyRjExMDA1NUE1REIgLyogREZHT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZDMDk3NzExNDY5M0FGNTAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21w
aWxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3MDI1QUExNzE0QjBGQzAwMzgyQzBFIC8qIERG
R09TUkV4aXRDb21waWxlckNvbW1vbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOTQ5ODUxQTk3
REI5NjAwRTI4OTY2IC8qIEpTRnVuY3Rpb25OYW1lU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRUZDOUFCMTY4MUEzQjYwMDU2N0Y1MyAvKiBERkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjRDRUQ1RjE4Q0VBN0FCMDA4MDJGRTAgLyogUG9seW1vcnBo
aWNHZXRCeUlkTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRUUxNzE3OEU3MzAwNjkw
QzdGIC8qIERGR09TUkV4aXRQcmVwYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGRkM5
NUMxNEVGOTBBRjAwQzcyNTMyIC8qIERGR1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVB
NzBFRTE5RjVCNUM0MDA5OEY1RUMgLyogSlNDb250ZXh0UmVmSW5zcGVjdG9yU3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTc4QTk3N0IxNzk3MzhCODAwOURGNzQ0IC8qIERGR1BsYW4uaCBp
biBIZWFkZXJzICovLAorCQkJCTBGQkUwRjc1MTZDMURCMEIwMDgyQzVFOCAvKiBERkdQcmVkaWN0
aW9uSW5qZWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRkZDOTVFMTRFRjkwQjcw
MEM3MjUzMiAvKiBERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODZFQzlERDExMzI4REY4MjAwMkIyQUQ3IC8qIERGR1JlZ2lzdGVyQmFuay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyRkNDRkMxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NhZmVwb2ludC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTc3QTQyNDMxN0EwQkJGRDAwQThEQjgxIC8qIERGR1NhZmVU
b0V4ZWN1dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NDEwMTdGMTc5REFGODAwMDJFQjhCQSAv
KiBERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93UGF0aEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEYyRkNDRkQxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1NjYW5uYWJsZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxp
dGllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFQ0EzRkExMzJERjI1QTAwMkIyQUQ3IC8qIERG
R1Njb3JlQm9hcmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMUUzQTY3MTUzQTIxRTIwMDBGOTQ1
NiAvKiBERkdTaWxlbnRSZWdpc3RlclNhdmVQbGFuLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkZC
OTIxRDE2RDAyRjMwMDA1NUE1REIgLyogREZHU2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2RUM5REQzMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTdEODlEMDAxN0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNv
bnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDMjBDQkExODU1NkEzNTAwQzlF
OTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUZCNEY1
MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjlFMzI2NDFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9u
UGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNEYyOUUwMThCNkFEMUMwMDU3QkMxNSAvKiBE
RkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZDMjBDQjYxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1
Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJGQ0NGRjE4QTYwMDcw
MDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDMDk3QTIx
NDZCMjhDQzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOEEz
MjgxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGRDhBMzJBMTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVy
cmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEOEEzMkMxN0Q1
MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNjM5NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBE
RkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkJFMEY3NzE2
QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEYzNEIxNEExNkQ0MjAxMzAwMUNEQTVBIC8qIERGR1VzZUtpbmQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGM0IzQTJDMTU0NzUwMDIwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyQkRDNDgxNTIyODAyOTAwQ0Q4OTEwIC8qIERGR1ZhbHVlU291cmNlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjYyMDE3NDE0M0ZDRDMzMDA2OEI3N0MgLyogREZHVmFyaWFi
bGVBY2Nlc3NEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkFBM0UwOTE5RDBDMkNCMDBGQUM5
RTIgLyogREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRERCRkI2
MTY2NkVFREEwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjJCREM0OTE1MjI4MDk2MDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQkRDNEIxNTIyODA5RDAwQ0Q4OTEwIC8qIERGR1Zhcmlh
YmxlRXZlbnRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRkZDOTYwMTRFRjkwQkQwMEM3
MjUzMiAvKiBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGQzk3RjQyMTgyMDIxMTkwMDJDOUIyNiAvKiBERkdXYXRjaHBvaW50Q29sbGVjdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkRCMkNFODE3NDgzMEEyMDA3QjNDMUIgLyog
REZHV29ya2xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRjQyNzMxMTU4RUJENTQwMDRDQjlG
RiAvKiBEaXNhc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MDQ0N0VFMTdBMEJENzAw
MEY1ODk4RSAvKiBEdW1wQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTlFNDVBMjQxOEEx
QjI1OTAwMjZEODhGIC8qIEVtcHR5SW5wdXRDdXJzb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5
RTQ1QTI2MThBMUIyNTkwMDI2RDg4RiAvKiBFbmNvZGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGNTg3NEVFMTk0RkVCMTIwMEFBQjJDMSAvKiBERkdNYXlFeGl0LmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQzMwNDYwNzBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMDJFOTBEMEUxODM5REIwMDBGOTI5NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGRUI1OEMxNTE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGlu
Z1Njb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzAyRTk4RDBFMTgzRTM4MDAwRjkyOTcgLyog
RXJyb3JJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMwMkU5MEYwRTE4MzlEQjAwMEY5
Mjk3IC8qIEVycm9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDc5ODBFRDFE
M0FFMDBGMUY2ODEgLyogRXZhbENvZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0OTgy
MDQxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0MDAwRTE2RjVDRDAwQjM0NDYwIC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg2Q0FGRUUzMTAzNURERTYwMDI4QTYwOSAvKiBFeGVjdXRhYmxlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNzY2QjQ0RjBFRThEQ0QxMDA5NTE4Q0EgLyogRXhlY3V0YWJsZUFsbG9jYXRv
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY1NkExRDMxNTAwMEYzNTAwMjk5MkIxIC8qIEV4ZWN1
dGlvbkNvdW50ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGM0FDNzU0MTg4RTVFQzgwMDMyMDI5
RiAvKiBFeGl0aW5nSklUVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1ODYxNjc1NDgx
MjAwRjhBQjZFIC8qIEV4aXRLaW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjBCODNBQjE0QkNG
NUJCMDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTdBOEFGMzgxN0FEQjVGMzAwNUFCMTc0IC8qIEZsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdBOEFGMzkxN0FEQjVGMzAwNUFCMTc0IC8qIEZsb2F0NjRBcnJheS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyNEU1NDMxN0VBOUY1OTAwQUJCMjE3IC8qIEZQUkluZm8uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTcwOTRDNERGMUFFNDM5NTMwMDQxQTJFRSAvKiBCeXRlY29kZUludHJpbnNp
Y1JlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkRCMkNDOTE3M0RBNTIwMDA3QjNDMUIg
LyogRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMDgxNzA1
MTNEQjAwQkI3MjJDIC8qIEZUTEFiYnJldmlhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
M0NFMDhBMThCQzIxQzMwMEJFREY3NiAvKiBDb25zb2xlQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkUwNTAxOTFBQTkwOTExMDBEMzNCMzMgLyogR2VuZXJpY0FyZ3VtZW50cy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZFQTBBMUQxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVh
cC5oIGluIEhlYWRlcnMgKi8sCisJCQkJREMwMDAzOTMxOUQ4QkU2RjAwMDIzRUIwIC8qIERGR1By
ZWNpc2VMb2NhbENsb2JiZXJpemUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTFGMTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjQ4NTMyODE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGRUEwQTBBMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTIzMTcwOTYwNjkwMEJCNzIyQyAvKiBG
VExDb21tb25WYWx1ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRUEwQTBDMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExDb21waWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkU5NUY3QTE4QjU2OTQ3
MDBCNTMxRkIgLyogRlRMRGF0YVNlY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQzkyMkJD
MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMjM1QkQ0MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMjM1QkQ2MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1l
bnRGb3JPcGVyYW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjIzNUJENzE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMRXhpdEFyZ3VtZW50TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRDkx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY5RDM2OTUxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyMzVCREIxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRWYWx1ZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTUzQ0UwODYxOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQ
cm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RjI5OTZDMTdBMEJCNjcwMDEwNDE3QSAv
KiBGVExGYWlsLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEEyQzE3MEI2NjE5MDBCQjcyMkMg
LyogRlRMRm9ybWF0dGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDhBMzFBMTdENTFG
MjIwMENBMkM0MCAvKiBGVExGb3JPU1JFbnRyeUpJVENvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE3OEE5NzdGMTc5NzM4RDUwMDlERjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyNUYxQUUxODE2MzVGMzAwNTIyRjM5IC8qIEZUTElubGluZUNhY2hl
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNUYxQjAxODE2MzVGMzAwNTIyRjM5
IC8qIEZUTElubGluZUNhY2hlU2l6ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMjQxNzA5
NjA2OTAwQkI3MjJDIC8qIEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGRUEwQTBFMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNzhBOTc4MTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkVENjdCQTFCMjYyNTZEMDA2NkNFMTUgLyogREZHQ29uc3RhbnRI
b2lzdGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNCNjE4NUZDOUU5MDA4NDVE
OTcgLyogRlRMSlNDYWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjhGMkI5NjE3MkUwNEEzMDA3
REJEQTUgLyogRlRMTGluay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRTAxODA3MzhDMDAw
NDcyQ0U0IC8qIEZUTExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkVBMEExMDE3MDUx
M0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
RDg5RDAyMTdBMEI5MDQwMDc3M0FEOCAvKiBGVExMb3dlcmVkTm9kZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkQ4QTMxQzE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMjM1QkREMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjIzNUJERTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhp
dENvbXBpbGF0aW9uSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRTAxNzE3OEUxQzAw
NjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTJCMzEw
RkIxOTc0QUU2MTAwODA4NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZFQTBBMTExNzA1MTNEQjAwQkI3MjJDIC8qIEZUTE91dHB1dC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOUU3Mjk0MEIxOTBGMDUxNDAwMUE5MUI1IC8qIEJ1bmRsZVBhdGguaCBp
biBIZWFkZXJzICovLAorCQkJCTBGNDg1MzJBMTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVy
eU9wY29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQzQxODYyQzQ3ODAwODQ1RDk3IC8q
IEZUTFJlZ2lzdGVyQXRPZmZzZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUFDMTgwNEMx
M0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNUYx
QjIxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEYyNUYxQjQxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbEtleS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY5RDMzOUIxODAzQURCNzAwNzNDMkJDIC8qIEZUTFN0YWNrTWFwcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMTIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTFN0YXRl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0ZDQzI2RDE3QTBCNkFBMDA3ODZEMUEgLyogRlRMU3dp
dGNoQ2FzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyMzVCRTIxNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTFRodW5rcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFQTBBMjAxNzA4QjAwNzAwQkI3MjJD
IC8qIEZUTFR5cGVkUG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQzYxODYyQzQ3
ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMjM1QkU0
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZEQjJDQ0ExNzNEQTUyMzAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkU3MjExRTE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNpdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFu
Z2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDMzMkM2MThCNTNGQTkwMDVGOTc5QSAvKiBGVExX
ZWlnaHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDMzMkM4MThCNTQ2RUMwMDVGOTc5QSAvKiBG
VExXZWlnaHRlZFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2NjZFQzExODM1NjZGOTAw
RDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxpdmVuZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQwNDBFMTZGNUNEMDBCMzQ0NjAgLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZGMEYxQTAxNkI3MkExQTAwNURGOTVCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1
bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDA1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBGdW5j
dGlvblByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkNCRTJDQUUxNEU5ODVBQTAwMDU5
M0FEIC8qIEdDQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3NjZEMzAxNUE4RENF
MjAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzBFQzBFQzcxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjJCNjZBQzE3QjZCNTNGMDBBN0FFM0YgLyogR0NJbmNvbWluZ1Jl
ZkNvdW50ZWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkFEMTdCNkI1NDUwMEE3QUUzRiAv
KiBHQ0luY29taW5nUmVmQ291bnRlZElubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2
NkFFMTdCNkI1NDUwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZFNldC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEYyQjY2QUYxN0I2QjU0NTAwQTdBRTNGIC8qIEdDSW5jb21pbmdSZWZDb3Vu
dGVkU2V0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzIyMzlEMUIxNjI2MkJERDAwNUFD
NUZEIC8qIEdDVGhyZWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjExMjJFMjE1REQ5QUIzMDA3
OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZF
MDE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjFGRTUxQzE5MjJBM0JDMDA2OTg3QzUgLyogQWJvcnRSZWFzb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMkI2NkUxMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlwZWRBcnJh
eVZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjkzMzJBMDE0Q0E3RENEMDA4NUYz
QzYgLyogR2V0QnlJZFN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYwMzMyQzQxOEIwMTc2
MzAwNUY5NzlBIC8qIEdldEJ5SWRWYXJpYW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0RTU0
NDE3RUE5RjU5MDBBQkIyMTcgLyogR1BSSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRTMx
MzQxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzI4MzE5
MDAxNkZFNEI3RDAwMTU3QkZEIC8qIEhhbmRsZUJsb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
MjgzMTkwMjE2RkU1MzNFMDAxNTdCRkQgLyogSGFuZGxlQmxvY2tJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjBCODNBOTE0QkNGNTYyMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkQ0REVDMTk4MzJEQzQwMDdENEIxOSAvKiBUeXBlUHJvZmlsZXJM
b2cuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM2MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5k
bGVTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM4MTM0RkYwQTYwMEFGQURCNSAvKiBI
YW5kbGVTdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQ3ODI5N0IxMzc5RThBODAwQTdDMkEz
IC8qIEhhbmRsZVR5cGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEJBN0E5ODEzQUFERkY4MDA1
QjdDMkMgLyogSGVhcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJDOEQwMzExNEEzQ0VGQzAwNTc4
RTY1IC8qIEhlYXBCbG9jay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkFEODkzMkIxN0UzODY4RjAw
NjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkE2RjQ2
MjYxN0U5NTlDRTAwQzQ1Qzk4IC8qIEhlYXBPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRTA1MDE0MUFBOTA5MTEwMEQzM0IzMyAvKiBBcmd1bWVudHNNb2RlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNEY5NzQ0NzEzOEM4NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDMjREMzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3Rp
Y3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyRTUyNkJFMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFw
VGltZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MEQ1MTRCQkQyNEIwMEJGRTI3MiAvKiBI
b3N0Q2FsbFJldHVyblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQwRjBFMTZGNUNE
MDBCMzQ0NjAgLyogSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzYxODlC
MDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTk2MjMxRTkxOEQxODA0MjAwQzAzRkRBIC8qIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBp
biBIZWFkZXJzICovLAorCQkJCUMyNUY4QkNFMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRh
bFN3ZWVwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQjdGMzk5MTVFRDhFNDYwMEYxNjdCMiAv
KiBJbmRleGluZ0hlYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCN0YzOUExNUVEOEU0NjAw
RjE2N0IyIC8qIEluZGV4aW5nSGVhZGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZC
N0YzOUIxNUVEOEU0NjAwRjE2N0IyIC8qIEluZGV4aW5nVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkNFRkFDQzE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTAwRTE2RjVDRDAwQjM0NDYwIC8qIEluaXRp
YWxpemVUaHJlYWRpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MTNFNUI4MTg1QjhCRDMwMDdF
OTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxNEIyQzMxODVB
Njg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTUxM0U1QkUxODVCRkFDQzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTUxM0U1Q0IxODVGOTYyNDAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0TWFu
YWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU4NDBFMjExODdCN0I4NjAwODQzQjEwIC8qIElu
amVjdGVkU2NyaXB0TW9kdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTEzRTVDNzE4NUY5NDQ2
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
ODQwRTI5MTg3Q0E1RTYwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1h
bmQtc2NyaXB0cy5weSBpbiBIZWFkZXJzICovLAorCQkJCTBGMjRFNTU2MTdGMEI3MUMwMEFCQjIx
NyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5RTQ1QTI3MThB
MUIyNTkwMDI2RDg4RiAvKiBJbnB1dEN1cnNvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU5M0NG
N0YxODQwMzYyQzAwQkZDRTI3IC8qIEluc3BlY3RvckFnZW50QmFzZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEYzRTAxQUIxOUQzNTNBNTAwRjYxQjdGIC8qIERGR1ByZVBvc3ROdW1iZXJpbmcuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1OTNDRjg3MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JB
Z2VudFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUwNTAyNjFBQTkwOTU2MDBEMzNC
MzMgLyogQ2xvbmVkQXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTkzQ0Y3RDE4NDAz
NjAzMDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1N0QyM0U2MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUQwQTFCQjE4NjIzMDFCMDBD
N0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1OTQ1
NTk1MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5MiAvKiBDb21iaW5lZERvbWFpbnMu
anNvbiBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0Mzg4MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0MzhBMTg1
NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4NjA2RERFQTE4REE0NEFCMDBBMzgzRDAgLyogSWRlbnRpZmllcklubGluZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzI0MzhDMTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MEU0QjYyMTg4MDlERDUw
MDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
NUQ5M0FDMTg1MTRGNzkwMDQwMERFRCAvKiBJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNTkzQ0Y4MzE4NDAzNzcxMDBCRkNFMjcgLyogSW5zcGVjdG9yVmFsdWVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDc5OTBFRDFEM0FFMDBGMUY2ODEgLyogSW5zdHJ1
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QThBRjNCMTdBREI1RjMwMDVBQjE3NCAvKiBJ
bnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzQzE3QURCNUYzMDA1QUIxNzQg
LyogSW50MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGM0ExN0FEQjVGMzAwNUFC
MTc0IC8qIEludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc4ODUzRkExNzk3MjYyOTAw
MTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg2MEJEODAxMTQ4RUE2RjIwMDExMkIyRiAvKiBJbnRyaW5zaWMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTcwMTEzRDRDMUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJh
dGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDEzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBK
YXZhU2NyaXB0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNGNTE5RDBCQUMxMDBCMUQxQjUg
LyogRlRMRXhpdFByb3BlcnR5VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1NTJDMzgwMUFE
REI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTUwM0ZBMUExODhFMEZCMDAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUJDMThDNDE0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0Q29yZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTUwRTE2RjVDRDAwQjM0NDYwIC8qIEphdmFTY3Jp
cHRDb3JlUHJlZml4LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDkzMDBFRDIyRDcwMDBCODk2
MTkgLyogSklULmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUVBNzBFOTE5RjVCMTAxMDA5OEY1RUMg
LyogQWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2Q0NF
RkRFMEY0MTNGODkwMEZEN0Y5RSAvKiBKSVRDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjA3
NzZCRjE0RkYwMDJCMDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGQUY3RUZFMTY1QkE5MUYwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGNDY4MDgyMTRCQTU3MkQwMEJGRTI3MiAvKiBKSVRFeGNlcHRp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkIxNEUxRjE4MTI0QUNFMDA5QjZCNEQgLyogSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2Q0M4NUExMEVFNzlB
NDcwMDI4ODY4MiAvKiBKSVRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0RTU0RDE3
RUUyNzQ5MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3
NjZEMzExNUFBODExMjAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjc2NkQyQzE1QThDQzNBMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmVTZXQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0QzUyNDJCMEY1MzU1RTkwMEJBM0QwNCAvKiBKSVRTdHVicy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEYzQjdFMkIxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUY2ODM1RTE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1
YnNBUk0uaCBpbiBIZWFkZXJzICovLAorCQkJCUZFRjY4MzVGMTc0MzQzQ0MwMEEzMkUyNSAvKiBK
SVRTdHVic0FSTXY3LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUY2ODM2MTE3NDM0M0NDMDBBMzJF
MjUgLyogSklUU3R1YnNYODYuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFRjY4MzYwMTc0MzQzQ0Mw
MEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUREQjFGNjMx
OEQ3N0RCRTAwOUI1OEE4IC8qIE9wYXF1ZVJvb3RTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
QTRBRTEwMTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic1g4NkNvbW1vbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY1RUY5MUYxNjg3OEY3RDAwM0U1QzI1IC8qIEpJVFRodW5rcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDNzEyRTMxN0NEODc5MzAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzZGNTRBMzEzQjI4QUFC
MDBFRjJCQ0UgLyogSklUV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQx
NjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNMZXhpY2FsRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg0MDQ4MDEzMTAyMUExRDkwMDhFN0YwMSAvKiBKU0FQSVZhbHVlV3JhcHBlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQzJDRjM5QzIxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBl
ck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MTcwRTE2RjVDRDAwQjM0NDYwIC8q
IEpTQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkUzMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFNTE3QjZCNUFCMDBB
N0FFM0YgLyogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RjJCNjZFNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEYyQjY2RTkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJW
aWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNB
cnJheUJ1ZmZlclZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0JEQUVDQjE3RjRF
QTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQxODBFMTZGNUNEMDBCMzQ0NjAgLyogSlNCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJE
NERFOTE5ODMyREFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxNDBEMTdENzBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNjU3Q0Y0NTkxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxOTBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxQTBFMTZGNUNEMDBCMzQ0
NjAgLyogSlNDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNGOTE5
RDBCQUMxMDBCMUQxQjUgLyogRlRMT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0MUIwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDFDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0Q4MDFBOTE4ODBENkE4MDAyNkMzOUIgLyogSlND
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMTE2N0RBMEUxOUJDQzkwMDgwNjZERCAv
KiBKU0NlbGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTc0OTcxMTY4N0FERTQwMEE0RkY2QSAv
KiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjFERDg0QTE4QTk0NUJFMDAy
NkYzRkEgLyogSlNDSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFMDUwMUExQUE5MDkx
MTAwRDMzQjMzIC8qIEdlbmVyaWNBcmd1bWVudHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzQyQjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDSlNWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY2NEIyNzIxQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3aXRjaC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODY1QTMwRjExMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pTVmFsdWVJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxRDBFMTZGNUNEMDBCMzQ0NjAgLyogSlNDbGFz
c1JlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTMxNjdCQUJENzAwNkQ3NjBBIC8qIEpT
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTcxNjdCQUJFRTAwNkQ3NjBBIC8q
IEpTQ29udGV4dEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQxRTBFMTZGNUNE
MDBCMzQ0NjAgLyogSlNDb250ZXh0UmVmLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDhDRDFEODEw
OENGOTAyMDA4MTYzQzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY3NTc2RDMxOEUxRkVFOTAwMkVGNENEIC8qIEFjY2Vzc29yQ2FsbEpJ
VFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFQzE3QjZCNUFCMDBBN0FF
M0YgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RUUxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk3ODgw
MTQxMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
MkE3RjY4ODE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg2RTNDNjE0MTY3QkFCRDcwMDZENzYwQSAvKiBKU0V4cG9ydC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdCNEFDQUYxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZFRjE3QjZCNUFCMDBBN0FFM0YgLyogSlNGbG9h
dDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NkYwMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0Zsb2F0NjRBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0MUYwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE3MjAyOEJBMTc5NzYw
M0QwMDk4MDI4QyAvKiBKU0Z1bmN0aW9uSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYy
QjY2RjExN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjJCNjZGMjE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRB
cnJheVZpZXdDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RjMxN0I2QjVB
QjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNDE3QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVBMTI3NDE5MkQ5
RkRGMDA4NzY0QTMgLyogREZHRG9lc0dDLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNTE3
QjZCNUFCMDBBN0FFM0YgLyogSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkI2NkY2MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDIx
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0dsb2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVGRDAwODYxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNTk0NTU5MzE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxP
YmplY3REZWJ1Z2dhYmxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTdEMjNFQTE4OTFCMDc3MDAz
MUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzc1NkZDOTBFMjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1MTAwN0MxMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MEU0QjY0MTg4
MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTUwM0ZBMkExODhGMTA1OTAwMTEwRjE0IC8qIEpTR2xvYmFsT2JqZWN0U2NyaXB0
RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MTNFNUMwMTg1QkZBQ0MwMDdFOTVB
RCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxM0U1QzIx
ODVCRkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjJCNjZGODE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQzMkFy
cmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGNzE3QjZCNUFCMDBBN0FFM0YgLyogSlNJ
bnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NkM1MTc2MTE4Mjc0OEQwMDcxNUIwNSAv
KiBKU0ludGVyZmFjZUpJVC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMUUxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkMxOEM0MjMwRTE2RjVDRDAwQjM0NDYwIC8qIEpTTG9jay5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQzI1RDcwOUMxNkRFOTlGNDAwRkNBNkJDIC8qIEpTTWFuYWdlZFZhbHVlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkyQTRCQjdGMzE4QTQxMTc5MDA4QTBGQ0QgLyogSlNNYW5hZ2VkVmFsdWVJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3NDIxN0NCRThFQjAwQzNFNjQzIC8q
IEpTTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzRERUY5NjE4MkQ5OTE0MDA1MjJDMjIgLyog
SlNNYXBJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU4NDBFMkIxODdDQTc1QjAwODQz
QjEwIC8qIGpzbWluLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJMTQ4NzRBRTQxNUVCREU0QTAwMkUz
NTg3IC8qIEpTTmFtZVNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyNDBFMTZGNUNE
MDBCMzQ0NjAgLyogSlNPYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwOUZCODZBMUFFMzM1
QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDI1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTcyODBBMjgxMTU1N0UzMDAwRDU2OTU3IC8qIEpTT2JqZWN0UmVmUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdGOTkzNUYwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDODdDREI5MTA3MTJBRDQwMDA2MTRDRiAvKiBKU09OT2JqZWN0
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTUzNEFBRkIwRTVCN0E5NjAwQjhBNDVCIC8qIEpT
UHJvZmlsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QzE4NEUxQjE3QkVEQkQzMDA3
Q0I2M0EgLyogSlNQcm9taXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QzE4NEUyMzE3QkVFMjQw
MDA3Q0I2M0EgLyogSlNQcm9taXNlQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTdD
MDA4Q0RCMTg3MTI0QkIwMDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0MwMDhDRDMxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJN0MxODRFMUYxN0JFRTIyRTAwN0NCNjNBIC8qIEpTUHJvbWlz
ZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0MwMDhDREYxODcxMjU4RDAwOTU1QzI0
IC8qIEpTUHJvbWlzZVJlYWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjI1NTNEMjE2MTM2
RTFBMDA5RjE3RDAgLyogSlNQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTkyOEZGM0MxOEFD
NEFFQzAwQjhDRjEyIC8qIEpTUmVwbGF5SW5wdXRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQyNjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTE0ODc0QUU2MTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBN0MwQzRBQzE2ODEwMzAyMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjkxOUQxMTE1N0YzMzJDMDA0QTRFN0QgLyogSlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcyOTlEOUUxN0QxMjgzNzAwNUY1RkY5
IC8qIEpTU2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzkwREQ3MDE4MkY0OTk3MDA1ODg4MDcg
LyogSlNTZXRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NUUwRTE2RjVDRDAw
QjM0NDYwIC8qIEpTU3RhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QzFFQUYwMTc5ODdBQjYw
MDI5OURCMiAvKiBKU1N0YWNrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0Mjcw
RTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkU4NTUz
OTExMUI5OTY4MDAxQUY1MUUgLyogSlNTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyNjAwQjVBNzE1MkJBQUE3MDA5MUVFNUYgLyogSlNTdHJpbmdKb2luZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUJDMThDNDI4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1N0cmluZ1JlZi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkMxOEM0MjkwRTE2RjVDRDAwQjM0NDYwIC8qIEpTU3RyaW5nUmVmQ0Yu
aCBpbiBIZWFkZXJzICovLAorCQkJCTFBMjhENEE4MTc3QjcxQzgwMDA3RkEzQyAvKiBKU1N0cmlu
Z1JlZlByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTE5RDBEMTU3RUUwQTIwMDRBNEU3
RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyQTBF
MTZGNUNEMDBCMzQ0NjAgLyogSlNUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUwNTAxNjFB
QTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJndW1lbnRzT2Zmc2V0LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjJCNjZGQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3Jz
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjZGRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBl
ZEFycmF5UHJvdG90eXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQjY2RkYxN0I2QjVBQjAw
QTdBRTNGIC8qIEpTVHlwZWRBcnJheXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTY1MDdEMjlFMEU4
NzFFNUUwMEQ3RDg5NiAvKiBKU1R5cGVJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjcw
MjE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MTZBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYyQjY3MDMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMkQ0REYwMTk4MzJERDYwMDdENEIxOSAvKiBUeXBlU2V0LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjJCNjcwMDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OEFycmF5LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkUwNTAyRDFBQTkwOTU2MDBEMzNCMzMgLyogVmFyT2Zmc2V0LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjJCNjcwMTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50OENsYW1w
ZWRBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZFM0M2MTIxNjdCQUJENzAwNkQ3NjBBIC8q
IEpTVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RTNDNjFCMTY3QkFCRUUwMDZENzYwQSAv
KiBKU1ZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDJDMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBKU1ZhbHVlUmVmLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQyRDBFMTZG
NUNEMDBCMzQ0NjAgLyogSlNFbnZpcm9ubWVudFJlY29yZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODZFM0M2MTUxNjdCQUJENzAwNkQ3NjBBIC8qIEpTVmlydHVhbE1hY2hpbmUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2RTNDNjFEMTY3QkFCRUUwMDZENzYwQSAvKiBKU1ZpcnR1YWxNYWNoaW5lSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI5Q0U3MTlEMEJBN0QwMEIxRDFCNSAvKiBE
RkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0NB
M0FFODE3REE0MUFFMDA2NTM4QUYgLyogSlNXZWFrTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NzQ4MkU5MzExNkE3Q0FEMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGRDk0OTgzMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2Nv
cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NDgyQjkzMTE2NzExNDcwMDNCMDcxMiAvKiBKU1dl
YWtPYmplY3RNYXBSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDQyNTY2MjE1RURF
OThEMDA2NkE0OUIgLyogSlNXaXRoU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RTNDNjE5
MTY3QkFCRUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDJFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU1dyYXBwZXJPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDRkQ4QzkzMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3MkZGRDY0MTM5OTg1QTgwMEU1MzY1QSAvKiBLZXl3b3JkTG9va3VwLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjYyMzc5ODFBRTQ1Q0E3MDBENDAyRUEgLyogREZHUGhhbnRvbUlu
c2VydGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NjlBMDcyQTBFRDFDRTY5MDBGMUY2
ODEgLyogTGFiZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTk2MDA5N0E2MEVCQUJCNTgwMDdBNzI5
NyAvKiBMYWJlbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI1NDY3NzE0RjU5QjVDMDAy
QzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDUyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBMZWdhY3lQcm9maWxlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkMxOEM0MzEwRTE2RjVDRDAwQjM0NDYwIC8qIExleGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCQzE4QzUyRTBFMTZGQ0UxMDBCMzQ0NjAgLyogTGV4ZXIubHV0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NkQzQjNDMzEwMTU5RDdGMDAyODY1RTcgLyogTGlua0J1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEY0MzE3MzgxNDZCQUM2OTAwN0UzODkwIC8qIExpc3RhYmxlSGFuZGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTdFMkVBNkIwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMEZDNDVBMTRCRDE1RjUwMEI4MTE1NCAvKiBM
TEludENhbGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDM0NEMDAxOUFEQTQxMDAw
NkFDNzJBIC8qIERGR0Jsb2NrV29ya2xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTA1MDE4
MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZFMjBDRTlFMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjA0Mzk2RTFCMDNEQzBCMDA5NTk4QjcgLyogREZHQ29tYmluZWRMaXZlbmVzcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY0NjgwQ0ExNEJCQjE2QzAwQkZFMjcyIC8qIExMSW50Q29tbW9u
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkJEQjlBRDFBQjBGQkM2MDAwQjU3RTUgLyogREZHQ2Fs
bENyZWF0ZURpcmVjdEFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjQ2ODBEMzE0QkJEMTY3MDBCRkUyNzIgLyogTExJbnREYXRhLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjM4QjAxMjE3Q0YwNzgzMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRFeGNlcHRp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ2ODBDQjE0QkJCMTcyMDBCRkUyNzIgLyogTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUQyODdCMjE1RUM5QTU3
MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MEE1MTRC
QTdGOEQwMEJGRTI3MiAvKiBMTEludFNsb3dQYXRocy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYw
QjgzOUQxNEJDRjQ2NjAwODg1QjRGIC8qIExMSW50VGh1bmtzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjAxMjMzMzE5NDRFQTFCMDA4NDNBMEMgLyogREZHVmFsdWVTdHJlbmd0aC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzQ0NGRTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxv
Y2tTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RTVBQjM4MTc5OUU0QjIwMEQyODMzRCAvKiBM
TFZNRGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEMzE4MDVFRENDMDA0
NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MkUzMTM5MTM0RkYw
QTYwMEFGQURCNSAvKiBMb2NhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRTMxM0ExMzRGRjBB
NjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDM3MEUx
NkY1Q0QwMEIzNDQ2MCAvKiBMb29rdXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDY4MENEMTRC
QkIxN0QwMEJGRTI3MiAvKiBMb3dMZXZlbEludGVycHJldGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxNEI3MjNCODEyRDdEQTZGMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NkMzNkVFQTBFRTEyODlEMDBCM0RGNTkgLyogTWFjcm9Bc3NlbWJsZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg2RDNCMkM2MTAxNTZCREUwMDI4NjVFNyAvKiBNYWNyb0Fz
c2VtYmxlckFSTS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzEx
IC8qIE1hY3JvQXNzZW1ibGVyQVJNNjQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2QUREMTQ2MEZE
REVBOTgwMDA2RUVDMiAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4NjNCMjNFMDBGQzYxMTg5MDA3MDNBQTQgLyogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4NkM1NjhFMTExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJs
ZXJNSVBTLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkFFNjRBOTEzNUU1RTFDMDA5NjMwMTIgLyog
TWFjcm9Bc3NlbWJsZXJTSDQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MDE2MUU0MEYzQTgzQzEw
MEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4Ni5oIGluIEhlYWRlcnMgKi8sCisJCQkJODYwMTYx
RTUwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2XzY0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NjAxNjFFNjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTNCNEFBMThCOTJDNEQwMDE3OEEzRiAvKiBQdXRC
eUlkVmFyaWFudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQz
IC8qIE1hcENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzg1MDdENzE3Q0JDNkZE
MDAxMUY2RTcgLyogTWFwRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEE2NDQxNTE5NDIwQTZD
NjFBRDE4ODJFIC8qIE1hcERhdGFJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTRCRkYy
QzFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25PdmVycmlkZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE3NERFRjk0MTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTcwMDg3M0UxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlw
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtl
ZEFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRDZGMDkxMzUzOUEyODAwQjAyRTg2
IC8qIE1hcmtlZEJsb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDE0NDhDQjEzQTE3NkVDMDBG
NUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0RDJGM0RCMTM5
RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQyRDZG
MTIxMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtTdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODYx
MkU0Q0QxNTIzODlFQzAwQzgzNkJFIC8qIE1hdGNoUmVzdWx0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCQzE4QzQzQzBFMTZGNUNEMDBCMzQ0NjAgLyogTWF0aE9iamVjdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQjU0NjdCMTRGNUM3RTEwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRp
bmdBVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNEMEJCRDE5NEE0MTQzMDBG
QzlDRjkgLyogQ29uc3RhbnRTdHJ1Y3R1cmVDaGVjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0Mw
MDhDRTcxODc2MzFCNjAwOTU1QzI0IC8qIE1pY3JvdGFzay5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODZDNTY4RTIxMUEyMTNFRTAwMDdGN0YwIC8qIE1JUFNBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMDJFOTExMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzAyRTkxMzBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZl
RXJyb3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5Q0MwQjYzMThCRTk5NTAwMDZD
RUJDQyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5IGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGQjkyMjAxNkQwMzNCNzAwNTVBNURCIC8qIE5vZGVDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcwRUNBNjA5MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTk5RTQ1QTI4MThBMUIyNTkwMDI2RDg4RiAvKiBOb25kZXRl
cm1pbmlzdGljSW5wdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQzNDRDAyMTlBREE0MTEwMDZB
QzcyQSAvKiBERkdOYWl2ZURvbWluYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDQx
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY1NzgwQTIxOEZFMUU5ODAwMUU3MkQ5IC8qIFB1cmVOYU4uaCBpbiBIZWFkZXJzICovLAor
CQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJPYmpl
Y3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMThDNDQ0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1i
ZXJQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5Q0MwQjYyMThCRTk5NDYwMDZDRUJD
QyAvKiBDb2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8s
CisJCQkJMTQyRDM5MzkxMDNFNDU2MDAwN0RDQjUyIC8qIE51bWVyaWNTdHJpbmdzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NkYzRUVCRDE2OENERTkzMDA3N0I5MkEgLyogT2JqQ0NhbGxiYWNrRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBP
YmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRDQTk1OEQxNkFCNTBGQTAw
OTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzE4QzQ0NTBFMTZGNUNEMDBCMzQ0NjAgLyogT2JqZWN0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUJDMThDNDQ2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBPYmplY3RQcm90b3R5cGUuaCBp
biBIZWFkZXJzICovLAorCQkJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0
cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTY5QTA3OUIwRUQxRDNBRTAwRjFGNjgxIC8qIE9w
Y29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyQkRDMkMxNTFGREU5MTAwQ0Q4OTEwIC8qIE9w
ZXJhbmRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzA0NDdFQTE3QTBCRDQ2MDBGNTg5OEUgLyog
T3BlcmFuZHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJENERERTE5ODMyRDM0MDA3
RDRCMTkgLyogRGVidWdnZXJTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NDgwRTE2
RjVDRDAwQjM0NDYwIC8qIE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRTA1MDFC
MUFBOTA5MTEwMEQzM0IzMyAvKiBHZW5lcmljT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RkUyMjhFRDE0MzZBQjI3MDAxOTZDNDggLyogT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QkMxOEM0NEIwRTE2RjVDRDAwQjM0NDYwIC8qIFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTMwNTJDMzUwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkNDQUU0NTE2RDBDRjc0MDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNjUzMDNENjQxNDQ3QjlFMTAwRDNGOTA0IC8qIFBhcnNlclRva2Vucy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYzNEIxNEMxNkQ0M0UwRDAwMUNEQTVBIC8qIFBvbHltb3Jw
aGljQWNjZXNzU3RydWN0dXJlTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5RkM4QzQxNEUx
QjYwMDAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGOEYxNDM0MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEY5ODIwNjExNkJGRTM4MzAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEYyREQ4MTUxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0ZvckFsbEtp
bGxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4Njg5MTZCMDE1NUYyODYzMDBDQjJCOUEgLyogUHJp
dmF0ZU5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RUE3MEU3MTlGNUIxMDEwMDk4RjVFQyAv
KiBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MThDNDUwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5
NUNENDU3NzBFMUM0RkREMDA4NTM1OEUgLyogUHJvZmlsZUdlbmVyYXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkMxOEM0NTEwRTE2RjVDRDAwQjM0NDYwIC8qIFByb2ZpbGVOb2RlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkY3MjlBNTE2NkFEMzUxMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29k
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNzI5QjkxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2Zp
bGVyQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjEzOTEyQTE2NzcxQzM2MDA5Q0NC
MDcgLyogUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3
MjlCQTE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZGNzI5QkIxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25L
aW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCOUNFMzE5RDBCQTdEMDBCMUQxQjUgLyogREZH
QXZhaWxhYmlsaXR5TWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlCQzE2NkFEMzYwMDAw
RjVCQTMgLyogUHJvZmlsZXJDb21waWxlZEJ5dGVjb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RkY3MjlCRDE2NkFEMzYwMDAwRjVCQTMgLyogUHJvZmlsZXJEYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMkEwNUFCRDYxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTJCMzExMDExOTc1QjQ2NzAwODA4NTdDIC8qIFR5
cGVMb2NhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlCRTE2NkFEMzYwMDAw
RjVCQTMgLyogUHJvZmlsZXJFeGVjdXRpb25Db3VudGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RjE5MENBRDE4OUQ4MkY2MDAwQUU1RjAgLyogUHJvZmlsZXJKZXR0aXNvblJlYXNvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTJDOTUyQjcxOUEyODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNzI5QkYxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVy
T3JpZ2luLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY3MjlDMDE2NkFEMzYwMDAwRjVCQTMgLyog
UHJvZmlsZXJPcmlnaW5TdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1OEMxNjc1NDgz
MzAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZCMTA1
OEUxNjc1NDgzQTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdFNpdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMTM5MTJDMTY3NzFDM0QwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNv
ZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0ZCNjEwMDEwNDBDMzhCMDAxN0EyODYgLyogUHJv
cGVydHlEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzk1NDM3RDBFQkE3MEZEMDA3
MkI2RDMgLyogUHJvcGVydHlNYXBIYXNoVGFibGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2MTU4
QUIzMTU1QzhCNDAwMEI0NUM5QyAvKiBQcm9wZXJ0eU5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUJDMThDNDU0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm9wZXJ0eU5hbWVBcnJheS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZGNzE2OEMxNUEzQjIzNTAwOEY1REFBIC8qIFByb3BlcnR5T2Zmc2V0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNzg1RjZCQzE4QzU1M0ZFMDBGMTA2MjYgLyogU3BpbGxSZWdp
c3RlcnNNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ1NTBFMTZGNUNEMDBCMzQ0NjAg
LyogUHJvcGVydHlTbG90LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI3RjM5QzE1RUQ4RTQ2MDBG
MTY3QjIgLyogUHJvcGVydHlTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZGQzc1MTE5
NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYxMkRFMTAxOTc5RDVGRDAwMDZGRjRFIC8qIEV4Y2VwdGlvbkZ1enouaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDU2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm90ZWN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQkxNDc0QzMzQjE2QUEyRDk1MDA2MkYwMUQgLyogUHJvdG90eXBlTWFwLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjkzMzJBNDE0Q0E3REQ5MDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEYwQ0Q0QzIxNUYxQTYwNzAwMzJGMUMwIC8qIFB1dERpcmVj
dEluZGV4TW9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5RkM4QzUxNEUxQjYwNDAwRDUyQUUw
IC8qIFB1dEtpbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0N0I4NDYzMEU2REU2QjEwMDQ3NzVB
NCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQUQ5NjRBMTg1Njk0
MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGRjYwQUMyMTY3NDBGODMwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkQxMjAzMDFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEZBN0E4RUMxOEI0MTNDODAwNTIzNzFEIC8qIFJlZy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkMxOEM0NUEwRTE2RjVDRDAwQjM0NDYwIC8qIFJlZ0V4cC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTE3MTJCM0YxMUM3QjIyODAwN0E1MzE1IC8qIFJlZ0V4cENhY2hl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MzQwQTQ4NTFBOTA1MUFGMDBENzNDQ0EgLyogTWF0aENv
bW1vbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkNEMjAyQzIwRTE3MDZBNzAwMkM3RTgyIC8qIFJl
Z0V4cENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDJENjBFMTcwNzA4MDAy
QzdFODIgLyogUmVnRXhwQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTcx
MkI0MTExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhwS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzE4QzQ1QjBFMTZGNUNEMDBCMzQ0NjAgLyogUmVnRXhwT2JqZWN0LmggaW4gSGVhZGVycyAqLywK
KwkJCQk3MEVDQTYwNjFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQ0QyMDJDNDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ1RDBFMTZGNUNEMDBCMzQ0NjAgLyog
UmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTk2OUEwNzJCMEVEMUNFNjkwMEYxRjY4MSAv
KiBSZWdpc3RlcklELmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVE
OTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZC
MUNCRTE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJh
dG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkMzMTQxMjE4MTQ1NTkxMDAwMzMyMzIgLyogUmVn
aXN0ZXJTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTBBRjNDMTkzRThCMzkwMDY3NEVFOCAv
KiBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1N0QyM0VF
MTg5MUI1NTQwMDMxQzdGQSAvKiBSZWd1bGFyRXhwcmVzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY2ODJGQjMxOUJDQjM2NDAwRkEzQkFEIC8qIERGR1NTQUNhbGN1bGF0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQjdGMzlEMTVFRDhFNDYwMEYxNjdCMiAvKiBSZWplY3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGMkQ0REVBMTk4MzJEQUMwMDdENEIxOSAvKiBUeXBlTG9jYXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCUE1QkExNUU4MTgyMzQwQjMwMEE4MkU2OSAvKiBSZW1vdGVJbnNw
ZWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUVBMTgyMzQwQjQwMEE4MkU2OSAvKiBS
ZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUYwMTgy
MzQ1QUYwMEE4MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNUJBMTVFQjE4MjM0MEI0MDBBODJFNjkgLyogUmVtb3RlSW5zcGVjdG9yRGVidWdn
YWJsZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QkExNUVEMTgyMzQwQjQwMEE4
MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjI0RTU1MTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODZEM0IzQzQxMDE1OUQ3RjAwMjg2NUU3IC8qIFJlcGF0Y2hCdWZmZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg2OUVCQ0I3MEU4QzZENEEwMDg3MjJDQyAvKiBSZXN1bHRUeXBlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDMjJCMzFCOTE0MDU3N0Q3MDBEQjQ3NUEgLyogU2FtcGxpbmdDb3VudGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDI5RDg4NjBFRDIxQzNEMDBCODk2MTkgLyogU2FtcGxp
bmdUb29sLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkUyNTRGNzFBQkRERDIyMDBBN0M2RDIgLyog
REZHVmFyYXJnc0ZvcndhcmRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYyNEU1NTIx
N0VFMjc0OTAwQUJCMjE3IC8qIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVGRDAwNjgxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMjExODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFr
cG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDZFMTg5QjAwQUEwMDYzMzIzMSAvKiBT
Y3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDcwMTg5QjAwQUEwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1OEMwMjQyMThF
NEE0MUEwMDAzMkJDNSAvKiBKU0NvbnRleHRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTUwM0ZBMjIxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MDNGQTI2MTg4RUZGRkQwMDExMEYxNCAvKiBT
Y3JpcHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU1RDkzQTYxODUwMTJBODAw
NDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU0Q0Yy
RkExODRFQUVEQTAwMjM3RjE5IC8qIFNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTU0Q0YyRjYxODRFQUIyNDAwMjM3RjE5IC8qIFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBNzI5OURBNjE3RDEyODU4MDA1RjVGRjkgLyogU2V0Q29uc3RydWN0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE3OTBERDZFMTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvclByb3Rv
dHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTcyOTlEQTIxN0QxMjg0ODAwNUY1RkY5IC8qIFNl
dFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZBRTY0QUExMzVFNUUxQzAwOTYzMDEy
IC8qIFNINEFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGOEJERUIxQUQ0Q0Y3MTAw
REZFODg0IC8qIEluZmVycmVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NzA1MTdC
NkI1QUIwMEE3QUUzRiAvKiBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMTRCQTc4RjExM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RWaXNpdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkIxNzY2MTE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9u
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDMjE2MEZFNzE1RjdFOTVFMDA5NDJERkMgLyogU2xvdFZp
c2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzA5RjJGMDE3QTBBQzA0MDA1MTJF
OTggLyogU2xvd1BhdGhDYWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzMwNDAwNDBFNkE3NDk0
MDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ2NDBF
MTZGNUNEMDBCMzQ0NjAgLyogU291cmNlQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2Qzcz
NTExQUM5Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlCQzE4QzQ2MzBFMTZGNUNEMDBCMzQ0NjAgLyogU291cmNlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTcwRUMwRUMzMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyog
U291cmNlUHJvdmlkZXJDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ5REMxNkQxMkVGMjk1
MzAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRkI3RjM5RTE1RUQ4RTQ2MDBGMTY3QjIgLyogU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTczODY1NTQxMTg2OTdCNDAwNTQwMjc5IC8qIFNwZWNpYWxpemVkVGh1
bmtKSVQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTU0MUIyMTYxM0MxRkIwMENFM0UyNSAvKiBT
cGVjaWFsUG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEODJFNTQxNDFEQUVFRTAwMTc5
Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjNBQzc1MjE4M0VB
MTA0MDAzMjAyOUYgLyogU3RhY2tBbGlnbm1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3QzFF
QUYyMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTE0REYwNERBMTZCMzk5NkQwMDE2QTUxMyAvKiBTdGF0aWNQcm9wZXJ0eUFuYWx5c2lzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkxNENBOTU4QjE2QUI1MERFMDA5MzhBMDYgLyogU3RhdGljUHJvcGVy
dHlBbmFseXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTczMEI2MTIxMjUwMDY4RjAwOUQyNUIx
IC8qIFN0cmljdEV2YWxBY3RpdmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4QzQ2NjBF
MTZGNUNEMDBCMzQ0NjAgLyogU3RyaW5nQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUJDMThDNDY4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdPYmplY3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMThDNDZBMEUxNkY1Q0QwMEIzNDQ2MCAvKiBTdHJpbmdQcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0MkUzMTNCMTM0RkYwQTYwMEFGQURCNSAvKiBTdHJvbmcuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE0NTcyMjg2MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0RFM0FCODBFNkM4MkY1MDAxNDUzQTcgLyogU3RydWN0
dXJlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3RTRFRTcwOTBFQkI3OTYzMDA1OTM0QUEgLyogU3Ry
dWN0dXJlQ2hhaW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDJDOTI0MTZEMDFFRTkwMEM3ODAz
RiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMkZFMThBNDE2QkFF
QzQwMDBBRjMwNjEgLyogU3RydWN0dXJlUmFyZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUMy
MEJBOTJEMTZCQjFDMTUwMEIzQUVBMiAvKiBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGMkI5Q0VCMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJl
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5MzMyQTUxNENBN0RERDAwODVGM0M2IC8qIFN0cnVj
dHVyZVNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3NjZEMzkxNUFFNEExRjAwOEYzNjNFIC8q
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
Q0YwRDA4MEVGMEFBQjkwMDQxM0M4RiAvKiBTdHJ1Y3R1cmVTdHViSW5mby5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQkM5MDQxNDgwRUI5MjUwOTAwRkUyNkZBIC8qIFN0cnVjdHVyZVRyYW5zaXRpb25U
YWJsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzA1QjQxQUMxQTZFNTAxRTAwNzE2NzU3IC8qIFN5
bWJvbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzA1QjQxQUUxQTZFNTAxRTAwNzE2NzU3IC8qIFN5
bWJvbENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MDVCNDFCMDFBNkU1MDFFMDA3
MTY3NTcgLyogU3ltYm9sT2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MDVCNDFCMjFBNkU1
MDFFMDA3MTY3NTcgLyogU3ltYm9sUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE4
QzQ2QjBFMTZGNUNEMDBCMzQ0NjAgLyogU3ltYm9sVGFibGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE3ODRBMjY0MTFEMTY2MjIwMDU3NzZBQyAvKiBTeW50YXhDaGVja2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjI0RTU0RjE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkEyQzE3QzE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0
aWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjU3MkQ0RjE2ODc5RkREMDBFNTdGQkQgLyogVGh1
bmtHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3Mzg2NTU2MTE4Njk3QjQwMDU0MDI3
OSAvKiBUaHVua0dlbmVyYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ0OENEMTNBMTc4
MzcwMEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNTU5
ODk4MTdDODZDNTgwMEExRTU0MyAvKiBUb05hdGl2ZUZyb21WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNUQ1MzcyNkYwRTFDNTQ4ODAwMjFFNTQ5IC8qIFRyYWNpbmcuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMkI2NzA2MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5QWRhcHRvcnMuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGMkI2NzA4MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0Qjk0REMxN0I5RjA3NTAwREQwM0E0
IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJCNjcwOTE3QjZC
NUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkI2NzBC
MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGNDI3NEIxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZGNDI3NDExNThFQkU4RDAwNENCOUZGIC8qIHVkaXM4Nl9kZWNvZGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGRjQyNzQyMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfZXh0ZXJuLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkY0Mjc0NDE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X2lucHV0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRkY0Mjc0ODE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGNDI3NDkxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4
Nl90eXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBCMEE5RDExQTlCNjY0NjAwMDEzMDZBIC8q
IFJ1bnRpbWVGbGFncy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdFNUFCMzkxNzk5RTRCMjAwRDI4
MzNEIC8qIFVEaXM4NkRpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZFMDUwMkIx
QUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4
QUY0MTE3QURCNUYzMDA1QUIxNzQgLyogVWludDE2QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGRTgzNDE4MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODY2NzM5RDMxM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldp
dGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGNDIxN0FEQjVGMzAwNUFCMTc0
IC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0E4QUYzRjE3QURCNUYzMDA1
QUIxNzQgLyogVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdBOEFGNDAxN0FEQjVG
MzAwNUFCMTc0IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjVG
MDhDRjE0NkM3NjMzMDAwNDcyQTkgLyogVW5jb25kaXRpb25hbEZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTdCNjAxODIxNjM5RkQyQTAwMzcyQkEzIC8qIFVubGlua2VkQ29kZUJsb2Nr
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjJFODkyQzE2RDAyOEFEMDA5RTRGRDIgLyogVW51c2Vk
UG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY5NjNCMzgxM0ZDNkZFOTAwMDJEOUIyIC8q
IFZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0MjZBNDgxNDYwQ0JCMzAwMTMx
RjhGIC8qIFZhbHVlUmVjb3ZlcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOUM1RTVGMThFMzVG
NUUwMEQ0MzFDMyAvKiBGVExEV0FSRlJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQy
NkE0OTE0NjBDQkI3MDAxMzFGOEYgLyogVmlydHVhbFJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCQzE4QzQyMDBFMTZGNUNEMDBCMzQ0NjAgLyogVk0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZFRDk0RjJGMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY5MTlEMjYxNTg1M0NFMzAwNEE0RTdEIC8qIFdhdGNocG9pbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTE0MkUzMTNDMTM0RkYwQTYwMEFGQURCNSAvKiBXZWFrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxNEU4NEY5RjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxNEJGQ0U2OTEwQ0RCMUZDMDAzNjRDQ0UgLyogV2Vha0dDTWFwLmggaW4g
SGVhZGVycyAqLywKKwkJCQkxNEY3MjU2NjE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93
bmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEU4NEZBMjE0RUUxQUNDMDBENkQ1RDQgLyogV2Vh
a0ltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMkREODEyMUFCM0Q4QkUwMEJCQjhFOCAvKiBE
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNEJFN0Qz
MzE3MTM1Q0Y0MDBEMTgwN0EgLyogV2Vha0lubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3
Q0EzQUU0MTdEQTQxQUUwMDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3Q0EzQUVDMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTdDQTNBRTYxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5
cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MjBCRTdCMTBBQTZEREIwMEY0NTVEMiAvKiBXZWFr
UmFuZG9tLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjI0MkRBNzEzRjNCMUU4MDA3QURENEMgLyog
V2Vha1JlZmVyZW5jZUhhcnZlc3Rlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRFODRGQTExNEVF
MUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTUwMTMzMTU0
QkIxM0YwMDVEOEM5OCAvKiBXZWFrU2V0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMx
OEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdlYktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMkE0RUM5MEMxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCNkQ3NTMxOEEzMzc5MzAwNEE5MzAxIC8qIFdy
aXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQzgxNTBBMTQwNDNCRjUw
MENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5Njg4
Q0IxNjBFRDEyQjRFMDAxRDY0OUYgLyogWDg2QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBNTg0MEUyQTE4N0NBNzU5MDA4NDNCMTAgLyogeHhkLnBsIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYzQTFCRkExQTlFQ0I3RDAwMERFMDFBIC8qIERGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0NTE1MzlCOTEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODY3MDRCODUxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJbnRlcnByZXRl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODY3MDRCODcxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJK
SVQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NzA0Qjg4MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJy
UGFyc2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjcwNEI4QTEyREJBMzM3MDBBOUZFN0IgLyog
WWFyclBhdHRlcm4uaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NzA0QjQzMTJEQjhBODEwMEE5RkU3
QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVy
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlv
biAqLworCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkNF
RkFCNzE4MDVENjE2MDA0NzJDRTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgImxsdm1Gb3JKU0MiICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJMEZD
RUZBQjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQjMxODA1RDYx
NjAwNDcyQ0U0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJMEZDRUZBQjQxODA1RDYxNjAwNDcyQ0U0
IC8qIEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBl
bmRlbmNpZXMgPSAoCisJCQkpOworCQkJbmFtZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0TmFt
ZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZDRUZBQjYxODA1RDYxNjAw
NDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20u
YXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07CisJCTBGRjkyMkMzMTRG
NDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8gPSB7CisJCQlpc2Eg
PSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZGOTIyQ0Ex
NEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZl
VGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovOworCQkJYnVpbGRQaGFzZXMgPSAo
CisJCQkJMEZGOTIyQzQxNEY0NkIxMzAwNDFBMjRFIC8qIFNvdXJjZXMgKi8sCisJCQkJMEZGOTIy
QzYxNEY0NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxl
cyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNjU3ODhBQUIxOEI0MEEzQjAw
QzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJMEZGOTIyRDMxNEY0NkIyRjAw
NDFBMjRFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEpTQ0xM
SW50T2Zmc2V0c0V4dHJhY3RvcjsKKwkJCXByb2R1Y3RJbnN0YWxsUGF0aCA9IC91c3IvbG9jYWwv
YmluOworCQkJcHJvZHVjdE5hbWUgPSBqc2M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZGOTIy
Q0YxNEY0NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLzsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7CisJCX07CisJCTE0MTIx
MTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovID0geworCQkJaXNhID0gUEJYTmF0aXZl
VGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0MTIxMTM5MEE0ODc5ODQwMDQ4
MDI1NSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAibWlu
aWRvbSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDEyMTExRDBBNDg3OTNDMDA0ODAy
NTUgLyogU291cmNlcyAqLywKKwkJCQkxNDEyMTExRTBBNDg3OTNDMDA0ODAyNTUgLyogRnJhbWV3
b3JrcyAqLywKKwkJCQkxNDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLywKKwkJ
CQk1REJCMTUyNDEzMUQwQkExMDA1NkFEMzYgLyogQ29weSBTdXBwb3J0IFNjcmlwdCAqLywKKwkJ
CSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7
CisJCQluYW1lID0gbWluaWRvbTsKKwkJCXByb2R1Y3ROYW1lID0gbWluaWRvbTsKKwkJCXByb2R1
Y3RSZWZlcmVuY2UgPSAxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLzsKKwkJ
CXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7CisJCX07CisJCTE0
QkQ1OUJFMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0YXBpICovID0geworCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ1OUQ2MEEzRThGQzkw
MEJBRjU5QyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
dGVzdGFwaSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNEJENTlCQzBBM0U4RjkwMDBC
QUY1OUMgLyogU291cmNlcyAqLywKKwkJCQkxNEJENTlCRDBBM0U4RjkwMDBCQUY1OUMgLyogRnJh
bWV3b3JrcyAqLywKKwkJCQk1REJCMTUxMTEzMUQwQjEzMDA1NkFEMzYgLyogQ29weSBTdXBwb3J0
IFNjcmlwdCAqLywKKwkJCQk1REFGRDZDRDE0NkI2QjZFMDBGQkVGQjQgLyogSW5zdGFsbCBTdXBw
b3J0IFNjcmlwdCAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVu
ZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gdGVzdGFwaTsKKwkJCXByb2R1Y3ROYW1lID0g
dGVzdGFwaTsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSAxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMg
LyogdGVzdGFwaSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUu
dG9vbCI7CisJCX07CisJCTY1MTEyMkY3MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICov
ID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlz
dCA9IDY1MTEyMzAwMTQwNDZBNEMwMDJCMTAxRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3Qg
Zm9yIFBCWE5hdGl2ZVRhcmdldCAidGVzdFJlZ0V4cCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgK
KwkJCQk2NTExMjJGQTE0MDQ2QTRDMDAyQjEwMUQgLyogU291cmNlcyAqLywKKwkJCQk2NTExMjJG
QzE0MDQ2QTRDMDAyQjEwMUQgLyogRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVz
ID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gdGVzdFJl
Z0V4cDsKKwkJCXByb2R1Y3RJbnN0YWxsUGF0aCA9IC91c3IvbG9jYWwvYmluOworCQkJcHJvZHVj
dE5hbWUgPSB0ZXN0UmVnRXhwOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDY1MTEyMzA1MTQwNDZB
NEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxl
LnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKwkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8q
IEphdmFTY3JpcHRDb3JlICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzVEMDg5MDJBRkUwMDhBOUVGQyAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSmF2YVNjcmlwdENvcmUiICov
OworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJNUQyRjdDRjkwQzY4NzVCQjAwQjVCNzJCIC8qIFVw
ZGF0ZSBJbmZvLnBsaXN0IHdpdGggdmVyc2lvbiBpbmZvcm1hdGlvbiAqLywKKwkJCQlBNTNGMUFC
RjE4QzkwRjhCMDA3MkVCNkQgLyogUmVzb3VyY2VzICovLAorCQkJCTkzMkY1QjNGMDgyMkExQzcw
MDczNjk3NSAvKiBIZWFkZXJzICovLAorCQkJCTM3MzI4MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQ
b3N0cHJvY2VzcyBIZWFkZXJzICovLAorCQkJCTkzMkY1QjkxMDgyMkExQzcwMDczNjk3NSAvKiBT
b3VyY2VzICovLAorCQkJCTkzMkY1QkQyMDgyMkExQzcwMDczNjk3NSAvKiBGcmFtZXdvcmtzICov
LAorCQkJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0gTGlicmFyeSBJbnRv
IEZyYW1ld29yayAqLywKKwkJCQk1RDI5RDhCRTBFOTg2MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9y
IFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovLAorCQkJCTM3MTNGMDE0MTQyOTA1MjQwMDM2
Mzg3RiAvKiBDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyAq
LywKKwkJCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlh
dGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9
ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJMEZDRUZBQkQxODA1RDY2MzAwNDcy
Q0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4
OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5
REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IEphdmFTY3Jp
cHRDb3JlOworCQkJcHJvZHVjdEluc3RhbGxQYXRoID0gIiR7U1lTVEVNX0xJQlJBUllfRElSfS9G
cmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzIjsKKwkJCXBy
b2R1Y3ROYW1lID0gSmF2YVNjcmlwdENvcmU7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gOTMyRjVC
RDkwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKwkJ
OTMyRjVCREEwODIyQTFDNzAwNzM2OTc1IC8qIGpzYyAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjc2NzA4OTAyQUZFMDA4
QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImpz
YyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk5MzJGNUJEQzA4MjJBMUM3MDA3MzY5NzUg
LyogU291cmNlcyAqLywKKwkJCQk5MzJGNUJERTA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3Jr
cyAqLywKKwkJCQk1RDVEOEFCRjBFMEQwQjAzMDBGOUM2OTIgLyogQ3JlYXRlIC91c3IvbG9jYWwv
YmluL2pzYyBzeW1saW5rICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJ
ZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSBqc2M7CisJCQlwcm9kdWN0SW5zdGFs
bFBhdGggPSAvdXNyL2xvY2FsL2JpbjsKKwkJCXByb2R1Y3ROYW1lID0ganNjOworCQkJcHJvZHVj
dFJlZmVyZW5jZSA9IDkzMkY1QkUxMDgyMkExQzcwMDczNjk3NSAvKiBqc2MgKi87CisJCQlwcm9k
dWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnRvb2wiOworCQl9OworLyogRW5kIFBC
WE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFByb2plY3Qgc2VjdGlvbiAq
LworCQkwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CisJ
CQlpc2EgPSBQQlhQcm9qZWN0OworCQkJYXR0cmlidXRlcyA9IHsKKwkJCQlCdWlsZEluZGVwZW5k
ZW50VGFyZ2V0c0luUGFyYWxsZWwgPSBZRVM7CisJCQkJTGFzdFN3aWZ0VXBkYXRlQ2hlY2sgPSAw
NzAwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOworCQkJfTsKKwkJCWJ1aWxkQ29uZmln
dXJhdGlvbkxpc3QgPSAxNDlDMjc3MTA4OTAyQUZFMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJh
dGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJKYXZhU2NyaXB0Q29yZSIgKi87CisJCQljb21wYXRp
YmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmds
aXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7CisJCQlrbm93blJlZ2lvbnMgPSAo
CisJCQkJRW5nbGlzaCwKKwkJCQlKYXBhbmVzZSwKKwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAor
CQkJKTsKKwkJCW1haW5Hcm91cCA9IDA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBKYXZhU2Ny
aXB0Q29yZSAqLzsKKwkJCXByb2R1Y3RSZWZHcm91cCA9IDAzNDc2OERGRkYzOEE1MDQxMURCOUM4
QiAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9qZWN0Um9v
dCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQk5MzJGNUJFMzA4MjJBMUM3MDA3MzY5NzUgLyog
QWxsICovLAorCQkJCTkzMkY1QjNFMDgyMkExQzcwMDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZSAq
LywKKwkJCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLywKKwkJCQkw
RjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJCQk2NUZCM0Y2
NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovLAorCQkJCTBGRjkyMkMzMTRG
NDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8sCisJCQkJNjU3ODhB
OUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovLAorCQkJCTE0MTIxMTFG
MEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLAorCQkJCTE0QkQ1OUJFMEEzRThGOTAwMEJB
RjU5QyAvKiB0ZXN0YXBpICovLAorCQkJCTkzMkY1QkRBMDgyMkExQzcwMDczNjk3NSAvKiBqc2Mg
Ki8sCisJCQkJNjUxMTIyRjcxNDA0NkE0QzAwMkIxMDFEIC8qIHRlc3RSZWdFeHAgKi8sCisJCQkJ
NUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCisJCQkpOworCQl9Owor
LyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KKwkJQTUzRjFBQkYxOEM5MEY4QjAwNzJFQjZEIC8qIFJlc291cmNl
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJQTUzRjFBQzAxOEM5MEY4RjAw
NzJFQjZEIC8qIGZyYW1ld29yay5zYiBpbiBSZXNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYUmVzb3Vy
Y2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQ
aGFzZSBzZWN0aW9uICovCisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBE
ZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOwor
CQkJaW5wdXRQYXRocyA9ICgKKwkJCSk7CisJCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291
cmNlcyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNj
cmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRP
ZmZzZXRzL1wiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dl
bmVyYXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzL0xM
SW50RGVzaXJlZE9mZnNldHMuaFwiIFwiWDg2LFg4Nl82NCxBUk12NyxBUk12N3MsQVJNNjQsQ19M
T09QXCJcbiI7CisJCX07CisJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0g
TGlicmFyeSBJbnRvIEZyYW1ld29yayAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvbGli
bGx2bUZvckpTQy5keWxpYiIsCisJCQkpOworCQkJbmFtZSA9ICJDb3B5IExMVk0gTGlicmFyeSBJ
bnRvIEZyYW1ld29yayI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJ
CQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxuaWYgW1sgJEVOQUJMRV9GVExfSklUICE9IFwiRU5B
QkxFX0ZUTF9KSVRcIiBdXVxudGhlblxuICAgIGV4aXQgMFxuZmlcblxuaWYgW1sgJHtDT05GSUdV
UkFUSU9OOj1EZWJ1Z30gIT0gXCJQcm9kdWN0aW9uXCIgXV1cbnRoZW5cbiAgICAjIENvcHkgdGhl
IGxsdm1Gb3JKU0MgbGlicmFyeSBpbnRvIHRoZSBmcmFtZXdvcmsuXG4gICAgZGl0dG8gXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vbGlibGx2bUZvckpTQy5keWxpYlwiIFwiJHtCVUlMVF9QUk9EVUNU
U19ESVJ9LyR7Q09OVEVOVFNfRk9MREVSX1BBVEh9L0xpYnJhcmllcy9saWJsbHZtRm9ySlNDLmR5
bGliXCJcbmZpXG5cbmlmIFtbICRQTEFURk9STV9OQU1FICE9IFwibWFjb3N4XCIgXV1cbnRoZW5c
biAgICBleGl0IDBcbmZpXG5cbmlmIFsgISAtZSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke1dS
QVBQRVJfTkFNRX0vTGlicmFyaWVzXCIgXVxudGhlblxuICAgIGxuIC1mcyBcIlZlcnNpb25zL0N1
cnJlbnQvTGlicmFyaWVzXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtXUkFQUEVSX05BTUV9
L0xpYnJhcmllc1wiXG5maSI7CisJCX07CisJCTM3MTNGMDE0MTQyOTA1MjQwMDM2Mzg3RiAvKiBD
aGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIk
KFRBUkdFVF9CVUlMRF9ESVIpLyQoRVhFQ1VUQUJMRV9QQVRIKSIsCisJCQkpOworCQkJbmFtZSA9
ICJDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBPYmplY3RpdmUtQyBDbGFzcyBOYW1lcyI7CisJCQlv
dXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQg
LWVcblxuaWYgWyBcIiR7QUNUSU9OfVwiID0gXCJpbnN0YWxsaGRyc1wiIF07IHRoZW5cbiAgICBl
eGl0IDA7XG5maVxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLWluYXBw
cm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBdOyB0aGVuXG4gICAgLi4vLi4vVG9vbHMvU2NyaXB0
cy9jaGVjay1mb3ItaW5hcHByb3ByaWF0ZS1vYmpjLWNsYXNzLW5hbWVzIEpTXG5maSI7CisJCX07
CisJCTM3MzI4MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQb3N0cHJvY2VzcyBIZWFkZXJzICovID0g
eworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJ
CQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCkvSlNC
YXNlLmgiLAorCQkJCSIkKFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElDX0hFQURFUlNfRk9MREVS
X1BBVEgpL0pTQ29udGV4dC5oIiwKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8kKFBVQkxJQ19I
RUFERVJTX0ZPTERFUl9QQVRIKS9KU01hbmFnZWRWYWx1ZS5oIiwKKwkJCQkiJChUQVJHRVRfQlVJ
TERfRElSKS8kKFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIKS9KU1ZhbHVlLmgiLAorCQkJCSIk
KFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEgpL0pTVmlydHVh
bE1hY2hpbmUuaCIsCisJCQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVSU19G
T0xERVJfUEFUSCkvV2ViS2l0QXZhaWxhYmlsaXR5LmgiLAorCQkJKTsKKwkJCW5hbWUgPSAiUG9z
dHByb2Nlc3MgSGVhZGVycyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7
CisJCQlzaGVsbFNjcmlwdCA9ICJleGVjICR7U1JDUk9PVH0vcG9zdHByb2Nlc3MtaGVhZGVycy5z
aCI7CisJCX07CisJCTVEMjlEOEJFMEU5ODYwQjQwMEMzRDJEMCAvKiBDaGVjayBGb3IgV2VhayBW
VGFibGVzIGFuZCBFeHRlcm5hbHMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8kKEVYRUNV
VEFCTEVfUEFUSCkiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBh
bmQgRXh0ZXJuYWxzIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hl
Y2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29s
cy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFsc1xuZmkiOworCQl9
OworCQk1RDJGN0NGOTBDNjg3NUJCMDBCNUI3MkIgLyogVXBkYXRlIEluZm8ucGxpc3Qgd2l0aCB2
ZXJzaW9uIGluZm9ybWF0aW9uICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoU1JDUk9PVCkvQ29uZmlndXJhdGlvbnMvVmVy
c2lvbi54Y2NvbmZpZyIsCisJCQkpOworCQkJbmFtZSA9ICJVcGRhdGUgSW5mby5wbGlzdCB3aXRo
IHZlcnNpb24gaW5mb3JtYXRpb24iOworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkJIiQoU1JDUk9P
VCkvSW5mby5wbGlzdCIsCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAiIyBU
b3VjaCBJbmZvLnBsaXN0IHRvIGxldCBYY29kZSBrbm93IGl0IG5lZWRzIHRvIGNvcHkgaXQgaW50
byB0aGUgYnVpbHQgcHJvZHVjdFxuaWYgW1sgXCIke0NPTkZJR1VSQVRJT059XCIgIT0gXCJQcm9k
dWN0aW9uXCIgXV07IHRoZW5cbiAgICB0b3VjaCBcIiRTUkNST09UL0luZm8ucGxpc3RcIjtcbmZp
O1xuIjsKKwkJfTsKKwkJNUQzNURFRTEwQzdDMTQwQjAwODY0OEIyIC8qIEdlbmVyYXRlIERUcmFj
ZSBoZWFkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5w
dXRQYXRocyA9ICgKKwkJCQkiJChTUkNST09UKS9ydW50aW1lL1RyYWNpbmcuZCIsCisJCQkpOwor
CQkJbmFtZSA9ICJHZW5lcmF0ZSBEVHJhY2UgaGVhZGVyIjsKKwkJCW91dHB1dFBhdGhzID0gKAor
CQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUv
VHJhY2luZ0R0cmFjZS5oIiwKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuVFJBQ0lOR19EPVwiJFNSQ1JPT1QvcnVudGltZS9UcmFjaW5nLmRcIjtcblRSQUNJ
TkdfSD1cIiRCVUlMVF9QUk9EVUNUU19ESVIvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUv
VHJhY2luZ0R0cmFjZS5oXCI7XG5cbmlmIFtbIFwiJFRSQUNJTkdfRFwiIC1udCBcIiRUUkFDSU5H
X0hcIiBdXTtcbnRoZW5cblx0ZHRyYWNlIC1oIC1vIFwiJFRSQUNJTkdfSFwiIC1zIFwiJFRSQUNJ
TkdfRFwiO1xuZmk7XG4iOworCQl9OworCQk1RDVEOEFCRjBFMEQwQjAzMDBGOUM2OTIgLyogQ3Jl
YXRlIC91c3IvbG9jYWwvYmluL2pzYyBzeW1saW5rICovID0geworCQkJaXNhID0gUEJYU2hlbGxT
Y3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoRFNUUk9PVCkkKElOU1RB
TExfUEFUSCkvanNjIiwKKwkJCSk7CisJCQluYW1lID0gIkNyZWF0ZSAvdXNyL2xvY2FsL2Jpbi9q
c2Mgc3ltbGluayI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCQkiJChEU1RST09UKSQoSU5TVEFM
TF9QQVRIX1BSRUZJWCkvdXNyL2xvY2FsL2Jpbi9qc2MiLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtTS0lQX0lOU1RBTEx9XCIgPT0gXCJOT1wiIF1dOyB0
aGVuXG4gICAgbWtkaXIgLXAgXCIke0RTVFJPT1R9JHtJTlNUQUxMX1BBVEhfUFJFRklYfS91c3Iv
bG9jYWwvYmluXCJcbiAgICBjZCBcIiR7RFNUUk9PVH0ke0lOU1RBTExfUEFUSF9QUkVGSVh9L3Vz
ci9sb2NhbC9iaW5cIlxuICAgIGlmIFsgLUwganNjIF07IHRoZW5cbiAgICAgICAgcm0gLWYganNj
XG4gICAgZmlcbiAgICBsbiAtcyBcIi4uLy4uLy4uJHtJTlNUQUxMX1BBVEhfQUNUVUFMfS9qc2Nc
IiBqc2NcbiAgICBleGl0XG5maVxuIjsKKwkJfTsKKwkJNURBRkQ2Q0QxNDZCNkI2RTAwRkJFRkI0
IC8qIEluc3RhbGwgU3VwcG9ydCBTY3JpcHQgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSA4OworCQkJZmlsZXMgPSAoCisJCQkp
OworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChTUkNST09UKS9BUEkvdGVzdHMvdGVzdGFwaS5q
cyIsCisJCQkpOworCQkJbmFtZSA9ICJJbnN0YWxsIFN1cHBvcnQgU2NyaXB0IjsKKwkJCW91dHB1
dFBhdGhzID0gKAorCQkJCSIkKERTVFJPT1QpJChJTlNUQUxMX1BBVEgpL3Rlc3RhcGkuanMiLAor
CQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOworCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtTS0lQX0lOU1RB
TEx9XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgY3AgXCIke1NSQ1JPT1R9L0FQSS90ZXN0cy90
ZXN0YXBpLmpzXCIgXCIke0RTVFJPT1R9JHtJTlNUQUxMX1BBVEh9L3Rlc3RhcGkuanNcIlxuZmlc
biI7CisJCX07CisJCTVERjdFMUNDMTg4RTZCODcwMDNGOUE0NiAvKiBDb3B5IGpzYyBpbnRvIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvanNj
IiwKKwkJCSk7CisJCQluYW1lID0gIkNvcHkganNjIGludG8gSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvJChK
QVZBU0NSSVBUQ09SRV9SRVNPVVJDRVNfRElSKS9qc2MiLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG4jIFNraXAgZm9yIFByb2R1Y3Rpb24gYnVpbGRzLlxu
aWYgW1sgJHtDT05GSUdVUkFUSU9OOj1EZWJ1Z30gPT0gXCJQcm9kdWN0aW9uXCIgXV07IHRoZW5c
biAgICBleGl0XG5maVxuXG4jIENvcHkgYW5kIHVwZGF0ZSB0aGUganNjIGJpbmFyeSB0byByZWZl
ciB0byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgcmVsYXRpdmUgdG8gaXRzIGxvY2F0aW9uLlxu
ZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vanNjXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJ
Un0vJHtKQVZBU0NSSVBUQ09SRV9SRVNPVVJDRVNfRElSfS9qc2NcIlxuaW5zdGFsbF9uYW1lX3Rv
b2wgLWNoYW5nZSBcIiR7SkFWQVNDUklQVENPUkVfRlJBTUVXT1JLU19ESVJ9L0phdmFTY3JpcHRD
b3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlXCIgXCJAbG9hZGVyX3BhdGgv
Li4vSmF2YVNjcmlwdENvcmVcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke0pBVkFTQ1JJUFRD
T1JFX1JFU09VUkNFU19ESVJ9L2pzY1wiXG4iOworCQl9OworCQk2NTc4OEFBMDE4QjQwOUVCMDBD
MTg5RkYgLyogT2ZmbGluZSBBc3NlbWJsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJKTsKKwkJCW5hbWUgPSAiT2ZmbGluZSBB
c3NlbWJsZSI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVs
bFNjcmlwdCA9ICJpZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhl
blxuICAgIGV4aXQgMFxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
XCIgTExJbnRBc3NlbWJseS5oIHx8IGV4aXQgMSI7CisJCX07CisJCTY1RkIzRjY1MDlEMTFFOTEw
MEY0OURFQiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owor
CQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCSk7CisJCQluYW1lID0g
IkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9
IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuY2QgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vYmlu
L2xuIC1zZmggXCIke1NSQ1JPT1R9XCIgSmF2YVNjcmlwdENvcmVcbmV4cG9ydCBKYXZhU2NyaXB0
Q29yZT1cIkphdmFTY3JpcHRDb3JlXCJcbmV4cG9ydCBCVUlMVF9QUk9EVUNUU19ESVI9XCIuLi8u
LlwiXG5cbm1ha2UgLS1uby1idWlsdGluLXJ1bGVzIC1mIFwiSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZVwiIC1qIGAvdXNyL3NiaW4vc3lzY3RsIC1uIGh3Lm5jcHVgXG4iOworCQl9
OworCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUg
TWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMg
PSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8k
KEVYRUNVVEFCTEVfUEFUSCkiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ2hlY2sgRm9yIEluYXBwcm9w
cmlhdGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMiOworCQkJb3V0cHV0UGF0aHMgPSAoCisJ
CQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVs
bFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbmlmIFsgXCIke0FD
VElPTn1cIiA9IFwiaW5zdGFsbGhkcnNcIiBdOyB0aGVuXG4gICAgZXhpdCAwO1xuZmlcblxuaWYg
WyAtZiAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci1pbmFwcHJvcHJpYXRlLW1hY3Jvcy1p
bi1leHRlcm5hbC1oZWFkZXJzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNr
LWZvci1pbmFwcHJvcHJpYXRlLW1hY3Jvcy1pbi1leHRlcm5hbC1oZWFkZXJzIEhlYWRlcnMgUHJp
dmF0ZUhlYWRlcnMvSlNCYXNlUHJpdmF0ZS5oXG5maSI7CisJCX07CisvKiBFbmQgUEJYU2hlbGxT
Y3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhh
c2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCMjE4MDVENjE2MDA0NzJDRTQgLyogU291cmNlcyAqLyA9
IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VGQUQ3MTgwNjE3NDYwMDQ3MkNFNCAv
KiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3
MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNFRkFDMTE4MDVE
OTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJMEZGOTIy
QzQxNEY0NkIxMzAwNDFBMjRFIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2Vz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRzRXh0cmFjdG9y
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOworCQl9OworCQkxNDEyMTExRDBBNDg3OTNDMDA0ODAyNTUgLyogU291cmNl
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0NDAwNTdGMEE1MzM1NjQwMDA1
RjA2MSAvKiBKU05vZGUuYyBpbiBTb3VyY2VzICovLAorCQkJCTE0NDAwNzU4MEE1MzcwRDIwMDA1
RjA2MSAvKiBKU05vZGVMaXN0LmMgaW4gU291cmNlcyAqLywKKwkJCQkxNDEyMTEzNDBBNDg3OTU4
MDA0ODAyNTUgLyogbWluaWRvbS5jIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MDA2M0YwQTUzNTk4
QTAwMDVGMDYxIC8qIE5vZGUuYyBpbiBTb3VyY2VzICovLAorCQkJCTE0NDAwNzRCMEE1MzZDQzIw
MDA1RjA2MSAvKiBOb2RlTGlzdC5jIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTE0QkQ1OUJDMEEzRThGOTAw
MEJBRjU5QyAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJRkUw
RDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2JhbENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk2NTU3MEY1QTFBQTRDM0VBMDA5QjNDMjMgLyogUmVncmVz
czE0MTI3NS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMyOUVDQjAzMTgwNEQwRUQwMEQyQ0JCNCAv
KiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUZFQjUxRjZDMUE5N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJQzIwMzI4MjAxOTgxOTc5RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENs
YXNzVGVzdC5jIGluIFNvdXJjZXMgKi8sCisJCQkJQzI4OEIyREUxOEE1NEQzRTAwN0JFNDBCIC8q
IERhdGVUZXN0cy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMyMTgxRkMyMThBOTQ4RkIwMDI1QTIz
NSAvKiBKU0V4cG9ydFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRkVGMDQwNTExQUFFNjYy
RDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyogdGVzdGFwaS5jIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODZEMjIyMUExNjdFRjk0NDAwMjRDODA0IC8qIHRlc3RhcGkubW0gaW4gU291cmNlcyAqLywKKwkJ
CQlGRTBENEEwNjFBQjhERDBBMDAyRjU0QkYgLyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKKwkJNjUxMTIyRkExNDA0NkE0QzAwMkIxMDFEIC8qIFNvdXJjZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk2NTExMjMwNzE0MDQ2QjBBMDAyQjEwMUQg
LyogdGVzdFJlZ0V4cC5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJOTMyRjVCOTEwODIyQTFDNzAwNzM2
OTc1IC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk5RUE1QzdB
MjE5MEYwODg3MDA1MDhFQkUgLyogSW5pdGlhbGl6ZUxMVk1NYWMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJOUVBNUM3QTExOTBGMDg0MjAwNTA4RUJFIC8qIEJ1bmRsZVBhdGgubW0gaW4gU291cmNl
cyAqLywKKwkJCQk1MkIzMTBGRjE5NzVCNDI0MDA4MDg1N0MgLyogVHlwZUxvY2F0aW9uQ2FjaGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUU3Mjk0MDgxOTBGMDIxRTAwMUE5MUI1IC8qIEluaXRp
YWxpemVMTFZNUE9TSVguY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUU3Mjk0MDcxOTBGMDFBNTAw
MUE5MUI1IC8qIEluaXRpYWxpemVUaHJlYWRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZG
QTU0OTcxNkI4ODM1MDAwQjNBOTgyIC8qIEE2NERPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZFMDUwMTUxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjU1RjBGNDE0RDEwNjM5MDBBQzc2NDkgLyogQWJzdHJhY3RQ
Qy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlCRDEwN0VDMzc2MDA0MjdBNDggLyogQXJn
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDOTE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3NDNC
QUExNkI4ODI0OTAwOUY5Mjc3IC8qIEFSTTY0RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2RDNCMkMzMTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjVDMDI4NTAxNzE3OTVFMjAwMzUxRTM1IC8qIEFSTXY3RGlzYXNzZW1i
bGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1QzAyODVDMTcxNzk2NjgwMDM1MUUzNSAvKiBB
Uk12N0RPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY4MzM1QjcxNjM5QzFFNjAwMTQ0
M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdB
OEFGMzQxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGRkM5OUQ0MTg0RUUzMTgwMDlDMTBBQiAvKiBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdBOEFGMzYxN0FEQjVGMzAwNUFCMTc0IC8q
IEFycmF5QnVmZmVyVmlldy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjEyREUwRjE5NzlENUZE
MDAwNkZGNEUgLyogRXhjZXB0aW9uRnV6ei5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlC
RjEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBN0JEQUVDODE3RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyogQXJyYXlQ
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQyN0E0OCAv
KiBBcnJheVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjI0RTU0MDE3RUE5RjU5
MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNjlD
Qzg4MTkzQUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxNDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0MjgwODY0MTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuT2Jq
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODY1MTA3RUMxMUEwMDEzRTdCMiAvKiBC
b29sZWFuUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3RDgwMUE0MTg4MEQ2NkUw
MDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzJG
Q0FFMTAxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlQmFzaWNCbG9jay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxNDhGMjFBQTEwN0VDNTNBMDA0MkVDMkMgLyogQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzJGQ0FFMTIxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVj
b2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDI4MDgyRDEwN0VD
MDU3MDAxM0U3QjIgLyogQ2FsbERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyOUQ4REQw
RUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjBC
ODNCMDE0QkNGNzE2MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGOTMzMjlEMTRDQTdEQzMwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjJCOUNFNDE5RDBCQTdEMDBCMUQxQjUgLyogREZHSW5zZXJ0T1NSSGlu
dHNGb3JVcGRhdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTY5QTA3OTYwRUQxRDNBRTAwRjFG
NjgxIC8qIENvZGVCbG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGOTQ0MDE2Njc2MzMw
MDBENjE5NzEgLyogQ29kZUJsb2NrSGFzaC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkM5N0Yz
MzE4MjAyMEQ3MDAyQzlCMjYgLyogQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRDhBMzEzMTdENDMyNkMwMENBMkM0MCAvKiBDb2RlQmxvY2tT
ZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc3RjE4MjExNjQwODhCMjAwNjQwQTQ3IC8qIENv
ZGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGOTQ0NjE2Njc2NEYxMDBENjE5NzEg
LyogQ29kZU9yaWdpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkI1ODI2NzE0RDI3OTZDMDBB
OUMzMDYgLyogQ29kZVByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QzczNTAxQUM5
Rjk5RjAwQkUxNjgyIC8qIFZhcmlhYmxlV3JpdGVGaXJlRGV0YWlsLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2QjU4MjY5MTREMjc5NzAwMEE5QzMwNiAvKiBDb2RlUHJvZmlsaW5nLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGOEY5NDNDMTY2NzYzMTMwMEQ2MTk3MSAvKiBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOEY5NDQyMTY2NzYzMzUwMEQ2MTk3
MSAvKiBDb2RlVHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDMTEwN0VDMzc2MDA0
MjdBNDggLyogQ29tbW9uSWRlbnRpZmllcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5QzVF
NUUxOEUzNUY1RTAwRDQzMUMzIC8qIEZUTERXQVJGUmVnaXN0ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTcwOUYyRjIxN0EwQUMyQTAwNTEyRTk4IC8qIENvbW1vblNsb3dQYXRocy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk2NTUzQTMzMTE3QTFGMUVFMDA4Q0Y2RjMgLyogQ29tbW9uU2xvd1Bh
dGhzRXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjY0QjI3OTFBNzk1N0IyMDA2
RTRFNjYgLyogQ2FsbEVkZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFMjU0RjYxQUJEREQy
MjAwQTdDNkQyIC8qIERGR1ZhcmFyZ3NGb3J3YXJkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTdFNUEzQTcxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0aW9uUmVzdWx0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0N0YzOUMyMTA3RUMzNzYwMDQyN0E0OCAvKiBDb21wbGV0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NkIxNkQ4MTJFQjVCNTkwMDFCRUMxQiAvKiBDb25z
ZXJ2YXRpdmVSb290cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA3OTE4OUIwNTEwMDA2
MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkE4MzYzODUx
OEQ3RDBFRTAwMDBFQkNDIC8qIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMTQyODA4MkUxMDdFQzA1NzAwMTNFN0IyIC8qIENvbnN0cnVjdERhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTU3RDIzRjExODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFy
Y2hVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzI0MDMwNTUxNEI0MDRFNjAwNzlF
QjY0IC8qIENvcGllZFNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJBQUNFNjNDMThDQTVB
MDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QzIyMzlEMTcxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9yLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGMkI2NkRFMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjY4MkZCMjE5QkNCMzY0MDBGQTNCQUQgLyogREZHU1NBQ2FsY3VsYXRvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDMzEwN0VDMzc2MDA0MjdBNDggLyogRGF0ZUNv
bnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUM0MTA3RUMzNzYwMDQyN0E0
OCAvKiBEYXRlQ29udmVyc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDNTEwN0VD
Mzc2MDA0MjdBNDggLyogRGF0ZUluc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwOTRD
NERFMUFFNDM5NTMwMDQxQTJFRSAvKiBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTE0N0YzOUM2MTA3RUMzNzYwMDQyN0E0OCAvKiBEYXRlUHJvdG90eXBl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODIzMTA3RUMwMkMwMDEzRTdCMiAvKiBEZWJ1
Z2dlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDk1NTlFRTBERENEREY3MDA2NDgwODcgLyog
RGVidWdnZXJDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkE3QTU4RUYxODA4QTRD
NDAwMjBCREY3IC8qIERlZmVyR0MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDNzEyREUxN0NE
ODc3OTAwOENDOTNDIC8qIERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNzdBNDIzRDE3QTBCQkZEMDBBOERCODEgLyogREZHQWJzdHJhY3RIZWFwLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGNTVDMTk0MTcyNzZFNDYwMENFQUJGRCAvKiBERkdBYnN0
cmFjdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDg1MzIxMTg3NzUwNTYwMDgzQjY4
NyAvKiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyRDREREQxOTgzMkQz
NDAwN0Q0QjE5IC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2Mzk0
ODQxNUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBN0Q5QTI5NDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjY2NkVDNjE4MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxh
YmlsaXR5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzE0Q0E0MTZFQTkyRjAwMEYzRUJFQiAv
KiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
MkI5Q0VDMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBN0Q4OUNGMjE3QTBCOENDMDA3NzNBRDggLyogREZHQmFzaWNCbG9j
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQTg4MDY3ODE5MTA3RDU1MDBDQjBCQkIgLyogREZH
RnVuY3Rpb25XaGl0ZWxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyREQ4MTMxQUIzRDhC
RTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBN0Q4OUNGMzE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJODZFQzlEQzQxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0J5dGVDb2Rl
UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDgyRTIxMTQxNzJDRTMwMDE3OUM5NCAv
KiBERkdDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjlDRTYxOUQwQkE3
RDAwQjFEMUI1IC8qIERGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZGRkM5NTcxNEVGOTBBMDAwQzcyNTMyIC8qIERGR0NGQVBoYXNlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGM0IzQTI3MTU0NEM5OTUwMDNFRDBGRiAvKiBERkdDRkdTaW1w
bGlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3N0E0MjNGMTdBMEJCRkQw
MEE4REI4MSAvKiBERkdDbG9iYmVyaXplLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3N0E0MjQx
MTdBMEJCRkQwMEE4REI4MSAvKiBERkdDbG9iYmVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRjBGMTlEMTZCNzJBMDgwMDVERjk1QiAvKiBERkdDb21tb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZFQTBBMzExNzBENDBCRjAwQkI3MjJDIC8qIERGR0NvbW1vbkRhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEYzOEIwMTcxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9u
S2V5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMzhCMDE5MTdDRkU3NTUwMEIxNDREMyAvKiBE
RkdDb21waWxhdGlvbk1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYzQjNBMUExNTNFNjhG
MjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGQkUwRjcyMTZDMURCMDMwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUE3RDg5Q0Y1MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0
aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMzg0RUU3MUFE
REI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGRkZDOTU5MTRFRjkwQTYwMEM3MjUzMiAvKiBERkdDU0VQaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjJGQzc3MjE2RTEyRjcxMDAzOEQ5NzYgLyogREZHRENFUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOTkxNzJGMDRGRjAwN0RCREE1IC8qIERGR0Rlc2lyZWRJ
ZGVudGlmaWVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMkMwRjdDRDE3QkJGQzVCMDA0NjRG
RTQgLyogREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTg1
MzRCMTcyM0NEQTUwMEI2MThGNSAvKiBERkdEZXNpcmVkV2F0Y2hwb2ludHMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzI5ODFGRDgxN0JBRUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVm
ZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMjk4MUZEQzE3QkFGRjQ0MDBBM0JDOTgg
LyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3
NjQxNTkxQTFDQzAwNENCOUZGIC8qIERGR0Rpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkQ4MUFEMjE1NEZCNEVFMDA5ODNFNzIgLyogREZHRG9taW5hdG9ycy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkQzQzgyNjE0MTE1RDQwMDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGMkI5Q0UyMTlEMEJBN0QwMEIxRDFCNSAvKiBERkdBdmFpbGFi
aWxpdHlNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjlDRTgxOUQwQkE3RDAwQjFEMUI1
IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEZGMEYxOUUxNkI3MkEwQjAwNURGOTVCIC8qIERGR0VkZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZCQzBBRTcxNDk2QzdDNDAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMDEyMzMyMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0cmVuZ3Ro
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3OEE5Nzc0MTc5NzM4QjgwMDlERjc0NCAvKiBERkdG
YWlsZWRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4QTk3NzYxNzk3MzhCODAw
OURGNzQ0IC8qIERGR0ZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCREMxNTE1
MUM1RDREMDBDRDg5MTAgLyogREZHRml4dXBQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RkQxMjAzMzFBOEM4NUJEMDAwRjUyODAgLyogRlRMSlNDYWxsVmFyYXJncy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjlEMzM5NjE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hlZEF0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGOUQzNjk0MUFFOUNDMzMwMDBENERGQiAvKiBERkdDbGVhblVw
UGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdEODlDRjcxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0ZsdXNoRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0ExQkY5MUE5RUNCN0Qw
MDBERTAxQSAvKiBERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4NkVDOURDNzEzMjhERjgyMDAyQjJBRDcgLyogREZHR3JhcGguY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyRkNDRjkxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE3MDREOTA1MTdBMEJBQTgwMDZCQTU1NCAvKiBERkdJblBsYWNl
QWJzdHJhY3RTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjMwMEI3QjE4QUIxQjE0MDBB
NkQ3MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZDOTdGM0QxODIwMjExOTAwMkM5QjI2IC8qIERGR0ludmFsaWRhdGlvblBvaW50SW5q
ZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVDM0ExQTUxOEMwNDkwMjAwQzk1
OTNBIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkVBMEEzMzE3MEQ0MEJGMDBCQjcyMkMgLyogREZHSklUQ29kZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk4NkVDOURDQjEzMjhERjgyMDAyQjJBRDcgLyogREZHSklUQ29tcGlsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZFMDUwMkExQUE5MDk1NjAwRDMzQjMzIC8qIFNjb3BlT2Zmc2V0
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3OEE5Nzc4MTc5NzM4QjgwMDlERjc0NCAvKiBERkdK
SVRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDOTdGM0YxODIwMjExOTAwMkM5
QjI2IC8qIERGR0p1bXBSZXBsYWNlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzNBNTM1
QTE3OTlDRDVEMDAxNzBDMTkgLyogREZHTGF6eUpTVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTdEOUEyOTcxN0EwQkM3NDAwRUUyNjE4IC8qIERGR0xJQ01QaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBN0Q4OUNGQjE3QTBCOENDMDA3NzNBRDggLyogREZHTGl2ZW5lc3NBbmFseXNp
c1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjBGMTk5MTZCNzI5RjYwMDVERjk1QiAv
KiBERkdMb25nTGl2ZWRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzY3QjVCNTE3QTBC
OTY1MDA2M0Q5NDAgLyogREZHTG9vcFByZUhlYWRlckNyZWF0aW9uUGhhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEYyQkRDNEQxNTIyODE4NjAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkTm9kZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzM3ODEwRDE3OTlFQTJFMDA4MTc1MzMgLyogREZHTmF0
dXJhbExvb3BzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjBGMTlDMTZCNzJBMDMwMDVERjk1
QiAvKiBERkdOb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTU4MUJBMTUwRTk1MkMwMEI5
QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFQzlEQ0YxMzI4
REY4MjAwMkIyQUQ3IC8qIERGR09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdE
ODlDRkQxN0EwQjhDQzAwNzczQUQ4IC8qIERGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZEODJFNTYxNDFEQUYwODAwMTc5Qzk0IC8qIERGR09T
UkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI1MTdENTFGNTcwMENBMkM0MCAv
KiBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
RTUwNjg2NzFBRTI1RTI4MDAwOURBQjcgLyogRGVmZXJyZWRTb3VyY2VEdW1wLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGQzA5NzkxMTQ2QTZGNzEwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTcwRUNBNjA3MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZVJl
Z2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjM1QkVCMTcxNzhFNzMwMDY5MEM3RiAv
KiBERkdPU1JFeGl0QmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMwOTc5MjE0NkE2Rjcz
MDBDRjI0NDIgLyogREZHT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QzA5Nzc2MTQ2OTQzQjAwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRkMwOTc3MjE0NjkzQUY5MDBDRjI0NDIgLyogREZHT1NSRXhpdENv
bXBpbGVyNjQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQzBFQzIxQUEwRDdEQTAwQjZBQUZB
IC8qIEpTU3RyaW5nSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3MDI1QTkxNzE0
QjBGQTAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBMTJCQkZGNDFCMDQ0QTk4MDA2NjRCNjkgLyogSW50bE9iamVjdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkVGQzlBQTE2ODFBM0IzMDA1NjdGNTMgLyogREZHT1NSRXhpdEp1bXBQ
bGFjZWhvbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjIzNUJFRDE3MTc4RTczMDA2OTBD
N0YgLyogREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRkZD
OTVCMTRFRjkwQUQwMEM3MjUzMiAvKiBERkdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQky
QTExMTI0NTE5MkZDRTc5MDA1RUUxOEQgLyogQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE3OEE5NzdBMTc5NzM4QjgwMDlERjc0NCAvKiBERkdQbGFuLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGQkUwRjc0MTZDMURCMDkwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9u
SW5qZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGRkM5NUQxNEVGOTBCMzAw
QzcyNTMyIC8qIERGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGMkZDQ0ZCMThBNjAwNzAwMDFBMjdGOCAvKiBERkdTYWZlcG9pbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODZFQzlERDIxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZl
SklULmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2ODgwRjFGMTQzMjhCQjkwMEIwOEQ0MiAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2ODgwRjREMTQz
NTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE3RDg5Q0ZGMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMkEwNUFCRDUxOTYxREYyNDAwMzQxNzUwIC8qIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMyMENCOTE4NTU2QTM1
MDBDOUU5NTQgLyogREZHU1NBTG93ZXJpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1
MkI3MTdCNTFBMDU5N0UxMDA3QUY0RjMgLyogQ29udHJvbEZsb3dQcm9maWxlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkMzQ0QwMTE5QURBNDExMDA2QUM3MkEgLyogREZHTmFpdmVEb21pbmF0
b3JzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBE
RkdTdGFja0xheW91dFBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNEYyOURGMThCNkFE
MUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkU3MjExRDE5M0I5QzU5MDAzMUY2RUQgLyogREZHVHJhbnNp
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkMyMENCNTE4NTJFMkM2MDBDOUU5NTQgLyog
REZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJGQ0NG
RTE4QTYwMDcwMDAxQTI3RjggLyogREZHVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkMwOTdBMTE0NkIyOENBMDBDRjI0NDIgLyogREZHVGh1bmtzLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGOTNCNEE5MThCOTJDNEQwMDE3OEEzRiAvKiBQdXRCeUlkVmFyaWFudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3MDlGQjg2NzFBRTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI3MTdENTFGNTcwMENBMkM0MCAvKiBERkdUaWVy
VXBDaGVja0luamVjdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzI5MTdE
NTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkIxNzY2MjE5NkI4RjlFMDA5MTA1MkEgLyogREZHUHVyZVZh
bHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDhBMzJCMTdENTFGNTcwMENBMkM0MCAvKiBE
RkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGNjM5NDQwMTVDNzVGMUQwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lz
dGluZ1BoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQkUwRjc2MTZDMURCMEYwMDgyQzVF
OCAvKiBERkdVbmlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMzRCMTQ5
MTZENDIwMTAwMDFDREE1QSAvKiBERkdVc2VLaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
M0IzQTJCMTU0NzUwMDAwMDNFRDBGRiAvKiBERkdWYWxpZGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkIxNzY2MDE5NkI4RjlFMDA5MTA1MkEgLyogREZHSGVhcExvY2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGMkJEQzRGMTUyMjhCRjMwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJj
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkREQkZCNTE2NjZFRUQ4MDBDNTVGRUYgLyogREZH
VmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjU4NzRFRDE5
NEZFQjEyMDBBQUIyQzEgLyogREZHTWF5RXhpdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJC
REM1MTE1MjI4RkZEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRjJCREM0QTE1MjI4MDlBMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0cmVh
bS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkZGQzk1RjE0RUY5MEJCMDBDNzI1MzIgLyogREZH
VmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
OUUzMjYzMUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkM5N0Y0MTE4MjAyMTE5MDAyQzlCMjYgLyogREZHV2F0
Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkRCMkNFNzE3
NDgzMEEyMDA3QjNDMUIgLyogREZHV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5
RDMzNzAxNjVEQkI5MDAwNUFEMzg3IC8qIERpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBNzA0NDdFRDE3QTBCRDcwMDBGNTg5OEUgLyogRHVtcENvbnRleHQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTlFNDVBMjUxOEExQjI1OTAwMjZEODhGIC8qIEVuY29kZWRWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDNzEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3IuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5QzgxMDdFQzM3NjAwNDI3QTQ4IC8qIEVycm9yQ29u
c3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkVCNThDMTQxODdCOEIxNjAwOThFRjBC
IC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDOTEw
N0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDdGMzlDQTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTU0OTgyMDMxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVy
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkNBMDMyRTEwMzhFODQ0MDAyOEE2MDkgLyogRXhl
Y3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0I0OEY0OTBFRTg5MzZGMDBEQ0JEQjYg
LyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkRCNjQ2NDBG
OTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGMkREODExMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNF
bGltaW5hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNTZBMUQ1MTUwMDFDRjQw
MDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUyNjc4
RjhFMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEYyRDRERUIxOTgzMkRDNDAwN0Q0QjE5IC8qIFR5cGVQcm9maWxlckxvZy5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjAzMzJDMDE4QURGQUUxMDA1Rjk3OUEgLyogRXhpdGluZ0pJ
VFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZCMTA1ODUxNjc1NDgwRjAwRjhBQjZFIC8q
IEV4aXRLaW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTFDMTcwOEIwMDcwMEJCNzIy
QyAvKiBGVExBYnN0cmFjdEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5NzhCM0IxQUFF
QTcxRDAwN0M3MzY5IC8qIENvbnN0YW50TW9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUw
NTAyNTFBQTkwOTU2MDBEMzNCMzMgLyogQ2xvbmVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGNzkwODU1MTlBMjkwQjIwMEY2MzEwQyAvKiBERkdTdHJ1Y3R1cmVSZWdpc3RyYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEExRTE3MDhCMDA3MDBCQjcyMkMg
LyogRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ4
NTMyNzE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZFQTBBMDkxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENhcGFiaWxpdGllcy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29t
bW9uVmFsdWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTBCMTcwNTEzREIwMEJCNzIy
QyAvKiBGVExDb21waWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTk1Rjc5MThCNTY5NDcw
MEI1MzFGQiAvKiBGVExEYXRhU2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQUM5MjJC
QjE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGMjM1QkQzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEYyMzVCRDUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRB
cmd1bWVudEZvck9wZXJhbmQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyMzVCRDgxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTEV4aXRUaHVua0dlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjIzNUJEQTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUE3RjI5OTZCMTdBMEJCNjcwMDEwNDE3QSAvKiBGVExGYWlsLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGRTgzNDE3MUE2RUY5N0IwMEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxT
dHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ4QTMxOTE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMRm9yT1NSRW50cnlKSVRDb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjVG
MUFGMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExJbmxpbmVDYWNoZVNpemUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEZFQTBBMjgxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTEludHJpbnNpY1JlcG9zaXRv
cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDM0NDRkYxOUFEQTQxMDAwNkFDNzJBIC8qIERG
R0Jsb2NrV29ya2xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFQTBBMEQxNzA1MTNEQjAw
QkI3MjJDIC8qIEZUTEpJVENvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4QTk3ODAxNzk3
MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RjJCOUNGNDE5RDBCQUMxMDBCMUQxQjUgLyogRlRMRXhpdFByb3BlcnR5VmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjJGMkFBMzcxQjBCRURFMzAwNjEwQzdBIC8qIERGR0xhenlOb2RlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0I1MTg1RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0Nh
bGwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOTUxNzJFMDRBMDAwN0RCREE1IC8qIEZU
TExpbmsuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8q
IEZUTExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ4QTMx
QjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExS
ZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4
NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFBQjE4MDRDMTNFMDA0NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEYyNUYxQjExODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQYXRoQ2FsbC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjI1RjFCMzE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhD
YWxsS2V5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOUQzMzlBMTgwM0FEQjcwMDczQzJCQyAv
KiBGVExTdGFja01hcHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFQTBBMTYxNzA2QkI5MDAw
QkI3MjJDIC8qIEZUTFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjM1QkUxMTcxNzhF
MUMwMDY5MEM3RiAvKiBGVExUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QjFDQzUx
ODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEYyMzVCRTMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNUExMjczMTkyRDlGREYwMDg3NjRBMyAvKiBERkdEb2VzR0MuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTUzQ0UwODcxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRjVBNjI4MzE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDggLyog
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkYwRjE5RjE2Qjcy
QTE3MDA1REY5NUIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1MkIzMTBGRDE5NzRBRTg3MDA4MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5j
dGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjY0QjI3MTFBNzg0QkFGMDA2
RTRFNjYgLyogQmluYXJ5U3dpdGNoLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzY2RDJGMTVB
OERDRTAwMDhGMzYzRSAvKiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzIyMzlEMUExNjI2MkJERDAwNUFDNUZEIC8qIEdDVGhyZWFkLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUMyMTEyMkUxMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MzMyOUYxNENBN0RDQTAwODVGM0M2IC8qIEdldEJ5
SWRTdGF0dXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYwMzMyQzMxOEIwMTc2MzAwNUY5NzlB
IC8qIEdldEJ5SWRWYXJpYW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODU1MTA3RUMw
RTcwMDEzRTdCMiAvKiBHZXR0ZXJTZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyRTMx
MzUxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
NDJFMzEzNzEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU3RhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMTRCQTdBOTcxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzI0RDMxRTIxNjFDRDY5NTAwMkFBNERCIC8qIEhlYXBTdGF0aXN0aWNzLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUMyRTUyNkJEMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEY0NjgwRDQxNEJCRDI0OTAwQkZFMjcyIC8qIEhvc3RDYWxs
UmV0dXJuVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5Q0UxMDdFQzM3NjAwNDI3
QTQ4IC8qIElkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
MjVGOEJDRDE1NzU0NEE5MDAyNDVCNzEgLyogSW5jcmVtZW50YWxTd2VlcGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMTNFMDRFMTYxNjRBMUYwMERDOERFNyAvKiBJbmRleGluZ1R5cGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxp
emVMTFZNLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUyNzc3M0RFMUFBRjgzQUMwMEJERTdFOCAv
KiBSdW50aW1lVHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTEzRTVCNzE4NUI4QkQzMDA3
RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZCRjE1OEMx
OUI3QTUzMTAwNjk1REQwIC8qIERGR0Jsb2NrU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1
MTRCMkMyMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTU4RTM1OTExODYwREVDRjAwMUYyNEZFIC8qIEluamVjdGVkU2NyaXB0SG9z
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTEzRTVDQTE4NUY5NjI0MDA3RTk1QUQgLyogSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1ODQwRTIwMTg3QjdC
ODYwMDg0M0IxMCAvKiBJbmplY3RlZFNjcmlwdE1vZHVsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjI0RTU1NTE3RjBCNzFDMDBBQkIyMTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUZFN0JBNjBGMUExQTdDRUMwMEYxRjdCNCAvKiBIZWFwVmVyaWZpZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVDRUVFMTQxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3Bl
Y3RvckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1OTNDRjg2MTg0MDM4Q0EwMEJGQ0Uy
NyAvKiBJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI5
Q0Y2MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTkzQ0Y3QzE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkFGNzM4MkMxOEJC
QkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QTVGRDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBNTdEMjNFNTE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTMyNDM4NzE4NTY4MzM1MDAyRUQ2
OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTcwOUZCODY5MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0Q29uc3RydWN0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTUzMjQzODkxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUzMjQzOEIxODU2ODMzNTAw
MkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBNTBFNEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1OTNDRjgyMTg0MDM3NzEwMEJGQ0UyNyAvKiBJbnNwZWN0b3JW
YWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc4ODUzRjkxNzk3MjYyOTAwMTQ0MEU0IC8q
IEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5Q0Yx
MDdFQzM3NjAwNDI3QTQ4IC8qIEludGVybmFsRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMTQyOUQ3RDQwRUQyMTI4MjAwQjg5NjE5IC8qIEludGVycHJldGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTcwMTEzRDRCMUE4REIwOTMwMDM4NDhDNCAvKiBJdGVyYXRvck9wZXJhdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwM0ZBMTkxODhFMEZCMDAwMTEwRjE0IC8qIEphdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyOUQ5MkYwRUQyMkQ3MDAw
Qjg5NjE5IC8qIEpJVC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkE5MEVEMDBFRTdENTFGMDBB
QjM1MEQgLyogSklUQXJpdGhtZXRpYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzU3MDZERTEx
OEEyQkNGMDA1N0Y4OEYgLyogSklUQXJpdGhtZXRpYzMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2Q0M4NUEzMEVFNzlCNzQwMDI4ODY4MiAvKiBKSVRDYWxsLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTE0NkZFNTEyMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEY4Rjk0NDQxNjY3NjM1NDAwRDYxOTcxIC8qIEpJVENvZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZBRjdFRkQxNjVCQTkxQjAwMEM4NDU1IC8qIEpJVERpc2Fzc2Vt
Ymxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ2ODA4MzE0QkE1NzMxMDBCRkUyNzIgLyog
SklURXhjZXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkIxNEUxRTE4MTI0QUNFMDA5
QjZCNEQgLyogSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QkNERDUxRUIwRkI4REY3NDAwNEE4QkRDIC8qIEpJVE9wY29kZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTcxMjM2RTUxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9wY29kZXMzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjZFODQ1QTE5MDMwQkVGMDA1NjI3NDEgLyogREZHVmFyaWFibGVB
Y2Nlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjRFNTRDMTdFRTI3NDkwMEFCQjIx
NyAvKiBKSVRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2Q0M4NUM0MEVFN0E4
OTQwMDI4ODY4MiAvKiBKSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlB
N0MxRThFNDExMkU3MkVGMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjc2NkQyODE1QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRp
bmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJ
VFN0dWJSb3V0aW5lU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFNEJGRjJCMUFENDc2RTcw
MDA4OEY4NyAvKiBGdW5jdGlvbk92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEEy
M0Q3NTBGNEUxQUJCMDAyM0NEQUQgLyogSklUU3R1YnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEY1RUY5MUUxNjg3OEY3QTAwM0U1QzI1IC8qIEpJVFRodW5rcy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkM3MTJFMjE3Q0Q4NzkxMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQwQjdEMUQwREM2OUFGNzAwOUM0
MkI4IC8qIEpTTGV4aWNhbEVudmlyb25tZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MDU2
NkM0MTA3RUMyNTUwMDVEQkM4RCAvKiBKU0FQSVZhbHVlV3JhcHBlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDMkNGMzlDMTE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFwcGVyT2JqZWN0Lm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDAxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjY2RTIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJy
YXlCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyQjY2RTQxN0I2QjVBQjAwQTdBRTNG
IC8qIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJC
NjZFNjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjJCNjZFODE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdCREFFQ0ExN0Y0RUExNDAwRjYxNDBDIC8qIEpT
QXJyYXlJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDIxMzU5QjBBNjc3RjRGMDBB
ODE5NUUgLyogSlNCYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGODk4RjMxMUIyNzY4OUYw
MDgzQTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDBGOEFGMEE1MDhEMjAwMDA1RjA2MSAvKiBKU0NhbGxi
YWNrQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MEY4OTIwQTUwOEIxMDAw
MDVGMDYxIC8qIEpTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEFC
REY2MDBBNDM3RkVGMDBFQ0NBMDEgLyogSlNDYWxsYmFja09iamVjdC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBN0Q4MDFBODE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNjU3Q0Y0NTgxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0N0YzOUQxMTA3RUMzNzYwMDQyN0E0OCAvKiBKU0NlbGwuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDYxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQ0pTVmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0MEZDRTQwQTUxRTQ2QjAwMDVGMDYxIC8qIEpT
Q2xhc3NSZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFM0M2MTYxNjdCQUJFRTAwNkQ3NjBB
IC8qIEpTQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTE0QkQ1QTMwMEEzRTkxRjYwMEJB
RjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBEQzNFMDkxQjJE
RjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRDk0OTgyMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTcyMDI4QjYxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRh
Vmlldy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZFRDE3QjZCNUFCMDBBN0FFM0YgLyog
SlNEYXRhVmlld1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJENERFODE5ODMy
REFDMDA3RDRCMTkgLyogVG9UaGlzU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMzg0
RUU1MUFEREI3QUQwMDU1REUyQyAvKiBKU0RvbGxhclZNLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTk3ODgwMTQwMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGRTA1MDE3MUFBOTA5MTEwMEQzM0IzMyAvKiBEaXJlY3RBcmd1bWVudHMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTQwNTY2RDYxMDdFQzI3MTAwNURCQzhEIC8qIEpTRnVuY3Rpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDIxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTR2xv
YmFsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDg1MTg5QjFCN0UwMDYzMzIz
MSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlB
NTk0NTU5MjE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1N0QyM0U5MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9i
amVjdERlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTRFOUQxN0IxMDdFQzQ2
OTAwNEREQTIxIC8qIEpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1MTAwN0MwMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwRTRCNjMxODgwOURENTAwNjhBNDZE
IC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1
MDNGQTI5MTg4RjEwNTkwMDExMEYxNCAvKiBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTdBOEVFMThDRTRGRDgwMDUyMzcxRCAvKiBTY3Jh
dGNoUmVnaXN0ZXJBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUxM0U1QkYxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1MTNFNUMxMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1MDNGQTFEMTg4
RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMTQyODA4NzUxMDdFQzEzRTAwMTNFN0IyIC8qIEpTTG9jay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjNEMEJCQzE5NEE0MTQzMDBGQzlDRjkgLyogQ29uc3RhbnRTdHJ1
Y3R1cmVDaGVjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMjVENzA5QjE2REU5OUY0MDBGQ0E2
QkMgLyogSlNNYW5hZ2VkVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNzAwODc0MTE3Q0JF
OEVCMDBDM0U2NDMgLyogSlNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0REVGOTUxODJE
OTkxNDAwNTIyQzIyIC8qIEpTTWFwSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4
NzRBRTMxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE3MjcwMDkwMERBQzZCQkMwMEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTE0N0YzOUQ0MTA3RUMzNzYwMDQyN0E0OCAvKiBKU09iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDgyQjdFNDBBNDMwNzYwMDA1MTdDRkMgLyogSlNPYmplY3RSZWYu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdGOTkzNjAwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05P
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGQjZDMzgxQUY0OEREQzAwREIxQkY3IC8q
IFR5cGVvZlR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTVGNkU2OTUwRTVCNUY5NzAwOTFF
ODYwIC8qIEpTUHJvZmlsZXJQcml2YXRlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDMTg0RTFB
MTdCRURCRDMwMDdDQjYzQSAvKiBKU1Byb21pc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0Mx
ODRFMjIxN0JFRTI0MDAwN0NCNjNBIC8qIEpTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1NTJDMzdGMUFEREI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rv
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjg5M0JEQjE5MzZFMjNDMDAxMjExRjQgLyogREZH
U3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzAwOENEQTE4
NzEyNEJCMDA5NTVDMjQgLyogSlNQcm9taXNlRGVmZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJN0MwMDhDRDIxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3QzE4NEUxRTE3QkVFMjJFMDA3Q0I2M0EgLyogSlNQcm9taXNlUHJv
dG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMUMwRkZGMUIxOTRGRDEwMEI1M0ZDQSAv
KiBFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzA5RkI4NkIxQUUzMzVDNjAwMzlE
MDY5IC8qIFdlYWtTZXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0MwMDhDREUx
ODcxMjU4RDAwOTU1QzI0IC8qIEpTUHJvbWlzZVJlYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2MjU1M0QxMTYxMzZEQTkwMDlGMTdEMCAvKiBKU1Byb3h5LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTk5MjhGRjNCMThBQzRBRUMwMEI4Q0YxMiAvKiBKU1JlcGxheUlucHV0cy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDg3NEFFNTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBN0MwQzRBRDE2ODEwNjdFMDAxNzAxMUQgLyogSlNTY3JpcHRS
ZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTlEOUQx
N0QxMjgzNzAwNUY1RkY5IC8qIEpTU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjBDMjU5
MUE4MDEzQUIwMERBMzIyOSAvKiBWaXJ0dWFsUmVnaXN0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTc5MERENkYxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkE4MzYzODkxOEQ3RDBGRTAwMDBFQkNDIC8qIEZ1bGxHQ0FjdGl2aXR5Q2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4M0ExMDdFQzA3NTAwMTNFN0IyIC8q
IEpTU3RhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ3RjM5RDUxMDdFQzM3NjAwNDI3QTQ4
IC8qIEpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQjQzOEEzMTkyNzBCMUQwMEUx
RkJDOSAvKiBTdHJ1Y3R1cmVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjYwMEI1QTYxNTJC
QUFBNzAwOTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0
ODJCNzRFMEE0MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxNDZBQUIzODBCNjZBOTQ0MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjkxOUQwQzE1N0VFMDlGMDA0QTRFN0QgLyogSlNTeW1ib2xUYWJsZU9i
amVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjZGQTE3QjZCNUFCMDBBN0FFM0YgLyog
SlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI2NkZD
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGMkI2NkZFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRjA1NEY5MUFDMzVCNDQwMEU1QkU1NyAvKiBFeGVjdXRhYmxl
QWxsb2NhdGlvbkZ1enouY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZFM0M2MUExNjdCQUJFRTAw
NkQ3NjBBIC8qIEpTVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQkwRkY4QkRFQTFBRDRDRjcx
MDBERkU4ODQgLyogSW5mZXJyZWRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjhGMTQz
NTFBREYwOTAxMDBFRDc5MkMgLyogREZHTW92SGludFJlbW92YWxQaGFzZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxNEJENUEzMjBBM0U5MUY2MDBCQUY1OUMgLyogSlNWYWx1ZVJlZi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDdGMzlENzEwN0VDMzc2MDA0MjdBNDggLyogSlNFbnZpcm9ubWVu
dFJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkUzQzYxQzE2N0JBQkVFMDA2RDc2MEEg
LyogSlNWaXJ0dWFsTWFjaGluZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUE3Q0EzQUU3MTdEQTQx
QUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0ODJCOTQx
MTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMTQ0MjU2NjExNUVERTk4RDAwNjZBNDlCIC8qIEpTV2l0aFNjb3BlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRUU5ODQzMUE4OTIyNzUwMDc1NEU5MyAvKiBTZXR1cFZhcmFy
Z3NGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkUzQzYxODE2N0JBQkVFMDA2RDc2MEEg
LyogSlNXcmFwcGVyTWFwLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NzAxMDdFQzEzNDAw
MTNFN0IyIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0ZEOEM5
MjBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QjU0Njc5MTRGNUM0NkIwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk5NUFCODM0MjBEQTQzMjI1MDBCQzgzRjMgLyogTGVnYWN5UHJvZmls
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4RjIxQjAxMDdFQzU0MTAwNDJFQzJDIC8qIExl
eGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjQyNzU3MTU5MTRBMjAwMDRDQjlGRiAvKiBM
aW5rQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3RTJFQTZDMEZCNDYwQ0YwMDYwMUYw
NiAvKiBMaXRlcmFsUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFMjBDRTlEMTVGMDRB
OTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDY4MEQy
MTRCQkQxNjUwMEJGRTI3MiAvKiBMTEludERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYz
OEIwMTExN0NGMDc4MDAwQjE0NEQzIC8qIExMSW50RW50cnlwb2ludC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRjQ2ODBBODE0QkE3RkFCMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRDk0OTg0MUE5N0RCOTYwMEUyODk2NiAvKiBKU0Z1bmN0aW9u
TmFtZVNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDY4MEE0MTRCQTdGOEQwMEJGRTI3
MiAvKiBMTEludFNsb3dQYXRocy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjBCODM5QzE0QkNG
NDYzMDA4ODVCNEYgLyogTExJbnRUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZB
Q0QxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdF
NUFCMzcxNzk5RTRCMjAwRDI4MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEY0Q0VENUUxOENFQTdBQjAwODAyRkUwIC8qIFBvbHltb3JwaGljR2V0QnlJZExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0NjlEREUxMDdFQzdFNzAwNjUwNDQ2IC8qIExv
b2t1cC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ2ODBDQzE0QkJCMTdBMDBCRkUyNzIgLyog
TG93TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEI3MjNCMjEyRDdE
QTQ2MDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGRUIzRUNGMTYyMzdGNkMwMEFCNjdBRCAvKiBNYWNyb0Fzc2VtYmxlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4NkM1NjhFMDExQTIxM0VFMDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJBUk0u
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTAwOUMxNzk3NkM2MDAwMzE3Mjk4IC8qIE1hY3Jv
QXNzZW1ibGVyQVJNdjcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUzQ0UwODUxOEJDMUE1NjAw
QkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdBNEFF
MDgxNzk3M0IyNjAwNTYxMkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1QjZBNzREMThDNkRCQTYwMEYxMUU5MSAvKiBDb25zb2xlQ2xpZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUE3MDA4NzM5MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzRERUY5MzE4MkQ5OTE0MDA1MjJDMjIg
LyogTWFwSXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcwMDg3M0Qx
N0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
MkI5MTZDNTE0REEwNDBDMDBDQkFDODYgLyogTWFya2VkQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0MkQ2RjA4MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNEQyRjNEQTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyRDZGMTExMzUzOUE0MTAwQjAyRTg2IC8qIE1hcmtT
dGFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURERjEwN0VDN0U3MDA2NTA0NDYgLyog
TWF0aE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkI1NDY3RDE0
RjVDRkQ2MDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxNDQ2OURFMDEwN0VDN0U3MDA2NTA0NDYgLyogTmF0aXZlRXJyb3JDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURFMTEwN0VDN0U3MDA2NTA0NDYg
LyogTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ4RjIxQjcx
MDdFQzU0NzAwNDJFQzJDIC8qIE5vZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1NUVCMjlC
MTBDRTI1ODEwMDFBOTkwRSAvKiBOb2Rlc0NvZGVnZW4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NjU0NkY1MjExQTMyQjMxMzAwNkYwN0Q1IC8qIE51bGxHZXR0ZXJGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk2NTUyNUZDNTFBNkREODAxMDA3QjU0OTUgLyogTnVsbFNldHRlckZ1bmN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REUyMTA3RUM3RTcwMDY1MDQ0NiAvKiBO
dW1iZXJDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDQ2OURFMzEwN0VDN0U3
MDA2NTA0NDYgLyogTnVtYmVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REU0
MTA3RUM3RTcwMDY1MDQ0NiAvKiBOdW1iZXJQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJODZGM0VFQkUxNjhDREU5MzAwNzdCOTJBIC8qIE9iakNDYWxsYmFja0Z1bmN0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTQ0NjlERTUxMDdFQzdFNzAwNjUwNDQ2IC8qIE9iamVjdENvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REU2MTA3RUM3RTcwMDY1MDQ0NiAv
KiBPYmplY3RQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTEyNEE4RjgwRTU1NTc3
NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk2OUEw
NzlBMEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZF
RDY3QjkxQjI2MjU2RDAwNjZDRTE1IC8qIERGR0NvbnN0YW50SG9pc3RpbmdQaGFzZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDI4MDg1MDEwN0VDMEQ3MDAxM0U3QjIgLyogT3BlcmF0aW9ucy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUyMjhFRTE0MzZBQjJDMDAxOTZDNDggLyogT3B0aW9u
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQ
YXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJB
RTAgLyogUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjk4
MjA2MDE2QkZFMzgxMDAyNDBEMDIgLyogUHJlY2lzZUp1bXBUYXJnZXRzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTk1NzQyRjY1MEREMTFGNUEwMDA5MTdGQiAvKiBQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMkI5Q0Y4MTlEMEJBQzEwMEIxRDFCNSAvKiBGVExPcGVyYXRpb25zLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk1Q0Q0NTc2MEUxQzRGREQwMDg1MzU4RSAvKiBQcm9maWxl
R2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk1QUI4MzU2MERBNDNDMzAwMEJDODNG
MyAvKiBQcm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlBRDE2NkFEMzVD
MDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3
MjlBRTE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEY2MjM3OTcxQUU0NUNBNzAwRDQwMkVBIC8qIERGR1BoYW50b21JbnNlcnRpb25Q
aGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyog
UHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjcyOUFG
MTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2lu
ZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlCMTE2NkFEMzVDMDAwRjVCQTMgLyogUHJv
ZmlsZXJDb21waWxlZEJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjcyOUIyMTY2
QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGMTkwQ0FDMTg5RDgyRjYwMDBBRTVGMCAvKiBQcm9maWxlckpldHRpc29uUmVhc29uLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRjcyOUIzMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlck9y
aWdpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY3MjlCNDE2NkFEMzVDMDAwRjVCQTMgLyog
UHJvZmlsZXJPcmlnaW5TdGFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkIxMDU4QjE2NzU0
ODMxMDBGOEFCNkUgLyogUHJvZmlsZXJPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QjEwNThEMTY3NTQ4MzcwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXRTaXRlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMTM5MTJCMTY3NzFDM0EwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVk
Qnl0ZWNvZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwRUNBNjA1MUFGREJFQTIwMDQ0OTcz
OSAvKiBKU1RlbXBsYXRlUmVnaXN0cnlLZXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdGQjYw
QTQxMDNGN0RDMjAwMTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxNDQ2OURFODEwN0VDN0U3MDA2NTA0NDYgLyogUHJvcGVydHlTbG90LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUFERTM5RkZGMTZERDE0NEIwMDAzQ0Q0QSAvKiBQcm9wZXJ0eVRhYmxl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTY1RkI1MTE3MTg0RUVFNzAwMEMxMkI3MCAvKiBQcm90
b0NhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDc0QzMzQzE2QUEyRDlCMDA2MkYw
MUQgLyogUHJvdG90eXBlTWFwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOTMzMkEzMTRDQTdE
RDcwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0Uw
MUFBMTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGRjYwQUMzMTY3NDBGODgwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNwYWNlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGQTdBOEVCMThCNDEzQzgwMDUyMzcxRCAvKiBSZWcuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NDExMDdFQzA5MzAwMTNFN0IyIC8qIFJlZ0V4cC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBMTcxMkIzQjExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhw
Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFMDUwMkMxQUE5MDk1NjAwRDMzQjMzIC8q
IFZhck9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjQyQzUxMDE1MUMwNkE5MDA0NkQ0
RUYgLyogUmVnRXhwQ2FjaGVkUmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjgwODQy
MTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4NjQyQzUxMjE1MUMwODNEMDA0NkQ0RUYgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTE0MjgwODQzMTA3RUMwOTMwMDEzRTdCMiAvKiBSZWdFeHBPYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQyODA4NDQxMDdFQzA5MzAwMTNFN0IyIC8qIFJl
Z0V4cFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNCRDE4NjEyNDZBMDA4
NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGQzMxNDE1MTgxNDZENzAwMDAzMzIzMiAvKiBSZWdpc3RlclNldC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNTdEMjNFRDE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4
cHJlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVCQTE1RTkxODIzNDBCMzAwQTgyRTY5
IC8qIFJlbW90ZUluc3BlY3Rvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJBREZBMjYzMThFRjM1
NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU5NDU1OEYx
ODI0NUVGRDAwQ0MzODQzIC8qIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTVCQTE1RUMxODIzNDBCNDAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGVDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTVCQTE1RUUxODIzNDBC
NDAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAq
LywKKwkJCQkwRjI0RTU1MDE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk2MkQyRDM4RjFBREYxMDNGMDAwMjA2QzEgLyogRnVuY3Rpb25SYXJlRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjc3MDA5MjE0MDJGRjNDMDA3OEVCMzkgLyogU2FtcGxp
bmdDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MjlEODg1MEVEMjFDM0QwMEI4OTYx
OSAvKiBTYW1wbGluZ1Rvb2wuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQzBFQzYxQUEwRDdE
QTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUE1RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjA0Mzk2RDFCMDNEQzBCMDA5NTk4QjcgLyogREZH
Q29tYmluZWRMaXZlbmVzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RjE4OUIwMEFB
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQw
MDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE1MDNGQTI1MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTVEOTNBNTE4NTAxMkE4MDA0MDBERUQgLyogU2Ny
aXB0RnVuY3Rpb25DYWxsLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1NENGMkY5MTg0RUFFREEw
MDIzN0YxOSAvKiBTY3JpcHRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU0Q0YyRjUx
ODRFQUIyNDAwMjM3RjE5IC8qIFNjcmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3
Mjk5REE1MTdEMTI4NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRkQxMjAyRjFBOEFFRDEyMDAwRjUyODAgLyogRlRMSlNDYWxsQmFzZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBNzkwREQ2RDE4MkY0OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JQ
cm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyOTlEQTExN0QxMjg0ODAwNUY1RkY5
IC8qIFNldFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjcwNDE3QjZCNUFC
MDBBN0FFM0YgLyogU2ltcGxlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQzIyNTQ5NDMxNUY3REJBQTAwNjVFODk4IC8qIFNsb3RWaXNpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTkzMzA0MDJDMEU2QTc2NDAwMDc4NkU2QSAvKiBTbWFsbFN0cmluZ3MuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEY4RjJCOUUxNzMwNkM4RDAwN0RCREE1IC8qIFNvdXJjZUNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1MDhCIC8qIFNv
dXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUU0OURDMTZCMTJFRjI5M0UwMDE4
NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMENE
NEM0MTVGNkI2QkIwMDMyRjFDMCAvKiBTcGFyc2VBcnJheVZhbHVlTWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNTU0MUIxMTYxM0MxRkIwMENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkQ4MkU4NjE0MUYzRkYxMDAxNzlDOTQgLyogU3BlY3VsYXRl
ZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdDMUVBRjExNzk4N0FCNjAwMjk5REIyIC8q
IFN0YWNrVmlzaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzMwQjYxMzEyNTAwNjhGMDA5
RDI1QjEgLyogU3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQ0
NjlERUIxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ0NvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0NDY5REVDMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEY4RjE0MzMxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTE0NDY5REVEMTA3RUM3RTcwMDY1MDQ0NiAvKiBTdHJpbmdQ
cm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYyRDRERUYxOTgzMkREMzAwN0Q0QjE5
IC8qIFR5cGVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTMzNUYyNEQxMkU2NzY1QjAwMkI1
NTUzIC8qIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNE
RTNCNDMwRTZDODMyRDAwMTQ1M0E3IC8qIFN0cnVjdHVyZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk3RTRFRTcwRjBFQkI3QTVCMDA1OTM0QUEgLyogU3RydWN0dXJlQ2hhaW4uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzJGMEYyRDExNkJBRUVFOTAwMTg3QzE5IC8qIFN0cnVjdHVyZVJhcmVEYXRh
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNzY2RDM4MTVBRTRBMUMwMDhGMzYzRSAvKiBTdHJ1
Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDQ0Yw
RDBDMEVGMEI4QTUwMDQxM0M4RiAvKiBTdHJ1Y3R1cmVTdHViSW5mby5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk3MDVCNDFBQjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9sLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTcwNUI0MUFEMUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xDb25zdHJ1Y3Rvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk3MDVCNDFBRjFBNkU1MDFFMDA3MTY3NTcgLyogU3ltYm9s
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwNUI0MUIxMUE2RTUwMUUwMDcxNjc1NyAv
KiBTeW1ib2xQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5MTlEMjgxNTg1Njc3
MzAwNEE0RTdEIC8qIFN5bWJvbFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQzMxNDEz
MTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMEZBMkMxN0IxN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBNzM4NjU1NTExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3Jz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBl
ZEFycmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjJCNjcwQTE3QjZCNUFC
MDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTJDOTUy
QjkxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0Mjc0MDE1OEVCRThCMDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEZGNDI3NDMxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1dC5jIGluIFNv
dXJjZXMgKi8sCisJCQkJMEZGNDI3NEQxNThFQkZFNjAwNENCOUZGIC8qIHVkaXM4Nl9pdGFiX2hv
bGRlci5jIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3NDUxNThFQkU5MTAwNENCOUZGIC8qIHVk
aXM4Nl9zeW4tYXR0LmMgaW4gU291cmNlcyAqLywKKwkJCQkwRkY0Mjc0NjE1OEVCRTkxMDA0Q0I5
RkYgLyogdWRpczg2X3N5bi1pbnRlbC5jIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGNDI3NDcxNThF
QkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4uYyBpbiBTb3VyY2VzICovLAorCQkJCTBGMkI5Q0VB
MTlEMEJBN0QwMEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkY0MjczMjE1OEVCRDU4MDA0Q0I5RkYgLyogVURpczg2RGlzYXNzZW1ibGVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE3NkYyNzk0MTVGMTNDOTYwMDUxN0Q2NyAvKiBVbmxpbmtlZENvZGVC
bG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCNTlGODkzOTE4OTFGMjlGMDBENUNDREMgLyog
VW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjc1NzZE
MjE4RTFGRUU5MDAyRUY0Q0QgLyogQWNjZXNzb3JDYWxsSklUU3R1YlJvdXRpbmUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEYyNEU1NTgxN0Y3NEVEQjAwQUJCMjE3IC8qIFZhbHVlUmVjb3Zlcnku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTE4RTNBNTkwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUZFNTkzMkE3MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5
U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkVEOTRGMkUxNzFFM0UyMzAwQkU3N0E0IC8q
IFdhdGNoZG9nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFRDk0RjMwMTcxRTNFMjMwMEJFNzdB
NCAvKiBXYXRjaGRvZ01hYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjkxOUQyNTE1ODUzQ0Uw
MDA0QTRFN0QgLyogV2F0Y2hwb2ludC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUNGNzM3NzE3
MUNBNkZCMDBDOUJCMUUgLyogV2Vhay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZGQzc1MDE5
NjExMEE4MDBFMUQwMkQgLyogQ29tcGxleEdldFN0YXR1cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTE0RjcyNTY1MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTdDQTNBRTMxN0RBNDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBDb25z
dHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0NBM0FFQjE3REE1MTY4MDA2NTM4QUYg
LyogV2Vha01hcERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDM0MEE0ODQxQTkwNTFBRjAw
RDczQ0NBIC8qIE1hdGhDb21tb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdDQTNBRTUxN0RB
NDFBRTAwNjUzOEFGIC8qIFdlYWtNYXBQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MTRFODRGQTAxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkE0RUM5MEIxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1ZmZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVy
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkUwNTAyNzFBQTkwOTU2MDBEMzNCMzMg
LyogU2NvcGVkQXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGM0I3RTJBMTlBMTFC
ODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0U1QUIz
QTE3OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg2M0M2RDlDMTUyMTExMUEwMDU4NUU0RSAvKiBZYXJyQ2Fub25pY2FsaXplVUNTMi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkUwNTAyRjFBQUE4MDY5MDBEMzNCMzMgLyogU2NvcGVkQXJn
dW1lbnRzVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODY3MDRCODQxMkRCQTMzNzAwQTlG
RTdCIC8qIFlhcnJJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjcwNEI4NjEy
REJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjcwNEI4
OTEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBhdHRlcm4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODY3MDRCNDIxMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworCQk5MzJGNUJEQzA4MjJBMUM3MDA3MzY5NzUgLyogU291cmNlcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTkzMkY1QkREMDgyMkExQzcwMDczNjk3NSAvKiBqc2Mu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCisvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkQx
ODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQ
QlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0
IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2NjMwMDQ3
MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJCTBGRjkyMkQzMTRGNDZC
MkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFy
Z2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBM
TEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0UHJveHkgPSAwRkY5MjJEMjE0RjQ2QjJGMDA0MUEy
NEUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk1RDY5RTkxMjE1MkJFNTQ3
MDAyOEQ3MjAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdl
dERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5MzJGNUJEQTA4MjJBMUM3MDA3MzY5NzUgLyoganNj
ICovOworCQkJdGFyZ2V0UHJveHkgPSA1RDY5RTkxMTE1MkJFNTQ3MDAyOEQ3MjAgLyogUEJYQ29u
dGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk1RDZCMkE0RjE1MkI5RTIzMDA1MjMxREUgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7
CisJCQl0YXJnZXQgPSAxNDEyMTExRjBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAqLzsKKwkJ
CXRhcmdldFByb3h5ID0gNUQ2QjJBNEUxNTJCOUUyMzAwNTIzMURFIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNUQ2QjJBNTExNTJCOUUyMzAwNTIzMURFIC8qIFBCWFRhcmdl
dERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFy
Z2V0ID0gMTRCRDU5QkUwQTNFOEY5MDAwQkFGNTlDIC8qIHRlc3RhcGkgKi87CisJCQl0YXJnZXRQ
cm94eSA9IDVENkIyQTUwMTUyQjlFMjMwMDUyMzFERSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CisJCTVENkIyQTU1MTUyQjlFMjMwMDUyMzFERSAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDY1
MTEyMkY3MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICovOworCQkJdGFyZ2V0UHJveHkg
PSA1RDZCMkE1NDE1MkI5RTIzMDA1MjMxREUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwor
CQl9OworCQk1RDZCMkE1NzE1MkI5RTJFMDA1MjMxREUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA1RDZCMkE0
NzE1MkI5RTE3MDA1MjMxREUgLyogVGVzdCBUb29scyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNUQ2
QjJBNTYxNTJCOUUyRTAwNTIzMURFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjUyNDRCRDMxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNjUy
NDRCRDIxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjU0NDJENTAxOEVCQjc0NDAwN0FGOTJGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFByb3h5ID0gNjU0
NDJENEYxOEVCQjc0NDAwN0FGOTJGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsK
KwkJNjU3ODhBOUUxOEI0MDlFQjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZGOTIyQzMxNEY0
NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLzsKKwkJCXRhcmdldFBy
b3h5ID0gNjU3ODhBOUYxOEI0MDlFQjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LzsKKwkJfTsKKwkJNjU3ODhBQUIxOEI0MEEzQjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjVG
QjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXRhcmdldFBy
b3h5ID0gNjU3ODhBQUExOEI0MEEzQjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LzsKKwkJfTsKKwkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjU3
ODhBOUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovOworCQkJdGFyZ2V0
UHJveHkgPSA2NTc4OEFBQzE4QjQwQTdCMDBDMTg5RkYgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovOworCQl9OworCQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA2
NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovOworCQkJdGFyZ2V0
UHJveHkgPSA2NUZCM0Y3RDA5RDExRUYzMDBGNDlERUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovOworCQl9OworCQk5MzJGNUJFNzA4MjJBMUM3MDA3MzY5NzUgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5
MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUgKi87CisJCQl0YXJnZXRQ
cm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CisvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCisKKy8qIEJl
Z2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJMEY0NjgwQUQxNEJBN0ZEOTAw
QkZFMjcyIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJpdmVkIFNvdXJjZXMg
Y29weSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkwRjQ2ODBBRTE0QkE3RkQ5
MDBCRkUyNzIgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiRGVyaXZlZCBTb3Vy
Y2VzIGNvcHkiOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkwRjQ2ODBBRjE0
QkE3RkQ5MDBCRkUyNzIgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJp
dmVkIFNvdXJjZXMgY29weSI7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJ
MEY0NjgwQjAxNEJBN0ZEOTAwQkZFMjcyIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9O
QU1FID0gIkRlcml2ZWQgU291cmNlcyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IDBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTBG
Q0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJF
MTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMEZDRUZBQkExODA1
RDYxNjAwNDcyQ0U0IC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5
MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJMEZDRUZBQkIxODA1RDYxNjAw
NDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAwNDcy
Q0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
fTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQkwRkY5MjJDQjE0RjQ2QjEzMDA0MUEy
NEUgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRv
b2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gRGVidWc7CisJCX07CisJCTBGRjkyMkNDMTRGNDZCMTMwMDQxQTI0RSAvKiBSZWxl
YXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmln
dXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0
YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9
IFJlbGVhc2U7CisJCX07CisJCTBGRjkyMkNEMTRGNDZCMTMwMDQxQTI0RSAvKiBQcm9maWxpbmcg
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0
aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxl
LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJv
ZmlsaW5nOworCQl9OworCQkwRkY5MjJDRTE0RjQ2QjEzMDA0MUEyNEUgLyogUHJvZHVjdGlvbiAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUu
eGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9k
dWN0aW9uOworCQl9OworCQkxNDEyMTEzQTBBNDg3OTg0MDA0ODAyNTUgLyogRGVidWcgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29u
ZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJ
CX07CisJCTE0MTIxMTNCMEE0ODc5ODQwMDQ4MDI1NSAvKiBSZWxlYXNlICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJ
CTE0MTIxMTNDMEE0ODc5ODQwMDQ4MDI1NSAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJD
MDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJ
CTE0OUMyNzVFMDg5MDJBRkUwMDhBOUVGQyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0
MzBCQTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQ5QzI3NUYw
ODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThB
NzAwODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTQ5QzI3NjEwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAw
ODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlCVUlMRF9WQVJJQU5UUyA9IG5vcm1hbDsKKwkJCX07CisJCQluYW1lID0gUHJvZHVj
dGlvbjsKKwkJfTsKKwkJMTQ5QzI3NjgwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovID0gewor
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVy
ZW5jZSA9IDVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAvKiBKU0MueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQ5QzI3
NjkwODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNURBRkQ2Q0IxNDZC
Njg2MzAwRkJFRkI0IC8qIEpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0OUMyNzZCMDg5MDJBRkUwMDhBOUVG
QyAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDVEQUZENkNCMTQ2QjY4NjMwMEZCRUZCNCAv
KiBKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBQcm9kdWN0aW9uOworCQl9OworCQkxNDlDMjc2RDA4OTAyQUZFMDA4QTlFRkMgLyogRGVidWcg
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQkJUFJPRFVDVF9OQU1FID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJ
fTsKKwkJMTQ5QzI3NkUwODkwMkFGRTAwOEE5RUZDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVD
VF9OQU1FID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDlDMjc3
MDA4OTAyQUZFMDA4QTlFRkMgLyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSBB
bGw7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTE0OUMyNzcyMDg5MDJB
RkUwMDhBOUVGQyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0NDBCQTlFOEE3MDA4MUU5
RDAgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJ
CQlERUFEX0NPREVfU1RSSVBQSU5HID0gIiQoREVBRF9DT0RFX1NUUklQUElOR19kZWJ1ZykiOwor
CQkJCURFQlVHX0RFRklORVMgPSAiJChERUJVR19ERUZJTkVTX2RlYnVnKSI7CisJCQkJR0NDX09Q
VElNSVpBVElPTl9MRVZFTCA9ICIkKEdDQ19PUFRJTUlaQVRJT05fTEVWRUxfZGVidWcpIjsKKwkJ
CQlTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9ICIkKFNUUklQX0lOU1RBTExFRF9QUk9EVUNUX2Rl
YnVnKSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkxNDlDMjc3MzA4OTAyQUZF
MDA4QTlFRkMgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0NDBCQTlFOEE3MDA4MUU5
RDAgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJ
CQlTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9IE5POworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNl
OworCQl9OworCQkxNDlDMjc3NTA4OTAyQUZFMDA4QTlFRkMgLyogUHJvZHVjdGlvbiAqLyA9IHsK
KwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJ
CTE0QkQ1OUQ3MEEzRThGQzkwMEJBRjU5QyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJG
MjEzNjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTRCRDU5RDgw
QTNFOEZDOTAwQkFGNTlDIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBD
MzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTRCRDU5RDkwQTNFOEZD
OTAwQkFGNTlDIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAw
RkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNUQ2QjJBNDgxNTJCOUUx
NzAwNTIzMURFIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQk1RDZCMkE0OTE1MkI5RTE3MDA1
MjMxREUgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSki
OworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk1RDZCMkE0QTE1MkI5RTE3MDA1
MjMxREUgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNUQ2QjJBNEIxNTJCOUUx
NzAwNTIzMURFIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VU
X05BTUUpIjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjUxMTIzMDEx
NDA0NkE0QzAwMkIxMDFEIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMw
MEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQk2NTExMjMwMjE0MDQ2QTRDMDAy
QjEwMUQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkwMEMzMDBGQzU0Njcg
LyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
fTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk2NTExMjMwMzE0MDQ2QTRDMDAyQjEwMUQg
LyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQli
YXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBU
b29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9Owor
CQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNjUxMTIzMDQxNDA0NkE0QzAwMkIxMDFEIC8q
IFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRv
b2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjU3ODhBQTMxOEI0MDlFQjAwQzE4OUZGIC8q
IERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29u
ZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2Ny
aXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJSU5GT1BMSVNU
X0ZJTEUgPSAiRGVyaXZlZCBTb3VyY2VzIGNvcHktSW5mby5wbGlzdCI7CisJCQkJUFJPRFVDVF9O
QU1FID0gIkRlcml2ZWQgU291cmNlcyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJ
CX07CisJCTY1Nzg4QUE0MThCNDA5RUIwMEMxODlGRiAvKiBSZWxlYXNlICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IDFDOTA1MTQzMEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJSU5GT1BMSVNUX0ZJTEUgPSAiRGVyaXZlZCBTb3Vy
Y2VzIGNvcHktSW5mby5wbGlzdCI7CisJCQkJUFJPRFVDVF9OQU1FID0gIkRlcml2ZWQgU291cmNl
cyBjb3B5IjsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNjU3ODhBQTUxOEI0
MDlFQjAwQzE4OUZGIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0MzBCQTlFOEE3
MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdz
ID0geworCQkJCUlORk9QTElTVF9GSUxFID0gIkRlcml2ZWQgU291cmNlcyBjb3B5LUluZm8ucGxp
c3QiOworCQkJCVBST0RVQ1RfTkFNRSA9ICJEZXJpdmVkIFNvdXJjZXMgY29weSI7CisJCQl9Owor
CQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJNjU3ODhBQTYxOEI0MDlFQjAwQzE4OUZGIC8q
IFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAwODFFOUQwIC8qIEph
dmFTY3JpcHRDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlJTkZP
UExJU1RfRklMRSA9ICJEZXJpdmVkIFNvdXJjZXMgY29weS1JbmZvLnBsaXN0IjsKKwkJCQlQUk9E
VUNUX05BTUUgPSAiRGVyaXZlZCBTb3VyY2VzIGNvcHkiOworCQkJfTsKKwkJCW5hbWUgPSBQcm9k
dWN0aW9uOworCQl9OworCQk2NUZCM0Y3ODA5RDExRUJEMDBGNDlERUIgLyogRGVidWcgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gMUM5MDUxNDMwQkE5RThBNzAwODFFOUQwIC8qIEphdmFTY3JpcHRDb3JlLnhjY29u
ZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiR2VuZXJh
dGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTY1
RkIzRjc5MDlEMTFFQkQwMEY0OURFQiAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQz
MEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyI7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTY1RkIzRjdBMDlEMTFFQkQw
MEY0OURFQiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQzMEJBOUU4QTcwMDgx
RTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJUFJPRFVDVF9OQU1FID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQl9Owor
CQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCUE3NjE0ODNEMEU2NDAyRjcwMEUzNTdGQSAv
KiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUM5MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERl
YnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJU1RSSVBf
SU5TVEFMTEVEX1BST0RVQ1QgPSBOTzsKKwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9
OworCQlBNzYxNDgzRTBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RV
Q1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9OworCQlBNzYx
NDgzRjBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDOTA1MTQz
MEJBOUU4QTcwMDgxRTlEMCAvKiBKYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJQTc2MTQ4
NDAwRTY0MDJGNzAwRTM1N0ZBIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQzkwNTE0MzBC
QTlFOEE3MDA4MUU5RDAgLyogSmF2YVNjcmlwdENvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICJHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMi
OworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCUE3NjE0ODQxMEU2NDAyRjcw
MEUzNTdGQSAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1
NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsK
KwkJCX07CisJCQluYW1lID0gUHJvZmlsaW5nOworCQl9OworCQlBNzYxNDg0MjBFNjQwMkY3MDBF
MzU3RkEgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2
NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJQTc2MTQ4NDMwRTY0MDJGNzAwRTM1
N0ZBIC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQg
LyogSlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1l
ID0gUHJvZmlsaW5nOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24g
Ki8KKworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTBGNDY4MEFD
MTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3Jl
Z2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQkwRjQ2ODBBRDE0QkE3RkQ5
MDBCRkUyNzIgLyogRGVidWcgKi8sCisJCQkJMEY0NjgwQUUxNEJBN0ZEOTAwQkZFMjcyIC8qIFJl
bGVhc2UgKi8sCisJCQkJMEY0NjgwQUYxNEJBN0ZEOTAwQkZFMjcyIC8qIFByb2ZpbGluZyAqLywK
KwkJCQkwRjQ2ODBCMDE0QkE3RkQ5MDBCRkUyNzIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJ
CQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQkwRkNFRkFCNzE4MDVENjE2MDA0NzJDRTQg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxsdm1Gb3JK
U0MiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmln
dXJhdGlvbnMgPSAoCisJCQkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovLAor
CQkJCTBGQ0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovLAorCQkJCTBGQ0VGQUJB
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZDRUZBQkIxODA1RDYxNjAw
NDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsK
KwkJfTsKKwkJMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovID0g
eworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMg
PSAoCisJCQkJMEZGOTIyQ0IxNEY0NkIxMzAwNDFBMjRFIC8qIERlYnVnICovLAorCQkJCTBGRjky
MkNDMTRGNDZCMTMwMDQxQTI0RSAvKiBSZWxlYXNlICovLAorCQkJCTBGRjkyMkNEMTRGNDZCMTMw
MDQxQTI0RSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZGOTIyQ0UxNEY0NkIxMzAwNDFBMjRFIC8q
IFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUg
PSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJ
MTQxMjExMzkwQTQ4Nzk4NDAwNDgwMjU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJtaW5pZG9tIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlv
bkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTIxMTNBMEE0ODc5ODQw
MDQ4MDI1NSAvKiBEZWJ1ZyAqLywKKwkJCQkxNDEyMTEzQjBBNDg3OTg0MDA0ODAyNTUgLyogUmVs
ZWFzZSAqLywKKwkJCQlBNzYxNDg0MTBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovLAor
CQkJCTE0MTIxMTNDMEE0ODc5ODQwMDQ4MDI1NSAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJ
CWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0
aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTE0OUMyNzVEMDg5MDJBRkUwMDhBOUVGQyAv
KiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSmF2YVNjcmlw
dENvcmUiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3NUUwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICov
LAorCQkJCTE0OUMyNzVGMDg5MDJBRkUwMDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0
ODNGMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NjEwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMTQ5QzI3NjcwODkwMkFGRTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJqc2MiICovID0geworCQkJaXNhID0gWENDb25m
aWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3Njgw
ODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovLAorCQkJCTE0OUMyNzY5MDg5MDJBRkUwMDhBOUVG
QyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0ODQzMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxp
bmcgKi8sCisJCQkJMTQ5QzI3NkIwODkwMkFGRTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJ
CQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENv
bmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJMTQ5QzI3NkMwODkwMkFGRTAw
OEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0
ICJBbGwiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5QzI3NkQwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICov
LAorCQkJCTE0OUMyNzZFMDg5MDJBRkUwMDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0
ODNFMEU2NDAyRjcwMEUzNTdGQSAvKiBQcm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NzAwODkwMkFG
RTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlv
bjsKKwkJfTsKKwkJMTQ5QzI3NzEwODkwMkFGRTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYUHJvamVjdCAiSmF2YVNjcmlwdENvcmUiICovID0geworCQkJaXNhID0g
WENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQ5
QzI3NzIwODkwMkFGRTAwOEE5RUZDIC8qIERlYnVnICovLAorCQkJCTE0OUMyNzczMDg5MDJBRkUw
MDhBOUVGQyAvKiBSZWxlYXNlICovLAorCQkJCUE3NjE0ODNEMEU2NDAyRjcwMEUzNTdGQSAvKiBQ
cm9maWxpbmcgKi8sCisJCQkJMTQ5QzI3NzUwODkwMkFGRTAwOEE5RUZDIC8qIFByb2R1Y3Rpb24g
Ki8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVm
YXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJMTRCRDU5RDYwQTNF
OEZDOTAwQkFGNTlDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFy
Z2V0ICJ0ZXN0YXBpIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0QkQ1OUQ3MEEzRThGQzkwMEJBRjU5QyAvKiBE
ZWJ1ZyAqLywKKwkJCQkxNEJENTlEODBBM0U4RkM5MDBCQUY1OUMgLyogUmVsZWFzZSAqLywKKwkJ
CQlBNzYxNDg0MjBFNjQwMkY3MDBFMzU3RkEgLyogUHJvZmlsaW5nICovLAorCQkJCTE0QkQ1OUQ5
MEEzRThGQzkwMEJBRjU5QyAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFBy
b2R1Y3Rpb247CisJCX07CisJCTVENkIyQTRDMTUyQjlFMTcwMDUyMzFERSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiVGVzdCBUb29scyIgKi8gPSB7
CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9
ICgKKwkJCQk1RDZCMkE0ODE1MkI5RTE3MDA1MjMxREUgLyogRGVidWcgKi8sCisJCQkJNUQ2QjJB
NDkxNTJCOUUxNzAwNTIzMURFIC8qIFJlbGVhc2UgKi8sCisJCQkJNUQ2QjJBNEExNTJCOUUxNzAw
NTIzMURFIC8qIFByb2ZpbGluZyAqLywKKwkJCQk1RDZCMkE0QjE1MkI5RTE3MDA1MjMxREUgLyog
UHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9
IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQk2
NTExMjMwMDE0MDQ2QTRDMDAyQjEwMUQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3RSZWdFeHAiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0
aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNjUxMTIzMDExNDA0NkE0
QzAwMkIxMDFEIC8qIERlYnVnICovLAorCQkJCTY1MTEyMzAyMTQwNDZBNEMwMDJCMTAxRCAvKiBS
ZWxlYXNlICovLAorCQkJCTY1MTEyMzAzMTQwNDZBNEMwMDJCMTAxRCAvKiBQcm9maWxpbmcgKi8s
CisJCQkJNjUxMTIzMDQxNDA0NkE0QzAwMkIxMDFEIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOwor
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZG
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJPZmZs
aW5lIEFzc2VtYmxlciIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJ
YnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQk2NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyog
RGVidWcgKi8sCisJCQkJNjU3ODhBQTQxOEI0MDlFQjAwQzE4OUZGIC8qIFJlbGVhc2UgKi8sCisJ
CQkJNjU3ODhBQTUxOEI0MDlFQjAwQzE4OUZGIC8qIFByb2ZpbGluZyAqLywKKwkJCQk2NTc4OEFB
NjE4QjQwOUVCMDBDMTg5RkYgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQ
cm9kdWN0aW9uOworCQl9OworCQk2NUZCM0Y3NzA5RDExRUJEMDBGNDlERUIgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkRlcml2ZWQgU291cmNlcyIg
Ki8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKKwkJCQk2NUZCM0Y3ODA5RDExRUJEMDBGNDlERUIgLyogRGVidWcgKi8sCisJCQkJ
NjVGQjNGNzkwOUQxMUVCRDAwRjQ5REVCIC8qIFJlbGVhc2UgKi8sCisJCQkJQTc2MTQ4NDAwRTY0
MDJGNzAwRTM1N0ZBIC8qIFByb2ZpbGluZyAqLywKKwkJCQk2NUZCM0Y3QTA5RDExRUJEMDBGNDlE
RUIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlz
aWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9
OworLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVj
dCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lu
a2luZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWxsb2NhdGlvbkN5
Y2xlU2lua2luZ1BoYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjdiNTYxNDUwNjc1ZjZjMmIxZjZjNTA3
MGE3NGJmZGVjZTFjNDMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuY3BwCkBAIC0wLDAgKzEsMjEzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCIK
KworI2lmIEVOQUJMRShERkdfSklUKQorCisjaW5jbHVkZSAiREZHQmxvY2tNYXBJbmxpbmVzLmgi
CisjaW5jbHVkZSAiREZHQ29tYmluZWRMaXZlbmVzcy5oIgorI2luY2x1ZGUgIkRGR0dyYXBoLmgi
CisjaW5jbHVkZSAiREZHSW5zZXJ0aW9uU2V0LmgiCisjaW5jbHVkZSAiREZHTGF6eU5vZGUuaCIK
KyNpbmNsdWRlICJERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuaCIKKyNpbmNsdWRlICJERkdPU1JB
dmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmgiCisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNs
dWRlICJERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIgorI2luY2x1ZGUgIkRGR1NTQUNhbGN1bGF0
b3IuaCIKKyNpbmNsdWRlICJERkdWYWxpZGF0ZS5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
KworI2luY2x1ZGUgPGxpc3Q+CisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKwor
bmFtZXNwYWNlIHsKKworYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKKy8vIEluIG9yZGVyIHRvIHNp
bmsgb2JqZWN0IGN5Y2xlcywgd2UgdXNlIGEgcG9pbnRzLXRvIGFuYWx5c2lzIGNvdXBsZWQKKy8v
IHdpdGggYW4gZXNjYXBlIGFuYWx5c2lzLiBUaGlzIGFuYWx5c2lzIGlzIGFjdHVhbGx5IHNpbWls
YXIgdG8gYW4KKy8vIGFic3RyYWN0IGludGVycHJldGVyIGZvY3VzZWQgb24gbG9jYWwgYWxsb2Nh
dGlvbnMgYW5kIGlnbm9yaW5nCisvLyBldmVyeXRoaW5nIGVsc2UuCisvLworLy8gV2UgcmVwcmVz
ZW50IHRoZSBsb2NhbCBoZWFwIHVzaW5nIHR3byBtYXBwaW5nczoKKy8vCisvLyAtIEEgc2V0IG9m
IHRoZSBsb2NhbCBhbGxvY2F0aW9ucyBwcmVzZW50IGluIHRoZSBmdW5jdGlvbiwgd2hlcmUKKy8v
ICAgZWFjaCBvZiB0aG9zZSBoYXZlIGEgZnVydGhlciBtYXBwaW5nIGZyb20KKy8vICAgUHJvbW90
ZWRMb2NhdGlvbkRlc2NyaXB0b3IgdG8gbG9jYWwgYWxsb2NhdGlvbnMgdGhleSBtdXN0IHBvaW50
CisvLyAgIHRvLgorLy8KKy8vIC0gQSAicG9pbnRlciIgbWFwcGluZyBmcm9tIG5vZGVzIHRvIGxv
Y2FsIGFsbG9jYXRpb25zLCBpZiB0aGV5IG11c3QKKy8vICAgYmUgZXF1YWwgdG8gc2FpZCBsb2Nh
bCBhbGxvY2F0aW9uIGFuZCBhcmUgY3VycmVudGx5IGxpdmUuIFRoaXMKKy8vICAgY2FuIGJlIGJl
Y2F1c2UgdGhlIG5vZGUgaXMgdGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUKKy8vICAg
YWxsb2NhdGlvbiwgb3IgYW55IG90aGVyIG5vZGUgdGhhdCBtdXN0IGN1cnJlbnRseSBwb2ludCB0
byBpdCAtCisvLyAgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlLgorLy8KKy8vIFRoZSBmb2xs
b3dpbmcgZ3JhcGggaXMgYSBtb3RpdmF0aW9uIGZvciB3aHkgd2Ugc2VwYXJhdGUgYWxsb2NhdGlv
bnMKKy8vIGZyb20gcG9pbnRlcnM6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qo
e30pCisvLyAgMTogTmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkK
Ky8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorLy8gIDI6IEdldEJ5T2Zmc2V0KEAwLCB4
KQorLy8gIC06IEp1bXAoIzEpCisvLworLy8gQmxvY2sgIzEKKy8vICAtOiBSZXR1cm4oQDIpCisv
LworLy8gSGVyZSwgd2UgbmVlZCB0byByZW1lbWJlciBpbiBibG9jayAjMSB0aGF0IEAyIHBvaW50
cyB0byBhIGxvY2FsCisvLyBhbGxvY2F0aW9uIHdpdGggYXBwcm9wcmlhdGUgZmllbGRzIGFuZCBz
dHJ1Y3R1cmVzIGluZm9ybWF0aW9uCisvLyAoYmVjYXVzZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBw
bGFjZSBhIG1hdGVyaWFsaXphdGlvbiBvbiB0b3Agb2YKKy8vIGJsb2NrICMxIGhlcmUpLCBldmVu
IHRob3VnaCBAMSBpcyBkZWFkLiBXZSAqY291bGQqIGp1c3Qga2VlcCBAMQorLy8gYXJ0aWZpY2lh
bGx5IGFsaXZlIGhlcmUsIGJ1dCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiB0byBkbyBpdDoKKy8v
IGFmdGVyIGFsbCwgYnkgdGhlIGVuZCBvZiBibG9jayAjMCwgQDEgYW5kIEAyIHNob3VsZCBiZSBj
b21wbGV0ZWx5CisvLyBpbnRlcmNoYW5nZWFibGUsIGFuZCB0aGVyZSBpcyBubyByZWFzb24gZm9y
IHVzIHRvIGFydGlmaWNpYWxseSBtYWtlCisvLyBAMSBtb3JlIGltcG9ydGFudC4KKy8vCisvLyBB
biBpbXBvcnRhbnQgcG9pbnQgdG8gY29uc2lkZXIgdG8gdW5kZXJzdGFuZCB0aGlzIHNlcGFyYXRp
b24gaXMKKy8vIHRoYXQgd2Ugc2hvdWxkIHRoaW5rIG9mIHRoZSBsb2NhbCBoZWFwIGFzIGZvbGxv
dzogd2UgaGF2ZSBhCisvLyBidW5jaCBvZiBub2RlcyB0aGF0IGFyZSBwb2ludGVycyB0byAiYWxs
b2NhdGlvbnMiIHRoYXQgbGl2ZQorLy8gc29tZXBsYWNlIG9uIHRoZSBoZWFwLCBhbmQgdGhvc2Ug
YWxsb2NhdGlvbnMgY2FuIGhhdmUgcG9pbnRlcnMgaW4KKy8vIGJldHdlZW4gdGhlbXNlbHZlcyBh
cyB3ZWxsLiBXZSBzaG91bGRuJ3QgY2FyZSBhYm91dCB3aGF0ZXZlcgorLy8gbmFtZXMgd2UgZ2l2
ZSB0byB0aGUgYWxsb2NhdGlvbnMgOyB3aGF0IG1hdHRlcnMgd2hlbgorLy8gY29tcGFyaW5nL21l
cmdpbmcgdHdvIGhlYXBzIGlzIHRoZSBpc29tb3JwaGlzbS9jb21wYXJpc29uIGJldHdlZW4KKy8v
IHRoZSBhbGxvY2F0aW9uIGdyYXBocyBhcyBzZWVuIGJ5IHRoZSBub2Rlcy4KKy8vCisvLyBGb3Ig
aW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisvLworLy8gQmxvY2sgIzAKKy8vICAw
OiBOZXdPYmplY3Qoe30pCisvLyAgLTogQnJhbmNoKCMxLCAjMikKKy8vCisvLyBCbG9jayAjMQor
Ly8gIDE6IE5ld09iamVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDEsIHgpCisvLyAg
LTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8vIEJsb2Nr
ICMyCisvLyAgMjogTmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAyLCB1bmRlZmlu
ZWQsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAyLCB7eDowfSkKKy8vICAtOiBQdXRCeU9mZnNl
dChAMCwgQDIsIHgpCisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1w
KCMzKQorLy8KKy8vIEJsb2NrICMzCisvLyAgLTogUmV0dXJuKEAwKQorLy8KKy8vIHdlIHNob3Vs
ZCB0aGluayBvZiB0aGUgaGVhcHMgYXQgdGFpbCBvZiBibG9ja3MgIzEgYW5kICMyIGFzIGJlaW5n
CisvLyBleGFjdGx5IHRoZSBzYW1lLCBldmVuIHRob3VnaCBvbmUgaGFzIEAwLnggcG9pbnRpbmcg
dG8gQDEgYW5kIHRoZQorLy8gb3RoZXIgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDIsIGJlY2F1c2Ug
aW4gZXNzZW5jZSB0aGlzIHNob3VsZCBub3QKKy8vIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBncmFw
aCB3aGVyZSB3ZSBob2lzdGVkIEAxIGFuZCBAMiBpbnRvIGEKKy8vIHNpbmdsZSBhbGxvY2F0aW9u
IGluIGJsb2NrICMwLiBXZSBjdXJyZW50bHkgd2lsbCBub3QgaGFuZGxlIHRoaXMKKy8vIGNhc2Us
IGJlY2F1c2Ugd2UgbWVyZ2UgYWxsb2NhdGlvbnMgYmFzZWQgb24gdGhlIG5vZGUgdGhleSBhcmUK
Ky8vIGNvbWluZyBmcm9tLCBidXQgdGhpcyBpcyBvbmx5IGEgdGVjaG5pY2FsaXR5IGZvciB0aGUg
c2FrZSBvZgorLy8gc2ltcGxpY2l0eSB0aGF0IHNob3VsZG4ndCBoaWRlIHRoZSBkZWVwZXIgaWRl
YSBvdXRsaW5lZCBoZXJlLgorCitjbGFzcyBBbGxvY2F0aW9uIHsKK3B1YmxpYzoKKyAgICAvLyBX
ZSB1c2UgRXNjYXBlZCBhcyBhIHNwZWNpYWwgYWxsb2NhdGlvbiBraW5kIGJlY2F1c2Ugd2hlbiB3
ZQorICAgIC8vIGRlY2lkZSB0byBzaW5rIGFuIGFsbG9jYXRpb24sIHdlIHN0aWxsIG5lZWQgdG8g
a2VlcCB0cmFjayBvZiBpdAorICAgIC8vIG9uY2UgaXQgaXMgZXNjYXBlZCBpZiBpdCBzdGlsbCBo
YXMgcG9pbnRlcnMgdG8gaXQgaW4gb3JkZXIgdG8KKyAgICAvLyByZXBsYWNlIGFueSB1c2Ugb2Yg
dGhvc2UgcG9pbnRlcnMgYnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAvLyBtYXRlcmlhbGl6YXRp
b24KKyAgICBlbnVtIGNsYXNzIEtpbmQgeyBFc2NhcGVkLCBPYmplY3QsIEFjdGl2YXRpb24sIEZ1
bmN0aW9uIH07CisKKyAgICBleHBsaWNpdCBBbGxvY2F0aW9uKE5vZGUqIGlkZW50aWZpZXIgPSBu
dWxscHRyLCBLaW5kIGtpbmQgPSBLaW5kOjpFc2NhcGVkKQorICAgICAgICA6IG1faWRlbnRpZmll
cihpZGVudGlmaWVyKQorICAgICAgICAsIG1fa2luZChraW5kKQorICAgIHsKKyAgICB9CisKKwor
ICAgIGNvbnN0IEhhc2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiYgZmll
bGRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZpZWxkczsKKyAgICB9CisKKyAg
ICBOb2RlKiBnZXQoUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7
CisgICAgICAgIHJldHVybiBtX2ZpZWxkcy5nZXQoZGVzY3JpcHRvcik7CisgICAgfQorCisgICAg
QWxsb2NhdGlvbiYgc2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IsIE5v
ZGUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gUG9pbnRpbmcgdG8gYW55dGhpbmcgZWxzZSB0
aGFuIGFuIHVuZXNjYXBlZCBsb2NhbAorICAgICAgICAvLyBhbGxvY2F0aW9uIGlzIHJlcHJlc2Vu
dGVkIGJ5IHNpbXBseSBub3QgaGF2aW5nIHRoZQorICAgICAgICAvLyBmaWVsZAorICAgICAgICBp
ZiAodmFsdWUpCisgICAgICAgICAgICBtX2ZpZWxkcy5zZXQoZGVzY3JpcHRvciwgdmFsdWUpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ZpZWxkcy5yZW1vdmUoZGVzY3JpcHRvcik7Cisg
ICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgc2V0KGRlc2NyaXB0
b3IsIG51bGxwdHIpOworICAgIH0KKworICAgIGJvb2wgaGFzU3RydWN0dXJlcygpIGNvbnN0Cisg
ICAgeworICAgICAgICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIEtpbmQ6Ok9iamVj
dDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBz
ZXRTdHJ1Y3R1cmVzKGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7CisgICAg
ICAgIEFTU0VSVChoYXNTdHJ1Y3R1cmVzKCkgJiYgIXN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAg
ICAgICAgbV9zdHJ1Y3R1cmVzID0gc3RydWN0dXJlczsKKyAgICAgICAgcmV0dXJuICp0aGlzOwor
ICAgIH0KKworICAgIEFsbG9jYXRpb24mIG1lcmdlU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVT
ZXQmIHN0cnVjdHVyZXMpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpIHx8
IHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLm1lcmdlKHN0cnVj
dHVyZXMpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYg
ZmlsdGVyU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAgewor
ICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLmZp
bHRlcihzdHJ1Y3R1cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIGNv
bnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9zdHJ1Y3R1cmVzOworICAgIH0KKworICAgIE5vZGUqIGlkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJu
IG1fa2luZDsgfQorCisgICAgYm9vbCBpc0VzY2FwZWRBbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBraW5kKCkgPT0gS2luZDo6RXNjYXBlZDsKKyAgICB9CisKKyAgICBi
b29sIGlzT2JqZWN0QWxsb2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9r
aW5kID09IEtpbmQ6Ok9iamVjdDsKKyAgICB9CisKKyAgICBib29sIGlzQWN0aXZhdGlvbkFsbG9j
YXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpBY3Rp
dmF0aW9uOworICAgIH0KKworICAgIGJvb2wgaXNGdW5jdGlvbkFsbG9jYXRpb24oKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpGdW5jdGlvbjsKKyAgICB9CisK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllcgorICAg
ICAgICAgICAgJiYgbV9raW5kID09IG90aGVyLm1fa2luZAorICAgICAgICAgICAgJiYgbV9maWVs
ZHMgPT0gb3RoZXIubV9maWVsZHMKKyAgICAgICAgICAgICYmIG1fc3RydWN0dXJlcyA9PSBvdGhl
ci5tX3N0cnVjdHVyZXM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFsbG9j
YXRpb24mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3Ro
ZXIpOworICAgIH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAg
IHsKKyAgICAgICAgZHVtcEluQ29udGV4dChvdXQsIG51bGxwdHIpOworICAgIH0KKworICAgIHZv
aWQgZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9raW5kKSB7CisgICAgICAgIGNhc2UgS2lu
ZDo6RXNjYXBlZDoKKyAgICAgICAgICAgIG91dC5wcmludCgiRXNjYXBlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5kOjpPYmplY3Q6CisgICAgICAgICAgICBvdXQu
cHJpbnQoIk9iamVjdCIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5k
OjpGdW5jdGlvbjoKKyAgICAgICAgICAgIG91dC5wcmludCgiRnVuY3Rpb24iKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgS2luZDo6QWN0aXZhdGlvbjoKKyAgICAgICAgICAg
IG91dC5wcmludCgiQWN0aXZhdGlvbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgb3V0LnByaW50KCJBbGxvY2F0aW9uKCIpOworICAgICAgICBpZiAoIW1fc3RydWN0
dXJlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICBvdXQucHJpbnQoaW5Db250ZXh0KG1fc3RydWN0
dXJlcywgY29udGV4dCkpOworICAgICAgICBpZiAoIW1fZmllbGRzLmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgaWYgKCFtX3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91
dC5wcmludCgiLCAiKTsKKyAgICAgICAgICAgIG91dC5wcmludChtYXBEdW1wKG1fZmllbGRzLCAi
ID0+ICMiLCAiLCAiKSk7CisgICAgICAgIH0KKyAgICAgICAgb3V0LnByaW50KCIpIik7CisgICAg
fQorCitwcml2YXRlOgorICAgIE5vZGUqIG1faWRlbnRpZmllcjsgLy8gVGhpcyBpcyB0aGUgYWN0
dWFsIG5vZGUgdGhhdCBjcmVhdGVkIHRoZSBhbGxvY2F0aW9uCisgICAgS2luZCBtX2tpbmQ7Cisg
ICAgSGFzaE1hcDxQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IG1fZmllbGRzOwor
ICAgIFN0cnVjdHVyZVNldCBtX3N0cnVjdHVyZXM7Cit9OworCitjbGFzcyBMb2NhbEhlYXAgewor
cHVibGljOgorICAgIEFsbG9jYXRpb24mIG5ld0FsbG9jYXRpb24oTm9kZSogbm9kZSwgQWxsb2Nh
dGlvbjo6S2luZCBraW5kKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3BvaW50ZXJzLmNvbnRh
aW5zKG5vZGUpICYmICFpc0FsbG9jYXRpb24obm9kZSkpOworICAgICAgICBtX3BvaW50ZXJzLmFk
ZChub2RlLCBub2RlKTsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvbnMuc2V0KG5vZGUsIEFs
bG9jYXRpb24obm9kZSwga2luZCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBib29s
IGlzQWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fYWxsb2NhdGlvbnMuY29udGFpbnMoaWRlbnRpZmllcik7CisgICAgfQorCisgICAgLy8g
Tm90ZSB0aGF0IHRoaXMgaXMgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQgZnJvbQorICAgIC8vIG9u
bHlMb2NhbEFsbG9jYXRpb24oKSBiZWxvdy4gZ2V0QWxsb2NhdGlvbigpIHRha2VzIGFzIGFyZ3Vt
ZW50CisgICAgLy8gYSBub2RlLWFzLWlkZW50aWZpZXIsIHRoYXQgaXMsIGFuIGFsbG9jYXRpb24g
bm9kZS4gVGhpcworICAgIC8vIGFsbG9jYXRpb24gbm9kZSBkb2Vzbid0IGhhdmUgdG8gYmUgYWxp
dmU7IGl0IG1heSBvbmx5IGJlCisgICAgLy8gcG9pbnRlZCB0byBieSBvdGhlciBub2RlcyBvciBh
bGxvY2F0aW9uIGZpZWxkcy4KKyAgICAvLyBGb3IgaW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcg
Z3JhcGg6CisgICAgLy8KKyAgICAvLyBCbG9jayAjMAorICAgIC8vICAwOiBOZXdPYmplY3Qoe30p
CisgICAgLy8gIDE6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAx
LCB4KQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorICAgIC8vICAyOiBHZXRC
eU9mZnNldChAMCwgeCkKKyAgICAvLyAgLTogSnVtcCgjMSkKKyAgICAvLworICAgIC8vIEJsb2Nr
ICMxCisgICAgLy8gIC06IFJldHVybihAMikKKyAgICAvLworICAgIC8vIEF0IGhlYWQgb2YgYmxv
Y2sgIzEsIHRoZSBvbmx5IHJlYWNoYWJsZSBhbGxvY2F0aW9uIGlzICNAMSwKKyAgICAvLyB3aGlj
aCBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIG5vZGUgQDIuIFRodXMsIGdldEFsbG9jYXRpb24oI0Ax
KQorICAgIC8vIGNvbnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBtZXRhZGF0YSBmb3IgdGhpcyBhbGxv
Y2F0aW9uLCBidXQKKyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKEAxKSBpcyBudWxsLCBhcyBA
MSBpcyBubyBsb25nZXIgYSBwb2ludGVyCisgICAgLy8gdG8gI0AxIChzaW5jZSBpdCBpcyBkZWFk
KS4gQ29udmVyc2VseSwgb25seUxvY2FsQWxsb2NhdGlvbihAMikKKyAgICAvLyBpcyB0aGUgc2Ft
ZSBhcyBnZXRBbGxvY2F0aW9uKCNAMSksIHdoaWxlIGdldEFsbG9jYXRpb24oI0AyKQorICAgIC8v
IGRvZXMgbm90IG1ha2Ugc2Vuc2Ugc2luY2UgQDIgaXMgbm90IGFuIGFsbG9jYXRpb24gbm9kZS4K
KyAgICAvLworICAgIC8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCB3aGVuIHRoZSBub2RlIGlz
IGFscmVhZHkga25vd24gdG8gYmUKKyAgICAvLyBhbiBpZGVudGlmaWVyIChpLmUuIGFuIGFsbG9j
YXRpb24pIC0gcHJvYmFibHkgYmVjYXVzZSBpdCB3YXMKKyAgICAvLyBmb3VuZCBhcyB2YWx1ZSBv
ZiBhIGZpZWxkIG9yIHBvaW50ZXIgaW4gdGhlIGN1cnJlbnQgaGVhcCwgb3IKKyAgICAvLyB3YXMg
dGhlIHJlc3VsdCBvZiBhIGNhbGwgdG8gZm9sbG93KCkuIEluIGFueSBvdGhlciBjYXNlcyAoc3Vj
aAorICAgIC8vIGFzIHdoZW4gZG9pbmcgYW55dGhpbmcgd2hpbGUgdHJhdmVyc2luZyB0aGUgZ3Jh
cGgpLCB0aGUKKyAgICAvLyBhcHByb3ByaWF0ZSBmdW5jdGlvbiB0byBjYWxsIGlzIHByb2JhYmx5
IG9ubHlMb2NhbEFsbG9jYXRpb24uCisgICAgQWxsb2NhdGlvbiYgZ2V0QWxsb2NhdGlvbihOb2Rl
KiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5m
aW5kKGlkZW50aWZpZXIpOworICAgICAgICBBU1NFUlQoaXRlciAhPSBtX2FsbG9jYXRpb25zLmVu
ZCgpKTsKKyAgICAgICAgcmV0dXJuIGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIHZvaWQgbmV3
UG9pbnRlcihOb2RlKiBub2RlLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKCFtX2FsbG9jYXRpb25zLmNvbnRhaW5zKG5vZGUpICYmICFtX3BvaW50ZXJzLmNvbnRhaW5z
KG5vZGUpKTsKKyAgICAgICAgQVNTRVJUKGlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSk7CisgICAg
ICAgIG1fcG9pbnRlcnMuYWRkKG5vZGUsIGlkZW50aWZpZXIpOworICAgIH0KKworICAgIC8vIGZv
bGxvdyBzb2x2ZXMgdGhlIHBvaW50cy10byBwcm9ibGVtLiBHaXZlbiBhIGxpdmUgbm9kZSwgd2hp
Y2gKKyAgICAvLyBtYXkgYmUgZWl0aGVyIGFuIGFsbG9jYXRpb24gaXRzZWxmIG9yIGEgaGVhcCBy
ZWFkIChlLmcuIGEKKyAgICAvLyBHZXRCeU9mZnNldCBub2RlKSwgaXQgcmV0dXJucyB0aGUgY29y
cmVzcG9uZGluZyBhbGxvY2F0aW9uCisgICAgLy8gbm9kZSwgaWYgdGhlcmUgaXMgb25lLiBJZiB0
aGUgYXJndW1lbnQgbm9kZSBpcyBuZWl0aGVyIGFuCisgICAgLy8gYWxsb2NhdGlvbiBvciBhIGhl
YXAgcmVhZCwgb3IgbWF5IHBvaW50IHRvIGRpZmZlcmVudCBub2RlcywKKyAgICAvLyBudWxscHRy
IHdpbGwgYmUgcmV0dXJuZWQuIE5vdGUgdGhhdCBhIG5vZGUgdGhhdCBwb2ludHMgdG8KKyAgICAv
LyBkaWZmZXJlbnQgbm9kZXMgY2FuIG5ldmVyIHBvaW50IHRvIGFuIHVuZXNjYXBlZCBsb2NhbAor
ICAgIC8vIGFsbG9jYXRpb24uCisgICAgTm9kZSogZm9sbG93KE5vZGUqIG5vZGUpIGNvbnN0Cisg
ICAgeworICAgICAgICBhdXRvIGl0ZXIgPSBtX3BvaW50ZXJzLmZpbmQobm9kZSk7CisgICAgICAg
IEFTU0VSVChpdGVyID09IG1fcG9pbnRlcnMuZW5kKCkgfHwgbV9hbGxvY2F0aW9ucy5jb250YWlu
cyhpdGVyLT52YWx1ZSkpOworICAgICAgICByZXR1cm4gaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgp
ID8gbnVsbHB0ciA6IGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIE5vZGUqIGZvbGxvdyhQcm9t
b3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgY29uc3QKKyAgICB7CisgICAgICAgIGNvbnN0IEFs
bG9jYXRpb24mIGJhc2UgPSBtX2FsbG9jYXRpb25zLmZpbmQobG9jYXRpb24uYmFzZSgpKS0+dmFs
dWU7CisgICAgICAgIGF1dG8gaXRlciA9IGJhc2UuZmllbGRzKCkuZmluZChsb2NhdGlvbi5kZXNj
cmlwdG9yKCkpOworCisgICAgICAgIGlmIChpdGVyID09IGJhc2UuZmllbGRzKCkuZW5kKCkpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7
CisgICAgfQorCisgICAgLy8gb25seUxvY2FsQWxsb2NhdGlvbiBmaW5kIHRoZSBjb3JyZXNwb25k
aW5nIGFsbG9jYXRpb24gbWV0YWRhdGEKKyAgICAvLyBmb3IgYW55IGxpdmUgbm9kZS4gb25seUxv
Y2FsQWxsb2NhdGlvbihub2RlKSBpcyBlc3NlbnRpYWxseQorICAgIC8vIGdldEFsbG9jYXRpb24o
Zm9sbG93KG5vZGUpKSwgd2l0aCBhcHByb3ByaWF0ZSBudWxsIGhhbmRsaW5nLgorICAgIEFsbG9j
YXRpb24qIG9ubHlMb2NhbEFsbG9jYXRpb24oTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIE5v
ZGUqIGlkZW50aWZpZXIgPSBmb2xsb3cobm9kZSk7CisgICAgICAgIGlmICghaWRlbnRpZmllcikK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2Nh
dGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxv
Y2F0aW9uKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgTm9k
ZSogaWRlbnRpZmllciA9IGZvbGxvdyhsb2NhdGlvbik7CisgICAgICAgIGlmICghaWRlbnRpZmll
cikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxs
b2NhdGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICAvLyBUaGlzIGFsbG93cyB1cyB0byBz
dG9yZSB0aGUgZXNjYXBlZXMgb25seSB3aGVuIG5lY2Vzc2FyeS4gSWYKKyAgICAvLyBzZXQsIHRo
ZSBjdXJyZW50IGVzY2FwZWVzIGNhbiBiZSByZXRyaWV2ZWQgYXQgYW55IHRpbWUgdXNpbmcKKyAg
ICAvLyB0YWtlRXNjYXBlZXMoKSwgd2hpY2ggd2lsbCBjbGVhciB0aGUgY2FjaGVkIHNldCBvZiBl
c2NhcGVlczsKKyAgICAvLyBvdGhlcndpc2UgdGhlIGhlYXAgd29uJ3QgcmVtZW1iZXIgZXNjYXBp
bmcgYWxsb2NhdGlvbnMuCisgICAgdm9pZCBzZXRXYW50RXNjYXBlZXMoKQorICAgIHsKKyAgICAg
ICAgbV93YW50RXNjYXBlZXMgPSB0cnVlOworICAgIH0KKworICAgIEhhc2hNYXA8Tm9kZSosIEFs
bG9jYXRpb24+IHRha2VFc2NhcGVlcygpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjptb3Zl
KG1fZXNjYXBlZXMpOworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKE5vZGUqIG5vZGUpCisgICAg
eworICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAo
IWlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXNjYXBlQWxsb2Nh
dGlvbihpZGVudGlmaWVyKTsKKyAgICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IExvY2FsSGVh
cCYgb3RoZXIpCisgICAgeworICAgICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgICAgIG90aGVy
LmFzc2VydElzVmFsaWQoKTsKKyAgICAgICAgQVNTRVJUKCFtX3dhbnRFc2NhcGVlcyk7CisKKyAg
ICAgICAgaWYgKCFyZWFjaGVkKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChvdGhlci5yZWFjaGVk
KCkpOworICAgICAgICAgICAgKnRoaXMgPSBvdGhlcjsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvRXNjYXBlOworCisgICAgICAgIGZv
ciAoYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogb3RoZXIubV9hbGxvY2F0aW9ucykKKyAgICAgICAg
ICAgIG1fYWxsb2NhdGlvbnMuYWRkKGFsbG9jYXRpb25FbnRyeS5rZXksIGFsbG9jYXRpb25FbnRy
eS52YWx1ZSk7CisgICAgICAgIGZvciAoYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogbV9hbGxvY2F0
aW9ucykgeworICAgICAgICAgICAgYXV0byBhbGxvY2F0aW9uSXRlciA9IG90aGVyLm1fYWxsb2Nh
dGlvbnMuZmluZChhbGxvY2F0aW9uRW50cnkua2V5KTsKKworICAgICAgICAgICAgLy8gSWYgd2Ug
aGF2ZSBpdCBhbmQgdGhleSBkb24ndCwgaXQgZGllZCBmb3IgdGhlbSBidXQgd2UKKyAgICAgICAg
ICAgIC8vIGFyZSBrZWVwaW5nIGl0IGFsaXZlIGZyb20gYW5vdGhlciBmaWVsZCBzb21ld2hlcmUu
CisgICAgICAgICAgICAvLyBUaGVyZSBpcyBub3RoaW5nIHRvIGRvIC0gd2Ugd2lsbCBiZSBlc2Nh
cGVkCisgICAgICAgICAgICAvLyBhdXRvbWF0aWNhbGx5IHdoZW4gd2UgaGFuZGxlIHRoYXQgb3Ro
ZXIgZmllbGQuCisgICAgICAgICAgICAvLyBUaGlzIHdpbGwgYWxzbyBoYXBwZW4gZm9yIGFsbG9j
YXRpb24gdGhhdCB3ZSBoYXZlIGFuZAorICAgICAgICAgICAgLy8gdGhleSBkb24ndCwgYW5kIGFs
bCBvZiB0aG9zZSB3aWxsIGdldCBwcnVuZWQuCisgICAgICAgICAgICBpZiAoYWxsb2NhdGlvbkl0
ZXIgPT0gb3RoZXIubV9hbGxvY2F0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgaWYgKGFsbG9jYXRpb25FbnRyeS52YWx1ZS5raW5kKCkgIT0gYWxs
b2NhdGlvbkl0ZXItPnZhbHVlLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIHRvRXNjYXBlLmFk
ZChhbGxvY2F0aW9uRW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8m
IGZpZWxkRW50cnkgOiBhbGxvY2F0aW9uSXRlci0+dmFsdWUuZmllbGRzKCkpCisgICAgICAgICAg
ICAgICAgICAgIHRvRXNjYXBlLmFkZChmaWVsZEVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgbWVyZ2VQb2ludGVyU2V0cygKKyAgICAgICAgICAgICAg
ICAgICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLmZpZWxkcygpLCBhbGxvY2F0aW9uSXRlci0+dmFs
dWUuZmllbGRzKCksCisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikg
eworICAgICAgICAgICAgICAgICAgICAgICAgdG9Fc2NhcGUuYWRkKGlkZW50aWZpZXIpOworICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yIGZpZWxkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0
aW9uRW50cnkudmFsdWUucmVtb3ZlKGZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLm1lcmdlU3RydWN0dXJlcyhhbGxv
Y2F0aW9uSXRlci0+dmFsdWUuc3RydWN0dXJlcygpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorCisgICAgICAgIG1lcmdlUG9pbnRlclNldHMobV9wb2ludGVycywgb3RoZXIubV9wb2ludGVy
cywKKyAgICAgICAgICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAgICAgICAg
IHRvRXNjYXBlLmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBb
Jl0gKE5vZGUqIGZpZWxkKSB7CisgICAgICAgICAgICAgICAgbV9wb2ludGVycy5yZW1vdmUoZmll
bGQpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDog
dG9Fc2NhcGUpCisgICAgICAgICAgICBlc2NhcGVBbGxvY2F0aW9uKGlkZW50aWZpZXIpOworCisg
ICAgICAgIGlmICghQVNTRVJUX0RJU0FCTEVEKSB7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIGVudHJ5IDogbV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VE
KGVudHJ5LCBlbnRyeS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkgfHwgb3RoZXIubV9hbGxv
Y2F0aW9ucy5jb250YWlucyhlbnRyeS5rZXkpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElm
IHRoZXJlIGlzIG5vIHJlbWFpbmluZyBwb2ludGVyIHRvIGFuIGFsbG9jYXRpb24sIHdlIGNhbgor
ICAgICAgICAvLyByZW1vdmUgaXQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGZvciBlc2NhcGVk
IGFsbG9jYXRpb25zLAorICAgICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgbWVyZ2UgbGl2ZW5lc3Mt
cHJ1bmVkIGhlYXBzIGluIHRoZSBmaXJzdAorICAgICAgICAvLyBwbGFjZS4KKyAgICAgICAgcHJ1
bmUoKTsKKworICAgICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgfQorCisgICAgdm9pZCBwcnVu
ZUJ5TGl2ZW5lc3MoY29uc3QgSGFzaFNldDxOb2RlKj4mIGxpdmUpCisgICAgeworICAgICAgICBW
ZWN0b3I8Tm9kZSo+IHRvUmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDog
bV9wb2ludGVycykgeworICAgICAgICAgICAgaWYgKCFsaXZlLmNvbnRhaW5zKGVudHJ5LmtleSkp
CisgICAgICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgIH0K
KyAgICAgICAgZm9yIChOb2RlKiBub2RlIDogdG9SZW1vdmUpCisgICAgICAgICAgICBtX3BvaW50
ZXJzLnJlbW92ZShub2RlKTsKKyAgICAgICAgCisgICAgICAgIHBydW5lKCk7CisgICAgfQorCisg
ICAgdm9pZCBhc3NlcnRJc1ZhbGlkKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChBU1NFUlRf
RElTQUJMRUQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gUG9pbnRlcnMgc2hv
dWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0aW9uCisgICAgICAgIGZvciAoY29uc3QgYXV0
byYgZW50cnkgOiBtX3BvaW50ZXJzKSB7CisgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGVudHJ5
LCBlbnRyeS52YWx1ZSk7CisgICAgICAgICAgICBBU1NFUlQobV9hbGxvY2F0aW9ucy5jb250YWlu
cyhlbnRyeS52YWx1ZSkpOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBh
bGxvY2F0aW9uRW50cnkgOiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAvLyBGaWVsZHMg
c2hvdWxkIHBvaW50IHRvIGFuIGFjdHVhbCBhbGxvY2F0aW9uCisgICAgICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGZpZWxkRW50cnkgOiBhbGxvY2F0aW9uRW50cnkudmFsdWUuZmllbGRzKCkpIHsK
KyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGZpZWxkRW50cnksIGZpZWxkRW50cnkudmFs
dWUpOworICAgICAgICAgICAgICAgIEFTU0VSVChtX2FsbG9jYXRpb25zLmNvbnRhaW5zKGZpZWxk
RW50cnkudmFsdWUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBMb2NhbEhlYXAmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAg
ICAgYXNzZXJ0SXNWYWxpZCgpOworICAgICAgICBvdGhlci5hc3NlcnRJc1ZhbGlkKCk7CisgICAg
ICAgIHJldHVybiBtX2FsbG9jYXRpb25zID09IG90aGVyLm1fYWxsb2NhdGlvbnMKKyAgICAgICAg
ICAgICYmIG1fcG9pbnRlcnMgPT0gb3RoZXIubV9wb2ludGVyczsKKyAgICB9CisKKyAgICBib29s
IG9wZXJhdG9yIT0oY29uc3QgTG9jYWxIZWFwJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKKyAgICBjb25zdCBIYXNoTWFwPE5v
ZGUqLCBBbGxvY2F0aW9uPiBhbGxvY2F0aW9ucygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9hbGxvY2F0aW9uczsKKyAgICB9CisKKyAgICBjb25zdCBIYXNoTWFwPE5vZGUqLCBOb2Rl
Kj4gcG9pbnRlcnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcG9pbnRlcnM7Cisg
ICAgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgeworICAg
ICAgICBvdXQucHJpbnQoIiAgQWxsb2NhdGlvbnM6XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBh
dXRvJiBlbnRyeSA6IG1fYWxsb2NhdGlvbnMpCisgICAgICAgICAgICBvdXQucHJpbnQoIiAgICAj
IiwgZW50cnkua2V5LCAiOiAiLCBlbnRyeS52YWx1ZSwgIlxuIik7CisgICAgICAgIG91dC5wcmlu
dCgiICBQb2ludGVyczpcbiIpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9w
b2ludGVycykKKyAgICAgICAgICAgIG91dC5wcmludCgiICAgICIsIGVudHJ5LmtleSwgIiA9PiAj
IiwgZW50cnkudmFsdWUsICJcbiIpOworICAgIH0KKworICAgIGJvb2wgcmVhY2hlZCgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9yZWFjaGVkOworICAgIH0KKworICAgIHZvaWQgc2V0
UmVhY2hlZCgpCisgICAgeworICAgICAgICBtX3JlYWNoZWQgPSB0cnVlOworICAgIH0KKworcHJp
dmF0ZToKKyAgICAvLyBXaGVuIHdlIG1lcmdlIHR3byBoZWFwcywgd2UgZXNjYXBlIGFsbCBmaWVs
ZHMgb2YgYWxsb2NhdGlvbnMsCisgICAgLy8gdW5sZXNzIHRoZXkgcG9pbnQgdG8gdGhlIHNhbWUg
dGhpbmcgaW4gYm90aCBoZWFwcy4KKyAgICAvLyBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQg
aXQgYWxsb3dzIHVzIG5vdCB0byBkbyBleHRyYSB3b3JrCisgICAgLy8gZm9yIGRpYW1vbmQgZ3Jh
cGhzIHdoZXJlIHdlIHdvdWxkIG90aGVyd2lzZSBoYXZlIHRvIGNoZWNrCisgICAgLy8gd2hldGhl
ciB3ZSBoYXZlIGEgc2luZ2xlIGRlZmluaXRpb24gb3Igbm90LCB3aGljaCB3b3VsZCBiZQorICAg
IC8vIGN1bWJlcnNvbWUuCisgICAgLy8KKyAgICAvLyBOb3RlIHRoYXQgd2Ugc2hvdWxkIHRyeSB0
byB1bmlmeSBub2RlcyBldmVuIHdoZW4gdGhleSBhcmUgbm90CisgICAgLy8gZnJvbSB0aGUgc2Ft
ZSBhbGxvY2F0aW9uOyBmb3IgaW5zdGFuY2Ugd2Ugc2hvdWxkIGJlIGFibGUgdG8KKyAgICAvLyBj
b21wbGV0ZWx5IGVsaW1pbmF0ZSBhbGwgYWxsb2NhdGlvbnMgZnJvbSB0aGUgZm9sbG93aW5nIGdy
YXBoOgorICAgIC8vCisgICAgLy8gQmxvY2sgIzAKKyAgICAvLyAgMDogTmV3T2JqZWN0KHt9KQor
ICAgIC8vICAtOiBCcmFuY2goIzEsICMyKQorICAgIC8vCisgICAgLy8gQmxvY2sgIzEKKyAgICAv
LyAgMTogTmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMSwgImxlZnQiLCB2
YWwpCisgICAgLy8gIC06IFB1dFN0cnVjdHVyZShAMSwge3ZhbDowfSkKKyAgICAvLyAgLTogUHV0
QnlPZmZzZXQoQDAsIEAxLCB4KQorICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQor
ICAgIC8vICAtOiBKdW1wKCMzKQorICAgIC8vCisgICAgLy8gQmxvY2sgIzIKKyAgICAvLyAgMjog
TmV3T2JqZWN0KHt9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMiwgInJpZ2h0IiwgdmFsKQor
ICAgIC8vICAtOiBQdXRTdHJ1Y3R1cmUoQDIsIHt2YWw6MH0pCisgICAgLy8gIC06IFB1dEJ5T2Zm
c2V0KEAwLCBAMiwgeCkKKyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAv
LyAgLTogSnVtcCgjMykKKyAgICAvLworICAgIC8vIEJsb2NrICMzOgorICAgIC8vICAzOiBHZXRC
eU9mZnNldChAMCwgeCkKKyAgICAvLyAgNDogR2V0QnlPZmZzZXQoQDMsIHZhbCkKKyAgICAvLyAg
LTogUmV0dXJuKEA0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgRXNjYXBl
RnVuY3RvciwgdHlwZW5hbWUgUmVtb3ZlRnVuY3Rvcj4KKyAgICB2b2lkIG1lcmdlUG9pbnRlclNl
dHMoCisgICAgICAgIGNvbnN0IEhhc2hNYXA8S2V5LCBOb2RlKj4mIG15LCBjb25zdCBIYXNoTWFw
PEtleSwgTm9kZSo+JiB0aGVpciwKKyAgICAgICAgY29uc3QgRXNjYXBlRnVuY3RvciYgZXNjYXBl
LCBjb25zdCBSZW1vdmVGdW5jdG9yJiByZW1vdmUpCisgICAgeworICAgICAgICBWZWN0b3I8S2V5
PiB0b1JlbW92ZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG15KSB7CisgICAg
ICAgICAgICBhdXRvIGl0ZXIgPSB0aGVpci5maW5kKGVudHJ5LmtleSk7CisgICAgICAgICAgICBp
ZiAoaXRlciA9PSB0aGVpci5lbmQoKSkgeworICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVu
ZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGVzY2FwZShlbnRyeS52YWx1ZSk7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGl0ZXItPnZhbHVlICE9IGVudHJ5LnZhbHVlKSB7CisgICAgICAg
ICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgZXNj
YXBlKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBlc2NhcGUoaXRlci0+dmFsdWUpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkg
OiB0aGVpcikgeworICAgICAgICAgICAgaWYgKG15LmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBlc2NhcGUoZW50cnkudmFsdWUpOwor
ICAgICAgICB9CisgICAgICAgIGZvciAoS2V5IGtleSA6IHRvUmVtb3ZlKQorICAgICAgICAgICAg
cmVtb3ZlKGtleSk7CisgICAgfQorCisgICAgdm9pZCBlc2NhcGVBbGxvY2F0aW9uKE5vZGUqIGlk
ZW50aWZpZXIpCisgICAgeworICAgICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uID0gZ2V0QWxs
b2NhdGlvbihpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKGFsbG9jYXRpb24uaXNFc2NhcGVkQWxs
b2NhdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEFsbG9jYXRpb24gdW5l
c2NhcGVkID0gV1RGOjptb3ZlKGFsbG9jYXRpb24pOworICAgICAgICBhbGxvY2F0aW9uID0gQWxs
b2NhdGlvbih1bmVzY2FwZWQuaWRlbnRpZmllcigpLCBBbGxvY2F0aW9uOjpLaW5kOjpFc2NhcGVk
KTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogdW5lc2NhcGVkLmZpZWxkcygp
KQorICAgICAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihlbnRyeS52YWx1ZSk7CisKKyAgICAgICAg
aWYgKG1fd2FudEVzY2FwZWVzKQorICAgICAgICAgICAgbV9lc2NhcGVlcy5hZGQodW5lc2NhcGVk
LmlkZW50aWZpZXIoKSwgV1RGOjptb3ZlKHVuZXNjYXBlZCkpOworICAgIH0KKworICAgIHZvaWQg
cHJ1bmUoKQorICAgIHsKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gcmVhY2hhYmxlOworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9wb2ludGVycykKKyAgICAgICAgICAgIHJlYWNo
YWJsZS5hZGQoZW50cnkudmFsdWUpOworCisgICAgICAgIC8vIFJlcGVhdGVkbHkgbWFyayBhcyBy
ZWFjaGFibGUgYWxsb2NhdGlvbnMgaW4gZmllbGRzIG9mIG90aGVyCisgICAgICAgIC8vIHJlYWNo
YWJsZSBhbGxvY2F0aW9ucworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9kZSo+IHdv
cmtsaXN0OworICAgICAgICAgICAgd29ya2xpc3QuYXBwZW5kUmFuZ2UocmVhY2hhYmxlLmJlZ2lu
KCksIHJlYWNoYWJsZS5lbmQoKSk7CisKKyAgICAgICAgICAgIHdoaWxlICghd29ya2xpc3QuaXNF
bXB0eSgpKSB7CisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IHdvcmtsaXN0LnRh
a2VMYXN0KCk7CisgICAgICAgICAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1fYWxs
b2NhdGlvbnMuZmluZChpZGVudGlmaWVyKS0+dmFsdWU7CisgICAgICAgICAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBlbnRyeSA6IGFsbG9jYXRpb24uZmllbGRzKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHJlYWNoYWJsZS5hZGQoZW50cnkudmFsdWUpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQoZW50cnkudmFsdWUpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlbW92ZSB1
bnJlYWNoYWJsZSBhbGxvY2F0aW9ucworICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8Tm9k
ZSo+IHRvUmVtb3ZlOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fYWxs
b2NhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXJlYWNoYWJsZS5jb250YWlucyhlbnRy
eS5rZXkpKQorICAgICAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQoZW50cnkua2V5KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IHRvUmVt
b3ZlKQorICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvbnMucmVtb3ZlKGlkZW50aWZpZXIpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgYm9vbCBtX3JlYWNoZWQgPSBmYWxzZTsKKyAgICBIYXNo
TWFwPE5vZGUqLCBOb2RlKj4gbV9wb2ludGVyczsKKyAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0
aW9uPiBtX2FsbG9jYXRpb25zOworCisgICAgYm9vbCBtX3dhbnRFc2NhcGVlcyA9IGZhbHNlOwor
ICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+IG1fZXNjYXBlZXM7Cit9OworCitjbGFzcyBB
bGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAg
IEFsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAgIDogUGhh
c2UoZ3JhcGgsICJvYmplY3QgYWxsb2NhdGlvbiBlbGltaW5hdGlvbiIpCisgICAgICAgICwgbV9w
b2ludGVyU1NBKGdyYXBoKQorICAgICAgICAsIG1fYWxsb2NhdGlvblNTQShncmFwaCkKKyAgICAg
ICAgLCBtX2luc2VydGlvblNldChncmFwaCkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBydW4o
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9mb3JtID09IFNTQSk7CisgICAgICAg
IEFTU0VSVChtX2dyYXBoLm1fZml4cG9pbnRTdGF0ZSA9PSBGaXhwb2ludE5vdENvbnZlcmdlZCk7
CisKKyAgICAgICAgaWYgKCFwZXJmb3JtU2lua2luZygpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICAgICBkYXRhTG9nKCJHcmFw
aCBhZnRlciBlbGltaW5hdGlvbjpcbiIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
Ym9vbCBwZXJmb3JtU2lua2luZygpCisgICAgeworICAgICAgICBtX2dyYXBoLmNvbXB1dGVSZWZD
b3VudHMoKTsKKyAgICAgICAgbV9ncmFwaC5pbml0aWFsaXplTm9kZU93bmVycygpOworICAgICAg
ICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhtX2dyYXBoKTsKKyAgICAgICAgcGVyZm9ybU9TUkF2
YWlsYWJpbGl0eUFuYWx5c2lzKG1fZ3JhcGgpOworICAgICAgICBtX2NvbWJpbmVkTGl2ZW5lc3Mg
PSBDb21iaW5lZExpdmVuZXNzKG1fZ3JhcGgpOworCisgICAgICAgIENTdHJpbmcgZ3JhcGhCZWZv
cmVTaW5raW5nOworICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZVZhbGlkYXRpb25GYWlsdXJl
KCkgJiYgT3B0aW9uczo6dmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkpIHsKKyAgICAgICAgICAg
IFN0cmluZ1ByaW50U3RyZWFtIG91dDsKKyAgICAgICAgICAgIG1fZ3JhcGguZHVtcChvdXQpOwor
ICAgICAgICAgICAgZ3JhcGhCZWZvcmVTaW5raW5nID0gb3V0LnRvQ1N0cmluZygpOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBo
IGJlZm9yZSBlbGltaW5hdGlvbjpcbiIpOworICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7Cisg
ICAgICAgIH0KKworICAgICAgICBwZXJmb3JtQW5hbHlzaXMoKTsKKworICAgICAgICBpZiAoIWRl
dGVybWluZVNpbmtDYW5kaWRhdGVzKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBkYXRh
TG9nKCJIZWFwIGF0IGhlYWQgb2YgIiwgKmJsb2NrLCAiOiBcbiIsIG1faGVhcEF0SGVhZFtibG9j
a10pOworICAgICAgICAgICAgICAgIGRhdGFMb2coIkhlYXAgYXQgdGFpbCBvZiAiLCAqYmxvY2ss
ICI6IFxuIiwgbV9oZWFwQXRUYWlsW2Jsb2NrXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICBwcm9tb3RlTG9jYWxIZWFwKCk7CisKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZh
bGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKQorICAgICAgICAgICAgdmFsaWRhdGUobV9ncmFwaCwg
RHVtcEdyYXBoLCBncmFwaEJlZm9yZVNpbmtpbmcpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICB2b2lkIHBlcmZvcm1BbmFseXNpcygpCisgICAgeworICAgICAgICBtX2hlYXBB
dEhlYWQgPSBCbG9ja01hcDxMb2NhbEhlYXA+KG1fZ3JhcGgpOworICAgICAgICBtX2hlYXBBdFRh
aWwgPSBCbG9ja01hcDxMb2NhbEhlYXA+KG1fZ3JhcGgpOworCisgICAgICAgIGJvb2wgY2hhbmdl
ZDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAg
ICAgZGF0YUxvZygiRG9pbmcgaXRlcmF0aW9uIG9mIGVzY2FwZSBhbmFseXNpcy5cbiIpOworICAg
ICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOworCisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sq
IGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgICAgICBt
X2hlYXBBdEhlYWRbYmxvY2tdLnNldFJlYWNoZWQoKTsKKyAgICAgICAgICAgICAgICBtX2hlYXAg
PSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2Rl
IDogKmJsb2NrKSB7CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVk
SGVhcExvY2F0aW9uLCBMYXp5Tm9kZSkgeyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgWyZd
IChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG1faGVhcCA9PSBtX2hlYXBBdFRh
aWxbYmxvY2tdKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgIG1faGVhcEF0VGFpbFtibG9ja10gPSBtX2hlYXA7CisgICAgICAgICAgICAgICAgY2hhbmdl
ZCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgpOworCisg
ICAgICAgICAgICAgICAgLy8gV2Uga2VlcCBvbmx5IHBvaW50ZXJzIHRoYXQgYXJlIGxpdmUsIGFu
ZCBvbmx5CisgICAgICAgICAgICAgICAgLy8gYWxsb2NhdGlvbnMgdGhhdCBhcmUgZWl0aGVyIGxp
dmUsIHBvaW50ZWQgdG8gYnkgYQorICAgICAgICAgICAgICAgIC8vIGxpdmUgcG9pbnRlciwgb3Ig
KHJlY3Vyc2l2ZWx5KSBzdG9yZWQgaW4gYSBmaWVsZCBvZgorICAgICAgICAgICAgICAgIC8vIGEg
bGl2ZSBhbGxvY2F0aW9uLgorICAgICAgICAgICAgICAgIC8vCisgICAgICAgICAgICAgICAgLy8g
VGhpcyBtZWFucyB3ZSBjYW4gYWNjaWRlbnRhbHkgbGVhayBub24tZG9taW5hdGluZworICAgICAg
ICAgICAgICAgIC8vIG5vZGVzIGludG8gdGhlIHN1Y2Nlc3Nvci4gSG93ZXZlciwgZHVlIHRvIHRo
ZQorICAgICAgICAgICAgICAgIC8vIG5vbi1kb21pbmFuY2UgcHJvcGVydHksIHdlIGFyZSBndWFy
YW50ZWVkIHRoYXQgdGhlCisgICAgICAgICAgICAgICAgLy8gc3VjY2Vzc29yIGhhcyBhdCBsZWFz
dCBvbmUgcHJlZGVjZXNzb3IgdGhhdCBpcyBub3QKKyAgICAgICAgICAgICAgICAvLyBkb21pbmF0
ZWQgZWl0aGVyOiB0aGlzIG1lYW5zIGFueSByZWZlcmVuY2UgdG8gYQorICAgICAgICAgICAgICAg
IC8vIG5vbi1kb21pbmF0aW5nIGFsbG9jYXRpb24gaW4gdGhlIHN1Y2Nlc3NvciB3aWxsCisgICAg
ICAgICAgICAgICAgLy8gdHJpZ2dlciBhbiBlc2NhcGUgYW5kIGdldCBwcnVuZWQgZHVyaW5nIHRo
ZSBtZXJnZS4KKyAgICAgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29tYmlu
ZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgICAgICBmb3IgKEJh
c2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkKKyAgICAgICAg
ICAgICAgICAgICAgbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5tZXJnZShtX2hlYXApOwor
ICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjaGFuZ2VkKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlc29sdmVGdW5jdG9yPgor
ICAgIHZvaWQgaGFuZGxlTm9kZSgKKyAgICAgICAgTm9kZSogbm9kZSwKKyAgICAgICAgY29uc3Qg
V3JpdGVGdW5jdG9yJiBoZWFwV3JpdGUsCisgICAgICAgIGNvbnN0IFJlc29sdmVGdW5jdG9yJiBo
ZWFwUmVzb2x2ZSkKKyAgICB7CisgICAgICAgIG1faGVhcC5hc3NlcnRJc1ZhbGlkKCk7CisgICAg
ICAgIEFTU0VSVChtX2hlYXAudGFrZUVzY2FwZWVzKCkuaXNFbXB0eSgpKTsKKworICAgICAgICBB
bGxvY2F0aW9uKiB0YXJnZXQgPSBudWxscHRyOworICAgICAgICBIYXNoTWFwPFByb21vdGVkTG9j
YXRpb25EZXNjcmlwdG9yLCBMYXp5Tm9kZT4gd3JpdGVzOworICAgICAgICBQcm9tb3RlZExvY2F0
aW9uRGVzY3JpcHRvciBleGFjdFJlYWQ7CisKKyAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7
CisgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5u
ZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdCk7CisgICAgICAgICAg
ICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlKCkpOworICAgICAgICAgICAg
d3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVQTG9jLCBMYXp5Tm9kZShtX2dy
YXBoLmZyZWV6ZShub2RlLT5zdHJ1Y3R1cmUoKSkpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIHRhcmdldCA9
ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpPYmplY3QpOwor
ICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZVNldCgpKTsK
KyAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgU3RydWN0dXJlUExvYywg
TGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25E
YXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVz
LmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoCisg
ICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNb
aV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5vZGUobV9n
cmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246
IHsKKyAgICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUq
PigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAg
ICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3
QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbik7CisgICAgICAgICAg
ICB3cml0ZXMuYWRkKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxP
cGVyYW5kKCkpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoRnVuY3Rpb25BY3RpdmF0aW9uUExv
YywgTGF6eU5vZGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAg
ICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUo
KS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwgQWxsb2Nh
dGlvbjo6S2luZDo6QWN0aXZhdGlvbik7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFjdGl2YXRp
b25TeW1ib2xUYWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxPcGVyYW5kKCkpKTsKKyAgICAg
ICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywgTGF6eU5vZGUobm9kZS0+Y2hp
bGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOworICAg
ICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xv
Y2spOworICAgICAgICAgICAgICAgIExhenlOb2RlIHVuZGVmaW5lZChtX2dyYXBoLmZyZWV6ZShq
c1VuZGVmaW5lZCgpKSk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBzeW1ib2xU
YWJsZS0+YmVnaW4obG9ja2VyKSwgZW5kID0gc3ltYm9sVGFibGUtPmVuZChsb2NrZXIpOyBpdGVy
ICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAg
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFy
UExvYywgaXRlci0+dmFsdWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICB1bmRlZmluZWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNYXRlcmlhbGl6
ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgc3VuayB0aGlzIG9u
Y2UgYWxyZWFkeSAtIHRoZXJlIGlzIG5vIHdheSB0aGUKKyAgICAgICAgICAgIC8vIHdhdGNocG9p
bnQgaXMgc3RpbGwgdmFsaWQuCisgICAgICAgICAgICBBU1NFUlQoIW5vZGUtPmNhc3RPcGVyYW5k
PFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpOworICAg
ICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246
OktpbmQ6OkFjdGl2YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU3lt
Ym9sVGFibGVQTG9jLCBMYXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLm5vZGUo
KSkpOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU2NvcGVQTG9jLCBMYXp5Tm9k
ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpLm5vZGUoKSkpOworICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5t
X3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAor
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGllc1tpXS5tX2lkZW50
aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShtX2dyYXBoLnZhckFy
Z0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CisgICAgICAg
ICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5u
b2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZChTdHJ1Y3R1cmVQTG9jLCBMYXp5
Tm9kZShtX2dyYXBoLmZyZWV6ZShKU1ZhbHVlKG5vZGUtPnRyYW5zaXRpb24oKS0+bmV4dCkpKSk7
CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnRyYW5zaXRpb24o
KS0+bmV4dCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNj
YXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9uKiBhbGxvY2F0
aW9uID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uICYmIGFsbG9jYXRpb24tPmlzT2JqZWN0QWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi0+ZmlsdGVyU3RydWN0dXJlcyhu
b2RlLT5zdHJ1Y3R1cmVTZXQoKSk7CisgICAgICAgICAgICAgICAgaWYgKE5vZGUqIHZhbHVlID0g
aGVhcFJlc29sdmUoUHJvbW90ZWRIZWFwTG9jYXRpb24oYWxsb2NhdGlvbi0+aWRlbnRpZmllcigp
LCBTdHJ1Y3R1cmVQTG9jKSkpCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0No
ZWNrU3RydWN0dXJlSW1tZWRpYXRlKHZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKKyAgICAg
ICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdldCA9IG1f
aGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAg
ICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+c3RvcmFnZUFjY2Vz
c0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVhZCA9IFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlmaWVyTnVt
YmVyKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2Fw
ZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdldCA9
IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAg
ICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+bXVsdGlHZXRC
eU9mZnNldERhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVh
ZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlm
aWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxv
Y2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRh
cmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAg
ICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExvYywgaWRl
bnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxk
MygpLm5vZGUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKKyAgICAgICAgICAgIHRhcmdl
dCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2NhdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0KKyAgICAgICAgICAgICAgICAgICAgUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIG5vZGUtPnNjb3BlT2Zmc2V0
KCkub2Zmc2V0KCkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9oZWFwLm9u
bHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGlm
ICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpIHsKKyAgICAgICAg
ICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSks
CisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSkpOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKG5vZGUt
PmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShub2RlLT5j
aGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBTa2lwU2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxv
Y2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRh
cmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAg
ICBleGFjdFJlYWQgPSBBY3RpdmF0aW9uU2NvcGVQTG9jOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0RXhlY3V0YWJsZToKKyAgICAgICAgICAg
IHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUo
KSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNGdW5jdGlvbkFsbG9jYXRp
b24oKSkKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBGdW5jdGlvbkV4ZWN1dGFibGVQTG9j
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+
Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0
U2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihu
b2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQt
PmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0gRnVu
Y3Rpb25BY3RpdmF0aW9uUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoZWRnZS53aWxsTm90SGF2ZUNoZWNrKCkpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGFs
cmVhZHlDaGVja2VkKGVkZ2UudXNlS2luZCgpLCBTcGVjT2JqZWN0KSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVk
Z2Uubm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgTW92SGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAgICAgICAg
Ly8gSGFuZGxlZCBieSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzCisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4o
CisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2UgZWRnZSkg
eworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVkZ2Uubm9kZSgpKTsKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGV4YWN0UmVhZCkgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdldCk7CisgICAgICAgICAg
ICBBU1NFUlQod3JpdGVzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBpZiAoTm9kZSogdmFsdWUg
PSBoZWFwUmVzb2x2ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0YXJnZXQtPmlkZW50aWZpZXIoKSwg
ZXhhY3RSZWFkKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXZhbHVlLT5yZXBsYWNlbWVu
dCgpKTsKKyAgICAgICAgICAgICAgICBub2RlLT5yZXBsYWNlV2l0aCh2YWx1ZSk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gdGFyZ2V0LT5nZXQoZXhhY3RS
ZWFkKTsKKyAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgIG1faGVh
cC5uZXdQb2ludGVyKG5vZGUsIGlkZW50aWZpZXIpOworICAgICAgICB9CisKKyAgICAgICAgZm9y
IChhdXRvIGVudHJ5IDogd3JpdGVzKSB7CisgICAgICAgICAgICBBU1NFUlQodGFyZ2V0KTsKKyAg
ICAgICAgICAgIGlmIChlbnRyeS52YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICB0YXJn
ZXQtPnNldChlbnRyeS5rZXksIG1faGVhcC5mb2xsb3coZW50cnkudmFsdWUuYXNOb2RlKCkpKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0YXJnZXQtPnJlbW92ZShlbnRyeS5r
ZXkpOworICAgICAgICAgICAgaGVhcFdyaXRlKFByb21vdGVkSGVhcExvY2F0aW9uKHRhcmdldC0+
aWRlbnRpZmllcigpLCBlbnRyeS5rZXkpLCBlbnRyeS52YWx1ZSk7CisgICAgICAgIH0KKworICAg
ICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgpOworICAgIH0KKworICAgIGJvb2wgZGV0ZXJtaW5l
U2lua0NhbmRpZGF0ZXMoKQorICAgIHsKKyAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5jbGVhcigp
OworICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5jbGVhcigpOworICAgICAgICBt
X21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKKyAgICAgICAg
bV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmNsZWFyKCk7CisKKyAgICAgICAgLy8g
TG9naWNhbGx5IHdlIHdpc2ggdG8gY29uc2lkZXIgZXZlcnkgYWxsb2NhdGlvbiBhbmQgc2luawor
ICAgICAgICAvLyBpdC4gSG93ZXZlciwgaXQgaXMgcHJvYmFibHkgbm90IHByb2ZpdGFibGUgdG8g
c2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIHRoYXQgd2lsbCBhbHdheXMgZXNjYXBlLiBT
bywgd2Ugb25seSBzaW5rIGFuCisgICAgICAgIC8vIGFsbG9jYXRpb24gaWYgb25lIG9mIHRoZSBm
b2xsb3dpbmcgaXMgdHJ1ZToKKyAgICAgICAgLy8KKyAgICAgICAgLy8gMSkgVGhlcmUgZXhpc3Rz
IGEgYmFzaWMgYmxvY2sgd2l0aCBvbmx5IGJhY2t3YXJkcyBvdXRnb2luZworICAgICAgICAvLyAg
ICBlZGdlcyAob3Igbm8gb3V0Z29pbmcgZWRnZXMpIGluIHdoaWNoIHRoZSBub2RlIHdhc24ndAor
ICAgICAgICAvLyAgICBtYXRlcmlhbGl6ZWQuIFRoaXMgaXMgbWVhbnQgdG8gY2F0Y2gKKyAgICAg
ICAgLy8gICAgZWZmZWN0aXZlbHktaW5maW5pdGUgbG9vcHMgaW4gd2hpY2ggd2UgZG9uJ3QgbmVl
ZCB0bworICAgICAgICAvLyAgICBoYXZlIGFsbG9jYXRlZCB0aGUgb2JqZWN0LgorICAgICAgICAv
LworICAgICAgICAvLyAyKSBUaGVyZSBleGlzdHMgYSBiYXNpYyBibG9jayBhdCB0aGUgdGFpbCBv
ZiB3aGljaCB0aGUgbm9kZQorICAgICAgICAvLyAgICBpcyBkZWFkIGFuZCBub3QgbWF0ZXJpYWxp
emVkLgorICAgICAgICAvLworICAgICAgICAvLyAzKSBUaGUgc3VtIG9mIGV4ZWN1dGlvbiBjb3Vu
dHMgb2YgdGhlIG1hdGVyaWFsaXphdGlvbnMgaXMKKyAgICAgICAgLy8gICAgbGVzcyB0aGFuIHRo
ZSBzdW0gb2YgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgb3JpZ2luYWwKKyAgICAgICAgLy8gICAg
bm9kZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gV2UgY3VycmVudGx5IGltcGxlbWVudCBvbmx5
IHJ1bGUgIzIuCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIHR3byBvdGhlciBydWxl
cy4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzA3MyAocnVsZSAjMSkKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNzA3NCAocnVsZSAjMykKKyAgICAgICAgLy8KKyAgICAgICAgLy8gSG93ZXZl
ciwgdGhlc2UgcnVsZXMgYWxsb3cgZm9yIGEgc3VuayBvYmplY3QgdG8gYmUgcHV0IGludG8KKyAg
ICAgICAgLy8gYSBub24tc3VuayBvbmUsIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQuIFdlIGNvdWxk
IHNvbHZlIHRoaXMKKyAgICAgICAgLy8gYnkgc3VwcG9ydGluZyBQdXRIaW50cyBvbiBsb2NhbCBh
bGxvY2F0aW9ucywgbWFraW5nIHRoZXNlCisgICAgICAgIC8vIG9iamVjdHMgb25seSBwYXJ0aWFs
bHkgY29ycmVjdCwgYW5kIHdlIHdvdWxkIG5lZWQgdG8gYWRhcHQKKyAgICAgICAgLy8gdGhlIE9T
UiBhdmFpbGFiaWxpdHkgYW5hbHlzaXMgYW5kIE9TUiBleGl0IHRvIGhhbmRsZQorICAgICAgICAv
LyB0aGlzLiBUaGlzIHdvdWxkIGJlIHRvdGFsbHkgZG9hYmxlLCBidXQgd291bGQgY3JlYXRlIGEK
KyAgICAgICAgLy8gc3VwZXIgcmFyZSwgYW5kIHRodXMgYnVnLXByb25lLCBjb2RlIHBhdGguCisg
ICAgICAgIC8vIFNvLCBpbnN0ZWFkLCB3ZSBuZWVkIHRvIGltcGxlbWVudCBvbmUgb2YgdGhlIGZv
bGxvd2luZworICAgICAgICAvLyBjbG9zdXJlIHJ1bGVzOgorICAgICAgICAvLworICAgICAgICAv
LyAxKSBJZiB3ZSBwdXQgYSBzaW5rIGNhbmRpZGF0ZSBpbnRvIGEgbG9jYWwgYWxsb2NhdGlvbiB0
aGF0CisgICAgICAgIC8vICAgIGlzIG5vdCBhIHNpbmsgY2FuZGlkYXRlLCBjaGFuZ2Ugb3VyIG1p
bmRzIGFuZCBkb24ndAorICAgICAgICAvLyAgICBhY3R1YWxseSBzaW5rIHRoZSBzaW5rIGNhbmRp
ZGF0ZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gMikgSWYgd2UgcHV0IGEgc2luayBjYW5kaWRh
dGUgaW50byBhIGxvY2FsIGFsbG9jYXRpb24sIHRoYXQKKyAgICAgICAgLy8gICAgYWxsb2NhdGlv
biBiZWNvbWVzIGEgc2luayBjYW5kaWRhdGUgYXMgd2VsbC4KKyAgICAgICAgLy8KKyAgICAgICAg
Ly8gV2UgY3VycmVudGx5IGNob29zZSB0byBpbXBsZW1lbnQgY2xvc3VyZSBydWxlICMyLgorICAg
ICAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8Tm9kZSo+PiBkZXBlbmRlbmNpZXM7CisgICAgICAg
IGJvb2wgaGFzVW5lc2NhcGVkUmVhZHMgPSBmYWxzZTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2Nr
KiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5QcmVPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hl
YXAgPSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
OiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBoYW5kbGVOb2RlKAorICAgICAgICAgICAgICAg
ICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9u
IGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCF2YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgICAgICAgICAgICAgICAgIEFsbG9jYXRpb24qIGFsbG9jYXRpb24gPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbih2YWx1ZS5hc05vZGUoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoYWxsb2NhdGlvbiAmJiAhYWxsb2NhdGlvbi0+aXNFc2NhcGVkQWxsb2NhdGlvbigp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcy5hZGQoYWxsb2NhdGlv
bi0+aWRlbnRpZmllcigpLCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQo
bG9jYXRpb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAg
ICAgICAgICAgICAgaGFzVW5lc2NhcGVkUmVhZHMgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAvLyBUaGUgc2luayBjYW5kaWRhdGVzIGFyZSBpbml0aWFsbHkg
dGhlIHVuZXNjYXBlZAorICAgICAgICAgICAgLy8gYWxsb2NhdGlvbnMgZHlpbmcgYXQgdGFpbCBv
ZiBibG9ja3MKKyAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IGFsbG9jYXRpb25zOworICAgICAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCFlbnRyeS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisg
ICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb25zLmFkZChlbnRyeS5rZXkpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVuZXNzKG1fY29tYmluZWRMaXZl
bmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRp
ZmllciA6IGFsbG9jYXRpb25zKSB7CisgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXAuaXNBbGxv
Y2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBtX3NpbmtDYW5kaWRhdGVz
LmFkZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8v
IEVuc3VyZSB0aGF0IHRoZSBzZXQgb2Ygc2luayBjYW5kaWRhdGVzIGlzIGNsb3NlZCBmb3IgcHV0
IG9wZXJhdGlvbnMKKyAgICAgICAgVmVjdG9yPE5vZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgd29y
a2xpc3QuYXBwZW5kUmFuZ2UobV9zaW5rQ2FuZGlkYXRlcy5iZWdpbigpLCBtX3NpbmtDYW5kaWRh
dGVzLmVuZCgpKTsKKworICAgICAgICB3aGlsZSAoIXdvcmtsaXN0LmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogZGVwZW5kZW5jaWVzLmdldCh3b3JrbGlz
dC50YWtlTGFzdCgpKSkgeworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmFk
ZChpZGVudGlmaWVyKS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICB3b3JrbGlzdC5h
cHBlbmQoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gaGFzVW5l
c2NhcGVkUmVhZHM7CisKKyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9n
KCJDYW5kaWRhdGVzOiAiLCBsaXN0RHVtcChtX3NpbmtDYW5kaWRhdGVzKSwgIlxuIik7CisKKyAg
ICAgICAgLy8gQ3JlYXRlIHRoZSBtYXRlcmlhbGl6YXRpb24gbm9kZXMKKyAgICAgICAgZm9yIChC
YXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAg
ICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIG1faGVh
cC5zZXRXYW50RXNjYXBlZXMoKTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJs
b2NrKSB7CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAgICAgICAgICAgICAgICAg
bm9kZSwKKyAgICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uLCBMYXp5
Tm9kZSkgeyB9LAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24p
IC0+IE5vZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBhdXRvIGVzY2FwZWVzID0gbV9o
ZWFwLnRha2VFc2NhcGVlcygpOworICAgICAgICAgICAgICAgIGlmICghZXNjYXBlZXMuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgICAgICBwbGFjZU1hdGVyaWFsaXphdGlvbnMoZXNjYXBlZXMs
IG5vZGUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBtX2hlYXAucHJ1bmVCeUxpdmVu
ZXNzKG1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRUYWlsW2Jsb2NrXSk7CisKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPE5vZGUqLCBBbGxvY2F0aW9uPiBlc2NhcGluZ09u
RWRnZTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9oZWFwLmFs
bG9jYXRpb25zKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlLmlzRXNj
YXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICAgICAgICAgIGJvb2wgbXVzdEVzY2FwZSA9IGZhbHNlOworICAgICAgICAgICAg
ICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3Nv
cnMoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbc3VjY2Vz
c29yQmxvY2tdLmlzQWxsb2NhdGlvbihlbnRyeS5rZXkpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfHwgbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5nZXRBbGxvY2F0aW9uKGVudHJ5
LmtleSkuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG11c3RFc2NhcGUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG11c3RFc2NhcGUpCisgICAgICAgICAgICAgICAgICAgICAgICBlc2NhcGlu
Z09uRWRnZS5hZGQoZW50cnkua2V5LCBlbnRyeS52YWx1ZSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIHBsYWNlTWF0ZXJpYWxpemF0aW9ucyhXVEY6Om1vdmUoZXNjYXBpbmdP
bkVkZ2UpLCBibG9jay0+dGVybWluYWwoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gaGFzVW5lc2NhcGVkUmVhZHMgfHwgIW1fc2lua0NhbmRpZGF0ZXMuaXNF
bXB0eSgpOworICAgIH0KKworICAgIHZvaWQgcGxhY2VNYXRlcmlhbGl6YXRpb25zKEhhc2hNYXA8
Tm9kZSosIEFsbG9jYXRpb24+IGVzY2FwZWVzLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAg
IC8vIFdlIGRvbid0IGNyZWF0ZSBtYXRlcmlhbGl6YXRpb25zIGlmIHRoZSBlc2NhcGVlIGlzIG5v
dCBhCisgICAgICAgIC8vIHNpbmsgY2FuZGlkYXRlCisgICAgICAgIFZlY3RvcjxOb2RlKj4gdG9S
ZW1vdmU7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAg
ICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAg
ICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgIH0KKyAgICAg
ICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogdG9SZW1vdmUpCisgICAgICAgICAgICBlc2NhcGVl
cy5yZW1vdmUoaWRlbnRpZmllcik7CisKKyAgICAgICAgaWYgKGVzY2FwZWVzLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBGaXJzdCBjb2xsZWN0IHRoZSBoaW50
cyB0aGF0IHdpbGwgYmUgbmVlZGVkIHdoZW4gdGhlIG5vZGUKKyAgICAgICAgLy8gd2UgbWF0ZXJp
YWxpemUgaXMgc3RpbGwgc3RvcmVkIGludG8gb3RoZXIgdW5lc2NhcGVkIHNpbmsgY2FuZGlkYXRl
cworICAgICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGhpbnRzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9oZWFwLmFsbG9jYXRpb25zKCkpIHsKKyAgICAgICAg
ICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhlbnRyeS5rZXkpKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogZW50cnkudmFs
dWUuZmllbGRzKCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV9zaW5rQ2FuZGlkYXRlcy5j
b250YWlucyhlbnRyeS5rZXkpIHx8ICFlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkpOwor
ICAgICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgIWZp
ZWxkLmtleS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
aGludHMuYXBwZW5kKFByb21vdGVkSGVhcExvY2F0aW9uKGVudHJ5LmtleSwgZmllbGQua2V5KSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBv
cmRlciB0aGUgbWF0ZXJpYWxpemF0aW9uLiBBbnkgb3JkZXIgaXMKKyAgICAgICAgLy8gdmFsaWQg
KGFzIGxvbmcgYXMgd2UgbWF0ZXJpYWxpemUgYSBub2RlIGZpcnN0IGlmIGl0IGlzCisgICAgICAg
IC8vIG5lZWRlZCBmb3IgdGhlIG1hdGVyaWFsaXphdGlvbiBvZiBhbm90aGVyIG5vZGUsIGUuZy4g
YQorICAgICAgICAvLyBmdW5jdGlvbidzIGFjdGl2YXRpb24gbXVzdCBiZSBtYXRlcmlhbGl6ZWQg
YmVmb3JlIHRoZQorICAgICAgICAvLyBmdW5jdGlvbiBpdHNlbGYpLCBidXQgd2Ugd2FudCB0byB0
cnkgbWluaW1pemluZyB0aGUgbnVtYmVyCisgICAgICAgIC8vIG9mIHRpbWVzIHdlIGhhdmUgdG8g
cGxhY2UgUHV0cyB0byBjbG9zZSBjeWNsZXMgYWZ0ZXIgYQorICAgICAgICAvLyBtYXRlcmlhbGl6
YXRpb24uIEluIG90aGVyIHdvcmRzLCB3ZSBhcmUgdHJ5aW5nIHRvIGZpbmQgdGhlCisgICAgICAg
IC8vIG1pbmltdW0gbnVtYmVyIG9mIG1hdGVyaWFsaXphdGlvbnMgdG8gcmVtb3ZlIGZyb20gdGhl
CisgICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiBncmFwaCB0byBtYWtlIGl0IGEgREFHLCBrbm93
biBhcyB0aGUKKyAgICAgICAgLy8gKHZlcnRleCkgZmVlZGJhY2sgc2V0IHByb2JsZW0uIFVuZm9y
dHVuYXRlbHksIHRoaXMgaXMgYQorICAgICAgICAvLyBOUC1oYXJkIHByb2JsZW0sIHdoaWNoIHdl
IGRvbid0IHdhbnQgdG8gc29sdmUgZXhhY3RseS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSW5z
dGVhZCwgd2UgdXNlIGEgc2ltcGxlIGdyZWVkeSBwcm9jZWR1cmUsIHRoYXQgcHJvY2VkZXMgYXMK
KyAgICAgICAgLy8gZm9sbG93OgorICAgICAgICAvLyAgLSBXaGlsZSB0aGVyZSBpcyBhdCBsZWFz
dCBvbmUgbm9kZSB3aXRoIG5vIG91dGdvaW5nIGVkZ2UKKyAgICAgICAgLy8gICAgYW1vbmdzdCB0
aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsIG1hdGVyaWFsaXplIGl0CisgICAgICAgIC8v
ICAgIGZpcnN0CisgICAgICAgIC8vIAorICAgICAgICAvLyAgLSBTaW1pbGFyaWx5LCB3aGlsZSB0
aGVyZSBpcyBhdCBsZWFzdCBvbmUgbm9kZSB3aXRoIG5vCisgICAgICAgIC8vICAgIGluY29taW5n
IGVkZ2UgYW1vbmdzdCB0aGUgcmVtYWluaW5nIG1hdGVyaWFsaXphdGlvbnMsCisgICAgICAgIC8v
ICAgIG1hdGVyaWFsaXplIGl0IGxhc3QuCisgICAgICAgIC8vCisgICAgICAgIC8vICAtIFdoZW4g
Ym90aCBwcmV2aW91cyBjb25kaXRpb25zIGFyZSBmYWxzZSwgd2UgaGF2ZSBhbgorICAgICAgICAv
LyAgICBhY3R1YWwgY3ljbGUsIGFuZCB3ZSBuZWVkIHRvIHBpY2sgYSBub2RlIHRvCisgICAgICAg
IC8vICAgIG1hdGVyaWFsaXplLiBXZSB0cnkgZ3JlZWRpbHkgdG8gcmVtb3ZlIHRoZSAicHJlc3N1
cmUiIG9uCisgICAgICAgIC8vICAgIHRoZSByZW1haW5pbmcgbm9kZXMgYnkgY2hvb3NpbmcgdGhl
IG5vZGUgd2l0aCBtYXhpbXVtCisgICAgICAgIC8vICAgIHxpbmNvbWluZyBlZGdlc3wgKiB8b3V0
Z29pbmcgZWRnZXN8IGFzIGEgbWVhc3VyZSBvZiBob3cKKyAgICAgICAgLy8gICAgImNlbnRyYWwi
IHRvIHRoZSBncmFwaCBpdCBpcy4gV2UgbWF0ZXJpYWxpemUgaXQgZmlyc3QsCisgICAgICAgIC8v
ICAgIHNvIHRoYXQgYWxsIHRoZSByZWNvdmVyaWVzIHdpbGwgYmUgUHV0cyBvZiB0aGluZ3MgaW50
bworICAgICAgICAvLyAgICBpdCAocmF0aGVyIHRoYW4gUHV0cyBvZiB0aGUgbWF0ZXJpYWxpemF0
aW9uIGludG8gb3RoZXIKKyAgICAgICAgLy8gICAgb2JqZWN0cyksIHdoaWNoIG1lYW5zIHdlIHdp
bGwgaGF2ZSBhIHNpbmdsZQorICAgICAgICAvLyAgICBTdG9yZUJhcnJpZXIuCisKKworICAgICAg
ICAvLyBDb21wdXRlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIG1hdGVyaWFsaXphdGlvbnMKKyAgICAg
ICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IGRlcGVuZGVuY2llczsKKyAgICAgICAg
SGFzaE1hcDxOb2RlKiwgSGFzaFNldDxOb2RlKj4+IHJldmVyc2VEZXBlbmRlbmNpZXM7CisgICAg
ICAgIEhhc2hNYXA8Tm9kZSosIEhhc2hTZXQ8Tm9kZSo+PiBmb3JNYXRlcmlhbGl6YXRpb247Cisg
ICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAg
YXV0byYgbXlEZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuYWRkKGVudHJ5LmtleSwgSGFzaFNl
dDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgYXV0byYgbXlEZXBlbmRl
bmNpZXNGb3JNYXRlcmlhbGl6YXRpb24gPSBmb3JNYXRlcmlhbGl6YXRpb24uYWRkKGVudHJ5Lmtl
eSwgSGFzaFNldDxOb2RlKj4oKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgcmV2ZXJz
ZURlcGVuZGVuY2llcy5hZGQoZW50cnkua2V5LCBIYXNoU2V0PE5vZGUqPigpKTsKKyAgICAgICAg
ICAgIGZvciAoY29uc3QgYXV0byYgZmllbGQgOiBlbnRyeS52YWx1ZS5maWVsZHMoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChlc2NhcGVlcy5jb250YWlucyhmaWVsZC52YWx1ZSkgJiYgZmllbGQu
dmFsdWUgIT0gZW50cnkua2V5KSB7CisgICAgICAgICAgICAgICAgICAgIG15RGVwZW5kZW5jaWVz
LmFkZChmaWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIHJldmVyc2VEZXBlbmRlbmNp
ZXMuYWRkKGZpZWxkLnZhbHVlLCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYWRk
KGVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5rZXkubmVlZGVkRm9y
TWF0ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBteURlcGVuZGVuY2ll
c0Zvck1hdGVyaWFsaXphdGlvbi5hZGQoZmllbGQudmFsdWUpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0
byB1cGRhdGUgdGhlIG1hdGVyaWFsaXplZCBzZXQgYW5kIHRoZQorICAgICAgICAvLyBkZXBlbmRl
bmNpZXMKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gbWF0ZXJpYWxpemVkOworICAgICAgICBhdXRv
IG1hdGVyaWFsaXplID0gWyZdIChOb2RlKiBpZGVudGlmaWVyKSB7CisgICAgICAgICAgICBtYXRl
cmlhbGl6ZWQuYWRkKGlkZW50aWZpZXIpOworICAgICAgICAgICAgZm9yIChOb2RlKiBkZXAgOiBk
ZXBlbmRlbmNpZXMuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgIHJldmVyc2VEZXBl
bmRlbmNpZXMuZmluZChkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAg
ICBmb3IgKE5vZGUqIHJkZXAgOiByZXZlcnNlRGVwZW5kZW5jaWVzLmdldChpZGVudGlmaWVyKSkg
eworICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcy5maW5kKHJkZXApLT52YWx1ZS5yZW1vdmUo
aWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQocmRl
cCktPnZhbHVlLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGRlcGVuZGVuY2llcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICByZXZlcnNlRGVw
ZW5kZW5jaWVzLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvck1hdGVyaWFsaXph
dGlvbi5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH07CisKKyAgICAgICAgLy8gTm9kZXMg
d2l0aG91dCByZW1haW5pbmcgdW5tYXRlcmlhbGl6ZWQgZmllbGRzIHdpbGwgYmUKKyAgICAgICAg
Ly8gbWF0ZXJpYWxpemVkIGZpcnN0IC0gYW1vbmdzdCB0aGUgcmVtYWluaW5nIHVubWF0ZXJpYWxp
emVkCisgICAgICAgIC8vIG5vZGVzCisgICAgICAgIHN0ZDo6bGlzdDxBbGxvY2F0aW9uPiB0b01h
dGVyaWFsaXplOworICAgICAgICBhdXRvIGZpcnN0UG9zID0gdG9NYXRlcmlhbGl6ZS5iZWdpbigp
OworICAgICAgICBhdXRvIG1hdGVyaWFsaXplRmlyc3QgPSBbJl0gKEFsbG9jYXRpb24mJiBhbGxv
Y2F0aW9uKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZShhbGxvY2F0aW9uLmlkZW50aWZpZXIo
KSk7CisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGluc2VydCAqYWZ0ZXIqIHRoZSBjdXJyZW50
IHBvc2l0aW9uCisgICAgICAgICAgICBpZiAoZmlyc3RQb3MgIT0gdG9NYXRlcmlhbGl6ZS5lbmQo
KSkKKyAgICAgICAgICAgICAgICArK2ZpcnN0UG9zOworICAgICAgICAgICAgZmlyc3RQb3MgPSB0
b01hdGVyaWFsaXplLmluc2VydChmaXJzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRpb24pKTsKKyAg
ICAgICAgfTsKKworICAgICAgICAvLyBOb2RlcyB0aGF0IG5vIG90aGVyIHVubWF0ZXJpYWxpemVk
IG5vZGUgcG9pbnRzIHRvIHdpbGwgYmUKKyAgICAgICAgLy8gbWF0ZXJpYWxpemVkIGxhc3QgLSBh
bW9uZ3N0IHRoZSByZW1haW5pbmcgdW5tYXRlcmlhbGl6ZWQKKyAgICAgICAgLy8gbm9kZXMKKyAg
ICAgICAgYXV0byBsYXN0UG9zID0gdG9NYXRlcmlhbGl6ZS5lbmQoKTsKKyAgICAgICAgYXV0byBt
YXRlcmlhbGl6ZUxhc3QgPSBbJl0gKEFsbG9jYXRpb24mJiBhbGxvY2F0aW9uKSB7CisgICAgICAg
ICAgICBtYXRlcmlhbGl6ZShhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBs
YXN0UG9zID0gdG9NYXRlcmlhbGl6ZS5pbnNlcnQobGFzdFBvcywgV1RGOjptb3ZlKGFsbG9jYXRp
b24pKTsKKyAgICAgICAgfTsKKworICAgICAgICAvLyBUaGVzZSBhcmUgdGhlIHByb21vdGVkIGxv
Y2F0aW9ucyB0aGF0IGNvbnRhaW5zIHNvbWUgb2YgdGhlCisgICAgICAgIC8vIGFsbG9jYXRpb25z
IHdlIGFyZSBjdXJyZW50bHkgZXNjYXBpbmcuIElmIHRoZXkgYXJlIGEgbG9jYXRpb24gb24KKyAg
ICAgICAgLy8gc29tZSBvdGhlciBhbGxvY2F0aW9uIHdlIGFyZSBjdXJyZW50bHkgbWF0ZXJpYWxp
emluZywgd2Ugd2lsbCBuZWVkCisgICAgICAgIC8vIHRvICJyZWNvdmVyIiB0aGVpciB2YWx1ZSB3
aXRoIGEgcmVhbCBwdXQgb25jZSB0aGUgY29ycmVzcG9uZGluZworICAgICAgICAvLyBhbGxvY2F0
aW9uIGlzIG1hdGVyaWFsaXplZDsgaWYgdGhleSBhcmUgYSBsb2NhdGlvbiBvbiBzb21lIG90aGVy
CisgICAgICAgIC8vIG5vdC15ZXQtbWF0ZXJpYWxpemVkIGFsbG9jYXRpb24sIHdlIHdpbGwgbmVl
ZCBhIFB1dEhpbnQuCisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gdG9SZWNv
dmVyOworCisgICAgICAgIC8vIFRoaXMgbG9vcCBkb2VzIHRoZSBhY3R1YWwgY3ljbGUgYnJlYWtp
bmcKKyAgICAgICAgd2hpbGUgKCFlc2NhcGVlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1h
dGVyaWFsaXplZC5jbGVhcigpOworCisgICAgICAgICAgICAvLyBNYXRlcmlhbGl6ZSBub2RlcyB0
aGF0IHdvbid0IHJlcXVpcmUgcmVjb3ZlcmllcyBpZiB3ZSBjYW4KKyAgICAgICAgICAgIGZvciAo
YXV0byYgZW50cnkgOiBlc2NhcGVlcykgeworICAgICAgICAgICAgICAgIGlmICghZm9yTWF0ZXJp
YWxpemF0aW9uLmZpbmQoZW50cnkua2V5KS0+dmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIGlmIChkZXBlbmRlbmNpZXMuZmlu
ZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0
ZXJpYWxpemVGaXJzdChXVEY6Om1vdmUoZW50cnkudmFsdWUpKTsKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHJl
dmVyc2VEZXBlbmRlbmNpZXMuZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVMYXN0KFdURjo6bW92ZShlbnRyeS52YWx1ZSkp
OworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFdlIHJlYWNoIHRoaXMgb25seSBpZiB0aGVyZSBp
cyBhbiBhY3R1YWwgY3ljbGUgdGhhdCBuZWVkcworICAgICAgICAgICAgLy8gYnJlYWtpbmcuIEJl
Y2F1c2Ugd2UgZG8gbm90IHdhbnQgdG8gc29sdmUgYSBOUC1oYXJkIHByb2JsZW0KKyAgICAgICAg
ICAgIC8vIGhlcmUsIHdlIGp1c3QgaGV1cmlzdGljYWxseSBwaWNrIGEgbm9kZSBhbmQgbWF0ZXJp
YWxpemUgaXQKKyAgICAgICAgICAgIC8vIGZpcnN0LgorICAgICAgICAgICAgaWYgKG1hdGVyaWFs
aXplZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICB1aW50NjRfdCBtYXhFdmFsdWF0aW9u
ID0gMDsKKyAgICAgICAgICAgICAgICBBbGxvY2F0aW9uKiBiZXN0QWxsb2NhdGlvbjsKKyAgICAg
ICAgICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogZXNjYXBlZXMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFmb3JNYXRlcmlhbGl6YXRpb24uZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0Vt
cHR5KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgICAgICB1aW50NjRfdCBldmFsdWF0aW9uID0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PHVpbnQ2NF90PihkZXBlbmRlbmNpZXMuZ2V0KGVudHJ5LmtleSkuc2l6ZSgpKSAq
IHJldmVyc2VEZXBlbmRlbmNpZXMuZ2V0KGVudHJ5LmtleSkuc2l6ZSgpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoZXZhbHVhdGlvbiA+IG1heEV2YWx1YXRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1heEV2YWx1YXRpb24gPSBldmFsdWF0aW9uOworICAgICAgICAgICAgICAgICAg
ICAgICAgYmVzdEFsbG9jYXRpb24gPSAmZW50cnkudmFsdWU7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF4
RXZhbHVhdGlvbiA+IDApOworCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVGaXJzdChXVEY6
Om1vdmUoKmJlc3RBbGxvY2F0aW9uKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVCghbWF0ZXJpYWxpemVkLmlzRW1wdHkoKSk7CisKKyAgICAgICAgICAgIGZvciAo
Tm9kZSogaWRlbnRpZmllciA6IG1hdGVyaWFsaXplZCkKKyAgICAgICAgICAgICAgICBlc2NhcGVl
cy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRlcmlhbGl6ZWQu
Y2xlYXIoKTsKKworICAgICAgICBIYXNoU2V0PE5vZGUqPiBlc2NhcGVkOworICAgICAgICBmb3Ig
KGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVyaWFsaXplKQorICAgICAgICAg
ICAgZXNjYXBlZC5hZGQoYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICBmb3IgKGNv
bnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24gOiB0b01hdGVyaWFsaXplKSB7CisgICAgICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkIDogYWxsb2NhdGlvbi5maWVsZHMoKSkgeworICAgICAg
ICAgICAgICAgIGlmIChlc2NhcGVkLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSAmJiAhbWF0ZXJpYWxp
emVkLmNvbnRhaW5zKGZpZWxkLnZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgdG9SZWNvdmVy
LmFwcGVuZChQcm9tb3RlZEhlYXBMb2NhdGlvbihhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSwgZmll
bGQua2V5KSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKGFs
bG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIFZlY3RvcjxOb2Rl
Kj4mIG1hdGVyaWFsaXphdGlvbnMgPSBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXph
dGlvbnMuYWRkKAorICAgICAgICAgICAgd2hlcmUsIFZlY3RvcjxOb2RlKj4oKSkuaXRlcmF0b3It
PnZhbHVlOworCisgICAgICAgIGZvciAoY29uc3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA6IHRv
TWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAgIE5vZGUqIG1hdGVyaWFsaXphdGlvbiA9IGNyZWF0
ZU1hdGVyaWFsaXphdGlvbihhbGxvY2F0aW9uLCB3aGVyZSk7CisgICAgICAgICAgICBtYXRlcmlh
bGl6YXRpb25zLmFwcGVuZChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgbV9tYXRlcmlh
bGl6YXRpb25Ub0VzY2FwZWUuYWRkKG1hdGVyaWFsaXphdGlvbiwgYWxsb2NhdGlvbi5pZGVudGlm
aWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF0b1JlY292ZXIuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb1JlY292ZXJpZXMuYWRkKAorICAg
ICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpLml0ZXJh
dG9yLT52YWx1ZS5hcHBlbmRWZWN0b3IodG9SZWNvdmVyKTsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIFRoZSBoaW50cyBuZWVkIHRvIGJlIGFmdGVyIHRoZSAicmVhbCIgcmVjb3ZlcmllcyBzbyB0
aGF0IHdlCisgICAgICAgIC8vIGRvbid0IGhpbnQgbm90LXlldC1jb21wbGV0ZSBvYmplY3RzCisg
ICAgICAgIGlmICghaGludHMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBtX21hdGVyaWFsaXph
dGlvblNpdGVUb1JlY292ZXJpZXMuYWRkKAorICAgICAgICAgICAgICAgIHdoZXJlLCBWZWN0b3I8
UHJvbW90ZWRIZWFwTG9jYXRpb24+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmRWZWN0b3IoaGlu
dHMpOworICAgICAgICB9CisgICAgfQorCisgICAgTm9kZSogY3JlYXRlTWF0ZXJpYWxpemF0aW9u
KGNvbnN0IEFsbG9jYXRpb24mIGFsbG9jYXRpb24sIE5vZGUqIHdoZXJlKQorICAgIHsKKyAgICAg
ICAgLy8gRklYTUU6IFRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ugd2hlcmUgd2UgYWN0dWFsbHkgdXNl
IHRoZQorICAgICAgICAvLyBmYWN0IHRoYXQgYW4gYWxsb2NhdGlvbidzIGlkZW50aWZpZXIgaXMg
aW5kZWVkIHRoZSBub2RlCisgICAgICAgIC8vIHRoYXQgY3JlYXRlZCB0aGUgYWxsb2NhdGlvbi4K
KyAgICAgICAgc3dpdGNoIChhbGxvY2F0aW9uLmtpbmQoKSkgeworICAgICAgICBjYXNlIEFsbG9j
YXRpb246OktpbmQ6Ok9iamVjdDogeworICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9u
RGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOwor
ICAgICAgICAgICAgU3RydWN0dXJlU2V0KiBzZXQgPSBtX2dyYXBoLmFkZFN0cnVjdHVyZVNldChh
bGxvY2F0aW9uLnN0cnVjdHVyZXMoKSk7CisKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFk
ZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rp
b24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKKyAgICAgICAgICAgICAg
ICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIo
KS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZv
ckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhzZXQpLCBPcEluZm8oZGF0YSksIDAsIDAp
OworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbjog
eworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGV4ZWN1dGFibGUgPSBhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKS0+Y2VsbE9wZXJhbmQoKTsKKworICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRk
Tm9kZSgKKyAgICAgICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+cHJlZGljdGlv
bigpLCBOZXdGdW5jdGlvbiwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAg
ICAgICAgICAgICBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKS0+b3JpZ2luLnNlbWFudGljLAorICAg
ICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAg
IE9wSW5mbyhleGVjdXRhYmxlKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisg
ICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6QWN0aXZhdGlvbjogeworICAgICAgICAgICAg
T2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1fZ3JhcGgubV9vYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIHN5bWJvbFRhYmxl
ID0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPmNlbGxPcGVyYW5kKCk7CisKKyAgICAgICAgICAg
IHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZUNyZWF0ZUFj
dGl2YXRpb24sCisgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAg
ICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAg
ICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8o
c3ltYm9sVGFibGUpLCBPcEluZm8oZGF0YSksIDAsIDApOworICAgICAgICB9CisKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKSwgIkJhZCBhbGxvY2F0aW9uIGtpbmQiKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHZvaWQgcHJvbW90ZUxvY2FsSGVhcCgpCisgICAgeworICAgICAgICAvLyBDb2xsZWN0IHRoZSBz
ZXQgb2YgaGVhcCBsb2NhdGlvbnMgdGhhdCB3ZSB3aWxsIGJlIG9wZXJhdGluZworICAgICAgICAv
LyBvdmVyLgorICAgICAgICBIYXNoU2V0PFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnM7
CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJh
bE9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisK
KyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAg
IGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAg
ICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlOb2RlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbG9jYXRpb24gaXMgbm90IG9uIGEgc2luayBj
YW5kaWRhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBvbmx5IHNpbmsgaXQgaWYg
aXQgaXMgcmVhZAorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
b2NhdGlvbnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgLT4gTm9kZSog
eworICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLmFkZChsb2NhdGlvbik7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBGaWd1cmUgb3V0IHdo
aWNoIGxvY2F0aW9ucyBiZWxvbmcgdG8gd2hpY2ggYWxsb2NhdGlvbnMuCisgICAgICAgIG1fbG9j
YXRpb25zRm9yQWxsb2NhdGlvbi5jbGVhcigpOworICAgICAgICBmb3IgKFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAgICBhdXRvIHJlc3VsdCA9
IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbi5hZGQoCisgICAgICAgICAgICAgICAgbG9jYXRpb24u
YmFzZSgpLAorICAgICAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4oKSk7
CisgICAgICAgICAgICBBU1NFUlQoIXJlc3VsdC5pdGVyYXRvci0+dmFsdWUuY29udGFpbnMobG9j
YXRpb24pKTsKKyAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKGxvY2F0
aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fcG9pbnRlclNTQS5yZXNldCgpOworICAgICAg
ICBtX2FsbG9jYXRpb25TU0EucmVzZXQoKTsKKworICAgICAgICAvLyBDb2xsZWN0IHRoZSBzZXQg
b2YgInZhcmlhYmxlcyIgdGhhdCB3ZSB3aWxsIGJlIHNpbmtpbmcuCisgICAgICAgIG1fbG9jYXRp
b25Ub1ZhcmlhYmxlLmNsZWFyKCk7CisgICAgICAgIG1fbm9kZVRvVmFyaWFibGUuY2xlYXIoKTsK
KyAgICAgICAgVmVjdG9yPE5vZGUqPiBpbmRleFRvTm9kZTsKKyAgICAgICAgVmVjdG9yPFByb21v
dGVkSGVhcExvY2F0aW9uPiBpbmRleFRvTG9jYXRpb247CisKKyAgICAgICAgZm9yIChOb2RlKiBp
bmRleCA6IG1fc2lua0NhbmRpZGF0ZXMpIHsKKyAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZh
cmlhYmxlKiB2YXJpYWJsZSA9IG1fYWxsb2NhdGlvblNTQS5uZXdWYXJpYWJsZSgpOworICAgICAg
ICAgICAgbV9ub2RlVG9WYXJpYWJsZS5hZGQoaW5kZXgsIHZhcmlhYmxlKTsKKyAgICAgICAgICAg
IEFTU0VSVChpbmRleFRvTm9kZS5zaXplKCkgPT0gdmFyaWFibGUtPmluZGV4KCkpOworICAgICAg
ICAgICAgaW5kZXhUb05vZGUuYXBwZW5kKGluZGV4KTsKKyAgICAgICAgfQorCisgICAgICAgIGZv
ciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAg
ICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fcG9pbnRlclNTQS5uZXdW
YXJpYWJsZSgpOworICAgICAgICAgICAgbV9sb2NhdGlvblRvVmFyaWFibGUuYWRkKGxvY2F0aW9u
LCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXhUb0xvY2F0aW9uLnNpemUoKSA9
PSB2YXJpYWJsZS0+aW5kZXgoKSk7CisgICAgICAgICAgICBpbmRleFRvTG9jYXRpb24uYXBwZW5k
KGxvY2F0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIGluc2VydCBhbGwgcmVxdWly
ZWQgY29uc3RhbnRzIGF0IHRvcCBvZiBibG9jayAwIHNvIHRoYXQKKyAgICAgICAgLy8gdGhleSBh
cmUgaW5zZXJ0ZWQgb25seSBvbmNlIGFuZCB3ZSBkb24ndCBjbHV0dGVyIHRoZSBncmFwaAorICAg
ICAgICAvLyB3aXRoIHVzZWxlc3MgY29uc3RhbnRzIGV2ZXJ5d2hlcmUKKyAgICAgICAgSGFzaE1h
cDxGcm96ZW5WYWx1ZSosIE5vZGUqPiBsYXp5TWFwcGluZzsKKyAgICAgICAgaWYgKCFtX2JvdHRv
bSkKKyAgICAgICAgICAgIG1fYm90dG9tID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQo
MCwgTm9kZU9yaWdpbigpLCBqc051bWJlcigxOTI3KSk7CisgICAgICAgIGZvciAoQmFzaWNCbG9j
ayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAg
IG1faGVhcCA9IG1faGVhcEF0SGVhZFtibG9ja107CisKKyAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgp
IHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CisK
KyAgICAgICAgICAgICAgICAvLyBTb21lIG5hbWVkIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIGNv
bmRpdGlvbmFsbHksCisgICAgICAgICAgICAgICAgLy8gYW5kIHRoYXQgd291bGQgbmVjZXNzaXRh
dGUgYm90dG9tcworICAgICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9j
YXRpb24gOiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChsb2NhdGlvbi5raW5kKCkgIT0gTmFtZWRQcm9wZXJ0eVBMb2MpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICBTU0FD
YWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX2xvY2F0aW9uVG9WYXJpYWJsZS5nZXQo
bG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBtX3BvaW50ZXJTU0EubmV3RGVmKHZhcmlh
YmxlLCBibG9jaywgbV9ib3R0b20pOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIGZvciAoTm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9N
YXRlcmlhbGl6YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBOb2RlKiBl
c2NhcGVlID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXphdGlvbik7
CisgICAgICAgICAgICAgICAgICAgIG1fYWxsb2NhdGlvblNTQS5uZXdEZWYobV9ub2RlVG9WYXJp
YWJsZS5nZXQoZXNjYXBlZSksIGJsb2NrLCBtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5v
ZGUpKQorICAgICAgICAgICAgICAgICAgICBtX2FsbG9jYXRpb25TU0EubmV3RGVmKG1fbm9kZVRv
VmFyaWFibGUuZ2V0KG5vZGUpLCBibG9jaywgbm9kZSk7CisKKyAgICAgICAgICAgICAgICBoYW5k
bGVOb2RlKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBb
Jl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCFsb2NhdGlvbnMuY29udGFpbnMobG9jYXRpb24pKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAg
ICAgICAgTm9kZSogbm9kZVZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVl
LmlzTm9kZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9IHZhbHVl
LmFzTm9kZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbGF6eU1hcHBpbmcuZmluZCh2YWx1ZS5hc1ZhbHVl
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IGxhenlNYXBwaW5n
LmVuZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSBpdGVy
LT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gdmFsdWUuZW5zdXJlSXNOb2RlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQsIG1fZ3JhcGgu
YmxvY2soMCksIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXp5TWFwcGlu
Zy5hZGQodmFsdWUuYXNWYWx1ZSgpLCBub2RlVmFsdWUpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gbV9sb2NhdGlvblRvVmFy
aWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcG9pbnRlclNT
QS5uZXdEZWYodmFyaWFibGUsIGJsb2NrLCBub2RlVmFsdWUpOworICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5v
ZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBtX2luc2Vy
dGlvblNldC5leGVjdXRlKG1fZ3JhcGguYmxvY2soMCkpOworCisgICAgICAgIC8vIFJ1biB0aGUg
U1NBIGNhbGN1bGF0b3JzIHRvIGNyZWF0ZSBQaGlzCisgICAgICAgIG1fcG9pbnRlclNTQS5jb21w
dXRlUGhpcygKKyAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlh
YmxlLCBCYXNpY0Jsb2NrKiBibG9jaykgLT4gTm9kZSogeworICAgICAgICAgICAgICAgIFByb21v
dGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0gaW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRl
eCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0ZSBQaGkgbm9kZXMgZm9yIGZp
ZWxkcyBvZiBkZWFkIGFsbG9jYXRpb25zCisgICAgICAgICAgICAgICAgaWYgKCFtX2hlYXBBdEhl
YWRbYmxvY2tdLmlzQWxsb2NhdGlvbihsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0ZSBQ
aGkgbm9kZXMgb25jZSB3ZSBhcmUgZXNjYXBlZAorICAgICAgICAgICAgICAgIGlmIChtX2hlYXBB
dEhlYWRbYmxvY2tdLmdldEFsbG9jYXRpb24obG9jYXRpb24uYmFzZSgpKS5pc0VzY2FwZWRBbGxv
Y2F0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
ICAgICAgICAgLy8gSWYgd2UgcG9pbnQgdG8gYSBzaW5nbGUgYWxsb2NhdGlvbiwgd2Ugd2lsbAor
ICAgICAgICAgICAgICAgIC8vIGRpcmVjdGx5IHVzZSBpdHMgbWF0ZXJpYWxpemF0aW9uCisgICAg
ICAgICAgICAgICAgaWYgKG1faGVhcEF0SGVhZFtibG9ja10uZm9sbG93KGxvY2F0aW9uKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBOb2Rl
KiBwaGlOb2RlID0gbV9ncmFwaC5hZGROb2RlKFNwZWNIZWFwVG9wLCBQaGksIE5vZGVPcmlnaW4o
KSk7CisgICAgICAgICAgICAgICAgcGhpTm9kZS0+bWVyZ2VGbGFncyhOb2RlUmVzdWx0SlMpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBwaGlOb2RlOworICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgbV9hbGxvY2F0aW9uU1NBLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAgWyZdIChTU0FDYWxj
dWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2RlKiB7
CisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmllciA9IGluZGV4VG9Ob2RlW3ZhcmlhYmxl
LT5pbmRleCgpXTsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0ZSBQaGkgbm9kZXMg
Zm9yIGRlYWQgYWxsb2NhdGlvbnMKKyAgICAgICAgICAgICAgICBpZiAoIW1faGVhcEF0SGVhZFti
bG9ja10uaXNBbGxvY2F0aW9uKGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIC8vIERvbid0IGNyZWF0ZSBQaGkgbm9kZXMg
dW50aWwgd2UgYXJlIGVzY2FwZWQKKyAgICAgICAgICAgICAgICBpZiAoIW1faGVhcEF0SGVhZFti
bG9ja10uZ2V0QWxsb2NhdGlvbihpZGVudGlmaWVyKS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICAgICAgTm9k
ZSogcGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShTcGVjSGVhcFRvcCwgUGhpLCBOb2RlT3JpZ2lu
KCkpOworICAgICAgICAgICAgICAgIHBoaU5vZGUtPm1lcmdlRmxhZ3MoTm9kZVJlc3VsdEpTKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gcGhpTm9kZTsKKyAgICAgICAgICAgIH0pOworCisgICAg
ICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhlIHJpZ2h0IHBsYWNlcywgcmVwbGFjZSBhbGwgdXNlcyBv
ZiBhbnkgbG9hZCB3aXRoIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICAvLyB2YWx1ZSwgYW5kIGNy
ZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzLgorICAgICAgICBMb2NhbE9TUkF2YWlsYWJp
bGl0eUNhbGN1bGF0b3IgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvcjsKKyAgICAgICAgbV9ncmFwaC5j
bGVhclJlcGxhY2VtZW50cygpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9n
cmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKKyAgICAgICAgICAgIG1faGVhcCA9IG1faGVhcEF0
SGVhZFtibG9ja107CisgICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmJlZ2luQmxv
Y2soYmxvY2spOworCisgICAgICAgICAgICAvLyBUaGVzZSBtYXBwaW5nIHRhYmxlcyBhcmUgaW50
ZW5kZWQgdG8gYmUgbGF6eS4gSWYKKyAgICAgICAgICAgIC8vIHNvbWV0aGluZyBpcyBvbWl0dGVk
IGZyb20gdGhlIHRhYmxlLCBpdCBtZWFucyB0aGF0CisgICAgICAgICAgICAvLyB0aGVyZSBoYXZl
bid0IGJlZW4gYW55IGxvY2FsIHN0b3JlcyB0byB0aGUgcHJvbW90ZWQKKyAgICAgICAgICAgIC8v
IGhlYXAgbG9jYXRpb24gKG9yIGFueSBsb2NhbCBtYXRlcmlhbGl6YXRpb24pLgorICAgICAgICAg
ICAgbV9sb2NhbE1hcHBpbmcuY2xlYXIoKTsKKyAgICAgICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJp
YWxpemF0aW9uLmNsZWFyKCk7CisKKyAgICAgICAgICAgIC8vIEluc2VydCB0aGUgUGhpIGZ1bmN0
aW9ucyB0aGF0IHdlIGhhZCBwcmV2aW91c2x5CisgICAgICAgICAgICAvLyBjcmVhdGVkLgorICAg
ICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fcG9pbnRlclNTQS5w
aGlzRm9yQmxvY2soYmxvY2spKSB7CisgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFy
aWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgIG1f
aW5zZXJ0aW9uU2V0Lmluc2VydCgwLCBwaGlEZWYtPnZhbHVlKCkpOworCisgICAgICAgICAgICAg
ICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBpbmRleFRvTG9jYXRpb25bdmFyaWFi
bGUtPmluZGV4KCldOworICAgICAgICAgICAgICAgIG1fbG9jYWxNYXBwaW5nLnNldChsb2NhdGlv
biwgcGhpRGVmLT52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRh
dGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9p
bnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgMCwgbG9jYXRpb24u
Y3JlYXRlSGludChtX2dyYXBoLCBOb2RlT3JpZ2luKCksIHBoaURlZi0+dmFsdWUoKSkpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yIChTU0FDYWxj
dWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fYWxsb2NhdGlvblNTQS5waGlzRm9yQmxvY2soYmxvY2sp
KSB7CisgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0g
cGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dCgwLCBwaGlEZWYtPnZhbHVlKCkpOworCisgICAgICAgICAgICAgICAgTm9kZSogaWRlbnRpZmll
ciA9IGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICBtX2Vz
Y2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRpZmllciwgcGhpRGVmLT52YWx1ZSgpKTsK
KyAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgwLCBOb2RlT3JpZ2luKCks
IGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFiaWxpdHksIGlkZW50aWZpZXIsIHBoaURl
Zi0+dmFsdWUoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKSB7
CisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWFwcGluZyBhdCAiLCBwb2ludGVyRHVt
cChibG9jayksICI6ICIsIG1hcER1bXAobV9sb2NhbE1hcHBpbmcpLCAiXG4iKTsKKyAgICAgICAg
ICAgICAgICBkYXRhTG9nKCJMb2NhbCBtYXRlcmlhbGl6YXRpb25zIGF0ICIsIHBvaW50ZXJEdW1w
KGJsb2NrKSwgIjogIiwgbWFwRHVtcChtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbiksICJcbiIp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9
IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAgICAgICAgICAgICAg
IGZvciAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gOiBtX2xvY2F0aW9uc0ZvckFsbG9j
YXRpb24uZ2V0KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbi5raW5k
KCkgIT0gTmFtZWRQcm9wZXJ0eVBMb2MpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5zZXQobG9jYXRpb24sIG1f
Ym90dG9tKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250
YWlucyhub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uY3JlYXRlSGludChtX2dyYXBoLCBub2RlLT5v
cmlnaW4sIG1fYm90dG9tKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXphdGlvbiA6IG1fbWF0
ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdl
dChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBwb3B1bGF0ZU1hdGVyaWFs
aXphdGlvbihibG9jaywgbWF0ZXJpYWxpemF0aW9uLCBlc2NhcGVlKTsKKyAgICAgICAgICAgICAg
ICAgICAgbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uc2V0KGVzY2FwZWUsIG1hdGVyaWFsaXph
dGlvbik7CisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5k
ZXgsIG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQor
ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiTWF0ZXJpYWxpemluZyAiLCBlc2NhcGVl
LCAiID0+ICIsIG1hdGVyaWFsaXphdGlvbiwgIiBhdCAiLCBub2RlLCAiXG4iKTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxv
Y2F0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmdldChub2RlKSkKKyAg
ICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCwgY3JlYXRl
UmVjb3ZlcnkoYmxvY2ssIGxvY2F0aW9uLCBub2RlKSk7CisKKyAgICAgICAgICAgICAgICAvLyBX
ZSBuZWVkIHRvIHB1dCB0aGUgT1NSIGhpbnRzIGFmdGVyIHRoZSByZWNvdmVyaWVzLAorICAgICAg
ICAgICAgICAgIC8vIGJlY2F1c2Ugd2Ugb25seSB3YW50IHRoZSBoaW50cyBvbmNlIHRoZSBvYmpl
Y3QgaXMKKyAgICAgICAgICAgICAgICAvLyBjb21wbGV0ZQorICAgICAgICAgICAgICAgIGZvciAo
Tm9kZSogbWF0ZXJpYWxpemF0aW9uIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6
YXRpb25zLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBOb2RlKiBlc2NhcGVlID0g
bV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXphdGlvbik7CisgICAgICAg
ICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKAorICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZUluZGV4LCBub2RlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBh
dmFpbGFiaWxpdHlDYWxjdWxhdG9yLm1fYXZhaWxhYmlsaXR5LCBlc2NhcGVlLCBtYXRlcmlhbGl6
YXRpb24pOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChtX3NpbmtD
YW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpKQorICAgICAgICAgICAgICAgICAgICBtX2VzY2FwZWVU
b01hdGVyaWFsaXphdGlvbi5zZXQobm9kZSwgbm9kZSk7CisKKyAgICAgICAgICAgICAgICBhdmFp
bGFiaWxpdHlDYWxjdWxhdG9yLmV4ZWN1dGVOb2RlKG5vZGUpOworCisgICAgICAgICAgICAgICAg
Ym9vbCBkb0xvd2VyID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKKyAgICAg
ICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhl
YXBMb2NhdGlvbiBsb2NhdGlvbiwgTGF6eU5vZGUgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICghbG9jYXRpb25zLmNvbnRhaW5zKGxvY2F0aW9uKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIG5v
ZGVWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pc05vZGUoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5hc05vZGUoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBu
b2RlVmFsdWUgPSBsYXp5TWFwcGluZy5nZXQodmFsdWUuYXNWYWx1ZSgpKTsKKworICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZVZhbHVlID0gcmVzb2x2ZShibG9jaywgbm9kZVZhbHVlKTsKKwor
ICAgICAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0KGxvY2F0aW9uLCBub2Rl
VmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1fc2lua0NhbmRpZGF0ZXMu
Y29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvTG93ZXIgPSB0cnVlOworCisgICAg
ICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQobm9kZUluZGV4ICsgMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5jcmVhdGVIaW50KG1fZ3JhcGgs
IG5vZGUtPm9yaWdpbiwgbm9kZVZhbHVlKSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pIC0+IE5v
ZGUqIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKGJsb2NrLCBsb2Nh
dGlvbik7CisgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgaWYgKG1f
c2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkgfHwgZG9Mb3dlcikgeworICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBO
ZXdPYmplY3Q6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6
CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tTmV3T2JqZWN0
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVy
dFRvUGhhbnRvbU5ld0Z1bmN0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KworICAgICAgICAgICAgICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb24oKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5yZW1vdmUoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCisgICAgICAgICAg
ICAgICAgICAgIG5vZGUsCisgICAgICAgICAgICAgICAgICAgIFsmXSAoRWRnZSYgZWRnZSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgZWRnZS5zZXROb2RlKHJlc29sdmUoYmxvY2ssIGVkZ2Uu
bm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAvLyBHb3R0YSBkcm9wIHNvbWUgVXBzaWxvbnMuCisgICAgICAgICAgICBOb2RlQW5k
SW5kZXggdGVybWluYWwgPSBibG9jay0+ZmluZFRlcm1pbmFsKCk7CisgICAgICAgICAgICBzaXpl
X3QgdXBzaWxvbkluc2VydGlvblBvaW50ID0gdGVybWluYWwuaW5kZXg7CisgICAgICAgICAgICBO
b2RlT3JpZ2luIHVwc2lsb25PcmlnaW4gPSB0ZXJtaW5hbC5ub2RlLT5vcmlnaW47CisgICAgICAg
ICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMo
KSkgeworICAgICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBt
X3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2NrKSkgeworICAgICAgICAgICAg
ICAgICAgICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgpOworICAgICAgICAgICAgICAg
ICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBwaGlEZWYtPnZhcmlhYmxl
KCk7CisgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0g
aW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICAgICAg
Tm9kZSogaW5jb21pbmcgPSByZXNvbHZlKGJsb2NrLCBsb2NhdGlvbik7CisKKyAgICAgICAgICAg
ICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHVwc2lsb25JbnNlcnRpb25Qb2ludCwgU3BlY05vbmUsIFVwc2lsb24sIHVwc2lsb25Pcmln
aW4sCisgICAgICAgICAgICAgICAgICAgICAgICBPcEluZm8ocGhpTm9kZSksIGluY29taW5nLT5k
ZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3Ig
KFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9hbGxvY2F0aW9uU1NBLnBoaXNGb3JCbG9j
ayhzdWNjZXNzb3JCbG9jaykpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9
IHBoaURlZi0+dmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFy
aWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52YXJpYWJsZSgpOworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiBpbmNvbWluZyA9IGdldE1hdGVyaWFsaXphdGlvbihibG9jaywgaW5kZXhUb05vZGVb
dmFyaWFibGUtPmluZGV4KCldKTsKKworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgdXBzaWxvbkluc2VydGlvblBv
aW50LCBTcGVjTm9uZSwgVXBzaWxvbiwgdXBzaWxvbk9yaWdpbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIE9wSW5mbyhwaGlOb2RlKSwgaW5jb21pbmctPmRlZmF1bHRFZGdlKCkpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQu
ZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBOb2RlKiByZXNvbHZlKEJh
c2ljQmxvY2sqIGJsb2NrLCBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikKKyAgICB7Cisg
ICAgICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgcG9pbnRpbmcgdG8gYSBzaW5nbGUgbG9jYWwg
YWxsb2NhdGlvbiwKKyAgICAgICAgLy8gc2ltcGx5IHJldHVybiB0aGUgYXNzb2NpYXRlZCBtYXRl
cmlhbGl6YXRpb24uCisgICAgICAgIGlmIChOb2RlKiBpZGVudGlmaWVyID0gbV9oZWFwLmZvbGxv
dyhsb2NhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZ2V0TWF0ZXJpYWxpemF0aW9uKGJsb2Nr
LCBpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoTm9kZSogcmVzdWx0ID0gbV9sb2NhbE1hcHBp
bmcuZ2V0KGxvY2F0aW9uKSkKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICAgICAg
Ly8gVGhpcyBpbXBsaWVzIHRoYXQgdGhlcmUgaXMgbm8gbG9jYWwgbWFwcGluZy4gRmluZCBhIG5v
bi1sb2NhbCBtYXBwaW5nLgorICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fcG9p
bnRlclNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxvY2ssIG1fbG9jYXRp
b25Ub1ZhcmlhYmxlLmdldChsb2NhdGlvbikpOworICAgICAgICBBU1NFUlQoZGVmKTsKKyAgICAg
ICAgQVNTRVJUKGRlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgTm9kZSogcmVzdWx0ID0gZGVmLT52
YWx1ZSgpOworCisgICAgICAgIEFTU0VSVCghcmVzdWx0LT5yZXBsYWNlbWVudCgpKTsKKworICAg
ICAgICBtX2xvY2FsTWFwcGluZy5hZGQobG9jYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorCisgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Jsb2NrKiBibG9jaywg
Tm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgcG9pbnRp
bmcgdG8gYSBzaW5nbGUgbG9jYWwgYWxsb2NhdGlvbiwKKyAgICAgICAgLy8gc2ltcGx5IHJldHVy
biB0aGUgYXNzb2NpYXRlZCBtYXRlcmlhbGl6YXRpb24uCisgICAgICAgIGlmIChOb2RlKiBpZGVu
dGlmaWVyID0gbV9oZWFwLmZvbGxvdyhub2RlKSkKKyAgICAgICAgICAgIHJldHVybiBnZXRNYXRl
cmlhbGl6YXRpb24oYmxvY2ssIGlkZW50aWZpZXIpOworCisgICAgICAgIGlmIChub2RlLT5yZXBs
YWNlbWVudCgpKQorICAgICAgICAgICAgbm9kZSA9IG5vZGUtPnJlcGxhY2VtZW50KCk7CisgICAg
ICAgIEFTU0VSVCghbm9kZS0+cmVwbGFjZW1lbnQoKSk7CisKKyAgICAgICAgcmV0dXJuIG5vZGU7
CisgICAgfQorCisgICAgTm9kZSogZ2V0TWF0ZXJpYWxpemF0aW9uKEJhc2ljQmxvY2sqIGJsb2Nr
LCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1faGVhcC5pc0FsbG9j
YXRpb24oaWRlbnRpZmllcikpOworICAgICAgICBpZiAoIW1fc2lua0NhbmRpZGF0ZXMuY29udGFp
bnMoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm4gaWRlbnRpZmllcjsKKworICAgICAg
ICBpZiAoTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gbV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24u
Z2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuIG1hdGVyaWFsaXphdGlvbjsKKwor
ICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYqIGRlZiA9IG1fYWxsb2NhdGlvblNTQS5ub25Mb2Nh
bFJlYWNoaW5nRGVmKAorICAgICAgICAgICAgYmxvY2ssIG1fbm9kZVRvVmFyaWFibGUuZ2V0KGlk
ZW50aWZpZXIpKTsKKyAgICAgICAgQVNTRVJUKGRlZiAmJiBkZWYtPnZhbHVlKCkpOworICAgICAg
ICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5hZGQoaWRlbnRpZmllciwgZGVmLT52YWx1ZSgp
KTsKKyAgICAgICAgQVNTRVJUKCFkZWYtPnZhbHVlKCktPnJlcGxhY2VtZW50KCkpOworICAgICAg
ICByZXR1cm4gZGVmLT52YWx1ZSgpOworICAgIH0KKworICAgIHZvaWQgaW5zZXJ0T1NSSGludHNG
b3JVcGRhdGUodW5zaWduZWQgbm9kZUluZGV4LCBOb2RlT3JpZ2luIG9yaWdpbiwgQXZhaWxhYmls
aXR5TWFwJiBhdmFpbGFiaWxpdHksIE5vZGUqIGVzY2FwZWUsIE5vZGUqIG1hdGVyaWFsaXphdGlv
bikKKyAgICB7CisgICAgICAgIC8vIFdlIG5lZWQgdG8gZm9sbG93KCkgdGhlIHZhbHVlIGluIHRo
ZSBoZWFwLgorICAgICAgICAvLyBDb25zaWRlciB0aGUgZm9sbG93aW5nIGdyYXBoOgorICAgICAg
ICAvLworICAgICAgICAvLyBCbG9jayAjMAorICAgICAgICAvLyAgIDA6IE5ld09iamVjdCh7fSkK
KyAgICAgICAgLy8gICAxOiBOZXdPYmplY3Qoe30pCisgICAgICAgIC8vICAgLTogUHV0QnlPZmZz
ZXQoQDAsIEAxLCB4OjApCisgICAgICAgIC8vICAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkK
KyAgICAgICAgLy8gICAyOiBHZXRCeU9mZnNldChAMCwgeDowKQorICAgICAgICAvLyAgIC06IE1v
dkhpbnQoQDIsIGxvYzEpCisgICAgICAgIC8vICAgLTogQnJhbmNoKCMxLCAjMikKKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gQmxvY2sgIzEKKyAgICAgICAgLy8gICAzOiBDYWxsKGYsIEAxKQorICAg
ICAgICAvLyAgIDQ6IFJldHVybihAMCkKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sgIzIK
KyAgICAgICAgLy8gICAtOiBSZXR1cm4odW5kZWZpbmVkKQorICAgICAgICAvLworICAgICAgICAv
LyBXZSBuZWVkIHRvIG1hdGVyaWFsaXplIEAxIGF0IEAzLCBhbmQgd2hlbiBkb2luZyBzbyB3ZSBu
ZWVkCisgICAgICAgIC8vIHRvIGluc2VydCBhIE1vdkhpbnQgZm9yIHRoZSBtYXRlcmlhbGl6YXRp
b24gaW50byBsb2MxIGFzCisgICAgICAgIC8vIHdlbGwuCisgICAgICAgIC8vIEluIG9yZGVyIHRv
IGRvIHRoaXMsIHdlIHNheSB0aGF0IHdlIG5lZWQgdG8gaW5zZXJ0IGFuCisgICAgICAgIC8vIHVw
ZGF0ZSBoaW50IGZvciBhbnkgYXZhaWxhYmlsaXR5IHdob3NlIG5vZGUgcmVzb2x2ZSgpcyB0bwor
ICAgICAgICAvLyB0aGUgbWF0ZXJpYWxpemF0aW9uLgorICAgICAgICBmb3IgKGF1dG8gZW50cnkg
OiBhdmFpbGFiaWxpdHkubV9oZWFwKSB7CisgICAgICAgICAgICBpZiAoIWVudHJ5LnZhbHVlLmhh
c05vZGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChtX2hl
YXAuZm9sbG93KGVudHJ5LnZhbHVlLm5vZGUoKSkgIT0gZXNjYXBlZSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAg
ICAgICAgICAgIG5vZGVJbmRleCwgZW50cnkua2V5LmNyZWF0ZUhpbnQobV9ncmFwaCwgb3JpZ2lu
LCBtYXRlcmlhbGl6YXRpb24pKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IGF2YWlsYWJpbGl0eS5tX2xvY2Fscy5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAgIGlm
ICghYXZhaWxhYmlsaXR5Lm1fbG9jYWxzW2ldLmhhc05vZGUoKSkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIGlmIChtX2hlYXAuZm9sbG93KGF2YWlsYWJpbGl0eS5tX2xv
Y2Fsc1tpXS5ub2RlKCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgICAgIGludCBvcGVyYW5kID0gYXZhaWxhYmlsaXR5Lm1fbG9jYWxzLm9wZXJhbmRG
b3JJbmRleChpKTsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisgICAg
ICAgICAgICAgICAgbm9kZUluZGV4LCBTcGVjTm9uZSwgTW92SGludCwgb3JpZ2luLCBPcEluZm8o
b3BlcmFuZCksCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uLT5kZWZhdWx0RWRnZSgp
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgcG9wdWxhdGVNYXRlcmlhbGl6YXRpb24o
QmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUpCisgICAgeworICAg
ICAgICBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24oZXNjYXBl
ZSk7CisgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICBjYXNlIE1hdGVyaWFs
aXplTmV3T2JqZWN0OiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhJiBk
YXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworICAgICAgICAgICAgdW5z
aWduZWQgZmlyc3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCk7CisKKyAg
ICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2Nh
dGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKworICAgICAgICAgICAgUHJvbW90ZWRI
ZWFwTG9jYXRpb24gc3RydWN0dXJlKFN0cnVjdHVyZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmll
cigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc3RydWN0dXJlKSk7
CisKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNv
bHZlKGJsb2NrLCBzdHJ1Y3R1cmUpLCBLbm93bkNlbGxVc2UpKTsKKworICAgICAgICAgICAgZm9y
IChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxvY2F0aW9ucykgeworICAgICAgICAg
ICAgICAgIHN3aXRjaCAobG9jYXRpb24ua2luZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBT
dHJ1Y3R1cmVQTG9jOgorICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24gPT0gc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBj
YXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2Nh
dGlvbi5iYXNlKCkgPT0gYWxsb2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgICAg
ICAgICBkYXRhLm1fcHJvcGVydGllcy5hcHBlbmQoUGhhbnRvbVByb3BlcnR5VmFsdWUobG9jYXRp
b24uaW5mbygpKSk7CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShi
bG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRl
cy5jb250YWlucyh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFy
QXJnQ2hpbGRyZW4uYXBwZW5kKG1fYm90dG9tKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZCh2
YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIERGR19DUkFTSCht
X2dyYXBoLCBub2RlLCAiQmFkIGxvY2F0aW9uIGtpbmQiKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVuID0gQWRqYWNlbmN5TGlz
dCgKKyAgICAgICAgICAgICAgICBBZGphY2VuY3lMaXN0OjpWYXJpYWJsZSwKKyAgICAgICAgICAg
ICAgICBmaXJzdENoaWxkLCBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uc2l6ZSgpIC0gZmlyc3RD
aGlsZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTWF0
ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhJiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOworCisg
ICAgICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxkID0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVu
LnNpemUoKTsKKworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2Nh
dGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworCisgICAgICAg
ICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzeW1ib2xUYWJsZShBY3RpdmF0aW9uU3ltYm9sVGFi
bGVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBBU1NFUlQobG9j
YXRpb25zLmNvbnRhaW5zKHN5bWJvbFRhYmxlKSk7CisgICAgICAgICAgICBBU1NFUlQobm9kZS0+
Y2VsbE9wZXJhbmQoKSA9PSByZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSktPmNvbnN0YW50KCkp
OworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29s
dmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CisKKyAgICAgICAgICAgIFBy
b21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGFsbG9jYXRpb24u
aWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMoc2Nv
cGUpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShy
ZXNvbHZlKGJsb2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOworCisgICAgICAgICAgICBmb3Ig
KFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7CisgICAgICAgICAg
ICAgICAgc3dpdGNoIChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIEFj
dGl2YXRpb25TY29wZVBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9u
ID09IHNjb3BlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgY2FzZSBBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jOiB7Cisg
ICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbiA9PSBzeW1ib2xUYWJsZSk7CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIGNhc2UgQ2xvc3VyZVZhclBMb2M6IHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxv
Y2F0aW9uLmJhc2UoKSA9PSBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFwcGVuZChQaGFudG9tUHJvcGVydHlWYWx1ZShsb2Nh
dGlvbi5pbmZvKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdmFsdWUgPSByZXNvbHZl
KGJsb2NrLCBsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRh
dGVzLmNvbnRhaW5zKHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92
YXJBcmdDaGlsZHJlbi5hcHBlbmQobV9ib3R0b20pOworICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW4uYXBwZW5k
KHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgREZHX0NSQVNI
KG1fZ3JhcGgsIG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4gPSBBZGphY2VuY3lM
aXN0KAorICAgICAgICAgICAgICAgIEFkamFjZW5jeUxpc3Q6OlZhcmlhYmxlLAorICAgICAgICAg
ICAgICAgIGZpcnN0Q2hpbGQsIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCkgLSBmaXJz
dENoaWxkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBO
ZXdGdW5jdGlvbjogeworICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBs
b2NhdGlvbnMgPSBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOworICAgICAg
ICAgICAgQVNTRVJUKGxvY2F0aW9ucy5zaXplKCkgPT0gMik7CisKKyAgICAgICAgICAgIFByb21v
dGVkSGVhcExvY2F0aW9uIGV4ZWN1dGFibGUoRnVuY3Rpb25FeGVjdXRhYmxlUExvYywgYWxsb2Nh
dGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChleGVjdXRhYmxl
LCBsb2NhdGlvbnMuY29udGFpbnMoZXhlY3V0YWJsZSkpOworCisgICAgICAgICAgICBQcm9tb3Rl
ZEhlYXBMb2NhdGlvbiBhY3RpdmF0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2MsIGFsbG9jYXRp
b24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuY29udGFpbnMo
YWN0aXZhdGlvbikpOworCisgICAgICAgICAgICBub2RlLT5jaGlsZDEoKSA9IEVkZ2UocmVzb2x2
ZShibG9jaywgYWN0aXZhdGlvbiksIEtub3duQ2VsbFVzZSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBERkdfQ1JBU0gobV9n
cmFwaCwgbm9kZSwgIkJhZCBtYXRlcmlhbGl6ZSBvcCIpOworICAgICAgICB9CisgICAgfQorCisg
ICAgTm9kZSogY3JlYXRlUmVjb3ZlcnkoQmFzaWNCbG9jayogYmxvY2ssIFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uLCBOb2RlKiB3aGVyZSkKKyAgICB7CisgICAgICAgIGlmICh2ZXJib3Nl
KQorICAgICAgICAgICAgZGF0YUxvZygiUmVjb3ZlcmluZyAiLCBsb2NhdGlvbiwgIiBhdCAiLCB3
aGVyZSwgIlxuIik7CisgICAgICAgIEFTU0VSVChsb2NhdGlvbi5iYXNlKCktPmlzUGhhbnRvbUFs
bG9jYXRpb24oKSk7CisgICAgICAgIE5vZGUqIGJhc2UgPSBnZXRNYXRlcmlhbGl6YXRpb24oYmxv
Y2ssIGxvY2F0aW9uLmJhc2UoKSk7CisgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShibG9j
aywgbG9jYXRpb24pOworCisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxv
ZygiQmFzZSBpcyAiLCBiYXNlLCAiIGFuZCB2YWx1ZSBpcyAiLCB2YWx1ZSwgIlxuIik7CisKKyAg
ICAgICAgaWYgKGJhc2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSkgeworICAgICAgICAgICAgcmV0
dXJuIFByb21vdGVkSGVhcExvY2F0aW9uKGJhc2UsIGxvY2F0aW9uLmRlc2NyaXB0b3IoKSkuY3Jl
YXRlSGludCgKKyAgICAgICAgICAgICAgICBtX2dyYXBoLAorICAgICAgICAgICAgICAgIE5vZGVP
cmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGJhc2UtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAg
ICAgICAgICAgICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICB2
YWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLmtpbmQoKSkgewor
ICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9u
JiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24obG9jYXRpb24uYmFzZSgpKTsKKyAg
ICAgICAgCisgICAgICAgICAgICBWZWN0b3I8U3RydWN0dXJlKj4gc3RydWN0dXJlczsKKyAgICAg
ICAgICAgIHN0cnVjdHVyZXMuYXBwZW5kUmFuZ2UoYWxsb2NhdGlvbi5zdHJ1Y3R1cmVzKCkuYmVn
aW4oKSwgYWxsb2NhdGlvbi5zdHJ1Y3R1cmVzKCkuZW5kKCkpOworICAgICAgICAgICAgdW5zaWdu
ZWQgaWRlbnRpZmllck51bWJlciA9IGxvY2F0aW9uLmluZm8oKTsKKyAgICAgICAgICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJl
cl07CisKKyAgICAgICAgICAgIHN0ZDo6c29ydCgKKyAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVz
LmJlZ2luKCksCisgICAgICAgICAgICAgICAgc3RydWN0dXJlcy5lbmQoKSwKKyAgICAgICAgICAg
ICAgICBbdWlkXSAoU3RydWN0dXJlICphLCBTdHJ1Y3R1cmUqIGIpIC0+IGJvb2wgeworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gYS0+Z2V0Q29uY3VycmVudGx5KHVpZCkgPCBiLT5nZXRDb25j
dXJyZW50bHkodWlkKTsKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgZmlyc3RPZmZzZXQgPSBzdHJ1Y3R1cmVzWzBdLT5nZXRDb25jdXJyZW50bHkodWlk
KTsKKworICAgICAgICAgICAgaWYgKGZpcnN0T2Zmc2V0ID09IHN0cnVjdHVyZXMubGFzdCgpLT5n
ZXRDb25jdXJyZW50bHkodWlkKSkgeworICAgICAgICAgICAgICAgIE5vZGUqIHN0b3JhZ2UgPSBi
YXNlOworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXaGVuIHdlIGRlY2lkZSB0byBzaW5rIG9i
amVjdHMgd2l0aCBhCisgICAgICAgICAgICAgICAgLy8gcHJvcGVydHkgc3RvcmFnZSwgd2Ugc2hv
dWxkIGhhbmRsZSBub24taW5saW5lIG9mZnNldHMuCisgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaXNJbmxpbmVPZmZzZXQoZmlyc3RPZmZzZXQpKTsKKworICAgICAgICAgICAgICAgIFN0
b3JhZ2VBY2Nlc3NEYXRhKiBkYXRhID0gbV9ncmFwaC5tX3N0b3JhZ2VBY2Nlc3NEYXRhLmFkZCgp
OworICAgICAgICAgICAgICAgIGRhdGEtPm9mZnNldCA9IGZpcnN0T2Zmc2V0OworICAgICAgICAg
ICAgICAgIGRhdGEtPmlkZW50aWZpZXJOdW1iZXIgPSBpZGVudGlmaWVyTnVtYmVyOworCisgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguYWRkTm9kZSgKKyAgICAgICAgICAgICAgICAgICAg
U3BlY05vbmUsCisgICAgICAgICAgICAgICAgICAgIFB1dEJ5T2Zmc2V0LAorICAgICAgICAgICAg
ICAgICAgICB3aGVyZS0+b3JpZ2luLAorICAgICAgICAgICAgICAgICAgICBPcEluZm8oZGF0YSks
CisgICAgICAgICAgICAgICAgICAgIEVkZ2Uoc3RvcmFnZSwgS25vd25DZWxsVXNlKSwKKyAgICAg
ICAgICAgICAgICAgICAgRWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAg
ICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2UoKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE11bHRpUHV0QnlPZmZzZXREYXRhKiBkYXRhID0gbV9ncmFwaC5tX211bHRpUHV0QnlPZmZzZXRE
YXRhLmFkZCgpOworICAgICAgICAgICAgZGF0YS0+aWRlbnRpZmllck51bWJlciA9IGlkZW50aWZp
ZXJOdW1iZXI7CisKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBjdXJyZW50T2Zmc2V0ID0gZmlyc3RPZmZzZXQ7CisgICAgICAgICAgICAgICAgU3RydWN0dXJl
U2V0IGN1cnJlbnRTZXQ7CisgICAgICAgICAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA6IHN0cnVjdHVyZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKG9mZnNldCAhPSBjdXJyZW50T2Zmc2V0KSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkYXRhLT52YXJpYW50cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHV0
QnlJZFZhcmlhbnQ6OnJlcGxhY2UoY3VycmVudFNldCwgY3VycmVudE9mZnNldCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgY3VycmVudE9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRTZXQuY2xlYXIoKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50U2V0LmFkZChzdHJ1Y3R1cmUpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBkYXRhLT52YXJpYW50cy5hcHBlbmQoUHV0QnlJZFZhcmlh
bnQ6OnJlcGxhY2UoY3VycmVudFNldCwgY3VycmVudE9mZnNldCkpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIFNw
ZWNOb25lLAorICAgICAgICAgICAgICAgIE11bHRpUHV0QnlPZmZzZXQsCisgICAgICAgICAgICAg
ICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNlbWFudGlj
LAorICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAg
ICAgICAgIE9wSW5mbyhkYXRhKSwKKyAgICAgICAgICAgICAgICBFZGdlKGJhc2UsIEtub3duQ2Vs
bFVzZSksCisgICAgICAgICAgICAgICAgdmFsdWUtPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIENsb3N1cmVWYXJQTG9jOiB7Cisg
ICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAgICAgIFNwZWNO
b25lLAorICAgICAgICAgICAgICAgIFB1dENsb3N1cmVWYXIsCisgICAgICAgICAgICAgICAgTm9k
ZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+b3JpZ2luLnNlbWFudGljLAorICAg
ICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAg
IE9wSW5mbyhsb2NhdGlvbi5pbmZvKCkpLAorICAgICAgICAgICAgICAgIEVkZ2UoYmFzZSwgS25v
d25DZWxsVXNlKSwKKyAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2UoKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICBERkdfQ1JBU0gobV9ncmFwaCwgYmFzZSwgIkJhZCBsb2NhdGlvbiBraW5kIik7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIFNTQUNhbGN1bGF0b3IgbV9wb2lu
dGVyU1NBOworICAgIFNTQUNhbGN1bGF0b3IgbV9hbGxvY2F0aW9uU1NBOworICAgIEhhc2hTZXQ8
Tm9kZSo+IG1fc2lua0NhbmRpZGF0ZXM7CisgICAgSGFzaE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlv
biwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBtX2xvY2F0aW9uVG9WYXJpYWJsZTsKKyAgICBI
YXNoTWFwPE5vZGUqLCBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSo+IG1fbm9kZVRvVmFyaWFibGU7
CisgICAgSGFzaE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTm9kZSo+IG1fbG9jYWxNYXBwaW5n
OworICAgIEhhc2hNYXA8Tm9kZSosIE5vZGUqPiBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbjsK
KyAgICBJbnNlcnRpb25TZXQgbV9pbnNlcnRpb25TZXQ7CisgICAgQ29tYmluZWRMaXZlbmVzcyBt
X2NvbWJpbmVkTGl2ZW5lc3M7CisKKyAgICBIYXNoTWFwPE5vZGUqLCBOb2RlKj4gbV9tYXRlcmlh
bGl6YXRpb25Ub0VzY2FwZWU7CisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPE5vZGUqPj4gbV9t
YXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zOworICAgIEhhc2hNYXA8Tm9kZSos
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4+IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVj
b3ZlcmllczsKKworICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlv
bj4+IG1fbG9jYXRpb25zRm9yQWxsb2NhdGlvbjsKKworICAgIEJsb2NrTWFwPExvY2FsSGVhcD4g
bV9oZWFwQXRIZWFkOworICAgIEJsb2NrTWFwPExvY2FsSGVhcD4gbV9oZWFwQXRUYWlsOworICAg
IExvY2FsSGVhcCBtX2hlYXA7CisKKyAgICBOb2RlKiBtX2JvdHRvbSA9IG51bGxwdHI7Cit9Owor
Cit9CisKK2Jvb2wgcGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtpbmcoR3JhcGgmIGdyYXBoKQor
eworICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgQWxsb2NhdGlvbiBDeWNs
ZSBTaW5raW5nIFBoYXNlIik7CisgICAgcmV0dXJuIHJ1blBoYXNlPEFsbG9jYXRpb25DeWNsZVNp
bmtpbmdQaGFzZT4oZ3JhcGgpOworfQorCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNl
bmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFzZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
ZDZkNWM1NzlhM2U4OWNlNThiNzkwZTU1NjMxYTdmNTYzY2YwODgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FsbG9jYXRpb25DeWNsZVNpbmtpbmdQaGFz
ZS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2VfaAorI2Rl
ZmluZSBERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2VfaAorCisjaWYgRU5BQkxFKERGR19K
SVQpCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xhc3MgR3JhcGg7CisK
Ky8vIEVsaW1pbmF0ZXMgYWxsb2NhdGlvbnMgYWxsb2NhdGlvbnMgdGhhdCBhcmUgbmV2ZXIgdXNl
ZCBleGNlcHQKKy8vIGxvY2FsbHkuIFRoaXMgd2lsbCBpbnNlcnQgcGhhbnRvbSBhbGxvY2F0aW9u
cyBhbmQgc3RvcmUgaGludHMgc28KKy8vIHRoYXQgT1NSIGV4aXQgY2FuIG1hdGVyaWFsaXplIHRo
ZSBvYmplY3RzLiBSZXBsYWNlcyBhbGwgdXNlcyBvZiB0aGUKKy8vIG9iamVjdHMnIGZpZWxkcyB3
aXRoIFNTQSBkYXRhIGZsb3cuIENvbnRyYXJ5IHRvIHRoZQorLy8gT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZSwgdGhpcyBwaGFzZSBpcyBhYmxlIHRvIGhhbmRsZSBjeWNsaWMKKy8vIGFsbG9j
YXRpb24gZ3JhcGhzLgorCitib29sIHBlcmZvcm1BbGxvY2F0aW9uQ3ljbGVTaW5raW5nKEdyYXBo
Jik7CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdf
SklUKQorCisjZW5kaWYgLy8gREZHT2JqZWN0Q3ljbGVTaW5raW5nUGhhc2VfaApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdHcmFwaC5oCmluZGV4IGJhYzUzOGYwMjVkM2VjZTEzN2JlMzE3ODA2ODgx
NWQ5NTM3Yzk1YTguLmZlZDZhNjg3ZDdhOGRhOWEzNjkxNTIwYTEwMDQ0ZTg2ZjRlNTgxYTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKQEAgLTMyNSw3ICszMjUsNiBAQCBwdWJs
aWM6CiAgICAgCiAgICAgU3RydWN0dXJlU2V0KiBhZGRTdHJ1Y3R1cmVTZXQoY29uc3QgU3RydWN0
dXJlU2V0JiBzdHJ1Y3R1cmVTZXQpCiAgICAgewotICAgICAgICBBU1NFUlQoc3RydWN0dXJlU2V0
LnNpemUoKSk7CiAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFwcGVuZChzdHJ1Y3R1cmVTZXQpOwog
ICAgICAgICByZXR1cm4gJm1fc3RydWN0dXJlU2V0Lmxhc3QoKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCmluZGV4IDk1NGVkOTg1NWQ1ZWUyYTUzNjJh
OWMxN2I3YTU3MzE0YjJhMjU0NjkuLmM4ZDA5NDBlNzdmM2ZkYjkxMWJhYTQ0ZGI1YzRkZWUyMDg1
OTEyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCkBAIC0z
OCw4ICszOCw3IEBAIHZvaWQgTGF6eU5vZGU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QK
ICAgICAgICAgaWYgKGlzTm9kZSgpKQogICAgICAgICAgICAgb3V0LnByaW50KCJMYXp5Tm9kZTpA
IiwgYXNOb2RlKCktPmluZGV4KCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdXQucHJp
bnQoIkxhenlOb2RlOkZyb3plblZhbHVlOiIsIEdyYXBoOjpvcE5hbWUob3AoKSksICIsICIsIHBv
aW50ZXJEdW1wKGFzVmFsdWUoKSkpOwotICAgICAgICBvdXQucHJpbnQoIikiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWUoIiwgR3JhcGg6Om9wTmFtZShvcCgp
KSwgIiwgIiwgcG9pbnRlckR1bXAoYXNWYWx1ZSgpKSwgIikiKTsKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggOWNhMmNkYzY4MThhMjNiYzJhNmI3YzEzNjMw
YzRiOTIyYmJlZDMxZi4uNTBiYTFkZDI5MGZiYWE2ZWZhMzg3ZDZlMmVlODYwNzVhOTUwYTZkYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyOTMsMTMgKzEyOTMsNyBAQCBz
dHJ1Y3QgTm9kZSB7CiAgICAgRnJvemVuVmFsdWUqIGNlbGxPcGVyYW5kKCkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChoYXNDZWxsT3BlcmFuZCgpKTsKLSAgICAgICAgc3dpdGNoIChvcCgpKSB7Ci0g
ICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgotICAgICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5mbzIpOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUq
PihtX29wSW5mbyk7Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29w
SW5mbyk7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC0xMzU5LDYg
KzEzNTMsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIHN3aXRjaCAob3AoKSkgewogICAgICAg
ICBjYXNlIENoZWNrU3RydWN0dXJlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRp
YXRlOgorICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0xNDQ0LDcgKzE0MzksNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgT2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YSYgb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpCiAgICAgewogICAgICAgICBBU1NF
UlQoaGFzT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuICpyZWlu
dGVycHJldF9jYXN0PE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqPihtX29wSW5mbyk7CisgICAg
ICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKj4o
bV9vcEluZm8yKTsKICAgICB9CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2NhdGlvbigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JBdmFpbGFiaWxp
dHlBbmFseXNpc1BoYXNlLmNwcAppbmRleCBmZjVmZDk1YTdjMGM4NTE1ZjNkNzcxN2NmNmE1ZTY0
ZDQ2ZjFkMjdiLi44Yzg0MTlhODE4Y2QyNjQxOTM5OWY0ZTQ5MTBmNDk3MGJkZGIxNDU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZhaWxh
YmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJERkdH
cmFwaC5oIgogI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2luY2x1ZGUgIkRGR1BoYXNl
LmgiCi0jaW5jbHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5n
UGhhc2UuY3BwCmluZGV4IDQyMjM4MmZmMjlkMTc5NzViYmYyZjE4M2I2NzgxMWE1ODhlZjU2YzYu
LjRmYjc5MTJkNzg5MGUxNGQ0ZmQ1YzUyNTc2YjI2Njk3M2UyNTUxNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lu
a2luZ1BoYXNlLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkRGR0xpdmVuZXNzQW5h
bHlzaXNQaGFzZS5oIgogI2luY2x1ZGUgIkRGR09TUkF2YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2Uu
aCIKICNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkRGR1BoaUNoaWxkcmVuLmgiCiAj
aW5jbHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNpbmNsdWRlICJERkdTU0FDYWxjdWxh
dG9yLmgiCiAjaW5jbHVkZSAiREZHVmFsaWRhdGUuaCIKQEAgLTk0LDYgKzk1LDggQEAgcHVibGlj
OgogICAgICAgICAKICAgICAgICAgd2hpbGUgKHBlcmZvcm1TaW5raW5nKCkpIHsgfQogICAgICAg
ICAKKyAgICAgICAgZmlsbFN0cnVjdHVyZVNldHMoKTsKKwogICAgICAgICBpZiAodmVyYm9zZSkg
ewogICAgICAgICAgICAgZGF0YUxvZygiR3JhcGggYWZ0ZXIgc2lua2luZzpcbiIpOwogICAgICAg
ICAgICAgbV9ncmFwaC5kdW1wKCk7CkBAIC02MTYsMTQgKzYxOSwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblNjb3BlUExvYywgbm9kZSkuY3Jl
YXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
bihBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFy
QXJnQ2hpbGQobm9kZSwgMCkubm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBOb2Rl
KiBzeW1ib2xUYWJsZU5vZGUgPSBtX2luc2VydGlvblNldC5pbnNlcnRDb25zdGFudCgKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5vcmlnaW4sIG5vZGUt
PmNlbGxPcGVyYW5kKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQu
aW5zZXJ0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZhdGlvblN5
bWJvbFRhYmxlUExvYywgbm9kZSkuY3JlYXRlSGludCgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzeW1ib2xUYWJsZU5vZGUpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU2Nv
cGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMSkubm9k
ZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRh
JiBkYXRhID0gbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNp
emUoKTsgKytpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRp
Zmllck51bWJlciA9IGRhdGEubV9wcm9wZXJ0aWVzW2ldLm1faWRlbnRpZmllck51bWJlcjsKQEAg
LTYzMiw3ICs2MzMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENsb3N1cmVWYXJQTG9jLCBub2RlLCBpZGVudGlmaWVyTnVtYmVyKS5jcmVhdGVIaW50KAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2lu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGls
ZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRU
b1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTgz
MSw2ICs4MzIsMjUgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGRlZi0+dmFsdWUoKTsKICAg
ICB9CiAKKyAgICB2b2lkIGZpbGxTdHJ1Y3R1cmVTZXRzKCkKKyAgICB7CisgICAgICAgIFBoaUNo
aWxkcmVuIHBoaUNoaWxkcmVuKG1fZ3JhcGgpOworCisgICAgICAgIGZvciAoQmFzaWNCbG9jayog
YmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZv
ciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgp
ICE9IE1hdGVyaWFsaXplTmV3T2JqZWN0KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICAgICAgICAgIFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcyA9IG5vZGUtPnN0cnVj
dHVyZVNldCgpOworICAgICAgICAgICAgICAgIHBoaUNoaWxkcmVuLmZvckFsbFRyYW5zaXRpdmVJ
bmNvbWluZ1ZhbHVlcygKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChu
b2RlLCAwKS5ub2RlKCksCisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogc3RydWN0dXJl
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmFkZChzdHJ1Y3R1cmUtPmNh
c3RDb25zdGFudDxTdHJ1Y3R1cmUqPigpKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTaW5r
Q2FuZGlkYXRlRnVuY3RvciwgdHlwZW5hbWUgRXNjYXBlRnVuY3Rvcj4KICAgICB2b2lkIGhhbmRs
ZU5vZGUoCiAgICAgICAgIE5vZGUqIG5vZGUsCkBAIC05NjQsMTMgKzk4NCwxNCBAQCBwcml2YXRl
OgogICAgICAgICBjYXNlIE5ld09iamVjdDoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09i
amVjdDogewogICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSogZGF0YSA9IG1f
Z3JhcGgubV9vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhLmFkZCgpOworICAgICAgICAgICAgU3Ry
dWN0dXJlU2V0KiBzdHJ1Y3R1cmVzID0gbV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQoU3RydWN0dXJl
U2V0KCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICByZXN1bHQgPSBtX2dyYXBoLmFkZE5v
ZGUoCiAgICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlvbigpLCBOb2RlOjpWYXJBcmcs
IE1hdGVyaWFsaXplTmV3T2JqZWN0LAogICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCiAgICAg
ICAgICAgICAgICAgICAgIGVzY2FwZWUtPm9yaWdpbi5zZW1hbnRpYywKICAgICAgICAgICAgICAg
ICAgICAgd2hlcmUtPm9yaWdpbi5mb3JFeGl0KSwKLSAgICAgICAgICAgICAgICBPcEluZm8oZGF0
YSksIE9wSW5mbygpLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBPcEluZm8oc3RydWN0dXJlcyks
IE9wSW5mbyhkYXRhKSwgMCwgMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBA
IC05OTMsNyArMTAxNCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgTm9kZU9yaWdpbigK
ICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZS0+b3JpZ2luLnNlbWFudGljLAogICAgICAgICAg
ICAgICAgICAgICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAotICAgICAgICAgICAgICAgIE9wSW5m
byhkYXRhKSwgT3BJbmZvKHN5bWJvbFRhYmxlKSwgMCwgMCk7CisgICAgICAgICAgICAgICAgT3BJ
bmZvKHN5bWJvbFRhYmxlKSwgT3BJbmZvKGRhdGEpLCAwLCAwKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKQEAgLTEwNjMsMTAgKzEwODQsMTIgQEAgcHJpdmF0ZToKIAogICAgICAg
ICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMgPSBtX2xvY2F0aW9u
c0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOwogCi0gICAgICAgICAgICBQcm9tb3RlZEhlYXBM
b2NhdGlvbiBzY29wZShBY3RpdmF0aW9uU2NvcGVQTG9jLCBlc2NhcGVlKTsKICAgICAgICAgICAg
IFByb21vdGVkSGVhcExvY2F0aW9uIHN5bWJvbFRhYmxlKEFjdGl2YXRpb25TeW1ib2xUYWJsZVBM
b2MsIGVzY2FwZWUpOwotICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzY29w
ZSkpOworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzeW1ib2xUYWJsZSkp
OworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29s
dmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CiAKKyAgICAgICAgICAgIFBy
b21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGVzY2FwZWUpOwor
ICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhzY29wZSkpOwogICAgICAgICAg
ICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChFZGdlKHJlc29sdmUoYmxvY2ssIHNj
b3BlKSwgS25vd25DZWxsVXNlKSk7CiAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Bs
YW4uY3BwCmluZGV4IDY0OWM2MDU3MWM5M2ZhYzhiNzVkYjI3NWVkYjMzN2M3YTNjZWY2YmMuLmQ1
NWUzZjAxZDQ3MjViNTk3YjVjY2E4MTA4OWNmZjlmZTMwMjE0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQbGFuLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKERGR19K
SVQpCiAKKyNpbmNsdWRlICJERkdBbGxvY2F0aW9uQ3ljbGVTaW5raW5nUGhhc2UuaCIKICNpbmNs
dWRlICJERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5oIgogI2luY2x1ZGUgIkRGR0J5dGVDb2RlUGFyc2VyLmgiCkBA
IC0zNjUsMTAgKzM2NiwxMSBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUlu
VGhyZWFkSW1wbChMb25nTGl2ZWRTdGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAgICAgICAgIHBlcmZv
cm1DbGVhblVwKGRmZyk7IC8vIFJlZHVjZSB0aGUgZ3JhcGggc2l6ZSBhIGxvdC4KICAgICAgICAg
Y2hhbmdlZCA9IGZhbHNlOwogICAgICAgICBjaGFuZ2VkIHw9IHBlcmZvcm1TdHJlbmd0aFJlZHVj
dGlvbihkZmcpOwotICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmcoKSkgewotICAgICAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtQ3JpdGljYWxFZGdlQnJl
YWtpbmcoZGZnKTsKKyAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtQ3JpdGljYWxFZGdlQnJlYWtp
bmcoZGZnKTsKKyAgICAgICAgaWYgKE9wdGlvbnM6OmVuYWJsZUFsbG9jYXRpb25DeWNsZVNpbmtp
bmcoKSkKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gcGVyZm9ybUFsbG9jYXRpb25DeWNsZVNpbmtp
bmcoZGZnKTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgY2hhbmdlZCB8PSBwZXJmb3JtT2Jq
ZWN0QWxsb2NhdGlvblNpbmtpbmcoZGZnKTsKLSAgICAgICAgfQogICAgICAgICBpZiAoY2hhbmdl
ZCkgewogICAgICAgICAgICAgLy8gU3RhdGUtYXQtdGFpbCBhbmQgc3RhdGUtYXQtaGVhZCB3aWxs
IGJlIGludmFsaWQgaWYgd2UgZGlkIHN0cmVuZ3RoIHJlZHVjdGlvbiBzaW5jZQogICAgICAgICAg
ICAgLy8gaXQgbWlnaHQgaW5jcmVhc2UgbGl2ZSByYW5nZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKaW5kZXggYmMxNTE1ODQ4
MDc0MzdkYjA3Mjk0MTQxOWU4YjRiOWJhM2U1NjJjYi4uYTIxZTRkYTFhZjliNWIwZmI2MDRjM2Iy
MjM3MDcxZjUxNWZhNjU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaApAQCAtNTcsOCArNTcsMTYgQEAgcHVibGljOgogICAg
ICAgICAsIG1faW5mbyhpbmZvKQogICAgIHsKICAgICB9Ci0gICAgCisKKyAgICBQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvcihXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCisgICAgICAg
IDogbV9raW5kKEludmFsaWRQcm9tb3RlZExvY2F0aW9uS2luZCkKKyAgICAgICAgLCBtX2luZm8o
MSkKKyAgICB7CisgICAgfQorCiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiBt
X2tpbmQgPT0gSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5kOyB9CisKKyAgICBleHBsaWNpdCBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISEqdGhpczsgfQogICAgIAogICAgIFByb21v
dGVkTG9jYXRpb25LaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KICAgICB1bnNp
Z25lZCBpbmZvKCkgY29uc3QgeyByZXR1cm4gbV9pbmZvOyB9CkBAIC04Niw2ICs5NCwxOCBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gbV9raW5kID09IEludmFsaWRQcm9tb3RlZExv
Y2F0aW9uS2luZCAmJiBtX2luZm87CiAgICAgfQorCisgICAgYm9vbCBuZWVkZWRGb3JNYXRlcmlh
bGl6YXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kKCkpIHsKKyAgICAg
ICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzoKKyAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzoK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CiAgICAgCiAgICAgdm9pZCBkdW1wKFBy
aW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCkBAIC05NCw2ICsxMTQsMTIgQEAgcHJpdmF0ZToKICAg
ICB1bnNpZ25lZCBtX2luZm87CiB9OwogCitzdHJ1Y3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3JIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBQcm9tb3RlZExvY2F0aW9u
RGVzY3JpcHRvciYga2V5KSB7IHJldHVybiBrZXkuaGFzaCgpOyB9CisgICAgc3RhdGljIGJvb2wg
ZXF1YWwoY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGEsIGNvbnN0IFByb21vdGVk
TG9jYXRpb25EZXNjcmlwdG9yJiBiKSB7IHJldHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMgY29u
c3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCiBjbGFz
cyBQcm9tb3RlZEhlYXBMb2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24oCkBAIC0xNzYsNiArMjAyLDE2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlND
OjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyCiAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwogfTsKIAordGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CisgICAgdHlwZWRl
ZiBKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIEhhc2g7Cit9OworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKK3RlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiA6IFNpbXBs
ZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+IHsK
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAppbmRleCAyYmEzMzM4NDkzOTllNDNiNmM0
MWY1ZGZmYmU5MDkzMzUxNTFmNTUyLi5hOTY5YzEzYzk2MTZiOGQ0NmY4YTVhMTI2NmMzZWJhOTg4
ODAwNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAt
NTI0LDEyICs1MjQsNDIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBjYXNlIFBoYW50b206
CiAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgISJiYWQgbm9kZSB0eXBlIGZv
ciBTU0EiKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IAorCiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IEFkZCBtb3JlIHRoaW5ncyBoZXJlLgogICAgICAgICAgICAgICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzNDcxCiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKG5v
ZGUtPm9wKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CisgICAg
ICAgICAgICAgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rpb246CisgICAgICAgICAgICAgICAgY2Fz
ZSBQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21E
aXJlY3RBcmd1bWVudHM6CisgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1l
bnRzOgorICAgICAgICAgICAgICAgIGNhc2UgTW92SGludDoKKyAgICAgICAgICAgICAgICBjYXNl
IFVwc2lsb246CisgICAgICAgICAgICAgICAgY2FzZSBGb3J3YXJkVmFyYXJnczoKKyAgICAgICAg
ICAgICAgICBjYXNlIENhbGxGb3J3YXJkVmFyYXJnczoKKyAgICAgICAgICAgICAgICBjYXNlIENv
bnN0cnVjdEZvcndhcmRWYXJhcmdzOgorICAgICAgICAgICAgICAgIGNhc2UgR2V0TXlBcmd1bWVu
dEJ5VmFsOgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNh
c2UgQ2hlY2s6CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHByb2JhYmx5
IG5vdCBjb3JyZWN0LgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAg
ICAgIGNhc2UgUHV0SGludDoKKyAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCBu
b2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICBbJl0gKGNvbnN0IEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksICFlZGdlLT5pc1BoYW50b21BbGxv
Y2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5j
cHAKaW5kZXggZDVjZTBkN2YxYjI0NTcwMzYzNGMwNTAzNTc3YzJjNWMxYmQ0MWIxZC4uODhmNTRk
MDRlZDhiYjc3Y2UwYzIxNGY1MzBlM2RlZWY3NjE3NjlmZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTUyODYsMTIgKzUyODYsNyBA
QCBwcml2YXRlOgogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGF0YS5tX3Byb3Bl
cnRpZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUo
bV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEgKyBpKSkpOwogICAgICAgICAKLSAgICAgICAg
U3RydWN0dXJlU2V0IHNldDsKLSAgICAgICAgbV9pbnRlcnByZXRlci5waGlDaGlsZHJlbigpLT5m
b3JBbGxUcmFuc2l0aXZlSW5jb21pbmdWYWx1ZXMoCi0gICAgICAgICAgICBtX2dyYXBoLnZhckFy
Z0NoaWxkKG1fbm9kZSwgMCkubm9kZSgpLAotICAgICAgICAgICAgWyZdIChOb2RlKiBpbmNvbWlu
ZykgewotICAgICAgICAgICAgICAgIHNldC5hZGQoaW5jb21pbmctPmNhc3RDb25zdGFudDxTdHJ1
Y3R1cmUqPigpKTsKLSAgICAgICAgICAgIH0pOworICAgICAgICBjb25zdCBTdHJ1Y3R1cmVTZXQm
IHNldCA9IG1fbm9kZS0+c3RydWN0dXJlU2V0KCk7CiAgICAgICAgIAogICAgICAgICBWZWN0b3I8
TEJhc2ljQmxvY2ssIDE+IGJsb2NrcyhzZXQuc2l6ZSgpKTsKICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gc2V0LnNpemUoKTsgaS0tOykKQEAgLTUzOTAsMTAgKzUzODUsMTEgQEAgcHJpdmF0ZToK
IAogICAgICAgICBWZWN0b3I8TFZhbHVlLCA4PiB2YWx1ZXM7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAg
IHZhbHVlcy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSAr
IGkpKSk7CisgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKGxvd0pTVmFsdWUobV9ncmFwaC52YXJB
cmdDaGlsZChtX25vZGUsIDIgKyBpKSkpOwogCi0gICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0Nl
bGwobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApKTsKKyAgICAgICAgTFZhbHVlIHNjb3Bl
ID0gbG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSkpOwogICAgICAgICBTeW1i
b2xUYWJsZSogdGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKTsKKyAg
ICAgICAgQVNTRVJUKHRhYmxlID09IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKS0+Y2Fz
dENvbnN0YW50PFN5bWJvbFRhYmxlKj4oKSk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hY3Rp
dmF0aW9uU3RydWN0dXJlKCk7CiAKICAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExf
TkVXX0JMT0NLKG1fb3V0LCAoIk1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlvbiBzbG93IHBhdGgi
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21w
aWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5j
cHAKaW5kZXggMjc3ODhlN2Y2YTVhOWZiOWU1MzA2OWVjNTRjMDkwMGRlY2Q5ZWM3ZS4uMTY1MDE0
M2E1NmI5MmM3MGI1NTFmOTk5ZjQ2ODFlOTU5MzU0NjZhMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcApAQCAtMjIwLDI0ICsyMjAsMjQg
QEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAgICAgICAgICAgICAgaml0Lm9yMzIoR1BS
SW5mbzo6cmVnVDIsIE1hY3JvQXNzZW1ibGVyOjpBYnNvbHV0ZUFkZHJlc3MoYXJyYXlQcm9maWxl
LT5hZGRyZXNzT2ZBcnJheU1vZGVzKCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAg
ICAgICAKKwogICAgICAgICBpZiAoISFleGl0Lm1fdmFsdWVQcm9maWxlKQogICAgICAgICAgICAg
aml0LnN0b3JlNjQoR1BSSW5mbzo6cmVnVDAsIGV4aXQubV92YWx1ZVByb2ZpbGUuZ2V0U3BlY0Zh
aWxCdWNrZXQoMCkpOwogICAgIH0KLSAgICAKLSAgICAvLyBNYXRlcmlhbGl6ZSBhbGwgb2JqZWN0
cy4gRG9uJ3QgbWF0ZXJpYWxpemUgYW4gb2JqZWN0IHVudGlsIGFsbCBvZiB0aGUgb2JqZWN0cyBp
dCBuZWVkcwotICAgIC8vIGhhdmUgYmVlbiBtYXRlcmlhbGl6ZWQuIEN1cmlvdXNseSwgdGhpcyBp
cyB0aGUgb25seSBwbGFjZSB0aGF0IHdlIGhhdmUgYW4gYWxnb3JpdGhtIHRoYXQgcHJldmVudHMK
LSAgICAvLyBPU1IgZXhpdCBmcm9tIGhhbmRsaW5nIGN5Y2xpYyBvYmplY3QgbWF0ZXJpYWxpemF0
aW9ucy4gT2YgY291cnNlLCBvYmplY3QgYWxsb2NhdGlvbiBzaW5raW5nCi0gICAgLy8gY3VycmVu
dGx5IHdvdWxkbid0IHJlY29nbml6ZSBhIGN5Y2xlIGFzIGJlaW5nIHNpbmthYmxlIC0gYnV0IGlm
IGl0IGRpZCB0aGVuIHRoZSBvbmx5IHRoaW5nIHRoYXQKLSAgICAvLyB3b3VsZCBhaHZlIHRvIGNo
YW5nZSBpcyB0aGlzIGZpeHBvaW50LiBJbnN0ZWFkIHdlIHdvdWxkIGFsbG9jYXRlIHRoZSBvYmpl
Y3RzIGZpcnN0IGFuZCBwb3B1bGF0ZQotICAgIC8vIHRoZW0gd2l0aCBkYXRhIGxhdGVyLgorCisg
ICAgLy8gTWF0ZXJpYWxpemUgYWxsIG9iamVjdHMuIERvbid0IG1hdGVyaWFsaXplIGFuIG9iamVj
dCB1bnRpbCBhbGwKKyAgICAvLyBvZiB0aGUgb2JqZWN0cyBpdCBuZWVkcyBoYXZlIGJlZW4gbWF0
ZXJpYWxpemVkLiBXZSBicmVhayBjeWNsZXMKKyAgICAvLyBieSBwb3B1bGF0aW5nIG9iamVjdHMg
bGF0ZSAtIHdlIG9ubHkgY29uc2lkZXIgYW4gb2JqZWN0IGFzCisgICAgLy8gbmVlZGluZyBhbm90
aGVyIG9iamVjdCBpZiB0aGUgbGF0ZXIgaXMgbmVlZGVkIGZvciB0aGUKKyAgICAvLyBhbGxvY2F0
aW9uIG9mIHRoZSBmb3JtZXIuCisKICAgICBIYXNoU2V0PEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxp
emF0aW9uKj4gdG9NYXRlcmlhbGl6ZTsKICAgICBmb3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxp
emF0aW9uKiBtYXRlcmlhbGl6YXRpb24gOiBleGl0Lm1fbWF0ZXJpYWxpemF0aW9ucykKICAgICAg
ICAgdG9NYXRlcmlhbGl6ZS5hZGQobWF0ZXJpYWxpemF0aW9uKTsKLSAgICAKKwogICAgIHdoaWxl
ICghdG9NYXRlcmlhbGl6ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgcHJldmlvdXNU
b01hdGVyaWFsaXplU2l6ZSA9IHRvTWF0ZXJpYWxpemUuc2l6ZSgpOwotICAgICAgICAKKwogICAg
ICAgICBWZWN0b3I8RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qPiB3b3JrbGlzdDsKICAg
ICAgICAgd29ya2xpc3QuYXBwZW5kUmFuZ2UodG9NYXRlcmlhbGl6ZS5iZWdpbigpLCB0b01hdGVy
aWFsaXplLmVuZCgpKTsKICAgICAgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlv
biogbWF0ZXJpYWxpemF0aW9uIDogd29ya2xpc3QpIHsKQEAgLTI0NiwyMCArMjQ2LDI4IEBAIHN0
YXRpYyB2b2lkIGNvbXBpbGVTdHViKAogICAgICAgICAgICAgZm9yIChFeGl0UHJvcGVydHlWYWx1
ZSB2YWx1ZSA6IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKCF2YWx1ZS52YWx1ZSgpLmlzT2JqZWN0TWF0ZXJpYWxpemF0aW9uKCkpCiAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlmICghdmFsdWUubG9jYXRp
b24oKS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgaWYgKHRvTWF0ZXJpYWxpemUuY29udGFpbnModmFsdWUu
dmFsdWUoKS5vYmplY3RNYXRlcmlhbGl6YXRpb24oKSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
Ly8gR290dGEgc2tpcCB0aGlzIG9uZSwgc2luY2Ugb25lIG9mIGl0cyBmaWVsZHMgcG9pbnRzIHRv
IGEgbWF0ZXJpYWxpemF0aW9uCi0gICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgaGFzbid0IGJl
ZW4gbWF0ZXJpYWxpemVkLgorICAgICAgICAgICAgICAgICAgICAvLyBHb3R0YSBza2lwIHRoaXMg
b25lLCBzaW5jZSBpdCBuZWVkcyBhCisgICAgICAgICAgICAgICAgICAgIC8vIG1hdGVyaWFsaXph
dGlvbiB0aGF0IGhhc24ndCBiZWVuIG1hdGVyaWFsaXplZC4KICAgICAgICAgICAgICAgICAgICAg
YWxsR29vZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIWFsbEdvb2QpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEFsbCBzeXN0
ZW1zIGdvIGZvciBtYXRlcmlhbGl6aW5nIHRoZSBvYmplY3QuIEZpcnN0IHdlIHJlY292ZXIgdGhl
IHZhbHVlcyBvZiBhbGwgb2YKLSAgICAgICAgICAgIC8vIGl0cyBmaWVsZHMgYW5kIHRoZW4gd2Ug
Y2FsbCBhIGZ1bmN0aW9uIHRvIGFjdHVhbGx5IGFsbG9jYXRlIHRoZSBiZWFzdC4KKworICAgICAg
ICAgICAgLy8gQWxsIHN5c3RlbXMgZ28gZm9yIG1hdGVyaWFsaXppbmcgdGhlIG9iamVjdC4gRmly
c3Qgd2UKKyAgICAgICAgICAgIC8vIHJlY292ZXIgdGhlIHZhbHVlcyBvZiBhbGwgb2YgaXRzIGZp
ZWxkcyBhbmQgdGhlbiB3ZQorICAgICAgICAgICAgLy8gY2FsbCBhIGZ1bmN0aW9uIHRvIGFjdHVh
bGx5IGFsbG9jYXRlIHRoZSBiZWFzdC4KKyAgICAgICAgICAgIC8vIFdlIG9ubHkgcmVjb3ZlciB0
aGUgZmllbGRzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIGFsbG9jYXRpb24uCiAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIHByb3BlcnR5SW5kZXggPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRp
ZXMoKS5zaXplKCk7IHByb3BlcnR5SW5kZXgtLTspIHsKLSAgICAgICAgICAgICAgICBjb25zdCBF
eGl0VmFsdWUmIHZhbHVlID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJ
bmRleF0udmFsdWUoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYg
cHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XTsK
KyAgICAgICAgICAgICAgICBjb25zdCBFeGl0VmFsdWUmIHZhbHVlID0gcHJvcGVydHkudmFsdWUo
KTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3BlcnR5LmxvY2F0aW9uKCkubmVlZGVkRm9yTWF0
ZXJpYWxpemF0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAg
ICAgICAgICAgY29tcGlsZVJlY292ZXJ5KAogICAgICAgICAgICAgICAgICAgICBqaXQsIHZhbHVl
LCByZWNvcmQsIGppdENvZGUtPnN0YWNrbWFwcywgcmVnaXN0ZXJTY3JhdGNoLAogICAgICAgICAg
ICAgICAgICAgICBtYXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIpOwpAQCAtMjczLDcgKzI4MSw3IEBA
IHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAogICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKGJpdHdpc2VfY2FzdDx2b2lkKj4ob3BlcmF0aW9uTWF0ZXJpYWxp
emVPYmplY3RJbk9TUikpLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKICAgICAgICAgICAgIGppdC5j
YWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOwogICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUklu
Zm86OnJldHVyblZhbHVlR1BSLCBtYXRlcmlhbGl6YXRpb25Ub1BvaW50ZXIuZ2V0KG1hdGVyaWFs
aXphdGlvbikpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIC8vIExldCBldmVyeW9uZSBr
bm93IHRoYXQgd2UncmUgZG9uZS4KICAgICAgICAgICAgIHRvTWF0ZXJpYWxpemUucmVtb3ZlKG1h
dGVyaWFsaXphdGlvbik7CiAgICAgICAgIH0KQEAgLTI4NCw2ICsyOTIsMjcgQEAgc3RhdGljIHZv
aWQgY29tcGlsZVN0dWIoCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHRvTWF0ZXJpYWxpemUuc2l6
ZSgpIDwgcHJldmlvdXNUb01hdGVyaWFsaXplU2l6ZSk7CiAgICAgfQogCisgICAgLy8gTm93IHRo
YXQgYWxsIHRoZSBvYmplY3RzIGhhdmUgYmVlbiBhbGxvY2F0ZWQsIHdlIHBvcHVsYXRlIHRoZW0K
KyAgICAvLyB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcy4gVGhpcyB0aW1lIHdlIGNhbiByZWNvdmVy
IGFsbCB0aGUKKyAgICAvLyBmaWVsZHMsIGluY2x1ZGluZyB0aG9zZSB0aGF0IGFyZSBvbmx5IG5l
ZWRlZCBmb3IgdGhlIGFsbG9jYXRpb24uCisgICAgZm9yIChFeGl0VGltZU9iamVjdE1hdGVyaWFs
aXphdGlvbiogbWF0ZXJpYWxpemF0aW9uIDogZXhpdC5tX21hdGVyaWFsaXphdGlvbnMpIHsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBwcm9wZXJ0eUluZGV4ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9w
ZXJ0aWVzKCkuc2l6ZSgpOyBwcm9wZXJ0eUluZGV4LS07KSB7CisgICAgICAgICAgICBjb25zdCBF
eGl0VmFsdWUmIHZhbHVlID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbcHJvcGVydHlJ
bmRleF0udmFsdWUoKTsKKyAgICAgICAgICAgIGNvbXBpbGVSZWNvdmVyeSgKKyAgICAgICAgICAg
ICAgICBqaXQsIHZhbHVlLCByZWNvcmQsIGppdENvZGUtPnN0YWNrbWFwcywgcmVnaXN0ZXJTY3Jh
dGNoLAorICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvblRvUG9pbnRlcik7CisgICAgICAg
ICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDAsIG1hdGVyaWFsaXphdGlvbkFyZ3VtZW50
cyArIHByb3BlcnR5SW5kZXgpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVGhpcyBjYWxsIGFz
c3VtZXMgdGhhdCB3ZSBkb24ndCBwYXNzIGFyZ3VtZW50cyBvbiB0aGUgc3RhY2sKKyAgICAgICAg
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZSgKKyAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb24pLAorICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvblRvUG9pbnRlci5nZXQobWF0ZXJpYWxp
emF0aW9uKSksCisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJp
YWxpemF0aW9uQXJndW1lbnRzKSk7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KG9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5P
U1IpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5v
bkFyZ0dQUjApOworICAgIH0KKwogICAgIC8vIFNhdmUgYWxsIHN0YXRlIGZyb20gd2hlcmV2ZXIg
dGhlIGV4aXQgZGF0YSB0ZWxscyB1cyBpdCB3YXMsIGludG8gdGhlIGFwcHJvcHJpYXRlIHBsYWNl
IGluCiAgICAgLy8gdGhlIHNjcmF0Y2ggYnVmZmVyLiBUaGlzIGFsc28gZG9lcyB0aGUgcmVib3hp
bmcuCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJh
dGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcApp
bmRleCA0ZTVjOGIzZmI3OTNhODNiMjM2N2ZiMDBhN2U3YzFiNzRhNDg0OWUwLi40YzM4MzczODg2
YTM1ZWZmOGQyZjkyNGNmNDJiNzFkMzExZjUzNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKQEAgLTQ4LDQ5ICs0OCwxMTAgQEAgZXh0ZXJuICJDIiBK
U0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0V2l0aEJ1dHRlcmZseShFeGVj
U3RhdGUqIGV4ZWMKICAgICByZXR1cm4gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKGV4ZWMsIHN0cnVj
dHVyZSwgYnV0dGVyZmx5KTsKIH0KIAorZXh0ZXJuICJDIiB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUigKKyAgICBFeGVjU3RhdGUqIGV4ZWMsIEV4aXRUaW1l
T2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24sCisgICAgRW5jb2RlZEpTVmFs
dWUqIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUqIHZhbHVlcykKK3sKKyAgICBWTSYgdm0g
PSBleGVjLT52bSgpOworICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2Nr
KCk7CisKKyAgICAvLyBXZSBjYW5ub3QgR0MuIFdlJ3ZlIGdvdCBwb2ludGVycyBpbiBldmlsIHBs
YWNlcy4KKyAgICAvLyBGSVhNRTogV2UgYXJlIG5vdCBkb2luZyBhbnl0aGluZyB0aGF0IGNhbiBH
QyBoZXJlLCBhbmQgdGhpcyBpcworICAgIC8vIHByb2JhYmx5IHVubmVjZXNzYXJ5LgorICAgIERl
ZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKKworICAgIHN3aXRjaCAobWF0ZXJpYWxp
emF0aW9uLT50eXBlKCkpIHsKKyAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6IHsKKyAgICAgICAg
SlNGaW5hbE9iamVjdCogb2JqZWN0ID0ganNDYXN0PEpTRmluYWxPYmplY3QqPihKU1ZhbHVlOjpk
ZWNvZGUoKmVuY29kZWRWYWx1ZSkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9i
amVjdC0+c3RydWN0dXJlKCk7CisKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRoZSBoZWNr
IHRvIHBvcHVsYXRlIHRoZSBvYmplY3Qgd2l0aC4gVXNlCisgICAgICAgIC8vIGdldFByb3BlcnRp
ZXNDb25jdXJyZW50bHkoKSBiZWNhdXNlIHRoYXQgaGFwcGVucyB0byBiZQorICAgICAgICAvLyBs
b3dlci1sZXZlbCBhbmQgbW9yZSBjb252ZW5pZW50LiBJdCBkb2Vzbid0IGNoYW5nZSB0aGUKKyAg
ICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIG9mIHRoZSBwcm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0
byBoYXZlCisgICAgICAgIC8vIG1pbmltYWwgdmlzaWJsZSBlZmZlY3RzIG9uIHRoZSBzeXN0ZW0u
IEFsc28sIGRvbid0IG1pbmQKKyAgICAgICAgLy8gdGhhdCB0aGlzIGlzIE8obl4yKS4gSXQgZG9l
c24ndCBtYXR0ZXIuIFdlIG9ubHkgZ2V0IGhlcmUKKyAgICAgICAgLy8gZnJvbSBPU1IgZXhpdC4K
KyAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0dXJlLT5nZXRQcm9w
ZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1h
dGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAg
ICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+
cHJvcGVydGllcygpW2ldOworICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigp
LmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExvYykKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICAgICAgaWYgKGNvZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eS5s
b2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9IGVudHJ5LmtleSkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgZW50
cnkub2Zmc2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgY2FzZSBQaGFudG9tTmV3RnVu
Y3Rpb246CisgICAgY2FzZSBQaGFudG9tRGlyZWN0QXJndW1lbnRzOgorICAgIGNhc2UgUGhhbnRv
bUNsb25lZEFyZ3VtZW50czoKKyAgICAgICAgLy8gVGhvc2UgYXJlIGNvbXBsZXRlbHkgaGFuZGxl
ZCBieSBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSCisgICAgICAgIGJyZWFrOworCisg
ICAgY2FzZSBQaGFudG9tQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICBKU0xleGljYWxFbnZp
cm9ubWVudCogYWN0aXZhdGlvbiA9IGpzQ2FzdDxKU0xleGljYWxFbnZpcm9ubWVudCo+KEpTVmFs
dWU6OmRlY29kZSgqZW5jb2RlZFZhbHVlKSk7CisKKyAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0
IHRvIHBvcHVsYXRlIHRoZSBhY3RpdmF0aW9uIHdpdGgKKyAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CisgICAgICAg
ICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24t
PnByb3BlcnRpZXMoKVtpXTsKKyAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5sb2NhdGlvbigpLmtp
bmQoKSAhPSBDbG9zdXJlVmFyUExvYykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAg
ICAgICAgICAgYWN0aXZhdGlvbi0+dmFyaWFibGVBdChTY29wZU9mZnNldChwcm9wZXJ0eS5sb2Nh
dGlvbigpLmluZm8oKSkpLnNldChleGVjLT52bSgpLCBhY3RpdmF0aW9uLCBKU1ZhbHVlOjpkZWNv
ZGUodmFsdWVzW2ldKSk7CisgICAgICAgIH0KKworICAgICAgICBicmVhazsKKyAgICB9CisKKwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGJyZWFrOworCisgICAgfQorfQorCiBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElP
TiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgIEV4ZWNTdGF0ZSogZXhlYywg
RXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiwgRW5jb2RlZEpT
VmFsdWUqIHZhbHVlcykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7CiAKICAgICAvLyBXZSBjYW5ub3QgR0Mu
IFdlJ3ZlIGdvdCBwb2ludGVycyBpbiBldmlsIHBsYWNlcy4KICAgICBEZWZlckdDRm9yQVdoaWxl
IGRlZmVyR0Modm0uaGVhcCk7CiAgICAgCiAgICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5
cGUoKSkgewogICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDogewotICAgICAgICAvLyBGaXJzdCBm
aWd1cmUgb3V0IHdoYXQgdGhlIHN0cnVjdHVyZSBpcy4KKyAgICAgICAgLy8gRmlndXJlIG91dCB3
aGF0IHRoZSBzdHJ1Y3R1cmUgaXMKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxs
cHRyOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRp
ZXMoKS5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVl
JiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwogICAgICAgICAg
ICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkgIT0gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3Io
U3RydWN0dXJlUExvYykpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAorCiAg
ICAgICAgICAgICBzdHJ1Y3R1cmUgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHZhbHVlc1tpXSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoc3RydWN0dXJlKTsKLSAgICAKLSAgICAgICAgLy8gTGV0J3MgY3JlYXRlIHRo
YXQgb2JqZWN0IQorCiAgICAgICAgIEpTRmluYWxPYmplY3QqIHJlc3VsdCA9IEpTRmluYWxPYmpl
Y3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKLSAgICAKLSAgICAgICAgLy8gTm93IGZpZ3VyZSBv
dXQgd2hhdCB0aGUgaGVjayB0byBwb3B1bGF0ZSB0aGUgb2JqZWN0IHdpdGguIFVzZSBnZXRQcm9w
ZXJ0aWVzQ29uY3VycmVudGx5KCkKLSAgICAgICAgLy8gYmVjYXVzZSB0aGF0IGhhcHBlbnMgdG8g
YmUgbG93ZXItbGV2ZWwgYW5kIG1vcmUgY29udmVuaWVudC4gSXQgZG9lc24ndCBjaGFuZ2UgdGhl
Ci0gICAgICAgIC8vIG1hdGVyaWFsaXphdGlvbiBvZiB0aGUgcHJvcGVydHkgdGFibGUuIFdlIHdh
bnQgdG8gaGF2ZSBtaW5pbWFsIHZpc2libGUgZWZmZWN0cyBvbiB0aGUKLSAgICAgICAgLy8gc3lz
dGVtLiBBbHNvLCBkb24ndCBtaW5kIHRoYXQgdGhpcyBpcyBPKG5eMikuIEl0IGRvZXNuJ3QgbWF0
dGVyLiBXZSBvbmx5IGdldCBoZXJlIGZyb20gT1NSCi0gICAgICAgIC8vIGV4aXQuCi0gICAgICAg
IGZvciAoUHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVydGllc0Nv
bmN1cnJlbnRseSgpKSB7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6
YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKLSAgICAgICAgICAgICAgICBjb25z
dCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRp
ZXMoKVtpXTsKLSAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKS5raW5kKCkg
IT0gTmFtZWRQcm9wZXJ0eVBMb2MpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgIGlmIChjb2RlQmxvY2stPmlkZW50aWZpZXIocHJvcGVydHkubG9jYXRpb24o
KS5pbmZvKCkpLmltcGwoKSAhPSBlbnRyeS5rZXkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0s
IGVudHJ5Lm9mZnNldCwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgCisKKyAgICAgICAgLy8gVGhlIHJlYWwgdmFsdWVzIHdpbGwgYmUg
cHV0IHN1YnNlcXVlbnRseSBieQorICAgICAgICAvLyBvcGVyYXRpb25Qb3B1bGF0ZU5ld09iamVj
dEluT1NSLiBXZSBjYW4ndCBmaWxsIHRoZW0gaW4KKyAgICAgICAgLy8gbm93LCBiZWNhdXNlIHRo
ZXkgbWF5IG5vdCBiZSBhdmFpbGFibGUgeWV0ICh0eXBpY2FsbHkKKyAgICAgICAgLy8gYmVjYXVz
ZSB3ZSBoYXZlIGEgY3ljbGljIGRlcGVuZGVuY3kgZ3JhcGgpLgorCisgICAgICAgIC8vIFdlIHB1
dCBhIGR1bW15IHZhbHVlIGhlcmUgaW4gb3JkZXIgdG8gYXZvaWQgc3VwZXItc3VidGxlCisgICAg
ICAgIC8vIEdDLWFuZC1PU1ItZXhpdCBjcmFzaGVzIGluIGNhc2Ugd2UgaGF2ZSBhIGJ1ZyBhbmQg
c29tZQorICAgICAgICAvLyBmaWVsZCBpcywgZm9yIGFueSByZWFzb24sIG5vdCBmaWxsZWQgbGF0
ZXIuCisgICAgICAgIC8vIFdlIHVzZSBhIHJhbmRvbS1pc2ggbnVtYmVyIGluc3RlYWQgb2YgYSBz
ZW5zaWJsZSB2YWx1ZSBsaWtlCisgICAgICAgIC8vIHVuZGVmaW5lZCB0byBtYWtlIHBvc3NpYmxl
IGJ1Z3MgZWFzaWVyIHRvIHRyYWNrLgorICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50
cnkgOiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkKKyAgICAgICAgICAg
IHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIGpzTnVtYmVyKDE5NzIzKSk7CisK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKQEAgLTExMyw3ICsxNzQsNyBAQCBleHRl
cm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdElu
T1NSKAogICAgIH0KIAogICAgIGNhc2UgUGhhbnRvbUNyZWF0ZUFjdGl2YXRpb246IHsKLSAgICAg
ICAgLy8gRmlndXJlIG91dCB3aGVyZSB0aGUgc2NvcGUgaXMKKyAgICAgICAgLy8gRmlndXJlIG91
dCB3aGF0IHRoZSBzY29wZSBhbmQgc3ltYm9sIHRhYmxlIGFyZQogICAgICAgICBKU1Njb3BlKiBz
Y29wZSA9IG51bGxwdHI7CiAgICAgICAgIFN5bWJvbFRhYmxlKiB0YWJsZSA9IG51bGxwdHI7CiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNp
emUoKTsgaS0tOykgewpAQCAtMTMzLDEzICsxOTQsMTcgQEAgZXh0ZXJuICJDIiBKU0NlbGwqIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICAgICAgSlNM
ZXhpY2FsRW52aXJvbm1lbnQqIHJlc3VsdCA9IEpTTGV4aWNhbEVudmlyb25tZW50OjpjcmVhdGUo
dm0sIHN0cnVjdHVyZSwgc2NvcGUsIHRhYmxlKTsKIAogICAgICAgICBSRUxFQVNFX0FTU0VSVCht
YXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCkgLSAyID09IHRhYmxlLT5zY29wZVNp
emUoKSk7Ci0gICAgICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCB0byBwb3B1bGF0ZSB0aGUgYWN0aXZh
dGlvbiB3aXRoCisKKyAgICAgICAgLy8gVGhlIHJlYWwgdmFsdWVzIHdpbGwgYmUgcHV0IHN1YnNl
cXVlbnRseSBieQorICAgICAgICAvLyBvcGVyYXRpb25Qb3B1bGF0ZU5ld09iamVjdEluT1NSLiBT
ZWUgdGhlIFBoYW50b21OZXdPYmplY3QKKyAgICAgICAgLy8gY2FzZSBmb3IgZGV0YWlscy4KICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6
ZSgpOyBpLS07KSB7CiAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1ZSYgcHJvcGVy
dHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKICAgICAgICAgICAgIGlmIChw
cm9wZXJ0eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBDbG9zdXJlVmFyUExvYykKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgcmVzdWx0LT52YXJpYWJsZUF0KFNjb3BlT2Zm
c2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0KGV4ZWMtPnZtKCksIHJlc3VsdCwg
SlNWYWx1ZTo6ZGVjb2RlKHZhbHVlc1tpXSkpOworICAgICAgICAgICAgcmVzdWx0LT52YXJpYWJs
ZUF0KFNjb3BlT2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0KAorICAgICAg
ICAgICAgICAgIGV4ZWMtPnZtKCksIHJlc3VsdCwganNOdW1iZXIoMjk4MzQpKTsKICAgICAgICAg
fQogCiAgICAgICAgIGlmICh2YWxpZGF0aW9uRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCmluZGV4IGQxNWYxOGViOWFkZDMzNzlmYjVjZjE0MmRl
MzQ2MTNjNDg1Nzc1MDUuLmE1NTY4ZjkxYjExNzJiNTEyOWY4ODM5NzgzZTczYmM2ZDhjODNmN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5oCkBAIC00MCw2ICs0
MCw5IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3RXaXRoQnV0dGVy
Zmx5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdUCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUigKICAgICBFeGVjU3RhdGUqLCBFeGl0VGltZU9i
amVjdE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVlKikgV1RGX0lOVEVSTkFMOwogCit2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUigKKyAgICBFeGVj
U3RhdGUqLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiosIEVuY29kZWRKU1ZhbHVlKiwg
RW5jb2RlZEpTVmFsdWUqKSBXVEZfSU5URVJOQUw7CisKIH0gLy8gZXh0ZXJuICJDIgogCiB9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKaW5kZXggZmQxNjgyY2QzNDMwYTNlMmMyYzdlYzA3YTA5ZTJkZTU1MWQ1MGY4My4uNmZjN2Mz
MmEzODY3N2ZjZjJhZjFiMGIyYTg0MDk5N2RkZmQ1NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMTg1LDcgKzE4NSw3IEBAIHR5cGVkZWYgY29uc3QgY2hh
ciogb3B0aW9uU3RyaW5nOwogICAgIHYoZG91YmxlLCBtaW5pbXVtQ2FsbFRvS25vd25SYXRlLCAw
LjUxLCBudWxscHRyKSBcCiAgICAgdihib29sLCBvcHRpbWl6ZU5hdGl2ZUNhbGxzLCBmYWxzZSwg
bnVsbHB0cikgXAogICAgIHYoYm9vbCwgZW5hYmxlTW92SGludFJlbW92YWwsIHRydWUsIG51bGxw
dHIpIFwKLSAgICB2KGJvb2wsIGVuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nLCB0cnVlLCBu
dWxscHRyKSBcCisgICAgdihib29sLCBlbmFibGVBbGxvY2F0aW9uQ3ljbGVTaW5raW5nLCBmYWxz
ZSwgbnVsbHB0cikgXAogICAgIFwKICAgICB2KGJvb2wsIGVuYWJsZUNvbmN1cnJlbnRKSVQsIHRy
dWUsICJhbGxvd3MgdGhlIERGRyAvIEZUTCBjb21waWxhdGlvbiBpbiB0aHJlYWRzIG90aGVyIHRo
YW4gdGhlIGV4ZWN1dGluZyBKUyB0aHJlYWQiKSBcCiAgICAgdih1bnNpZ25lZCwgbnVtYmVyT2ZE
RkdDb21waWxlclRocmVhZHMsIGNvbXB1dGVOdW1iZXJPZldvcmtlclRocmVhZHMoMiwgMikgLSAx
LCBudWxscHRyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2NvcnJlY3RseS1zaW5rLW9iamVjdC1ldmVuLXRob3VnaC1pdC1kaWVzLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9jb3JyZWN0bHktc2luay1vYmplY3QtZXZlbi10
aG91Z2gtaXQtZGllcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWUwYjdiNzM4OThjOWEzODFiNzcxNjcxMTk3
YzRhMWY3YTNlNjY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9jb3JyZWN0bHktc2luay1vYmplY3QtZXZlbi10aG91Z2gtaXQtZGllcy5qcwpA
QCAtMCwwICsxLDE2IEBACitmdW5jdGlvbiBjbG9iYmVyKCkgeyB9Citub0lubGluZShjbG9iYmVy
KTsKKworZnVuY3Rpb24gZm9vKHApIHsKKyAgICB2YXIgYSA9IHsgeDogeyAnaWQnOiAnYmxhaCcg
fSB9OworICAgIGNsb2JiZXIoKTsKKyAgICBpZiAocCkKKyAgICAgICAgcmV0dXJuIGEueDsKK30K
K25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAg
ICB2YXIgcmVzdWx0ID0gZm9vKGkgJSAyKTsKKyAgICBpZiAoaSAlIDIgJiYgcmVzdWx0LmlkICE9
ICdibGFoJykKKyAgICAgICAgdGhyb3cgIkludmFsaWQgcmVzdWx0IElEOiAiICsgcmVzdWx0Lmlk
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9lbGlt
aW5hdGUtb2JqZWN0LXJlYWQtb3Zlci1jYWxsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9lbGltaW5hdGUtb2JqZWN0LXJlYWQtb3Zlci1jYWxsLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4ODdjNjAyYmVlODgyZmVlOGVmZDU2OTFiOTA0ZTlkNzYwZjFiMjUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VsaW1pbmF0ZS1vYmplY3Qt
cmVhZC1vdmVyLWNhbGwuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gY2xvYmJlcigpIHsg
fQorbm9JbmxpbmUoY2xvYmJlcik7CisKK2Z1bmN0aW9uIGZvbyhwKSB7CisgICAgdmFyIGEgPSB7
IHg6IDEwIH07CisgICAgY2xvYmJlcigpOworICAgIGlmIChwKSBhLnogPSAyMDsKKyAgICBhLnkg
PSBhLng7CisgICAgcmV0dXJuIGE7Cit9Citub0lubGluZShmb28pOworCitmb28odHJ1ZSk7CisK
K2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAgZm9vKGZhbHNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0ZXJpYWxpemUtb2Jq
ZWN0LW9uLWVkZ2UuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGVy
aWFsaXplLW9iamVjdC1vbi1lZGdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2YmZkMzg2NWFjMDEwNjdhZDFk
Mzc0ZTNjM2JiZTdiODAyOTg0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL21hdGVyaWFsaXplLW9iamVjdC1vbi1lZGdlLmpzCkBAIC0wLDAg
KzEsMTcgQEAKK2Z1bmN0aW9uIGNhbGwoKSB7IH0KK25vSW5saW5lKGNhbGwpOworCitmdW5jdGlv
biBmb28ocCkgeworICAgIHZhciBhID0ge307CisgICAgdmFyIGIgPSB7fTsKKyAgICBpZiAocCkg
eyAKKyAgICAgICAgYi54ID0gYTsKKyAgICB9IGVsc2UgeworICAgICAgICBiLnggPSAwOworICAg
IH0KKyAgICByZXR1cm4gYi54OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7
IGkgPCAxMDAwMDAwOyArK2kpCisgICAgZm9vKGkgJSAyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LXNpbmtpbmctc3RyZXNzLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3Qtc2lua2luZy1zdHJlc3MuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDUzZjc3NTE4MWM0ZWIwNDk5OGJhM2VhNzNmNWY5YWEzZmM5NTM1ZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0
LXNpbmtpbmctc3RyZXNzLmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIGZvbyhwKSB7Cisg
ICAgdmFyIGEgPSB7IGlkOiAiYSIgfTsKKyAgICBhLl9fc2VsZiA9IGE7CisgICAgdmFyIGIgPSB7
IGlkOiAiYiIgfTsKKyAgICBiLl9fc2VsZiA9IGI7CisgICAgdmFyIGMgPSB7IGlkOiAiYyIgfTsK
KyAgICBjLl9fc2VsZiA9IGM7CisgICAgaWYgKHApIGEueCA9IGI7IGVsc2UgYS54ID0gYjsKKyAg
ICB2YXIgcmV0ID0geyAndic6IGEueCwgJ2InOiBiLCAnYyc6IGMgfTsKKyAgICByZXQuX19zZWxm
ID0gcmV0OworICAgIGlmIChwKSByZXR1cm4gcmV0OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkKKyAgICBmb28oaSAlIDIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW5rLW9iamVjdC1jeWNsZS5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtY3ljbGUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzk2Njg0Yjk1NWYwOWE2ZDQ0Y2Y1NTg3MTAzZWRmOWRhNzQ2NjAyMAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2lu
ay1vYmplY3QtY3ljbGUuanMKQEAgLTAsMCArMSwxNyBAQAorZnVuY3Rpb24gY2xvYmJlcigpIHsg
fQorbm9JbmxpbmUoY2xvYmJlcik7CisKK2Z1bmN0aW9uIGZvbyhwKSB7CisgICAgdmFyIGEgPSB7
fTsKKyAgICB2YXIgYiA9IHt9OworICAgIGEueCA9IDA7CisgICAgYi54ID0gMDsKKyAgICBjbG9i
YmVyKCk7CisgICAgYS54ID0gYjsKKyAgICBiLnggPSBhOworICAgIGlmIChwKSByZXR1cm4gYTsK
K30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkKKyAg
ICBmb28oaSAlIDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9zaW5rLW9iamVjdC1wYXN0LXB1dC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhYTRkMGY3NDky
MDRmM2E1NDE0NGY1Y2VjMmNlNTUwYmE3NzUwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQuanMKQEAgLTAs
MCArMSwxNSBAQAorZnVuY3Rpb24gY2xvYmJlcigpIHsgfQorbm9JbmxpbmUoY2xvYmJlcik7CisK
K2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIHZhciBwID0ge307CisgICAg
by54ID0gcDsKKyAgICBjbG9iYmVyKCk7CisgICAgby54ID0gMDsKKyAgICByZXR1cm4gbzsKK30K
K25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAg
Zm9vKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Np
bmthYmxlLW5ldy1vYmplY3QtaW4tbG9vcC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc2lua2FibGUtbmV3LW9iamVjdC1pbi1sb29wLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxM2Ux
OWYyNGEwYmI3MDE1MmFlZTFlZjQxMGZjYTM3MDIzYWI1OTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtaW4t
bG9vcC5qcwpAQCAtMCwwICsxLDEwIEBACitmdW5jdGlvbiBmb28ocCkgeworICAgIHZhciBvID0g
e307CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICAgICAgby54ID0ge307
Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQor
ICAgIGZvbyhpICUgMik7CisKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAyNWVkNjk1YmVlYmIyNjc4ODFmYTZlNzJkYzU2Njc4MWQwMzIyZDg0Li42
MTE5ZDVjNzA3YTY2YjRhM2I1Y2Y3MWE2NTA5OGRmODgyYjY2OTZlIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDctMDIgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgorCisgICAg
ICAgIE9iamVjdCBjeWNsZXMgc2hvdWxkIG5vdCBwcmV2ZW50IGFsbG9jYXRpb24gZWxpbWluYXRp
b24vc2lua2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQzMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUnVuIEZUTCB0ZXN0cyB3aXRoIGJvdGggdGhlIG9sZCBhbmQgbmV3IGFsbG9jYXRpb24gc2lu
a2luZyBwaGFzZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgor
CiAyMDE1LTA3LTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXSBXZWJTUUwgZG9lc24ndCB3b3JrIGJlY2F1c2Ugb3BlbkRhdGFiYXNl
IGFsd2F5cyBmYWlscyB3aXRoIERPTSBFeGNlcHRpb24gMTgKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCmluZGV4IDIxZWFlM2MyY2Q0ODhlOWQxMzk3NmRkZTZiYjZmY2Q4NTU0ODA5YTguLmFm
YTA3NTQzODM5NzljMGJkY2U4Njc2ZDI1YzU0NGMxZDVmMmIxOTAgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tanNj
LXN0cmVzcy10ZXN0cwpAQCAtNzA0LDEwICs3MDQsMTIgQEAgZW5kCiAKIGRlZiBydW5GVExOb0NK
SVQKICAgICBydW4oImZ0bC1uby1jaml0IiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9O
UykpIGlmICRlbmFibGVGVEwKKyAgICBydW4oImZ0bC1uby1jaml0LWV4cGVyaW1lbnRhbCIsICIt
LWVuYWJsZUFsbG9jYXRpb25DeWNsZVNpbmtpbmc9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19D
SklUX09QVElPTlMpKSBpZiAkZW5hYmxlRlRMCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlk
YXRlCiAgICAgcnVuKCJmdGwtbm8tY2ppdC12YWxpZGF0ZSIsICItLXZhbGlkYXRlR3JhcGg9dHJ1
ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKSBpZiAkZW5hYmxlRlRMCisgICAg
cnVuKCJmdGwtbm8tY2ppdC1leHBlcmltZW50YWwtdmFsaWRhdGUiLCAiLS1lbmFibGVBbGxvY2F0
aW9uQ3ljbGVTaW5raW5nPXRydWUiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqKEZUTF9PUFRJ
T05TICsgTk9fQ0pJVF9PUFRJT05TKSkgaWYgJGVuYWJsZUZUTAogZW5kCiAKIGRlZiBydW5GVExO
b0NKSVROb0lubGluZVZhbGlkYXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2VhN2JlZTI3NmY3MjZlMTVjMDhiZDAyMDhh
YzA2NjJkNjA4NTJiNS4uYTE1ZWUxNjExODZmMGMwMWRkZjYyY2YzOWVhNDMzMzI4N2U1YzdiNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTAyICBCYXNpbGUgQ2xlbWVudCAgPGJhc2ls
ZV9jbGVtZW50QGFwcGxlLmNvbT4KKworICAgICAgICBPYmplY3QgY3ljbGVzIHNob3VsZCBub3Qg
cHJldmVudCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uL3NpbmtpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA3MworCisgICAgICAgIFJldmlld2Vk
IGJ5IEZpbGlwIFBpemxvLgorCisgICAgICAgIEFkZCBhIGZldyBtaWNyb2JlbmNobWFya3MgdGhh
dCBzaG93IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdoZW4KKyAgICAgICAgc2lua2luZyBvciBl
bGltaW5pbmF0aW5nIG9iamVjdCBjeWNsZXMuCisKKyAgICAgICAgKiBqcy9yZWdyZXNzL2VsaWRh
YmxlLW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9y
ZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbDogQWRkZWQuCisgICAgICAgICog
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qczogQWRk
ZWQuCisgICAgICAgIChzdW1PZkFyaXRoU2VyaWVzKToKKyAgICAgICAgKGZvbyk6CisgICAgICAg
ICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qczogQWRk
ZWQuCisgICAgICAgIChmYWN0b3JpYWwuZik6CisgICAgICAgIChmYWN0b3JpYWwpOgorICAgICAg
ICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanM6
IEFkZGVkLgorICAgICAgICAoc3VtT2ZBcml0aFNlcmllcyk6CisgICAgICAgICh2ZXJpZnkpOgor
ICAgICAgICAoZm9vKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3lj
bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3NpbmthYmxlLWNs
b3N1cmUtY3ljbGUuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zaW5rYWJsZS1u
ZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVz
cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA3LTAyICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2tp
cCBuZXcgd2ViIHRpbWluZyB0ZXN0IG9uIHBsYXRmb3JtcyB3aXRob3V0IHdlYiB0aW1pbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3lj
bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2Jq
ZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWU2OTliYzY4ZWZiOWQ0ZWU1NjUz
NzM2NTIxOTQ5MTI0YTQ5ODBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitKU1JlZ3Jlc3MvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iODU3NjhmZDE5OTMxNzk0YjAzNjA4ZjU2Njc4MTIzZTlkMDBkZDdiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MTBiNDQ4Mjc3YjEyMGVhYmIwMTc3MDg2NTM0Mjk0YmNiYmM5N2ExCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVj
dC1jeWNsZS5qcwpAQCAtMCwwICsxLDI0IEBACitmdW5jdGlvbiBzdW1PZkFyaXRoU2VyaWVzKGxp
bWl0KSB7CisgICAgcmV0dXJuIGxpbWl0ICogKGxpbWl0ICsgMSkgLyAyOworfQorCit2YXIgbiA9
IDEwMDAwMDAwOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgdmFyIHEgPSB7fTsKKyAgICAg
ICAgdmFyIGxlYWYgPSB7ZjppLCB0cmVlOiBxfTsKKyAgICAgICAgdmFyIG8gPSB7ZjpsZWFmLCB0
cmVlOiBxfTsKKyAgICAgICAgdmFyIHAgPSB7ZjpsZWFmLCB0cmVlOiBxfTsKKyAgICAgICAgcS5m
ID0gbzsKKyAgICAgICAgcS5nID0gcDsKKyAgICAgICAgcS50cmVlID0gcTsKKyAgICAgICAgcmVz
dWx0ICs9IHEuZi5mLmY7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZhciByZXN1
bHQgPSBmb28oKTsKK2lmIChyZXN1bHQgIT0gc3VtT2ZBcml0aFNlcmllcyhuIC0gMSkpCisgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcyBi
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLWNsb3N1cmUtY3lj
bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjE0OGRiYjQwOWFlZDE5ZDQ3OTczMTkxODRmNzNkMmY0N2QzNTRh
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gZmFj
dG9yaWFsKHgpIHsKKyAgICBpZiAoeCA8IDApIHRocm93ICJXZSBhcmUgbm90IEdhbW1hIjsKKwor
ICAgIGlmICh4ID09PSAwKQorICAgICAgICByZXR1cm4gMTsKKworICAgIGZ1bmN0aW9uIGYoaSwg
YWNjKSB7CisgICAgICAgIGlmIChpID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIGFjYzsKKyAg
ICAgICAgcmV0dXJuIGYoaSAtIDEsIGkgKiBhY2MpOworICAgIH0KKworICAgIHJldHVybiBmKHgs
IDEpOworfQorbm9JbmxpbmUoZmFjdG9yaWFsKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDAwOyArK2kpCisgICAgZmFjdG9yaWFsKGkgJSAzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMgYi9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5
Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE2MDgxNzIyZGQyM2NhOTc0YTRlZDhiMGRkMDE3OGEwMGY1ODUw
NjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0
cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCkBAIC0wLDAgKzEsMzggQEAKK2Z1bmN0aW9u
IHN1bU9mQXJpdGhTZXJpZXMobGltaXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAx
KSAvIDI7Cit9CisKK3ZhciBuID0gMTAwMDAwMDA7CisKK2Z1bmN0aW9uIHZlcmlmeShxLCBpKSB7
CisgICAgaWYgKHEuZiA9PSBxLmcpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mID09IHEuZyI7
CisgICAgaWYgKHEuZi5mICE9IHEuZy5mKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEuZi5mICE9
IHEuZy5mIjsKKyAgICBpZiAocS5mLmYuZiAhPSBpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEu
Zi5mLmYgIT0gaSI7Cit9CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9Owor
ICAgICAgICB2YXIgbGVhZiA9IHtmOmksIHRyZWU6cX07CisgICAgICAgIHZhciBvID0ge2Y6bGVh
ZiwgdHJlZTpxfTsKKyAgICAgICAgdmFyIHAgPSB7ZjpsZWFmLCB0cmVlOnF9OworICAgICAgICBx
LmYgPSBvOworICAgICAgICBxLmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICBy
ZXN1bHQgKz0gcS5mLmYuZjsKKyAgICAgICAgaWYgKCEoaSAlIDEwMCkpCisgICAgICAgICAgICB2
ZXJpZnkocSwgaSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZv
byk7Citub0lubGluZSh2ZXJpZnkpOworCit2YXIgcmVzdWx0ID0gZm9vKCk7CitpZiAocmVzdWx0
ICE9IHN1bU9mQXJpdGhTZXJpZXMobiAtIDEpKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3Vs
dDogIiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2Fi
bGUtY2xvc3VyZS1jeWNsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Np
bmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NDg1YWZmZTZm
ODIwNzU4NWM1NmNlY2QxZDgxNjdkMzcwMGVkNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK0pTUmVncmVzcy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuaHRtbCBiL0xheW91
dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5NTY4YTMyYjdiYjUxOTgzODc3Y2IzNTYyMjZiZTVhN2VjYzRhZjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuaHRtbApA
QCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9i
amVjdC1jeWNsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxl
LW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkMzNmMzg1NmQzNTA4
MWE0YmY5YjRlMTkxZjEwNjlmOTc3ZGY2MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK0pTUmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbCBi
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI2YmI1YzI3ZGM1YmNkNTljMTllNDIxZTczYjAwZmJlODZjYmVlYzkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3Qt
Y3ljbGUuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256721</attachid>
            <date>2015-07-13 14:04:11 -0700</date>
            <delta_ts>2015-07-13 16:26:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-143073-20150713140306.patch</filename>
            <type>text/plain</type>
            <size>165891</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZDIwN2EyMTAyMDc5OThkZGZkNmQ5M2QyMTJlODk2MDk5ZDRjMGY2Li42ZWJmMTQxODZmNTVkYTZl
ZjgzNjg2YjkzNTg2YTdjNGQyYmNkYjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MiBAQAorMjAxNS0wNy0xMyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0IGN5Y2xlcyBzaG91bGQgbm90IHByZXZlbnQgYWxs
b2NhdGlvbiBlbGltaW5hdGlvbi9zaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQ
aXpsby4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgYWxsb2NhdGlvbiBz
aW5raW5nIHBoYXNlIHRoYXQgaXMgYWJsZSB0bworICAgICAgICBzaW5rIGN5Y2xlcywgaW4gREZH
QWxsb2NhdGlvbkN5Y2xlU2lua2luZ1BoYXNlLmNwcC4gVGhpcyBwaGFzZQorICAgICAgICBzdXBl
cnNlZGVzIHRoZSBvbGQgYWxsb2NhdGlvbiBzaW5raW5nIHBoYXNlIGluCisgICAgICAgIERGR09i
amVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwLCBhcyB0aGF0IHByZXZpb3VzIHBoYXNlIHdh
cyBuZXZlcgorICAgICAgICBhYmxlIHRvIHNpbmsgYWxsb2NhdGlvbiBjeWNsZXMgd2hpbGUgdGhl
IG5ldyBwaGFzZSBzb21ldGltZXMgY2FuOyBzZWUKKyAgICAgICAgREZHQWxsb2NhdGlvbkN5Y2xl
U2lua2luZ1BoYXNlLmNwcCBmb3IgZGV0YWlscy4KKworICAgICAgICBGb3Igbm93LCB0aGUgbmV3
IHNpbmtpbmcgcGhhc2UgaXMga2VwdCBiZWhpbmQgYQorICAgICAgICBKU0NfZW5hYmxlQWxsb2Nh
dGlvbkN5Y2xlU2lua2luZyBmbGFnIHRoYXQgcmV2ZXJ0cyB0byB0aGUgb2xkIHNpbmtpbmcKKyAg
ICAgICAgcGhhc2Ugd2hlbiBmYWxzZSAoaS5lLiwgYnkgZGVmYXVsdCkuIFRoaXMgYWxzbyByZW1v
dmVzIHRoZSBvbGQKKyAgICAgICAgSlNDX2VuYWJsZU9iamVjdEFsbG9jYXRpb25TaW5raW5nIGZs
YWcuIHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICBkZWZhdWx0cyB0byB1c2luZyB0
aGUgbmV3IHNpbmtpbmcgcGhhc2UuCisKKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpHcmFwaDo6YWRkU3RydWN0dXJlU2V0KTogQWxsb3cgZW1wdHkgc3RydWN0
dXJlIHNldHMKKyAgICAgICAgKiBkZmcvREZHTGF6eU5vZGUuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OkxhenlOb2RlOjpkdW1wKTogUHJldHRpZXIgZHVtcAorICAgICAgICAqIGRmZy9ERkdOb2Rl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6Y2VsbE9wZXJhbmQpOiBNb3ZlIHRvIG9wSW5m
byBmb3IgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uCisgICAgICAgIChKU0M6OkRGRzo6Tm9k
ZTo6aGFzU3RydWN0dXJlU2V0KTogQWRkIE1hdGVyaWFsaXplTmV3T2JqZWN0CisgICAgICAgIChK
U0M6OkRGRzo6Tm9kZTo6b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSk6IE1vdmUgdG8gb3BJbmZv
MgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcDogUmVt
b3ZlIHVudXNlZCBoZWFkZXIKKyAgICAgICAgKiBkZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtp
bmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZTo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZSk6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6cnVuKTogRGVsZXRlZC4KKyAg
ICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpwZXJmb3JtU2lu
a2luZyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtp
bmdQaGFzZTo6ZGV0ZXJtaW5lTWF0ZXJpYWxpemF0aW9uUG9pbnRzKTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpwbGFjZU1hdGVyaWFs
aXphdGlvblBvaW50cyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2Nh
dGlvblNpbmtpbmdQaGFzZTo6bG93ZXJOb25SZWFkaW5nT3BlcmF0aW9uc09uUGhhbnRvbUFsbG9j
YXRpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lu
a2luZ1BoYXNlOjpwcm9tb3RlU3Vua2VuRmllbGRzKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6
REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpyZXNvbHZlKTogRGVsZXRlZC4KKyAg
ICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlOjpoYW5kbGVOb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlOjpjcmVhdGVNYXRlcmlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRGRzo6T2Jq
ZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6cG9wdWxhdGVNYXRlcmlhbGl6ZSk6IERlbGV0ZWQu
CisgICAgICAgICogZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuaDoKKyAgICAg
ICAgKiBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDogQWRkIGEgaGFzaCBhbmQgYSBoZWxw
ZXIgZnVuY3Rpb24gdG8gUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IKKyAgICAgICAgKEpTQzo6
REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcjo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3IpOgorICAgICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjpvcGVy
YXRvciBib29sKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
cjo6bmVlZGVkRm9yTWF0ZXJpYWxpemF0aW9uKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvckhhc2g6Omhhc2gpOgorICAgICAgICAoSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaDo6ZXF1YWwpOgorICAgICAgICAqIGRmZy9ERkdWYWxp
ZGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKTogQXNz
ZXJ0IHRoYXQgbW9zdCBub2RlcyBuZXZlciBzZWUgYSBwaGFudG9tIGFsbG9jYXRpb24KKyAgICAg
ICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0xMVk06OmNvbXBpbGVNYXRlcmlhbGl6ZU5ld09iamVjdCk6IFVzZSB0aGUgbmV3
IHN0cnVjdHVyZVNldCgpIG9wZXJhbmQKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZH
VG9MTFZNOjpjb21waWxlTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uKTogTm9kZSBoYXMgYSBu
ZXcgY2hpbGQKKyAgICAgICAgKiBmdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcDogSGFuZGxlIG1h
dGVyaWFsaXphdGlvbiBjeWNsZXMKKyAgICAgICAgKEpTQzo6RlRMOjpjb21waWxlU3R1Yik6Cisg
ICAgICAgICogZnRsL0ZUTE9wZXJhdGlvbnMuY3BwOiBIYW5kbGUgbWF0ZXJpYWxpemF0aW9uIGN5
Y2xlcworICAgICAgICAoSlNDOjpGVEw6Om9wZXJhdGlvblBvcHVsYXRlT2JqZWN0SW5PU1IpOgor
ICAgICAgICAoSlNDOjpGVEw6Om9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IpOgorICAg
ICAgICAqIGZ0bC9GVExPcGVyYXRpb25zLmg6IEhhbmRsZSBtYXRlcmlhbGl6YXRpb24gY3ljbGVz
CisgICAgICAgICogdGVzdHMvc3RyZXNzL2NvcnJlY3RseS1zaW5rLW9iamVjdC1ldmVuLXRob3Vn
aC1pdC1kaWVzLmpzOiBBZGRlZC4KKyAgICAgICAgKGNsb2JiZXIpOgorICAgICAgICAoZm9vKToK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZWxpbWluYXRlLW9iamVjdC1yZWFkLW92ZXItY2FsbC5q
czogQWRkZWQuCisgICAgICAgIChjbG9iYmVyKToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICog
dGVzdHMvc3RyZXNzL21hdGVyaWFsaXplLW9iamVjdC1vbi1lZGdlLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGNhbGwpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0
LXNpbmtpbmctc3RyZXNzLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL3Npbmstb2JqZWN0LWN5Y2xlLmpzOiBBZGRlZC4KKyAgICAgICAgKGNsb2JiZXIp
OgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFz
dC1wdXQuanM6IEFkZGVkLgorICAgICAgICAoY2xvYmJlcik6CisgICAgICAgIChmb28pOgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanM6IEFkZGVk
LgorICAgICAgICAoZm9vKToKKwogMjAxNS0wNy0xMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFwcHMgbGlua2VkIHdpdGggYSBkZXBsb3ltZW50IHRh
cmdldCBvZiBpT1MgNy54IG9yIGVhcmxpZXIgY3Jhc2ggd2hlbiB1c2luZyBtb2Rlcm4gV2ViS2l0
IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCmluZGV4IGUxOWFkMWYwMjYwNjBj
MjUzZDBmN2ZjNTkyYzM1NzQxMmQxNzkzY2YuLmI2ZjJjNmJlM2MxODA3Zjk0MjdlMTgwZDZhNjg3
ZDM1Yjg5MWJhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3Jh
cGguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKQEAgLTMyNSw3
ICszMjUsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3RydWN0dXJlU2V0KiBhZGRTdHJ1Y3R1cmVT
ZXQoY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVTZXQpCiAgICAgewotICAgICAgICBBU1NF
UlQoc3RydWN0dXJlU2V0LnNpemUoKSk7CiAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFwcGVuZChz
dHJ1Y3R1cmVTZXQpOwogICAgICAgICByZXR1cm4gJm1fc3RydWN0dXJlU2V0Lmxhc3QoKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlOb2RlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eU5vZGUuY3BwCmluZGV4IDk1NGVk
OTg1NWQ1ZWUyYTUzNjJhOWMxN2I3YTU3MzE0YjJhMjU0NjkuLmM4ZDA5NDBlNzdmM2ZkYjkxMWJh
YTQ0ZGI1YzRkZWUyMDg1OTEyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTGF6eU5vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6
eU5vZGUuY3BwCkBAIC0zOCw4ICszOCw3IEBAIHZvaWQgTGF6eU5vZGU6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKICAgICAgICAgaWYgKGlzTm9kZSgpKQogICAgICAgICAgICAgb3V0LnBy
aW50KCJMYXp5Tm9kZTpAIiwgYXNOb2RlKCktPmluZGV4KCkpOwogICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBvdXQucHJpbnQoIkxhenlOb2RlOkZyb3plblZhbHVlOiIsIEdyYXBoOjpvcE5hbWUo
b3AoKSksICIsICIsIHBvaW50ZXJEdW1wKGFzVmFsdWUoKSkpOwotICAgICAgICBvdXQucHJpbnQo
IikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiTGF6eU5vZGU6RnJvemVuVmFsdWUoIiwgR3Jh
cGg6Om9wTmFtZShvcCgpKSwgIiwgIiwgcG9pbnRlckR1bXAoYXNWYWx1ZSgpKSwgIikiKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggOWNhMmNkYzY4MThh
MjNiYzJhNmI3YzEzNjMwYzRiOTIyYmJlZDMxZi4uNTBiYTFkZDI5MGZiYWE2ZWZhMzg3ZDZlMmVl
ODYwNzVhOTUwYTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyOTMs
MTMgKzEyOTMsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgRnJvemVuVmFsdWUqIGNlbGxPcGVyYW5k
KCkKICAgICB7CiAgICAgICAgIEFTU0VSVChoYXNDZWxsT3BlcmFuZCgpKTsKLSAgICAgICAgc3dp
dGNoIChvcCgpKSB7Ci0gICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgot
ICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJvemVuVmFsdWUqPihtX29wSW5m
bzIpOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8RnJvemVuVmFsdWUqPihtX29wSW5mbyk7Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RnJv
emVuVmFsdWUqPihtX29wSW5mbyk7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CkBAIC0xMzU5LDYgKzEzNTMsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIHN3aXRjaCAo
b3AoKSkgewogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgogICAgICAgICBjYXNlIENoZWNr
U3RydWN0dXJlSW1tZWRpYXRlOgorICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0Ogog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0xNDQ0LDcgKzE0MzksNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYgb2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpCiAgICAg
ewogICAgICAgICBBU1NFUlQoaGFzT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpKTsKLSAgICAg
ICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqPiht
X29wSW5mbyk7CisgICAgICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxPYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhKj4obV9vcEluZm8yKTsKICAgICB9CiAKICAgICBib29sIGlzT2JqZWN0QWxs
b2NhdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2
YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAppbmRleCBmZjVmZDk1YTdjMGM4NTE1
ZjNkNzcxN2NmNmE1ZTY0ZDQ2ZjFkMjdiLi44Yzg0MTlhODE4Y2QyNjQxOTM5OWY0ZTQ5MTBmNDk3
MGJkZGIxNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2
YWlsYWJpbGl0eUFuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJERkdHcmFwaC5oIgogI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2lu
Y2x1ZGUgIkRGR1BoYXNlLmgiCi0jaW5jbHVkZSAiREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlv
blNpbmtpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFs
bG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCmluZGV4IDQyMjM4MmZmMjlkMTc5NzViYmYyZjE4M2I2
NzgxMWE1ODhlZjU2YzYuLmZjZTY1MjA1NTc3YTZmZjVmOWE2NzM0NTkwMTZjNWU3NDNhNTc2YzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlv
blNpbmtpbmdQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOCw3NyArMjgsNjg3IEBACiAKICNp
ZiBFTkFCTEUoREZHX0pJVCkKIAotI2luY2x1ZGUgIkRGR0Fic3RyYWN0SGVhcC5oIgogI2luY2x1
ZGUgIkRGR0Jsb2NrTWFwSW5saW5lcy5oIgotI2luY2x1ZGUgIkRGR0Nsb2JiZXJpemUuaCIKICNp
bmNsdWRlICJERkdDb21iaW5lZExpdmVuZXNzLmgiCiAjaW5jbHVkZSAiREZHR3JhcGguaCIKLSNp
bmNsdWRlICJERkdJbnNlcnRPU1JIaW50c0ZvclVwZGF0ZS5oIgogI2luY2x1ZGUgIkRGR0luc2Vy
dGlvblNldC5oIgorI2luY2x1ZGUgIkRGR0xhenlOb2RlLmgiCiAjaW5jbHVkZSAiREZHTGl2ZW5l
c3NBbmFseXNpc1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQ
aGFzZS5oIgogI2luY2x1ZGUgIkRGR1BoYXNlLmgiCi0jaW5jbHVkZSAiREZHUHJvbW90ZUhlYXBB
Y2Nlc3MuaCIKKyNpbmNsdWRlICJERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIgogI2luY2x1ZGUg
IkRGR1NTQUNhbGN1bGF0b3IuaCIKICNpbmNsdWRlICJERkdWYWxpZGF0ZS5oIgogI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKIAorI2luY2x1ZGUgPGxpc3Q+CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgREZHIHsKIAotc3RhdGljIGJvb2wgdmVyYm9zZSA9IGZhbHNlOworbmFtZXNwYWNlIHsK
KworYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKKy8vIEluIG9yZGVyIHRvIHNpbmsgb2JqZWN0IGN5
Y2xlcywgd2UgdXNlIGEgcG9pbnRzLXRvIGFuYWx5c2lzIGNvdXBsZWQKKy8vIHdpdGggYW4gZXNj
YXBlIGFuYWx5c2lzLiBUaGlzIGFuYWx5c2lzIGlzIGFjdHVhbGx5IHNpbWlsYXIgdG8gYW4KKy8v
IGFic3RyYWN0IGludGVycHJldGVyIGZvY3VzZWQgb24gbG9jYWwgYWxsb2NhdGlvbnMgYW5kIGln
bm9yaW5nCisvLyBldmVyeXRoaW5nIGVsc2UuCisvLworLy8gV2UgcmVwcmVzZW50IHRoZSBsb2Nh
bCBoZWFwIHVzaW5nIHR3byBtYXBwaW5nczoKKy8vCisvLyAtIEEgc2V0IG9mIHRoZSBsb2NhbCBh
bGxvY2F0aW9ucyBwcmVzZW50IGluIHRoZSBmdW5jdGlvbiwgd2hlcmUKKy8vICAgZWFjaCBvZiB0
aG9zZSBoYXZlIGEgZnVydGhlciBtYXBwaW5nIGZyb20KKy8vICAgUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IgdG8gbG9jYWwgYWxsb2NhdGlvbnMgdGhleSBtdXN0IHBvaW50CisvLyAgIHRvLgor
Ly8KKy8vIC0gQSAicG9pbnRlciIgbWFwcGluZyBmcm9tIG5vZGVzIHRvIGxvY2FsIGFsbG9jYXRp
b25zLCBpZiB0aGV5IG11c3QKKy8vICAgYmUgZXF1YWwgdG8gc2FpZCBsb2NhbCBhbGxvY2F0aW9u
IGFuZCBhcmUgY3VycmVudGx5IGxpdmUuIFRoaXMKKy8vICAgY2FuIGJlIGJlY2F1c2UgdGhlIG5v
ZGUgaXMgdGhlIGFjdHVhbCBub2RlIHRoYXQgY3JlYXRlZCB0aGUKKy8vICAgYWxsb2NhdGlvbiwg
b3IgYW55IG90aGVyIG5vZGUgdGhhdCBtdXN0IGN1cnJlbnRseSBwb2ludCB0byBpdCAtCisvLyAg
IHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlLgorLy8KKy8vIFRoZSBmb2xsb3dpbmcgZ3JhcGgg
aXMgYSBtb3RpdmF0aW9uIGZvciB3aHkgd2Ugc2VwYXJhdGUgYWxsb2NhdGlvbnMKKy8vIGZyb20g
cG9pbnRlcnM6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qoe30pCisvLyAgMTog
TmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkKKy8vICAtOiBQdXRT
dHJ1Y3R1cmUoQDAsIHt4OjB9KQorLy8gIDI6IEdldEJ5T2Zmc2V0KEAwLCB4KQorLy8gIC06IEp1
bXAoIzEpCisvLworLy8gQmxvY2sgIzEKKy8vICAtOiBSZXR1cm4oQDIpCisvLworLy8gSGVyZSwg
d2UgbmVlZCB0byByZW1lbWJlciBpbiBibG9jayAjMSB0aGF0IEAyIHBvaW50cyB0byBhIGxvY2Fs
CisvLyBhbGxvY2F0aW9uIHdpdGggYXBwcm9wcmlhdGUgZmllbGRzIGFuZCBzdHJ1Y3R1cmVzIGlu
Zm9ybWF0aW9uCisvLyAoYmVjYXVzZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBwbGFjZSBhIG1hdGVy
aWFsaXphdGlvbiBvbiB0b3Agb2YKKy8vIGJsb2NrICMxIGhlcmUpLCBldmVuIHRob3VnaCBAMSBp
cyBkZWFkLiBXZSAqY291bGQqIGp1c3Qga2VlcCBAMQorLy8gYXJ0aWZpY2lhbGx5IGFsaXZlIGhl
cmUsIGJ1dCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiB0byBkbyBpdDoKKy8vIGFmdGVyIGFsbCwg
YnkgdGhlIGVuZCBvZiBibG9jayAjMCwgQDEgYW5kIEAyIHNob3VsZCBiZSBjb21wbGV0ZWx5Cisv
LyBpbnRlcmNoYW5nZWFibGUsIGFuZCB0aGVyZSBpcyBubyByZWFzb24gZm9yIHVzIHRvIGFydGlm
aWNpYWxseSBtYWtlCisvLyBAMSBtb3JlIGltcG9ydGFudC4KKy8vCisvLyBBbiBpbXBvcnRhbnQg
cG9pbnQgdG8gY29uc2lkZXIgdG8gdW5kZXJzdGFuZCB0aGlzIHNlcGFyYXRpb24gaXMKKy8vIHRo
YXQgd2Ugc2hvdWxkIHRoaW5rIG9mIHRoZSBsb2NhbCBoZWFwIGFzIGZvbGxvdzogd2UgaGF2ZSBh
CisvLyBidW5jaCBvZiBub2RlcyB0aGF0IGFyZSBwb2ludGVycyB0byAiYWxsb2NhdGlvbnMiIHRo
YXQgbGl2ZQorLy8gc29tZXBsYWNlIG9uIHRoZSBoZWFwLCBhbmQgdGhvc2UgYWxsb2NhdGlvbnMg
Y2FuIGhhdmUgcG9pbnRlcnMgaW4KKy8vIGJldHdlZW4gdGhlbXNlbHZlcyBhcyB3ZWxsLiBXZSBz
aG91bGRuJ3QgY2FyZSBhYm91dCB3aGF0ZXZlcgorLy8gbmFtZXMgd2UgZ2l2ZSB0byB0aGUgYWxs
b2NhdGlvbnMgOyB3aGF0IG1hdHRlcnMgd2hlbgorLy8gY29tcGFyaW5nL21lcmdpbmcgdHdvIGhl
YXBzIGlzIHRoZSBpc29tb3JwaGlzbS9jb21wYXJpc29uIGJldHdlZW4KKy8vIHRoZSBhbGxvY2F0
aW9uIGdyYXBocyBhcyBzZWVuIGJ5IHRoZSBub2Rlcy4KKy8vCisvLyBGb3IgaW5zdGFuY2UsIGlu
IHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisvLworLy8gQmxvY2sgIzAKKy8vICAwOiBOZXdPYmplY3Qo
e30pCisvLyAgLTogQnJhbmNoKCMxLCAjMikKKy8vCisvLyBCbG9jayAjMQorLy8gIDE6IE5ld09i
amVjdCh7fSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDEsIHgpCisvLyAgLTogUHV0U3RydWN0
dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8vIEJsb2NrICMyCisvLyAgMjog
TmV3T2JqZWN0KHt9KQorLy8gIC06IFB1dEJ5T2Zmc2V0KEAyLCB1bmRlZmluZWQsIHgpCisvLyAg
LTogUHV0U3RydWN0dXJlKEAyLCB7eDowfSkKKy8vICAtOiBQdXRCeU9mZnNldChAMCwgQDIsIHgp
CisvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKy8vICAtOiBKdW1wKCMzKQorLy8KKy8v
IEJsb2NrICMzCisvLyAgLTogUmV0dXJuKEAwKQorLy8KKy8vIHdlIHNob3VsZCB0aGluayBvZiB0
aGUgaGVhcHMgYXQgdGFpbCBvZiBibG9ja3MgIzEgYW5kICMyIGFzIGJlaW5nCisvLyBleGFjdGx5
IHRoZSBzYW1lLCBldmVuIHRob3VnaCBvbmUgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDEgYW5kIHRo
ZQorLy8gb3RoZXIgaGFzIEAwLnggcG9pbnRpbmcgdG8gQDIsIGJlY2F1c2UgaW4gZXNzZW5jZSB0
aGlzIHNob3VsZCBub3QKKy8vIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBncmFwaCB3aGVyZSB3ZSBo
b2lzdGVkIEAxIGFuZCBAMiBpbnRvIGEKKy8vIHNpbmdsZSBhbGxvY2F0aW9uIGluIGJsb2NrICMw
LiBXZSBjdXJyZW50bHkgd2lsbCBub3QgaGFuZGxlIHRoaXMKKy8vIGNhc2UsIGJlY2F1c2Ugd2Ug
bWVyZ2UgYWxsb2NhdGlvbnMgYmFzZWQgb24gdGhlIG5vZGUgdGhleSBhcmUKKy8vIGNvbWluZyBm
cm9tLCBidXQgdGhpcyBpcyBvbmx5IGEgdGVjaG5pY2FsaXR5IGZvciB0aGUgc2FrZSBvZgorLy8g
c2ltcGxpY2l0eSB0aGF0IHNob3VsZG4ndCBoaWRlIHRoZSBkZWVwZXIgaWRlYSBvdXRsaW5lZCBo
ZXJlLgorCitjbGFzcyBBbGxvY2F0aW9uIHsKK3B1YmxpYzoKKyAgICAvLyBXZSB1c2UgRXNjYXBl
ZCBhcyBhIHNwZWNpYWwgYWxsb2NhdGlvbiBraW5kIGJlY2F1c2Ugd2hlbiB3ZQorICAgIC8vIGRl
Y2lkZSB0byBzaW5rIGFuIGFsbG9jYXRpb24sIHdlIHN0aWxsIG5lZWQgdG8ga2VlcCB0cmFjayBv
ZiBpdAorICAgIC8vIG9uY2UgaXQgaXMgZXNjYXBlZCBpZiBpdCBzdGlsbCBoYXMgcG9pbnRlcnMg
dG8gaXQgaW4gb3JkZXIgdG8KKyAgICAvLyByZXBsYWNlIGFueSB1c2Ugb2YgdGhvc2UgcG9pbnRl
cnMgYnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAvLyBtYXRlcmlhbGl6YXRpb24KKyAgICBlbnVt
IGNsYXNzIEtpbmQgeyBFc2NhcGVkLCBPYmplY3QsIEFjdGl2YXRpb24sIEZ1bmN0aW9uIH07CisK
KyAgICBleHBsaWNpdCBBbGxvY2F0aW9uKE5vZGUqIGlkZW50aWZpZXIgPSBudWxscHRyLCBLaW5k
IGtpbmQgPSBLaW5kOjpFc2NhcGVkKQorICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQorICAgICAgICAsIG1fa2luZChraW5kKQorICAgIHsKKyAgICB9CisKKworICAgIGNvbnN0IEhh
c2hNYXA8UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IsIE5vZGUqPiYgZmllbGRzKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtX2ZpZWxkczsKKyAgICB9CisKKyAgICBOb2RlKiBnZXQo
UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2ZpZWxkcy5nZXQoZGVzY3JpcHRvcik7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYg
c2V0KFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IsIE5vZGUqIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgLy8gUG9pbnRpbmcgdG8gYW55dGhpbmcgZWxzZSB0aGFuIGFuIHVuZXNj
YXBlZCBsb2NhbAorICAgICAgICAvLyBhbGxvY2F0aW9uIGlzIHJlcHJlc2VudGVkIGJ5IHNpbXBs
eSBub3QgaGF2aW5nIHRoZQorICAgICAgICAvLyBmaWVsZAorICAgICAgICBpZiAodmFsdWUpCisg
ICAgICAgICAgICBtX2ZpZWxkcy5zZXQoZGVzY3JpcHRvciwgdmFsdWUpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBtX2ZpZWxkcy5yZW1vdmUoZGVzY3JpcHRvcik7CisgICAgICAgIHJldHVy
biAqdGhpczsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvciBkZXNjcmlwdG9yKQorICAgIHsKKyAgICAgICAgc2V0KGRlc2NyaXB0b3IsIG51bGxwdHIp
OworICAgIH0KKworICAgIGJvb2wgaGFzU3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAg
ICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIEtpbmQ6Ok9iamVjdDoKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBBbGxvY2F0aW9uJiBzZXRTdHJ1Y3R1cmVz
KGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlcykKKyAgICB7CisgICAgICAgIEFTU0VSVCho
YXNTdHJ1Y3R1cmVzKCkgJiYgIXN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1
Y3R1cmVzID0gc3RydWN0dXJlczsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAg
IEFsbG9jYXRpb24mIG1lcmdlU3RydWN0dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVy
ZXMpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzU3RydWN0dXJlcygpIHx8IHN0cnVjdHVyZXMu
aXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLm1lcmdlKHN0cnVjdHVyZXMpOworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgQWxsb2NhdGlvbiYgZmlsdGVyU3RydWN0
dXJlcyhjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZXMpCisgICAgeworICAgICAgICBBU1NF
UlQoaGFzU3RydWN0dXJlcygpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmVzLmZpbHRlcihzdHJ1Y3R1
cmVzKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIGNvbnN0IFN0cnVjdHVy
ZVNldCYgc3RydWN0dXJlcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1
cmVzOworICAgIH0KKworICAgIE5vZGUqIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KKworICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQor
CisgICAgYm9vbCBpc0VzY2FwZWRBbGxvY2F0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBraW5kKCkgPT0gS2luZDo6RXNjYXBlZDsKKyAgICB9CisKKyAgICBib29sIGlzT2JqZWN0
QWxsb2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9raW5kID09IEtpbmQ6
Ok9iamVjdDsKKyAgICB9CisKKyAgICBib29sIGlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpBY3RpdmF0aW9uOworICAg
IH0KKworICAgIGJvb2wgaXNGdW5jdGlvbkFsbG9jYXRpb24oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpGdW5jdGlvbjsKKyAgICB9CisKKyAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgQWxsb2NhdGlvbiYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9pZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllcgorICAgICAgICAgICAgJiYg
bV9raW5kID09IG90aGVyLm1fa2luZAorICAgICAgICAgICAgJiYgbV9maWVsZHMgPT0gb3RoZXIu
bV9maWVsZHMKKyAgICAgICAgICAgICYmIG1fc3RydWN0dXJlcyA9PSBvdGhlci5tX3N0cnVjdHVy
ZXM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEFsbG9jYXRpb24mIG90aGVy
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0K
KworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAg
ZHVtcEluQ29udGV4dChvdXQsIG51bGxwdHIpOworICAgIH0KKworICAgIHZvaWQgZHVtcEluQ29u
dGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKKyAgICB7
CisgICAgICAgIHN3aXRjaCAobV9raW5kKSB7CisgICAgICAgIGNhc2UgS2luZDo6RXNjYXBlZDoK
KyAgICAgICAgICAgIG91dC5wcmludCgiRXNjYXBlZCIpOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBLaW5kOjpPYmplY3Q6CisgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVj
dCIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBLaW5kOjpGdW5jdGlvbjoK
KyAgICAgICAgICAgIG91dC5wcmludCgiRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgS2luZDo6QWN0aXZhdGlvbjoKKyAgICAgICAgICAgIG91dC5wcmludCgi
QWN0aXZhdGlvbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgb3V0
LnByaW50KCJBbGxvY2F0aW9uKCIpOworICAgICAgICBpZiAoIW1fc3RydWN0dXJlcy5pc0VtcHR5
KCkpCisgICAgICAgICAgICBvdXQucHJpbnQoaW5Db250ZXh0KG1fc3RydWN0dXJlcywgY29udGV4
dCkpOworICAgICAgICBpZiAoIW1fZmllbGRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaWYg
KCFtX3N0cnVjdHVyZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dC5wcmludCgiLCAi
KTsKKyAgICAgICAgICAgIG91dC5wcmludChtYXBEdW1wKG1fZmllbGRzLCAiID0+ICMiLCAiLCAi
KSk7CisgICAgICAgIH0KKyAgICAgICAgb3V0LnByaW50KCIpIik7CisgICAgfQorCitwcml2YXRl
OgorICAgIE5vZGUqIG1faWRlbnRpZmllcjsgLy8gVGhpcyBpcyB0aGUgYWN0dWFsIG5vZGUgdGhh
dCBjcmVhdGVkIHRoZSBhbGxvY2F0aW9uCisgICAgS2luZCBtX2tpbmQ7CisgICAgSGFzaE1hcDxQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciwgTm9kZSo+IG1fZmllbGRzOworICAgIFN0cnVjdHVy
ZVNldCBtX3N0cnVjdHVyZXM7Cit9OworCitjbGFzcyBMb2NhbEhlYXAgeworcHVibGljOgorICAg
IEFsbG9jYXRpb24mIG5ld0FsbG9jYXRpb24oTm9kZSogbm9kZSwgQWxsb2NhdGlvbjo6S2luZCBr
aW5kKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3BvaW50ZXJzLmNvbnRhaW5zKG5vZGUpICYm
ICFpc0FsbG9jYXRpb24obm9kZSkpOworICAgICAgICBtX3BvaW50ZXJzLmFkZChub2RlLCBub2Rl
KTsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvbnMuc2V0KG5vZGUsIEFsbG9jYXRpb24obm9k
ZSwga2luZCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBib29sIGlzQWxsb2NhdGlv
bihOb2RlKiBpZGVudGlmaWVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2Nh
dGlvbnMuY29udGFpbnMoaWRlbnRpZmllcik7CisgICAgfQorCisgICAgLy8gTm90ZSB0aGF0IHRo
aXMgaXMgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQgZnJvbQorICAgIC8vIG9ubHlMb2NhbEFsbG9j
YXRpb24oKSBiZWxvdy4gZ2V0QWxsb2NhdGlvbigpIHRha2VzIGFzIGFyZ3VtZW50CisgICAgLy8g
YSBub2RlLWFzLWlkZW50aWZpZXIsIHRoYXQgaXMsIGFuIGFsbG9jYXRpb24gbm9kZS4gVGhpcwor
ICAgIC8vIGFsbG9jYXRpb24gbm9kZSBkb2Vzbid0IGhhdmUgdG8gYmUgYWxpdmU7IGl0IG1heSBv
bmx5IGJlCisgICAgLy8gcG9pbnRlZCB0byBieSBvdGhlciBub2RlcyBvciBhbGxvY2F0aW9uIGZp
ZWxkcy4KKyAgICAvLyBGb3IgaW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcgZ3JhcGg6CisgICAg
Ly8KKyAgICAvLyBCbG9jayAjMAorICAgIC8vICAwOiBOZXdPYmplY3Qoe30pCisgICAgLy8gIDE6
IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4KQorICAgIC8v
ICAtOiBQdXRTdHJ1Y3R1cmUoQDAsIHt4OjB9KQorICAgIC8vICAyOiBHZXRCeU9mZnNldChAMCwg
eCkKKyAgICAvLyAgLTogSnVtcCgjMSkKKyAgICAvLworICAgIC8vIEJsb2NrICMxCisgICAgLy8g
IC06IFJldHVybihAMikKKyAgICAvLworICAgIC8vIEF0IGhlYWQgb2YgYmxvY2sgIzEsIHRoZSBv
bmx5IHJlYWNoYWJsZSBhbGxvY2F0aW9uIGlzICNAMSwKKyAgICAvLyB3aGljaCBjYW4gYmUgcmVh
Y2hlZCB0aHJvdWdoIG5vZGUgQDIuIFRodXMsIGdldEFsbG9jYXRpb24oI0AxKQorICAgIC8vIGNv
bnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBtZXRhZGF0YSBmb3IgdGhpcyBhbGxvY2F0aW9uLCBidXQK
KyAgICAvLyBvbmx5TG9jYWxBbGxvY2F0aW9uKEAxKSBpcyBudWxsLCBhcyBAMSBpcyBubyBsb25n
ZXIgYSBwb2ludGVyCisgICAgLy8gdG8gI0AxIChzaW5jZSBpdCBpcyBkZWFkKS4gQ29udmVyc2Vs
eSwgb25seUxvY2FsQWxsb2NhdGlvbihAMikKKyAgICAvLyBpcyB0aGUgc2FtZSBhcyBnZXRBbGxv
Y2F0aW9uKCNAMSksIHdoaWxlIGdldEFsbG9jYXRpb24oI0AyKQorICAgIC8vIGRvZXMgbm90IG1h
a2Ugc2Vuc2Ugc2luY2UgQDIgaXMgbm90IGFuIGFsbG9jYXRpb24gbm9kZS4KKyAgICAvLworICAg
IC8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCB3aGVuIHRoZSBub2RlIGlzIGFscmVhZHkga25v
d24gdG8gYmUKKyAgICAvLyBhbiBpZGVudGlmaWVyIChpLmUuIGFuIGFsbG9jYXRpb24pIC0gcHJv
YmFibHkgYmVjYXVzZSBpdCB3YXMKKyAgICAvLyBmb3VuZCBhcyB2YWx1ZSBvZiBhIGZpZWxkIG9y
IHBvaW50ZXIgaW4gdGhlIGN1cnJlbnQgaGVhcCwgb3IKKyAgICAvLyB3YXMgdGhlIHJlc3VsdCBv
ZiBhIGNhbGwgdG8gZm9sbG93KCkuIEluIGFueSBvdGhlciBjYXNlcyAoc3VjaAorICAgIC8vIGFz
IHdoZW4gZG9pbmcgYW55dGhpbmcgd2hpbGUgdHJhdmVyc2luZyB0aGUgZ3JhcGgpLCB0aGUKKyAg
ICAvLyBhcHByb3ByaWF0ZSBmdW5jdGlvbiB0byBjYWxsIGlzIHByb2JhYmx5IG9ubHlMb2NhbEFs
bG9jYXRpb24uCisgICAgQWxsb2NhdGlvbiYgZ2V0QWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVy
KQorICAgIHsKKyAgICAgICAgYXV0byBpdGVyID0gbV9hbGxvY2F0aW9ucy5maW5kKGlkZW50aWZp
ZXIpOworICAgICAgICBBU1NFUlQoaXRlciAhPSBtX2FsbG9jYXRpb25zLmVuZCgpKTsKKyAgICAg
ICAgcmV0dXJuIGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIHZvaWQgbmV3UG9pbnRlcihOb2Rl
KiBub2RlLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2FsbG9j
YXRpb25zLmNvbnRhaW5zKG5vZGUpICYmICFtX3BvaW50ZXJzLmNvbnRhaW5zKG5vZGUpKTsKKyAg
ICAgICAgQVNTRVJUKGlzQWxsb2NhdGlvbihpZGVudGlmaWVyKSk7CisgICAgICAgIG1fcG9pbnRl
cnMuYWRkKG5vZGUsIGlkZW50aWZpZXIpOworICAgIH0KKworICAgIC8vIGZvbGxvdyBzb2x2ZXMg
dGhlIHBvaW50cy10byBwcm9ibGVtLiBHaXZlbiBhIGxpdmUgbm9kZSwgd2hpY2gKKyAgICAvLyBt
YXkgYmUgZWl0aGVyIGFuIGFsbG9jYXRpb24gaXRzZWxmIG9yIGEgaGVhcCByZWFkIChlLmcuIGEK
KyAgICAvLyBHZXRCeU9mZnNldCBub2RlKSwgaXQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBh
bGxvY2F0aW9uCisgICAgLy8gbm9kZSwgaWYgdGhlcmUgaXMgb25lLiBJZiB0aGUgYXJndW1lbnQg
bm9kZSBpcyBuZWl0aGVyIGFuCisgICAgLy8gYWxsb2NhdGlvbiBvciBhIGhlYXAgcmVhZCwgb3Ig
bWF5IHBvaW50IHRvIGRpZmZlcmVudCBub2RlcywKKyAgICAvLyBudWxscHRyIHdpbGwgYmUgcmV0
dXJuZWQuIE5vdGUgdGhhdCBhIG5vZGUgdGhhdCBwb2ludHMgdG8KKyAgICAvLyBkaWZmZXJlbnQg
bm9kZXMgY2FuIG5ldmVyIHBvaW50IHRvIGFuIHVuZXNjYXBlZCBsb2NhbAorICAgIC8vIGFsbG9j
YXRpb24uCisgICAgTm9kZSogZm9sbG93KE5vZGUqIG5vZGUpIGNvbnN0CisgICAgeworICAgICAg
ICBhdXRvIGl0ZXIgPSBtX3BvaW50ZXJzLmZpbmQobm9kZSk7CisgICAgICAgIEFTU0VSVChpdGVy
ID09IG1fcG9pbnRlcnMuZW5kKCkgfHwgbV9hbGxvY2F0aW9ucy5jb250YWlucyhpdGVyLT52YWx1
ZSkpOworICAgICAgICByZXR1cm4gaXRlciA9PSBtX3BvaW50ZXJzLmVuZCgpID8gbnVsbHB0ciA6
IGl0ZXItPnZhbHVlOworICAgIH0KKworICAgIE5vZGUqIGZvbGxvdyhQcm9tb3RlZEhlYXBMb2Nh
dGlvbiBsb2NhdGlvbikgY29uc3QKKyAgICB7CisgICAgICAgIGNvbnN0IEFsbG9jYXRpb24mIGJh
c2UgPSBtX2FsbG9jYXRpb25zLmZpbmQobG9jYXRpb24uYmFzZSgpKS0+dmFsdWU7CisgICAgICAg
IGF1dG8gaXRlciA9IGJhc2UuZmllbGRzKCkuZmluZChsb2NhdGlvbi5kZXNjcmlwdG9yKCkpOwor
CisgICAgICAgIGlmIChpdGVyID09IGJhc2UuZmllbGRzKCkuZW5kKCkpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7CisgICAgfQorCisg
ICAgLy8gb25seUxvY2FsQWxsb2NhdGlvbiBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGFsbG9jYXRp
b24gbWV0YWRhdGEKKyAgICAvLyBmb3IgYW55IGxpdmUgbm9kZS4gb25seUxvY2FsQWxsb2NhdGlv
bihub2RlKSBpcyBlc3NlbnRpYWxseQorICAgIC8vIGdldEFsbG9jYXRpb24oZm9sbG93KG5vZGUp
KSwgd2l0aCBhcHByb3ByaWF0ZSBudWxsIGhhbmRsaW5nLgorICAgIEFsbG9jYXRpb24qIG9ubHlM
b2NhbEFsbG9jYXRpb24oTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIE5vZGUqIGlkZW50aWZp
ZXIgPSBmb2xsb3cobm9kZSk7CisgICAgICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2NhdGlvbihpZGVudGlm
aWVyKTsKKyAgICB9CisKKyAgICBBbGxvY2F0aW9uKiBvbmx5TG9jYWxBbGxvY2F0aW9uKFByb21v
dGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgTm9kZSogaWRlbnRpZmll
ciA9IGZvbGxvdyhsb2NhdGlvbik7CisgICAgICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIHJldHVybiAmZ2V0QWxsb2NhdGlvbihpZGVu
dGlmaWVyKTsKKyAgICB9CisKKyAgICAvLyBUaGlzIGFsbG93cyB1cyB0byBzdG9yZSB0aGUgZXNj
YXBlZXMgb25seSB3aGVuIG5lY2Vzc2FyeS4gSWYKKyAgICAvLyBzZXQsIHRoZSBjdXJyZW50IGVz
Y2FwZWVzIGNhbiBiZSByZXRyaWV2ZWQgYXQgYW55IHRpbWUgdXNpbmcKKyAgICAvLyB0YWtlRXNj
YXBlZXMoKSwgd2hpY2ggd2lsbCBjbGVhciB0aGUgY2FjaGVkIHNldCBvZiBlc2NhcGVlczsKKyAg
ICAvLyBvdGhlcndpc2UgdGhlIGhlYXAgd29uJ3QgcmVtZW1iZXIgZXNjYXBpbmcgYWxsb2NhdGlv
bnMuCisgICAgdm9pZCBzZXRXYW50RXNjYXBlZXMoKQorICAgIHsKKyAgICAgICAgbV93YW50RXNj
YXBlZXMgPSB0cnVlOworICAgIH0KKworICAgIEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+IHRh
a2VFc2NhcGVlcygpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjptb3ZlKG1fZXNjYXBlZXMp
OworICAgIH0KKworICAgIHZvaWQgZXNjYXBlKE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICBO
b2RlKiBpZGVudGlmaWVyID0gZm9sbG93KG5vZGUpOworICAgICAgICBpZiAoIWlkZW50aWZpZXIp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXNjYXBlQWxsb2NhdGlvbihpZGVudGlm
aWVyKTsKKyAgICB9CisKKyAgICB2b2lkIG1lcmdlKGNvbnN0IExvY2FsSGVhcCYgb3RoZXIpCisg
ICAgeworICAgICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgICAgIG90aGVyLmFzc2VydElzVmFs
aWQoKTsKKyAgICAgICAgQVNTRVJUKCFtX3dhbnRFc2NhcGVlcyk7CisKKyAgICAgICAgaWYgKCFy
ZWFjaGVkKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChvdGhlci5yZWFjaGVkKCkpOworICAgICAg
ICAgICAgKnRoaXMgPSBvdGhlcjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisg
ICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHRvRXNjYXBlOworCisgICAgICAgIGZvciAoYXV0byYgYWxs
b2NhdGlvbkVudHJ5IDogb3RoZXIubV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAgIG1fYWxsb2Nh
dGlvbnMuYWRkKGFsbG9jYXRpb25FbnRyeS5rZXksIGFsbG9jYXRpb25FbnRyeS52YWx1ZSk7Cisg
ICAgICAgIGZvciAoYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogbV9hbGxvY2F0aW9ucykgeworICAg
ICAgICAgICAgYXV0byBhbGxvY2F0aW9uSXRlciA9IG90aGVyLm1fYWxsb2NhdGlvbnMuZmluZChh
bGxvY2F0aW9uRW50cnkua2V5KTsKKworICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBpdCBhbmQg
dGhleSBkb24ndCwgaXQgZGllZCBmb3IgdGhlbSBidXQgd2UKKyAgICAgICAgICAgIC8vIGFyZSBr
ZWVwaW5nIGl0IGFsaXZlIGZyb20gYW5vdGhlciBmaWVsZCBzb21ld2hlcmUuCisgICAgICAgICAg
ICAvLyBUaGVyZSBpcyBub3RoaW5nIHRvIGRvIC0gd2Ugd2lsbCBiZSBlc2NhcGVkCisgICAgICAg
ICAgICAvLyBhdXRvbWF0aWNhbGx5IHdoZW4gd2UgaGFuZGxlIHRoYXQgb3RoZXIgZmllbGQuCisg
ICAgICAgICAgICAvLyBUaGlzIHdpbGwgYWxzbyBoYXBwZW4gZm9yIGFsbG9jYXRpb24gdGhhdCB3
ZSBoYXZlIGFuZAorICAgICAgICAgICAgLy8gdGhleSBkb24ndCwgYW5kIGFsbCBvZiB0aG9zZSB3
aWxsIGdldCBwcnVuZWQuCisgICAgICAgICAgICBpZiAoYWxsb2NhdGlvbkl0ZXIgPT0gb3RoZXIu
bV9hbGxvY2F0aW9ucy5lbmQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICAgICAgaWYgKGFsbG9jYXRpb25FbnRyeS52YWx1ZS5raW5kKCkgIT0gYWxsb2NhdGlvbkl0ZXIt
PnZhbHVlLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIHRvRXNjYXBlLmFkZChhbGxvY2F0aW9u
RW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGZpZWxkRW50cnkg
OiBhbGxvY2F0aW9uSXRlci0+dmFsdWUuZmllbGRzKCkpCisgICAgICAgICAgICAgICAgICAgIHRv
RXNjYXBlLmFkZChmaWVsZEVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgbWVyZ2VQb2ludGVyU2V0cygKKyAgICAgICAgICAgICAgICAgICAgYWxsb2Nh
dGlvbkVudHJ5LnZhbHVlLmZpZWxkcygpLCBhbGxvY2F0aW9uSXRlci0+dmFsdWUuZmllbGRzKCks
CisgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAg
ICAgICAgICAgICAgICAgdG9Fc2NhcGUuYWRkKGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkTG9jYXRpb25EZXNjcmlw
dG9yIGZpZWxkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9uRW50cnkudmFs
dWUucmVtb3ZlKGZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgYWxsb2NhdGlvbkVudHJ5LnZhbHVlLm1lcmdlU3RydWN0dXJlcyhhbGxvY2F0aW9uSXRlci0+
dmFsdWUuc3RydWN0dXJlcygpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IG1lcmdlUG9pbnRlclNldHMobV9wb2ludGVycywgb3RoZXIubV9wb2ludGVycywKKyAgICAgICAg
ICAgIFsmXSAoTm9kZSogaWRlbnRpZmllcikgeworICAgICAgICAgICAgICAgIHRvRXNjYXBlLmFk
ZChpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBbJl0gKE5vZGUqIGZp
ZWxkKSB7CisgICAgICAgICAgICAgICAgbV9wb2ludGVycy5yZW1vdmUoZmllbGQpOworICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgZm9yIChOb2RlKiBpZGVudGlmaWVyIDogdG9Fc2NhcGUpCisg
ICAgICAgICAgICBlc2NhcGVBbGxvY2F0aW9uKGlkZW50aWZpZXIpOworCisgICAgICAgIGlmICgh
QVNTRVJUX0RJU0FCTEVEKSB7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDog
bV9hbGxvY2F0aW9ucykKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGVudHJ5LCBlbnRy
eS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9uKCkgfHwgb3RoZXIubV9hbGxvY2F0aW9ucy5jb250
YWlucyhlbnRyeS5rZXkpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzIG5v
IHJlbWFpbmluZyBwb2ludGVyIHRvIGFuIGFsbG9jYXRpb24sIHdlIGNhbgorICAgICAgICAvLyBy
ZW1vdmUgaXQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGZvciBlc2NhcGVkIGFsbG9jYXRpb25z
LAorICAgICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgbWVyZ2UgbGl2ZW5lc3MtcHJ1bmVkIGhlYXBz
IGluIHRoZSBmaXJzdAorICAgICAgICAvLyBwbGFjZS4KKyAgICAgICAgcHJ1bmUoKTsKKworICAg
ICAgICBhc3NlcnRJc1ZhbGlkKCk7CisgICAgfQorCisgICAgdm9pZCBwcnVuZUJ5TGl2ZW5lc3Mo
Y29uc3QgSGFzaFNldDxOb2RlKj4mIGxpdmUpCisgICAgeworICAgICAgICBWZWN0b3I8Tm9kZSo+
IHRvUmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9wb2ludGVycykg
eworICAgICAgICAgICAgaWYgKCFsaXZlLmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAgICAgICAg
ICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgIH0KKyAgICAgICAgZm9y
IChOb2RlKiBub2RlIDogdG9SZW1vdmUpCisgICAgICAgICAgICBtX3BvaW50ZXJzLnJlbW92ZShu
b2RlKTsKKworICAgICAgICBwcnVuZSgpOworICAgIH0KKworICAgIHZvaWQgYXNzZXJ0SXNWYWxp
ZCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoQVNTRVJUX0RJU0FCTEVEKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIC8vIFBvaW50ZXJzIHNob3VsZCBwb2ludCB0byBhbiBhY3R1
YWwgYWxsb2NhdGlvbgorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9wb2ludGVy
cykgeworICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChlbnRyeSwgZW50cnkudmFsdWUpOworICAg
ICAgICAgICAgQVNTRVJUKG1fYWxsb2NhdGlvbnMuY29udGFpbnMoZW50cnkudmFsdWUpKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYWxsb2NhdGlvbkVudHJ5IDogbV9h
bGxvY2F0aW9ucykgeworICAgICAgICAgICAgLy8gRmllbGRzIHNob3VsZCBwb2ludCB0byBhbiBh
Y3R1YWwgYWxsb2NhdGlvbgorICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBmaWVsZEVudHJ5
IDogYWxsb2NhdGlvbkVudHJ5LnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgQVNT
RVJUX1VOVVNFRChmaWVsZEVudHJ5LCBmaWVsZEVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQobV9hbGxvY2F0aW9ucy5jb250YWlucyhmaWVsZEVudHJ5LnZhbHVlKSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3Qg
TG9jYWxIZWFwJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIGFzc2VydElzVmFsaWQoKTsK
KyAgICAgICAgb3RoZXIuYXNzZXJ0SXNWYWxpZCgpOworICAgICAgICByZXR1cm4gbV9hbGxvY2F0
aW9ucyA9PSBvdGhlci5tX2FsbG9jYXRpb25zCisgICAgICAgICAgICAmJiBtX3BvaW50ZXJzID09
IG90aGVyLm1fcG9pbnRlcnM7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExv
Y2FsSGVhcCYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBv
dGhlcik7CisgICAgfQorCisgICAgY29uc3QgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gYWxs
b2NhdGlvbnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvbnM7Cisg
ICAgfQorCisgICAgY29uc3QgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IHBvaW50ZXJzKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtX3BvaW50ZXJzOworICAgIH0KKworICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAgb3V0LnByaW50KCIgIEFs
bG9jYXRpb25zOlxuIik7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBtX2FsbG9j
YXRpb25zKQorICAgICAgICAgICAgb3V0LnByaW50KCIgICAgIyIsIGVudHJ5LmtleSwgIjogIiwg
ZW50cnkudmFsdWUsICJcbiIpOworICAgICAgICBvdXQucHJpbnQoIiAgUG9pbnRlcnM6XG4iKTsK
KyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fcG9pbnRlcnMpCisgICAgICAgICAg
ICBvdXQucHJpbnQoIiAgICAiLCBlbnRyeS5rZXksICIgPT4gIyIsIGVudHJ5LnZhbHVlLCAiXG4i
KTsKKyAgICB9CisKKyAgICBib29sIHJlYWNoZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fcmVhY2hlZDsKKyAgICB9CisKKyAgICB2b2lkIHNldFJlYWNoZWQoKQorICAgIHsKKyAg
ICAgICAgbV9yZWFjaGVkID0gdHJ1ZTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgLy8gV2hlbiB3
ZSBtZXJnZSB0d28gaGVhcHMsIHdlIGVzY2FwZSBhbGwgZmllbGRzIG9mIGFsbG9jYXRpb25zLAor
ICAgIC8vIHVubGVzcyB0aGV5IHBvaW50IHRvIHRoZSBzYW1lIHRoaW5nIGluIGJvdGggaGVhcHMu
CisgICAgLy8gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGl0IGFsbG93cyB1cyBub3QgdG8g
ZG8gZXh0cmEgd29yaworICAgIC8vIGZvciBkaWFtb25kIGdyYXBocyB3aGVyZSB3ZSB3b3VsZCBv
dGhlcndpc2UgaGF2ZSB0byBjaGVjaworICAgIC8vIHdoZXRoZXIgd2UgaGF2ZSBhIHNpbmdsZSBk
ZWZpbml0aW9uIG9yIG5vdCwgd2hpY2ggd291bGQgYmUKKyAgICAvLyBjdW1iZXJzb21lLgorICAg
IC8vCisgICAgLy8gTm90ZSB0aGF0IHdlIHNob3VsZCB0cnkgdG8gdW5pZnkgbm9kZXMgZXZlbiB3
aGVuIHRoZXkgYXJlIG5vdAorICAgIC8vIGZyb20gdGhlIHNhbWUgYWxsb2NhdGlvbjsgZm9yIGlu
c3RhbmNlIHdlIHNob3VsZCBiZSBhYmxlIHRvCisgICAgLy8gY29tcGxldGVseSBlbGltaW5hdGUg
YWxsIGFsbG9jYXRpb25zIGZyb20gdGhlIGZvbGxvd2luZyBncmFwaDoKKyAgICAvLworICAgIC8v
IEJsb2NrICMwCisgICAgLy8gIDA6IE5ld09iamVjdCh7fSkKKyAgICAvLyAgLTogQnJhbmNoKCMx
LCAjMikKKyAgICAvLworICAgIC8vIEJsb2NrICMxCisgICAgLy8gIDE6IE5ld09iamVjdCh7fSkK
KyAgICAvLyAgLTogUHV0QnlPZmZzZXQoQDEsICJsZWZ0IiwgdmFsKQorICAgIC8vICAtOiBQdXRT
dHJ1Y3R1cmUoQDEsIHt2YWw6MH0pCisgICAgLy8gIC06IFB1dEJ5T2Zmc2V0KEAwLCBAMSwgeCkK
KyAgICAvLyAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAvLyAgLTogSnVtcCgjMykK
KyAgICAvLworICAgIC8vIEJsb2NrICMyCisgICAgLy8gIDI6IE5ld09iamVjdCh7fSkKKyAgICAv
LyAgLTogUHV0QnlPZmZzZXQoQDIsICJyaWdodCIsIHZhbCkKKyAgICAvLyAgLTogUHV0U3RydWN0
dXJlKEAyLCB7dmFsOjB9KQorICAgIC8vICAtOiBQdXRCeU9mZnNldChAMCwgQDIsIHgpCisgICAg
Ly8gIC06IFB1dFN0cnVjdHVyZShAMCwge3g6MH0pCisgICAgLy8gIC06IEp1bXAoIzMpCisgICAg
Ly8KKyAgICAvLyBCbG9jayAjMzoKKyAgICAvLyAgMzogR2V0QnlPZmZzZXQoQDAsIHgpCisgICAg
Ly8gIDQ6IEdldEJ5T2Zmc2V0KEAzLCB2YWwpCisgICAgLy8gIC06IFJldHVybihANCkKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIEVzY2FwZUZ1bmN0b3IsIHR5cGVuYW1lIFJl
bW92ZUZ1bmN0b3I+CisgICAgdm9pZCBtZXJnZVBvaW50ZXJTZXRzKAorICAgICAgICBjb25zdCBI
YXNoTWFwPEtleSwgTm9kZSo+JiBteSwgY29uc3QgSGFzaE1hcDxLZXksIE5vZGUqPiYgdGhlaXIs
CisgICAgICAgIGNvbnN0IEVzY2FwZUZ1bmN0b3ImIGVzY2FwZSwgY29uc3QgUmVtb3ZlRnVuY3Rv
ciYgcmVtb3ZlKQorICAgIHsKKyAgICAgICAgVmVjdG9yPEtleT4gdG9SZW1vdmU7CisgICAgICAg
IGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBteSkgeworICAgICAgICAgICAgYXV0byBpdGVyID0g
dGhlaXIuZmluZChlbnRyeS5rZXkpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0gdGhlaXIuZW5k
KCkpIHsKKyAgICAgICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQoZW50cnkua2V5KTsKKyAgICAg
ICAgICAgICAgICBlc2NhcGUoZW50cnkudmFsdWUpOworICAgICAgICAgICAgfSBlbHNlIGlmIChp
dGVyLT52YWx1ZSAhPSBlbnRyeS52YWx1ZSkgeworICAgICAgICAgICAgICAgIHRvUmVtb3ZlLmFw
cGVuZChlbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGVzY2FwZShlbnRyeS52YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgZXNjYXBlKGl0ZXItPnZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogdGhlaXIpIHsKKyAgICAgICAg
ICAgIGlmIChteS5jb250YWlucyhlbnRyeS5rZXkpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgZXNjYXBlKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBm
b3IgKEtleSBrZXkgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgIHJlbW92ZShrZXkpOworICAgIH0K
KworICAgIHZvaWQgZXNjYXBlQWxsb2NhdGlvbihOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAg
ICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IGdldEFsbG9jYXRpb24oaWRlbnRpZmllcik7
CisgICAgICAgIGlmIChhbGxvY2F0aW9uLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBBbGxvY2F0aW9uIHVuZXNjYXBlZCA9IFdURjo6bW92ZShh
bGxvY2F0aW9uKTsKKyAgICAgICAgYWxsb2NhdGlvbiA9IEFsbG9jYXRpb24odW5lc2NhcGVkLmlk
ZW50aWZpZXIoKSwgQWxsb2NhdGlvbjo6S2luZDo6RXNjYXBlZCk7CisKKyAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBlbnRyeSA6IHVuZXNjYXBlZC5maWVsZHMoKSkKKyAgICAgICAgICAgIGVzY2Fw
ZUFsbG9jYXRpb24oZW50cnkudmFsdWUpOworCisgICAgICAgIGlmIChtX3dhbnRFc2NhcGVlcykK
KyAgICAgICAgICAgIG1fZXNjYXBlZXMuYWRkKHVuZXNjYXBlZC5pZGVudGlmaWVyKCksIFdURjo6
bW92ZSh1bmVzY2FwZWQpKTsKKyAgICB9CisKKyAgICB2b2lkIHBydW5lKCkKKyAgICB7CisgICAg
ICAgIEhhc2hTZXQ8Tm9kZSo+IHJlYWNoYWJsZTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBl
bnRyeSA6IG1fcG9pbnRlcnMpCisgICAgICAgICAgICByZWFjaGFibGUuYWRkKGVudHJ5LnZhbHVl
KTsKKworICAgICAgICAvLyBSZXBlYXRlZGx5IG1hcmsgYXMgcmVhY2hhYmxlIGFsbG9jYXRpb25z
IGluIGZpZWxkcyBvZiBvdGhlcgorICAgICAgICAvLyByZWFjaGFibGUgYWxsb2NhdGlvbnMKKyAg
ICAgICAgeworICAgICAgICAgICAgVmVjdG9yPE5vZGUqPiB3b3JrbGlzdDsKKyAgICAgICAgICAg
IHdvcmtsaXN0LmFwcGVuZFJhbmdlKHJlYWNoYWJsZS5iZWdpbigpLCByZWFjaGFibGUuZW5kKCkp
OworCisgICAgICAgICAgICB3aGlsZSAoIXdvcmtsaXN0LmlzRW1wdHkoKSkgeworICAgICAgICAg
ICAgICAgIE5vZGUqIGlkZW50aWZpZXIgPSB3b3JrbGlzdC50YWtlTGFzdCgpOworICAgICAgICAg
ICAgICAgIEFsbG9jYXRpb24mIGFsbG9jYXRpb24gPSBtX2FsbG9jYXRpb25zLmZpbmQoaWRlbnRp
ZmllciktPnZhbHVlOworICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBh
bGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZWFjaGFibGUu
YWRkKGVudHJ5LnZhbHVlKS5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAgd29y
a2xpc3QuYXBwZW5kKGVudHJ5LnZhbHVlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBSZW1vdmUgdW5yZWFjaGFibGUgYWxsb2NhdGlv
bnMKKyAgICAgICAgeworICAgICAgICAgICAgVmVjdG9yPE5vZGUqPiB0b1JlbW92ZTsKKyAgICAg
ICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBtX2FsbG9jYXRpb25zKSB7CisgICAgICAg
ICAgICAgICAgaWYgKCFyZWFjaGFibGUuY29udGFpbnMoZW50cnkua2V5KSkKKyAgICAgICAgICAg
ICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVudHJ5LmtleSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiB0b1JlbW92ZSkKKyAgICAgICAgICAgICAg
ICBtX2FsbG9jYXRpb25zLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGJvb2wgbV9yZWFjaGVkID0gZmFsc2U7CisgICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1f
cG9pbnRlcnM7CisgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gbV9hbGxvY2F0aW9uczsK
KworICAgIGJvb2wgbV93YW50RXNjYXBlZXMgPSBmYWxzZTsKKyAgICBIYXNoTWFwPE5vZGUqLCBB
bGxvY2F0aW9uPiBtX2VzY2FwZWVzOworfTsKIAogY2xhc3MgT2JqZWN0QWxsb2NhdGlvblNpbmtp
bmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiBwdWJsaWM6CiAgICAgT2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZShHcmFwaCYgZ3JhcGgpCi0gICAgICAgIDogUGhhc2UoZ3JhcGgsICJvYmplY3Qg
YWxsb2NhdGlvbiBzaW5raW5nIikKLSAgICAgICAgLCBtX3NzYUNhbGN1bGF0b3IoZ3JhcGgpCisg
ICAgICAgIDogUGhhc2UoZ3JhcGgsICJvYmplY3QgYWxsb2NhdGlvbiBlbGltaW5hdGlvbiIpCisg
ICAgICAgICwgbV9wb2ludGVyU1NBKGdyYXBoKQorICAgICAgICAsIG1fYWxsb2NhdGlvblNTQShn
cmFwaCkKICAgICAgICAgLCBtX2luc2VydGlvblNldChncmFwaCkKICAgICB7CiAgICAgfQotICAg
IAorCiAgICAgYm9vbCBydW4oKQogICAgIHsKKyAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9mb3Jt
ID09IFNTQSk7CiAgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZml4cG9pbnRTdGF0ZSA9PSBGaXhw
b2ludE5vdENvbnZlcmdlZCk7Ci0gICAgICAgIAotICAgICAgICBtX2dyYXBoLm1fZG9taW5hdG9y
cy5jb21wdXRlSWZOZWNlc3NhcnkobV9ncmFwaCk7Ci0gICAgICAgIAotICAgICAgICAvLyBMb2dp
Y2FsbHkgd2Ugd2lzaCB0byBjb25zaWRlciBldmVyeSBOZXdPYmplY3QgYW5kIHNpbmsgaXQuIEhv
d2V2ZXIgaXQncyBwcm9iYWJseSBub3QKLSAgICAgICAgLy8gcHJvZml0YWJsZSB0byBzaW5rIGEg
TmV3T2JqZWN0IHRoYXQgd2lsbCBhbHdheXMgZXNjYXBlLiBTbywgZmlyc3Qgd2UgZG8gYSB2ZXJ5
IHNpbXBsZQotICAgICAgICAvLyBmb3J3YXJkIGZsb3cgYW5hbHlzaXMgdGhhdCBkZXRlcm1pbmVz
IHRoZSBzZXQgb2YgTmV3T2JqZWN0IG5vZGVzIHRoYXQgaGF2ZSBhbnkgY2hhbmNlCi0gICAgICAg
IC8vIG9mIGJlbmVmaXRpbmcgZnJvbSBvYmplY3QgYWxsb2NhdGlvbiBzaW5raW5nLiBUaGVuIHdl
IGZpeHBvaW50IHRoZSBmb2xsb3dpbmcgcnVsZXM6Ci0gICAgICAgIC8vCi0gICAgICAgIC8vIC0g
Rm9yIGVhY2ggTmV3T2JqZWN0LCB3ZSB0dXJuIHRoZSBvcmlnaW5hbCBOZXdPYmplY3QgaW50byBh
IFBoYW50b21OZXdPYmplY3QgYW5kIHRoZW4KLSAgICAgICAgLy8gICB3ZSBpbnNlcnQgTWF0ZXJp
YWxpemVOZXdPYmplY3QganVzdCBiZWZvcmUgdGhvc2UgZXNjYXBpbmcgc2l0ZXMgdGhhdCBjb21l
IGJlZm9yZSBhbnkKLSAgICAgICAgLy8gICBvdGhlciBlc2NhcGluZyBzaXRlcyAtIHRoYXQgaXMs
IHRoZXJlIGlzIG5vIHBhdGggYmV0d2VlbiB0aGUgYWxsb2NhdGlvbiBhbmQgdGhvc2Ugc2l0ZXMK
LSAgICAgICAgLy8gICB0aGF0IHdvdWxkIHNlZSBhbnkgb3RoZXIgZXNjYXBlLiBOb3RlIHRoYXQg
VXBzaWxvbnMgY29uc3RpdHV0ZSBlc2NhcGluZyBzaXRlcy4gVGhlbiB3ZQotICAgICAgICAvLyAg
IGluc2VydCBhZGRpdGlvbmFsIE1hdGVyaWFsaXplTmV3T2JqZWN0IG5vZGVzIG9uIFVwc2lsb25z
IHRoYXQgZmVlZCBpbnRvIFBoaXMgdGhhdCBtaXgKLSAgICAgICAgLy8gICBtYXRlcmlhbGl6YXRp
b25zIGFuZCB0aGUgb3JpZ2luYWwgUGhhbnRvbU5ld09iamVjdC4gV2UgdGhlbiB0dXJuIGVhY2gg
UHV0QnlPZmZzZXQgb3ZlciBhCi0gICAgICAgIC8vICAgUGhhbnRvbU5ld09iamVjdCBpbnRvIGEg
UHV0SGludC4KLSAgICAgICAgLy8KLSAgICAgICAgLy8gLSBXZSBwZXJmb3JtIHRoZSBzYW1lIG9w
dGltaXphdGlvbiBmb3IgTWF0ZXJpYWxpemVOZXdPYmplY3QuIFRoaXMgYWxsb3dzIHVzIHRvIGNv
dmVyCi0gICAgICAgIC8vICAgY2FzZXMgd2hlcmUgd2UgaGFkIE1hdGVyaWFsaXplTmV3T2JqZWN0
IGZsb3dpbmcgaW50byBhIFB1dEhpbnQuCi0gICAgICAgIC8vCi0gICAgICAgIC8vIFdlIGNvdWxk
IGFsc28gYWRkIHRoaXMgcnVsZToKLSAgICAgICAgLy8KLSAgICAgICAgLy8gLSBJZiBhbGwgb2Yg
dGhlIFVwc2lsb25zIG9mIGEgUGhpIGhhdmUgYSBNYXRlcmlhbGl6ZU5ld09iamVjdCB0aGF0IGlz
bid0IHVzZWQgYnkgYW55b25lCi0gICAgICAgIC8vICAgZWxzZSwgdGhlbiByZXBsYWNlIHRoZSBQ
aGkgd2l0aCB0aGUgTWF0ZXJpYWxpemVOZXdPYmplY3QuCi0gICAgICAgIC8vCi0gICAgICAgIC8v
ICAgRklYTUU6IEltcGxlbWVudCB0aGlzLiBOb3RlIHRoYXQgdGhpcyB0b3RhbGx5IGRvYWJsZSBi
dXQgaXQgcmVxdWlyZXMgc29tZSBnbmFybHkKLSAgICAgICAgLy8gICBjb2RlLCBhbmQgdG8gYmUg
ZWZmZWN0aXZlIHRoZSBwcnVuZXIgbmVlZHMgdG8gYmUgYXdhcmUgb2YgaXQuIEN1cnJlbnRseSBh
bnkgVXBzaWxvbgotICAgICAgICAvLyAgIGlzIGNvbnNpZGVyZWQgdG8gYmUgYW4gZXNjYXBlIGV2
ZW4gYnkgdGhlIHBydW5lciwgc28gaXQncyB1bmxpa2VseSB0aGF0IHdlJ2xsIHNlZQotICAgICAg
ICAvLyAgIG1hbnkgY2FzZXMgb2YgUGhpIG92ZXIgTWF0ZXJpYWxpemF0aW9ucy4KLSAgICAgICAg
Ly8gICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTI3Ci0gICAg
ICAgIAorCiAgICAgICAgIGlmICghcGVyZm9ybVNpbmtpbmcoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIHdoaWxlIChwZXJmb3JtU2lua2luZygpKSB7IH0K
LSAgICAgICAgCisKICAgICAgICAgaWYgKHZlcmJvc2UpIHsKLSAgICAgICAgICAgIGRhdGFMb2co
IkdyYXBoIGFmdGVyIHNpbmtpbmc6XG4iKTsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBoIGFm
dGVyIGVsaW1pbmF0aW9uOlxuIik7CiAgICAgICAgICAgICBtX2dyYXBoLmR1bXAoKTsKICAgICAg
ICAgfQotICAgICAgICAKKwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTEwNiw5
NTAgKzcxNiwxMjA3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwZXJmb3JtU2lua2luZygpCiAgICAg
ewogICAgICAgICBtX2dyYXBoLmNvbXB1dGVSZWZDb3VudHMoKTsKKyAgICAgICAgbV9ncmFwaC5p
bml0aWFsaXplTm9kZU93bmVycygpOwogICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyht
X2dyYXBoKTsKICAgICAgICAgcGVyZm9ybU9TUkF2YWlsYWJpbGl0eUFuYWx5c2lzKG1fZ3JhcGgp
OwogICAgICAgICBtX2NvbWJpbmVkTGl2ZW5lc3MgPSBDb21iaW5lZExpdmVuZXNzKG1fZ3JhcGgp
OwotICAgICAgICAKKwogICAgICAgICBDU3RyaW5nIGdyYXBoQmVmb3JlU2lua2luZzsKICAgICAg
ICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VWYWxpZGF0aW9uRmFpbHVyZSgpICYmIE9wdGlvbnM6OnZh
bGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKSB7CiAgICAgICAgICAgICBTdHJpbmdQcmludFN0cmVh
bSBvdXQ7CiAgICAgICAgICAgICBtX2dyYXBoLmR1bXAob3V0KTsKICAgICAgICAgICAgIGdyYXBo
QmVmb3JlU2lua2luZyA9IG91dC50b0NTdHJpbmcoKTsKICAgICAgICAgfQotICAgICAgICAKKwog
ICAgICAgICBpZiAodmVyYm9zZSkgewotICAgICAgICAgICAgZGF0YUxvZygiR3JhcGggYmVmb3Jl
IHNpbmtpbmc6XG4iKTsKKyAgICAgICAgICAgIGRhdGFMb2coIkdyYXBoIGJlZm9yZSBlbGltaW5h
dGlvbjpcbiIpOwogICAgICAgICAgICAgbV9ncmFwaC5kdW1wKCk7CiAgICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIGRldGVybWluZU1hdGVyaWFsaXphdGlvblBvaW50cygpOwotICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5pc0VtcHR5KCkpCisKKyAgICAgICAgcGVyZm9ybUFuYWx5c2lz
KCk7CisKKyAgICAgICAgaWYgKCFkZXRlcm1pbmVTaW5rQ2FuZGlkYXRlcygpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBh
cmUgY29tbWl0dGVkIHRvIHNpbmtpbmcgdGhlIHNpbmtpbmcgY2FuZGlkYXRlcy4KLSAgICAgICAg
cGxhY2VNYXRlcmlhbGl6YXRpb25Qb2ludHMoKTsKLSAgICAgICAgbG93ZXJOb25SZWFkaW5nT3Bl
cmF0aW9uc09uUGhhbnRvbUFsbG9jYXRpb25zKCk7Ci0gICAgICAgIHByb21vdGVTdW5rZW5GaWVs
ZHMoKTsKLSAgICAgICAgCisKKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgICAgIGZv
ciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsK
KyAgICAgICAgICAgICAgICBkYXRhTG9nKCJIZWFwIGF0IGhlYWQgb2YgIiwgKmJsb2NrLCAiOiBc
biIsIG1faGVhcEF0SGVhZFtibG9ja10pOworICAgICAgICAgICAgICAgIGRhdGFMb2coIkhlYXAg
YXQgdGFpbCBvZiAiLCAqYmxvY2ssICI6IFxuIiwgbV9oZWFwQXRUYWlsW2Jsb2NrXSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwcm9tb3RlTG9jYWxIZWFwKCk7CisKICAg
ICAgICAgaWYgKE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpKQogICAgICAgICAg
ICAgdmFsaWRhdGUobV9ncmFwaCwgRHVtcEdyYXBoLCBncmFwaEJlZm9yZVNpbmtpbmcpOwotICAg
ICAgICAKLSAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICBkYXRhTG9nKCJTaW5raW5n
IGl0ZXJhdGlvbiBjaGFuZ2VkIHRoZSBncmFwaC5cbiIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9Ci0gICAgCi0gICAgdm9pZCBkZXRlcm1pbmVNYXRlcmlhbGl6YXRpb25Qb2ludHMoKQor
CisgICAgdm9pZCBwZXJmb3JtQW5hbHlzaXMoKQogICAgIHsKLSAgICAgICAgLy8gVGhlIHByZW1p
c2Ugb2YgdGhpcyBwYXNzIGlzIHRoYXQgaWYgdGhlcmUgZXhpc3RzIGEgcG9pbnQgaW4gdGhlIHBy
b2dyYW0gd2hlcmUgc29tZQotICAgICAgICAvLyBwYXRoIGZyb20gYSBwaGFudG9tIGFsbG9jYXRp
b24gc2l0ZSB0byB0aGF0IHBvaW50IGNhdXNlcyBtYXRlcmlhbGl6YXRpb24sIHRoZW4gKmFsbCoK
LSAgICAgICAgLy8gcGF0aHMgY2F1c2UgbWF0ZXJpYWxpemF0aW9uLiBUaGlzIHNob3VsZCBtZWFu
IHRoYXQgdGhlcmUgYXJlIG5ldmVyIGFueSByZWR1bmRhbnQKLSAgICAgICAgLy8gbWF0ZXJpYWxp
emF0aW9ucy4KLSAgICAgICAgCi0gICAgICAgIG1fc2lua0NhbmRpZGF0ZXMuY2xlYXIoKTsKLSAg
ICAgICAgbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuY2xlYXIoKTsKLSAgICAgICAgbV9tYXRl
cmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmNsZWFyKCk7Ci0gICAgICAgIAotICAg
ICAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxpemVkQXRIZWFkKG1f
Z3JhcGgpOwotICAgICAgICBCbG9ja01hcDxIYXNoTWFwPE5vZGUqLCBib29sPj4gbWF0ZXJpYWxp
emVkQXRUYWlsKG1fZ3JhcGgpOwotICAgICAgICAKKyAgICAgICAgbV9oZWFwQXRIZWFkID0gQmxv
Y2tNYXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKyAgICAgICAgbV9oZWFwQXRUYWlsID0gQmxvY2tN
YXA8TG9jYWxIZWFwPihtX2dyYXBoKTsKKwogICAgICAgICBib29sIGNoYW5nZWQ7CiAgICAgICAg
IGRvIHsKICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgIGRhdGFMb2co
IkRvaW5nIGl0ZXJhdGlvbiBvZiBtYXRlcmlhbGl6YXRpb24gcG9pbnQgcGxhY2VtZW50LlxuIik7
CisgICAgICAgICAgICAgICAgZGF0YUxvZygiRG9pbmcgaXRlcmF0aW9uIG9mIGVzY2FwZSBhbmFs
eXNpcy5cbiIpOwogICAgICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAgICAgZm9y
IChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewot
ICAgICAgICAgICAgICAgIEhhc2hNYXA8Tm9kZSosIGJvb2w+IG1hdGVyaWFsaXplZCA9IG1hdGVy
aWFsaXplZEF0SGVhZFtibG9ja107Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAg
ICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICBMb29raW5nIGF0IGJsb2NrICIsIHBvaW50ZXJE
dW1wKGJsb2NrKSwgIlxuIik7CisKKyAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgICAgIG1faGVhcEF0
SGVhZFtibG9ja10uc2V0UmVhY2hlZCgpOworICAgICAgICAgICAgICAgIG1faGVhcCA9IG1faGVh
cEF0SGVhZFtibG9ja107CisKICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxv
Y2spIHsKICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKICAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBbJl0gKCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQobm9kZSwgZmFsc2UpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSog
ZXNjYXBlZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IG1hdGVy
aWFsaXplZC5maW5kKGVzY2FwZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChp
dGVyICE9IG1hdGVyaWFsaXplZC5lbmQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh
dGFMb2coIiAgICAiLCBlc2NhcGVlLCAiIGVzY2FwZXMgYXQgIiwgbm9kZSwgIlxuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXItPnZhbHVlID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBbXSAoUHJvbW90
ZWRIZWFwTG9jYXRpb24sIExhenlOb2RlKSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICBb
Jl0gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKHZl
cmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICBNYXRlcmlhbGl6ZWQgYXQg
dGFpbCBvZiAiLCBwb2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobWF0ZXJpYWxpemVk
KSwgIlxuIik7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFs
aXplZCA9PSBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdKQorCisgICAgICAgICAgICAgICAgaWYg
KG1faGVhcCA9PSBtX2hlYXBBdFRhaWxbYmxvY2tdKQogICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWRBdFRh
aWxbYmxvY2tdID0gbWF0ZXJpYWxpemVkOworCisgICAgICAgICAgICAgICAgbV9oZWFwQXRUYWls
W2Jsb2NrXSA9IG1faGVhcDsKICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBPbmx5IHByb3BhZ2F0ZSB0aGluZ3MgdG8g
b3VyIHN1Y2Nlc3NvcnMgaWYgdGhleSBhcmUgYWxpdmUgaW4gYWxsIHN1Y2Nlc3NvcnMuCi0gICAg
ICAgICAgICAgICAgLy8gU28sIHdlIHBydW5lIG1hdGVyaWFsaXplZC1hdC10YWlsIHRvIG9ubHkg
aW5jbHVkZSB0aGluZ3MgdGhhdCBhcmUgbGl2ZS4KLSAgICAgICAgICAgICAgICBWZWN0b3I8Tm9k
ZSo+IHRvUmVtb3ZlOwotICAgICAgICAgICAgICAgIGZvciAoYXV0byBwYWlyIDogbWF0ZXJpYWxp
emVkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghbV9jb21iaW5lZExpdmVuZXNzLmxpdmVB
dFRhaWxbYmxvY2tdLmNvbnRhaW5zKHBhaXIua2V5KSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRvUmVtb3ZlLmFwcGVuZChwYWlyLmtleSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGZvciAoTm9kZSoga2V5IDogdG9SZW1vdmUpCi0gICAgICAgICAgICAgICAgICAgIG1h
dGVyaWFsaXplZC5yZW1vdmUoa2V5KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkg
ewotICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8gcGFpciA6IG1hdGVyaWFsaXplZCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2Nr
XS5hZGQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpci5rZXksIGZhbHNlKS5pdGVy
YXRvci0+dmFsdWUgfD0gcGFpci52YWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG1faGVhcC5hc3NlcnRJc1ZhbGlkKCk7CisK
KyAgICAgICAgICAgICAgICAvLyBXZSBrZWVwIG9ubHkgcG9pbnRlcnMgdGhhdCBhcmUgbGl2ZSwg
YW5kIG9ubHkKKyAgICAgICAgICAgICAgICAvLyBhbGxvY2F0aW9ucyB0aGF0IGFyZSBlaXRoZXIg
bGl2ZSwgcG9pbnRlZCB0byBieSBhCisgICAgICAgICAgICAgICAgLy8gbGl2ZSBwb2ludGVyLCBv
ciAocmVjdXJzaXZlbHkpIHN0b3JlZCBpbiBhIGZpZWxkIG9mCisgICAgICAgICAgICAgICAgLy8g
YSBsaXZlIGFsbG9jYXRpb24uCisgICAgICAgICAgICAgICAgLy8KKyAgICAgICAgICAgICAgICAv
LyBUaGlzIG1lYW5zIHdlIGNhbiBhY2NpZGVudGFseSBsZWFrIG5vbi1kb21pbmF0aW5nCisgICAg
ICAgICAgICAgICAgLy8gbm9kZXMgaW50byB0aGUgc3VjY2Vzc29yLiBIb3dldmVyLCBkdWUgdG8g
dGhlCisgICAgICAgICAgICAgICAgLy8gbm9uLWRvbWluYW5jZSBwcm9wZXJ0eSwgd2UgYXJlIGd1
YXJhbnRlZWQgdGhhdCB0aGUKKyAgICAgICAgICAgICAgICAvLyBzdWNjZXNzb3IgaGFzIGF0IGxl
YXN0IG9uZSBwcmVkZWNlc3NvciB0aGF0IGlzIG5vdAorICAgICAgICAgICAgICAgIC8vIGRvbWlu
YXRlZCBlaXRoZXI6IHRoaXMgbWVhbnMgYW55IHJlZmVyZW5jZSB0byBhCisgICAgICAgICAgICAg
ICAgLy8gbm9uLWRvbWluYXRpbmcgYWxsb2NhdGlvbiBpbiB0aGUgc3VjY2Vzc29yIHdpbGwKKyAg
ICAgICAgICAgICAgICAvLyB0cmlnZ2VyIGFuIGVzY2FwZSBhbmQgZ2V0IHBydW5lZCBkdXJpbmcg
dGhlIG1lcmdlLgorICAgICAgICAgICAgICAgIG1faGVhcC5wcnVuZUJ5TGl2ZW5lc3MobV9jb21i
aW5lZExpdmVuZXNzLmxpdmVBdFRhaWxbYmxvY2tdKTsKKworICAgICAgICAgICAgICAgIGZvciAo
QmFzaWNCbG9jayogc3VjY2Vzc29yQmxvY2sgOiBibG9jay0+c3VjY2Vzc29ycygpKQorICAgICAg
ICAgICAgICAgICAgICBtX2hlYXBBdEhlYWRbc3VjY2Vzc29yQmxvY2tdLm1lcmdlKG1faGVhcCk7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gd2hpbGUgKGNoYW5nZWQpOwotICAgICAgICAKLSAg
ICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBzaW5rIGNhbmRpZGF0ZXMuIEJyb2FkbHksIGEgc2luayBj
YW5kaWRhdGUgaXMgYSBub2RlIHRoYXQgaGFuZGxlTm9kZSgpCi0gICAgICAgIC8vIGJlbGlldmVz
IGlzIHNpbmthYmxlLCBhbmQgb25lIG9mIHRoZSBmb2xsb3dpbmcgaXMgdHJ1ZToKKyAgICB9CisK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlc29sdmVGdW5j
dG9yPgorICAgIHZvaWQgaGFuZGxlTm9kZSgKKyAgICAgICAgTm9kZSogbm9kZSwKKyAgICAgICAg
Y29uc3QgV3JpdGVGdW5jdG9yJiBoZWFwV3JpdGUsCisgICAgICAgIGNvbnN0IFJlc29sdmVGdW5j
dG9yJiBoZWFwUmVzb2x2ZSkKKyAgICB7CisgICAgICAgIG1faGVhcC5hc3NlcnRJc1ZhbGlkKCk7
CisgICAgICAgIEFTU0VSVChtX2hlYXAudGFrZUVzY2FwZWVzKCkuaXNFbXB0eSgpKTsKKworICAg
ICAgICBBbGxvY2F0aW9uKiB0YXJnZXQgPSBudWxscHRyOworICAgICAgICBIYXNoTWFwPFByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yLCBMYXp5Tm9kZT4gd3JpdGVzOworICAgICAgICBQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvciBleGFjdFJlYWQ7CisKKyAgICAgICAgc3dpdGNoIChub2RlLT5v
cCgpKSB7CisgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgdGFyZ2V0ID0gJm1f
aGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9jYXRpb246OktpbmQ6Ok9iamVjdCk7CisgICAg
ICAgICAgICB0YXJnZXQtPnNldFN0cnVjdHVyZXMobm9kZS0+c3RydWN0dXJlKCkpOworICAgICAg
ICAgICAgd3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVQTG9jLCBMYXp5Tm9k
ZShtX2dyYXBoLmZyZWV6ZShub2RlLT5zdHJ1Y3R1cmUoKSkpKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKKyAgICAgICAgICAgIHRh
cmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpPYmpl
Y3QpOworICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnN0cnVjdHVyZVNl
dCgpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoCisgICAgICAgICAgICAgICAgU3RydWN0dXJl
UExvYywgTGF6eU5vZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6
YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
d3JpdGVzLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0
b3IoCisgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3Bl
cnRpZXNbaV0ubV9pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgTGF6eU5v
ZGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246IHsKKyAgICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1
dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAg
ICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRhcmdldCA9ICZtX2hl
YXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbik7CisgICAg
ICAgICAgICB3cml0ZXMuYWRkKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIExhenlOb2RlKG5vZGUt
PmNlbGxPcGVyYW5kKCkpKTsKKyAgICAgICAgICAgIHdyaXRlcy5hZGQoRnVuY3Rpb25BY3RpdmF0
aW9uUExvYywgTGF6eU5vZGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjogeworICAg
ICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9u
U2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0FsbG9jYXRpb24obm9kZSwg
QWxsb2NhdGlvbjo6S2luZDo6QWN0aXZhdGlvbik7CisgICAgICAgICAgICB3cml0ZXMuYWRkKEFj
dGl2YXRpb25TeW1ib2xUYWJsZVBMb2MsIExhenlOb2RlKG5vZGUtPmNlbGxPcGVyYW5kKCkpKTsK
KyAgICAgICAgICAgIHdyaXRlcy5hZGQoQWN0aXZhdGlvblNjb3BlUExvYywgTGF6eU5vZGUobm9k
ZS0+Y2hpbGQxKCkubm9kZSgpKSk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3lt
Ym9sVGFibGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigp
OworICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxl
LT5tX2xvY2spOworICAgICAgICAgICAgICAgIExhenlOb2RlIHVuZGVmaW5lZChtX2dyYXBoLmZy
ZWV6ZShqc1VuZGVmaW5lZCgpKSk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBz
eW1ib2xUYWJsZS0+YmVnaW4obG9ja2VyKSwgZW5kID0gc3ltYm9sVGFibGUtPmVuZChsb2NrZXIp
OyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlcy5hZGQo
CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihDbG9z
dXJlVmFyUExvYywgaXRlci0+dmFsdWUuc2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICB1bmRlZmluZWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBNYXRl
cmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgc3VuayB0
aGlzIG9uY2UgYWxyZWFkeSAtIHRoZXJlIGlzIG5vIHdheSB0aGUKKyAgICAgICAgICAgIC8vIHdh
dGNocG9pbnQgaXMgc3RpbGwgdmFsaWQuCisgICAgICAgICAgICBBU1NFUlQoIW5vZGUtPmNhc3RP
cGVyYW5kPFN5bWJvbFRhYmxlKj4oKS0+c2luZ2xldG9uU2NvcGUoKS0+aXNTdGlsbFZhbGlkKCkp
OworICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUsIEFsbG9j
YXRpb246OktpbmQ6OkFjdGl2YXRpb24pOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0
aW9uU3ltYm9sVGFibGVQTG9jLCBMYXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDAp
Lm5vZGUoKSkpOworICAgICAgICAgICAgd3JpdGVzLmFkZChBY3RpdmF0aW9uU2NvcGVQTG9jLCBM
YXp5Tm9kZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpLm5vZGUoKSkpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRh
dGEoKS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICB3cml0ZXMu
YWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLAorICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpLm1fcHJvcGVydGllc1tpXS5t
X2lkZW50aWZpZXJOdW1iZXIpLAorICAgICAgICAgICAgICAgICAgICBMYXp5Tm9kZShtX2dyYXBo
LnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAyKS5ub2RlKCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6Cisg
ICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGls
ZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0
QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgd3JpdGVzLmFkZChTdHJ1Y3R1cmVQTG9j
LCBMYXp5Tm9kZShtX2dyYXBoLmZyZWV6ZShKU1ZhbHVlKG5vZGUtPnRyYW5zaXRpb24oKS0+bmV4
dCkpKSk7CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5zZXRTdHJ1Y3R1cmVzKG5vZGUtPnRyYW5z
aXRpb24oKS0+bmV4dCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2hl
YXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CisgICAgICAgICAgICBBbGxvY2F0aW9uKiBh
bGxvY2F0aW9uID0gbV9oZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9k
ZSgpKTsKKyAgICAgICAgICAgIGlmIChhbGxvY2F0aW9uICYmIGFsbG9jYXRpb24tPmlzT2JqZWN0
QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi0+ZmlsdGVyU3RydWN0
dXJlcyhub2RlLT5zdHJ1Y3R1cmVTZXQoKSk7CisgICAgICAgICAgICAgICAgaWYgKE5vZGUqIHZh
bHVlID0gaGVhcFJlc29sdmUoUHJvbW90ZWRIZWFwTG9jYXRpb24oYWxsb2NhdGlvbi0+aWRlbnRp
ZmllcigpLCBTdHJ1Y3R1cmVQTG9jKSkpCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZl
cnRUb0NoZWNrU3RydWN0dXJlSW1tZWRpYXRlKHZhbHVlKTsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoK
KyAgICAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDoKKyAgICAgICAgICAgIHRhcmdl
dCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7Cisg
ICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsK
KyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+c3RvcmFn
ZUFjY2Vzc0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4YWN0UmVh
ZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBpZGVudGlm
aWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9oZWFw
LmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1faGVhcC5l
c2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKKyAgICAgICAgICAgIHRh
cmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7
CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkp
IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbm9kZS0+bXVs
dGlHZXRCeU9mZnNldERhdGEoKS5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgICAgIGV4
YWN0UmVhZCA9IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKE5hbWVkUHJvcGVydHlQTG9jLCBp
ZGVudGlmaWVyTnVtYmVyKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1f
aGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAg
aWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzT2JqZWN0QWxsb2NhdGlvbigpKSB7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG5vZGUtPnN0b3JhZ2VBY2Nlc3NEYXRh
KCkuaWRlbnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExv
YywgaWRlbnRpZmllck51bWJlciksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUt
PmNoaWxkMygpLm5vZGUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAg
bV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgICAgIG1f
aGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQzKCkubm9kZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKKyAgICAgICAgICAg
IHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUo
KSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNBY3RpdmF0aW9uQWxsb2Nh
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgZXhhY3RSZWFkID0KKyAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoQ2xvc3VyZVZhclBMb2MsIG5vZGUtPnNjb3Bl
T2Zmc2V0KCkub2Zmc2V0KCkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
bV9oZWFwLmVzY2FwZShub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgorICAgICAgICAgICAgdGFyZ2V0ID0gbV9o
ZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAg
ICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICB3cml0ZXMuYWRkKAorICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvcihDbG9zdXJlVmFyUExvYywgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZz
ZXQoKSksCisgICAgICAgICAgICAgICAgICAgIExhenlOb2RlKG5vZGUtPmNoaWxkMigpLm5vZGUo
KSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBl
KG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICAgICAgbV9oZWFwLmVzY2FwZShu
b2RlLT5jaGlsZDIoKS5ub2RlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBTa2lwU2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAu
b25seUxvY2FsQWxsb2NhdGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAg
aWYgKHRhcmdldCAmJiB0YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAg
ICAgICAgICBleGFjdFJlYWQgPSBBY3RpdmF0aW9uU2NvcGVQTG9jOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR2V0RXhlY3V0YWJsZToKKyAgICAg
ICAgICAgIHRhcmdldCA9IG1faGVhcC5vbmx5TG9jYWxBbGxvY2F0aW9uKG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKSk7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+aXNGdW5jdGlvbkFs
bG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBleGFjdFJlYWQgPSBGdW5jdGlvbkV4ZWN1dGFi
bGVQTG9jOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1faGVhcC5lc2NhcGUo
bm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgR2V0U2NvcGU6CisgICAgICAgICAgICB0YXJnZXQgPSBtX2hlYXAub25seUxvY2FsQWxsb2Nh
dGlvbihub2RlLT5jaGlsZDEoKS5ub2RlKCkpOworICAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0
YXJnZXQtPmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAgICAgICAgICAgICAgZXhhY3RSZWFk
ID0gRnVuY3Rpb25BY3RpdmF0aW9uUExvYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBtX2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hp
bGRyZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2Ug
ZWRnZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZWRnZS53aWxsTm90SGF2ZUNoZWNrKCkp
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGFscmVhZHlDaGVja2VkKGVkZ2UudXNlS2luZCgpLCBTcGVjT2JqZWN0KSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNj
YXBlKGVkZ2Uubm9kZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgTW92SGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAg
ICAgICAgLy8gSGFuZGxlZCBieSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzCisgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hp
bGRyZW4oCisgICAgICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICBbJl0gKEVkZ2Ug
ZWRnZSkgeworICAgICAgICAgICAgICAgICAgICBtX2hlYXAuZXNjYXBlKGVkZ2Uubm9kZSgpKTsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKGV4YWN0UmVhZCkgeworICAgICAgICAgICAgQVNTRVJUKHRhcmdldCk7CisgICAg
ICAgICAgICBBU1NFUlQod3JpdGVzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBpZiAoTm9kZSog
dmFsdWUgPSBoZWFwUmVzb2x2ZShQcm9tb3RlZEhlYXBMb2NhdGlvbih0YXJnZXQtPmlkZW50aWZp
ZXIoKSwgZXhhY3RSZWFkKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXZhbHVlLT5yZXBs
YWNlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBub2RlLT5yZXBsYWNlV2l0aCh2YWx1ZSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBOb2RlKiBpZGVudGlmaWVyID0gdGFyZ2V0LT5nZXQo
ZXhhY3RSZWFkKTsKKyAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQorICAgICAgICAgICAgICAg
IG1faGVhcC5uZXdQb2ludGVyKG5vZGUsIGlkZW50aWZpZXIpOworICAgICAgICB9CisKKyAgICAg
ICAgZm9yIChhdXRvIGVudHJ5IDogd3JpdGVzKSB7CisgICAgICAgICAgICBBU1NFUlQodGFyZ2V0
KTsKKyAgICAgICAgICAgIGlmIChlbnRyeS52YWx1ZS5pc05vZGUoKSkKKyAgICAgICAgICAgICAg
ICB0YXJnZXQtPnNldChlbnRyeS5rZXksIG1faGVhcC5mb2xsb3coZW50cnkudmFsdWUuYXNOb2Rl
KCkpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0YXJnZXQtPnJlbW92ZShl
bnRyeS5rZXkpOworICAgICAgICAgICAgaGVhcFdyaXRlKFByb21vdGVkSGVhcExvY2F0aW9uKHRh
cmdldC0+aWRlbnRpZmllcigpLCBlbnRyeS5rZXkpLCBlbnRyeS52YWx1ZSk7CisgICAgICAgIH0K
KworICAgICAgICBtX2hlYXAuYXNzZXJ0SXNWYWxpZCgpOworICAgIH0KKworICAgIGJvb2wgZGV0
ZXJtaW5lU2lua0NhbmRpZGF0ZXMoKQorICAgIHsKKyAgICAgICAgbV9zaW5rQ2FuZGlkYXRlcy5j
bGVhcigpOworICAgICAgICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5jbGVhcigpOworICAg
ICAgICBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuY2xlYXIoKTsKKyAg
ICAgICAgbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzLmNsZWFyKCk7CisKKyAgICAg
ICAgLy8gTG9naWNhbGx5IHdlIHdpc2ggdG8gY29uc2lkZXIgZXZlcnkgYWxsb2NhdGlvbiBhbmQg
c2luaworICAgICAgICAvLyBpdC4gSG93ZXZlciwgaXQgaXMgcHJvYmFibHkgbm90IHByb2ZpdGFi
bGUgdG8gc2luayBhbgorICAgICAgICAvLyBhbGxvY2F0aW9uIHRoYXQgd2lsbCBhbHdheXMgZXNj
YXBlLiBTbywgd2Ugb25seSBzaW5rIGFuCisgICAgICAgIC8vIGFsbG9jYXRpb24gaWYgb25lIG9m
IHRoZSBmb2xsb3dpbmcgaXMgdHJ1ZToKICAgICAgICAgLy8KLSAgICAgICAgLy8gMSkgVGhlcmUg
ZXhpc3RzIGEgYmFzaWMgYmxvY2sgd2l0aCBvbmx5IGJhY2t3YXJkIG91dGdvaW5nIGVkZ2VzIChv
ciBubyBvdXRnb2luZyBlZGdlcykKLSAgICAgICAgLy8gICAgaW4gd2hpY2ggdGhlIG5vZGUgd2Fz
bid0IG1hdGVyaWFsaXplZC4gVGhpcyBpcyBtZWFudCB0byBjYXRjaCBlZmZlY3RpdmVseS1pbmZp
bml0ZQotICAgICAgICAvLyAgICBsb29wcyBpbiB3aGljaCB3ZSBkb24ndCBuZWVkIHRvIGhhdmUg
YWxsb2NhdGVkIHRoZSBvYmplY3QuCisgICAgICAgIC8vIDEpIFRoZXJlIGV4aXN0cyBhIGJhc2lj
IGJsb2NrIHdpdGggb25seSBiYWNrd2FyZHMgb3V0Z29pbmcKKyAgICAgICAgLy8gICAgZWRnZXMg
KG9yIG5vIG91dGdvaW5nIGVkZ2VzKSBpbiB3aGljaCB0aGUgbm9kZSB3YXNuJ3QKKyAgICAgICAg
Ly8gICAgbWF0ZXJpYWxpemVkLiBUaGlzIGlzIG1lYW50IHRvIGNhdGNoCisgICAgICAgIC8vICAg
IGVmZmVjdGl2ZWx5LWluZmluaXRlIGxvb3BzIGluIHdoaWNoIHdlIGRvbid0IG5lZWQgdG8KKyAg
ICAgICAgLy8gICAgaGF2ZSBhbGxvY2F0ZWQgdGhlIG9iamVjdC4KICAgICAgICAgLy8KLSAgICAg
ICAgLy8gMikgVGhlcmUgZXhpc3RzIGEgYmFzaWMgYmxvY2sgYXQgdGhlIHRhaWwgb2Ygd2hpY2gg
dGhlIG5vZGUgaXMgbm90IG1hdGVyaWFsaXplZCBhbmQgdGhlCi0gICAgICAgIC8vICAgIG5vZGUg
aXMgZGVhZC4KKyAgICAgICAgLy8gMikgVGhlcmUgZXhpc3RzIGEgYmFzaWMgYmxvY2sgYXQgdGhl
IHRhaWwgb2Ygd2hpY2ggdGhlIG5vZGUKKyAgICAgICAgLy8gICAgaXMgZGVhZCBhbmQgbm90IG1h
dGVyaWFsaXplZC4KICAgICAgICAgLy8KLSAgICAgICAgLy8gMykgVGhlIHN1bSBvZiBleGVjdXRp
b24gY291bnRzIG9mIHRoZSBtYXRlcmlhbGl6YXRpb25zIGlzIGxlc3MgdGhhbiB0aGUgc3VtIG9m
Ci0gICAgICAgIC8vICAgIGV4ZWN1dGlvbiBjb3VudHMgb2YgdGhlIG9yaWdpbmFsIG5vZGUuCisg
ICAgICAgIC8vIDMpIFRoZSBzdW0gb2YgZXhlY3V0aW9uIGNvdW50cyBvZiB0aGUgbWF0ZXJpYWxp
emF0aW9ucyBpcworICAgICAgICAvLyAgICBsZXNzIHRoYW4gdGhlIHN1bSBvZiBleGVjdXRpb24g
Y291bnRzIG9mIHRoZSBvcmlnaW5hbAorICAgICAgICAvLyAgICBub2RlLgogICAgICAgICAvLwog
ICAgICAgICAvLyBXZSBjdXJyZW50bHkgaW1wbGVtZW50IG9ubHkgcnVsZSAjMi4KICAgICAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGUgdHdvIG90aGVyIHJ1bGVzLgogICAgICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDczIChydWxlICMxKQogICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDc0IChy
dWxlICMzKQotICAgICAgICAKLSAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3Jh
cGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewotICAgICAgICAgICAgZm9yIChhdXRvIHBhaXIg
OiBtYXRlcmlhbGl6ZWRBdFRhaWxbYmxvY2tdKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBhaXIu
dmFsdWUpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBJdCB3YXMgbWF0ZXJpYWxp
emVkLgotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChtX2NvbWJpbmVkTGl2
ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10uY29udGFpbnMocGFpci5rZXkpKQotICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsgLy8gSXQgbWlnaHQgc3RpbGwgZ2V0IG1hdGVyaWFsaXplZCBpbiBh
bGwgb2YgdGhlIHN1Y2Nlc3NvcnMuCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
Ly8gV2Uga25vdyB0aGF0IGl0IGRpZWQgaW4gdGhpcyBibG9jayBhbmQgaXQgd2Fzbid0IG1hdGVy
aWFsaXplZC4gVGhhdCBtZWFucyB0aGF0Ci0gICAgICAgICAgICAgICAgLy8gaWYgd2Ugc2luayB0
aGlzIGFsbG9jYXRpb24sIHRoZW4gKnRoaXMqIHdpbGwgYmUgYSBwYXRoIGFsb25nIHdoaWNoIHdl
IG5ldmVyCi0gICAgICAgICAgICAgICAgLy8gaGF2ZSB0byBhbGxvY2F0ZS4gUHJvZml0IQotICAg
ICAgICAgICAgICAgIG1fc2lua0NhbmRpZGF0ZXMuYWRkKHBhaXIua2V5KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuaXNF
bXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAgLy8gQSBtYXRl
cmlhbGl6YXRpb24gZWRnZSBleGlzdHMgYXQgYW55IHBvaW50IHdoZXJlIGEgbm9kZSBlc2NhcGVz
IGJ1dCBoYXNuJ3QgYmVlbgotICAgICAgICAvLyBtYXRlcmlhbGl6ZWQgeWV0LiBXZSBkbyB0aGlz
IGluIHR3byBwYXJ0cy4gRmlyc3Qgd2UgZmluZCBhbGwgb2YgdGhlIG5vZGVzIHRoYXQgY2F1c2UK
LSAgICAgICAgLy8gZXNjYXBpbmcgdG8gaGFwcGVuLCB3aGVyZSB0aGUgZXNjYXBlZSBoYWQgbm90
IHlldCBiZWVuIG1hdGVyaWFsaXplZC4gVGhpcyBjYXRjaGVzCi0gICAgICAgIC8vIGV2ZXJ5dGhp
bmcgYnV0IGxvb3BzLiBXZSB0aGVuIGNhdGNoIGxvb3BzIC0gYXMgd2VsbCBhcyB3ZWlyZGVyIGNv
bnRyb2wgZmxvdyBjb25zdHJ1Y3RzIC0KLSAgICAgICAgLy8gaW4gYSBzdWJzZXF1ZW50IHBhc3Mg
dGhhdCBsb29rcyBhdCBwbGFjZXMgaW4gdGhlIENGRyB3aGVyZSBhbiBlZGdlIGV4aXN0cyBmcm9t
IGEgYmxvY2sKLSAgICAgICAgLy8gdGhhdCBoYXNuJ3QgbWF0ZXJpYWxpemVkIHRvIGEgYmxvY2sg
dGhhdCBoYXMuIFdlIGluc2VydCB0aGUgbWF0ZXJpYWxpemF0aW9uIGFsb25nIHN1Y2ggYW4KLSAg
ICAgICAgLy8gZWRnZSwgYW5kIHdlIHJlbHkgb24gdGhlIGZhY3QgdGhhdCBjcml0aWNhbCBlZGdl
cyB3ZXJlIGFscmVhZHkgYnJva2VuIHNvIHRoYXQgd2UgYWN0dWFsbHkKLSAgICAgICAgLy8gZWl0
aGVyIGluc2VydCB0aGUgbWF0ZXJpYWxpemF0aW9uIGF0IHRoZSBoZWFkIG9mIHRoZSBzdWNjZXNz
b3Igb3IgdGhlIHRhaWwgb2YgdGhlCi0gICAgICAgIC8vIHByZWRlY2Vzc29yLgogICAgICAgICAv
LwotICAgICAgICAvLyBGSVhNRTogVGhpcyBjYW4gY3JlYXRlIGR1cGxpY2F0ZSBhbGxvY2F0aW9u
cyB3aGVuIHdlIHJlYWxseSBvbmx5IG5lZWRlZCB0byBwZXJmb3JtIG9uZS4KLSAgICAgICAgLy8g
Rm9yIGV4YW1wbGU6CisgICAgICAgIC8vIEhvd2V2ZXIsIHRoZXNlIHJ1bGVzIGFsbG93IGZvciBh
IHN1bmsgb2JqZWN0IHRvIGJlIHB1dCBpbnRvCisgICAgICAgIC8vIGEgbm9uLXN1bmsgb25lLCB3
aGljaCB3ZSBkb24ndCBzdXBwb3J0LiBXZSBjb3VsZCBzb2x2ZSB0aGlzCisgICAgICAgIC8vIGJ5
IHN1cHBvcnRpbmcgUHV0SGludHMgb24gbG9jYWwgYWxsb2NhdGlvbnMsIG1ha2luZyB0aGVzZQor
ICAgICAgICAvLyBvYmplY3RzIG9ubHkgcGFydGlhbGx5IGNvcnJlY3QsIGFuZCB3ZSB3b3VsZCBu
ZWVkIHRvIGFkYXB0CisgICAgICAgIC8vIHRoZSBPU1IgYXZhaWxhYmlsaXR5IGFuYWx5c2lzIGFu
ZCBPU1IgZXhpdCB0byBoYW5kbGUKKyAgICAgICAgLy8gdGhpcy4gVGhpcyB3b3VsZCBiZSB0b3Rh
bGx5IGRvYWJsZSwgYnV0IHdvdWxkIGNyZWF0ZSBhCisgICAgICAgIC8vIHN1cGVyIHJhcmUsIGFu
ZCB0aHVzIGJ1Zy1wcm9uZSwgY29kZSBwYXRoLgorICAgICAgICAvLyBTbywgaW5zdGVhZCwgd2Ug
bmVlZCB0byBpbXBsZW1lbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcKKyAgICAgICAgLy8gY2xvc3Vy
ZSBydWxlczoKICAgICAgICAgLy8KLSAgICAgICAgLy8gICAgIHZhciBvID0gbmV3IE9iamVjdCgp
OwotICAgICAgICAvLyAgICAgaWYgKHJhcmUpIHsKLSAgICAgICAgLy8gICAgICAgICBpZiAoc3R1
ZmYpCi0gICAgICAgIC8vICAgICAgICAgICAgIGNhbGwobyk7IC8vIG8gZXNjYXBlcyBoZXJlLgot
ICAgICAgICAvLyAgICAgICAgIHJldHVybjsKLSAgICAgICAgLy8gICAgIH0KLSAgICAgICAgLy8g
ICAgIC8vIG8gZG9lc24ndCBlc2NhcGUgZG93biBoZXJlLgorICAgICAgICAvLyAxKSBJZiB3ZSBw
dXQgYSBzaW5rIGNhbmRpZGF0ZSBpbnRvIGEgbG9jYWwgYWxsb2NhdGlvbiB0aGF0CisgICAgICAg
IC8vICAgIGlzIG5vdCBhIHNpbmsgY2FuZGlkYXRlLCBjaGFuZ2Ugb3VyIG1pbmRzIGFuZCBkb24n
dAorICAgICAgICAvLyAgICBhY3R1YWxseSBzaW5rIHRoZSBzaW5rIGNhbmRpZGF0ZS4KICAgICAg
ICAgLy8KLSAgICAgICAgLy8gSW4gdGhpcyBleGFtcGxlLCB3ZSB3b3VsZCBwbGFjZSBhIG1hdGVy
aWFsaXphdGlvbiBwb2ludCBhdCBjYWxsKG8pIGFuZCB0aGVuIHdlIHdvdWxkIGZpbmQKLSAgICAg
ICAgLy8gb3Vyc2VsdmVzIGhhdmluZyB0byBpbnNlcnQgYW5vdGhlciBvbmUgYXQgdGhlIGltcGxp
Y2l0IGVsc2UgY2FzZSBvZiB0aGF0IGlmIHN0YXRlbWVudAotICAgICAgICAvLyAoJ2NhdXNlIHdl
J3ZlIGJyb2tlbiBjcml0aWNhbCBlZGdlcykuIFdlIHdvdWxkIGluc3RlYWQgcmVhbGx5IGxpa2Ug
dG8ganVzdCBoYXZlIG9uZQotICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gcG9pbnQgcmlnaHQg
YXQgdGhlIHRvcCBvZiB0aGUgdGhlbiBjYXNlIG9mICJpZiAocmFyZSkiLiBUbyBkbyB0aGlzLCB3
ZSBjYW4KLSAgICAgICAgLy8gZmluZCB0aGUgTENBIG9mIHRoZSB2YXJpb3VzIG1hdGVyaWFsaXph
dGlvbnMgaW4gdGhlIGRvbSB0cmVlLgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI0Ci0gICAgICAgIAotICAgICAgICAvLyBGaXJzdCBwYXNz
OiBmaW5kIGludHJhLWJsb2NrIG1hdGVyaWFsaXphdGlvbiBwb2ludHMuCi0gICAgICAgIGZvciAo
QmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKLSAg
ICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG1hdGVyaWFsaXplZDsKLSAgICAgICAgICAgIGZvciAo
YXV0byBwYWlyIDogbWF0ZXJpYWxpemVkQXRIZWFkW2Jsb2NrXSkgewotICAgICAgICAgICAgICAg
IGlmIChwYWlyLnZhbHVlICYmIG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMocGFpci5rZXkpKQot
ICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKHBhaXIua2V5KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAg
ICAgICAgZGF0YUxvZygiUGxhY2luZyBtYXRlcmlhbGl6YXRpb24gcG9pbnRzIGluICIsIHBvaW50
ZXJEdW1wKGJsb2NrKSwgIiB3aXRoIG1hdGVyaWFsaXphdGlvbiBzZXQgIiwgbGlzdER1bXAobWF0
ZXJpYWxpemVkKSwgIlxuIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5kZXgp
IHsKLSAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7Ci0g
ICAgICAgICAgICAgICAgCisgICAgICAgIC8vIDIpIElmIHdlIHB1dCBhIHNpbmsgY2FuZGlkYXRl
IGludG8gYSBsb2NhbCBhbGxvY2F0aW9uLCB0aGF0CisgICAgICAgIC8vICAgIGFsbG9jYXRpb24g
YmVjb21lcyBhIHNpbmsgY2FuZGlkYXRlIGFzIHdlbGwuCisgICAgICAgIC8vCisgICAgICAgIC8v
IFdlIGN1cnJlbnRseSBjaG9vc2UgdG8gaW1wbGVtZW50IGNsb3N1cmUgcnVsZSAjMi4KKyAgICAg
ICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPE5vZGUqPj4gZGVwZW5kZW5jaWVzOworICAgICAgICBi
b29sIGhhc1VuZXNjYXBlZFJlYWRzID0gZmFsc2U7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayog
YmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgeworICAgICAgICAgICAgbV9oZWFw
ID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDog
KmJsb2NrKSB7CiAgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKICAgICAgICAgICAgICAgICAg
ICAgbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsgfSwKLSAgICAgICAgICAgICAg
ICAgICAgWyZdIChOb2RlKiBlc2NhcGVlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJTZWVpbmcgIiwg
ZXNjYXBlZSwgIiBlc2NhcGUgYXQgIiwgbm9kZSwgIlxuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250
YWlucyhlc2NhcGVlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3Nl
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgSXQncyBub3Qg
YSBzaW5rIGNhbmRpZGF0ZS5cbiIpOworICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVk
SGVhcExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCF2YWx1ZS5pc05vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbWF0ZXJpYWxpemVkLmFkZChlc2Nh
cGVlKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcmJv
c2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgIEl0J3MgYWxy
ZWFkeSBtYXRlcmlhbGl6ZWQuXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1hdGVyaWFsaXplKGVzY2FwZWUsIG5vZGUp
OworCisgICAgICAgICAgICAgICAgICAgICAgICBBbGxvY2F0aW9uKiBhbGxvY2F0aW9uID0gbV9o
ZWFwLm9ubHlMb2NhbEFsbG9jYXRpb24odmFsdWUuYXNOb2RlKCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGFsbG9jYXRpb24gJiYgIWFsbG9jYXRpb24tPmlzRXNjYXBlZEFsbG9jYXRp
b24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuYWRkKGFsbG9j
YXRpb24tPmlkZW50aWZpZXIoKSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+dmFsdWUuYXBw
ZW5kKGxvY2F0aW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIC0+IE5vZGUqIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhhc1VuZXNjYXBlZFJlYWRzID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgLy8gVGhlIHNpbmsgY2FuZGlkYXRlcyBhcmUgaW5pdGlh
bGx5IHRoZSB1bmVzY2FwZWQKKyAgICAgICAgICAgIC8vIGFsbG9jYXRpb25zIGR5aW5nIGF0IHRh
aWwgb2YgYmxvY2tzCisgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBhbGxvY2F0aW9uczsKKyAg
ICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBtX2hlYXAuYWxsb2NhdGlvbnMoKSkg
eworICAgICAgICAgICAgICAgIGlmICghZW50cnkudmFsdWUuaXNFc2NhcGVkQWxsb2NhdGlvbigp
KQorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0aW9ucy5hZGQoZW50cnkua2V5KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2NvbWJpbmVk
TGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICBmb3IgKE5vZGUqIGlk
ZW50aWZpZXIgOiBhbGxvY2F0aW9ucykgeworICAgICAgICAgICAgICAgIGlmICghbV9oZWFwLmlz
QWxsb2NhdGlvbihpZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICAgICAgbV9zaW5rQ2FuZGlk
YXRlcy5hZGQoaWRlbnRpZmllcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICAvLyBFbnN1cmUgdGhhdCB0aGUgc2V0IG9mIHNpbmsgY2FuZGlkYXRlcyBpcyBjbG9zZWQgZm9y
IHB1dCBvcGVyYXRpb25zCisgICAgICAgIFZlY3RvcjxOb2RlKj4gd29ya2xpc3Q7CisgICAgICAg
IHdvcmtsaXN0LmFwcGVuZFJhbmdlKG1fc2lua0NhbmRpZGF0ZXMuYmVnaW4oKSwgbV9zaW5rQ2Fu
ZGlkYXRlcy5lbmQoKSk7CisKKyAgICAgICAgd2hpbGUgKCF3b3JrbGlzdC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgIGZvciAoTm9kZSogaWRlbnRpZmllciA6IGRlcGVuZGVuY2llcy5nZXQod29y
a2xpc3QudGFrZUxhc3QoKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRl
cy5hZGQoaWRlbnRpZmllcikuaXNOZXdFbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgd29ya2xp
c3QuYXBwZW5kKGlkZW50aWZpZXIpOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICAvLyBTZWNvbmQgcGFzczogZmluZCBDRkcgZWRnZSBtYXRlcmlhbGl6YXRpb24g
cG9pbnRzLgorCisgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiBoYXNVbmVzY2FwZWRSZWFkczsKKworICAgICAgICBpZiAodmVyYm9zZSkK
KyAgICAgICAgICAgIGRhdGFMb2coIkNhbmRpZGF0ZXM6ICIsIGxpc3REdW1wKG1fc2lua0NhbmRp
ZGF0ZXMpLCAiXG4iKTsKKworICAgICAgICAvLyBDcmVhdGUgdGhlIG1hdGVyaWFsaXphdGlvbiBu
b2RlcwogICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5h
dHVyYWxPcmRlcigpKSB7Ci0gICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1Y2Nlc3NvckJs
b2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgewotICAgICAgICAgICAgICAgIGZvciAoYXV0byBw
YWlyIDogbWF0ZXJpYWxpemVkQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXSkgewotICAgICAgICAgICAg
ICAgICAgICBOb2RlKiBhbGxvY2F0aW9uID0gcGFpci5rZXk7Ci0gICAgICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgaWYgaXQgaXMgbWF0ZXJpYWxp
emVkIGluIHRoZSBzdWNjZXNzb3IuCi0gICAgICAgICAgICAgICAgICAgIGlmICghcGFpci52YWx1
ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IHNpbmtpbmcgY2Fu
ZGlkYXRlcy4KLSAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRh
aW5zKGFsbG9jYXRpb24pKQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgaWYg
aXQgaXNuJ3QgbWF0ZXJpYWxpemVkIGluIHRoZSBwcmVkZWNlc3Nvci4KLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG1hdGVyaWFsaXplZEF0VGFpbFtibG9ja10uZ2V0KGFsbG9jYXRpb24pKQotICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRlY2lkZSBpZiB3ZSBwdXQgdGhlIG1hdGVy
aWFsaXphdGlvbiBhdCB0aGUgaGVhZCBvZiB0aGUgc3VjY2Vzc29yLAotICAgICAgICAgICAgICAg
ICAgICAvLyBvciB0aGUgdGFpbCBvZiB0aGUgcHJlZGVjZXNzb3IuIEl0IG5lZWRzIHRvIGJlIHBs
YWNlZCBzbyB0aGF0IHRoZSBhbGxvY2F0aW9uCi0gICAgICAgICAgICAgICAgICAgIC8vIGlzIG5l
dmVyIG1hdGVyaWFsaXplZCBiZWZvcmUsIGFuZCBhbHdheXMgbWF0ZXJpYWxpemVkIGFmdGVyLgot
ICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgLy8gSXMgaXQgbmV2ZXIg
bWF0ZXJpYWxpemVkIGluIGFueSBvZiBzdWNjZXNzb3IncyBwcmVkZWNlc3NvcnM/IEkgbGlrZSB0
byB0aGluawotICAgICAgICAgICAgICAgICAgICAvLyBvZiAic3VjY2Vzc29ycycgcHJlZGVjZXNz
b3JzIiBhbmQgInByZWRlY2Vzc29yJ3Mgc3VjY2Vzc29ycyIgYXMgdGhlICJzaGFkb3ciLAotICAg
ICAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG9mIHdoYXQgaXQgbG9va3MgbGlrZSB3aGVuIHlv
dSBkcmF3IGl0LgotICAgICAgICAgICAgICAgICAgICBib29sIG5ldmVyTWF0ZXJpYWxpemVkSW5T
aGFkb3cgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHNoYWRv
d0Jsb2NrIDogc3VjY2Vzc29yQmxvY2stPnByZWRlY2Vzc29ycykgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1hdGVyaWFsaXplZEF0VGFpbFtzaGFkb3dCbG9ja10uZ2V0KGFsbG9jYXRp
b24pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXJNYXRlcmlhbGl6ZWRJblNo
YWRvdyA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAobmV2ZXJNYXRlcmlhbGl6ZWRJblNoYWRv
dykgewotICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWF0ZXJpYWxpemUoYWxsb2NhdGlv
biwgc3VjY2Vzc29yQmxvY2stPmZpcnN0T3JpZ2luTm9kZSgpKTsKKyAgICAgICAgICAgIG1faGVh
cCA9IG1faGVhcEF0SGVhZFtibG9ja107CisgICAgICAgICAgICBtX2hlYXAuc2V0V2FudEVzY2Fw
ZWVzKCk7CisKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykgeworICAgICAg
ICAgICAgICAgIGhhbmRsZU5vZGUoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsCisgICAgICAg
ICAgICAgICAgICAgIFtdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiwgTGF6eU5vZGUpIHsgfSwKKyAg
ICAgICAgICAgICAgICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICAgICAgYXV0byBlc2NhcGVlcyA9IG1faGVhcC50YWtlRXNjYXBl
ZXMoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWVzY2FwZWVzLmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgICAgICAgICAgcGxhY2VNYXRlcmlhbGl6YXRpb25zKGVzY2FwZWVzLCBub2RlKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgbV9oZWFwLnBydW5lQnlMaXZlbmVzcyhtX2NvbWJpbmVk
TGl2ZW5lc3MubGl2ZUF0VGFpbFtibG9ja10pOworCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgSGFzaE1hcDxOb2RlKiwgQWxsb2NhdGlvbj4gZXNjYXBpbmdPbkVkZ2U7CisgICAgICAg
ICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1faGVhcC5hbGxvY2F0aW9ucygpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS52YWx1ZS5pc0VzY2FwZWRBbGxvY2F0aW9u
KCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAg
ICAgICBib29sIG11c3RFc2NhcGUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChC
YXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghbV9oZWFwQXRIZWFkW3N1Y2Nlc3NvckJsb2NrXS5pc0Fs
bG9jYXRpb24oZW50cnkua2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IG1faGVh
cEF0SGVhZFtzdWNjZXNzb3JCbG9ja10uZ2V0QWxsb2NhdGlvbihlbnRyeS5rZXkpLmlzRXNjYXBl
ZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXN0RXNjYXBlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSBoYWQgYnJva2VuIGNyaXRpY2FsIGVkZ2VzLCBp
dCBtdXN0IGJlIHRoZSBjYXNlIHRoYXQgdGhlCi0gICAgICAgICAgICAgICAgICAgIC8vIHByZWRl
Y2Vzc29yJ3Mgc3VjY2Vzc29ycyBhbGwgbWF0ZXJpYWxpemUgdGhlIG9iamVjdC4gVGhpcyBpcyBi
ZWNhdXNlIHRoZQotICAgICAgICAgICAgICAgICAgICAvLyBwcmV2aW91cyBjYXNlIGlzIGd1YXJh
bnRlZWQgdG8gY2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIHN1Y2Nlc3NvciBvbmx5IGhhcwotICAg
ICAgICAgICAgICAgICAgICAvLyBvbmUgcHJlZGVjZXNzb3IuIFdoZW4gY3JpdGljYWwgZWRnZXMg
YXJlIGJyb2tlbiwgdGhpcyBpcyBhbHNvIHRoZSBvbmx5IGNhc2UKLSAgICAgICAgICAgICAgICAg
ICAgLy8gd2hlcmUgdGhlIHByZWRlY2Vzc29yIGNvdWxkIGhhdmUgaGFkIG11bHRpcGxlIHN1Y2Nl
c3NvcnMuIFRoZXJlZm9yZSB3ZSBoYXZlCi0gICAgICAgICAgICAgICAgICAgIC8vIGFscmVhZHkg
aGFuZGxlZCB0aGUgY2FzZSB3aGVyZSB0aGUgcHJlZGVjZXNzb3IgaGFzIG11bHRpcGxlIHN1Y2Nl
c3NvcnMuCi0gICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgYmxvY2ssIGJs
b2NrLT5udW1TdWNjZXNzb3JzKCkgPT0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVNYXRlcmlhbGl6ZShhbGxvY2F0aW9uLCBibG9jay0+dGVybWlu
YWwoKSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG11c3RFc2NhcGUpCisgICAgICAgICAg
ICAgICAgICAgICAgICBlc2NhcGluZ09uRWRnZS5hZGQoZW50cnkua2V5LCBlbnRyeS52YWx1ZSk7
CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBsYWNlTWF0ZXJpYWxpemF0aW9u
cyhXVEY6Om1vdmUoZXNjYXBpbmdPbkVkZ2UpLCBibG9jay0+dGVybWluYWwoKSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKworICAgICAgICByZXR1cm4gaGFzVW5lc2NhcGVkUmVhZHMgfHwg
IW1fc2lua0NhbmRpZGF0ZXMuaXNFbXB0eSgpOwogICAgIH0KLSAgICAKLSAgICB2b2lkIHBsYWNl
TWF0ZXJpYWxpemF0aW9uUG9pbnRzKCkKKworICAgIHZvaWQgcGxhY2VNYXRlcmlhbGl6YXRpb25z
KEhhc2hNYXA8Tm9kZSosIEFsbG9jYXRpb24+IGVzY2FwZWVzLCBOb2RlKiB3aGVyZSkKICAgICB7
Ci0gICAgICAgIG1fc3NhQ2FsY3VsYXRvci5yZXNldCgpOwotICAgICAgICAKLSAgICAgICAgLy8g
VGhlICJ2YXJpYWJsZXMiIGFyZSB0aGUgb2JqZWN0IGFsbG9jYXRpb25zIHRoYXQgd2UgYXJlIHNp
bmtpbmcuIFNvLCBub2RlVG9WYXJpYWJsZSBtYXBzCi0gICAgICAgIC8vIHNpbmsgY2FuZGlkYXRl
cyAoYWthIGVzY2FwZWVzKSB0byB0aGUgU1NBQ2FsY3VsYXRvcidzIG5vdGlvbiBvZiBWYXJpYWJs
ZSwgYW5kIGluZGV4VG9Ob2RlCi0gICAgICAgIC8vIG1hcHMgaW4gdGhlIG9wcG9zaXRlIGRpcmVj
dGlvbiB1c2luZyB0aGUgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGU6OmluZGV4KCkgYXMgdGhlIGtl
eS4KLSAgICAgICAgSGFzaE1hcDxOb2RlKiwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBub2Rl
VG9WYXJpYWJsZTsKLSAgICAgICAgVmVjdG9yPE5vZGUqPiBpbmRleFRvTm9kZTsKLSAgICAgICAg
Ci0gICAgICAgIGZvciAoTm9kZSogbm9kZSA6IG1fc2lua0NhbmRpZGF0ZXMpIHsKLSAgICAgICAg
ICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG1fc3NhQ2FsY3VsYXRvci5u
ZXdWYXJpYWJsZSgpOwotICAgICAgICAgICAgbm9kZVRvVmFyaWFibGUuYWRkKG5vZGUsIHZhcmlh
YmxlKTsKLSAgICAgICAgICAgIEFTU0VSVChpbmRleFRvTm9kZS5zaXplKCkgPT0gdmFyaWFibGUt
PmluZGV4KCkpOwotICAgICAgICAgICAgaW5kZXhUb05vZGUuYXBwZW5kKG5vZGUpOworICAgICAg
ICAvLyBXZSBkb24ndCBjcmVhdGUgbWF0ZXJpYWxpemF0aW9ucyBpZiB0aGUgZXNjYXBlZSBpcyBu
b3QgYQorICAgICAgICAvLyBzaW5rIGNhbmRpZGF0ZQorICAgICAgICBWZWN0b3I8Tm9kZSo+IHRv
UmVtb3ZlOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogZXNjYXBlZXMpIHsKKyAg
ICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhlbnRyeS5rZXkpKQorICAg
ICAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOwogICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5h
dHVyYWxPcmRlcigpKSB7Ci0gICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAqYmxvY2spIHsK
LSAgICAgICAgICAgICAgICBpZiAoU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0g
bm9kZVRvVmFyaWFibGUuZ2V0KG5vZGUpKQotICAgICAgICAgICAgICAgICAgICBtX3NzYUNhbGN1
bGF0b3IubmV3RGVmKHZhcmlhYmxlLCBibG9jaywgbm9kZSk7Ci0gICAgICAgICAgICAgICAgCi0g
ICAgICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6ZSA6IG1fbWF0ZXJpYWxpemF0aW9u
U2l0ZVRvTWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
bV9zc2FDYWxjdWxhdG9yLm5ld0RlZigKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVUb1Zh
cmlhYmxlLmdldChtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5nZXQobWF0ZXJpYWxpemUpKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLCBtYXRlcmlhbGl6ZSk7Ci0gICAgICAgICAg
ICAgICAgfQorICAgICAgICBmb3IgKE5vZGUqIGlkZW50aWZpZXIgOiB0b1JlbW92ZSkKKyAgICAg
ICAgICAgIGVzY2FwZWVzLnJlbW92ZShpZGVudGlmaWVyKTsKKworICAgICAgICBpZiAoZXNjYXBl
ZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIEZpcnN0IGNv
bGxlY3QgdGhlIGhpbnRzIHRoYXQgd2lsbCBiZSBuZWVkZWQgd2hlbiB0aGUgbm9kZQorICAgICAg
ICAvLyB3ZSBtYXRlcmlhbGl6ZSBpcyBzdGlsbCBzdG9yZWQgaW50byBvdGhlciB1bmVzY2FwZWQg
c2luayBjYW5kaWRhdGVzCisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gaGlu
dHM7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZW50cnkgOiBtX2hlYXAuYWxsb2NhdGlvbnMo
KSkgeworICAgICAgICAgICAgaWYgKGVzY2FwZWVzLmNvbnRhaW5zKGVudHJ5LmtleSkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZmll
bGQgOiBlbnRyeS52YWx1ZS5maWVsZHMoKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtX3Np
bmtDYW5kaWRhdGVzLmNvbnRhaW5zKGVudHJ5LmtleSkgfHwgIWVzY2FwZWVzLmNvbnRhaW5zKGZp
ZWxkLnZhbHVlKSk7CisgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWVzLmNvbnRhaW5zKGZpZWxk
LnZhbHVlKSAmJiAhZmllbGQua2V5Lm5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICBoaW50cy5hcHBlbmQoUHJvbW90ZWRIZWFwTG9jYXRpb24oZW50cnkua2V5
LCBmaWVsZC5rZXkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAgICAg
ICAgbV9zc2FDYWxjdWxhdG9yLmNvbXB1dGVQaGlzKAotICAgICAgICAgICAgWyZdIChTU0FDYWxj
dWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2RlKiB7
Ci0gICAgICAgICAgICAgICAgTm9kZSogYWxsb2NhdGlvbiA9IGluZGV4VG9Ob2RlW3ZhcmlhYmxl
LT5pbmRleCgpXTsKLSAgICAgICAgICAgICAgICBpZiAoIW1fY29tYmluZWRMaXZlbmVzcy5saXZl
QXRIZWFkW2Jsb2NrXS5jb250YWlucyhhbGxvY2F0aW9uKSkKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgTm9kZSog
cGhpTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShhbGxvY2F0aW9uLT5wcmVkaWN0aW9uKCksIFBoaSwg
Tm9kZU9yaWdpbigpKTsKLSAgICAgICAgICAgICAgICBwaGlOb2RlLT5tZXJnZUZsYWdzKE5vZGVS
ZXN1bHRKUyk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBoaU5vZGU7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFBsYWNlIFBoaXMgaW4gdGhlIHJpZ2h0IHBsYWNlcy4g
UmVwbGFjZSBhbGwgdXNlcyBvZiBhbnkgYWxsb2NhdGlvbiB3aXRoIHRoZSBhcHByb3ByaWF0ZQot
ICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24uIENyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgVXBzaWxv
biBub2Rlcy4KLSAgICAgICAgTG9jYWxPU1JBdmFpbGFiaWxpdHlDYWxjdWxhdG9yIGF2YWlsYWJp
bGl0eUNhbGN1bGF0b3I7Ci0gICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBo
LmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKLSAgICAgICAgICAgIEhhc2hNYXA8Tm9kZSosIE5v
ZGUqPiBtYXBwaW5nOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3IgKE5vZGUqIGNhbmRp
ZGF0ZSA6IG1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRIZWFkW2Jsb2NrXSkgewotICAgICAgICAg
ICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IG5vZGVUb1ZhcmlhYmxl
LmdldChjYW5kaWRhdGUpOwotICAgICAgICAgICAgICAgIGlmICghdmFyaWFibGUpCi0gICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
IFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0gbV9zc2FDYWxjdWxhdG9yLnJlYWNoaW5nRGVmQXRI
ZWFkKGJsb2NrLCB2YXJpYWJsZSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFkZWYpCi0gICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
IG1hcHBpbmcuc2V0KGluZGV4VG9Ob2RlW3ZhcmlhYmxlLT5pbmRleCgpXSwgZGVmLT52YWx1ZSgp
KTsKKworICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBvcmRlciB0aGUgbWF0ZXJpYWxpemF0aW9u
LiBBbnkgb3JkZXIgaXMKKyAgICAgICAgLy8gdmFsaWQgKGFzIGxvbmcgYXMgd2UgbWF0ZXJpYWxp
emUgYSBub2RlIGZpcnN0IGlmIGl0IGlzCisgICAgICAgIC8vIG5lZWRlZCBmb3IgdGhlIG1hdGVy
aWFsaXphdGlvbiBvZiBhbm90aGVyIG5vZGUsIGUuZy4gYQorICAgICAgICAvLyBmdW5jdGlvbidz
IGFjdGl2YXRpb24gbXVzdCBiZSBtYXRlcmlhbGl6ZWQgYmVmb3JlIHRoZQorICAgICAgICAvLyBm
dW5jdGlvbiBpdHNlbGYpLCBidXQgd2Ugd2FudCB0byB0cnkgbWluaW1pemluZyB0aGUgbnVtYmVy
CisgICAgICAgIC8vIG9mIHRpbWVzIHdlIGhhdmUgdG8gcGxhY2UgUHV0cyB0byBjbG9zZSBjeWNs
ZXMgYWZ0ZXIgYQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24uIEluIG90aGVyIHdvcmRzLCB3
ZSBhcmUgdHJ5aW5nIHRvIGZpbmQgdGhlCisgICAgICAgIC8vIG1pbmltdW0gbnVtYmVyIG9mIG1h
dGVyaWFsaXphdGlvbnMgdG8gcmVtb3ZlIGZyb20gdGhlCisgICAgICAgIC8vIG1hdGVyaWFsaXph
dGlvbiBncmFwaCB0byBtYWtlIGl0IGEgREFHLCBrbm93biBhcyB0aGUKKyAgICAgICAgLy8gKHZl
cnRleCkgZmVlZGJhY2sgc2V0IHByb2JsZW0uIFVuZm9ydHVuYXRlbHksIHRoaXMgaXMgYQorICAg
ICAgICAvLyBOUC1oYXJkIHByb2JsZW0sIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc29sdmUgZXhh
Y3RseS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSW5zdGVhZCwgd2UgdXNlIGEgc2ltcGxlIGdy
ZWVkeSBwcm9jZWR1cmUsIHRoYXQgcHJvY2VkZXMgYXMKKyAgICAgICAgLy8gZm9sbG93OgorICAg
ICAgICAvLyAgLSBXaGlsZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgbm9kZSB3aXRoIG5vIG91dGdv
aW5nIGVkZ2UKKyAgICAgICAgLy8gICAgYW1vbmdzdCB0aGUgcmVtYWluaW5nIG1hdGVyaWFsaXph
dGlvbnMsIG1hdGVyaWFsaXplIGl0CisgICAgICAgIC8vICAgIGZpcnN0CisgICAgICAgIC8vCisg
ICAgICAgIC8vICAtIFNpbWlsYXJpbHksIHdoaWxlIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBub2Rl
IHdpdGggbm8KKyAgICAgICAgLy8gICAgaW5jb21pbmcgZWRnZSBhbW9uZ3N0IHRoZSByZW1haW5p
bmcgbWF0ZXJpYWxpemF0aW9ucywKKyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemUgaXQgbGFzdC4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gIC0gV2hlbiBib3RoIHByZXZpb3VzIGNvbmRpdGlvbnMg
YXJlIGZhbHNlLCB3ZSBoYXZlIGFuCisgICAgICAgIC8vICAgIGFjdHVhbCBjeWNsZSwgYW5kIHdl
IG5lZWQgdG8gcGljayBhIG5vZGUgdG8KKyAgICAgICAgLy8gICAgbWF0ZXJpYWxpemUuIFdlIHRy
eSBncmVlZGlseSB0byByZW1vdmUgdGhlICJwcmVzc3VyZSIgb24KKyAgICAgICAgLy8gICAgdGhl
IHJlbWFpbmluZyBub2RlcyBieSBjaG9vc2luZyB0aGUgbm9kZSB3aXRoIG1heGltdW0KKyAgICAg
ICAgLy8gICAgfGluY29taW5nIGVkZ2VzfCAqIHxvdXRnb2luZyBlZGdlc3wgYXMgYSBtZWFzdXJl
IG9mIGhvdworICAgICAgICAvLyAgICAiY2VudHJhbCIgdG8gdGhlIGdyYXBoIGl0IGlzLiBXZSBt
YXRlcmlhbGl6ZSBpdCBmaXJzdCwKKyAgICAgICAgLy8gICAgc28gdGhhdCBhbGwgdGhlIHJlY292
ZXJpZXMgd2lsbCBiZSBQdXRzIG9mIHRoaW5ncyBpbnRvCisgICAgICAgIC8vICAgIGl0IChyYXRo
ZXIgdGhhbiBQdXRzIG9mIHRoZSBtYXRlcmlhbGl6YXRpb24gaW50byBvdGhlcgorICAgICAgICAv
LyAgICBvYmplY3RzKSwgd2hpY2ggbWVhbnMgd2Ugd2lsbCBoYXZlIGEgc2luZ2xlCisgICAgICAg
IC8vICAgIFN0b3JlQmFycmllci4KKworCisgICAgICAgIC8vIENvbXB1dGUgZGVwZW5kZW5jaWVz
IGJldHdlZW4gbWF0ZXJpYWxpemF0aW9ucworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0
PE5vZGUqPj4gZGVwZW5kZW5jaWVzOworICAgICAgICBIYXNoTWFwPE5vZGUqLCBIYXNoU2V0PE5v
ZGUqPj4gcmV2ZXJzZURlcGVuZGVuY2llczsKKyAgICAgICAgSGFzaE1hcDxOb2RlKiwgSGFzaFNl
dDxOb2RlKj4+IGZvck1hdGVyaWFsaXphdGlvbjsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBl
bnRyeSA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICBhdXRvJiBteURlcGVuZGVuY2llcyA9IGRl
cGVuZGVuY2llcy5hZGQoZW50cnkua2V5LCBIYXNoU2V0PE5vZGUqPigpKS5pdGVyYXRvci0+dmFs
dWU7CisgICAgICAgICAgICBhdXRvJiBteURlcGVuZGVuY2llc0Zvck1hdGVyaWFsaXphdGlvbiA9
IGZvck1hdGVyaWFsaXphdGlvbi5hZGQoZW50cnkua2V5LCBIYXNoU2V0PE5vZGUqPigpKS5pdGVy
YXRvci0+dmFsdWU7CisgICAgICAgICAgICByZXZlcnNlRGVwZW5kZW5jaWVzLmFkZChlbnRyeS5r
ZXksIEhhc2hTZXQ8Tm9kZSo+KCkpOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBmaWVs
ZCA6IGVudHJ5LnZhbHVlLmZpZWxkcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWVz
LmNvbnRhaW5zKGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZSAhPSBlbnRyeS5rZXkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbXlEZXBlbmRlbmNpZXMuYWRkKGZpZWxkLnZhbHVlKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmV2ZXJzZURlcGVuZGVuY2llcy5hZGQoZmllbGQudmFsdWUsIEhhc2hT
ZXQ8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hZGQoZW50cnkua2V5KTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGZpZWxkLmtleS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG15RGVwZW5kZW5jaWVzRm9yTWF0ZXJpYWxpemF0aW9uLmFkZChm
aWVsZC52YWx1ZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBhdmFpbGFiaWxpdHlDYWxjdWxhdG9yLmJlZ2luQmxvY2soYmxvY2sp
OwotICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxhdG9yOjpEZWYqIHBoaURlZiA6IG1fc3NhQ2Fs
Y3VsYXRvci5waGlzRm9yQmxvY2soYmxvY2spKSB7Ci0gICAgICAgICAgICAgICAgbV9pbnNlcnRp
b25TZXQuaW5zZXJ0KDAsIHBoaURlZi0+dmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICAgICAgTm9kZSogb3JpZ2luYWxOb2RlID0gaW5kZXhUb05vZGVbcGhpRGVmLT52YXJp
YWJsZSgpLT5pbmRleCgpXTsKLSAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0
ZSgKLSAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQsIDAsIE5vZGVPcmlnaW4oKSwg
YXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwKLSAgICAgICAgICAgICAgICAg
ICAgb3JpZ2luYWxOb2RlLCBwaGlEZWYtPnZhbHVlKCkpOworICAgICAgICB9CiAKLSAgICAgICAg
ICAgICAgICBtYXBwaW5nLnNldChvcmlnaW5hbE5vZGUsIHBoaURlZi0+dmFsdWUoKSk7CisgICAg
ICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0byB1cGRhdGUgdGhlIG1hdGVyaWFsaXplZCBzZXQgYW5k
IHRoZQorICAgICAgICAvLyBkZXBlbmRlbmNpZXMKKyAgICAgICAgSGFzaFNldDxOb2RlKj4gbWF0
ZXJpYWxpemVkOworICAgICAgICBhdXRvIG1hdGVyaWFsaXplID0gWyZdIChOb2RlKiBpZGVudGlm
aWVyKSB7CisgICAgICAgICAgICBtYXRlcmlhbGl6ZWQuYWRkKGlkZW50aWZpZXIpOworICAgICAg
ICAgICAgZm9yIChOb2RlKiBkZXAgOiBkZXBlbmRlbmNpZXMuZ2V0KGlkZW50aWZpZXIpKQorICAg
ICAgICAgICAgICAgIHJldmVyc2VEZXBlbmRlbmNpZXMuZmluZChkZXApLT52YWx1ZS5yZW1vdmUo
aWRlbnRpZmllcik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIHJkZXAgOiByZXZlcnNlRGVwZW5k
ZW5jaWVzLmdldChpZGVudGlmaWVyKSkgeworICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcy5m
aW5kKHJkZXApLT52YWx1ZS5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgZm9y
TWF0ZXJpYWxpemF0aW9uLmZpbmQocmRlcCktPnZhbHVlLnJlbW92ZShpZGVudGlmaWVyKTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2Rl
SW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkgewotICAg
ICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAgICAg
ICAgIGRlcGVuZGVuY2llcy5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgICAgICByZXZlcnNl
RGVwZW5kZW5jaWVzLnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZvck1hdGVyaWFs
aXphdGlvbi5yZW1vdmUoaWRlbnRpZmllcik7CisgICAgICAgIH07CiAKLSAgICAgICAgICAgICAg
ICBmb3IgKE5vZGUqIG1hdGVyaWFsaXplIDogbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlh
bGl6YXRpb25zLmdldChub2RlKSkgewotICAgICAgICAgICAgICAgICAgICBOb2RlKiBlc2NhcGVl
ID0gbV9tYXRlcmlhbGl6YXRpb25Ub0VzY2FwZWUuZ2V0KG1hdGVyaWFsaXplKTsKLSAgICAgICAg
ICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG5vZGVJbmRleCwgbWF0ZXJpYWxpemUp
OwotICAgICAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LCBub2RlSW5kZXgsIG5vZGUtPm9yaWdpbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IubV9hdmFpbGFi
aWxpdHksIGVzY2FwZWUsIG1hdGVyaWFsaXplKTsKLSAgICAgICAgICAgICAgICAgICAgbWFwcGlu
Zy5zZXQoZXNjYXBlZSwgbWF0ZXJpYWxpemUpOworICAgICAgICAvLyBOb2RlcyB3aXRob3V0IHJl
bWFpbmluZyB1bm1hdGVyaWFsaXplZCBmaWVsZHMgd2lsbCBiZQorICAgICAgICAvLyBtYXRlcmlh
bGl6ZWQgZmlyc3QgLSBhbW9uZ3N0IHRoZSByZW1haW5pbmcgdW5tYXRlcmlhbGl6ZWQKKyAgICAg
ICAgLy8gbm9kZXMKKyAgICAgICAgc3RkOjpsaXN0PEFsbG9jYXRpb24+IHRvTWF0ZXJpYWxpemU7
CisgICAgICAgIGF1dG8gZmlyc3RQb3MgPSB0b01hdGVyaWFsaXplLmJlZ2luKCk7CisgICAgICAg
IGF1dG8gbWF0ZXJpYWxpemVGaXJzdCA9IFsmXSAoQWxsb2NhdGlvbiYmIGFsbG9jYXRpb24pIHsK
KyAgICAgICAgICAgIG1hdGVyaWFsaXplKGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAg
ICAgICAgIC8vIFdlIG5lZWQgdG8gaW5zZXJ0ICphZnRlciogdGhlIGN1cnJlbnQgcG9zaXRpb24K
KyAgICAgICAgICAgIGlmIChmaXJzdFBvcyAhPSB0b01hdGVyaWFsaXplLmVuZCgpKQorICAgICAg
ICAgICAgICAgICsrZmlyc3RQb3M7CisgICAgICAgICAgICBmaXJzdFBvcyA9IHRvTWF0ZXJpYWxp
emUuaW5zZXJ0KGZpcnN0UG9zLCBXVEY6Om1vdmUoYWxsb2NhdGlvbikpOworICAgICAgICB9Owor
CisgICAgICAgIC8vIE5vZGVzIHRoYXQgbm8gb3RoZXIgdW5tYXRlcmlhbGl6ZWQgbm9kZSBwb2lu
dHMgdG8gd2lsbCBiZQorICAgICAgICAvLyBtYXRlcmlhbGl6ZWQgbGFzdCAtIGFtb25nc3QgdGhl
IHJlbWFpbmluZyB1bm1hdGVyaWFsaXplZAorICAgICAgICAvLyBub2RlcworICAgICAgICBhdXRv
IGxhc3RQb3MgPSB0b01hdGVyaWFsaXplLmVuZCgpOworICAgICAgICBhdXRvIG1hdGVyaWFsaXpl
TGFzdCA9IFsmXSAoQWxsb2NhdGlvbiYmIGFsbG9jYXRpb24pIHsKKyAgICAgICAgICAgIG1hdGVy
aWFsaXplKGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIGxhc3RQb3MgPSB0
b01hdGVyaWFsaXplLmluc2VydChsYXN0UG9zLCBXVEY6Om1vdmUoYWxsb2NhdGlvbikpOworICAg
ICAgICB9OworCisgICAgICAgIC8vIFRoZXNlIGFyZSB0aGUgcHJvbW90ZWQgbG9jYXRpb25zIHRo
YXQgY29udGFpbnMgc29tZSBvZiB0aGUKKyAgICAgICAgLy8gYWxsb2NhdGlvbnMgd2UgYXJlIGN1
cnJlbnRseSBlc2NhcGluZy4gSWYgdGhleSBhcmUgYSBsb2NhdGlvbiBvbgorICAgICAgICAvLyBz
b21lIG90aGVyIGFsbG9jYXRpb24gd2UgYXJlIGN1cnJlbnRseSBtYXRlcmlhbGl6aW5nLCB3ZSB3
aWxsIG5lZWQKKyAgICAgICAgLy8gdG8gInJlY292ZXIiIHRoZWlyIHZhbHVlIHdpdGggYSByZWFs
IHB1dCBvbmNlIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIC8vIGFsbG9jYXRpb24gaXMgbWF0
ZXJpYWxpemVkOyBpZiB0aGV5IGFyZSBhIGxvY2F0aW9uIG9uIHNvbWUgb3RoZXIKKyAgICAgICAg
Ly8gbm90LXlldC1tYXRlcmlhbGl6ZWQgYWxsb2NhdGlvbiwgd2Ugd2lsbCBuZWVkIGEgUHV0SGlu
dC4KKyAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiB0b1JlY292ZXI7CisKKyAg
ICAgICAgLy8gVGhpcyBsb29wIGRvZXMgdGhlIGFjdHVhbCBjeWNsZSBicmVha2luZworICAgICAg
ICB3aGlsZSAoIWVzY2FwZWVzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgbWF0ZXJpYWxpemVk
LmNsZWFyKCk7CisKKyAgICAgICAgICAgIC8vIE1hdGVyaWFsaXplIG5vZGVzIHRoYXQgd29uJ3Qg
cmVxdWlyZSByZWNvdmVyaWVzIGlmIHdlIGNhbgorICAgICAgICAgICAgZm9yIChhdXRvJiBlbnRy
eSA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICAgICAgaWYgKCFmb3JNYXRlcmlhbGl6YXRpb24u
ZmluZChlbnRyeS5rZXkpLT52YWx1ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICAgICAgaWYgKGRlcGVuZGVuY2llcy5maW5kKGVudHJ5Lmtl
eSktPnZhbHVlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUZp
cnN0KFdURjo6bW92ZShlbnRyeS52YWx1ZSkpOworICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIGF2YWlsYWJpbGl0eUNhbGN1bGF0b3IuZXhlY3V0ZU5vZGUobm9kZSk7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGUsCi0gICAgICAgICAgICAgICAgICAgIFsmXSAoRWRnZSYgZWRnZSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE5vZGUqIG1hdGVyaWFsaXplID0gbWFwcGluZy5n
ZXQoZWRnZS5ub2RlKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2Uuc2V0Tm9k
ZShtYXRlcmlhbGl6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIC8vIElmIHlvdSBjYXVzZSBhbiBlc2NhcGUsIHlvdSBzaG91bGRu
J3Qgc2VlIHRoZSBvcmlnaW5hbCBlc2NhcGVlLgotICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0
aW9uRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGhhbmRsZU5vZGUoCi0gICAgICAg
ICAgICAgICAgICAgICAgICBub2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoTm9kZSogZXNjYXBlZSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbm9kZSwgIW1fc2lua0Nh
bmRpZGF0ZXMuY29udGFpbnMoZXNjYXBlZSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7
CisKKyAgICAgICAgICAgICAgICBpZiAocmV2ZXJzZURlcGVuZGVuY2llcy5maW5kKGVudHJ5Lmtl
eSktPnZhbHVlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGl6ZUxh
c3QoV1RGOjptb3ZlKGVudHJ5LnZhbHVlKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgTm9kZUFuZEluZGV4IHRlcm1pbmFsID0gYmxvY2stPmZpbmRUZXJtaW5hbCgpOwotICAg
ICAgICAgICAgc2l6ZV90IHVwc2lsb25JbnNlcnRpb25Qb2ludCA9IHRlcm1pbmFsLmluZGV4Owot
ICAgICAgICAgICAgTm9kZSogdXBzaWxvbldoZXJlID0gdGVybWluYWwubm9kZTsKLSAgICAgICAg
ICAgIE5vZGVPcmlnaW4gdXBzaWxvbk9yaWdpbiA9IHVwc2lsb25XaGVyZS0+b3JpZ2luOwotICAg
ICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBzdWNjZXNzb3JCbG9jayA6IGJsb2NrLT5zdWNjZXNz
b3JzKCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKFNTQUNhbGN1bGF0b3I6OkRlZiogcGhpRGVm
IDogbV9zc2FDYWxjdWxhdG9yLnBoaXNGb3JCbG9jayhzdWNjZXNzb3JCbG9jaykpIHsKLSAgICAg
ICAgICAgICAgICAgICAgTm9kZSogcGhpTm9kZSA9IHBoaURlZi0+dmFsdWUoKTsKLSAgICAgICAg
ICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIHZhcmlhYmxlID0gcGhpRGVmLT52
YXJpYWJsZSgpOwotICAgICAgICAgICAgICAgICAgICBOb2RlKiBhbGxvY2F0aW9uID0gaW5kZXhU
b05vZGVbdmFyaWFibGUtPmluZGV4KCldOwotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICAgICAgTm9kZSogaW5jb21pbmcgPSBtYXBwaW5nLmdldChhbGxvY2F0aW9uKTsKLSAg
ICAgICAgICAgICAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBpbmNvbWluZywgaW5jb21pbmcg
IT0gYWxsb2NhdGlvbik7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAg
ICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAotICAgICAgICAgICAgICAgICAgICAgICAgdXBz
aWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBzaWxvbiwgdXBzaWxvbk9yaWdpbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlOb2RlKSwgaW5jb21pbmctPmRlZmF1bHRF
ZGdlKCkpOworCisgICAgICAgICAgICAvLyBXZSByZWFjaCB0aGlzIG9ubHkgaWYgdGhlcmUgaXMg
YW4gYWN0dWFsIGN5Y2xlIHRoYXQgbmVlZHMKKyAgICAgICAgICAgIC8vIGJyZWFraW5nLiBCZWNh
dXNlIHdlIGRvIG5vdCB3YW50IHRvIHNvbHZlIGEgTlAtaGFyZCBwcm9ibGVtCisgICAgICAgICAg
ICAvLyBoZXJlLCB3ZSBqdXN0IGhldXJpc3RpY2FsbHkgcGljayBhIG5vZGUgYW5kIG1hdGVyaWFs
aXplIGl0CisgICAgICAgICAgICAvLyBmaXJzdC4KKyAgICAgICAgICAgIGlmIChtYXRlcmlhbGl6
ZWQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4RXZhbHVhdGlvbiA9
IDA7CisgICAgICAgICAgICAgICAgQWxsb2NhdGlvbiogYmVzdEFsbG9jYXRpb247CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVzY2FwZWVzKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICghZm9yTWF0ZXJpYWxpemF0aW9uLmZpbmQoZW50cnkua2V5KS0+dmFsdWUuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAg
ICAgICAgdWludDY0X3QgZXZhbHVhdGlvbiA9CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDx1aW50NjRfdD4oZGVwZW5kZW5jaWVzLmdldChlbnRyeS5rZXkpLnNpemUoKSkgKiBy
ZXZlcnNlRGVwZW5kZW5jaWVzLmdldChlbnRyeS5rZXkpLnNpemUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGV2YWx1YXRpb24gPiBtYXhFdmFsdWF0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBtYXhFdmFsdWF0aW9uID0gZXZhbHVhdGlvbjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJlc3RBbGxvY2F0aW9uID0gJmVudHJ5LnZhbHVlOworICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1heEV2
YWx1YXRpb24gPiAwKTsKKworICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplRmlyc3QoV1RGOjpt
b3ZlKCpiZXN0QWxsb2NhdGlvbikpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFtYXRlcmlhbGl6ZWQuaXNFbXB0eSgpKTsKKworICAgICAgICAgICAgZm9yIChO
b2RlKiBpZGVudGlmaWVyIDogbWF0ZXJpYWxpemVkKQorICAgICAgICAgICAgICAgIGVzY2FwZWVz
LnJlbW92ZShpZGVudGlmaWVyKTsKKyAgICAgICAgfQorCisgICAgICAgIG1hdGVyaWFsaXplZC5j
bGVhcigpOworCisgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IGVzY2FwZWQ7CisgICAgICAgIGZvciAo
Y29uc3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpCisgICAgICAgICAg
ICBlc2NhcGVkLmFkZChhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgIGZvciAoY29u
c3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA6IHRvTWF0ZXJpYWxpemUpIHsKKyAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgZmllbGQgOiBhbGxvY2F0aW9uLmZpZWxkcygpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKGVzY2FwZWQuY29udGFpbnMoZmllbGQudmFsdWUpICYmICFtYXRlcmlhbGl6
ZWQuY29udGFpbnMoZmllbGQudmFsdWUpKQorICAgICAgICAgICAgICAgICAgICB0b1JlY292ZXIu
YXBwZW5kKFByb21vdGVkSGVhcExvY2F0aW9uKGFsbG9jYXRpb24uaWRlbnRpZmllcigpLCBmaWVs
ZC5rZXkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hdGVyaWFsaXplZC5hZGQoYWxs
b2NhdGlvbi5pZGVudGlmaWVyKCkpOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPE5vZGUq
PiYgbWF0ZXJpYWxpemF0aW9ucyA9IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0
aW9ucy5hZGQoCisgICAgICAgICAgICB3aGVyZSwgVmVjdG9yPE5vZGUqPigpKS5pdGVyYXRvci0+
dmFsdWU7CisKKyAgICAgICAgZm9yIChjb25zdCBBbGxvY2F0aW9uJiBhbGxvY2F0aW9uIDogdG9N
YXRlcmlhbGl6ZSkgeworICAgICAgICAgICAgTm9kZSogbWF0ZXJpYWxpemF0aW9uID0gY3JlYXRl
TWF0ZXJpYWxpemF0aW9uKGFsbG9jYXRpb24sIHdoZXJlKTsKKyAgICAgICAgICAgIG1hdGVyaWFs
aXphdGlvbnMuYXBwZW5kKG1hdGVyaWFsaXphdGlvbik7CisgICAgICAgICAgICBtX21hdGVyaWFs
aXphdGlvblRvRXNjYXBlZS5hZGQobWF0ZXJpYWxpemF0aW9uLCBhbGxvY2F0aW9uLmlkZW50aWZp
ZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXRvUmVjb3Zlci5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgIG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5hZGQoCisgICAg
ICAgICAgICAgICAgd2hlcmUsIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4oKSkuaXRlcmF0
b3ItPnZhbHVlLmFwcGVuZFZlY3Rvcih0b1JlY292ZXIpOworICAgICAgICB9CisKKyAgICAgICAg
Ly8gVGhlIGhpbnRzIG5lZWQgdG8gYmUgYWZ0ZXIgdGhlICJyZWFsIiByZWNvdmVyaWVzIHNvIHRo
YXQgd2UKKyAgICAgICAgLy8gZG9uJ3QgaGludCBub3QteWV0LWNvbXBsZXRlIG9iamVjdHMKKyAg
ICAgICAgaWYgKCFoaW50cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1fbWF0ZXJpYWxpemF0
aW9uU2l0ZVRvUmVjb3Zlcmllcy5hZGQoCisgICAgICAgICAgICAgICAgd2hlcmUsIFZlY3RvcjxQ
cm9tb3RlZEhlYXBMb2NhdGlvbj4oKSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZFZlY3RvcihoaW50
cyk7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2
ZSBkdW1teSBtYXRlcmlhbGl6YXRpb24gbm9kZXMgYWxvbmcgd2l0aCBlZGdlcyB0byB0aGVtLiBU
aGlzIG1lYW5zCi0gICAgICAgIC8vIHRoYXQgdGhlIHBhcnQgb2YgdGhlIGNvbnRyb2wgZmxvdyBn
cmFwaCB0aGF0IHByZWZlcnMgdG8gc2VlIGFjdHVhbCBvYmplY3QgYWxsb2NhdGlvbnMKLSAgICAg
ICAgLy8gaXMgY29tcGxldGVseSBmaXhlZCB1cCwgZXhjZXB0IGZvciB0aGUgbWF0ZXJpYWxpemF0
aW9ucyB0aGVtc2VsdmVzLgogICAgIH0KLSAgICAKLSAgICB2b2lkIGxvd2VyTm9uUmVhZGluZ09w
ZXJhdGlvbnNPblBoYW50b21BbGxvY2F0aW9ucygpCisKKyAgICBOb2RlKiBjcmVhdGVNYXRlcmlh
bGl6YXRpb24oY29uc3QgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiwgTm9kZSogd2hlcmUpCiAgICAg
ewotICAgICAgICAvLyBMb3dlciBldmVyeXRoaW5nIGJ1dCByZWFkaW5nIG9wZXJhdGlvbnMgb24g
cGhhbnRvbSBhbGxvY2F0aW9ucy4gV2UgYWJzb2x1dGVseSBoYXZlIHRvCi0gICAgICAgIC8vIGxv
d2VyIGFsbCB3cml0ZXMgc28gYXMgdG8gcmV2ZWFsIHRoZW0gdG8gdGhlIFNTQSBjYWxjdWxhdG9y
LiBXZSBjYW5ub3QgbG93ZXIgcmVhZHMKLSAgICAgICAgLy8gYmVjYXVzZSB0aGUgd2hvbGUgcG9p
bnQgaXMgdGhhdCB0aG9zZSBnbyBhd2F5IGNvbXBsZXRlbHkuCi0gICAgICAgIAotICAgICAgICBm
b3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7
Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJs
b2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7Ci0gICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9
IGJsb2NrLT5hdChub2RlSW5kZXgpOwotICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3Ao
KSkgewotICAgICAgICAgICAgICAgIGNhc2UgUHV0QnlPZmZzZXQ6IHsKLSAgICAgICAgICAgICAg
ICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQyKCkubm9kZSgpOwotICAgICAgICAgICAg
ICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyh0YXJnZXQpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBBU1NFUlQodGFyZ2V0LT5pc1BoYW50b21PYmplY3RBbGxvY2F0aW9u
KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUHV0QnlPZmZzZXRI
aW50KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB0aGUgb25seSBw
bGFjZSB3aGVyZSB3ZSBhY3R1YWxseSB1c2UgdGhlCisgICAgICAgIC8vIGZhY3QgdGhhdCBhbiBh
bGxvY2F0aW9uJ3MgaWRlbnRpZmllciBpcyBpbmRlZWQgdGhlIG5vZGUKKyAgICAgICAgLy8gdGhh
dCBjcmVhdGVkIHRoZSBhbGxvY2F0aW9uLgorICAgICAgICBzd2l0Y2ggKGFsbG9jYXRpb24ua2lu
ZCgpKSB7CisgICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6T2JqZWN0OiB7CisgICAgICAg
ICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKiBkYXRhID0gbV9ncmFwaC5tX29iamVjdE1h
dGVyaWFsaXphdGlvbkRhdGEuYWRkKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmVTZXQqIHNldCA9
IG1fZ3JhcGguYWRkU3RydWN0dXJlU2V0KGFsbG9jYXRpb24uc3RydWN0dXJlcygpKTsKIAotICAg
ICAgICAgICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjogewotICAgICAgICAgICAgICAgICAgICBO
b2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKHRhcmdldCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIEFTU0VSVCh0YXJnZXQtPmlzUGhhbnRvbUFjdGl2YXRpb25BbGxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUHV0Q2xvc3VyZVZhckhp
bnQoKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
IGNhc2UgUHV0U3RydWN0dXJlOiB7Ci0gICAgICAgICAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9
IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0Nh
bmRpZGF0ZXMuY29udGFpbnModGFyZ2V0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKHRhcmdldC0+aXNQaGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50
KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLCBK
U1ZhbHVlKG5vZGUtPnRyYW5zaXRpb24oKS0+bmV4dCkpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZS0+Y29udmVydFRvUHV0U3RydWN0dXJlSGludChzdHJ1Y3R1cmUpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgY2FzZSBOZXdPYmplY3Q6
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9k
ZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0
aW9uU2V0Lmluc2VydENvbnN0YW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJ
bmRleCArIDEsIG5vZGUtPm9yaWdpbiwgSlNWYWx1ZShub2RlLT5zdHJ1Y3R1cmUoKSkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBz
dHJ1Y3R1cmUpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50
b21OZXdPYmplY3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVk
SGVhcExvY2F0aW9uKFN0cnVjdHVyZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwgbV9ncmFwaC52YXJB
cmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9w
cm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXNbaV0ubV9pZGVu
dGlmaWVyTnVtYmVyOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0
Lmluc2VydCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4ICsgMSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYywgbm9k
ZSwgaWRlbnRpZmllck51bWJlcikuY3JlYXRlSGludCgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSArIDEpLm5vZGUoKSkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvUGhhbnRvbU5ld09iamVjdCgpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVu
dGlmaWVyKCktPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVj
dCwKKyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBhbGxv
Y2F0aW9uLmlkZW50aWZpZXIoKS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAg
ICB3aGVyZS0+b3JpZ2luLmZvckV4aXQpLAorICAgICAgICAgICAgICAgIE9wSW5mbyhzZXQpLCBP
cEluZm8oZGF0YSksIDAsIDApOworICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBjYXNlIE5l
d0Z1bmN0aW9uOiB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNv
bnRhaW5zKG5vZGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBleGVjdXRhYmxl
ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnQoCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbm9kZUluZGV4ICsgMSwgbm9kZS0+b3JpZ2luLCBub2RlLT5jZWxsT3BlcmFuZCgpKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIG5vZGUp
LmNyZWF0ZUhpbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5v
ZGUtPm9yaWdpbiwgZXhlY3V0YWJsZSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNl
cnRpb25TZXQuaW5zZXJ0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCAr
IDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oRnVu
Y3Rpb25BY3RpdmF0aW9uUExvYywgbm9kZSkuY3JlYXRlSGludCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBub2RlLT5jaGlsZDEoKS5ub2Rl
KCkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdG
dW5jdGlvbigpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5kOjpG
dW5jdGlvbjogeworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGV4ZWN1dGFibGUgPSBhbGxvY2F0
aW9uLmlkZW50aWZpZXIoKS0+Y2VsbE9wZXJhbmQoKTsKIAotICAgICAgICAgICAgICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjogewotICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlk
YXRlcy5jb250YWlucyhub2RlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRp
b25TZXQuaW5zZXJ0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oQWN0aXZh
dGlvblNjb3BlUExvYywgbm9kZSkuY3JlYXRlSGludCgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBub2RlLT5jaGlsZDEoKS5ub2RlKCkpKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHN5bWJvbFRhYmxlTm9kZSA9IG1faW5zZXJ0
aW9uU2V0Lmluc2VydENvbnN0YW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJ
bmRleCArIDEsIG5vZGUtPm9yaWdpbiwgbm9kZS0+Y2VsbE9wZXJhbmQoKSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbm9kZUluZGV4ICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9t
b3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVI
aW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmln
aW4sIHN5bWJvbFRhYmxlTm9kZSkpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlID0gbm9kZS0+
Y2FzdE9wZXJhbmQ8U3ltYm9sVGFibGUqPigpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5vZGUqIHVuZGVmaW5lZCA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0YW50KAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBub2RlLT5vcmlnaW4sIGpz
VW5kZWZpbmVkKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRM
b2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xvY2spOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZvciAoYXV0byBpdGVyID0gc3ltYm9sVGFibGUtPmJlZ2luKGxvY2tlciksIGVuZCA9
IHN5bWJvbFRhYmxlLT5lbmQobG9ja2VyKTsgaXRlciAhPSBlbmQ7ICsraXRlcikgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24oCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc3VyZVZhclBMb2MsIG5vZGUsIGl0ZXIt
PnZhbHVlLnNjb3BlT2Zmc2V0KCkub2Zmc2V0KCkpLmNyZWF0ZUhpbnQoCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCB1bmRlZmlu
ZWQpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAgICAgICAg
ICAgIGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5wcmVkaWN0aW9uKCksIE5ld0Z1bmN0aW9uLAor
ICAgICAgICAgICAgICAgIE5vZGVPcmlnaW4oCisgICAgICAgICAgICAgICAgICAgIGFsbG9jYXRp
b24uaWRlbnRpZmllcigpLT5vcmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdo
ZXJlLT5vcmlnaW4uZm9yRXhpdCksCisgICAgICAgICAgICAgICAgT3BJbmZvKGV4ZWN1dGFibGUp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21DcmVhdGVBY3RpdmF0aW9uKCk7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
fQorICAgICAgICBjYXNlIEFsbG9jYXRpb246OktpbmQ6OkFjdGl2YXRpb246IHsKKyAgICAgICAg
ICAgIE9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0
ZXJpYWxpemF0aW9uRGF0YS5hZGQoKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBzeW1ib2xU
YWJsZSA9IGFsbG9jYXRpb24uaWRlbnRpZmllcigpLT5jZWxsT3BlcmFuZCgpOwogCi0gICAgICAg
ICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246IHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy
b21vdGVkSGVhcExvY2F0aW9uKEFjdGl2YXRpb25TY29wZVBMb2MsIG5vZGUpLmNyZWF0ZUhpbnQo
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPm9yaWdpbiwg
bV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS5ub2RlKCkpKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIE5vZGUqIHN5bWJvbFRhYmxlTm9kZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENvbnN0
YW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUtPm9y
aWdpbiwgbm9kZS0+Y2VsbE9wZXJhbmQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2lu
c2VydGlvblNldC5pbnNlcnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUluZGV4
ICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbihB
Y3RpdmF0aW9uU3ltYm9sVGFibGVQTG9jLCBub2RlKS5jcmVhdGVIaW50KAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sIHN5bWJvbFRhYmxlTm9k
ZSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSYg
ZGF0YSA9IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXpl
KCk7ICsraSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXJOdW1iZXIgPSBkYXRhLm1fcHJvcGVydGllc1tpXS5tX2lkZW50aWZpZXJOdW1iZXI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIENsb3N1cmVWYXJQTG9jLCBub2RlLCBpZGVudGlmaWVyTnVtYmVyKS5j
cmVhdGVIaW50KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwg
bm9kZS0+b3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aC52YXJBcmdDaGlsZChub2RlLCBpICsgMSkubm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9tQ3Jl
YXRlQWN0aXZhdGlvbigpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBo
LmFkZE5vZGUoCisgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRp
Y3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb24sCisgICAg
ICAgICAgICAgICAgTm9kZU9yaWdpbigKKyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGlvbi5p
ZGVudGlmaWVyKCktPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgd2hlcmUt
Pm9yaWdpbi5mb3JFeGl0KSwKKyAgICAgICAgICAgICAgICBPcEluZm8oc3ltYm9sVGFibGUpLCBP
cEluZm8oZGF0YSksIDAsIDApOworICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBjYXNlIFN0
b3JlQmFycmllcjogewotICAgICAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9k
ZSwgIlVuZXhwZWN0ZWQgc3RvcmUgYmFycmllciBkdXJpbmcgc2lua2luZy4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgbV9n
cmFwaC5kb1RvQ2hpbGRyZW4oCi0gICAgICAgICAgICAgICAgICAgIG5vZGUsCi0gICAgICAgICAg
ICAgICAgICAgIFsmXSAoRWRnZSYgZWRnZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMoZWRnZS5ub2RlKCkpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVkZ2Uuc2V0VXNlS2luZChLbm93bkNlbGxVc2UpOwotICAgICAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4
ZWN1dGUoYmxvY2spOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgREZHX0NSQVNIKG1f
Z3JhcGgsIGFsbG9jYXRpb24uaWRlbnRpZmllcigpLCAiQmFkIGFsbG9jYXRpb24ga2luZCIpOwog
ICAgICAgICB9CiAgICAgfQotICAgIAotICAgIHZvaWQgcHJvbW90ZVN1bmtlbkZpZWxkcygpCisK
KyAgICB2b2lkIHByb21vdGVMb2NhbEhlYXAoKQogICAgIHsKLSAgICAgICAgLy8gQ29sbGVjdCB0
aGUgc2V0IG9mIGhlYXAgbG9jYXRpb25zIHRoYXQgd2Ugd2lsbCBiZSBvcGVyYXRpbmcgb3Zlci4K
KyAgICAgICAgLy8gQ29sbGVjdCB0aGUgc2V0IG9mIGhlYXAgbG9jYXRpb25zIHRoYXQgd2Ugd2ls
bCBiZSBvcGVyYXRpbmcKKyAgICAgICAgLy8gb3Zlci4KICAgICAgICAgSGFzaFNldDxQcm9tb3Rl
ZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zOwogICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2Nr
IDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBtX2hlYXAg
PSBtX2hlYXBBdEhlYWRbYmxvY2tdOworCiAgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiAq
YmxvY2spIHsKLSAgICAgICAgICAgICAgICBwcm9tb3RlSGVhcEFjY2VzcygKKyAgICAgICAgICAg
ICAgICBoYW5kbGVOb2RlKAogICAgICAgICAgICAgICAgICAgICBub2RlLAotICAgICAgICAgICAg
ICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uLCBFZGdlKSB7CisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlO
b2RlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbG9jYXRpb24gaXMgbm90
IG9uIGEgc2luayBjYW5kaWRhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBvbmx5
IHNpbmsgaXQgaWYgaXQgaXMgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lu
a0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRpb24uYmFzZSgpKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2NhdGlvbnMuYWRkKGxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlv
bikgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFp
bnMobG9jYXRpb24uYmFzZSgpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlv
bnMuYWRkKGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBM
b2NhdGlvbiBsb2NhdGlvbikgLT4gTm9kZSogeworICAgICAgICAgICAgICAgICAgICAgICAgbG9j
YXRpb25zLmFkZChsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
LSAgICAgICAgCisKICAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBsb2NhdGlvbnMgYmVsb25n
IHRvIHdoaWNoIGFsbG9jYXRpb25zLgogICAgICAgICBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24u
Y2xlYXIoKTsKICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA6IGxv
Y2F0aW9ucykgewotICAgICAgICAgICAgYXV0byByZXN1bHQgPSBtX2xvY2F0aW9uc0ZvckFsbG9j
YXRpb24uYWRkKGxvY2F0aW9uLmJhc2UoKSwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPigp
KTsKKyAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmFk
ZCgKKyAgICAgICAgICAgICAgICBsb2NhdGlvbi5iYXNlKCksCisgICAgICAgICAgICAgICAgVmVj
dG9yPFByb21vdGVkSGVhcExvY2F0aW9uPigpKTsKICAgICAgICAgICAgIEFTU0VSVCghcmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZS5jb250YWlucyhsb2NhdGlvbikpOwogICAgICAgICAgICAgcmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQobG9jYXRpb24pOwogICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICAvLyBGb3IgZWFjaCBzdW5rZW4gdGhpbmd5LCBtYWtlIHN1cmUgd2UgY3JlYXRlIEJv
dHRvbSB2YWx1ZXMgZm9yIGFsbCBvZiBpdHMgZmllbGRzLgotICAgICAgICAvLyBOb3RlIHRoYXQg
dGhpcyBoYXMgdGhlIGhpbGFyaW91cyBzbGlnaHQgaW5lZmZpY2llbmN5IG9mIGNyZWF0aW5nIHJl
ZHVuZGFudCBoaW50cyBmb3IKLSAgICAgICAgLy8gdGhpbmdzIHRoYXQgd2VyZSBwcmV2aW91c2x5
IG1hdGVyaWFsaXphdGlvbnMuIFRoaXMgc2hvdWxkIG9ubHkgaW1wYWN0IGNvbXBpbGUgdGltZXMg
YW5kCi0gICAgICAgIC8vIG5vdCBjb2RlIHF1YWxpdHksIGFuZCBpdCdzIG5lY2Vzc2FyeSBmb3Ig
c291bmRuZXNzIHdpdGhvdXQgc29tZSBkYXRhIHN0cnVjdHVyZSBoYWNrYWdlLgotICAgICAgICAv
LyBGb3IgZXhhbXBsZSwgYSBNYXRlcmlhbGl6ZU5ld09iamVjdCB0aGF0IHdlIGNob29zZSB0byBz
aW5rIG1heSBoYXZlIG5ldyBmaWVsZHMgYWRkZWQgdG8KLSAgICAgICAgLy8gaXQgY29uZGl0aW9u
YWxseS4gVGhhdCB3b3VsZCBuZWNlc3NpdGF0ZSBCb3R0b21zLgotICAgICAgICBOb2RlKiBib3R0
b20gPSBudWxscHRyOwotICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5i
bG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7Ci0gICAgICAgICAgICBpZiAoYmxvY2sgPT0gbV9ncmFw
aC5ibG9jaygwKSkKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtX2luc2VydGlvblNldC5pbnNl
cnRDb25zdGFudCgwLCBOb2RlT3JpZ2luKCksIGpzVW5kZWZpbmVkKCkpOwotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJs
b2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7Ci0gICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9
IGJsb2NrLT5hdChub2RlSW5kZXgpOwotICAgICAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFw
TG9jYXRpb24gbG9jYXRpb24gOiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KG5vZGUpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwg
bm9kZS0+b3JpZ2luLCBib3R0b20pKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKLSAgICAgICAgfQog
Ci0gICAgICAgIG1fc3NhQ2FsY3VsYXRvci5yZXNldCgpOworICAgICAgICBtX3BvaW50ZXJTU0Eu
cmVzZXQoKTsKKyAgICAgICAgbV9hbGxvY2F0aW9uU1NBLnJlc2V0KCk7CiAKICAgICAgICAgLy8g
Q29sbGVjdCB0aGUgc2V0IG9mICJ2YXJpYWJsZXMiIHRoYXQgd2Ugd2lsbCBiZSBzaW5raW5nLgog
ICAgICAgICBtX2xvY2F0aW9uVG9WYXJpYWJsZS5jbGVhcigpOwotICAgICAgICBtX2luZGV4VG9M
b2NhdGlvbi5jbGVhcigpOworICAgICAgICBtX25vZGVUb1ZhcmlhYmxlLmNsZWFyKCk7CisgICAg
ICAgIFZlY3RvcjxOb2RlKj4gaW5kZXhUb05vZGU7CisgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhl
YXBMb2NhdGlvbj4gaW5kZXhUb0xvY2F0aW9uOworCisgICAgICAgIGZvciAoTm9kZSogaW5kZXgg
OiBtX3NpbmtDYW5kaWRhdGVzKSB7CisgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJs
ZSogdmFyaWFibGUgPSBtX2FsbG9jYXRpb25TU0EubmV3VmFyaWFibGUoKTsKKyAgICAgICAgICAg
IG1fbm9kZVRvVmFyaWFibGUuYWRkKGluZGV4LCB2YXJpYWJsZSk7CisgICAgICAgICAgICBBU1NF
UlQoaW5kZXhUb05vZGUuc2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgpKTsKKyAgICAgICAgICAg
IGluZGV4VG9Ob2RlLmFwcGVuZChpbmRleCk7CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKFBy
b21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7Ci0gICAgICAgICAgICBT
U0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBtX3NzYUNhbGN1bGF0b3IubmV3VmFy
aWFibGUoKTsKKyAgICAgICAgICAgIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9
IG1fcG9pbnRlclNTQS5uZXdWYXJpYWJsZSgpOwogICAgICAgICAgICAgbV9sb2NhdGlvblRvVmFy
aWFibGUuYWRkKGxvY2F0aW9uLCB2YXJpYWJsZSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9pbmRl
eFRvTG9jYXRpb24uc2l6ZSgpID09IHZhcmlhYmxlLT5pbmRleCgpKTsKLSAgICAgICAgICAgIG1f
aW5kZXhUb0xvY2F0aW9uLmFwcGVuZChsb2NhdGlvbik7CisgICAgICAgICAgICBBU1NFUlQoaW5k
ZXhUb0xvY2F0aW9uLnNpemUoKSA9PSB2YXJpYWJsZS0+aW5kZXgoKSk7CisgICAgICAgICAgICBp
bmRleFRvTG9jYXRpb24uYXBwZW5kKGxvY2F0aW9uKTsKICAgICAgICAgfQotICAgICAgICAKLSAg
ICAgICAgLy8gQ3JlYXRlIERlZnMgZnJvbSB0aGUgZXhpc3RpbmcgaGludHMuCisKKyAgICAgICAg
Ly8gV2UgaW5zZXJ0IGFsbCByZXF1aXJlZCBjb25zdGFudHMgYXQgdG9wIG9mIGJsb2NrIDAgc28g
dGhhdAorICAgICAgICAvLyB0aGV5IGFyZSBpbnNlcnRlZCBvbmx5IG9uY2UgYW5kIHdlIGRvbid0
IGNsdXR0ZXIgdGhlIGdyYXBoCisgICAgICAgIC8vIHdpdGggdXNlbGVzcyBjb25zdGFudHMgZXZl
cnl3aGVyZQorICAgICAgICBIYXNoTWFwPEZyb3plblZhbHVlKiwgTm9kZSo+IGxhenlNYXBwaW5n
OworICAgICAgICBpZiAoIW1fYm90dG9tKQorICAgICAgICAgICAgbV9ib3R0b20gPSBtX2luc2Vy
dGlvblNldC5pbnNlcnRDb25zdGFudCgwLCBOb2RlT3JpZ2luKCksIGpzTnVtYmVyKDE5MjcpKTsK
ICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFs
T3JkZXIoKSkgewotICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogKmJsb2NrKSB7Ci0gICAg
ICAgICAgICAgICAgcHJvbW90ZUhlYXBBY2Nlc3MoCisgICAgICAgICAgICBtX2hlYXAgPSBtX2hl
YXBBdEhlYWRbYmxvY2tdOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9
IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworCisgICAgICAgICAgICAg
ICAgLy8gU29tZSBuYW1lZCBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCBjb25kaXRpb25hbGx5LAor
ICAgICAgICAgICAgICAgIC8vIGFuZCB0aGF0IHdvdWxkIG5lY2Vzc2l0YXRlIGJvdHRvbXMKKyAg
ICAgICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9sb2Nh
dGlvbnNGb3JBbGxvY2F0aW9uLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAo
bG9jYXRpb24ua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgU1NBQ2FsY3VsYXRvcjo6VmFy
aWFibGUqIHZhcmlhYmxlID0gbV9sb2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKTsKKyAg
ICAgICAgICAgICAgICAgICAgbV9wb2ludGVyU1NBLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIG1f
Ym90dG9tKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKE5vZGUq
IG1hdGVyaWFsaXphdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9u
cy5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogZXNjYXBlZSA9IG1fbWF0
ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAg
ICAgICAgICBtX2FsbG9jYXRpb25TU0EubmV3RGVmKG1fbm9kZVRvVmFyaWFibGUuZ2V0KGVzY2Fw
ZWUpLCBibG9jaywgbWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkKKyAgICAgICAg
ICAgICAgICAgICAgbV9hbGxvY2F0aW9uU1NBLm5ld0RlZihtX25vZGVUb1ZhcmlhYmxlLmdldChu
b2RlKSwgYmxvY2ssIG5vZGUpOworCisgICAgICAgICAgICAgICAgaGFuZGxlTm9kZSgKICAgICAg
ICAgICAgICAgICAgICAgbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhl
YXBMb2NhdGlvbiBsb2NhdGlvbiwgRWRnZSB2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2UoKSkpCisgICAg
ICAgICAgICAgICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIExhenlO
b2RlIHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWxvY2F0aW9ucy5jb250
YWlucyhsb2NhdGlvbikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlVmFsdWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodmFsdWUuaXNOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZVZhbHVlID0gdmFsdWUuYXNOb2RlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBsYXp5TWFwcGluZy5m
aW5kKHZhbHVlLmFzVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0
ZXIgIT0gbGF6eU1hcHBpbmcuZW5kKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVWYWx1ZSA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVmFsdWUgPSB2YWx1ZS5l
bnN1cmVJc05vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldCwgbV9ncmFwaC5ibG9jaygwKSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxhenlNYXBwaW5nLmFkZCh2YWx1ZS5hc1ZhbHVlKCksIG5vZGVWYWx1ZSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUg
PSBtX2xvY2F0aW9uVG9WYXJpYWJsZS5nZXQobG9jYXRpb24pOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9zc2FDYWxjdWxhdG9yLm5ld0RlZih2YXJpYWJsZSwgYmxvY2ssIHZhbHVlLm5vZGUo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBtX3BvaW50ZXJTU0EubmV3RGVmKHZhcmlhYmxl
LCBibG9jaywgbm9kZVZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbikgeyB9KTsKKyAgICAgICAgICAgICAg
ICAgICAgW10gKFByb21vdGVkSGVhcExvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIC8vIE9NRyBydW4gdGhlIFNT
QSBjYWxjdWxhdG9yIHRvIGNyZWF0ZSBQaGlzIQotICAgICAgICBtX3NzYUNhbGN1bGF0b3IuY29t
cHV0ZVBoaXMoCisgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUobV9ncmFwaC5ibG9jaygw
KSk7CisKKyAgICAgICAgLy8gUnVuIHRoZSBTU0EgY2FsY3VsYXRvcnMgdG8gY3JlYXRlIFBoaXMK
KyAgICAgICAgbV9wb2ludGVyU1NBLmNvbXB1dGVQaGlzKAorICAgICAgICAgICAgWyZdIChTU0FD
YWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBOb2Rl
KiB7CisgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBpbmRl
eFRvTG9jYXRpb25bdmFyaWFibGUtPmluZGV4KCldOworCisgICAgICAgICAgICAgICAgLy8gRG9u
J3QgY3JlYXRlIFBoaSBub2RlcyBmb3IgZmllbGRzIG9mIGRlYWQgYWxsb2NhdGlvbnMKKyAgICAg
ICAgICAgICAgICBpZiAoIW1faGVhcEF0SGVhZFtibG9ja10uaXNBbGxvY2F0aW9uKGxvY2F0aW9u
LmJhc2UoKSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
ICAgICAgICAgLy8gRG9uJ3QgY3JlYXRlIFBoaSBub2RlcyBvbmNlIHdlIGFyZSBlc2NhcGVkCisg
ICAgICAgICAgICAgICAgaWYgKG1faGVhcEF0SGVhZFtibG9ja10uZ2V0QWxsb2NhdGlvbihsb2Nh
dGlvbi5iYXNlKCkpLmlzRXNjYXBlZEFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICAvLyBJZiB3ZSBwb2ludCB0byBhIHNp
bmdsZSBhbGxvY2F0aW9uLCB3ZSB3aWxsCisgICAgICAgICAgICAgICAgLy8gZGlyZWN0bHkgdXNl
IGl0cyBtYXRlcmlhbGl6YXRpb24KKyAgICAgICAgICAgICAgICBpZiAobV9oZWFwQXRIZWFkW2Js
b2NrXS5mb2xsb3cobG9jYXRpb24pKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUgPSBtX2dyYXBoLmFkZE5vZGUoU3Bl
Y0hlYXBUb3AsIFBoaSwgTm9kZU9yaWdpbigpKTsKKyAgICAgICAgICAgICAgICBwaGlOb2RlLT5t
ZXJnZUZsYWdzKE5vZGVSZXN1bHRKUyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBoaU5vZGU7
CisgICAgICAgICAgICB9KTsKKworICAgICAgICBtX2FsbG9jYXRpb25TU0EuY29tcHV0ZVBoaXMo
CiAgICAgICAgICAgICBbJl0gKFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSwgQmFz
aWNCbG9jayogYmxvY2spIC0+IE5vZGUqIHsKLSAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBM
b2NhdGlvbiBsb2NhdGlvbiA9IG1faW5kZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsK
LSAgICAgICAgICAgICAgICBpZiAoIW1fY29tYmluZWRMaXZlbmVzcy5saXZlQXRIZWFkW2Jsb2Nr
XS5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAgICAgIE5vZGUqIGlkZW50
aWZpZXIgPSBpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV07CisKKyAgICAgICAgICAgICAg
ICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIGZvciBkZWFkIGFsbG9jYXRpb25zCisgICAgICAg
ICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2tdLmlzQWxsb2NhdGlvbihpZGVudGlmaWVy
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgICAg
ICAvLyBEb24ndCBjcmVhdGUgUGhpIG5vZGVzIHVudGlsIHdlIGFyZSBlc2NhcGVkCisgICAgICAg
ICAgICAgICAgaWYgKCFtX2hlYXBBdEhlYWRbYmxvY2tdLmdldEFsbG9jYXRpb24oaWRlbnRpZmll
cikuaXNFc2NhcGVkQWxsb2NhdGlvbigpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIE5vZGUqIHBoaU5vZGUg
PSBtX2dyYXBoLmFkZE5vZGUoU3BlY0hlYXBUb3AsIFBoaSwgTm9kZU9yaWdpbigpKTsKICAgICAg
ICAgICAgICAgICBwaGlOb2RlLT5tZXJnZUZsYWdzKE5vZGVSZXN1bHRKUyk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHBoaU5vZGU7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAg
ICAgLy8gUGxhY2UgUGhpcyBpbiB0aGUgcmlnaHQgcGxhY2VzLCByZXBsYWNlIGFsbCB1c2VzIG9m
IGFueSBsb2FkIHdpdGggdGhlIGFwcHJvcHJpYXRlCi0gICAgICAgIC8vIHZhbHVlLCBhbmQgY3Jl
YXRlIHRoZSBhcHByb3ByaWF0ZSBVcHNpbG9uIG5vZGVzLgorICAgICAgICAvLyB2YWx1ZSwgYW5k
IGNyZWF0ZSB0aGUgbWF0ZXJpYWxpemF0aW9uIG5vZGVzLgorICAgICAgICBMb2NhbE9TUkF2YWls
YWJpbGl0eUNhbGN1bGF0b3IgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvcjsKICAgICAgICAgbV9ncmFw
aC5jbGVhclJlcGxhY2VtZW50cygpOwogICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDog
bV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgbWFwcGlu
ZyB0YWJsZSBpcyBpbnRlbmRlZCB0byBiZSBsYXp5LiBJZiBzb21ldGhpbmcgaXMgb21pdHRlZCBm
cm9tIHRoZSB0YWJsZSwKLSAgICAgICAgICAgIC8vIGl0IG1lYW5zIHRoYXQgdGhlcmUgaGF2ZW4n
dCBiZWVuIGFueSBsb2NhbCBzdG9yZXMgdG8gdGhhdCBwcm9tb3RlZCBoZWFwIGxvY2F0aW9uLgor
ICAgICAgICAgICAgbV9oZWFwID0gbV9oZWFwQXRIZWFkW2Jsb2NrXTsKKyAgICAgICAgICAgIGF2
YWlsYWJpbGl0eUNhbGN1bGF0b3IuYmVnaW5CbG9jayhibG9jayk7CisKKyAgICAgICAgICAgIC8v
IFRoZXNlIG1hcHBpbmcgdGFibGVzIGFyZSBpbnRlbmRlZCB0byBiZSBsYXp5LiBJZgorICAgICAg
ICAgICAgLy8gc29tZXRoaW5nIGlzIG9taXR0ZWQgZnJvbSB0aGUgdGFibGUsIGl0IG1lYW5zIHRo
YXQKKyAgICAgICAgICAgIC8vIHRoZXJlIGhhdmVuJ3QgYmVlbiBhbnkgbG9jYWwgc3RvcmVzIHRv
IHRoZSBwcm9tb3RlZAorICAgICAgICAgICAgLy8gaGVhcCBsb2NhdGlvbiAob3IgYW55IGxvY2Fs
IG1hdGVyaWFsaXphdGlvbikuCiAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5jbGVhcigpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJbnNlcnQgdGhlIFBoaSBmdW5jdGlvbnMgdGhh
dCB3ZSBoYWQgcHJldmlvdXNseSBjcmVhdGVkLgotICAgICAgICAgICAgZm9yIChTU0FDYWxjdWxh
dG9yOjpEZWYqIHBoaURlZiA6IG1fc3NhQ2FsY3VsYXRvci5waGlzRm9yQmxvY2soYmxvY2spKSB7
Ci0gICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24gPSBtX2luZGV4
VG9Mb2NhdGlvbltwaGlEZWYtPnZhcmlhYmxlKCktPmluZGV4KCldOwotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAgICAgICAg
ICAgICAgMCwgcGhpRGVmLT52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnQoCi0gICAgICAgICAgICAgICAgICAgIDAsIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9n
cmFwaCwgTm9kZU9yaWdpbigpLCBwaGlEZWYtPnZhbHVlKCkpKTsKLSAgICAgICAgICAgICAgICBt
X2xvY2FsTWFwcGluZy5hZGQobG9jYXRpb24sIHBoaURlZi0+dmFsdWUoKSk7CisgICAgICAgICAg
ICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5jbGVhcigpOworCisgICAgICAgICAgICAvLyBJ
bnNlcnQgdGhlIFBoaSBmdW5jdGlvbnMgdGhhdCB3ZSBoYWQgcHJldmlvdXNseQorICAgICAgICAg
ICAgLy8gY3JlYXRlZC4KKyAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlE
ZWYgOiBtX3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKGJsb2NrKSkgeworICAgICAgICAgICAgICAg
IFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxlKiB2YXJpYWJsZSA9IHBoaURlZi0+dmFyaWFibGUoKTsK
KyAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQoMCwgcGhpRGVmLT52YWx1ZSgp
KTsKKworICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uID0gaW5k
ZXhUb0xvY2F0aW9uW3ZhcmlhYmxlLT5pbmRleCgpXTsKKyAgICAgICAgICAgICAgICBtX2xvY2Fs
TWFwcGluZy5zZXQobG9jYXRpb24sIHBoaURlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgICAgICAg
ICBpZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhsb2NhdGlvbi5iYXNlKCkpKSB7CisgICAg
ICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIDAsIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwgTm9kZU9yaWdpbigpLCBwaGlE
ZWYtPnZhbHVlKCkpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIGlmICh2ZXJib3NlKQorCisgICAgICAgICAgICBmb3IgKFNTQUNh
bGN1bGF0b3I6OkRlZiogcGhpRGVmIDogbV9hbGxvY2F0aW9uU1NBLnBoaXNGb3JCbG9jayhibG9j
aykpIHsKKyAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUg
PSBwaGlEZWYtPnZhcmlhYmxlKCk7CisgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0KDAsIHBoaURlZi0+dmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICBOb2RlKiBpZGVudGlm
aWVyID0gaW5kZXhUb05vZGVbdmFyaWFibGUtPmluZGV4KCldOworICAgICAgICAgICAgICAgIG1f
ZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLmFkZChpZGVudGlmaWVyLCBwaGlEZWYtPnZhbHVlKCkp
OworICAgICAgICAgICAgICAgIGluc2VydE9TUkhpbnRzRm9yVXBkYXRlKDAsIE5vZGVPcmlnaW4o
KSwgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwgaWRlbnRpZmllciwgcGhp
RGVmLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHZlcmJvc2Up
IHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJMb2NhbCBtYXBwaW5nIGF0ICIsIHBvaW50ZXJE
dW1wKGJsb2NrKSwgIjogIiwgbWFwRHVtcChtX2xvY2FsTWFwcGluZyksICJcbiIpOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICAvLyBQcm9jZXNzIHRoZSBibG9jayBhbmQgcmVwbGFjZSBhbGwg
dXNlcyBvZiBsb2FkcyB3aXRoIHRoZSBwcm9tb3RlZCB2YWx1ZS4KLSAgICAgICAgICAgIGZvciAo
Tm9kZSogbm9kZSA6ICpibG9jaykgewotICAgICAgICAgICAgICAgIG1fZ3JhcGgucGVyZm9ybVN1
YnN0aXR1dGlvbihub2RlKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAo
Tm9kZSogZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChub2RlKSkKLSAg
ICAgICAgICAgICAgICAgICAgcG9wdWxhdGVNYXRlcmlhbGl6ZShibG9jaywgbm9kZSwgZXNjYXBl
ZSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcHJvbW90ZUhlYXBBY2Nlc3Mo
CisgICAgICAgICAgICAgICAgZGF0YUxvZygiTG9jYWwgbWF0ZXJpYWxpemF0aW9ucyBhdCAiLCBw
b2ludGVyRHVtcChibG9jayksICI6ICIsIG1hcER1bXAobV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRp
b24pLCAiXG4iKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBu
b2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRleCkgewor
ICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAg
ICAgICAgICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbV9sb2NhdGlv
bnNGb3JBbGxvY2F0aW9uLmdldChub2RlKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobG9j
YXRpb24ua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0KGxv
Y2F0aW9uLCBtX2JvdHRvbSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRp
ZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0
aW9uU2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFw
aCwgbm9kZS0+b3JpZ2luLCBtX2JvdHRvbSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBtYXRlcmlhbGl6YXRp
b24gOiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnMuZ2V0KG5vZGUpKSB7
CisgICAgICAgICAgICAgICAgICAgIE5vZGUqIGVzY2FwZWUgPSBtX21hdGVyaWFsaXphdGlvblRv
RXNjYXBlZS5nZXQobWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgcG9wdWxh
dGVNYXRlcmlhbGl6YXRpb24oYmxvY2ssIG1hdGVyaWFsaXphdGlvbiwgZXNjYXBlZSk7CisgICAg
ICAgICAgICAgICAgICAgIG1fZXNjYXBlZVRvTWF0ZXJpYWxpemF0aW9uLnNldChlc2NhcGVlLCBt
YXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnQobm9kZUluZGV4LCBtYXRlcmlhbGl6YXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIk1hdGVyaWFsaXppbmcg
IiwgZXNjYXBlZSwgIiA9PiAiLCBtYXRlcmlhbGl6YXRpb24sICIgYXQgIiwgbm9kZSwgIlxuIik7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChQcm9tb3RlZEhlYXBM
b2NhdGlvbiBsb2NhdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRvUmVjb3Zlcmllcy5nZXQo
bm9kZSkpCisgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5k
ZXgsIGNyZWF0ZVJlY292ZXJ5KGJsb2NrLCBsb2NhdGlvbiwgbm9kZSkpOworCisgICAgICAgICAg
ICAgICAgLy8gV2UgbmVlZCB0byBwdXQgdGhlIE9TUiBoaW50cyBhZnRlciB0aGUgcmVjb3Zlcmll
cywKKyAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIHdlIG9ubHkgd2FudCB0aGUgaGludHMgb25j
ZSB0aGUgb2JqZWN0IGlzCisgICAgICAgICAgICAgICAgLy8gY29tcGxldGUKKyAgICAgICAgICAg
ICAgICBmb3IgKE5vZGUqIG1hdGVyaWFsaXphdGlvbiA6IG1fbWF0ZXJpYWxpemF0aW9uU2l0ZVRv
TWF0ZXJpYWxpemF0aW9ucy5nZXQobm9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSog
ZXNjYXBlZSA9IG1fbWF0ZXJpYWxpemF0aW9uVG9Fc2NhcGVlLmdldChtYXRlcmlhbGl6YXRpb24p
OworICAgICAgICAgICAgICAgICAgICBpbnNlcnRPU1JIaW50c0ZvclVwZGF0ZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5vZGVJbmRleCwgbm9kZS0+b3JpZ2luLAorICAgICAgICAgICAgICAg
ICAgICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5tX2F2YWlsYWJpbGl0eSwgZXNjYXBlZSwg
bWF0ZXJpYWxpemF0aW9uKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBp
ZiAobV9zaW5rQ2FuZGlkYXRlcy5jb250YWlucyhub2RlKSkKKyAgICAgICAgICAgICAgICAgICAg
bV9lc2NhcGVlVG9NYXRlcmlhbGl6YXRpb24uc2V0KG5vZGUsIG5vZGUpOworCisgICAgICAgICAg
ICAgICAgYXZhaWxhYmlsaXR5Q2FsY3VsYXRvci5leGVjdXRlTm9kZShub2RlKTsKKworICAgICAg
ICAgICAgICAgIGJvb2wgZG9Mb3dlciA9IGZhbHNlOworICAgICAgICAgICAgICAgIGhhbmRsZU5v
ZGUoCiAgICAgICAgICAgICAgICAgICAgIG5vZGUsCi0gICAgICAgICAgICAgICAgICAgIFsmXSAo
UHJvbW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24sIEVkZ2UgdmFsdWUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKGxvY2F0aW9uLmJhc2Uo
KSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sb2NhbE1hcHBpbmcuc2V0KGxvY2F0
aW9uLCB2YWx1ZS5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVh
cExvY2F0aW9uIGxvY2F0aW9uLCBMYXp5Tm9kZSB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFsb2NhdGlvbnMuY29udGFpbnMobG9jYXRpb24pKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICAgICAgTm9kZSogbm9k
ZVZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzTm9kZSgpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVWYWx1ZSA9IHZhbHVlLmFzTm9kZSgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVWYWx1ZSA9IGxhenlNYXBwaW5nLmdldCh2YWx1ZS5hc1ZhbHVlKCkpOworCisgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlVmFsdWUgPSByZXNvbHZlKGJsb2NrLCBub2RlVmFsdWUpOworCisg
ICAgICAgICAgICAgICAgICAgICAgICBtX2xvY2FsTWFwcGluZy5zZXQobG9jYXRpb24sIG5vZGVW
YWx1ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9zaW5rQ2FuZGlkYXRlcy5j
b250YWlucyhsb2NhdGlvbi5iYXNlKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICAgICAgICAgICAgICAgICAgZG9Mb3dlciA9IHRydWU7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydChub2RlSW5kZXggKyAxLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLmNyZWF0ZUhpbnQobV9ncmFwaCwg
bm9kZS0+b3JpZ2luLCBub2RlVmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgWyZdIChQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbikgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobG9jYXRp
b24uYmFzZSgpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+
b3AoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0NoZWNrU3Ry
dWN0dXJlSW1tZWRpYXRlKHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVwbGFjZVdp
dGgocmVzb2x2ZShibG9jaywgbG9jYXRpb24pKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBbJl0gKFByb21vdGVkSGVhcExvY2F0
aW9uIGxvY2F0aW9uKSAtPiBOb2RlKiB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
cmVzb2x2ZShibG9jaywgbG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICB9KTsKKworICAg
ICAgICAgICAgICAgIGlmIChtX3NpbmtDYW5kaWRhdGVzLmNvbnRhaW5zKG5vZGUpIHx8IGRvTG93
ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGNhc2UgTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgICAgICBjYXNlIE1h
dGVyaWFsaXplTmV3T2JqZWN0OgorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVy
dFRvUGhhbnRvbU5ld09iamVjdCgpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdGdW5jdGlvbigpOworICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDcmVhdGVBY3Rp
dmF0aW9uOgorICAgICAgICAgICAgICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZh
dGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21DcmVh
dGVBY3RpdmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVt
b3ZlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0No
aWxkcmVuKAorICAgICAgICAgICAgICAgICAgICBub2RlLAorICAgICAgICAgICAgICAgICAgICBb
Jl0gKEVkZ2UmIGVkZ2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2Uuc2V0Tm9kZShy
ZXNvbHZlKGJsb2NrLCBlZGdlLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICAvLyBHb3R0YSBkcm9wIHNv
bWUgVXBzaWxvbnMuCiAgICAgICAgICAgICBOb2RlQW5kSW5kZXggdGVybWluYWwgPSBibG9jay0+
ZmluZFRlcm1pbmFsKCk7CiAgICAgICAgICAgICBzaXplX3QgdXBzaWxvbkluc2VydGlvblBvaW50
ID0gdGVybWluYWwuaW5kZXg7CiAgICAgICAgICAgICBOb2RlT3JpZ2luIHVwc2lsb25PcmlnaW4g
PSB0ZXJtaW5hbC5ub2RlLT5vcmlnaW47CiAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHN1
Y2Nlc3NvckJsb2NrIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkgewotICAgICAgICAgICAgICAgIGZv
ciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX3NzYUNhbGN1bGF0b3IucGhpc0ZvckJs
b2NrKHN1Y2Nlc3NvckJsb2NrKSkgeworICAgICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRv
cjo6RGVmKiBwaGlEZWYgOiBtX3BvaW50ZXJTU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2Nr
KSkgewogICAgICAgICAgICAgICAgICAgICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgp
OwogICAgICAgICAgICAgICAgICAgICBTU0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUg
PSBwaGlEZWYtPnZhcmlhYmxlKCk7Ci0gICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExv
Y2F0aW9uIGxvY2F0aW9uID0gbV9pbmRleFRvTG9jYXRpb25bdmFyaWFibGUtPmluZGV4KCldOwor
ICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiA9IGluZGV4
VG9Mb2NhdGlvblt2YXJpYWJsZS0+aW5kZXgoKV07CiAgICAgICAgICAgICAgICAgICAgIE5vZGUq
IGluY29taW5nID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb24pOwotICAgICAgICAgICAgICAgICAg
ICAKKworICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgdXBzaWxvbkluc2VydGlvblBvaW50LCBTcGVjTm9uZSwgVXBz
aWxvbiwgdXBzaWxvbk9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyhwaGlO
b2RlKSwgaW5jb21pbmctPmRlZmF1bHRFZGdlKCkpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGZvciAoU1NBQ2FsY3VsYXRvcjo6RGVmKiBwaGlEZWYgOiBtX2FsbG9jYXRp
b25TU0EucGhpc0ZvckJsb2NrKHN1Y2Nlc3NvckJsb2NrKSkgeworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiBwaGlOb2RlID0gcGhpRGVmLT52YWx1ZSgpOworICAgICAgICAgICAgICAgICAgICBT
U0FDYWxjdWxhdG9yOjpWYXJpYWJsZSogdmFyaWFibGUgPSBwaGlEZWYtPnZhcmlhYmxlKCk7Cisg
ICAgICAgICAgICAgICAgICAgIE5vZGUqIGluY29taW5nID0gZ2V0TWF0ZXJpYWxpemF0aW9uKGJs
b2NrLCBpbmRleFRvTm9kZVt2YXJpYWJsZS0+aW5kZXgoKV0pOworCiAgICAgICAgICAgICAgICAg
ICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCiAgICAgICAgICAgICAgICAgICAgICAgICB1
cHNpbG9uSW5zZXJ0aW9uUG9pbnQsIFNwZWNOb25lLCBVcHNpbG9uLCB1cHNpbG9uT3JpZ2luLAog
ICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKHBoaU5vZGUpLCBpbmNvbWluZy0+ZGVmYXVs
dEVkZ2UoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAg
CisKICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOwogICAgICAgICB9
CiAgICAgfQotICAgIAorCiAgICAgTm9kZSogcmVzb2x2ZShCYXNpY0Jsb2NrKiBibG9jaywgUHJv
bW90ZWRIZWFwTG9jYXRpb24gbG9jYXRpb24pCiAgICAgeworICAgICAgICAvLyBJZiB3ZSBhcmUg
Y3VycmVudGx5IHBvaW50aW5nIHRvIGEgc2luZ2xlIGxvY2FsIGFsbG9jYXRpb24sCisgICAgICAg
IC8vIHNpbXBseSByZXR1cm4gdGhlIGFzc29jaWF0ZWQgbWF0ZXJpYWxpemF0aW9uLgorICAgICAg
ICBpZiAoTm9kZSogaWRlbnRpZmllciA9IG1faGVhcC5mb2xsb3cobG9jYXRpb24pKQorICAgICAg
ICAgICAgcmV0dXJuIGdldE1hdGVyaWFsaXphdGlvbihibG9jaywgaWRlbnRpZmllcik7CisKICAg
ICAgICAgaWYgKE5vZGUqIHJlc3VsdCA9IG1fbG9jYWxNYXBwaW5nLmdldChsb2NhdGlvbikpCiAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICAKKwogICAgICAgICAvLyBUaGlzIGlt
cGxpZXMgdGhhdCB0aGVyZSBpcyBubyBsb2NhbCBtYXBwaW5nLiBGaW5kIGEgbm9uLWxvY2FsIG1h
cHBpbmcuCi0gICAgICAgIFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0gbV9zc2FDYWxjdWxhdG9y
Lm5vbkxvY2FsUmVhY2hpbmdEZWYoCisgICAgICAgIFNTQUNhbGN1bGF0b3I6OkRlZiogZGVmID0g
bV9wb2ludGVyU1NBLm5vbkxvY2FsUmVhY2hpbmdEZWYoCiAgICAgICAgICAgICBibG9jaywgbV9s
b2NhdGlvblRvVmFyaWFibGUuZ2V0KGxvY2F0aW9uKSk7CiAgICAgICAgIEFTU0VSVChkZWYpOwog
ICAgICAgICBBU1NFUlQoZGVmLT52YWx1ZSgpKTsKLSAgICAgICAgbV9sb2NhbE1hcHBpbmcuYWRk
KGxvY2F0aW9uLCBkZWYtPnZhbHVlKCkpOwotICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOwot
ICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFNpbmtDYW5kaWRhdGVGdW5jdG9yLCB0eXBl
bmFtZSBFc2NhcGVGdW5jdG9yPgotICAgIHZvaWQgaGFuZGxlTm9kZSgKLSAgICAgICAgTm9kZSog
bm9kZSwKLSAgICAgICAgY29uc3QgU2lua0NhbmRpZGF0ZUZ1bmN0b3ImIHNpbmtDYW5kaWRhdGUs
Ci0gICAgICAgIGNvbnN0IEVzY2FwZUZ1bmN0b3ImIGVzY2FwZSkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAobm9kZS0+b3AoKSkgewotICAgICAgICBjYXNlIE5ld09iamVjdDoKLSAgICAgICAgY2Fz
ZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKLSAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFj
dGl2YXRpb246Ci0gICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7Ci0gICAgICAgICAgICBtX2dy
YXBoLmRvVG9DaGlsZHJlbigKLSAgICAgICAgICAgICAgICBub2RlLAotICAgICAgICAgICAgICAg
IFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUo
KSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgotICAgICAgICAgICAgaWYgKCFub2RlLT5jYXN0T3BlcmFuZDxGdW5j
dGlvbkV4ZWN1dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkK
LSAgICAgICAgICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7Ci0gICAgICAgICAgICBlc2NhcGUobm9k
ZS0+Y2hpbGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjoKLSAgICAgICAgICAgIGlmICghbm9kZS0+Y2FzdE9wZXJhbmQ8U3lt
Ym9sVGFibGUqPigpLT5zaW5nbGV0b25TY29wZSgpLT5pc1N0aWxsVmFsaWQoKSkKLSAgICAgICAg
ICAgICAgICBzaW5rQ2FuZGlkYXRlKCk7Ci0gICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQx
KCkubm9kZSgpKTsKLSAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgQ2hlY2s6Ci0g
ICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKLSAgICAgICAgICAgICAgICBub2RlLAot
ICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChlZGdlLndpbGxOb3RIYXZlQ2hlY2soKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmIChhbHJlYWR5
Q2hlY2tlZChlZGdlLnVzZUtpbmQoKSwgU3BlY09iamVjdCkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBl
c2NhcGUoZWRnZS5ub2RlKCkpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIE5vZGUqIHJlc3VsdCA9IGRlZi0+dmFsdWUoKTsKIAotICAgICAgICBjYXNl
IE1vdkhpbnQ6Ci0gICAgICAgIGNhc2UgUHV0SGludDoKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBBU1NFUlQoIXJlc3VsdC0+cmVwbGFjZW1lbnQoKSk7CiAKLSAgICAgICAgY2FzZSBQdXRT
dHJ1Y3R1cmU6Ci0gICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6Ci0gICAgICAgIGNhc2UgR2V0
QnlPZmZzZXQ6Ci0gICAgICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKLSAgICAgICAgY2FzZSBH
ZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDogewotICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9k
ZS0+Y2hpbGQxKCkubm9kZSgpOwotICAgICAgICAgICAgaWYgKCF0YXJnZXQtPmlzT2JqZWN0QWxs
b2NhdGlvbigpKQotICAgICAgICAgICAgICAgIGVzY2FwZSh0YXJnZXQpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0
OiB7Ci0gICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDIoKS5ub2RlKCk7Ci0g
ICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNPYmplY3RBbGxvY2F0aW9uKCkpIHsKLSAgICAgICAg
ICAgICAgICBlc2NhcGUodGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBlc2NhcGUobm9kZS0+Y2hp
bGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVzY2FwZShub2RlLT5j
aGlsZDMoKS5ub2RlKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICAgICAg
bV9sb2NhbE1hcHBpbmcuYWRkKGxvY2F0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0KIAotICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6IHsKLSAgICAgICAgICAg
IE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICgh
dGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAgZXNjYXBl
KHRhcmdldCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQorICAgIE5vZGUqIHJlc29s
dmUoQmFzaWNCbG9jayogYmxvY2ssIE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICAvLyBJZiB3
ZSBhcmUgY3VycmVudGx5IHBvaW50aW5nIHRvIGEgc2luZ2xlIGxvY2FsIGFsbG9jYXRpb24sCisg
ICAgICAgIC8vIHNpbXBseSByZXR1cm4gdGhlIGFzc29jaWF0ZWQgbWF0ZXJpYWxpemF0aW9uLgor
ICAgICAgICBpZiAoTm9kZSogaWRlbnRpZmllciA9IG1faGVhcC5mb2xsb3cobm9kZSkpCisgICAg
ICAgICAgICByZXR1cm4gZ2V0TWF0ZXJpYWxpemF0aW9uKGJsb2NrLCBpZGVudGlmaWVyKTsKIAot
ICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6IHsKLSAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9
IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc0FjdGl2
YXRpb25BbGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdldCk7Ci0gICAg
ICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9CisgICAgICAgIGlmIChub2RlLT5yZXBsYWNlbWVudCgpKQorICAgICAgICAg
ICAgbm9kZSA9IG5vZGUtPnJlcGxhY2VtZW50KCk7CisgICAgICAgIEFTU0VSVCghbm9kZS0+cmVw
bGFjZW1lbnQoKSk7CiAKLSAgICAgICAgY2FzZSBHZXRTY29wZTogewotICAgICAgICAgICAgTm9k
ZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQxKCkubm9kZSgpOwotICAgICAgICAgICAgaWYgKCF0YXJn
ZXQtPmlzRnVuY3Rpb25BbGxvY2F0aW9uKCkpCi0gICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdl
dCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQorICAgICAgICByZXR1cm4gbm9kZTsK
KyAgICB9CiAKLSAgICAgICAgY2FzZSBHZXRFeGVjdXRhYmxlOiB7Ci0gICAgICAgICAgICBOb2Rl
KiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7Ci0gICAgICAgICAgICBpZiAoIXRhcmdl
dC0+aXNGdW5jdGlvbkFsbG9jYXRpb24oKSkKLSAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgTm9kZSogZ2V0TWF0ZXJpYWxp
emF0aW9uKEJhc2ljQmxvY2sqIGJsb2NrLCBOb2RlKiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKG1faGVhcC5pc0FsbG9jYXRpb24oaWRlbnRpZmllcikpOworICAgICAgICBpZiAo
IW1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1
cm4gaWRlbnRpZmllcjsKIAotICAgICAgICBjYXNlIFNraXBTY29wZTogewotICAgICAgICAgICAg
Tm9kZSogdGFyZ2V0ID0gbm9kZS0+Y2hpbGQxKCkubm9kZSgpOwotICAgICAgICAgICAgaWYgKCF0
YXJnZXQtPmlzQWN0aXZhdGlvbkFsbG9jYXRpb24oKSkKLSAgICAgICAgICAgICAgICBlc2NhcGUo
dGFyZ2V0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAg
ICAgICAgY2FzZSBNdWx0aVB1dEJ5T2Zmc2V0OgotICAgICAgICAgICAgLy8gRklYTUU6IEluIHRo
ZSBmdXR1cmUgd2Ugc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIHRoaXMuIEl0J3MganVzdCBhIG1h
dHRlciBvZgotICAgICAgICAgICAgLy8gYnVpbGRpbmcgdGhlIGFwcHJvcHJpYXRlICpIaW50IHZh
cmlhbnQgb2YgdGhpcyBpbnN0cnVjdGlvbiwgYWxvbmcgd2l0aCBhCi0gICAgICAgICAgICAvLyBQ
aGFudG9tU3RydWN0dXJlU2VsZWN0IG5vZGUgLSBzaW5jZSB0aGlzIHRyYW5zZm9ybXMgdGhlIFN0
cnVjdHVyZSBpbiBhIGNvbmRpdGlvbmFsCi0gICAgICAgICAgICAvLyB3YXkuCi0gICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTI0Ci0gICAg
ICAgICAgICBlc2NhcGUobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgIGVzY2Fw
ZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlm
IChOb2RlKiBtYXRlcmlhbGl6YXRpb24gPSBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlvbi5nZXQo
aWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm4gbWF0ZXJpYWxpemF0aW9uOwogCi0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBtX2dyYXBoLmRvVG9DaGlsZHJlbigKLSAgICAgICAg
ICAgICAgICBub2RlLAotICAgICAgICAgICAgICAgIFsmXSAoRWRnZSBlZGdlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGVzY2FwZShlZGdlLm5vZGUoKSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQorICAgICAgICBTU0FDYWxjdWxhdG9yOjpEZWYq
IGRlZiA9IG1fYWxsb2NhdGlvblNTQS5ub25Mb2NhbFJlYWNoaW5nRGVmKAorICAgICAgICAgICAg
YmxvY2ssIG1fbm9kZVRvVmFyaWFibGUuZ2V0KGlkZW50aWZpZXIpKTsKKyAgICAgICAgQVNTRVJU
KGRlZiAmJiBkZWYtPnZhbHVlKCkpOworICAgICAgICBtX2VzY2FwZWVUb01hdGVyaWFsaXphdGlv
bi5hZGQoaWRlbnRpZmllciwgZGVmLT52YWx1ZSgpKTsKKyAgICAgICAgQVNTRVJUKCFkZWYtPnZh
bHVlKCktPnJlcGxhY2VtZW50KCkpOworICAgICAgICByZXR1cm4gZGVmLT52YWx1ZSgpOwogICAg
IH0KLSAgICAKLSAgICBOb2RlKiBjcmVhdGVNYXRlcmlhbGl6ZShOb2RlKiBlc2NhcGVlLCBOb2Rl
KiB3aGVyZSkKLSAgICB7Ci0gICAgICAgIE5vZGUqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAg
IAotICAgICAgICBzd2l0Y2ggKGVzY2FwZWUtPm9wKCkpIHsKLSAgICAgICAgY2FzZSBOZXdPYmpl
Y3Q6Ci0gICAgICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKLSAgICAgICAgICAgIE9i
amVjdE1hdGVyaWFsaXphdGlvbkRhdGEqIGRhdGEgPSBtX2dyYXBoLm1fb2JqZWN0TWF0ZXJpYWxp
emF0aW9uRGF0YS5hZGQoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmVzdWx0ID0gbV9n
cmFwaC5hZGROb2RlKAotICAgICAgICAgICAgICAgIGVzY2FwZWUtPnByZWRpY3Rpb24oKSwgTm9k
ZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZU5ld09iamVjdCwKLSAgICAgICAgICAgICAgICBOb2RlT3Jp
Z2luKAotICAgICAgICAgICAgICAgICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCi0gICAg
ICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCi0gICAgICAgICAgICAgICAg
T3BJbmZvKGRhdGEpLCBPcEluZm8oKSwgMCwgMCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQogCi0gICAgICAgIGNhc2UgTmV3RnVuY3Rpb246Ci0gICAgICAgICAgICByZXN1bHQgPSBt
X2dyYXBoLmFkZE5vZGUoCi0gICAgICAgICAgICAgICAgZXNjYXBlZS0+cHJlZGljdGlvbigpLCBO
ZXdGdW5jdGlvbiwKLSAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAotICAgICAgICAgICAgICAg
ICAgICBlc2NhcGVlLT5vcmlnaW4uc2VtYW50aWMsCi0gICAgICAgICAgICAgICAgICAgIHdoZXJl
LT5vcmlnaW4uZm9yRXhpdCksCi0gICAgICAgICAgICAgICAgT3BJbmZvKGVzY2FwZWUtPmNlbGxP
cGVyYW5kKCkpLAotICAgICAgICAgICAgICAgIGVzY2FwZWUtPmNoaWxkMSgpKTsKLSAgICAgICAg
ICAgIGJyZWFrOworICAgIHZvaWQgaW5zZXJ0T1NSSGludHNGb3JVcGRhdGUodW5zaWduZWQgbm9k
ZUluZGV4LCBOb2RlT3JpZ2luIG9yaWdpbiwgQXZhaWxhYmlsaXR5TWFwJiBhdmFpbGFiaWxpdHks
IE5vZGUqIGVzY2FwZWUsIE5vZGUqIG1hdGVyaWFsaXphdGlvbikKKyAgICB7CisgICAgICAgIC8v
IFdlIG5lZWQgdG8gZm9sbG93KCkgdGhlIHZhbHVlIGluIHRoZSBoZWFwLgorICAgICAgICAvLyBD
b25zaWRlciB0aGUgZm9sbG93aW5nIGdyYXBoOgorICAgICAgICAvLworICAgICAgICAvLyBCbG9j
ayAjMAorICAgICAgICAvLyAgIDA6IE5ld09iamVjdCh7fSkKKyAgICAgICAgLy8gICAxOiBOZXdP
YmplY3Qoe30pCisgICAgICAgIC8vICAgLTogUHV0QnlPZmZzZXQoQDAsIEAxLCB4OjApCisgICAg
ICAgIC8vICAgLTogUHV0U3RydWN0dXJlKEAwLCB7eDowfSkKKyAgICAgICAgLy8gICAyOiBHZXRC
eU9mZnNldChAMCwgeDowKQorICAgICAgICAvLyAgIC06IE1vdkhpbnQoQDIsIGxvYzEpCisgICAg
ICAgIC8vICAgLTogQnJhbmNoKCMxLCAjMikKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sg
IzEKKyAgICAgICAgLy8gICAzOiBDYWxsKGYsIEAxKQorICAgICAgICAvLyAgIDQ6IFJldHVybihA
MCkKKyAgICAgICAgLy8KKyAgICAgICAgLy8gQmxvY2sgIzIKKyAgICAgICAgLy8gICAtOiBSZXR1
cm4odW5kZWZpbmVkKQorICAgICAgICAvLworICAgICAgICAvLyBXZSBuZWVkIHRvIG1hdGVyaWFs
aXplIEAxIGF0IEAzLCBhbmQgd2hlbiBkb2luZyBzbyB3ZSBuZWVkCisgICAgICAgIC8vIHRvIGlu
c2VydCBhIE1vdkhpbnQgZm9yIHRoZSBtYXRlcmlhbGl6YXRpb24gaW50byBsb2MxIGFzCisgICAg
ICAgIC8vIHdlbGwuCisgICAgICAgIC8vIEluIG9yZGVyIHRvIGRvIHRoaXMsIHdlIHNheSB0aGF0
IHdlIG5lZWQgdG8gaW5zZXJ0IGFuCisgICAgICAgIC8vIHVwZGF0ZSBoaW50IGZvciBhbnkgYXZh
aWxhYmlsaXR5IHdob3NlIG5vZGUgcmVzb2x2ZSgpcyB0bworICAgICAgICAvLyB0aGUgbWF0ZXJp
YWxpemF0aW9uLgorICAgICAgICBmb3IgKGF1dG8gZW50cnkgOiBhdmFpbGFiaWxpdHkubV9oZWFw
KSB7CisgICAgICAgICAgICBpZiAoIWVudHJ5LnZhbHVlLmhhc05vZGUoKSkKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChtX2hlYXAuZm9sbG93KGVudHJ5LnZhbHVl
Lm5vZGUoKSkgIT0gZXNjYXBlZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICBjYXNlIENyZWF0ZUFjdGl2YXRpb246Ci0gICAgICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVB
Y3RpdmF0aW9uOiB7Ci0gICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKiBkYXRh
ID0gbV9ncmFwaC5tX29iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuYWRkKCk7Ci0gICAgICAgICAg
ICBGcm96ZW5WYWx1ZSogc3ltYm9sVGFibGUgPSBlc2NhcGVlLT5jZWxsT3BlcmFuZCgpOwotICAg
ICAgICAgICAgcmVzdWx0ID0gbV9ncmFwaC5hZGROb2RlKAotICAgICAgICAgICAgICAgIGVzY2Fw
ZWUtPnByZWRpY3Rpb24oKSwgTm9kZTo6VmFyQXJnLCBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRp
b24sCi0gICAgICAgICAgICAgICAgTm9kZU9yaWdpbigKLSAgICAgICAgICAgICAgICAgICAgZXNj
YXBlZS0+b3JpZ2luLnNlbWFudGljLAotICAgICAgICAgICAgICAgICAgICB3aGVyZS0+b3JpZ2lu
LmZvckV4aXQpLAotICAgICAgICAgICAgICAgIE9wSW5mbyhkYXRhKSwgT3BJbmZvKHN5bWJvbFRh
YmxlKSwgMCwgMCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9u
U2V0Lmluc2VydCgKKyAgICAgICAgICAgICAgICBub2RlSW5kZXgsIGVudHJ5LmtleS5jcmVhdGVI
aW50KG1fZ3JhcGgsIG9yaWdpbiwgbWF0ZXJpYWxpemF0aW9uKSk7CiAgICAgICAgIH0KIAotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIGVzY2FwZWUsICJC
YWQgZXNjYXBlZSBvcCIpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IGF2YWlsYWJpbGl0eS5tX2xvY2Fscy5zaXplKCk7IGktLTspIHsKKyAgICAgICAgICAg
IGlmICghYXZhaWxhYmlsaXR5Lm1fbG9jYWxzW2ldLmhhc05vZGUoKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChtX2hlYXAuZm9sbG93KGF2YWlsYWJpbGl0eS5t
X2xvY2Fsc1tpXS5ub2RlKCkpICE9IGVzY2FwZWUpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgIGludCBvcGVyYW5kID0gYXZhaWxhYmlsaXR5Lm1fbG9jYWxzLm9wZXJh
bmRGb3JJbmRleChpKTsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisg
ICAgICAgICAgICAgICAgbm9kZUluZGV4LCBTcGVjTm9uZSwgTW92SGludCwgb3JpZ2luLCBPcElu
Zm8ob3BlcmFuZCksCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9uLT5kZWZhdWx0RWRn
ZSgpKTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAg
ICAgICBkYXRhTG9nKCJDcmVhdGluZyBtYXRlcmlhbGl6YXRpb24gcG9pbnQgYXQgIiwgd2hlcmUs
ICIgZm9yICIsIGVzY2FwZWUsICI6ICIsIHJlc3VsdCwgIlxuIik7Ci0gICAgICAgIAotICAgICAg
ICBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZS5hZGQocmVzdWx0LCBlc2NhcGVlKTsKLSAgICAg
ICAgbV9tYXRlcmlhbGl6YXRpb25TaXRlVG9NYXRlcmlhbGl6YXRpb25zLmFkZCgKLSAgICAgICAg
ICAgIHdoZXJlLCBWZWN0b3I8Tm9kZSo+KCkpLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQocmVzdWx0
KTsKLSAgICAgICAgCi0gICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHZv
aWQgcG9wdWxhdGVNYXRlcmlhbGl6ZShCYXNpY0Jsb2NrKiBibG9jaywgTm9kZSogbm9kZSwgTm9k
ZSogZXNjYXBlZSkKKworICAgIHZvaWQgcG9wdWxhdGVNYXRlcmlhbGl6YXRpb24oQmFzaWNCbG9j
ayogYmxvY2ssIE5vZGUqIG5vZGUsIE5vZGUqIGVzY2FwZWUpCiAgICAgeworICAgICAgICBBbGxv
Y2F0aW9uJiBhbGxvY2F0aW9uID0gbV9oZWFwLmdldEFsbG9jYXRpb24oZXNjYXBlZSk7CiAgICAg
ICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2Jq
ZWN0OiB7CiAgICAgICAgICAgICBPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhJiBkYXRhID0gbm9k
ZS0+b2JqZWN0TWF0ZXJpYWxpemF0aW9uRGF0YSgpOwogICAgICAgICAgICAgdW5zaWduZWQgZmly
c3RDaGlsZCA9IG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5zaXplKCk7Ci0gICAgICAgICAgICAK
KwogICAgICAgICAgICAgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPiBsb2NhdGlvbnMgPSBt
X2xvY2F0aW9uc0ZvckFsbG9jYXRpb24uZ2V0KGVzY2FwZWUpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzdHJ1Y3R1cmUoU3RydWN0dXJlUExvYywgZXNj
YXBlZSk7CisKKyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHN0cnVjdHVyZShTdHJ1
Y3R1cmVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CiAgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25zLmNvbnRhaW5zKHN0cnVjdHVyZSkpOwotICAgICAgICAgICAgCisKICAgICAgICAg
ICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBz
dHJ1Y3R1cmUpLCBLbm93bkNlbGxVc2UpKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGxvY2F0aW9ucy5zaXplKCk7ICsraSkgewotICAgICAgICAg
ICAgICAgIHN3aXRjaCAobG9jYXRpb25zW2ldLmtpbmQoKSkgewotICAgICAgICAgICAgICAgIGNh
c2UgU3RydWN0dXJlUExvYzogewotICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25z
W2ldID09IHN0cnVjdHVyZSk7CisKKyAgICAgICAgICAgIGZvciAoUHJvbW90ZWRIZWFwTG9jYXRp
b24gbG9jYXRpb24gOiBsb2NhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvY2F0
aW9uLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgU3RydWN0dXJlUExvYzoKKyAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uID09IHN0cnVjdHVyZSk7CiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
CisKICAgICAgICAgICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOiB7Ci0gICAgICAgICAg
ICAgICAgICAgIE5vZGUqIHZhbHVlID0gcmVzb2x2ZShibG9jaywgbG9jYXRpb25zW2ldKTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLT5vcCgpID09IEJvdHRvbVZhbHVlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAvLyBXZSBjYW4gc2tpcCBCb3R0b21zIGVudGlyZWx5LgotICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFw
cGVuZChQaGFudG9tUHJvcGVydHlWYWx1ZShsb2NhdGlvbnNbaV0uaW5mbygpKSk7Ci0gICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOworICAg
ICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24uYmFzZSgpID09IGFsbG9jYXRpb24uaWRl
bnRpZmllcigpKTsKKyAgICAgICAgICAgICAgICAgICAgZGF0YS5tX3Byb3BlcnRpZXMuYXBwZW5k
KFBoYW50b21Qcm9wZXJ0eVZhbHVlKGxvY2F0aW9uLmluZm8oKSkpOworICAgICAgICAgICAgICAg
ICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnModmFsdWUpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChtX2JvdHRvbSk7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgs
IG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBub2RlLT5jaGlsZHJlbiA9IEFkamFj
ZW5jeUxpc3QoCiAgICAgICAgICAgICAgICAgQWRqYWNlbmN5TGlzdDo6VmFyaWFibGUsCiAgICAg
ICAgICAgICAgICAgZmlyc3RDaGlsZCwgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLnNpemUoKSAt
IGZpcnN0Q2hpbGQpOwpAQCAtMTA2MywzMSArMTkzMCwzNSBAQCBwcml2YXRlOgogCiAgICAgICAg
ICAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IGxvY2F0aW9ucyA9IG1fbG9jYXRpb25z
Rm9yQWxsb2NhdGlvbi5nZXQoZXNjYXBlZSk7CiAKLSAgICAgICAgICAgIFByb21vdGVkSGVhcExv
Y2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2MsIGVzY2FwZWUpOwotICAgICAgICAgICAg
UHJvbW90ZWRIZWFwTG9jYXRpb24gc3ltYm9sVGFibGUoQWN0aXZhdGlvblN5bWJvbFRhYmxlUExv
YywgZXNjYXBlZSk7Ci0gICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHNjb3Bl
KSk7CisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBzeW1ib2xUYWJsZShBY3RpdmF0
aW9uU3ltYm9sVGFibGVQTG9jLCBhbGxvY2F0aW9uLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKHN5bWJvbFRhYmxlKSk7CisgICAgICAgICAgICBB
U1NFUlQobm9kZS0+Y2VsbE9wZXJhbmQoKSA9PSByZXNvbHZlKGJsb2NrLCBzeW1ib2xUYWJsZSkt
PmNvbnN0YW50KCkpOworICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVu
ZChFZGdlKHJlc29sdmUoYmxvY2ssIHN5bWJvbFRhYmxlKSwgS25vd25DZWxsVXNlKSk7CiAKKyAg
ICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uIHNjb3BlKEFjdGl2YXRpb25TY29wZVBMb2Ms
IGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMu
Y29udGFpbnMoc2NvcGUpKTsKICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5h
cHBlbmQoRWRnZShyZXNvbHZlKGJsb2NrLCBzY29wZSksIEtub3duQ2VsbFVzZSkpOwogCi0gICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbG9jYXRpb25zLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChsb2NhdGlvbnNbaV0ua2luZCgpKSB7CisgICAgICAg
ICAgICBmb3IgKFByb21vdGVkSGVhcExvY2F0aW9uIGxvY2F0aW9uIDogbG9jYXRpb25zKSB7Cisg
ICAgICAgICAgICAgICAgc3dpdGNoIChsb2NhdGlvbi5raW5kKCkpIHsKICAgICAgICAgICAgICAg
ICBjYXNlIEFjdGl2YXRpb25TY29wZVBMb2M6IHsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KGxvY2F0aW9uc1tpXSA9PSBzY29wZSk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsb2Nh
dGlvbiA9PSBzY29wZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgICAgIGNhc2UgQWN0aXZhdGlvblN5bWJvbFRhYmxlUExvYzog
ewotICAgICAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zW2ldID09IHN5bWJvbFRhYmxl
KTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uID09IHN5bWJvbFRhYmxlKTsK
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICAgICAgY2FzZSBDbG9zdXJlVmFyUExvYzogewotICAgICAgICAgICAgICAgICAgICBOb2Rl
KiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uc1tpXSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh2YWx1ZS0+b3AoKSA9PSBCb3R0b21WYWx1ZSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotCi0gICAgICAgICAgICAgICAgICAgIGRhdGEubV9wcm9wZXJ0aWVzLmFwcGVu
ZChQaGFudG9tUHJvcGVydHlWYWx1ZShsb2NhdGlvbnNbaV0uaW5mbygpKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOworICAgICAg
ICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb24uYmFzZSgpID09IGFsbG9jYXRpb24uaWRlbnRp
ZmllcigpKTsKKyAgICAgICAgICAgICAgICAgICAgZGF0YS5tX3Byb3BlcnRpZXMuYXBwZW5kKFBo
YW50b21Qcm9wZXJ0eVZhbHVlKGxvY2F0aW9uLmluZm8oKSkpOworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnModmFsdWUpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuLmFwcGVuZChtX2JvdHRvbSk7Cisg
ICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
bV92YXJBcmdDaGlsZHJlbi5hcHBlbmQodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTExMDMsNTYgKzE5NzQsMTU3IEBAIHByaXZhdGU6
CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7Ci0gICAgICAgICAgICBp
ZiAoIUFTU0VSVF9ESVNBQkxFRCkgewotICAgICAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhl
YXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2Nh
cGVlKTsKKyAgICAgICAgICAgIFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25z
ID0gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uLmdldChlc2NhcGVlKTsKKyAgICAgICAgICAgIEFT
U0VSVChsb2NhdGlvbnMuc2l6ZSgpID09IDIpOwogCi0gICAgICAgICAgICAgICAgQVNTRVJUKGxv
Y2F0aW9ucy5zaXplKCkgPT0gMik7CisgICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBl
eGVjdXRhYmxlKEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2MsIGFsbG9jYXRpb24uaWRlbnRpZmllcigp
KTsKKyAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoZXhlY3V0YWJsZSwgbG9jYXRpb25zLmNvbnRh
aW5zKGV4ZWN1dGFibGUpKTsKIAotICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9u
IGV4ZWN1dGFibGUoRnVuY3Rpb25FeGVjdXRhYmxlUExvYywgZXNjYXBlZSk7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKGxvY2F0aW9ucy5jb250YWlucyhleGVjdXRhYmxlKSk7CisgICAgICAgICAg
ICBQcm9tb3RlZEhlYXBMb2NhdGlvbiBhY3RpdmF0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2Ms
IGFsbG9jYXRpb24uaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMu
Y29udGFpbnMoYWN0aXZhdGlvbikpOwogCi0gICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9j
YXRpb24gYWN0aXZhdGlvbihGdW5jdGlvbkFjdGl2YXRpb25QTG9jLCBlc2NhcGVlKTsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQobG9jYXRpb25zLmNvbnRhaW5zKGFjdGl2YXRpb24pKTsKKyAgICAg
ICAgICAgIG5vZGUtPmNoaWxkMSgpID0gRWRnZShyZXNvbHZlKGJsb2NrLCBhY3RpdmF0aW9uKSwg
S25vd25DZWxsVXNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKLSAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbG9jYXRpb25zLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobG9jYXRpb25zW2ldLmtpbmQoKSkgewotICAg
ICAgICAgICAgICAgICAgICBjYXNlIEZ1bmN0aW9uRXhlY3V0YWJsZVBMb2M6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnNbaV0gPT0gZXhlY3V0YWJsZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgbWF0
ZXJpYWxpemUgb3AiKTsKKyAgICAgICAgfQorICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBj
YXNlIEZ1bmN0aW9uQWN0aXZhdGlvblBMb2M6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChsb2NhdGlvbnNbaV0gPT0gYWN0aXZhdGlvbik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgIE5vZGUqIGNyZWF0ZVJlY292ZXJ5
KEJhc2ljQmxvY2sqIGJsb2NrLCBQcm9tb3RlZEhlYXBMb2NhdGlvbiBsb2NhdGlvbiwgTm9kZSog
d2hlcmUpCisgICAgeworICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgIGRhdGFMb2co
IlJlY292ZXJpbmcgIiwgbG9jYXRpb24sICIgYXQgIiwgd2hlcmUsICJcbiIpOworICAgICAgICBB
U1NFUlQobG9jYXRpb24uYmFzZSgpLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICBO
b2RlKiBiYXNlID0gZ2V0TWF0ZXJpYWxpemF0aW9uKGJsb2NrLCBsb2NhdGlvbi5iYXNlKCkpOwor
ICAgICAgICBOb2RlKiB2YWx1ZSA9IHJlc29sdmUoYmxvY2ssIGxvY2F0aW9uKTsKIAotICAgICAg
ICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgREZHX0NSQVNI
KG1fZ3JhcGgsIG5vZGUsICJCYWQgbG9jYXRpb24ga2luZCIpOworICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgIGRhdGFMb2coIkJhc2UgaXMgIiwgYmFzZSwgIiBhbmQgdmFsdWUgaXMg
IiwgdmFsdWUsICJcbiIpOworCisgICAgICAgIGlmIChiYXNlLT5pc1BoYW50b21BbGxvY2F0aW9u
KCkpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9tb3RlZEhlYXBMb2NhdGlvbihiYXNlLCBsb2Nh
dGlvbi5kZXNjcmlwdG9yKCkpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgbV9ncmFwaCwK
KyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5v
cmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhp
dCksCisgICAgICAgICAgICAgICAgdmFsdWUpOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNo
IChsb2NhdGlvbi5raW5kKCkpIHsKKyAgICAgICAgY2FzZSBOYW1lZFByb3BlcnR5UExvYzogewor
ICAgICAgICAgICAgQWxsb2NhdGlvbiYgYWxsb2NhdGlvbiA9IG1faGVhcC5nZXRBbGxvY2F0aW9u
KGxvY2F0aW9uLmJhc2UoKSk7CisKKyAgICAgICAgICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBzdHJ1
Y3R1cmVzOworICAgICAgICAgICAgc3RydWN0dXJlcy5hcHBlbmRSYW5nZShhbGxvY2F0aW9uLnN0
cnVjdHVyZXMoKS5iZWdpbigpLCBhbGxvY2F0aW9uLnN0cnVjdHVyZXMoKS5lbmQoKSk7CisgICAg
ICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbG9jYXRpb24uaW5mbygpOworICAg
ICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtp
ZGVudGlmaWVyTnVtYmVyXTsKKworICAgICAgICAgICAgc3RkOjpzb3J0KAorICAgICAgICAgICAg
ICAgIHN0cnVjdHVyZXMuYmVnaW4oKSwKKyAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLmVuZCgp
LAorICAgICAgICAgICAgICAgIFt1aWRdIChTdHJ1Y3R1cmUgKmEsIFN0cnVjdHVyZSogYikgLT4g
Ym9vbCB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLT5nZXRDb25jdXJyZW50bHkodWlk
KSA8IGItPmdldENvbmN1cnJlbnRseSh1aWQpOworICAgICAgICAgICAgICAgIH0pOworCisgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBmaXJzdE9mZnNldCA9IHN0cnVjdHVyZXNbMF0tPmdldENv
bmN1cnJlbnRseSh1aWQpOworCisgICAgICAgICAgICBpZiAoZmlyc3RPZmZzZXQgPT0gc3RydWN0
dXJlcy5sYXN0KCktPmdldENvbmN1cnJlbnRseSh1aWQpKSB7CisgICAgICAgICAgICAgICAgTm9k
ZSogc3RvcmFnZSA9IGJhc2U7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdoZW4gd2UgZGVj
aWRlIHRvIHNpbmsgb2JqZWN0cyB3aXRoIGEKKyAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0eSBz
dG9yYWdlLCB3ZSBzaG91bGQgaGFuZGxlIG5vbi1pbmxpbmUgb2Zmc2V0cy4KKyAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChmaXJzdE9mZnNldCkpOworCisgICAg
ICAgICAgICAgICAgU3RvcmFnZUFjY2Vzc0RhdGEqIGRhdGEgPSBtX2dyYXBoLm1fc3RvcmFnZUFj
Y2Vzc0RhdGEuYWRkKCk7CisgICAgICAgICAgICAgICAgZGF0YS0+b2Zmc2V0ID0gZmlyc3RPZmZz
ZXQ7CisgICAgICAgICAgICAgICAgZGF0YS0+aWRlbnRpZmllck51bWJlciA9IGlkZW50aWZpZXJO
dW1iZXI7CisKKyAgICAgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5hZGROb2RlKAorICAgICAg
ICAgICAgICAgICAgICBTcGVjTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgUHV0QnlPZmZzZXQs
CisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgICAg
IE9wSW5mbyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgRWRnZShzdG9yYWdlLCBLbm93bkNl
bGxVc2UpLAorICAgICAgICAgICAgICAgICAgICBFZGdlKGJhc2UsIEtub3duQ2VsbFVzZSksCisg
ICAgICAgICAgICAgICAgICAgIHZhbHVlLT5kZWZhdWx0RWRnZSgpKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgTXVsdGlQdXRCeU9mZnNldERhdGEqIGRhdGEgPSBtX2dyYXBoLm1fbXVs
dGlQdXRCeU9mZnNldERhdGEuYWRkKCk7CisgICAgICAgICAgICBkYXRhLT5pZGVudGlmaWVyTnVt
YmVyID0gaWRlbnRpZmllck51bWJlcjsKKworICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBmaXJzdE9mZnNldDsKKyAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmVTZXQgY3VycmVudFNldDsKKyAgICAgICAgICAgICAgICBmb3IgKFN0cnVj
dHVyZSogc3RydWN0dXJlIDogc3RydWN0dXJlcykgeworICAgICAgICAgICAgICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQpOworICAg
ICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0ICE9IGN1cnJlbnRPZmZzZXQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGEtPnZhcmlhbnRzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQdXRCeUlkVmFyaWFudDo6cmVwbGFjZShjdXJyZW50U2V0LCBjdXJyZW50T2Zm
c2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0Owor
ICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNldC5jbGVhcigpOwogICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTZXQuYWRkKHN0cnVjdHVyZSk7
CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGRhdGEtPnZhcmlhbnRzLmFwcGVu
ZChQdXRCeUlkVmFyaWFudDo6cmVwbGFjZShjdXJyZW50U2V0LCBjdXJyZW50T2Zmc2V0KSk7CiAg
ICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAg
ICAgICAgICAgICAgU3BlY05vbmUsCisgICAgICAgICAgICAgICAgTXVsdGlQdXRCeU9mZnNldCwK
KyAgICAgICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5v
cmlnaW4uc2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhp
dCksCisgICAgICAgICAgICAgICAgT3BJbmZvKGRhdGEpLAorICAgICAgICAgICAgICAgIEVkZ2Uo
YmFzZSwgS25vd25DZWxsVXNlKSwKKyAgICAgICAgICAgICAgICB2YWx1ZS0+ZGVmYXVsdEVkZ2Uo
KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgQ2xvc3Vy
ZVZhclBMb2M6IHsKKyAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCisgICAgICAg
ICAgICAgICAgU3BlY05vbmUsCisgICAgICAgICAgICAgICAgUHV0Q2xvc3VyZVZhciwKKyAgICAg
ICAgICAgICAgICBOb2RlT3JpZ2luKAorICAgICAgICAgICAgICAgICAgICBiYXNlLT5vcmlnaW4u
c2VtYW50aWMsCisgICAgICAgICAgICAgICAgICAgIHdoZXJlLT5vcmlnaW4uZm9yRXhpdCksCisg
ICAgICAgICAgICAgICAgT3BJbmZvKGxvY2F0aW9uLmluZm8oKSksCisgICAgICAgICAgICAgICAg
RWRnZShiYXNlLCBLbm93bkNlbGxVc2UpLAorICAgICAgICAgICAgICAgIHZhbHVlLT5kZWZhdWx0
RWRnZSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIG1hdGVyaWFsaXpl
IG9wIik7CisgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgYmFzZSwgIkJhZCBsb2NhdGlv
biBraW5kIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAKLSAg
ICBDb21iaW5lZExpdmVuZXNzIG1fY29tYmluZWRMaXZlbmVzczsKLSAgICBTU0FDYWxjdWxhdG9y
IG1fc3NhQ2FsY3VsYXRvcjsKKworICAgIFNTQUNhbGN1bGF0b3IgbV9wb2ludGVyU1NBOworICAg
IFNTQUNhbGN1bGF0b3IgbV9hbGxvY2F0aW9uU1NBOwogICAgIEhhc2hTZXQ8Tm9kZSo+IG1fc2lu
a0NhbmRpZGF0ZXM7Ci0gICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fbWF0ZXJpYWxpemF0aW9u
VG9Fc2NhcGVlOwotICAgIEhhc2hNYXA8Tm9kZSosIFZlY3RvcjxOb2RlKj4+IG1fbWF0ZXJpYWxp
emF0aW9uU2l0ZVRvTWF0ZXJpYWxpemF0aW9uczsKLSAgICBIYXNoTWFwPE5vZGUqLCBWZWN0b3I8
UHJvbW90ZWRIZWFwTG9jYXRpb24+PiBtX2xvY2F0aW9uc0ZvckFsbG9jYXRpb247CiAgICAgSGFz
aE1hcDxQcm9tb3RlZEhlYXBMb2NhdGlvbiwgU1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqPiBtX2xv
Y2F0aW9uVG9WYXJpYWJsZTsKLSAgICBWZWN0b3I8UHJvbW90ZWRIZWFwTG9jYXRpb24+IG1faW5k
ZXhUb0xvY2F0aW9uOworICAgIEhhc2hNYXA8Tm9kZSosIFNTQUNhbGN1bGF0b3I6OlZhcmlhYmxl
Kj4gbV9ub2RlVG9WYXJpYWJsZTsKICAgICBIYXNoTWFwPFByb21vdGVkSGVhcExvY2F0aW9uLCBO
b2RlKj4gbV9sb2NhbE1hcHBpbmc7CisgICAgSGFzaE1hcDxOb2RlKiwgTm9kZSo+IG1fZXNjYXBl
ZVRvTWF0ZXJpYWxpemF0aW9uOwogICAgIEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsKKyAg
ICBDb21iaW5lZExpdmVuZXNzIG1fY29tYmluZWRMaXZlbmVzczsKKworICAgIEhhc2hNYXA8Tm9k
ZSosIE5vZGUqPiBtX21hdGVyaWFsaXphdGlvblRvRXNjYXBlZTsKKyAgICBIYXNoTWFwPE5vZGUq
LCBWZWN0b3I8Tm9kZSo+PiBtX21hdGVyaWFsaXphdGlvblNpdGVUb01hdGVyaWFsaXphdGlvbnM7
CisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9yPFByb21vdGVkSGVhcExvY2F0aW9uPj4gbV9tYXRl
cmlhbGl6YXRpb25TaXRlVG9SZWNvdmVyaWVzOworCisgICAgSGFzaE1hcDxOb2RlKiwgVmVjdG9y
PFByb21vdGVkSGVhcExvY2F0aW9uPj4gbV9sb2NhdGlvbnNGb3JBbGxvY2F0aW9uOworCisgICAg
QmxvY2tNYXA8TG9jYWxIZWFwPiBtX2hlYXBBdEhlYWQ7CisgICAgQmxvY2tNYXA8TG9jYWxIZWFw
PiBtX2hlYXBBdFRhaWw7CisgICAgTG9jYWxIZWFwIG1faGVhcDsKKworICAgIE5vZGUqIG1fYm90
dG9tID0gbnVsbHB0cjsKIH07Ci0gICAgCisKK30KKwogYm9vbCBwZXJmb3JtT2JqZWN0QWxsb2Nh
dGlvblNpbmtpbmcoR3JhcGgmIGdyYXBoKQogewogICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5n
UmVnaW9uKCJERkcgT2JqZWN0IEFsbG9jYXRpb24gU2lua2luZyBQaGFzZSIpOwpAQCAtMTE2Miw0
ICsyMTM0LDMgQEAgYm9vbCBwZXJmb3JtT2JqZWN0QWxsb2NhdGlvblNpbmtpbmcoR3JhcGgmIGdy
YXBoKQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCiAjZW5kaWYgLy8gRU5BQkxFKERGR19K
SVQpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxs
b2NhdGlvblNpbmtpbmdQaGFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmgKaW5kZXggMTYzMGY2NjI0YWQ2MGQ2NjEwMDYyNmU0
ZDI0ODE3NTkzZWRkM2RkNy4uYjQwMGQ0ZTY5MjQwOTAxOTcwMWIxYWJlZTlhM2Y4MmM4ZmUwYTBm
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDEwICszMiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIERGRyB7CiAKIGNsYXNzIEdyYXBoOwogCi0vLyBTaW5rcyBvYmplY3QgYWxsb2NhdGlv
bnMgZG93biB0byB0aGVpciB1c2VzLiBUaGlzIHdpbGwgc2luayB0aGUgYWxsb2NhdGlvbnMgb3Zl
ciBPU1IgZXhpdHMsIGJ5Ci0vLyByZXBsYWNpbmcgYWxsIHN0b3JlcyB0byB0aG9zZSBvYmplY3Rz
IHdpdGggc3RvcmUgaGludHMgc28gdGhhdCBPU1IgZXhpdCBjYW4gbWF0ZXJpYWxpemUgdGhlCi0v
LyBvYmplY3QuIFRoaXMgbWF5IHNpbmsgYWxsb2NhdGlvbnMgcGFzdCByZXR1cm5zLCBjcmVhdGlu
ZyBjb250cm9sIGZsb3cgcGF0aHMgYWxvbmcgd2hpY2ggdGhlCi0vLyBvYmplY3RzIGFyZSBub3Qg
YWxsb2NhdGVkIGF0IGFsbC4gUmVwbGFjZXMgYWxsIHVzZXMgb2YgdGhlIG9iamVjdHMnIGZpZWxk
cyB3aXRoIFNTQSBkYXRhIGZsb3cuCisvLyBFbGltaW5hdGVzIGFsbG9jYXRpb25zIGFsbG9jYXRp
b25zIHRoYXQgYXJlIG5ldmVyIHVzZWQgZXhjZXB0CisvLyBsb2NhbGx5LiBUaGlzIHdpbGwgaW5z
ZXJ0IHBoYW50b20gYWxsb2NhdGlvbnMgYW5kIHN0b3JlIGhpbnRzIHNvCisvLyB0aGF0IE9TUiBl
eGl0IGNhbiBtYXRlcmlhbGl6ZSB0aGUgb2JqZWN0cy4gUmVwbGFjZXMgYWxsIHVzZXMgb2YgdGhl
CisvLyBvYmplY3RzJyBmaWVsZHMgd2l0aCBTU0EgZGF0YSBmbG93LiBUaGlzIHBoYXNlIGlzIGFi
bGUgdG8gaGFuZGxlIGN5Y2xpYyBhbGxvY2F0aW9uIGdyYXBocy4KIAogYm9vbCBwZXJmb3JtT2Jq
ZWN0QWxsb2NhdGlvblNpbmtpbmcoR3JhcGgmKTsKIApAQCAtNDQsNCArNDQsMyBAQCBib29sIHBl
cmZvcm1PYmplY3RBbGxvY2F0aW9uU2lua2luZyhHcmFwaCYpOwogI2VuZGlmIC8vIEVOQUJMRShE
RkdfSklUKQogCiAjZW5kaWYgLy8gREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZV9oCi0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9j
YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRp
b24uaAppbmRleCBiYzE1MTU4NDgwNzQzN2RiMDcyOTQxNDE5ZThiNGI5YmEzZTU2MmNiLi5hMjFl
NGRhMWFmOWI1YjBmYjYwNGMzYjIyMzcwNzFmNTE1ZmE2NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCkBAIC01Nyw4ICs1
NywxNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pbmZvKGluZm8pCiAgICAgewogICAgIH0KLSAg
ICAKKworICAgIFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKFdURjo6SGFzaFRhYmxlRGVsZXRl
ZFZhbHVlVHlwZSkKKyAgICAgICAgOiBtX2tpbmQoSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5k
KQorICAgICAgICAsIG1faW5mbygxKQorICAgIHsKKyAgICB9CisKICAgICBib29sIG9wZXJhdG9y
ISgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBJbnZhbGlkUHJvbW90ZWRMb2NhdGlvbktpbmQ7
IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhISp0aGlz
OyB9CiAgICAgCiAgICAgUHJvbW90ZWRMb2NhdGlvbktpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJu
IG1fa2luZDsgfQogICAgIHVuc2lnbmVkIGluZm8oKSBjb25zdCB7IHJldHVybiBtX2luZm87IH0K
QEAgLTg2LDYgKzk0LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBtX2tpbmQg
PT0gSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5kICYmIG1faW5mbzsKICAgICB9CisKKyAgICBi
b29sIG5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0
Y2ggKGtpbmQoKSkgeworICAgICAgICBjYXNlIE5hbWVkUHJvcGVydHlQTG9jOgorICAgICAgICBj
YXNlIENsb3N1cmVWYXJQTG9jOgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KICAg
ICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKQEAgLTk0LDYgKzEx
NCwxMiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5mbzsKIH07CiAKK3N0cnVjdCBQcm9t
b3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yJiBrZXkpIHsgcmV0dXJuIGtleS5oYXNoKCk7
IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ciYgYSwgY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGIpIHsgcmV0dXJuIGEgPT0g
YjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
ID0gdHJ1ZTsKK307CisKIGNsYXNzIFByb21vdGVkSGVhcExvY2F0aW9uIHsKIHB1YmxpYzoKICAg
ICBQcm9tb3RlZEhlYXBMb2NhdGlvbigKQEAgLTE3Niw2ICsyMDIsMTYgQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb24+IDogU2ltcGxl
Q2xhc3NIYXNoVHIKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFs
c2U7CiB9OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2Ny
aXB0b3I+IHsKKyAgICB0eXBlZGVmIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
ckhhc2ggSGFzaDsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRz
OwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlv
bkRlc2NyaXB0b3I+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZHOjpQcm9tb3RlZExv
Y2F0aW9uRGVzY3JpcHRvcj4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1pl
cm8gPSBmYWxzZTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxF
KERGR19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlk
YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCmluZGV4
IDY1NzhhOTYzZDEzNWNiMTQwNzE0ZjRjN2UxMDY4M2RjYmZhYzVjNTEuLjBkNWI0Njg4YjUxYmVk
ZTUxMTk3MjE4NWIyYjI5Nzc3OWQ4ZDY4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHVmFsaWRhdGUuY3BwCkBAIC01MjgsMTIgKzUyOCw0MiBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUp
LCAhImJhZCBub2RlIHR5cGUgZm9yIFNTQSIpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIG1vcmUgdGhpbmdzIGhlcmUuCiAgICAgICAgICAg
ICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM0
NzEKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAgICAgIGNhc2UgUGhh
bnRvbU5ld09iamVjdDoKKyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoK
KyAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21DcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICAg
ICAgICAgIGNhc2UgUGhhbnRvbURpcmVjdEFyZ3VtZW50czoKKyAgICAgICAgICAgICAgICBjYXNl
IFBoYW50b21DbG9uZWRBcmd1bWVudHM6CisgICAgICAgICAgICAgICAgY2FzZSBNb3ZIaW50Ogor
ICAgICAgICAgICAgICAgIGNhc2UgVXBzaWxvbjoKKyAgICAgICAgICAgICAgICBjYXNlIEZvcndh
cmRWYXJhcmdzOgorICAgICAgICAgICAgICAgIGNhc2UgQ2FsbEZvcndhcmRWYXJhcmdzOgorICAg
ICAgICAgICAgICAgIGNhc2UgQ29uc3RydWN0Rm9yd2FyZFZhcmFyZ3M6CisgICAgICAgICAgICAg
ICAgY2FzZSBHZXRNeUFyZ3VtZW50QnlWYWw6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgICAgICAgICAgY2FzZSBDaGVjazoKKyAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IFRoaXMgaXMgcHJvYmFibHkgbm90IGNvcnJlY3QuCisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBQdXRIaW50OgorICAgICAgICAgICAgICAgICAg
ICBWQUxJREFURSgobm9kZSksIG5vZGUtPmNoaWxkMSgpLT5pc1BoYW50b21BbGxvY2F0aW9uKCkp
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKAorICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoY29uc3QgRWRn
ZSYgZWRnZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwg
IWVkZ2UtPmlzUGhhbnRvbUFsbG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCA2NGIwYWJkYzA5YTllZmIxOGZjNmIwMzQzYzg2
MzZhNDg3MTNjYmUxLi5jOWRkZTU1NTEyMmI2MjQwODgwZTdmNWFhODUwM2I5ZTIwMzZmNjNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApA
QCAtNTI4NywxMiArNTI4Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBkYXRhLm1fcHJvcGVydGllcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIHZhbHVl
cy5hcHBlbmQobG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7
CiAgICAgICAgIAotICAgICAgICBTdHJ1Y3R1cmVTZXQgc2V0OwotICAgICAgICBtX2ludGVycHJl
dGVyLnBoaUNoaWxkcmVuKCktPmZvckFsbFRyYW5zaXRpdmVJbmNvbWluZ1ZhbHVlcygKLSAgICAg
ICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKS5ub2RlKCksCi0gICAgICAgICAg
ICBbJl0gKE5vZGUqIGluY29taW5nKSB7Ci0gICAgICAgICAgICAgICAgc2V0LmFkZChpbmNvbWlu
Zy0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkpOwotICAgICAgICAgICAgfSk7CisgICAgICAg
IGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0ID0gbV9ub2RlLT5zdHJ1Y3R1cmVTZXQoKTsKICAgICAg
ICAgCiAgICAgICAgIFZlY3RvcjxMQmFzaWNCbG9jaywgMT4gYmxvY2tzKHNldC5zaXplKCkpOwog
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzZXQuc2l6ZSgpOyBpLS07KQpAQCAtNTM5MSwxMCAr
NTM4NiwxMSBAQCBwcml2YXRlOgogCiAgICAgICAgIFZlY3RvcjxMVmFsdWUsIDg+IHZhbHVlczsK
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRhdGEubV9wcm9wZXJ0aWVzLnNpemUo
KTsgKytpKQotICAgICAgICAgICAgdmFsdWVzLmFwcGVuZChsb3dKU1ZhbHVlKG1fZ3JhcGgudmFy
QXJnQ2hpbGQobV9ub2RlLCAxICsgaSkpKTsKKyAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQobG93
SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMiArIGkpKSk7CiAKLSAgICAgICAg
TFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkpOwor
ICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2Rl
LCAxKSk7CiAgICAgICAgIFN5bWJvbFRhYmxlKiB0YWJsZSA9IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8
U3ltYm9sVGFibGUqPigpOworICAgICAgICBBU1NFUlQodGFibGUgPT0gbV9ncmFwaC52YXJBcmdD
aGlsZChtX25vZGUsIDApLT5jYXN0Q29uc3RhbnQ8U3ltYm9sVGFibGUqPigpKTsKICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9y
aWdpbi5zZW1hbnRpYyktPmFjdGl2YXRpb25TdHJ1Y3R1cmUoKTsKIAogICAgICAgICBMQmFzaWNC
bG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTWF0ZXJpYWxpemVDcmVhdGVB
Y3RpdmF0aW9uIHNsb3cgcGF0aCIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMT1NSRXhpdENvbXBpbGVyLmNwcAppbmRleCAyNzc4OGU3ZjZhNWE5ZmI5ZTUzMDY5ZWM1NGMw
OTAwZGVjZDllYzdlLi4xNjUwMTQzYTU2YjkyYzcwYjU1MWY5OTlmNDY4MWU5NTkzNTQ2NmEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3Bw
CkBAIC0yMjAsMjQgKzIyMCwyNCBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAgICAg
ICAgICAgICBqaXQub3IzMihHUFJJbmZvOjpyZWdUMiwgTWFjcm9Bc3NlbWJsZXI6OkFic29sdXRl
QWRkcmVzcyhhcnJheVByb2ZpbGUtPmFkZHJlc3NPZkFycmF5TW9kZXMoKSkpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghIWV4aXQubV92YWx1ZVBy
b2ZpbGUpCiAgICAgICAgICAgICBqaXQuc3RvcmU2NChHUFJJbmZvOjpyZWdUMCwgZXhpdC5tX3Zh
bHVlUHJvZmlsZS5nZXRTcGVjRmFpbEJ1Y2tldCgwKSk7CiAgICAgfQotICAgIAotICAgIC8vIE1h
dGVyaWFsaXplIGFsbCBvYmplY3RzLiBEb24ndCBtYXRlcmlhbGl6ZSBhbiBvYmplY3QgdW50aWwg
YWxsIG9mIHRoZSBvYmplY3RzIGl0IG5lZWRzCi0gICAgLy8gaGF2ZSBiZWVuIG1hdGVyaWFsaXpl
ZC4gQ3VyaW91c2x5LCB0aGlzIGlzIHRoZSBvbmx5IHBsYWNlIHRoYXQgd2UgaGF2ZSBhbiBhbGdv
cml0aG0gdGhhdCBwcmV2ZW50cwotICAgIC8vIE9TUiBleGl0IGZyb20gaGFuZGxpbmcgY3ljbGlj
IG9iamVjdCBtYXRlcmlhbGl6YXRpb25zLiBPZiBjb3Vyc2UsIG9iamVjdCBhbGxvY2F0aW9uIHNp
bmtpbmcKLSAgICAvLyBjdXJyZW50bHkgd291bGRuJ3QgcmVjb2duaXplIGEgY3ljbGUgYXMgYmVp
bmcgc2lua2FibGUgLSBidXQgaWYgaXQgZGlkIHRoZW4gdGhlIG9ubHkgdGhpbmcgdGhhdAotICAg
IC8vIHdvdWxkIGFodmUgdG8gY2hhbmdlIGlzIHRoaXMgZml4cG9pbnQuIEluc3RlYWQgd2Ugd291
bGQgYWxsb2NhdGUgdGhlIG9iamVjdHMgZmlyc3QgYW5kIHBvcHVsYXRlCi0gICAgLy8gdGhlbSB3
aXRoIGRhdGEgbGF0ZXIuCisKKyAgICAvLyBNYXRlcmlhbGl6ZSBhbGwgb2JqZWN0cy4gRG9uJ3Qg
bWF0ZXJpYWxpemUgYW4gb2JqZWN0IHVudGlsIGFsbAorICAgIC8vIG9mIHRoZSBvYmplY3RzIGl0
IG5lZWRzIGhhdmUgYmVlbiBtYXRlcmlhbGl6ZWQuIFdlIGJyZWFrIGN5Y2xlcworICAgIC8vIGJ5
IHBvcHVsYXRpbmcgb2JqZWN0cyBsYXRlIC0gd2Ugb25seSBjb25zaWRlciBhbiBvYmplY3QgYXMK
KyAgICAvLyBuZWVkaW5nIGFub3RoZXIgb2JqZWN0IGlmIHRoZSBsYXRlciBpcyBuZWVkZWQgZm9y
IHRoZQorICAgIC8vIGFsbG9jYXRpb24gb2YgdGhlIGZvcm1lci4KKwogICAgIEhhc2hTZXQ8RXhp
dFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qPiB0b01hdGVyaWFsaXplOwogICAgIGZvciAoRXhp
dFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlvbiA6IGV4aXQubV9tYXRl
cmlhbGl6YXRpb25zKQogICAgICAgICB0b01hdGVyaWFsaXplLmFkZChtYXRlcmlhbGl6YXRpb24p
OwotICAgIAorCiAgICAgd2hpbGUgKCF0b01hdGVyaWFsaXplLmlzRW1wdHkoKSkgewogICAgICAg
ICB1bnNpZ25lZCBwcmV2aW91c1RvTWF0ZXJpYWxpemVTaXplID0gdG9NYXRlcmlhbGl6ZS5zaXpl
KCk7Ci0gICAgICAgIAorCiAgICAgICAgIFZlY3RvcjxFeGl0VGltZU9iamVjdE1hdGVyaWFsaXph
dGlvbio+IHdvcmtsaXN0OwogICAgICAgICB3b3JrbGlzdC5hcHBlbmRSYW5nZSh0b01hdGVyaWFs
aXplLmJlZ2luKCksIHRvTWF0ZXJpYWxpemUuZW5kKCkpOwogICAgICAgICBmb3IgKEV4aXRUaW1l
T2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24gOiB3b3JrbGlzdCkgewpAQCAt
MjQ2LDIwICsyNDYsMjggQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAgICAgICAgICBm
b3IgKEV4aXRQcm9wZXJ0eVZhbHVlIHZhbHVlIDogbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVz
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLnZhbHVlKCkuaXNPYmplY3RNYXRlcmlh
bGl6YXRpb24oKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgaWYgKCF2YWx1ZS5sb2NhdGlvbigpLm5lZWRlZEZvck1hdGVyaWFsaXphdGlvbigpKQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBpZiAodG9NYXRlcmlh
bGl6ZS5jb250YWlucyh2YWx1ZS52YWx1ZSgpLm9iamVjdE1hdGVyaWFsaXphdGlvbigpKSkgewot
ICAgICAgICAgICAgICAgICAgICAvLyBHb3R0YSBza2lwIHRoaXMgb25lLCBzaW5jZSBvbmUgb2Yg
aXRzIGZpZWxkcyBwb2ludHMgdG8gYSBtYXRlcmlhbGl6YXRpb24KLSAgICAgICAgICAgICAgICAg
ICAgLy8gdGhhdCBoYXNuJ3QgYmVlbiBtYXRlcmlhbGl6ZWQuCisgICAgICAgICAgICAgICAgICAg
IC8vIEdvdHRhIHNraXAgdGhpcyBvbmUsIHNpbmNlIGl0IG5lZWRzIGEKKyAgICAgICAgICAgICAg
ICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIHRoYXQgaGFzbid0IGJlZW4gbWF0ZXJpYWxpemVkLgog
ICAgICAgICAgICAgICAgICAgICBhbGxHb29kID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlm
ICghYWxsR29vZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgLy8gQWxsIHN5c3RlbXMgZ28gZm9yIG1hdGVyaWFsaXppbmcgdGhlIG9iamVjdC4g
Rmlyc3Qgd2UgcmVjb3ZlciB0aGUgdmFsdWVzIG9mIGFsbCBvZgotICAgICAgICAgICAgLy8gaXRz
IGZpZWxkcyBhbmQgdGhlbiB3ZSBjYWxsIGEgZnVuY3Rpb24gdG8gYWN0dWFsbHkgYWxsb2NhdGUg
dGhlIGJlYXN0LgorCisgICAgICAgICAgICAvLyBBbGwgc3lzdGVtcyBnbyBmb3IgbWF0ZXJpYWxp
emluZyB0aGUgb2JqZWN0LiBGaXJzdCB3ZQorICAgICAgICAgICAgLy8gcmVjb3ZlciB0aGUgdmFs
dWVzIG9mIGFsbCBvZiBpdHMgZmllbGRzIGFuZCB0aGVuIHdlCisgICAgICAgICAgICAvLyBjYWxs
IGEgZnVuY3Rpb24gdG8gYWN0dWFsbHkgYWxsb2NhdGUgdGhlIGJlYXN0LgorICAgICAgICAgICAg
Ly8gV2Ugb25seSByZWNvdmVyIHRoZSBmaWVsZHMgdGhhdCBhcmUgbmVlZGVkIGZvciB0aGUgYWxs
b2NhdGlvbi4KICAgICAgICAgICAgIGZvciAodW5zaWduZWQgcHJvcGVydHlJbmRleCA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgcHJvcGVydHlJbmRleC0tOykgewotICAg
ICAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBtYXRlcmlhbGl6YXRpb24tPnBy
b3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1ZSgpOworICAgICAgICAgICAgICAgIGNvbnN0
IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGll
cygpW3Byb3BlcnR5SW5kZXhdOworICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFs
dWUgPSBwcm9wZXJ0eS52YWx1ZSgpOworICAgICAgICAgICAgICAgIGlmICghcHJvcGVydHkubG9j
YXRpb24oKS5uZWVkZWRGb3JNYXRlcmlhbGl6YXRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisKICAgICAgICAgICAgICAgICBjb21waWxlUmVjb3ZlcnkoCiAgICAgICAgICAg
ICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3Rl
clNjcmF0Y2gsCiAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvblRvUG9pbnRlcik7
CkBAIC0yNzMsNyArMjgxLDcgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAgICAgICAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZvaWQq
PihvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKSksIEdQUkluZm86Om5vbkFyZ0dQUjAp
OwogICAgICAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgICAgICAg
ICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIG1hdGVyaWFsaXphdGlvblRv
UG9pbnRlci5nZXQobWF0ZXJpYWxpemF0aW9uKSk7Ci0gICAgICAgICAgICAKKwogICAgICAgICAg
ICAgLy8gTGV0IGV2ZXJ5b25lIGtub3cgdGhhdCB3ZSdyZSBkb25lLgogICAgICAgICAgICAgdG9N
YXRlcmlhbGl6ZS5yZW1vdmUobWF0ZXJpYWxpemF0aW9uKTsKICAgICAgICAgfQpAQCAtMjg0LDYg
KzI5MiwyNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAgICAgUkVMRUFTRV9BU1NF
UlQodG9NYXRlcmlhbGl6ZS5zaXplKCkgPCBwcmV2aW91c1RvTWF0ZXJpYWxpemVTaXplKTsKICAg
ICB9CiAKKyAgICAvLyBOb3cgdGhhdCBhbGwgdGhlIG9iamVjdHMgaGF2ZSBiZWVuIGFsbG9jYXRl
ZCwgd2UgcG9wdWxhdGUgdGhlbQorICAgIC8vIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVzLiBUaGlz
IHRpbWUgd2UgY2FuIHJlY292ZXIgYWxsIHRoZQorICAgIC8vIGZpZWxkcywgaW5jbHVkaW5nIHRo
b3NlIHRoYXQgYXJlIG9ubHkgbmVlZGVkIGZvciB0aGUgYWxsb2NhdGlvbi4KKyAgICBmb3IgKEV4
aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24gOiBleGl0Lm1fbWF0
ZXJpYWxpemF0aW9ucykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIHByb3BlcnR5SW5kZXggPSBt
YXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCk7IHByb3BlcnR5SW5kZXgtLTspIHsK
KyAgICAgICAgICAgIGNvbnN0IEV4aXRWYWx1ZSYgdmFsdWUgPSBtYXRlcmlhbGl6YXRpb24tPnBy
b3BlcnRpZXMoKVtwcm9wZXJ0eUluZGV4XS52YWx1ZSgpOworICAgICAgICAgICAgY29tcGlsZVJl
Y292ZXJ5KAorICAgICAgICAgICAgICAgIGppdCwgdmFsdWUsIHJlY29yZCwgaml0Q29kZS0+c3Rh
Y2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsCisgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemF0aW9u
VG9Qb2ludGVyKTsKKyAgICAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUMCwgbWF0
ZXJpYWxpemF0aW9uQXJndW1lbnRzICsgcHJvcGVydHlJbmRleCk7CisgICAgICAgIH0KKworICAg
ICAgICAvLyBUaGlzIGNhbGwgYXNzdW1lcyB0aGF0IHdlIGRvbid0IHBhc3MgYXJndW1lbnRzIG9u
IHRoZSBzdGFjaworICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKAorICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1hdGVyaWFsaXphdGlvbiksCisg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobWF0ZXJpYWxpemF0aW9uVG9Q
b2ludGVyLmdldChtYXRlcmlhbGl6YXRpb24pKSwKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihtYXRlcmlhbGl6YXRpb25Bcmd1bWVudHMpKTsKKyAgICAgICAgaml0Lm1v
dmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGJpdHdpc2VfY2FzdDx2b2lkKj4ob3BlcmF0
aW9uUG9wdWxhdGVPYmplY3RJbk9TUikpLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICAgICAg
aml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgfQorCiAgICAgLy8gU2F2ZSBhbGwg
c3RhdGUgZnJvbSB3aGVyZXZlciB0aGUgZXhpdCBkYXRhIHRlbGxzIHVzIGl0IHdhcywgaW50byB0
aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4KICAgICAvLyB0aGUgc2NyYXRjaCBidWZmZXIuIFRoaXMg
YWxzbyBkb2VzIHRoZSByZWJveGluZy4KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDRlNWM4YjNmYjc5M2E4M2IyMzY3ZmIwMGE3ZTdjMWI3
NGE0ODQ5ZTAuLjRjMzgzNzM4ODZhMzVlZmY4ZDJmOTI0Y2Y0MmI3MWQzMTFmNTM3OWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcApAQCAtNDgsNDkgKzQ4
LDExMCBAQCBleHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmpl
Y3RXaXRoQnV0dGVyZmx5KEV4ZWNTdGF0ZSogZXhlYwogICAgIHJldHVybiBKU0ZpbmFsT2JqZWN0
OjpjcmVhdGUoZXhlYywgc3RydWN0dXJlLCBidXR0ZXJmbHkpOwogfQogCitleHRlcm4gIkMiIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKAorICAgIEV4ZWNT
dGF0ZSogZXhlYywgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFsaXphdGlv
biwKKyAgICBFbmNvZGVkSlNWYWx1ZSogZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSogdmFs
dWVzKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKworICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290
IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgorICAgIC8vIEZJWE1FOiBXZSBhcmUgbm90IGRvaW5n
IGFueXRoaW5nIHRoYXQgY2FuIEdDIGhlcmUsIGFuZCB0aGlzIGlzCisgICAgLy8gcHJvYmFibHkg
dW5uZWNlc3NhcnkuCisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOworCisg
ICAgc3dpdGNoIChtYXRlcmlhbGl6YXRpb24tPnR5cGUoKSkgeworICAgIGNhc2UgUGhhbnRvbU5l
d09iamVjdDogeworICAgICAgICBKU0ZpbmFsT2JqZWN0KiBvYmplY3QgPSBqc0Nhc3Q8SlNGaW5h
bE9iamVjdCo+KEpTVmFsdWU6OmRlY29kZSgqZW5jb2RlZFZhbHVlKSk7CisgICAgICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKKworICAgICAgICAvLyBGaWd1
cmUgb3V0IHdoYXQgdGhlIGhlY2sgdG8gcG9wdWxhdGUgdGhlIG9iamVjdCB3aXRoLiBVc2UKKyAg
ICAgICAgLy8gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpIGJlY2F1c2UgdGhhdCBoYXBwZW5z
IHRvIGJlCisgICAgICAgIC8vIGxvd2VyLWxldmVsIGFuZCBtb3JlIGNvbnZlbmllbnQuIEl0IGRv
ZXNuJ3QgY2hhbmdlIHRoZQorICAgICAgICAvLyBtYXRlcmlhbGl6YXRpb24gb2YgdGhlIHByb3Bl
cnR5IHRhYmxlLiBXZSB3YW50IHRvIGhhdmUKKyAgICAgICAgLy8gbWluaW1hbCB2aXNpYmxlIGVm
ZmVjdHMgb24gdGhlIHN5c3RlbS4gQWxzbywgZG9uJ3QgbWluZAorICAgICAgICAvLyB0aGF0IHRo
aXMgaXMgTyhuXjIpLiBJdCBkb2Vzbid0IG1hdHRlci4gV2Ugb25seSBnZXQgaGVyZQorICAgICAg
ICAvLyBmcm9tIE9TUiBleGl0LgorICAgICAgICBmb3IgKFByb3BlcnR5TWFwRW50cnkgZW50cnkg
OiBzdHJ1Y3R1cmUtPmdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKSkgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBp
LS07KSB7CisgICAgICAgICAgICAgICAgY29uc3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5
ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0aWVzKClbaV07CisgICAgICAgICAgICAgICAgaWYg
KHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IE5hbWVkUHJvcGVydHlQTG9jKQorICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBpZiAoY29kZUJsb2NrLT5p
ZGVudGlmaWVyKHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKS5pbXBsKCkgIT0gZW50cnkua2V5
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIG9iamVj
dC0+cHV0RGlyZWN0KHZtLCBlbnRyeS5vZmZzZXQsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0p
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAg
ICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKKyAgICBjYXNlIFBoYW50b21EaXJlY3RBcmd1bWVu
dHM6CisgICAgY2FzZSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzOgorICAgICAgICAvLyBUaG9zZSBh
cmUgY29tcGxldGVseSBoYW5kbGVkIGJ5IG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IK
KyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFBoYW50b21DcmVhdGVBY3RpdmF0aW9uOiB7Cisg
ICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50KiBhY3RpdmF0aW9uID0ganNDYXN0PEpTTGV4aWNh
bEVudmlyb25tZW50Kj4oSlNWYWx1ZTo6ZGVjb2RlKCplbmNvZGVkVmFsdWUpKTsKKworICAgICAg
ICAvLyBGaWd1cmUgb3V0IHdoYXQgdG8gcG9wdWxhdGUgdGhlIGFjdGl2YXRpb24gd2l0aAorICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXpl
KCk7IGktLTspIHsKKyAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0
eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOworICAgICAgICAgICAgaWYgKHBy
b3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVWYXJQTG9jKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhY3RpdmF0aW9uLT52YXJpYWJsZUF0KFNjb3Bl
T2Zmc2V0KHByb3BlcnR5LmxvY2F0aW9uKCkuaW5mbygpKSkuc2V0KGV4ZWMtPnZtKCksIGFjdGl2
YXRpb24sIEpTVmFsdWU6OmRlY29kZSh2YWx1ZXNbaV0pKTsKKyAgICAgICAgfQorCisgICAgICAg
IGJyZWFrOworICAgIH0KKworCisgICAgZGVmYXVsdDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICB9Cit9CisKIGV4dGVybiAiQyIg
SlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAg
ICAgRXhlY1N0YXRlKiBleGVjLCBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbWF0ZXJp
YWxpemF0aW9uLCBFbmNvZGVkSlNWYWx1ZSogdmFsdWVzKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKIAog
ICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGluIGV2aWwgcGxhY2VzLgog
ICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKICAgICAKICAgICBzd2l0Y2gg
KG1hdGVyaWFsaXphdGlvbi0+dHlwZSgpKSB7CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OiB7
Ci0gICAgICAgIC8vIEZpcnN0IGZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RydWN0dXJlIGlzLgorICAg
ICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0cnVjdHVyZSBpcwogICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewogICAgICAgICAgICAgY29u
c3QgRXhpdFByb3BlcnR5VmFsdWUmIHByb3BlcnR5ID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0
aWVzKClbaV07CiAgICAgICAgICAgICBpZiAocHJvcGVydHkubG9jYXRpb24oKSAhPSBQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvcihTdHJ1Y3R1cmVQTG9jKSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgCisKICAgICAgICAgICAgIHN0cnVjdHVyZSA9IGpzQ2FzdDxTdHJ1Y3R1
cmUqPihKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUpOwotICAgIAotICAgICAg
ICAvLyBMZXQncyBjcmVhdGUgdGhhdCBvYmplY3QhCisKICAgICAgICAgSlNGaW5hbE9iamVjdCog
cmVzdWx0ID0gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwotICAgIAotICAg
ICAgICAvLyBOb3cgZmlndXJlIG91dCB3aGF0IHRoZSBoZWNrIHRvIHBvcHVsYXRlIHRoZSBvYmpl
Y3Qgd2l0aC4gVXNlIGdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKQotICAgICAgICAvLyBiZWNh
dXNlIHRoYXQgaGFwcGVucyB0byBiZSBsb3dlci1sZXZlbCBhbmQgbW9yZSBjb252ZW5pZW50LiBJ
dCBkb2Vzbid0IGNoYW5nZSB0aGUKLSAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIG9mIHRoZSBw
cm9wZXJ0eSB0YWJsZS4gV2Ugd2FudCB0byBoYXZlIG1pbmltYWwgdmlzaWJsZSBlZmZlY3RzIG9u
IHRoZQotICAgICAgICAvLyBzeXN0ZW0uIEFsc28sIGRvbid0IG1pbmQgdGhhdCB0aGlzIGlzIE8o
bl4yKS4gSXQgZG9lc24ndCBtYXR0ZXIuIFdlIG9ubHkgZ2V0IGhlcmUgZnJvbSBPU1IKLSAgICAg
ICAgLy8gZXhpdC4KLSAgICAgICAgZm9yIChQcm9wZXJ0eU1hcEVudHJ5IGVudHJ5IDogc3RydWN0
dXJlLT5nZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCkpIHsKLSAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKTsgaS0tOykgewot
ICAgICAgICAgICAgICAgIGNvbnN0IEV4aXRQcm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVy
aWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ldOwotICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0
eS5sb2NhdGlvbigpLmtpbmQoKSAhPSBOYW1lZFByb3BlcnR5UExvYykKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGNvZGVCbG9jay0+aWRlbnRpZmll
cihwcm9wZXJ0eS5sb2NhdGlvbigpLmluZm8oKSkuaW1wbCgpICE9IGVudHJ5LmtleSkKLSAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBy
ZXN1bHQtPnB1dERpcmVjdCh2bSwgZW50cnkub2Zmc2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVz
W2ldKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAKKworICAgICAgICAvLyBUaGUg
cmVhbCB2YWx1ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5CisgICAgICAgIC8vIG9wZXJh
dGlvblBvcHVsYXRlTmV3T2JqZWN0SW5PU1IuIFdlIGNhbid0IGZpbGwgdGhlbSBpbgorICAgICAg
ICAvLyBub3csIGJlY2F1c2UgdGhleSBtYXkgbm90IGJlIGF2YWlsYWJsZSB5ZXQgKHR5cGljYWxs
eQorICAgICAgICAvLyBiZWNhdXNlIHdlIGhhdmUgYSBjeWNsaWMgZGVwZW5kZW5jeSBncmFwaCku
CisKKyAgICAgICAgLy8gV2UgcHV0IGEgZHVtbXkgdmFsdWUgaGVyZSBpbiBvcmRlciB0byBhdm9p
ZCBzdXBlci1zdWJ0bGUKKyAgICAgICAgLy8gR0MtYW5kLU9TUi1leGl0IGNyYXNoZXMgaW4gY2Fz
ZSB3ZSBoYXZlIGEgYnVnIGFuZCBzb21lCisgICAgICAgIC8vIGZpZWxkIGlzLCBmb3IgYW55IHJl
YXNvbiwgbm90IGZpbGxlZCBsYXRlci4KKyAgICAgICAgLy8gV2UgdXNlIGEgcmFuZG9tLWlzaCBu
dW1iZXIgaW5zdGVhZCBvZiBhIHNlbnNpYmxlIHZhbHVlIGxpa2UKKyAgICAgICAgLy8gdW5kZWZp
bmVkIHRvIG1ha2UgcG9zc2libGUgYnVncyBlYXNpZXIgdG8gdHJhY2suCisgICAgICAgIGZvciAo
UHJvcGVydHlNYXBFbnRyeSBlbnRyeSA6IHN0cnVjdHVyZS0+Z2V0UHJvcGVydGllc0NvbmN1cnJl
bnRseSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGVudHJ5Lm9mZnNldCwg
anNOdW1iZXIoMTk3MjMpKTsKKwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIApAQCAt
MTEzLDcgKzE3NCw3IEBAIGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk1hdGVyaWFsaXplT2JqZWN0SW5PU1IoCiAgICAgfQogCiAgICAgY2FzZSBQaGFudG9tQ3JlYXRl
QWN0aXZhdGlvbjogewotICAgICAgICAvLyBGaWd1cmUgb3V0IHdoZXJlIHRoZSBzY29wZSBpcwor
ICAgICAgICAvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHNjb3BlIGFuZCBzeW1ib2wgdGFibGUgYXJl
CiAgICAgICAgIEpTU2NvcGUqIHNjb3BlID0gbnVsbHB0cjsKICAgICAgICAgU3ltYm9sVGFibGUq
IHRhYmxlID0gbnVsbHB0cjsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0
aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpOyBpLS07KSB7CkBAIC0xMzMsMTMgKzE5NCwxNyBAQCBl
eHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVj
dEluT1NSKAogICAgICAgICBKU0xleGljYWxFbnZpcm9ubWVudCogcmVzdWx0ID0gSlNMZXhpY2Fs
RW52aXJvbm1lbnQ6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBzY29wZSwgdGFibGUpOwogCiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKSAt
IDIgPT0gdGFibGUtPnNjb3BlU2l6ZSgpKTsKLSAgICAgICAgLy8gRmlndXJlIG91dCB3aGF0IHRv
IHBvcHVsYXRlIHRoZSBhY3RpdmF0aW9uIHdpdGgKKworICAgICAgICAvLyBUaGUgcmVhbCB2YWx1
ZXMgd2lsbCBiZSBwdXQgc3Vic2VxdWVudGx5IGJ5CisgICAgICAgIC8vIG9wZXJhdGlvblBvcHVs
YXRlTmV3T2JqZWN0SW5PU1IuIFNlZSB0aGUgUGhhbnRvbU5ld09iamVjdAorICAgICAgICAvLyBj
YXNlIGZvciBkZXRhaWxzLgogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtYXRlcmlhbGl6YXRp
b24tPnByb3BlcnRpZXMoKS5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAgIGNvbnN0IEV4aXRQ
cm9wZXJ0eVZhbHVlJiBwcm9wZXJ0eSA9IG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpW2ld
OwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LmxvY2F0aW9uKCkua2luZCgpICE9IENsb3N1cmVW
YXJQTG9jKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICByZXN1bHQt
PnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5pbmZvKCkpKS5zZXQo
ZXhlYy0+dm0oKSwgcmVzdWx0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWVzW2ldKSk7CisgICAgICAg
ICAgICByZXN1bHQtPnZhcmlhYmxlQXQoU2NvcGVPZmZzZXQocHJvcGVydHkubG9jYXRpb24oKS5p
bmZvKCkpKS5zZXQoCisgICAgICAgICAgICAgICAgZXhlYy0+dm0oKSwgcmVzdWx0LCBqc051bWJl
cigyOTgzNCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHZhbGlkYXRpb25FbmFibGVkKCkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmgKaW5kZXggZDE1ZjE4
ZWI5YWRkMzM3OWZiNWNmMTQyZGUzNDYxM2M0ODU3NzUwNS4uYTU1NjhmOTFiMTE3MmI1MTI5Zjg4
Mzk3ODNlNzNiYzZkOGM4M2Y3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVy
YXRpb25zLmgKQEAgLTQwLDYgKzQwLDkgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld09iamVjdFdpdGhCdXR0ZXJmbHkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikgV1QKIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKAogICAgIEV4
ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiwgRW5jb2RlZEpTVmFsdWUq
KSBXVEZfSU5URVJOQUw7CiAKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qb3B1bGF0ZU9i
amVjdEluT1NSKAorICAgIEV4ZWNTdGF0ZSosIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9u
KiwgRW5jb2RlZEpTVmFsdWUqLCBFbmNvZGVkSlNWYWx1ZSopIFdURl9JTlRFUk5BTDsKKwogfSAv
LyBleHRlcm4gIkMiCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvY29ycmVjdGx5LXNpbmstb2JqZWN0LWV2
ZW4tdGhvdWdoLWl0LWRpZXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2NvcnJlY3RseS1zaW5rLW9iamVjdC1ldmVuLXRob3VnaC1pdC1kaWVzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZlZTBiN2I3Mzg5OGM5YTM4MWI3NzE2NzExOTdjNGExZjdhM2U2NjkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2NvcnJlY3RseS1zaW5rLW9i
amVjdC1ldmVuLXRob3VnaC1pdC1kaWVzLmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIGNs
b2JiZXIoKSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitmdW5jdGlvbiBmb28ocCkgeworICAg
IHZhciBhID0geyB4OiB7ICdpZCc6ICdibGFoJyB9IH07CisgICAgY2xvYmJlcigpOworICAgIGlm
IChwKQorICAgICAgICByZXR1cm4gYS54OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oaSAlIDIpOwor
ICAgIGlmIChpICUgMiAmJiByZXN1bHQuaWQgIT0gJ2JsYWgnKQorICAgICAgICB0aHJvdyAiSW52
YWxpZCByZXN1bHQgSUQ6ICIgKyByZXN1bHQuaWQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VsaW1pbmF0ZS1vYmplY3QtcmVhZC1vdmVyLWNhbGwu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VsaW1pbmF0ZS1vYmplY3Qt
cmVhZC1vdmVyLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg4N2M2MDJiZWU4ODJmZWU4ZWZkNTY5MWI5
MDRlOWQ3NjBmMWIyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZWxpbWluYXRlLW9iamVjdC1yZWFkLW92ZXItY2FsbC5qcwpAQCAtMCwwICsx
LDE2IEBACitmdW5jdGlvbiBjbG9iYmVyKCkgeyB9Citub0lubGluZShjbG9iYmVyKTsKKworZnVu
Y3Rpb24gZm9vKHApIHsKKyAgICB2YXIgYSA9IHsgeDogMTAgfTsKKyAgICBjbG9iYmVyKCk7Cisg
ICAgaWYgKHApIGEueiA9IDIwOworICAgIGEueSA9IGEueDsKKyAgICByZXR1cm4gYTsKK30KK25v
SW5saW5lKGZvbyk7CisKK2Zvbyh0cnVlKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7
ICsraSkKKyAgICBmb28oZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9tYXRlcmlhbGl6ZS1vYmplY3Qtb24tZWRnZS5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0ZXJpYWxpemUtb2JqZWN0LW9uLWVkZ2UuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmNiZDRiOTgzOGQ2NWZjOWEzZDYzYTNjMjVkZGZkYzdjNjUyMzYyYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0ZXJpYWxp
emUtb2JqZWN0LW9uLWVkZ2UuanMKQEAgLTAsMCArMSwxNyBAQAorZnVuY3Rpb24gY2FsbCgpIHsg
fQorbm9JbmxpbmUoY2FsbCk7CisKK2Z1bmN0aW9uIGZvbyhwKSB7CisgICAgdmFyIGEgPSB7fTsK
KyAgICB2YXIgYiA9IHt9OworICAgIGlmIChwKSB7CisgICAgICAgIGIueCA9IGE7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgYi54ID0gMDsKKyAgICB9CisgICAgcmV0dXJuIGIueDsKK30KK25vSW5s
aW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKQorICAgIGZvbyhp
ICUgMik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29i
amVjdC1zaW5raW5nLXN0cmVzcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3Mvb2JqZWN0LXNpbmtpbmctc3RyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1M2Y3NzUxODFjNGViMDQ5
OThiYTNlYTczZjVmOWFhM2ZjOTUzNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL29iamVjdC1zaW5raW5nLXN0cmVzcy5qcwpAQCAtMCwwICsx
LDE2IEBACitmdW5jdGlvbiBmb28ocCkgeworICAgIHZhciBhID0geyBpZDogImEiIH07CisgICAg
YS5fX3NlbGYgPSBhOworICAgIHZhciBiID0geyBpZDogImIiIH07CisgICAgYi5fX3NlbGYgPSBi
OworICAgIHZhciBjID0geyBpZDogImMiIH07CisgICAgYy5fX3NlbGYgPSBjOworICAgIGlmIChw
KSBhLnggPSBiOyBlbHNlIGEueCA9IGI7CisgICAgdmFyIHJldCA9IHsgJ3YnOiBhLngsICdiJzog
YiwgJ2MnOiBjIH07CisgICAgcmV0Ll9fc2VsZiA9IHJldDsKKyAgICBpZiAocCkgcmV0dXJuIHJl
dDsKK30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
CisgICAgZm9vKGkgJSAyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc2luay1vYmplY3QtY3ljbGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL3Npbmstb2JqZWN0LWN5Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NjY4NGI5NTVmMDlh
NmQ0NGNmNTU4NzEwM2VkZjlkYTc0NjYwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0LWN5Y2xlLmpzCkBAIC0wLDAgKzEs
MTcgQEAKK2Z1bmN0aW9uIGNsb2JiZXIoKSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitmdW5j
dGlvbiBmb28ocCkgeworICAgIHZhciBhID0ge307CisgICAgdmFyIGIgPSB7fTsKKyAgICBhLngg
PSAwOworICAgIGIueCA9IDA7CisgICAgY2xvYmJlcigpOworICAgIGEueCA9IGI7CisgICAgYi54
ID0gYTsKKyAgICBpZiAocCkgcmV0dXJuIGE7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisgICAgZm9vKGkgJSAyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2luay1vYmplY3QtcGFzdC1wdXQuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Npbmstb2JqZWN0LXBhc3QtcHV0
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwYWE0ZDBmNzQ5MjA0ZjNhNTQxNDRmNWNlYzJjZTU1MGJhNzc1MDgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Np
bmstb2JqZWN0LXBhc3QtcHV0LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGNsb2JiZXIo
KSB7IH0KK25vSW5saW5lKGNsb2JiZXIpOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFyIG8g
PSB7fTsKKyAgICB2YXIgcCA9IHt9OworICAgIG8ueCA9IHA7CisgICAgY2xvYmJlcigpOworICAg
IG8ueCA9IDA7CisgICAgcmV0dXJuIG87Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGZvbygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3NpbmthYmxlLW5ldy1vYmplY3Qt
aW4tbG9vcC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTNlMTlmMjRhMGJiNzAxNTJhZWUxZWY0MTBmY2EzNzAy
M2FiNTk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWluLWxvb3AuanMKQEAgLTAsMCArMSwxMCBAQAorZnVu
Y3Rpb24gZm9vKHApIHsKKyAgICB2YXIgbyA9IHt9OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
MTAwOyArK2kpCisgICAgICAgIG8ueCA9IHt9OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2
YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkKKyAgICBmb28oaSAlIDIpOworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWJm
MzgxMDQ0ODczNzJjZTdkOTZmNWU4ODgwYTcxOGIyMTQ1NGRjYy4uZjA5MWIxZjk5NjYwY2Q4MThm
YjQ3MmNlMWVmOWE0MmNlYzk3ZjhkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTEz
ICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KKworICAgICAgICBP
YmplY3QgY3ljbGVzIHNob3VsZCBub3QgcHJldmVudCBhbGxvY2F0aW9uIGVsaW1pbmF0aW9uL3Np
bmtpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MzA3MworCisgICAgICAgIFJldmlld2VkIGJ5IEZpbGlwIFBpemxvLgorCisgICAgICAgIEFkZCBh
IGZldyBtaWNyb2JlbmNobWFya3MgdGhhdCBzaG93IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdo
ZW4KKyAgICAgICAgc2lua2luZyBvciBlbGltaW5pbmF0aW5nIG9iamVjdCBjeWNsZXMuCisKKyAg
ICAgICAgKiBqcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUu
aHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUt
bmV3LW9iamVjdC1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChzdW1PZkFyaXRoU2VyaWVzKToK
KyAgICAgICAgKGZvbyk6CisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2Fi
bGUtY2xvc3VyZS1jeWNsZS5qczogQWRkZWQuCisgICAgICAgIChmYWN0b3JpYWwuZik6CisgICAg
ICAgIChmYWN0b3JpYWwpOgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Npbmth
YmxlLW5ldy1vYmplY3QtY3ljbGUuanM6IEFkZGVkLgorICAgICAgICAoc3VtT2ZBcml0aFNlcmll
cyk6CisgICAgICAgICh2ZXJpZnkpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBqcy9yZWdy
ZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBqcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICoganMvcmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICoganMvcmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWw6
IEFkZGVkLgorCiAyMDE1LTA3LTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFtXaW5dIFNraXAgZmFpbGluZyB0YWJsZS1yZWxhdGVkIEFYIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3lj
bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2Jq
ZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWU2OTliYzY4ZWZiOWQ0ZWU1NjUz
NzM2NTIxOTQ5MTI0YTQ5ODBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitKU1JlZ3Jlc3MvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL2VsaWRhYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iODU3NjhmZDE5OTMxNzk0YjAzNjA4ZjU2Njc4MTIzZTlkMDBkZDdiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9lbGlkYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzIGIvTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVjdC1jeWNsZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MTBiNDQ4Mjc3YjEyMGVhYmIwMTc3MDg2NTM0Mjk0YmNiYmM5N2ExCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvZWxpZGFibGUtbmV3LW9iamVj
dC1jeWNsZS5qcwpAQCAtMCwwICsxLDI0IEBACitmdW5jdGlvbiBzdW1PZkFyaXRoU2VyaWVzKGxp
bWl0KSB7CisgICAgcmV0dXJuIGxpbWl0ICogKGxpbWl0ICsgMSkgLyAyOworfQorCit2YXIgbiA9
IDEwMDAwMDAwOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgdmFyIHEgPSB7fTsKKyAgICAg
ICAgdmFyIGxlYWYgPSB7ZjppLCB0cmVlOiBxfTsKKyAgICAgICAgdmFyIG8gPSB7ZjpsZWFmLCB0
cmVlOiBxfTsKKyAgICAgICAgdmFyIHAgPSB7ZjpsZWFmLCB0cmVlOiBxfTsKKyAgICAgICAgcS5m
ID0gbzsKKyAgICAgICAgcS5nID0gcDsKKyAgICAgICAgcS50cmVlID0gcTsKKyAgICAgICAgcmVz
dWx0ICs9IHEuZi5mLmY7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZhciByZXN1
bHQgPSBmb28oKTsKK2lmIChyZXN1bHQgIT0gc3VtT2ZBcml0aFNlcmllcyhuIC0gMSkpCisgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5qcyBi
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLWNsb3N1cmUtY3lj
bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjE0OGRiYjQwOWFlZDE5ZDQ3OTczMTkxODRmNzNkMmY0N2QzNTRh
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gZmFj
dG9yaWFsKHgpIHsKKyAgICBpZiAoeCA8IDApIHRocm93ICJXZSBhcmUgbm90IEdhbW1hIjsKKwor
ICAgIGlmICh4ID09PSAwKQorICAgICAgICByZXR1cm4gMTsKKworICAgIGZ1bmN0aW9uIGYoaSwg
YWNjKSB7CisgICAgICAgIGlmIChpID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIGFjYzsKKyAg
ICAgICAgcmV0dXJuIGYoaSAtIDEsIGkgKiBhY2MpOworICAgIH0KKworICAgIHJldHVybiBmKHgs
IDEpOworfQorbm9JbmxpbmUoZmFjdG9yaWFsKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDAwOyArK2kpCisgICAgZmFjdG9yaWFsKGkgJSAzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuanMgYi9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5
Y2xlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE2MDgxNzIyZGQyM2NhOTc0YTRlZDhiMGRkMDE3OGEwMGY1ODUw
NjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0
cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzCkBAIC0wLDAgKzEsMzggQEAKK2Z1bmN0aW9u
IHN1bU9mQXJpdGhTZXJpZXMobGltaXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAx
KSAvIDI7Cit9CisKK3ZhciBuID0gMTAwMDAwMDA7CisKK2Z1bmN0aW9uIHZlcmlmeShxLCBpKSB7
CisgICAgaWYgKHEuZiA9PSBxLmcpCisgICAgICAgIHRocm93ICJFcnJvcjogcS5mID09IHEuZyI7
CisgICAgaWYgKHEuZi5mICE9IHEuZy5mKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEuZi5mICE9
IHEuZy5mIjsKKyAgICBpZiAocS5mLmYuZiAhPSBpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IHEu
Zi5mLmYgIT0gaSI7Cit9CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcSA9IHt9Owor
ICAgICAgICB2YXIgbGVhZiA9IHtmOmksIHRyZWU6cX07CisgICAgICAgIHZhciBvID0ge2Y6bGVh
ZiwgdHJlZTpxfTsKKyAgICAgICAgdmFyIHAgPSB7ZjpsZWFmLCB0cmVlOnF9OworICAgICAgICBx
LmYgPSBvOworICAgICAgICBxLmcgPSBwOworICAgICAgICBxLnRyZWUgPSBxOworICAgICAgICBy
ZXN1bHQgKz0gcS5mLmYuZjsKKyAgICAgICAgaWYgKCEoaSAlIDEwMCkpCisgICAgICAgICAgICB2
ZXJpZnkocSwgaSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZv
byk7Citub0lubGluZSh2ZXJpZnkpOworCit2YXIgcmVzdWx0ID0gZm9vKCk7CitpZiAocmVzdWx0
ICE9IHN1bU9mQXJpdGhTZXJpZXMobiAtIDEpKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3Vs
dDogIiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2Fi
bGUtY2xvc3VyZS1jeWNsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Np
bmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NDg1YWZmZTZm
ODIwNzU4NWM1NmNlY2QxZDgxNjdkMzcwMGVkNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK0pTUmVncmVzcy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuaHRtbCBiL0xheW91
dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtY2xvc3VyZS1jeWNsZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5NTY4YTMyYjdiYjUxOTgzODc3Y2IzNTYyMjZiZTVhN2VjYzRhZjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLWNsb3N1cmUtY3ljbGUuaHRtbApA
QCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9zaW5rYWJsZS1jbG9zdXJlLWN5Y2xlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9i
amVjdC1jeWNsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxl
LW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkMzNmMzg1NmQzNTA4
MWE0YmY5YjRlMTkxZjEwNjlmOTc3ZGY2MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK0pTUmVncmVzcy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3QtY3ljbGUuaHRtbCBi
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2lua2FibGUtbmV3LW9iamVjdC1jeWNsZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI2YmI1YzI3ZGM1YmNkNTljMTllNDIxZTczYjAwZmJlODZjYmVlYzkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmthYmxlLW5ldy1vYmplY3Qt
Y3ljbGUuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9zaW5rYWJsZS1uZXctb2JqZWN0LWN5Y2xlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="281822"
          type_id="3"
          status="-"
          setter="basile_clement"
    />
          </attachment>
      

    </bug>

</bugzilla>