<?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>121082</bug_id>
          
          <creation_ts>2013-09-10 00:11:46 -0700</creation_ts>
          <short_desc>Use unique_ptr instead of deleteAllValues in XPath</short_desc>
          <delta_ts>2024-05-29 16:51: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>XML</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>274872</blocked>
    
    <blocked>73757</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>927184</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-10 00:11:46 -0700</bug_when>
    <thetext>Use OwnPtr instead of deleteAllValues in some of XPath</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931176</commentid>
    <comment_count>1</comment_count>
      <attachid>212120</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-19 21:22:30 -0700</bug_when>
    <thetext>Created attachment 212120
Early incomplete patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937395</commentid>
    <comment_count>2</comment_count>
      <attachid>213660</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-07 23:29:42 -0700</bug_when>
    <thetext>Created attachment 213660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937396</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-07 23:32:35 -0700</bug_when>
    <thetext>Attachment 213660 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Attr.h&apos;, u&apos;Source/WebCore/xml/XPathExpression.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpression.h&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.h&apos;, u&apos;Source/WebCore/xml/XPathFunctions.cpp&apos;, u&apos;Source/WebCore/xml/XPathFunctions.h&apos;, u&apos;Source/WebCore/xml/XPathGrammar.y&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.cpp&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.h&apos;, u&apos;Source/WebCore/xml/XPathParser.cpp&apos;, u&apos;Source/WebCore/xml/XPathParser.h&apos;, u&apos;Source/WebCore/xml/XPathPath.cpp&apos;, u&apos;Source/WebCore/xml/XPathPath.h&apos;, u&apos;Source/WebCore/xml/XPathPredicate.cpp&apos;, u&apos;Source/WebCore/xml/XPathPredicate.h&apos;, u&apos;Source/WebCore/xml/XPathStep.cpp&apos;, u&apos;Source/WebCore/xml/XPathStep.h&apos;, u&apos;Source/WebCore/xml/XPathUtil.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.h&apos;]&quot; exit_code: 1
Source/WebCore/xml/XPathPredicate.h:50:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathParser.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/xml/XPathStep.h:74:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathStep.h:75:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Total errors found: 4 in 22 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>937412</commentid>
    <comment_count>4</comment_count>
      <attachid>213660</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 00:09:10 -0700</bug_when>
    <thetext>Comment on attachment 213660
Patch

Attachment 213660 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3746044</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937417</commentid>
    <comment_count>5</comment_count>
      <attachid>213660</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 00:12:38 -0700</bug_when>
    <thetext>Comment on attachment 213660
Patch

Attachment 213660 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/3710122

New failing tests:
fast/xpath/4XPath/Core/test_core_functions.html
fast/xpath/implicit-node-args.html
fast/xpath/4XPath/Core/test_boolean_expr.html
fast/xpath/union-context-node.xhtml
fast/xpath/node-name-case-sensitivity.html
inspector/console/console-xpath.html
inspector/network-status-non-http.html
fast/xpath/xpath-functional-test.html
fast/xpath/py-dom-xpath/predicates.html
fast/xpath/ambiguous-operators.html
fast/xpath/py-dom-xpath/axes.html
fast/xpath/substring-non-positive-postion.html
fast/xpath/position.html
fast/xpath/4XPath/Core/test_nodeset_expr.html
fast/xpath/substring-nan-position.html
fast/xpath/document-order.html
fast/xpath/py-dom-xpath/functions.html
fast/xpath/4XPath/Core/test_literal_expr.html
inspector/extensions/extensions-audits.html
fast/xpath/nan-to-boolean.html
fast/xpath/py-dom-xpath/paths.html
fast/xpath/py-dom-xpath/expressions.html
fast/xpath/xpath-detached-import-assert.html
fast/xpath/py-dom-xpath/abbreviations.html
fast/xpath/4XPath/Core/test_parser.html
fast/xpath/empty-string-substring.html
fast/xpath/id-path.html
fast/xpath/xpath-detached-nodes.html
fast/xpath/4XPath/Core/test_numeric_expr.html
fast/xpath/attribute-node-predicate.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937418</commentid>
    <comment_count>6</comment_count>
      <attachid>213667</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 00:12:40 -0700</bug_when>
    <thetext>Created attachment 213667
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-11  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937429</commentid>
    <comment_count>7</comment_count>
      <attachid>213660</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 00:32:56 -0700</bug_when>
    <thetext>Comment on attachment 213660
Patch

Attachment 213660 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/3710125

New failing tests:
fast/xpath/4XPath/Core/test_core_functions.html
fast/xpath/implicit-node-args.html
fast/xpath/4XPath/Core/test_boolean_expr.html
fast/xpath/union-context-node.xhtml
fast/xpath/node-name-case-sensitivity.html
inspector/console/console-xpath.html
inspector/network-status-non-http.html
fast/xpath/xpath-functional-test.html
fast/xpath/py-dom-xpath/predicates.html
fast/xpath/ambiguous-operators.html
fast/xpath/py-dom-xpath/axes.html
fast/xpath/substring-non-positive-postion.html
fast/xpath/position.html
fast/xpath/4XPath/Core/test_nodeset_expr.html
fast/xpath/substring-nan-position.html
fast/xpath/document-order.html
fast/xpath/py-dom-xpath/functions.html
fast/xpath/4XPath/Core/test_literal_expr.html
inspector/extensions/extensions-audits.html
fast/xpath/nan-to-boolean.html
fast/xpath/py-dom-xpath/paths.html
fast/xpath/py-dom-xpath/expressions.html
fast/xpath/xpath-detached-import-assert.html
fast/xpath/py-dom-xpath/abbreviations.html
fast/xpath/4XPath/Core/test_parser.html
fast/xpath/empty-string-substring.html
fast/xpath/id-path.html
fast/xpath/xpath-detached-nodes.html
fast/xpath/4XPath/Core/test_numeric_expr.html
fast/xpath/attribute-node-predicate.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937430</commentid>
    <comment_count>8</comment_count>
      <attachid>213671</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 00:32:59 -0700</bug_when>
    <thetext>Created attachment 213671
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-02  Port: mac-mountainlion  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937435</commentid>
    <comment_count>9</comment_count>
      <attachid>213672</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-08 00:48:52 -0700</bug_when>
    <thetext>Created attachment 213672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937436</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 00:50:34 -0700</bug_when>
    <thetext>Attachment 213672 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Attr.h&apos;, u&apos;Source/WebCore/xml/XPathExpression.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpression.h&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.h&apos;, u&apos;Source/WebCore/xml/XPathFunctions.cpp&apos;, u&apos;Source/WebCore/xml/XPathFunctions.h&apos;, u&apos;Source/WebCore/xml/XPathGrammar.y&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.cpp&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.h&apos;, u&apos;Source/WebCore/xml/XPathParser.cpp&apos;, u&apos;Source/WebCore/xml/XPathParser.h&apos;, u&apos;Source/WebCore/xml/XPathPath.cpp&apos;, u&apos;Source/WebCore/xml/XPathPath.h&apos;, u&apos;Source/WebCore/xml/XPathPredicate.cpp&apos;, u&apos;Source/WebCore/xml/XPathPredicate.h&apos;, u&apos;Source/WebCore/xml/XPathStep.cpp&apos;, u&apos;Source/WebCore/xml/XPathStep.h&apos;, u&apos;Source/WebCore/xml/XPathUtil.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.h&apos;]&quot; exit_code: 1
Source/WebCore/xml/XPathPredicate.h:50:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathParser.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/xml/XPathStep.h:74:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathStep.h:75:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Total errors found: 4 in 22 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>937456</commentid>
    <comment_count>11</comment_count>
      <attachid>213672</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 01:30:22 -0700</bug_when>
    <thetext>Comment on attachment 213672
Patch

Attachment 213672 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3611040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937470</commentid>
    <comment_count>12</comment_count>
      <attachid>213679</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-08 02:12:29 -0700</bug_when>
    <thetext>Created attachment 213679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937471</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 02:14:03 -0700</bug_when>
    <thetext>Attachment 213679 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Attr.h&apos;, u&apos;Source/WebCore/xml/XPathExpression.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpression.h&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.h&apos;, u&apos;Source/WebCore/xml/XPathFunctions.cpp&apos;, u&apos;Source/WebCore/xml/XPathFunctions.h&apos;, u&apos;Source/WebCore/xml/XPathGrammar.y&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.cpp&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.h&apos;, u&apos;Source/WebCore/xml/XPathParser.cpp&apos;, u&apos;Source/WebCore/xml/XPathParser.h&apos;, u&apos;Source/WebCore/xml/XPathPath.cpp&apos;, u&apos;Source/WebCore/xml/XPathPath.h&apos;, u&apos;Source/WebCore/xml/XPathPredicate.cpp&apos;, u&apos;Source/WebCore/xml/XPathPredicate.h&apos;, u&apos;Source/WebCore/xml/XPathStep.cpp&apos;, u&apos;Source/WebCore/xml/XPathStep.h&apos;, u&apos;Source/WebCore/xml/XPathUtil.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.h&apos;]&quot; exit_code: 1
Source/WebCore/xml/XPathPredicate.h:50:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathParser.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/xml/XPathStep.h:74:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathStep.h:75:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Total errors found: 4 in 22 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>937485</commentid>
    <comment_count>14</comment_count>
      <attachid>213679</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 03:58:57 -0700</bug_when>
    <thetext>Comment on attachment 213679
Patch

Attachment 213679 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3645201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937542</commentid>
    <comment_count>15</comment_count>
      <attachid>213693</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-08 09:23:15 -0700</bug_when>
    <thetext>Created attachment 213693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937544</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 09:24:47 -0700</bug_when>
    <thetext>Attachment 213693 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Attr.h&apos;, u&apos;Source/WebCore/xml/XPathExpression.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpression.h&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.h&apos;, u&apos;Source/WebCore/xml/XPathFunctions.cpp&apos;, u&apos;Source/WebCore/xml/XPathFunctions.h&apos;, u&apos;Source/WebCore/xml/XPathGrammar.y&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.cpp&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.h&apos;, u&apos;Source/WebCore/xml/XPathParser.cpp&apos;, u&apos;Source/WebCore/xml/XPathParser.h&apos;, u&apos;Source/WebCore/xml/XPathPath.cpp&apos;, u&apos;Source/WebCore/xml/XPathPath.h&apos;, u&apos;Source/WebCore/xml/XPathPredicate.cpp&apos;, u&apos;Source/WebCore/xml/XPathPredicate.h&apos;, u&apos;Source/WebCore/xml/XPathStep.cpp&apos;, u&apos;Source/WebCore/xml/XPathStep.h&apos;, u&apos;Source/WebCore/xml/XPathUtil.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.h&apos;]&quot; exit_code: 1
Source/WebCore/xml/XPathPredicate.h:50:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathParser.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/xml/XPathStep.h:74:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathStep.h:75:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Total errors found: 4 in 22 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>937566</commentid>
    <comment_count>17</comment_count>
      <attachid>213693</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-08 10:06:25 -0700</bug_when>
    <thetext>Comment on attachment 213693
Patch

Attachment 213693 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3747158</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937603</commentid>
    <comment_count>18</comment_count>
      <attachid>213693</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-08 11:20:36 -0700</bug_when>
    <thetext>Comment on attachment 213693
Patch

Anders pointed out that the various arguments should all be passed by value, not rvalue reference. I’ll fix that.

And to fix Windows, need to work around a compile issue in the NodeTest class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937812</commentid>
    <comment_count>19</comment_count>
      <attachid>213753</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-08 21:59:51 -0700</bug_when>
    <thetext>Created attachment 213753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937814</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 22:01:46 -0700</bug_when>
    <thetext>Attachment 213753 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Attr.h&apos;, u&apos;Source/WebCore/xml/XPathExpression.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpression.h&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.cpp&apos;, u&apos;Source/WebCore/xml/XPathExpressionNode.h&apos;, u&apos;Source/WebCore/xml/XPathFunctions.cpp&apos;, u&apos;Source/WebCore/xml/XPathFunctions.h&apos;, u&apos;Source/WebCore/xml/XPathGrammar.y&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.cpp&apos;, u&apos;Source/WebCore/xml/XPathNodeSet.h&apos;, u&apos;Source/WebCore/xml/XPathParser.cpp&apos;, u&apos;Source/WebCore/xml/XPathParser.h&apos;, u&apos;Source/WebCore/xml/XPathPath.cpp&apos;, u&apos;Source/WebCore/xml/XPathPath.h&apos;, u&apos;Source/WebCore/xml/XPathPredicate.cpp&apos;, u&apos;Source/WebCore/xml/XPathPredicate.h&apos;, u&apos;Source/WebCore/xml/XPathStep.cpp&apos;, u&apos;Source/WebCore/xml/XPathStep.h&apos;, u&apos;Source/WebCore/xml/XPathUtil.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.cpp&apos;, u&apos;Source/WebCore/xml/XPathValue.h&apos;]&quot; exit_code: 1
Source/WebCore/xml/XPathPredicate.h:50:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebCore/xml/XPathParser.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 22 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>937967</commentid>
    <comment_count>21</comment_count>
      <attachid>213753</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-09 09:57:19 -0700</bug_when>
    <thetext>Comment on attachment 213753
Patch

Hooray, builds on Windows. Time to get this reviewed and landed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937998</commentid>
    <comment_count>22</comment_count>
      <attachid>213753</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-09 11:05:40 -0700</bug_when>
    <thetext>Comment on attachment 213753
Patch

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

&gt; Source/WebCore/xml/XPathExpression.h:53
&gt; +        XPathExpression(std::unique_ptr&lt;XPath::Expression&gt;);

Could make this explicit for good measure.

&gt; Source/WebCore/xml/XPathNodeSet.h:39
&gt; +            NodeSet(PassRefPtr&lt;Node&gt; node) : m_isSorted(true), m_subtreesAreDisjoint(false), m_nodes(1, node) { }

Explicit (if possible).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938178</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-09 19:45:00 -0700</bug_when>
    <thetext>Committed r157205: &lt;http://trac.webkit.org/changeset/157205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938409</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-10 10:35:23 -0700</bug_when>
    <thetext>I&apos;m now seeing leaks on LeaksViewer that I think are new:

WTF::Mutex::operator new(unsigned long)
WebCore::XPath::Step::NodeTest::operator new(unsigned long)
xpathyyparse(WebCore::XPath::Parser&amp;)
WebCore::XPath::Parser::parseStatement(WTF::String const&amp;, WebCore::XPathNSResolver*, int&amp;)
WebCore::XPathExpression::createExpression(WTF::String const&amp;, WebCore::XPathNSResolver*, int&amp;)
WebCore::XPathEvaluator::createExpression(WTF::String const&amp;, WebCore::XPathNSResolver*, int&amp;)
WebCore::XPathEvaluator::evaluate(WTF::String const&amp;, WebCore::Node*, WebCore::XPathNSResolver*, unsigned short, WebCore::XPathResult*, int&amp;)

Darin, will you have the time to look into this? I don&apos;t know which test leaks, but almost all of them should be in fast/xpath.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938419</commentid>
    <comment_count>25</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-10 10:46:26 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Darin, will you have the time to look into this? I don&apos;t know which test leaks, but almost all of them should be in fast/xpath.

Not today, but tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938445</commentid>
    <comment_count>26</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-10 11:41:07 -0700</bug_when>
    <thetext>Filed bug 122609. I confirmed locally that the leaks are new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957917</commentid>
    <comment_count>27</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-09 08:48:13 -0800</bug_when>
    <thetext>*** Bug 125389 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212120</attachid>
            <date>2013-09-19 21:22:30 -0700</date>
            <delta_ts>2013-10-07 23:29:39 -0700</delta_ts>
            <desc>Early incomplete patch</desc>
            <filename>patch-in-progress.txt</filename>
            <type>text/plain</type>
            <size>44644</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">Y29tbWl0IGNhMGJjMWJmODZkYmRiZDRmYjllMzZlN2MzZjQ5YjU5ZGI5NTI1YmYKQXV0aG9yOiBE
YXJpbiBBZGxlciA8ZGFyaW5AYXBwbGUuY29tPgpEYXRlOiAgIFN1biBNYXkgNSAxMToxMjoxNyAy
MDEzIC0wNzAwCgogICAgVXNlIE93blB0ciBpbnN0ZWFkIG9mIGRlbGV0ZUFsbFZhbHVlcyBpbiBz
b21lIG9mIFhQYXRoCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVz
c2lvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3Bw
CmluZGV4IGUzN2NjZGEuLjJhMzg1MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHBy
ZXNzaW9uTm9kZS5jcHAKQEAgLTQ4LDcgKzQ4LDYgQEAgRXhwcmVzc2lvbjo6RXhwcmVzc2lvbigp
CiAKIEV4cHJlc3Npb246On5FeHByZXNzaW9uKCkKIHsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9z
dWJFeHByZXNzaW9ucyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFhQYXRoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCAxZWNlNGIzLi5kOTAxYzJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTU5LDEyICs1OSwxMiBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIH5FeHByZXNzaW9uKCk7CiAKLSAgICB2b2lkIGFkZFN1YkV4
cHJlc3Npb24oRXhwcmVzc2lvbiogZXhwcikKKyAgICB2b2lkIGFkZFN1YkV4cHJlc3Npb24oT3du
UHRyPEV4cHJlc3Npb24+IGV4cHIpCiAgICAgewotICAgICAgICBtX3N1YkV4cHJlc3Npb25zLmFw
cGVuZChleHByKTsKICAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlIHw9IGV4cHItPm1f
aXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsKICAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNp
dGl2ZSB8PSBleHByLT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOwogICAgICAgICBtX2lz
Q29udGV4dFNpemVTZW5zaXRpdmUgfD0gZXhwci0+bV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlOwor
ICAgICAgICBtX3N1YkV4cHJlc3Npb25zLmFwcGVuZChleHByLnJlbGVhc2UoKSk7CiAgICAgfQog
CiAgICAgYm9vbCBpc0NvbnRleHROb2RlU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0Nv
bnRleHROb2RlU2Vuc2l0aXZlOyB9CkBAIC04Niw3ICs4Niw3IEBAIHByb3RlY3RlZDoKICAgICBj
b25zdCBFeHByZXNzaW9uJiBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJu
ICptX3N1YkV4cHJlc3Npb25zW2ldOyB9CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPEV4cHJlc3Np
b24qPiBtX3N1YkV4cHJlc3Npb25zOworICAgIFZlY3RvcjxPd25QdHI8RXhwcmVzc2lvbj4+IG1f
c3ViRXhwcmVzc2lvbnM7CiAKICAgICAvLyBFdmFsdWF0aW9uIGRldGFpbHMgdGhhdCBjYW4gYmUg
dXNlZCBmb3Igb3B0aW1pemF0aW9uLgogICAgIGJvb2wgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAKaW5kZXggZDNjYzk5MS4uODBlNTNi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCkBAIC00Niw3ICs0Niw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoVUNoYXIgYykKIH0KIAogCi0jZGVmaW5l
IERFRklORV9GVU5DVElPTl9DUkVBVE9SKENsYXNzKSBzdGF0aWMgRnVuY3Rpb24qIGNyZWF0ZSMj
Q2xhc3MoKSB7IHJldHVybiBuZXcgQ2xhc3M7IH0KKyNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoQ2xhc3MpIHN0YXRpYyBQYXNzT3duUHRyPEZ1bmN0aW9uPiBjcmVhdGUjI0NsYXNzKCkg
eyByZXR1cm4gYWRvcHRQdHIobmV3IENsYXNzKTsgfQogCiBjbGFzcyBJbnRlcnZhbCB7CiBwdWJs
aWM6CkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3QgRnVuY3Rpb25SZWMg
ewotICAgIHR5cGVkZWYgRnVuY3Rpb24gKigqRmFjdG9yeUZuKSgpOworICAgIHR5cGVkZWYgUGFz
c093blB0cjxGdW5jdGlvbj4gKCpGYWN0b3J5Rm4pKCk7CiAgICAgRmFjdG9yeUZuIGZhY3RvcnlG
bjsKICAgICBJbnRlcnZhbCBhcmdzOwogfTsKQEAgLTI5MCw3ICsyOTAsNyBAQCBpbmxpbmUgYm9v
bCBJbnRlcnZhbDo6Y29udGFpbnMoaW50IHZhbHVlKSBjb25zdAogICAgIHJldHVybiB2YWx1ZSA+
PSBtX21pbiAmJiB2YWx1ZSA8PSBtX21heDsKIH0KIAotdm9pZCBGdW5jdGlvbjo6c2V0QXJndW1l
bnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCit2b2lkIEZ1bmN0aW9uOjpzZXRB
cmd1bWVudHMoVmVjdG9yPE93blB0cjxFeHByZXNzaW9uPj4gYXJncykKIHsKICAgICBBU1NFUlQo
IXN1YkV4cHJlc3Npb25Db3VudCgpKTsKIApAQCAtMjk4LDkgKzI5OCw5IEBAIHZvaWQgRnVuY3Rp
b246OnNldEFyZ3VtZW50cyhjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+JiBhcmdzKQogICAgIGlm
IChtX25hbWUgIT0gImxhbmciICYmICFhcmdzLmlzRW1wdHkoKSkKICAgICAgICAgc2V0SXNDb250
ZXh0Tm9kZVNlbnNpdGl2ZShmYWxzZSk7CiAKLSAgICBWZWN0b3I8RXhwcmVzc2lvbio+Ojpjb25z
dF9pdGVyYXRvciBlbmQgPSBhcmdzLmVuZCgpOwotICAgIGZvciAoVmVjdG9yPEV4cHJlc3Npb24q
Pjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBhcmdzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAg
ICAgICAgYWRkU3ViRXhwcmVzc2lvbigqaXQpOworICAgIHVuc2lnbmVkIHNpemUgPSBhcmdzLnNp
emUoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IHNpemU7ICsraSkKKyAgICAgICAg
YWRkU3ViRXhwcmVzc2lvbihzdGQ6Om1vdmUoYXJnc1tpXSkpOwogfQogCiBWYWx1ZSBGdW5MYXN0
OjpldmFsdWF0ZSgpIGNvbnN0CkBAIC03MTEsNyArNzExLDcgQEAgc3RhdGljIHZvaWQgY3JlYXRl
RnVuY3Rpb25NYXAoKQogICAgICAgICBmdW5jdGlvbk1hcC0+c2V0KGZ1bmN0aW9uc1tpXS5uYW1l
LCBmdW5jdGlvbnNbaV0uZnVuY3Rpb24pOwogfQogCi1GdW5jdGlvbiogY3JlYXRlRnVuY3Rpb24o
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+JiBhcmdzKQorc3Rh
dGljIFBhc3NPd25QdHI8RnVuY3Rpb24+IGNyZWF0ZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgbmFt
ZSwgdW5zaWduZWQgbnVtQXJndW1lbnRzKQogewogICAgIGlmICghZnVuY3Rpb25NYXApCiAgICAg
ICAgIGNyZWF0ZUZ1bmN0aW9uTWFwKCk7CkBAIC03MTksMTMgKzcxOSwyNSBAQCBGdW5jdGlvbiog
Y3JlYXRlRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lv
bio+JiBhcmdzKQogICAgIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz46Oml0ZXJhdG9yIGZ1
bmN0aW9uTWFwSXRlciA9IGZ1bmN0aW9uTWFwLT5maW5kKG5hbWUpOwogICAgIEZ1bmN0aW9uUmVj
KiBmdW5jdGlvblJlYyA9IDA7CiAKLSAgICBpZiAoZnVuY3Rpb25NYXBJdGVyID09IGZ1bmN0aW9u
TWFwLT5lbmQoKSB8fCAhKGZ1bmN0aW9uUmVjID0gJmZ1bmN0aW9uTWFwSXRlci0+dmFsdWUpLT5h
cmdzLmNvbnRhaW5zKGFyZ3Muc2l6ZSgpKSkKKyAgICBpZiAoZnVuY3Rpb25NYXBJdGVyID09IGZ1
bmN0aW9uTWFwLT5lbmQoKSB8fCAhKGZ1bmN0aW9uUmVjID0gJmZ1bmN0aW9uTWFwSXRlci0+dmFs
dWUpLT5hcmdzLmNvbnRhaW5zKG51bUFyZ3VtZW50cykpCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgRnVuY3Rpb24qIGZ1bmN0aW9uID0gZnVuY3Rpb25SZWMtPmZhY3RvcnlGbigpOwotICAgIGZ1
bmN0aW9uLT5zZXRBcmd1bWVudHMoYXJncyk7CisgICAgT3duUHRyPEZ1bmN0aW9uPiBmdW5jdGlv
biA9IGZ1bmN0aW9uUmVjLT5mYWN0b3J5Rm4oKTsKICAgICBmdW5jdGlvbi0+c2V0TmFtZShuYW1l
KTsKLSAgICByZXR1cm4gZnVuY3Rpb247CisgICAgcmV0dXJuIGZ1bmN0aW9uLnJlbGVhc2UoKTsK
K30KKworT3duUHRyPEZ1bmN0aW9uPiBjcmVhdGVGdW5jdGlvbihjb25zdCBTdHJpbmcmIG5hbWUp
Cit7CisgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uKG5hbWUsIDApOworfQorCitPd25QdHI8RnVu
Y3Rpb24+IGNyZWF0ZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgbmFtZSwgVmVjdG9yPE93blB0cjxF
eHByZXNzaW9uPj4gYXJndW1lbnRzKQoreworICAgIE93blB0cjxGdW5jdGlvbj4gZnVuY3Rpb24g
PSBjcmVhdGVGdW5jdGlvbihuYW1lLCBhcmd1bWVudHMuc2l6ZSgpKTsKKyAgICBpZiAoZnVuY3Rp
b24pCisgICAgICAgIGZ1bmN0aW9uLT5zZXRBcmd1bWVudHMoc3RkOjptb3ZlKGFyZ3VtZW50cykp
OworICAgIHJldHVybiBmdW5jdGlvbi5yZWxlYXNlKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoRnVuY3Rpb25zLmgKaW5kZXggOTYyNWM4OC4uMzg2MzJjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoRnVuY3Rpb25zLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFhQYXRoIHsKIAogY2xh
c3MgRnVuY3Rpb24gOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBzZXRB
cmd1bWVudHMoY29uc3QgVmVjdG9yPEV4cHJlc3Npb24qPiYpOworICAgIHZvaWQgc2V0QXJndW1l
bnRzKFZlY3RvcjxPd25QdHI8RXhwcmVzc2lvbj4+KTsKICAgICB2b2lkIHNldE5hbWUoY29uc3Qg
U3RyaW5nJiBuYW1lKSB7IG1fbmFtZSA9IG5hbWU7IH0KIAogcHJvdGVjdGVkOgpAQCAtNDcsNyAr
NDcsOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX25hbWU7CiB9OwogCi1GdW5jdGlvbiogY3Jl
YXRlRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+
JiBhcmdzID0gVmVjdG9yPEV4cHJlc3Npb24qPigpKTsKK093blB0cjxGdW5jdGlvbj4gY3JlYXRl
RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lKTsKK093blB0cjxGdW5jdGlvbj4gY3JlYXRlRnVu
Y3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8T3duUHRyPEV4cHJlc3Npb24+PiBhcmd1
bWVudHMpOwogCiB9IC8vIG5hbWVzcGFjZSBYUGF0aAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55IGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoR3JhbW1hci55CmluZGV4IGQ1NTgyMTEuLjc2NjQ0OTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEdyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhHcmFtbWFyLnkKQEAgLTYyLDggKzYyLDggQEAgdXNpbmcgbmFtZXNwYWNlIFhQ
YXRoOwogICAgIEVxVGVzdE9wOjpPcGNvZGUgZXFvcDsKICAgICBTdHJpbmcqIHN0cjsKICAgICBF
eHByZXNzaW9uKiBleHByOwotICAgIFZlY3RvcjxQcmVkaWNhdGUqPiogcHJlZExpc3Q7Ci0gICAg
VmVjdG9yPEV4cHJlc3Npb24qPiogYXJnTGlzdDsKKyAgICBWZWN0b3I8T3duUHRyPFByZWRpY2F0
ZT4+KiBwcmVkTGlzdDsKKyAgICBWZWN0b3I8T3duUHRyPEV4cHJlc3Npb24+PiogYXJnTGlzdDsK
ICAgICBTdGVwKiBzdGVwOwogICAgIExvY2F0aW9uUGF0aCogbG9jYXRpb25QYXRoOwogfQpAQCAt
MTQ5LDcgKzE0OSw3IEBAIEFic29sdXRlTG9jYXRpb25QYXRoOgogICAgIERlc2NlbmRhbnRPclNl
bGYgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7CiAgICAgICAgICQkID0gJDI7Ci0gICAgICAg
ICQkLT5pbnNlcnRGaXJzdFN0ZXAoJDEpOworICAgICAgICAkJC0+aW5zZXJ0Rmlyc3RTdGVwKGFk
b3B0UHRyKCQxKSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7CiAg
ICAgfQogICAgIDsKQEAgLTE1OCwyMSArMTU4LDIxIEBAIFJlbGF0aXZlTG9jYXRpb25QYXRoOgog
ICAgIFN0ZXAKICAgICB7CiAgICAgICAgICQkID0gbmV3IExvY2F0aW9uUGF0aDsKLSAgICAgICAg
JCQtPmFwcGVuZFN0ZXAoJDEpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChhZG9wdFB0cigkMSkp
OwogICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwogICAgICAgICBwYXJz
ZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgIFJlbGF0aXZlTG9j
YXRpb25QYXRoICcvJyBTdGVwCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kU3RlcCgkMyk7Cisg
ICAgICAgICQkLT5hcHBlbmRTdGVwKGFkb3B0UHRyKCQzKSk7CiAgICAgICAgIHBhcnNlci0+dW5y
ZWdpc3RlclBhcnNlTm9kZSgkMyk7CiAgICAgfQogICAgIHwKICAgICBSZWxhdGl2ZUxvY2F0aW9u
UGF0aCBEZXNjZW5kYW50T3JTZWxmIFN0ZXAKICAgICB7Ci0gICAgICAgICQkLT5hcHBlbmRTdGVw
KCQyKTsKLSAgICAgICAgJCQtPmFwcGVuZFN0ZXAoJDMpOworICAgICAgICAkJC0+YXBwZW5kU3Rl
cChhZG9wdFB0cigkMikpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChhZG9wdFB0cigkMykpOwog
ICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOwogICAgICAgICBwYXJzZXIt
PnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwogICAgIH0KQEAgLTE4MiwxMCArMTgyLDEwIEBAIFN0
ZXA6CiAgICAgTm9kZVRlc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CiAgICAgewogICAgICAgICBp
ZiAoJDIpIHsKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCAqJDEs
ICokMik7CisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgYWRvcHRQ
dHIoJDEpLCAqJDIpOwogICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3Io
JDIpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hp
bGRBeGlzLCAqJDEpOworICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMs
IGFkb3B0UHRyKCQxKSk7CiAgICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRlc3QoJDEpOwogICAg
ICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CkBAIC0yMDAsMTAgKzIw
MCwxMCBAQCBTdGVwOgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoJDIpIHsKLSAg
ICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChT
dGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgKiQyKTsK
KyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBhZG9wdFB0cihuZXcg
U3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVz
cGFjZVVSSSkpLCAqJDIpOwogICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0
b3IoJDIpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6
Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKSk7CisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNo
aWxkQXhpcywgYWRvcHRQdHIobmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1l
VGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKSk7CiAgICAgICAgIHBhcnNlci0+ZGVsZXRl
U3RyaW5nKCQxKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAg
fQpAQCAtMjExLDEwICsyMTEsMTAgQEAgU3RlcDoKICAgICBBeGlzU3BlY2lmaWVyIE5vZGVUZXN0
IE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKICAgICAgICAgaWYgKCQzKSB7Ci0gICAgICAg
ICAgICAkJCA9IG5ldyBTdGVwKCQxLCAqJDIsICokMyk7CisgICAgICAgICAgICAkJCA9IG5ldyBT
dGVwKCQxLCBhZG9wdFB0cigkMiksICokMyk7CiAgICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVBy
ZWRpY2F0ZVZlY3RvcigkMyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcg
U3RlcCgkMSwgKiQyKTsKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIGFkb3B0UHRyKCQy
KSk7CiAgICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRlc3QoJDIpOwogICAgICAgICBwYXJzZXIt
PnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CkBAIC0yMjksMTAgKzIyOSwxMCBAQCBTdGVw
OgogICAgICAgICB9CiAKICAgICAgICAgaWYgKCQzKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBT
dGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFt
ZSwgbmFtZXNwYWNlVVJJKSwgKiQzKTsKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIGFk
b3B0UHRyKG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKSksICokMyk7CiAgICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVBy
ZWRpY2F0ZVZlY3RvcigkMyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcg
U3RlcCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5h
bWUsIG5hbWVzcGFjZVVSSSkpOworICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgYWRvcHRQ
dHIobmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1l
LCBuYW1lc3BhY2VVUkkpKSk7CiAgICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQyKTsKICAg
ICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQpAQCAtMjkxLDE1ICsy
OTEsMTUgQEAgT3B0aW9uYWxQcmVkaWNhdGVMaXN0OgogUHJlZGljYXRlTGlzdDoKICAgICBQcmVk
aWNhdGUKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFZlY3RvcjxQcmVkaWNhdGUqPjsKLSAgICAg
ICAgJCQtPmFwcGVuZChuZXcgUHJlZGljYXRlKCQxKSk7CisgICAgICAgICQkID0gbmV3IFZlY3Rv
cjxPd25QdHI8UHJlZGljYXRlPj47CisgICAgICAgICQkLT5hcHBlbmQoYWRvcHRQdHIobmV3IFBy
ZWRpY2F0ZShhZG9wdFB0cigkMSkpKSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNl
Tm9kZSgkMSk7CiAgICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3IoJCQpOwog
ICAgIH0KICAgICB8CiAgICAgUHJlZGljYXRlTGlzdCBQcmVkaWNhdGUKICAgICB7Ci0gICAgICAg
ICQkLT5hcHBlbmQobmV3IFByZWRpY2F0ZSgkMikpOworICAgICAgICAkJC0+YXBwZW5kKGFkb3B0
UHRyKG5ldyBQcmVkaWNhdGUoYWRvcHRQdHIoJDIpKSkpOwogICAgICAgICBwYXJzZXItPnVucmVn
aXN0ZXJQYXJzZU5vZGUoJDIpOwogICAgIH0KICAgICA7CkBAIC0zMTQsNyArMzE0LDcgQEAgUHJl
ZGljYXRlOgogRGVzY2VuZGFudE9yU2VsZjoKICAgICBTTEFTSFNMQVNICiAgICAgewotICAgICAg
ICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlzLCBTdGVwOjpOb2RlVGVz
dChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcChT
dGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcywgYWRvcHRQdHIobmV3IFN0ZXA6Ok5vZGVUZXN0KFN0
ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCkpKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CiAgICAgfQogICAgIDsKQEAgLTMyMiwxMyArMzIyLDEzIEBAIERlc2NlbmRh
bnRPclNlbGY6CiBBYmJyZXZpYXRlZFN0ZXA6CiAgICAgJy4nCiAgICAgewotICAgICAgICAkJCA9
IG5ldyBTdGVwKFN0ZXA6OlNlbGZBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6
QW55Tm9kZVRlc3QpKTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpTZWxmQXhpcywgYWRv
cHRQdHIobmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCkpKTsK
ICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAg
ICBET1RET1QKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6UGFyZW50QXhpcywg
U3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0KSk7CisgICAgICAgICQk
ID0gbmV3IFN0ZXAoU3RlcDo6UGFyZW50QXhpcywgYWRvcHRQdHIobmV3IFN0ZXA6Ok5vZGVUZXN0
KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCkpKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3Rl
clBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIDsKQEAgLTM2Niw3ICszNjYsNyBAQCBQcmltYXJ5
RXhwcjoKIEZ1bmN0aW9uQ2FsbDoKICAgICBGVU5DVElPTk5BTUUgJygnICcpJwogICAgIHsKLSAg
ICAgICAgJCQgPSBjcmVhdGVGdW5jdGlvbigqJDEpOworICAgICAgICAkJCA9IGNyZWF0ZUZ1bmN0
aW9uKCokMSkubGVha1B0cigpOwogICAgICAgICBpZiAoISQkKQogICAgICAgICAgICAgWVlBQk9S
VDsKICAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwpAQCAtMzc1LDcgKzM3NSw3IEBA
IEZ1bmN0aW9uQ2FsbDoKICAgICB8CiAgICAgRlVOQ1RJT05OQU1FICcoJyBBcmd1bWVudExpc3Qg
JyknCiAgICAgewotICAgICAgICAkJCA9IGNyZWF0ZUZ1bmN0aW9uKCokMSwgKiQzKTsKKyAgICAg
ICAgJCQgPSBjcmVhdGVGdW5jdGlvbigqJDEsIHN0ZDo6bW92ZSgqJDMpKS5sZWFrUHRyKCk7CiAg
ICAgICAgIGlmICghJCQpCiAgICAgICAgICAgICBZWUFCT1JUOwogICAgICAgICBwYXJzZXItPmRl
bGV0ZVN0cmluZygkMSk7CkBAIC0zODcsMTUgKzM4NywxNSBAQCBGdW5jdGlvbkNhbGw6CiBBcmd1
bWVudExpc3Q6CiAgICAgQXJndW1lbnQKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFZlY3RvcjxF
eHByZXNzaW9uKj47Ci0gICAgICAgICQkLT5hcHBlbmQoJDEpOworICAgICAgICAkJCA9IG5ldyBW
ZWN0b3I8T3duUHRyPEV4cHJlc3Npb24+PjsKKyAgICAgICAgJCQtPmFwcGVuZChhZG9wdFB0cigk
MSkpOwogICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwogICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyRXhwcmVzc2lvblZlY3RvcigkJCk7CiAgICAgfQogICAgIHwKICAgICBB
cmd1bWVudExpc3QgJywnIEFyZ3VtZW50CiAgICAgewotICAgICAgICAkJC0+YXBwZW5kKCQzKTsK
KyAgICAgICAgJCQtPmFwcGVuZChhZG9wdFB0cigkMykpOwogICAgICAgICBwYXJzZXItPnVucmVn
aXN0ZXJQYXJzZU5vZGUoJDMpOwogICAgIH0KICAgICA7CkBAIC00MTAsOCArNDEwLDggQEAgVW5p
b25FeHByOgogICAgIFVuaW9uRXhwciAnfCcgUGF0aEV4cHIKICAgICB7CiAgICAgICAgICQkID0g
bmV3IFVuaW9uOwotICAgICAgICAkJC0+YWRkU3ViRXhwcmVzc2lvbigkMSk7Ci0gICAgICAgICQk
LT5hZGRTdWJFeHByZXNzaW9uKCQzKTsKKyAgICAgICAgJCQtPmFkZFN1YkV4cHJlc3Npb24oYWRv
cHRQdHIoJDEpKTsKKyAgICAgICAgJCQtPmFkZFN1YkV4cHJlc3Npb24oYWRvcHRQdHIoJDMpKTsK
ICAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKICAgICAgICAgcGFyc2Vy
LT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNl
Tm9kZSgkJCk7CkBAIC00MjksNyArNDI5LDcgQEAgUGF0aEV4cHI6CiAgICAgRmlsdGVyRXhwciAn
LycgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7CiAgICAgICAgICQzLT5zZXRBYnNvbHV0ZSh0
cnVlKTsKLSAgICAgICAgJCQgPSBuZXcgUGF0aChzdGF0aWNfY2FzdDxGaWx0ZXIqPigkMSksICQz
KTsKKyAgICAgICAgJCQgPSBuZXcgUGF0aChhZG9wdFB0cihzdGF0aWNfY2FzdDxGaWx0ZXIqPigk
MSkpLCBhZG9wdFB0cigkMykpOwogICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUo
JDEpOwogICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwogICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKQEAgLTQzNyw5ICs0MzcsOSBAQCBQYXRoRXhw
cjoKICAgICB8CiAgICAgRmlsdGVyRXhwciBEZXNjZW5kYW50T3JTZWxmIFJlbGF0aXZlTG9jYXRp
b25QYXRoCiAgICAgewotICAgICAgICAkMy0+aW5zZXJ0Rmlyc3RTdGVwKCQyKTsKKyAgICAgICAg
JDMtPmluc2VydEZpcnN0U3RlcChhZG9wdFB0cigkMikpOwogICAgICAgICAkMy0+c2V0QWJzb2x1
dGUodHJ1ZSk7Ci0gICAgICAgICQkID0gbmV3IFBhdGgoc3RhdGljX2Nhc3Q8RmlsdGVyKj4oJDEp
LCAkMyk7CisgICAgICAgICQkID0gbmV3IFBhdGgoYWRvcHRQdHIoc3RhdGljX2Nhc3Q8RmlsdGVy
Kj4oJDEpKSwgYWRvcHRQdHIoJDMpKTsKICAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VO
b2RlKCQxKTsKICAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQyKTsKICAgICAg
ICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKQEAgLTQ1Miw3ICs0NTIsNyBAQCBG
aWx0ZXJFeHByOgogICAgIHwKICAgICBQcmltYXJ5RXhwciBQcmVkaWNhdGVMaXN0CiAgICAgewot
ICAgICAgICAkJCA9IG5ldyBGaWx0ZXIoJDEsICokMik7CisgICAgICAgICQkID0gbmV3IEZpbHRl
cihhZG9wdFB0cigkMSksICokMik7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9k
ZSgkMSk7CiAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQyKTsKICAgICAg
ICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CkBAIC00NjQsNyArNDY0LDcgQEAgT3JF
eHByOgogICAgIHwKICAgICBPckV4cHIgT1IgQW5kRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBu
ZXcgTG9naWNhbE9wKExvZ2ljYWxPcDo6T1BfT3IsICQxLCAkMyk7CisgICAgICAgICQkID0gbmV3
IExvZ2ljYWxPcChMb2dpY2FsT3A6Ok9QX09yLCBhZG9wdFB0cigkMSksIGFkb3B0UHRyKCQzKSk7
CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7CiAgICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CiAgICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJz
ZU5vZGUoJCQpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIEFuZEV4cHI6CiAgICAgfAogICAgIEFuZEV4
cHIgQU5EIEVxdWFsaXR5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTG9naWNhbE9wKExv
Z2ljYWxPcDo6T1BfQW5kLCAkMSwgJDMpOworICAgICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9n
aWNhbE9wOjpPUF9BbmQsIGFkb3B0UHRyKCQxKSwgYWRvcHRQdHIoJDMpKTsKICAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKICAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVy
UGFyc2VOb2RlKCQzKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CkBA
IC00ODgsNyArNDg4LDcgQEAgRXF1YWxpdHlFeHByOgogICAgIHwKICAgICBFcXVhbGl0eUV4cHIg
RVFPUCBSZWxhdGlvbmFsRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIs
ICQxLCAkMyk7CisgICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCBhZG9wdFB0cigkMSksIGFk
b3B0UHRyKCQzKSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7CiAg
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CiAgICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwpAQCAtNTAwLDcgKzUwMCw3IEBAIFJlbGF0aW9uYWxFeHBy
OgogICAgIHwKICAgICBSZWxhdGlvbmFsRXhwciBSRUxPUCBBZGRpdGl2ZUV4cHIKICAgICB7Ci0g
ICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCAkMSwgJDMpOworICAgICAgICAkJCA9IG5ldyBF
cVRlc3RPcCgkMiwgYWRvcHRQdHIoJDEpLCBhZG9wdFB0cigkMykpOwogICAgICAgICBwYXJzZXIt
PnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwogICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJz
ZU5vZGUoJDMpOwogICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKQEAgLTUx
Miw3ICs1MTIsNyBAQCBBZGRpdGl2ZUV4cHI6CiAgICAgfAogICAgIEFkZGl0aXZlRXhwciBQTFVT
IE11bHRpcGxpY2F0aXZlRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTnVtZXJpY09wKE51
bWVyaWNPcDo6T1BfQWRkLCAkMSwgJDMpOworICAgICAgICAkJCA9IG5ldyBOdW1lcmljT3AoTnVt
ZXJpY09wOjpPUF9BZGQsIGFkb3B0UHRyKCQxKSwgYWRvcHRQdHIoJDMpKTsKICAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKICAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVy
UGFyc2VOb2RlKCQzKTsKICAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CkBA
IC01MjAsNyArNTIwLDcgQEAgQWRkaXRpdmVFeHByOgogICAgIHwKICAgICBBZGRpdGl2ZUV4cHIg
TUlOVVMgTXVsdGlwbGljYXRpdmVFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBOdW1lcmlj
T3AoTnVtZXJpY09wOjpPUF9TdWIsICQxLCAkMyk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNP
cChOdW1lcmljT3A6Ok9QX1N1YiwgYWRvcHRQdHIoJDEpLCBhZG9wdFB0cigkMykpOwogICAgICAg
ICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwogICAgICAgICBwYXJzZXItPnVucmVn
aXN0ZXJQYXJzZU5vZGUoJDMpOwogICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQk
KTsKQEAgLTUzMiw3ICs1MzIsNyBAQCBNdWx0aXBsaWNhdGl2ZUV4cHI6CiAgICAgfAogICAgIE11
bHRpcGxpY2F0aXZlRXhwciBNVUxPUCBVbmFyeUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3
IE51bWVyaWNPcCgkMiwgJDEsICQzKTsKKyAgICAgICAgJCQgPSBuZXcgTnVtZXJpY09wKCQyLCBh
ZG9wdFB0cigkMSksIGFkb3B0UHRyKCQzKSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CiAg
ICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwpAQCAtNTQ1LDcgKzU0NSw3IEBA
IFVuYXJ5RXhwcjoKICAgICBNSU5VUyBVbmFyeUV4cHIKICAgICB7CiAgICAgICAgICQkID0gbmV3
IE5lZ2F0aXZlOwotICAgICAgICAkJC0+YWRkU3ViRXhwcmVzc2lvbigkMik7CisgICAgICAgICQk
LT5hZGRTdWJFeHByZXNzaW9uKGFkb3B0UHRyKCQyKSk7CiAgICAgICAgIHBhcnNlci0+dW5yZWdp
c3RlclBhcnNlTm9kZSgkMik7CiAgICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuY3BwCmluZGV4IDc0OTE4MGQuLjJkNzk4
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmNwcApAQCAtNDc5LDE4ICs0NzksMTAgQEAg
RXhwcmVzc2lvbiogUGFyc2VyOjpwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVu
dCwgUGFzc1JlZlB0cjxYUGF0aE5TUmUKICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGFyc2VO
b2Rlcyk7CiAgICAgICAgIG1fcGFyc2VOb2Rlcy5jbGVhcigpOwogCi0gICAgICAgIEhhc2hTZXQ8
VmVjdG9yPFByZWRpY2F0ZSo+Kj46Oml0ZXJhdG9yIHBlbmQgPSBtX3ByZWRpY2F0ZVZlY3RvcnMu
ZW5kKCk7Ci0gICAgICAgIGZvciAoSGFzaFNldDxWZWN0b3I8UHJlZGljYXRlKj4qPjo6aXRlcmF0
b3IgaXQgPSBtX3ByZWRpY2F0ZVZlY3RvcnMuYmVnaW4oKTsgaXQgIT0gcGVuZDsgKytpdCkgewot
ICAgICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKCoqaXQpOwotICAgICAgICAgICAgZGVsZXRlICpp
dDsKLSAgICAgICAgfQorICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9wcmVkaWNhdGVWZWN0b3Jz
KTsKICAgICAgICAgbV9wcmVkaWNhdGVWZWN0b3JzLmNsZWFyKCk7CiAKLSAgICAgICAgSGFzaFNl
dDxWZWN0b3I8RXhwcmVzc2lvbio+Kj46Oml0ZXJhdG9yIGVlbmQgPSBtX2V4cHJlc3Npb25WZWN0
b3JzLmVuZCgpOwotICAgICAgICBmb3IgKEhhc2hTZXQ8VmVjdG9yPEV4cHJlc3Npb24qPio+Ojpp
dGVyYXRvciBpdCA9IG1fZXhwcmVzc2lvblZlY3RvcnMuYmVnaW4oKTsgaXQgIT0gZWVuZDsgKytp
dCkgewotICAgICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKCoqaXQpOwotICAgICAgICAgICAgZGVs
ZXRlICppdDsKLSAgICAgICAgfQorICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9leHByZXNzaW9u
VmVjdG9ycyk7CiAgICAgICAgIG1fZXhwcmVzc2lvblZlY3RvcnMuY2xlYXIoKTsKIAogICAgICAg
ICBkZWxldGVBbGxWYWx1ZXMobV9zdHJpbmdzKTsKQEAgLTU0Miw3ICs1MzQsNyBAQCB2b2lkIFBh
cnNlcjo6dW5yZWdpc3RlclBhcnNlTm9kZShQYXJzZU5vZGUqIG5vZGUpCiAgICAgbV9wYXJzZU5v
ZGVzLnJlbW92ZShub2RlKTsKIH0KIAotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyUHJlZGljYXRlVmVj
dG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9yKQordm9pZCBQYXJzZXI6OnJlZ2lzdGVyUHJl
ZGljYXRlVmVjdG9yKFZlY3RvcjxPd25QdHI8UHJlZGljYXRlPj4qIHZlY3RvcikKIHsKICAgICBp
ZiAodmVjdG9yID09IDApCiAgICAgICAgIHJldHVybjsKQEAgLTU1Miw3ICs1NDQsNyBAQCB2b2lk
IFBhcnNlcjo6cmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3IoVmVjdG9yPFByZWRpY2F0ZSo+KiB2ZWN0
b3IpCiAgICAgbV9wcmVkaWNhdGVWZWN0b3JzLmFkZCh2ZWN0b3IpOwogfQogCi12b2lkIFBhcnNl
cjo6ZGVsZXRlUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9yKQordm9p
ZCBQYXJzZXI6OmRlbGV0ZVByZWRpY2F0ZVZlY3RvcihWZWN0b3I8T3duUHRyPFByZWRpY2F0ZT4+
KiB2ZWN0b3IpCiB7CiAgICAgaWYgKHZlY3RvciA9PSAwKQogICAgICAgICByZXR1cm47CkBAIC01
NjQsNyArNTU2LDcgQEAgdm9pZCBQYXJzZXI6OmRlbGV0ZVByZWRpY2F0ZVZlY3RvcihWZWN0b3I8
UHJlZGljYXRlKj4qIHZlY3RvcikKIH0KIAogCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJFeHByZXNz
aW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qIHZlY3RvcikKK3ZvaWQgUGFyc2VyOjpyZWdp
c3RlckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPE93blB0cjxFeHByZXNzaW9uPj4qIHZlY3RvcikK
IHsKICAgICBpZiAodmVjdG9yID09IDApCiAgICAgICAgIHJldHVybjsKQEAgLTU3NCw3ICs1NjYs
NyBAQCB2b2lkIFBhcnNlcjo6cmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNz
aW9uKj4qIHZlY3RvcikKICAgICBtX2V4cHJlc3Npb25WZWN0b3JzLmFkZCh2ZWN0b3IpOyAgICAK
IH0KIAotdm9pZCBQYXJzZXI6OmRlbGV0ZUV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Np
b24qPiogdmVjdG9yKQordm9pZCBQYXJzZXI6OmRlbGV0ZUV4cHJlc3Npb25WZWN0b3IoVmVjdG9y
PE93blB0cjxFeHByZXNzaW9uPj4qIHZlY3RvcikKIHsKICAgICBpZiAodmVjdG9yID09IDApCiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNl
ci5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggZTU4YzQ0NC4uNTcw
ODIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTc3LDExICs3NywxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNl
Tm9kZSopOwogICAgICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSop
OwogCi0gICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVk
aWNhdGUqPiopOwotICAgICAgICAgICAgdm9pZCBkZWxldGVQcmVkaWNhdGVWZWN0b3IoVmVjdG9y
PFByZWRpY2F0ZSo+Kik7CisgICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUHJlZGljYXRlVmVjdG9y
KFZlY3RvcjxPd25QdHI8UHJlZGljYXRlPj4qKTsKKyAgICAgICAgICAgIHZvaWQgZGVsZXRlUHJl
ZGljYXRlVmVjdG9yKFZlY3RvcjxPd25QdHI8UHJlZGljYXRlPj4qKTsKIAotICAgICAgICAgICAg
dm9pZCByZWdpc3RlckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Npb24qPiopOwotICAg
ICAgICAgICAgdm9pZCBkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4q
KTsKKyAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxPd25Q
dHI8RXhwcmVzc2lvbj4+Kik7CisgICAgICAgICAgICB2b2lkIGRlbGV0ZUV4cHJlc3Npb25WZWN0
b3IoVmVjdG9yPE93blB0cjxFeHByZXNzaW9uPj4qKTsKIAogICAgICAgICAgICAgdm9pZCByZWdp
c3RlclN0cmluZyhTdHJpbmcqKTsKICAgICAgICAgICAgIHZvaWQgZGVsZXRlU3RyaW5nKFN0cmlu
ZyopOwpAQCAtMTE3LDggKzExNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAg
IFJlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+IG1fcmVzb2x2ZXI7CiAKICAgICAgICAgICAgIEhhc2hT
ZXQ8UGFyc2VOb2RlKj4gbV9wYXJzZU5vZGVzOwotICAgICAgICAgICAgSGFzaFNldDxWZWN0b3I8
UHJlZGljYXRlKj4qPiBtX3ByZWRpY2F0ZVZlY3RvcnM7Ci0gICAgICAgICAgICBIYXNoU2V0PFZl
Y3RvcjxFeHByZXNzaW9uKj4qPiBtX2V4cHJlc3Npb25WZWN0b3JzOworICAgICAgICAgICAgSGFz
aFNldDxWZWN0b3I8T3duUHRyPFByZWRpY2F0ZT4+Kj4gbV9wcmVkaWNhdGVWZWN0b3JzOworICAg
ICAgICAgICAgSGFzaFNldDxWZWN0b3I8T3duUHRyPEV4cHJlc3Npb24+Pio+IG1fZXhwcmVzc2lv
blZlY3RvcnM7CiAgICAgICAgICAgICBIYXNoU2V0PFN0cmluZyo+IG1fc3RyaW5nczsKICAgICAg
ICAgICAgIEhhc2hTZXQ8U3RlcDo6Tm9kZVRlc3QqPiBtX25vZGVUZXN0czsKICAgICAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoUGF0aC5jcHAKaW5kZXggYmM4YTYzYS4uZWRlZjlkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoUGF0aC5jcHAKQEAgLTM1LDE5ICszNSwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBuYW1lc3BhY2UgWFBhdGggewotICAgICAgICAKLUZpbHRlcjo6RmlsdGVyKEV4cHJlc3Np
b24qIGV4cHIsIGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgcHJlZGljYXRlcykKLSAgICA6IG1f
ZXhwcihleHByKSwgbV9wcmVkaWNhdGVzKHByZWRpY2F0ZXMpCisKK3ZvaWQgRmlsdGVyOjpwcm9w
YWdhdGVDb250ZXh0KCkKIHsKICAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKG1fZXhwci0+
aXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSgpKTsKICAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNp
dGl2ZShtX2V4cHItPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOwogICAgIHNldElzQ29u
dGV4dFNpemVTZW5zaXRpdmUobV9leHByLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOwogfQog
CitGaWx0ZXI6OkZpbHRlcihQYXNzT3duUHRyPEV4cHJlc3Npb24+IGV4cHIpCisgICAgOiBtX2V4
cHIoZXhwcikKK3sKKyAgICBwcm9wYWdhdGVDb250ZXh0KCk7Cit9CisKK0ZpbHRlcjo6RmlsdGVy
KFBhc3NPd25QdHI8RXhwcmVzc2lvbj4gZXhwciwgVmVjdG9yPE93blB0cjxQcmVkaWNhdGU+PiYg
cHJlZGljYXRlcykKKyAgICA6IG1fZXhwcihleHByKQoreworICAgIG1fcHJlZGljYXRlcy5zd2Fw
KHByZWRpY2F0ZXMpOworICAgIHByb3BhZ2F0ZUNvbnRleHQoKTsKK30KKwogRmlsdGVyOjp+Rmls
dGVyKCkKIHsKLSAgICBkZWxldGUgbV9leHByOwotICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3ByZWRp
Y2F0ZXMpOwogfQogCiBWYWx1ZSBGaWx0ZXI6OmV2YWx1YXRlKCkgY29uc3QKQEAgLTg2LDcgKzk2
LDYgQEAgTG9jYXRpb25QYXRoOjpMb2NhdGlvblBhdGgoKQogCiBMb2NhdGlvblBhdGg6On5Mb2Nh
dGlvblBhdGgoKQogewotICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3N0ZXBzKTsKIH0KIAogVmFsdWUg
TG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CkBAIC0xMjIsNyArMTMxLDcgQEAgdm9pZCBM
b2NhdGlvblBhdGg6OmV2YWx1YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIGJvb2wgcmVz
dWx0SXNTb3J0ZWQgPSBub2Rlcy5pc1NvcnRlZCgpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fc3RlcHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgU3RlcCogc3RlcCA9IG1fc3Rl
cHNbaV07CisgICAgICAgIFN0ZXAqIHN0ZXAgPSBtX3N0ZXBzW2ldLmdldCgpOwogICAgICAgICBO
b2RlU2V0IG5ld05vZGVzOwogICAgICAgICBIYXNoU2V0PE5vZGUqPiBuZXdOb2Rlc1NldDsKIApA
QCAtMTU2LDI4ICsxNjUsMjUgQEAgdm9pZCBMb2NhdGlvblBhdGg6OmV2YWx1YXRlKE5vZGVTZXQm
IG5vZGVzKSBjb25zdAogICAgIG5vZGVzLm1hcmtTb3J0ZWQocmVzdWx0SXNTb3J0ZWQpOwogfQog
Ci12b2lkIExvY2F0aW9uUGF0aDo6YXBwZW5kU3RlcChTdGVwKiBzdGVwKQordm9pZCBMb2NhdGlv
blBhdGg6OmFwcGVuZFN0ZXAoUGFzc093blB0cjxTdGVwPiBzdGVwKQogewogICAgIHVuc2lnbmVk
IHN0ZXBDb3VudCA9IG1fc3RlcHMuc2l6ZSgpOwogICAgIGlmIChzdGVwQ291bnQpIHsKICAgICAg
ICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0aW1pemVTdGVwUGFpcihtX3N0ZXBz
W3N0ZXBDb3VudCAtIDFdLCBzdGVwLCBkcm9wU2Vjb25kU3RlcCk7Ci0gICAgICAgIGlmIChkcm9w
U2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIHN0ZXA7CisgICAgICAgIG9wdGltaXpl
U3RlcFBhaXIobV9zdGVwc1tzdGVwQ291bnQgLSAxXS5nZXQoKSwgc3RlcC5nZXQoKSwgZHJvcFNl
Y29uZFN0ZXApOworICAgICAgICBpZiAoZHJvcFNlY29uZFN0ZXApCiAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KICAgICB9CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKICAgICBtX3N0ZXBz
LmFwcGVuZChzdGVwKTsKIH0KIAotdm9pZCBMb2NhdGlvblBhdGg6Omluc2VydEZpcnN0U3RlcChT
dGVwKiBzdGVwKQordm9pZCBMb2NhdGlvblBhdGg6Omluc2VydEZpcnN0U3RlcChQYXNzT3duUHRy
PFN0ZXA+IHN0ZXApCiB7CiAgICAgaWYgKG1fc3RlcHMuc2l6ZSgpKSB7CiAgICAgICAgIGJvb2wg
ZHJvcFNlY29uZFN0ZXA7Ci0gICAgICAgIG9wdGltaXplU3RlcFBhaXIoc3RlcCwgbV9zdGVwc1sw
XSwgZHJvcFNlY29uZFN0ZXApOworICAgICAgICBvcHRpbWl6ZVN0ZXBQYWlyKHN0ZXAuZ2V0KCks
IG1fc3RlcHNbMF0uZ2V0KCksIGRyb3BTZWNvbmRTdGVwKTsKICAgICAgICAgaWYgKGRyb3BTZWNv
bmRTdGVwKSB7Ci0gICAgICAgICAgICBkZWxldGUgbV9zdGVwc1swXTsKICAgICAgICAgICAgIG1f
c3RlcHNbMF0gPSBzdGVwOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xODYs
NyArMTkyLDcgQEAgdm9pZCBMb2NhdGlvblBhdGg6Omluc2VydEZpcnN0U3RlcChTdGVwKiBzdGVw
KQogICAgIG1fc3RlcHMuaW5zZXJ0KDAsIHN0ZXApOwogfQogCi1QYXRoOjpQYXRoKEZpbHRlciog
ZmlsdGVyLCBMb2NhdGlvblBhdGgqIHBhdGgpCitQYXRoOjpQYXRoKFBhc3NPd25QdHI8RmlsdGVy
PiBmaWx0ZXIsIFBhc3NPd25QdHI8TG9jYXRpb25QYXRoPiBwYXRoKQogICAgIDogbV9maWx0ZXIo
ZmlsdGVyKQogICAgICwgbV9wYXRoKHBhdGgpCiB7CkBAIC0xOTcsOCArMjAzLDYgQEAgUGF0aDo6
UGF0aChGaWx0ZXIqIGZpbHRlciwgTG9jYXRpb25QYXRoKiBwYXRoKQogCiBQYXRoOjp+UGF0aCgp
CiB7Ci0gICAgZGVsZXRlIG1fZmlsdGVyOwotICAgIGRlbGV0ZSBtX3BhdGg7CiB9CiAKIFZhbHVl
IFBhdGg6OmV2YWx1YXRlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguaAppbmRleCBiMWE1N2Ni
Li4wOTliYzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0aC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBjbGFzcyBGaWx0ZXIgOiBwdWJsaWMgRXhwcmVzc2lv
biB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIEZpbHRlcihFeHByZXNzaW9uKiwgY29u
c3QgVmVjdG9yPFByZWRpY2F0ZSo+JiA9IFZlY3RvcjxQcmVkaWNhdGUqPigpKTsKKyAgICAgICAg
ICAgIEZpbHRlcihQYXNzT3duUHRyPEV4cHJlc3Npb24+KTsKKyAgICAgICAgICAgIEZpbHRlcihQ
YXNzT3duUHRyPEV4cHJlc3Npb24+LCBWZWN0b3I8T3duUHRyPFByZWRpY2F0ZT4+Jik7CiAgICAg
ICAgICAgICB2aXJ0dWFsIH5GaWx0ZXIoKTsKIAogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBl
dmFsdWF0ZSgpIGNvbnN0OwpAQCAtNDcsOCArNDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0gICAgICAgICAg
ICBFeHByZXNzaW9uKiBtX2V4cHI7Ci0gICAgICAgICAgICBWZWN0b3I8UHJlZGljYXRlKj4gbV9w
cmVkaWNhdGVzOworICAgICAgICAgICAgdm9pZCBwcm9wYWdhdGVDb250ZXh0KCk7CisKKyAgICAg
ICAgICAgIE93blB0cjxFeHByZXNzaW9uPiBtX2V4cHI7CisgICAgICAgICAgICBWZWN0b3I8T3du
UHRyPFByZWRpY2F0ZT4+IG1fcHJlZGljYXRlczsKICAgICAgICAgfTsKIAogICAgICAgICBjbGFz
cyBMb2NhdGlvblBhdGggOiBwdWJsaWMgRXhwcmVzc2lvbiB7CkBAIC02MCwxOSArNjMsMTkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwogICAgICAgICAgICAgdm9pZCBldmFsdWF0ZShOb2RlU2V0JiBub2RlcykgY29uc3Q7
IC8vIG5vZGVzIGlzIGFuIGlucHV0L291dHB1dCBwYXJhbWV0ZXIKIAotICAgICAgICAgICAgdm9p
ZCBhcHBlbmRTdGVwKFN0ZXAqIHN0ZXApOwotICAgICAgICAgICAgdm9pZCBpbnNlcnRGaXJzdFN0
ZXAoU3RlcCogc3RlcCk7CisgICAgICAgICAgICB2b2lkIGFwcGVuZFN0ZXAoUGFzc093blB0cjxT
dGVwPik7CisgICAgICAgICAgICB2b2lkIGluc2VydEZpcnN0U3RlcChQYXNzT3duUHRyPFN0ZXA+
KTsKIAogICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSBy
ZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0gICAg
ICAgICAgICBWZWN0b3I8U3RlcCo+IG1fc3RlcHM7CisgICAgICAgICAgICBWZWN0b3I8T3duUHRy
PFN0ZXA+PiBtX3N0ZXBzOwogICAgICAgICAgICAgYm9vbCBtX2Fic29sdXRlOwogICAgICAgICB9
OwogCiAgICAgICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1
YmxpYzoKLSAgICAgICAgICAgIFBhdGgoRmlsdGVyKiwgTG9jYXRpb25QYXRoKik7CisgICAgICAg
ICAgICBQYXRoKFBhc3NPd25QdHI8RmlsdGVyPiwgUGFzc093blB0cjxMb2NhdGlvblBhdGg+KTsK
ICAgICAgICAgICAgIHZpcnR1YWwgflBhdGgoKTsKIAogICAgICAgICAgICAgdmlydHVhbCBWYWx1
ZSBldmFsdWF0ZSgpIGNvbnN0OwpAQCAtODAsOCArODMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHByaXZhdGU6CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAKLSAgICAgICAg
ICAgIEZpbHRlciogbV9maWx0ZXI7Ci0gICAgICAgICAgICBMb2NhdGlvblBhdGgqIG1fcGF0aDsK
KyAgICAgICAgICAgIE93blB0cjxGaWx0ZXI+IG1fZmlsdGVyOworICAgICAgICAgICAgT3duUHRy
PExvY2F0aW9uUGF0aD4gbV9wYXRoOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFByZWRpY2F0ZS5jcHAKaW5kZXggYmM4YTFjMy4uMjJiOTZhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwCkBAIC02NCwxMSArNjQsMTEgQEAgVmFsdWUgTmVnYXRp
dmU6OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4gLXAudG9OdW1iZXIoKTsKIH0KIAotTnVt
ZXJpY09wOjpOdW1lcmljT3AoT3Bjb2RlIG9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNz
aW9uKiByaHMpCitOdW1lcmljT3A6Ok51bWVyaWNPcChPcGNvZGUgb3Bjb2RlLCBPd25QdHI8RXhw
cmVzc2lvbj4gbGhzLCBPd25QdHI8RXhwcmVzc2lvbj4gcmhzKQogICAgIDogbV9vcGNvZGUob3Bj
b2RlKQogewotICAgIGFkZFN1YkV4cHJlc3Npb24obGhzKTsKLSAgICBhZGRTdWJFeHByZXNzaW9u
KHJocyk7CisgICAgYWRkU3ViRXhwcmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRkU3Vi
RXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7CiB9CiAKIFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVh
dGUoKSBjb25zdApAQCAtOTUsMTEgKzk1LDExIEBAIFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVhdGUo
KSBjb25zdAogICAgIHJldHVybiAwLjA7CiB9CiAKLUVxVGVzdE9wOjpFcVRlc3RPcChPcGNvZGUg
b3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMsIEV4cHJlc3Npb24qIHJocykKK0VxVGVzdE9wOjpFcVRl
c3RPcChPcGNvZGUgb3Bjb2RlLCBPd25QdHI8RXhwcmVzc2lvbj4gbGhzLCBPd25QdHI8RXhwcmVz
c2lvbj4gcmhzKQogICAgIDogbV9vcGNvZGUob3Bjb2RlKQogewotICAgIGFkZFN1YkV4cHJlc3Np
b24obGhzKTsKLSAgICBhZGRTdWJFeHByZXNzaW9uKHJocyk7CisgICAgYWRkU3ViRXhwcmVzc2lv
bihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRkU3ViRXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7
CiB9CiAKIGJvb2wgRXFUZXN0T3A6OmNvbXBhcmUoY29uc3QgVmFsdWUmIGxocywgY29uc3QgVmFs
dWUmIHJocykgY29uc3QKQEAgLTE5OCwxMSArMTk4LDExIEBAIFZhbHVlIEVxVGVzdE9wOjpldmFs
dWF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGNvbXBhcmUobGhzLCByaHMpOwogfQogCi1Mb2dpY2Fs
T3A6OkxvZ2ljYWxPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMsIEV4cHJlc3Npb24q
IHJocykKK0xvZ2ljYWxPcDo6TG9naWNhbE9wKE9wY29kZSBvcGNvZGUsIE93blB0cjxFeHByZXNz
aW9uPiBsaHMsIE93blB0cjxFeHByZXNzaW9uPiByaHMpCiAgICAgOiBtX29wY29kZShvcGNvZGUp
CiB7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihsaHMpOwotICAgIGFkZFN1YkV4cHJlc3Npb24ocmhz
KTsKKyAgICBhZGRTdWJFeHByZXNzaW9uKHN0ZDo6bW92ZShsaHMpKTsKKyAgICBhZGRTdWJFeHBy
ZXNzaW9uKHN0ZDo6bW92ZShyaHMpKTsKIH0KIAogYm9vbCBMb2dpY2FsT3A6OnNob3J0Q2lyY3Vp
dE9uKCkgY29uc3QKQEAgLTI1MCwxNCArMjUwLDEzIEBAIFZhbHVlIFVuaW9uOjpldmFsdWF0ZSgp
IGNvbnN0CiAgICAgcmV0dXJuIGxoc1Jlc3VsdDsKIH0KIAotUHJlZGljYXRlOjpQcmVkaWNhdGUo
RXhwcmVzc2lvbiogZXhwcikKLSAgICA6IG1fZXhwcihleHByKQorUHJlZGljYXRlOjpQcmVkaWNh
dGUoT3duUHRyPEV4cHJlc3Npb24+IGV4cHIpCisgICAgOiBtX2V4cHIoc3RkOjptb3ZlKGV4cHIp
KQogewogfQogCiBQcmVkaWNhdGU6On5QcmVkaWNhdGUoKQogewotICAgIGRlbGV0ZSBtX2V4cHI7
CiB9CiAKIGJvb2wgUHJlZGljYXRlOjpldmFsdWF0ZSgpIGNvbnN0CkBAIC0yNjgsNyArMjY3LDcg
QEAgYm9vbCBQcmVkaWNhdGU6OmV2YWx1YXRlKCkgY29uc3QKIAogICAgIC8vIGZvb1szXSBtZWFu
cyBmb29bcG9zaXRpb24oKT0zXQogICAgIGlmIChyZXN1bHQuaXNOdW1iZXIoKSkKLSAgICAgICAg
cmV0dXJuIEVxVGVzdE9wKEVxVGVzdE9wOjpPUF9FUSwgY3JlYXRlRnVuY3Rpb24oInBvc2l0aW9u
IiksIG5ldyBOdW1iZXIocmVzdWx0LnRvTnVtYmVyKCkpKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigp
OworICAgICAgICByZXR1cm4gRXFUZXN0T3AoRXFUZXN0T3A6Ok9QX0VRLCBjcmVhdGVGdW5jdGlv
bigicG9zaXRpb24iKSwgYWRvcHRQdHIobmV3IE51bWJlcihyZXN1bHQudG9OdW1iZXIoKSkpKS5l
dmFsdWF0ZSgpLnRvQm9vbGVhbigpOwogCiAgICAgcmV0dXJuIHJlc3VsdC50b0Jvb2xlYW4oKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggMDEzY2NkYS4uYzZjYjA4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTY1LDcgKzY1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgZW51bSBPcGNvZGUgewogICAgICAgICAgICAgICAg
IE9QX0FkZCwgT1BfU3ViLCBPUF9NdWwsIE9QX0RpdiwgT1BfTW9kCiAgICAgICAgICAgICB9Owot
ICAgICAgICAgICAgTnVtZXJpY09wKE9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9u
KiByaHMpOworICAgICAgICAgICAgTnVtZXJpY09wKE9wY29kZSwgT3duUHRyPEV4cHJlc3Npb24+
IGxocywgT3duUHRyPEV4cHJlc3Npb24+IHJocyk7CiAgICAgICAgIHByaXZhdGU6CiAgICAgICAg
ICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CiAgICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFs
dWU7IH0KQEAgLTc2LDcgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjbGFz
cyBFcVRlc3RPcCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgZW51bSBPcGNvZGUgeyBPUF9FUSwgT1BfTkUsIE9QX0dULCBPUF9MVCwgT1BfR0UsIE9Q
X0xFIH07Ci0gICAgICAgICAgICBFcVRlc3RPcChPcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhw
cmVzc2lvbiogcmhzKTsKKyAgICAgICAgICAgIEVxVGVzdE9wKE9wY29kZSwgT3duUHRyPEV4cHJl
c3Npb24+IGxocywgT3duUHRyPEV4cHJlc3Npb24+IHJocyk7CiAgICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CiAgICAgICAgIHByaXZhdGU6CiAgICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9v
bGVhblZhbHVlOyB9CkBAIC04OCw3ICs4OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgY2xhc3MgTG9naWNhbE9wIDogcHVibGljIEV4cHJlc3Npb24gewogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBlbnVtIE9wY29kZSB7IE9QX0FuZCwgT1BfT3IgfTsKLSAgICAgICAgICAg
IExvZ2ljYWxPcChPcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKKyAg
ICAgICAgICAgIExvZ2ljYWxPcChPcGNvZGUsIE93blB0cjxFeHByZXNzaW9uPiBsaHMsIE93blB0
cjxFeHByZXNzaW9uPiByaHMpOwogICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5W
YWx1ZTsgfQogICAgICAgICAgICAgYm9vbCBzaG9ydENpcmN1aXRPbigpIGNvbnN0OwpAQCAtMTA2
LDcgKzEwNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgY2xhc3MgUHJlZGljYXRl
IHsKICAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBleHBsaWNpdCBQ
cmVkaWNhdGUoRXhwcmVzc2lvbiopOworICAgICAgICAgICAgZXhwbGljaXQgUHJlZGljYXRlKE93
blB0cjxFeHByZXNzaW9uPik7CiAgICAgICAgICAgICB+UHJlZGljYXRlKCk7CiAgICAgICAgICAg
ICBib29sIGV2YWx1YXRlKCkgY29uc3Q7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25z
dCB7IHJldHVybiBtX2V4cHItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQogCiAgICAgICAg
IHByaXZhdGU6Ci0gICAgICAgICAgICBFeHByZXNzaW9uKiBtX2V4cHI7CisgICAgICAgICAgICBP
d25QdHI8RXhwcmVzc2lvbj4gbV9leHByOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmNwcAppbmRleCAzMjA3NmY3Li5jZDkyOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmNwcApAQCAtMzksMTcgKzM5LDIxIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3Bh
Y2UgWFBhdGggewogCi1TdGVwOjpTdGVwKEF4aXMgYXhpcywgY29uc3QgTm9kZVRlc3QmIG5vZGVU
ZXN0LCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMpCitTdGVwOjpTdGVwKEF4
aXMgYXhpcywgUGFzc093blB0cjxOb2RlVGVzdD4gbm9kZVRlc3QpCiAgICAgOiBtX2F4aXMoYXhp
cykKICAgICAsIG1fbm9kZVRlc3Qobm9kZVRlc3QpCi0gICAgLCBtX3ByZWRpY2F0ZXMocHJlZGlj
YXRlcykKIHsKIH0KIAorU3RlcDo6U3RlcChBeGlzIGF4aXMsIFBhc3NPd25QdHI8Tm9kZVRlc3Q+
IG5vZGVUZXN0LCBWZWN0b3I8T3duUHRyPFByZWRpY2F0ZT4+JiBwcmVkaWNhdGVzKQorICAgIDog
bV9heGlzKGF4aXMpCisgICAgLCBtX25vZGVUZXN0KG5vZGVUZXN0KQoreworICAgIG1fcHJlZGlj
YXRlcy5zd2FwKHByZWRpY2F0ZXMpOworfQorCiBTdGVwOjp+U3RlcCgpCiB7Ci0gICAgZGVsZXRl
QWxsVmFsdWVzKG1fcHJlZGljYXRlcyk7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fbm9kZVRlc3Qu
bWVyZ2VkUHJlZGljYXRlcygpKTsKIH0KIAogdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCkBAIC01Nywx
MSArNjEsMTEgQEAgdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCiAgICAgLy8gRXZhbHVhdGUgcHJlZGlj
YXRlcyBhcyBwYXJ0IG9mIG5vZGUgdGVzdCBpZiBwb3NzaWJsZSB0byBhdm9pZCBidWlsZGluZyB1
bm5lY2Vzc2FyeSBOb2RlU2V0cy4KICAgICAvLyBFLmcuLCB0aGVyZSBpcyBubyBuZWVkIHRvIGJ1
aWxkIGEgc2V0IG9mIGFsbCAiZm9vIiBub2RlcyB0byBldmFsdWF0ZSAiZm9vW0BiYXJdIiwgd2Ug
Y2FuIGNoZWNrIHRoZSBwcmVkaWNhdGUgd2hpbGUgZW51bWVyYXRpbmcuCiAgICAgLy8gVGhpcyBv
cHRpbWl6YXRpb24gY2FuIGJlIGFwcGxpZWQgdG8gcHJlZGljYXRlcyB0aGF0IGFyZSBub3QgY29u
dGV4dCBub2RlIGxpc3Qgc2Vuc2l0aXZlLCBvciB0byBmaXJzdCBwcmVkaWNhdGUgdGhhdCBpcyBv
bmx5IGNvbnRleHQgcG9zaXRpb24gc2Vuc2l0aXZlLCBlLmcuIGZvb1twb3NpdGlvbigpIG1vZCAy
ID0gMF0uCi0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IHJlbWFpbmluZ1ByZWRpY2F0ZXM7CisgICAg
VmVjdG9yPE93blB0cjxQcmVkaWNhdGU+PiByZW1haW5pbmdQcmVkaWNhdGVzOwogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFBy
ZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAgICBpZiAoKCFwcmVk
aWNhdGUtPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9ub2RlVGVzdC5tZXJnZWRQ
cmVkaWNhdGVzKCkuaXNFbXB0eSgpKSAmJiAhcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vuc2l0
aXZlKCkgJiYgcmVtYWluaW5nUHJlZGljYXRlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIG1f
bm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpLmFwcGVuZChwcmVkaWNhdGUpOworICAgICAgICBQ
YXNzT3duUHRyPFByZWRpY2F0ZT4gcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldLnJlbGVhc2Uo
KTsKKyAgICAgICAgaWYgKCghcHJlZGljYXRlLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgp
IHx8IG1fbm9kZVRlc3QtPm1lcmdlZFByZWRpY2F0ZXMoKS5pc0VtcHR5KCkpICYmICFwcmVkaWNh
dGUtPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSAmJiByZW1haW5pbmdQcmVkaWNhdGVzLmlzRW1w
dHkoKSkgeworICAgICAgICAgICAgbV9ub2RlVGVzdC0+bWVyZ2VkUHJlZGljYXRlcygpLmFwcGVu
ZChwcmVkaWNhdGUpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJlbWFpbmluZ1ByZWRp
Y2F0ZXMuYXBwZW5kKHByZWRpY2F0ZSk7CiAgICAgfQpAQCAtNzMsMTggKzc3LDE4IEBAIHZvaWQg
b3B0aW1pemVTdGVwUGFpcihTdGVwKiBmaXJzdCwgU3RlcCogc2Vjb25kLCBib29sJiBkcm9wU2Vj
b25kU3RlcCkKICAgICBkcm9wU2Vjb25kU3RlcCA9IGZhbHNlOwogCiAgICAgaWYgKGZpcnN0LT5t
X2F4aXMgPT0gU3RlcDo6RGVzY2VuZGFudE9yU2VsZkF4aXMKLSAgICAgICAgJiYgZmlyc3QtPm1f
bm9kZVRlc3Qua2luZCgpID09IFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdAorICAgICAgICAm
JiBmaXJzdC0+bV9ub2RlVGVzdC0+a2luZCgpID09IFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVz
dAogICAgICAgICAmJiAhZmlyc3QtPm1fcHJlZGljYXRlcy5zaXplKCkKLSAgICAgICAgJiYgIWZp
cnN0LT5tX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKS5zaXplKCkpIHsKKyAgICAgICAgJiYg
IWZpcnN0LT5tX25vZGVUZXN0LT5tZXJnZWRQcmVkaWNhdGVzKCkuc2l6ZSgpKSB7CiAKLSAgICAg
ICAgQVNTRVJUKGZpcnN0LT5tX25vZGVUZXN0LmRhdGEoKS5pc0VtcHR5KCkpOwotICAgICAgICBB
U1NFUlQoZmlyc3QtPm1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCkuaXNFbXB0eSgpKTsKKyAgICAg
ICAgQVNTRVJUKGZpcnN0LT5tX25vZGVUZXN0LT5kYXRhKCkuaXNFbXB0eSgpKTsKKyAgICAgICAg
QVNTRVJUKGZpcnN0LT5tX25vZGVUZXN0LT5uYW1lc3BhY2VVUkkoKS5pc0VtcHR5KCkpOwogCiAg
ICAgICAgIC8vIE9wdGltaXplIHRoZSBjb21tb24gY2FzZSBvZiAiLy8iIEFLQSAvZGVzY2VuZGFu
dC1vci1zZWxmOjpub2RlKCkvY2hpbGQ6Ok5vZGVUZXN0IHRvIC9kZXNjZW5kYW50OjpOb2RlVGVz
dC4KICAgICAgICAgaWYgKHNlY29uZC0+bV9heGlzID09IFN0ZXA6OkNoaWxkQXhpcyAmJiBzZWNv
bmQtPnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKCkpIHsKICAgICAgICAgICAg
IGZpcnN0LT5tX2F4aXMgPSBTdGVwOjpEZXNjZW5kYW50QXhpczsKLSAgICAgICAgICAgIGZpcnN0
LT5tX25vZGVUZXN0ID0gU3RlcDo6Tm9kZVRlc3Qoc2Vjb25kLT5tX25vZGVUZXN0LmtpbmQoKSwg
c2Vjb25kLT5tX25vZGVUZXN0LmRhdGEoKSwgc2Vjb25kLT5tX25vZGVUZXN0Lm5hbWVzcGFjZVVS
SSgpKTsKLSAgICAgICAgICAgIHN3YXAoc2Vjb25kLT5tX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0
ZXMoKSwgZmlyc3QtPm1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpKTsKKyAgICAgICAgICAg
IGZpcnN0LT5tX25vZGVUZXN0ID0gYWRvcHRQdHIobmV3IFN0ZXA6Ok5vZGVUZXN0KHNlY29uZC0+
bV9ub2RlVGVzdC0+a2luZCgpLCBzZWNvbmQtPm1fbm9kZVRlc3QtPmRhdGEoKSwgc2Vjb25kLT5t
X25vZGVUZXN0LT5uYW1lc3BhY2VVUkkoKSkpOworICAgICAgICAgICAgc3dhcChzZWNvbmQtPm1f
bm9kZVRlc3QtPm1lcmdlZFByZWRpY2F0ZXMoKSwgZmlyc3QtPm1fbm9kZVRlc3QtPm1lcmdlZFBy
ZWRpY2F0ZXMoKSk7CiAgICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9wcmVkaWNhdGVzLCBmaXJz
dC0+bV9wcmVkaWNhdGVzKTsKICAgICAgICAgICAgIGZpcnN0LT5vcHRpbWl6ZSgpOwogICAgICAg
ICAgICAgZHJvcFNlY29uZFN0ZXAgPSB0cnVlOwpAQCAtOTUsMTMgKzk5LDEzIEBAIHZvaWQgb3B0
aW1pemVTdGVwUGFpcihTdGVwKiBmaXJzdCwgU3RlcCogc2Vjb25kLCBib29sJiBkcm9wU2Vjb25k
U3RlcCkKIGJvb2wgU3RlcDo6cHJlZGljYXRlc0FyZUNvbnRleHRMaXN0SW5zZW5zaXRpdmUoKSBj
b25zdAogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcmVkaWNhdGVzLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwor
ICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXS5nZXQoKTsKICAg
ICAgICAgaWYgKHByZWRpY2F0ZS0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSB8fCBwcmVk
aWNhdGUtPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbm9kZVRlc3QubWVyZ2Vk
UHJlZGljYXRlcygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGljYXRl
ID0gbV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKClbaV07CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtX25vZGVUZXN0LT5tZXJnZWRQcmVkaWNhdGVzKCkuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBtX25vZGVUZXN0LT5tZXJnZWRQcmVkaWNhdGVz
KClbaV0uZ2V0KCk7CiAgICAgICAgIGlmIChwcmVkaWNhdGUtPmlzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKCkgfHwgcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMTE4LDcgKzEyMiw3IEBAIHZvaWQgU3RlcDo6
ZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAKICAgICAvLyBD
aGVjayBwcmVkaWNhdGVzIHRoYXQgY291bGRuJ3QgYmUgbWVyZ2VkIGludG8gbm9kZSB0ZXN0Lgog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ByZWRpY2F0ZXMuc2l6ZSgpOyBpKyspIHsK
LSAgICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07CisgICAgICAg
IFByZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldLmdldCgpOwogCiAgICAgICAg
IE5vZGVTZXQgbmV3Tm9kZXM7CiAgICAgICAgIGlmICghbm9kZXMuaXNTb3J0ZWQoKSkKQEAgLTIx
Nyw5ICsyMjEsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwg
U3RlcDo6QXhpcyBheGlzLCBjb25zdCBTdGVwOjpOb2RlVGVzdAogICAgIC8vIE9ubHkgdGhlIGZp
cnN0IG1lcmdlZCBwcmVkaWNhdGUgbWF5IGRlcGVuZCBvbiBwb3NpdGlvbi4KICAgICArK2V2YWx1
YXRpb25Db250ZXh0LnBvc2l0aW9uOwogCi0gICAgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBt
ZXJnZWRQcmVkaWNhdGVzID0gbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpOworICAgIGNvbnN0
IFZlY3RvcjxPd25QdHI8UHJlZGljYXRlPj4mIG1lcmdlZFByZWRpY2F0ZXMgPSBub2RlVGVzdC5t
ZXJnZWRQcmVkaWNhdGVzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1lcmdlZFBy
ZWRpY2F0ZXMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBt
ZXJnZWRQcmVkaWNhdGVzW2ldOworICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0ZSA9IG1lcmdl
ZFByZWRpY2F0ZXNbaV0uZ2V0KCk7CiAKICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQubm9kZSA9
IG5vZGU7CiAgICAgICAgIC8vIE5vIG5lZWQgdG8gc2V0IGNvbnRleHQgc2l6ZSAtIHdlIG9ubHkg
Z2V0IGhlcmUgd2hlbiBldmFsdWF0aW5nIHByZWRpY2F0ZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9u
IGl0LgpAQCAtMjQwLDcgKzI0NCw3IEBAIHZvaWQgU3RlcDo6bm9kZXNJbkF4aXMoTm9kZSogY29u
dGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJzdENoaWxkKCk7IG47IG4gPSBu
LT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBDaGls
ZEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBD
aGlsZEF4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KG4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIERlc2NlbmRhbnRBeGlzOgpA
QCAtMjQ4LDE3ICsyNTIsMTcgQEAgdm9pZCBTdGVwOjpub2Rlc0luQXhpcyhOb2RlKiBjb250ZXh0
LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPmZpcnN0Q2hpbGQoKTsgbjsgbiA9IE5vZGVU
cmF2ZXJzYWw6Om5leHQobiwgY29udGV4dCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKG4sIERlc2NlbmRhbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICBpZiAo
bm9kZU1hdGNoZXMobiwgRGVzY2VuZGFudEF4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAg
ICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBj
YXNlIFBhcmVudEF4aXM6CiAgICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2Rl
KCkpIHsKICAgICAgICAgICAgICAgICBFbGVtZW50KiBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNv
bnRleHQpLT5vd25lckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMo
biwgUGFyZW50QXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKG4sIFBhcmVudEF4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBDb250
YWluZXJOb2RlKiBuID0gY29udGV4dC0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgICAgIGlm
IChuICYmIG5vZGVNYXRjaGVzKG4sIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAg
ICAgICAgIGlmIChuICYmIG5vZGVNYXRjaGVzKG4sIFBhcmVudEF4aXMsICptX25vZGVUZXN0KSkK
ICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMjY2LDExICsyNzAsMTEgQEAgdm9pZCBTdGVwOjpub2Rlc0lu
QXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAgICAgIE5v
ZGUqIG4gPSBjb250ZXh0OwogICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9k
ZSgpKSB7CiAgICAgICAgICAgICAgICAgbiA9IHN0YXRpY19jYXN0PEF0dHIqPihjb250ZXh0KS0+
b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2Vz
dG9yQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4s
IEFuY2VzdG9yQXhpcywgKm1fbm9kZVRlc3QpKQogICAgICAgICAgICAgICAgICAgICBub2Rlcy5h
cHBlbmQobik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnRO
b2RlKCk7IG47IG4gPSBuLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVN
YXRjaGVzKG4sIEFuY2VzdG9yQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yQXhpcywgKm1fbm9kZVRlc3QpKQogICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQobik7CiAgICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZh
bHNlKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI4MSw3ICsyODUsNyBAQCB2b2lkIFN0ZXA6
Om5vZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZm9yIChOb2RlKiBu
ID0gY29udGV4dC0+bmV4dFNpYmxpbmcoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpCi0gICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZvbGxvd2luZ1NpYmxpbmdBeGlzLCBtX25v
ZGVUZXN0KSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgRm9sbG93aW5nU2li
bGluZ0F4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KG4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIFByZWNlZGluZ1NpYmxpbmdB
eGlzOgpAQCAtMjkwLDcgKzI5NCw3IEBAIHZvaWQgU3RlcDo6bm9kZXNJbkF4aXMoTm9kZSogY29u
dGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5wcmV2aW91c1Np
YmxpbmcoKTsgbjsgbiA9IG4tPnByZXZpb3VzU2libGluZygpKQotICAgICAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIFByZWNlZGluZ1NpYmxpbmdBeGlzLCAqbV9u
b2RlVGVzdCkpCiAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKIAogICAgICAg
ICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CkBAIC0yOTksMTUgKzMwMywxNSBAQCB2b2lk
IFN0ZXA6Om5vZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAog
ICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7CiAgICAgICAgICAg
ICAgICAgTm9kZSogcCA9IHN0YXRpY19jYXN0PEF0dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50
KCk7CiAgICAgICAgICAgICAgICAgd2hpbGUgKChwID0gTm9kZVRyYXZlcnNhbDo6bmV4dChwKSkp
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhwLCBGb2xsb3dpbmdBeGlzLCBt
X25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKHAsIEZvbGxv
d2luZ0F4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFw
cGVuZChwKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgZm9yIChOb2Rl
KiBwID0gY29udGV4dDsgIWlzUm9vdERvbU5vZGUocCk7IHAgPSBwLT5wYXJlbnROb2RlKCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gcC0+bmV4dFNpYmxpbmcoKTsgbjsg
biA9IG4tPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2Rl
TWF0Y2hlcyhuLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBGb2xsb3dpbmdBeGlzLCAqbV9ub2RlVGVzdCkpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAg
ICAgICAgICAgICAgZm9yIChOb2RlKiBjID0gbi0+Zmlyc3RDaGlsZCgpOyBjOyBjID0gTm9kZVRy
YXZlcnNhbDo6bmV4dChjLCBuKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9k
ZU1hdGNoZXMoYywgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGMsIEZvbGxvd2luZ0F4aXMsICptX25vZGVUZXN0
KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKGMpOwogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQpAQCAtMzIwLDcgKzMyNCw3IEBA
IHZvaWQgU3RlcDo6bm9kZXNJbkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNv
bnN0CiAgICAgICAgICAgICBOb2RlKiBuID0gY29udGV4dDsKICAgICAgICAgICAgIHdoaWxlIChD
b250YWluZXJOb2RlKiBwYXJlbnQgPSBuLT5wYXJlbnROb2RlKCkpIHsKICAgICAgICAgICAgICAg
ICBmb3IgKG4gPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91cyhuKTsgbiAhPSBwYXJlbnQ7IG4gPSBO
b2RlVHJhdmVyc2FsOjpwcmV2aW91cyhuKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVN
YXRjaGVzKG4sIFByZWNlZGluZ0F4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAg
ICBpZiAobm9kZU1hdGNoZXMobiwgUHJlY2VkaW5nQXhpcywgKm1fbm9kZVRlc3QpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgICAgIG4gPSBw
YXJlbnQ7CiAgICAgICAgICAgICB9CkBAIC0zMzQsMTAgKzMzOCwxMCBAQCB2b2lkIFN0ZXA6Om5v
ZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgICAgICAg
ICAgRWxlbWVudCogY29udGV4dEVsZW1lbnQgPSB0b0VsZW1lbnQoY29udGV4dCk7CiAKICAgICAg
ICAgICAgIC8vIEF2b2lkIGxhemlseSBjcmVhdGluZyBhdHRyaWJ1dGUgbm9kZXMgZm9yIGF0dHJp
YnV0ZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCBhbnl3YXkuCi0gICAgICAgICAgICBpZiAobV9ub2Rl
VGVzdC5raW5kKCkgPT0gTm9kZVRlc3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QuZGF0YSgpICE9
IHN0YXJBdG9tKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG4gPSBjb250ZXh0RWxl
bWVudC0+Z2V0QXR0cmlidXRlTm9kZU5TKG1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCksIG1fbm9k
ZVRlc3QuZGF0YSgpKTsKKyAgICAgICAgICAgIGlmIChtX25vZGVUZXN0LT5raW5kKCkgPT0gTm9k
ZVRlc3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QtPmRhdGEoKSAhPSBzdGFyQXRvbSkgeworICAg
ICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBuID0gY29udGV4dEVsZW1lbnQtPmdldEF0dHJpYnV0
ZU5vZGVOUyhtX25vZGVUZXN0LT5uYW1lc3BhY2VVUkkoKSwgbV9ub2RlVGVzdC0+ZGF0YSgpKTsK
ICAgICAgICAgICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVz
Ojp4bWxuc05hbWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMg
YXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG5vZGVNYXRjaGVzKG4uZ2V0KCksIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3Qp
KSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgorICAgICAgICAgICAg
ICAgICAgICBpZiAobm9kZU1hdGNoZXMobi5nZXQoKSwgQXR0cmlidXRlQXhpcywgKm1fbm9kZVRl
c3QpKSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgogICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzQ4LDcgKzM1Miw3IEBAIHZvaWQgU3Rl
cDo6bm9kZXNJbkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb250ZXh0RWxlbWVudC0+YXR0cmli
dXRlQ291bnQoKTsgKytpKSB7CiAgICAgICAgICAgICAgICAgUmVmUHRyPEF0dHI+IGF0dHIgPSBj
b250ZXh0RWxlbWVudC0+ZW5zdXJlQXR0cihjb250ZXh0RWxlbWVudC0+YXR0cmlidXRlQXQoaSku
bmFtZSgpKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoYXR0ci5nZXQoKSwgQXR0
cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVz
KGF0dHIuZ2V0KCksIEF0dHJpYnV0ZUF4aXMsICptX25vZGVUZXN0KSkKICAgICAgICAgICAgICAg
ICAgICAgbm9kZXMuYXBwZW5kKGF0dHIucmVsZWFzZSgpKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTM1NywzMCArMzYxLDMwIEBAIHZvaWQgU3RlcDo6bm9kZXNJbkF4
aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICAvLyBY
UGF0aCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIGNhc2UgU2VsZkF4aXM6Ci0gICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMoY29udGV4dCwgU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgaWYgKG5v
ZGVNYXRjaGVzKGNvbnRleHQsIFNlbGZBeGlzLCAqbV9ub2RlVGVzdCkpCiAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKGNvbnRleHQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBj
YXNlIERlc2NlbmRhbnRPclNlbGZBeGlzOgotICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGNv
bnRleHQsIERlc2NlbmRhbnRPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhjb250ZXh0LCBEZXNjZW5kYW50T3JTZWxmQXhpcywgKm1fbm9kZVRlc3Qp
KQogICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjb250ZXh0KTsKICAgICAgICAgICAgIGlm
IChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGggbW9kZWwsIGF0dHJpYnV0
ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KICAgICAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPmZpcnN0Q2hpbGQoKTsgbjsgbiA9
IE5vZGVUcmF2ZXJzYWw6Om5leHQobiwgY29udGV4dCkpCi0gICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMobiwgRGVzY2VuZGFudE9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAg
aWYgKG5vZGVNYXRjaGVzKG4sIERlc2NlbmRhbnRPclNlbGZBeGlzLCAqbV9ub2RlVGVzdCkpCiAg
ICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjYXNlIEFuY2VzdG9yT3JTZWxmQXhpczogewotICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKGNvbnRleHQsIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAg
ICBpZiAobm9kZU1hdGNoZXMoY29udGV4dCwgQW5jZXN0b3JPclNlbGZBeGlzLCAqbV9ub2RlVGVz
dCkpCiAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKGNvbnRleHQpOwogICAgICAgICAgICAg
Tm9kZSogbiA9IGNvbnRleHQ7CiAgICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVO
b2RlKCkpIHsKICAgICAgICAgICAgICAgICBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQp
LT5vd25lckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5j
ZXN0b3JPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMobiwgQW5jZXN0b3JPclNlbGZBeGlzLCAqbV9ub2RlVGVzdCkpCiAgICAgICAgICAgICAg
ICAgICAgIG5vZGVzLmFwcGVuZChuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGZvciAo
biA9IG4tPnBhcmVudE5vZGUoKTsgbjsgbiA9IG4tPnBhcmVudE5vZGUoKSkKLSAgICAgICAgICAg
ICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkK
KyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JPclNlbGZBeGlzLCAq
bV9ub2RlVGVzdCkpCiAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKIAogICAg
ICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhTdGVwLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5k
ZXggZjY3OGY5Mi4uOTM0OWY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
U3RlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtNTEsNiArNTEs
NyBAQCBwdWJsaWM6CiAgICAgfTsKICAgICAgICAgICAgCiAgICAgY2xhc3MgTm9kZVRlc3Qgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlVGVzdCk7CiAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBLaW5kIHsKQEAgLTY0
LDE5ICs2NSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJu
IG1fa2luZDsgfQogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGRhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2RhdGE7IH0KICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkko
KSBjb25zdCB7IHJldHVybiBtX25hbWVzcGFjZVVSSTsgfQotICAgICAgICBWZWN0b3I8UHJlZGlj
YXRlKj4mIG1lcmdlZFByZWRpY2F0ZXMoKSB7IHJldHVybiBtX21lcmdlZFByZWRpY2F0ZXM7IH0K
LSAgICAgICAgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJnZWRQcmVkaWNhdGVzKCkgY29u
c3QgeyByZXR1cm4gbV9tZXJnZWRQcmVkaWNhdGVzOyB9Ci0gICAgICAgICAgICAgICAgCisgICAg
ICAgIFZlY3RvcjxPd25QdHI8UHJlZGljYXRlPj4mIG1lcmdlZFByZWRpY2F0ZXMoKSB7IHJldHVy
biBtX21lcmdlZFByZWRpY2F0ZXM7IH0KKyAgICAgICAgY29uc3QgVmVjdG9yPE93blB0cjxQcmVk
aWNhdGU+PiYgbWVyZ2VkUHJlZGljYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWVyZ2VkUHJlZGlj
YXRlczsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgS2luZCBtX2tpbmQ7CiAgICAgICAgIEF0
b21pY1N0cmluZyBtX2RhdGE7CiAgICAgICAgIEF0b21pY1N0cmluZyBtX25hbWVzcGFjZVVSSTsK
IAogICAgICAgICAvLyBXaGVuIHBvc3NpYmxlLCB3ZSBtZXJnZSBzb21lIG9yIGFsbCBwcmVkaWNh
dGVzIHdpdGggbm9kZSB0ZXN0IGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCi0gICAgICAgIFZlY3Rv
cjxQcmVkaWNhdGUqPiBtX21lcmdlZFByZWRpY2F0ZXM7CisgICAgICAgIFZlY3RvcjxPd25QdHI8
UHJlZGljYXRlPj4gbV9tZXJnZWRQcmVkaWNhdGVzOwogICAgIH07CiAKLSAgICBTdGVwKEF4aXMs
IGNvbnN0IE5vZGVUZXN0JiwgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVzID0g
VmVjdG9yPFByZWRpY2F0ZSo+KCkpOworICAgIFN0ZXAoQXhpcywgUGFzc093blB0cjxOb2RlVGVz
dD4pOworICAgIFN0ZXAoQXhpcywgUGFzc093blB0cjxOb2RlVGVzdD4sIFZlY3RvcjxPd25QdHI8
UHJlZGljYXRlPj4mIHByZWRpY2F0ZXMpOwogICAgIH5TdGVwKCk7CiAKICAgICB2b2lkIG9wdGlt
aXplKCk7CkBAIC04NCw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGV2YWx1YXRlKE5vZGUq
IGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKIAogICAgIEF4aXMgYXhpcygpIGNvbnN0IHsgcmV0
dXJuIG1fYXhpczsgfQotICAgIGNvbnN0IE5vZGVUZXN0JiBub2RlVGVzdCgpIGNvbnN0IHsgcmV0
dXJuIG1fbm9kZVRlc3Q7IH0KKyAgICBjb25zdCBOb2RlVGVzdCYgbm9kZVRlc3QoKSBjb25zdCB7
IHJldHVybiAqbV9ub2RlVGVzdDsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCB2b2lkIG9wdGlt
aXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJik7CkBAIC05NSw4ICs5Nyw4IEBAIHByaXZh
dGU6CiAgICAgU3RyaW5nIG5hbWVzcGFjZUZyb21Ob2RldGVzdChjb25zdCBTdHJpbmcmIG5vZGVU
ZXN0KSBjb25zdDsKIAogICAgIEF4aXMgbV9heGlzOwotICAgIE5vZGVUZXN0IG1fbm9kZVRlc3Q7
Ci0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGljYXRlczsKKyAgICBPd25QdHI8Tm9kZVRl
c3Q+IG1fbm9kZVRlc3Q7CisgICAgVmVjdG9yPE93blB0cjxQcmVkaWNhdGU+PiBtX3ByZWRpY2F0
ZXM7CiB9OwogCiB2b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJiBkcm9w
U2Vjb25kU3RlcCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213660</attachid>
            <date>2013-10-07 23:29:42 -0700</date>
            <delta_ts>2013-10-08 00:48:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121082-20131007232941.patch</filename>
            <type>text/plain</type>
            <size>150309</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5ODlkNzRmN2E5ZjU2
NGI2MDZkYzExODEwZjM2ZDI4OGJhOWU0OC4uNDdjZTUyODc3ZGNkYzc4NGYzOWQ5ODNlM2E2NWFk
MGFjNzMwOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3OSBAQAorMjAxMy0xMC0wNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIE93blB0ciBpbnN0ZWFk
IG9mIGRlbGV0ZUFsbFZhbHVlcyBpbiBYUGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBkb20vQXR0ci5oOiBNYWRlIHRoZSBuYW1lc3BhY2VVUkkg
ZnVuY3Rpb24gcHVibGljIHNvIGl0IGNhbiBiZSBjYWxsZWQgYnkKKyAgICAgICAgY29kZSBpbiBY
UGF0aC4gU2luY2UgdGhlIGNsYXNzIGlzIEZJTkFMLCBjYWxscyB3b24ndCBkbyB2aXJ0dWFsIGRp
c3BhdGNoLgorCisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246OlhQYXRoRXhwcmVzc2lvbik6IEFkZGVkLiBVc2Ugc3Rk
Ojptb3ZlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNz
aW9uKTogVXNlIHRoZSBuZXcgUGFyc2VyOjpwYXJzZVN0YXRlbWVudAorICAgICAgICBhbmQgbW9y
ZSBzdGQ6Om1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246On5YUGF0aEV4
cHJlc3Npb24pOiBSZW1vdmVkIG5vdy11bm5lZWRlZCBkZWxldGUuCisgICAgICAgICogeG1sL1hQ
YXRoRXhwcmVzc2lvbi5oOiBSZW1vdmVkIHVudXNlZCBjcmVhdGUgZnVuY3Rpb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZgorICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV4cHJlc3Npb246OnNldFN1YmV4cHJlc3Npb25z
KTogQWRkZWQuIFVzZWQgdG8gc2V0IGFsbCB0aGUKKyAgICAgICAgc3ViZXhwcmVzc2lvbnMgYXQg
b25jZSByYXRoZXIgdGhhbiBhZGRpbmcgb25lIGF0IGEgdGltZS4KKworICAgICAgICAqIHhtbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmg6IFVzZSBwbGFpbiB1bnNpZ25lZCBpbnN0ZWFkIG9mIHVuc2ln
bmVkIGxvbmcuCisgICAgICAgIEVsaW1pbmF0ZWQgdGhlIFBhcnNlTm9kZSBjbGFzcywgdXNlZCBv
bmx5IGJ5IHRoZSBwYXJzZXIgdG8gZGVsZXRlIG9iamVjdHMsCisgICAgICAgIHdoaWNoIHdlIG5v
dyBkbyB3aXRoICVkZXN0cnVjdG9yLiBNYWRlIG1vcmUgZnVuY3Rpb25zIHByb3RlY3RlZC4gRml4
ZWQgdGhlCisgICAgICAgIGNhcGl0YWxpemF0aW9uIG9mIHRoZSB3b3JkICJzdWJleHByZXNzaW9u
Ii4gTWFkZSBtX3N1YmV4cHJlc3Npb25zIGJlIGEgVmVjdG9yCisgICAgICAgIG9mIHN0ZDo6dW5p
cXVlX3B0ci4KKworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5jcHA6IE1hcmtlZCBhbGwg
dGhlIGNsYXNzZXMgRklOQUwgYW5kIGFsbCB0aGVpciB2aXJ0dWFsCisgICAgICAgIGZ1bmN0aW9u
cyBPVkVSUklERS4gUmVkdWNlZCBzb21lIG9mIHRoZSBib2lsZXJwbGF0ZS4KKyAgICAgICAgKFdl
YkNvcmU6OlhQYXRoOjpGdW5jdGlvbjo6c2V0QXJndW1lbnRzKTogUGFzc2VkIGluIHRoZSBuYW1l
IHNvIHdlIGRvbid0IGhhdmUKKyAgICAgICAgdG8gc3RvcmUgdGhlIGZ1bmN0aW9uIG5hbWVzIGlu
IGFsbCB0aGUgZnVuY3Rpb24gb2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5J
ZDo6ZXZhbHVhdGUpOiBVc2Ugc3RkOjptb3ZlIGluc3RlYWQgb2YgVmFsdWU6OmFkb3B0LgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bkxvY2FsTmFtZTo6ZXZhbHVhdGUpOiBVc2UgZW1wdHlT
dHJpbmcgaW5zdGVhZCBvZiAiIi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5OYW1lc3Bh
Y2VVUkk6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuTmFt
ZTo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5TdWJzdHJp
bmdCZWZvcmU6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVu
U3Vic3RyaW5nQWZ0ZXI6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6RnVuU3Vic3RyaW5nOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OkZ1bkxhbmc6OmV2YWx1YXRlKTogVXNlIFZhbHVlKGZhbHNlKSBzbyB3ZSBjYW4gbWFrZSB0
aGUKKyAgICAgICAgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGJvb2xlYW4gZXhwbGljaXQuCisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuRmFsc2U6OmV2YWx1YXRlKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpYUGF0aDo6cG9wdWxhdGVGdW5jdGlvbk1hcCk6IENoYW5nZWQgaWRpb20g
c2xpZ2h0bHkgdG8gbWF0Y2ggb3RoZXIKKyAgICAgICAgbWFwcyB3ZSBzZXQgdXAuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6RnVuY3Rpb246OmNyZWF0ZSk6IFJlZmFjdG9yZWQgY3JlYXRlRnVu
Y3Rpb24gaW50byB0aHJlZQorICAgICAgICBtZW1iZXIgZnVuY3Rpb25zIG9mIHRoaXMgbmFtZS4K
KworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5oOiBNYWRlIGFsbCB0aGUgRnVuY3Rpb24g
bWVtYmVycyBwcml2YXRlIG9yIHByb3RlY3RlZAorICAgICAgICBleGNlcHQgZm9yIEZ1bmN0aW9u
OjpjcmVhdGUuCisKKyAgICAgICAgKiB4bWwvWFBhdGhHcmFtbWFyLnk6IENoYW5nZWQgdGhlIHBh
cnNlciB0byB1c2UgYSByZWZlcmVuY2UgaW5zdGVhZCBvZgorICAgICAgICBhIHBvaW50ZXIsIGFu
ZCB0byBwYXNzIHRoZSByZWZlcmVuY2UgdGhyb3VnaCB0byB5eWxleCBhcyB3ZWxsLiBCcmVhayB1
cAorICAgICAgICB0aGUgdW5pb24gaW50byBwaWVjZXMgYW5kIGFkZCAlZGVzdHJ1Y3RvciBhcyBu
ZWVkZWQgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcKKyAgICAgICAgZ2V0cyBkZWFsbG9jYXRlZCBp
ZiBwYXJzaW5nIGZhaWxzLiBBZGRlZCBhIG5ldyB0b3AgbGV2ZWwgcnVsZSAiVG9wIiBzbyB0aGF0
CisgICAgICAgIHdlIHdvdWxkIG5vdCB0cnkgdG8gc2V0IHRoZSBwYXJzZSByZXN1bHQgbXVsdGlw
bGUgdGltZXMgZHVyaW5nIHBhcnNpbmcuCisgICAgICAgIENhbGwgc2V0UGFyc2VSZXN1bHQgaW5z
dGVhZCBvZiBzZXR0aW5nIG1fdG9wRXhwciBkaXJlY3RseS4gVXNlIHN0ZDo6dW5pcXVlX3B0cgor
ICAgICAgICB0byBhZG9wdCBwb2ludGVycyBmcm9tIHRoZSB1bmlvbi4gUmVtb3ZlZCBhbGwgdGhl
IHJlZ2lzdGVyL3VucmVnaXN0ZXIgY2FsbHMKKyAgICAgICAgdGhhdCB1c2VkIHRvIGJlIHVzZWQg
dG8gbWFuYWdlIHN0b3JhZ2UuIEFsc28gY2hhbmdlZCB0aGUgZm91ciBkaWZmZXJlbnQgbm9kZQor
ICAgICAgICB0eXBlcyB0byBiZSBzZXBhcmF0ZSB0b2tlbnMgaW5zdGVhZCBvZiB1c2luZyBzdHJp
bmcgbWF0Y2hpbmcgYXQgdGhpcyBsZXZlbAorICAgICAgICBmb3IgdGhlbS4KKworICAgICAgICAq
IHhtbC9YUGF0aE5vZGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OnNvcnQpOiBSZW1vdmVkIGNvbnN0X2Nhc3Qgc2luY2UgbV9pc1NvcnRlZCBhbmQKKyAgICAgICAg
bV9ub2RlcyBhcmUgbm93IGJvdGggbWFya2VkIG11dGFibGUuIEFsc28gc2V0IG1faXNTb3J0ZWQg
YWZ0ZXIgc29ydGluZzsgdGhpcworICAgICAgICB3YXMgYW4gb3ZlcnNpZ2h0IHRoYXQgaHVydCBw
ZXJmb3JtYW5jZSBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6Tm9kZVNldDo6dHJh
dmVyc2FsU29ydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6OmZp
cnN0Tm9kZSk6IFVzZSBudWxscHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OmFueU5vZGUpOiBEaXR0by4KKworICAgICAgICAqIHhtbC9YUGF0aE5vZGVTZXQuaDogUmVtb3Zl
ZCB1bm5lZWRlZCBleHRyYSBpbmNsdWRlcy4gUmVtb3ZlZCB0aGUKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQgZm9yIE5vZGVTZXQgc2luY2Ugd2UgbmV2ZXIgYWxsb2NhdGUgdGhlc2Ug
b24gdGhlIGhlYXAuCisgICAgICAgIEFkZGVkIGEgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIHNp
bmdsZSBub2RlLiBEZWxldGVkIHRoZSBzd2FwIGZ1bmN0aW9uLCBzaW5jZQorICAgICAgICB3ZSBu
b3cgbW92ZSBpbnN0ZWFkIG9mIHN3YXAuIERlbGV0ZWQgdGhlIGFwcGVuZCBmdW5jdGlvbiB0aGF0
IHRha2VzIGEgcmF3IE5vZGUqLAorICAgICAgICBzaW5jZSBjYWxsaW5nIHRoZSBQYXNzUmVmUHRy
PE5vZGU+IG92ZXJsb2FkIGRvZXMgdGhlIHNhbWUgdGhpbmcuIFJlbW92ZWQgdGhlCisgICAgICAg
IHVudXNlZCByZXZlcnNlIGZ1bmN0aW9uLiBNYXJrZWQgYm90aCBtX2lzU29ydGVkIGFuZCBtX25v
ZGVzIG11dGFibGUgc28gdGhlCisgICAgICAgIHNvcnQgZnVuY3Rpb24gY2FuIGJlIGNvbnN0Lgor
CisgICAgICAgICogeG1sL1hQYXRoUGFyc2VyLmNwcDogTW92ZWQgdGhlIFRva2VuIHN0cnVjdCBp
biBoZXJlIGluc3RlYWQgb2YgdGhlIGhlYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpw
b3B1bGF0ZUF4aXNOYW1lc01hcCk6UmVuYW1lZCB0byBtYXRjaCBvdXIgbm9ybWFsIG5hbWluZyBz
Y2hlbWUsCisgICAgICAgIGFuZCBjaGFuZ2VkIHRvIHVzZSBhZGQgaW5zdGVhZCBvZiBzZXQsIHVz
ZSBXVEZfQVJSQVlfTEVOR1RILCBhbmQgbm90IHVzZSBhIHR5cGVkZWYuCisgICAgICAgIChXZWJD
b3JlOjpYUGF0aDo6cGFyc2VBeGlzTmFtZSk6IFJlbGF0ZWQgc3R5bGUgY2hhbmdlcywgaW5jbHVk
aW5nIHJlbmFtaW5nIHRvCisgICAgICAgIGJldHRlciByZWZsZWN0IHRoZSB3YXkgdGhpcyB3b3Jr
cyB3aXRoIGEgYm9vbGVhbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6Om5leHRU
b2tlbkludGVybmFsKTogVXBkYXRlZCB0byBjYWxsIHBhcnNlQXhpc05hbWUsCisgICAgICAgIGFu
ZCB0byBwcm9kdWNlIGZvdXIgc2VwYXJhdGUgdG9rZW5zIGZvciB0aGUgZm91ciBub2RlIHR5cGUg
ZnVuY3Rpb25zLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlBhcnNlcjo6bmV4dFRva2VuKTog
UmVuYW1lZCBsb2NhbCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OlBhcnNlcik6IE1hZGUgdGhpcyBhIHJlYWwgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhcmd1bWVu
dHMKKyAgICAgICAgYW5kIGluaXRpYWxpemVzIGFsbCB0aGUgZmllbGRzLiBEZWxldGVkIHRoZSB1
bm5lZWRlZCByZXNldCBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OmxleCk6IENoYW5nZWQgdG8gdGFrZSBhbiBhcmd1bWVudCBvZiBhbiBhcHByb3ByaWF0ZSB0eXBl
CisgICAgICAgIGluc3RlYWQgb2YgY2FzdGluZyBmcm9tIHZvaWQqLiBBbHNvIGNoYW5nZWQgdGhl
IHN0cmluZyBjb2RlIHRvIGxlYWsgYSBTdHJpbmdJbXBsLAorICAgICAgICB3aGljaCBpcyBub3cg
d2hhdCB0aGUgZ3JhbW1hciBjb2RlIGV4cGVjdHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
UGFyc2VyOjpleHBhbmRRdWFsaWZpZWROYW1lKTogUmVuYW1lZCBmcm9tIGV4cGFuZFFOYW1lLiBD
aGFuZ2VkCisgICAgICAgIHRvIHNldCBtX3Nhd05hbWVzcGFjZUVycm9yIGluc3RlYWQgb2YgcmVs
eWluZyBvbiBjb2RlIGluIHRoZSBncmFtbWFyIHRvIGRvIGl0LgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBSZW1vdmVkIG1vc3Qgb2YgdGhlIGNvZGUg
aW4gdGhpcyBmdW5jdGlvbi4KKyAgICAgICAgQ2hhbmdlZCB0byBhIG11Y2ggc2ltcGxlciBtb2Rl
bC4gQWxzbyBtYWRlIHRoaXMgYSBzdGF0aWMgbWVtYmVyIGZ1bmN0aW9uIHNvIGl0CisgICAgICAg
IHRha2VzIGNhcmUgb2YgY3JlYXRpbmcgdGhlIHBhcnNlciBpdHNlbGYgYW5kIGRvZXMgbm90IG5l
ZWQgdG8gY2FsbCByZXNldC4gQWxzbworICAgICAgICBjaGFuZ2VkIHJldHVybiB2YWx1ZSB0byBi
ZSBhIHN0ZDo6dW5pcXVlX3B0ciB0byBtYWtlIG93bmVyc2hpcCBtb3JlIGNsZWFyLgorCisgICAg
ICAgICogeG1sL1hQYXRoUGFyc2VyLmg6IEFkZGVkIGEgZGVjbGFyYXRpb24gb2YgWVlTVFlQRS4g
UmVtb3ZlZCB1bm5lZWRlZCBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9ucyBhbmQgbW92ZWQg
VG9rZW4gaW50byB0aGUgY3BwIGZpbGUuIERlbGV0ZWQgbW9zdCBwdWJsaWMgZnVuY3Rpb25zLAor
ICAgICAgICBsZWF2aW5nIG9ubHkgcGFyc2VTdGF0ZW1lbnQsIHRoZSBlbnRyeSBwb2ludCwgYW5k
IHRoZSB0aHJlZSBmdW5jdGlvbnMgbmVlZGVkIGJ5CisgICAgICAgIHRoZSBncmFtbWFyLCBsZXgs
IGV4cGFuZFF1YWxpZmllZE5hbWUsIGFuZCBzZXRQYXJzZVJlc3VsdC4KKworICAgICAgICAqIHht
bC9YUGF0aFBhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6RmlsdGVy
KTogTW92ZSBpbiB0aGUgYXJndW1lbnRzIGluc3RlYWQgb2YgY29weWluZyB0aGVtLgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGFu
ZCB0eXBlIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9jYXRpb25QYXRoOjpM
b2NhdGlvblBhdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpMb2NhdGlvblBh
dGg6OmV2YWx1YXRlKTogRGl0dG8uIEFsc28gdXNlIHN0ZDo6bW92ZSBpbnN0ZWFkIG9mCisgICAg
ICAgIFZhbHVlOjphZG9wdCBhbmQgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OkxvY2F0aW9uUGF0aDo6YXBwZW5kU3RlcCk6IENoYW5nZWQgdG8gdGFrZSBvd25lcnNo
aXAgb2YgYQorICAgICAgICB1bmlxdWVfcHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Okxv
Y2F0aW9uUGF0aDo6cHJlcGVuZFN0ZXApOiBEaXR0by4gUmVuYW1lZCBmcm9tIGluc2VydEZpcnN0
U3RlcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXRoOjpQYXRoKTogTW92ZSBpbiB0aGUg
YXJndW1lbnRzLgorCisgICAgICAgICogeG1sL1hQYXRoUGF0aC5oOiBSZW1vdmVkIHVubmVlZGVk
IGluY2x1ZGVzLiBDaGFuZ2VkIGFydWd1bWVudCB0eXBlcyB0byB1c2UKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyIHRvIHBhc3Mgb3duZXJzaGlwIGluLiBBZGRlZCBvdmVycmlkZSB0byBhbGwgdmly
dHVhbCBmdW5jdGlvbnMuCisgICAgICAgIENoYW5nZWQgZGF0YSBtZW1iZXJzIHRvIHVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OlN0cmluZ0V4cHJlc3Npb246OlN0cmluZ0V4cHJlc3Npb24pOiBV
c2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6TmVnYXRpdmUpOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TnVtZXJpY09w
OjpOdW1lcmljT3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOdW1lcmlj
T3A6OmV2YWx1YXRlKTogVHdlYWsgZm9ybWF0dGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6RXFUZXN0T3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6TG9naWNhbE9wOjpMb2dpY2FsT3ApOiBVc2UgbW92ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpMb2dpY2FsT3A6OnNob3J0Q2lyY3VpdE9uKTogTWFkZSBzaG9y
dGVyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvZ2ljYWxPcDo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OlVu
aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlByZWRp
Y2F0ZTo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMgYW5kIHRvIHVzZQorICAg
ICAgICBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuaDogTWFk
ZSBhbGwgdGhlIGNsYXNzZXMgRklOQUwgYW5kIGFkZGVkIGEgbG90IG9mIE9WRVJSSURFLgorICAg
ICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIGZvciBOZWdhdGl2ZSBhbmQgVW5pb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIgaW4gUHJlZGljYXRlLgorCisgICAgICAgICogeG1sL1hQYXRoU3RlcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6U3RlcCk6IFVzZSBtb3ZlIGluc3RlYSBk
b2YgY29weWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVwOjp+U3RlcCk6IFJlbW92
ZWQgY2FsbHMgdG8gZGVsZXRlQWxsVmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0
ZXA6Om9wdGltaXplKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2FwIGFuZCBjb3B5LiBBbHNvCisg
ICAgICAgIG9wZXJhdGUgZGlyZWN0bHkgb24gdGhlIGRhdGEgbWVtYmVycyBvZiB0aGUgbm9kZSB0
ZXN0IGluc3RlYWQgb2YgdXNpbmcgZnVuY3Rpb25zCisgICAgICAgIHRoYXQganVzdCByZXR1cm4g
cmVmZXJlbmNlcyB0byB0aG9zZSBkYXRhIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6b3B0aW1pemVTdGVwUGFpcik6IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMg
YW5kIG1vdmUKKyAgICAgICAgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OlN0ZXA6OnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKTogVXNlIHJlZmVy
ZW5jZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6ZXZhbHVhdGUpOiBVc2UgcmVm
ZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzIGFuZCBtb3ZlCisgICAgICAgIGluc3RlYWQgb2Yg
c3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0Y2hlc0Jhc2ljVGVzdCk6IFVz
ZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgYW5kCisgICAgICAgIG1vcmUgc3BlY2lm
aWMgdHlwZXMgd2hlbiBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0
Y2hlcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0ZXA6Om5vZGVzSW5BeGlz
KTogVXNlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycy4gQWRkZWQKKyAgICAgICAgYnJh
Y2VzIHRvIG1hdGNoIHN0eWxlLiBVc2Ugd29yZHMgaW5zdGVhZCBvZiBsZXR0ZXJzIGZvciBsb2Nh
bCB2YXJpYWJsZSBuYW1lcy4KKworICAgICAgICAqIHhtbC9YUGF0aFN0ZXAuaDogTWFrZSBhbG1v
c3QgZXZlcnl0aGluZyBpbiBOb2RlVGVzdCBwcml2YXRlIHNpbmNlIGNhbGxlcnMKKyAgICAgICAg
anVzdCBzZXQgdGhlc2UgdXAgYW5kIFN0ZXAgaXMgd2hhdCBhY3R1YWxseSB1c2VzIHRoZW0uIENo
YW5nZWQgdGhlIHByZWRpY2F0ZQorICAgICAgICB2ZWN0b3JzIHRvIGJlIHZlY3RvcnMgb2YgUHJl
ZGljYXRlIGluc3RlYWQgb2YgUHJlZGljYXRlKiwgc2luY2UgYSBQcmVkaWNhdGUKKyAgICAgICAg
aXMganVzdCBhIHdyYXBwZXIgYXJvdW5kIGEgc2luZ2xlIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPi4gQ2hhbmdlZCB0byB1c2UKKyAgICAgICAgbW92ZSBpbnN0ZWFkIG9mIGNvcHkgd2hlbiBt
YWtpbmcgYSBTdGVwIGFuZCB0byB1c2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzLgor
CisgICAgICAgICogeG1sL1hQYXRoVmFsdWUuY3BwOiBVc2Ugc3RkOjpudW1lcmljX2xpbWl0cyBl
eHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgdXNpbmcuCisgICAgICAgIEdvdCByaWQgb2YgVmFs
dWU6OmFkb3B0LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjp0b05vZGVTZXQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZiBERUZJTkVfU1RBVEVfTE9DQUwuCisgICAgICAg
IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpWYWx1
ZTo6bW9kaWZpYWJsZU5vZGVTZXQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpW
YWx1ZTo6dG9Cb29sZWFuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6
OnRvTnVtYmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6OnRvU3Ry
aW5nKTogRGl0dG8uIFVzZSBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhWYWx1
ZS5oOiBNb3ZlZCBWYWx1ZURhdGEgY2xhc3MgaW5zaWRlIHRoZSBWYWx1ZSBjbGFzcyBhbmQgcmVu
YW1lZAorICAgICAgICBpdCBWYWx1ZTo6RGF0YS4gUmVtb3ZlZCBmYW5jeSB0cmljayB0aGF0IGF2
b2lkcyB0dXJuaW5nIHBvaW50ZXJzIGludG8gYm9vbCwgYW5kCisgICAgICAgIGp1c3QgdGFrZSB0
aGUgcmlzay4gTWFkZSBtYW55LCBidXQgbm90IGFsbCwgb2YgdGhlIFZhbHVlIGNvbnN0cnVjdG9y
cyBleHBsaWNpdAorICAgICAgICBzaW5jZSB3ZSBub3JtYWxseSBhcmUgZXhwbGljaXQgYXQgY2Fs
bCBzaXRlcy4gUmVtb3ZlZCB1bm5lZWRlZCB1bnNpZ25lZCBsb25nCisgICAgICAgIG92ZXJsb2Fk
IG9mIHRoZSBjb25zdHJ1Y3Rvci4gQ2hhbmdlZCB0aGUgTm9kZVNldCB2ZXJzaW9uIG9mIHRoZSBj
b25zdHJ1Y3RvciB0bworICAgICAgICB1c2Ugc3RkOjptb3ZlIGFuZCB1c2UgdGhhdCBpbnN0ZWFk
IG9mIEFkb3B0VGFnLgorCiAyMDEzLTEwLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEV2ZW50RGlzcGF0Y2hCZWhhdmlvciBpcyB1bm5lY2Vzc2FyeQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dHRyLmgKaW5kZXggMDU4NGE1ZWFmNmZiOTg1Yzc5YWFmNDg3MTk4ODhkZDJmZDQ3NzM3OS4uMjY5
ZDBiMGQ4ZmM5OGYwOWFhMTcwNmViZTdiODVlYWYwOWYwNWM3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5oCkBAIC02
NCw2ICs2NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGF0dGFjaFRvRWxlbWVudChFbGVtZW50Kik7
CiAgICAgdm9pZCBkZXRhY2hGcm9tRWxlbWVudFdpdGhWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcm
KTsKIAorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBtX25hbWUubmFtZXNwYWNlVVJJKCk7IH0KKwogcHJpdmF0ZToK
ICAgICBBdHRyKEVsZW1lbnQqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgQXR0cihEb2N1
bWVudCYsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsK
QEAgLTc0LDcgKzc2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIE5vZGVUeXBlIG5vZGVUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQVRUUklCVVRFX05PREU7IH0KIAogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX25hbWUubG9jYWxOYW1lKCk7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZXNwYWNlVVJJKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLm5hbWVzcGFjZVVS
SSgpOyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHByZWZpeCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIG1fbmFtZS5wcmVmaXgoKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCmluZGV4IDMzNjQ0YzI3MmVkMTU5Y2Yx
MjdjYzI0MWExMTMzMWFjNGZhYTg0MjUuLmNiYjA2YjJlMDI0ZjUzZTkwZDgwYjhlMWE2MWFkMmYw
MmI2YTJiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCkBAIC00MSwy
MSArNDEsMjIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7
CiAgICAgCi1QYXNzUmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVh
dGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiBy
ZXNvbHZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCitpbmxpbmUgWFBhdGhFeHByZXNzaW9uOjpYUGF0
aEV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNzaW9uPiYmIGV4cHJlc3Np
b24pCisgICAgOiBtX3RvcEV4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJlc3Npb24pKQogewotICAg
IFJlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGV4cHIgPSBYUGF0aEV4cHJlc3Npb246OmNyZWF0ZSgp
OwotICAgIFBhcnNlciBwYXJzZXI7Cit9CiAKLSAgICBleHByLT5tX3RvcEV4cHJlc3Npb24gPSBw
YXJzZXIucGFyc2VTdGF0ZW1lbnQoZXhwcmVzc2lvbiwgcmVzb2x2ZXIsIGVjKTsKLSAgICBpZiAo
IWV4cHItPm1fdG9wRXhwcmVzc2lvbikKLSAgICAgICAgcmV0dXJuIDA7CitQYXNzUmVmUHRyPFhQ
YXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0
cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlciwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgYXV0byBwYXJzZWRFeHByZXNzaW9uID0gUGFyc2VyOjpwYXJzZVN0YXRl
bWVudChleHByZXNzaW9uLCByZXNvbHZlciwgZWMpOworICAgIGlmICghcGFyc2VkRXhwcmVzc2lv
bikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gZXhwci5yZWxlYXNlKCk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24oc3RkOjptb3ZlKHBhcnNl
ZEV4cHJlc3Npb24pKSk7CiB9CiAKIFhQYXRoRXhwcmVzc2lvbjo6flhQYXRoRXhwcmVzc2lvbigp
CiB7Ci0gICAgZGVsZXRlIG1fdG9wRXhwcmVzc2lvbjsKIH0KIAogUGFzc1JlZlB0cjxYUGF0aFJl
c3VsdD4gWFBhdGhFeHByZXNzaW9uOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWdu
ZWQgc2hvcnQgdHlwZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTcxLDIw
ICs3MiwyMCBAQCBQYXNzUmVmUHRyPFhQYXRoUmVzdWx0PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1
YXRlKE5vZGUqIGNvbnRleHROb2RlLCB1bnNpZ25lZCBzaAogICAgIGV2YWx1YXRpb25Db250ZXh0
LnBvc2l0aW9uID0gMTsKICAgICBldmFsdWF0aW9uQ29udGV4dC5oYWRUeXBlQ29udmVyc2lvbkVy
cm9yID0gZmFsc2U7CiAgICAgUmVmUHRyPFhQYXRoUmVzdWx0PiByZXN1bHQgPSBYUGF0aFJlc3Vs
dDo6Y3JlYXRlKCZjb250ZXh0Tm9kZS0+ZG9jdW1lbnQoKSwgbV90b3BFeHByZXNzaW9uLT5ldmFs
dWF0ZSgpKTsKLSAgICBldmFsdWF0aW9uQ29udGV4dC5ub2RlID0gMDsgLy8gRG8gbm90IGhvbGQg
YSByZWZlcmVuY2UgdG8gdGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUg
d2hvbGUgZG9jdW1lbnQgZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KKyAgICBldmFsdWF0
aW9uQ29udGV4dC5ub2RlID0gbnVsbHB0cjsgLy8gRG8gbm90IGhvbGQgYSByZWZlcmVuY2UgdG8g
dGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUgd2hvbGUgZG9jdW1lbnQg
ZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KIAogICAgIGlmIChldmFsdWF0aW9uQ29udGV4
dC5oYWRUeXBlQ29udmVyc2lvbkVycm9yKSB7CiAgICAgICAgIC8vIEl0IGlzIG5vdCBzcGVjaWZp
ZWQgd2hhdCB0byBkbyBpZiB0eXBlIGNvbnZlcnNpb24gZmFpbHMgd2hpbGUgZXZhbHVhdGluZyBh
biBleHByZXNzaW9uLCBhbmQgSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiBpcyBub3QgZXhhY3RseSBy
aWdodAogICAgICAgICAvLyB3aGVuIHRoZSBmYWlsdXJlIGhhcHBlbnMgaW4gYW4gb3RoZXJ3aXNl
IHZhbGlkIGV4cHJlc3Npb24gYmVjYXVzZSBvZiBhIHZhcmlhYmxlLiBCdXQgWFBhdGhFdmFsdWF0
b3IgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJsZXMsIHNvIGl0J3MgY2xvc2UgZW5vdWdoLgogICAg
ICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJFU1NJT05fRVJSOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKHR5
cGUgIT0gWFBhdGhSZXN1bHQ6OkFOWV9UWVBFKSB7CiAgICAgICAgIGVjID0gMDsKICAgICAgICAg
cmVzdWx0LT5jb252ZXJ0VG8odHlwZSwgZWMpOwogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJl
dHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgKaW5kZXggMzEyNDkz
OWM2YWRjY2Y0NTUzMTA3MDQ2YTY2MTQyYjU1OGQ0ZGM5Yy4uMDBhMTdhMzBiZTMzZTBkMzMxYmEx
ZjY5ZWYyNWUzZjg1NTg3MTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFi
ZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSwx
NiArNDQsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgWFBhdGhFeHByZXNz
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8WFBhdGhFeHByZXNzaW9uPiB7CiAgICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24pOyB9CisgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gY3JlYXRlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGV4
cHJlc3Npb24sIFhQYXRoTlNSZXNvbHZlciosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgflhQ
YXRoRXhwcmVzc2lvbigpOwogICAgICAgICAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WFBh
dGhFeHByZXNzaW9uPiBjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwg
WFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICBQYXNzUmVmUHRyPFhQ
YXRoUmVzdWx0PiBldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWduZWQgc2hvcnQgdHlw
ZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgICAgICAKICAgICBwcml2
YXRlOgotICAgICAgICBYUGF0aEV4cHJlc3Npb24oKSB7IH0KKyAgICAgICAgWFBhdGhFeHByZXNz
aW9uKHN0ZDo6dW5pcXVlX3B0cjxYUGF0aDo6RXhwcmVzc2lvbj4mJik7CiAKLSAgICAgICAgWFBh
dGg6OkV4cHJlc3Npb24qIG1fdG9wRXhwcmVzc2lvbjsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFhQYXRoOjpFeHByZXNzaW9uPiBtX3RvcEV4cHJlc3Npb247CiAgICAgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCmluZGV4IGUzN2NjZGFlOGJjNTI5
ZGY3MTM1YTc4Mzg3NTZkZGY4ZTQ2OWM5YTQuLjY4NGQwZGViYzY3NjM4NDI2M2U2YmZjMDRhYjAw
ZDkwYjc1YmY4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJYUGF0aEV4cHJlc3Npb25Ob2RlLmgiCiAK
ICNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4
ICszNiw4IEBAIG5hbWVzcGFjZSBYUGF0aCB7CiAKIEV2YWx1YXRpb25Db250ZXh0JiBFeHByZXNz
aW9uOjpldmFsdWF0aW9uQ29udGV4dCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChFdmFs
dWF0aW9uQ29udGV4dCwgZXZhbHVhdGlvbkNvbnRleHQsICgpKTsKLSAgICByZXR1cm4gZXZhbHVh
dGlvbkNvbnRleHQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEV2YWx1YXRpb25Db250ZXh0
PiBjb250ZXh0OworICAgIHJldHVybiBjb250ZXh0OwogfQogCiBFeHByZXNzaW9uOjpFeHByZXNz
aW9uKCkKQEAgLTQ2LDkgKzQ3LDE1IEBAIEV4cHJlc3Npb246OkV4cHJlc3Npb24oKQogewogfQog
Ci1FeHByZXNzaW9uOjp+RXhwcmVzc2lvbigpCit2b2lkIEV4cHJlc3Npb246OnNldFN1YmV4cHJl
c3Npb25zKFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgc3ViZXhwcmVzc2lv
bnMpCiB7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fc3ViRXhwcmVzc2lvbnMpOworICAgIEFTU0VS
VChtX3N1YmV4cHJlc3Npb25zLmlzRW1wdHkoKSk7CisgICAgbV9zdWJleHByZXNzaW9ucyA9IHN0
ZDo6bW92ZShzdWJleHByZXNzaW9ucyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1f
c3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vu
c2l0aXZlIHw9IG1fc3ViZXhwcmVzc2lvbnNbaV0tPm1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsK
KyAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBtX3N1YmV4cHJlc3Npb25z
W2ldLT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFNp
emVTZW5zaXRpdmUgfD0gbV9zdWJleHByZXNzaW9uc1tpXS0+bV9pc0NvbnRleHRTaXplU2Vuc2l0
aXZlOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgWFBhdGgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IDFlY2U0YjNiMWIzYjA4NDY3OTI2MTBhZjI3YzU3
ODI0YmUxNmY2YjYuLmViZjFmNTA2OGQzNmViZTE4ZDk4ZGM2NDE1Njc1ZDZlZTBiYWI0MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMSw2ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4K
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2NiArMjcsNTYgQEAKICNpZm5k
ZWYgWFBhdGhFeHByZXNzaW9uTm9kZV9oCiAjZGVmaW5lIFhQYXRoRXhwcmVzc2lvbk5vZGVfaAog
Ci0jaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlhQYXRoVmFsdWUuaCIKLSNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7
CiAKIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7Ci1wdWJsaWM6CiAgICAgUmVmUHRyPE5vZGU+IG5vZGU7Ci0gICAgdW5zaWduZWQgbG9uZyBz
aXplOwotICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRpb247CisgICAgdW5zaWduZWQgc2l6ZTsKKyAg
ICB1bnNpZ25lZCBwb3NpdGlvbjsKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiB2YXJpYWJs
ZUJpbmRpbmdzOwogCiAgICAgYm9vbCBoYWRUeXBlQ29udmVyc2lvbkVycm9yOwogfTsKIAotY2xh
c3MgUGFyc2VOb2RlIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KLX07
Ci0KLWNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKK2NsYXNzIEV4cHJlc3Np
b24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1
YXRpb25Db250ZXh0KCk7CiAKLSAgICB2aXJ0dWFsIH5FeHByZXNzaW9uKCk7CisgICAgdmlydHVh
bCB+RXhwcmVzc2lvbigpIHsgfQogCi0gICAgdm9pZCBhZGRTdWJFeHByZXNzaW9uKEV4cHJlc3Np
b24qIGV4cHIpCi0gICAgewotICAgICAgICBtX3N1YkV4cHJlc3Npb25zLmFwcGVuZChleHByKTsK
LSAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlIHw9IGV4cHItPm1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZTsKLSAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBleHBy
LT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOwotICAgICAgICBtX2lzQ29udGV4dFNpemVT
ZW5zaXRpdmUgfD0gZXhwci0+bV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlOwotICAgIH0KKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIGJvb2wgaXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsgfQotICAgIHZv
aWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KICAgICBib29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0
aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsgfQotICAg
IHZvaWQgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoYm9vbCB2YWx1ZSkgeyBtX2lzQ29u
dGV4dFBvc2l0aW9uU2Vuc2l0aXZlID0gdmFsdWU7IH0KLQogICAgIGJvb2wgaXNDb250ZXh0U2l6
ZVNlbnNpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZTsgfQot
ICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250
ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRl
KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIEV4cHJlc3Npb24oKTsKIAotICAgIHVuc2lnbmVkIHN1
YkV4cHJlc3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViRXhwcmVzc2lvbnMuc2l6ZSgp
OyB9Ci0gICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25z
dCB7IHJldHVybiAqbV9zdWJFeHByZXNzaW9uc1tpXTsgfQorICAgIHVuc2lnbmVkIHN1YmV4cHJl
c3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyB9Cisg
ICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViZXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25zdCB7IHJl
dHVybiAqbV9zdWJleHByZXNzaW9uc1tpXTsgfQorCisgICAgdm9pZCBhZGRTdWJleHByZXNzaW9u
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGV4cHJlc3Npb24pCisgICAgeworICAgICAg
ICBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUgfD0gZXhwcmVzc2lvbi0+bV9pc0NvbnRleHROb2Rl
U2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlIHw9IGV4cHJl
c3Npb24tPm1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSB8PSBleHByZXNzaW9uLT5tX2lzQ29udGV4dFNpemVTZW5zaXRpdmU7Cisg
ICAgICAgIG1fc3ViZXhwcmVzc2lvbnMuYXBwZW5kKHN0ZDo6bW92ZShleHByZXNzaW9uKSk7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRTdWJleHByZXNzaW9ucyhWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmKTsKKworICAgIHZvaWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShi
b29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSA9IHZhbHVlOyB9CisgICAgdm9p
ZCBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNl
bnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9
CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiBtX3N1YkV4cHJlc3Npb25zOwor
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fc3ViZXhwcmVzc2lvbnM7
CiAKICAgICAvLyBFdmFsdWF0aW9uIGRldGFpbHMgdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3B0aW1p
emF0aW9uLgogICAgIGJvb2wgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aEZ1bmN0aW9ucy5jcHAKaW5kZXggMmQyNGUxYWFlNTZlM2Q5MjBiOGFjMGQyNzQ1NWJi
Yjc1OTVmNDQ0MS4uYzc3MTU2MmMwMzZiYjNlOTg5OTA3ZmVkM2Y5ZDA2N2JhNjdlYTEyOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJYUGF0aFV0aWwuaCIKICNpbmNsdWRl
ICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ2LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQogICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdc
bicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1x0JzsKIH0KIAotCi0jZGVmaW5lIERFRklORV9GVU5D
VElPTl9DUkVBVE9SKENsYXNzKSBzdGF0aWMgRnVuY3Rpb24qIGNyZWF0ZSMjQ2xhc3MoKSB7IHJl
dHVybiBuZXcgQ2xhc3M7IH0KKyNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoU3VmZml4
KSBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGVGdW5jdGlvbiMjU3VmZml4
KCkgeyByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxGdW4jI1N1ZmZpeD4oKTsgfQogCiBjbGFzcyBJ
bnRlcnZhbCB7CiBwdWJsaWM6CkBAIC02MywyMDEgKzYzLDE5MyBAQCBwcml2YXRlOgogICAgIGlu
dCBtX21heDsKIH07CiAKLXN0cnVjdCBGdW5jdGlvblJlYyB7Ci0gICAgdHlwZWRlZiBGdW5jdGlv
biAqKCpGYWN0b3J5Rm4pKCk7Ci0gICAgRmFjdG9yeUZuIGZhY3RvcnlGbjsKLSAgICBJbnRlcnZh
bCBhcmdzOwotfTsKLQotc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz4qIGZ1bmN0
aW9uTWFwOwotCi1jbGFzcyBGdW5MYXN0IDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5MYXN0
IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAg
RnVuTGFzdCgpIHsgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSh0cnVlKTsgfQogfTsKIAotY2xh
c3MgRnVuUG9zaXRpb24gOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1blBvc2l0aW9uIEZJTkFM
IDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuUG9z
aXRpb24oKSB7IHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKHRydWUpOyB9CiB9OwogCi1j
bGFzcyBGdW5Db3VudCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ291bnQgRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1bklkIDogcHVi
bGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5v
ZGVTZXRWYWx1ZTsgfQorY2xhc3MgRnVuSWQgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9k
ZVNldFZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Mb2NhbE5hbWUgOiBwdWJsaWMgRnVuY3Rpb24g
ewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0K
K2NsYXNzIEZ1bkxvY2FsTmFtZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1
ZTsgfQogcHVibGljOgogICAgIEZ1bkxvY2FsTmFtZSgpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSh0cnVlKTsgfSAvLyBsb2NhbC1uYW1lKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250
ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTmFtZXNwYWNlVVJJIDogcHVibGljIEZ1bmN0aW9u
IHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9
CitjbGFzcyBGdW5OYW1lc3BhY2VVUkkgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5n
VmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lc3BhY2VVUkkoKSB7IHNldElzQ29udGV4dE5v
ZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbmFtZXNwYWNlLXVyaSgpIHdpdGggbm8gYXJndW1lbnRz
IHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNzIEZ1bk5hbWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KK2NsYXNzIEZ1bk5hbWUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lKCkgeyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRy
dWUpOyB9IC8vIG5hbWUoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9
OwogCi1jbGFzcyBGdW5TdHJpbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN0cmluZyBG
SU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1
blN0cmluZygpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBzdHJpbmco
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5D
b25jYXQgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bkNvbmNhdCBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3RhcnRzV2l0aCA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpC
b29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1blN0YXJ0c1dpdGggRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Db250YWlucyA6IHB1YmxpYyBG
dW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFu
VmFsdWU7IH0KK2NsYXNzIEZ1bkNvbnRhaW5zIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAg
ICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJv
b2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nQmVmb3JlIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdCZWZvcmUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24g
eworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1
ZTo6U3RyaW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN1YnN0cmluZ0FmdGVyIDogcHVibGlj
IEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmlu
Z1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdBZnRlciBGSU5BTCA6IHB1YmxpYyBGdW5jdGlv
biB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmcgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3Ry
aW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN0cmluZ0xlbmd0aCA6IHB1YmxpYyBGdW5jdGlv
biB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFs
dWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsg
fQorY2xhc3MgRnVuU3RyaW5nTGVuZ3RoIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJl
clZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuU3RyaW5nTGVuZ3RoKCkgeyBzZXRJc0NvbnRleHRO
b2RlU2Vuc2l0aXZlKHRydWUpOyB9IC8vIHN0cmluZy1sZW5ndGgoKSB3aXRoIG5vIGFyZ3VtZW50
cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5Ob3JtYWxpemVTcGFjZSA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpT
dHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTm9ybWFsaXplU3BhY2UgRklOQUwgOiBwdWJsaWMgRnVu
Y3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5Ob3JtYWxpemVTcGFjZSgp
IHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBub3JtYWxpemUtc3BhY2Uo
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5U
cmFuc2xhdGUgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blRyYW5zbGF0ZSBGSU5BTCA6IHB1
YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQm9vbGVhbiA6
IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVl
OjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkJvb2xlYW4gRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCiBjbGFzcyBGdW5Ob3QgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blRydWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CitjbGFzcyBGdW5UcnVlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlw
ZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1
ZTsgfQogfTsKIAotY2xhc3MgRnVuRmFsc2UgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5G
YWxzZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNs
YXNzIEZ1bkxhbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7
IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5MYW5nIEZJTkFMIDogcHVi
bGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bkxhbmcoKSB7
IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbGFuZygpIGFsd2F5cyB3b3Jr
cyBvbiBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTnVtYmVyIDogcHVibGljIEZ1bmN0
aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVl
OyB9CitjbGFzcyBGdW5OdW1iZXIgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFs
dWU7IH0KIHB1YmxpYzoKICAgICBGdW5OdW1iZXIoKSB7IHNldElzQ29udGV4dE5vZGVTZW5zaXRp
dmUodHJ1ZSk7IH0gLy8gbnVtYmVyKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250ZXh0IG5v
ZGUuIAogfTsKIAotY2xhc3MgRnVuU3VtIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5TdW0g
RklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1
bkZsb29yIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1
cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5GbG9vciBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQ2VpbGluZyA6IHB1Ymxp
YyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1i
ZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ2VpbGluZyBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7Cisg
ICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpO
dW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuUm91bmQgOiBwdWJsaWMgRnVuY3Rpb24gewot
ICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2Ns
YXNzIEZ1blJvdW5kIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBw
dWJsaWM6CiAgICAgc3RhdGljIGRvdWJsZSByb3VuZChkb3VibGUpOwogfTsKIAotREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoRnVuTGFzdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blBvc2l0
aW9uKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuQ291bnQpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5JZCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkxvY2FsTmFtZSkKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5hbWVzcGFjZVVSSSkKLURFRklORV9GVU5DVElPTl9D
UkVBVE9SKEZ1bk5hbWUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN0cmluZykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvbmNhdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9S
KEZ1blN0YXJ0c1dpdGgpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Db250YWlucykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN1YnN0cmluZ0JlZm9yZSkKLURFRklORV9GVU5DVElP
Tl9DUkVBVE9SKEZ1blN1YnN0cmluZ0FmdGVyKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVu
U3Vic3RyaW5nKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3RyaW5nTGVuZ3RoKQotREVG
SU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTm9ybWFsaXplU3BhY2UpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5UcmFuc2xhdGUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkJvb2xl
YW4pCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Ob3QpCi1ERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5UcnVlKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuRmFsc2UpCi1ERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihGdW5MYW5nKQotCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5O
dW1iZXIpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5TdW0pCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5GbG9vcikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNlaWxpbmcpCi1E
RUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Sb3VuZCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KExhc3QpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihQb3NpdGlvbikKK0RFRklORV9GVU5DVElP
Tl9DUkVBVE9SKENvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoSWQpCitERUZJTkVfRlVO
Q1RJT05fQ1JFQVRPUihMb2NhbE5hbWUpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lc3Bh
Y2VVUkkpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lKQorCitERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihTdHJpbmcpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDb25jYXQpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdGFydHNXaXRoKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoQ29u
dGFpbnMpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdCZWZvcmUpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdBZnRlcikKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KFN1YnN0cmluZykKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0cmluZ0xlbmd0aCkKK0RFRklO
RV9GVU5DVElPTl9DUkVBVE9SKE5vcm1hbGl6ZVNwYWNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFU
T1IoVHJhbnNsYXRlKQorCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihCb29sZWFuKQorREVGSU5F
X0ZVTkNUSU9OX0NSRUFUT1IoTm90KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoVHJ1ZSkKK0RF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZhbHNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTGFu
ZykKKworREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTnVtYmVyKQorREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoU3VtKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRmxvb3IpCitERUZJTkVfRlVOQ1RJ
T05fQ1JFQVRPUihDZWlsaW5nKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoUm91bmQpCiAKICN1
bmRlZiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUgogCkBAIC0yOTAsMTcgKzI4MiwxNyBAQCBpbmxp
bmUgYm9vbCBJbnRlcnZhbDo6Y29udGFpbnMoaW50IHZhbHVlKSBjb25zdAogICAgIHJldHVybiB2
YWx1ZSA+PSBtX21pbiAmJiB2YWx1ZSA8PSBtX21heDsKIH0KIAotdm9pZCBGdW5jdGlvbjo6c2V0
QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCit2b2lkIEZ1bmN0aW9u
OjpzZXRBcmd1bWVudHMoY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmIGFyZ3VtZW50cykKIHsKLSAgICBBU1NFUlQoIXN1YkV4cHJlc3Npb25D
b3VudCgpKTsKKyAgICBBU1NFUlQoIXN1YmV4cHJlc3Npb25Db3VudCgpKTsKIAotICAgIC8vIFNv
bWUgZnVuY3Rpb25zIHVzZSBjb250ZXh0IG5vZGUgYXMgaW1wbGljaXQgYXJndW1lbnQsIHNvIHdo
ZW4gZXhwbGljaXQgYXJndW1lbnRzIGFyZSBhZGRlZCwgdGhleSBtYXkgbm8gbG9uZ2VyIGJlIGNv
bnRleHQgbm9kZSBzZW5zaXRpdmUuCi0gICAgaWYgKG1fbmFtZSAhPSAibGFuZyIgJiYgIWFyZ3Mu
aXNFbXB0eSgpKQorICAgIC8vIEZ1bmN0aW9ucyB0aGF0IHVzZSB0aGUgY29udGV4dCBub2RlIGFz
IGFuIGltcGxpY2l0IGFyZ3VtZW50IGFyZSBjb250ZXh0IG5vZGUgc2Vuc2l0aXZlIHdoZW4gdGhl
eQorICAgIC8vIGhhdmUgbm8gYXJndW1lbnRzLCBidXQgd2hlbiBleHBsaWNpdCBhcmd1bWVudHMg
YXJlIGFkZGVkLCB0aGV5IGFyZSBubyBsb25nZXIgY29udGV4dCBub2RlIHNlbnNpdGl2ZS4KKyAg
ICAvLyBBcyBvZiB0aGlzIHdyaXRpbmcsIHRoYXQgaXMgb25seSB0aGUgImxhbmciIGZ1bmN0aW9u
LgorICAgIGlmIChuYW1lICE9ICJsYW5nIiAmJiAhYXJndW1lbnRzLmlzRW1wdHkoKSkKICAgICAg
ICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShmYWxzZSk7CiAKLSAgICBWZWN0b3I8RXhwcmVz
c2lvbio+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBhcmdzLmVuZCgpOwotICAgIGZvciAoVmVjdG9y
PEV4cHJlc3Npb24qPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBhcmdzLmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkKLSAgICAgICAgYWRkU3ViRXhwcmVzc2lvbigqaXQpOworICAgIHNldFN1YmV4cHJl
c3Npb25zKHN0ZDo6bW92ZShhcmd1bWVudHMpKTsKIH0KIAogVmFsdWUgRnVuTGFzdDo6ZXZhbHVh
dGUoKSBjb25zdApAQCAtMzU4LDcgKzM1MCw3IEBAIFZhbHVlIEZ1bklkOjpldmFsdWF0ZSgpIGNv
bnN0CiAgICAgCiAgICAgcmVzdWx0Lm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgIAotICAgIHJldHVy
biBWYWx1ZShyZXN1bHQsIFZhbHVlOjphZG9wdCk7CisgICAgcmV0dXJuIFZhbHVlKHN0ZDo6bW92
ZShyZXN1bHQpKTsKIH0KIAogc3RhdGljIGlubGluZSBTdHJpbmcgZXhwYW5kZWROYW1lTG9jYWxQ
YXJ0KE5vZGUqIG5vZGUpCkBAIC0zODEsMTAgKzM3MywxMCBAQCBWYWx1ZSBGdW5Mb2NhbE5hbWU6
OmV2YWx1YXRlKCkgY29uc3QKICAgICBpZiAoYXJndW1lbnRDb3VudCgpID4gMCkgewogICAgICAg
ICBWYWx1ZSBhID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKTsKICAgICAgICAgaWYgKCFhLmlzTm9k
ZVNldCgpKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CiAKICAgICAgICAgTm9kZSogbm9kZSA9IGEudG9Ob2RlU2V0KCkuZmlyc3ROb2Rl
KCk7Ci0gICAgICAgIHJldHVybiBub2RlID8gZXhwYW5kZWROYW1lTG9jYWxQYXJ0KG5vZGUpIDog
IiI7CisgICAgICAgIHJldHVybiBub2RlID8gZXhwYW5kZWROYW1lTG9jYWxQYXJ0KG5vZGUpIDog
ZW1wdHlTdHJpbmcoKTsKICAgICB9CiAKICAgICByZXR1cm4gZXhwYW5kZWROYW1lTG9jYWxQYXJ0
KGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS5nZXQoKSk7CkBAIC0zOTUsMTAgKzM4NywxMCBAQCBW
YWx1ZSBGdW5OYW1lc3BhY2VVUkk6OmV2YWx1YXRlKCkgY29uc3QKICAgICBpZiAoYXJndW1lbnRD
b3VudCgpID4gMCkgewogICAgICAgICBWYWx1ZSBhID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKTsK
ICAgICAgICAgaWYgKCFhLmlzTm9kZVNldCgpKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAg
ICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICAgICAgTm9kZSogbm9kZSA9IGEu
dG9Ob2RlU2V0KCkuZmlyc3ROb2RlKCk7Ci0gICAgICAgIHJldHVybiBub2RlID8gbm9kZS0+bmFt
ZXNwYWNlVVJJKCkuc3RyaW5nKCkgOiAiIjsKKyAgICAgICAgcmV0dXJuIG5vZGUgPyBub2RlLT5u
YW1lc3BhY2VVUkkoKS5zdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCk7CiAgICAgfQogCiAgICAgcmV0
dXJuIGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS0+bmFtZXNwYWNlVVJJKCkuc3RyaW5nKCk7CkBA
IC00MDksMTAgKzQwMSwxMCBAQCBWYWx1ZSBGdW5OYW1lOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAg
aWYgKGFyZ3VtZW50Q291bnQoKSA+IDApIHsKICAgICAgICAgVmFsdWUgYSA9IGFyZ3VtZW50KDAp
LmV2YWx1YXRlKCk7CiAgICAgICAgIGlmICghYS5pc05vZGVTZXQoKSkKLSAgICAgICAgICAgIHJl
dHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgICAgIE5v
ZGUqIG5vZGUgPSBhLnRvTm9kZVNldCgpLmZpcnN0Tm9kZSgpOwotICAgICAgICByZXR1cm4gbm9k
ZSA/IGV4cGFuZGVkTmFtZShub2RlKSA6ICIiOworICAgICAgICByZXR1cm4gbm9kZSA/IGV4cGFu
ZGVkTmFtZShub2RlKSA6IGVtcHR5U3RyaW5nKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGV4cGFu
ZGVkTmFtZShldmFsdWF0aW9uQ29udGV4dCgpLm5vZGUuZ2V0KCkpOwpAQCAtNDczLDEyICs0NjUs
MTIgQEAgVmFsdWUgRnVuU3Vic3RyaW5nQmVmb3JlOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgU3Ry
aW5nIHMyID0gYXJndW1lbnQoMSkuZXZhbHVhdGUoKS50b1N0cmluZygpOwogCiAgICAgaWYgKHMy
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuICIiOworICAgICAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKIAogICAgIHNpemVfdCBpID0gczEuZmluZChzMik7CiAKICAgICBpZiAoaSA9PSBub3RG
b3VuZCkKLSAgICAgICAgcmV0dXJuICIiOworICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
IAogICAgIHJldHVybiBzMS5sZWZ0KGkpOwogfQpAQCAtNDkwLDcgKzQ4Miw3IEBAIFZhbHVlIEZ1
blN1YnN0cmluZ0FmdGVyOjpldmFsdWF0ZSgpIGNvbnN0CiAKICAgICBzaXplX3QgaSA9IHMxLmZp
bmQoczIpOwogICAgIGlmIChpID09IG5vdEZvdW5kKQotICAgICAgICByZXR1cm4gIiI7CisgICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIHMxLnN1YnN0cmluZyhpICsg
czIubGVuZ3RoKCkpOwogfQpAQCAtNTAwLDI1ICs0OTIsMjUgQEAgVmFsdWUgRnVuU3Vic3RyaW5n
OjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgU3RyaW5nIHMgPSBhcmd1bWVudCgwKS5ldmFsdWF0ZSgp
LnRvU3RyaW5nKCk7CiAgICAgZG91YmxlIGRvdWJsZVBvcyA9IGFyZ3VtZW50KDEpLmV2YWx1YXRl
KCkudG9OdW1iZXIoKTsKICAgICBpZiAoc3RkOjppc25hbihkb3VibGVQb3MpKQotICAgICAgICBy
ZXR1cm4gIiI7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgIGxvbmcgcG9zID0g
c3RhdGljX2Nhc3Q8bG9uZz4oRnVuUm91bmQ6OnJvdW5kKGRvdWJsZVBvcykpOwogICAgIGJvb2wg
aGF2ZUxlbmd0aCA9IGFyZ3VtZW50Q291bnQoKSA9PSAzOwogICAgIGxvbmcgbGVuID0gLTE7CiAg
ICAgaWYgKGhhdmVMZW5ndGgpIHsKICAgICAgICAgZG91YmxlIGRvdWJsZUxlbiA9IGFyZ3VtZW50
KDIpLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsKICAgICAgICAgaWYgKHN0ZDo6aXNuYW4oZG91Ymxl
TGVuKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0
cmluZygpOwogICAgICAgICBsZW4gPSBzdGF0aWNfY2FzdDxsb25nPihGdW5Sb3VuZDo6cm91bmQo
ZG91YmxlTGVuKSk7CiAgICAgfQogCiAgICAgaWYgKHBvcyA+IGxvbmcocy5sZW5ndGgoKSkpIAot
ICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAg
aWYgKHBvcyA8IDEpIHsKICAgICAgICAgaWYgKGhhdmVMZW5ndGgpIHsKICAgICAgICAgICAgIGxl
biAtPSAxIC0gcG9zOwogICAgICAgICAgICAgaWYgKGxlbiA8IDEpCi0gICAgICAgICAgICAgICAg
cmV0dXJuICIiOworICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgICAg
ICB9CiAgICAgICAgIHBvcyA9IDE7CiAgICAgfQpAQCAtNTk3LDcgKzU4OSw3IEBAIFZhbHVlIEZ1
bkxhbmc6OmV2YWx1YXRlKCkgY29uc3QKICAgICB9CiAKICAgICBpZiAoIWxhbmd1YWdlQXR0cmli
dXRlKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBWYWx1ZShmYWxzZSk7
CiAKICAgICBTdHJpbmcgbGFuZ1ZhbHVlID0gbGFuZ3VhZ2VBdHRyaWJ1dGUtPnZhbHVlKCk7CiAg
ICAgd2hpbGUgKHRydWUpIHsKQEAgLTYxMSwxMiArNjAzLDEyIEBAIFZhbHVlIEZ1bkxhbmc6OmV2
YWx1YXRlKCkgY29uc3QKICAgICAgICAgbGFuZ1ZhbHVlID0gbGFuZ1ZhbHVlLmxlZnQoaW5kZXgp
OwogICAgIH0KIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gVmFsdWUoZmFsc2UpOwog
fQogCiBWYWx1ZSBGdW5GYWxzZTo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gVmFsdWUoZmFsc2UpOwogfQogCiBWYWx1ZSBGdW5OdW1iZXI6OmV2YWx1
YXRlKCkgY29uc3QKQEAgLTY2OSw2MiArNjYxLDc4IEBAIFZhbHVlIEZ1blJvdW5kOjpldmFsdWF0
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHJvdW5kKGFyZ3VtZW50KDApLmV2YWx1YXRlKCkudG9OdW1i
ZXIoKSk7CiB9CiAKLXN0cnVjdCBGdW5jdGlvbk1hcHBpbmcgewotICAgIGNvbnN0IGNoYXIqIG5h
bWU7Ci0gICAgRnVuY3Rpb25SZWMgZnVuY3Rpb247CitzdHJ1Y3QgRnVuY3Rpb25NYXBWYWx1ZSB7
CisgICAgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiAoKmNyZWF0aW9uRnVuY3Rpb24pKCk7Cisg
ICAgSW50ZXJ2YWwgYXJndW1lbnRDb3VudEludGVydmFsOwogfTsKIAotc3RhdGljIHZvaWQgY3Jl
YXRlRnVuY3Rpb25NYXAoKQorc3RhdGljIHZvaWQgcG9wdWxhdGVGdW5jdGlvbk1hcChIYXNoTWFw
PFN0cmluZywgRnVuY3Rpb25NYXBWYWx1ZT4mIGZ1bmN0aW9uTWFwKQogeworICAgIHN0cnVjdCBG
dW5jdGlvbk1hcHBpbmcgeworICAgICAgICBjb25zdCBjaGFyKiBuYW1lOworICAgICAgICBGdW5j
dGlvbk1hcFZhbHVlIGZ1bmN0aW9uOworICAgIH07CisKICAgICBzdGF0aWMgY29uc3QgRnVuY3Rp
b25NYXBwaW5nIGZ1bmN0aW9uc1tdID0gewotICAgICAgICB7ICJib29sZWFuIiwgeyAmY3JlYXRl
RnVuQm9vbGVhbiwgMSB9IH0sCi0gICAgICAgIHsgImNlaWxpbmciLCB7ICZjcmVhdGVGdW5DZWls
aW5nLCAxIH0gfSwKLSAgICAgICAgeyAiY29uY2F0IiwgeyAmY3JlYXRlRnVuQ29uY2F0LCBJbnRl
cnZhbCgyLCBJbnRlcnZhbDo6SW5mKSB9IH0sCi0gICAgICAgIHsgImNvbnRhaW5zIiwgeyAmY3Jl
YXRlRnVuQ29udGFpbnMsIDIgfSB9LAotICAgICAgICB7ICJjb3VudCIsIHsgJmNyZWF0ZUZ1bkNv
dW50LCAxIH0gfSwKLSAgICAgICAgeyAiZmFsc2UiLCB7ICZjcmVhdGVGdW5GYWxzZSwgMCB9IH0s
Ci0gICAgICAgIHsgImZsb29yIiwgeyAmY3JlYXRlRnVuRmxvb3IsIDEgfSB9LAotICAgICAgICB7
ICJpZCIsIHsgJmNyZWF0ZUZ1bklkLCAxIH0gfSwKLSAgICAgICAgeyAibGFuZyIsIHsgJmNyZWF0
ZUZ1bkxhbmcsIDEgfSB9LAotICAgICAgICB7ICJsYXN0IiwgeyAmY3JlYXRlRnVuTGFzdCwgMCB9
IH0sCi0gICAgICAgIHsgImxvY2FsLW5hbWUiLCB7ICZjcmVhdGVGdW5Mb2NhbE5hbWUsIEludGVy
dmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAibmFtZSIsIHsgJmNyZWF0ZUZ1bk5hbWUsIEludGVy
dmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAibmFtZXNwYWNlLXVyaSIsIHsgJmNyZWF0ZUZ1bk5h
bWVzcGFjZVVSSSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJub3JtYWxpemUtc3Bh
Y2UiLCB7ICZjcmVhdGVGdW5Ob3JtYWxpemVTcGFjZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAg
ICAgICB7ICJub3QiLCB7ICZjcmVhdGVGdW5Ob3QsIDEgfSB9LAotICAgICAgICB7ICJudW1iZXIi
LCB7ICZjcmVhdGVGdW5OdW1iZXIsIEludGVydmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAicG9z
aXRpb24iLCB7ICZjcmVhdGVGdW5Qb3NpdGlvbiwgMCB9IH0sCi0gICAgICAgIHsgInJvdW5kIiwg
eyAmY3JlYXRlRnVuUm91bmQsIDEgfSB9LAotICAgICAgICB7ICJzdGFydHMtd2l0aCIsIHsgJmNy
ZWF0ZUZ1blN0YXJ0c1dpdGgsIDIgfSB9LAotICAgICAgICB7ICJzdHJpbmciLCB7ICZjcmVhdGVG
dW5TdHJpbmcsIEludGVydmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAic3RyaW5nLWxlbmd0aCIs
IHsgJmNyZWF0ZUZ1blN0cmluZ0xlbmd0aCwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7
ICJzdWJzdHJpbmciLCB7ICZjcmVhdGVGdW5TdWJzdHJpbmcsIEludGVydmFsKDIsIDMpIH0gfSwK
LSAgICAgICAgeyAic3Vic3RyaW5nLWFmdGVyIiwgeyAmY3JlYXRlRnVuU3Vic3RyaW5nQWZ0ZXIs
IDIgfSB9LAotICAgICAgICB7ICJzdWJzdHJpbmctYmVmb3JlIiwgeyAmY3JlYXRlRnVuU3Vic3Ry
aW5nQmVmb3JlLCAyIH0gfSwKLSAgICAgICAgeyAic3VtIiwgeyAmY3JlYXRlRnVuU3VtLCAxIH0g
fSwKLSAgICAgICAgeyAidHJhbnNsYXRlIiwgeyAmY3JlYXRlRnVuVHJhbnNsYXRlLCAzIH0gfSwK
LSAgICAgICAgeyAidHJ1ZSIsIHsgJmNyZWF0ZUZ1blRydWUsIDAgfSB9LAorICAgICAgICB7ICJi
b29sZWFuIiwgeyBjcmVhdGVGdW5jdGlvbkJvb2xlYW4sIDEgfSB9LAorICAgICAgICB7ICJjZWls
aW5nIiwgeyBjcmVhdGVGdW5jdGlvbkNlaWxpbmcsIDEgfSB9LAorICAgICAgICB7ICJjb25jYXQi
LCB7IGNyZWF0ZUZ1bmN0aW9uQ29uY2F0LCBJbnRlcnZhbCgyLCBJbnRlcnZhbDo6SW5mKSB9IH0s
CisgICAgICAgIHsgImNvbnRhaW5zIiwgeyBjcmVhdGVGdW5jdGlvbkNvbnRhaW5zLCAyIH0gfSwK
KyAgICAgICAgeyAiY291bnQiLCB7IGNyZWF0ZUZ1bmN0aW9uQ291bnQsIDEgfSB9LAorICAgICAg
ICB7ICJmYWxzZSIsIHsgY3JlYXRlRnVuY3Rpb25GYWxzZSwgMCB9IH0sCisgICAgICAgIHsgImZs
b29yIiwgeyBjcmVhdGVGdW5jdGlvbkZsb29yLCAxIH0gfSwKKyAgICAgICAgeyAiaWQiLCB7IGNy
ZWF0ZUZ1bmN0aW9uSWQsIDEgfSB9LAorICAgICAgICB7ICJsYW5nIiwgeyBjcmVhdGVGdW5jdGlv
bkxhbmcsIDEgfSB9LAorICAgICAgICB7ICJsYXN0IiwgeyBjcmVhdGVGdW5jdGlvbkxhc3QsIDAg
fSB9LAorICAgICAgICB7ICJsb2NhbC1uYW1lIiwgeyBjcmVhdGVGdW5jdGlvbkxvY2FsTmFtZSwg
SW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJuYW1lIiwgeyBjcmVhdGVGdW5jdGlvbk5h
bWUsIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAibmFtZXNwYWNlLXVyaSIsIHsgY3Jl
YXRlRnVuY3Rpb25OYW1lc3BhY2VVUkksIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAi
bm9ybWFsaXplLXNwYWNlIiwgeyBjcmVhdGVGdW5jdGlvbk5vcm1hbGl6ZVNwYWNlLCBJbnRlcnZh
bCgwLCAxKSB9IH0sCisgICAgICAgIHsgIm5vdCIsIHsgY3JlYXRlRnVuY3Rpb25Ob3QsIDEgfSB9
LAorICAgICAgICB7ICJudW1iZXIiLCB7IGNyZWF0ZUZ1bmN0aW9uTnVtYmVyLCBJbnRlcnZhbCgw
LCAxKSB9IH0sCisgICAgICAgIHsgInBvc2l0aW9uIiwgeyBjcmVhdGVGdW5jdGlvblBvc2l0aW9u
LCAwIH0gfSwKKyAgICAgICAgeyAicm91bmQiLCB7IGNyZWF0ZUZ1bmN0aW9uUm91bmQsIDEgfSB9
LAorICAgICAgICB7ICJzdGFydHMtd2l0aCIsIHsgY3JlYXRlRnVuY3Rpb25TdGFydHNXaXRoLCAy
IH0gfSwKKyAgICAgICAgeyAic3RyaW5nIiwgeyBjcmVhdGVGdW5jdGlvblN0cmluZywgSW50ZXJ2
YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJzdHJpbmctbGVuZ3RoIiwgeyBjcmVhdGVGdW5jdGlv
blN0cmluZ0xlbmd0aCwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJzdWJzdHJpbmci
LCB7IGNyZWF0ZUZ1bmN0aW9uU3Vic3RyaW5nLCBJbnRlcnZhbCgyLCAzKSB9IH0sCisgICAgICAg
IHsgInN1YnN0cmluZy1hZnRlciIsIHsgY3JlYXRlRnVuY3Rpb25TdWJzdHJpbmdBZnRlciwgMiB9
IH0sCisgICAgICAgIHsgInN1YnN0cmluZy1iZWZvcmUiLCB7IGNyZWF0ZUZ1bmN0aW9uU3Vic3Ry
aW5nQmVmb3JlLCAyIH0gfSwKKyAgICAgICAgeyAic3VtIiwgeyBjcmVhdGVGdW5jdGlvblN1bSwg
MSB9IH0sCisgICAgICAgIHsgInRyYW5zbGF0ZSIsIHsgY3JlYXRlRnVuY3Rpb25UcmFuc2xhdGUs
IDMgfSB9LAorICAgICAgICB7ICJ0cnVlIiwgeyBjcmVhdGVGdW5jdGlvblRydWUsIDAgfSB9LAog
ICAgIH07CiAKLSAgICBmdW5jdGlvbk1hcCA9IG5ldyBIYXNoTWFwPFN0cmluZywgRnVuY3Rpb25S
ZWM+OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChmdW5jdGlv
bnMpOyArK2kpCi0gICAgICAgIGZ1bmN0aW9uTWFwLT5zZXQoZnVuY3Rpb25zW2ldLm5hbWUsIGZ1
bmN0aW9uc1tpXS5mdW5jdGlvbik7CisgICAgICAgIGZ1bmN0aW9uTWFwLmFkZChmdW5jdGlvbnNb
aV0ubmFtZSwgZnVuY3Rpb25zW2ldLmZ1bmN0aW9uKTsKIH0KIAotRnVuY3Rpb24qIGNyZWF0ZUZ1
bmN0aW9uKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgVmVjdG9yPEV4cHJlc3Npb24qPiYgYXJn
cykKK3N0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gRnVuY3Rpb246OmNyZWF0ZShjb25zdCBTdHJp
bmcmIG5hbWUsIHVuc2lnbmVkIG51bUFyZ3VtZW50cykKIHsKLSAgICBpZiAoIWZ1bmN0aW9uTWFw
KQotICAgICAgICBjcmVhdGVGdW5jdGlvbk1hcCgpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxIYXNoTWFwPFN0cmluZywgRnVuY3Rpb25NYXBWYWx1ZT4+IGZ1bmN0aW9uTWFwOworICAgIGlm
IChmdW5jdGlvbk1hcC5nZXQoKS5pc0VtcHR5KCkpCisgICAgICAgIHBvcHVsYXRlRnVuY3Rpb25N
YXAoZnVuY3Rpb25NYXApOwogCi0gICAgSGFzaE1hcDxTdHJpbmcsIEZ1bmN0aW9uUmVjPjo6aXRl
cmF0b3IgZnVuY3Rpb25NYXBJdGVyID0gZnVuY3Rpb25NYXAtPmZpbmQobmFtZSk7Ci0gICAgRnVu
Y3Rpb25SZWMqIGZ1bmN0aW9uUmVjID0gMDsKKyAgICBhdXRvIGl0ID0gZnVuY3Rpb25NYXAuZ2V0
KCkuZmluZChuYW1lKTsKKyAgICBpZiAoaXQgPT0gZnVuY3Rpb25NYXAuZ2V0KCkuZW5kKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKGZ1bmN0aW9uTWFwSXRlciA9PSBmdW5j
dGlvbk1hcC0+ZW5kKCkgfHwgIShmdW5jdGlvblJlYyA9ICZmdW5jdGlvbk1hcEl0ZXItPnZhbHVl
KS0+YXJncy5jb250YWlucyhhcmdzLnNpemUoKSkpCi0gICAgICAgIHJldHVybiAwOworICAgIGlm
ICghaXQtPnZhbHVlLmFyZ3VtZW50Q291bnRJbnRlcnZhbC5jb250YWlucyhudW1Bcmd1bWVudHMp
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIEZ1bmN0aW9uKiBmdW5jdGlvbiA9IGZ1
bmN0aW9uUmVjLT5mYWN0b3J5Rm4oKTsKLSAgICBmdW5jdGlvbi0+c2V0QXJndW1lbnRzKGFyZ3Mp
OwotICAgIGZ1bmN0aW9uLT5zZXROYW1lKG5hbWUpOworICAgIHJldHVybiBpdC0+dmFsdWUuY3Jl
YXRpb25GdW5jdGlvbigpOworfQorCitzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+IEZ1bmN0aW9u
OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIHJldHVybiBjcmVhdGUobmFtZSwg
MCk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gRnVuY3Rpb246OmNyZWF0ZShjb25z
dCBTdHJpbmcmIG5hbWUsIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgYXJn
dW1lbnRzKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gZnVuY3Rpb24gPSBjcmVh
dGUobmFtZSwgYXJndW1lbnRzLnNpemUoKSk7CisgICAgaWYgKGZ1bmN0aW9uKQorICAgICAgICBm
dW5jdGlvbi0+c2V0QXJndW1lbnRzKG5hbWUsIHN0ZDo6bW92ZShhcmd1bWVudHMpKTsKICAgICBy
ZXR1cm4gZnVuY3Rpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmgKaW5kZXgg
OTYyNWM4ODNhZThiMjBjMWM2ODQwNjg0NmU5MTllOWU2NjAxYzJlZi4uMmU5OGFkYTY0YjMzY2Y4
NGU5ZDg2OWQ4MDkzNmU5YWJmMjQ2MTFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoRnVuY3Rpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25z
LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1IEZyZXJpY2ggUmFh
YmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDkgQXBwbGUgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzQsMjEgKzM0
LDE4IEBAIG5hbWVzcGFjZSBYUGF0aCB7CiAKIGNsYXNzIEZ1bmN0aW9uIDogcHVibGljIEV4cHJl
c3Npb24gewogcHVibGljOgotICAgIHZvaWQgc2V0QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHBy
ZXNzaW9uKj4mKTsKLSAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKSB7IG1fbmFt
ZSA9IG5hbWU7IH0KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGUo
Y29uc3QgU3RyaW5nJiBuYW1lKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9u
PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+PiYmIGFyZ3VtZW50cyk7CiAKIHByb3RlY3RlZDoKLSAgICB1bnNpZ25lZCBhcmd1bWVu
dENvdW50KCkgY29uc3QgeyByZXR1cm4gc3ViRXhwcmVzc2lvbkNvdW50KCk7IH0KLSAgICBjb25z
dCBFeHByZXNzaW9uJiBhcmd1bWVudChpbnQgcG9zKSBjb25zdCB7IHJldHVybiBzdWJFeHByZXNz
aW9uKHBvcyk7IH0KLQotICAgIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9
CisgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpIGNvbnN0IHsgcmV0dXJuIHN1YmV4cHJlc3Np
b25Db3VudCgpOyB9CisgICAgY29uc3QgRXhwcmVzc2lvbiYgYXJndW1lbnQodW5zaWduZWQgaSkg
Y29uc3QgeyByZXR1cm4gc3ViZXhwcmVzc2lvbihpKTsgfQogCiBwcml2YXRlOgotICAgIFN0cmlu
ZyBtX25hbWU7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gY3JlYXRlKGNv
bnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgbnVtQXJndW1lbnRzKTsKKyAgICB2b2lkIHNldEFy
Z3VtZW50cyhjb25zdCBTdHJpbmcmIG5hbWUsIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4+JiYpOwogfTsKIAotRnVuY3Rpb24qIGNyZWF0ZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgVmVjdG9yPEV4cHJlc3Npb24qPiYgYXJncyA9IFZlY3RvcjxFeHByZXNzaW9u
Kj4oKSk7Ci0KIH0gLy8gbmFtZXNwYWNlIFhQYXRoCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEdyYW1tYXIueSBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aEdyYW1tYXIueQppbmRleCA1MTIwNGJiMzE4MjEyMjI2MjVkNDNjN2Ux
ZmYxMjEzZTczMGRiYTU0Li5iMTdhMjhhZjlmMDgzYWI1ZTI2MjY1ODE2NDY0MTVhYzEwODg5Yjc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhHcmFtbWFyLnkKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55CkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMzAsMTMgKzMwLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1
ZGUgIlhQYXRoRnVuY3Rpb25zLmgiCi0jaW5jbHVkZSAiWFBhdGhOU1Jlc29sdmVyLmgiCiAjaW5j
bHVkZSAiWFBhdGhQYXJzZXIuaCIKICNpbmNsdWRlICJYUGF0aFBhdGguaCIKLSNpbmNsdWRlICJY
UGF0aFByZWRpY2F0ZS5oIgotI2luY2x1ZGUgIlhQYXRoU3RlcC5oIgogI2luY2x1ZGUgIlhQYXRo
VmFyaWFibGVSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiAjZGVm
aW5lIFlZTUFMTE9DIGZhc3RNYWxsb2MKICNkZWZpbmUgWVlGUkVFIGZhc3RGcmVlCkBAIC00Niw5
OSArNDIsOTMgQEAKICNkZWZpbmUgWVlERUJVRyAwCiAjZGVmaW5lIFlZTUFYREVQVEggMTAwMDAK
IAorI2RlZmluZSBZWUxFWF9QQVJBTSBwYXJzZXIKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7CiAKICV9CiAKICVwdXJlX3BhcnNlcgotJXBhcnNlLXBh
cmFtIHsgV2ViQ29yZTo6WFBhdGg6OlBhcnNlciogcGFyc2VyIH0KLQotJXVuaW9uCi17Ci0gICAg
U3RlcDo6QXhpcyBheGlzOwotICAgIFN0ZXA6Ok5vZGVUZXN0KiBub2RlVGVzdDsKLSAgICBOdW1l
cmljT3A6Ok9wY29kZSBudW1vcDsKLSAgICBFcVRlc3RPcDo6T3Bjb2RlIGVxb3A7Ci0gICAgU3Ry
aW5nKiBzdHI7Ci0gICAgRXhwcmVzc2lvbiogZXhwcjsKLSAgICBWZWN0b3I8UHJlZGljYXRlKj4q
IHByZWRMaXN0OwotICAgIFZlY3RvcjxFeHByZXNzaW9uKj4qIGFyZ0xpc3Q7Ci0gICAgU3RlcCog
c3RlcDsKLSAgICBMb2NhdGlvblBhdGgqIGxvY2F0aW9uUGF0aDsKLX0KKyVwYXJzZS1wYXJhbSB7
IFBhcnNlciYgcGFyc2VyIH0KIAotJXsKKyV1bmlvbiB7IE51bWVyaWNPcDo6T3Bjb2RlIG51bWVy
aWNPcGNvZGU7IH0KKyVsZWZ0IDxudW1lcmljT3Bjb2RlPiBNVUxPUAogCi1zdGF0aWMgaW50IHhw
YXRoeXlsZXgoWVlTVFlQRSogeXlsdmFsKSB7IHJldHVybiBQYXJzZXI6OmN1cnJlbnQoKS0+bGV4
KHl5bHZhbCk7IH0KLXN0YXRpYyB2b2lkIHhwYXRoeXllcnJvcih2b2lkKiwgY29uc3QgY2hhciop
IHsgfQotICAgIAotJX0KKyV1bmlvbiB7IEVxVGVzdE9wOjpPcGNvZGUgZXF1YWxpdHlUZXN0T3Bj
b2RlOyB9CislbGVmdCA8ZXF1YWxpdHlUZXN0T3Bjb2RlPiBFUU9QIFJFTE9QCiAKLSVsZWZ0IDxu
dW1vcD4gTVVMT1AKLSVsZWZ0IDxlcW9wPiBFUU9QIFJFTE9QCiAlbGVmdCBQTFVTIE1JTlVTCisK
ICVsZWZ0IE9SIEFORAorCisldW5pb24geyBTdHJpbmdJbXBsKiBzdHJpbmc7IH0KKyV0b2tlbiA8
c3RyaW5nPiBGVU5DVElPTk5BTUUgTElURVJBTCBOQU1FVEVTVCBOVU1CRVIgTk9ERVRZUEUgVkFS
SUFCTEVSRUZFUkVOQ0UKKyVkZXN0cnVjdG9yIHsgaWYgKCQkKSAkJC0+ZGVyZWYoKTsgfSBGVU5D
VElPTk5BTUUgTElURVJBTCBOQU1FVEVTVCBOVU1CRVIgTk9ERVRZUEUgVkFSSUFCTEVSRUZFUkVO
Q0UKKworJXVuaW9uIHsgU3RlcDo6QXhpcyBheGlzOyB9CiAldG9rZW4gPGF4aXM+IEFYSVNOQU1F
Ci0ldG9rZW4gPHN0cj4gTk9ERVRZUEUgUEkgRlVOQ1RJT05OQU1FIExJVEVSQUwKLSV0b2tlbiA8
c3RyPiBWQVJJQUJMRVJFRkVSRU5DRSBOVU1CRVIKLSV0b2tlbiBET1RET1QgU0xBU0hTTEFTSAot
JXRva2VuIDxzdHI+IE5BTUVURVNUCi0ldG9rZW4gWFBBVEhfRVJST1IKLQotJXR5cGUgPGxvY2F0
aW9uUGF0aD4gTG9jYXRpb25QYXRoCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBBYnNvbHV0ZUxvY2F0
aW9uUGF0aAotJXR5cGUgPGxvY2F0aW9uUGF0aD4gUmVsYXRpdmVMb2NhdGlvblBhdGgKLSV0eXBl
IDxzdGVwPiBTdGVwCiAldHlwZSA8YXhpcz4gQXhpc1NwZWNpZmllcgotJXR5cGUgPHN0ZXA+IERl
c2NlbmRhbnRPclNlbGYKKworJXRva2VuIENPTU1FTlQgRE9URE9UIFBJIE5PREUgU0xBU0hTTEFT
SCBURVhUIFhQQVRIX0VSUk9SCisKKyV1bmlvbiB7IExvY2F0aW9uUGF0aCogbG9jYXRpb25QYXRo
OyB9CisldHlwZSA8bG9jYXRpb25QYXRoPiBMb2NhdGlvblBhdGggQWJzb2x1dGVMb2NhdGlvblBh
dGggUmVsYXRpdmVMb2NhdGlvblBhdGgKKyVkZXN0cnVjdG9yIHsgZGVsZXRlICQkOyB9IExvY2F0
aW9uUGF0aCBBYnNvbHV0ZUxvY2F0aW9uUGF0aCBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorCisldW5p
b24geyBTdGVwOjpOb2RlVGVzdCogbm9kZVRlc3Q7IH0KICV0eXBlIDxub2RlVGVzdD4gTm9kZVRl
c3QKLSV0eXBlIDxleHByPiBQcmVkaWNhdGUKLSV0eXBlIDxwcmVkTGlzdD4gT3B0aW9uYWxQcmVk
aWNhdGVMaXN0Ci0ldHlwZSA8cHJlZExpc3Q+IFByZWRpY2F0ZUxpc3QKLSV0eXBlIDxzdGVwPiBB
YmJyZXZpYXRlZFN0ZXAKLSV0eXBlIDxleHByPiBFeHByCi0ldHlwZSA8ZXhwcj4gUHJpbWFyeUV4
cHIKLSV0eXBlIDxleHByPiBGdW5jdGlvbkNhbGwKLSV0eXBlIDxhcmdMaXN0PiBBcmd1bWVudExp
c3QKLSV0eXBlIDxleHByPiBBcmd1bWVudAotJXR5cGUgPGV4cHI+IFVuaW9uRXhwcgotJXR5cGUg
PGV4cHI+IFBhdGhFeHByCi0ldHlwZSA8ZXhwcj4gRmlsdGVyRXhwcgotJXR5cGUgPGV4cHI+IE9y
RXhwcgotJXR5cGUgPGV4cHI+IEFuZEV4cHIKLSV0eXBlIDxleHByPiBFcXVhbGl0eUV4cHIKLSV0
eXBlIDxleHByPiBSZWxhdGlvbmFsRXhwcgotJXR5cGUgPGV4cHI+IEFkZGl0aXZlRXhwcgotJXR5
cGUgPGV4cHI+IE11bHRpcGxpY2F0aXZlRXhwcgotJXR5cGUgPGV4cHI+IFVuYXJ5RXhwcgorJWRl
c3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gTm9kZVRlc3QKKworJXVuaW9uIHsgVmVjdG9yPFByZWRp
Y2F0ZT4qIHByZWRpY2F0ZVZlY3RvcjsgfQorJXR5cGUgPHByZWRpY2F0ZVZlY3Rvcj4gUHJlZGlj
YXRlTGlzdCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKKyVkZXN0cnVjdG9yIHsgZGVsZXRlICQkOyB9
IFByZWRpY2F0ZUxpc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CisKKyV1bmlvbiB7IFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+KiBleHByZXNzaW9uVmVjdG9yOyB9CisldHlwZSA8
ZXhwcmVzc2lvblZlY3Rvcj4gQXJndW1lbnRMaXN0CislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsg
fSBBcmd1bWVudExpc3QKKworJXVuaW9uIHsgU3RlcCogc3RlcDsgfQorJXR5cGUgPHN0ZXA+IFN0
ZXAgQWJicmV2aWF0ZWRTdGVwIERlc2NlbmRhbnRPclNlbGYKKyVkZXN0cnVjdG9yIHsgZGVsZXRl
ICQkOyB9IFN0ZXAgQWJicmV2aWF0ZWRTdGVwIERlc2NlbmRhbnRPclNlbGYKKworJXVuaW9uIHsg
RXhwcmVzc2lvbiogZXhwcmVzc2lvbjsgfQorJXR5cGUgPGV4cHJlc3Npb24+IEFkZGl0aXZlRXhw
ciBBbmRFeHByIEFyZ3VtZW50IEVxdWFsaXR5RXhwciBFeHByIEZpbHRlckV4cHIgRnVuY3Rpb25D
YWxsIE11bHRpcGxpY2F0aXZlRXhwciBPckV4cHIgUGF0aEV4cHIgUHJlZGljYXRlIFByaW1hcnlF
eHByIFJlbGF0aW9uYWxFeHByIFVuYXJ5RXhwciBVbmlvbkV4cHIKKyVkZXN0cnVjdG9yIHsgZGVs
ZXRlICQkOyB9IEFkZGl0aXZlRXhwciBBbmRFeHByIEFyZ3VtZW50IEVxdWFsaXR5RXhwciBFeHBy
IEZpbHRlckV4cHIgRnVuY3Rpb25DYWxsIE11bHRpcGxpY2F0aXZlRXhwciBPckV4cHIgUGF0aEV4
cHIgUHJlZGljYXRlIFByaW1hcnlFeHByIFJlbGF0aW9uYWxFeHByIFVuYXJ5RXhwciBVbmlvbkV4
cHIKKworJXsKKworc3RhdGljIGludCB4cGF0aHl5bGV4KFlZU1RZUEUqIHl5bHZhbCwgUGFyc2Vy
JiBwYXJzZXIpIHsgcmV0dXJuIHBhcnNlci5sZXgoKnl5bHZhbCk7IH0KK3N0YXRpYyB2b2lkIHhw
YXRoeXllcnJvcihQYXJzZXImLCBjb25zdCBjaGFyKikgeyB9CisKKyV9CiAKICUlCiAKLUV4cHI6
Ci0gICAgT3JFeHByCitUb3A6CisgICAgRXhwcgogICAgIHsKLSAgICAgICAgcGFyc2VyLT5tX3Rv
cEV4cHIgPSAkMTsKKyAgICAgICAgcGFyc2VyLnNldFBhcnNlUmVzdWx0KHN0ZDo6dW5pcXVlX3B0
cjxFeHByZXNzaW9uPigkMSkpOwogICAgIH0KICAgICA7CiAKK0V4cHI6CisgICAgT3JFeHByCisg
ICAgOworCiBMb2NhdGlvblBhdGg6Ci0gICAgUmVsYXRpdmVMb2NhdGlvblBhdGgKLSAgICB7Ci0g
ICAgICAgICQkLT5zZXRBYnNvbHV0ZShmYWxzZSk7Ci0gICAgfQotICAgIHwKICAgICBBYnNvbHV0
ZUxvY2F0aW9uUGF0aAogICAgIHsKLSAgICAgICAgJCQtPnNldEFic29sdXRlKHRydWUpOworICAg
ICAgICAkJC0+c2V0QWJzb2x1dGUoKTsKICAgICB9CisgICAgfAorICAgIFJlbGF0aXZlTG9jYXRp
b25QYXRoCiAgICAgOwogCiBBYnNvbHV0ZUxvY2F0aW9uUGF0aDoKICAgICAnLycKICAgICB7CiAg
ICAgICAgICQkID0gbmV3IExvY2F0aW9uUGF0aDsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAgICAnLycgUmVsYXRpdmVMb2NhdGlvblBhdGgK
QEAgLTE0OSw4ICsxMzksNyBAQCBBYnNvbHV0ZUxvY2F0aW9uUGF0aDoKICAgICBEZXNjZW5kYW50
T3JTZWxmIFJlbGF0aXZlTG9jYXRpb25QYXRoCiAgICAgewogICAgICAgICAkJCA9ICQyOwotICAg
ICAgICAkJC0+aW5zZXJ0Rmlyc3RTdGVwKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVy
UGFyc2VOb2RlKCQxKTsKKyAgICAgICAgJCQtPnByZXBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxT
dGVwPigkMSkpOwogICAgIH0KICAgICA7CiAKQEAgLTE1OCw4MyArMTQ3LDc1IEBAIFJlbGF0aXZl
TG9jYXRpb25QYXRoOgogICAgIFN0ZXAKICAgICB7CiAgICAgICAgICQkID0gbmV3IExvY2F0aW9u
UGF0aDsKLSAgICAgICAgJCQtPmFwcGVuZFN0ZXAoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVn
aXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQk
KTsKKyAgICAgICAgJCQtPmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQxKSk7CiAg
ICAgfQogICAgIHwKICAgICBSZWxhdGl2ZUxvY2F0aW9uUGF0aCAnLycgU3RlcAogICAgIHsKLSAg
ICAgICAgJCQtPmFwcGVuZFN0ZXAoJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJz
ZU5vZGUoJDMpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4o
JDMpKTsKICAgICB9CiAgICAgfAogICAgIFJlbGF0aXZlTG9jYXRpb25QYXRoIERlc2NlbmRhbnRP
clNlbGYgU3RlcAogICAgIHsKLSAgICAgICAgJCQtPmFwcGVuZFN0ZXAoJDIpOwotICAgICAgICAk
JC0+YXBwZW5kU3RlcCgkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
Mik7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CisgICAgICAgICQk
LT5hcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMikpOworICAgICAgICAkJC0+YXBw
ZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDMpKTsKICAgICB9CiAgICAgOwogCiBTdGVw
OgogICAgIE5vZGVUZXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKLSAgICAgICAgaWYg
KCQyKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgKiQxLCAq
JDIpOwotICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDIpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCAq
JDEpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZU5vZGVUZXN0KCQxKTsKLSAgICAgICAgcGFyc2Vy
LT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8
UHJlZGljYXRlPj4gcHJlZGljYXRlTGlzdCgkMik7CisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0
KQorICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIHN0ZDo6bW92ZSgq
JDEpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIHN0ZDo6bW92ZSgqJDEpKTsKICAgICB9
CiAgICAgfAogICAgIE5BTUVURVNUIE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKKyAgICAg
ICAgU3RyaW5nIG5hbWV0ZXN0ID0gYWRvcHRSZWYoJDEpOworICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRpY2F0ZUxpc3QoJDIpOworCiAgICAgICAgIFN0cmlu
ZyBsb2NhbE5hbWU7CiAgICAgICAgIFN0cmluZyBuYW1lc3BhY2VVUkk7Ci0gICAgICAgIGlmICgh
cGFyc2VyLT5leHBhbmRRTmFtZSgqJDEsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgewotICAg
ICAgICAgICAgcGFyc2VyLT5tX2dvdE5hbWVzcGFjZUVycm9yID0gdHJ1ZTsKKyAgICAgICAgaWYg
KCFwYXJzZXIuZXhwYW5kUXVhbGlmaWVkTmFtZShuYW1ldGVzdCwgbG9jYWxOYW1lLCBuYW1lc3Bh
Y2VVUkkpKSB7CisgICAgICAgICAgICAkJCA9IG51bGxwdHI7CiAgICAgICAgICAgICBZWUFCT1JU
OwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAoJDIpIHsKLSAgICAgICAgICAgICQk
ID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVz
dDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgKiQyKTsKLSAgICAgICAgICAg
IHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQyKTsKLSAgICAgICAgfSBlbHNlCisKKyAg
ICAgICAgaWYgKHByZWRpY2F0ZUxpc3QpCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6
OkNoaWxkQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2Nh
bE5hbWUsIG5hbWVzcGFjZVVSSSksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgU3RlcDo6
Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVS
SSkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAgIH0KICAgICB8CiAgICAgQXhpc1NwZWNpZmllciBO
b2RlVGVzdCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKICAgICB7Ci0gICAgICAgIGlmICgkMykgewot
ICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgKiQyLCAqJDMpOwotICAgICAgICAgICAgcGFy
c2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDMpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICQkID0gbmV3IFN0ZXAoJDEsICokMik7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRl
c3QoJDIpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxQcmVkaWNhdGU+PiBwcmVkaWNhdGVMaXN0KCQzKTsKKwor
ICAgICAgICBpZiAocHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEs
IHN0ZDo6bW92ZSgqJDIpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgc3RkOjptb3ZlKCokMikpOwogICAgIH0K
ICAgICB8CiAgICAgQXhpc1NwZWNpZmllciBOQU1FVEVTVCBPcHRpb25hbFByZWRpY2F0ZUxpc3QK
ICAgICB7CisgICAgICAgIFN0cmluZyBuYW1ldGVzdCA9IGFkb3B0UmVmKCQyKTsKKyAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxQcmVkaWNhdGU+PiBwcmVkaWNhdGVMaXN0KCQzKTsKKwog
ICAgICAgICBTdHJpbmcgbG9jYWxOYW1lOwogICAgICAgICBTdHJpbmcgbmFtZXNwYWNlVVJJOwot
ICAgICAgICBpZiAoIXBhcnNlci0+ZXhwYW5kUU5hbWUoKiQyLCBsb2NhbE5hbWUsIG5hbWVzcGFj
ZVVSSSkpIHsKLSAgICAgICAgICAgIHBhcnNlci0+bV9nb3ROYW1lc3BhY2VFcnJvciA9IHRydWU7
CisgICAgICAgIGlmICghcGFyc2VyLmV4cGFuZFF1YWxpZmllZE5hbWUobmFtZXRlc3QsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKSkgeworICAgICAgICAgICAgJCQgPSBudWxscHRyOwogICAgICAg
ICAgICAgWVlBQk9SVDsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgkMykgewotICAgICAgICAg
ICAgJCQgPSBuZXcgU3RlcCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVU
ZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksICokMyk7Ci0gICAgICAgICAgICBwYXJzZXIt
PmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMyk7Ci0gICAgICAgIH0gZWxzZQorICAgICAgICBpZiAo
cHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIFN0ZXA6Ok5vZGVU
ZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpLCBz
dGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgJCQg
PSBuZXcgU3RlcCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBs
b2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygk
Mik7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAgIH0KICAgICB8
CiAgICAgQWJicmV2aWF0ZWRTdGVwCkBAIC0yNTAsMzcgKzIzMSwzNyBAQCBBeGlzU3BlY2lmaWVy
OgogICAgIDsKIAogTm9kZVRlc3Q6Ci0gICAgTk9ERVRZUEUgJygnICcpJworICAgIE5PREUgJygn
ICcpJwogICAgIHsKLSAgICAgICAgaWYgKCokMSA9PSAibm9kZSIpCi0gICAgICAgICAgICAkJCA9
IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpOwotICAgICAg
ICBlbHNlIGlmICgqJDEgPT0gInRleHQiKQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9k
ZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVzdCk7Ci0gICAgICAgIGVsc2UgaWYgKCok
MSA9PSAiY29tbWVudCIpCi0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6Q29tbWVudE5vZGVUZXN0KTsKLQotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0
cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7CisgICAgICAg
ICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCk7Cisg
ICAgfQorICAgIHwKKyAgICBURVhUICcoJyAnKScKKyAgICB7CisgICAgICAgICQkID0gbmV3IFN0
ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpUZXh0Tm9kZVRlc3QpOworICAgIH0KKyAgICB8
CisgICAgQ09NTUVOVCAnKCcgJyknCisgICAgeworICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2Rl
VGVzdChTdGVwOjpOb2RlVGVzdDo6Q29tbWVudE5vZGVUZXN0KTsKICAgICB9CiAgICAgfAogICAg
IFBJICcoJyAnKScKICAgICB7CiAgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6
Ok5vZGVUZXN0OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCk7Ci0gICAgICAgIHBhcnNl
ci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7CiAgICAgfQogICAgIHwKICAgICBQSSAnKCcgTElURVJB
TCAnKScKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVU
ZXN0OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgJDMtPnN0cmlwV2hpdGVTcGFjZSgp
KTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyTm9kZVRlc3QoJCQpOworICAgICAgICBTdHJpbmcgbGl0ZXJhbCA9IGFkb3B0UmVmKCQz
KTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlByb2Nl
c3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBsaXRlcmFsLnN0cmlwV2hpdGVTcGFjZSgpKTsKICAg
ICB9CiAgICAgOwogCiBPcHRpb25hbFByZWRpY2F0ZUxpc3Q6CiAgICAgLyogZW1wdHkgKi8KICAg
ICB7Ci0gICAgICAgICQkID0gMDsKKyAgICAgICAgJCQgPSBudWxscHRyOwogICAgIH0KICAgICB8
CiAgICAgUHJlZGljYXRlTGlzdApAQCAtMjg5LDE2ICsyNzAsMTQgQEAgT3B0aW9uYWxQcmVkaWNh
dGVMaXN0OgogUHJlZGljYXRlTGlzdDoKICAgICBQcmVkaWNhdGUKICAgICB7Ci0gICAgICAgICQk
ID0gbmV3IFZlY3RvcjxQcmVkaWNhdGUqPjsKLSAgICAgICAgJCQtPmFwcGVuZChuZXcgUHJlZGlj
YXRlKCQxKSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAg
ICAgIHBhcnNlci0+cmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3IoJCQpOworICAgICAgICAkJCA9IG5l
dyBWZWN0b3I8UHJlZGljYXRlPjsKKyAgICAgICAgJCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4oJDEpKTsKICAgICB9CiAgICAgfAogICAgIFByZWRpY2F0ZUxpc3QgUHJlZGlj
YXRlCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kKG5ldyBQcmVkaWNhdGUoJDIpKTsKLSAgICAg
ICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQyKTsKKyAgICAgICAgJCQgPSAkMTsKKyAg
ICAgICAgJCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDIpKTsKICAgICB9
CiAgICAgOwogCkBAIC0zMTMsNyArMjkyLDYgQEAgRGVzY2VuZGFudE9yU2VsZjoKICAgICBTTEFT
SFNMQVNICiAgICAgewogICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkRlc2NlbmRhbnRPclNl
bGZBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKLSAg
ICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIDsKIApAQCAt
MzIxLDIyICsyOTksMTkgQEAgQWJicmV2aWF0ZWRTdGVwOgogICAgICcuJwogICAgIHsKICAgICAg
ICAgJCQgPSBuZXcgU3RlcChTdGVwOjpTZWxmQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9k
ZVRlc3Q6OkFueU5vZGVUZXN0KSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOwogICAgIH0KICAgICB8CiAgICAgRE9URE9UCiAgICAgewogICAgICAgICAkJCA9IG5ldyBT
dGVwKFN0ZXA6OlBhcmVudEF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlO
b2RlVGVzdCkpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9
CiAgICAgOwogCiBQcmltYXJ5RXhwcjoKICAgICBWQVJJQUJMRVJFRkVSRU5DRQogICAgIHsKLSAg
ICAgICAgJCQgPSBuZXcgVmFyaWFibGVSZWZlcmVuY2UoKiQxKTsKLSAgICAgICAgcGFyc2VyLT5k
ZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsK
KyAgICAgICAgU3RyaW5nIG5hbWUgPSBhZG9wdFJlZigkMSk7CisgICAgICAgICQkID0gbmV3IFZh
cmlhYmxlUmVmZXJlbmNlKG5hbWUpOwogICAgIH0KICAgICB8CiAgICAgJygnIEV4cHIgJyknCkBA
IC0zNDYsMTYgKzMyMSwxNCBAQCBQcmltYXJ5RXhwcjoKICAgICB8CiAgICAgTElURVJBTAogICAg
IHsKLSAgICAgICAgJCQgPSBuZXcgU3RyaW5nRXhwcmVzc2lvbigqJDEpOwotICAgICAgICBwYXJz
ZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOworICAgICAgICBTdHJpbmcgbGl0ZXJhbCA9IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgJCQg
PSBuZXcgU3RyaW5nRXhwcmVzc2lvbihzdGQ6Om1vdmUobGl0ZXJhbCkpOwogICAgIH0KICAgICB8
CiAgICAgTlVNQkVSCiAgICAgewotICAgICAgICAkJCA9IG5ldyBOdW1iZXIoJDEtPnRvRG91Ymxl
KCkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBTdHJpbmcgbnVtZXJhbCA9IGFkb3B0UmVm
KCQxKTsKKyAgICAgICAgJCQgPSBuZXcgTnVtYmVyKG51bWVyYWwudG9Eb3VibGUoKSk7CiAgICAg
fQogICAgIHwKICAgICBGdW5jdGlvbkNhbGwKQEAgLTM2NCwzNyArMzM3LDMyIEBAIFByaW1hcnlF
eHByOgogRnVuY3Rpb25DYWxsOgogICAgIEZVTkNUSU9OTkFNRSAnKCcgJyknCiAgICAgewotICAg
ICAgICAkJCA9IGNyZWF0ZUZ1bmN0aW9uKCokMSk7CisgICAgICAgIFN0cmluZyBuYW1lID0gYWRv
cHRSZWYoJDEpOworICAgICAgICAkJCA9IFhQYXRoOjpGdW5jdGlvbjo6Y3JlYXRlKG5hbWUpLnJl
bGVhc2UoKTsKICAgICAgICAgaWYgKCEkJCkKICAgICAgICAgICAgIFlZQUJPUlQ7Ci0gICAgICAg
IHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNl
Tm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAgICBGVU5DVElPTk5BTUUgJygnIEFyZ3VtZW50TGlz
dCAnKScKICAgICB7Ci0gICAgICAgICQkID0gY3JlYXRlRnVuY3Rpb24oKiQxLCAqJDMpOworICAg
ICAgICBTdHJpbmcgbmFtZSA9IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgJCQgPSBYUGF0aDo6RnVu
Y3Rpb246OmNyZWF0ZShuYW1lLCBzdGQ6Om1vdmUoKiQzKSkucmVsZWFzZSgpOwogICAgICAgICBp
ZiAoISQkKQogICAgICAgICAgICAgWVlBQk9SVDsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJp
bmcoJDEpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZUV4cHJlc3Npb25WZWN0b3IoJDMpOwotICAg
ICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgOwogCiBBcmd1
bWVudExpc3Q6CiAgICAgQXJndW1lbnQKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFZlY3RvcjxF
eHByZXNzaW9uKj47Ci0gICAgICAgICQkLT5hcHBlbmQoJDEpOwotICAgICAgICBwYXJzZXItPnVu
cmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyRXhwcmVzc2lv
blZlY3RvcigkJCk7CisgICAgICAgICQkID0gbmV3IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4+OworICAgICAgICAkJC0+YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
PigkMSkpOwogICAgIH0KICAgICB8CiAgICAgQXJndW1lbnRMaXN0ICcsJyBBcmd1bWVudAogICAg
IHsKLSAgICAgICAgJCQtPmFwcGVuZCgkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMyk7CisgICAgICAgICQkID0gJDE7CisgICAgICAgICQkLT5hcHBlbmQoc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNDA3LDQxICsz
NzUsMjYgQEAgVW5pb25FeHByOgogICAgIHwKICAgICBVbmlvbkV4cHIgJ3wnIFBhdGhFeHByCiAg
ICAgewotICAgICAgICAkJCA9IG5ldyBVbmlvbjsKLSAgICAgICAgJCQtPmFkZFN1YkV4cHJlc3Np
b24oJDEpOwotICAgICAgICAkJC0+YWRkU3ViRXhwcmVzc2lvbigkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAg
ICAgICAkJCA9IG5ldyBVbmlvbihzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAgOwogCiBQYXRoRXhwcjoK
ICAgICBMb2NhdGlvblBhdGgKLSAgICB7Ci0gICAgICAgICQkID0gJDE7Ci0gICAgfQogICAgIHwK
ICAgICBGaWx0ZXJFeHByCiAgICAgfAogICAgIEZpbHRlckV4cHIgJy8nIFJlbGF0aXZlTG9jYXRp
b25QYXRoCiAgICAgewotICAgICAgICAkMy0+c2V0QWJzb2x1dGUodHJ1ZSk7Ci0gICAgICAgICQk
ID0gbmV3IFBhdGgoc3RhdGljX2Nhc3Q8RmlsdGVyKj4oJDEpLCAkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAg
ICAgICAkMy0+c2V0QWJzb2x1dGUoKTsKKyAgICAgICAgJCQgPSBuZXcgUGF0aChzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25QYXRoPigkMykp
OwogICAgIH0KICAgICB8CiAgICAgRmlsdGVyRXhwciBEZXNjZW5kYW50T3JTZWxmIFJlbGF0aXZl
TG9jYXRpb25QYXRoCiAgICAgewotICAgICAgICAkMy0+aW5zZXJ0Rmlyc3RTdGVwKCQyKTsKLSAg
ICAgICAgJDMtPnNldEFic29sdXRlKHRydWUpOwotICAgICAgICAkJCA9IG5ldyBQYXRoKHN0YXRp
Y19jYXN0PEZpbHRlcio+KCQxKSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJz
ZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJDMtPnByZXBlbmRTdGVwKHN0ZDo6dW5pcXVl
X3B0cjxTdGVwPigkMikpOworICAgICAgICAkMy0+c2V0QWJzb2x1dGUoKTsKKyAgICAgICAgJCQg
PSBuZXcgUGF0aChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9w
dHI8TG9jYXRpb25QYXRoPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ1MCwxMCArNDAzLDgg
QEAgRmlsdGVyRXhwcjoKICAgICB8CiAgICAgUHJpbWFyeUV4cHIgUHJlZGljYXRlTGlzdAogICAg
IHsKLSAgICAgICAgJCQgPSBuZXcgRmlsdGVyKCQxLCAqJDIpOwotICAgICAgICBwYXJzZXItPnVu
cmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZl
Y3RvcigkMik7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRpY2F0ZUxpc3QoJDIpOwor
ICAgICAgICAkJCA9IG5ldyBGaWx0ZXIoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwg
c3RkOjptb3ZlKCpwcmVkaWNhdGVMaXN0KSk7CiAgICAgfQogICAgIDsKIApAQCAtNDYyLDEwICs0
MTMsNyBAQCBPckV4cHI6CiAgICAgfAogICAgIE9yRXhwciBPUiBBbmRFeHByCiAgICAgewotICAg
ICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9PciwgJDEsICQzKTsKLSAgICAg
ICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJl
Z2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgk
JCk7CisgICAgICAgICQkID0gbmV3IExvZ2ljYWxPcChMb2dpY2FsT3A6Ok9QX09yLCBzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMp
KTsKICAgICB9CiAgICAgOwogCkBAIC00NzQsMTAgKzQyMiw3IEBAIEFuZEV4cHI6CiAgICAgfAog
ICAgIEFuZEV4cHIgQU5EIEVxdWFsaXR5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTG9n
aWNhbE9wKExvZ2ljYWxPcDo6T1BfQW5kLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVn
aXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUo
JDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQg
PSBuZXcgTG9naWNhbE9wKExvZ2ljYWxPcDo6T1BfQW5kLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAg
OwogCkBAIC00ODYsMTAgKzQzMSw3IEBAIEVxdWFsaXR5RXhwcjoKICAgICB8CiAgICAgRXF1YWxp
dHlFeHByIEVRT1AgUmVsYXRpb25hbEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IEVxVGVz
dE9wKCQyLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEp
OwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJz
ZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIs
IHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ5OCwxMCArNDQwLDcgQEAgUmVsYXRpb25h
bEV4cHI6CiAgICAgfAogICAgIFJlbGF0aW9uYWxFeHByIFJFTE9QIEFkZGl0aXZlRXhwcgogICAg
IHsKLSAgICAgICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAg
ICAgICAkJCA9IG5ldyBFcVRlc3RPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQx
KSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAt
NTEwLDE4ICs0NDksMTIgQEAgQWRkaXRpdmVFeHByOgogICAgIHwKICAgICBBZGRpdGl2ZUV4cHIg
UExVUyBNdWx0aXBsaWNhdGl2ZUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNP
cChOdW1lcmljT3A6Ok9QX0FkZCwgJDEsICQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVy
UGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsK
LSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3
IE51bWVyaWNPcChOdW1lcmljT3A6Ok9QX0FkZCwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+
KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIHwKICAg
ICBBZGRpdGl2ZUV4cHIgTUlOVVMgTXVsdGlwbGljYXRpdmVFeHByCiAgICAgewotICAgICAgICAk
JCA9IG5ldyBOdW1lcmljT3AoTnVtZXJpY09wOjpPUF9TdWIsICQxLCAkMyk7Ci0gICAgICAgIHBh
cnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3Rl
clBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwor
ICAgICAgICAkJCA9IG5ldyBOdW1lcmljT3AoTnVtZXJpY09wOjpPUF9TdWIsIHN0ZDo6dW5pcXVl
X3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwog
ICAgIH0KICAgICA7CiAKQEAgLTUzMCwxMCArNDYzLDcgQEAgTXVsdGlwbGljYXRpdmVFeHByOgog
ICAgIHwKICAgICBNdWx0aXBsaWNhdGl2ZUV4cHIgTVVMT1AgVW5hcnlFeHByCiAgICAgewotICAg
ICAgICAkJCA9IG5ldyBOdW1lcmljT3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5y
ZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9k
ZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAk
JCA9IG5ldyBOdW1lcmljT3AoJDIsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0
ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTU0Miwx
MCArNDcyLDcgQEAgVW5hcnlFeHByOgogICAgIHwKICAgICBNSU5VUyBVbmFyeUV4cHIKICAgICB7
Ci0gICAgICAgICQkID0gbmV3IE5lZ2F0aXZlOwotICAgICAgICAkJC0+YWRkU3ViRXhwcmVzc2lv
bigkMik7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMik7Ci0gICAgICAg
IHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5ldyBOZWdhdGl2
ZShzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDIpKTsKICAgICB9CiAgICAgOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aE5vZGVTZXQuY3BwCmluZGV4IDg3NzgyZDRhYTlkNTEzOGYwYjQxNzNkZTVl
ODMwMjEzZDYwYjRjODAuLmU1YTZhOTI5NjcyNzIyZTkxMGUwMjRlOWJiNjVkYjJlNTJmMzAxNTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHN0YXRp
YyBpbmxpbmUgTm9kZSogcGFyZW50V2l0aERlcHRoKHVuc2lnbmVkIGRlcHRoLCBjb25zdCBWZWN0
b3I8Tm9kZSo+JiBwYXJlbnRzCiAgICAgcmV0dXJuIHBhcmVudHNbcGFyZW50cy5zaXplKCkgLSAx
IC0gZGVwdGhdOwogfQogCi1zdGF0aWMgdm9pZCBzb3J0QmxvY2sodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgdG8sIFZlY3RvcjxWZWN0b3I8Tm9kZSo+ID4mIHBhcmVudE1hdHJpeCwgYm9vbCBtYXlD
b250YWluQXR0cmlidXRlTm9kZXMpCitzdGF0aWMgdm9pZCBzb3J0QmxvY2sodW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgdG8sIFZlY3RvcjxWZWN0b3I8Tm9kZSo+PiYgcGFyZW50TWF0cml4LCBib29s
IG1heUNvbnRhaW5BdHRyaWJ1dGVOb2RlcykKIHsKICAgICBBU1NFUlQoZnJvbSArIDEgPCB0byk7
IC8vIFNob3VsZCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggbGVzcyB0aGF0IHR3byBub2Rl
cyB0byBzb3J0LgogICAgIHVuc2lnbmVkIG1pbkRlcHRoID0gVUlOVF9NQVg7CkBAIC0xNDIsNyAr
MTQyLDcgQEAgdm9pZCBOb2RlU2V0Ojpzb3J0KCkgY29uc3QKIAogICAgIHVuc2lnbmVkIG5vZGVD
b3VudCA9IG1fbm9kZXMuc2l6ZSgpOwogICAgIGlmIChub2RlQ291bnQgPCAyKSB7Ci0gICAgICAg
IGNvbnN0X2Nhc3Q8Ym9vbCY+KG1faXNTb3J0ZWQpID0gdHJ1ZTsKKyAgICAgICAgbV9pc1NvcnRl
ZCA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE2OSwxMiArMTY5LDEzIEBA
IHZvaWQgTm9kZVNldDo6c29ydCgpIGNvbnN0CiAgICAgc29ydEJsb2NrKDAsIG5vZGVDb3VudCwg
cGFyZW50TWF0cml4LCBjb250YWluc0F0dHJpYnV0ZU5vZGVzKTsKICAgICAKICAgICAvLyBJdCBp
cyBub3QgcG9zc2libGUgdG8ganVzdCBhc3NpZ24gdGhlIHJlc3VsdCB0byBtX25vZGVzLCBiZWNh
dXNlIHNvbWUgbm9kZXMgbWF5IGdldCBkZXJlZmVyZW5jZWQgYW5kIGRlc3Ryb3llZC4KLSAgICBW
ZWN0b3I8UmVmUHRyPE5vZGU+ID4gc29ydGVkTm9kZXM7CisgICAgVmVjdG9yPFJlZlB0cjxOb2Rl
Pj4gc29ydGVkTm9kZXM7CiAgICAgc29ydGVkTm9kZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShu
b2RlQ291bnQpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlQ291bnQ7ICsraSkK
ICAgICAgICAgc29ydGVkTm9kZXMuYXBwZW5kKHBhcmVudE1hdHJpeFtpXVswXSk7CiAgICAgCi0g
ICAgY29uc3RfY2FzdDxWZWN0b3I8UmVmUHRyPE5vZGU+ID4mPihtX25vZGVzKS5zd2FwKHNvcnRl
ZE5vZGVzKTsKKyAgICBtX25vZGVzID0gc3RkOjptb3ZlKHNvcnRlZE5vZGVzKTsKKyAgICBtX2lz
U29ydGVkID0gdHJ1ZTsKIH0KIAogc3RhdGljIE5vZGUqIGZpbmRSb290Tm9kZShOb2RlKiBub2Rl
KQpAQCAtMjI3LDI3ICsyMjgsMTQgQEAgdm9pZCBOb2RlU2V0Ojp0cmF2ZXJzYWxTb3J0KCkgY29u
c3QKICAgICB9CiAKICAgICBBU1NFUlQoc29ydGVkTm9kZXMuc2l6ZSgpID09IG5vZGVDb3VudCk7
Ci0gICAgY29uc3RfY2FzdDxWZWN0b3I8UmVmUHRyPE5vZGU+ID4mPihtX25vZGVzKS5zd2FwKHNv
cnRlZE5vZGVzKTsKLX0KLQotdm9pZCBOb2RlU2V0OjpyZXZlcnNlKCkKLXsKLSAgICBpZiAobV9u
b2Rlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHVuc2lnbmVkIGZyb20gPSAw
OwotICAgIHVuc2lnbmVkIHRvID0gbV9ub2Rlcy5zaXplKCkgLSAxOwotICAgIHdoaWxlIChmcm9t
IDwgdG8pIHsKLSAgICAgICAgbV9ub2Rlc1tmcm9tXS5zd2FwKG1fbm9kZXNbdG9dKTsKLSAgICAg
ICAgKytmcm9tOwotICAgICAgICAtLXRvOwotICAgIH0KKyAgICBtX25vZGVzID0gc3RkOjptb3Zl
KHNvcnRlZE5vZGVzKTsKKyAgICBtX2lzU29ydGVkID0gdHJ1ZTsKIH0KIAogTm9kZSogTm9kZVNl
dDo6Zmlyc3ROb2RlKCkgY29uc3QKIHsKICAgICBpZiAoaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzb3J0KCk7IC8vIEZJWE1FOiBm
dWxseSBzb3J0aW5nIHRoZSBub2RlLXNldCBqdXN0IHRvIGZpbmQgaXRzIGZpcnN0IG5vZGUgaXMg
d2FzdGVmdWwuCiAgICAgcmV0dXJuIG1fbm9kZXMuYXQoMCkuZ2V0KCk7CkBAIC0yNTYsNyArMjQ0
LDcgQEAgTm9kZSogTm9kZVNldDo6Zmlyc3ROb2RlKCkgY29uc3QKIE5vZGUqIE5vZGVTZXQ6OmFu
eU5vZGUoKSBjb25zdAogewogICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHJldHVybiBtX25vZGVzLmF0KDApLmdldCgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IDgzOWJlOGQ4ZjA0MDNkN2ExMmM2
OWZkNGNkMTU3Y2QzMjc4ZDA0MWYuLjNiOGI0Yzk4MTgyMmY1MDgwYjJlNTdiYTk1NzhkZGZlZWYy
ODAxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw5ICsyNyw2IEBACiAjaWZuZGVm
IFhQYXRoTm9kZVNldF9oCiAjZGVmaW5lIFhQYXRoTm9kZVNldF9oCiAKLSNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQogI2luY2x1ZGUgIk5vZGUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzYsMjYgKzM0LDI0IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBuYW1lc3BhY2UgWFBhdGggewogCiAgICAgICAgIGNsYXNzIE5vZGVTZXQgewot
ICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNq
b2ludChmYWxzZSkgeyB9CisgICAgICAgICAgICBOb2RlU2V0KFBhc3NSZWZQdHI8Tm9kZT4gbm9k
ZSkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpLCBtX25v
ZGVzKDEsIG5vZGUpIHsgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbm9kZXMuc2l6ZSgpOyB9Ci0gICAgICAgICAgICBib29sIGlzRW1w
dHkoKSBjb25zdCB7IHJldHVybiAhbV9ub2Rlcy5zaXplKCk7IH0KKyAgICAgICAgICAgIGJvb2wg
aXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZXMuaXNFbXB0eSgpOyB9CiAgICAgICAgICAg
ICBOb2RlKiBvcGVyYXRvcltdKHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZXMuYXQo
aSkuZ2V0KCk7IH0KICAgICAgICAgICAgIHZvaWQgcmVzZXJ2ZUNhcGFjaXR5KHNpemVfdCBuZXdD
YXBhY2l0eSkgeyBtX25vZGVzLnJlc2VydmVDYXBhY2l0eShuZXdDYXBhY2l0eSk7IH0KICAgICAg
ICAgICAgIHZvaWQgY2xlYXIoKSB7IG1fbm9kZXMuY2xlYXIoKTsgfQotICAgICAgICAgICAgdm9p
ZCBzd2FwKE5vZGVTZXQmIG90aGVyKSB7IHN0ZDo6c3dhcChtX2lzU29ydGVkLCBvdGhlci5tX2lz
U29ydGVkKTsgc3RkOjpzd2FwKG1fc3VidHJlZXNBcmVEaXNqb2ludCwgb3RoZXIubV9zdWJ0cmVl
c0FyZURpc2pvaW50KTsgbV9ub2Rlcy5zd2FwKG90aGVyLm1fbm9kZXMpOyB9CiAKICAgICAgICAg
ICAgIC8vIE5vZGVTZXQgaXRzZWxmIGRvZXMgbm90IHZlcmlmeSB0aGF0IG5vZGVzIGluIGl0IGFy
ZSB1bmlxdWUuCi0gICAgICAgICAgICB2b2lkIGFwcGVuZChOb2RlKiBub2RlKSB7IG1fbm9kZXMu
YXBwZW5kKG5vZGUpOyB9CiAgICAgICAgICAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPE5vZGU+
IG5vZGUpIHsgbV9ub2Rlcy5hcHBlbmQobm9kZSk7IH0KICAgICAgICAgICAgIHZvaWQgYXBwZW5k
KGNvbnN0IE5vZGVTZXQmIG5vZGVTZXQpIHsgbV9ub2Rlcy5hcHBlbmRWZWN0b3Iobm9kZVNldC5t
X25vZGVzKTsgfQogCi0gICAgICAgICAgICAvLyBSZXR1cm5zIHRoZSBzZXQncyBmaXJzdCBub2Rl
IGluIGRvY3VtZW50IG9yZGVyLCBvciAwIGlmIHRoZSBzZXQgaXMgZW1wdHkuCisgICAgICAgICAg
ICAvLyBSZXR1cm5zIHRoZSBzZXQncyBmaXJzdCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBvciBu
dWxscHRyIGlmIHRoZSBzZXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBOb2RlKiBmaXJzdE5vZGUo
KSBjb25zdDsKIAotICAgICAgICAgICAgLy8gUmV0dXJucyAwIGlmIHRoZSBzZXQgaXMgZW1wdHku
CisgICAgICAgICAgICAvLyBSZXR1cm5zIG51bGxwdHIgaWYgdGhlIHNldCBpcyBlbXB0eS4KICAg
ICAgICAgICAgIE5vZGUqIGFueU5vZGUoKSBjb25zdDsKIAogICAgICAgICAgICAgLy8gTm9kZVNl
dCBpdHNlbGYgZG9lc24ndCBjaGVjayBpZiBpdCBjb250YWlucyBub2RlcyBpbiBkb2N1bWVudCBv
cmRlciAtIHRoZSBjYWxsZXIgc2hvdWxkIHRlbGwgaXQgaWYgaXQgZG9lcyBub3QuCkBAIC02OCwx
NCArNjQsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdm9pZCBtYXJrU3Vi
dHJlZXNEaXNqb2ludChib29sIGRpc2pvaW50KSB7IG1fc3VidHJlZXNBcmVEaXNqb2ludCA9IGRp
c2pvaW50OyB9CiAgICAgICAgICAgICBib29sIHN1YnRyZWVzQXJlRGlzam9pbnQoKSBjb25zdCB7
IHJldHVybiBtX3N1YnRyZWVzQXJlRGlzam9pbnQgfHwgbV9ub2Rlcy5zaXplKCkgPCAyOyB9CiAK
LSAgICAgICAgICAgIHZvaWQgcmV2ZXJzZSgpOwotICAgICAgICAKICAgICAgICAgcHJpdmF0ZToK
ICAgICAgICAgICAgIHZvaWQgdHJhdmVyc2FsU29ydCgpIGNvbnN0OwogCi0gICAgICAgICAgICBi
b29sIG1faXNTb3J0ZWQ7CisgICAgICAgICAgICBtdXRhYmxlIGJvb2wgbV9pc1NvcnRlZDsKICAg
ICAgICAgICAgIGJvb2wgbV9zdWJ0cmVlc0FyZURpc2pvaW50OwotICAgICAgICAgICAgVmVjdG9y
PFJlZlB0cjxOb2RlPiA+IG1fbm9kZXM7CisgICAgICAgICAgICBtdXRhYmxlIFZlY3RvcjxSZWZQ
dHI8Tm9kZT4+IG1fbm9kZXM7CiAgICAgICAgIH07CiAKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
UGFyc2VyLmNwcAppbmRleCBhMDNmMWZlY2NiNTcyZTJkNzdhOGExYjZjMTZiNzIzMjkyMDcwNDgy
Li44MjY5ODViZTRjM2Y3NGJiNDRhZjRkNmJjZDIyNzk5MGJkODYwNTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFBhcnNlci5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUg
TWFrc2ltIE9ybG92aWNoIDxtYWtzaW1Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJv
c2t1cnlha292IDxhcEB3ZWJraXQub3JnPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzQsMjYgKzM0
LDQwIEBACiAjaW5jbHVkZSAiWFBhdGhOU1Jlc29sdmVyLmgiCiAjaW5jbHVkZSAiWFBhdGhQYXRo
LmgiCiAjaW5jbHVkZSAiWFBhdGhTdGVwLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2Ug
V1RGOwotdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7CiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7CiAK
LWV4dGVybiBpbnQgeHBhdGh5eXBhcnNlKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXIqKTsKK2V4dGVy
biBpbnQgeHBhdGh5eXBhcnNlKFBhcnNlciYpOworCiAjaW5jbHVkZSAiWFBhdGhHcmFtbWFyLmgi
CiAKLVBhcnNlciogUGFyc2VyOjpjdXJyZW50UGFyc2VyID0gMDsKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK25hbWVzcGFjZSBYUGF0aCB7CiAKLWVudW0gWE1MQ2F0IHsgTmFtZVN0YXJ0LCBOYW1lQ29u
dCwgTm90UGFydE9mTmFtZSB9Oworc3RydWN0IFBhcnNlcjo6VG9rZW4geworICAgIGludCB0eXBl
OworICAgIFN0cmluZyBzdHJpbmc7CisgICAgU3RlcDo6QXhpcyBheGlzOworICAgIE51bWVyaWNP
cDo6T3Bjb2RlIG51bWVyaWNPcGNvZGU7CisgICAgRXFUZXN0T3A6Ok9wY29kZSBlcXVhbGl0eVRl
c3RPcGNvZGU7CiAKLXR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFN0ZXA6OkF4aXM+IEF4aXNOYW1l
c01hcDsKKyAgICBUb2tlbihpbnQgdHlwZSkgOiB0eXBlKHR5cGUpIHsgfQorICAgIFRva2VuKGlu
dCB0eXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZykgOiB0eXBlKHR5cGUpLCBzdHJpbmcoc3RyaW5n
KSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgU3RlcDo6QXhpcyBheGlzKSA6IHR5cGUodHlwZSks
IGF4aXMoYXhpcykgeyB9CisgICAgVG9rZW4oaW50IHR5cGUsIE51bWVyaWNPcDo6T3Bjb2RlIG9w
Y29kZSkgOiB0eXBlKHR5cGUpLCBudW1lcmljT3Bjb2RlKG9wY29kZSkgeyB9CisgICAgVG9rZW4o
aW50IHR5cGUsIEVxVGVzdE9wOjpPcGNvZGUgb3Bjb2RlKSA6IHR5cGUodHlwZSksIGVxdWFsaXR5
VGVzdE9wY29kZShvcGNvZGUpIHsgfQorfTsKKworZW51bSBYTUxDYXQgeyBOYW1lU3RhcnQsIE5h
bWVDb250LCBOb3RQYXJ0T2ZOYW1lIH07CiAKIHN0YXRpYyBYTUxDYXQgY2hhckNhdChVQ2hhciBh
Q2hhcikKIHsKLSAgICAvLyMjIyBtaWdodCBuZWVkIHRvIGFkZCBzb21lIHNwZWNpYWwgY2FzZXMg
ZnJvbSB0aGUgWE1MIHNwZWMuCisgICAgdXNpbmcgbmFtZXNwYWNlIFdURjsKKyAgICB1c2luZyBu
YW1lc3BhY2UgVW5pY29kZTsKIAogICAgIGlmIChhQ2hhciA9PSAnXycpCiAgICAgICAgIHJldHVy
biBOYW1lU3RhcnQ7CkBAIC02OCw3ICs4Miw3IEBAIHN0YXRpYyBYTUxDYXQgY2hhckNhdChVQ2hh
ciBhQ2hhcikKICAgICByZXR1cm4gTm90UGFydE9mTmFtZTsKIH0KIAotc3RhdGljIHZvaWQgc2V0
VXBBeGlzTmFtZXNNYXAoQXhpc05hbWVzTWFwJiBheGlzTmFtZXMpCitzdGF0aWMgdm9pZCBwb3B1
bGF0ZUF4aXNOYW1lc01hcChIYXNoTWFwPFN0cmluZywgU3RlcDo6QXhpcz4mIGF4aXNOYW1lcykK
IHsKICAgICBzdHJ1Y3QgQXhpc05hbWUgewogICAgICAgICBjb25zdCBjaGFyKiBuYW1lOwpAQCAt
ODksMjkgKzEwMywyMyBAQCBzdGF0aWMgdm9pZCBzZXRVcEF4aXNOYW1lc01hcChBeGlzTmFtZXNN
YXAmIGF4aXNOYW1lcykKICAgICAgICAgeyAicHJlY2VkaW5nLXNpYmxpbmciLCBTdGVwOjpQcmVj
ZWRpbmdTaWJsaW5nQXhpcyB9LAogICAgICAgICB7ICJzZWxmIiwgU3RlcDo6U2VsZkF4aXMgfQog
ICAgIH07Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemVvZihheGlzTmFtZUxpc3Qp
IC8gc2l6ZW9mKGF4aXNOYW1lTGlzdFswXSk7ICsraSkKLSAgICAgICAgYXhpc05hbWVzLnNldChh
eGlzTmFtZUxpc3RbaV0ubmFtZSwgYXhpc05hbWVMaXN0W2ldLmF4aXMpOworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKGF4aXNOYW1lTGlzdCk7ICsraSkKKyAg
ICAgICAgYXhpc05hbWVzLmFkZChheGlzTmFtZUxpc3RbaV0ubmFtZSwgYXhpc05hbWVMaXN0W2ld
LmF4aXMpOwogfQogCi1zdGF0aWMgYm9vbCBpc0F4aXNOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwg
U3RlcDo6QXhpcyYgdHlwZSkKK3N0YXRpYyBib29sIHBhcnNlQXhpc05hbWUoY29uc3QgU3RyaW5n
JiBuYW1lLCBTdGVwOjpBeGlzJiB0eXBlKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXhp
c05hbWVzTWFwLCBheGlzTmFtZXMsICgpKTsKLQotICAgIGlmIChheGlzTmFtZXMuaXNFbXB0eSgp
KQotICAgICAgICBzZXRVcEF4aXNOYW1lc01hcChheGlzTmFtZXMpOworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxIYXNoTWFwPFN0cmluZywgU3RlcDo6QXhpcz4+IGF4aXNOYW1lczsKKyAgICBp
ZiAoYXhpc05hbWVzLmdldCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcG9wdWxhdGVBeGlzTmFtZXNN
YXAoYXhpc05hbWVzKTsKIAotICAgIEF4aXNOYW1lc01hcDo6aXRlcmF0b3IgaXQgPSBheGlzTmFt
ZXMuZmluZChuYW1lKTsKLSAgICBpZiAoaXQgPT0gYXhpc05hbWVzLmVuZCgpKQorICAgIGF1dG8g
aXQgPSBheGlzTmFtZXMuZ2V0KCkuZmluZChuYW1lKTsKKyAgICBpZiAoaXQgPT0gYXhpc05hbWVz
LmdldCgpLmVuZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgdHlwZSA9IGl0LT52YWx1
ZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wgaXNOb2RlVHlwZU5hbWUoY29u
c3QgU3RyaW5nJiBuYW1lKQotewotICAgIHJldHVybiBuYW1lID09ICJjb21tZW50IiB8fCBuYW1l
ID09ICJ0ZXh0IiB8fCBuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIiB8fCBuYW1lID09
ICJub2RlIjsKLX0KLQogLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHRva2VuIGNhbiBw
b3NzaWJseSBiZSBhIGJpbmFyeSBvcGVyYXRvciwgZ2l2ZW4KIC8vIHRoZSBwcmV2aW91cyB0b2tl
bi4gTmVjZXNzYXJ5IHRvIGRpc2FtYmlndWF0ZSBzb21lIG9mIHRoZSBvcGVyYXRvcnMKIC8vICgq
IChtdWx0aXBseSksIGRpdiwgYW5kLCBvciwgbW9kKSBpbiB0aGUgWzMyXSBPcGVyYXRvciBydWxl
CkBAIC0xMzYsMjUgKzE0NCwyNSBAQCB2b2lkIFBhcnNlcjo6c2tpcFdTKCkKICAgICAgICAgKytt
X25leHRQb3M7CiB9CiAKLVRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29k
ZSwgaW50IGFkdmFuY2UpCitQYXJzZXI6OlRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5j
ZShpbnQgY29kZSwgaW50IGFkdmFuY2UpCiB7CiAgICAgbV9uZXh0UG9zICs9IGFkdmFuY2U7CiAg
ICAgcmV0dXJuIFRva2VuKGNvZGUpOwogfQogCi1Ub2tlbiBQYXJzZXI6Om1ha2VUb2tlbkFuZEFk
dmFuY2UoaW50IGNvZGUsIE51bWVyaWNPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2UpCitQYXJz
ZXI6OlRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgTnVtZXJpY09w
OjpPcGNvZGUgdmFsLCBpbnQgYWR2YW5jZSkKIHsKICAgICBtX25leHRQb3MgKz0gYWR2YW5jZTsK
ICAgICByZXR1cm4gVG9rZW4oY29kZSwgdmFsKTsKIH0KIAotVG9rZW4gUGFyc2VyOjptYWtlVG9r
ZW5BbmRBZHZhbmNlKGludCBjb2RlLCBFcVRlc3RPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2Up
CitQYXJzZXI6OlRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgRXFU
ZXN0T3A6Ok9wY29kZSB2YWwsIGludCBhZHZhbmNlKQogewogICAgIG1fbmV4dFBvcyArPSBhZHZh
bmNlOwogICAgIHJldHVybiBUb2tlbihjb2RlLCB2YWwpOwogfQogCi0vLyBSZXR1cm5zIG5leHQg
Y2hhciBpZiBpdCdzIHRoZXJlIGFuZCBpbnRlcmVzdGluZywgMCBvdGhlcndpc2UKKy8vIFJldHVy
bnMgbmV4dCBjaGFyIGlmIGl0J3MgdGhlcmUgYW5kIGludGVyZXN0aW5nLCAwIG90aGVyd2lzZS4K
IGNoYXIgUGFyc2VyOjpwZWVrQWhlYWRIZWxwZXIoKQogewogICAgIGlmIChtX25leHRQb3MgKyAx
ID49IG1fZGF0YS5sZW5ndGgoKSkKQEAgLTE3NSw3ICsxODMsNyBAQCBjaGFyIFBhcnNlcjo6cGVl
a0N1ckhlbHBlcigpCiAgICAgcmV0dXJuIG5leHQ7CiB9CiAKLVRva2VuIFBhcnNlcjo6bGV4U3Ry
aW5nKCkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQogewogICAgIFVDaGFyIGRl
bGltaXRlciA9IG1fZGF0YVttX25leHRQb3NdOwogICAgIGludCBzdGFydFBvcyA9IG1fbmV4dFBv
cyArIDE7CkBAIC0xOTQsNyArMjAyLDcgQEAgVG9rZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQogICAg
IHJldHVybiBUb2tlbihYUEFUSF9FUlJPUik7CiB9CiAKLVRva2VuIFBhcnNlcjo6bGV4TnVtYmVy
KCkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjpsZXhOdW1iZXIoKQogewogICAgIGludCBzdGFydFBv
cyA9IG1fbmV4dFBvczsKICAgICBib29sIHNlZW5Eb3QgPSBmYWxzZTsKQEAgLTI1Niw3ICsyNjQs
NyBAQCBib29sIFBhcnNlcjo6bGV4UU5hbWUoU3RyaW5nJiBuYW1lKQogICAgIHJldHVybiB0cnVl
OwogfQogCi1Ub2tlbiBQYXJzZXI6Om5leHRUb2tlbkludGVybmFsKCkKK2lubGluZSBQYXJzZXI6
OlRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwoKQogewogICAgIHNraXBXUygpOwogCkBA
IC0zNDQsNyArMzUyLDcgQEAgVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIC8vSXQgbWlnaHQgYmUgYW4gYXhpcyBuYW1lLgogICAgICAg
ICAgICAgU3RlcDo6QXhpcyBheGlzOwotICAgICAgICAgICAgaWYgKGlzQXhpc05hbWUobmFtZSwg
YXhpcykpCisgICAgICAgICAgICBpZiAocGFyc2VBeGlzTmFtZShuYW1lLCBheGlzKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gVG9rZW4oQVhJU05BTUUsIGF4aXMpOwogICAgICAgICAgICAgLy8g
VWdoLCA6OiBpcyBvbmx5IHZhbGlkIGluIGF4aXMgbmFtZXMgLT4gZXJyb3IKICAgICAgICAgICAg
IHJldHVybiBUb2tlbihYUEFUSF9FUlJPUik7CkBAIC0zNzAsMTMgKzM3OCwxNiBAQCBUb2tlbiBQ
YXJzZXI6Om5leHRUb2tlbkludGVybmFsKCkKICAgICBpZiAocGVla0N1ckhlbHBlcigpID09ICco
JykgewogICAgICAgICAvLyBub3RlOiB3ZSBkb24ndCBzd2FsbG93IHRoZSAnKCcgaGVyZSEKIAot
ICAgICAgICAvLyBlaXRoZXIgbm9kZSB0eXBlIG9mIGZ1bmN0aW9uIG5hbWUKLSAgICAgICAgaWYg
KGlzTm9kZVR5cGVOYW1lKG5hbWUpKSB7Ci0gICAgICAgICAgICBpZiAobmFtZSA9PSAicHJvY2Vz
c2luZy1pbnN0cnVjdGlvbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFRva2VuKFBJKTsKKyAg
ICAgICAgLy8gRWl0aGVyIG5vZGUgdHlwZSBvb3IgZnVuY3Rpb24gbmFtZS4KIAotICAgICAgICAg
ICAgcmV0dXJuIFRva2VuKE5PREVUWVBFLCBuYW1lKTsKLSAgICAgICAgfQorICAgICAgICBpZiAo
bmFtZSA9PSAicHJvY2Vzc2luZy1pbnN0cnVjdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gVG9r
ZW4oUEkpOworICAgICAgICBpZiAobmFtZSA9PSAibm9kZSIpCisgICAgICAgICAgICByZXR1cm4g
VG9rZW4oTk9ERSk7CisgICAgICAgIGlmIChuYW1lID09ICJ0ZXh0IikKKyAgICAgICAgICAgIHJl
dHVybiBUb2tlbihURVhUKTsKKyAgICAgICAgaWYgKG5hbWUgPT0gImNvbW1lbnQiKQorICAgICAg
ICAgICAgcmV0dXJuIFRva2VuKENPTU1FTlQpOwogCiAgICAgICAgIHJldHVybiBUb2tlbihGVU5D
VElPTk5BTUUsIG5hbWUpOwogICAgIH0KQEAgLTM4NSw0NyArMzk2LDM2IEBAIFRva2VuIFBhcnNl
cjo6bmV4dFRva2VuSW50ZXJuYWwoKQogICAgIHJldHVybiBUb2tlbihOQU1FVEVTVCwgbmFtZSk7
CiB9CiAKLVRva2VuIFBhcnNlcjo6bmV4dFRva2VuKCkKK2lubGluZSBQYXJzZXI6OlRva2VuIFBh
cnNlcjo6bmV4dFRva2VuKCkKIHsKLSAgICBUb2tlbiB0b1JldCA9IG5leHRUb2tlbkludGVybmFs
KCk7Ci0gICAgbV9sYXN0VG9rZW5UeXBlID0gdG9SZXQudHlwZTsKLSAgICByZXR1cm4gdG9SZXQ7
CisgICAgVG9rZW4gdG9rZW4gPSBuZXh0VG9rZW5JbnRlcm5hbCgpOworICAgIG1fbGFzdFRva2Vu
VHlwZSA9IHRva2VuLnR5cGU7CisgICAgcmV0dXJuIHRva2VuOwogfQogCi1QYXJzZXI6OlBhcnNl
cigpCitQYXJzZXI6OlBhcnNlcihjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgWFBhdGhOU1Jlc29s
dmVyKiByZXNvbHZlcikKKyAgICA6IG1fZGF0YShzdGF0ZW1lbnQpCisgICAgLCBtX3Jlc29sdmVy
KHJlc29sdmVyKQorICAgICwgbV9uZXh0UG9zKDApCisgICAgLCBtX2xhc3RUb2tlblR5cGUoMCkK
KyAgICAsIG1fc2F3TmFtZXNwYWNlRXJyb3IoZmFsc2UpCiB7Ci0gICAgcmVzZXQoU3RyaW5nKCkp
OwogfQogCi1QYXJzZXI6On5QYXJzZXIoKQoraW50IFBhcnNlcjo6bGV4KFlZU1RZUEUmIHl5bHZh
bCkKIHsKLX0KLQotdm9pZCBQYXJzZXI6OnJlc2V0KGNvbnN0IFN0cmluZyYgZGF0YSkKLXsKLSAg
ICBtX25leHRQb3MgPSAwOwotICAgIG1fZGF0YSA9IGRhdGE7Ci0gICAgbV9sYXN0VG9rZW5UeXBl
ID0gMDsKLSAgICAKLSAgICBtX3RvcEV4cHIgPSAwOwotICAgIG1fZ290TmFtZXNwYWNlRXJyb3Ig
PSBmYWxzZTsKLX0KKyAgICBUb2tlbiB0b2tlbiA9IG5leHRUb2tlbigpOwogCi1pbnQgUGFyc2Vy
OjpsZXgodm9pZCogZGF0YSkKLXsKLSAgICBZWVNUWVBFKiB5eWx2YWwgPSBzdGF0aWNfY2FzdDxZ
WVNUWVBFKj4oZGF0YSk7Ci0gICAgVG9rZW4gdG9rID0gbmV4dFRva2VuKCk7Ci0KLSAgICBzd2l0
Y2ggKHRvay50eXBlKSB7CisgICAgc3dpdGNoICh0b2tlbi50eXBlKSB7CiAgICAgY2FzZSBBWElT
TkFNRToKLSAgICAgICAgeXlsdmFsLT5heGlzID0gdG9rLmF4aXM7CisgICAgICAgIHl5bHZhbC5h
eGlzID0gdG9rZW4uYXhpczsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNVUxPUDoKLSAgICAg
ICAgeXlsdmFsLT5udW1vcCA9IHRvay5udW1vcDsKKyAgICAgICAgeXlsdmFsLm51bWVyaWNPcGNv
ZGUgPSB0b2tlbi5udW1lcmljT3Bjb2RlOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJFTE9Q
OgogICAgIGNhc2UgRVFPUDoKLSAgICAgICAgeXlsdmFsLT5lcW9wID0gdG9rLmVxb3A7CisgICAg
ICAgIHl5bHZhbC5lcXVhbGl0eVRlc3RPcGNvZGUgPSB0b2tlbi5lcXVhbGl0eVRlc3RPcGNvZGU7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTk9ERVRZUEU6CiAgICAgY2FzZSBGVU5DVElPTk5B
TUU6CkBAIC00MzMsMTkwICs0MzMsNTAgQEAgaW50IFBhcnNlcjo6bGV4KHZvaWQqIGRhdGEpCiAg
ICAgY2FzZSBWQVJJQUJMRVJFRkVSRU5DRToKICAgICBjYXNlIE5VTUJFUjoKICAgICBjYXNlIE5B
TUVURVNUOgotICAgICAgICB5eWx2YWwtPnN0ciA9IG5ldyBTdHJpbmcodG9rLnN0cik7Ci0gICAg
ICAgIHJlZ2lzdGVyU3RyaW5nKHl5bHZhbC0+c3RyKTsKKyAgICAgICAgeXlsdmFsLnN0cmluZyA9
IHRva2VuLnN0cmluZy5yZWxlYXNlSW1wbCgpLmxlYWtSZWYoKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHRvay50eXBlOworICAgIHJldHVybiB0b2tlbi50eXBlOwogfQog
Ci1ib29sIFBhcnNlcjo6ZXhwYW5kUU5hbWUoY29uc3QgU3RyaW5nJiBxTmFtZSwgU3RyaW5nJiBs
b2NhbE5hbWUsIFN0cmluZyYgbmFtZXNwYWNlVVJJKQorYm9vbCBQYXJzZXI6OmV4cGFuZFF1YWxp
ZmllZE5hbWUoY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBTdHJpbmcmIGxvY2FsTmFtZSwg
U3RyaW5nJiBuYW1lc3BhY2VVUkkpCiB7Ci0gICAgc2l6ZV90IGNvbG9uID0gcU5hbWUuZmluZCgn
OicpOworICAgIHNpemVfdCBjb2xvbiA9IHF1YWxpZmllZE5hbWUuZmluZCgnOicpOwogICAgIGlm
IChjb2xvbiAhPSBub3RGb3VuZCkgewotICAgICAgICBpZiAoIW1fcmVzb2x2ZXIpCisgICAgICAg
IGlmICghbV9yZXNvbHZlcikgeworICAgICAgICAgICAgbV9zYXdOYW1lc3BhY2VFcnJvciA9IHRy
dWU7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIG5hbWVzcGFjZVVSSSA9IG1f
cmVzb2x2ZXItPmxvb2t1cE5hbWVzcGFjZVVSSShxTmFtZS5sZWZ0KGNvbG9uKSk7Ci0gICAgICAg
IGlmIChuYW1lc3BhY2VVUkkuaXNOdWxsKCkpCisgICAgICAgIH0KKyAgICAgICAgbmFtZXNwYWNl
VVJJID0gbV9yZXNvbHZlci0+bG9va3VwTmFtZXNwYWNlVVJJKHF1YWxpZmllZE5hbWUubGVmdChj
b2xvbikpOworICAgICAgICBpZiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpKSB7CisgICAgICAgICAg
ICBtX3Nhd05hbWVzcGFjZUVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgbG9jYWxOYW1lID0gcU5hbWUuc3Vic3RyaW5nKGNvbG9uICsgMSk7CisgICAgICAg
IH0KKyAgICAgICAgbG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZS5zdWJzdHJpbmcoY29sb24gKyAx
KTsKICAgICB9IGVsc2UKLSAgICAgICAgbG9jYWxOYW1lID0gcU5hbWU7Ci0gICAgCisgICAgICAg
IGxvY2FsTmFtZSA9IHF1YWxpZmllZE5hbWU7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotRXhw
cmVzc2lvbiogUGFyc2VyOjpwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwg
UGFzc1JlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+IHJlc29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykK
K3N0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGNvbnN0
IFN0cmluZyYgc3RhdGVtZW50LCBYUGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyLCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKLSAgICByZXNldChzdGF0ZW1lbnQpOwotCi0gICAgbV9yZXNvbHZlciA9IHJl
c29sdmVyOwotICAgIAotICAgIFBhcnNlciogb2xkUGFyc2VyID0gY3VycmVudFBhcnNlcjsKLSAg
ICBjdXJyZW50UGFyc2VyID0gdGhpczsKLSAgICBpbnQgcGFyc2VFcnJvciA9IHhwYXRoeXlwYXJz
ZSh0aGlzKTsKLSAgICBjdXJyZW50UGFyc2VyID0gb2xkUGFyc2VyOwotCi0gICAgaWYgKHBhcnNl
RXJyb3IpIHsKLSAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGFyc2VOb2Rlcyk7Ci0gICAgICAg
IG1fcGFyc2VOb2Rlcy5jbGVhcigpOwotCi0gICAgICAgIEhhc2hTZXQ8VmVjdG9yPFByZWRpY2F0
ZSo+Kj46Oml0ZXJhdG9yIHBlbmQgPSBtX3ByZWRpY2F0ZVZlY3RvcnMuZW5kKCk7Ci0gICAgICAg
IGZvciAoSGFzaFNldDxWZWN0b3I8UHJlZGljYXRlKj4qPjo6aXRlcmF0b3IgaXQgPSBtX3ByZWRp
Y2F0ZVZlY3RvcnMuYmVnaW4oKTsgaXQgIT0gcGVuZDsgKytpdCkgewotICAgICAgICAgICAgZGVs
ZXRlQWxsVmFsdWVzKCoqaXQpOwotICAgICAgICAgICAgZGVsZXRlICppdDsKLSAgICAgICAgfQot
ICAgICAgICBtX3ByZWRpY2F0ZVZlY3RvcnMuY2xlYXIoKTsKLQotICAgICAgICBIYXNoU2V0PFZl
Y3RvcjxFeHByZXNzaW9uKj4qPjo6aXRlcmF0b3IgZWVuZCA9IG1fZXhwcmVzc2lvblZlY3RvcnMu
ZW5kKCk7Ci0gICAgICAgIGZvciAoSGFzaFNldDxWZWN0b3I8RXhwcmVzc2lvbio+Kj46Oml0ZXJh
dG9yIGl0ID0gbV9leHByZXNzaW9uVmVjdG9ycy5iZWdpbigpOyBpdCAhPSBlZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBkZWxldGVBbGxWYWx1ZXMoKippdCk7Ci0gICAgICAgICAgICBkZWxldGUg
Kml0OwotICAgICAgICB9Ci0gICAgICAgIG1fZXhwcmVzc2lvblZlY3RvcnMuY2xlYXIoKTsKLQot
ICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9zdHJpbmdzKTsKLSAgICAgICAgbV9zdHJpbmdzLmNs
ZWFyKCk7CisgICAgUGFyc2VyIHBhcnNlcihzdGF0ZW1lbnQsIHJlc29sdmVyKTsKIAotICAgICAg
ICBkZWxldGVBbGxWYWx1ZXMobV9ub2RlVGVzdHMpOwotICAgICAgICBtX25vZGVUZXN0cy5jbGVh
cigpOworICAgIGludCBwYXJzZUVycm9yID0geHBhdGh5eXBhcnNlKHBhcnNlcik7CiAKLSAgICAg
ICAgbV90b3BFeHByID0gMDsKLQotICAgICAgICBpZiAobV9nb3ROYW1lc3BhY2VFcnJvcikKLSAg
ICAgICAgICAgIGVjID0gTkFNRVNQQUNFX0VSUjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
ZWMgPSBYUGF0aEV4Y2VwdGlvbjo6SU5WQUxJRF9FWFBSRVNTSU9OX0VSUjsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgaWYgKHBhcnNlci5tX3Nhd05hbWVzcGFjZUVycm9yKSB7CisgICAgICAgIGVj
ID0gTkFNRVNQQUNFX0VSUjsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAg
QVNTRVJUKG1fcGFyc2VOb2Rlcy5zaXplKCkgPT0gMSk7Ci0gICAgQVNTRVJUKCptX3BhcnNlTm9k
ZXMuYmVnaW4oKSA9PSBtX3RvcEV4cHIpOwotICAgIEFTU0VSVChtX2V4cHJlc3Npb25WZWN0b3Jz
LnNpemUoKSA9PSAwKTsKLSAgICBBU1NFUlQobV9wcmVkaWNhdGVWZWN0b3JzLnNpemUoKSA9PSAw
KTsKLSAgICBBU1NFUlQobV9zdHJpbmdzLnNpemUoKSA9PSAwKTsKLSAgICBBU1NFUlQobV9ub2Rl
VGVzdHMuc2l6ZSgpID09IDApOwotCi0gICAgbV9wYXJzZU5vZGVzLmNsZWFyKCk7Ci0gICAgRXhw
cmVzc2lvbiogcmVzdWx0ID0gbV90b3BFeHByOwotICAgIG1fdG9wRXhwciA9IDA7Ci0KLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VO
b2RlKiBub2RlKQotewotICAgIGlmIChub2RlID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAK
LSAgICBBU1NFUlQoIW1fcGFyc2VOb2Rlcy5jb250YWlucyhub2RlKSk7Ci0gICAgCi0gICAgbV9w
YXJzZU5vZGVzLmFkZChub2RlKTsKLX0KLQotdm9pZCBQYXJzZXI6OnVucmVnaXN0ZXJQYXJzZU5v
ZGUoUGFyc2VOb2RlKiBub2RlKQotewotICAgIGlmIChub2RlID09IDApCi0gICAgICAgIHJldHVy
bjsKLSAgICAKLSAgICBBU1NFUlQobV9wYXJzZU5vZGVzLmNvbnRhaW5zKG5vZGUpKTsKLQotICAg
IG1fcGFyc2VOb2Rlcy5yZW1vdmUobm9kZSk7Ci19Ci0KLXZvaWQgUGFyc2VyOjpyZWdpc3RlclBy
ZWRpY2F0ZVZlY3RvcihWZWN0b3I8UHJlZGljYXRlKj4qIHZlY3RvcikKLXsKLSAgICBpZiAodmVj
dG9yID09IDApCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghbV9wcmVkaWNhdGVWZWN0
b3JzLmNvbnRhaW5zKHZlY3RvcikpOwotICAgIAotICAgIG1fcHJlZGljYXRlVmVjdG9ycy5hZGQo
dmVjdG9yKTsKLX0KLQotdm9pZCBQYXJzZXI6OmRlbGV0ZVByZWRpY2F0ZVZlY3RvcihWZWN0b3I8
UHJlZGljYXRlKj4qIHZlY3RvcikKLXsKLSAgICBpZiAodmVjdG9yID09IDApCi0gICAgICAgIHJl
dHVybjsKLQotICAgIEFTU0VSVChtX3ByZWRpY2F0ZVZlY3RvcnMuY29udGFpbnModmVjdG9yKSk7
Ci0gICAgCi0gICAgbV9wcmVkaWNhdGVWZWN0b3JzLnJlbW92ZSh2ZWN0b3IpOwotICAgIGRlbGV0
ZSB2ZWN0b3I7Ci19Ci0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyRXhwcmVzc2lvblZlY3RvcihW
ZWN0b3I8RXhwcmVzc2lvbio+KiB2ZWN0b3IpCi17Ci0gICAgaWYgKHZlY3RvciA9PSAwKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQoIW1fZXhwcmVzc2lvblZlY3RvcnMuY29udGFpbnMo
dmVjdG9yKSk7Ci0gICAgCi0gICAgbV9leHByZXNzaW9uVmVjdG9ycy5hZGQodmVjdG9yKTsgICAg
Ci19Ci0KLXZvaWQgUGFyc2VyOjpkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNz
aW9uKj4qIHZlY3RvcikKLXsKLSAgICBpZiAodmVjdG9yID09IDApCi0gICAgICAgIHJldHVybjsK
LQotICAgIEFTU0VSVChtX2V4cHJlc3Npb25WZWN0b3JzLmNvbnRhaW5zKHZlY3RvcikpOwotICAg
IAotICAgIG1fZXhwcmVzc2lvblZlY3RvcnMucmVtb3ZlKHZlY3Rvcik7Ci0gICAgZGVsZXRlIHZl
Y3RvcjsKLX0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyU3RyaW5nKFN0cmluZyogcykKLXsKLSAg
ICBpZiAocyA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKCFtX3N0cmlu
Z3MuY29udGFpbnMocykpOwotICAgIAotICAgIG1fc3RyaW5ncy5hZGQocyk7ICAgICAgICAKLX0K
LQotdm9pZCBQYXJzZXI6OmRlbGV0ZVN0cmluZyhTdHJpbmcqIHMpCi17Ci0gICAgaWYgKHMgPT0g
MCkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVChtX3N0cmluZ3MuY29udGFpbnMo
cykpOwotICAgIAotICAgIG1fc3RyaW5ncy5yZW1vdmUocyk7Ci0gICAgZGVsZXRlIHM7Ci19Ci0K
LXZvaWQgUGFyc2VyOjpyZWdpc3Rlck5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0KiB0KQotewotICAg
IGlmICh0ID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBU1NFUlQoIW1fbm9kZVRl
c3RzLmNvbnRhaW5zKHQpKTsKLSAgICAKLSAgICBtX25vZGVUZXN0cy5hZGQodCk7ICAgICAgICAK
LX0KKyAgICBpZiAocGFyc2VFcnJvcikgeworICAgICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJ
TlZBTElEX0VYUFJFU1NJT05fRVJSOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAK
LXZvaWQgUGFyc2VyOjpkZWxldGVOb2RlVGVzdChTdGVwOjpOb2RlVGVzdCogdCkKLXsKLSAgICBp
ZiAodCA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKG1fbm9kZVRlc3Rz
LmNvbnRhaW5zKHQpKTsKLSAgICAKLSAgICBtX25vZGVUZXN0cy5yZW1vdmUodCk7Ci0gICAgZGVs
ZXRlIHQ7CisgICAgcmV0dXJuIHN0ZDo6bW92ZShwYXJzZXIubV9yZXN1bHQpOwogfQogCit9IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggZTU4YzQ0NGUxZDUyODFjMDc1MDZhOGMxNWQ1
OTlhODE3ZWRkZTRhNi4uN2JhYzNiNzhkYWFkMzg1ZmNmNjJhOGRhNTg0MDNhMGY4MzY2ZjczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IDIwMDUgTWFrc2ltIE9ybG92aWNoIDxtYWtzaW1Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAo
QykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlhQYXRoU3RlcC5oIgogI2luY2x1
ZGUgIlhQYXRoUHJlZGljYXRlLmgiCiAKK3VuaW9uIFlZU1RZUEU7CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC0zOCw1OCArNDAsMjAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAg
ICBjbGFzcyBFeHByZXNzaW9uOwotICAgICAgICBjbGFzcyBQYXJzZU5vZGU7Ci0gICAgICAgIGNs
YXNzIFByZWRpY2F0ZTsKLQotICAgICAgICBzdHJ1Y3QgVG9rZW4gewotICAgICAgICAgICAgaW50
IHR5cGU7Ci0gICAgICAgICAgICBTdHJpbmcgc3RyOwotICAgICAgICAgICAgU3RlcDo6QXhpcyBh
eGlzOwotICAgICAgICAgICAgTnVtZXJpY09wOjpPcGNvZGUgbnVtb3A7Ci0gICAgICAgICAgICBF
cVRlc3RPcDo6T3Bjb2RlIGVxb3A7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFRva2VuKGlu
dCB0KSA6IHR5cGUodCkge30KLSAgICAgICAgICAgIFRva2VuKGludCB0LCBjb25zdCBTdHJpbmcm
IHYpOiB0eXBlKHQpLCBzdHIodikge30KLSAgICAgICAgICAgIFRva2VuKGludCB0LCBTdGVwOjpB
eGlzIHYpOiB0eXBlKHQpLCBheGlzKHYpIHt9Ci0gICAgICAgICAgICBUb2tlbihpbnQgdCwgTnVt
ZXJpY09wOjpPcGNvZGUgdik6IHR5cGUodCksIG51bW9wKHYpIHt9Ci0gICAgICAgICAgICBUb2tl
bihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQotICAgICAg
ICB9OwotCiAgICAgICAgIGNsYXNzIFBhcnNlciB7CiAgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBQYXJzZXIoKTsK
LSAgICAgICAgICAgIH5QYXJzZXIoKTsKLQotICAgICAgICAgICAgWFBhdGhOU1Jlc29sdmVyKiBy
ZXNvbHZlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZXIuZ2V0KCk7IH0KLSAgICAgICAgICAg
IGJvb2wgZXhwYW5kUU5hbWUoY29uc3QgU3RyaW5nJiBxTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUs
IFN0cmluZyYgbmFtZXNwYWNlVVJJKTsKLQotICAgICAgICAgICAgRXhwcmVzc2lvbiogcGFyc2VT
dGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFBhc3NSZWZQdHI8WFBhdGhOU1Jlc29s
dmVyPiwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgICAgICAgICBzdGF0aWMgUGFyc2VyKiBjdXJy
ZW50KCkgeyByZXR1cm4gY3VycmVudFBhcnNlcjsgfQotCi0gICAgICAgICAgICBpbnQgbGV4KHZv
aWQqIHl5bHZhbCk7CisgICAgICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+IHBhcnNlU3RhdGVtZW50KGNvbnN0IFN0cmluZyYgc3RhdGVtZW50LCBYUGF0aE5TUmVzb2x2
ZXIqLCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICAgICAgICAgIEV4cHJlc3Npb24qIG1fdG9wRXhw
cjsKLSAgICAgICAgICAgIGJvb2wgbV9nb3ROYW1lc3BhY2VFcnJvcjsKKyAgICAgICAgICAgIGlu
dCBsZXgoWVlTVFlQRSYpOworICAgICAgICAgICAgYm9vbCBleHBhbmRRdWFsaWZpZWROYW1lKGNv
bnN0IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUsIFN0cmluZyYgbmFt
ZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHZvaWQgc2V0UGFyc2VSZXN1bHQoc3RkOjp1bmlxdWVf
cHRyPEV4cHJlc3Npb24+JiYgZXhwcmVzc2lvbikgeyBtX3Jlc3VsdCA9IHN0ZDo6bW92ZShleHBy
ZXNzaW9uKTsgfQogCi0gICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9k
ZSopOwotICAgICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSopOwot
Ci0gICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNh
dGUqPiopOwotICAgICAgICAgICAgdm9pZCBkZWxldGVQcmVkaWNhdGVWZWN0b3IoVmVjdG9yPFBy
ZWRpY2F0ZSo+Kik7Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9y
KFZlY3RvcjxFeHByZXNzaW9uKj4qKTsKLSAgICAgICAgICAgIHZvaWQgZGVsZXRlRXhwcmVzc2lv
blZlY3RvcihWZWN0b3I8RXhwcmVzc2lvbio+Kik7Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0
ZXJTdHJpbmcoU3RyaW5nKik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZVN0cmluZyhTdHJpbmcq
KTsKKyAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICAgIFBhcnNlcihjb25zdCBTdHJpbmcmLCBY
UGF0aE5TUmVzb2x2ZXIqKTsKIAotICAgICAgICAgICAgdm9pZCByZWdpc3Rlck5vZGVUZXN0KFN0
ZXA6Ok5vZGVUZXN0Kik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZU5vZGVUZXN0KFN0ZXA6Ok5v
ZGVUZXN0Kik7CisgICAgICAgICAgICBzdHJ1Y3QgVG9rZW47CiAKLSAgICAgICAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGJvb2wgaXNCaW5hcnlPcGVyYXRvckNvbnRleHQoKSBjb25zdDsKIAogICAg
ICAgICAgICAgdm9pZCBza2lwV1MoKTsKQEAgLTEwNywyMCArNzEsMTQgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgVG9rZW4gbmV4dFRva2VuKCk7CiAgICAgICAgICAgICBUb2tl
biBuZXh0VG9rZW5JbnRlcm5hbCgpOwogCi0gICAgICAgICAgICB2b2lkIHJlc2V0KGNvbnN0IFN0
cmluZyYgZGF0YSk7Ci0KLSAgICAgICAgICAgIHN0YXRpYyBQYXJzZXIqIGN1cnJlbnRQYXJzZXI7
CisgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1fZGF0YTsKKyAgICAgICAgICAgIFhQYXRoTlNS
ZXNvbHZlciogbV9yZXNvbHZlcjsKIAogICAgICAgICAgICAgdW5zaWduZWQgbV9uZXh0UG9zOwot
ICAgICAgICAgICAgU3RyaW5nIG1fZGF0YTsKICAgICAgICAgICAgIGludCBtX2xhc3RUb2tlblR5
cGU7Ci0gICAgICAgICAgICBSZWZQdHI8WFBhdGhOU1Jlc29sdmVyPiBtX3Jlc29sdmVyOwogCi0g
ICAgICAgICAgICBIYXNoU2V0PFBhcnNlTm9kZSo+IG1fcGFyc2VOb2RlczsKLSAgICAgICAgICAg
IEhhc2hTZXQ8VmVjdG9yPFByZWRpY2F0ZSo+Kj4gbV9wcmVkaWNhdGVWZWN0b3JzOwotICAgICAg
ICAgICAgSGFzaFNldDxWZWN0b3I8RXhwcmVzc2lvbio+Kj4gbV9leHByZXNzaW9uVmVjdG9yczsK
LSAgICAgICAgICAgIEhhc2hTZXQ8U3RyaW5nKj4gbV9zdHJpbmdzOwotICAgICAgICAgICAgSGFz
aFNldDxTdGVwOjpOb2RlVGVzdCo+IG1fbm9kZVRlc3RzOworICAgICAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+IG1fcmVzdWx0OworICAgICAgICAgICAgYm9vbCBtX3Nhd05hbWVz
cGFjZUVycm9yOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcApp
bmRleCBiYzhhNjNhNDAzZjliNWFjYzBmZTlkNjZiMzg0NWZlOWFkODQyNGFkLi5lZjM0ODNkYzZh
NGFlZDIyYTc2ODM2MDVmZTI4N2FmYmMwYjU2OGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhQYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNw
cApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlcmljaCBSYWFi
ZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSBBcHBsZSBJbmMu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFw
QHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zNiwyNSArMzYsMTkgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotRmlsdGVyOjpGaWx0
ZXIoRXhwcmVzc2lvbiogZXhwciwgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVz
KQotICAgIDogbV9leHByKGV4cHIpLCBtX3ByZWRpY2F0ZXMocHJlZGljYXRlcykKK0ZpbHRlcjo6
RmlsdGVyKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGV4cHJlc3Npb24sIFZlY3RvcjxQ
cmVkaWNhdGU+JiYgcHJlZGljYXRlcykKKyAgICA6IG1fZXhwcmVzc2lvbihzdGQ6Om1vdmUoZXhw
cmVzc2lvbikpLCBtX3ByZWRpY2F0ZXMoc3RkOjptb3ZlKHByZWRpY2F0ZXMpKQogewotICAgIHNl
dElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9leHByLT5pc0NvbnRleHROb2RlU2Vuc2l0aXZlKCkp
OwotICAgIHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKG1fZXhwci0+aXNDb250ZXh0UG9z
aXRpb25TZW5zaXRpdmUoKSk7Ci0gICAgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShtX2V4cHIt
PmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSk7Ci19Ci0KLUZpbHRlcjo6fkZpbHRlcigpCi17Ci0g
ICAgZGVsZXRlIG1fZXhwcjsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9wcmVkaWNhdGVzKTsKKyAg
ICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKG1fZXhwcmVzc2lvbi0+aXNDb250ZXh0Tm9kZVNl
bnNpdGl2ZSgpKTsKKyAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShtX2V4cHJlc3Np
b24tPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4dFNpemVT
ZW5zaXRpdmUobV9leHByZXNzaW9uLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOwogfQogCiBW
YWx1ZSBGaWx0ZXI6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSB2ID0gbV9leHByLT5l
dmFsdWF0ZSgpOworICAgIFZhbHVlIHJlc3VsdCA9IG1fZXhwcmVzc2lvbi0+ZXZhbHVhdGUoKTsK
ICAgICAKLSAgICBOb2RlU2V0JiBub2RlcyA9IHYubW9kaWZpYWJsZU5vZGVTZXQoKTsKKyAgICBO
b2RlU2V0JiBub2RlcyA9IHJlc3VsdC5tb2RpZmlhYmxlTm9kZVNldCgpOwogICAgIG5vZGVzLnNv
cnQoKTsKIAogICAgIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCA9IEV4cHJl
c3Npb246OmV2YWx1YXRpb25Db250ZXh0KCk7CkBAIC02OSwyNiArNjMsMjEgQEAgVmFsdWUgRmls
dGVyOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5ub2Rl
ID0gbm9kZTsKICAgICAgICAgICAgICsrZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb247CiAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmIChtX3ByZWRpY2F0ZXNbaV0tPmV2YWx1YXRlKCkpCisg
ICAgICAgICAgICBpZiAobV9wcmVkaWNhdGVzW2ldLmV2YWx1YXRlKCkpCiAgICAgICAgICAgICAg
ICAgbmV3Tm9kZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICB9Ci0gICAgICAgIG5vZGVzLnN3YXAo
bmV3Tm9kZXMpOworICAgICAgICBub2RlcyA9IHN0ZDo6bW92ZShuZXdOb2Rlcyk7CiAgICAgfQog
Ci0gICAgcmV0dXJuIHY7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogTG9jYXRpb25QYXRoOjpM
b2NhdGlvblBhdGgoKQotICAgIDogbV9hYnNvbHV0ZShmYWxzZSkKKyAgICA6IG1faXNBYnNvbHV0
ZShmYWxzZSkKIHsKICAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRydWUpOwogfQogCi1M
b2NhdGlvblBhdGg6On5Mb2NhdGlvblBhdGgoKQotewotICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3N0
ZXBzKTsKLX0KLQogVmFsdWUgTG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CiB7CiAgICAg
RXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0ID0gRXhwcmVzc2lvbjo6ZXZhbHVh
dGlvbkNvbnRleHQoKTsKQEAgLTEwMiw3ICs5MSw3IEBAIFZhbHVlIExvY2F0aW9uUGF0aDo6ZXZh
bHVhdGUoKSBjb25zdAogICAgIC8vIFRoaXMgaXMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBGaXJl
Zm94LCBhbmQgYWxzbyBzZWVtcyBsaWtlIGEgbW9yZQogICAgIC8vIGxvZ2ljYWwgdHJlYXRtZW50
IG9mIHdoZXJlIHlvdSB3b3VsZCBleHBlY3QgdGhlICJyb290IiB0byBiZS4KICAgICBOb2RlKiBj
b250ZXh0ID0gZXZhbHVhdGlvbkNvbnRleHQubm9kZS5nZXQoKTsKLSAgICBpZiAobV9hYnNvbHV0
ZSAmJiBjb250ZXh0LT5ub2RlVHlwZSgpICE9IE5vZGU6OkRPQ1VNRU5UX05PREUpICB7CisgICAg
aWYgKG1faXNBYnNvbHV0ZSAmJiAhY29udGV4dC0+aXNEb2N1bWVudE5vZGUoKSkgIHsKICAgICAg
ICAgaWYgKGNvbnRleHQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgICAgIGNvbnRleHQgPSBjb250
ZXh0LT5vd25lckRvY3VtZW50KCk7CiAgICAgICAgIGVsc2UKQEAgLTExNCw3ICsxMDMsNyBAQCBW
YWx1ZSBMb2NhdGlvblBhdGg6OmV2YWx1YXRlKCkgY29uc3QKICAgICBldmFsdWF0ZShub2Rlcyk7
CiAgICAgCiAgICAgZXZhbHVhdGlvbkNvbnRleHQgPSBiYWNrdXBDb250ZXh0OwotICAgIHJldHVy
biBWYWx1ZShub2RlcywgVmFsdWU6OmFkb3B0KTsKKyAgICByZXR1cm4gVmFsdWUoc3RkOjptb3Zl
KG5vZGVzKSk7CiB9CiAKIHZvaWQgTG9jYXRpb25QYXRoOjpldmFsdWF0ZShOb2RlU2V0JiBub2Rl
cykgY29uc3QKQEAgLTEyMiwyMyArMTExLDIzIEBAIHZvaWQgTG9jYXRpb25QYXRoOjpldmFsdWF0
ZShOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICBib29sIHJlc3VsdElzU29ydGVkID0gbm9kZXMu
aXNTb3J0ZWQoKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3N0ZXBzLnNpemUo
KTsgaSsrKSB7Ci0gICAgICAgIFN0ZXAqIHN0ZXAgPSBtX3N0ZXBzW2ldOworICAgICAgICBTdGVw
JiBzdGVwID0gKm1fc3RlcHNbaV07CiAgICAgICAgIE5vZGVTZXQgbmV3Tm9kZXM7CiAgICAgICAg
IEhhc2hTZXQ8Tm9kZSo+IG5ld05vZGVzU2V0OwogCi0gICAgICAgIGJvb2wgbmVlZFRvQ2hlY2tG
b3JEdXBsaWNhdGVOb2RlcyA9ICFub2Rlcy5zdWJ0cmVlc0FyZURpc2pvaW50KCkgfHwgKHN0ZXAt
PmF4aXMoKSAhPSBTdGVwOjpDaGlsZEF4aXMgJiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OlNlbGZB
eGlzCi0gICAgICAgICAgICAmJiBzdGVwLT5heGlzKCkgIT0gU3RlcDo6RGVzY2VuZGFudEF4aXMg
JiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlzICYmIHN0ZXAtPmF4
aXMoKSAhPSBTdGVwOjpBdHRyaWJ1dGVBeGlzKTsKKyAgICAgICAgYm9vbCBuZWVkVG9DaGVja0Zv
ckR1cGxpY2F0ZU5vZGVzID0gIW5vZGVzLnN1YnRyZWVzQXJlRGlzam9pbnQoKSB8fCAoc3RlcC5h
eGlzKCkgIT0gU3RlcDo6Q2hpbGRBeGlzICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OlNlbGZBeGlz
CisgICAgICAgICAgICAmJiBzdGVwLmF4aXMoKSAhPSBTdGVwOjpEZXNjZW5kYW50QXhpcyAmJiBz
dGVwLmF4aXMoKSAhPSBTdGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcyAmJiBzdGVwLmF4aXMoKSAh
PSBTdGVwOjpBdHRyaWJ1dGVBeGlzKTsKIAogICAgICAgICBpZiAobmVlZFRvQ2hlY2tGb3JEdXBs
aWNhdGVOb2RlcykKICAgICAgICAgICAgIHJlc3VsdElzU29ydGVkID0gZmFsc2U7CiAKICAgICAg
ICAgLy8gVGhpcyBpcyBhIHNpbXBsaWZpZWQgY2hlY2sgdGhhdCBjYW4gYmUgaW1wcm92ZWQgdG8g
aGFuZGxlIG1vcmUgY2FzZXMuCi0gICAgICAgIGlmIChub2Rlcy5zdWJ0cmVlc0FyZURpc2pvaW50
KCkgJiYgKHN0ZXAtPmF4aXMoKSA9PSBTdGVwOjpDaGlsZEF4aXMgfHwgc3RlcC0+YXhpcygpID09
IFN0ZXA6OlNlbGZBeGlzKSkKKyAgICAgICAgaWYgKG5vZGVzLnN1YnRyZWVzQXJlRGlzam9pbnQo
KSAmJiAoc3RlcC5heGlzKCkgPT0gU3RlcDo6Q2hpbGRBeGlzIHx8IHN0ZXAuYXhpcygpID09IFN0
ZXA6OlNlbGZBeGlzKSkKICAgICAgICAgICAgIG5ld05vZGVzLm1hcmtTdWJ0cmVlc0Rpc2pvaW50
KHRydWUpOwogCiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBub2Rlcy5zaXplKCk7
IGorKykgewogICAgICAgICAgICAgTm9kZVNldCBtYXRjaGVzOwotICAgICAgICAgICAgc3RlcC0+
ZXZhbHVhdGUobm9kZXNbal0sIG1hdGNoZXMpOworICAgICAgICAgICAgc3RlcC5ldmFsdWF0ZSgq
bm9kZXNbal0sIG1hdGNoZXMpOwogCiAgICAgICAgICAgICBpZiAoIW1hdGNoZXMuaXNTb3J0ZWQo
KSkKICAgICAgICAgICAgICAgICByZXN1bHRJc1NvcnRlZCA9IGZhbHNlOwpAQCAtMTUwLDY1ICsx
MzksNTYgQEAgdm9pZCBMb2NhdGlvblBhdGg6OmV2YWx1YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25z
dAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBub2Rlcy5zd2Fw
KG5ld05vZGVzKTsKKyAgICAgICAgbm9kZXMgPSBzdGQ6Om1vdmUobmV3Tm9kZXMpOwogICAgIH0K
IAogICAgIG5vZGVzLm1hcmtTb3J0ZWQocmVzdWx0SXNTb3J0ZWQpOwogfQogCi12b2lkIExvY2F0
aW9uUGF0aDo6YXBwZW5kU3RlcChTdGVwKiBzdGVwKQordm9pZCBMb2NhdGlvblBhdGg6OmFwcGVu
ZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+JiYgc3RlcCkKIHsKICAgICB1bnNpZ25lZCBzdGVw
Q291bnQgPSBtX3N0ZXBzLnNpemUoKTsKICAgICBpZiAoc3RlcENvdW50KSB7CiAgICAgICAgIGJv
b2wgZHJvcFNlY29uZFN0ZXA7Ci0gICAgICAgIG9wdGltaXplU3RlcFBhaXIobV9zdGVwc1tzdGVw
Q291bnQgLSAxXSwgc3RlcCwgZHJvcFNlY29uZFN0ZXApOwotICAgICAgICBpZiAoZHJvcFNlY29u
ZFN0ZXApIHsKLSAgICAgICAgICAgIGRlbGV0ZSBzdGVwOworICAgICAgICBvcHRpbWl6ZVN0ZXBQ
YWlyKCptX3N0ZXBzW3N0ZXBDb3VudCAtIDFdLCAqc3RlcCwgZHJvcFNlY29uZFN0ZXApOworICAg
ICAgICBpZiAoZHJvcFNlY29uZFN0ZXApCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
ICAgICB9CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKLSAgICBtX3N0ZXBzLmFwcGVuZChzdGVwKTsK
KyAgICBtX3N0ZXBzLmFwcGVuZChzdGQ6Om1vdmUoc3RlcCkpOwogfQogCi12b2lkIExvY2F0aW9u
UGF0aDo6aW5zZXJ0Rmlyc3RTdGVwKFN0ZXAqIHN0ZXApCit2b2lkIExvY2F0aW9uUGF0aDo6cHJl
cGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+JiYgc3RlcCkKIHsKICAgICBpZiAobV9zdGVw
cy5zaXplKCkpIHsKICAgICAgICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0aW1p
emVTdGVwUGFpcihzdGVwLCBtX3N0ZXBzWzBdLCBkcm9wU2Vjb25kU3RlcCk7CisgICAgICAgIG9w
dGltaXplU3RlcFBhaXIoKnN0ZXAsICptX3N0ZXBzWzBdLCBkcm9wU2Vjb25kU3RlcCk7CiAgICAg
ICAgIGlmIChkcm9wU2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIG1fc3RlcHNbMF07
Ci0gICAgICAgICAgICBtX3N0ZXBzWzBdID0gc3RlcDsKKyAgICAgICAgICAgIG1fc3RlcHNbMF0g
PSBzdGQ6Om1vdmUoc3RlcCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKLSAgICBtX3N0ZXBzLmluc2VydCgwLCBzdGVwKTsKLX0K
LQotUGF0aDo6UGF0aChGaWx0ZXIqIGZpbHRlciwgTG9jYXRpb25QYXRoKiBwYXRoKQotICAgIDog
bV9maWx0ZXIoZmlsdGVyKQotICAgICwgbV9wYXRoKHBhdGgpCi17Ci0gICAgc2V0SXNDb250ZXh0
Tm9kZVNlbnNpdGl2ZShmaWx0ZXItPmlzQ29udGV4dE5vZGVTZW5zaXRpdmUoKSk7Ci0gICAgc2V0
SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoZmlsdGVyLT5pc0NvbnRleHRQb3NpdGlvblNlbnNp
dGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRTaXplU2Vuc2l0aXZlKGZpbHRlci0+aXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSgpKTsKKyAgICBtX3N0ZXBzLmluc2VydCgwLCBzdGQ6Om1vdmUoc3RlcCkp
OwogfQogCi1QYXRoOjp+UGF0aCgpCitQYXRoOjpQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPiYmIGZpbHRlciwgc3RkOjp1bmlxdWVfcHRyPExvY2F0aW9uUGF0aD4mJiBwYXRoKQorICAg
IDogbV9maWx0ZXIoc3RkOjptb3ZlKGZpbHRlcikpCisgICAgLCBtX3BhdGgoc3RkOjptb3ZlKHBh
dGgpKQogewotICAgIGRlbGV0ZSBtX2ZpbHRlcjsKLSAgICBkZWxldGUgbV9wYXRoOworICAgIHNl
dElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9maWx0ZXItPmlzQ29udGV4dE5vZGVTZW5zaXRpdmUo
KSk7CisgICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUobV9maWx0ZXItPmlzQ29udGV4
dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4dFNpemVTZW5zaXRpdmUobV9m
aWx0ZXItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSk7CiB9CiAKIFZhbHVlIFBhdGg6OmV2YWx1
YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSB2ID0gbV9maWx0ZXItPmV2YWx1YXRlKCk7CisgICAg
VmFsdWUgcmVzdWx0ID0gbV9maWx0ZXItPmV2YWx1YXRlKCk7CiAKLSAgICBOb2RlU2V0JiBub2Rl
cyA9IHYubW9kaWZpYWJsZU5vZGVTZXQoKTsKKyAgICBOb2RlU2V0JiBub2RlcyA9IHJlc3VsdC5t
b2RpZmlhYmxlTm9kZVNldCgpOwogICAgIG1fcGF0aC0+ZXZhbHVhdGUobm9kZXMpOwogICAgIAot
ICAgIHJldHVybiB2OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBh
dGguaAppbmRleCBiMWE1N2NiYjc1NDJkYTJhZDVlMTA2NmJiNjMwYTY2YjM1YzU4YTgwLi5kZTk1
NzE1NzFiYmE2OTAzMGFiOTE5YWZiYTk1OWM3YTA5ZWRhMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0
aC5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJh
YWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIElu
Yy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI4
LDYgQEAKICNkZWZpbmUgWFBhdGhQYXRoX2gKIAogI2luY2x1ZGUgIlhQYXRoRXhwcmVzc2lvbk5v
ZGUuaCIKLSNpbmNsdWRlICJYUGF0aE5vZGVTZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC0zNyw1MSArMzYsNDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjbGFzcyBQ
cmVkaWNhdGU7CiAgICAgICAgIGNsYXNzIFN0ZXA7CiAKLSAgICAgICAgY2xhc3MgRmlsdGVyIDog
cHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBGaWx0ZXIgRklOQUwgOiBwdWJsaWMg
RXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIEZpbHRlcihFeHByZXNz
aW9uKiwgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiA9IFZlY3RvcjxQcmVkaWNhdGUqPigpKTsK
LSAgICAgICAgICAgIHZpcnR1YWwgfkZpbHRlcigpOwotCi0gICAgICAgICAgICB2aXJ0dWFsIFZh
bHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAgICBGaWx0ZXIoc3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+JiYsIFZlY3RvcjxQcmVkaWNhdGU+JiYpOwogCiAgICAgICAgIHByaXZhdGU6
Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVl
OyB9CiAKLSAgICAgICAgICAgIEV4cHJlc3Npb24qIG1fZXhwcjsKLSAgICAgICAgICAgIFZlY3Rv
cjxQcmVkaWNhdGUqPiBtX3ByZWRpY2F0ZXM7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4gbV9leHByZXNzaW9uOworICAgICAgICAgICAgVmVjdG9yPFByZWRpY2F0ZT4g
bV9wcmVkaWNhdGVzOwogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIExvY2F0aW9uUGF0aCA6
IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgTG9jYXRpb25QYXRoIEZJTkFMIDog
cHVibGljIEV4cHJlc3Npb24gewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBMb2NhdGlv
blBhdGgoKTsKLSAgICAgICAgICAgIHZpcnR1YWwgfkxvY2F0aW9uUGF0aCgpOwotICAgICAgICAg
ICAgdm9pZCBzZXRBYnNvbHV0ZShib29sIHZhbHVlKSB7IG1fYWJzb2x1dGUgPSB2YWx1ZTsgc2V0
SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSghbV9hYnNvbHV0ZSk7IH0KIAotICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OworICAgICAgICAgICAgdm9pZCBzZXRBYnNvbHV0
ZSgpIHsgbV9pc0Fic29sdXRlID0gdHJ1ZTsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShmYWxz
ZSk7IH0KKwogICAgICAgICAgICAgdm9pZCBldmFsdWF0ZShOb2RlU2V0JiBub2RlcykgY29uc3Q7
IC8vIG5vZGVzIGlzIGFuIGlucHV0L291dHB1dCBwYXJhbWV0ZXIKIAotICAgICAgICAgICAgdm9p
ZCBhcHBlbmRTdGVwKFN0ZXAqIHN0ZXApOwotICAgICAgICAgICAgdm9pZCBpbnNlcnRGaXJzdFN0
ZXAoU3RlcCogc3RlcCk7CisgICAgICAgICAgICB2b2lkIGFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVf
cHRyPFN0ZXA+JiYpOworICAgICAgICAgICAgdm9pZCBwcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9w
dHI8U3RlcD4mJik7CiAKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFs
dWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7
IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsK
KyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KIAotICAgICAgICAgICAgVmVjdG9y
PFN0ZXAqPiBtX3N0ZXBzOwotICAgICAgICAgICAgYm9vbCBtX2Fic29sdXRlOworICAgICAgICAg
ICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxTdGVwPj4gbV9zdGVwczsKKyAgICAgICAgICAgIGJv
b2wgbV9pc0Fic29sdXRlOwogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhdGggOiBwdWJs
aWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIFBhdGggRklOQUwgOiBwdWJsaWMgRXhwcmVz
c2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIFBhdGgoRmlsdGVyKiwgTG9jYXRp
b25QYXRoKik7Ci0gICAgICAgICAgICB2aXJ0dWFsIH5QYXRoKCk7Ci0KLSAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIFBhdGgoc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+JiYgZmlsdGVyLCBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25QYXRo
PiYmKTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlw
ZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQorICAg
ICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0gICAgICAgICAgICBGaWx0ZXIqIG1fZmls
dGVyOwotICAgICAgICAgICAgTG9jYXRpb25QYXRoKiBtX3BhdGg7CisgICAgICAgICAgICBzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gbV9maWx0ZXI7CisgICAgICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8TG9jYXRpb25QYXRoPiBtX3BhdGg7CiAgICAgICAgIH07CiAKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcAppbmRleCBiYzhhMWMzYTZjMDUzNWJjNTUxMmIyNDIy
ZjdjYzc4NTgwNGJkMjVlLi44MTlhNjc4OTU0ZjdhYjYxMDc2ZTgxOTM1NWI0ZTg1ZGViNGQxOTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dApAQCAtNDgsOCArNDgsOCBAQCBWYWx1ZSBOdW1iZXI6OmV2YWx1YXRlKCkgY29uc3QKICAg
ICByZXR1cm4gbV92YWx1ZTsKIH0KIAotU3RyaW5nRXhwcmVzc2lvbjo6U3RyaW5nRXhwcmVzc2lv
bihjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIDogbV92YWx1ZSh2YWx1ZSkKK1N0cmluZ0V4cHJl
c3Npb246OlN0cmluZ0V4cHJlc3Npb24oU3RyaW5nJiYgdmFsdWUpCisgICAgOiBtX3ZhbHVlKHN0
ZDo6bW92ZSh2YWx1ZSkpCiB7CiB9CiAKQEAgLTU4LDI2ICs1OCwyNyBAQCBWYWx1ZSBTdHJpbmdF
eHByZXNzaW9uOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fdmFsdWU7CiB9CiAKK05l
Z2F0aXZlOjpOZWdhdGl2ZShzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBleHByZXNzaW9u
KQoreworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJlc3Npb24pKTsKK30KKwog
VmFsdWUgTmVnYXRpdmU6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBwKHN1YkV4cHJl
c3Npb24oMCkuZXZhbHVhdGUoKSk7Ci0gICAgcmV0dXJuIC1wLnRvTnVtYmVyKCk7CisgICAgcmV0
dXJuIC1zdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsKIH0KIAotTnVtZXJp
Y09wOjpOdW1lcmljT3AoT3Bjb2RlIG9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9u
KiByaHMpCitOdW1lcmljT3A6Ok51bWVyaWNPcChPcGNvZGUgb3Bjb2RlLCBzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4mJiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIHJocykK
ICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9uKGxocyk7Ci0g
ICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3Zl
KGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwogfQogCiBWYWx1
ZSBOdW1lcmljT3A6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBsaHMoc3ViRXhwcmVz
c2lvbigwKS5ldmFsdWF0ZSgpKTsKLSAgICBWYWx1ZSByaHMoc3ViRXhwcmVzc2lvbigxKS5ldmFs
dWF0ZSgpKTsKLSAgICAKLSAgICBkb3VibGUgbGVmdFZhbCA9IGxocy50b051bWJlcigpOwotICAg
IGRvdWJsZSByaWdodFZhbCA9IHJocy50b051bWJlcigpOworICAgIGRvdWJsZSBsZWZ0VmFsID0g
c3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCk7CisgICAgZG91YmxlIHJpZ2h0
VmFsID0gc3ViZXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCk7CiAKICAgICBzd2l0
Y2ggKG1fb3Bjb2RlKSB7CiAgICAgICAgIGNhc2UgT1BfQWRkOgpAQCAtOTEsMTUgKzkyLDE2IEBA
IFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVhdGUoKSBjb25zdAogICAgICAgICBjYXNlIE9QX01vZDoK
ICAgICAgICAgICAgIHJldHVybiBmbW9kKGxlZnRWYWwsIHJpZ2h0VmFsKTsKICAgICB9CisKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wOwogfQogCi1FcVRlc3RPcDo6
RXFUZXN0T3AoT3Bjb2RlIG9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMp
CitFcVRlc3RPcDo6RXFUZXN0T3AoT3Bjb2RlIG9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpCiAgICAgOiBt
X29wY29kZShvcGNvZGUpCiB7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihsaHMpOwotICAgIGFkZFN1
YkV4cHJlc3Npb24ocmhzKTsKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShsaHMpKTsK
KyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShyaHMpKTsKIH0KIAogYm9vbCBFcVRlc3RP
cDo6Y29tcGFyZShjb25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdApAQCAt
MTQxLDcgKzE0Myw3IEBAIGJvb2wgRXFUZXN0T3A6OmNvbXBhcmUoY29uc3QgVmFsdWUmIGxocywg
Y29uc3QgVmFsdWUmIHJocykgY29uc3QKICAgICAgICAgICAgIC8vIHRoZSBub2RlLXNldCB0byBh
IGJvb2xlYW4gdXNpbmcgdGhlIGJvb2xlYW4gZnVuY3Rpb24gaXMgdHJ1ZS4KICAgICAgICAgICAg
IHJldHVybiBjb21wYXJlKGxocy50b0Jvb2xlYW4oKSwgcmhzKTsKICAgICAgICAgfQotICAgICAg
ICBBU1NFUlQoMCk7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KICAgICBp
ZiAocmhzLmlzTm9kZVNldCgpKSB7CiAgICAgICAgIGNvbnN0IE5vZGVTZXQmIHJoc1NldCA9IHJo
cy50b05vZGVTZXQoKTsKQEAgLTE1OSw3ICsxNjEsNyBAQCBib29sIEVxVGVzdE9wOjpjb21wYXJl
KGNvbnN0IFZhbHVlJiBsaHMsIGNvbnN0IFZhbHVlJiByaHMpIGNvbnN0CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGxocy5pc0Jvb2xlYW4oKSkKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlKGxo
cywgcmhzLnRvQm9vbGVhbigpKTsKLSAgICAgICAgQVNTRVJUKDApOworICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAgCiAgICAgLy8gTmVpdGhlciBzaWRlIGlzIGEgTm9k
ZVNldC4KQEAgLTE4Niw4OSArMTg4LDc5IEBAIGJvb2wgRXFUZXN0T3A6OmNvbXBhcmUoY29uc3Qg
VmFsdWUmIGxocywgY29uc3QgVmFsdWUmIHJocykgY29uc3QKICAgICAgICAgY2FzZSBPUF9MRToK
ICAgICAgICAgICAgIHJldHVybiBsaHMudG9OdW1iZXIoKSA8PSByaHMudG9OdW1iZXIoKTsKICAg
ICB9Ci0gICAgQVNTRVJUKDApOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCiBWYWx1ZSBFcVRlc3RPcDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAg
IFZhbHVlIGxocyhzdWJFeHByZXNzaW9uKDApLmV2YWx1YXRlKCkpOwotICAgIFZhbHVlIHJocyhz
dWJFeHByZXNzaW9uKDEpLmV2YWx1YXRlKCkpOwotCisgICAgVmFsdWUgbGhzKHN1YmV4cHJlc3Np
b24oMCkuZXZhbHVhdGUoKSk7CisgICAgVmFsdWUgcmhzKHN1YmV4cHJlc3Npb24oMSkuZXZhbHVh
dGUoKSk7CiAgICAgcmV0dXJuIGNvbXBhcmUobGhzLCByaHMpOwogfQogCi1Mb2dpY2FsT3A6Okxv
Z2ljYWxPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMsIEV4cHJlc3Npb24qIHJocykK
K0xvZ2ljYWxPcDo6TG9naWNhbE9wKE9wY29kZSBvcGNvZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPiYmIGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgcmhzKQogICAgIDog
bV9vcGNvZGUob3Bjb2RlKQogewotICAgIGFkZFN1YkV4cHJlc3Npb24obGhzKTsKLSAgICBhZGRT
dWJFeHByZXNzaW9uKHJocyk7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7
CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7CiB9CiAKLWJvb2wgTG9naWNh
bE9wOjpzaG9ydENpcmN1aXRPbigpIGNvbnN0CitpbmxpbmUgYm9vbCBMb2dpY2FsT3A6OnNob3J0
Q2lyY3VpdE9uKCkgY29uc3QKIHsKLSAgICBpZiAobV9vcGNvZGUgPT0gT1BfQW5kKQotICAgICAg
ICByZXR1cm4gZmFsc2U7IC8vZmFsc2UgYW5kIGZvbwotCi0gICAgcmV0dXJuIHRydWU7ICAvL3Ry
dWUgb3IgYmFyCisgICAgcmV0dXJuIG1fb3Bjb2RlICE9IE9QX0FuZDsKIH0KIAogVmFsdWUgTG9n
aWNhbE9wOjpldmFsdWF0ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzKHN1YkV4cHJlc3Npb24o
MCkuZXZhbHVhdGUoKSk7Ci0KICAgICAvLyBUaGlzIGlzIG5vdCBvbmx5IGFuIG9wdGltaXphdGlv
biwgaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgKICAgICAvLyBkaWN0YXRlcyB0aGF0IHdlIG11
c3QgZG8gc2hvcnQtY2lyY3VpdCBldmFsdWF0aW9uCi0gICAgYm9vbCBsaHNCb29sID0gbGhzLnRv
Qm9vbGVhbigpOworICAgIGJvb2wgbGhzQm9vbCA9IHN1YmV4cHJlc3Npb24oMCkuZXZhbHVhdGUo
KS50b0Jvb2xlYW4oKTsKICAgICBpZiAobGhzQm9vbCA9PSBzaG9ydENpcmN1aXRPbigpKQogICAg
ICAgICByZXR1cm4gbGhzQm9vbDsKIAotICAgIHJldHVybiBzdWJFeHByZXNzaW9uKDEpLmV2YWx1
YXRlKCkudG9Cb29sZWFuKCk7CisgICAgcmV0dXJuIHN1YmV4cHJlc3Npb24oMSkuZXZhbHVhdGUo
KS50b0Jvb2xlYW4oKTsKK30KKworVW5pb246OlVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPiYmIGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgcmhzKQoreworICAgIGFk
ZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3Rk
Ojptb3ZlKHJocykpOwogfQogCiBWYWx1ZSBVbmlvbjo6ZXZhbHVhdGUoKSBjb25zdAogewotICAg
IFZhbHVlIGxoc1Jlc3VsdCA9IHN1YkV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKTsKLSAgICBWYWx1
ZSByaHMgPSBzdWJFeHByZXNzaW9uKDEpLmV2YWx1YXRlKCk7Ci0gICAgCisgICAgVmFsdWUgbGhz
UmVzdWx0ID0gc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpOworICAgIFZhbHVlIHJocyA9IHN1
YmV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKTsKKwogICAgIE5vZGVTZXQmIHJlc3VsdFNldCA9IGxo
c1Jlc3VsdC5tb2RpZmlhYmxlTm9kZVNldCgpOwogICAgIGNvbnN0IE5vZGVTZXQmIHJoc05vZGVz
ID0gcmhzLnRvTm9kZVNldCgpOwotICAgIAorCiAgICAgSGFzaFNldDxOb2RlKj4gbm9kZXM7CiAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTZXQuc2l6ZSgpOyArK2kpCiAgICAgICAg
IG5vZGVzLmFkZChyZXN1bHRTZXRbaV0pOwotICAgIAorCiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCByaHNOb2Rlcy5zaXplKCk7ICsraSkgewogICAgICAgICBOb2RlKiBub2RlID0gcmhzTm9k
ZXNbaV07CiAgICAgICAgIGlmIChub2Rlcy5hZGQobm9kZSkuaXNOZXdFbnRyeSkKICAgICAgICAg
ICAgIHJlc3VsdFNldC5hcHBlbmQobm9kZSk7CiAgICAgfQogCi0gICAgLy8gSXQgaXMgYWxzbyBw
b3NzaWJsZSB0byB1c2UgbWVyZ2Ugc29ydCB0byBhdm9pZCBtYWtpbmcgdGhlIHJlc3VsdCB1bnNv
cnRlZDsKLSAgICAvLyBidXQgdGhpcyB3b3VsZCB3YXN0ZSB0aGUgdGltZSBpbiBjYXNlcyB3aGVu
IG9yZGVyIGlzIG5vdCBpbXBvcnRhbnQuCisgICAgLy8gSXQgd291bGQgYWxzbyBiZSBwb3NzaWJs
ZSB0byBwZXJmb3JtIGEgbWVyZ2Ugc29ydCBoZXJlIHRvIGF2b2lkIG1ha2luZyBhbiB1bnNvcnRl
ZCByZXN1bHQsCisgICAgLy8gYnV0IHRoYXQgd291bGQgd2FzdGUgdGhlIHRpbWUgaW4gY2FzZXMg
d2hlbiBvcmRlciBpcyBub3QgaW1wb3J0YW50LgogICAgIHJlc3VsdFNldC5tYXJrU29ydGVkKGZh
bHNlKTsKLSAgICByZXR1cm4gbGhzUmVzdWx0OwotfQotCi1QcmVkaWNhdGU6OlByZWRpY2F0ZShF
eHByZXNzaW9uKiBleHByKQotICAgIDogbV9leHByKGV4cHIpCi17Ci19CiAKLVByZWRpY2F0ZTo6
flByZWRpY2F0ZSgpCi17Ci0gICAgZGVsZXRlIG1fZXhwcjsKKyAgICByZXR1cm4gbGhzUmVzdWx0
OwogfQogCiBib29sIFByZWRpY2F0ZTo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIEFTU0VSVCht
X2V4cHIgIT0gMCk7Ci0KLSAgICBWYWx1ZSByZXN1bHQobV9leHByLT5ldmFsdWF0ZSgpKTsKKyAg
ICBWYWx1ZSByZXN1bHQobV9leHByZXNzaW9uLT5ldmFsdWF0ZSgpKTsKIAogICAgIC8vIGZvb1sz
XSBtZWFucyBmb29bcG9zaXRpb24oKT0zXQogICAgIGlmIChyZXN1bHQuaXNOdW1iZXIoKSkKLSAg
ICAgICAgcmV0dXJuIEVxVGVzdE9wKEVxVGVzdE9wOjpPUF9FUSwgY3JlYXRlRnVuY3Rpb24oInBv
c2l0aW9uIiksIG5ldyBOdW1iZXIocmVzdWx0LnRvTnVtYmVyKCkpKS5ldmFsdWF0ZSgpLnRvQm9v
bGVhbigpOworICAgICAgICByZXR1cm4gRXFUZXN0T3AoRXFUZXN0T3A6Ok9QX0VRLCBGdW5jdGlv
bjo6Y3JlYXRlKEFTQ0lJTGl0ZXJhbCgicG9zaXRpb24iKSksIHN0ZDo6bWFrZV91bmlxdWU8TnVt
YmVyPihyZXN1bHQudG9OdW1iZXIoKSkpLmV2YWx1YXRlKCkudG9Cb29sZWFuKCk7CiAKICAgICBy
ZXR1cm4gcmVzdWx0LnRvQm9vbGVhbigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoUHJlZGljYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUu
aAppbmRleCAwMTNjY2RhMjMxMjQzYTg0ODMyZmJhZGJkZTI4MDI0MmVjNTAyZTlmLi5iMzViMzE1
N2ZkNzJjZDE0OGE1NDE5NGU2Mjk1NmRkNGI3OGM4MjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQ
cmVkaWNhdGUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNo
IFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw4NyAr
MzQsOTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAg
ICAgICAgCi0gICAgICAgIGNsYXNzIE51bWJlciA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAg
ICAgY2xhc3MgTnVtYmVyIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBleHBsaWNpdCBOdW1iZXIoZG91YmxlKTsKKwogICAgICAgICBwcml2
YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5
cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIAogICAg
ICAgICAgICAgVmFsdWUgbV92YWx1ZTsKICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBTdHJp
bmdFeHByZXNzaW9uIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBTdHJpbmdF
eHByZXNzaW9uIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewogICAgICAgICBwdWJsaWM6Ci0g
ICAgICAgICAgICBleHBsaWNpdCBTdHJpbmdFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYpOworICAg
ICAgICAgICAgZXhwbGljaXQgU3RyaW5nRXhwcmVzc2lvbihTdHJpbmcmJik7CisKICAgICAgICAg
cHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAg
ICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJu
IFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CiAK
ICAgICAgICAgICAgIFZhbHVlIG1fdmFsdWU7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3Mg
TmVnYXRpdmUgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIE5lZ2F0aXZlIEZJ
TkFMIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBl
eHBsaWNpdCBOZWdhdGl2ZShzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJik7CisKICAgICAg
ICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsK
LSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSBy
ZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9
CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgTnVtZXJpY09wIDogcHVibGljIEV4cHJlc3Np
b24geworICAgICAgICBjbGFzcyBOdW1lcmljT3AgRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7
CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsKLSAgICAgICAgICAg
ICAgICBPUF9BZGQsIE9QX1N1YiwgT1BfTXVsLCBPUF9EaXYsIE9QX01vZAotICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgIE51bWVyaWNPcChPcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVz
c2lvbiogcmhzKTsKKyAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsgT1BfQWRkLCBPUF9TdWIsIE9Q
X011bCwgT1BfRGl2LCBPUF9Nb2QgfTsKKyAgICAgICAgICAgIE51bWVyaWNPcChPcGNvZGUsIHN0
ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+JiYgcmhzKTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1
ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAg
ICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6TnVtYmVyVmFsdWU7IH0KIAogICAgICAgICAgICAgT3Bjb2RlIG1fb3Bjb2RlOwogICAg
ICAgICB9OwogCi0gICAgICAgIGNsYXNzIEVxVGVzdE9wIDogcHVibGljIEV4cHJlc3Npb24gewor
ICAgICAgICBjbGFzcyBFcVRlc3RPcCBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBPcGNvZGUgeyBPUF9FUSwgT1BfTkUsIE9QX0dU
LCBPUF9MVCwgT1BfR0UsIE9QX0xFIH07Ci0gICAgICAgICAgICBFcVRlc3RPcChPcGNvZGUsIEV4
cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEVxVGVzdE9wKE9wY29kZSwgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4m
JiByaHMpOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CisgICAg
ICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAgICAgICAgICAgICBib29sIGNvbXBhcmUo
Y29uc3QgVmFsdWUmLCBjb25zdCBWYWx1ZSYpIGNvbnN0OwogCiAgICAgICAgICAgICBPcGNvZGUg
bV9vcGNvZGU7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgTG9naWNhbE9wIDogcHVibGlj
IEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2dpY2FsT3AgRklOQUwgOiBwdWJsaWMgRXhw
cmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsgT1Bf
QW5kLCBPUF9PciB9OwotICAgICAgICAgICAgTG9naWNhbE9wKE9wY29kZSwgRXhwcmVzc2lvbiog
bGhzLCBFeHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgTG9naWNhbE9wKE9wY29kZSwgc3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4mJiByaHMpOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9
CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAgICAgICAgICAgICBib29sIHNo
b3J0Q2lyY3VpdE9uKCkgY29uc3Q7Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRl
KCkgY29uc3Q7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZF
UlJJREU7CiAKICAgICAgICAgICAgIE9wY29kZSBtX29wY29kZTsKICAgICAgICAgfTsKIAotICAg
ICAgICBjbGFzcyBVbmlvbiA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgVW5p
b24gRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAg
ICAgIFVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4mJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUg
cmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KKyAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAg
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAogICAgICAgICBjbGFzcyBQ
cmVkaWNhdGUgewotICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGV4
cGxpY2l0IFByZWRpY2F0ZShFeHByZXNzaW9uKik7Ci0gICAgICAgICAgICB+UHJlZGljYXRlKCk7
CisgICAgICAgICAgICBleHBsaWNpdCBQcmVkaWNhdGUoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+JiYgZXhwcmVzc2lvbikgOiBtX2V4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJlc3Npb24pKSB7
IH0KKwogICAgICAgICAgICAgYm9vbCBldmFsdWF0ZSgpIGNvbnN0OwogCi0gICAgICAgICAgICBi
b29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9leHByLT5p
c0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fZXhwci0+cmVzdWx0VHlwZSgpID09IFZh
bHVlOjpOdW1iZXJWYWx1ZTsgfQotICAgICAgICAgICAgYm9vbCBpc0NvbnRleHRTaXplU2Vuc2l0
aXZlKCkgY29uc3QgeyByZXR1cm4gbV9leHByLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCk7IH0K
KyAgICAgICAgICAgIGJvb2wgaXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSBjb25zdCB7IHJl
dHVybiBtX2V4cHJlc3Npb24tPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9leHBy
ZXNzaW9uLT5yZXN1bHRUeXBlKCkgPT0gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAg
ICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Np
b24tPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQogCiAgICAgICAgIHByaXZhdGU6Ci0gICAg
ICAgICAgICBFeHByZXNzaW9uKiBtX2V4cHI7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4gbV9leHByZXNzaW9uOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmNwcAppbmRleCA0NDFkZmU0OGJmM2Y4NzQwZTMzYTUzY2I1MDk2ZDc2NTAzMTI2
NjQ0Li41MmMyOGQ1Nzg2OGM5OThiYTVlOTJiMTg3MDEzMDIyMTM1OGJmNGVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXR0ci5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkhU
TUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlhNTE5T
TmFtZXMuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5oIgpAQCAtMzksMTcgKzM5LDIxIEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgWFBhdGggewogCi1TdGVwOjpTdGVwKEF4aXMg
YXhpcywgY29uc3QgTm9kZVRlc3QmIG5vZGVUZXN0LCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4m
IHByZWRpY2F0ZXMpCitTdGVwOjpTdGVwKEF4aXMgYXhpcywgTm9kZVRlc3QmJiBub2RlVGVzdCkK
ICAgICA6IG1fYXhpcyhheGlzKQotICAgICwgbV9ub2RlVGVzdChub2RlVGVzdCkKLSAgICAsIG1f
cHJlZGljYXRlcyhwcmVkaWNhdGVzKQorICAgICwgbV9ub2RlVGVzdChzdGQ6Om1vdmUobm9kZVRl
c3QpKQoreworfQorCitTdGVwOjpTdGVwKEF4aXMgYXhpcywgTm9kZVRlc3QmJiBub2RlVGVzdCwg
VmVjdG9yPFByZWRpY2F0ZT4mJiBwcmVkaWNhdGVzKQorICAgIDogbV9heGlzKGF4aXMpCisgICAg
LCBtX25vZGVUZXN0KHN0ZDo6bW92ZShub2RlVGVzdCkpCisgICAgLCBtX3ByZWRpY2F0ZXMoc3Rk
Ojptb3ZlKHByZWRpY2F0ZXMpKQogewogfQogCiBTdGVwOjp+U3RlcCgpCiB7Ci0gICAgZGVsZXRl
QWxsVmFsdWVzKG1fcHJlZGljYXRlcyk7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fbm9kZVRlc3Qu
bWVyZ2VkUHJlZGljYXRlcygpKTsKIH0KIAogdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCkBAIC01Nywz
NiArNjEsMzUgQEAgdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCiAgICAgLy8gRXZhbHVhdGUgcHJlZGlj
YXRlcyBhcyBwYXJ0IG9mIG5vZGUgdGVzdCBpZiBwb3NzaWJsZSB0byBhdm9pZCBidWlsZGluZyB1
bm5lY2Vzc2FyeSBOb2RlU2V0cy4KICAgICAvLyBFLmcuLCB0aGVyZSBpcyBubyBuZWVkIHRvIGJ1
aWxkIGEgc2V0IG9mIGFsbCAiZm9vIiBub2RlcyB0byBldmFsdWF0ZSAiZm9vW0BiYXJdIiwgd2Ug
Y2FuIGNoZWNrIHRoZSBwcmVkaWNhdGUgd2hpbGUgZW51bWVyYXRpbmcuCiAgICAgLy8gVGhpcyBv
cHRpbWl6YXRpb24gY2FuIGJlIGFwcGxpZWQgdG8gcHJlZGljYXRlcyB0aGF0IGFyZSBub3QgY29u
dGV4dCBub2RlIGxpc3Qgc2Vuc2l0aXZlLCBvciB0byBmaXJzdCBwcmVkaWNhdGUgdGhhdCBpcyBv
bmx5IGNvbnRleHQgcG9zaXRpb24gc2Vuc2l0aXZlLCBlLmcuIGZvb1twb3NpdGlvbigpIG1vZCAy
ID0gMF0uCi0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IHJlbWFpbmluZ1ByZWRpY2F0ZXM7CisgICAg
VmVjdG9yPFByZWRpY2F0ZT4gcmVtYWluaW5nUHJlZGljYXRlczsKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG1fcHJlZGljYXRlcy5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNhdGUq
IHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKLSAgICAgICAgaWYgKCghcHJlZGljYXRlLT5p
c0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRl
cygpLmlzRW1wdHkoKSkgJiYgIXByZWRpY2F0ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpICYm
IHJlbWFpbmluZ1ByZWRpY2F0ZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBtX25vZGVUZXN0
Lm1lcmdlZFByZWRpY2F0ZXMoKS5hcHBlbmQocHJlZGljYXRlKTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICByZW1haW5pbmdQcmVkaWNhdGVzLmFwcGVuZChwcmVkaWNhdGUpOworICAgICAg
ICBQcmVkaWNhdGUmIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKKyAgICAgICAgaWYgKCgh
cHJlZGljYXRlLmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9ub2RlVGVzdC5tX21l
cmdlZFByZWRpY2F0ZXMuaXNFbXB0eSgpKSAmJiAhcHJlZGljYXRlLmlzQ29udGV4dFNpemVTZW5z
aXRpdmUoKSAmJiByZW1haW5pbmdQcmVkaWNhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIG1f
bm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzLmFwcGVuZChzdGQ6Om1vdmUocHJlZGljYXRlKSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlbWFpbmluZ1ByZWRpY2F0ZXMuYXBwZW5kKHN0
ZDo6bW92ZShwcmVkaWNhdGUpKTsKICAgICB9Ci0gICAgc3dhcChyZW1haW5pbmdQcmVkaWNhdGVz
LCBtX3ByZWRpY2F0ZXMpOworICAgIG1fcHJlZGljYXRlcyA9IHN0ZDo6bW92ZShyZW1haW5pbmdQ
cmVkaWNhdGVzKTsKIH0KIAotdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAqIGZpcnN0LCBTdGVw
KiBzZWNvbmQsIGJvb2wmIGRyb3BTZWNvbmRTdGVwKQordm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0
ZXAmIGZpcnN0LCBTdGVwJiBzZWNvbmQsIGJvb2wmIGRyb3BTZWNvbmRTdGVwKQogewogICAgIGRy
b3BTZWNvbmRTdGVwID0gZmFsc2U7CiAKLSAgICBpZiAoZmlyc3QtPm1fYXhpcyA9PSBTdGVwOjpE
ZXNjZW5kYW50T3JTZWxmQXhpcwotICAgICAgICAmJiBmaXJzdC0+bV9ub2RlVGVzdC5raW5kKCkg
PT0gU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0Ci0gICAgICAgICYmICFmaXJzdC0+bV9wcmVk
aWNhdGVzLnNpemUoKQotICAgICAgICAmJiAhZmlyc3QtPm1fbm9kZVRlc3QubWVyZ2VkUHJlZGlj
YXRlcygpLnNpemUoKSkgeworICAgIGlmIChmaXJzdC5tX2F4aXMgPT0gU3RlcDo6RGVzY2VuZGFu
dE9yU2VsZkF4aXMKKyAgICAgICAgJiYgZmlyc3QubV9ub2RlVGVzdC5tX2tpbmQgPT0gU3RlcDo6
Tm9kZVRlc3Q6OkFueU5vZGVUZXN0CisgICAgICAgICYmICFmaXJzdC5tX3ByZWRpY2F0ZXMuc2l6
ZSgpCisgICAgICAgICYmICFmaXJzdC5tX25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5zaXpl
KCkpIHsKIAotICAgICAgICBBU1NFUlQoZmlyc3QtPm1fbm9kZVRlc3QuZGF0YSgpLmlzRW1wdHko
KSk7Ci0gICAgICAgIEFTU0VSVChmaXJzdC0+bV9ub2RlVGVzdC5uYW1lc3BhY2VVUkkoKS5pc0Vt
cHR5KCkpOworICAgICAgICBBU1NFUlQoZmlyc3QubV9ub2RlVGVzdC5tX2RhdGEuaXNFbXB0eSgp
KTsKKyAgICAgICAgQVNTRVJUKGZpcnN0Lm1fbm9kZVRlc3QubV9uYW1lc3BhY2VVUkkuaXNFbXB0
eSgpKTsKIAogICAgICAgICAvLyBPcHRpbWl6ZSB0aGUgY29tbW9uIGNhc2Ugb2YgIi8vIiBBS0Eg
L2Rlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2NoaWxkOjpOb2RlVGVzdCB0byAvZGVzY2VuZGFu
dDo6Tm9kZVRlc3QuCi0gICAgICAgIGlmIChzZWNvbmQtPm1fYXhpcyA9PSBTdGVwOjpDaGlsZEF4
aXMgJiYgc2Vjb25kLT5wcmVkaWNhdGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2ZSgpKSB7Ci0g
ICAgICAgICAgICBmaXJzdC0+bV9heGlzID0gU3RlcDo6RGVzY2VuZGFudEF4aXM7Ci0gICAgICAg
ICAgICBmaXJzdC0+bV9ub2RlVGVzdCA9IFN0ZXA6Ok5vZGVUZXN0KHNlY29uZC0+bV9ub2RlVGVz
dC5raW5kKCksIHNlY29uZC0+bV9ub2RlVGVzdC5kYXRhKCksIHNlY29uZC0+bV9ub2RlVGVzdC5u
YW1lc3BhY2VVUkkoKSk7Ci0gICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9ub2RlVGVzdC5tZXJn
ZWRQcmVkaWNhdGVzKCksIGZpcnN0LT5tX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKSk7Ci0g
ICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9wcmVkaWNhdGVzLCBmaXJzdC0+bV9wcmVkaWNhdGVz
KTsKLSAgICAgICAgICAgIGZpcnN0LT5vcHRpbWl6ZSgpOworICAgICAgICBpZiAoc2Vjb25kLm1f
YXhpcyA9PSBTdGVwOjpDaGlsZEF4aXMgJiYgc2Vjb25kLnByZWRpY2F0ZXNBcmVDb250ZXh0TGlz
dEluc2Vuc2l0aXZlKCkpIHsKKyAgICAgICAgICAgIGZpcnN0Lm1fYXhpcyA9IFN0ZXA6OkRlc2Nl
bmRhbnRBeGlzOworICAgICAgICAgICAgZmlyc3QubV9ub2RlVGVzdCA9IHN0ZDo6bW92ZShzZWNv
bmQubV9ub2RlVGVzdCk7CisgICAgICAgICAgICBmaXJzdC5tX3ByZWRpY2F0ZXMgPSBzdGQ6Om1v
dmUoc2Vjb25kLm1fcHJlZGljYXRlcyk7CisgICAgICAgICAgICBmaXJzdC5vcHRpbWl6ZSgpOwog
ICAgICAgICAgICAgZHJvcFNlY29uZFN0ZXAgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAt
OTUsMjEgKzk4LDIxIEBAIHZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiBmaXJzdCwgU3RlcCog
c2Vjb25kLCBib29sJiBkcm9wU2Vjb25kU3RlcCkKIGJvb2wgU3RlcDo6cHJlZGljYXRlc0FyZUNv
bnRleHRMaXN0SW5zZW5zaXRpdmUoKSBjb25zdAogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGlj
YXRlID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAgICBpZiAocHJlZGljYXRlLT5pc0NvbnRleHRQ
b3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgp
KQorICAgICAgICBjb25zdCBQcmVkaWNhdGUmIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsK
KyAgICAgICAgaWYgKHByZWRpY2F0ZS5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHBy
ZWRpY2F0ZS5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX25vZGVUZXN0Lm1lcmdl
ZFByZWRpY2F0ZXMoKS5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0
ZSA9IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpW2ldOwotICAgICAgICBpZiAocHJlZGlj
YXRlLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS0+aXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSgpKQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ub2RlVGVzdC5t
X21lcmdlZFByZWRpY2F0ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgY29uc3QgUHJlZGljYXRl
JiBwcmVkaWNhdGUgPSBtX25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlc1tpXTsKKyAgICAgICAg
aWYgKHByZWRpY2F0ZS5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS5p
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU3RlcDo6ZXZhbHVhdGUoTm9kZSogY29u
dGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0Cit2b2lkIFN0ZXA6OmV2YWx1YXRlKE5vZGUmIGNv
bnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogewogICAgIEV2YWx1YXRpb25Db250ZXh0JiBl
dmFsdWF0aW9uQ29udGV4dCA9IEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCk7CiAgICAg
ZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb24gPSAwOwpAQCAtMTE4LDcgKzEyMSw3IEBAIHZvaWQg
U3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAKICAg
ICAvLyBDaGVjayBwcmVkaWNhdGVzIHRoYXQgY291bGRuJ3QgYmUgbWVyZ2VkIGludG8gbm9kZSB0
ZXN0LgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ByZWRpY2F0ZXMuc2l6ZSgpOyBp
KyspIHsKLSAgICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07Cisg
ICAgICAgIGNvbnN0IFByZWRpY2F0ZSYgcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwogCiAg
ICAgICAgIE5vZGVTZXQgbmV3Tm9kZXM7CiAgICAgICAgIGlmICghbm9kZXMuaXNTb3J0ZWQoKSkK
QEAgLTEzMCwxMSArMTMzLDExIEBAIHZvaWQgU3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwg
Tm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5ub2Rl
ID0gbm9kZTsKICAgICAgICAgICAgIGV2YWx1YXRpb25Db250ZXh0LnNpemUgPSBub2Rlcy5zaXpl
KCk7CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbiA9IGogKyAxOwotICAg
ICAgICAgICAgaWYgKHByZWRpY2F0ZS0+ZXZhbHVhdGUoKSkKKyAgICAgICAgICAgIGlmIChwcmVk
aWNhdGUuZXZhbHVhdGUoKSkKICAgICAgICAgICAgICAgICBuZXdOb2Rlcy5hcHBlbmQobm9kZSk7
CiAgICAgICAgIH0KIAotICAgICAgICBub2Rlcy5zd2FwKG5ld05vZGVzKTsKKyAgICAgICAgbm9k
ZXMgPSBzdGQ6Om1vdmUobmV3Tm9kZXMpOwogICAgIH0KIH0KIApAQCAtMTUzLDM0ICsxNTYsMzQg
QEAgc3RhdGljIGlubGluZSBOb2RlOjpOb2RlVHlwZSBwcmltYXJ5Tm9kZVR5cGUoU3RlcDo6QXhp
cyBheGlzKQogI2VuZGlmCiAKIC8vIEV2YWx1YXRlIE5vZGVUZXN0IHdpdGhvdXQgY29uc2lkZXJp
bmcgbWVyZ2VkIHByZWRpY2F0ZXMuCi1zdGF0aWMgaW5saW5lIGJvb2wgbm9kZU1hdGNoZXNCYXNp
Y1Rlc3QoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25zdCBTdGVwOjpOb2RlVGVzdCYg
bm9kZVRlc3QpCitpbmxpbmUgYm9vbCBub2RlTWF0Y2hlc0Jhc2ljVGVzdChOb2RlJiBub2RlLCBT
dGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKIHsKLSAgICBz
d2l0Y2ggKG5vZGVUZXN0LmtpbmQoKSkgeworICAgIHN3aXRjaCAobm9kZVRlc3QubV9raW5kKSB7
CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVzdDoKLSAgICAgICAgICAg
IHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlRFWFRfTk9ERSB8fCBub2RlLT5ub2Rl
VHlwZSgpID09IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERTsKKyAgICAgICAgICAgIHJldHVybiBu
b2RlLm5vZGVUeXBlKCkgPT0gTm9kZTo6VEVYVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUoKSA9PSBO
b2RlOjpDREFUQV9TRUNUSU9OX05PREU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OkNv
bW1lbnROb2RlVGVzdDoKLSAgICAgICAgICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5v
ZGU6OkNPTU1FTlRfTk9ERTsKKyAgICAgICAgICAgIHJldHVybiBub2RlLm5vZGVUeXBlKCkgPT0g
Tm9kZTo6Q09NTUVOVF9OT0RFOwogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdDogewotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lID0gbm9kZVRlc3QuZGF0YSgpOwotICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFICYmIChuYW1lLmlzRW1w
dHkoKSB8fCBub2RlLT5ub2RlTmFtZSgpID09IG5hbWUpOworICAgICAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QubV9kYXRhOworICAgICAgICAgICAgcmV0dXJuIG5v
ZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUgJiYgKG5h
bWUuaXNFbXB0eSgpIHx8IG5vZGUubm9kZU5hbWUoKSA9PSBuYW1lKTsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdDoKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdDogewotICAgICAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QuZGF0YSgpOwotICAgICAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkgPSBub2RlVGVzdC5uYW1lc3Bh
Y2VVUkkoKTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSA9IG5vZGVUZXN0
Lm1fZGF0YTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJID0g
bm9kZVRlc3QubV9uYW1lc3BhY2VVUkk7CiAKICAgICAgICAgICAgIGlmIChheGlzID09IFN0ZXA6
OkF0dHJpYnV0ZUF4aXMpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobm9kZS0+aXNBdHRyaWJ1
dGVOb2RlKCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLmlzQXR0cmlidXRlTm9kZSgp
KTsKIAogICAgICAgICAgICAgICAgIC8vIEluIFhQYXRoIGxhbmQsIG5hbWVzcGFjZSBub2RlcyBh
cmUgbm90IGFjY2Vzc2libGUgb24gdGhlIGF0dHJpYnV0ZSBheGlzLgotICAgICAgICAgICAgICAg
IGlmIChub2RlLT5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVS
SSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOU05hbWVz
Ojp4bWxuc05hbWVzcGFjZVVSSSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT0gc3RhckF0b20pCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8IG5vZGUtPm5hbWVzcGFjZVVSSSgp
ID09IG5hbWVzcGFjZVVSSTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFjZVVS
SS5pc0VtcHR5KCkgfHwgbm9kZS5uYW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7CiAKLSAg
ICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bG9jYWxOYW1lKCkgPT0gbmFtZSAmJiBub2RlLT5u
YW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5v
ZGUubG9jYWxOYW1lKCkgPT0gbmFtZSAmJiBub2RlLm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFj
ZVVSSTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gTm9kZSB0ZXN0IG9uIHRoZSBu
YW1lc3BhY2UgYXhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LCB0aGUgY2FsbGVyIGhhcyBhIGNo
ZWNrIGZvciBpdC4KQEAgLTE4OCwyOCArMTkxLDI4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBub2Rl
TWF0Y2hlc0Jhc2ljVGVzdChOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6
CiAKICAgICAgICAgICAgIC8vIEZvciBvdGhlciBheGVzLCB0aGUgcHJpbmNpcGFsIG5vZGUgdHlw
ZSBpcyBlbGVtZW50LgogICAgICAgICAgICAgQVNTRVJUKHByaW1hcnlOb2RlVHlwZShheGlzKSA9
PSBOb2RlOjpFTEVNRU5UX05PREUpOwotICAgICAgICAgICAgaWYgKG5vZGUtPm5vZGVUeXBlKCkg
IT0gTm9kZTo6RUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgaWYgKCFub2RlLmlzRWxlbWVudE5v
ZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGlmIChu
YW1lID09IHN0YXJBdG9tKQotICAgICAgICAgICAgICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNF
bXB0eSgpIHx8IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbmFtZXNwYWNlVVJJLmlzRW1wdHkoKSB8fCBuYW1lc3BhY2VVUkkgPT0g
bm9kZS5uYW1lc3BhY2VVUkkoKTsKIAotICAgICAgICAgICAgaWYgKG5vZGUtPmRvY3VtZW50KCku
aXNIVE1MRG9jdW1lbnQoKSkgewotICAgICAgICAgICAgICAgIGlmIChub2RlLT5pc0hUTUxFbGVt
ZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQo
KSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlLmlzSFRNTEVsZW1lbnQoKSkgewogICAgICAg
ICAgICAgICAgICAgICAvLyBQYXRocyB3aXRob3V0IG5hbWVzcGFjZXMgc2hvdWxkIG1hdGNoIEhU
TUwgZWxlbWVudHMgaW4gSFRNTCBkb2N1bWVudHMgZGVzcGl0ZSB0aG9zZSBoYXZpbmcgYW4gWEhU
TUwgbmFtZXNwYWNlLiBOYW1lcyBhcmUgY29tcGFyZWQgY2FzZS1pbnNlbnNpdGl2ZWx5LgotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UodG9FbGVtZW50KG5vZGUp
LT5sb2NhbE5hbWUoKSwgbmFtZSkgJiYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSB8fCBuYW1lc3Bh
Y2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UodG9IVE1MRWxlbWVudChub2RlKS5sb2NhbE5hbWUoKSwgbmFt
ZSkgJiYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSB8fCBuYW1lc3BhY2VVUkkgPT0gbm9kZS5uYW1l
c3BhY2VVUkkoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8vIEFuIGV4
cHJlc3Npb24gd2l0aG91dCBhbnkgcHJlZml4IHNob3VsZG4ndCBtYXRjaCBuby1uYW1lc3BhY2Ug
bm9kZXMgKGJlY2F1c2UgSFRNTDUgc2F5cyBzbykuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRv
RWxlbWVudChub2RlKS0+aGFzTG9jYWxOYW1lKG5hbWUpICYmIG5hbWVzcGFjZVVSSSA9PSBub2Rl
LT5uYW1lc3BhY2VVUkkoKSAmJiAhbmFtZXNwYWNlVVJJLmlzTnVsbCgpOworICAgICAgICAgICAg
ICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSkuaGFzTG9jYWxOYW1lKG5hbWUpICYmIG5hbWVzcGFj
ZVVSSSA9PSBub2RlLm5hbWVzcGFjZVVSSSgpICYmICFuYW1lc3BhY2VVUkkuaXNOdWxsKCk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpLT5oYXNMb2Nh
bE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpOworICAg
ICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS5oYXNMb2NhbE5hbWUobmFtZSkgJiYgbmFt
ZXNwYWNlVVJJID09IG5vZGUubmFtZXNwYWNlVVJJKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5s
aW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25zdCBT
dGVwOjpOb2RlVGVzdCYgbm9kZVRlc3QpCitpbmxpbmUgYm9vbCBub2RlTWF0Y2hlcyhOb2RlJiBu
b2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKIHsK
ICAgICBpZiAoIW5vZGVNYXRjaGVzQmFzaWNUZXN0KG5vZGUsIGF4aXMsIG5vZGVUZXN0KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE5LDEzICsyMjIsMTMgQEAgc3RhdGljIGlubGluZSBi
b29sIG5vZGVNYXRjaGVzKE5vZGUqIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6
Tm9kZVRlc3QKICAgICAvLyBPbmx5IHRoZSBmaXJzdCBtZXJnZWQgcHJlZGljYXRlIG1heSBkZXBl
bmQgb24gcG9zaXRpb24uCiAgICAgKytldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbjsKIAotICAg
IGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJlZGljYXRlcyA9IG5vZGVUZXN0Lm1l
cmdlZFByZWRpY2F0ZXMoKTsKKyAgICBjb25zdCBWZWN0b3I8UHJlZGljYXRlPiYgbWVyZ2VkUHJl
ZGljYXRlcyA9IG5vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlczsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbWVyZ2VkUHJlZGljYXRlcy5zaXplKCk7IGkrKykgewotICAgICAgICBQcmVk
aWNhdGUqIHByZWRpY2F0ZSA9IG1lcmdlZFByZWRpY2F0ZXNbaV07CisgICAgICAgIGNvbnN0IFBy
ZWRpY2F0ZSYgcHJlZGljYXRlID0gbWVyZ2VkUHJlZGljYXRlc1tpXTsKIAotICAgICAgICBldmFs
dWF0aW9uQ29udGV4dC5ub2RlID0gbm9kZTsKKyAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQubm9k
ZSA9ICZub2RlOwogICAgICAgICAvLyBObyBuZWVkIHRvIHNldCBjb250ZXh0IHNpemUgLSB3ZSBv
bmx5IGdldCBoZXJlIHdoZW4gZXZhbHVhdGluZyBwcmVkaWNhdGVzIHRoYXQgZG8gbm90IGRlcGVu
ZCBvbiBpdC4KLSAgICAgICAgaWYgKCFwcmVkaWNhdGUtPmV2YWx1YXRlKCkpCisgICAgICAgIGlm
ICghcHJlZGljYXRlLmV2YWx1YXRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCkBAIC0yMzMsMTI0ICsyMzYsMTI2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0Y2hl
cyhOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0CiB9CiAK
IC8vIFJlc3VsdCBub2RlcyBhcmUgb3JkZXJlZCBpbiBheGlzIG9yZGVyLiBOb2RlIHRlc3QgKGlu
Y2x1ZGluZyBtZXJnZWQgcHJlZGljYXRlcykgaXMgYXBwbGllZC4KLXZvaWQgU3RlcDo6bm9kZXNJ
bkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0Cit2b2lkIFN0ZXA6Om5v
ZGVzSW5BeGlzKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogewogICAgIEFT
U0VSVChub2Rlcy5pc0VtcHR5KCkpOwogICAgIHN3aXRjaCAobV9heGlzKSB7CiAgICAgICAgIGNh
c2UgQ2hpbGRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgp
KSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVu
LgorICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRo
IG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJz
dENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcyhuLCBDaGlsZEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0
LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIENoaWxkQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBEZXNjZW5kYW50QXhpczoKLSAgICAg
ICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGggbW9kZWws
IGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAgIGlmIChj
b250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5v
ZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+Zmlyc3RDaGlsZCgpOyBuOyBuID0gTm9k
ZVRyYXZlcnNhbDo6bmV4dChuLCBjb250ZXh0KSkKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMobiwgRGVzY2VuZGFudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0
LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSwgJmNv
bnRleHQpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBEZXNjZW5k
YW50QXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChu
b2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBQ
YXJlbnRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7
Ci0gICAgICAgICAgICAgICAgRWxlbWVudCogbiA9IHN0YXRpY19jYXN0PEF0dHIqPihjb250ZXh0
KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIFBh
cmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQo
bik7CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgeworICAgICAg
ICAgICAgICAgIEVsZW1lbnQqIG5vZGUgPSBzdGF0aWNfY2FzdDxBdHRyJj4oY29udGV4dCkub3du
ZXJFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBQYXJl
bnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5v
ZGUpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBDb250YWluZXJOb2Rl
KiBuID0gY29udGV4dC0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgICAgIGlmIChuICYmIG5v
ZGVNYXRjaGVzKG4sIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogbm9kZSA9
IGNvbnRleHQucGFyZW50Tm9kZSgpOworICAgICAgICAgICAgICAgIGlmIChub2RlICYmIG5vZGVN
YXRjaGVzKCpub2RlLCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBjYXNlIEFuY2VzdG9yQXhpczogewotICAgICAgICAgICAgTm9kZSogbiA9IGNv
bnRleHQ7Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpIHsKLSAg
ICAgICAgICAgICAgICBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25lckVsZW1l
bnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JBeGlzLCBt
X25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAg
ICAgICAgTm9kZSogbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNB
dHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0
ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0
Y2hlcygqbm9kZSwgQW5jZXN0b3JBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChu
b2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
KSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3RvckF4aXMs
IG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7IG47IG4g
PSBuLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFu
Y2VzdG9yQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVu
ZChuKTsKICAgICAgICAgICAgIG5vZGVzLm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRm9sbG93aW5nU2libGluZ0F4aXM6Ci0g
ICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9E
RSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgpID09IE5vZGU6OlhQQVRI
X05BTUVTUEFDRV9OT0RFKSAKKyAgICAgICAgICAgIGlmIChjb250ZXh0Lm5vZGVUeXBlKCkgPT0g
Tm9kZTo6QVRUUklCVVRFX05PREUgfHwgY29udGV4dC5ub2RlVHlwZSgpID09IE5vZGU6OlhQQVRI
X05BTUVTUEFDRV9OT0RFKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+bmV4dFNpYmxpbmcoKTsgbjsgbiA9
IG4tPm5leHRTaWJsaW5nKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZv
bGxvd2luZ1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0gY29udGV4dC5uZXh0
U2libGluZygpOyBub2RlOyBub2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgRm9sbG93aW5nU2libGluZ0F4aXMsIG1fbm9k
ZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAg
ICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgUHJlY2VkaW5nU2libGlu
Z0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRS
SUJVVEVfTk9ERSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgpID09IE5v
ZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFKQorICAgICAgICAgICAgaWYgKGNvbnRleHQubm9kZVR5
cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9ERSB8fCBjb250ZXh0Lm5vZGVUeXBlKCkgPT0gTm9k
ZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5wcmV2aW91c1NpYmxp
bmcoKTsgbjsgbiA9IG4tPnByZXZpb3VzU2libGluZygpKQotICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAg
ICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLQorICAgICAgICAgICAgZm9yIChOb2RlKiBu
b2RlID0gY29udGV4dC5wcmV2aW91c1NpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPnByZXZp
b3VzU2libGluZygpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBQ
cmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5v
ZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5vZGVzLm1hcmtT
b3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEZvbGxvd2lu
Z0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpIHsKLSAg
ICAgICAgICAgICAgICBOb2RlKiBwID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25l
ckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAoKHAgPSBOb2RlVHJhdmVyc2FsOjpu
ZXh0KHApKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKHAsIEZvbGxvd2lu
Z0F4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KHApOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAg
ICAgICAgICAgICBOb2RlKiBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVy
RWxlbWVudCgpOworICAgICAgICAgICAgICAgIHdoaWxlICgobm9kZSA9IE5vZGVUcmF2ZXJzYWw6
Om5leHQobm9kZSkpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9k
ZSwgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBu
b2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIHAgPSBjb250ZXh0OyAhaXNSb290RG9tTm9k
ZShwKTsgcCA9IHAtPnBhcmVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgICAgICBmb3IgKE5v
ZGUqIG4gPSBwLT5uZXh0U2libGluZygpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZvbGxvd2luZ0F4aXMsIG1f
bm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogYyA9IG4tPmZpcnN0Q2hpbGQoKTsg
YzsgYyA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoYywgbikpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG5vZGVNYXRjaGVzKGMsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoYyk7CisgICAgICAgICAg
ICAgICAgZm9yIChOb2RlKiBwYXJlbnQgPSAmY29udGV4dDsgIWlzUm9vdERvbU5vZGUocGFyZW50
KTsgcGFyZW50ID0gcGFyZW50LT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9yIChOb2RlKiBub2RlID0gcGFyZW50LT5uZXh0U2libGluZygpOyBub2RlOyBub2RlID0gbm9k
ZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKCpub2RlLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBm
b3IgKE5vZGUqIGNoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBOb2Rl
VHJhdmVyc2FsOjpuZXh0KGNoaWxkLCBub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChub2RlTWF0Y2hlcygqY2hpbGQsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoY2hpbGQpOworICAg
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNl
IFByZWNlZGluZ0F4aXM6IHsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5v
ZGUoKSkKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRl
eHQpLT5vd25lckVsZW1lbnQoKTsKLQotICAgICAgICAgICAgTm9kZSogbiA9IGNvbnRleHQ7Ci0g
ICAgICAgICAgICB3aGlsZSAoQ29udGFpbmVyTm9kZSogcGFyZW50ID0gbi0+cGFyZW50Tm9kZSgp
KSB7Ci0gICAgICAgICAgICAgICAgZm9yIChuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobik7
IG4gIT0gcGFyZW50OyBuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobikpCi0gICAgICAgICAg
ICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLSAgICAgICAgICAgICAg
ICBuID0gcGFyZW50OworICAgICAgICAgICAgTm9kZSogbm9kZTsKKyAgICAgICAgICAgIGlmIChj
b250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKQorICAgICAgICAgICAgICAgIG5vZGUgPSBzdGF0aWNf
Y2FzdDxBdHRyJj4oY29udGV4dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgd2hpbGUgKENvbnRh
aW5lck5vZGUqIHBhcmVudCA9IG5vZGUtPnBhcmVudE5vZGUoKSkgeworICAgICAgICAgICAgICAg
IGZvciAobm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpOyBub2RlICE9IHBhcmVu
dDsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgUHJlY2VkaW5nQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIG5vZGUgPSBwYXJlbnQ7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIEF0dHJpYnV0ZUF4aXM6IHsKLSAgICAgICAgICAgIGlm
ICghY29udGV4dC0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICAgICAgaWYgKCFjb250ZXh0Lmlz
RWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIEVs
ZW1lbnQqIGNvbnRleHRFbGVtZW50ID0gdG9FbGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAg
RWxlbWVudCYgY29udGV4dEVsZW1lbnQgPSB0b0VsZW1lbnQoY29udGV4dCk7CiAKICAgICAgICAg
ICAgIC8vIEF2b2lkIGxhemlseSBjcmVhdGluZyBhdHRyaWJ1dGUgbm9kZXMgZm9yIGF0dHJpYnV0
ZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCBhbnl3YXkuCi0gICAgICAgICAgICBpZiAobV9ub2RlVGVz
dC5raW5kKCkgPT0gTm9kZVRlc3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QuZGF0YSgpICE9IHN0
YXJBdG9tKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG4gPSBjb250ZXh0RWxlbWVu
dC0+Z2V0QXR0cmlidXRlTm9kZU5TKG1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCksIG1fbm9kZVRl
c3QuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VVUkkoKSAh
PSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1l
c3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4uZ2V0KCksIEF0dHJpYnV0ZUF4aXMs
IG1fbm9kZVRlc3QpKSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgot
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsKKyAgICAg
ICAgICAgIGlmIChtX25vZGVUZXN0Lm1fa2luZCA9PSBOb2RlVGVzdDo6TmFtZVRlc3QgJiYgbV9u
b2RlVGVzdC5tX2RhdGEgIT0gc3RhckF0b20pIHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8QXR0
cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmdldEF0dHJpYnV0ZU5vZGVOUyhtX25vZGVUZXN0Lm1f
bmFtZXNwYWNlVVJJLCBtX25vZGVUZXN0Lm1fZGF0YSk7CisgICAgICAgICAgICAgICAgaWYgKGF0
dHIgJiYgYXR0ci0+bmFtZXNwYWNlVVJJKCkgIT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VV
UkkpIHsgLy8gSW4gWFBhdGggbGFuZCwgbmFtZXNwYWNlIG5vZGVzIGFyZSBub3QgYWNjZXNzaWJs
ZSBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0
Y2hlcygqYXR0ciwgQXR0cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpIC8vIFN0aWxsIG5lZWQgdG8g
Y2hlY2sgbWVyZ2VkIHByZWRpY2F0ZXMuCisgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5h
cHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICgh
Y29udGV4dEVsZW1lbnQtPmhhc0F0dHJpYnV0ZXMoKSkKKyAgICAgICAgICAgIGlmICghY29udGV4
dEVsZW1lbnQuaGFzQXR0cmlidXRlcygpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvbnRleHRFbGVtZW50LT5hdHRyaWJ1
dGVDb3VudCgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8QXR0cj4gYXR0ciA9IGNv
bnRleHRFbGVtZW50LT5lbnN1cmVBdHRyKGNvbnRleHRFbGVtZW50LT5hdHRyaWJ1dGVBdChpKS5u
YW1lKCkpOwotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhhdHRyLmdldCgpLCBBdHRy
aWJ1dGVBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBjb250ZXh0RWxlbWVudC5hdHRyaWJ1dGVDb3VudCgpOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICBSZWZQdHI8QXR0cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmVuc3VyZUF0dHIoY29udGV4
dEVsZW1lbnQuYXR0cmlidXRlQXQoaSkubmFtZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAobm9k
ZU1hdGNoZXMoKmF0dHIsIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3QpKQogICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMzYwLDMxICszNjUsMzEgQEAgdm9pZCBTdGVwOjpub2Rlc0lu
QXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBTZWxmQXhpczoKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hl
cyhjb250ZXh0LCBTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgbm9kZXMu
YXBwZW5kKGNvbnRleHQpOworICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZCgmY29udGV4dCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgRGVzY2VuZGFudE9yU2VsZkF4aXM6
CiAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoY29udGV4dCwgRGVzY2VuZGFudE9yU2VsZkF4
aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjb250ZXh0KTsK
LSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGgg
bW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAg
ICAgICBub2Rlcy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNB
dHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90
IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBm
b3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJzdENoaWxkKCk7IG47IG4gPSBOb2RlVHJhdmVyc2Fs
OjpuZXh0KG4sIGNvbnRleHQpKQotICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIERlc2Nl
bmRhbnRPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICBub2Rlcy5hcHBl
bmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0LmZpcnN0Q2hpbGQo
KTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSwgJmNvbnRleHQpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBEZXNjZW5kYW50T3JTZWxmQXhp
cywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBBbmNlc3Rv
ck9yU2VsZkF4aXM6IHsKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhjb250ZXh0LCBBbmNl
c3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVu
ZChjb250ZXh0KTsKLSAgICAgICAgICAgIE5vZGUqIG4gPSBjb250ZXh0OwotICAgICAgICAgICAg
aWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgbiA9IHN0
YXRpY19jYXN0PEF0dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAg
ICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0g
ICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgTm9kZSogbm9kZSA9ICZjb250ZXh0Owor
ICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAgICAgICAg
ICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOwor
ICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgQW5jZXN0b3JPclNlbGZBeGlz
LCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
OyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAg
ICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7IG47IG4gPSBuLT5wYXJlbnROb2RlKCkp
Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxmQXhpcywg
bV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLQogICAg
ICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTM5Miw2ICszOTcsNSBAQCB2b2lkIFN0ZXA6Om5vZGVzSW5BeGlzKE5vZGUq
IGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCi0KIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBmNjc4ZjkyMjgzOWE2MGFm
N2UxNzM2YzRiMDEzYmM1ZGNhY2U2MzJhLi41NTY5YzQ1Y2MxYmVlMDRkYWNmMTRiYzk2ZWQ1YWEx
ZDdkMTlkOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCkBAIC0yNyw4ICsyNyw4IEBACiAjaWZu
ZGVmIFhQYXRoU3RlcF9oCiAjZGVmaW5lIFhQYXRoU3RlcF9oCiAKLSNpbmNsdWRlICJYUGF0aEV4
cHJlc3Npb25Ob2RlLmgiCi0jaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM2LDEwICszNiwxMCBAQCBjbGFzcyBOb2RlOwogCiBuYW1lc3Bh
Y2UgWFBhdGggewogCitjbGFzcyBOb2RlU2V0OwogY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAK
LWNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdGVwKTsKK2NsYXNzIFN0ZXAgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGVudW0gQXhpcyB7CkBAIC00OSw1NyArNDksNTIgQEAgcHVibGljOgogICAgICAg
ICBQYXJlbnRBeGlzLCBQcmVjZWRpbmdBeGlzLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywKICAgICAg
ICAgU2VsZkF4aXMKICAgICB9OwotICAgICAgICAgICAKKwogICAgIGNsYXNzIE5vZGVUZXN0IHsK
ICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgotICAgICAgICBl
bnVtIEtpbmQgewotICAgICAgICAgICAgVGV4dE5vZGVUZXN0LCBDb21tZW50Tm9kZVRlc3QsIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2RlVGVzdCwgTmFtZVRlc3QKLSAgICAg
ICAgfTsKLQotICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQpIDogbV9raW5kKGtpbmQpIHsgfQot
ICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0IFN0cmluZyYgZGF0YSkgOiBtX2tpbmQo
a2luZCksIG1fZGF0YShkYXRhKSB7IH0KLSAgICAgICAgTm9kZVRlc3QoS2luZCBraW5kLCBjb25z
dCBTdHJpbmcmIGRhdGEsIGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJKSA6IG1fa2luZChraW5k
KSwgbV9kYXRhKGRhdGEpLCBtX25hbWVzcGFjZVVSSShuYW1lc3BhY2VVUkkpIHsgfQotICAgICAg
ICAgICAgICAgIAotICAgICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0K
LSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRh
OyB9Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lc3BhY2VVUkk7IH0KLSAgICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJn
ZWRQcmVkaWNhdGVzKCkgeyByZXR1cm4gbV9tZXJnZWRQcmVkaWNhdGVzOyB9Ci0gICAgICAgIGNv
bnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJlZGljYXRlcygpIGNvbnN0IHsgcmV0dXJu
IG1fbWVyZ2VkUHJlZGljYXRlczsgfQotICAgICAgICAgICAgICAgIAorICAgICAgICBlbnVtIEtp
bmQgeyBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9u
Tm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdCB9OworCisgICAgICAgIGV4cGxpY2l0IE5v
ZGVUZXN0KEtpbmQga2luZCkgOiBtX2tpbmQoa2luZCkgeyB9CisgICAgICAgIE5vZGVUZXN0KEtp
bmQga2luZCwgY29uc3QgQXRvbWljU3RyaW5nJiBkYXRhKSA6IG1fa2luZChraW5kKSwgbV9kYXRh
KGRhdGEpIHsgfQorICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZGF0YSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpIDogbV9raW5kKGtpbmQp
LCBtX2RhdGEoZGF0YSksIG1fbmFtZXNwYWNlVVJJKG5hbWVzcGFjZVVSSSkgeyB9CisKICAgICBw
cml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgU3RlcDsKKyAgICAgICAgZnJpZW5kIHZvaWQg
b3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wmKTsKKyAgICAgICAgZnJpZW5kIGJv
b2wgbm9kZU1hdGNoZXNCYXNpY1Rlc3QoTm9kZSYsIEF4aXMsIGNvbnN0IE5vZGVUZXN0Jik7Cisg
ICAgICAgIGZyaWVuZCBib29sIG5vZGVNYXRjaGVzKE5vZGUmLCBBeGlzLCBjb25zdCBOb2RlVGVz
dCYpOworCiAgICAgICAgIEtpbmQgbV9raW5kOwogICAgICAgICBBdG9taWNTdHJpbmcgbV9kYXRh
OwogICAgICAgICBBdG9taWNTdHJpbmcgbV9uYW1lc3BhY2VVUkk7Ci0KLSAgICAgICAgLy8gV2hl
biBwb3NzaWJsZSwgd2UgbWVyZ2Ugc29tZSBvciBhbGwgcHJlZGljYXRlcyB3aXRoIG5vZGUgdGVz
dCBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlLgotICAgICAgICBWZWN0b3I8UHJlZGljYXRlKj4gbV9t
ZXJnZWRQcmVkaWNhdGVzOworICAgICAgICBWZWN0b3I8UHJlZGljYXRlPiBtX21lcmdlZFByZWRp
Y2F0ZXM7CiAgICAgfTsKIAotICAgIFN0ZXAoQXhpcywgY29uc3QgTm9kZVRlc3QmLCBjb25zdCBW
ZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMgPSBWZWN0b3I8UHJlZGljYXRlKj4oKSk7Cisg
ICAgU3RlcChBeGlzLCBOb2RlVGVzdCYmKTsKKyAgICBTdGVwKEF4aXMsIE5vZGVUZXN0JiYsIFZl
Y3RvcjxQcmVkaWNhdGU+JiYpOwogICAgIH5TdGVwKCk7CiAKICAgICB2b2lkIG9wdGltaXplKCk7
CiAKLSAgICB2b2lkIGV2YWx1YXRlKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKKyAg
ICB2b2lkIGV2YWx1YXRlKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKIAogICAgIEF4
aXMgYXhpcygpIGNvbnN0IHsgcmV0dXJuIG1fYXhpczsgfQotICAgIGNvbnN0IE5vZGVUZXN0JiBu
b2RlVGVzdCgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVRlc3Q7IH0KIAogcHJpdmF0ZToKLSAgICBm
cmllbmQgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAqLCBTdGVwKiwgYm9vbCYpOworICAgIGZy
aWVuZCB2b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCYsIFN0ZXAmLCBib29sJik7CisKICAgICBi
b29sIHByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKCkgY29uc3Q7CiAKICAgICB2
b2lkIHBhcnNlTm9kZVRlc3QoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBub2Rlc0luQXhpcyhO
b2RlKiBjb250ZXh0LCBOb2RlU2V0JikgY29uc3Q7Ci0gICAgU3RyaW5nIG5hbWVzcGFjZUZyb21O
b2RldGVzdChjb25zdCBTdHJpbmcmIG5vZGVUZXN0KSBjb25zdDsKKyAgICB2b2lkIG5vZGVzSW5B
eGlzKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKIAogICAgIEF4aXMgbV9heGlzOwog
ICAgIE5vZGVUZXN0IG1fbm9kZVRlc3Q7Ci0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGlj
YXRlczsKKyAgICBWZWN0b3I8UHJlZGljYXRlPiBtX3ByZWRpY2F0ZXM7CiB9OwogCi12b2lkIG9w
dGltaXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJiBkcm9wU2Vjb25kU3RlcCk7Cit2b2lk
IG9wdGltaXplU3RlcFBhaXIoU3RlcCYsIFN0ZXAmLCBib29sJiBkcm9wU2Vjb25kU3RlcCk7CiAK
IH0gLy8gbmFtZXNwYWNlIFhQYXRoCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFV0aWwuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKaW5kZXggOGNi
YzdhNjMxNGY0ZmI1YjJmOWUxMjkwZTI3NTM3YWNhOTIxMDRhNi4uOGQzY2JhNzllYmNjZGZhZTQz
ODcyZGNjYzZkN2VkMzAwMGE5MDNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoVXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKQEAgLTUw
LDcgKzUwLDcgQEAgU3RyaW5nIHN0cmluZ1ZhbHVlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhc2Ug
Tm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6CiAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bm9k
ZVZhbHVlKCk7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoaXNSb290RG9tTm9k
ZShub2RlKSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkVMRU1FTlRfTk9ERSkKKyAgICAg
ICAgICAgIGlmIChpc1Jvb3REb21Ob2RlKG5vZGUpIHx8IG5vZGUtPmlzRWxlbWVudE5vZGUoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gVGV4dE5vZGVUcmF2ZXJzYWw6OmNvbnRlbnRzQXNTdHJp
bmcobm9kZSk7CiAgICAgfQogICAgIHJldHVybiBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZh
bHVlLmNwcAppbmRleCBlZDQzZjQ4YmVlYmRiZDBmMTg0ZWVhNzU3YWJlMzM1ZDQ4ODRmOWRhLi4y
YmQwMzk4NDA1MTI3ZTIyZTZkOTI0MzQxYTI1YmI5MTk4N2ZiMjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoVmFsdWUuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1IEZyZXJp
Y2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDI2
ICszMiwyMyBAQAogI2luY2x1ZGUgIlhQYXRoVXRpbC5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotdXNpbmcgc3RkOjpudW1lcmljX2xp
bWl0czsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKIAotY29uc3Qg
VmFsdWU6OkFkb3B0VGFnIFZhbHVlOjphZG9wdCA9IHt9OwotCiBjb25zdCBOb2RlU2V0JiBWYWx1
ZTo6dG9Ob2RlU2V0KCkgY29uc3QKIHsKICAgICBpZiAoIWlzTm9kZVNldCgpKQogICAgICAgICBF
eHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpLmhhZFR5cGVDb252ZXJzaW9uRXJyb3IgPSB0
cnVlOwogCiAgICAgaWYgKCFtX2RhdGEpIHsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChO
b2RlU2V0LCBlbXB0eU5vZGVTZXQsICgpKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PE5vZGVTZXQ+IGVtcHR5Tm9kZVNldDsKICAgICAgICAgcmV0dXJuIGVtcHR5Tm9kZVNldDsKICAg
ICB9CiAKLSAgICByZXR1cm4gbV9kYXRhLT5tX25vZGVTZXQ7CisgICAgcmV0dXJuIG1fZGF0YS0+
bm9kZVNldDsKIH0gICAgCiAKIE5vZGVTZXQmIFZhbHVlOjptb2RpZmlhYmxlTm9kZVNldCgpCkBA
IC02MCwyMyArNTcsMjMgQEAgTm9kZVNldCYgVmFsdWU6Om1vZGlmaWFibGVOb2RlU2V0KCkKICAg
ICAgICAgRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKS5oYWRUeXBlQ29udmVyc2lvbkVy
cm9yID0gdHJ1ZTsKIAogICAgIGlmICghbV9kYXRhKQotICAgICAgICBtX2RhdGEgPSBWYWx1ZURh
dGE6OmNyZWF0ZSgpOwotICAgIAorICAgICAgICBtX2RhdGEgPSBEYXRhOjpjcmVhdGUoKTsKKwog
ICAgIG1fdHlwZSA9IE5vZGVTZXRWYWx1ZTsKLSAgICByZXR1cm4gbV9kYXRhLT5tX25vZGVTZXQ7
CisgICAgcmV0dXJuIG1fZGF0YS0+bm9kZVNldDsKIH0KIAogYm9vbCBWYWx1ZTo6dG9Cb29sZWFu
KCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgICAgICBjYXNlIE5vZGVTZXRW
YWx1ZToKLSAgICAgICAgICAgIHJldHVybiAhbV9kYXRhLT5tX25vZGVTZXQuaXNFbXB0eSgpOwor
ICAgICAgICAgICAgcmV0dXJuICFtX2RhdGEtPm5vZGVTZXQuaXNFbXB0eSgpOwogICAgICAgICBj
YXNlIEJvb2xlYW5WYWx1ZToKICAgICAgICAgICAgIHJldHVybiBtX2Jvb2w7CiAgICAgICAgIGNh
c2UgTnVtYmVyVmFsdWU6CiAgICAgICAgICAgICByZXR1cm4gbV9udW1iZXIgJiYgIXN0ZDo6aXNu
YW4obV9udW1iZXIpOwogICAgICAgICBjYXNlIFN0cmluZ1ZhbHVlOgotICAgICAgICAgICAgcmV0
dXJuICFtX2RhdGEtPm1fc3RyaW5nLmlzRW1wdHkoKTsKKyAgICAgICAgICAgIHJldHVybiAhbV9k
YXRhLT5zdHJpbmcuaXNFbXB0eSgpOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICByZXR1cm4gZmFsc2U7CkBAIC05MCwyNSArODcsMjYgQEAgZG91YmxlIFZhbHVlOjp0b051
bWJlcigpIGNvbnN0CiAgICAgICAgIGNhc2UgTnVtYmVyVmFsdWU6CiAgICAgICAgICAgICByZXR1
cm4gbV9udW1iZXI7CiAgICAgICAgIGNhc2UgU3RyaW5nVmFsdWU6IHsKLSAgICAgICAgICAgIGNv
bnN0IFN0cmluZyYgc3RyID0gbV9kYXRhLT5tX3N0cmluZy5zaW1wbGlmeVdoaXRlU3BhY2UoKTsK
KyAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgc3RyID0gbV9kYXRhLT5zdHJpbmcuc2ltcGxpZnlX
aGl0ZVNwYWNlKCk7CiAKICAgICAgICAgICAgIC8vIFN0cmluZzo6dG9Eb3VibGUoKSBzdXBwb3J0
cyBleHBvbmVudGlhbCBub3RhdGlvbiwgd2hpY2ggaXMgbm90IGFsbG93ZWQgaW4gWFBhdGguCiAg
ICAgICAgICAgICB1bnNpZ25lZCBsZW4gPSBzdHIubGVuZ3RoKCk7CiAgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKICAgICAgICAgICAgICAgICBVQ2hhciBj
ID0gc3RyW2ldOwogICAgICAgICAgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KGMpICYmIGMgIT0g
Jy4nICAmJiBjICE9ICctJykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgYm9vbCBjYW5Db252ZXJ0OwogICAgICAgICAgICAgZG91YmxlIHZhbHVlID0g
c3RyLnRvRG91YmxlKCZjYW5Db252ZXJ0KTsKICAgICAgICAgICAgIGlmIChjYW5Db252ZXJ0KQog
ICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgQm9vbGVhblZhbHVlOgogICAgICAgICAgICAgcmV0dXJuIG1fYm9vbDsKICAgICB9CisKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wOwogfQpAQCAtMTE3LDIyICsx
MTUsMjMgQEAgU3RyaW5nIFZhbHVlOjp0b1N0cmluZygpIGNvbnN0CiB7CiAgICAgc3dpdGNoICht
X3R5cGUpIHsKICAgICAgICAgY2FzZSBOb2RlU2V0VmFsdWU6Ci0gICAgICAgICAgICBpZiAobV9k
YXRhLT5tX25vZGVTZXQuaXNFbXB0eSgpKSAKLSAgICAgICAgICAgICAgICByZXR1cm4gIiI7Ci0g
ICAgICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUobV9kYXRhLT5tX25vZGVTZXQuZmlyc3ROb2Rl
KCkpOworICAgICAgICAgICAgaWYgKG1fZGF0YS0+bm9kZVNldC5pc0VtcHR5KCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gc3RyaW5n
VmFsdWUobV9kYXRhLT5ub2RlU2V0LmZpcnN0Tm9kZSgpKTsKICAgICAgICAgY2FzZSBTdHJpbmdW
YWx1ZToKLSAgICAgICAgICAgIHJldHVybiBtX2RhdGEtPm1fc3RyaW5nOworICAgICAgICAgICAg
cmV0dXJuIG1fZGF0YS0+c3RyaW5nOwogICAgICAgICBjYXNlIE51bWJlclZhbHVlOgogICAgICAg
ICAgICAgaWYgKHN0ZDo6aXNuYW4obV9udW1iZXIpKQotICAgICAgICAgICAgICAgIHJldHVybiAi
TmFOIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJOYU4iKTsKICAgICAg
ICAgICAgIGlmIChtX251bWJlciA9PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiAiMCI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiMCIpOwogICAgICAgICAgICAgaWYg
KHN0ZDo6aXNpbmYobV9udW1iZXIpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6OnNpZ25i
aXQobV9udW1iZXIpID8gIi1JbmZpbml0eSIgOiAiSW5maW5pdHkiOworICAgICAgICAgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoc3RkOjpzaWduYml0KG1fbnVtYmVyKSA/ICItSW5maW5pdHki
IDogIkluZmluaXR5Iik7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIobV9udW1i
ZXIpOwogICAgICAgICBjYXNlIEJvb2xlYW5WYWx1ZToKLSAgICAgICAgICAgIHJldHVybiBtX2Jv
b2wgPyAidHJ1ZSIgOiAiZmFsc2UiOworICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCht
X2Jvb2wgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKICAgICB9CisKICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuaAppbmRl
eCA0OTBiYjJkN2I3OGM1ZDY1NzlhNjdmZDQ3MDJjNjBlZTYwZjM3NTQ1Li5lZjlmOTUxNTJjNzM3
ZGZmMmMyYTg2M2JlNTU0NzNkZTIwZGFhMmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmgKQEAg
LTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVA
a2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNDYgKzI4LDI1IEBACiAjZGVm
aW5lIFhQYXRoVmFsdWVfaAogCiAjaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVz
cGFjZSBYUGF0aCB7CiAgICAgCi0gICAgICAgIGNsYXNzIFZhbHVlRGF0YSA6IHB1YmxpYyBSZWZD
b3VudGVkPFZhbHVlRGF0YT4gewotICAgICAgICBwdWJsaWM6ICAgICAgICAgICAgCi0gICAgICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxWYWx1ZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBWYWx1ZURhdGEpOyB9Ci0gICAgICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxWYWx1
ZURhdGE+IGNyZWF0ZShjb25zdCBOb2RlU2V0JiBub2RlU2V0KSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgVmFsdWVEYXRhKG5vZGVTZXQpKTsgfQotICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VmFsdWVEYXRhPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBWYWx1ZURhdGEoc3RyaW5nKSk7IH0KLQotICAgICAgICAgICAgTm9kZVNldCBtX25vZGVT
ZXQ7Ci0gICAgICAgICAgICBTdHJpbmcgbV9zdHJpbmc7Ci0gICAgICAgICAgICAKLSAgICAgICAg
cHJpdmF0ZToKLSAgICAgICAgICAgIFZhbHVlRGF0YSgpIHsgfQotICAgICAgICAgICAgZXhwbGlj
aXQgVmFsdWVEYXRhKGNvbnN0IE5vZGVTZXQmIG5vZGVTZXQpIDogbV9ub2RlU2V0KG5vZGVTZXQp
IHsgfQotICAgICAgICAgICAgZXhwbGljaXQgVmFsdWVEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5n
KSA6IG1fc3RyaW5nKHN0cmluZykgeyB9ICAgICAgICAgICAgCi0gICAgICAgIH07Ci0KLSAgICAg
ICAgLy8gQ29weWluZyBWYWx1ZSBvYmplY3RzIG1ha2VzIHRoZWlyIGRhdGEgcGFydGlhbGx5IHNo
YXJlZCwgc28gY2FyZSBoYXMgdG8gYmUgdGFrZW4gd2hlbiBkZWFsaW5nIHdpdGggY29waWVzLgog
ICAgICAgICBjbGFzcyBWYWx1ZSB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0g
VHlwZSB7IE5vZGVTZXRWYWx1ZSwgQm9vbGVhblZhbHVlLCBOdW1iZXJWYWx1ZSwgU3RyaW5nVmFs
dWUgfTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgVmFsdWUodW5zaWduZWQgdmFsdWUpIDog
bV90eXBlKE51bWJlclZhbHVlKSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIodmFsdWUpIHt9Ci0g
ICAgICAgICAgICBWYWx1ZSh1bnNpZ25lZCBsb25nIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1
ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKHZhbHVlKSB7fQotICAgICAgICAgICAgVmFsdWUo
ZG91YmxlIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVt
YmVyKHZhbHVlKSB7fQorICAgICAgICAgICAgZXhwbGljaXQgVmFsdWUoYm9vbCB2YWx1ZSkgOiBt
X3R5cGUoQm9vbGVhblZhbHVlKSwgbV9ib29sKHZhbHVlKSB7IH0KIAotICAgICAgICAgICAgVmFs
dWUoY29uc3QgY2hhciogdmFsdWUpIDogbV90eXBlKFN0cmluZ1ZhbHVlKSwgbV9ib29sKGZhbHNl
KSwgbV9udW1iZXIoMCksIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSh2YWx1ZSkpIHt9Ci0gICAg
ICAgICAgICBWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1ZSks
IG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBtX2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUodmFs
dWUpKSB7fQotICAgICAgICAgICAgVmFsdWUoY29uc3QgTm9kZVNldCYgdmFsdWUpIDogbV90eXBl
KE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBtX2RhdGEoVmFsdWVE
YXRhOjpjcmVhdGUodmFsdWUpKSB7fQotICAgICAgICAgICAgVmFsdWUoTm9kZSogdmFsdWUpIDog
bV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBtX2RhdGEo
VmFsdWVEYXRhOjpjcmVhdGUoKSkgeyBtX2RhdGEtPm1fbm9kZVNldC5hcHBlbmQodmFsdWUpOyB9
CisgICAgICAgICAgICBWYWx1ZSh1bnNpZ25lZCB2YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUp
LCBtX251bWJlcih2YWx1ZSkgeyB9CisgICAgICAgICAgICBleHBsaWNpdCBWYWx1ZShkb3VibGUg
dmFsdWUpIDogbV90eXBlKE51bWJlclZhbHVlKSwgbV9udW1iZXIodmFsdWUpIHsgfQogCi0gICAg
ICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBzYWZlbHkgaW1wbGVtZW50IGNvbnN0cnVjdGlu
ZyBmcm9tIGJvb2wgLSB3aXRoIG5vcm1hbCBmdW5jdGlvbiBvdmVybG9hZGluZywgYW55IHBvaW50
ZXIgdHlwZSB3b3VsZCBtYXRjaC4KLSAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFZh
bHVlKFQpOworICAgICAgICAgICAgVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgOiBtX3R5cGUo
U3RyaW5nVmFsdWUpLCBtX2RhdGEoRGF0YTo6Y3JlYXRlKHZhbHVlKSkgeyB9CisgICAgICAgICAg
ICBWYWx1ZShjb25zdCBjaGFyKiB2YWx1ZSkgOiBtX3R5cGUoU3RyaW5nVmFsdWUpLCBtX2RhdGEo
RGF0YTo6Y3JlYXRlKHZhbHVlKSkgeyB9CiAKLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgQWRvcHRUYWcge30gYWRvcHQ7Ci0gICAgICAgICAgICBWYWx1ZShOb2RlU2V0JiB2YWx1ZSwg
Y29uc3QgQWRvcHRUYWcmKSA6IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBt
X251bWJlcigwKSwgIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSgpKSB7IHZhbHVlLnN3YXAobV9k
YXRhLT5tX25vZGVTZXQpOyB9CisgICAgICAgICAgICBleHBsaWNpdCBWYWx1ZShOb2RlU2V0JiYg
dmFsdWUpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUoc3RkOjpt
b3ZlKHZhbHVlKSkpIHsgfQorICAgICAgICAgICAgZXhwbGljaXQgVmFsdWUoUGFzc1JlZlB0cjxO
b2RlPiB2YWx1ZSkgOiBtX3R5cGUoTm9kZVNldFZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZSh2
YWx1ZSkpIHsgfQogCiAgICAgICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KIApAQCAtNzcsMjUgKzU2LDM2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
ICAgIGJvb2wgaXNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gU3RyaW5nVmFsdWU7
IH0KIAogICAgICAgICAgICAgY29uc3QgTm9kZVNldCYgdG9Ob2RlU2V0KCkgY29uc3Q7Ci0gICAg
ICAgICAgICBOb2RlU2V0JiBtb2RpZmlhYmxlTm9kZVNldCgpOwogICAgICAgICAgICAgYm9vbCB0
b0Jvb2xlYW4oKSBjb25zdDsKICAgICAgICAgICAgIGRvdWJsZSB0b051bWJlcigpIGNvbnN0Owog
ICAgICAgICAgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CiAKKyAgICAgICAgICAgIC8vIE5v
dGUgdGhhdCB0aGUgTm9kZVNldCBpcyBzaGFyZWQgd2l0aCBvdGhlciBWYWx1ZXMgdGhhdCB0aGlz
IG9uZSB3YXMgY29waWVkIGZyb20gb3IgdGhhdCBhcmUgY29waWVzIG9mIHRoaXMgb25lLgorICAg
ICAgICAgICAgTm9kZVNldCYgbW9kaWZpYWJsZU5vZGVTZXQoKTsKKwogICAgICAgICBwcml2YXRl
OgorICAgICAgICAgICAgc3RydWN0IERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxEYXRhPiB7Cisg
ICAgICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IERhdGEpOyB9CisgICAgICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
RGF0YT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
RGF0YShzdHJpbmcpKTsgfQorICAgICAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGE+
IGNyZWF0ZShOb2RlU2V0JiYgbm9kZVNldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERhdGEoc3Rk
Ojptb3ZlKG5vZGVTZXQpKSk7IH0KKyAgICAgICAgICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
YXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBub2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
RGF0YShub2RlKSk7IH0KKworICAgICAgICAgICAgICAgIFN0cmluZyBzdHJpbmc7CisgICAgICAg
ICAgICAgICAgTm9kZVNldCBub2RlU2V0OworCisgICAgICAgICAgICBwcml2YXRlOgorICAgICAg
ICAgICAgICAgIERhdGEoKSB7IH0KKyAgICAgICAgICAgICAgICBleHBsaWNpdCBEYXRhKGNvbnN0
IFN0cmluZyYgc3RyaW5nKSA6IHN0cmluZyhzdHJpbmcpIHsgfQorICAgICAgICAgICAgICAgIGV4
cGxpY2l0IERhdGEoTm9kZVNldCYmIG5vZGVTZXQpIDogbm9kZVNldChzdGQ6Om1vdmUobm9kZVNl
dCkpIHsgfQorICAgICAgICAgICAgICAgIGV4cGxpY2l0IERhdGEoUGFzc1JlZlB0cjxOb2RlPiBu
b2RlKSA6IG5vZGVTZXQobm9kZSkgeyB9CisgICAgICAgICAgICB9OworCiAgICAgICAgICAgICBU
eXBlIG1fdHlwZTsKICAgICAgICAgICAgIGJvb2wgbV9ib29sOwogICAgICAgICAgICAgZG91Ymxl
IG1fbnVtYmVyOwotICAgICAgICAgICAgUmVmUHRyPFZhbHVlRGF0YT4gbV9kYXRhOworICAgICAg
ICAgICAgUmVmUHRyPERhdGE+IG1fZGF0YTsKICAgICAgICAgfTsKIAotICAgICAgICB0ZW1wbGF0
ZTw+Ci0gICAgICAgIGlubGluZSBWYWx1ZTo6VmFsdWUoYm9vbCB2YWx1ZSkKLSAgICAgICAgICAg
IDogbV90eXBlKEJvb2xlYW5WYWx1ZSkKLSAgICAgICAgICAgICwgbV9ib29sKHZhbHVlKQotICAg
ICAgICAgICAgLCBtX251bWJlcigwKQotICAgICAgICB7Ci0gICAgICAgIH0KICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>213667</attachid>
            <date>2013-10-08 00:12:40 -0700</date>
            <delta_ts>2013-10-08 00:12:40 -0700</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>423685</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
eJL2NLnbx8JWUjsuB8pD5NEaeGjUVp5oXZ6AyhNorkTDkwA8tT8nYntPbPqytbyEMpNomclGZsAC
Jd71kPXxAAaPyKPy5Fpx+zhU6/IUVB6eq6Yn6PZLvCMpG1dS7Y+HKRcLbcxb9fNnEOdGJ9swirzU
jhP5YUSu7yfB2I98x/kFUEsDBBQAAgAIAAIASEMmx6k0MAIAAHYQAAAxABwAZmFzdC94cGF0aC80
WFBhdGgvQ29yZS90ZXN0X2xpdGVyYWxfZXhwci1kaWZmLnR4dFVUCQADdK1TUnStU1J1eAsAAQT1
AQAABBQAAAC9llFv2jAUhd/zK6y+dBM4wY6TiTfaLpuqtV0ErGxPyAR3RXKhiu2J/vvGsKaUKXcP
vtsLfgicL/eeQ04opSS53Wj3oEzyUVqZFLNJMlOLLyv7+zh3K71MxkoraVSi5dPGWWqVsbRWxmlr
kjtpbLJ9lPY+Ed9Lf1xsapX478z1yqpa6rnaPta0+VCVVcvYbm3U6/X+I1pW1km9A49GhLK8z3PS
2x+jUUTKs8mELDdVczdrG6tfUjtp1bvTE5qdnPbbK32ydlr3yY413t1EPJmOL28+z6c/ymJ/+X1s
bL1a/7xtRBRZGeJFAEQaM8GyIc+zFAP2Rq4bO/gL6ebb9XkxfkNau4eFqlvSIB5EtFM+zhAAWTeA
YhC8SNT7dHZ59U9mMPcbp5dkofwoMZlJP1M3jyIC6SGxMwQseIMMCgEN16cggCFkgIEpwyB4EcB1
huY52zsu+FAM8w98mAFhY3hZYy9RY1C4EYG0JR6O2plyHuwgB1Merk9BAI9zhAlyaAIEghcB7Odo
5vMj6wWQuuDBXrmN1B7MoZQjAmlLPBy1M+VpsIMpmPJwfeoB3atL0RaXHq0thdYW3lGp76hOgAjW
F6Av4foUBAiEBhRgx2IQvAiQLYGWLXGULehpIPAqT7SNBz19EIFU/NGxHPgbhTuYgSlHSAgMEAgt
Ljj4gMPz5tgZ8MVL4FWvOOrerC0k46pKGXPX/PqplLVRS78RWzsVkYhMi8mUXHy9Lq+KaRE9A1BL
AwQUAAIACAACAEhDnr7pT4ABAACyDgAANQAcAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9s
aXRlcmFsX2V4cHItZXhwZWN0ZWQudHh0VVQJAAN0rVNSdK1TUnV4CwABBPUBAAAEFAAAAK3UzUrD
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
Mctix3xRseO0F13bETtmSeysjLD9UD3uOlvjPl/1WBurHmvPVU9v9wRlbYuerB2onpOd42UZvTZV
jwKpt02Q+i8QVG2iVA2r3o+venqt8ZK1DVay6lSP8wOonpO2cNs8AMuqB+Yrqh7rRVVPv73oahem
eXz16lSPs9eqZ522uDV4vuqxN1Y99n6rHvsFeun2tujJXqp6fjimsttrF9vbqCR2HVPZ+1xH7HV6
xvZ39IztzZvGdk3XeENv1+nj2tbzvXU2dtbZ86q5+46v7myrajrbPyvau2/+Ou12yJ3td8ht9wWC
ansdcmcPOuR2a53ejdOzloGdOga2Xv6saLfW+3Va7pA75Q6585JnRdttL7q20yF36jvk1l5rvHX6
uPZ3/IuL7saqx91z1bP7jq++NXpyd6B6XqD562ztHyk41p6drlvrZ+pbqb1uHbebPwC3t9fhdLbS
QHfqOujuXvc37XX6m/aq/iZNx2NMaQA4Pl3z/ymKz0mHJSlut6/grNMzdJY1t9o1Z52mjrOkqXM7
urnVLv75/vrd6Ha0SfxULuK/ODnryP9nzf8BUEsDBBQAAgAIAAIASEM9UoYNhQAAAMcAAAAzABwA
ZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X25vZGVzZXRfZXhwci1hY3R1YWwudHh0VVQJAAN0
rVNSdK1TUnV4CwABBPUBAAAEFAAAAHNz9PRR0NAP8vcPUahRANP6zh6ePi6GmtElRaWpGpqxCpl5
yflFRanJJQo5qXnpJRkKGqkVBUBuaoqCkY5CYnJJaWKOgqEmV4BjcDAus/RswfxYfIqAfIgE1Kji
0uTk1OLitNKcnMqAxKJioH2ZxQogV3FxhbgGhyg4+/sG+LiGuHJxAQBQSwMEFAACAAgAAgBIQ/xy
/x/mAAAA5AEAADEAHABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLWRp
ZmYudHh0VVQJAAN0rVNSdK1TUnV4CwABBPUBAAAEFAAAAL1P0WrCQBB8v6/Yx4R4Lim+FmK1pVLB
YEoVisj1stbANZHbPYjQj28S66t968sMww47M1prwLfGhS9inBsx+LgpcEMfL5X80kOoXIlrcmSY
0JlzE0QLsWhPHJwwHgwLticjR5xs855mjSfsPfu6KYlJ9tSevO6ArFA5llZUkiT/GG2sBOOG4CwD
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
uOB/n3o/vednFz4/PRTEeNsA10pzMB6aHgseS92EGK/ToyQNVmlYMaYdxW0cI7NdNtrbMyrr4+PX
buTUGh26rDGGjqWBwKT24qnw5Kjqq6OKjxp9fVTxpDbZrNRnAVqsTeTS7wFdshcKWU2yHUWySo//
Ut5+x2Iao+vcQK0ta2gBWYNUwg5ohB2tEFZzy3J12BVoZbBKF6W/Z0GJSA2l75RVOmBWBaz4FE1q
Lo2d1K68ql1Ye+R17cJJTeIoMxUWFvtOXFpQ3oUUCLVz13jvrCFP74beQHvWBAGdhIssjt+nXOin
imT+ojqO7818uHt6mN57vuc4vwFQSwMEFAACAAgAAgBIQ99W7oz8AQAACggAACcAHABmYXN0L3hw
YXRoL2FtYmlndW91cy1vcGVyYXRvcnMtZGlmZi50eHRVVAkAA3OtU1JzrVNSdXgLAAEE9QEAAAQU
AAAAtVNtb9owEP7Or7j2C+DgurxkWyOC0qmZNLXTEEzr9mkyYLpIASPbqdi/n2MnMRHbhxlNiPie
87357h6MMZCvPC92TJIHqihJn5fkma0eM1Ud74ss35AFyxmVjOT0Fy8UVkwqLJgsciXJlkpFjgeq
fhK6W2UvBS8k5gcmqOJCYnY8sLVimxt1VJ0gCP57QrpWBc1NuiQBPBwOhiMI7JEkHZjfL5cglcj2
L71N9koS/enX6mJlb/CKbblgve7w7m7UHcCpDcu3UaQVHWwwKi9hUqHuuNvC1+PrCgcf7j8+1dYR
1H2B25twALZouK2smigtu7fnhk34vxvaqvXjT8tSomC9PtD9BtxLtjSXpZYLo7QZ2pYRCJpJnSQV
gosIvnyfpz/SxSKCh8+f4NtcDwXS45odVMb3EI6qIO3I/xzEPqGsf8dtwU5T/SvN2DbYTH70xkze
Hs3k9W3g7LH+ORQCdt3QUtxCV204baP25ayNYtfPKqxnI+sy/N2nl3lflnx2mXfsvzyoOqGReqiv
l0V/zbJMJoN3EJhvsyolC5GmDDRMdkivFPoTm9A5l9A5k9DlPEK+jTAcQg0q+YNO2INMO8LQcMce
TUNQgE54gxxr6lejuJGunDh1klPOnBTXHdLuno0p0/m6Tv09/ZPO/D1j39FrUy6cXM9P70PnN1BL
AwQUAAIACAACAEhDyKDngMUBAACMBAAAKwAcAGZhc3QveHBhdGgvYW1iaWd1b3VzLW9wZXJhdG9y
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
LmYbbTMb5iFOI5SKJv6orHL8PelQe6jbDFwm1L+H+A9QSwMEFAACAAgAAgBIQ/VV7Q52AAAAfwAA
ACwAHABmYXN0L3hwYXRoL2VtcHR5LXN0cmluZy1zdWJzdHJpbmctYWN0dWFsLnR4dFVUCQADc61T
UnOtU1J1eAsAAQT1AQAABBQAAAAljDELwjAUBvf8im+0g8UMBenm0ILQQUTB9dW8NoEmkeSl6L+3
4nZw3N04C6aYMJYZWh910+JxIbHdSksh+Rm2tLoNTOSMEAWe5GnRu8RTfGOPXMYsyYV5V4GCAfuX
fMALew5SK9WfzsP92rX/kA0O28ZwrtUXUEsDBBQAAgAIAAIASEONP5QS3wAAAIEBAAAqABwAZmFz
dC94cGF0aC9lbXB0eS1zdHJpbmctc3Vic3RyaW5nLWRpZmYudHh0VVQJAANzrVNSc61TUnV4CwAB
BPUBAAAEFAAAAL2Oy2rDMBBF9/qKWbYosmpKoWTlNnWgtIsSN022Y2scC2TLWKPg/H2VB/2EbmYu
XDjnKqVA/3gXewr6DRl1uav0juoPy7f3Gq0zekOOMJB2ePKRFVNgNVGIjoNuMbCeR+ROUz/ySQWe
7HBQIda3RPNIDZPJeGYhpfwPJzYc0V2MRQEqXzyCPJ+iEPCdUND6Cep4gDx/zp+WsP9KsPKILiKf
G+rwaFMwngIMnqFHbjpY24laP4OCP9XdPeBg4LID0uaeBs4ECFVtV6uyqoRcv7x/bjfl8sogAw+J
aChk4hdQSwMEFAACAAgAAgBIQ1LPUYdpAAAAbQAAAC4AHABmYXN0L3hwYXRoL2VtcHR5LXN0cmlu
Zy1zdWJzdHJpbmctZXhwZWN0ZWQudHh0VVQJAANzrVNSc61TUnV4CwABBPUBAAAEFAAAABXJvQrC
MBQG0D1P8Y06KGQoFNdSZyEKXW/tzQ80SUluin17dTtwnlwFNhfMzUHrXnc3TA8SP+60NpL/sKc9
/LBkrkhZEEneHvdQ2OYPLqhtrlJCcqczKC3guMkBXjlykqtS5jUMozHqC1BLAwQUAAIACAACAEhD
tNMyMs8HAAAJGQAAMgAcAGZhc3QveHBhdGgvZW1wdHktc3RyaW5nLXN1YnN0cmluZy1wcmV0dHkt
ZGlmZi5odG1sVVQJAANzrVNSc61TUnV4CwABBPUBAAAEFAAAAKVZa2/jNhb9nl9BJNjNtogkO45n
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
KoWAbC+QtpMM3frgLlDmD6s0eYdKk2GVumDMpQmpkQpa2gwfA3+fG+258qwbG3InVZ++Q/U/F7Hc
rU/oD4fczRNoBBdz//PdXePp4cmPnbNTW1OohOfVdEIndTyBX7zDGFZHoNzN4/d//+E20nfm8eef
Gg8PUKCRTW2gBEIl+kZmouLAmBRNvnWSfyBSOhdTn6BKmL9w/B9QSwMEFAACAAgAAgBIQ9SwRDaD
AAAAJwEAACgAHABmYXN0L3hwYXRoL2ltcGxpY2l0LW5vZGUtYXJncy1hY3R1YWwudHh0VVQJAANz
rVNSc61TUnV4CwABBPUBAAAEFAAAAAtJLS5RSMsvUkgqTVcwNDIzMLLi4tLXT8ksi84rzU1KLdLQ
VLAFShjHWim4OXr6hAa56ikYKOTlp6RqFGsq5CaWJGekpijoKhRn5JfmpCgkpSoYQvUXlxRl5qXr
5qTmpZdkgI0hw5C8/KLcxJzMqlTd4oLE5FSwMepA56iT6x7yTAAAUEsDBBQAAgAIAAIASEPljsc5
AwEAAK0CAAAmABwAZmFzdC94cGF0aC9pbXBsaWNpdC1ub2RlLWFyZ3MtZGlmZi50eHRVVAkAA3Ot
U1JzrVNSdXgLAAEE9QEAAAQUAAAAtY9BS8NAEIXv+RVza0ucblOhh4IQrRFET421B/GwyU6ThU02
ZGcl+utNg72lggUvM4f3+N57iAji1RpfkRP3kqVI9qnYU/ak+efdeW2U2JIh6UgY+Wk9I5NjbMl5
w04cpGPRNZJLoavG6Fwz1lYRyrZwSF1DOZOac8dBGIb/nSdz9tIMaXEMGF2tIDyeOA7gpcfAwbaQ
+QKi5WqxXAcQoBBKf7zVvsqonc7gppeu39eQ7jabJE1PuuNW1wUaqgsuB9uIqbZtJY3+InSNzGmw
TXrc5Bxv1BGeafRw+/i82yZzWMBx8NTNoJKcl6QAwZXWGwUZQXQCjFf+K+W3TZc1ugzxDVBLAwQU
AAIACAACAEhDK4BK4GAAAACjAAAAKgAcAGZhc3QveHBhdGgvaW1wbGljaXQtbm9kZS1hcmdzLWV4
cGVjdGVkLnR4dFVUCQADc61TUnOtU1J1eAsAAQT1AQAABBQAAAALSS0uUUjLL1JIKk1XMDQyMzCy
4uLS10/JLIvOK81NSi3S0FSwBUoYx1opBIc6O7sGB0Oli0uKMvPSdXNS89JLMsCqMNXk5RflJuZk
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
oUn4PfAuEjiESAFz+hJDhYXre0WlCFMotyGQFCQFyUuoT1A2CoURIlX40LxUiAZyKwHSuI2k8SHo
fH9GX9CHxtXF3RMZdNJJR0TdWrzWBx/9cRRI1Enoq/6ufzhfj8FuML9uSUFGH5cBVj5ffwRr6FtN
VG288eRyNFlaYXADIPvZ+CZvwDcZxtcFo3+akBohrqT19D7wt/nE3BeP+qQhd1D16RtU/20RiXI1
rH+odPl7oaW/+tq7AR9N/7H0ruFOu34EReFHP/9we9t4u390c1/iy7fqNXs3vYTk5otJsZGZVu8X
V27+fk7TfSjwgOkDtHrn4L7zX1rFy3f237totpfY7dQESj6el1booPIHFGNvyN6DSQkt4frh2z9+
dx2qJ/36w/eNl/sAWgpFL1+Jr6EZknEGt0EfqIBVFLo67I2t8Bd5/V21nv3ElP0VqD7/WQn9KzDA
5U9J9/+X3l9C9J0f3TZCx6b/4fl/UEsDBBQAAgAIAAIASEMouVtLZQAAAGYAAAAkABwAZmFzdC94
cGF0aC9uYW4tdG8tYm9vbGVhbi1hY3R1YWwudHh0VVQJAAN0rVNSdK1TUnV4CwABBPUBAAAEFAAA
AAXBuwrCQBAF0H6/4pZJI5s0kXQWCkIIIgq2+xiNsOzAzKzg3+ecB6nhzYLYPhjGo59mvG7BNnxr
YhFKVv5IXH8kpljDCmNE5kKhHpy7nK7L836e4SGkrRgqZ1J0unErGZEw9G4HUEsDBBQAAgAIAAIA
SENGZv7bzgAAAFgBAAAiABwAZmFzdC94cGF0aC9uYW4tdG8tYm9vbGVhbi1kaWZmLnR4dFVUCQAD
dK1TUnStU1J1eAsAAQT1AQAABBQAAAC1jsFOwzAQRO/+ijmCzNYNHEA9BUqQEKhCDaVcnWRLIxlv
Fa9R+vcE6C9wmbmM3hsignuTkD85uXuv3lXb2m25eer1VHe5D51bc2Cf2AV/lKyknJQGTjlocjuf
1I0Hr3sXfSQVakSmeSQeD9wqdzMd1Vhr/9PlW80+/JrKElRcXMH+RFkavE4I7GRAkz9QXN7Mrxd4
f5kg6GMrwzCdDEe0Er940ISVX0EFJ/LMwFC9WS6rujb24fbxebOuFpjj7xOidJxwlvaSQ4eGUZyb
b1BLAwQKAAIAAAACAEhDY0Ghb0gAAABIAAAAJgAcAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4t
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
sKb6uL0Z3lo/xmnU2Ufv3r69BhyJ0zDcR/++xNx/J2+KzKvrdz//9tMf1/+5PFfdL0zGE1jjd9iB
IClAUBCGoc5hR38/BYXrd7+CCYe3a6z4FCYcNpjwm6OHvfHn0aAvH6hiX+bTNHSRTdChid7jgmgM
mV+dUfa727Pl00Zs2ZbDtrb8Lmhovw2H6m/iUCx1gA8wD2z3cCn+06+LAoZ4kpLt4my/zWVwf93F
4nbFaXOt219z5Xd9fnWNTt/+evnm/Pp8C6Qze8jfqBxb6v9k/x9QSwMECgAAAAAAAwBIQwAAAAAA
AAAAAAAAABgAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9VVAkAA3atU1KprVNSdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAAMASEMzAQ2YNgEAACQDAAAwABwAZmFzdC94cGF0aC9weS1kb20teHBh
dGgvYWJicmV2aWF0aW9ucy1hY3R1YWwudHh0VVQJAAN1rVNSda1TUnV4CwABBPUBAAAEFAAAAJ2S
TWsCMRCG7/srBi9+UEwVPFQQVtotCFqF9bbsIWSnGohJSGap+++7a1IUCtJ6ymQm7zPJvNkt8xws
dzzZddEoLIRnGgxDnGp+whjGcne+mJQ3G8V9K4iZEbsCWWUEE0duCV0xK5lHQdLoYhrPxhILkvfl
ag0hnoPj0mMFmXPGzeHDUF5baxxhFVNv2w1kZ4G2I8JLbMiMkp6YJDyFzDhgx49ig3r8uJKliuvD
o/rLfFNqLC56X9xpqQ+9EqQWxrl2mKBQH+gIAzzbdtvyp0/ABdVcwfPwDqJ14x5lcku5Gj0rf4FC
jx+PSZLCRX+lyZmqvpjd//t1b/9EQEU8nqwyDWKRtj/IIXHXANcVpNz71m6u6Z+v8bUQ6P1nrVSz
464zRnogV2OS7LN8D6/bzW6d7bMk+QZQSwMEFAACAAgAAwBIQ901IMuhAQAAoQQAAC4AHABmYXN0
L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZpYXRpb25zLWRpZmYudHh0VVQJAAN1rVNSda1TUnV4
CwABBPUBAAAEFAAAAL1SUWvbMBB+9684+tJtrqy1UOgKBXerB2XtGuawPoQ8XOxrIlAkIZ22+N/X
ieWtsC10HezF5k533/fd3SeEAPnV6rimIK+QUVb3tbynxSfF6fc+Kt3KL6QJA0mNnY0smAILTyFq
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
7YUCjmzT9U/vnNkyxJm+WR7bFX9L53msRNQf7KPTwa6Q94FlITdDGZU8cpCf7IPvZAc+71kH9unT
Brb363lkb+jDJ4buPQ3ss6eG7b+iKJ0/DfiXTwteOcvHV+rEe/ndLzmT5/eIp1DWmo9PTyPT6HeV
CaqYPz7vnT6I97zH573fUujhw4T2nq3AZw8U2Cac5yr2yweJvStV6UEkDRnncEZxKE7ncuH8GS8z
c/U7OHbMYdLp/eX318HoKXSgUtsuNfR3quF5lLr7HG77u063Wp/DT7+CAZ9TrTnoPS3RFtcCkkiK
L49+SCVnUW7uY/74HDvoPSgEtwv97UnoWUTfYJ/riUF/v9sao8rnHWmDp400nGSUrTD++ErgkGOJ
+MpBaeS8gulwVEepfAbxNnhQvO0j+v8J5w32uT4Z7Lo+EXkYYiHinNLVe/XLwJFDhCN5jh/3smew
z03HYNtB53Hh7HN7MdhyBPkwu/3gXP307v3b2YfZt/hP46H/p+XCN7+r/T9QSwMEFAACAAgAAwBI
Q2qAJe4xAQAAbAQAACcAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9heGVzLWFjdHVhbC50eHRV
VAkAA3WtU1J1rVNSdXgLAAEE9QEAAAQUAAAArZNba8IwFMff+ykOPm1SL1W2B2EwkQoDxwr2bfgQ
k6MGsqQkJ8x9+6XTtvpUsXvJuSW//HM5y/nbCkaj/uerFC+9SW8z4gepxGzWB6m5sRY5gUK9pwM8
4LEIIQqYxsA4eaZg/BgtrxHDElIwi5paKEkbhWmOjoxt4UzaODujlPmWej9wcquC7SqsCOtQ/COw
VtgCerpZWVcQI7Jy6wm7Hs2h2t3PSAJBoOOoBdM0MHZwA29668e6h5eHlUAHVg4IFSmGRmUM9XPG
UD9IYGgB5W7AjuggtAhJkkb/cYTh/iu0TJTN12vQRuDCeE0gHSTPp+T4ZJKzGTZO5U7Opo4vSsO6
eFG+yk4rt3GqmedMEzdg53m4AbfzSv1kzLpwXUEzWY9RlKfrHBYf79kqzdMo+gVQSwMEFAACAAgA
AwBIQ7F8UUOAAQAALgYAACUAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9heGVzLWRpZmYudHh0
VVQJAAN1rVNSda1TUnV4CwABBPUBAAAEFAAAALWUy27CMBBF93zFiFVLYkzoY4FUKfQlVe2iKlVZ
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
vboAtANBFMqo7kYVlLYN0iYIwXWhMtiYNz545eVWaLp3PbCqch5pHndC8MbYKgi6ing3tuZR7Zc+
6n3CUP0dvibh9l2oKBR3Msz4fOHMmrTZx9R7Gk+5zlzT7nJ+GXQxLbX7n39eLuuz2P5agkfv6fnk
Gf+P8n8h+ufAF2LPrnUcGHwDUEsDBBQAAgAIAAIASENzNMfm9AAAANcCAAAmABwAZmFzdC94cGF0
aC91bmlvbi1jb250ZXh0LW5vZGUtZGlmZi50eHRVVAkAA3StU1J1rVNSdXgLAAEE9QEAAAQUAAAA
xc/BSsNAEAbg+z7FUg9V18kiKEhAiEkjiF5s0B7Ew5hMbGCzG7KzmEIfXmwqqKD0oHj6+YeB+QYA
pL53JrTk9QwZdb4o9IKerhveRhoaU+k5GUJP2uDKBQYmz9CTD4a9rtGzHjrkpQ62cRZKZ5kGBusq
Aho6KpmqiAcWSqm/voclBzSba0ki4eT06PhMqjGSRMjiLsvyohBSyNtA/UpOameMe2nscxwPS25N
fPhgXIkGLLa0f3A+9R3a6eNE1r1r5VvZSwXMN5p47NkYM6E+j4XMt+9/XYR3h7q8uLr5oInWv+BJ
f2Sl3+nSXZE7EtfRvyDFK1BLAwQUAAIACAACAEhDE3rn/Q8BAAAkBQAAKgAcAGZhc3QveHBhdGgv
dW5pb24tY29udGV4dC1ub2RlLWV4cGVjdGVkLnR4dFVUCQADdK1TUnStU1J1eAsAAQT1AQAABBQA
AAC1U0FugzAQvPsVK+eQpFJtVT1hAVIgeUCLeqp6QOAEJGMjcGIq5fEFkqCWojRJiS/eHe3OzK5l
eNny4jOVG0gl6ITDWgmhTA0QQhCy43QHVSZk6eBE65xRaowh5pmoYkOfLMuiVaIzgSGNHax5qbGL
oD52mYeyBRdH5CfqYdemTXYs/x53Rf5g63K41aa1VxehdiDAoYxqN6pgrDXImiIM60Jl0IQTD73y
cis0O6QLtKpyHmked0Dw5vurIOgYyf5azhPapz7hfYUh/j25p8LDu1BRKB5lmPHZ3Jk2bdOPsfd0
vcp95hp3l7PLROfjqnb/8+bl+odr2Zfs8N8P+n9R77y294eFCw2cXfWtFtAXUEsDBBQAAgAIAAMA
SEOL2f9OaggAADIrAAAuABwAZmFzdC94cGF0aC91bmlvbi1jb250ZXh0LW5vZGUtcHJldHR5LWRp
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
ACUAHABmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQJAAN1rVNSda1TUnV4
CwABBPUBAAAEFAAAAK1OMQ7CQAzb+4p8oGRguxkm2EB0TttUnJS7VLmc1P6eg36BxbJsy/akaY1C
HjUDm6kFWKLwDwIivlRq4oIXcsLr8MCBx1t0vNOu1Z9cvOBCxXErgsZFq00tvr2tn3U6NRUkZoYz
sHDi7BDTquZdc8JBIUDNNLZRVxCl+U/j/VHP8/dF9wFQSwMEFAACAAgAAwBIQ4kfIf6XAAAAwAMA
ACcAHABmYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAA3WtU1J1rVNS
dXgLAAEE9QEAAAQUAAAA7Y8xDsIwDEX3nsIXKB7YMsMEG4jObuqKSE5cJY5Ubk+gR2BDXSzb3/76
z2tcgpAFTcA5a3YwB+FvcYj4UKmRC57ICM/DDQceL8HwSi+tdudiBWcqhmsRzFy0Zt/O22T9SFMf
4qLZ+prDoe1AQmI4AgtHTgab2jXFbS04qInGFsAURGn6NUjSUv3zY9L+RDq/8+68f8T7BlBLAwQU
AAIACAADAEhDgUp3rUsAAACsAAAANAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdt
ZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA3atU1J2rVNSdXgLAAEE9QEAAAQUAAAAtcyxDYAwDETR
PlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1KlG1ty51DXV8TAYdHF
vo7iVW375foAUEsDBBQAAgAIABwASEO//GLXWAIAAMYIAAARABwAZnVsbF9yZXN1bHRzLmpzb25V
VAkAA6etU1KprVNSdXgLAAEE9QEAAAQUAAAApVZNb9swDP0vOm1A1LRYhm3ZqVhyWg/Fkq29GbRF
J0JsSZCoNkGR/z7STlrsVmWnSDHf44cfSd8uFtWv5er33Xr14UURJkpq/qKsSwEb8lEuDunZx51O
BJSTdt7pLVG42lLfyXPciy0aNVf3t6uVmihoKAM/U+vl41odJ2xC6JL1Lo2A801DNpbSu6kmagup
SmQwcmgUMx6ZvWEm36EQnI56H4C2749QWFpIJMYDVA7hoI3v9dudf1NJ1lDXEZ8skKRaAgwRjW2A
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
em12kmoX2Q3saXuwocxDOHIhK4iIxjHpiBSzFh2NvCTSv0vggPynbrLvsA21+70baG1pGicy4REa
L7qB2YZ+/dENtFGbdOzFWPo9yXqEc8Zt9TOweV4stQx83CZw9UMN5yvs4TstBYaTljEj3A3Oi7Zx
dlQJDC/bBjoedgN02jZQpxucsx9k5Uf9toG+/S1hcuExpk+6QT1oG/XTU8yZZE9P3eAd/ih0GLUN
9J+pHHQDdtw6d4OuCNu6YiHV3g3W1lWrI662LloIUbcbqK3LFnrXZXqdte/Z9NMhCYj6ft8J6HHr
SoY6dPG4dQV7u+oKatvi1Q3KVpVr7zO23oMNu9mDjdsSss9wbd7adwN00tkL+1hBF4g9dwP8oosv
OPqnPOpTQzeg2xC4JZZkxfjWZlH6TTP7YOxRTroRu3EbYuel359uDoE/B/dztlafl8lmSWL1/q4b
g9qQw/dBoL+CI5dFxP4hf/kxOUZiL4//6cT3GF05pD9vuurpfyD5X1BLAwQKAAIAAAAZAEhDJpCk
4jQAAAA0AAAAMQAcAGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLXN0ZGVy
ci50eHRVVAkAA6KtU1KirVNSdXgLAAEE9QEAAAQUAAAARkFJTDogVGltZWQgb3V0IHdhaXRpbmcg
Zm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkClBLAwQUAAIACAAIAEhDfuETr1QAAABqAAAALAAc
AGluc3BlY3Rvci9uZXR3b3JrLXN0YXR1cy1ub24taHR0cC1hY3R1YWwudHh0VVQJAAN/rVNSf61T
UnV4CwABBPUBAAAEFAAAADXKTQqAIBBA4b2nkPb2t/Q2g00wJqPoUEF090zqbb93KV0btdXdAgIW
UgrkQCjy4GGH4jIlqdq+6f0Y5Yh5M4JFel9+m5tFNnhSEWQxKwX8hlupB1BLAwQUAAIACAAIAEhD
sQiRqdsAAADkAQAAKgAcAGluc3BlY3Rvci9uZXR3b3JrLXN0YXR1cy1ub24taHR0cC1kaWZmLnR4
dFVUCQADf61TUn+tU1J1eAsAAQT1AQAABBQAAAC9jrFOxDAMhvc8hdUJVHzhGBg6VehuYuMkbjap
T+QuJFHtQBHi3WlLWRBCTHiwf8mf9P2ICPY+hfLEYjekZLf7nd3zw63X5dwUHzp7x4FJ2AZ6TUVR
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
FAAAAFBLAQIeAwoAAAAAAAMASEMAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQbtSAABmYXN0L1VU
BQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAMASEMAAAAAAAAAAAAAAAALABgAAAAA
AAAAEADtQfpSAABmYXN0L3hwYXRoL1VUBQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AAIASEMAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQT9TAABmYXN0L3hwYXRoLzRYUGF0aC9VVAUA
A3OtU1J1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAADAEhDAAAAAAAAAAAAAAAAFwAYAAAAAAAA
ABAA7UGLUwAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS9VVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAACAEhDLgIssLwBAABUEwAAMwAYAAAAAAABAAAApIHcUwAAZmFzdC94cGF0aC80
WFBhdGgvQ29yZS90ZXN0X2Jvb2xlYW5fZXhwci1hY3R1YWwudHh0VVQFAANzrVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAgBIQ+3SeI+3AQAAyAwAADEAGAAAAAAAAQAAAKSBBVYAAGZhc3Qv
eHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9ib29sZWFuX2V4cHItZGlmZi50eHRVVAUAA3OtU1J1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDztBh54cBAADBEgAANQAYAAAAAAABAAAApIEnWAAA
ZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X2Jvb2xlYW5fZXhwci1leHBlY3RlZC50eHRVVAUA
A3OtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDynGtjHEJAAB4OAAAOQAYAAAAAAAB
AAAApIEdWgAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X2Jvb2xlYW5fZXhwci1wcmV0dHkt
ZGlmZi5odG1sVVQFAANzrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQ5uKaCP5AwAA
ViEAADUAGAAAAAAAAQAAAKSBAWQAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9jb3JlX2Z1
bmN0aW9ucy1hY3R1YWwudHh0VVQFAANzrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBI
Q/ahfQIkBAAA5CQAADMAGAAAAAAAAQAAAKSBaWgAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVz
dF9jb3JlX2Z1bmN0aW9ucy1kaWZmLnR4dFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAIASEPeyw31dwMAAL8dAAA3ABgAAAAAAAEAAACkgfpsAABmYXN0L3hwYXRoLzRYUGF0aC9D
b3JlL3Rlc3RfY29yZV9mdW5jdGlvbnMtZXhwZWN0ZWQudHh0VVQFAANzrVNSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAAgBIQ1/Q8IAuDQAAXn0AADsAGAAAAAAAAQAAAKSB4nAAAGZhc3QveHBh
dGgvNFhQYXRoL0NvcmUvdGVzdF9jb3JlX2Z1bmN0aW9ucy1wcmV0dHktZGlmZi5odG1sVVQFAAN0
rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQ4fhnwLPAQAAyQ8AADMAGAAAAAAAAQAA
AKSBhX4AAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9saXRlcmFsX2V4cHItYWN0dWFsLnR4
dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEMmx6k0MAIAAHYQAAAxABgA
AAAAAAEAAACkgcGAAABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3RfbGl0ZXJhbF9leHByLWRp
ZmYudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQ56+6U+AAQAAsg4A
ADUAGAAAAAAAAQAAAKSBXIMAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9saXRlcmFsX2V4
cHItZXhwZWN0ZWQudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQzpm
2xBsCgAAu0YAADkAGAAAAAAAAQAAAKSBS4UAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9s
aXRlcmFsX2V4cHItcHJldHR5LWRpZmYuaHRtbFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAIASEM9UoYNhQAAAMcAAAAzABgAAAAAAAEAAACkgSqQAABmYXN0L3hwYXRoLzRYUGF0
aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLWFjdHVhbC50eHRVVAUAA3StU1J1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAACAEhD/HL/H+YAAADkAQAAMQAYAAAAAAABAAAApIEckQAAZmFzdC94cGF0
aC80WFBhdGgvQ29yZS90ZXN0X25vZGVzZXRfZXhwci1kaWZmLnR4dFVUBQADdK1TUnV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAIASEO4qO9tWwAAAJ8AAAA1ABgAAAAAAAEAAACkgW2SAABmYXN0
L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLWV4cGVjdGVkLnR4dFVUBQADdK1T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEO/eSGG7gcAAOUZAAA5ABgAAAAAAAEAAACk
gTeTAABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLXByZXR0eS1kaWZm
Lmh0bWxVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDYydSTQAFAADaXwAA
MwAYAAAAAAABAAAApIGYmwAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X251bWVyaWNfZXhw
ci1hY3R1YWwudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQxejTmEs
CAAAvZsAADEAGAAAAAAAAQAAAKSBBaEAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9udW1l
cmljX2V4cHItZGlmZi50eHRVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhD
UqIYnx4EAABDQwAANQAYAAAAAAABAAAApIGcqQAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0
X251bWVyaWNfZXhwci1leHBlY3RlZC50eHRVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAADAEhDUL1Ee+IVAABVxQEAOQAYAAAAAAABAAAApIEprgAAZmFzdC94cGF0aC80WFBhdGgv
Q29yZS90ZXN0X251bWVyaWNfZXhwci1wcmV0dHktZGlmZi5odG1sVVQFAAN1rVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAwBIQ8pV+b5sAgAAXgoAAC0AGAAAAAAAAQAAAKSBfsQAAGZhc3Qv
eHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9wYXJzZXItYWN0dWFsLnR4dFVUBQADda1TUnV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAMASEMJf3ssjAIAAKcNAAArABgAAAAAAAEAAACkgVHHAABmYXN0
L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3RfcGFyc2VyLWRpZmYudHh0VVQFAAN1rVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAwBIQ5HYkGgIAgAAcQgAAC8AGAAAAAAAAQAAAKSBQsoAAGZhc3Qv
eHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9wYXJzZXItZXhwZWN0ZWQudHh0VVQFAAN1rVNSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ2yHQnObCgAAXkEAADMAGAAAAAAAAQAAAKSBs8wAAGZh
c3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9wYXJzZXItcHJldHR5LWRpZmYuaHRtbFVUBQADda1T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEMrIilFKgIAANYHAAApABgAAAAAAAEAAACk
gbvXAABmYXN0L3hwYXRoL2FtYmlndW91cy1vcGVyYXRvcnMtYWN0dWFsLnR4dFVUBQADc61TUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEPfVu6M/AEAAAoIAAAnABgAAAAAAAEAAACkgUja
AABmYXN0L3hwYXRoL2FtYmlndW91cy1vcGVyYXRvcnMtZGlmZi50eHRVVAUAA3OtU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAACAEhDyKDngMUBAACMBAAAKwAYAAAAAAABAAAApIGl3AAAZmFz
dC94cGF0aC9hbWJpZ3VvdXMtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dFVUBQADc61TUnV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAIASEMOEB9TggoAADFLAAAvABgAAAAAAAEAAACkgc/eAABmYXN0
L3hwYXRoL2FtYmlndW91cy1vcGVyYXRvcnMtcHJldHR5LWRpZmYuaHRtbFVUBQADc61TUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEOpfUFilAAAAAoBAAAuABgAAAAAAAEAAACkgbrpAABm
YXN0L3hwYXRoL2F0dHJpYnV0ZS1ub2RlLXByZWRpY2F0ZS1hY3R1YWwudHh0VVQFAANzrVNSdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQybeSDACAQAAVQIAACwAGAAAAAAAAQAAAKSBtuoA
AGZhc3QveHBhdGgvYXR0cmlidXRlLW5vZGUtcHJlZGljYXRlLWRpZmYudHh0VVQFAANzrVNSdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQyrjwMllAAAAugAAADAAGAAAAAAAAQAAAKSBHuwA
AGZhc3QveHBhdGgvYXR0cmlidXRlLW5vZGUtcHJlZGljYXRlLWV4cGVjdGVkLnR4dFVUBQADc61T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASENic9h9MggAAMUdAAA0ABgAAAAAAAEAAACk
ge3sAABmYXN0L3hwYXRoL2F0dHJpYnV0ZS1ub2RlLXByZWRpY2F0ZS1wcmV0dHktZGlmZi5odG1s
VVQFAANzrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQ6QCOjGSAQAAkQUAACQAGAAA
AAAAAQAAAKSBjfUAAGZhc3QveHBhdGgvZG9jdW1lbnQtb3JkZXItYWN0dWFsLnR4dFVUBQADc61T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEMt8LbVeQEAAPoDAAAiABgAAAAAAAEAAACk
gX33AABmYXN0L3hwYXRoL2RvY3VtZW50LW9yZGVyLWRpZmYudHh0VVQFAANzrVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAgBIQ7pIQCNnAQAAQQUAACYAGAAAAAAAAQAAAKSBUvkAAGZhc3Qv
eHBhdGgvZG9jdW1lbnQtb3JkZXItZXhwZWN0ZWQudHh0VVQFAANzrVNSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAAgBIQ7ZCdzazCAAAFyEAACoAGAAAAAAAAQAAAKSBGfsAAGZhc3QveHBhdGgv
ZG9jdW1lbnQtb3JkZXItcHJldHR5LWRpZmYuaHRtbFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAIASEP1Ve0OdgAAAH8AAAAsABgAAAAAAAEAAACkgTAEAQBmYXN0L3hwYXRoL2Vt
cHR5LXN0cmluZy1zdWJzdHJpbmctYWN0dWFsLnR4dFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAIASEONP5QS3wAAAIEBAAAqABgAAAAAAAEAAACkgQwFAQBmYXN0L3hwYXRoL2Vt
cHR5LXN0cmluZy1zdWJzdHJpbmctZGlmZi50eHRVVAUAA3OtU1J1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAACAEhDUs9Rh2kAAABtAAAALgAYAAAAAAABAAAApIFPBgEAZmFzdC94cGF0aC9lbXB0
eS1zdHJpbmctc3Vic3RyaW5nLWV4cGVjdGVkLnR4dFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAIASEO00zIyzwcAAAkZAAAyABgAAAAAAAEAAACkgSAHAQBmYXN0L3hwYXRoL2Vt
cHR5LXN0cmluZy1zdWJzdHJpbmctcHJldHR5LWRpZmYuaHRtbFVUBQADc61TUnV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAIASEOHLo5jagAAAG4AAAAdABgAAAAAAAEAAACkgVsPAQBmYXN0L3hw
YXRoL2lkLXBhdGgtYWN0dWFsLnR4dFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAIASEPYmVLTzwAAAFIBAAAbABgAAAAAAAEAAACkgRwQAQBmYXN0L3hwYXRoL2lkLXBhdGgtZGlm
Zi50eHRVVAUAA3OtU1J1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAACAEhDkevCfVAAAABQAAAA
HwAYAAAAAAABAAAApIFAEQEAZmFzdC94cGF0aC9pZC1wYXRoLWV4cGVjdGVkLnR4dFVUBQADc61T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEONs2dCwgcAAOkYAAAjABgAAAAAAAEAAACk
gekRAQBmYXN0L3hwYXRoL2lkLXBhdGgtcHJldHR5LWRpZmYuaHRtbFVUBQADc61TUnV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAIASEPUsEQ2gwAAACcBAAAoABgAAAAAAAEAAACkgQgaAQBmYXN0
L3hwYXRoL2ltcGxpY2l0LW5vZGUtYXJncy1hY3R1YWwudHh0VVQFAANzrVNSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAAgBIQ+WOxzkDAQAArQIAACYAGAAAAAAAAQAAAKSB7RoBAGZhc3QveHBh
dGgvaW1wbGljaXQtbm9kZS1hcmdzLWRpZmYudHh0VVQFAANzrVNSdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAAgBIQyuASuBgAAAAowAAACoAGAAAAAAAAQAAAKSBUBwBAGZhc3QveHBhdGgvaW1w
bGljaXQtbm9kZS1hcmdzLWV4cGVjdGVkLnR4dFVUBQADc61TUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAIASEPwKEaMDwgAAIAeAAAuABgAAAAAAAEAAACkgRQdAQBmYXN0L3hwYXRoL2ltcGxp
Y2l0LW5vZGUtYXJncy1wcmV0dHktZGlmZi5odG1sVVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAAgBIQyi5W0tlAAAAZgAAACQAGAAAAAAAAQAAAKSBiyUBAGZhc3QveHBhdGgvbmFu
LXRvLWJvb2xlYW4tYWN0dWFsLnR4dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAIASENGZv7bzgAAAFgBAAAiABgAAAAAAAEAAACkgU4mAQBmYXN0L3hwYXRoL25hbi10by1ib29s
ZWFuLWRpZmYudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAAgBIQ2NBoW9I
AAAASAAAACYAGAAAAAAAAQAAAKSBeCcBAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tZXhwZWN0
ZWQudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQybMYgC+BwAA6BgA
ACoAGAAAAAAAAQAAAKSBICgBAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tcHJldHR5LWRpZmYu
aHRtbFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEMX9AqpwwAAAOECAAAw
ABgAAAAAAAEAAACkgUIwAQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNlbnNpdGl2aXR5LWFj
dHVhbC50eHRVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDlB4ZWQIBAABo
AwAALgAYAAAAAAABAAAApIFvMQEAZmFzdC94cGF0aC9ub2RlLW5hbWUtY2FzZS1zZW5zaXRpdml0
eS1kaWZmLnR4dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASENcwehNrAAA
AKUCAAAyABgAAAAAAAEAAACkgdkyAQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNlbnNpdGl2
aXR5LWV4cGVjdGVkLnR4dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEOM
SdjYfAgAAAEoAAA2ABgAAAAAAAEAAACkgfEzAQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNl
bnNpdGl2aXR5LXByZXR0eS1kaWZmLmh0bWxVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAACAEhDsKg9h1oBAADEAwAAHgAYAAAAAAABAAAApIHdPAEAZmFzdC94cGF0aC9wb3NpdGlv
bi1hY3R1YWwudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBIQ9+k+oba
AQAA5wUAABwAGAAAAAAAAQAAAKSBjz4BAGZhc3QveHBhdGgvcG9zaXRpb24tZGlmZi50eHRVVAUA
A3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhD8QDVSCIBAAAMAwAAIAAYAAAAAAAB
AAAApIG/QAEAZmFzdC94cGF0aC9wb3NpdGlvbi1leHBlY3RlZC50eHRVVAUAA3StU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAACAEhDbE7Zn4gJAACbLQAAJAAYAAAAAAABAAAApIE7QgEAZmFz
dC94cGF0aC9wb3NpdGlvbi1wcmV0dHktZGlmZi5odG1sVVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAAwBIQwAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BIUwBAGZhc3QveHBhdGgv
cHktZG9tLXhwYXRoL1VUBQADdq1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEMzAQ2Y
NgEAACQDAAAwABgAAAAAAAEAAACkgXNMAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZp
YXRpb25zLWFjdHVhbC50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAADAEhD
3TUgy6EBAAChBAAALgAYAAAAAAABAAAApIETTgEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvYWJi
cmV2aWF0aW9ucy1kaWZmLnR4dFVUBQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMA
SEMpRHBB3gAAALwBAAAyABgAAAAAAAEAAACkgRxQAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9h
YmJyZXZpYXRpb25zLWV4cGVjdGVkLnR4dFVUBQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAMASEMZTnq4PAkAALMtAAA2ABgAAAAAAAEAAACkgWZRAQBmYXN0L3hwYXRoL3B5LWRvbS14
cGF0aC9hYmJyZXZpYXRpb25zLXByZXR0eS1kaWZmLmh0bWxVVAUAA3WtU1J1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAADAEhDaoAl7jEBAABsBAAAJwAYAAAAAAABAAAApIESWwEAZmFzdC94cGF0
aC9weS1kb20teHBhdGgvYXhlcy1hY3R1YWwudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAAwBIQ7F8UUOAAQAALgYAACUAGAAAAAAAAQAAAKSBpFwBAGZhc3QveHBhdGgvcHkt
ZG9tLXhwYXRoL2F4ZXMtZGlmZi50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAADAEhDCEgsuP8AAAC0AgAAKQAYAAAAAAABAAAApIGDXgEAZmFzdC94cGF0aC9weS1kb20teHBh
dGgvYXhlcy1leHBlY3RlZC50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAD
AEhD8GMVKOsIAADzLAAALQAYAAAAAAABAAAApIHlXwEAZmFzdC94cGF0aC9weS1kb20teHBhdGgv
YXhlcy1wcmV0dHktZGlmZi5odG1sVVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
AwBIQ3OHlR1OAgAArhMAAC4AGAAAAAAAAQAAAKSBN2kBAGZhc3QveHBhdGgvcHktZG9tLXhwYXRo
L2V4cHJlc3Npb25zLWFjdHVhbC50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAADAEhDihmaN1YDAABNGQAALAAYAAAAAAABAAAApIHtawEAZmFzdC94cGF0aC9weS1kb20teHBh
dGgvZXhwcmVzc2lvbnMtZGlmZi50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAADAEhDCG44WQUCAAD2CgAAMAAYAAAAAAABAAAApIGpbwEAZmFzdC94cGF0aC9weS1kb20teHBh
dGgvZXhwcmVzc2lvbnMtZXhwZWN0ZWQudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAAwBIQyMafNVlDAAAiXsAADQAGAAAAAAAAQAAAKSBGHIBAGZhc3QveHBhdGgvcHktZG9t
LXhwYXRoL2V4cHJlc3Npb25zLXByZXR0eS1kaWZmLmh0bWxVVAUAA3WtU1J1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAADAEhDYLC30MIDAABnDwAALAAYAAAAAAABAAAApIHrfgEAZmFzdC94cGF0
aC9weS1kb20teHBhdGgvZnVuY3Rpb25zLWFjdHVhbC50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAADAEhDu6ZKPdoEAAC0FAAAKgAYAAAAAAABAAAApIETgwEAZmFzdC94cGF0
aC9weS1kb20teHBhdGgvZnVuY3Rpb25zLWRpZmYudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAAwBIQ4x11KrnAgAAZAkAAC4AGAAAAAAAAQAAAKSBUYgBAGZhc3QveHBhdGgv
cHktZG9tLXhwYXRoL2Z1bmN0aW9ucy1leHBlY3RlZC50eHRVVAUAA3WtU1J1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAADAEhD+B/GTtkOAAD2iwAAMgAYAAAAAAABAAAApIGgiwEAZmFzdC94cGF0
aC9weS1kb20teHBhdGgvZnVuY3Rpb25zLXByZXR0eS1kaWZmLmh0bWxVVAUAA3atU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAADAEhDaAsL+rUBAADUBQAAKAAYAAAAAAABAAAApIHlmgEAZmFz
dC94cGF0aC9weS1kb20teHBhdGgvcGF0aHMtYWN0dWFsLnR4dFVUBQADdq1TUnV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAMASEOpxlnSMgIAACwIAAAmABgAAAAAAAEAAACkgfycAQBmYXN0L3hw
YXRoL3B5LWRvbS14cGF0aC9wYXRocy1kaWZmLnR4dFVUBQADdq1TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAMASENVxHlmRQEAAC4EAAAqABgAAAAAAAEAAACkgY6fAQBmYXN0L3hwYXRoL3B5
LWRvbS14cGF0aC9wYXRocy1leHBlY3RlZC50eHRVVAUAA3atU1J1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAADAEhDw5X64BcKAAC5OAAALgAYAAAAAAABAAAApIE3oQEAZmFzdC94cGF0aC9weS1k
b20teHBhdGgvcGF0aHMtcHJldHR5LWRpZmYuaHRtbFVUBQADdq1TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAMASEPdPYpyEgEAAFIDAAAtABgAAAAAAAEAAACkgbarAQBmYXN0L3hwYXRoL3B5
LWRvbS14cGF0aC9wcmVkaWNhdGVzLWFjdHVhbC50eHRVVAUAA3atU1J1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAADAEhDYtvvO5UBAAC+BQAAKwAYAAAAAAABAAAApIEvrQEAZmFzdC94cGF0aC9w
eS1kb20teHBhdGgvcHJlZGljYXRlcy1kaWZmLnR4dFVUBQADdq1TUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAMASEOPhSIK4QAAABICAAAvABgAAAAAAAEAAACkgSmvAQBmYXN0L3hwYXRoL3B5
LWRvbS14cGF0aC9wcmVkaWNhdGVzLWV4cGVjdGVkLnR4dFVUBQADdq1TUnV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAAMASEO/c4ZiDQkAAJosAAAzABgAAAAAAAEAAACkgXOwAQBmYXN0L3hwYXRo
L3B5LWRvbS14cGF0aC9wcmVkaWNhdGVzLXByZXR0eS1kaWZmLmh0bWxVVAUAA3atU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAACAEhDakGBugQBAADXAgAALAAYAAAAAAABAAAApIHtuQEAZmFz
dC94cGF0aC9zdWJzdHJpbmctbmFuLXBvc2l0aW9uLWFjdHVhbC50eHRVVAUAA3StU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAACAEhDYEg/kGkBAABQBQAAKgAYAAAAAAABAAAApIFXuwEAZmFz
dC94cGF0aC9zdWJzdHJpbmctbmFuLXBvc2l0aW9uLWRpZmYudHh0VVQFAAN0rVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAgBIQ6Us9tDpAAAApwIAAC4AGAAAAAAAAQAAAKSBJL0BAGZhc3Qv
eHBhdGgvc3Vic3RyaW5nLW5hbi1wb3NpdGlvbi1leHBlY3RlZC50eHRVVAUAA3StU1J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAACAEhD9UjVZ6gIAABCIgAAMgAYAAAAAAABAAAApIF1vgEAZmFz
dC94cGF0aC9zdWJzdHJpbmctbmFuLXBvc2l0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAUAA3StU1J1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDnVuq9PoAAACaAgAANAAYAAAAAAABAAAApIGJ
xwEAZmFzdC94cGF0aC9zdWJzdHJpbmctbm9uLXBvc2l0aXZlLXBvc3Rpb24tYWN0dWFsLnR4dFVU
BQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASENUkyN4ZQEAAJgEAAAyABgAAAAA
AAEAAACkgfHIAQBmYXN0L3hwYXRoL3N1YnN0cmluZy1ub24tcG9zaXRpdmUtcG9zdGlvbi1kaWZm
LnR4dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAIASEMA2zCf5QAAAIICAAA2
ABgAAAAAAAEAAACkgcLKAQBmYXN0L3hwYXRoL3N1YnN0cmluZy1ub24tcG9zaXRpdmUtcG9zdGlv
bi1leHBlY3RlZC50eHRVVAUAA3StU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACAEhDruwW
OsMIAAAgIgAAOgAYAAAAAAABAAAApIEXzAEAZmFzdC94cGF0aC9zdWJzdHJpbmctbm9uLXBvc2l0
aXZlLXBvc3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAIASEND0nW4FAEAAAYFAAAoABgAAAAAAAEAAACkgU7VAQBmYXN0L3hwYXRoL3VuaW9u
LWNvbnRleHQtbm9kZS1hY3R1YWwudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAAgBIQ3M0x+b0AAAA1wIAACYAGAAAAAAAAQAAAKSBxNYBAGZhc3QveHBhdGgvdW5pb24tY29u
dGV4dC1ub2RlLWRpZmYudHh0VVQFAAN0rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAgBI
QxN65/0PAQAAJAUAACoAGAAAAAAAAQAAAKSBGNgBAGZhc3QveHBhdGgvdW5pb24tY29udGV4dC1u
b2RlLWV4cGVjdGVkLnR4dFVUBQADdK1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEOL
2f9OaggAADIrAAAuABgAAAAAAAEAAACkgYvZAQBmYXN0L3hwYXRoL3VuaW9uLWNvbnRleHQtbm9k
ZS1wcmV0dHktZGlmZi5odG1sVVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBI
Qya6nm7CAAAA4wAAADIAGAAAAAAAAQAAAKSBXeIBAGZhc3QveHBhdGgveHBhdGgtZGV0YWNoZWQt
aW1wb3J0LWFzc2VydC1hY3R1YWwudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAAwBIQ6KvRa3/AAAAywEAADAAGAAAAAAAAQAAAKSBi+MBAGZhc3QveHBhdGgveHBhdGgtZGV0
YWNoZWQtaW1wb3J0LWFzc2VydC1kaWZmLnR4dFVUBQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAMASEPQKkn3sQAAANQAAAA0ABgAAAAAAAEAAACkgfTkAQBmYXN0L3hwYXRoL3hwYXRo
LWRldGFjaGVkLWltcG9ydC1hc3NlcnQtZXhwZWN0ZWQudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAAwBIQ23coIcvCAAA+RsAADgAGAAAAAAAAQAAAKSBE+YBAGZhc3QveHBh
dGgveHBhdGgtZGV0YWNoZWQtaW1wb3J0LWFzc2VydC1wcmV0dHktZGlmZi5odG1sVVQFAAN1rVNS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ/kkUHIuAQAArwUAACoAGAAAAAAAAQAAAKSB
tO4BAGZhc3QveHBhdGgveHBhdGgtZGV0YWNoZWQtbm9kZXMtYWN0dWFsLnR4dFVUBQADda1TUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEOOg+qgGQEAABoDAAAoABgAAAAAAAEAAACkgUbw
AQBmYXN0L3hwYXRoL3hwYXRoLWRldGFjaGVkLW5vZGVzLWRpZmYudHh0VVQFAAN1rVNSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ6FA4hwaAQAAoAUAACwAGAAAAAAAAQAAAKSBwfEBAGZh
c3QveHBhdGgveHBhdGgtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0VVQFAAN1rVNSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ93yM5FMCAAAWR0AADAAGAAAAAAAAQAAAKSBQfMBAGZh
c3QveHBhdGgveHBhdGgtZGV0YWNoZWQtbm9kZXMtcHJldHR5LWRpZmYuaHRtbFVUBQADda1TUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEMGJq9f4wIAAKULAAArABgAAAAAAAEAAACkgff7
AQBmYXN0L3hwYXRoL3hwYXRoLWZ1bmN0aW9uYWwtdGVzdC1hY3R1YWwudHh0VVQFAAN1rVNSdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ1IySFYxAwAA5wwAACkAGAAAAAAAAQAAAKSBP/8B
AGZhc3QveHBhdGgveHBhdGgtZnVuY3Rpb25hbC10ZXN0LWRpZmYudHh0VVQFAAN1rVNSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQyaTWK7TAgAApQsAAC0AGAAAAAAAAQAAAKSB0wICAGZh
c3QveHBhdGgveHBhdGgtZnVuY3Rpb25hbC10ZXN0LWV4cGVjdGVkLnR4dFVUBQADda1TUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEOMi/6G/AsAAN1bAAAxABgAAAAAAAEAAACkgQ0GAgBm
YXN0L3hwYXRoL3hwYXRoLWZ1bmN0aW9uYWwtdGVzdC1wcmV0dHktZGlmZi5odG1sVVQFAAN1rVNS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAAwBIQwAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1B
dBICAGZhc3QveHNsL1VUBQADdq1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASENy/WXy
hQAAAOkAAAAlABgAAAAAAAEAAACkgbcSAgBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRl
cnIudHh0VVQFAAN1rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAwBIQ4kfIf6XAAAAwAMA
ACcAGAAAAAAAAQAAAKSBmxMCAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4
dFVUBQADda1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAMASEOBSnetSwAAAKwAAAA0ABgA
AAAAAAEAAACkgZMUAgBmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1z
dGRlcnIudHh0VVQFAAN2rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHABIQ7/8YtdYAgAA
xggAABEAGAAAAAAAAQAAAKSBTBUCAGZ1bGxfcmVzdWx0cy5qc29uVVQFAAOnrVNSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAFwBIQwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1B7xcCAGh0dHAv
VVQFAAOerVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAFwBIQwAAAAAAAAAAAAAAAAsAGAAA
AAAAAAAQAO1BLhgCAGh0dHAvdGVzdHMvVVQFAAOerVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAFwBIQwAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BcxgCAGh0dHAvdGVzdHMvbWlzYy9VVAUA
A56tU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAXAEhDFTU1knoAAAC8AAAAKgAYAAAAAAAB
AAAApIG9GAIAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAOe
rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQ79HQ+qKfEJhBQAABQ8AAAoAGAAAAAAAAQAA
AKSBmxkCAGh0dHBkLmNvbmZVVAUAA/2sU1J1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAZAEhD
AAAAAAAAAAAAAAAACgAYAAAAAAAAABAA7UFAHwIAaW5zcGVjdG9yL1VUBQADoq1TUnV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAA4ASEMAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQYQfAgBpbnNw
ZWN0b3IvY29uc29sZS9VVAUAA4ytU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOAEhDDcUa
G4cAAACsAAAAKgAYAAAAAAABAAAApIHQHwIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0
aC1hY3R1YWwudHh0VVQFAAOMrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADgBIQ6QaNRSm
AAAAMgEAACgAGAAAAAAAAQAAAKSBuyACAGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteHBhdGgt
ZGlmZi50eHRVVAUAA4ytU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOAEhDfrBjGokAAACw
AAAALAAYAAAAAAABAAAApIHDIQIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC1leHBl
Y3RlZC50eHRVVAUAA4ytU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOAEhD60ufX8AHAAA1
GwAAMAAYAAAAAAABAAAApIGyIgIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC1wcmV0
dHktZGlmZi5odG1sVVQFAAOMrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAGgBIQwAAAAAA
AAAAAAAAABUAGAAAAAAAAAAQAO1B3CoCAGluc3BlY3Rvci9leHRlbnNpb25zL1VUBQADo61TUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABkASENMEXOwigAAALIAAAAxABgAAAAAAAEAAACkgSsr
AgBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1hY3R1YWwudHh0VVQFAAOi
rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGQBIQyucrpBJAgAAdwUAAC8AGAAAAAAAAQAA
AKSBICwCAGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWRpZmYudHh0VVQF
AAOirVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGQBIQ5Vd1KHDAQAADwQAADMAGAAAAAAA
AQAAAKSB0i4CAGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4cGVjdGVk
LnR4dFVUBQADoq1TUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABoASENenyiCCwoAACg5AAA3
ABgAAAAAAAEAAACkgQIxAgBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1w
cmV0dHktZGlmZi5odG1sVVQFAAOjrVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAGQBIQyaQ
pOI0AAAANAAAADEAGAAAAAAAAQAAAKSBfjsCAGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lv
bnMtYXVkaXRzLXN0ZGVyci50eHRVVAUAA6KtU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAI
AEhDfuETr1QAAABqAAAALAAYAAAAAAABAAAApIEdPAIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVz
LW5vbi1odHRwLWFjdHVhbC50eHRVVAUAA3+tU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAI
AEhDsQiRqdsAAADkAQAAKgAYAAAAAAABAAAApIHXPAIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVz
LW5vbi1odHRwLWRpZmYudHh0VVQFAAN/rVNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACABI
Q3wmr49kAAAAgAAAAC4AGAAAAAAAAQAAAKSBFj4CAGluc3BlY3Rvci9uZXR3b3JrLXN0YXR1cy1u
b24taHR0cC1leHBlY3RlZC50eHRVVAUAA3+tU1J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAI
AEhDTtkAPOMHAADPHAAAMgAYAAAAAAABAAAApIHiPgIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVz
LW5vbi1odHRwLXByZXR0eS1kaWZmLmh0bWxVVAUAA3+tU1J1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAABDv0dDAAAAAAAAAAAAAAAAKwAYAAAAAAAAAAAApIExRwIAcHl3ZWJzb2NrZXQud3MubG9n
LTA3T2N0MjAxMy0yMzU4MDYtZXJyLnR4dFVUBQAD/qxTUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAEO/R0MAAAAAAAAAAAAAAAArABgAAAAAAAAAAACkgZZHAgBweXdlYnNvY2tldC53cy5sb2ct
MDdPY3QyMDEzLTIzNTgwNi1vdXQudHh0VVQFAAP+rFNSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHABIQx2aINziJQAAjKEAAAwAGAAAAAAAAQAAAKSB+0cCAHJlc3VsdHMuaHRtbFVUBQADp61T
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABwASEOnwmLQZskDAJJcFQAKABgAAAAAAAEAAACk
gSNuAgBzdGF0cy5qc29uVVQFAAOnrVNSdXgLAAEE9QEAAAQUAAAAUEsFBgAAAACRAJEAIj8AAM03
BgAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>213671</attachid>
            <date>2013-10-08 00:32:59 -0700</date>
            <delta_ts>2013-10-08 00:32:59 -0700</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-02 for mac-mountainlion</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>428686</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
WFBhdGgvQ29yZS90ZXN0X2xpdGVyYWxfZXhwci1kaWZmLnR4dFVUCQADLLFTUiyxU1J1eAsAAQT1
AQAABFAAAAC9llFv2jAUhd/zK6y+dBM4wY6TiTfaLpuqtV0ErGxPyAR3RXKhiu2J/vvGsKaUKXcP
vtsLfgicL/eeQ04opSS53Wj3oEzyUVqZFLNJMlOLLyv7+zh3K71MxkoraVSi5dPGWWqVsbRWxmlr
kjtpbLJ9lPY+Ed9Lf1xsapX478z1yqpa6rnaPta0+VCVVcvYbm3U6/X+I1pW1km9A49GhLK8z3PS
2x+jUUTKs8mELDdVczdrG6tfUjtp1bvTE5qdnPbbK32ydlr3yY413t1EPJmOL28+z6c/ymJ/+X1s
bL1a/7xtRBRZGeJFAEQaM8GyIc+zFAP2Rq4bO/gL6ebb9XkxfkNau4eFqlvSIB5EtFM+zhAAWTeA
YhC8SNT7dHZ59U9mMPcbp5dkofwoMZlJP1M3jyIC6SGxMwQseIMMCgEN16cggCFkgIEpwyB4EcB1
huY52zsu+FAM8w98mAFhY3hZYy9RY1C4EYG0JR6O2plyHuwgB1Merk9BAI9zhAlyaAIEghcB7Odo
5vMj6wWQuuDBXrmN1B7MoZQjAmlLPBy1M+VpsIMpmPJwfeoB3atL0RaXHq0thdYW3lGp76hOgAjW
F6Av4foUBAiEBhRgx2IQvAiQLYGWLXGULehpIPAqT7SNBz19EIFU/NGxHPgbhTuYgSlHSAgMEAgt
Ljj4gMPz5tgZ8MVL4FWvOOrerC0k46pKGXPX/PqplLVRS78RWzsVkYhMi8mUXHy9Lq+KaRE9A1BL
AwQUAAIACAD8AUhDnr7pT4ABAACyDgAANQAcAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9s
aXRlcmFsX2V4cHItZXhwZWN0ZWQudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAAK3UzUrD
QBSG4X2uYsimCj0hk5kUXLhQCSrYGJooupLYjBpII+RHcOe1eGleiSmFQpH5XMzZtsPzDicnyc7y
XFTv63Fj2iEwH2UzloM5mvn+bL7/fS7asWnm4iErh7eV6cdmCPJidZ1ePhWPWbL7+zjoh65uX+8n
woi6F77vZTb9qmbwJ8ReSMuUIbFV7I2fr29xKjZ1VTVmOjAwBP+Q9nrIkAuBLxl8CfyIwY+Arxh8
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
xvZ39IztzZvGdk3XeENv1+nj2tbzvXU2dtbZ86q5+46v7myrajrbPyvau2/+Ou12yJ3td8ht9wWC
ansdcmcPOuR2a53ejdOzloGdOga2Xv6saLfW+3Va7pA75Q6585JnRdttL7q20yF36jvk1l5rvHX6
uPZ3/IuL7saqx91z1bP7jq++NXpyd6B6XqD562ztHyk41p6drlvrZ+pbqb1uHbebPwC3t9fhdLbS
QHfqOujuXvc37XX6m/aq/iZNx2NMaQA4Pl3z/ymKz0mHJSlut6/grNMzdJY1t9o1Z52mjrOkqXM7
urnVLv75/vrd6Ha0SfxULuK/ODnryP9nzf8BUEsDBBQAAgAIAPwBSEM9UoYNhQAAAMcAAAAzABwA
ZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X25vZGVzZXRfZXhwci1hY3R1YWwudHh0VVQJAAMs
sVNSLLFTUnV4CwABBPUBAAAEUAAAAHNz9PRR0NAP8vcPUahRANP6zh6ePi6GmtElRaWpGpqxCpl5
yflFRanJJQo5qXnpJRkKGqkVBUBuaoqCkY5CYnJJaWKOgqEmV4BjcDAus/RswfxYfIqAfIgE1Kji
0uTk1OLitNKcnMqAxKJioH2ZxQogV3FxhbgGhyg4+/sG+LiGuHJxAQBQSwMEFAACAAgA/AFIQ/xy
/x/mAAAA5AEAADEAHABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLWRp
ZmYudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAAL1P0WrCQBB8v6/Yx4R4Lim+FmK1pVLB
YEoVisj1stbANZHbPYjQj28S66t968sMww47M1prwLfGhS9inBsx+LgpcEMfL5X80kOoXIlrcmSY
0JlzE0QLsWhPHJwwHgwLticjR5xs855mjSfsPfu6KYlJ9tSevO6ArFA5llZUkiT/GG2sBOOG4CwD
nY4mkPSQZUrn06KACNer1St8w8A4e14s52n8Lj5QFO9U8jRdLP8wQVXbxvtuIjiqP+UI0XUx3I3g
UgHSWMGtxPH9oHc3XZ2+HK7POFhLzIfg3Dk3nrvIiqEvpn4AUEsDBBQAAgAIAPwBSEO4qO9tWwAA
AJ8AAAA1ABwAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X25vZGVzZXRfZXhwci1leHBlY3Rl
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
Lo2d1K68ql1Ye+R17cJJTeIoMxUWFvtOXFpQ3oUUCLVz13jvrCFP74beQHvWBAGdhIssjt+nXOin
imT+ojqO7818uHt6mN57vuc4vwFQSwMEFAACAAgA/AFIQ99W7oz8AQAACggAACcAHABmYXN0L3hw
YXRoL2FtYmlndW91cy1vcGVyYXRvcnMtZGlmZi50eHRVVAkAAyuxU1IrsVNSdXgLAAEE9QEAAARQ
AAAAtVNtb9owEP7Or7j2C+DgurxkWyOC0qmZNLXTEEzr9mkyYLpIASPbqdi/n2MnMRHbhxlNiPie
87357h6MMZCvPC92TJIHqihJn5fkma0eM1Ud74ss35AFyxmVjOT0Fy8UVkwqLJgsciXJlkpFjgeq
fhK6W2UvBS8k5gcmqOJCYnY8sLVimxt1VJ0gCP57QrpWBc1NuiQBPBwOhiMI7JEkHZjfL5cglcj2
L71N9koS/enX6mJlb/CKbblgve7w7m7UHcCpDcu3UaQVHWwwKi9hUqHuuNvC1+PrCgcf7j8+1dYR
1H2B25twALZouK2smigtu7fnhk34vxvaqvXjT8tSomC9PtD9BtxLtjSXpZYLo7QZ2pYRCJpJnSQV
gosIvnyfpz/SxSKCh8+f4NtcDwXS45odVMb3EI6qIO3I/xzEPqGsf8dtwU5T/SvN2DbYTH70xkze
Hs3k9W3g7LH+ORQCdt3QUtxCV204baP25ayNYtfPKqxnI+sy/N2nl3lflnx2mXfsvzyoOqGReqiv
l0V/zbJMJoN3EJhvsyolC5GmDDRMdkivFPoTm9A5l9A5k9DlPEK+jTAcQg0q+YNO2INMO8LQcMce
TUNQgE54gxxr6lejuJGunDh1klPOnBTXHdLuno0p0/m6Tv09/ZPO/D1j39FrUy6cXM9P70PnN1BL
AwQUAAIACAD8AUhDyKDngMUBAACMBAAAKwAcAGZhc3QveHBhdGgvYW1iaWd1b3VzLW9wZXJhdG9y
cy1leHBlY3RlZC50eHRVVAkAAyuxU1IrsVNSdXgLAAEE9QEAAARQAAAAdVRNT+MwEL3nVwy9tDW0
pZQiUQFihXpj2UrNAWnFwW2m1FIaI9vdFrQ/fsdJPHGAVZTkfdjjkV+cFK0Dt5UOZAFPD09yh4Qy
ECANgiocmjeDDjOQ1g/Rb2ik0wYOWyzIh5UqpHlv9LWmOUd3Vlbxc8DXTP0y2m3RHJTFYZIsEWG1
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
4nZw3N04C6aYMJYZWh910+JxIbHdSksh+Rm2tLoNTOSMEAWe5GnRu8RTfGOPXMYsyYV5V4GCAfuX
fMALew5SK9WfzsP92rX/kA0O28ZwrtUXUEsDBBQAAgAIAPwBSEONP5QS3wAAAIEBAAAqABwAZmFz
dC94cGF0aC9lbXB0eS1zdHJpbmctc3Vic3RyaW5nLWRpZmYudHh0VVQJAAMssVNSLLFTUnV4CwAB
BPUBAAAEUAAAAL2Oy2rDMBBF9/qKWbYosmpKoWTlNnWgtIsSN022Y2scC2TLWKPg/H2VB/2EbmYu
XDjnKqVA/3gXewr6DRl1uav0juoPy7f3Gq0zekOOMJB2ePKRFVNgNVGIjoNuMbCeR+ROUz/ySQWe
7HBQIda3RPNIDZPJeGYhpfwPJzYc0V2MRQEqXzyCPJ+iEPCdUND6Cep4gDx/zp+WsP9KsPKILiKf
G+rwaFMwngIMnqFHbjpY24laP4OCP9XdPeBg4LID0uaeBs4ECFVtV6uyqoRcv7x/bjfl8sogAw+J
aChk4hdQSwMEFAACAAgA/AFIQ1LPUYdpAAAAbQAAAC4AHABmYXN0L3hwYXRoL2VtcHR5LXN0cmlu
Zy1zdWJzdHJpbmctZXhwZWN0ZWQudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAABXJvQrC
MBQG0D1P8Y06KGQoFNdSZyEKXW/tzQ80SUluin17dTtwnlwFNhfMzUHrXnc3TA8SP+60NpL/sKc9
/LBkrkhZEEneHvdQ2OYPLqhtrlJCcqczKC3guMkBXjlykqtS5jUMozHqC1BLAwQUAAIACAD8AUhD
tNMyMs8HAAAJGQAAMgAcAGZhc3QveHBhdGgvZW1wdHktc3RyaW5nLXN1YnN0cmluZy1wcmV0dHkt
ZGlmZi5odG1sVVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAAKVZa2/jNhb9nl9BJNjNtogkO45n
/ch40UkcbNHpomim234rKImyOKFEl6QSZ9r+916+ZEmW7ACdYCKKz/s4955L5TZXBVud3eYEp/Ao
iMIoybGQRL2/rFQWzC6hW6pXRlZnC0bLpyu0eKaSKpKi388Q/FNkp4KUJFxgRXm5QCUvydIMxVyk
RAQxV4oXCzTe7lAKbZIuz/48s9u5TRLOuFigi9FkbsbCB8rIPc0yNx7j5GkjeFWmgZ+azfRP8yB7
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
AAAAJwEAACgAHABmYXN0L3hwYXRoL2ltcGxpY2l0LW5vZGUtYXJncy1hY3R1YWwudHh0VVQJAAMs
sVNSLLFTUnV4CwABBPUBAAAEUAAAAAtJLS5RSMsvUkgqTVcwNDIzMLLi4tLXT8ksi84rzU1KLdLQ
VLAFShjHWim4OXr6hAa56ikYKOTlp6RqFGsq5CaWJGekpijoKhRn5JfmpCgkpSoYQvUXlxRl5qXr
5qTmpZdkgI0hw5C8/KLcxJzMqlTd4oLE5FSwMepA56iT6x7yTAAAUEsDBBQAAgAIAPwBSEPljsc5
AwEAAK0CAAAmABwAZmFzdC94cGF0aC9pbXBsaWNpdC1ub2RlLWFyZ3MtZGlmZi50eHRVVAkAAyyx
U1IssVNSdXgLAAEE9QEAAARQAAAAtY9BS8NAEIXv+RVza0ucblOhh4IQrRFET421B/GwyU6ThU02
ZGcl+utNg72lggUvM4f3+N57iAji1RpfkRP3kqVI9qnYU/ak+efdeW2U2JIh6UgY+Wk9I5NjbMl5
w04cpGPRNZJLoavG6Fwz1lYRyrZwSF1DOZOac8dBGIb/nSdz9tIMaXEMGF2tIDyeOA7gpcfAwbaQ
+QKi5WqxXAcQoBBKf7zVvsqonc7gppeu39eQ7jabJE1PuuNW1wUaqgsuB9uIqbZtJY3+InSNzGmw
TXrc5Bxv1BGeafRw+/i82yZzWMBx8NTNoJKcl6QAwZXWGwUZQXQCjFf+K+W3TZc1ugzxDVBLAwQU
AAIACAD8AUhDK4BK4GAAAACjAAAAKgAcAGZhc3QveHBhdGgvaW1wbGljaXQtbm9kZS1hcmdzLWV4
cGVjdGVkLnR4dFVUCQADLLFTUiyxU1J1eAsAAQT1AQAABFAAAAALSS0uUUjLL1JIKk1XMDQyMzCy
4uLS10/JLIvOK81NSi3S0FSwBUoYx1opBIc6O7sGB0Oli0uKMvPSdXNS89JLMsCqMNXk5RflJuZk
VqXqFhckJqeCVakDDVPHYRpWBQBQSwMEFAACAAgA/AFIQ/AoRowPCAAAgB4AAC4AHABmYXN0L3hw
YXRoL2ltcGxpY2l0LW5vZGUtYXJncy1wcmV0dHktZGlmZi5odG1sVVQJAAMssVNSLLFTUnV4CwAB
BPUBAAAEUAAAAN1Za2/kthX97l8h2GidBJY0T9czY0+R9QMtmhZFvGk+FEVBSdSIa0pUScoeb9v/
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
rH+odPl7oaW/+tq7AR9N/7H0ruFOu34EReFHP/9we9t4u390c1/iy7fqNXs3vYTk5otJsZGZVu8X
V27+fk7TfSjwgOkDtHrn4L7zX1rFy3f237totpfY7dQESj6el1booPIHFGNvyN6DSQkt4frh2z9+
dx2qJ/36w/eNl/sAWgpFL1+Jr6EZknEGt0EfqIBVFLo67I2t8Bd5/V21nv3ElP0VqD7/WQn9KzDA
5U9J9/+X3l9C9J0f3TZCx6b/4fl/UEsDBBQAAgAIAPwBSEMouVtLZQAAAGYAAAAkABwAZmFzdC94
cGF0aC9uYW4tdG8tYm9vbGVhbi1hY3R1YWwudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAA
AAXBuwrCQBAF0H6/4pZJI5s0kXQWCkIIIgq2+xiNsOzAzKzg3+ecB6nhzYLYPhjGo59mvG7BNnxr
YhFKVv5IXH8kpljDCmNE5kKhHpy7nK7L836e4SGkrRgqZ1J0unErGZEw9G4HUEsDBBQAAgAIAPwB
SENGZv7bzgAAAFgBAAAiABwAZmFzdC94cGF0aC9uYW4tdG8tYm9vbGVhbi1kaWZmLnR4dFVUCQAD
LLFTUi2xU1J1eAsAAQT1AQAABFAAAAC1jsFOwzAQRO/+ijmCzNYNHEA9BUqQEKhCDaVcnWRLIxlv
Fa9R+vcE6C9wmbmM3hsignuTkD85uXuv3lXb2m25eer1VHe5D51bc2Cf2AV/lKyknJQGTjlocjuf
1I0Hr3sXfSQVakSmeSQeD9wqdzMd1Vhr/9PlW80+/JrKElRcXMH+RFkavE4I7GRAkz9QXN7Mrxd4
f5kg6GMrwzCdDEe0Er940ISVX0EFJ/LMwFC9WS6rujb24fbxebOuFpjj7xOidJxwlvaSQ4eGUZyb
b1BLAwQKAAIAAAD8AUhDY0Ghb0gAAABIAAAAJgAcAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4t
ZXhwZWN0ZWQudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAAFRlc3QgZm9yIGJ1ZyAxMjgw
NzogWFBhdGggaW5jb3JyZWN0bHkgY29udmVydHMgTmFOIHRvIGJvb2xlYW4uCgpTVUNDRVNTClBL
AwQUAAIACAD9AUhDJsxiAL4HAADoGAAAKgAcAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tcHJl
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
6cdNgAQFRZ4QLnt52RPIlq7L8wRNy6FpxhLX/X3CyuI/DXZ9O29lC83DJOOrxibqH0WOc06PIdqp
wQinKGReHsg1wH7h7y98Ylu9ZFPB3AOqcvWac6rWyKWNT4QpItFsF9FYbgoctZ5JyTWlFUfD2Blz
tW53YTGfh3qXXDHWhTufyHSBQjFpB+Fien35EN77Xg1btpClpt9oXQSR5ool8IhwZsMtEWB/4T+M
DyL8nf+w8a82IxTVOxVLTdj4pBT6V8kEyFKhYYReEML5/MqfeaFnGK9QSwMEFAACAAgA/QFIQ9+k
+obaAQAA5wUAABwAHABmYXN0L3hwYXRoL3Bvc2l0aW9uLWRpZmYudHh0VVQJAAMtsVNSLbFTUnV4
CwABBPUBAAAEUAAAAL1TXWvbMBR996+49MVO/KE5I2EECu42b5R1jYlNs2HMUO2bxqDKxpK65N9P
ceImbdowyjIMstH1ueecqyPXdYHcVEzdoyCfqaQknMVkhrffSrl9fVQlK8gUGVKBhNFVpaQrUUi3
QaGYFGROhSTLmsoFqStRyrLiLi5rzCUWnlxKw7bt07DQXCrKWo4gANd3fB/sdg0CA6KLOAaPkL7h
tp/9tANaPTiHQbbdX/9yULK/XFxeHUKg5HnVNNobMOR3cgFWZxV8BzaC4F1vi3+p9bEWg/0WnYH1
o9sMMuLtmSKiplxv7m09ZfJ3/goUOfKCculWjSuQzcdjXhVo9Ui+0IMfj1+bzVuQnfU3YP96NhuO
UzLsTbq/G3OtkViU/K4jSv3XSxrVxnLkfNCxXK+PsaQ81+HWop/pTt+/0K496Uce61mllbA9rSrX
d4xLDx8oU1SiZdZpIFc1np/9pg3XmLMsHWYk4OredGA6mSTaNFeMOfAj0ndr2t42L06ml9dffyU/
o3BT7nlCNhp+o/silALMkXmMdJgd8P4L0qHZnfx/cioWlWIF3CKMPJhRAd4xASdwvRMw7ARsYiBU
riMk5hqximgjdH71hGSj0AADkjBO4NPke3QVJqHxB1BLAwQUAAIACAD9AUhD8QDVSCIBAAAMAwAA
IAAcAGZhc3QveHBhdGgvcG9zaXRpb24tZXhwZWN0ZWQudHh0VVQJAAMtsVNSLbFTUnV4CwABBPUB
AAAEUAAAAK2QW0vDQBCF3/Mrlr7kQprQSH0IFCoSRFATkkWUEGTJTm0g3YS9KP33btqmhdZVENmX
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
4nbFaXOt219z5Xd9fnWNTt/+evnm/Pp8C6Qze8jfqBxb6v9k/x9QSwMECgAAAAAA/QFIQwAAAAAA
AAAAAAAAABgAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9VVAkAAy2xU1JssVNSdXgLAAEE9QEA
AARQAAAAUEsDBBQAAgAIAPwBSEMzAQ2YNgEAACQDAAAwABwAZmFzdC94cGF0aC9weS1kb20teHBh
dGgvYWJicmV2aWF0aW9ucy1hY3R1YWwudHh0VVQJAAMrsVNSK7FTUnV4CwABBPUBAAAEUAAAAJ2S
TWsCMRCG7/srBi9+UEwVPFQQVtotCFqF9bbsIWSnGohJSGap+++7a1IUCtJ6ymQm7zPJvNkt8xws
dzzZddEoLIRnGgxDnGp+whjGcne+mJQ3G8V9K4iZEbsCWWUEE0duCV0xK5lHQdLoYhrPxhILkvfl
ag0hnoPj0mMFmXPGzeHDUF5baxxhFVNv2w1kZ4G2I8JLbMiMkp6YJDyFzDhgx49ig3r8uJKliuvD
o/rLfFNqLC56X9xpqQ+9EqQWxrl2mKBQH+gIAzzbdtvyp0/ABdVcwfPwDqJ14x5lcku5Gj0rf4FC
jx+PSZLCRX+lyZmqvpjd//t1b/9EQEU8nqwyDWKRtj/IIXHXANcVpNz71m6u6Z+v8bUQ6P1nrVSz
464zRnogV2OS7LN8D6/bzW6d7bMk+QZQSwMEFAACAAgA/AFIQ901IMuhAQAAoQQAAC4AHABmYXN0
L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZpYXRpb25zLWRpZmYudHh0VVQJAAMrsVNSK7FTUnV4
CwABBPUBAAAEUAAAAL1SUWvbMBB+9684+tJtrqy1UOgKBXerB2XtGuawPoQ8XOxrIlAkIZ22+N/X
ieWtsC10HezF5k533/fd3SeEAPnV6rimIK+QUVb3tbynxSfF6fc+Kt3KL6QJA0mNnY0smAILTyFq
DvIBA8uNQ15J14nWrsUQ4GLh6ZtCVtYEQRtHDVNb8IazPM//Fy82HFHvWMsSxNnR8Rnku29ZZjC5
rGt4Ix16TIFsbSObFTomPzudy9Cr7oFmJ/NUkN7k0CSGpiHIP15e36TgHDyqQC1U3lt/Dp8t19E5
6/sdpNTV3S1Um4bclgDejQKk1aqfTDGtU6pINMVTzuJHtpClRrNM4bZkVnLn6OLgO3qjzPJgvu+t
nzIpL16qPLUX/9A6zPBigN9OBso01vv+gqDJLHkFr0YbwskRDNaAt6/3YfTb2Qdz/BQGfi75dP6n
G4zeYsWaLg6vDXvbxp3JDsdD7K159lTwK98ogtZO245oVvb+9sToO0DTQokh9OZDw6OUZ1T+5X5C
bBoK4SFq3U3Qb6+tArCPlEEG06qewoe728lNNa2yR1BLAwQUAAIACAD8AUhDKURwQd4AAAC8AQAA
MgAcAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL2FiYnJldmlhdGlvbnMtZXhwZWN0ZWQudHh0VVQJ
AAMrsVNSK7FTUnV4CwABBPUBAAAEUAAAAH1QPWvDMBDd9StElrQZLFrIGFApHgoJNdib8XDI10Qg
S0Z3pvW/r1MrVIW20z29j+Oeqqe6liNEENUV7dbB+MF39yvWHgZMMMlXf/vQZQ8HtAQSs1PfC1Uf
jDIXGBlju+8UoWEbfPuYvElSeeQHDs4SK8s4rEyRRmYqblyhtAN/zu7SPI942LxD9NafN90/0nJd
pu67P7K3LmzZ4WH74jmGfvoqtf3NkjgcRhdmxFYvPxCRIc4SfC81EC0FwXMy0mQMEr1Nzs0VRMJe
WpIcJxSiKetGPr+eqmPZlEJ8AlBLAwQUAAIACAD8AUhDGU56uDwJAACzLQAANgAcAGZhc3QveHBh
dGgvcHktZG9tLXhwYXRoL2FiYnJldmlhdGlvbnMtcHJldHR5LWRpZmYuaHRtbFVUCQADK7FTUiux
U1J1eAsAAQT1AQAABFAAAADlWmtz27gV/e5fwYmn63bHJCXZciTZVpPY8nSnyW6mznQ/ZDIdkAQl
JCDBBUBbStv/3osHKZIiJa1j766nycQk8Tz3eS4QXyxkQqcHFwuMIngkWCInXCAusLw8ymXsjo6g
WcgVxdODCSXpl2NnckcEkThy/n3gwB+Jl9KNcMg4koSlEydlKT7XXQHjEeZuwKRkycTpZ0sngncc
nR/898AsZxcJGWV84hz2Tsa6z7shFF+TOLb9AQq/zDnL08gthsYj9be6kdlBMEoi5zCKItMXs1S6
MUoIXU2chKVMZCi0ABPE5wQg93Hi9ExTxkA4LQfHFCS6wxrQot9AenJy0rK+QKlwBeYkrnQK8hXr
PaqbuhTHcuL0vGHRHhGRUQSLSBRQ7IaYUtNxTyK5gAV6vT9ZjCiKSDovZxt81jzqrW4hC5mkCwAm
y+ELdod5Q6rhcHjepXCMjSo8ZZe3sJewk2PKEIjCyXwh69ZTo65ABYik5VYM1E8kiNnbIbaV0tXr
1jR1vwDpXG1H5W73HGVrZLc4VPbrdBw9ue42TZexflvoHZyqly3NDrNlBiaG9UE0fOx46tGUsBOe
IBEOVuqno6G+oSz88h5x6YGok5hwId1wQWjUqVi13S3MP962GMcJmPZ4x352j0L9JAX3wW6ghtTc
blh4HXiLJCGiLqJkDvEhWYtYHCtv/xtKI4oLddh1lArV9wIbg679Ocy5UKZRsJtRiAKwTl5YDPYs
HccEkIa3DUXNzzfdYc7x6rzhmN5wl72Mih1Psp1q9mLOkoaybY5Ueyit/5gnAebgTbjqXaa1AL6Z
Sq3Xjse1JFiES1sqLCL59PS0EXub1i9zjFpoaELAhEGZ9K0fWPdscxEDt+ZOJzZhVQTXIrYmHEMU
nWrZkqQyrqJTwbQKLLKJ9ZpCkFqswiTXRKvuAn3qT5CDY/TFVQ0GEEnQHNcsM3EGpcIDipQW1cAQ
UgNgACj2zWnKvbbK6HTcmXtjHK8TgHIrWLGkyEo0t0yN4qg+FYwtuoeP8fh8G6+XK9ksU8Vho6Kb
sqNoYwEnwrR7Bh7vRON/79zmWca4BLbl1pNBqUmCUymc733YD+VywYy+DSOrgga8XoKfhoWl9AQ9
pqMGKMcoMAhcQg8u0tlZ4dgq3SBKrwoEraMHhssStHQb9J5AbWCbBr2Sd5pbg9637lNGdhnStW3a
cHosw4Y23XscfCHSlVyFndGEAe54A3FeEePUCn0oJJK5eJMHwOElH3oqelrhqCmSMRogXu8vto4p
1hG67kjY17K1TE4nJo5tLaVei2pBvXeXhV2ZY2s5t3aLmCyxWcfm415dJA/pGsSE2SaL3xPIBbzh
auWaX12SRngJSWqLaGsirEBok8smoxq9jWwWSxVMG7Ct1AT7BWy5E+jZGmjfOHFBQuZLg7XvJYPZ
zxJwWZnVtiYxR4lB2IiTehlRiZGrjky7qZsV1Jrs3nI9plA4Qs28BzGdjW/W7mU5uaNTK6LeV5aR
0WZ5XC+O7RpGfZs+3FkSREWeNdu8LpJCcdzpVXs/FBzZOJecvSwS2ibMLUFSOfGIBJlavppzU8ah
+bwjy1j5VQkm2jY3chRx3WsbQlGA6QTFEGHHG9NNu15EE3IKor5w/uO8OD8oibhC383ZFEGFzmJX
rjLcutSLTkR2YOOYu8BUJ8iyGEWqGO3gqMMEC1EUHp16bjNLJTpudaLehwqBYqAguiMsF1dlCxSz
X3F6VSHLNp4vSo4mxVTJReVy8FrtCUVut9/WE20SOSk4cC801jWgxsFSxUSNLmzZ11H0VXk2yCGq
0mreKfg9IneTmIVWhyyXKl9Uwy+guWYS2wX+EgMWYLB+IUiVLPUqUMN8WGCzk2+Zdg74lQySORL6
AjPauppw7ghSOVm+sz4BYAPO7sHgUAksEMy1RRGRniqCSjlOh7aKL0sR+11kB1XIqn+9OokW1zrN
Gj8hEZyyjGDKQKI4fLcwCtRhTKA70D1oADd4pXrS26A6t++dmJJpfflRsH+LDQ6vr68rIX04urm+
Gd605icoLtu9eDabtaGe4CSDDFUzvi3TGiM9eAWktcifjUe9kc1bIcWI/0uXB8VRQLXoY9NCDbnw
7c3bhQg5ycCmPLx8sZAyExPfR5/R0pszNodJGRHKdXWbT0kg/M+/5Jiv/L536g3shwelpfdZvJjC
unq9qVNfOWQRdpUN8T2M+ytYWhnz8nRUmQKg7GVhwKIVPCAeADcS4vKoOAmoO8NFf+r/E+wJOcu/
RhL5s59v/Z9x8Hci7eNNTmjk/wN4Fwnsg6eAOl2JIcPC8T2nUvgxpFsfSAqCIlu5EZCs+UBBoFDq
k4BwoYjJEfXkUgK0fh1R5ULoaLNHH9S72tUB3hELqKijxhB1enFqFz/6khTItBihj/zrOuJoOgL9
Qf+0Ngoie/cYYOej6fvXt7cQxBniyA4CMwCib8Y13gPXeAcuP2KhHy5QBnT4cfjJF0bfHwefHhdr
v7cH2I5Ba7QWqN+qTP2owqyE6NHUdm8Ks58vmfPuTl+qjNuujv4e6vguDUR23q2SCzh9T9+DSPDQ
76Ai8+XsqaG6jJCbdwtoB22Vbgtwto8ajHRQBUxvLnz10O+vf3hrvgrp1DsczRARUPnPOFc5+kcm
7YUCjmzT9U/vnNkyxJm+WR7bFX9L53msRNQf7KPTwa6Q94FlITdDGZU8cpCf7IPvZAc+71kH9unT
Brb363lkb+jDJ4buPQ3ss6eG7b+iKJ0/DfiXTwteOcvHV+rEe/ndLzmT5/eIp1DWmo9PTyPT6HeV
CaqYPz7vnT6I97zH573fUujhw4T2nq3AZw8U2Cac5yr2yweJvStV6UEkDRnncEZxKE7ncuH8GS8z
c/U7OHbMYdLp/eX318HoKXSgUtsuNfR3quF5lLr7HG77u063Wp/DT7+CAZ9TrTnoPS3RFtcCkkiK
L49+SCVnUW7uY/74HDvoPSgEtwv97UnoWUTfYJ/riUF/v9sao8rnHWmDp400nGSUrTD++ErgkGOJ
+MpBaeS8gulwVEepfAbxNnhQvO0j+v8J5w32uT4Z7Lo+EXkYYiHinNLVe/XLwJFDhCN5jh/3smew
z03HYNtB53Hh7HN7MdhyBPkwu/3gXP307v3b2YfZt/hP46H/p+XCN7+r/T9QSwMEFAACAAgA/AFI
Q2qAJe4xAQAAbAQAACcAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9heGVzLWFjdHVhbC50eHRV
VAkAAyuxU1IrsVNSdXgLAAEE9QEAAARQAAAArZNba8IwFMff+ykOPm1SL1W2B2EwkQoDxwr2bfgQ
k6MGsqQkJ8x9+6XTtvpUsXvJuSW//HM5y/nbCkaj/uerFC+9SW8z4gepxGzWB6m5sRY5gUK9pwM8
4LEIIQqYxsA4eaZg/BgtrxHDElIwi5paKEkbhWmOjoxt4UzaODujlPmWej9wcquC7SqsCOtQ/COw
VtgCerpZWVcQI7Jy6wm7Hs2h2t3PSAJBoOOoBdM0MHZwA29668e6h5eHlUAHVg4IFSmGRmUM9XPG
UD9IYGgB5W7AjuggtAhJkkb/cYTh/iu0TJTN12vQRuDCeE0gHSTPp+T4ZJKzGTZO5U7Opo4vSsO6
eFG+yk4rt3GqmedMEzdg53m4AbfzSv1kzLpwXUEzWY9RlKfrHBYf79kqzdMo+gVQSwMEFAACAAgA
/AFIQ7F8UUOAAQAALgYAACUAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9heGVzLWRpZmYudHh0
VVQJAAMrsVNSLLFTUnV4CwABBPUBAAAEUAAAALWUy27CMBBF93zFiFVLYkzoY4FUKfQlVe2iKlVZ
VF2YeCCWjI3iiQp/X/MsiARQo25sxTM5M8m9Y8YY8A+r8zE6fi9I8Id+j/dx8Kxotd3mSkv+hhqF
Q67FzObECB2xDF2uyfGhcMSnE0Epn8yYtGO2fBBTdAynE0wIZZOmVAuC4J/LiYRyoRfF4hhYFEaX
ECzWOK6x126vB5w3PmMlb+rt+hdPUl+u02nsxZrz6ERkaKg0LEziG7NZacLQam2/lRkxpwba7+WV
MkxQnpK5YR5nlTdOlKlBTlia4VAPC4KRD0l0CRopDDGbsZLE3R+0nRg8dp9eikUAZRKb+e4JNJoR
pXC2tg9chLDUFlrne4xdsQ5hoqOYLVEPgdpHQUXiV2utyCTViNtmOkS6Or23yqRtc1b7upXl/gop
NXs1nxYMxclAePevAqViviCsUSH89hnCRtQQNqp4iJEwLwfzexL8sJAiZc2CI23ir2RDNVhMsbES
72xuCJSD6Hp12qr9AFBLAwQUAAIACAD8AUhDCEgsuP8AAAC0AgAAKQAcAGZhc3QveHBhdGgvcHkt
ZG9tLXhwYXRoL2F4ZXMtZXhwZWN0ZWQudHh0VVQJAAMrsVNSK7FTUnV4CwABBPUBAAAEUAAAAI2R
TUvEMBCG7/0Vwx6XfmxX8LAgKEtvioX2Jh6yydQNxGRJJqj/3tR+o8W9ZCbzvLyZzJQPVQVZtn25
l+Jus9+8ZvwslTgctlG5RGkLL8yipjXKNEdHxq7xxihlPqR+S5w8qRBXn7HIUVwhHB3/dVrtmcjK
kydcEzhUzW+WByLQcdSCaUqMTf7WLQcz19WhAnRm7YEwKGKYXGMYvxfD+JE4aAW0LsA+0UFYCUmS
Rv/4CMP9e1hR14Y2Ao/GawLpIL/tirsu5H1Ip2RI930Y7zOUjnCGF9WbIZ2SQdlXpvtk7DwPE3CN
V+qrZNahaHsm6zGK6qKq4fj8VD4WdRFF31BLAwQUAAIACAD8AUhD8GMVKOsIAADzLAAALQAcAGZh
c3QveHBhdGgvcHktZG9tLXhwYXRoL2F4ZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADLLFTUiyxU1J1
eAsAAQT1AQAABFAAAADVWmtv28gV/e5fMbDRdRuYpGRJjh622sQPtOi2COqg+6EoiiE5FCcmOVrO
0JbT9r/3zosiKVJyUCmON9iQnOe9577OjHIZizSZH13GBIfwSInAKIhxzom4Oi1E5IxPoZmL54TM
j6YJzR7O0PSRcipIiP59hOA/QVbCCUnAciwoy6YoYxmZqS6f5SHJHZ8JwdIp6i9XKIR3Es6O/nuk
lzOLBCxh+RSd9AYT1efe0YTc0Cgy/T4OHhY5K7LQsUOjsfxT3UjvwFlCQ3QShqHui1gmnAinNHme
opRljC9xYARMcb6gIHKfpKinm5YMlFN65CQBjR6JEijuNyQdDAYt63OccYeTnEaVTk6/ErVHdVMn
IZGYop47su0h5csEwyIC+wlxApIkuuOJhiKGBXq93xgZcRjSbFHO1vIZ88i3uoWMyDSLQTBRDo/Z
I8kbWo1Go1kX4IRoKFxpl59hL24mRwnDoEpOF7GoW0+OugYIMM3KrRjATwWo2duhttHSUevWkHqK
QTtH2VG621OOl2vJ7kkg7dfpOGpy3W2aLmP81uIOTtVbrvQOt6slmBjWB9XIGXLlo6lhp3ichsR/
ln8jJerHhAUPn3AuXFB1GtGcCyeIaRJ2Aiu3u4f5Z9sWy0kKpj3bsZ/Zw8JPM3Af4vhySM3tRtbr
wFsEDXDi4IQuID4Ea1ErJ9Lb/4izMCEWDrOOhFB+x0QbdO3PQZFzaRopdjMKsQ/WKazFYM/ScXQA
KfG2SVHz8013WOTkedZwTHe0y14aYuQKthNmN8pZ2gDb5Ei5h0T9r0Xqkxy8iVS9S7dawTdTqfHa
yaSWBG24tKVCG8nD4bARe5vWL3OMXGikQ0CHQZn0jR8Y92xzES1uzZ0GJmFVFFcqtiYcXSg6YdmS
pJa5jE4ppgHQZhPjNVaRWqzCJEdHq+oCPNUn6JET/ODIBi0QTfGC1CwzRecl4H6CJYpyYACpAWQA
Ucwbauq9tsp4OOnMvRGJ1glAuhWsWJbISjS3TA2jsD4VjM27h0/IZLatrpcrmSxTlcNERXfJDsON
BVBIku4ZZLJTGu8dui+WS5YLqLa58WQANU1JJjh658F+uBAx03jriiwJDXi9AD8NrKXUBDWmgwOU
Y6QwGFxCDbbp7MI6tkw3OEmurQSto891LUvxymmU9xS4gWk675V1p7k14L51nzKyy5CubdMmp8uW
RJdN54n4D1Q4Ipdhp5HQgiP3nM8qagyN0idcYFHwj4UPNbysh66MnlZx5BTBWOLjvN5vt44SoiJ0
3ZGyr2VrmZwGOo4Nl5Kvli3I925a2JU5ttK5tVtEdEX0OiYf9+oquVhxEB1mm1X8iUIuyBuuVq75
1aFZSFaQpLaoti6EFRHa9DLJqFbexiaLZVJME7CtpQn289lqp6AXa0H72oltEdJfSljzXlYw81kK
XDKz2tY0ynGqJWzESZ1GVGLkuiPTbmLzDFyTPZlaTxIgjsCZX1CYLiZ3a/cyNbmjUwFR7ytpZLhJ
j+vk2Kyh4dv04U5KENo8q7f5YJOCPe70qr2fbY1snEsu3tuEtinmliCpnHh4ijWXr+bcjOXQPOvI
MkZ/ScF42+ZaDxvXvbYhCfZJMsURRNjZxnTdrhZRBTkDVY/Rf9Dx7KgsxJXy3ZydYGDoLHLE85K0
LnXcKZEZ2DjmxiRRCbIko1iS0Y4adZISzi3x6MS5zSyV6LhXifolpRBKDBCiR8oKfl22AJn9SrLr
SrFsq/OWcjRLTLW4yFwOXqs8weZ282080SSRga2BL5LGuAZwHCJkTNTKhaF9HaSvWmf9AqIqq+Yd
W99D+jiNWGAwZIWQ+aIafn5SqEpiusBfIpAFKljfKlItlmoV4DCfY6J38kylXYD8UgfBkIA+X482
rsbRI8UyJ4u/GJ8AYf2cPYHBgQnEGOYaUkSFK0lQqcdwZFh8SUXMt80OksjK/3v1ImqvdZocP6Uh
nLK0YtJA3B6+WyoK8DDG8SNgDwiQRl2pnvQ2Sp3TdweaMq0vP2z1b7HByc3NTSWkT8Z3N3eju9b8
BOSy3Ytvb2/bpJ6SdAkZqmZ8Q9MaI114BUlrkX87GffGJm8FCcH5vxQ9sEcB2aKOTbEccumZm7dL
HuR0CTbNg6vjWIgln3oe/oJX7oKxBUxaUi5dV7V5CfW59+XXguTPXt8duufmwwVq6X7hx3NYV603
R/WVAxYSR9qQPMG434OlpTGvhuPKFBDKXBb6LHyGB8QDyI05vzq1JwF5Zxj3597fwZ6Qs7wbLLB3
+8u99wvx/0yFeXwsaBJ6f4O6iznxwFMATkcQyLBwfC8Swb0I0q0HRQqCYvnshFBk9QdeEe4Adylw
4oqVAIn6dUEq90Cnmz3qfN7VLs/tSB9NGkPkoQXV73vW4yCZZHagOvCvWcTpvA/oQf+8Ngriujrm
p8zny1nrQCjQp/NLOCfNP1168qHeP9zf6y/kee/+8QcaXv30a8HE7Fw//umpm6Tp9J1ZEwwHyuxL
pfPvqpJbKrWEEw5U2gNpNXglrXAWgN9DgjiQXsNX0itikmDLaxdO/URm7QMpOHotd8xJQMLvoODF
a1vwUIq9f23LHUqx8WvlEiFyCvSVHEqxySspBif06FA69XvfU6m+VSkkPCBZiIGSstw5qIL9Vy5t
WxRUj24yBnx/NxMzg7ZisEU99gK+piGAg+X87tKTD/X+4U8/66+dNEwNolnAckg9AiUkW4gY/Zas
lvriaXCGNKdFvd+ZDb7JE/YKwfk+IGijbbtQ6P9IKAz2i0KV5u3C4fxHwmG4XxxaaeGbcozRnsOj
jUa+KUAuDuQhLwFi9CMB8f5AnvHmgBjvOXdWae2bCo3JfoGwJOpNYdDBr78NhB20+U3xq37/MNRi
v4BsMPPKlTXIqbs3wXvZJSuPgRTupva7jzYvuYvsbyG0nwE5/ZuJ/KHFInmG1m52hsqCdIbKlAzw
ZSGSaCN5I42A5Ar1W4ZaJ2RBIX9K+iYn263sS64o+1t46yc4s6GMhbBnkQlEOepf7FnEl9w29oc7
ROz9P77YeKhfKi49/W+d/wdQSwMEFAACAAgA/AFIQ3OHlR1OAgAArhMAAC4AHABmYXN0L3hwYXRo
L3B5LWRvbS14cGF0aC9leHByZXNzaW9ucy1hY3R1YWwudHh0VVQJAAMssVNSLLFTUnV4CwABBPUB
AAAEUAAAAM1Y0W7aMBR95yvu8tJkYyROsj6gJhpaUwmJQgRoalUhZBKvRAoOcpyulfbxcxJWsQ5R
KXa0PAD2tc65557cSyA3o/EETDPhZPfwNYnB98AGTGMoN1ceaK62goRGGWMk4pAS+si3oJPnvdiS
GJw+4IgXOAXL6N28Q+acpbKPqcLRYgFxFg3IE04LzImu7bM84UlGdWRo/epMvIodoTxISfnRB1qk
aR/uQsy3c5IXKR+Mpvfr5X0Y1GcG8C0jP4E8R2RfckHAWMaGMJ5+H03G1+vgLpwHi8V4Nl0H8/kQ
rme3NR0Er5AvaHBKHs243hFhOWcJffxcO6wj67SfUVZQXp120U4cF7sNK5f/X97bvt5lolvBA2sF
v97GnTp+ps8v3+nzmlAwu3YXL4wptqb+WrMY8dKFo/3lyjDFqoPaL7RdRvmLZmKKo4zG+KKDGit/
6wn+2+XK1S4qFl/ID2jVDWVCy2GhI/gEyDjclRBkDNAQGE5yMYOHFKWKM6T2EdZqhrUk8loSeVF1
30Uy4MYVS2S2ZDLrppkTXs6Lh1bmR0NMzVHIKUNtENsKiT94/8Skmd0TzK5CzVctuGGfYEYqNbcm
Wb3imthvywq/LSv81q6e30LHuX8GG4k3pJjPUjnFrRAqrNi11VE56spUyqWuRM21B5amkk5TV6dy
tsalalirHkdgSfxGAu/L5N8IfHM4KsU3/E1lS2BFXrCbQxtn9T0prN3UKV8ibQNo/bSmiCKS5z/E
f6GXELMSn+TAWUF6vWWwWMK32W04CZZBr/cbUEsDBBQAAgAIAPwBSEOKGZo3VgMAAE0ZAAAsABwA
ZmFzdC94cGF0aC9weS1kb20teHBhdGgvZXhwcmVzc2lvbnMtZGlmZi50eHRVVAkAAyyxU1IssVNS
dXgLAAEE9QEAAARQAAAAzVhbb6JAFH73V5zlpbiKw4DtQ1OJ7pZNzPZi1PSSxjQjTLckCAaGXU32
x+8AWmlVJFy2Pghzbt+5DDPnREmSAN25djCjProkjCD9foTu6fSnxVavb4Flm2hIbUp8imyydAMm
MeozyaN+YDMfvRCfocWcsFc0X0qmO5Nigi7mXMW3XMeX+JoajJottmC1RqPxf7wSgwXEjnx2uyDh
JsbQiJ7dbk0a9EYjQMhidPbUtUzQOqAAcUwIiYsOCG1hclhLndQaP3r9q0NIYDmG63m8CmBT5xd7
BXFdFFCbEIcKcv0wmpqKpSSxIIredI0W/U3sgDAqCnPXtxgvj4jrQjOS8R/fCofpNg1fTXAC227C
w4DXcxiVu9W7eXwePw70WFYH9urRP0AXBp2HWKB7nuudQ//mrnfVv3zWHwZDfTTq394868PhOVze
XsdwoL+ZnOLWzvgcl4nHEpnPPMv5JcVFFrG8p6SGGzgsEh9lRYkZzKZeuPz8+LbO08zl3yx0QJ7A
3498NeJvn4jDNmkn5OzQCYkROXRbOcr9RJxE4lvW/HoI65CgzyZ1xFfHGPyJMHMdthQQcYjhOiY5
+ewgo86gNk9l3hqiF+8NuwLn9+UTnpwcR015MOuVyHsa4Hp9dbQwuB7gJCGvCDkpkZMSHLUX/I7a
WCVl8juZiJBPWfjRdfAEfa3zTy/BUkNWJk0lTfNLZ4u3rdreodpOQ73IEoCyQxWnomYHzYAZa2qZ
vWuZvWvZU9KyFKq93lPMH/iQgpy6gdk00py0lRSZmoKcLkxBFdpKSxZS5UIK9GHxBl0gQjRSko+M
aZKhvdOYckaCxqH++kQrSYJLQEmsN3yt855Q3sy1pICv424dX0Pn4BHL5z13ddmF92HK9aYkjeWc
xnIRz3IRz6trtJB1/qyL+JYL+c7QBipBVspE3tFmikPvbUtlRX1RRUH2tr3Soq4u6Api3teGy6qG
Vlk1tOq2UKviw/swRpQMKJd6oKtBLDPptlIillpipuWClZhlPGiViieUmGr5cPmz3YyhBQGmRQC0
QhGsx+LcA1s4Oec0VooYR2N6Adv8frVOMWMld7m0Io5z2K7+AA4Mg/r+S2DbywHxQgDLB+YFtAY1
GOujMXy/vR5c6WO99g9QSwMEFAACAAgA/AFIQwhuOFkFAgAA9goAADAAHABmYXN0L3hwYXRoL3B5
LWRvbS14cGF0aC9leHByZXNzaW9ucy1leHBlY3RlZC50eHRVVAkAAyyxU1IssVNSdXgLAAEE9QEA
AARQAAAAzVbRbpswFH3nK+78UtiygAnbQ1XQopWHSG2CQjS1qlDkgNcgganArKu0j5+BhLotITzy
EHLvOcfH19cY8Oa+D7oec5o+/IgjcGwwgbAIquTKBmShQPHOiGYHSZSFU/qHJCXhVEVPWRHzOGMq
1tCk5sSvTCnjbkKrvwmwMkkmcOcRvl/Tokz4dL68327uPbfhNOD7nD4D/RvSp8oL3DzP8ktYLH/N
bxbXW/fOW7u+v1gtt+56fQnXq9vGDtx2yDc87SqPZVwdSWEFz2P2+DWh7JHvVWwYWlfBYVYyXrNj
bCeJynSXV+FIypPu1zSLxA1rgxHAv/f4rMa7VtQIxQjLHGPDdZHqarsWcSSr1Un590DTRTTC2i9Q
mjH+gnTCSJixiFyMsMa6v83JfNvluqtjrFg8aB9wMI7KRC2HQMXwBbB2SDFkOWApNprYkHBDwnH9
nsFy0o6QGENmVF0vKK/2y8aB/lkTuyZBswoaIjR7hJ/sD9gHpdWhtHo8rwbMbnYocZ/nYMvzjo3Q
GTq1M3RqZ/BqnAEdso4bicUFn+GNvl0bJOiZwTJPU7PTtr3caUtkmVMD9dHotO9ZtrVGBNWfheRd
vpNyR+Z3In9NcSU+nFlTigUO5mvYoo79JjaPIx0JPoZFGYa0KH6LZ9mLR/KCRhAXwPOSKsrG9Tfw
c3Xr3bgbV1H+A1BLAwQUAAIACAD8AUhDIxp81WUMAACJewAANAAcAGZhc3QveHBhdGgvcHktZG9t
LXhwYXRoL2V4cHJlc3Npb25zLXByZXR0eS1kaWZmLmh0bWxVVAkAAyyxU1IssVNSdXgLAAEE9QEA
AARQAAAA3V1pc5tIGv6eX9Gb1I7trBG3Lh+7mVipTW0mccWpOWoqlWpESyJBoIGWj+zsf9+36QaB
BJIsAxqUlA00Tff7PO/ZuGWfT+jUvXx2PiHYhsOUUIyGExyEhF4czelI6h5Bc0gfXHL5rO863rdT
1L91QocSG/33GYJ/lNxTySZDP8DU8b0+8nyPnEW3LD+wSSBZPqX+tI/U2T2y4ZzYZ8/+94wPJwYZ
+q4f9NELRe9F91pvHJdcOaORuG/h4bdx4M89W4q7jrrsf3oiPkPou46NXti2ze+NfI9KIzx13Ic+
mvqeH87wUAg4xcHYAZFVMkUKb5r5AC7CERAXEN2SSKCJuiSprus544fYC6WQBM4odTN0vpNojvSk
kktGtI+Ulhm32044czEMQrHlEmlIXJffuHNsOoEBFOXvQkZs2443Tp7m8gn1sLOshoTIjjcBwWjS
feLfkmAJlWmaZ0WEE8KpaDG9vIO5QvHwyPUxQAmc8YRmtcd6vQYKsOMlU/lAv0MBprIBtkApReNm
mLqbADop0iMzt7sAzxaS3ZAh01+h4UQPZ81m2WSE3ca8g1Eps3s+w+B+BiqG8QEaOUUtdlhGWChe
6NjEemDfUSTqj64//HaNA9oCqP2RE4RUGk4c1y4klk13A8+frhssIFNQ7emG+cQcMf2OB+ZDJIt1
yZidGVsdWAt1htiVsOuMwT+onwMrIMza/4092yUxHWIcRiG7nhCu0IU9D+dByFTDxF72QmyBduax
xmDOxHC4A0XirZMiY+er5jAOyMPZkmG2zE364hSjFvU30twaBf50iWwRI9kcjPX386lFArAmkrYu
3hoLvhpKhdX2epkgGLtLXiiMPdkwjCXfW9V+EmPYQCZ3Ae4GSdAXdiDMM89EuLgZc9JFwEoBjyDm
BhyeKAppWROkZgHzTiamIDCOJsJqYiAZX4WHJO6t0S3gM7oEHAHB3yTWwAVypnhMMprpIy0h3HIx
Y5F1HEJoABlAFHGGlnEvtNI1eoWxd0RGiwDAzApGTFJkyptzHrVHdvZRUHZY3L1Hemfr8noykogy
aTmEVxSnbNteGQDZxC1+gvQ2SiO/RDfz2cwPKGTbQFgykDqdEo+G6KUM8+E5nficb56RWUEDVk/B
ToexpqIHoj4FNUDShwmDwSSiznE4a8eGzcINdt3XsQS5vTWey6b4XlpK71OoDUSTpiR5Z3lq4H3t
PIlnJy6dmSZPzpY/IzxtSnfE+uZQiQbM7TgTXHDU0sKzFAxDgH4RUkzn4Y9zC3J4kg9bzHtyxWGP
UN93LRxk78dTj1wSeejixtT/nrQmwUnnfixqKXYaVwvsvLgsLIoca8u5hVmMnHvCxxHxWMlCauGo
BuFutprF7xyIBcGSqSVjfpcczyb3EKTWQFskwpQIebhEMMqkt66IYh4TUzhsbmqC+Sz/fqOg7YWg
KjfiOAnxq0hYcZ5kMHGZCJxUZpmpnVGAp1zCJT/JlhEpH3ldEGlXuXmAWtO/E7meuFA4Qs28RWJq
994szEvk5IKbERHZe0kZaa+Wx9niWIzB6Vu14cKSwI7jLJ/mVRwU4uWOkr77Kc6RS+uSdicOaKti
rnGS1IonnGJey6djrucH0HxWEGUEflaChXmTcxyxXyt5XVxsEbePR+BhpyuP8/ZokCghewD1OfoT
PT97liTiVPpeftrFUKH7I4k+zEjuUM8LJRIdl5a5E+JGATIpRjErRgty1IspCcO48CjkOU8tKe+4
iQL1NqkQUgwURLeOPw9fJy1QzH4n3utUsszL83HJsZxi0smFxXKw2sgS4tguroUliiCixzlwK2mE
aUCNQyjziUy6EGVfQdGXzrPWHLzKS8edOL/bzm1/5A8Fh/6csniRdj/LnUeZRNwCexmBLJDB1BhI
OllGo0AN82lC+EyyyLRjkJ9hoD6icM/ivYWphejWwSwm05+ETYCwVuDfgcKhEphgeFYURQ5tsSIo
wWGYoopPShFxHUcHVsiyLyWbROPXOss1/tSxYZXFgTEFhfHiOyejQB3mh/gWuAcGyFJeSa/0VlKd
pLZ0XjItXn7E2T9HBy+urq5SLv2i++bqjfkmNz5BcZlvxYPBIE/qPpnOIEJllC/KtKWeLTgFSTOe
P+h1la6IW0OX4OBLVB7ESwHWEi2bJqzLuSzevJ2Hw8CZgU6D4cXzCaWzsC/L+Cu+b419fwwPzZyQ
mW7UJruOFcpf/5iT4EFWW0ZLExctKC1bX8PnlzBuNN4lyo489G0iMR2SO+j3T9A0U+aF0U09AkKJ
l4WWbz/AAfwB5MZheHEUrwTYO8OJein/DPqEmCVfYYrlwS838i/E+o9DxeHHuePa8kfIuzgkMlgK
0ClRAhEWlu9zl4byCMKtDEkKnGL2INmQZPkFrAehC5MtlKCEmWO3Re8pCKZm5Um9DjpavRMt04va
2fId8RXKUhe2dkHZ1z6LfhBTvLhjtO5fFBNHlyqQCPcvM73AvdN9fvCscHaW2xHy9NHlOSyXLq/P
ZXaIzl/d3PArJMsQ1aa//wvM/4cxPbtAGoL0jqJrl13/8Mfcp2cGP3wWc4A+AVxZELU9Q9RXYEWH
YhVDMNmsX9FpLfI1qPwtrIAjh6x1+eZcZofo/NXbd/zq0cqNHnI8WC8H4ABQnHtjOkHH4Dm8ytVP
EfccpJyICR9lD6VSolVDib6ZBm0jDSv2k4raIB6/vUrZdgEmnMCCfbMBbmRa34JkvZjka/AwZPvD
FrnF7hwy1zE3ozg3H6snvOE06gVfc1YkDVzC6zBv7rqn6NdriM0fo9DdevX+ty+ffrse8HsnUJEE
5A6R+yGZRS/nB0HA0uHb9z+/evf26svg1+uPg5ubtx/efxl8/NhHVx9+4sOhQfKIqbYeZaIbSTO2
IM14PGmeT48PkS5zC7rMDXSFNODvYJkbHsPK/aRcGdtbyNh+vEqHUBfSSNwD1GtnC846j+cM2/Bs
wK7/mqRVGtdLLhy7tVVVUx9yIrpAymf053K7HrX/5eur7lOLiS042FRWtA+jrOhtQXfv8aGBcwrk
GtoBxlNV2WYRoOxAG7TJx4k5Qr3LDDR13f58IsPZIXK6zdJZVR/D6RGnaQoyPAh+sYeHvmfjowan
KnGwgnLfhJQVUdRtVirqo5YqR7A6+V39fHRYBr/N4kTdtDoBZkoWa5tFgLppFXB8rKJ/IPXkpMk1
mdqutihTkR8gtZKXdGqnBtGVakSvuBRWKmS9V4Po1bCuKVUbDHtxVw3tmlqH7BXxrlVtMhXyrtch
e0W8G9XKfizLIaGsar9QP8svT6B2TzXprKkaXOY+cWnV4WrXjOtvFytt1QDr1AbMyAFmVAesW7PG
+E+E6rHGXm3YtHxs1RmkruxBb/WoTVf3oLaatKbVDW1cGzS9boMc12aQxh60VlccMfegtpriv96u
OWkDLhW+qRXB6ewHjlIRnO4eSqoq8fT2hKciczOU2s3N0KpBotaPRK8GiVa/jVUFRd8DlIrsy6jd
vsQmQ62l8LNqcJl7w1Ulqnb9hlcHrM7+YFVrhRXXCWKXFD9k9vDiKlH19oXKqhCVqdSKalyPrky1
DlRWClUdoLSqfxzDja6aH2qYFVcPWrXSG3Vwj6qpdkyzFuErYr7yzQI8KFUkface6SsynG7lPjuu
znB6dVC/Kvxf71NT7Z229YpdNOy8jwLshMSO93exLWBrdnRpe/9UlNrZHbLSUMi7bd5Wmqzl3u6Q
G6plTdnRsPlulWZiVp+Aual61nY07SbrWX8C5qbq2dgJ8za7oJrJh1kBH1qD+WiXw0ferqtmEtJ5
KiHFu7WaSUi3HAsp2OXVTE56T+Vk7e6wRnKiK+XZyYGYia6WZyaHYiVaSZSMD4cSvSTHGR+O4xjl
WcnBxFezPDM5lDyst8sp1hbbpppJQ6dUGpSm0tAtr3RvNA+9cnloqlsYSlluYWgNZUAtjQG9oQxo
pflCYynQy6OgqX5glOUHK/vbmsmHWTYfjWajXZqDHAQdndLpaLi37FZXbt5F2kw2eiWzYTWZDVMp
g43xgdiGqT6BjTW7XZtJhrbjtoJ4n2kzUe9WbWoNR208QdeooVW1aT4FdFM1vetmx3gXcDNRd56E
uqkG3t01lo0bbOC9J6i6VNCN+D287W0+39Te9Ctlw/lwSMJwNHfdh2v2J55t5ISIBnNS8i9h3+Zz
S+11VVy54mzziaP2mjrq0+DmE3r94afrd4NPgxJ+N2t8iP5+zrnM/wL3/wFQSwMEFAACAAgA/AFI
Q2Cwt9DCAwAAZw8AACwAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9mdW5jdGlvbnMtYWN0dWFs
LnR4dFVUCQADLLFTUiyxU1J1eAsAAQT1AQAABFAAAACtV12PmzoQfc+vsPwSqNYksGGrIOWqVW9W
qtRuo24q9WoVXRkwu74idmTMJttfXwOGQIA0H/clAfucM8OMZxjuP37+AkYjKsn66QMNZzFOpGGu
AGUBF4IEEsSEPcsXYJDdRt2SENg3AAcyxTEYm4P7Gn/DEyopZ4Y5uz1dYfHx8REEPGXSKHS0KA0N
GEDzPE8UaTQSJCKCsIAcJd+2nIh5gGPE8JookYTEkecxHhLDzCPzfqVtsHTtE9ENGWEpBfVTSTzv
3VNN0JzBVxynBK5MD1Q+TJy9E20fsJ8QJrVz2VKywQFBqaAdxv9yVxrZ3gOYhQcCyp8XKTfeaLTd
bi2yw+tNTKyAr0c+XHVabHnTF6QuJ8oY+F6W4bqFA+FEhY89K+kNFvhwLcumSit9xX5MdDb05hiE
9FVlshbc4QN+GFbxHY6HDYLdQfjMIsqofOtnoS4a6ubVfXcsF7wDjtnhAnKaYmPLPeb1DDTxEY4T
0m8YFv+wqtQsrk96UyVkueXw7FplAZY6RTcAevCm1HVW1RNiIRO0pfLFgBHnyMdCwbJLqNwXmCZK
ey4EFx5Y/rOY/zv//t0Df3/7Cn4usHJgvgvIJmsmwHWOS2Z/F0qqJ5GYsqShpy7+Vz0fXfLIRQ5T
v8gU8knEBcl1PU8Lex40T8Eh1MbhSKoW9ke5DliHmgFt53biql3nyNYNuO3ftS1XQay7fsQ45xcn
oWO3KMsMUy+OWl3YzrDfeiXQbwFlvbqr+nNAzVC/mbJ57HV6oXcKYx71t9EbUVG2JaKr2EuIOXPP
rHfGxRrH9BdB+dvAgAAAzoj6lVuufg/MHcJN1bLgPU/FuX1GCsySGEtlEftBSKLs+OVX2cXu7Vdp
2Oc8JpgZ9oVlW/LH1/Kr03GNSsDDKxVCHlypAOG1Alc0esZl/p67NJ1SpOrUXdZx87epUR1oNcLh
rPAIg8dnYrdjJi7J8wf04xGeO1MflpF630qyU7O5Vv1voyTNdrWtmiMQfeHsmTfaU32e0LMsRDZR
beP49FQ0g4JQxNhsrOnYNRcbI/1+kMs+FzTCnE3yunGanjtdLXVd6RXZijkXhm1Np9pAsYDylZoY
2o/ZE2c6md69d6auHmYIjfPBai9SLrVl7F4Zob5fQiXiao3iHmULfxSoh6bglY3khGlWG26/l8qZ
tPaB0fCszUB9lPKQWDas48eWffj1UiJtC5qd58zKdk4f0itaZvp8mm1dZg3ZJ9VCkgYBSZIojeO3
BRZZs6FJ3n4Gg+X8cQk+ffu6+DJfzgeD31BLAwQUAAIACAD8AUhDu6ZKPdoEAAC0FAAAKgAcAGZh
c3QveHBhdGgvcHktZG9tLXhwYXRoL2Z1bmN0aW9ucy1kaWZmLnR4dFVUCQADLLFTUiyxU1J1eAsA
AQT1AQAABFAAAAC9WFtvozgUfs+vsHgpTGIIaegoSFl1dicjjWamU7XdnV1V0cqAaVkROzKmSefX
r7kYMCE0l9W+ADn+zufv+HLsEwghsP6gcbrCifURcWQtftxbP7D3JeLl69c0igPrDscYJdiK0StN
OeQ44ZDhJI15YoUo4dZ2jfiztX6FAV3B4keYEp9HlCQQb9fY5zgw+ZYPhsPh/9En8nmK4rzH62sA
7ZE9BsP8eX09gLcf7u+BZUUcrx6vo2AeCz7dWKoNa5pEGZluzC+Xg+GnD5+/dviAiPiUMREgiDF5
4s9Al/ECewQKHWBsqAQK98EUIJfn05RwvSAStpw2CnTN14zDmaSXZTEcYoaJj3u9L3d1xNRHMSRo
hQVLguPQdQkNsG7kw/N+aZTDSdKVh1k3xkKcs8hLOXbdd48NRmOuvaA4xdpSjty5NC6ogplO6mg6
gkFeggmXYWa2ZI18DFMWdXT/i7OU0N1GgEjQYhCSnjlfu5a12WxMvEWrdYxNn64sT1sWi3U6smdi
teYvsVxrHW1tiYiaPAlRa8TQjjGbTjGv0QvyYixno2wdgyB6yeZSsdqdVliZi5loUTQG9uIG3VxU
Y3sxvlA97A6PzySMSMRfe9xglx/sdlSGYGI64B2YdAYJd83zDNohWECVnsem0xtkxtN0CFGc4B6Z
WvHWjCr/ZNP5WLaK9fKwoVqdgboaj04hxEe8XDcjoLnaSBJPlvW4IMYTuIn4s66FlEIPMYHLPrW3
MNlLYkRnHEUkUQDiox/gwawXObI9SlzAUJSIOBeMUeaCh79uF38v7u5c8PH7N/DnrTgXwGLr43WW
b4EzeYMzV34i5/5I/0vCfGSOJixXXOoVKwd6OKQM58SuWzK7rmYcBISwA4hCLvLzLmGW0i6dkWOD
YfGqUlrlq2v25HLqCBeRmS+N/c226QiMedUDGecMcG9zkUtyULkSekHNjdzYw/bkokdlxdAjBGan
UDuzvgFriskBDUU9emQCbfS3F3slQEZ/aOpBA4uEIyGdSUxijLnTmcea7UemMkLZCsXRTwzzI1bX
AACUYPHkGyqebUFtvCHStfaJpqydYXuAR0rkDJEkRlyIQ54f4DDbGvlX9rF9/Vlp9CgVl16i223D
eMegri9p9mnQNgXUb5u0nQ6VpE4oz0+xSgVnqYi/HJ5a44lJrY7pXIJqV5xFk43ZmRTZGJ9JoWln
M5xzHNZzfiJBsUZOPJbyG5Je71Rxh0dZ1sFEa1Rl0rq4gb/f1w3tjSquNRxvRW1Wwv9ZC6yxu5+X
rQtgWWBo0MYijdUFmyKmb+s7XeVeW/SR9eLpwSnX8uiZkieqnBbKpbUVe++VHjSrumLaDdVYTmfL
KitW2KpSsnq4hBjzab6nJ8vWRXwvrKl00nkarupSuVhrMaVMt83ZTEopLLAwFd02TY0uYF04Tiez
6ezq/WTmyDs1juL8/t9gljaFWzU22e397EwU/YHgdiR1YYANSzlURYPMjSq8Vd9JDtUq14JpVxfw
Rmdv6lXmrSXmgFJRFdpwkPVeo3RXxe26wL0+zRgbDmPT3vlnQEJtU9uTMMysaV9b1sOeNtvs8YN2
nYM6+zu87Fa1HO9X6DyhP2gflkuS1PdxkoRpHL/eIpadH1GSnygDMAAPi/sH8Nv3b7dfFw+Lwb9Q
SwMEFAACAAgA/AFIQ4x11KrnAgAAZAkAAC4AHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9mdW5j
dGlvbnMtZXhwZWN0ZWQudHh0VVQJAAMssVNSLLFTUnV4CwABBPUBAAAEUAAAAI1W32/aMBB+56+w
/JRUdUKgdGokplUTlSZ1GxLsqeLBSS5tJmMjxym0f/2cHw6JCbAXsL/77rvz2T5n+bhaId/PFGxf
vmXJnNFcOe5mtOzgO5FnKhPccefTxhKLgiuntrujp8cfzyhLHBxjF2U8FlJCrBAD/qrekAOHnZ5C
goJbRGNVUIbGRyffl5CCBB7DRedp17lKgomYMsLpFrRIDiwNQy4ScNxqJV82DY0X2wjkMMWnSsks
KhSE4c1LR9Cd43fKCsCbgWA0yoErI6+hfEdjIIXMBqJ8nRmJUxuiPLEEdOA3pXah7+/3ew8OdLtj
4MVi60d4MxjxJJuL1bBsZrFRWG5lN4IlnOs68VctvaOS2li5bXr/sncaMegbxyjJ3tsta8BgCCSD
6MSboRs0GfInJ+jcJuL6H7eLL7N/aYx62eu9wO2R5jFVzQJvEQ7xreFPNq0qlSon+0y9OTgVgkRU
alo5xFco5Z/bRlI043nPrgcX7RE5hiiiegUkglRIqHhh2BDD8P94hJzyaKr0TbkqN0AbUHNwMJne
zbR1csF0i6bnrYE30xTv/jxjfNG/OXyXY7S08xxyp/MMrrICE+4q9V5zLqfUO8ek7oaGMXSaDcWd
z8wlFnJLWfYJpGoWDkYICQ76V+2F/rVkbLqrbxN+EoU0F0RJynNGlVaiUZxAWu57NSoHh49PIxgJ
wYByJ7DmY3veq5JBY5FYSCJiC8F2qO4N5EJVrcCEV7LQq6nHKWV5O/F93fJpWXjg+PjmGXDxi/xZ
tbhdHt0oFBz0W9mw/+401T2t4qbfkJrHCJMA9D72X6g60T7WJGw/ZfW7azXh8q1uGO78rirusXMV
275byoSQTuA9PPQA0kF0Q2dVXz2FujSpvwUSTZr15uQINBnWuNn0vnPvJBiBHmgK5wXYQgIPD9fY
Ky1nTKXMsCnwznuRjlcRx5DnacHYx5LKXH+hZHl11kaj9WK1Rt9//1w+L9aL0egfUEsDBBQAAgAI
APwBSEP4H8ZO2Q4AAPaLAAAyABwAZmFzdC94cGF0aC9weS1kb20teHBhdGgvZnVuY3Rpb25zLXBy
ZXR0eS1kaWZmLmh0bWxVVAkAAyyxU1IssVNSdXgLAAEE9QEAAARQAAAA5V19c5tGGv8/n4JJ5mo7
YxAgQC9+uWtje9q5Ns3UuevdZDKdRSwWCQIVVn7J3X33e5ZdECAhNhLIxmmnRcCy+/ye92d3wadT
MvPPX5xOMXLgMMMESZMpimJMzg4WxJWHB3A5Jg8+Pn8x9r3g87E0vvVij2BH+s8LCf4h+J7IDp6E
ESJeGIylIAzwSXLLDiMHR7IdEhLOxpI2v5cc+I2dkxf/e8G6451MQj+MxtIrtT9K7ilXno8vPNfl
9200+XwThYvAkdOm7pD+mx+IjRCHvudIrxzHYffcMCCyi2ae/zCWZmEQxnM04QTOUHTjAckankkq
uzQPAVyCI8I+ILrFCUFTrURpv99f03+MgliOceS5uZux9wUnY+QHlX3skrGkKmZ63fHiuY+gE4Js
H8sT7Pvsxp3nkCl0oKp/4TQix/GCm+xpRh8XD/1VlBAn2QumQBjJmk/DWxyVUJmmeVLFcIwZKxQq
l59hrJg/7PohAiiRdzMlRenRVm+ABcgLsqFCYL9HAKZaA5ujlJN+C5y6mwI6OZEjVbe7CM2XlF3j
CZVfpeIkDxfVpqwyXG9TvoNSqfN7NsLl/RxEDP0DNHwsKfRQRlhJXuw52H6g/5cSUn/ww8nndygi
CkAdu14UE3ky9XynkrF0uGt4/nhTZxGegWiPa8bjY6Ts9wJQHyzbtElB7cxU60BbiDdBvox87wbs
g4RrYEWYavuPKHB8nLKD90NZSM+nmAl0qc+TRRRT0VCyy1aIbJDOIpUYjJkpDjOghLxNVBT0fFUd
biL8cFJSTMWskxdjsaSQsJbNihuFsxKzuY+kY1Cuv13MbByBNuG8drGrKeGrrpRr7WhUcIKpuaxz
haklG4ZRsr1V6Wc+hnZkMhNgZpA5fa4HXD3XqQgjt6BOfe6wcsATiGsdDgsUlWzZ4KTmEbVOSiZn
YOpNuNakQAq2Cg/JzFqTW8DP5BRwRBh9lukFRpA3Qze4IJmxpGcMt31EuUgbTsA1AA1ACv8llXEv
pTI0RpW+18Xu0gFQtYIesxCZs+Y1jzquU3wUhB1XNx/h0cmmuJ71xL1Mng5uFdUh23FWOpAc7Fc/
gUe11PReS9eL+TyMCETbiGsyMHU2wwGJpdc9GA8tyDRk/GYRmSY0oPUE9HSSSip5IGlTkQNkbSgx
CFQiaZy6MytVbOpukO+/SSlY21pnsWyG7uVSeJ9BbsAv6WoWd8pDA983jpNZdmbShWHW0amEc8zC
pnyH7c8ekUlEzY5xghEuKXp8koNhcNCvYoLIIv5hYUMMz+KhQq1nLTn0ERKGvo2i4v10aNfHiYUu
b8zCL9nVzDn1mR3zXIr+TLMF+rs6LazyHBvTuaVauN49Zv1wf6wWISkoyUGYma1G8TsPfEFUUrWs
zy+yFzj4HpzUBmjLQJgjYR0u7owK4W3IvVhAyeQGuzY0wXh2eF9LqLUkVGNKnAYhdpYQy39nEYyf
ZgRnmVlhaM+N0IxRWLKTYhqRs5E3FZ52lTcPkGuGdzzWYx8SR8iZBQKTNbpaqhePyRU3E0YU72Vp
pLOaHheTY94HY9+qDlemBE7qZ9kw36dOIS131Pzd92mMLNUl1iB1aKtkbjCSXMUTzxDL5fM+Nwgj
uHxS4WU4fpqCxesGZzhSu1bXNfGRjf0xcsHCjlceZ9eTTpKAHADUl9J/pZcnL7JAnAvf5ad9BBl6
6MrkYY7XdvWykiLesFTmTrGfOMgsGUU0Ga2IUa9mOI7TxKOSz+vEkrOO68RRi4RCCDGQEN164SJ+
k12BZPYLDt7kguW6OJ+mHOUQkw8u1JeD1iaakPp2fs41kTuRfhoDhajhqgE5DibUJgrhgqd9FUlf
Ps7aC7CqIO930vjueLdjN5xwHoYLQv1F3vxsf5FEEn4L9MUFWiCCaSmQfLBMeoEc5v0Us5F6PNLe
AP0UAwklAvds1pqrWizdeoj6ZPIL1wkg1o7COxA4ZAJTBM/ypMgjCk2CMhyGybP4LBXh56l3oIks
/U8tBtF0Wqec4888B6osBowKKE6L7zURBfKwMEa3wHvgAC7FlXyltxLqZE3ps5RpOfmRRv81Mnh1
cXGRM+lXw6uLK/NqrX+C5HK9Fl9eXq6jeoxnc/BQBeHzNK3UUoGfQGnB8i9HQ3XI/dbExyj6I0kP
0lKAXknKpiltctrjM2+n8STy5iDTaHL2ckrIPB73eugTulduwvAGHpp7MVXd5FrP9+y49+nPBY4e
eppiKDo/USC1VD7FL8+h36S/c6nY8yR0sExliO+g3V9B0lSYZ8Yw9wgQxScL7dB5gAPYA9CN4vjs
IK0E6JzhVDvv/RPkCT6rd4EI6l3+ft37Hdt/9wg//LDwfKf3G8RdFOMeaAqwUyYYPCyU7wufxD0X
3G0PghQYxfxBdiDIshN3EbD8SoYEZoF8hdwTIEsrUpObDDpYvZMU6VXXafEusfqk1IRWLlJx0mfZ
DjxKkDZMqv5lKnFwrgEL4f55oRUYd77Nd4Edz0/WNoQofXB+CsXS+bvTHj0kv7+/vmZnUq8HPm32
4W+ec0aj1OHRR94NCAzobwqFvhcUqVM4PDrrr+BIDtViA/dQLzPeaCPUDTBCAckyqBCHzq9Oe/SQ
/P7+p5/Z2TqBJde9AIrcCPQWMurghkylQ3w/Z6mpdiwxhZfUI97nV8m4UdT6LqiLAt4d94pO5Hwr
0MNur/JIzBHEUyir65WqlrV9Aa72q7n6DswE4sgiIIeMi0dfJf1a8gwB8oxq8q5AyJLnHH735yIk
JxN2OBIXa5NQTAEoZj2UXi/CLo5wMMEbgfRbA2IJALFqVAb0GLK1AMpoAARlrjseBxDoD48S3zP4
eLRXY2o4qg7ajUdB0sV6vvUQIZEHhQIej19/yHH56Iwp/y2CSoD9FGDyY0exwVb+vEEG0f7GUmZU
hr60qg47/aEA64dfYcFQJUH917CbGQkQOaohkpKXlNTyIvLWKMR3N+TE/Ngw4Zoqkp+pNaSvEiuh
wCkhSpWWll9Qfd3d3Sn4Hs3mPk4qL5vr8S5Kyg921Gwh05QqayIZgmYI6ElLaqyJxH3NrCEwBqcV
3IAGz1GEmqZQJKBrliiFNCeB5MS7pVsnOh3HtZYDOWeZKlFqvzJLE8Yw3AsGrVUMo71gkKtAPL3i
fru8qKxvpeTm4C16e5DlNwfqwaOX89pwF5xaFc6fAtcLPPLwxMCOdgErV6KVvwJuJ7JXXSS/0lWx
eKUrpvRa0jsdp3Rtjz5e1ttx8rq+JxBnItJ+bA+va7t7PiqpFWegKubTcnu6vhvSRJxlmC7yY/xs
/J3IHK3eF/N3rCJkJ3w6tNOuz2h77YcWXB8489Jy+/1dKFpZP7ojMbZcEqnB/Y0sj+gi1btu1i6Q
BBNEePV+LDEejtnhOOW13u1Jb91qO34D0bF855Epd2JuGMo2ilI2Zhcr3FozKAdPAmV2oSWULU8a
TBhB8SaIcKlViKPHh2jLoWgIfvQwYm2ZpX2t0bJMLkJeDEHkMoroBqX3/353+cflb7+NpYtff5H+
9Q5BpLm8n+B58k6VqT9+Djtokzs5Y+8md7abxflKJ9FN1oxaY03OuTTHmm5saRGZH+rXzg8tbJb9
yjZ2wwgveT0erzB7PN4mVtUjEZnY6WtNIpHldpCIzO70dWEkyT737UTyjBY/+yLVSd8U5Srnp6b3
DTNlpn4s9ZvWBZFKoW/tQrWmmEC6YjVNuUj23x/sQrm6jt9dqgP7bS84buQeWwQR4uFjp9T9LRe3
RPGX50Rz06Ga3uX50L5I6dYf7eQ/MlZ22hYN9RFtUaab5TqzpG6ozVtjkQNle0ya5oyyyyZpiCSq
hraLSaYL3NU6tSMEkQzV0HeBYAHtTVMtsjZk9Hf1hU1TLbSt3xBa0ZLZ0sMq5d323OYe17VSFh6d
mU9/Qcswd1/QKgD+RlayDJGqy6irutib8t4X/qYytzr6oSIgSJLIXQj/fw72N9iL/ZXZeSSdce5d
hYuoK2vMxmAXkxTjwbdipSLVs1H3bkby9QofkdQ+kT1xsFucH0uuFS/dP3x5Dqbb8sqeHYYAPjjU
2lmYNNX9kN/SXm1T2xP5bW44N/X9gJiETksA+vsB4ISTlgAY+wHA/F2bGw1Mc59IWt7+Yra8yScI
SbKlsy3f2nJWR6IF5C9PP1/bbtU5F/g6udhuqjvBVrsKW9sNdnH+smvg9Z3AJwG6m8D7OwFPAns3
gRs7AS8mBN3kgNkAB7q+Jc/cbsNiLgHpJuztpmJ44vKNbRQzRSZbzLrJluRdo8NOT5mYo7ZnO19/
8FG2vIQD7lra+Rycpe4VzeVb+R/X7QLS2q66ijOwh70efebwKA/z0zzFeLQ6ZfuxnXrN2s87ofx7
QXwDpIbTBcSnX8mZoy1n3qvssW6a3XxKX/uz1CbQF+23U587tLQtk5wG7H3l4xHeNAxuwvoNLfvk
z07vFle7he0+nNGJnMgSmTm26jaUcNaxtLLpzw+KTA1bhhiFPHlrmkSROV/LFCOx4ruaXcovLWsv
cZx/x5Xz7ejMSKau9A5859CydnFU1bjLjkp/JvsNLZGJfKt+I/6sna/WWiKFpVVbWPphGB1qymjU
beNvubhkbJLF+PTohr5dwl7AWDJqeflNUkMfGSNroI/MDtv2QKR8H9S9vjfBnp98IKbr5jNoufhP
GdURAxpsV/KUUJZNSHtmJiQybzKo28ue/OURMCCz2/bT8lYYxiV5HZuaod/YS+7MYKSLvS1BMfch
ilY/RTqw9qNNrWLYz/fp2WyJonXlEyeD7VbM8/a/fVjZJ05jl1qz7Cee/DdkB+YOYq16eS/9pGrd
XwPYJ05rJ/WtACo/RaQ7/VWIslsqAVYV7Vn8iYeByBTEYCg2BcnfrVOewdsBg9H+lxSVjHPtBPSh
+giYMgtqCZO2f0ya0rKcHmE5W5G1zqxmD0aNLdflTe7JpyhDtTncObN8+ri1xnDnTffp425uWTpv
3s94VXooMokzrP/MwWSC49hd+P4DkEc3OXpxsvex2eWfociUzXBTGdYsOSLTLsMNZdL7y+v30ptf
f3n38+X7ywY+p5Yekj/We9qbkpl//uL/UEsDBBQAAgAIAPwBSENoCwv6tQEAANQFAAAoABwAZmFz
dC94cGF0aC9weS1kb20teHBhdGgvcGF0aHMtYWN0dWFsLnR4dFVUCQADLLFTUiyxU1J1eAsAAQT1
AQAABFAAAACtVE1LAzEQve+vCF5sxVJb7cGFCqIrCH4U2pvsIU2mbSAmIZnV+u9N12y7sXVtUVgI
eTP7XuZNJqPr8ZiwhZA8TQ21NBnVgJNoh7DEVjuClOZQQRTRimmB4GH6CltgIOPgGChOFdYFqWLg
UNs05eItubu+f1hDHf85kLMylBJLhQNOMmt9NnnSOC6M0RaBB+j2+ZFkSwYGhVbk8rvqhm6j/ts+
VMsW1CDY7u4SKs+6W252w7L7vwjWUjisGATCa8S9+unFaCdWpbXaw17+ZdUPYUmdb1hOhGLaWmBI
JKg5LkgLlsZvvY29U0IZFlSSs/YeXJ3ev7BdNdP06zRl/TMtpX4Xat5xYir9um7GNzvKbONpge+R
XR4x8n8m5oWFetpF/8CSq+5xzbrxxanTDvIq6DyRx+rB/h9crk0cfhgYHr1Tq7wHR3ksv7dC0wUc
5A160dkqC6q3RKCE4fG9Qqt5URpwfOCdaCCOpU9evuY5ZBJtw4BTY3zfxbJR+Hwt3GsfSLtzFv1M
k7Oa4EYpEK31wj6U6wrm30M3K6T8GFG7egOFI2gLSJJJNp6Qm+fH0UM2yZLkE1BLAwQUAAIACAD8
AUhDqcZZ0jICAAAsCAAAJgAcAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL3BhdGhzLWRpZmYudHh0
VVQJAAMssVNSLbFTUnV4CwABBPUBAAAEUAAAALVVUW/aMBB+z6+w+lJo8FLY2qmRqOjWTKrWrmig
9aHiwSQHWDKxZV9a+PczjUMDpSFonYRifHf57r7vzg6llAR/pMjmYIJrhiyIHgbBA4x/cnTLt4yL
JPgNApiBQLClzJAiGKQaTCbQBBNmMFgohrNALWki59Rt7MNQWCiIEZJPuEDP9/3/nY/FmDHxkq3X
I/S89ZX4q0ev55H+1WBAGKLm4wwhDE+cKQETQ5qwFMNQMc2KyDS2eaUOw4Q/eXTDRu3PgJjkPv/H
1c3tbl9INOMGEhJpbaHIL4mDTCmprSbOdH1/R6JFDAq5TMnFm6Je8UrFVRlWxNvnrfYF8fNlTT54
h+qGXQpuFY5nthFhyBHmLshZVq89Kmn4qtxGs9seOW3e8Qvbr0azVhDdg3Vp/bnW1bkIT2OptR08
IiCd4ow0ijkk7RbJZ4ScNuuA2Zo+BO6yGqdTxsn1nkgh5DNPp9TwsbBrGMYzphD0lvx5uLLAkNQI
p29bPuHTTEM57ktnHej4JDIu/u7APRsVTmMJWVvZ2dnV1tJBxKWC7tEz06kt+2i0ietU3V/vgW36
EF7/MBp1+ddOUXlKz0YVCTe7U6jgtshRQPf4JkUtk+xFg+OtY1jnjQOHvwJ5q9yTx/zqc6FEancX
MqXsvPDFwfG7bq8Nvvshqth+XrNtNw/F3XnZ2SuanJYyvqZyQOuEbl+IbLLYfrLMJBNi2Wd69Zni
hqDOwCMeGUaDIfl+f9e/jYaR9xdQSwMEFAACAAgA/AFIQ1XEeWZFAQAALgQAACoAHABmYXN0L3hw
YXRoL3B5LWRvbS14cGF0aC9wYXRocy1leHBlY3RlZC50eHRVVAkAAyyxU1IssVNSdXgLAAEE9QEA
AARQAAAAlVNda8IwFH3vryi++AGlTOZLwcEYPgw2VtA36UNMbjUQk5DcTv33i1szE+yqg0LIOSen
p6c35fNymdIdF6woNDEkKQNgEu0QjjgaR5BUDDxEEA3fNAgOJnu4AlszBpaCZERi+EIiKVhUpigY
/4yhzD0WRB1QF48LefG6tW+z0x3RCCbvDuQbyK+6ydul+1wEK8EtegeOsI+8z4fWWlmOXMnReP5Q
9dKCWFf/PZqs3+nJ07USQh243GaWb4Rbf0vpiqUNUGD3qqMear5tDISyx6nXtRmZonn8Y0L5rPKk
BXrGQnLa8bXB3OFJw3xwIEa6zIMqtu1tc1b1+HTN0trfFI4C5sNXiUax5jvw8PaBWDFZ/8xtq0yV
aQeZaO165cf/yv+cJdtQd9Ns3QhxKomxwFJuUzQNJMlqsVylLx/v5dtitUiSL1BLAwQUAAIACAD9
AUhDw5X64BcKAAC5OAAALgAcAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL3BhdGhzLXByZXR0eS1k
aWZmLmh0bWxVVAkAAy2xU1ItsVNSdXgLAAEE9QEAAARQAAAA5Vttc5s6Fv6eX8E0s03bCdjYceqX
xDtt4sze2fbezKaz98Odzo4AYasFxJVE4nR3//seIYEBg6FN0tazfTMgIT3n6JzzPJKbs5UIg/nB
2QojDz5CLJDhrhDjWJwfJcI3x0fwmIv7AM8PpgGJPh8b01vCicCe8e8DA34JvBamh13KkCA0mhoR
jfAsbXIo8zAzHSoEDaeGHa8ND66xNzv474EaTg/i0oCyqXHYH07SNuuKBPiS+L5ud5D7ecloEnlm
1tUfy9/FidQMnAbEMw49z1NtPo2E6aOQBPdTI6QR5TFyNcAQsSUByDYOjb56FFMwLrWD4QAsusUp
oJVdQTocDmvG5yjiJseM+IVGTr7gdI7ipGaAfTE1+tYoe+4RHgcIBhHICbDp4iBQDXfEEysYoN//
i8aIPI9Ey/xthU8vj7wqr5CGTKIVABN59xW9xaxi1Wg0mjU5HGPlCkuuyzuYi+uX/YAiMIWR5UqU
V0/2ugAXIBLlU1FwPxFgZr/FbG2lmY5b8tTdCqwz03WU4XbHULxBdoNduX6NgZO+XA6basjouM38
DkHVj9dqhsU6hiWG8cE0fGxY8qNqYSM8Tjzs3Mt/jRTq24C6n68RExaYOvUJ48J0VyTwGh0rp7uB
9493DcZwCEt73DKfniNzP4kgfLDpyC6lsBtlUQfRIoiLAhMFZAn5IWiNWQzLaP8birwAZ+7Q40gX
yvsVVgu6iWc3YVwujYRdzULkwOok2YrBnHngqARK4e1CUYrz7XBYMnw/qwSmNWpbL+ViwxK01c2W
z2hYcbaukXIO6fVfk9DBDKIJF6NLPc2Ab5dSHbWTSakIZulSVwqzTD45Oank3vbq5zVGDjRSKaDS
IC/6Og50eNaFiIJbCqehLlgFw1MTawuOIopGt+woUjGT2Slhagdm1URHTWZIKVfhJVNla9oE/kxv
wQ6G0WdTPlCASIiWuLQyU2OQO9wJkPSi7OhCaQAMAEVfGVW7N6syPpk01l4f+5sCIMMKRswpspDN
Na96vld+FRabN3ef4MlsF6/nI+kqU8Shs6KZsj1vawDDw0HzG3jSiqb3yrhJ4pgyAWzLdCSDU8MQ
R4Ibr3owH0rEiip/K0aWggaiXkCcutlKpS+kfRo0QN5HgkEQEmnnrJydZoEtyw0KgosMQW3vgeKy
EK3NCr2HoA30o0E/553q1OD3nfPkmZ2ndGmaOpwWjbGiTfMOO5+JMAWTaac8oYAb1oDPCmacaKMP
uUAi4W8TBzg850NLZk8tHPmKoDRwECu3Z1P7AU4zdNMQ0i/507w4DVUeay0lLzO1IK+bZWFT5dgp
5zZh4ZM1VuPoetwvm2ShVIOoNNtm8TsCtYBVQi0f84tJIg+voUjtMG1DhAUIdXbpYlSit7GuYpGE
qRO2lppgPoeuW4GeboDaKogzElJ3KVh9nTOYvs0B58qsNDXxGQoVwkqelGVEIUcuGirttm/uQWvS
O831OADhCJq5AzGdTq424aU5uaExdUS5LZeR3rY8LotjPYZy33YMN0oCL6uzapo3WVHItjv9YuuH
jCMr+5LT11lB24a5I0kKOx4eIqXlizU3ogwezxqqjLZfSjBeN7myI8vrfl2XADk4mCIfMux463X1
PB0kJeQITH1m/Md4NjvIibhA39W3AwQKnfqmuI9x7VDPGhHpjpVt7goHaYHMxSiSYrSBow5DzHkm
PBr9XLcshey4SQt1FyoEigFBdEtowi/yJyBmv+DookCWdTyfSY4qxRTJRdZyiNo0ErLaru91JOoi
Msw4sBMaHRqgcbCQOVGiCy37GkRfkWedBLIqKtadjN89cjv1qat9SBMh60Ux/ZwgSZlEN0G8+IAF
GMzODCmSZToKaJgPK6xm6mmmXQJ+aYOghoA2R/XWocaNW4JkTRbvdUwAWIfRO1hwUAIrBO9qUUSE
JUVQbsfJSKv4XIro+6w6SCEr//bLJJod61Q1fkg82GUpw+QC8WzzXcMooMMoR7fge/AArvBKcae3
RXWmbQ2VZNocfmTsX7MGh5eXl4WUPhxfXV6NrmrrE4jL+iheLBZ1qKc4jKFClRZfy7RKTwsuAWkp
8xeTcX+s65YbYMT+lcqDbCsgn6TbppXsctbTJ29n3GUkhjVl7vmzlRAxn/Z66BNaW0tKl/BSTLgM
3fRZLyAO7336M8HsvmdbJ9ZA31ggLa1P/Nkcxk3HmxvlkV3qYVOuIb6Dfn+FlZaLeX4yLrwCoPRh
oUO9e/iAfADciPPzo2wnIM8MV/a8909YT6hZvUskUG/x+03vd+z8nQj98TYhgdf7B/Au4rgHkQLu
NAWGCgvb9yQQvOdDue0BSUFSxPemBySrb+AfboJ4SVBgibUASHYZSeEg6Gi7Jd2gNz2XG3eDr0BJ
e5UuctdilA580sNRINGsR7rV3+iHo/kp+A3a56VekNHtfYCVj+bXb25uDCQEI1CP8HT6SneFRQBc
D0b3ugO61y3oPMxdHHkI6G8aI4YeF+G4A8Jxm/8iF4IKsm8KWKrw0o8iyEJSHs1187Yp3aJI7XBb
o6jQb6czJh2c8TxyeDxr9sgZbLfn12ARfKTX4CF1l/vJhD+ghv1u/ipbDLW53VzdaaetO+ygHZyi
bAURML8668mP9PrNL+/UXYOtsgk2aohw2AcsGJMV+1cq9PEC9vSjy9/eG4u1i+P0nHmiJ/iegfVY
5cnud/BwQ6e6ErBx5+OXAtvugtVuwfpk6AZd0A2+Gd3XhJP+cNjPyYl2F1K021ix97TEY3fhRvv1
14AEYQpyJv1+ZzqFDUj4yIi7cKXdRpYannToH5k0f/Hy3P64z8RpPzFzNjhNnha8ePnxq5a5q0mD
/g80ybSfyCj7Rxj1fClmHeL7Rwsd+9uUTktspn1I5FLGgBqMAEdLsTJe4HWsTkPtY0Pts4z+y3qh
8x1dMOg/vgtkLO+XE+xHdIKO/TYHDFodsBdyd9BFpA3aRJpP5bcG8rtkTpxAHkVN3RWKBWa7GfOB
2IddsA9bsMewvtj7euz7xPaDk6dlkZKo88kyYbjovJPBE5Hj6InN0hXCo252WRMao49ZI1dbiWLj
U1l++v1kQeGwTX7Jc/78z4SK2R1iESSLuvlY9sdPLxwa8qGNMDqE+X7x5ujb3PAoabFfnjp9sML4
hjR6uIv2Q4N0OVgYvP62bfroYyfP7zW7j78LGWQ5rm8FEQE+P/olEox6iTpD24PKP35IIndywf/L
zqHLCdJg0i1r6xy71zk5/D6HUa/+UOfj2n8GZfrAHMUxCBWyfhr5ObR/Eus6nC3+dCVo+KAjmw4r
3laAhnkBsn+8shraT+uN5hM+IX/CqeCnjYP0aLmb9P0+V+thl3OeYeuXcYnrYs79JAjur+WPxHkG
4YZgCX7ck51hl5Od4Y6TnUeG0+X4ZLhjT/lhcfPBuPjt/fW7xYfFI3yPmX2k/9/orKd+YvF/UEsD
BBQAAgAIAP0BSEPdPYpyEgEAAFIDAAAtABwAZmFzdC94cGF0aC9weS1kb20teHBhdGgvcHJlZGlj
YXRlcy1hY3R1YWwudHh0VVQJAAMtsVNSLbFTUnV4CwABBPUBAAAEUAAAAK2SUWuDMBDH3/0UR59U
Jplue5E5WobCoGOCfSs+2ORqA2kiSWTdt19ci2v3MNrSp3Bw9/v9j0sxe5sDIdzidjnlDF4ySKCR
DIbiOYPHGrikSmukFgTK1m7Ax13nSmTwcAcNtX0j4D7wyllVAWGKErrhgqXpDzSuvWLvaLXqu0GS
TdpkUpNGUjRW6TQNXdd/mvhYU5wmziYDa62EUJ9ctpHhK+He0X4998lxOzeI7Bbcv9uPiW9GHLNe
Ttyf7oQYOyJDQ1GyRtpI6cigWJ991N+B8NogR/qDVvbbFWqfuA+mOEUy5ZLhLgiTQxz/zPMFF0cy
PXV7mXUvxFfZaOOauAGre/S8RV4t4PXjvZzni9zzvgFQSwMEFAACAAgA/QFIQ2Lb7zuVAQAAvgUA
ACsAHABmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9wcmVkaWNhdGVzLWRpZmYudHh0VVQJAAMtsVNS
LbFTUnV4CwABBPUBAAAEUAAAAL1TSU8CMRS+z6944QSMtQ7qhYgZF0yMGokQPRgOpX1Ak9KSLhH+
vQXZXDKAJl6mafK9b3sdQgjQZ6PCCB29Zp7R5kubvmDvTvrFcRmkEvQJFTKHVLGpCZ54dJ5YdEF5
R/vMeToZMz+k4ykRZkQWF4tCchaxBCdj5B7FoZ/4JE3TfxFl3Aem5pJ5DiQ7yE4gnX/zPCGti3Yb
KJUeR6+5FHDegBowLWB2OWvASTdJby5u74sxIDU31sZwoFAP/BDKy6xwfAAfFuCoksCHnjCc8mEM
V6/PWbPuysnAmjCeyTRKg1qpS5nmMbCx9Xp1E7Y00yjNQH2jlHmTekCc7Kl4fuddD5zGgdgPjw0V
DXw1stLYDl2xr6HLEovjFfWYbfb4dSfbavgDcXFdexNvr/XPlN/r35kSfthoFikFOo5aMO2JscSh
6u/+ctcT1V1ewmf475xv+F341GHUQ1um8bczkiPNpRY4qVRrS//lHXdeWWfYZ2TPHC7w2IbrB6Wm
LWZdREkH3gZMIIFOs92Bq8eH1n2z00zeAVBLAwQUAAIACAD9AUhDj4UiCuEAAAASAgAALwAcAGZh
c3QveHBhdGgvcHktZG9tLXhwYXRoL3ByZWRpY2F0ZXMtZXhwZWN0ZWQudHh0VVQJAAMtsVNSLbFT
UnV4CwABBPUBAAAEUAAAAI2QQYvCMBCF7/kVQ09aKMGyeylbUaQ3ly20t8VDzUxrICaSNKz++01F
q7jgehqG+d57wyuXVQWcy5723wuJMM8hhUYjDMtHDm8bVp4RNIKLnVSYZWd4dj3wzhp/GMR51KXR
hjdakOuNzbL4jrom5NHAtEYp8yN1lzi5VWH+cb3x74E/WBKEz/jHL8aEf8nR+yk5CySSE6Sx0X1i
bOJItS+XcRPEj/Sd7cVO+/2W7ISHwo0UxBdSIx2ncXoRTl6sZzpGOS/CH671Sp3KxjpCkA5664mx
uqhqWH19luuiLhj7BVBLAwQUAAIACAD9AUhDv3OGYg0JAACaLAAAMwAcAGZhc3QveHBhdGgvcHkt
ZG9tLXhwYXRoL3ByZWRpY2F0ZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADLbFTUi2xU1J1eAsAAQT1
AQAABFAAAADlWmtv28gV/e5fQdhonBgmqadjSba7iR9o0Wxr1Eb3QxEUQ3IoTTzkaDlDW85u/3vv
vCiSIiUlcRy4myAhOc/7POfO2CczkdCznZMZRhE8EiyQE85QxrE43c9F7B7vQzMXjxSf7YwpSe8O
nfE94UTgyPltx4E/Ai+EG+GQZUgQlo6dlKV4oroClkU4cwMmBEvGTne+cCJ4x9Fk5787ejmzSMgo
y8bOXqc/Un3eFaH4gsSx6Q9QeDfNWJ5Grh0aH8u/5Y30DpxREjl7URTpvpilwo1RQujj2ElYyvgc
hUbABGVTAiJ3ceJ0dNOcgXJKjwxT0OgeK4Fm3Zqk/X6/YX2OUu5ynJG41MnJZ6z2KG/qUhyLsdPx
hrY9InxOESwiUECxG2JKdccDicQMFuh0/mRkRFFE0mkxW8tn3CPfqh4yIpN0BoKJYviM3eOsptVw
OJy0GRxjbQpP+uUD7MXN5JgyBKpkZDoTVe/JUedgAkTSYisG5icC1OxsUNto6ap1K5Z6mIF2rvKj
DLeHDM2Xkt3gUPqvNXDU5GrY1EPGxK21OwRVZ77QO1wu5uBiWB9Uw4eOJx91DVvF4yTCwaP831Gi
vqcsvLtGmfBA1XFMMi7ccEZo1GpYud0NzD9ct1iGE3Dt4Yb9zB7W/CSF8MFuIIdUwm5oow6iRZAQ
URdRMoX8EKxBrQzLaP8LSiOKrTnMOtKE8nuGtUOX8RzmGZeukWLXsxAF4J3cegz2LAJHJ5ASb50U
lThfDYdphh8ntcD0hpv8pU3seIJtNLMXZyypGdtgpNxDWv3veRLgDKIJl6NLt1rBV6HURO1oVAFB
my5NUGgzeTAY1HJv1fsFxsiFhjoFdBoUoG/iwIRnU4hocSvh1DeAVVJcqdgIOJooWs2yBqTmmcxO
KaYxoEUTEzVWkUquwiRXZ6vqAnuqT9Ajw+jOlQ1aIJKgKa54Zuz0CoMHFEkryoEhQAPIAKKYN6eu
99Irx4NRK/bGOF4CgAwrWLGgyFI2N0yN4qg6FZzN24eP8GiyjteLlQzKlOUwWdFO2VG0soATYdo+
A482SuMfODf5fM4yAWybmUgGoyYJTgV3DnzYD+VixrS9NSPLggaiXkCchtZTaoIa01IDFGOkMAhC
Qg22cHZkA1vCDaL03ErQOLqnuSxBC7dG7wnUBqap1yl4p7412H3tPkVmFyld2aZJTo/NsaZN9wEH
d0S4IpNppy2hBXe8Hp+U1BgYpfe4QCLn7/MAOLzgQ09mT6M4copgjAYoq/bbrWOKVYYuOxL2uWgt
wKmv89jUUvLVVgvyvb0sbEOOteXcMixissB6HYPHnapKHlI1iE6zVRZ/IIAFWS3UijU/uySN8AJA
ao1qSyIsidCklwGjCr0dGxRLpZgmYRupCfYL2GKjoEdLQbs6iC0J6S8lrHkvGMx8FgIXlVllaxJn
KNES1vKkWkaUcuS8BWlXbfMItSZ7MFyPKRSOUDNvQUxHo6tleBlObulUhqj2FWVktFoeV4tjs4Y2
32oMt5YEkcVZvc07Cwr2uNMp995ajqydS47eWkBbFXNNkpROPDxBupYvY27KMmietKCM0V+WYLxp
c62HzetO0xCKAkzHKIYMO1yZrtvVIoqQU1B11/nd2Z3sFERcou/6bIqgQmexKx7nuHGp3VaJzMDa
MXeGqQLIohhFshht4ai9BHNuC49WOze5pZQdNwqot6FCoBgoiO4Jy/l50QLF7GecnpfIsonnbclR
p5gyuUgsh6hVkWCx3XybSDQg0rccuJU0JjSgxsFC5kSFLkzZ11L0lXk2yCGr0jLuWH6PyP04ZqGx
IcuFxIty+gU0V0xiuiBeYpAFGKxrFSmTpVoFapjbGdY7+YZppyC/1EEwR0BfoEebUOPOPUESk8XP
JiZA2CBjD+BwqARmCOaaoogITxZBhR6Doanii1LEfFt0kIWs/Nepkqi91qnX+AmJ4JSlFZMO4vbw
3cAoUIcxju7B9mABXOOV8klvhercrtfXJdPy8sOyf4MP9i4uLkopvXd8dXE1vGrEJygum6P48vKy
SeoxTuaAUBXnmzKtNtKDV5C0kvmXo+POscGtkGKU/UeVB/YoIFvUsWkmh5z45ubthIcZmYNPs/B0
dybEnI99H31CC2/K2BQmzQmXoavafEoC7n/6NcfZo9/1Bl7PfHhQWnqf+O4ZrKvWO3OqK4cswq70
IX6AcX8GT0tnng6OS1NAKHNZGLDoER6QDyA34vx0354E5J3hrHvm/wv8CZjlXyCB/MtfbvxfcPA3
IszjfU5o5P8TeBdx7EOkgDldgQFh4fieU8H9GODWB5KCpJg/uhGQrPnIcAQhCGNdqGByRD2xECBX
typO6TZof7VHndLb2uXp3dEHlNoQeXRxqrc+y3EAKakdqI79y1pi/6wLNoT+s8ooyO7ymFdpwOeT
xoFA0/tnJ3BaOrs+8eVDvb+7udFfju8DqCX//gmi/9VUTE6dngPs7qhvKr8HH8264EJQyD7a9YdE
26y8GbRW8zVasS1MpDUHRD+7OvHlQ72/++sH/bWV5mogSeH8mEFEQLGaTsXMeY0Xc1319Q8dHUpO
543ZZJOxSukL4uluM/aLQ43P4OS22dobLd3bwsi9diNfQzg5fsRCX11DjsfKsN2Pz2qLJ067/vdO
O0kbcxl9p69+zZmYTHv6+dFHaQhwBrg/Pmgw4pNoN3guUDHKFbrFTJ6d5I0aJwGVhNwWLE+i5/CZ
9RxaPYFrQhw9m55HPy5aC49+Xw3f/jgNC19uD2w/mhH7X8mIW4PSJmLsbiTGZ7TG4Bvrgy8AsRdl
l+HT2GUb0HtRdjl68uxpAMkXZZG3T26RBlD9dou8iGL7eAt7H28qtlct27WWjTAPcRqhVLgsczmm
8f9FQT768QX50p4HL6EIGH23IqBmiD9I4nY729xFdLZL3VKamvRM1QqvfThEMxJi/yf1Y7I3B70X
nbbd73x/9fqLy5E3LyF3u193p/WV1vijJPA291zdTRddPA8BBXmcU/p4LX/nNXIId0SW4y8q0DZL
u80VVHfdSe9pxdnmzqi75qh1e3lz65z/4+frD5e3l98SP7WH+oHCia9/Jfl/UEsDBBQAAgAIAP0B
SENqQYG6BAEAANcCAAAsABwAZmFzdC94cGF0aC9zdWJzdHJpbmctbmFuLXBvc2l0aW9uLWFjdHVh
bC50eHRVVAkAAy2xU1ItsVNSdXgLAAEE9QEAAARQAAAAtZLdaoNAEIXvfYohN6tgBX+Sht6FYksg
tRKlP1dl1TFKdVd2dlv69t1EyAOk6c3cnJlzPmamRNLQSgWVOUASrlfRHbzlXHdApiKtenGA1oha
91JAT1Ap+YkCvjtbJk501DOeASfQHcIkqT+1TlzxETWqwHEeNtsdNLI2Iwod4BcfDNfoLs4JLguj
OFkyH4QZK1Qus5bM8xb+eewoDYM/s+2RzKCDotxvs8eP8j1PZ9kLZr8Xm4BAnTRDAxVCAK+W75QR
XEzjQ3x1oL/Q3ERhcpus41Wy/J9F5ZuiuAztmle0P8fYzEKmrpGotT0/OVeEzVHVyqDjlGlRwv3z
U75Ly9RxfgFQSwMEFAACAAgA/QFIQ2BIP5BpAQAAUAUAACoAHABmYXN0L3hwYXRoL3N1YnN0cmlu
Zy1uYW4tcG9zaXRpb24tZGlmZi50eHRVVAkAAy2xU1ItsVNSdXgLAAEE9QEAAARQAAAAxZNPT8JA
EMXvfIqJl0La7QYoSjyB8U+MhhAgoiezbae0cWnJzqzit3cLysV4ASKX3cPbfe+3OzNCCJBPlbZL
JHmtWMmb+VTOMX4o+Hu7soVO5QQ1KkKp1WdlWTASC4NkNZPMFLFcrxTnkmxMbIpyIUpVilVFBRdV
KXC9woQxDXnNDd/3/yNTJWyV3iQOBiDaQR/8ehkMGjBzVpBVBmK7gKjdP+9cwvPYmcHODDJbJrUR
FASxqd6whI/cLStFVOsjNQJFwDnCT6bTjFoiowkb0BDj4XQKaZW4h5Yc4rvSVjE2z3YZTa/d6UY9
L4DSLmM0Tc+Zeq3WWbC7VktaB1u6yebx4XQ2uR/dvc5exjdbuRVu/Z5cAta8nrd/egDdUwOITju6
iPrd86h3FBT/dnj/eIJKUF5ZnUKMEMLc9comI9wf5/DS/CY6COd4hfrjq2D/Jjr+SG1hyCYJEmXu
0OdYGcK0ltlYdDP/BVBLAwQUAAIACAD9AUhDpSz20OkAAACnAgAALgAcAGZhc3QveHBhdGgvc3Vi
c3RyaW5nLW5hbi1wb3NpdGlvbi1leHBlY3RlZC50eHRVVAkAAy2xU1ItsVNSdXgLAAEE9QEAAARQ
AAAAxZFNS8QwEIbv+RXDXtJCLfRj18WbSBFBa9gG0ZOk3em22CYlkyj+e1sL+wME2ctcnpn3eWEk
koPWWKj9CfJkv0tv4FUo1wH5mpzt9QlarxvXGw09QW3NB2r46uYxKaKFl6oEReA6hMlQ/7s6KatG
dGhjxsRtVcHRNH5E7WL8VINXDoPN2RDwJM3yLY9A+7FGG/A5kofhJjqfLWgYorXbAckPLq7k4aG8
f5dvolhxGK95L7MBl7ac/1keQXZh/1Wa5Nf5Ptvl2ws3+aevkG8aJGrnnW+hLOFxoc56ZEwWlYS7
5yfxWMiCsR9QSwMEFAACAAgA/QFIQ/VI1WeoCAAAQiIAADIAHABmYXN0L3hwYXRoL3N1YnN0cmlu
Zy1uYW4tcG9zaXRpb24tcHJldHR5LWRpZmYuaHRtbFVUCQADLbFTUi2xU1J1eAsAAQT1AQAABFAA
AADVWmtz28YV/a5fsSNNQzsjgG+ZImV2bD3STFOPxtLE7afMglgQay2wDHYhUW7733v3BQIgQDJj
xUmtsfDYxz33de5djC5imbD50UVMcAiXhEiMFjHOBJFvO7mMvEkHXgv5zMj8aMpo+nCKpo9UUElC
9O8jBP8kWUsvJAueYUl5OkUpT8lMDwU8C0nmBVxKnkxRf7VGIdyTcHb03yOznd1kwRnPpuikNzzX
Y/4NZeSKRpEdD/DiYZnxPA09NzWaqJ+yICNBcEZDdBKGoRmLeCq9CCeUPU9RwlMuVnhhASY4W1KA
3CcJ6plXKw7KaT0ywkCjR6IBxf0a0uFw2LC/wKnwBMloVBoU9AvRMspCPUYiOUU9f+zeh1SsGIZN
JA4Y8RaEMTPwREMZwwa93l8sRhyGNF0Wqw0+6x51V/WQhUzTGIDJYnrMH0lW02o8Hs/aDE6IMYWv
/PITyBJ2ccQ4BlUyuoxl1Xtq1iWYANO0EMXB/FSCmr09alstPb1vxVJPMWjnaT+qcHvK8GqD7I4s
lP9aA0cvroZNPWRs3Dq7Q1D1Vmsj4Xq9AhfD/qAaOUW+utQ1bIUnaEiCZ/UbaajvGV883OJM+qDq
NKKZkN4ipixsNawSdwfrT3dtlpEEXHu6R56V4cxPUwgf4gVqSiXsxi7qIFokXWDmYUaXkB+SN6iV
ERXtf8NpyIgzh91HmVA9x8Q4dBPPizwTyjUKdj0LcQDeyZ3HQGYROCaBNLxdKCpxvh0Oy4w8z2qB
6Y/3+cuYGPmS7zWzH2U8qRnbcqSSoaz+IU8CkkE0kXJ0mbcO+DaV2qg9P6+QoEuXJip0mTwajWq5
t+39gmPURmOTAiYNCtK3cWDDsylEDNxKOA0tYZUU1yo2Eo4pFK1m2UFSq0xlp4JpDejYxEaNU6SS
q7DIM9mqh8Ce+hH0yAh+8NQLA4gmeEkqnpmiQWHwgGFlRTVxAdQAGACKvUN1vTdemYzOW7k3ItGG
AFRYwY5FiSxlc8PSMAqrS8HZon36OTmf7arrxU6WZco4bFa0l+ww3NoAhYS1ryDne9F0v0d3+WrF
MwnVNrORDEZNEpJKgb7vgjycy5gbe5uKrBoaiHoJcbpwntIL9JyWHqCYo8BgCAk92dHZmQtsRTeY
sUuHoHH2wNSyBK+9WnlPoDewrwa9ou7URYPdd8opMrtI6YqYJpw+XxFTNr0nEjxQ6clMpZ2xhAGO
/IGYldQYWaVPhMQyF+/zAGp4UQ99lT2NcNQSyTkLcFYdd6IjRnSGbgYS/qV4W5DT0OSx7aXUresW
1H17W9jGHDvbuU1YRHRNzD6Wj3tVlXysexCTZttV/IkCF2S1UCv2/OLRNCRrIKkdqm0KYQlCk16W
jCrlbWJZLFUwbcI2liaQF/D1XqBnG6B9E8SuCJknDdbeFxXMPhaAi86sIppGGU4MwlqeVNuIUo5c
tjDttm2eodfkT7bWEwaNI/TMBxSms/ObTXjZmtwyqA1RHSvayHC7Pa42x3YPY77tGG5tCULHs0bM
O0cK7rjTK4/euxpZO5ecvXGEtg1zR5KUTjwiwaaXL3NuyjN4PWthGau/asFEk3Cjh8vrXtMUhgPC
pjiCDDvdWm7e6010QU5B1WP0H3Q8OyoKcal811czDB06jzz5vCKNWx23IrITa8fcmDBNkEUzilUz
2lKjThIihGs8Wu3c5JZSdtxpoj6kFEKJgYbokfJcXBZvoJn9QtLLUrFsqvOu5aiXmHJxUVwOUasj
wXG7fbaRaElk6GrgQWhsaECPQ6TKiUq5sG1fS9NXrrNBDlmVlnnH1feQPk4jvrA25LlUfFFOv4Dl
upLYIYiXCLBABes7RcrFUu8CPcx9TIykrq20S8CvdJAcSRgLzGwbagI9Uqw4Wf7DxgSADTL+BA6H
TiDGsNY2RVT6qgkq9BiNbRdftCL22bGDamTV/161iLrPOvUeP6EhnLKMYspBwh2+GyoK9GFc4Eew
PViA1OpK+aS3Veq8vj80LdPm44er/g0+OLm6uiql9Mnk5upmfNPIT9BcNkfx9fV1E+opSVbAUBXn
2zatNtOHW0Bayfzr80lvYnlrwQjOftHtgTsKqDf62BSrKRdd++XtQiwyugKfZou3x7GUKzHtdvFn
vPaXnC9h0YoKFbr6XZfRQHQ//5qT7Lnb90f+wD740Fr6n8XxHPbV+81RdecFD4mnfEieYN5fwdPK
mW9Hk9ISAGU/FgY8fIYL5APgxkK87biTgPpmGPfn3Z/Bn8BZ3Ssscff60133Ewn+TqW9vM8pC7sf
oe5iQboQKWBOTxJgWDi+50yKbgR024UiBUkh8kDITB3gUpx6Lmg8aGByzHy5lgCrX0VT+hjU2R7R
h/S29+rwjkQM3XRYm6JOLqjy0Ud/IIVC6mbo4/6mh+jM+2A7GJ9XZkFW758DlbkzvweL6JNNkC/R
qD85G0zRP2/BJqiwCYry1Hz0okKxwAP08U8x/FrBPmr8A/6AsNA84kwHY6qzghLmW9ngWVD0q9Ud
HKDuoF3dOhh9KUMqZY2arYe3gR/mYnME3evi0rydqg8PUP27NBCr2Q794Tw8vwWN4KLv393dmScU
QtVRxcknj5jlQDCvvvs153JWxMGrTn8wHI07pyjV0l51wPGd16/NtNNiAzXO2KkJo4862fy7+48/
fvjhl/t/3V6b4de+2fRnkEWQhkJLsATqdOzjbwmfQ005+nOa8hQN/x+tOf6zWtMb9EdvRpPh2Wj8
je26xStVZoAmYz8t2Ek7Tb/DrPwA8jCmh252fnPRVRd9/+7Hn8zTH8sJCoGIec6g6SXIR59wCaNA
WrBvX/2msH5Rw46+qWFfiiH22vaPN+z4Gxv2pcniK8L3d+1KXqrxPDvAh2ftPrwFgv8Kb7043VBD
5i/Zq745wEJv9lhI5IsFnMEjwPt8q/5yIlRIZZaTl8U6OQDr5Pfpq2sXffCD85b+05H/AVBLAwQU
AAIACAD9AUhDnVuq9PoAAACaAgAANAAcAGZhc3QveHBhdGgvc3Vic3RyaW5nLW5vbi1wb3NpdGl2
ZS1wb3N0aW9uLWFjdHVhbC50eHRVVAkAAy2xU1ItsVNSdXgLAAEE9QEAAARQAAAArY/JasMwEIbv
eoohlyTgmKbLob2F4JZA2opYdDkFWR4voEpFMwrk7WvHJbS3hvQ4y798Comh8gGKWMP1/HZ+dQdv
UnMDFAvi0LoaqugMt95B6ZHAeQbjQ0DDdg+NdqXFbulmn55abncIO21j99i7coMw7Du5DnX8QMdC
yEWed27mMKbYCzTjZHTMnIx1YUocJ3AxHSXH1wRctDYZGm6QouU0V5vV08NWvctsOE/TweOlrwEt
wbeXuF+s1n9MnV2eGUuNj7aEAuFgmcKrJkhPAk/g5p/YT0Q/P/gn/S90isYgUdUp9lIHwrIvySGi
ECrLFSyfH+U6U5kQX1BLAwQUAAIACAD9AUhDVJMjeGUBAACYBAAAMgAcAGZhc3QveHBhdGgvc3Vi
c3RyaW5nLW5vbi1wb3NpdGl2ZS1wb3N0aW9uLWRpZmYudHh0VVQJAAMtsVNSLrFTUnV4CwABBPUB
AAAEUAAAAL2TTU+DQBCG7/yKiRc1sKz141BP+IGm8YsUYvVkFhhakpVtmNmm/fcutGn02Nj0AmR2
53lm3gQhBMh3o+03krxXrGQ8SeUE86eaN69bW+tSjlGjIpRarYxlwUgsWiSrmWSliOVyrngmyebE
bd1MRWMaMTdUc73A7oNrV8DlHAvGMuQle77vH9KtCrZK9+YoAjEIhuB3jyjyIHNIqEwLuZ3C5WA4
uLiGj8RBYQuFyjZFB4LSIEFjGArTtm4dvYKZakqN8NsLC6Wtu9hReYawrrt21U7dxg174EFyk6aO
V/SFELsWxXhytLWeHKu8KPE4gLPTo2B7NYDGah2sZxz3UYRpNh69Pn5ln0m8Pj4N14z3bhCoCTYs
T+ygFef78/oPN6PnQ3lpZqwuIUfokSFMFEG4W+QBXO1p+11D35d519D/7/2d+9/QyRYFElWuZZWo
lrDshuTWYvcrZHGawd3bS/IcZ7H3A1BLAwQUAAIACAD9AUhDANswn+UAAACCAgAANgAcAGZhc3Qv
eHBhdGgvc3Vic3RyaW5nLW5vbi1wb3NpdGl2ZS1wb3N0aW9uLWV4cGVjdGVkLnR4dFVUCQADLbFT
Ui2xU1J1eAsAAQT1AQAABFAAAADFj0trwzAQhO/6FUsuSUAxSR+H9laKKYU+TCxKeiqyvLYFqlS0
q0D+feU65B4I9Lg7s/PNKiSGLkRoUg83m7vN9T3sKs0DUGqIo/U9dMkbtsFDG5DABwYTYkTD7gCD
9q3DvPSrn0CW7R5hr13KxjGVB4Rpn8917NM3ehaieqjrnGb+xgLHA824mJ2Yi7luTItzCevlTJ6s
EnxyTk4Nt0jJcVGr7fPb05f6rMpJXhZTxsdYAyzBMesc6urqX7BrCbcXAp/57qXARywlY5Coy65D
pSNhO+ocEwqhylrB4/tr9VKqUohfUEsDBBQAAgAIAP0BSEOu7BY6wwgAACAiAAA6ABwAZmFzdC94
cGF0aC9zdWJzdHJpbmctbm9uLXBvc2l0aXZlLXBvc3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUCQAD
LrFTUi6xU1J1eAsAAQT1AQAABFAAAADVWmtz28YV/a5fsSNNoyRDgKRIynzI7NgS1WbqpBpTE7ef
MgtgQay1wDLYhUS67X/v3QdAAARIdqKmtTwyFvs893XuXYxuIhmz+dlNRHAAj5hIjPwIp4LIt5eZ
DJ3xJXQLuWVkfjZlNHnqoOkzFVSSAP3jDMGPJBvpBMTnKZaUJ1OU8ITM9JDH04Ckjsel5PEU9dcb
FECbBLOzf52Z7ewmPmc8naKL3mCix9x7ysgdDUM77mH/aZXyLAmcfGo4Vv/KB5kTBGc0QBdBEJix
kCfSCXFM2XaKYp5wsca+BRjjdEUBcp/EqGe61hyE03KkhIFEz0QDivo1pIPBoGF/gRPhCJLSsDQo
6Beizygf6jASyinquaO8P6BizTBsIrHHiOMTxszACw1kBBv0en+wGHEQ0GRVrDb4rHlUq2ohC5km
EQCTxfSIP5O0JtVoNJq1KZwQowpX2eUDnCXs4pBxDKKkdBXJqvXUrFtQAaZJcRQH9VMJYvaOiG2l
dPS+FU29RCCdo+2o3O0lxesdsiXxlf1aHUcvrrpN3WWs3+Z6B6fqrTfmhMVmDSaG/UE00kGuetQl
bIUnaEC8rfofaajvGfefHnAqXRB1GtJUSMePKAtaFauOW8L6zqHNUhKDaTtHzrNn5OqnCbgPcTw1
peJ2o9zrwFsk9TFzMKMriA/JG8RKifL2P+MkYCRXh91HqVC9R8QYdOfPfpYKZRoFux6F2APrZLnF
4MzCcUwAaXiHUFT8fN8dVinZzmqO6Y6O2cuoGLmSH1WzG6Y8rinbcqQ6Q2n9pyz2SAreRMreZXpz
4PtUar12MqmQYB4uTVSYR/JwOKzF3r71C45RG41MCJgwKEjf+oF1zyYXMXAr7jSwhFUSXIvYSDgm
UbSq5QBJrVMVnQqmVWDOJtZrckEqsQqLHBOtegj0qV9BjpTgJ0d1GEA0xitSscwUXRUK9xhWWlQT
faAGwABQbAvV5d5ZZTyctHJvSMIdASi3gh2LFFmK5oalQRhUl4KxRfv0CZnMDuX1YifLMmUcNira
U3YQ7G2AAsLaV5DJUTTd79EyW695KiHbptaTQalxTBIp0PddOA9nMuJG3yYjq4IGvF6Cn/q5pfQC
PaelBijmKDAYXEJPzunsOndsRTeYsdscQePsK5PLYrxxauk9htrAdl31irxTPxr0fvCcIrKLkK4c
04TT5Wti0qbzQrwnKh2ZqrAzmjDAkXslZiUxhlboCyGxzMT7zIMcXuRDV0VPIxy1RHLOPJxWx/Oj
Q0Z0hO4GYv6l6C3IaWDi2NZSqplXC6rdXha2McfBcm7nFiHdELOP5eNeVSQX6xrEhNl+Fn+hwAVp
zdWKPb84NAnIBkjqgGi7RFiC0CSXJaNKehtbFksUTBuwjakJzvP45ijQ6x3QvnHiPAmZNw3WtosM
Zl8LwEVlVjmahimODcJanFTLiFKM3LYw7b5utlBr8heb6wmDwhFq5hMS0/XkfudeNie3DGpFVMeK
MjLYL4+rxbHdw6hv34dbS4Ig51lzzLucFPLrTq88+pjnyNq95PpNTmj7MA8ESenGI2Jsavky5yY8
he5ZC8tY+VUJJpoON3Lkcd1rmsKwR9gUhxBhnb3lpl9vohNyAqKeo3+i89lZkYhL6bu+mmGo0Hno
yO2aNG513orITqxdcyPCNEEWxShWxWhLjrqIiRB54dGq5yazlKJjqYn6lFQIKQYKomfKM3Fb9EAx
+4Ukt6Vk2ZTn85KjnmLKyUVxOXit9oSc2+279URLIoM8B56ExroG1DhEqpiopAtb9rUUfeU862UQ
VUmZd/L8HtDnach9q0OeScUX5fDzWKYziR0CfwkBC2Swfi5IOVnqXaCGeYyIOalrM+0K8CsZJEcS
xjwz27qaQM8UK06WP1qfALBeyl/A4FAJRBjW2qKISlcVQYUcw5Gt4otSxL7n7KAKWfXbqybR/LNO
vcaPaQC3LCOYMpDIL98NGQXqMC7wM+geNEBqeaV809tLdU7fHZiSaffxI8/+DTa4uLu7K4X0xfj+
7n5038hPUFw2e/FisWhCPSXxGhiqYnxbptVmutAEpJXIX0zGvbHlLZ8RnP6iy4P8KqB69LUpUlNu
uvbL243wU7oGm6b+2/NIyrWYdrv4M964K85XsGhNhXJd3ddl1BPdz79mJN12++7QvbIvLpSW7mdx
Pod99X5zVN3Z5wFxlA3JC8z7I1haGfPtcFxaAqDsx0KPB1t4QDwAbizE28v8JqC+GUb9efdnsCdw
VvcOS9xdfFp2PxHvL1Tax/uMsqD7EfIuFqQLngLqdCQBhoXre8ak6IZAt11IUhAUIvOETNUFDrzJ
MU4DelYRABAdKGQyzFy5kQCvX0VV+ih0uT+iL+tt/eoSj0QEVXVQm6JuMKjy8Ud/KIWEms/Q1/5d
LXE574MOYXxemQXRfXwOZOjL+SNoRt9wvGyFhv1JfzBFf3sA3aBCNyjMEvPxK+BEQNxJ8Ls0BdnZ
FkXmm0xZfegZA1cJvavimDwWETBBpmjQogGbg+i/WQFXJyjgql0BrwtmcAKYQTuYh3fLJWjZ12py
iVIkRPy33/yacTkrDPLtJfb8gFx2UO87M9QpFnVQkjHWMTb8qD3eXT5+/OGnP/3y+PeHhRn+zjUb
/awMhahAdsO6LvSjrJEStyjN6eF9vZ0WAOaifjQASvMOan54gua/STyxnh3whYCw+QNIBA/dBnOY
t//EKM7Va1hFn09LWESpjS7Niz5S99iOoxas2gCS3nED2EkHtX9As/wEMxntQ3U1v7/pqoduv/vh
g3n7H2hfHSsinrGgBAh5MKJfjeJVy0WfsECunfV7BtBrZZDRCWYbvSJnddDoNWnrq2at6/8j1nol
u+wTl7LT18JP1/99fnotPe8oSvES9hQTldB93aT05gRbvTlCSiLzfbjHhqC67YP664NAkYZMM/K6
Rd/4BKzj36sCnZwAZnLgPrBYPqLbv/748GHxuPgtnlN76Gsd3KL0H4b8G1BLAwQUAAIACAD9AUhD
Q9J1uBQBAAAGBQAAKAAcAGZhc3QveHBhdGgvdW5pb24tY29udGV4dC1ub2RlLWFjdHVhbC50eHRV
VAkAAy6xU1IusVNSdXgLAAEE9QEAAARQAAAAtZNRa4MwEMff8ylC9tB2sISxJ4MKmnYw2Msmexp7
EE2rEBPRdHHQDz+1rXTiSt1sXnL35+5+dxcCX7a8+ErlBqYS6oTDtRJCmVrAGANgx+knrDIhSwcl
WueUEGMMNg9YFRtyb1kWqRKdCQTT2EGalxq5ANbHLvNQtqJ3UH6qPnJt0niH8FO7C2KDqcvhVJvU
vboAtANBFMqo7kYVlLYN0iYIwXWhMtiYNz545eVWaLp3PbCqch5pHndC8MbYKgi6ing3tuZR7Zc+
6n3CUP0dvibh9l2oKBR3Msz4fOHMmrTZx9R7Gk+5zlzT7nJ+GXQxLbX7n39eLuuz2P5agkfv6fnk
Gf+P8n8h+ufAF2LPrnUcGHwDUEsDBBQAAgAIAP0BSENzNMfm9AAAANcCAAAmABwAZmFzdC94cGF0
aC91bmlvbi1jb250ZXh0LW5vZGUtZGlmZi50eHRVVAkAAy6xU1IusVNSdXgLAAEE9QEAAARQAAAA
xc/BSsNAEAbg+z7FUg9V18kiKEhAiEkjiF5s0B7Ew5hMbGCzG7KzmEIfXmwqqKD0oHj6+YeB+QYA
pL53JrTk9QwZdb4o9IKerhveRhoaU+k5GUJP2uDKBQYmz9CTD4a9rtGzHjrkpQ62cRZKZ5kGBusq
Aho6KpmqiAcWSqm/voclBzSba0ki4eT06PhMqjGSRMjiLsvyohBSyNtA/UpOameMe2nscxwPS25N
fPhgXIkGLLa0f3A+9R3a6eNE1r1r5VvZSwXMN5p47NkYM6E+j4XMt+9/XYR3h7q8uLr5oInWv+BJ
f2Sl3+nSXZE7EtfRvyDFK1BLAwQUAAIACAD9AUhDE3rn/Q8BAAAkBQAAKgAcAGZhc3QveHBhdGgv
dW5pb24tY29udGV4dC1ub2RlLWV4cGVjdGVkLnR4dFVUCQADLrFTUi6xU1J1eAsAAQT1AQAABFAA
AAC1U0FugzAQvPsVK+eQpFJtVT1hAVIgeUCLeqp6QOAEJGMjcGIq5fEFkqCWojRJiS/eHe3OzK5l
eNny4jOVG0gl6ITDWgmhTA0QQhCy43QHVSZk6eBE65xRaowh5pmoYkOfLMuiVaIzgSGNHax5qbGL
oD52mYeyBRdH5CfqYdemTXYs/x53Rf5g63K41aa1VxehdiDAoYxqN6pgrDXImiIM60Jl0IQTD73y
cis0O6QLtKpyHmked0Dw5vurIOgYyf5azhPapz7hfYUh/j25p8LDu1BRKB5lmPHZ3Jk2bdOPsfd0
vcp95hp3l7PLROfjqnb/8+bl+odr2Zfs8N8P+n9R77y294eFCw2cXfWtFtAXUEsDBBQAAgAIAP0B
SEOL2f9OaggAADIrAAAuABwAZmFzdC94cGF0aC91bmlvbi1jb250ZXh0LW5vZGUtcHJldHR5LWRp
ZmYuaHRtbFVUCQADLrFTUi6xU1J1eAsAAQT1AQAABFAAAADtWmtv28gV/e5fQdjoug1MUrJFRQ9b
xfqFFt0W7Xrb/VAUxVAcihMPOVrO0JbT9L/3zosiKVJiUSOAnW6wETnPc5/nXiKXiUjp4ugywSiC
nxQL5CwTlHMsrk4LEbuTUxjm4oXixdGMkuzxzJk9EU4Ejpx/HTnwn8Ab4UZ4yXIkCMtmTsYyPFdT
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
DfSfqRx0A3bcOneDrgjbumIh1d4N1tZVqyOuti5aCFG3G6ityxZ612V6nbXv2fTTIQmI+n7fCehx
60qGOnTxuHUFe7vqCmrb4tUNylaVa+8ztt6DDbvZg43bErLPcG3e2ncDdNLZC/tYQReIPXcD/KKL
Lzj6pzzqU0M3oNsQuCWWZMX41mZR+k0z+2DsUU66EbtxG2Lnpd+fbg6BPwf3c7ZWn5fJZkli9f6u
G4PakMP3QaC/giOXRcT+IX/5MTlGYi+P/+nE9xhdOaQ/b7rq6X8g+V9QSwMECgACAAAAGgJIQyaQ
pOI0AAAANAAAADEAHABpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1zdGRl
cnIudHh0VVQJAANksVNSZLFTUnV4CwABBPUBAAAEUAAAAEZBSUw6IFRpbWVkIG91dCB3YWl0aW5n
IGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZApQSwMEFAACAAgABwJIQ37hE69UAAAAagAAACwA
HABpbnNwZWN0b3IvbmV0d29yay1zdGF0dXMtbm9uLWh0dHAtYWN0dWFsLnR4dFVUCQADPbFTUj2x
U1J1eAsAAQT1AQAABFAAAAA1yk0KgCAQQOG9p5D29rf0NoNNMCaj6FBBdPdM6m2/dyldG7XV3QIC
FlIK5EAo8uBhh+IyJanavun9GOWIeTOCRXpffpubRTZ4UhFkMSsF/IZbqQdQSwMEFAACAAgABwJI
Q7EIkanbAAAA5AEAACoAHABpbnNwZWN0b3IvbmV0d29yay1zdGF0dXMtbm9uLWh0dHAtZGlmZi50
eHRVVAkAAz2xU1I9sVNSdXgLAAEE9QEAAARQAAAAvY6xTsQwDIb3PIXVCVR84RgYOlXobmLjJG42
qU/kLiRR7UAR4t1pS1kQQkx4sH/Jn/T9iAj2PoXyxGI3pGS3+53d88Ot1+XcFB86e8eBSdgGek1F
UVkUe5YSVKyPktlp6m1kfUn9CUVJi2BMER9VM/IwAdytdFBT1/V/OMlpoTAb2xZwfXEN9bTa1sCb
QRjnEhqourFBQzkH70h9ivZIzySu91kb2BXnWKT65NcT/+Wb6qyO8p25mpmxBA9elKPiwQeewbMD
jbE7r0z9N/sC/qxdnr/4KgPvBswHUEsDBBQAAgAIAAcCSEN8Jq+PZAAAAIAAAAAuABwAaW5zcGVj
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
AAgA/AFIQ+3SeI+3AQAAyAwAADEAGAAAAAAAAQAAAKSBmmMAAGZhc3QveHBhdGgvNFhQYXRoL0Nv
cmUvdGVzdF9ib29sZWFuX2V4cHItZGlmZi50eHRVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACAD8AUhDztBh54cBAADBEgAANQAYAAAAAAABAAAApIG8ZQAAZmFzdC94cGF0aC80WFBh
dGgvQ29yZS90ZXN0X2Jvb2xlYW5fZXhwci1leHBlY3RlZC50eHRVVAUAAyuxU1J1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAD8AUhDynGtjHEJAAB4OAAAOQAYAAAAAAABAAAApIGyZwAAZmFzdC94
cGF0aC80WFBhdGgvQ29yZS90ZXN0X2Jvb2xlYW5fZXhwci1wcmV0dHktZGlmZi5odG1sVVQFAAMr
sVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ5uKaCP5AwAAViEAADUAGAAAAAAAAQAA
AKSBlnEAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9jb3JlX2Z1bmN0aW9ucy1hY3R1YWwu
dHh0VVQFAAMrsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ/ahfQIkBAAA5CQAADMA
GAAAAAAAAQAAAKSB/nUAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9jb3JlX2Z1bmN0aW9u
cy1kaWZmLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEPeyw31dwMA
AL8dAAA3ABgAAAAAAAEAAACkgY96AABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3RfY29yZV9m
dW5jdGlvbnMtZXhwZWN0ZWQudHh0VVQFAAMrsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
/AFIQ1/Q8IAuDQAAXn0AADsAGAAAAAAAAQAAAKSBd34AAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUv
dGVzdF9jb3JlX2Z1bmN0aW9ucy1wcmV0dHktZGlmZi5odG1sVVQFAAMssVNSdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgA/AFIQ4fhnwLPAQAAyQ8AADMAGAAAAAAAAQAAAKSBGowAAGZhc3QveHBh
dGgvNFhQYXRoL0NvcmUvdGVzdF9saXRlcmFsX2V4cHItYWN0dWFsLnR4dFVUBQADLLFTUnV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEMmx6k0MAIAAHYQAAAxABgAAAAAAAEAAACkgVaOAABm
YXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3RfbGl0ZXJhbF9leHByLWRpZmYudHh0VVQFAAMssVNS
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ56+6U+AAQAAsg4AADUAGAAAAAAAAQAAAKSB
8ZAAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9saXRlcmFsX2V4cHItZXhwZWN0ZWQudHh0
VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQzpm2xBsCgAAu0YAADkAGAAA
AAAAAQAAAKSB4JIAAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9saXRlcmFsX2V4cHItcHJl
dHR5LWRpZmYuaHRtbFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEM9UoYN
hQAAAMcAAAAzABgAAAAAAAEAAACkgb+dAABmYXN0L3hwYXRoLzRYUGF0aC9Db3JlL3Rlc3Rfbm9k
ZXNldF9leHByLWFjdHVhbC50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8
AUhD/HL/H+YAAADkAQAAMQAYAAAAAAABAAAApIGxngAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90
ZXN0X25vZGVzZXRfZXhwci1kaWZmLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAPwBSEO4qO9tWwAAAJ8AAAA1ABgAAAAAAAEAAACkgQKgAABmYXN0L3hwYXRoLzRYUGF0aC9D
b3JlL3Rlc3Rfbm9kZXNldF9leHByLWV4cGVjdGVkLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPwBSEO/eSGG7gcAAOUZAAA5ABgAAAAAAAEAAACkgcygAABmYXN0L3hwYXRo
LzRYUGF0aC9Db3JlL3Rlc3Rfbm9kZXNldF9leHByLXByZXR0eS1kaWZmLmh0bWxVVAUAAyyxU1J1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDYydSTQAFAADaXwAAMwAYAAAAAAABAAAApIEt
qQAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X251bWVyaWNfZXhwci1hY3R1YWwudHh0VVQF
AAMtsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQxejTmEsCAAAvZsAADEAGAAAAAAA
AQAAAKSBmq4AAGZhc3QveHBhdGgvNFhQYXRoL0NvcmUvdGVzdF9udW1lcmljX2V4cHItZGlmZi50
eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDUqIYnx4EAABDQwAANQAY
AAAAAAABAAAApIExtwAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X251bWVyaWNfZXhwci1l
eHBlY3RlZC50eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDUL1Ee+IV
AABVxQEAOQAYAAAAAAABAAAApIG+uwAAZmFzdC94cGF0aC80WFBhdGgvQ29yZS90ZXN0X251bWVy
aWNfZXhwci1wcmV0dHktZGlmZi5odG1sVVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA/QFIQ8pV+b5sAgAAXgoAAC0AGAAAAAAAAQAAAKSBE9IAAGZhc3QveHBhdGgvNFhQYXRoL0Nv
cmUvdGVzdF9wYXJzZXItYWN0dWFsLnR4dFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAP0BSEMJf3ssjAIAAKcNAAArABgAAAAAAAEAAACkgebUAABmYXN0L3hwYXRoLzRYUGF0aC9D
b3JlL3Rlc3RfcGFyc2VyLWRpZmYudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA/QFIQ5HYkGgIAgAAcQgAAC8AGAAAAAAAAQAAAKSB19cAAGZhc3QveHBhdGgvNFhQYXRoL0Nv
cmUvdGVzdF9wYXJzZXItZXhwZWN0ZWQudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgAAAJIQ2yHQnObCgAAXkEAADMAGAAAAAAAAQAAAKSBSNoAAGZhc3QveHBhdGgvNFhQYXRo
L0NvcmUvdGVzdF9wYXJzZXItcHJldHR5LWRpZmYuaHRtbFVUBQADL7FTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPwBSEMrIilFKgIAANYHAAApABgAAAAAAAEAAACkgVDlAABmYXN0L3hwYXRo
L2FtYmlndW91cy1vcGVyYXRvcnMtYWN0dWFsLnR4dFVUBQADK7FTUnV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAPwBSEPfVu6M/AEAAAoIAAAnABgAAAAAAAEAAACkgd3nAABmYXN0L3hwYXRoL2Ft
YmlndW91cy1vcGVyYXRvcnMtZGlmZi50eHRVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD8AUhDyKDngMUBAACMBAAAKwAYAAAAAAABAAAApIE66gAAZmFzdC94cGF0aC9hbWJpZ3Vv
dXMtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dFVUBQADK7FTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAPwBSEMOEB9TggoAADFLAAAvABgAAAAAAAEAAACkgWTsAABmYXN0L3hwYXRoL2FtYmlndW91
cy1vcGVyYXRvcnMtcHJldHR5LWRpZmYuaHRtbFVUBQADK7FTUnV4CwABBPUBAAAEUAAAAFBLAQIe
AxQAAgAIAPwBSEOpfUFilAAAAAoBAAAuABgAAAAAAAEAAACkgU/3AABmYXN0L3hwYXRoL2F0dHJp
YnV0ZS1ub2RlLXByZWRpY2F0ZS1hY3R1YWwudHh0VVQFAAMrsVNSdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgA/AFIQybeSDACAQAAVQIAACwAGAAAAAAAAQAAAKSBS/gAAGZhc3QveHBhdGgvYXR0
cmlidXRlLW5vZGUtcHJlZGljYXRlLWRpZmYudHh0VVQFAAMrsVNSdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgA/AFIQyrjwMllAAAAugAAADAAGAAAAAAAAQAAAKSBs/kAAGZhc3QveHBhdGgvYXR0
cmlidXRlLW5vZGUtcHJlZGljYXRlLWV4cGVjdGVkLnR4dFVUBQADK7FTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPwBSENic9h9MggAAMUdAAA0ABgAAAAAAAEAAACkgYL6AABmYXN0L3hwYXRo
L2F0dHJpYnV0ZS1ub2RlLXByZWRpY2F0ZS1wcmV0dHktZGlmZi5odG1sVVQFAAMrsVNSdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ6QCOjGSAQAAkQUAACQAGAAAAAAAAQAAAKSBIgMBAGZh
c3QveHBhdGgvZG9jdW1lbnQtb3JkZXItYWN0dWFsLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPwBSEMt8LbVeQEAAPoDAAAiABgAAAAAAAEAAACkgRIFAQBmYXN0L3hwYXRo
L2RvY3VtZW50LW9yZGVyLWRpZmYudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA/AFIQ7pIQCNnAQAAQQUAACYAGAAAAAAAAQAAAKSB5wYBAGZhc3QveHBhdGgvZG9jdW1lbnQt
b3JkZXItZXhwZWN0ZWQudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFI
Q7ZCdzazCAAAFyEAACoAGAAAAAAAAQAAAKSBrggBAGZhc3QveHBhdGgvZG9jdW1lbnQtb3JkZXIt
cHJldHR5LWRpZmYuaHRtbFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEP1
Ve0OdgAAAH8AAAAsABgAAAAAAAEAAACkgcURAQBmYXN0L3hwYXRoL2VtcHR5LXN0cmluZy1zdWJz
dHJpbmctYWN0dWFsLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEON
P5QS3wAAAIEBAAAqABgAAAAAAAEAAACkgaESAQBmYXN0L3hwYXRoL2VtcHR5LXN0cmluZy1zdWJz
dHJpbmctZGlmZi50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhDUs9R
h2kAAABtAAAALgAYAAAAAAABAAAApIHkEwEAZmFzdC94cGF0aC9lbXB0eS1zdHJpbmctc3Vic3Ry
aW5nLWV4cGVjdGVkLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEO0
0zIyzwcAAAkZAAAyABgAAAAAAAEAAACkgbUUAQBmYXN0L3hwYXRoL2VtcHR5LXN0cmluZy1zdWJz
dHJpbmctcHJldHR5LWRpZmYuaHRtbFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
APwBSEOHLo5jagAAAG4AAAAdABgAAAAAAAEAAACkgfAcAQBmYXN0L3hwYXRoL2lkLXBhdGgtYWN0
dWFsLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEPYmVLTzwAAAFIB
AAAbABgAAAAAAAEAAACkgbEdAQBmYXN0L3hwYXRoL2lkLXBhdGgtZGlmZi50eHRVVAUAAyyxU1J1
eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAAD8AUhDkevCfVAAAABQAAAAHwAYAAAAAAABAAAApIHV
HgEAZmFzdC94cGF0aC9pZC1wYXRoLWV4cGVjdGVkLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPwBSEONs2dCwgcAAOkYAAAjABgAAAAAAAEAAACkgX4fAQBmYXN0L3hwYXRo
L2lkLXBhdGgtcHJldHR5LWRpZmYuaHRtbFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAPwBSEPUsEQ2gwAAACcBAAAoABgAAAAAAAEAAACkgZ0nAQBmYXN0L3hwYXRoL2ltcGxpY2l0
LW5vZGUtYXJncy1hY3R1YWwudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
/AFIQ+WOxzkDAQAArQIAACYAGAAAAAAAAQAAAKSBgigBAGZhc3QveHBhdGgvaW1wbGljaXQtbm9k
ZS1hcmdzLWRpZmYudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQyuA
SuBgAAAAowAAACoAGAAAAAAAAQAAAKSB5SkBAGZhc3QveHBhdGgvaW1wbGljaXQtbm9kZS1hcmdz
LWV4cGVjdGVkLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEPwKEaM
DwgAAIAeAAAuABgAAAAAAAEAAACkgakqAQBmYXN0L3hwYXRoL2ltcGxpY2l0LW5vZGUtYXJncy1w
cmV0dHktZGlmZi5odG1sVVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQyi5
W0tlAAAAZgAAACQAGAAAAAAAAQAAAKSBIDMBAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tYWN0
dWFsLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSENGZv7bzgAAAFgB
AAAiABgAAAAAAAEAAACkgeMzAQBmYXN0L3hwYXRoL25hbi10by1ib29sZWFuLWRpZmYudHh0VVQF
AAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAA/AFIQ2NBoW9IAAAASAAAACYAGAAAAAAA
AQAAAKSBDTUBAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tZXhwZWN0ZWQudHh0VVQFAAMssVNS
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQybMYgC+BwAA6BgAACoAGAAAAAAAAQAAAKSB
tTUBAGZhc3QveHBhdGgvbmFuLXRvLWJvb2xlYW4tcHJldHR5LWRpZmYuaHRtbFVUBQADLbFTUnV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEMX9AqpwwAAAOECAAAwABgAAAAAAAEAAACkgdc9
AQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNlbnNpdGl2aXR5LWFjdHVhbC50eHRVVAUAAy2x
U1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDlB4ZWQIBAABoAwAALgAYAAAAAAABAAAA
pIEEPwEAZmFzdC94cGF0aC9ub2RlLW5hbWUtY2FzZS1zZW5zaXRpdml0eS1kaWZmLnR4dFVUBQAD
LbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSENcwehNrAAAAKUCAAAyABgAAAAAAAEA
AACkgW5AAQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4
dFVUBQADLbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEOMSdjYfAgAAAEoAAA2ABgA
AAAAAAEAAACkgYZBAQBmYXN0L3hwYXRoL25vZGUtbmFtZS1jYXNlLXNlbnNpdGl2aXR5LXByZXR0
eS1kaWZmLmh0bWxVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDsKg9h1oB
AADEAwAAHgAYAAAAAAABAAAApIFySgEAZmFzdC94cGF0aC9wb3NpdGlvbi1hY3R1YWwudHh0VVQF
AAMtsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQ9+k+obaAQAA5wUAABwAGAAAAAAA
AQAAAKSBJEwBAGZhc3QveHBhdGgvcG9zaXRpb24tZGlmZi50eHRVVAUAAy2xU1J1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAD9AUhD8QDVSCIBAAAMAwAAIAAYAAAAAAABAAAApIFUTgEAZmFzdC94
cGF0aC9wb3NpdGlvbi1leHBlY3RlZC50eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD9AUhDbE7Zn4gJAACbLQAAJAAYAAAAAAABAAAApIHQTwEAZmFzdC94cGF0aC9wb3NpdGlv
bi1wcmV0dHktZGlmZi5odG1sVVQFAAMtsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA/QFI
QwAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BtlkBAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL1VU
BQADLbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEMzAQ2YNgEAACQDAAAwABgAAAAA
AAEAAACkgQhaAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZpYXRpb25zLWFjdHVhbC50
eHRVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhD3TUgy6EBAAChBAAALgAY
AAAAAAABAAAApIGoWwEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvYWJicmV2aWF0aW9ucy1kaWZm
LnR4dFVUBQADK7FTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEMpRHBB3gAAALwBAAAy
ABgAAAAAAAEAAACkgbFdAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZpYXRpb25zLWV4
cGVjdGVkLnR4dFVUBQADK7FTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSEMZTnq4PAkA
ALMtAAA2ABgAAAAAAAEAAACkgfteAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9hYmJyZXZpYXRp
b25zLXByZXR0eS1kaWZmLmh0bWxVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8
AUhDaoAl7jEBAABsBAAAJwAYAAAAAAABAAAApIGnaAEAZmFzdC94cGF0aC9weS1kb20teHBhdGgv
YXhlcy1hY3R1YWwudHh0VVQFAAMrsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ7F8
UUOAAQAALgYAACUAGAAAAAAAAQAAAKSBOWoBAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL2F4ZXMt
ZGlmZi50eHRVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhDCEgsuP8AAAC0
AgAAKQAYAAAAAAABAAAApIEYbAEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvYXhlcy1leHBlY3Rl
ZC50eHRVVAUAAyuxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhD8GMVKOsIAADzLAAA
LQAYAAAAAAABAAAApIF6bQEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvYXhlcy1wcmV0dHktZGlm
Zi5odG1sVVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQ3OHlR1OAgAArhMA
AC4AGAAAAAAAAQAAAKSBzHYBAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL2V4cHJlc3Npb25zLWFj
dHVhbC50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhDihmaN1YDAABN
GQAALAAYAAAAAAABAAAApIGCeQEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvZXhwcmVzc2lvbnMt
ZGlmZi50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8AUhDCG44WQUCAAD2
CgAAMAAYAAAAAAABAAAApIE+fQEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvZXhwcmVzc2lvbnMt
ZXhwZWN0ZWQudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFIQyMafNVl
DAAAiXsAADQAGAAAAAAAAQAAAKSBrX8BAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL2V4cHJlc3Np
b25zLXByZXR0eS1kaWZmLmh0bWxVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8
AUhDYLC30MIDAABnDwAALAAYAAAAAAABAAAApIGAjAEAZmFzdC94cGF0aC9weS1kb20teHBhdGgv
ZnVuY3Rpb25zLWFjdHVhbC50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8
AUhDu6ZKPdoEAAC0FAAAKgAYAAAAAAABAAAApIGokAEAZmFzdC94cGF0aC9weS1kb20teHBhdGgv
ZnVuY3Rpb25zLWRpZmYudHh0VVQFAAMssVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/AFI
Q4x11KrnAgAAZAkAAC4AGAAAAAAAAQAAAKSB5pUBAGZhc3QveHBhdGgvcHktZG9tLXhwYXRoL2Z1
bmN0aW9ucy1leHBlY3RlZC50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD8
AUhD+B/GTtkOAAD2iwAAMgAYAAAAAAABAAAApIE1mQEAZmFzdC94cGF0aC9weS1kb20teHBhdGgv
ZnVuY3Rpb25zLXByZXR0eS1kaWZmLmh0bWxVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD8AUhDaAsL+rUBAADUBQAAKAAYAAAAAAABAAAApIF6qAEAZmFzdC94cGF0aC9weS1kb20t
eHBhdGgvcGF0aHMtYWN0dWFsLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
APwBSEOpxlnSMgIAACwIAAAmABgAAAAAAAEAAACkgZGqAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0
aC9wYXRocy1kaWZmLnR4dFVUBQADLLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPwBSENV
xHlmRQEAAC4EAAAqABgAAAAAAAEAAACkgSOtAQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9wYXRo
cy1leHBlY3RlZC50eHRVVAUAAyyxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDw5X6
4BcKAAC5OAAALgAYAAAAAAABAAAApIHMrgEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvcGF0aHMt
cHJldHR5LWRpZmYuaHRtbFVUBQADLbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEPd
PYpyEgEAAFIDAAAtABgAAAAAAAEAAACkgUu5AQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9wcmVk
aWNhdGVzLWFjdHVhbC50eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhD
YtvvO5UBAAC+BQAAKwAYAAAAAAABAAAApIHEugEAZmFzdC94cGF0aC9weS1kb20teHBhdGgvcHJl
ZGljYXRlcy1kaWZmLnR4dFVUBQADLbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEOP
hSIK4QAAABICAAAvABgAAAAAAAEAAACkgb68AQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9wcmVk
aWNhdGVzLWV4cGVjdGVkLnR4dFVUBQADLbFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0B
SEO/c4ZiDQkAAJosAAAzABgAAAAAAAEAAACkgQi+AQBmYXN0L3hwYXRoL3B5LWRvbS14cGF0aC9w
cmVkaWNhdGVzLXByZXR0eS1kaWZmLmh0bWxVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD9AUhDakGBugQBAADXAgAALAAYAAAAAAABAAAApIGCxwEAZmFzdC94cGF0aC9zdWJzdHJp
bmctbmFuLXBvc2l0aW9uLWFjdHVhbC50eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD9AUhDYEg/kGkBAABQBQAAKgAYAAAAAAABAAAApIHsyAEAZmFzdC94cGF0aC9zdWJzdHJp
bmctbmFuLXBvc2l0aW9uLWRpZmYudHh0VVQFAAMtsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA/QFIQ6Us9tDpAAAApwIAAC4AGAAAAAAAAQAAAKSBucoBAGZhc3QveHBhdGgvc3Vic3RyaW5n
LW5hbi1wb3NpdGlvbi1leHBlY3RlZC50eHRVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD9AUhD9UjVZ6gIAABCIgAAMgAYAAAAAAABAAAApIEKzAEAZmFzdC94cGF0aC9zdWJzdHJp
bmctbmFuLXBvc2l0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAUAAy2xU1J1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACAD9AUhDnVuq9PoAAACaAgAANAAYAAAAAAABAAAApIEe1QEAZmFzdC94cGF0aC9z
dWJzdHJpbmctbm9uLXBvc2l0aXZlLXBvc3Rpb24tYWN0dWFsLnR4dFVUBQADLbFTUnV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIAP0BSENUkyN4ZQEAAJgEAAAyABgAAAAAAAEAAACkgYbWAQBmYXN0
L3hwYXRoL3N1YnN0cmluZy1ub24tcG9zaXRpdmUtcG9zdGlvbi1kaWZmLnR4dFVUBQADLbFTUnV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEMA2zCf5QAAAIICAAA2ABgAAAAAAAEAAACkgVfY
AQBmYXN0L3hwYXRoL3N1YnN0cmluZy1ub24tcG9zaXRpdmUtcG9zdGlvbi1leHBlY3RlZC50eHRV
VAUAAy2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9AUhDruwWOsMIAAAgIgAAOgAYAAAA
AAABAAAApIGs2QEAZmFzdC94cGF0aC9zdWJzdHJpbmctbm9uLXBvc2l0aXZlLXBvc3Rpb24tcHJl
dHR5LWRpZmYuaHRtbFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEND0nW4
FAEAAAYFAAAoABgAAAAAAAEAAACkgePiAQBmYXN0L3hwYXRoL3VuaW9uLWNvbnRleHQtbm9kZS1h
Y3R1YWwudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQ3M0x+b0AAAA
1wIAACYAGAAAAAAAAQAAAKSBWeQBAGZhc3QveHBhdGgvdW5pb24tY29udGV4dC1ub2RlLWRpZmYu
dHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQxN65/0PAQAAJAUAACoA
GAAAAAAAAQAAAKSBreUBAGZhc3QveHBhdGgvdW5pb24tY29udGV4dC1ub2RlLWV4cGVjdGVkLnR4
dFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEOL2f9OaggAADIrAAAuABgA
AAAAAAEAAACkgSDnAQBmYXN0L3hwYXRoL3VuaW9uLWNvbnRleHQtbm9kZS1wcmV0dHktZGlmZi5o
dG1sVVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQya6nm7CAAAA4wAAADIA
GAAAAAAAAQAAAKSB8u8BAGZhc3QveHBhdGgveHBhdGgtZGV0YWNoZWQtaW1wb3J0LWFzc2VydC1h
Y3R1YWwudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQ6KvRa3/AAAA
ywEAADAAGAAAAAAAAQAAAKSBIPEBAGZhc3QveHBhdGgveHBhdGgtZGV0YWNoZWQtaW1wb3J0LWFz
c2VydC1kaWZmLnR4dFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEPQKkn3
sQAAANQAAAA0ABgAAAAAAAEAAACkgYnyAQBmYXN0L3hwYXRoL3hwYXRoLWRldGFjaGVkLWltcG9y
dC1hc3NlcnQtZXhwZWN0ZWQudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
/QFIQ23coIcvCAAA+RsAADgAGAAAAAAAAQAAAKSBqPMBAGZhc3QveHBhdGgveHBhdGgtZGV0YWNo
ZWQtaW1wb3J0LWFzc2VydC1wcmV0dHktZGlmZi5odG1sVVQFAAMusVNSdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgA/QFIQ/kkUHIuAQAArwUAACoAGAAAAAAAAQAAAKSBSfwBAGZhc3QveHBhdGgv
eHBhdGgtZGV0YWNoZWQtbm9kZXMtYWN0dWFsLnR4dFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAP0BSEOOg+qgGQEAABoDAAAoABgAAAAAAAEAAACkgdv9AQBmYXN0L3hwYXRoL3hw
YXRoLWRldGFjaGVkLW5vZGVzLWRpZmYudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgA/QFIQ6FA4hwaAQAAoAUAACwAGAAAAAAAAQAAAKSBVv8BAGZhc3QveHBhdGgveHBhdGgt
ZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0VVQFAAMusVNSdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgA/QFIQ93yM5FMCAAAWR0AADAAGAAAAAAAAQAAAKSB1gACAGZhc3QveHBhdGgveHBhdGgt
ZGV0YWNoZWQtbm9kZXMtcHJldHR5LWRpZmYuaHRtbFVUBQADLrFTUnV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAAACSEMGJq9f4wIAAKULAAArABgAAAAAAAEAAACkgYwJAgBmYXN0L3hwYXRoL3hw
YXRoLWZ1bmN0aW9uYWwtdGVzdC1hY3R1YWwudHh0VVQFAAMvsVNSdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgAAAJIQ1IySFYxAwAA5wwAACkAGAAAAAAAAQAAAKSB1AwCAGZhc3QveHBhdGgveHBh
dGgtZnVuY3Rpb25hbC10ZXN0LWRpZmYudHh0VVQFAAMvsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgAAAJIQyaTWK7TAgAApQsAAC0AGAAAAAAAAQAAAKSBaBACAGZhc3QveHBhdGgveHBhdGgt
ZnVuY3Rpb25hbC10ZXN0LWV4cGVjdGVkLnR4dFVUBQADL7FTUnV4CwABBPUBAAAEUAAAAFBLAQIe
AxQAAgAIAAACSEOMi/6G/AsAAN1bAAAxABgAAAAAAAEAAACkgaITAgBmYXN0L3hwYXRoL3hwYXRo
LWZ1bmN0aW9uYWwtdGVzdC1wcmV0dHktZGlmZi5odG1sVVQFAAMvsVNSdXgLAAEE9QEAAARQAAAA
UEsBAh4DCgAAAAAA/QFIQwAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BCSACAGZhc3QveHNsL1VU
BQADLrFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSENy/WXyhQAAAOkAAAAlABgAAAAA
AAEAAACkgUwgAgBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQFAAMtsVNS
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/QFIQ4kfIf6XAAAAwAMAACcAGAAAAAAAAQAAAKSB
MCECAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUBQADLbFTUnV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAP0BSEOBSnetSwAAAKwAAAA0ABgAAAAAAAEAAACkgSgiAgBm
YXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAAMu
sVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAHQJIQ3UbMJBZAgAAxggAABEAGAAAAAAAAQAA
AKSB4SICAGZ1bGxfcmVzdWx0cy5qc29uVVQFAANpsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAA
AAAACAJIQwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BhSUCAGh0dHAvVVQFAANAsVNSdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAACAJIQwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BxCUCAGh0
dHAvdGVzdHMvVVQFAANAsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAACAJIQwAAAAAAAAAA
AAAAABAAGAAAAAAAAAAQAO1BCSYCAGh0dHAvdGVzdHMvbWlzYy9VVAUAA0CxU1J1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAIAkhDFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIFTJgIAaHR0cC90
ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAANAsVNSdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgAmgFIQ+qKfEJhBQAABQ8AAAoAGAAAAAAAAQAAAKSBMScCAGh0dHBkLmNv
bmZVVAUAA3SwU1J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAaAkhDAAAAAAAAAAAAAAAACgAY
AAAAAAAAABAA7UHWLAIAaW5zcGVjdG9yL1VUBQADZLFTUnV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAABECSEMAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQRotAgBpbnNwZWN0b3IvY29uc29sZS9V
VAUAA1GxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAARAkhDDcUaG4cAAACsAAAAKgAYAAAA
AAABAAAApIFmLQIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC1hY3R1YWwudHh0VVQF
AANRsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAEQJIQ6QaNRSmAAAAMgEAACgAGAAAAAAA
AQAAAKSBUS4CAGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteHBhdGgtZGlmZi50eHRVVAUAA1Gx
U1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAARAkhDfrBjGokAAACwAAAALAAYAAAAAAABAAAA
pIFZLwIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC1leHBlY3RlZC50eHRVVAUAA1Gx
U1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAARAkhD60ufX8AHAAA1GwAAMAAYAAAAAAABAAAA
pIFIMAIAaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC1wcmV0dHktZGlmZi5odG1sVVQF
AANRsVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAGgJIQwAAAAAAAAAAAAAAABUAGAAAAAAA
AAAQAO1BcjgCAGluc3BlY3Rvci9leHRlbnNpb25zL1VUBQADZLFTUnV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIABoCSENMEXOwigAAALIAAAAxABgAAAAAAAEAAACkgcE4AgBpbnNwZWN0b3IvZXh0
ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1hY3R1YWwudHh0VVQFAANksVNSdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgAGgJIQyucrpBJAgAAdwUAAC8AGAAAAAAAAQAAAKSBtjkCAGluc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWRpZmYudHh0VVQFAANksVNSdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAGgJIQ5Vd1KHDAQAADwQAADMAGAAAAAAAAQAAAKSBaDwCAGluc3Bl
Y3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4cGVjdGVkLnR4dFVUBQADZLFTUnV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABoCSENenyiCCwoAACg5AAA3ABgAAAAAAAEAAACkgZg+
AgBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1wcmV0dHktZGlmZi5odG1s
VVQFAANksVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAAGgJIQyaQpOI0AAAANAAAADEAGAAA
AAAAAQAAAKSBFEkCAGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLXN0ZGVy
ci50eHRVVAUAA2SxU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAHAkhDfuETr1QAAABqAAAA
LAAYAAAAAAABAAAApIGzSQIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVzLW5vbi1odHRwLWFjdHVh
bC50eHRVVAUAAz2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAHAkhDsQiRqdsAAADkAQAA
KgAYAAAAAAABAAAApIFtSgIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVzLW5vbi1odHRwLWRpZmYu
dHh0VVQFAAM9sVNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABwJIQ3wmr49kAAAAgAAAAC4A
GAAAAAAAAQAAAKSBrEsCAGluc3BlY3Rvci9uZXR3b3JrLXN0YXR1cy1ub24taHR0cC1leHBlY3Rl
ZC50eHRVVAUAAz2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAHAkhDTtkAPOMHAADPHAAA
MgAYAAAAAAABAAAApIF4TAIAaW5zcGVjdG9yL25ldHdvcmstc3RhdHVzLW5vbi1odHRwLXByZXR0
eS1kaWZmLmh0bWxVVAUAAz2xU1J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACbAUhDAAAAAAAA
AAAAAAAAKwAYAAAAAAAAAAAApIHHVAIAcHl3ZWJzb2NrZXQud3MubG9nLTA4T2N0MjAxMy0wMDEy
NTMtZXJyLnR4dFVUBQADdbBTUnV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAJsBSEMAAAAAAAAA
AAAAAAArABgAAAAAAAAAAACkgSxVAgBweXdlYnNvY2tldC53cy5sb2ctMDhPY3QyMDEzLTAwMTI1
My1vdXQudHh0VVQFAAN1sFNSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAHQJIQx2aINziJQAA
jKEAAAwAGAAAAAAAAQAAAKSBkVUCAHJlc3VsdHMuaHRtbFVUBQADabFTUnV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAB0CSEO2VeEyWc8DABP3FAAKABgAAAAAAAEAAACkgbl7AgBzdGF0cy5qc29u
VVQFAANpsVNSdXgLAAEE9QEAAARQAAAAUEsFBgAAAACRAJEAIj8AAFZLBgAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213672</attachid>
            <date>2013-10-08 00:48:52 -0700</date>
            <delta_ts>2013-10-08 02:12:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121082-20131008004851.patch</filename>
            <type>text/plain</type>
            <size>150963</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5ODlkNzRmN2E5ZjU2
NGI2MDZkYzExODEwZjM2ZDI4OGJhOWU0OC4uNDdjZTUyODc3ZGNkYzc4NGYzOWQ5ODNlM2E2NWFk
MGFjNzMwOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3OSBAQAorMjAxMy0xMC0wNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIE93blB0ciBpbnN0ZWFk
IG9mIGRlbGV0ZUFsbFZhbHVlcyBpbiBYUGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBkb20vQXR0ci5oOiBNYWRlIHRoZSBuYW1lc3BhY2VVUkkg
ZnVuY3Rpb24gcHVibGljIHNvIGl0IGNhbiBiZSBjYWxsZWQgYnkKKyAgICAgICAgY29kZSBpbiBY
UGF0aC4gU2luY2UgdGhlIGNsYXNzIGlzIEZJTkFMLCBjYWxscyB3b24ndCBkbyB2aXJ0dWFsIGRp
c3BhdGNoLgorCisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246OlhQYXRoRXhwcmVzc2lvbik6IEFkZGVkLiBVc2Ugc3Rk
Ojptb3ZlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNz
aW9uKTogVXNlIHRoZSBuZXcgUGFyc2VyOjpwYXJzZVN0YXRlbWVudAorICAgICAgICBhbmQgbW9y
ZSBzdGQ6Om1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246On5YUGF0aEV4
cHJlc3Npb24pOiBSZW1vdmVkIG5vdy11bm5lZWRlZCBkZWxldGUuCisgICAgICAgICogeG1sL1hQ
YXRoRXhwcmVzc2lvbi5oOiBSZW1vdmVkIHVudXNlZCBjcmVhdGUgZnVuY3Rpb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZgorICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV4cHJlc3Npb246OnNldFN1YmV4cHJlc3Npb25z
KTogQWRkZWQuIFVzZWQgdG8gc2V0IGFsbCB0aGUKKyAgICAgICAgc3ViZXhwcmVzc2lvbnMgYXQg
b25jZSByYXRoZXIgdGhhbiBhZGRpbmcgb25lIGF0IGEgdGltZS4KKworICAgICAgICAqIHhtbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmg6IFVzZSBwbGFpbiB1bnNpZ25lZCBpbnN0ZWFkIG9mIHVuc2ln
bmVkIGxvbmcuCisgICAgICAgIEVsaW1pbmF0ZWQgdGhlIFBhcnNlTm9kZSBjbGFzcywgdXNlZCBv
bmx5IGJ5IHRoZSBwYXJzZXIgdG8gZGVsZXRlIG9iamVjdHMsCisgICAgICAgIHdoaWNoIHdlIG5v
dyBkbyB3aXRoICVkZXN0cnVjdG9yLiBNYWRlIG1vcmUgZnVuY3Rpb25zIHByb3RlY3RlZC4gRml4
ZWQgdGhlCisgICAgICAgIGNhcGl0YWxpemF0aW9uIG9mIHRoZSB3b3JkICJzdWJleHByZXNzaW9u
Ii4gTWFkZSBtX3N1YmV4cHJlc3Npb25zIGJlIGEgVmVjdG9yCisgICAgICAgIG9mIHN0ZDo6dW5p
cXVlX3B0ci4KKworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5jcHA6IE1hcmtlZCBhbGwg
dGhlIGNsYXNzZXMgRklOQUwgYW5kIGFsbCB0aGVpciB2aXJ0dWFsCisgICAgICAgIGZ1bmN0aW9u
cyBPVkVSUklERS4gUmVkdWNlZCBzb21lIG9mIHRoZSBib2lsZXJwbGF0ZS4KKyAgICAgICAgKFdl
YkNvcmU6OlhQYXRoOjpGdW5jdGlvbjo6c2V0QXJndW1lbnRzKTogUGFzc2VkIGluIHRoZSBuYW1l
IHNvIHdlIGRvbid0IGhhdmUKKyAgICAgICAgdG8gc3RvcmUgdGhlIGZ1bmN0aW9uIG5hbWVzIGlu
IGFsbCB0aGUgZnVuY3Rpb24gb2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5J
ZDo6ZXZhbHVhdGUpOiBVc2Ugc3RkOjptb3ZlIGluc3RlYWQgb2YgVmFsdWU6OmFkb3B0LgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bkxvY2FsTmFtZTo6ZXZhbHVhdGUpOiBVc2UgZW1wdHlT
dHJpbmcgaW5zdGVhZCBvZiAiIi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5OYW1lc3Bh
Y2VVUkk6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuTmFt
ZTo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5TdWJzdHJp
bmdCZWZvcmU6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVu
U3Vic3RyaW5nQWZ0ZXI6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6RnVuU3Vic3RyaW5nOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OkZ1bkxhbmc6OmV2YWx1YXRlKTogVXNlIFZhbHVlKGZhbHNlKSBzbyB3ZSBjYW4gbWFrZSB0
aGUKKyAgICAgICAgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGJvb2xlYW4gZXhwbGljaXQuCisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuRmFsc2U6OmV2YWx1YXRlKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpYUGF0aDo6cG9wdWxhdGVGdW5jdGlvbk1hcCk6IENoYW5nZWQgaWRpb20g
c2xpZ2h0bHkgdG8gbWF0Y2ggb3RoZXIKKyAgICAgICAgbWFwcyB3ZSBzZXQgdXAuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6RnVuY3Rpb246OmNyZWF0ZSk6IFJlZmFjdG9yZWQgY3JlYXRlRnVu
Y3Rpb24gaW50byB0aHJlZQorICAgICAgICBtZW1iZXIgZnVuY3Rpb25zIG9mIHRoaXMgbmFtZS4K
KworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5oOiBNYWRlIGFsbCB0aGUgRnVuY3Rpb24g
bWVtYmVycyBwcml2YXRlIG9yIHByb3RlY3RlZAorICAgICAgICBleGNlcHQgZm9yIEZ1bmN0aW9u
OjpjcmVhdGUuCisKKyAgICAgICAgKiB4bWwvWFBhdGhHcmFtbWFyLnk6IENoYW5nZWQgdGhlIHBh
cnNlciB0byB1c2UgYSByZWZlcmVuY2UgaW5zdGVhZCBvZgorICAgICAgICBhIHBvaW50ZXIsIGFu
ZCB0byBwYXNzIHRoZSByZWZlcmVuY2UgdGhyb3VnaCB0byB5eWxleCBhcyB3ZWxsLiBCcmVhayB1
cAorICAgICAgICB0aGUgdW5pb24gaW50byBwaWVjZXMgYW5kIGFkZCAlZGVzdHJ1Y3RvciBhcyBu
ZWVkZWQgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcKKyAgICAgICAgZ2V0cyBkZWFsbG9jYXRlZCBp
ZiBwYXJzaW5nIGZhaWxzLiBBZGRlZCBhIG5ldyB0b3AgbGV2ZWwgcnVsZSAiVG9wIiBzbyB0aGF0
CisgICAgICAgIHdlIHdvdWxkIG5vdCB0cnkgdG8gc2V0IHRoZSBwYXJzZSByZXN1bHQgbXVsdGlw
bGUgdGltZXMgZHVyaW5nIHBhcnNpbmcuCisgICAgICAgIENhbGwgc2V0UGFyc2VSZXN1bHQgaW5z
dGVhZCBvZiBzZXR0aW5nIG1fdG9wRXhwciBkaXJlY3RseS4gVXNlIHN0ZDo6dW5pcXVlX3B0cgor
ICAgICAgICB0byBhZG9wdCBwb2ludGVycyBmcm9tIHRoZSB1bmlvbi4gUmVtb3ZlZCBhbGwgdGhl
IHJlZ2lzdGVyL3VucmVnaXN0ZXIgY2FsbHMKKyAgICAgICAgdGhhdCB1c2VkIHRvIGJlIHVzZWQg
dG8gbWFuYWdlIHN0b3JhZ2UuIEFsc28gY2hhbmdlZCB0aGUgZm91ciBkaWZmZXJlbnQgbm9kZQor
ICAgICAgICB0eXBlcyB0byBiZSBzZXBhcmF0ZSB0b2tlbnMgaW5zdGVhZCBvZiB1c2luZyBzdHJp
bmcgbWF0Y2hpbmcgYXQgdGhpcyBsZXZlbAorICAgICAgICBmb3IgdGhlbS4KKworICAgICAgICAq
IHhtbC9YUGF0aE5vZGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OnNvcnQpOiBSZW1vdmVkIGNvbnN0X2Nhc3Qgc2luY2UgbV9pc1NvcnRlZCBhbmQKKyAgICAgICAg
bV9ub2RlcyBhcmUgbm93IGJvdGggbWFya2VkIG11dGFibGUuIEFsc28gc2V0IG1faXNTb3J0ZWQg
YWZ0ZXIgc29ydGluZzsgdGhpcworICAgICAgICB3YXMgYW4gb3ZlcnNpZ2h0IHRoYXQgaHVydCBw
ZXJmb3JtYW5jZSBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6Tm9kZVNldDo6dHJh
dmVyc2FsU29ydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6OmZp
cnN0Tm9kZSk6IFVzZSBudWxscHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OmFueU5vZGUpOiBEaXR0by4KKworICAgICAgICAqIHhtbC9YUGF0aE5vZGVTZXQuaDogUmVtb3Zl
ZCB1bm5lZWRlZCBleHRyYSBpbmNsdWRlcy4gUmVtb3ZlZCB0aGUKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQgZm9yIE5vZGVTZXQgc2luY2Ugd2UgbmV2ZXIgYWxsb2NhdGUgdGhlc2Ug
b24gdGhlIGhlYXAuCisgICAgICAgIEFkZGVkIGEgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIHNp
bmdsZSBub2RlLiBEZWxldGVkIHRoZSBzd2FwIGZ1bmN0aW9uLCBzaW5jZQorICAgICAgICB3ZSBu
b3cgbW92ZSBpbnN0ZWFkIG9mIHN3YXAuIERlbGV0ZWQgdGhlIGFwcGVuZCBmdW5jdGlvbiB0aGF0
IHRha2VzIGEgcmF3IE5vZGUqLAorICAgICAgICBzaW5jZSBjYWxsaW5nIHRoZSBQYXNzUmVmUHRy
PE5vZGU+IG92ZXJsb2FkIGRvZXMgdGhlIHNhbWUgdGhpbmcuIFJlbW92ZWQgdGhlCisgICAgICAg
IHVudXNlZCByZXZlcnNlIGZ1bmN0aW9uLiBNYXJrZWQgYm90aCBtX2lzU29ydGVkIGFuZCBtX25v
ZGVzIG11dGFibGUgc28gdGhlCisgICAgICAgIHNvcnQgZnVuY3Rpb24gY2FuIGJlIGNvbnN0Lgor
CisgICAgICAgICogeG1sL1hQYXRoUGFyc2VyLmNwcDogTW92ZWQgdGhlIFRva2VuIHN0cnVjdCBp
biBoZXJlIGluc3RlYWQgb2YgdGhlIGhlYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpw
b3B1bGF0ZUF4aXNOYW1lc01hcCk6UmVuYW1lZCB0byBtYXRjaCBvdXIgbm9ybWFsIG5hbWluZyBz
Y2hlbWUsCisgICAgICAgIGFuZCBjaGFuZ2VkIHRvIHVzZSBhZGQgaW5zdGVhZCBvZiBzZXQsIHVz
ZSBXVEZfQVJSQVlfTEVOR1RILCBhbmQgbm90IHVzZSBhIHR5cGVkZWYuCisgICAgICAgIChXZWJD
b3JlOjpYUGF0aDo6cGFyc2VBeGlzTmFtZSk6IFJlbGF0ZWQgc3R5bGUgY2hhbmdlcywgaW5jbHVk
aW5nIHJlbmFtaW5nIHRvCisgICAgICAgIGJldHRlciByZWZsZWN0IHRoZSB3YXkgdGhpcyB3b3Jr
cyB3aXRoIGEgYm9vbGVhbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6Om5leHRU
b2tlbkludGVybmFsKTogVXBkYXRlZCB0byBjYWxsIHBhcnNlQXhpc05hbWUsCisgICAgICAgIGFu
ZCB0byBwcm9kdWNlIGZvdXIgc2VwYXJhdGUgdG9rZW5zIGZvciB0aGUgZm91ciBub2RlIHR5cGUg
ZnVuY3Rpb25zLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlBhcnNlcjo6bmV4dFRva2VuKTog
UmVuYW1lZCBsb2NhbCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OlBhcnNlcik6IE1hZGUgdGhpcyBhIHJlYWwgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhcmd1bWVu
dHMKKyAgICAgICAgYW5kIGluaXRpYWxpemVzIGFsbCB0aGUgZmllbGRzLiBEZWxldGVkIHRoZSB1
bm5lZWRlZCByZXNldCBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OmxleCk6IENoYW5nZWQgdG8gdGFrZSBhbiBhcmd1bWVudCBvZiBhbiBhcHByb3ByaWF0ZSB0eXBl
CisgICAgICAgIGluc3RlYWQgb2YgY2FzdGluZyBmcm9tIHZvaWQqLiBBbHNvIGNoYW5nZWQgdGhl
IHN0cmluZyBjb2RlIHRvIGxlYWsgYSBTdHJpbmdJbXBsLAorICAgICAgICB3aGljaCBpcyBub3cg
d2hhdCB0aGUgZ3JhbW1hciBjb2RlIGV4cGVjdHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
UGFyc2VyOjpleHBhbmRRdWFsaWZpZWROYW1lKTogUmVuYW1lZCBmcm9tIGV4cGFuZFFOYW1lLiBD
aGFuZ2VkCisgICAgICAgIHRvIHNldCBtX3Nhd05hbWVzcGFjZUVycm9yIGluc3RlYWQgb2YgcmVs
eWluZyBvbiBjb2RlIGluIHRoZSBncmFtbWFyIHRvIGRvIGl0LgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBSZW1vdmVkIG1vc3Qgb2YgdGhlIGNvZGUg
aW4gdGhpcyBmdW5jdGlvbi4KKyAgICAgICAgQ2hhbmdlZCB0byBhIG11Y2ggc2ltcGxlciBtb2Rl
bC4gQWxzbyBtYWRlIHRoaXMgYSBzdGF0aWMgbWVtYmVyIGZ1bmN0aW9uIHNvIGl0CisgICAgICAg
IHRha2VzIGNhcmUgb2YgY3JlYXRpbmcgdGhlIHBhcnNlciBpdHNlbGYgYW5kIGRvZXMgbm90IG5l
ZWQgdG8gY2FsbCByZXNldC4gQWxzbworICAgICAgICBjaGFuZ2VkIHJldHVybiB2YWx1ZSB0byBi
ZSBhIHN0ZDo6dW5pcXVlX3B0ciB0byBtYWtlIG93bmVyc2hpcCBtb3JlIGNsZWFyLgorCisgICAg
ICAgICogeG1sL1hQYXRoUGFyc2VyLmg6IEFkZGVkIGEgZGVjbGFyYXRpb24gb2YgWVlTVFlQRS4g
UmVtb3ZlZCB1bm5lZWRlZCBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9ucyBhbmQgbW92ZWQg
VG9rZW4gaW50byB0aGUgY3BwIGZpbGUuIERlbGV0ZWQgbW9zdCBwdWJsaWMgZnVuY3Rpb25zLAor
ICAgICAgICBsZWF2aW5nIG9ubHkgcGFyc2VTdGF0ZW1lbnQsIHRoZSBlbnRyeSBwb2ludCwgYW5k
IHRoZSB0aHJlZSBmdW5jdGlvbnMgbmVlZGVkIGJ5CisgICAgICAgIHRoZSBncmFtbWFyLCBsZXgs
IGV4cGFuZFF1YWxpZmllZE5hbWUsIGFuZCBzZXRQYXJzZVJlc3VsdC4KKworICAgICAgICAqIHht
bC9YUGF0aFBhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6RmlsdGVy
KTogTW92ZSBpbiB0aGUgYXJndW1lbnRzIGluc3RlYWQgb2YgY29weWluZyB0aGVtLgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGFu
ZCB0eXBlIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9jYXRpb25QYXRoOjpM
b2NhdGlvblBhdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpMb2NhdGlvblBh
dGg6OmV2YWx1YXRlKTogRGl0dG8uIEFsc28gdXNlIHN0ZDo6bW92ZSBpbnN0ZWFkIG9mCisgICAg
ICAgIFZhbHVlOjphZG9wdCBhbmQgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OkxvY2F0aW9uUGF0aDo6YXBwZW5kU3RlcCk6IENoYW5nZWQgdG8gdGFrZSBvd25lcnNo
aXAgb2YgYQorICAgICAgICB1bmlxdWVfcHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Okxv
Y2F0aW9uUGF0aDo6cHJlcGVuZFN0ZXApOiBEaXR0by4gUmVuYW1lZCBmcm9tIGluc2VydEZpcnN0
U3RlcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXRoOjpQYXRoKTogTW92ZSBpbiB0aGUg
YXJndW1lbnRzLgorCisgICAgICAgICogeG1sL1hQYXRoUGF0aC5oOiBSZW1vdmVkIHVubmVlZGVk
IGluY2x1ZGVzLiBDaGFuZ2VkIGFydWd1bWVudCB0eXBlcyB0byB1c2UKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyIHRvIHBhc3Mgb3duZXJzaGlwIGluLiBBZGRlZCBvdmVycmlkZSB0byBhbGwgdmly
dHVhbCBmdW5jdGlvbnMuCisgICAgICAgIENoYW5nZWQgZGF0YSBtZW1iZXJzIHRvIHVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OlN0cmluZ0V4cHJlc3Npb246OlN0cmluZ0V4cHJlc3Npb24pOiBV
c2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6TmVnYXRpdmUpOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TnVtZXJpY09w
OjpOdW1lcmljT3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOdW1lcmlj
T3A6OmV2YWx1YXRlKTogVHdlYWsgZm9ybWF0dGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6RXFUZXN0T3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6TG9naWNhbE9wOjpMb2dpY2FsT3ApOiBVc2UgbW92ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpMb2dpY2FsT3A6OnNob3J0Q2lyY3VpdE9uKTogTWFkZSBzaG9y
dGVyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvZ2ljYWxPcDo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OlVu
aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlByZWRp
Y2F0ZTo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMgYW5kIHRvIHVzZQorICAg
ICAgICBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuaDogTWFk
ZSBhbGwgdGhlIGNsYXNzZXMgRklOQUwgYW5kIGFkZGVkIGEgbG90IG9mIE9WRVJSSURFLgorICAg
ICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIGZvciBOZWdhdGl2ZSBhbmQgVW5pb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIgaW4gUHJlZGljYXRlLgorCisgICAgICAgICogeG1sL1hQYXRoU3RlcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6U3RlcCk6IFVzZSBtb3ZlIGluc3RlYSBk
b2YgY29weWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVwOjp+U3RlcCk6IFJlbW92
ZWQgY2FsbHMgdG8gZGVsZXRlQWxsVmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0
ZXA6Om9wdGltaXplKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2FwIGFuZCBjb3B5LiBBbHNvCisg
ICAgICAgIG9wZXJhdGUgZGlyZWN0bHkgb24gdGhlIGRhdGEgbWVtYmVycyBvZiB0aGUgbm9kZSB0
ZXN0IGluc3RlYWQgb2YgdXNpbmcgZnVuY3Rpb25zCisgICAgICAgIHRoYXQganVzdCByZXR1cm4g
cmVmZXJlbmNlcyB0byB0aG9zZSBkYXRhIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6b3B0aW1pemVTdGVwUGFpcik6IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMg
YW5kIG1vdmUKKyAgICAgICAgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OlN0ZXA6OnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKTogVXNlIHJlZmVy
ZW5jZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6ZXZhbHVhdGUpOiBVc2UgcmVm
ZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzIGFuZCBtb3ZlCisgICAgICAgIGluc3RlYWQgb2Yg
c3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0Y2hlc0Jhc2ljVGVzdCk6IFVz
ZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgYW5kCisgICAgICAgIG1vcmUgc3BlY2lm
aWMgdHlwZXMgd2hlbiBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0
Y2hlcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0ZXA6Om5vZGVzSW5BeGlz
KTogVXNlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycy4gQWRkZWQKKyAgICAgICAgYnJh
Y2VzIHRvIG1hdGNoIHN0eWxlLiBVc2Ugd29yZHMgaW5zdGVhZCBvZiBsZXR0ZXJzIGZvciBsb2Nh
bCB2YXJpYWJsZSBuYW1lcy4KKworICAgICAgICAqIHhtbC9YUGF0aFN0ZXAuaDogTWFrZSBhbG1v
c3QgZXZlcnl0aGluZyBpbiBOb2RlVGVzdCBwcml2YXRlIHNpbmNlIGNhbGxlcnMKKyAgICAgICAg
anVzdCBzZXQgdGhlc2UgdXAgYW5kIFN0ZXAgaXMgd2hhdCBhY3R1YWxseSB1c2VzIHRoZW0uIENo
YW5nZWQgdGhlIHByZWRpY2F0ZQorICAgICAgICB2ZWN0b3JzIHRvIGJlIHZlY3RvcnMgb2YgUHJl
ZGljYXRlIGluc3RlYWQgb2YgUHJlZGljYXRlKiwgc2luY2UgYSBQcmVkaWNhdGUKKyAgICAgICAg
aXMganVzdCBhIHdyYXBwZXIgYXJvdW5kIGEgc2luZ2xlIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPi4gQ2hhbmdlZCB0byB1c2UKKyAgICAgICAgbW92ZSBpbnN0ZWFkIG9mIGNvcHkgd2hlbiBt
YWtpbmcgYSBTdGVwIGFuZCB0byB1c2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzLgor
CisgICAgICAgICogeG1sL1hQYXRoVmFsdWUuY3BwOiBVc2Ugc3RkOjpudW1lcmljX2xpbWl0cyBl
eHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgdXNpbmcuCisgICAgICAgIEdvdCByaWQgb2YgVmFs
dWU6OmFkb3B0LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjp0b05vZGVTZXQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZiBERUZJTkVfU1RBVEVfTE9DQUwuCisgICAgICAg
IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpWYWx1
ZTo6bW9kaWZpYWJsZU5vZGVTZXQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpW
YWx1ZTo6dG9Cb29sZWFuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6
OnRvTnVtYmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6OnRvU3Ry
aW5nKTogRGl0dG8uIFVzZSBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhWYWx1
ZS5oOiBNb3ZlZCBWYWx1ZURhdGEgY2xhc3MgaW5zaWRlIHRoZSBWYWx1ZSBjbGFzcyBhbmQgcmVu
YW1lZAorICAgICAgICBpdCBWYWx1ZTo6RGF0YS4gUmVtb3ZlZCBmYW5jeSB0cmljayB0aGF0IGF2
b2lkcyB0dXJuaW5nIHBvaW50ZXJzIGludG8gYm9vbCwgYW5kCisgICAgICAgIGp1c3QgdGFrZSB0
aGUgcmlzay4gTWFkZSBtYW55LCBidXQgbm90IGFsbCwgb2YgdGhlIFZhbHVlIGNvbnN0cnVjdG9y
cyBleHBsaWNpdAorICAgICAgICBzaW5jZSB3ZSBub3JtYWxseSBhcmUgZXhwbGljaXQgYXQgY2Fs
bCBzaXRlcy4gUmVtb3ZlZCB1bm5lZWRlZCB1bnNpZ25lZCBsb25nCisgICAgICAgIG92ZXJsb2Fk
IG9mIHRoZSBjb25zdHJ1Y3Rvci4gQ2hhbmdlZCB0aGUgTm9kZVNldCB2ZXJzaW9uIG9mIHRoZSBj
b25zdHJ1Y3RvciB0bworICAgICAgICB1c2Ugc3RkOjptb3ZlIGFuZCB1c2UgdGhhdCBpbnN0ZWFk
IG9mIEFkb3B0VGFnLgorCiAyMDEzLTEwLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEV2ZW50RGlzcGF0Y2hCZWhhdmlvciBpcyB1bm5lY2Vzc2FyeQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dHRyLmgKaW5kZXggMDU4NGE1ZWFmNmZiOTg1Yzc5YWFmNDg3MTk4ODhkZDJmZDQ3NzM3OS4uMjY5
ZDBiMGQ4ZmM5OGYwOWFhMTcwNmViZTdiODVlYWYwOWYwNWM3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5oCkBAIC02
NCw2ICs2NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGF0dGFjaFRvRWxlbWVudChFbGVtZW50Kik7
CiAgICAgdm9pZCBkZXRhY2hGcm9tRWxlbWVudFdpdGhWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcm
KTsKIAorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBtX25hbWUubmFtZXNwYWNlVVJJKCk7IH0KKwogcHJpdmF0ZToK
ICAgICBBdHRyKEVsZW1lbnQqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgQXR0cihEb2N1
bWVudCYsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsK
QEAgLTc0LDcgKzc2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIE5vZGVUeXBlIG5vZGVUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQVRUUklCVVRFX05PREU7IH0KIAogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX25hbWUubG9jYWxOYW1lKCk7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZXNwYWNlVVJJKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLm5hbWVzcGFjZVVS
SSgpOyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHByZWZpeCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIG1fbmFtZS5wcmVmaXgoKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCmluZGV4IDMzNjQ0YzI3MmVkMTU5Y2Yx
MjdjYzI0MWExMTMzMWFjNGZhYTg0MjUuLmNiYjA2YjJlMDI0ZjUzZTkwZDgwYjhlMWE2MWFkMmYw
MmI2YTJiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCkBAIC00MSwy
MSArNDEsMjIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7
CiAgICAgCi1QYXNzUmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVh
dGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiBy
ZXNvbHZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCitpbmxpbmUgWFBhdGhFeHByZXNzaW9uOjpYUGF0
aEV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNzaW9uPiYmIGV4cHJlc3Np
b24pCisgICAgOiBtX3RvcEV4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJlc3Npb24pKQogewotICAg
IFJlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGV4cHIgPSBYUGF0aEV4cHJlc3Npb246OmNyZWF0ZSgp
OwotICAgIFBhcnNlciBwYXJzZXI7Cit9CiAKLSAgICBleHByLT5tX3RvcEV4cHJlc3Npb24gPSBw
YXJzZXIucGFyc2VTdGF0ZW1lbnQoZXhwcmVzc2lvbiwgcmVzb2x2ZXIsIGVjKTsKLSAgICBpZiAo
IWV4cHItPm1fdG9wRXhwcmVzc2lvbikKLSAgICAgICAgcmV0dXJuIDA7CitQYXNzUmVmUHRyPFhQ
YXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0
cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlciwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgYXV0byBwYXJzZWRFeHByZXNzaW9uID0gUGFyc2VyOjpwYXJzZVN0YXRl
bWVudChleHByZXNzaW9uLCByZXNvbHZlciwgZWMpOworICAgIGlmICghcGFyc2VkRXhwcmVzc2lv
bikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gZXhwci5yZWxlYXNlKCk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24oc3RkOjptb3ZlKHBhcnNl
ZEV4cHJlc3Npb24pKSk7CiB9CiAKIFhQYXRoRXhwcmVzc2lvbjo6flhQYXRoRXhwcmVzc2lvbigp
CiB7Ci0gICAgZGVsZXRlIG1fdG9wRXhwcmVzc2lvbjsKIH0KIAogUGFzc1JlZlB0cjxYUGF0aFJl
c3VsdD4gWFBhdGhFeHByZXNzaW9uOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWdu
ZWQgc2hvcnQgdHlwZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTcxLDIw
ICs3MiwyMCBAQCBQYXNzUmVmUHRyPFhQYXRoUmVzdWx0PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1
YXRlKE5vZGUqIGNvbnRleHROb2RlLCB1bnNpZ25lZCBzaAogICAgIGV2YWx1YXRpb25Db250ZXh0
LnBvc2l0aW9uID0gMTsKICAgICBldmFsdWF0aW9uQ29udGV4dC5oYWRUeXBlQ29udmVyc2lvbkVy
cm9yID0gZmFsc2U7CiAgICAgUmVmUHRyPFhQYXRoUmVzdWx0PiByZXN1bHQgPSBYUGF0aFJlc3Vs
dDo6Y3JlYXRlKCZjb250ZXh0Tm9kZS0+ZG9jdW1lbnQoKSwgbV90b3BFeHByZXNzaW9uLT5ldmFs
dWF0ZSgpKTsKLSAgICBldmFsdWF0aW9uQ29udGV4dC5ub2RlID0gMDsgLy8gRG8gbm90IGhvbGQg
YSByZWZlcmVuY2UgdG8gdGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUg
d2hvbGUgZG9jdW1lbnQgZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KKyAgICBldmFsdWF0
aW9uQ29udGV4dC5ub2RlID0gbnVsbHB0cjsgLy8gRG8gbm90IGhvbGQgYSByZWZlcmVuY2UgdG8g
dGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUgd2hvbGUgZG9jdW1lbnQg
ZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KIAogICAgIGlmIChldmFsdWF0aW9uQ29udGV4
dC5oYWRUeXBlQ29udmVyc2lvbkVycm9yKSB7CiAgICAgICAgIC8vIEl0IGlzIG5vdCBzcGVjaWZp
ZWQgd2hhdCB0byBkbyBpZiB0eXBlIGNvbnZlcnNpb24gZmFpbHMgd2hpbGUgZXZhbHVhdGluZyBh
biBleHByZXNzaW9uLCBhbmQgSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiBpcyBub3QgZXhhY3RseSBy
aWdodAogICAgICAgICAvLyB3aGVuIHRoZSBmYWlsdXJlIGhhcHBlbnMgaW4gYW4gb3RoZXJ3aXNl
IHZhbGlkIGV4cHJlc3Npb24gYmVjYXVzZSBvZiBhIHZhcmlhYmxlLiBCdXQgWFBhdGhFdmFsdWF0
b3IgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJsZXMsIHNvIGl0J3MgY2xvc2UgZW5vdWdoLgogICAg
ICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJFU1NJT05fRVJSOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKHR5
cGUgIT0gWFBhdGhSZXN1bHQ6OkFOWV9UWVBFKSB7CiAgICAgICAgIGVjID0gMDsKICAgICAgICAg
cmVzdWx0LT5jb252ZXJ0VG8odHlwZSwgZWMpOwogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJl
dHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgKaW5kZXggMzEyNDkz
OWM2YWRjY2Y0NTUzMTA3MDQ2YTY2MTQyYjU1OGQ0ZGM5Yy4uMDBhMTdhMzBiZTMzZTBkMzMxYmEx
ZjY5ZWYyNWUzZjg1NTg3MTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFi
ZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSwx
NiArNDQsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgWFBhdGhFeHByZXNz
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8WFBhdGhFeHByZXNzaW9uPiB7CiAgICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24pOyB9CisgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gY3JlYXRlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGV4
cHJlc3Npb24sIFhQYXRoTlNSZXNvbHZlciosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgflhQ
YXRoRXhwcmVzc2lvbigpOwogICAgICAgICAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WFBh
dGhFeHByZXNzaW9uPiBjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwg
WFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICBQYXNzUmVmUHRyPFhQ
YXRoUmVzdWx0PiBldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWduZWQgc2hvcnQgdHlw
ZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgICAgICAKICAgICBwcml2
YXRlOgotICAgICAgICBYUGF0aEV4cHJlc3Npb24oKSB7IH0KKyAgICAgICAgWFBhdGhFeHByZXNz
aW9uKHN0ZDo6dW5pcXVlX3B0cjxYUGF0aDo6RXhwcmVzc2lvbj4mJik7CiAKLSAgICAgICAgWFBh
dGg6OkV4cHJlc3Npb24qIG1fdG9wRXhwcmVzc2lvbjsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFhQYXRoOjpFeHByZXNzaW9uPiBtX3RvcEV4cHJlc3Npb247CiAgICAgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCmluZGV4IGUzN2NjZGFlOGJjNTI5
ZGY3MTM1YTc4Mzg3NTZkZGY4ZTQ2OWM5YTQuLjY4NGQwZGViYzY3NjM4NDI2M2U2YmZjMDRhYjAw
ZDkwYjc1YmY4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJYUGF0aEV4cHJlc3Npb25Ob2RlLmgiCiAK
ICNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4
ICszNiw4IEBAIG5hbWVzcGFjZSBYUGF0aCB7CiAKIEV2YWx1YXRpb25Db250ZXh0JiBFeHByZXNz
aW9uOjpldmFsdWF0aW9uQ29udGV4dCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChFdmFs
dWF0aW9uQ29udGV4dCwgZXZhbHVhdGlvbkNvbnRleHQsICgpKTsKLSAgICByZXR1cm4gZXZhbHVh
dGlvbkNvbnRleHQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEV2YWx1YXRpb25Db250ZXh0
PiBjb250ZXh0OworICAgIHJldHVybiBjb250ZXh0OwogfQogCiBFeHByZXNzaW9uOjpFeHByZXNz
aW9uKCkKQEAgLTQ2LDkgKzQ3LDE1IEBAIEV4cHJlc3Npb246OkV4cHJlc3Npb24oKQogewogfQog
Ci1FeHByZXNzaW9uOjp+RXhwcmVzc2lvbigpCit2b2lkIEV4cHJlc3Npb246OnNldFN1YmV4cHJl
c3Npb25zKFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgc3ViZXhwcmVzc2lv
bnMpCiB7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fc3ViRXhwcmVzc2lvbnMpOworICAgIEFTU0VS
VChtX3N1YmV4cHJlc3Npb25zLmlzRW1wdHkoKSk7CisgICAgbV9zdWJleHByZXNzaW9ucyA9IHN0
ZDo6bW92ZShzdWJleHByZXNzaW9ucyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1f
c3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vu
c2l0aXZlIHw9IG1fc3ViZXhwcmVzc2lvbnNbaV0tPm1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsK
KyAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBtX3N1YmV4cHJlc3Npb25z
W2ldLT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFNp
emVTZW5zaXRpdmUgfD0gbV9zdWJleHByZXNzaW9uc1tpXS0+bV9pc0NvbnRleHRTaXplU2Vuc2l0
aXZlOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgWFBhdGgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IDFlY2U0YjNiMWIzYjA4NDY3OTI2MTBhZjI3YzU3
ODI0YmUxNmY2YjYuLmViZjFmNTA2OGQzNmViZTE4ZDk4ZGM2NDE1Njc1ZDZlZTBiYWI0MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMSw2ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4K
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2NiArMjcsNTYgQEAKICNpZm5k
ZWYgWFBhdGhFeHByZXNzaW9uTm9kZV9oCiAjZGVmaW5lIFhQYXRoRXhwcmVzc2lvbk5vZGVfaAog
Ci0jaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlhQYXRoVmFsdWUuaCIKLSNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7
CiAKIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7Ci1wdWJsaWM6CiAgICAgUmVmUHRyPE5vZGU+IG5vZGU7Ci0gICAgdW5zaWduZWQgbG9uZyBz
aXplOwotICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRpb247CisgICAgdW5zaWduZWQgc2l6ZTsKKyAg
ICB1bnNpZ25lZCBwb3NpdGlvbjsKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiB2YXJpYWJs
ZUJpbmRpbmdzOwogCiAgICAgYm9vbCBoYWRUeXBlQ29udmVyc2lvbkVycm9yOwogfTsKIAotY2xh
c3MgUGFyc2VOb2RlIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KLX07
Ci0KLWNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKK2NsYXNzIEV4cHJlc3Np
b24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1
YXRpb25Db250ZXh0KCk7CiAKLSAgICB2aXJ0dWFsIH5FeHByZXNzaW9uKCk7CisgICAgdmlydHVh
bCB+RXhwcmVzc2lvbigpIHsgfQogCi0gICAgdm9pZCBhZGRTdWJFeHByZXNzaW9uKEV4cHJlc3Np
b24qIGV4cHIpCi0gICAgewotICAgICAgICBtX3N1YkV4cHJlc3Npb25zLmFwcGVuZChleHByKTsK
LSAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlIHw9IGV4cHItPm1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZTsKLSAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBleHBy
LT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOwotICAgICAgICBtX2lzQ29udGV4dFNpemVT
ZW5zaXRpdmUgfD0gZXhwci0+bV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlOwotICAgIH0KKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIGJvb2wgaXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsgfQotICAgIHZv
aWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KICAgICBib29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0
aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsgfQotICAg
IHZvaWQgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoYm9vbCB2YWx1ZSkgeyBtX2lzQ29u
dGV4dFBvc2l0aW9uU2Vuc2l0aXZlID0gdmFsdWU7IH0KLQogICAgIGJvb2wgaXNDb250ZXh0U2l6
ZVNlbnNpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZTsgfQot
ICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250
ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRl
KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIEV4cHJlc3Npb24oKTsKIAotICAgIHVuc2lnbmVkIHN1
YkV4cHJlc3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViRXhwcmVzc2lvbnMuc2l6ZSgp
OyB9Ci0gICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25z
dCB7IHJldHVybiAqbV9zdWJFeHByZXNzaW9uc1tpXTsgfQorICAgIHVuc2lnbmVkIHN1YmV4cHJl
c3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyB9Cisg
ICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViZXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25zdCB7IHJl
dHVybiAqbV9zdWJleHByZXNzaW9uc1tpXTsgfQorCisgICAgdm9pZCBhZGRTdWJleHByZXNzaW9u
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGV4cHJlc3Npb24pCisgICAgeworICAgICAg
ICBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUgfD0gZXhwcmVzc2lvbi0+bV9pc0NvbnRleHROb2Rl
U2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlIHw9IGV4cHJl
c3Npb24tPm1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSB8PSBleHByZXNzaW9uLT5tX2lzQ29udGV4dFNpemVTZW5zaXRpdmU7Cisg
ICAgICAgIG1fc3ViZXhwcmVzc2lvbnMuYXBwZW5kKHN0ZDo6bW92ZShleHByZXNzaW9uKSk7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRTdWJleHByZXNzaW9ucyhWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmKTsKKworICAgIHZvaWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShi
b29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSA9IHZhbHVlOyB9CisgICAgdm9p
ZCBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNl
bnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9
CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiBtX3N1YkV4cHJlc3Npb25zOwor
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fc3ViZXhwcmVzc2lvbnM7
CiAKICAgICAvLyBFdmFsdWF0aW9uIGRldGFpbHMgdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3B0aW1p
emF0aW9uLgogICAgIGJvb2wgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aEZ1bmN0aW9ucy5jcHAKaW5kZXggMmQyNGUxYWFlNTZlM2Q5MjBiOGFjMGQyNzQ1NWJi
Yjc1OTVmNDQ0MS4uMmFhZTE5MjQwM2YzNmYyYjA1NWNlN2RhNGVmMWQzZTJkNjkyYTY0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJYUGF0aFV0aWwuaCIKICNpbmNsdWRl
ICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ2LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQogICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdc
bicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1x0JzsKIH0KIAotCi0jZGVmaW5lIERFRklORV9GVU5D
VElPTl9DUkVBVE9SKENsYXNzKSBzdGF0aWMgRnVuY3Rpb24qIGNyZWF0ZSMjQ2xhc3MoKSB7IHJl
dHVybiBuZXcgQ2xhc3M7IH0KKyNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoU3VmZml4
KSBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGVGdW5jdGlvbiMjU3VmZml4
KCkgeyByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxGdW4jI1N1ZmZpeD4oKTsgfQogCiBjbGFzcyBJ
bnRlcnZhbCB7CiBwdWJsaWM6CkBAIC02MywyMDEgKzYzLDE5MyBAQCBwcml2YXRlOgogICAgIGlu
dCBtX21heDsKIH07CiAKLXN0cnVjdCBGdW5jdGlvblJlYyB7Ci0gICAgdHlwZWRlZiBGdW5jdGlv
biAqKCpGYWN0b3J5Rm4pKCk7Ci0gICAgRmFjdG9yeUZuIGZhY3RvcnlGbjsKLSAgICBJbnRlcnZh
bCBhcmdzOwotfTsKLQotc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz4qIGZ1bmN0
aW9uTWFwOwotCi1jbGFzcyBGdW5MYXN0IDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5MYXN0
IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAg
RnVuTGFzdCgpIHsgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSh0cnVlKTsgfQogfTsKIAotY2xh
c3MgRnVuUG9zaXRpb24gOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1blBvc2l0aW9uIEZJTkFM
IDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuUG9z
aXRpb24oKSB7IHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKHRydWUpOyB9CiB9OwogCi1j
bGFzcyBGdW5Db3VudCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ291bnQgRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1bklkIDogcHVi
bGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5v
ZGVTZXRWYWx1ZTsgfQorY2xhc3MgRnVuSWQgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9k
ZVNldFZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Mb2NhbE5hbWUgOiBwdWJsaWMgRnVuY3Rpb24g
ewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0K
K2NsYXNzIEZ1bkxvY2FsTmFtZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1
ZTsgfQogcHVibGljOgogICAgIEZ1bkxvY2FsTmFtZSgpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSh0cnVlKTsgfSAvLyBsb2NhbC1uYW1lKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250
ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTmFtZXNwYWNlVVJJIDogcHVibGljIEZ1bmN0aW9u
IHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9
CitjbGFzcyBGdW5OYW1lc3BhY2VVUkkgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5n
VmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lc3BhY2VVUkkoKSB7IHNldElzQ29udGV4dE5v
ZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbmFtZXNwYWNlLXVyaSgpIHdpdGggbm8gYXJndW1lbnRz
IHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNzIEZ1bk5hbWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KK2NsYXNzIEZ1bk5hbWUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lKCkgeyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRy
dWUpOyB9IC8vIG5hbWUoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9
OwogCi1jbGFzcyBGdW5TdHJpbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN0cmluZyBG
SU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1
blN0cmluZygpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBzdHJpbmco
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5D
b25jYXQgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bkNvbmNhdCBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3RhcnRzV2l0aCA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpC
b29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1blN0YXJ0c1dpdGggRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Db250YWlucyA6IHB1YmxpYyBG
dW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFu
VmFsdWU7IH0KK2NsYXNzIEZ1bkNvbnRhaW5zIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAg
ICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJv
b2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nQmVmb3JlIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdCZWZvcmUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24g
eworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1
ZTo6U3RyaW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN1YnN0cmluZ0FmdGVyIDogcHVibGlj
IEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmlu
Z1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdBZnRlciBGSU5BTCA6IHB1YmxpYyBGdW5jdGlv
biB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmcgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3Ry
aW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN0cmluZ0xlbmd0aCA6IHB1YmxpYyBGdW5jdGlv
biB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFs
dWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsg
fQorY2xhc3MgRnVuU3RyaW5nTGVuZ3RoIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJl
clZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuU3RyaW5nTGVuZ3RoKCkgeyBzZXRJc0NvbnRleHRO
b2RlU2Vuc2l0aXZlKHRydWUpOyB9IC8vIHN0cmluZy1sZW5ndGgoKSB3aXRoIG5vIGFyZ3VtZW50
cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5Ob3JtYWxpemVTcGFjZSA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpT
dHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTm9ybWFsaXplU3BhY2UgRklOQUwgOiBwdWJsaWMgRnVu
Y3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5Ob3JtYWxpemVTcGFjZSgp
IHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBub3JtYWxpemUtc3BhY2Uo
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5U
cmFuc2xhdGUgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blRyYW5zbGF0ZSBGSU5BTCA6IHB1
YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQm9vbGVhbiA6
IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVl
OjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkJvb2xlYW4gRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCiBjbGFzcyBGdW5Ob3QgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blRydWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CitjbGFzcyBGdW5UcnVlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlw
ZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1
ZTsgfQogfTsKIAotY2xhc3MgRnVuRmFsc2UgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5G
YWxzZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNs
YXNzIEZ1bkxhbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7
IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5MYW5nIEZJTkFMIDogcHVi
bGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bkxhbmcoKSB7
IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbGFuZygpIGFsd2F5cyB3b3Jr
cyBvbiBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTnVtYmVyIDogcHVibGljIEZ1bmN0
aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVl
OyB9CitjbGFzcyBGdW5OdW1iZXIgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFs
dWU7IH0KIHB1YmxpYzoKICAgICBGdW5OdW1iZXIoKSB7IHNldElzQ29udGV4dE5vZGVTZW5zaXRp
dmUodHJ1ZSk7IH0gLy8gbnVtYmVyKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250ZXh0IG5v
ZGUuIAogfTsKIAotY2xhc3MgRnVuU3VtIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5TdW0g
RklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1
bkZsb29yIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1
cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5GbG9vciBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQ2VpbGluZyA6IHB1Ymxp
YyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1i
ZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ2VpbGluZyBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7Cisg
ICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpO
dW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuUm91bmQgOiBwdWJsaWMgRnVuY3Rpb24gewot
ICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2Ns
YXNzIEZ1blJvdW5kIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBw
dWJsaWM6CiAgICAgc3RhdGljIGRvdWJsZSByb3VuZChkb3VibGUpOwogfTsKIAotREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoRnVuTGFzdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blBvc2l0
aW9uKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuQ291bnQpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5JZCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkxvY2FsTmFtZSkKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5hbWVzcGFjZVVSSSkKLURFRklORV9GVU5DVElPTl9D
UkVBVE9SKEZ1bk5hbWUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN0cmluZykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvbmNhdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9S
KEZ1blN0YXJ0c1dpdGgpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Db250YWlucykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN1YnN0cmluZ0JlZm9yZSkKLURFRklORV9GVU5DVElP
Tl9DUkVBVE9SKEZ1blN1YnN0cmluZ0FmdGVyKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVu
U3Vic3RyaW5nKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3RyaW5nTGVuZ3RoKQotREVG
SU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTm9ybWFsaXplU3BhY2UpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5UcmFuc2xhdGUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkJvb2xl
YW4pCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Ob3QpCi1ERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5UcnVlKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuRmFsc2UpCi1ERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihGdW5MYW5nKQotCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5O
dW1iZXIpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5TdW0pCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5GbG9vcikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNlaWxpbmcpCi1E
RUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Sb3VuZCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KExhc3QpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihQb3NpdGlvbikKK0RFRklORV9GVU5DVElP
Tl9DUkVBVE9SKENvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoSWQpCitERUZJTkVfRlVO
Q1RJT05fQ1JFQVRPUihMb2NhbE5hbWUpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lc3Bh
Y2VVUkkpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lKQorCitERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihTdHJpbmcpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDb25jYXQpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdGFydHNXaXRoKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoQ29u
dGFpbnMpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdCZWZvcmUpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdBZnRlcikKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KFN1YnN0cmluZykKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0cmluZ0xlbmd0aCkKK0RFRklO
RV9GVU5DVElPTl9DUkVBVE9SKE5vcm1hbGl6ZVNwYWNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFU
T1IoVHJhbnNsYXRlKQorCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihCb29sZWFuKQorREVGSU5F
X0ZVTkNUSU9OX0NSRUFUT1IoTm90KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoVHJ1ZSkKK0RF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZhbHNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTGFu
ZykKKworREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTnVtYmVyKQorREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoU3VtKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRmxvb3IpCitERUZJTkVfRlVOQ1RJ
T05fQ1JFQVRPUihDZWlsaW5nKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoUm91bmQpCiAKICN1
bmRlZiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUgogCkBAIC0yOTAsMTcgKzI4MiwxNyBAQCBpbmxp
bmUgYm9vbCBJbnRlcnZhbDo6Y29udGFpbnMoaW50IHZhbHVlKSBjb25zdAogICAgIHJldHVybiB2
YWx1ZSA+PSBtX21pbiAmJiB2YWx1ZSA8PSBtX21heDsKIH0KIAotdm9pZCBGdW5jdGlvbjo6c2V0
QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCit2b2lkIEZ1bmN0aW9u
OjpzZXRBcmd1bWVudHMoY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmIGFyZ3VtZW50cykKIHsKLSAgICBBU1NFUlQoIXN1YkV4cHJlc3Npb25D
b3VudCgpKTsKKyAgICBBU1NFUlQoIXN1YmV4cHJlc3Npb25Db3VudCgpKTsKIAotICAgIC8vIFNv
bWUgZnVuY3Rpb25zIHVzZSBjb250ZXh0IG5vZGUgYXMgaW1wbGljaXQgYXJndW1lbnQsIHNvIHdo
ZW4gZXhwbGljaXQgYXJndW1lbnRzIGFyZSBhZGRlZCwgdGhleSBtYXkgbm8gbG9uZ2VyIGJlIGNv
bnRleHQgbm9kZSBzZW5zaXRpdmUuCi0gICAgaWYgKG1fbmFtZSAhPSAibGFuZyIgJiYgIWFyZ3Mu
aXNFbXB0eSgpKQorICAgIC8vIEZ1bmN0aW9ucyB0aGF0IHVzZSB0aGUgY29udGV4dCBub2RlIGFz
IGFuIGltcGxpY2l0IGFyZ3VtZW50IGFyZSBjb250ZXh0IG5vZGUgc2Vuc2l0aXZlIHdoZW4gdGhl
eQorICAgIC8vIGhhdmUgbm8gYXJndW1lbnRzLCBidXQgd2hlbiBleHBsaWNpdCBhcmd1bWVudHMg
YXJlIGFkZGVkLCB0aGV5IGFyZSBubyBsb25nZXIgY29udGV4dCBub2RlIHNlbnNpdGl2ZS4KKyAg
ICAvLyBBcyBvZiB0aGlzIHdyaXRpbmcsIHRoZSBvbmx5IGV4Y2VwdGlvbiB0byB0aGlzIGlzIHRo
ZSAibGFuZyIgZnVuY3Rpb24uCisgICAgaWYgKG5hbWUgIT0gImxhbmciICYmICFhcmd1bWVudHMu
aXNFbXB0eSgpKQogICAgICAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGZhbHNlKTsKIAot
ICAgIFZlY3RvcjxFeHByZXNzaW9uKj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGFyZ3MuZW5kKCk7
Ci0gICAgZm9yIChWZWN0b3I8RXhwcmVzc2lvbio+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGFyZ3Mu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBhZGRTdWJFeHByZXNzaW9uKCppdCk7
CisgICAgc2V0U3ViZXhwcmVzc2lvbnMoc3RkOjptb3ZlKGFyZ3VtZW50cykpOwogfQogCiBWYWx1
ZSBGdW5MYXN0OjpldmFsdWF0ZSgpIGNvbnN0CkBAIC0zNTgsNyArMzUwLDcgQEAgVmFsdWUgRnVu
SWQ6OmV2YWx1YXRlKCkgY29uc3QKICAgICAKICAgICByZXN1bHQubWFya1NvcnRlZChmYWxzZSk7
CiAgICAgCi0gICAgcmV0dXJuIFZhbHVlKHJlc3VsdCwgVmFsdWU6OmFkb3B0KTsKKyAgICByZXR1
cm4gVmFsdWUoc3RkOjptb3ZlKHJlc3VsdCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBl
eHBhbmRlZE5hbWVMb2NhbFBhcnQoTm9kZSogbm9kZSkKQEAgLTM4MSwxMCArMzczLDEwIEBAIFZh
bHVlIEZ1bkxvY2FsTmFtZTo6ZXZhbHVhdGUoKSBjb25zdAogICAgIGlmIChhcmd1bWVudENvdW50
KCkgPiAwKSB7CiAgICAgICAgIFZhbHVlIGEgPSBhcmd1bWVudCgwKS5ldmFsdWF0ZSgpOwogICAg
ICAgICBpZiAoIWEuaXNOb2RlU2V0KCkpCi0gICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAgICBOb2RlKiBub2RlID0gYS50b05v
ZGVTZXQoKS5maXJzdE5vZGUoKTsKLSAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWVM
b2NhbFBhcnQobm9kZSkgOiAiIjsKKyAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWVM
b2NhbFBhcnQobm9kZSkgOiBlbXB0eVN0cmluZygpOwogICAgIH0KIAogICAgIHJldHVybiBleHBh
bmRlZE5hbWVMb2NhbFBhcnQoZXZhbHVhdGlvbkNvbnRleHQoKS5ub2RlLmdldCgpKTsKQEAgLTM5
NSwxMCArMzg3LDEwIEBAIFZhbHVlIEZ1bk5hbWVzcGFjZVVSSTo6ZXZhbHVhdGUoKSBjb25zdAog
ICAgIGlmIChhcmd1bWVudENvdW50KCkgPiAwKSB7CiAgICAgICAgIFZhbHVlIGEgPSBhcmd1bWVu
dCgwKS5ldmFsdWF0ZSgpOwogICAgICAgICBpZiAoIWEuaXNOb2RlU2V0KCkpCi0gICAgICAgICAg
ICByZXR1cm4gIiI7CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAg
ICBOb2RlKiBub2RlID0gYS50b05vZGVTZXQoKS5maXJzdE5vZGUoKTsKLSAgICAgICAgcmV0dXJu
IG5vZGUgPyBub2RlLT5uYW1lc3BhY2VVUkkoKS5zdHJpbmcoKSA6ICIiOworICAgICAgICByZXR1
cm4gbm9kZSA/IG5vZGUtPm5hbWVzcGFjZVVSSSgpLnN0cmluZygpIDogZW1wdHlTdHJpbmcoKTsK
ICAgICB9CiAKICAgICByZXR1cm4gZXZhbHVhdGlvbkNvbnRleHQoKS5ub2RlLT5uYW1lc3BhY2VV
UkkoKS5zdHJpbmcoKTsKQEAgLTQwOSwxMCArNDAxLDEwIEBAIFZhbHVlIEZ1bk5hbWU6OmV2YWx1
YXRlKCkgY29uc3QKICAgICBpZiAoYXJndW1lbnRDb3VudCgpID4gMCkgewogICAgICAgICBWYWx1
ZSBhID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKTsKICAgICAgICAgaWYgKCFhLmlzTm9kZVNldCgp
KQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7CiAKICAgICAgICAgTm9kZSogbm9kZSA9IGEudG9Ob2RlU2V0KCkuZmlyc3ROb2RlKCk7Ci0g
ICAgICAgIHJldHVybiBub2RlID8gZXhwYW5kZWROYW1lKG5vZGUpIDogIiI7CisgICAgICAgIHJl
dHVybiBub2RlID8gZXhwYW5kZWROYW1lKG5vZGUpIDogZW1wdHlTdHJpbmcoKTsKICAgICB9CiAK
ICAgICByZXR1cm4gZXhwYW5kZWROYW1lKGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS5nZXQoKSk7
CkBAIC00NzMsMTIgKzQ2NSwxMiBAQCBWYWx1ZSBGdW5TdWJzdHJpbmdCZWZvcmU6OmV2YWx1YXRl
KCkgY29uc3QKICAgICBTdHJpbmcgczIgPSBhcmd1bWVudCgxKS5ldmFsdWF0ZSgpLnRvU3RyaW5n
KCk7CiAKICAgICBpZiAoczIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgc2l6ZV90IGkgPSBzMS5maW5kKHMyKTsKIAog
ICAgIGlmIChpID09IG5vdEZvdW5kKQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVy
biBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIHMxLmxlZnQoaSk7CiB9CkBAIC00OTAsNyAr
NDgyLDcgQEAgVmFsdWUgRnVuU3Vic3RyaW5nQWZ0ZXI6OmV2YWx1YXRlKCkgY29uc3QKIAogICAg
IHNpemVfdCBpID0gczEuZmluZChzMik7CiAgICAgaWYgKGkgPT0gbm90Rm91bmQpCi0gICAgICAg
IHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICByZXR1cm4g
czEuc3Vic3RyaW5nKGkgKyBzMi5sZW5ndGgoKSk7CiB9CkBAIC01MDAsMjUgKzQ5MiwyNSBAQCBW
YWx1ZSBGdW5TdWJzdHJpbmc6OmV2YWx1YXRlKCkgY29uc3QKICAgICBTdHJpbmcgcyA9IGFyZ3Vt
ZW50KDApLmV2YWx1YXRlKCkudG9TdHJpbmcoKTsKICAgICBkb3VibGUgZG91YmxlUG9zID0gYXJn
dW1lbnQoMSkuZXZhbHVhdGUoKS50b051bWJlcigpOwogICAgIGlmIChzdGQ6OmlzbmFuKGRvdWJs
ZVBvcykpCi0gICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CiAgICAgbG9uZyBwb3MgPSBzdGF0aWNfY2FzdDxsb25nPihGdW5Sb3VuZDo6cm91bmQoZG91Ymxl
UG9zKSk7CiAgICAgYm9vbCBoYXZlTGVuZ3RoID0gYXJndW1lbnRDb3VudCgpID09IDM7CiAgICAg
bG9uZyBsZW4gPSAtMTsKICAgICBpZiAoaGF2ZUxlbmd0aCkgewogICAgICAgICBkb3VibGUgZG91
YmxlTGVuID0gYXJndW1lbnQoMikuZXZhbHVhdGUoKS50b051bWJlcigpOwogICAgICAgICBpZiAo
c3RkOjppc25hbihkb3VibGVMZW4pKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgICAgIGxlbiA9IHN0YXRpY19jYXN0PGxvbmc+
KEZ1blJvdW5kOjpyb3VuZChkb3VibGVMZW4pKTsKICAgICB9CiAKICAgICBpZiAocG9zID4gbG9u
ZyhzLmxlbmd0aCgpKSkgCi0gICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CiAKICAgICBpZiAocG9zIDwgMSkgewogICAgICAgICBpZiAoaGF2ZUxlbmd0aCkg
ewogICAgICAgICAgICAgbGVuIC09IDEgLSBwb3M7CiAgICAgICAgICAgICBpZiAobGVuIDwgMSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CiAgICAgICAgIH0KICAgICAgICAgcG9zID0gMTsKICAgICB9CkBAIC01OTcsNyAr
NTg5LDcgQEAgVmFsdWUgRnVuTGFuZzo6ZXZhbHVhdGUoKSBjb25zdAogICAgIH0KIAogICAgIGlm
ICghbGFuZ3VhZ2VBdHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIFZhbHVlKGZhbHNlKTsKIAogICAgIFN0cmluZyBsYW5nVmFsdWUgPSBsYW5ndWFnZUF0dHJp
YnV0ZS0+dmFsdWUoKTsKICAgICB3aGlsZSAodHJ1ZSkgewpAQCAtNjExLDEyICs2MDMsMTIgQEAg
VmFsdWUgRnVuTGFuZzo6ZXZhbHVhdGUoKSBjb25zdAogICAgICAgICBsYW5nVmFsdWUgPSBsYW5n
VmFsdWUubGVmdChpbmRleCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biBWYWx1ZShmYWxzZSk7CiB9CiAKIFZhbHVlIEZ1bkZhbHNlOjpldmFsdWF0ZSgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBWYWx1ZShmYWxzZSk7CiB9CiAKIFZhbHVl
IEZ1bk51bWJlcjo6ZXZhbHVhdGUoKSBjb25zdApAQCAtNjY5LDYyICs2NjEsNzggQEAgVmFsdWUg
RnVuUm91bmQ6OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4gcm91bmQoYXJndW1lbnQoMCku
ZXZhbHVhdGUoKS50b051bWJlcigpKTsKIH0KIAotc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7Ci0g
ICAgY29uc3QgY2hhciogbmFtZTsKLSAgICBGdW5jdGlvblJlYyBmdW5jdGlvbjsKK3N0cnVjdCBG
dW5jdGlvbk1hcFZhbHVlIHsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+ICgqY3JlYXRp
b25GdW5jdGlvbikoKTsKKyAgICBJbnRlcnZhbCBhcmd1bWVudENvdW50SW50ZXJ2YWw7CiB9Owog
Ci1zdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1hcCgpCitzdGF0aWMgdm9pZCBwb3B1bGF0ZUZ1
bmN0aW9uTWFwKEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvbk1hcFZhbHVlPiYgZnVuY3Rpb25NYXAp
CiB7CisgICAgc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7CisgICAgICAgIGNvbnN0IGNoYXIqIG5h
bWU7CisgICAgICAgIEZ1bmN0aW9uTWFwVmFsdWUgZnVuY3Rpb247CisgICAgfTsKKwogICAgIHN0
YXRpYyBjb25zdCBGdW5jdGlvbk1hcHBpbmcgZnVuY3Rpb25zW10gPSB7Ci0gICAgICAgIHsgImJv
b2xlYW4iLCB7ICZjcmVhdGVGdW5Cb29sZWFuLCAxIH0gfSwKLSAgICAgICAgeyAiY2VpbGluZyIs
IHsgJmNyZWF0ZUZ1bkNlaWxpbmcsIDEgfSB9LAotICAgICAgICB7ICJjb25jYXQiLCB7ICZjcmVh
dGVGdW5Db25jYXQsIEludGVydmFsKDIsIEludGVydmFsOjpJbmYpIH0gfSwKLSAgICAgICAgeyAi
Y29udGFpbnMiLCB7ICZjcmVhdGVGdW5Db250YWlucywgMiB9IH0sCi0gICAgICAgIHsgImNvdW50
IiwgeyAmY3JlYXRlRnVuQ291bnQsIDEgfSB9LAotICAgICAgICB7ICJmYWxzZSIsIHsgJmNyZWF0
ZUZ1bkZhbHNlLCAwIH0gfSwKLSAgICAgICAgeyAiZmxvb3IiLCB7ICZjcmVhdGVGdW5GbG9vciwg
MSB9IH0sCi0gICAgICAgIHsgImlkIiwgeyAmY3JlYXRlRnVuSWQsIDEgfSB9LAotICAgICAgICB7
ICJsYW5nIiwgeyAmY3JlYXRlRnVuTGFuZywgMSB9IH0sCi0gICAgICAgIHsgImxhc3QiLCB7ICZj
cmVhdGVGdW5MYXN0LCAwIH0gfSwKLSAgICAgICAgeyAibG9jYWwtbmFtZSIsIHsgJmNyZWF0ZUZ1
bkxvY2FsTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJuYW1lIiwgeyAmY3Jl
YXRlRnVuTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJuYW1lc3BhY2UtdXJp
IiwgeyAmY3JlYXRlRnVuTmFtZXNwYWNlVVJJLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAg
IHsgIm5vcm1hbGl6ZS1zcGFjZSIsIHsgJmNyZWF0ZUZ1bk5vcm1hbGl6ZVNwYWNlLCBJbnRlcnZh
bCgwLCAxKSB9IH0sCi0gICAgICAgIHsgIm5vdCIsIHsgJmNyZWF0ZUZ1bk5vdCwgMSB9IH0sCi0g
ICAgICAgIHsgIm51bWJlciIsIHsgJmNyZWF0ZUZ1bk51bWJlciwgSW50ZXJ2YWwoMCwgMSkgfSB9
LAotICAgICAgICB7ICJwb3NpdGlvbiIsIHsgJmNyZWF0ZUZ1blBvc2l0aW9uLCAwIH0gfSwKLSAg
ICAgICAgeyAicm91bmQiLCB7ICZjcmVhdGVGdW5Sb3VuZCwgMSB9IH0sCi0gICAgICAgIHsgInN0
YXJ0cy13aXRoIiwgeyAmY3JlYXRlRnVuU3RhcnRzV2l0aCwgMiB9IH0sCi0gICAgICAgIHsgInN0
cmluZyIsIHsgJmNyZWF0ZUZ1blN0cmluZywgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7
ICJzdHJpbmctbGVuZ3RoIiwgeyAmY3JlYXRlRnVuU3RyaW5nTGVuZ3RoLCBJbnRlcnZhbCgwLCAx
KSB9IH0sCi0gICAgICAgIHsgInN1YnN0cmluZyIsIHsgJmNyZWF0ZUZ1blN1YnN0cmluZywgSW50
ZXJ2YWwoMiwgMykgfSB9LAotICAgICAgICB7ICJzdWJzdHJpbmctYWZ0ZXIiLCB7ICZjcmVhdGVG
dW5TdWJzdHJpbmdBZnRlciwgMiB9IH0sCi0gICAgICAgIHsgInN1YnN0cmluZy1iZWZvcmUiLCB7
ICZjcmVhdGVGdW5TdWJzdHJpbmdCZWZvcmUsIDIgfSB9LAotICAgICAgICB7ICJzdW0iLCB7ICZj
cmVhdGVGdW5TdW0sIDEgfSB9LAotICAgICAgICB7ICJ0cmFuc2xhdGUiLCB7ICZjcmVhdGVGdW5U
cmFuc2xhdGUsIDMgfSB9LAotICAgICAgICB7ICJ0cnVlIiwgeyAmY3JlYXRlRnVuVHJ1ZSwgMCB9
IH0sCisgICAgICAgIHsgImJvb2xlYW4iLCB7IGNyZWF0ZUZ1bmN0aW9uQm9vbGVhbiwgMSB9IH0s
CisgICAgICAgIHsgImNlaWxpbmciLCB7IGNyZWF0ZUZ1bmN0aW9uQ2VpbGluZywgMSB9IH0sCisg
ICAgICAgIHsgImNvbmNhdCIsIHsgY3JlYXRlRnVuY3Rpb25Db25jYXQsIEludGVydmFsKDIsIElu
dGVydmFsOjpJbmYpIH0gfSwKKyAgICAgICAgeyAiY29udGFpbnMiLCB7IGNyZWF0ZUZ1bmN0aW9u
Q29udGFpbnMsIDIgfSB9LAorICAgICAgICB7ICJjb3VudCIsIHsgY3JlYXRlRnVuY3Rpb25Db3Vu
dCwgMSB9IH0sCisgICAgICAgIHsgImZhbHNlIiwgeyBjcmVhdGVGdW5jdGlvbkZhbHNlLCAwIH0g
fSwKKyAgICAgICAgeyAiZmxvb3IiLCB7IGNyZWF0ZUZ1bmN0aW9uRmxvb3IsIDEgfSB9LAorICAg
ICAgICB7ICJpZCIsIHsgY3JlYXRlRnVuY3Rpb25JZCwgMSB9IH0sCisgICAgICAgIHsgImxhbmci
LCB7IGNyZWF0ZUZ1bmN0aW9uTGFuZywgMSB9IH0sCisgICAgICAgIHsgImxhc3QiLCB7IGNyZWF0
ZUZ1bmN0aW9uTGFzdCwgMCB9IH0sCisgICAgICAgIHsgImxvY2FsLW5hbWUiLCB7IGNyZWF0ZUZ1
bmN0aW9uTG9jYWxOYW1lLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgIm5hbWUiLCB7
IGNyZWF0ZUZ1bmN0aW9uTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJuYW1l
c3BhY2UtdXJpIiwgeyBjcmVhdGVGdW5jdGlvbk5hbWVzcGFjZVVSSSwgSW50ZXJ2YWwoMCwgMSkg
fSB9LAorICAgICAgICB7ICJub3JtYWxpemUtc3BhY2UiLCB7IGNyZWF0ZUZ1bmN0aW9uTm9ybWFs
aXplU3BhY2UsIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAibm90IiwgeyBjcmVhdGVG
dW5jdGlvbk5vdCwgMSB9IH0sCisgICAgICAgIHsgIm51bWJlciIsIHsgY3JlYXRlRnVuY3Rpb25O
dW1iZXIsIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAicG9zaXRpb24iLCB7IGNyZWF0
ZUZ1bmN0aW9uUG9zaXRpb24sIDAgfSB9LAorICAgICAgICB7ICJyb3VuZCIsIHsgY3JlYXRlRnVu
Y3Rpb25Sb3VuZCwgMSB9IH0sCisgICAgICAgIHsgInN0YXJ0cy13aXRoIiwgeyBjcmVhdGVGdW5j
dGlvblN0YXJ0c1dpdGgsIDIgfSB9LAorICAgICAgICB7ICJzdHJpbmciLCB7IGNyZWF0ZUZ1bmN0
aW9uU3RyaW5nLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgInN0cmluZy1sZW5ndGgi
LCB7IGNyZWF0ZUZ1bmN0aW9uU3RyaW5nTGVuZ3RoLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAg
ICAgIHsgInN1YnN0cmluZyIsIHsgY3JlYXRlRnVuY3Rpb25TdWJzdHJpbmcsIEludGVydmFsKDIs
IDMpIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5nLWFmdGVyIiwgeyBjcmVhdGVGdW5jdGlvblN1
YnN0cmluZ0FmdGVyLCAyIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5nLWJlZm9yZSIsIHsgY3Jl
YXRlRnVuY3Rpb25TdWJzdHJpbmdCZWZvcmUsIDIgfSB9LAorICAgICAgICB7ICJzdW0iLCB7IGNy
ZWF0ZUZ1bmN0aW9uU3VtLCAxIH0gfSwKKyAgICAgICAgeyAidHJhbnNsYXRlIiwgeyBjcmVhdGVG
dW5jdGlvblRyYW5zbGF0ZSwgMyB9IH0sCisgICAgICAgIHsgInRydWUiLCB7IGNyZWF0ZUZ1bmN0
aW9uVHJ1ZSwgMCB9IH0sCiAgICAgfTsKIAotICAgIGZ1bmN0aW9uTWFwID0gbmV3IEhhc2hNYXA8
U3RyaW5nLCBGdW5jdGlvblJlYz47CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJS
QVlfTEVOR1RIKGZ1bmN0aW9ucyk7ICsraSkKLSAgICAgICAgZnVuY3Rpb25NYXAtPnNldChmdW5j
dGlvbnNbaV0ubmFtZSwgZnVuY3Rpb25zW2ldLmZ1bmN0aW9uKTsKKyAgICAgICAgZnVuY3Rpb25N
YXAuYWRkKGZ1bmN0aW9uc1tpXS5uYW1lLCBmdW5jdGlvbnNbaV0uZnVuY3Rpb24pOwogfQogCi1G
dW5jdGlvbiogY3JlYXRlRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8
RXhwcmVzc2lvbio+JiBhcmdzKQorc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5jdGlvbjo6
Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgbnVtQXJndW1lbnRzKQogewotICAg
IGlmICghZnVuY3Rpb25NYXApCi0gICAgICAgIGNyZWF0ZUZ1bmN0aW9uTWFwKCk7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvbk1hcFZhbHVlPj4gZnVu
Y3Rpb25NYXA7CisgICAgaWYgKGZ1bmN0aW9uTWFwLmdldCgpLmlzRW1wdHkoKSkKKyAgICAgICAg
cG9wdWxhdGVGdW5jdGlvbk1hcChmdW5jdGlvbk1hcCk7CiAKLSAgICBIYXNoTWFwPFN0cmluZywg
RnVuY3Rpb25SZWM+OjppdGVyYXRvciBmdW5jdGlvbk1hcEl0ZXIgPSBmdW5jdGlvbk1hcC0+Zmlu
ZChuYW1lKTsKLSAgICBGdW5jdGlvblJlYyogZnVuY3Rpb25SZWMgPSAwOworICAgIGF1dG8gaXQg
PSBmdW5jdGlvbk1hcC5nZXQoKS5maW5kKG5hbWUpOworICAgIGlmIChpdCA9PSBmdW5jdGlvbk1h
cC5nZXQoKS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoZnVuY3Rp
b25NYXBJdGVyID09IGZ1bmN0aW9uTWFwLT5lbmQoKSB8fCAhKGZ1bmN0aW9uUmVjID0gJmZ1bmN0
aW9uTWFwSXRlci0+dmFsdWUpLT5hcmdzLmNvbnRhaW5zKGFyZ3Muc2l6ZSgpKSkKLSAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCFpdC0+dmFsdWUuYXJndW1lbnRDb3VudEludGVydmFsLmNvbnRh
aW5zKG51bUFyZ3VtZW50cykpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgRnVuY3Rp
b24qIGZ1bmN0aW9uID0gZnVuY3Rpb25SZWMtPmZhY3RvcnlGbigpOwotICAgIGZ1bmN0aW9uLT5z
ZXRBcmd1bWVudHMoYXJncyk7Ci0gICAgZnVuY3Rpb24tPnNldE5hbWUobmFtZSk7CisgICAgcmV0
dXJuIGl0LT52YWx1ZS5jcmVhdGlvbkZ1bmN0aW9uKCk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxG
dW5jdGlvbj4gRnVuY3Rpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgcmV0
dXJuIGNyZWF0ZShuYW1lLCAwKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5j
dGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxF
eHByZXNzaW9uPj4mJiBhcmd1bWVudHMpCit7CisgICAgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9u
PiBmdW5jdGlvbiA9IGNyZWF0ZShuYW1lLCBhcmd1bWVudHMuc2l6ZSgpKTsKKyAgICBpZiAoZnVu
Y3Rpb24pCisgICAgICAgIGZ1bmN0aW9uLT5zZXRBcmd1bWVudHMobmFtZSwgc3RkOjptb3ZlKGFy
Z3VtZW50cykpOwogICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhG
dW5jdGlvbnMuaAppbmRleCA5NjI1Yzg4M2FlOGIyMGMxYzY4NDA2ODQ2ZTkxOWU5ZTY2MDFjMmVm
Li4yZTk4YWRhNjRiMzNjZjg0ZTlkODY5ZDgwOTM2ZTlhYmYyNDYxMWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhGdW5jdGlvbnMuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwOSBBcHBsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zNCwyMSArMzQsMTggQEAgbmFtZXNwYWNlIFhQYXRoIHsKIAogY2xhc3MgRnVuY3Rp
b24gOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBzZXRBcmd1bWVudHMo
Y29uc3QgVmVjdG9yPEV4cHJlc3Npb24qPiYpOwotICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJp
bmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFZlY3RvcjxzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgYXJndW1lbnRzKTsKIAogcHJvdGVjdGVkOgotICAg
IHVuc2lnbmVkIGFyZ3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBzdWJFeHByZXNzaW9uQ291
bnQoKTsgfQotICAgIGNvbnN0IEV4cHJlc3Npb24mIGFyZ3VtZW50KGludCBwb3MpIGNvbnN0IHsg
cmV0dXJuIHN1YkV4cHJlc3Npb24ocG9zKTsgfQotCi0gICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX25hbWU7IH0KKyAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50KCkgY29uc3QgeyBy
ZXR1cm4gc3ViZXhwcmVzc2lvbkNvdW50KCk7IH0KKyAgICBjb25zdCBFeHByZXNzaW9uJiBhcmd1
bWVudCh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBzdWJleHByZXNzaW9uKGkpOyB9CiAKIHBy
aXZhdGU6Ci0gICAgU3RyaW5nIG1fbmFtZTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1
bmN0aW9uPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBudW1Bcmd1bWVudHMp
OworICAgIHZvaWQgc2V0QXJndW1lbnRzKGNvbnN0IFN0cmluZyYgbmFtZSwgVmVjdG9yPHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4mJik7CiB9OwogCi1GdW5jdGlvbiogY3JlYXRlRnVuY3Rp
b24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+JiBhcmdzID0g
VmVjdG9yPEV4cHJlc3Npb24qPigpKTsKLQogfSAvLyBuYW1lc3BhY2UgWFBhdGgKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3Jh
bW1hci55IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55CmluZGV4IDUxMjA0YmIz
MTgyMTIyMjYyNWQ0M2M3ZTFmZjEyMTNlNzMwZGJhNTQuLmIxN2EyOGFmOWYwODNhYjVlMjYyNjU4
MTY0NjQxNWFjMTA4ODliNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEdy
YW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhHcmFtbWFyLnkKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9y
Zz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtp
dC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMCwxMyArMzAsOSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogCiAjaW5jbHVkZSAiWFBhdGhGdW5jdGlvbnMuaCIKLSNpbmNsdWRlICJYUGF0aE5T
UmVzb2x2ZXIuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5oIgogI2luY2x1ZGUgIlhQYXRoUGF0
aC5oIgotI2luY2x1ZGUgIlhQYXRoUHJlZGljYXRlLmgiCi0jaW5jbHVkZSAiWFBhdGhTdGVwLmgi
CiAjaW5jbHVkZSAiWFBhdGhWYXJpYWJsZVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
TWFsbG9jLmg+CiAKICNkZWZpbmUgWVlNQUxMT0MgZmFzdE1hbGxvYwogI2RlZmluZSBZWUZSRUUg
ZmFzdEZyZWUKQEAgLTQ2LDk5ICs0Miw5MyBAQAogI2RlZmluZSBZWURFQlVHIDAKICNkZWZpbmUg
WVlNQVhERVBUSCAxMDAwMAogCisjZGVmaW5lIFlZTEVYX1BBUkFNIHBhcnNlcgorCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBYUGF0aDsKIAogJX0KIAogJXB1cmVf
cGFyc2VyCi0lcGFyc2UtcGFyYW0geyBXZWJDb3JlOjpYUGF0aDo6UGFyc2VyKiBwYXJzZXIgfQot
Ci0ldW5pb24KLXsKLSAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgU3RlcDo6Tm9kZVRlc3QqIG5v
ZGVUZXN0OwotICAgIE51bWVyaWNPcDo6T3Bjb2RlIG51bW9wOwotICAgIEVxVGVzdE9wOjpPcGNv
ZGUgZXFvcDsKLSAgICBTdHJpbmcqIHN0cjsKLSAgICBFeHByZXNzaW9uKiBleHByOwotICAgIFZl
Y3RvcjxQcmVkaWNhdGUqPiogcHJlZExpc3Q7Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiogYXJn
TGlzdDsKLSAgICBTdGVwKiBzdGVwOwotICAgIExvY2F0aW9uUGF0aCogbG9jYXRpb25QYXRoOwot
fQorJXBhcnNlLXBhcmFtIHsgUGFyc2VyJiBwYXJzZXIgfQogCi0leworJXVuaW9uIHsgTnVtZXJp
Y09wOjpPcGNvZGUgbnVtZXJpY09wY29kZTsgfQorJWxlZnQgPG51bWVyaWNPcGNvZGU+IE1VTE9Q
CiAKLXN0YXRpYyBpbnQgeHBhdGh5eWxleChZWVNUWVBFKiB5eWx2YWwpIHsgcmV0dXJuIFBhcnNl
cjo6Y3VycmVudCgpLT5sZXgoeXlsdmFsKTsgfQotc3RhdGljIHZvaWQgeHBhdGh5eWVycm9yKHZv
aWQqLCBjb25zdCBjaGFyKikgeyB9Ci0gICAgCi0lfQorJXVuaW9uIHsgRXFUZXN0T3A6Ok9wY29k
ZSBlcXVhbGl0eVRlc3RPcGNvZGU7IH0KKyVsZWZ0IDxlcXVhbGl0eVRlc3RPcGNvZGU+IEVRT1Ag
UkVMT1AKIAotJWxlZnQgPG51bW9wPiBNVUxPUAotJWxlZnQgPGVxb3A+IEVRT1AgUkVMT1AKICVs
ZWZ0IFBMVVMgTUlOVVMKKwogJWxlZnQgT1IgQU5ECisKKyV1bmlvbiB7IFN0cmluZ0ltcGwqIHN0
cmluZzsgfQorJXRva2VuIDxzdHJpbmc+IEZVTkNUSU9OTkFNRSBMSVRFUkFMIE5BTUVURVNUIE5V
TUJFUiBOT0RFVFlQRSBWQVJJQUJMRVJFRkVSRU5DRQorJWRlc3RydWN0b3IgeyBpZiAoJCQpICQk
LT5kZXJlZigpOyB9IEZVTkNUSU9OTkFNRSBMSVRFUkFMIE5BTUVURVNUIE5VTUJFUiBOT0RFVFlQ
RSBWQVJJQUJMRVJFRkVSRU5DRQorCisldW5pb24geyBTdGVwOjpBeGlzIGF4aXM7IH0KICV0b2tl
biA8YXhpcz4gQVhJU05BTUUKLSV0b2tlbiA8c3RyPiBOT0RFVFlQRSBQSSBGVU5DVElPTk5BTUUg
TElURVJBTAotJXRva2VuIDxzdHI+IFZBUklBQkxFUkVGRVJFTkNFIE5VTUJFUgotJXRva2VuIERP
VERPVCBTTEFTSFNMQVNICi0ldG9rZW4gPHN0cj4gTkFNRVRFU1QKLSV0b2tlbiBYUEFUSF9FUlJP
UgotCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBMb2NhdGlvblBhdGgKLSV0eXBlIDxsb2NhdGlvblBh
dGg+IEFic29sdXRlTG9jYXRpb25QYXRoCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBSZWxhdGl2ZUxv
Y2F0aW9uUGF0aAotJXR5cGUgPHN0ZXA+IFN0ZXAKICV0eXBlIDxheGlzPiBBeGlzU3BlY2lmaWVy
Ci0ldHlwZSA8c3RlcD4gRGVzY2VuZGFudE9yU2VsZgorCisldG9rZW4gQ09NTUVOVCBET1RET1Qg
UEkgTk9ERSBTTEFTSFNMQVNIIFRFWFQgWFBBVEhfRVJST1IKKworJXVuaW9uIHsgTG9jYXRpb25Q
YXRoKiBsb2NhdGlvblBhdGg7IH0KKyV0eXBlIDxsb2NhdGlvblBhdGg+IExvY2F0aW9uUGF0aCBB
YnNvbHV0ZUxvY2F0aW9uUGF0aCBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorJWRlc3RydWN0b3IgeyBk
ZWxldGUgJCQ7IH0gTG9jYXRpb25QYXRoIEFic29sdXRlTG9jYXRpb25QYXRoIFJlbGF0aXZlTG9j
YXRpb25QYXRoCisKKyV1bmlvbiB7IFN0ZXA6Ok5vZGVUZXN0KiBub2RlVGVzdDsgfQogJXR5cGUg
PG5vZGVUZXN0PiBOb2RlVGVzdAotJXR5cGUgPGV4cHI+IFByZWRpY2F0ZQotJXR5cGUgPHByZWRM
aXN0PiBPcHRpb25hbFByZWRpY2F0ZUxpc3QKLSV0eXBlIDxwcmVkTGlzdD4gUHJlZGljYXRlTGlz
dAotJXR5cGUgPHN0ZXA+IEFiYnJldmlhdGVkU3RlcAotJXR5cGUgPGV4cHI+IEV4cHIKLSV0eXBl
IDxleHByPiBQcmltYXJ5RXhwcgotJXR5cGUgPGV4cHI+IEZ1bmN0aW9uQ2FsbAotJXR5cGUgPGFy
Z0xpc3Q+IEFyZ3VtZW50TGlzdAotJXR5cGUgPGV4cHI+IEFyZ3VtZW50Ci0ldHlwZSA8ZXhwcj4g
VW5pb25FeHByCi0ldHlwZSA8ZXhwcj4gUGF0aEV4cHIKLSV0eXBlIDxleHByPiBGaWx0ZXJFeHBy
Ci0ldHlwZSA8ZXhwcj4gT3JFeHByCi0ldHlwZSA8ZXhwcj4gQW5kRXhwcgotJXR5cGUgPGV4cHI+
IEVxdWFsaXR5RXhwcgotJXR5cGUgPGV4cHI+IFJlbGF0aW9uYWxFeHByCi0ldHlwZSA8ZXhwcj4g
QWRkaXRpdmVFeHByCi0ldHlwZSA8ZXhwcj4gTXVsdGlwbGljYXRpdmVFeHByCi0ldHlwZSA8ZXhw
cj4gVW5hcnlFeHByCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsgfSBOb2RlVGVzdAorCisldW5p
b24geyBWZWN0b3I8UHJlZGljYXRlPiogcHJlZGljYXRlVmVjdG9yOyB9CisldHlwZSA8cHJlZGlj
YXRlVmVjdG9yPiBQcmVkaWNhdGVMaXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAorJWRlc3RydWN0
b3IgeyBkZWxldGUgJCQ7IH0gUHJlZGljYXRlTGlzdCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKKwor
JXVuaW9uIHsgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4qIGV4cHJlc3Npb25W
ZWN0b3I7IH0KKyV0eXBlIDxleHByZXNzaW9uVmVjdG9yPiBBcmd1bWVudExpc3QKKyVkZXN0cnVj
dG9yIHsgZGVsZXRlICQkOyB9IEFyZ3VtZW50TGlzdAorCisldW5pb24geyBTdGVwKiBzdGVwOyB9
CisldHlwZSA8c3RlcD4gU3RlcCBBYmJyZXZpYXRlZFN0ZXAgRGVzY2VuZGFudE9yU2VsZgorJWRl
c3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gU3RlcCBBYmJyZXZpYXRlZFN0ZXAgRGVzY2VuZGFudE9y
U2VsZgorCisldW5pb24geyBFeHByZXNzaW9uKiBleHByZXNzaW9uOyB9CisldHlwZSA8ZXhwcmVz
c2lvbj4gQWRkaXRpdmVFeHByIEFuZEV4cHIgQXJndW1lbnQgRXF1YWxpdHlFeHByIEV4cHIgRmls
dGVyRXhwciBGdW5jdGlvbkNhbGwgTXVsdGlwbGljYXRpdmVFeHByIE9yRXhwciBQYXRoRXhwciBQ
cmVkaWNhdGUgUHJpbWFyeUV4cHIgUmVsYXRpb25hbEV4cHIgVW5hcnlFeHByIFVuaW9uRXhwcgor
JWRlc3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gQWRkaXRpdmVFeHByIEFuZEV4cHIgQXJndW1lbnQg
RXF1YWxpdHlFeHByIEV4cHIgRmlsdGVyRXhwciBGdW5jdGlvbkNhbGwgTXVsdGlwbGljYXRpdmVF
eHByIE9yRXhwciBQYXRoRXhwciBQcmVkaWNhdGUgUHJpbWFyeUV4cHIgUmVsYXRpb25hbEV4cHIg
VW5hcnlFeHByIFVuaW9uRXhwcgorCisleworCitzdGF0aWMgaW50IHhwYXRoeXlsZXgoWVlTVFlQ
RSogeXlsdmFsLCBQYXJzZXImIHBhcnNlcikgeyByZXR1cm4gcGFyc2VyLmxleCgqeXlsdmFsKTsg
fQorc3RhdGljIHZvaWQgeHBhdGh5eWVycm9yKFBhcnNlciYsIGNvbnN0IGNoYXIqKSB7IH0KKwor
JX0KIAogJSUKIAotRXhwcjoKLSAgICBPckV4cHIKK1RvcDoKKyAgICBFeHByCiAgICAgewotICAg
ICAgICBwYXJzZXItPm1fdG9wRXhwciA9ICQxOworICAgICAgICBwYXJzZXIuc2V0UGFyc2VSZXN1
bHQoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSk7CiAgICAgfQogICAgIDsKIAorRXhw
cjoKKyAgICBPckV4cHIKKyAgICA7CisKIExvY2F0aW9uUGF0aDoKLSAgICBSZWxhdGl2ZUxvY2F0
aW9uUGF0aAotICAgIHsKLSAgICAgICAgJCQtPnNldEFic29sdXRlKGZhbHNlKTsKLSAgICB9Ci0g
ICAgfAogICAgIEFic29sdXRlTG9jYXRpb25QYXRoCiAgICAgewotICAgICAgICAkJC0+c2V0QWJz
b2x1dGUodHJ1ZSk7CisgICAgICAgICQkLT5zZXRBYnNvbHV0ZSgpOwogICAgIH0KKyAgICB8Cisg
ICAgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICA7CiAKIEFic29sdXRlTG9jYXRpb25QYXRoOgog
ICAgICcvJwogICAgIHsKICAgICAgICAgJCQgPSBuZXcgTG9jYXRpb25QYXRoOwotICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgICcvJyBSZWxh
dGl2ZUxvY2F0aW9uUGF0aApAQCAtMTQ5LDggKzEzOSw3IEBAIEFic29sdXRlTG9jYXRpb25QYXRo
OgogICAgIERlc2NlbmRhbnRPclNlbGYgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7CiAgICAg
ICAgICQkID0gJDI7Ci0gICAgICAgICQkLT5pbnNlcnRGaXJzdFN0ZXAoJDEpOwotICAgICAgICBw
YXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOworICAgICAgICAkJC0+cHJlcGVuZFN0ZXAo
c3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQxKSk7CiAgICAgfQogICAgIDsKIApAQCAtMTU4LDgzICsx
NDcsNzUgQEAgUmVsYXRpdmVMb2NhdGlvblBhdGg6CiAgICAgU3RlcAogICAgIHsKICAgICAgICAg
JCQgPSBuZXcgTG9jYXRpb25QYXRoOwotICAgICAgICAkJC0+YXBwZW5kU3RlcCgkMSk7Ci0gICAg
ICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVn
aXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9w
dHI8U3RlcD4oJDEpKTsKICAgICB9CiAgICAgfAogICAgIFJlbGF0aXZlTG9jYXRpb25QYXRoICcv
JyBTdGVwCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kU3RlcCgkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CisgICAgICAgICQkLT5hcHBlbmRTdGVwKHN0ZDo6
dW5pcXVlX3B0cjxTdGVwPigkMykpOwogICAgIH0KICAgICB8CiAgICAgUmVsYXRpdmVMb2NhdGlv
blBhdGggRGVzY2VuZGFudE9yU2VsZiBTdGVwCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kU3Rl
cCgkMik7Ci0gICAgICAgICQkLT5hcHBlbmRTdGVwKCQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJl
Z2lzdGVyUGFyc2VOb2RlKCQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2Rl
KCQzKTsKKyAgICAgICAgJCQtPmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQyKSk7
CisgICAgICAgICQkLT5hcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMykpOwogICAg
IH0KICAgICA7CiAKIFN0ZXA6CiAgICAgTm9kZVRlc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CiAg
ICAgewotICAgICAgICBpZiAoJDIpIHsKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6
Q2hpbGRBeGlzLCAqJDEsICokMik7Ci0gICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0
ZVZlY3RvcigkMik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChT
dGVwOjpDaGlsZEF4aXMsICokMSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRlc3QoJDEp
OwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFZlY3RvcjxQcmVkaWNhdGU+PiBwcmVkaWNhdGVMaXN0KCQyKTsKKyAgICAgICAg
aWYgKHByZWRpY2F0ZUxpc3QpCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxk
QXhpcywgc3RkOjptb3ZlKCokMSksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgc3RkOjpt
b3ZlKCokMSkpOwogICAgIH0KICAgICB8CiAgICAgTkFNRVRFU1QgT3B0aW9uYWxQcmVkaWNhdGVM
aXN0CiAgICAgeworICAgICAgICBTdHJpbmcgbmFtZXRlc3QgPSBhZG9wdFJlZigkMSk7CisgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UHJlZGljYXRlPj4gcHJlZGljYXRlTGlzdCgkMik7
CisKICAgICAgICAgU3RyaW5nIGxvY2FsTmFtZTsKICAgICAgICAgU3RyaW5nIG5hbWVzcGFjZVVS
STsKLSAgICAgICAgaWYgKCFwYXJzZXItPmV4cGFuZFFOYW1lKCokMSwgbG9jYWxOYW1lLCBuYW1l
c3BhY2VVUkkpKSB7Ci0gICAgICAgICAgICBwYXJzZXItPm1fZ290TmFtZXNwYWNlRXJyb3IgPSB0
cnVlOworICAgICAgICBpZiAoIXBhcnNlci5leHBhbmRRdWFsaWZpZWROYW1lKG5hbWV0ZXN0LCBs
b2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpIHsKKyAgICAgICAgICAgICQkID0gbnVsbHB0cjsKICAg
ICAgICAgICAgIFlZQUJPUlQ7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICgkMikg
ewotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIFN0ZXA6Ok5vZGVU
ZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpLCAq
JDIpOwotICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDIpOwotICAg
ICAgICB9IGVsc2UKKworICAgICAgICBpZiAocHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQk
ID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVz
dDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgc3RkOjptb3ZlKCpwcmVkaWNh
dGVMaXN0KSk7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6
Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsK
LSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAg
ICBBeGlzU3BlY2lmaWVyIE5vZGVUZXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKLSAg
ICAgICAgaWYgKCQzKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCAqJDIsICokMyk7
Ci0gICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMyk7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgKiQyKTsKLSAgICAgICAgcGFy
c2VyLT5kZWxldGVOb2RlVGVzdCgkMik7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5v
ZGUoJCQpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRp
Y2F0ZUxpc3QoJDMpOworCisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0KQorICAgICAgICAgICAg
JCQgPSBuZXcgU3RlcCgkMSwgc3RkOjptb3ZlKCokMiksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlz
dCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBzdGQ6Om1v
dmUoKiQyKSk7CiAgICAgfQogICAgIHwKICAgICBBeGlzU3BlY2lmaWVyIE5BTUVURVNUIE9wdGlv
bmFsUHJlZGljYXRlTGlzdAogICAgIHsKKyAgICAgICAgU3RyaW5nIG5hbWV0ZXN0ID0gYWRvcHRS
ZWYoJDIpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRp
Y2F0ZUxpc3QoJDMpOworCiAgICAgICAgIFN0cmluZyBsb2NhbE5hbWU7CiAgICAgICAgIFN0cmlu
ZyBuYW1lc3BhY2VVUkk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5leHBhbmRRTmFtZSgqJDIsIGxv
Y2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgewotICAgICAgICAgICAgcGFyc2VyLT5tX2dvdE5hbWVz
cGFjZUVycm9yID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFwYXJzZXIuZXhwYW5kUXVhbGlmaWVkTmFt
ZShuYW1ldGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKSB7CisgICAgICAgICAgICAkJCA9
IG51bGxwdHI7CiAgICAgICAgICAgICBZWUFCT1JUOwogICAgICAgICB9CiAKLSAgICAgICAgaWYg
KCQzKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgKiQzKTsKLSAg
ICAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQzKTsKLSAgICAgICAgfSBl
bHNlCisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0KQorICAgICAgICAgICAgJCQgPSBuZXcgU3Rl
cCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUs
IG5hbWVzcGFjZVVSSSksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAgICBlbHNl
CiAgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2Rl
VGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSk7Ci0gICAgICAgIHBhcnNl
ci0+ZGVsZXRlU3RyaW5nKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgk
JCk7CiAgICAgfQogICAgIHwKICAgICBBYmJyZXZpYXRlZFN0ZXAKQEAgLTI1MCwzNyArMjMxLDM3
IEBAIEF4aXNTcGVjaWZpZXI6CiAgICAgOwogCiBOb2RlVGVzdDoKLSAgICBOT0RFVFlQRSAnKCcg
JyknCisgICAgTk9ERSAnKCcgJyknCiAgICAgewotICAgICAgICBpZiAoKiQxID09ICJub2RlIikK
LSAgICAgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlO
b2RlVGVzdCk7Ci0gICAgICAgIGVsc2UgaWYgKCokMSA9PSAidGV4dCIpCi0gICAgICAgICAgICAk
JCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6VGV4dE5vZGVUZXN0KTsKLSAg
ICAgICAgZWxzZSBpZiAoKiQxID09ICJjb21tZW50IikKLSAgICAgICAgICAgICQkID0gbmV3IFN0
ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpDb21tZW50Tm9kZVRlc3QpOwotCi0gICAgICAg
IHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rlck5vZGVU
ZXN0KCQkKTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6
OkFueU5vZGVUZXN0KTsKKyAgICB9CisgICAgfAorICAgIFRFWFQgJygnICcpJworICAgIHsKKyAg
ICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVz
dCk7CisgICAgfQorICAgIHwKKyAgICBDT01NRU5UICcoJyAnKScKKyAgICB7CisgICAgICAgICQk
ID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpDb21tZW50Tm9kZVRlc3QpOwog
ICAgIH0KICAgICB8CiAgICAgUEkgJygnICcpJwogICAgIHsKICAgICAgICAgJCQgPSBuZXcgU3Rl
cDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0
KTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rlck5vZGVUZXN0KCQkKTsKICAgICB9CiAgICAgfAog
ICAgIFBJICcoJyBMSVRFUkFMICcpJwogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9k
ZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCAkMy0+
c3RyaXBXaGl0ZVNwYWNlKCkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMyk7Ci0g
ICAgICAgIHBhcnNlci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7CisgICAgICAgIFN0cmluZyBsaXRl
cmFsID0gYWRvcHRSZWYoJDMpOworICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6UHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIGxpdGVyYWwuc3RyaXBX
aGl0ZVNwYWNlKCkpOwogICAgIH0KICAgICA7CiAKIE9wdGlvbmFsUHJlZGljYXRlTGlzdDoKICAg
ICAvKiBlbXB0eSAqLwogICAgIHsKLSAgICAgICAgJCQgPSAwOworICAgICAgICAkJCA9IG51bGxw
dHI7CiAgICAgfQogICAgIHwKICAgICBQcmVkaWNhdGVMaXN0CkBAIC0yODksMTYgKzI3MCwxNCBA
QCBPcHRpb25hbFByZWRpY2F0ZUxpc3Q6CiBQcmVkaWNhdGVMaXN0OgogICAgIFByZWRpY2F0ZQog
ICAgIHsKLSAgICAgICAgJCQgPSBuZXcgVmVjdG9yPFByZWRpY2F0ZSo+OwotICAgICAgICAkJC0+
YXBwZW5kKG5ldyBQcmVkaWNhdGUoJDEpKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFy
c2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclByZWRpY2F0ZVZlY3RvcigkJCk7
CisgICAgICAgICQkID0gbmV3IFZlY3RvcjxQcmVkaWNhdGU+OworICAgICAgICAkJC0+YXBwZW5k
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSkpOwogICAgIH0KICAgICB8CiAgICAgUHJl
ZGljYXRlTGlzdCBQcmVkaWNhdGUKICAgICB7Ci0gICAgICAgICQkLT5hcHBlbmQobmV3IFByZWRp
Y2F0ZSgkMikpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOworICAg
ICAgICAkJCA9ICQxOworICAgICAgICAkJC0+YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPigkMikpOwogICAgIH0KICAgICA7CiAKQEAgLTMxMyw3ICsyOTIsNiBAQCBEZXNjZW5kYW50
T3JTZWxmOgogICAgIFNMQVNIU0xBU0gKICAgICB7CiAgICAgICAgICQkID0gbmV3IFN0ZXAoU3Rl
cDo6RGVzY2VuZGFudE9yU2VsZkF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpB
bnlOb2RlVGVzdCkpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAg
ICB9CiAgICAgOwogCkBAIC0zMjEsMjIgKzI5OSwxOSBAQCBBYmJyZXZpYXRlZFN0ZXA6CiAgICAg
Jy4nCiAgICAgewogICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OlNlbGZBeGlzLCBTdGVwOjpO
b2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKLSAgICAgICAgcGFyc2VyLT5y
ZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAgICBET1RET1QKICAgICB7CiAg
ICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6UGFyZW50QXhpcywgU3RlcDo6Tm9kZVRlc3QoU3Rl
cDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0KSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJz
ZU5vZGUoJCQpOwogICAgIH0KICAgICA7CiAKIFByaW1hcnlFeHByOgogICAgIFZBUklBQkxFUkVG
RVJFTkNFCiAgICAgewotICAgICAgICAkJCA9IG5ldyBWYXJpYWJsZVJlZmVyZW5jZSgqJDEpOwot
ICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0
ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBTdHJpbmcgbmFtZSA9IGFkb3B0UmVmKCQxKTsKKyAg
ICAgICAgJCQgPSBuZXcgVmFyaWFibGVSZWZlcmVuY2UobmFtZSk7CiAgICAgfQogICAgIHwKICAg
ICAnKCcgRXhwciAnKScKQEAgLTM0NiwxNiArMzIxLDE0IEBAIFByaW1hcnlFeHByOgogICAgIHwK
ICAgICBMSVRFUkFMCiAgICAgewotICAgICAgICAkJCA9IG5ldyBTdHJpbmdFeHByZXNzaW9uKCok
MSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5y
ZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIFN0cmluZyBsaXRlcmFsID0gYWRvcHRSZWYo
JDEpOworICAgICAgICAkJCA9IG5ldyBTdHJpbmdFeHByZXNzaW9uKHN0ZDo6bW92ZShsaXRlcmFs
KSk7CiAgICAgfQogICAgIHwKICAgICBOVU1CRVIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51
bWJlcigkMS0+dG9Eb3VibGUoKSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsK
LSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIFN0cmluZyBu
dW1lcmFsID0gYWRvcHRSZWYoJDEpOworICAgICAgICAkJCA9IG5ldyBOdW1iZXIobnVtZXJhbC50
b0RvdWJsZSgpKTsKICAgICB9CiAgICAgfAogICAgIEZ1bmN0aW9uQ2FsbApAQCAtMzY0LDM3ICsz
MzcsMzIgQEAgUHJpbWFyeUV4cHI6CiBGdW5jdGlvbkNhbGw6CiAgICAgRlVOQ1RJT05OQU1FICco
JyAnKScKICAgICB7Ci0gICAgICAgICQkID0gY3JlYXRlRnVuY3Rpb24oKiQxKTsKKyAgICAgICAg
U3RyaW5nIG5hbWUgPSBhZG9wdFJlZigkMSk7CisgICAgICAgICQkID0gWFBhdGg6OkZ1bmN0aW9u
OjpjcmVhdGUobmFtZSkucmVsZWFzZSgpOwogICAgICAgICBpZiAoISQkKQogICAgICAgICAgICAg
WVlBQk9SVDsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJz
ZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgIEZVTkNUSU9OTkFN
RSAnKCcgQXJndW1lbnRMaXN0ICcpJwogICAgIHsKLSAgICAgICAgJCQgPSBjcmVhdGVGdW5jdGlv
bigqJDEsICokMyk7CisgICAgICAgIFN0cmluZyBuYW1lID0gYWRvcHRSZWYoJDEpOworICAgICAg
ICAkJCA9IFhQYXRoOjpGdW5jdGlvbjo6Y3JlYXRlKG5hbWUsIHN0ZDo6bW92ZSgqJDMpKS5yZWxl
YXNlKCk7CiAgICAgICAgIGlmICghJCQpCiAgICAgICAgICAgICBZWUFCT1JUOwotICAgICAgICBw
YXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlRXhwcmVzc2lv
blZlY3RvcigkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAg
IH0KICAgICA7CiAKIEFyZ3VtZW50TGlzdDoKICAgICBBcmd1bWVudAogICAgIHsKLSAgICAgICAg
JCQgPSBuZXcgVmVjdG9yPEV4cHJlc3Npb24qPjsKLSAgICAgICAgJCQtPmFwcGVuZCgkMSk7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9yKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj47CisgICAgICAgICQkLT5hcHBlbmQoc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+KCQxKSk7CiAgICAgfQogICAgIHwKICAgICBBcmd1bWVudExpc3Qg
JywnIEFyZ3VtZW50CiAgICAgewotICAgICAgICAkJC0+YXBwZW5kKCQzKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAg
JCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAg
OwogCkBAIC00MDcsNDEgKzM3NSwyNiBAQCBVbmlvbkV4cHI6CiAgICAgfAogICAgIFVuaW9uRXhw
ciAnfCcgUGF0aEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFVuaW9uOwotICAgICAgICAk
JC0+YWRkU3ViRXhwcmVzc2lvbigkMSk7Ci0gICAgICAgICQkLT5hZGRTdWJFeHByZXNzaW9uKCQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IFVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAg
ICA7CiAKIFBhdGhFeHByOgogICAgIExvY2F0aW9uUGF0aAotICAgIHsKLSAgICAgICAgJCQgPSAk
MTsKLSAgICB9CiAgICAgfAogICAgIEZpbHRlckV4cHIKICAgICB8CiAgICAgRmlsdGVyRXhwciAn
LycgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7Ci0gICAgICAgICQzLT5zZXRBYnNvbHV0ZSh0
cnVlKTsKLSAgICAgICAgJCQgPSBuZXcgUGF0aChzdGF0aWNfY2FzdDxGaWx0ZXIqPigkMSksICQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQzLT5zZXRBYnNvbHV0ZSgpOworICAgICAgICAkJCA9IG5l
dyBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxM
b2NhdGlvblBhdGg+KCQzKSk7CiAgICAgfQogICAgIHwKICAgICBGaWx0ZXJFeHByIERlc2NlbmRh
bnRPclNlbGYgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7Ci0gICAgICAgICQzLT5pbnNlcnRG
aXJzdFN0ZXAoJDIpOwotICAgICAgICAkMy0+c2V0QWJzb2x1dGUodHJ1ZSk7Ci0gICAgICAgICQk
ID0gbmV3IFBhdGgoc3RhdGljX2Nhc3Q8RmlsdGVyKj4oJDEpLCAkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMik7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0g
ICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkMy0+cHJlcGVu
ZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQyKSk7CisgICAgICAgICQzLT5zZXRBYnNvbHV0
ZSgpOworICAgICAgICAkJCA9IG5ldyBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigk
MSksIHN0ZDo6dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+KCQzKSk7CiAgICAgfQogICAgIDsKIApA
QCAtNDUwLDEwICs0MDMsOCBAQCBGaWx0ZXJFeHByOgogICAgIHwKICAgICBQcmltYXJ5RXhwciBQ
cmVkaWNhdGVMaXN0CiAgICAgewotICAgICAgICAkJCA9IG5ldyBGaWx0ZXIoJDEsICokMik7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+
ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNl
Tm9kZSgkJCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UHJlZGljYXRlPj4gcHJl
ZGljYXRlTGlzdCgkMik7CisgICAgICAgICQkID0gbmV3IEZpbHRlcihzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4oJDEpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKICAgICB9CiAgICAg
OwogCkBAIC00NjIsMTAgKzQxMyw3IEBAIE9yRXhwcjoKICAgICB8CiAgICAgT3JFeHByIE9SIEFu
ZEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IExvZ2ljYWxPcChMb2dpY2FsT3A6Ok9QX09y
LCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgTG9naWNhbE9wKExvZ2ljYWxP
cDo6T1BfT3IsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0
cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ3NCwxMCArNDIyLDcgQEAg
QW5kRXhwcjoKICAgICB8CiAgICAgQW5kRXhwciBBTkQgRXF1YWxpdHlFeHByCiAgICAgewotICAg
ICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9BbmQsICQxLCAkMyk7Ci0gICAg
ICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5y
ZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOworICAgICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9BbmQsIHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigk
MykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ4NiwxMCArNDMxLDcgQEAgRXF1YWxpdHlFeHByOgog
ICAgIHwKICAgICBFcXVhbGl0eUV4cHIgRVFPUCBSZWxhdGlvbmFsRXhwcgogICAgIHsKLSAgICAg
ICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdp
c3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
Myk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9
IG5ldyBFcVRlc3RPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNDk4LDEwICs0
NDAsNyBAQCBSZWxhdGlvbmFsRXhwcjoKICAgICB8CiAgICAgUmVsYXRpb25hbEV4cHIgUkVMT1Ag
QWRkaXRpdmVFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBFcVRlc3RPcCgkMiwgJDEsICQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCBzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAg
ICB9CiAgICAgOwogCkBAIC01MTAsMTggKzQ0OSwxMiBAQCBBZGRpdGl2ZUV4cHI6CiAgICAgfAog
ICAgIEFkZGl0aXZlRXhwciBQTFVTIE11bHRpcGxpY2F0aXZlRXhwcgogICAgIHsKLSAgICAgICAg
JCQgPSBuZXcgTnVtZXJpY09wKE51bWVyaWNPcDo6T1BfQWRkLCAkMSwgJDMpOwotICAgICAgICBw
YXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0
ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsK
KyAgICAgICAgJCQgPSBuZXcgTnVtZXJpY09wKE51bWVyaWNPcDo6T1BfQWRkLCBzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsK
ICAgICB9CiAgICAgfAogICAgIEFkZGl0aXZlRXhwciBNSU5VUyBNdWx0aXBsaWNhdGl2ZUV4cHIK
ICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNPcChOdW1lcmljT3A6Ok9QX1N1YiwgJDEs
ICQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAg
cGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rl
clBhcnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNPcChOdW1lcmljT3A6Ok9Q
X1N1Yiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNTMwLDEwICs0NjMsNyBAQCBNdWx0
aXBsaWNhdGl2ZUV4cHI6CiAgICAgfAogICAgIE11bHRpcGxpY2F0aXZlRXhwciBNVUxPUCBVbmFy
eUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNPcCgkMiwgJDEsICQzKTsKLSAg
ICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51
bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9k
ZSgkJCk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQog
ICAgIDsKIApAQCAtNTQyLDEwICs0NzIsNyBAQCBVbmFyeUV4cHI6CiAgICAgfAogICAgIE1JTlVT
IFVuYXJ5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTmVnYXRpdmU7Ci0gICAgICAgICQk
LT5hZGRTdWJFeHByZXNzaW9uKCQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VO
b2RlKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAg
ICQkID0gbmV3IE5lZ2F0aXZlKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMikpOwogICAg
IH0KICAgICA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5jcHAKaW5kZXggODc3ODJkNGFh
OWQ1MTM4ZjBiNDE3M2RlNWU4MzAyMTNkNjBiNGM4MC4uZTVhNmE5Mjk2NzI3MjJlOTEwZTAyNGU5
YmI2NWRiMmU1MmYzMDE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9k
ZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAgc3RhdGljIGlubGluZSBOb2RlKiBwYXJlbnRXaXRoRGVwdGgodW5zaWduZWQg
ZGVwdGgsIGNvbnN0IFZlY3RvcjxOb2RlKj4mIHBhcmVudHMKICAgICByZXR1cm4gcGFyZW50c1tw
YXJlbnRzLnNpemUoKSAtIDEgLSBkZXB0aF07CiB9CiAKLXN0YXRpYyB2b2lkIHNvcnRCbG9jayh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgVmVjdG9yPFZlY3RvcjxOb2RlKj4gPiYgcGFyZW50
TWF0cml4LCBib29sIG1heUNvbnRhaW5BdHRyaWJ1dGVOb2RlcykKK3N0YXRpYyB2b2lkIHNvcnRC
bG9jayh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgVmVjdG9yPFZlY3RvcjxOb2RlKj4+JiBw
YXJlbnRNYXRyaXgsIGJvb2wgbWF5Q29udGFpbkF0dHJpYnV0ZU5vZGVzKQogewogICAgIEFTU0VS
VChmcm9tICsgMSA8IHRvKTsgLy8gU2hvdWxkIG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBs
ZXNzIHRoYXQgdHdvIG5vZGVzIHRvIHNvcnQuCiAgICAgdW5zaWduZWQgbWluRGVwdGggPSBVSU5U
X01BWDsKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIE5vZGVTZXQ6OnNvcnQoKSBjb25zdAogCiAg
ICAgdW5zaWduZWQgbm9kZUNvdW50ID0gbV9ub2Rlcy5zaXplKCk7CiAgICAgaWYgKG5vZGVDb3Vu
dCA8IDIpIHsKLSAgICAgICAgY29uc3RfY2FzdDxib29sJj4obV9pc1NvcnRlZCkgPSB0cnVlOwor
ICAgICAgICBtX2lzU29ydGVkID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MTY5LDEyICsxNjksMTMgQEAgdm9pZCBOb2RlU2V0Ojpzb3J0KCkgY29uc3QKICAgICBzb3J0Qmxv
Y2soMCwgbm9kZUNvdW50LCBwYXJlbnRNYXRyaXgsIGNvbnRhaW5zQXR0cmlidXRlTm9kZXMpOwog
ICAgIAogICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBqdXN0IGFzc2lnbiB0aGUgcmVzdWx0
IHRvIG1fbm9kZXMsIGJlY2F1c2Ugc29tZSBub2RlcyBtYXkgZ2V0IGRlcmVmZXJlbmNlZCBhbmQg
ZGVzdHJveWVkLgotICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiBzb3J0ZWROb2RlczsKKyAgICBW
ZWN0b3I8UmVmUHRyPE5vZGU+PiBzb3J0ZWROb2RlczsKICAgICBzb3J0ZWROb2Rlcy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KG5vZGVDb3VudCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG5vZGVDb3VudDsgKytpKQogICAgICAgICBzb3J0ZWROb2Rlcy5hcHBlbmQocGFyZW50TWF0cml4
W2ldWzBdKTsKICAgICAKLSAgICBjb25zdF9jYXN0PFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiY+KG1f
bm9kZXMpLnN3YXAoc29ydGVkTm9kZXMpOworICAgIG1fbm9kZXMgPSBzdGQ6Om1vdmUoc29ydGVk
Tm9kZXMpOworICAgIG1faXNTb3J0ZWQgPSB0cnVlOwogfQogCiBzdGF0aWMgTm9kZSogZmluZFJv
b3ROb2RlKE5vZGUqIG5vZGUpCkBAIC0yMjcsMjcgKzIyOCwxNCBAQCB2b2lkIE5vZGVTZXQ6OnRy
YXZlcnNhbFNvcnQoKSBjb25zdAogICAgIH0KIAogICAgIEFTU0VSVChzb3J0ZWROb2Rlcy5zaXpl
KCkgPT0gbm9kZUNvdW50KTsKLSAgICBjb25zdF9jYXN0PFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiY+
KG1fbm9kZXMpLnN3YXAoc29ydGVkTm9kZXMpOwotfQotCi12b2lkIE5vZGVTZXQ6OnJldmVyc2Uo
KQotewotICAgIGlmIChtX25vZGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
dW5zaWduZWQgZnJvbSA9IDA7Ci0gICAgdW5zaWduZWQgdG8gPSBtX25vZGVzLnNpemUoKSAtIDE7
Ci0gICAgd2hpbGUgKGZyb20gPCB0bykgewotICAgICAgICBtX25vZGVzW2Zyb21dLnN3YXAobV9u
b2Rlc1t0b10pOwotICAgICAgICArK2Zyb207Ci0gICAgICAgIC0tdG87Ci0gICAgfQorICAgIG1f
bm9kZXMgPSBzdGQ6Om1vdmUoc29ydGVkTm9kZXMpOworICAgIG1faXNTb3J0ZWQgPSB0cnVlOwog
fQogCiBOb2RlKiBOb2RlU2V0OjpmaXJzdE5vZGUoKSBjb25zdAogewogICAgIGlmIChpc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHNv
cnQoKTsgLy8gRklYTUU6IGZ1bGx5IHNvcnRpbmcgdGhlIG5vZGUtc2V0IGp1c3QgdG8gZmluZCBp
dHMgZmlyc3Qgbm9kZSBpcyB3YXN0ZWZ1bC4KICAgICByZXR1cm4gbV9ub2Rlcy5hdCgwKS5nZXQo
KTsKQEAgLTI1Niw3ICsyNDQsNyBAQCBOb2RlKiBOb2RlU2V0OjpmaXJzdE5vZGUoKSBjb25zdAog
Tm9kZSogTm9kZVNldDo6YW55Tm9kZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgcmV0dXJuIG1f
bm9kZXMuYXQoMCkuZ2V0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhOb2RlU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggODM5
YmU4ZDhmMDQwM2Q3YTEyYzY5ZmQ0Y2QxNTdjZDMyNzhkMDQxZi4uM2I4YjRjOTgxODIyZjUwODBi
MmU1N2JhOTU3OGRkZmVlZjI4MDE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoTm9kZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtv
diA8YXBAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDkg
KzI3LDYgQEAKICNpZm5kZWYgWFBhdGhOb2RlU2V0X2gKICNkZWZpbmUgWFBhdGhOb2RlU2V0X2gK
IAotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCiAj
aW5jbHVkZSAiTm9kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiwyNiArMzQsMjQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKICAgICAgICAg
Y2xhc3MgTm9kZVNldCB7Ci0gICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwg
bV9zdWJ0cmVlc0FyZURpc2pvaW50KGZhbHNlKSB7IH0KKyAgICAgICAgICAgIE5vZGVTZXQoUGFz
c1JlZlB0cjxOb2RlPiBub2RlKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNq
b2ludChmYWxzZSksIG1fbm9kZXMoMSwgbm9kZSkgeyB9CiAgICAgICAgICAgICAKICAgICAgICAg
ICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9ub2Rlcy5zaXplKCk7IH0KLSAgICAg
ICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFtX25vZGVzLnNpemUoKTsgfQor
ICAgICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9ub2Rlcy5pc0VtcHR5
KCk7IH0KICAgICAgICAgICAgIE5vZGUqIG9wZXJhdG9yW10odW5zaWduZWQgaSkgY29uc3QgeyBy
ZXR1cm4gbV9ub2Rlcy5hdChpKS5nZXQoKTsgfQogICAgICAgICAgICAgdm9pZCByZXNlcnZlQ2Fw
YWNpdHkoc2l6ZV90IG5ld0NhcGFjaXR5KSB7IG1fbm9kZXMucmVzZXJ2ZUNhcGFjaXR5KG5ld0Nh
cGFjaXR5KTsgfQogICAgICAgICAgICAgdm9pZCBjbGVhcigpIHsgbV9ub2Rlcy5jbGVhcigpOyB9
Ci0gICAgICAgICAgICB2b2lkIHN3YXAoTm9kZVNldCYgb3RoZXIpIHsgc3RkOjpzd2FwKG1faXNT
b3J0ZWQsIG90aGVyLm1faXNTb3J0ZWQpOyBzdGQ6OnN3YXAobV9zdWJ0cmVlc0FyZURpc2pvaW50
LCBvdGhlci5tX3N1YnRyZWVzQXJlRGlzam9pbnQpOyBtX25vZGVzLnN3YXAob3RoZXIubV9ub2Rl
cyk7IH0KIAogICAgICAgICAgICAgLy8gTm9kZVNldCBpdHNlbGYgZG9lcyBub3QgdmVyaWZ5IHRo
YXQgbm9kZXMgaW4gaXQgYXJlIHVuaXF1ZS4KLSAgICAgICAgICAgIHZvaWQgYXBwZW5kKE5vZGUq
IG5vZGUpIHsgbV9ub2Rlcy5hcHBlbmQobm9kZSk7IH0KICAgICAgICAgICAgIHZvaWQgYXBwZW5k
KFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkgeyBtX25vZGVzLmFwcGVuZChub2RlKTsgfQogICAgICAg
ICAgICAgdm9pZCBhcHBlbmQoY29uc3QgTm9kZVNldCYgbm9kZVNldCkgeyBtX25vZGVzLmFwcGVu
ZFZlY3Rvcihub2RlU2V0Lm1fbm9kZXMpOyB9CiAKLSAgICAgICAgICAgIC8vIFJldHVybnMgdGhl
IHNldCdzIGZpcnN0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIG9yIDAgaWYgdGhlIHNldCBpcyBl
bXB0eS4KKyAgICAgICAgICAgIC8vIFJldHVybnMgdGhlIHNldCdzIGZpcnN0IG5vZGUgaW4gZG9j
dW1lbnQgb3JkZXIsIG9yIG51bGxwdHIgaWYgdGhlIHNldCBpcyBlbXB0eS4KICAgICAgICAgICAg
IE5vZGUqIGZpcnN0Tm9kZSgpIGNvbnN0OwogCi0gICAgICAgICAgICAvLyBSZXR1cm5zIDAgaWYg
dGhlIHNldCBpcyBlbXB0eS4KKyAgICAgICAgICAgIC8vIFJldHVybnMgbnVsbHB0ciBpZiB0aGUg
c2V0IGlzIGVtcHR5LgogICAgICAgICAgICAgTm9kZSogYW55Tm9kZSgpIGNvbnN0OwogCiAgICAg
ICAgICAgICAvLyBOb2RlU2V0IGl0c2VsZiBkb2Vzbid0IGNoZWNrIGlmIGl0IGNvbnRhaW5zIG5v
ZGVzIGluIGRvY3VtZW50IG9yZGVyIC0gdGhlIGNhbGxlciBzaG91bGQgdGVsbCBpdCBpZiBpdCBk
b2VzIG5vdC4KQEAgLTY4LDE0ICs2NCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICB2b2lkIG1hcmtTdWJ0cmVlc0Rpc2pvaW50KGJvb2wgZGlzam9pbnQpIHsgbV9zdWJ0cmVl
c0FyZURpc2pvaW50ID0gZGlzam9pbnQ7IH0KICAgICAgICAgICAgIGJvb2wgc3VidHJlZXNBcmVE
aXNqb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZXNBcmVEaXNqb2ludCB8fCBtX25vZGVz
LnNpemUoKSA8IDI7IH0KIAotICAgICAgICAgICAgdm9pZCByZXZlcnNlKCk7Ci0gICAgICAgIAog
ICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgdm9pZCB0cmF2ZXJzYWxTb3J0KCkgY29uc3Q7
CiAKLSAgICAgICAgICAgIGJvb2wgbV9pc1NvcnRlZDsKKyAgICAgICAgICAgIG11dGFibGUgYm9v
bCBtX2lzU29ydGVkOwogICAgICAgICAgICAgYm9vbCBtX3N1YnRyZWVzQXJlRGlzam9pbnQ7Ci0g
ICAgICAgICAgICBWZWN0b3I8UmVmUHRyPE5vZGU+ID4gbV9ub2RlczsKKyAgICAgICAgICAgIG11
dGFibGUgVmVjdG9yPFJlZlB0cjxOb2RlPj4gbV9ub2RlczsKICAgICAgICAgfTsKIAogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuY3BwCmluZGV4IGEwM2YxZmVjY2I1NzJlMmQ3N2E4YTFi
NmMxNmI3MjMyOTIwNzA0ODIuLjgyNjk4NWJlNGMzZjc0YmI0NGFmNGQ2YmNkMjI3OTkwYmQ4NjA1
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgMjAwNSBNYWtzaW0gT3Jsb3ZpY2ggPG1ha3NpbUBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC0zNCwyNiArMzQsNDAgQEAKICNpbmNsdWRlICJYUGF0aE5TUmVzb2x2ZXIuaCIKICNp
bmNsdWRlICJYUGF0aFBhdGguaCIKICNpbmNsdWRlICJYUGF0aFN0ZXAuaCIKKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LXVzaW5nIG5hbWVzcGFjZSBXVEY7Ci11c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIHVzaW5nIG5h
bWVzcGFjZSBYUGF0aDsKIAotZXh0ZXJuIGludCB4cGF0aHl5cGFyc2UoV2ViQ29yZTo6WFBhdGg6
OlBhcnNlciopOworZXh0ZXJuIGludCB4cGF0aHl5cGFyc2UoUGFyc2VyJik7CisKICNpbmNsdWRl
ICJYUGF0aEdyYW1tYXIuaCIKIAotUGFyc2VyKiBQYXJzZXI6OmN1cnJlbnRQYXJzZXIgPSAwOwor
bmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFhQYXRoIHsKIAotZW51bSBYTUxDYXQgeyBO
YW1lU3RhcnQsIE5hbWVDb250LCBOb3RQYXJ0T2ZOYW1lIH07CitzdHJ1Y3QgUGFyc2VyOjpUb2tl
biB7CisgICAgaW50IHR5cGU7CisgICAgU3RyaW5nIHN0cmluZzsKKyAgICBTdGVwOjpBeGlzIGF4
aXM7CisgICAgTnVtZXJpY09wOjpPcGNvZGUgbnVtZXJpY09wY29kZTsKKyAgICBFcVRlc3RPcDo6
T3Bjb2RlIGVxdWFsaXR5VGVzdE9wY29kZTsKIAotdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgU3Rl
cDo6QXhpcz4gQXhpc05hbWVzTWFwOworICAgIFRva2VuKGludCB0eXBlKSA6IHR5cGUodHlwZSkg
eyB9CisgICAgVG9rZW4oaW50IHR5cGUsIGNvbnN0IFN0cmluZyYgc3RyaW5nKSA6IHR5cGUodHlw
ZSksIHN0cmluZyhzdHJpbmcpIHsgfQorICAgIFRva2VuKGludCB0eXBlLCBTdGVwOjpBeGlzIGF4
aXMpIDogdHlwZSh0eXBlKSwgYXhpcyhheGlzKSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgTnVt
ZXJpY09wOjpPcGNvZGUgb3Bjb2RlKSA6IHR5cGUodHlwZSksIG51bWVyaWNPcGNvZGUob3Bjb2Rl
KSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgRXFUZXN0T3A6Ok9wY29kZSBvcGNvZGUpIDogdHlw
ZSh0eXBlKSwgZXF1YWxpdHlUZXN0T3Bjb2RlKG9wY29kZSkgeyB9Cit9OworCitlbnVtIFhNTENh
dCB7IE5hbWVTdGFydCwgTmFtZUNvbnQsIE5vdFBhcnRPZk5hbWUgfTsKIAogc3RhdGljIFhNTENh
dCBjaGFyQ2F0KFVDaGFyIGFDaGFyKQogewotICAgIC8vIyMjIG1pZ2h0IG5lZWQgdG8gYWRkIHNv
bWUgc3BlY2lhbCBjYXNlcyBmcm9tIHRoZSBYTUwgc3BlYy4KKyAgICB1c2luZyBuYW1lc3BhY2Ug
V1RGOworICAgIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiAgICAgaWYgKGFDaGFyID09ICdf
JykKICAgICAgICAgcmV0dXJuIE5hbWVTdGFydDsKQEAgLTY4LDcgKzgyLDcgQEAgc3RhdGljIFhN
TENhdCBjaGFyQ2F0KFVDaGFyIGFDaGFyKQogICAgIHJldHVybiBOb3RQYXJ0T2ZOYW1lOwogfQog
Ci1zdGF0aWMgdm9pZCBzZXRVcEF4aXNOYW1lc01hcChBeGlzTmFtZXNNYXAmIGF4aXNOYW1lcykK
K3N0YXRpYyB2b2lkIHBvcHVsYXRlQXhpc05hbWVzTWFwKEhhc2hNYXA8U3RyaW5nLCBTdGVwOjpB
eGlzPiYgYXhpc05hbWVzKQogewogICAgIHN0cnVjdCBBeGlzTmFtZSB7CiAgICAgICAgIGNvbnN0
IGNoYXIqIG5hbWU7CkBAIC04OSwyOSArMTAzLDIzIEBAIHN0YXRpYyB2b2lkIHNldFVwQXhpc05h
bWVzTWFwKEF4aXNOYW1lc01hcCYgYXhpc05hbWVzKQogICAgICAgICB7ICJwcmVjZWRpbmctc2li
bGluZyIsIFN0ZXA6OlByZWNlZGluZ1NpYmxpbmdBeGlzIH0sCiAgICAgICAgIHsgInNlbGYiLCBT
dGVwOjpTZWxmQXhpcyB9CiAgICAgfTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6
ZW9mKGF4aXNOYW1lTGlzdCkgLyBzaXplb2YoYXhpc05hbWVMaXN0WzBdKTsgKytpKQotICAgICAg
ICBheGlzTmFtZXMuc2V0KGF4aXNOYW1lTGlzdFtpXS5uYW1lLCBheGlzTmFtZUxpc3RbaV0uYXhp
cyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoYXhpc05h
bWVMaXN0KTsgKytpKQorICAgICAgICBheGlzTmFtZXMuYWRkKGF4aXNOYW1lTGlzdFtpXS5uYW1l
LCBheGlzTmFtZUxpc3RbaV0uYXhpcyk7CiB9CiAKLXN0YXRpYyBib29sIGlzQXhpc05hbWUoY29u
c3QgU3RyaW5nJiBuYW1lLCBTdGVwOjpBeGlzJiB0eXBlKQorc3RhdGljIGJvb2wgcGFyc2VBeGlz
TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0ZXA6OkF4aXMmIHR5cGUpCiB7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBeGlzTmFtZXNNYXAsIGF4aXNOYW1lcywgKCkpOwotCi0gICAgaWYgKGF4
aXNOYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIHNldFVwQXhpc05hbWVzTWFwKGF4aXNOYW1lcyk7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdGVwOjpBeGlzPj4g
YXhpc05hbWVzOworICAgIGlmIChheGlzTmFtZXMuZ2V0KCkuaXNFbXB0eSgpKQorICAgICAgICBw
b3B1bGF0ZUF4aXNOYW1lc01hcChheGlzTmFtZXMpOwogCi0gICAgQXhpc05hbWVzTWFwOjppdGVy
YXRvciBpdCA9IGF4aXNOYW1lcy5maW5kKG5hbWUpOwotICAgIGlmIChpdCA9PSBheGlzTmFtZXMu
ZW5kKCkpCisgICAgYXV0byBpdCA9IGF4aXNOYW1lcy5nZXQoKS5maW5kKG5hbWUpOworICAgIGlm
IChpdCA9PSBheGlzTmFtZXMuZ2V0KCkuZW5kKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB0eXBlID0gaXQtPnZhbHVlOwogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBp
c05vZGVUeXBlTmFtZShjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgcmV0dXJuIG5hbWUgPT0g
ImNvbW1lbnQiIHx8IG5hbWUgPT0gInRleHQiIHx8IG5hbWUgPT0gInByb2Nlc3NpbmctaW5zdHJ1
Y3Rpb24iIHx8IG5hbWUgPT0gIm5vZGUiOwotfQotCiAvLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGN1
cnJlbnQgdG9rZW4gY2FuIHBvc3NpYmx5IGJlIGEgYmluYXJ5IG9wZXJhdG9yLCBnaXZlbgogLy8g
dGhlIHByZXZpb3VzIHRva2VuLiBOZWNlc3NhcnkgdG8gZGlzYW1iaWd1YXRlIHNvbWUgb2YgdGhl
IG9wZXJhdG9ycwogLy8gKCogKG11bHRpcGx5KSwgZGl2LCBhbmQsIG9yLCBtb2QpIGluIHRoZSBb
MzJdIE9wZXJhdG9yIHJ1bGUKQEAgLTEzNiwyNSArMTQ0LDI1IEBAIHZvaWQgUGFyc2VyOjpza2lw
V1MoKQogICAgICAgICArK21fbmV4dFBvczsKIH0KIAotVG9rZW4gUGFyc2VyOjptYWtlVG9rZW5B
bmRBZHZhbmNlKGludCBjb2RlLCBpbnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjpt
YWtlVG9rZW5BbmRBZHZhbmNlKGludCBjb2RlLCBpbnQgYWR2YW5jZSkKIHsKICAgICBtX25leHRQ
b3MgKz0gYWR2YW5jZTsKICAgICByZXR1cm4gVG9rZW4oY29kZSk7CiB9CiAKLVRva2VuIFBhcnNl
cjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgTnVtZXJpY09wOjpPcGNvZGUgdmFsLCBp
bnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZhbmNlKGlu
dCBjb2RlLCBOdW1lcmljT3A6Ok9wY29kZSB2YWwsIGludCBhZHZhbmNlKQogewogICAgIG1fbmV4
dFBvcyArPSBhZHZhbmNlOwogICAgIHJldHVybiBUb2tlbihjb2RlLCB2YWwpOwogfQogCi1Ub2tl
biBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIEVxVGVzdE9wOjpPcGNvZGUg
dmFsLCBpbnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZh
bmNlKGludCBjb2RlLCBFcVRlc3RPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2UpCiB7CiAgICAg
bV9uZXh0UG9zICs9IGFkdmFuY2U7CiAgICAgcmV0dXJuIFRva2VuKGNvZGUsIHZhbCk7CiB9CiAK
LS8vIFJldHVybnMgbmV4dCBjaGFyIGlmIGl0J3MgdGhlcmUgYW5kIGludGVyZXN0aW5nLCAwIG90
aGVyd2lzZQorLy8gUmV0dXJucyBuZXh0IGNoYXIgaWYgaXQncyB0aGVyZSBhbmQgaW50ZXJlc3Rp
bmcsIDAgb3RoZXJ3aXNlLgogY2hhciBQYXJzZXI6OnBlZWtBaGVhZEhlbHBlcigpCiB7CiAgICAg
aWYgKG1fbmV4dFBvcyArIDEgPj0gbV9kYXRhLmxlbmd0aCgpKQpAQCAtMTc1LDcgKzE4Myw3IEBA
IGNoYXIgUGFyc2VyOjpwZWVrQ3VySGVscGVyKCkKICAgICByZXR1cm4gbmV4dDsKIH0KIAotVG9r
ZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQorUGFyc2VyOjpUb2tlbiBQYXJzZXI6OmxleFN0cmluZygp
CiB7CiAgICAgVUNoYXIgZGVsaW1pdGVyID0gbV9kYXRhW21fbmV4dFBvc107CiAgICAgaW50IHN0
YXJ0UG9zID0gbV9uZXh0UG9zICsgMTsKQEAgLTE5NCw3ICsyMDIsNyBAQCBUb2tlbiBQYXJzZXI6
OmxleFN0cmluZygpCiAgICAgcmV0dXJuIFRva2VuKFhQQVRIX0VSUk9SKTsKIH0KIAotVG9rZW4g
UGFyc2VyOjpsZXhOdW1iZXIoKQorUGFyc2VyOjpUb2tlbiBQYXJzZXI6OmxleE51bWJlcigpCiB7
CiAgICAgaW50IHN0YXJ0UG9zID0gbV9uZXh0UG9zOwogICAgIGJvb2wgc2VlbkRvdCA9IGZhbHNl
OwpAQCAtMjU2LDcgKzI2NCw3IEBAIGJvb2wgUGFyc2VyOjpsZXhRTmFtZShTdHJpbmcmIG5hbWUp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwo
KQoraW5saW5lIFBhcnNlcjo6VG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiB7CiAg
ICAgc2tpcFdTKCk7CiAKQEAgLTM0NCw3ICszNTIsNyBAQCBUb2tlbiBQYXJzZXI6Om5leHRUb2tl
bkludGVybmFsKCkKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy9JdCBtaWdodCBiZSBhbiBh
eGlzIG5hbWUuCiAgICAgICAgICAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgICAgICAgICBpZiAo
aXNBeGlzTmFtZShuYW1lLCBheGlzKSkKKyAgICAgICAgICAgIGlmIChwYXJzZUF4aXNOYW1lKG5h
bWUsIGF4aXMpKQogICAgICAgICAgICAgICAgIHJldHVybiBUb2tlbihBWElTTkFNRSwgYXhpcyk7
CiAgICAgICAgICAgICAvLyBVZ2gsIDo6IGlzIG9ubHkgdmFsaWQgaW4gYXhpcyBuYW1lcyAtPiBl
cnJvcgogICAgICAgICAgICAgcmV0dXJuIFRva2VuKFhQQVRIX0VSUk9SKTsKQEAgLTM3MCwxMyAr
Mzc4LDE2IEBAIFRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwoKQogICAgIGlmIChwZWVr
Q3VySGVscGVyKCkgPT0gJygnKSB7CiAgICAgICAgIC8vIG5vdGU6IHdlIGRvbid0IHN3YWxsb3cg
dGhlICcoJyBoZXJlIQogCi0gICAgICAgIC8vIGVpdGhlciBub2RlIHR5cGUgb2YgZnVuY3Rpb24g
bmFtZQotICAgICAgICBpZiAoaXNOb2RlVHlwZU5hbWUobmFtZSkpIHsKLSAgICAgICAgICAgIGlm
IChuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIikKLSAgICAgICAgICAgICAgICByZXR1
cm4gVG9rZW4oUEkpOworICAgICAgICAvLyBFaXRoZXIgbm9kZSB0eXBlIG9vciBmdW5jdGlvbiBu
YW1lLgogCi0gICAgICAgICAgICByZXR1cm4gVG9rZW4oTk9ERVRZUEUsIG5hbWUpOwotICAgICAg
ICB9CisgICAgICAgIGlmIChuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIikKKyAgICAg
ICAgICAgIHJldHVybiBUb2tlbihQSSk7CisgICAgICAgIGlmIChuYW1lID09ICJub2RlIikKKyAg
ICAgICAgICAgIHJldHVybiBUb2tlbihOT0RFKTsKKyAgICAgICAgaWYgKG5hbWUgPT0gInRleHQi
KQorICAgICAgICAgICAgcmV0dXJuIFRva2VuKFRFWFQpOworICAgICAgICBpZiAobmFtZSA9PSAi
Y29tbWVudCIpCisgICAgICAgICAgICByZXR1cm4gVG9rZW4oQ09NTUVOVCk7CiAKICAgICAgICAg
cmV0dXJuIFRva2VuKEZVTkNUSU9OTkFNRSwgbmFtZSk7CiAgICAgfQpAQCAtMzg1LDQ3ICszOTYs
MzYgQEAgVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiAgICAgcmV0dXJuIFRva2Vu
KE5BTUVURVNULCBuYW1lKTsKIH0KIAotVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW4oKQoraW5saW5l
IFBhcnNlcjo6VG9rZW4gUGFyc2VyOjpuZXh0VG9rZW4oKQogewotICAgIFRva2VuIHRvUmV0ID0g
bmV4dFRva2VuSW50ZXJuYWwoKTsKLSAgICBtX2xhc3RUb2tlblR5cGUgPSB0b1JldC50eXBlOwot
ICAgIHJldHVybiB0b1JldDsKKyAgICBUb2tlbiB0b2tlbiA9IG5leHRUb2tlbkludGVybmFsKCk7
CisgICAgbV9sYXN0VG9rZW5UeXBlID0gdG9rZW4udHlwZTsKKyAgICByZXR1cm4gdG9rZW47CiB9
CiAKLVBhcnNlcjo6UGFyc2VyKCkKK1BhcnNlcjo6UGFyc2VyKGNvbnN0IFN0cmluZyYgc3RhdGVt
ZW50LCBYUGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyKQorICAgIDogbV9kYXRhKHN0YXRlbWVudCkK
KyAgICAsIG1fcmVzb2x2ZXIocmVzb2x2ZXIpCisgICAgLCBtX25leHRQb3MoMCkKKyAgICAsIG1f
bGFzdFRva2VuVHlwZSgwKQorICAgICwgbV9zYXdOYW1lc3BhY2VFcnJvcihmYWxzZSkKIHsKLSAg
ICByZXNldChTdHJpbmcoKSk7CiB9CiAKLVBhcnNlcjo6flBhcnNlcigpCitpbnQgUGFyc2VyOjps
ZXgoWVlTVFlQRSYgeXlsdmFsKQogewotfQotCi12b2lkIFBhcnNlcjo6cmVzZXQoY29uc3QgU3Ry
aW5nJiBkYXRhKQotewotICAgIG1fbmV4dFBvcyA9IDA7Ci0gICAgbV9kYXRhID0gZGF0YTsKLSAg
ICBtX2xhc3RUb2tlblR5cGUgPSAwOwotICAgIAotICAgIG1fdG9wRXhwciA9IDA7Ci0gICAgbV9n
b3ROYW1lc3BhY2VFcnJvciA9IGZhbHNlOwotfQorICAgIFRva2VuIHRva2VuID0gbmV4dFRva2Vu
KCk7CiAKLWludCBQYXJzZXI6OmxleCh2b2lkKiBkYXRhKQotewotICAgIFlZU1RZUEUqIHl5bHZh
bCA9IHN0YXRpY19jYXN0PFlZU1RZUEUqPihkYXRhKTsKLSAgICBUb2tlbiB0b2sgPSBuZXh0VG9r
ZW4oKTsKLQotICAgIHN3aXRjaCAodG9rLnR5cGUpIHsKKyAgICBzd2l0Y2ggKHRva2VuLnR5cGUp
IHsKICAgICBjYXNlIEFYSVNOQU1FOgotICAgICAgICB5eWx2YWwtPmF4aXMgPSB0b2suYXhpczsK
KyAgICAgICAgeXlsdmFsLmF4aXMgPSB0b2tlbi5heGlzOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIE1VTE9QOgotICAgICAgICB5eWx2YWwtPm51bW9wID0gdG9rLm51bW9wOworICAgICAgICB5
eWx2YWwubnVtZXJpY09wY29kZSA9IHRva2VuLm51bWVyaWNPcGNvZGU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUkVMT1A6CiAgICAgY2FzZSBFUU9QOgotICAgICAgICB5eWx2YWwtPmVxb3Ag
PSB0b2suZXFvcDsKKyAgICAgICAgeXlsdmFsLmVxdWFsaXR5VGVzdE9wY29kZSA9IHRva2VuLmVx
dWFsaXR5VGVzdE9wY29kZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOT0RFVFlQRToKICAg
ICBjYXNlIEZVTkNUSU9OTkFNRToKQEAgLTQzMywxOTAgKzQzMyw1MCBAQCBpbnQgUGFyc2VyOjps
ZXgodm9pZCogZGF0YSkKICAgICBjYXNlIFZBUklBQkxFUkVGRVJFTkNFOgogICAgIGNhc2UgTlVN
QkVSOgogICAgIGNhc2UgTkFNRVRFU1Q6Ci0gICAgICAgIHl5bHZhbC0+c3RyID0gbmV3IFN0cmlu
Zyh0b2suc3RyKTsKLSAgICAgICAgcmVnaXN0ZXJTdHJpbmcoeXlsdmFsLT5zdHIpOworICAgICAg
ICB5eWx2YWwuc3RyaW5nID0gdG9rZW4uc3RyaW5nLnJlbGVhc2VJbXBsKCkubGVha1JlZigpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICByZXR1cm4gdG9rLnR5cGU7CisgICAgcmV0dXJu
IHRva2VuLnR5cGU7CiB9CiAKLWJvb2wgUGFyc2VyOjpleHBhbmRRTmFtZShjb25zdCBTdHJpbmcm
IHFOYW1lLCBTdHJpbmcmIGxvY2FsTmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpCitib29sIFBh
cnNlcjo6ZXhwYW5kUXVhbGlmaWVkTmFtZShjb25zdCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsIFN0
cmluZyYgbG9jYWxOYW1lLCBTdHJpbmcmIG5hbWVzcGFjZVVSSSkKIHsKLSAgICBzaXplX3QgY29s
b24gPSBxTmFtZS5maW5kKCc6Jyk7CisgICAgc2l6ZV90IGNvbG9uID0gcXVhbGlmaWVkTmFtZS5m
aW5kKCc6Jyk7CiAgICAgaWYgKGNvbG9uICE9IG5vdEZvdW5kKSB7Ci0gICAgICAgIGlmICghbV9y
ZXNvbHZlcikKKyAgICAgICAgaWYgKCFtX3Jlc29sdmVyKSB7CisgICAgICAgICAgICBtX3Nhd05h
bWVzcGFjZUVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
bmFtZXNwYWNlVVJJID0gbV9yZXNvbHZlci0+bG9va3VwTmFtZXNwYWNlVVJJKHFOYW1lLmxlZnQo
Y29sb24pKTsKLSAgICAgICAgaWYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSkKKyAgICAgICAgfQor
ICAgICAgICBuYW1lc3BhY2VVUkkgPSBtX3Jlc29sdmVyLT5sb29rdXBOYW1lc3BhY2VVUkkocXVh
bGlmaWVkTmFtZS5sZWZ0KGNvbG9uKSk7CisgICAgICAgIGlmIChuYW1lc3BhY2VVUkkuaXNOdWxs
KCkpIHsKKyAgICAgICAgICAgIG1fc2F3TmFtZXNwYWNlRXJyb3IgPSB0cnVlOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBsb2NhbE5hbWUgPSBxTmFtZS5zdWJzdHJpbmcoY29s
b24gKyAxKTsKKyAgICAgICAgfQorICAgICAgICBsb2NhbE5hbWUgPSBxdWFsaWZpZWROYW1lLnN1
YnN0cmluZyhjb2xvbiArIDEpOwogICAgIH0gZWxzZQotICAgICAgICBsb2NhbE5hbWUgPSBxTmFt
ZTsKLSAgICAKKyAgICAgICAgbG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZTsKKwogICAgIHJldHVy
biB0cnVlOwogfQogCi1FeHByZXNzaW9uKiBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGNvbnN0IFN0
cmluZyYgc3RhdGVtZW50LCBQYXNzUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4gcmVzb2x2ZXIsIEV4
Y2VwdGlvbkNvZGUmIGVjKQorc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IFBhcnNlcjo6cGFy
c2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFhQYXRoTlNSZXNvbHZlciogcmVz
b2x2ZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHJlc2V0KHN0YXRlbWVudCk7Ci0KLSAg
ICBtX3Jlc29sdmVyID0gcmVzb2x2ZXI7Ci0gICAgCi0gICAgUGFyc2VyKiBvbGRQYXJzZXIgPSBj
dXJyZW50UGFyc2VyOwotICAgIGN1cnJlbnRQYXJzZXIgPSB0aGlzOwotICAgIGludCBwYXJzZUVy
cm9yID0geHBhdGh5eXBhcnNlKHRoaXMpOwotICAgIGN1cnJlbnRQYXJzZXIgPSBvbGRQYXJzZXI7
Ci0KLSAgICBpZiAocGFyc2VFcnJvcikgewotICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXJz
ZU5vZGVzKTsKLSAgICAgICAgbV9wYXJzZU5vZGVzLmNsZWFyKCk7Ci0KLSAgICAgICAgSGFzaFNl
dDxWZWN0b3I8UHJlZGljYXRlKj4qPjo6aXRlcmF0b3IgcGVuZCA9IG1fcHJlZGljYXRlVmVjdG9y
cy5lbmQoKTsKLSAgICAgICAgZm9yIChIYXNoU2V0PFZlY3RvcjxQcmVkaWNhdGUqPio+OjppdGVy
YXRvciBpdCA9IG1fcHJlZGljYXRlVmVjdG9ycy5iZWdpbigpOyBpdCAhPSBwZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBkZWxldGVBbGxWYWx1ZXMoKippdCk7Ci0gICAgICAgICAgICBkZWxldGUg
Kml0OwotICAgICAgICB9Ci0gICAgICAgIG1fcHJlZGljYXRlVmVjdG9ycy5jbGVhcigpOwotCi0g
ICAgICAgIEhhc2hTZXQ8VmVjdG9yPEV4cHJlc3Npb24qPio+OjppdGVyYXRvciBlZW5kID0gbV9l
eHByZXNzaW9uVmVjdG9ycy5lbmQoKTsKLSAgICAgICAgZm9yIChIYXNoU2V0PFZlY3RvcjxFeHBy
ZXNzaW9uKj4qPjo6aXRlcmF0b3IgaXQgPSBtX2V4cHJlc3Npb25WZWN0b3JzLmJlZ2luKCk7IGl0
ICE9IGVlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcygqKml0KTsKLSAg
ICAgICAgICAgIGRlbGV0ZSAqaXQ7Ci0gICAgICAgIH0KLSAgICAgICAgbV9leHByZXNzaW9uVmVj
dG9ycy5jbGVhcigpOwotCi0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3N0cmluZ3MpOwotICAg
ICAgICBtX3N0cmluZ3MuY2xlYXIoKTsKKyAgICBQYXJzZXIgcGFyc2VyKHN0YXRlbWVudCwgcmVz
b2x2ZXIpOwogCi0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX25vZGVUZXN0cyk7Ci0gICAgICAg
IG1fbm9kZVRlc3RzLmNsZWFyKCk7CisgICAgaW50IHBhcnNlRXJyb3IgPSB4cGF0aHl5cGFyc2Uo
cGFyc2VyKTsKIAotICAgICAgICBtX3RvcEV4cHIgPSAwOwotCi0gICAgICAgIGlmIChtX2dvdE5h
bWVzcGFjZUVycm9yKQotICAgICAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJFU1NJT05f
RVJSOwotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAocGFyc2VyLm1fc2F3TmFtZXNwYWNlRXJy
b3IpIHsKKyAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKLSAgICBBU1NFUlQobV9wYXJzZU5vZGVzLnNpemUoKSA9PSAxKTsKLSAgICBB
U1NFUlQoKm1fcGFyc2VOb2Rlcy5iZWdpbigpID09IG1fdG9wRXhwcik7Ci0gICAgQVNTRVJUKG1f
ZXhwcmVzc2lvblZlY3RvcnMuc2l6ZSgpID09IDApOwotICAgIEFTU0VSVChtX3ByZWRpY2F0ZVZl
Y3RvcnMuc2l6ZSgpID09IDApOwotICAgIEFTU0VSVChtX3N0cmluZ3Muc2l6ZSgpID09IDApOwot
ICAgIEFTU0VSVChtX25vZGVUZXN0cy5zaXplKCkgPT0gMCk7Ci0KLSAgICBtX3BhcnNlTm9kZXMu
Y2xlYXIoKTsKLSAgICBFeHByZXNzaW9uKiByZXN1bHQgPSBtX3RvcEV4cHI7Ci0gICAgbV90b3BF
eHByID0gMDsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgUGFyc2VyOjpyZWdpc3Rl
clBhcnNlTm9kZShQYXJzZU5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKG5vZGUgPT0gMCkKLSAgICAg
ICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVCghbV9wYXJzZU5vZGVzLmNvbnRhaW5zKG5vZGUp
KTsKLSAgICAKLSAgICBtX3BhcnNlTm9kZXMuYWRkKG5vZGUpOwotfQotCi12b2lkIFBhcnNlcjo6
dW5yZWdpc3RlclBhcnNlTm9kZShQYXJzZU5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKG5vZGUgPT0g
MCkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVChtX3BhcnNlTm9kZXMuY29udGFp
bnMobm9kZSkpOwotCi0gICAgbV9wYXJzZU5vZGVzLnJlbW92ZShub2RlKTsKLX0KLQotdm9pZCBQ
YXJzZXI6OnJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9y
KQotewotICAgIGlmICh2ZWN0b3IgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJU
KCFtX3ByZWRpY2F0ZVZlY3RvcnMuY29udGFpbnModmVjdG9yKSk7Ci0gICAgCi0gICAgbV9wcmVk
aWNhdGVWZWN0b3JzLmFkZCh2ZWN0b3IpOwotfQotCi12b2lkIFBhcnNlcjo6ZGVsZXRlUHJlZGlj
YXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9yKQotewotICAgIGlmICh2ZWN0b3Ig
PT0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKG1fcHJlZGljYXRlVmVjdG9ycy5j
b250YWlucyh2ZWN0b3IpKTsKLSAgICAKLSAgICBtX3ByZWRpY2F0ZVZlY3RvcnMucmVtb3ZlKHZl
Y3Rvcik7Ci0gICAgZGVsZXRlIHZlY3RvcjsKLX0KLQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJF
eHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qIHZlY3RvcikKLXsKLSAgICBpZiAo
dmVjdG9yID09IDApCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghbV9leHByZXNzaW9u
VmVjdG9ycy5jb250YWlucyh2ZWN0b3IpKTsKLSAgICAKLSAgICBtX2V4cHJlc3Npb25WZWN0b3Jz
LmFkZCh2ZWN0b3IpOyAgICAKLX0KLQotdm9pZCBQYXJzZXI6OmRlbGV0ZUV4cHJlc3Npb25WZWN0
b3IoVmVjdG9yPEV4cHJlc3Npb24qPiogdmVjdG9yKQotewotICAgIGlmICh2ZWN0b3IgPT0gMCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKG1fZXhwcmVzc2lvblZlY3RvcnMuY29udGFp
bnModmVjdG9yKSk7Ci0gICAgCi0gICAgbV9leHByZXNzaW9uVmVjdG9ycy5yZW1vdmUodmVjdG9y
KTsKLSAgICBkZWxldGUgdmVjdG9yOwotfQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJTdHJpbmco
U3RyaW5nKiBzKQotewotICAgIGlmIChzID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAg
ICBBU1NFUlQoIW1fc3RyaW5ncy5jb250YWlucyhzKSk7Ci0gICAgCi0gICAgbV9zdHJpbmdzLmFk
ZChzKTsgICAgICAgIAotfQotCi12b2lkIFBhcnNlcjo6ZGVsZXRlU3RyaW5nKFN0cmluZyogcykK
LXsKLSAgICBpZiAocyA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKG1f
c3RyaW5ncy5jb250YWlucyhzKSk7Ci0gICAgCi0gICAgbV9zdHJpbmdzLnJlbW92ZShzKTsKLSAg
ICBkZWxldGUgczsKLX0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyTm9kZVRlc3QoU3RlcDo6Tm9k
ZVRlc3QqIHQpCi17Ci0gICAgaWYgKHQgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IEFTU0VSVCghbV9ub2RlVGVzdHMuY29udGFpbnModCkpOwotICAgIAotICAgIG1fbm9kZVRlc3Rz
LmFkZCh0KTsgICAgICAgIAotfQorICAgIGlmIChwYXJzZUVycm9yKSB7CisgICAgICAgIGVjID0g
WFBhdGhFeGNlcHRpb246OklOVkFMSURfRVhQUkVTU0lPTl9FUlI7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KIAotdm9pZCBQYXJzZXI6OmRlbGV0ZU5vZGVUZXN0KFN0ZXA6Ok5vZGVU
ZXN0KiB0KQotewotICAgIGlmICh0ID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBB
U1NFUlQobV9ub2RlVGVzdHMuY29udGFpbnModCkpOwotICAgIAotICAgIG1fbm9kZVRlc3RzLnJl
bW92ZSh0KTsKLSAgICBkZWxldGUgdDsKKyAgICByZXR1cm4gc3RkOjptb3ZlKHBhcnNlci5tX3Jl
c3VsdCk7CiB9CiAKK30gfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAppbmRleCBlNThjNDQ0ZTFk
NTI4MWMwNzUwNmE4YzE1ZDU5OWE4MTdlZGRlNGE2Li43YmFjM2I3OGRhYWQzODVmY2Y2MmE4ZGE1
ODQwM2EwZjgzNjZmNzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBNYWtzaW0gT3Jsb3ZpY2ggPG1ha3NpbUBrZGUub3Jn
PgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMCw4IEBACiAjaW5jbHVkZSAiWFBh
dGhTdGVwLmgiCiAjaW5jbHVkZSAiWFBhdGhQcmVkaWNhdGUuaCIKIAordW5pb24gWVlTVFlQRTsK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsK
QEAgLTM4LDU4ICs0MCwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2Ug
WFBhdGggewogCi0gICAgICAgIGNsYXNzIEV4cHJlc3Npb247Ci0gICAgICAgIGNsYXNzIFBhcnNl
Tm9kZTsKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlOwotCi0gICAgICAgIHN0cnVjdCBUb2tlbiB7
Ci0gICAgICAgICAgICBpbnQgdHlwZTsKLSAgICAgICAgICAgIFN0cmluZyBzdHI7Ci0gICAgICAg
ICAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgICAgICAgICBOdW1lcmljT3A6Ok9wY29kZSBudW1v
cDsKLSAgICAgICAgICAgIEVxVGVzdE9wOjpPcGNvZGUgZXFvcDsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgVG9rZW4oaW50IHQpIDogdHlwZSh0KSB7fQotICAgICAgICAgICAgVG9rZW4oaW50
IHQsIGNvbnN0IFN0cmluZyYgdik6IHR5cGUodCksIHN0cih2KSB7fQotICAgICAgICAgICAgVG9r
ZW4oaW50IHQsIFN0ZXA6OkF4aXMgdik6IHR5cGUodCksIGF4aXModikge30KLSAgICAgICAgICAg
IFRva2VuKGludCB0LCBOdW1lcmljT3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgbnVtb3Aodikge30K
LSAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBl
cW9wKHYpIHt9Ci0gICAgICAgIH07Ci0KICAgICAgICAgY2xhc3MgUGFyc2VyIHsKICAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKLSAgICAg
ICAgICAgIFBhcnNlcigpOwotICAgICAgICAgICAgflBhcnNlcigpOwotCi0gICAgICAgICAgICBY
UGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlci5nZXQo
KTsgfQotICAgICAgICAgICAgYm9vbCBleHBhbmRRTmFtZShjb25zdCBTdHJpbmcmIHFOYW1lLCBT
dHJpbmcmIGxvY2FsTmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpOwotCi0gICAgICAgICAgICBF
eHByZXNzaW9uKiBwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgUGFzc1Jl
ZlB0cjxYUGF0aE5TUmVzb2x2ZXI+LCBFeGNlcHRpb25Db2RlJik7Ci0KLSAgICAgICAgICAgIHN0
YXRpYyBQYXJzZXIqIGN1cnJlbnQoKSB7IHJldHVybiBjdXJyZW50UGFyc2VyOyB9Ci0KLSAgICAg
ICAgICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKKyAgICAgICAgICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4gcGFyc2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1l
bnQsIFhQYXRoTlNSZXNvbHZlciosIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgICAgICAgICAgRXhw
cmVzc2lvbiogbV90b3BFeHByOwotICAgICAgICAgICAgYm9vbCBtX2dvdE5hbWVzcGFjZUVycm9y
OworICAgICAgICAgICAgaW50IGxleChZWVNUWVBFJik7CisgICAgICAgICAgICBib29sIGV4cGFu
ZFF1YWxpZmllZE5hbWUoY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBTdHJpbmcmIGxvY2Fs
TmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpOworICAgICAgICAgICAgdm9pZCBzZXRQYXJzZVJl
c3VsdChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBleHByZXNzaW9uKSB7IG1fcmVzdWx0
ID0gc3RkOjptb3ZlKGV4cHJlc3Npb24pOyB9CiAKLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJQ
YXJzZU5vZGUoUGFyc2VOb2RlKik7Ci0gICAgICAgICAgICB2b2lkIHVucmVnaXN0ZXJQYXJzZU5v
ZGUoUGFyc2VOb2RlKik7Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcmVkaWNhdGVWZWN0
b3IoVmVjdG9yPFByZWRpY2F0ZSo+Kik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZVByZWRpY2F0
ZVZlY3RvcihWZWN0b3I8UHJlZGljYXRlKj4qKTsKLQotICAgICAgICAgICAgdm9pZCByZWdpc3Rl
ckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Npb24qPiopOwotICAgICAgICAgICAgdm9p
ZCBkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qKTsKLQotICAgICAg
ICAgICAgdm9pZCByZWdpc3RlclN0cmluZyhTdHJpbmcqKTsKLSAgICAgICAgICAgIHZvaWQgZGVs
ZXRlU3RyaW5nKFN0cmluZyopOworICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgUGFyc2Vy
KGNvbnN0IFN0cmluZyYsIFhQYXRoTlNSZXNvbHZlciopOwogCi0gICAgICAgICAgICB2b2lkIHJl
Z2lzdGVyTm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsKLSAgICAgICAgICAgIHZvaWQgZGVsZXRl
Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsKKyAgICAgICAgICAgIHN0cnVjdCBUb2tlbjsKIAot
ICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgYm9vbCBpc0JpbmFyeU9wZXJhdG9yQ29udGV4
dCgpIGNvbnN0OwogCiAgICAgICAgICAgICB2b2lkIHNraXBXUygpOwpAQCAtMTA3LDIwICs3MSwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbiBuZXh0VG9rZW4oKTsK
ICAgICAgICAgICAgIFRva2VuIG5leHRUb2tlbkludGVybmFsKCk7CiAKLSAgICAgICAgICAgIHZv
aWQgcmVzZXQoY29uc3QgU3RyaW5nJiBkYXRhKTsKLQotICAgICAgICAgICAgc3RhdGljIFBhcnNl
ciogY3VycmVudFBhcnNlcjsKKyAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbV9kYXRhOworICAg
ICAgICAgICAgWFBhdGhOU1Jlc29sdmVyKiBtX3Jlc29sdmVyOwogCiAgICAgICAgICAgICB1bnNp
Z25lZCBtX25leHRQb3M7Ci0gICAgICAgICAgICBTdHJpbmcgbV9kYXRhOwogICAgICAgICAgICAg
aW50IG1fbGFzdFRva2VuVHlwZTsKLSAgICAgICAgICAgIFJlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+
IG1fcmVzb2x2ZXI7CiAKLSAgICAgICAgICAgIEhhc2hTZXQ8UGFyc2VOb2RlKj4gbV9wYXJzZU5v
ZGVzOwotICAgICAgICAgICAgSGFzaFNldDxWZWN0b3I8UHJlZGljYXRlKj4qPiBtX3ByZWRpY2F0
ZVZlY3RvcnM7Ci0gICAgICAgICAgICBIYXNoU2V0PFZlY3RvcjxFeHByZXNzaW9uKj4qPiBtX2V4
cHJlc3Npb25WZWN0b3JzOwotICAgICAgICAgICAgSGFzaFNldDxTdHJpbmcqPiBtX3N0cmluZ3M7
Ci0gICAgICAgICAgICBIYXNoU2V0PFN0ZXA6Ok5vZGVUZXN0Kj4gbV9ub2RlVGVzdHM7CisgICAg
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gbV9yZXN1bHQ7CisgICAgICAgICAg
ICBib29sIG1fc2F3TmFtZXNwYWNlRXJyb3I7CiAgICAgICAgIH07CiAKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFBhdGguY3BwCmluZGV4IGJjOGE2M2E0MDNmOWI1YWNjMGZlOWQ2NmIzODQ1ZmU5YWQ4
NDI0YWQuLmVmMzQ4M2RjNmE0YWVkMjJhNzY4MzYwNWZlMjg3YWZiYzBiNTY4YWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aFBhdGguY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5
IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM2LDI1
ICszNiwxOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKICAgICAg
ICAgCi1GaWx0ZXI6OkZpbHRlcihFeHByZXNzaW9uKiBleHByLCBjb25zdCBWZWN0b3I8UHJlZGlj
YXRlKj4mIHByZWRpY2F0ZXMpCi0gICAgOiBtX2V4cHIoZXhwciksIG1fcHJlZGljYXRlcyhwcmVk
aWNhdGVzKQorRmlsdGVyOjpGaWx0ZXIoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhw
cmVzc2lvbiwgVmVjdG9yPFByZWRpY2F0ZT4mJiBwcmVkaWNhdGVzKQorICAgIDogbV9leHByZXNz
aW9uKHN0ZDo6bW92ZShleHByZXNzaW9uKSksIG1fcHJlZGljYXRlcyhzdGQ6Om1vdmUocHJlZGlj
YXRlcykpCiB7Ci0gICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2V4cHItPmlzQ29udGV4
dE5vZGVTZW5zaXRpdmUoKSk7Ci0gICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUobV9l
eHByLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRTaXpl
U2Vuc2l0aXZlKG1fZXhwci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKLX0KLQotRmlsdGVy
Ojp+RmlsdGVyKCkKLXsKLSAgICBkZWxldGUgbV9leHByOwotICAgIGRlbGV0ZUFsbFZhbHVlcyht
X3ByZWRpY2F0ZXMpOworICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9leHByZXNzaW9u
LT5pc0NvbnRleHROb2RlU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKG1fZXhwcmVzc2lvbi0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSk7CisgICAg
c2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShtX2V4cHJlc3Npb24tPmlzQ29udGV4dFNpemVTZW5z
aXRpdmUoKSk7CiB9CiAKIFZhbHVlIEZpbHRlcjo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZh
bHVlIHYgPSBtX2V4cHItPmV2YWx1YXRlKCk7CisgICAgVmFsdWUgcmVzdWx0ID0gbV9leHByZXNz
aW9uLT5ldmFsdWF0ZSgpOwogICAgIAotICAgIE5vZGVTZXQmIG5vZGVzID0gdi5tb2RpZmlhYmxl
Tm9kZVNldCgpOworICAgIE5vZGVTZXQmIG5vZGVzID0gcmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0
KCk7CiAgICAgbm9kZXMuc29ydCgpOwogCiAgICAgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRp
b25Db250ZXh0ID0gRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKTsKQEAgLTY5LDI2ICs2
MywyMSBAQCBWYWx1ZSBGaWx0ZXI6OmV2YWx1YXRlKCkgY29uc3QKICAgICAgICAgICAgIGV2YWx1
YXRpb25Db250ZXh0Lm5vZGUgPSBub2RlOwogICAgICAgICAgICAgKytldmFsdWF0aW9uQ29udGV4
dC5wb3NpdGlvbjsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKG1fcHJlZGljYXRlc1tp
XS0+ZXZhbHVhdGUoKSkKKyAgICAgICAgICAgIGlmIChtX3ByZWRpY2F0ZXNbaV0uZXZhbHVhdGUo
KSkKICAgICAgICAgICAgICAgICBuZXdOb2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgIH0KLSAg
ICAgICAgbm9kZXMuc3dhcChuZXdOb2Rlcyk7CisgICAgICAgIG5vZGVzID0gc3RkOjptb3ZlKG5l
d05vZGVzKTsKICAgICB9CiAKLSAgICByZXR1cm4gdjsKKyAgICByZXR1cm4gcmVzdWx0OwogfQog
CiBMb2NhdGlvblBhdGg6OkxvY2F0aW9uUGF0aCgpCi0gICAgOiBtX2Fic29sdXRlKGZhbHNlKQor
ICAgIDogbV9pc0Fic29sdXRlKGZhbHNlKQogewogICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRp
dmUodHJ1ZSk7CiB9CiAKLUxvY2F0aW9uUGF0aDo6fkxvY2F0aW9uUGF0aCgpCi17Ci0gICAgZGVs
ZXRlQWxsVmFsdWVzKG1fc3RlcHMpOwotfQotCiBWYWx1ZSBMb2NhdGlvblBhdGg6OmV2YWx1YXRl
KCkgY29uc3QKIHsKICAgICBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQgPSBF
eHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpOwpAQCAtMTAyLDcgKzkxLDcgQEAgVmFsdWUg
TG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgLy8gVGhpcyBpcyBmb3IgY29tcGF0
aWJpbGl0eSB3aXRoIEZpcmVmb3gsIGFuZCBhbHNvIHNlZW1zIGxpa2UgYSBtb3JlCiAgICAgLy8g
bG9naWNhbCB0cmVhdG1lbnQgb2Ygd2hlcmUgeW91IHdvdWxkIGV4cGVjdCB0aGUgInJvb3QiIHRv
IGJlLgogICAgIE5vZGUqIGNvbnRleHQgPSBldmFsdWF0aW9uQ29udGV4dC5ub2RlLmdldCgpOwot
ICAgIGlmIChtX2Fic29sdXRlICYmIGNvbnRleHQtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RE9DVU1F
TlRfTk9ERSkgIHsKKyAgICBpZiAobV9pc0Fic29sdXRlICYmICFjb250ZXh0LT5pc0RvY3VtZW50
Tm9kZSgpKSAgewogICAgICAgICBpZiAoY29udGV4dC0+aW5Eb2N1bWVudCgpKQogICAgICAgICAg
ICAgY29udGV4dCA9IGNvbnRleHQtPm93bmVyRG9jdW1lbnQoKTsKICAgICAgICAgZWxzZQpAQCAt
MTE0LDcgKzEwMyw3IEBAIFZhbHVlIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAogICAg
IGV2YWx1YXRlKG5vZGVzKTsKICAgICAKICAgICBldmFsdWF0aW9uQ29udGV4dCA9IGJhY2t1cENv
bnRleHQ7Ci0gICAgcmV0dXJuIFZhbHVlKG5vZGVzLCBWYWx1ZTo6YWRvcHQpOworICAgIHJldHVy
biBWYWx1ZShzdGQ6Om1vdmUobm9kZXMpKTsKIH0KIAogdm9pZCBMb2NhdGlvblBhdGg6OmV2YWx1
YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdApAQCAtMTIyLDIzICsxMTEsMjMgQEAgdm9pZCBMb2Nh
dGlvblBhdGg6OmV2YWx1YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIGJvb2wgcmVzdWx0
SXNTb3J0ZWQgPSBub2Rlcy5pc1NvcnRlZCgpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1fc3RlcHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgU3RlcCogc3RlcCA9IG1fc3RlcHNb
aV07CisgICAgICAgIFN0ZXAmIHN0ZXAgPSAqbV9zdGVwc1tpXTsKICAgICAgICAgTm9kZVNldCBu
ZXdOb2RlczsKICAgICAgICAgSGFzaFNldDxOb2RlKj4gbmV3Tm9kZXNTZXQ7CiAKLSAgICAgICAg
Ym9vbCBuZWVkVG9DaGVja0ZvckR1cGxpY2F0ZU5vZGVzID0gIW5vZGVzLnN1YnRyZWVzQXJlRGlz
am9pbnQoKSB8fCAoc3RlcC0+YXhpcygpICE9IFN0ZXA6OkNoaWxkQXhpcyAmJiBzdGVwLT5heGlz
KCkgIT0gU3RlcDo6U2VsZkF4aXMKLSAgICAgICAgICAgICYmIHN0ZXAtPmF4aXMoKSAhPSBTdGVw
OjpEZXNjZW5kYW50QXhpcyAmJiBzdGVwLT5heGlzKCkgIT0gU3RlcDo6RGVzY2VuZGFudE9yU2Vs
ZkF4aXMgJiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OkF0dHJpYnV0ZUF4aXMpOworICAgICAgICBi
b29sIG5lZWRUb0NoZWNrRm9yRHVwbGljYXRlTm9kZXMgPSAhbm9kZXMuc3VidHJlZXNBcmVEaXNq
b2ludCgpIHx8IChzdGVwLmF4aXMoKSAhPSBTdGVwOjpDaGlsZEF4aXMgJiYgc3RlcC5heGlzKCkg
IT0gU3RlcDo6U2VsZkF4aXMKKyAgICAgICAgICAgICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkRl
c2NlbmRhbnRBeGlzICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlz
ICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkF0dHJpYnV0ZUF4aXMpOwogCiAgICAgICAgIGlmIChu
ZWVkVG9DaGVja0ZvckR1cGxpY2F0ZU5vZGVzKQogICAgICAgICAgICAgcmVzdWx0SXNTb3J0ZWQg
PSBmYWxzZTsKIAogICAgICAgICAvLyBUaGlzIGlzIGEgc2ltcGxpZmllZCBjaGVjayB0aGF0IGNh
biBiZSBpbXByb3ZlZCB0byBoYW5kbGUgbW9yZSBjYXNlcy4KLSAgICAgICAgaWYgKG5vZGVzLnN1
YnRyZWVzQXJlRGlzam9pbnQoKSAmJiAoc3RlcC0+YXhpcygpID09IFN0ZXA6OkNoaWxkQXhpcyB8
fCBzdGVwLT5heGlzKCkgPT0gU3RlcDo6U2VsZkF4aXMpKQorICAgICAgICBpZiAobm9kZXMuc3Vi
dHJlZXNBcmVEaXNqb2ludCgpICYmIChzdGVwLmF4aXMoKSA9PSBTdGVwOjpDaGlsZEF4aXMgfHwg
c3RlcC5heGlzKCkgPT0gU3RlcDo6U2VsZkF4aXMpKQogICAgICAgICAgICAgbmV3Tm9kZXMubWFy
a1N1YnRyZWVzRGlzam9pbnQodHJ1ZSk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsg
aiA8IG5vZGVzLnNpemUoKTsgaisrKSB7CiAgICAgICAgICAgICBOb2RlU2V0IG1hdGNoZXM7Ci0g
ICAgICAgICAgICBzdGVwLT5ldmFsdWF0ZShub2Rlc1tqXSwgbWF0Y2hlcyk7CisgICAgICAgICAg
ICBzdGVwLmV2YWx1YXRlKCpub2Rlc1tqXSwgbWF0Y2hlcyk7CiAKICAgICAgICAgICAgIGlmICgh
bWF0Y2hlcy5pc1NvcnRlZCgpKQogICAgICAgICAgICAgICAgIHJlc3VsdElzU29ydGVkID0gZmFs
c2U7CkBAIC0xNTAsNjUgKzEzOSw1NiBAQCB2b2lkIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoTm9k
ZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCi0g
ICAgICAgIG5vZGVzLnN3YXAobmV3Tm9kZXMpOworICAgICAgICBub2RlcyA9IHN0ZDo6bW92ZShu
ZXdOb2Rlcyk7CiAgICAgfQogCiAgICAgbm9kZXMubWFya1NvcnRlZChyZXN1bHRJc1NvcnRlZCk7
CiB9CiAKLXZvaWQgTG9jYXRpb25QYXRoOjphcHBlbmRTdGVwKFN0ZXAqIHN0ZXApCit2b2lkIExv
Y2F0aW9uUGF0aDo6YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJiBzdGVwKQogewog
ICAgIHVuc2lnbmVkIHN0ZXBDb3VudCA9IG1fc3RlcHMuc2l6ZSgpOwogICAgIGlmIChzdGVwQ291
bnQpIHsKICAgICAgICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0aW1pemVTdGVw
UGFpcihtX3N0ZXBzW3N0ZXBDb3VudCAtIDFdLCBzdGVwLCBkcm9wU2Vjb25kU3RlcCk7Ci0gICAg
ICAgIGlmIChkcm9wU2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIHN0ZXA7CisgICAg
ICAgIG9wdGltaXplU3RlcFBhaXIoKm1fc3RlcHNbc3RlcENvdW50IC0gMV0sICpzdGVwLCBkcm9w
U2Vjb25kU3RlcCk7CisgICAgICAgIGlmIChkcm9wU2Vjb25kU3RlcCkKICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQogICAgIH0KICAgICBzdGVwLT5vcHRpbWl6ZSgpOwotICAgIG1fc3Rl
cHMuYXBwZW5kKHN0ZXApOworICAgIG1fc3RlcHMuYXBwZW5kKHN0ZDo6bW92ZShzdGVwKSk7CiB9
CiAKLXZvaWQgTG9jYXRpb25QYXRoOjppbnNlcnRGaXJzdFN0ZXAoU3RlcCogc3RlcCkKK3ZvaWQg
TG9jYXRpb25QYXRoOjpwcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJiBzdGVwKQog
ewogICAgIGlmIChtX3N0ZXBzLnNpemUoKSkgewogICAgICAgICBib29sIGRyb3BTZWNvbmRTdGVw
OwotICAgICAgICBvcHRpbWl6ZVN0ZXBQYWlyKHN0ZXAsIG1fc3RlcHNbMF0sIGRyb3BTZWNvbmRT
dGVwKTsKKyAgICAgICAgb3B0aW1pemVTdGVwUGFpcigqc3RlcCwgKm1fc3RlcHNbMF0sIGRyb3BT
ZWNvbmRTdGVwKTsKICAgICAgICAgaWYgKGRyb3BTZWNvbmRTdGVwKSB7Ci0gICAgICAgICAgICBk
ZWxldGUgbV9zdGVwc1swXTsKLSAgICAgICAgICAgIG1fc3RlcHNbMF0gPSBzdGVwOworICAgICAg
ICAgICAgbV9zdGVwc1swXSA9IHN0ZDo6bW92ZShzdGVwKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgIH0KICAgICBzdGVwLT5vcHRpbWl6ZSgpOwotICAgIG1fc3RlcHMuaW5z
ZXJ0KDAsIHN0ZXApOwotfQotCi1QYXRoOjpQYXRoKEZpbHRlciogZmlsdGVyLCBMb2NhdGlvblBh
dGgqIHBhdGgpCi0gICAgOiBtX2ZpbHRlcihmaWx0ZXIpCi0gICAgLCBtX3BhdGgocGF0aCkKLXsK
LSAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGZpbHRlci0+aXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShmaWx0ZXItPmlzQ29u
dGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOwotICAgIHNldElzQ29udGV4dFNpemVTZW5zaXRpdmUo
ZmlsdGVyLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOworICAgIG1fc3RlcHMuaW5zZXJ0KDAs
IHN0ZDo6bW92ZShzdGVwKSk7CiB9CiAKLVBhdGg6On5QYXRoKCkKK1BhdGg6OlBhdGgoc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZmlsdGVyLCBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25Q
YXRoPiYmIHBhdGgpCisgICAgOiBtX2ZpbHRlcihzdGQ6Om1vdmUoZmlsdGVyKSkKKyAgICAsIG1f
cGF0aChzdGQ6Om1vdmUocGF0aCkpCiB7Ci0gICAgZGVsZXRlIG1fZmlsdGVyOwotICAgIGRlbGV0
ZSBtX3BhdGg7CisgICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250
ZXh0Tm9kZVNlbnNpdGl2ZSgpKTsKKyAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSht
X2ZpbHRlci0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSk7CisgICAgc2V0SXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKIH0KIAog
VmFsdWUgUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZhbHVlIHYgPSBtX2ZpbHRlci0+
ZXZhbHVhdGUoKTsKKyAgICBWYWx1ZSByZXN1bHQgPSBtX2ZpbHRlci0+ZXZhbHVhdGUoKTsKIAot
ICAgIE5vZGVTZXQmIG5vZGVzID0gdi5tb2RpZmlhYmxlTm9kZVNldCgpOworICAgIE5vZGVTZXQm
IG5vZGVzID0gcmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgbV9wYXRoLT5ldmFsdWF0
ZShub2Rlcyk7CiAgICAgCi0gICAgcmV0dXJuIHY7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0aC5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoUGF0aC5oCmluZGV4IGIxYTU3Y2JiNzU0MmRhMmFkNWUxMDY2YmI2MzBh
NjZiMzVjNThhODAuLmRlOTU3MTU3MWJiYTY5MDMwYWI5MTlhZmJhOTU5YzdhMDllZGEyNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhQYXRoLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDkgQXBwbGUgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBYUGF0aFBhdGhfaAogCiAjaW5jbHVkZSAi
WFBhdGhFeHByZXNzaW9uTm9kZS5oIgotI2luY2x1ZGUgIlhQYXRoTm9kZVNldC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDUxICszNiw0NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgY2xhc3MgU3RlcDsKIAotICAgICAg
ICBjbGFzcyBGaWx0ZXIgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIEZpbHRl
ciBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAg
ICAgRmlsdGVyKEV4cHJlc3Npb24qLCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mID0gVmVjdG9y
PFByZWRpY2F0ZSo+KCkpOwotICAgICAgICAgICAgdmlydHVhbCB+RmlsdGVyKCk7Ci0KLSAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEZpbHRl
cihzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiwgVmVjdG9yPFByZWRpY2F0ZT4mJik7CiAK
ICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KKyAgICAgICAgICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpOb2RlU2V0VmFsdWU7IH0KIAotICAgICAgICAgICAgRXhwcmVzc2lvbiogbV9leHByOwot
ICAgICAgICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGljYXRlczsKKyAgICAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBtX2V4cHJlc3Npb247CisgICAgICAgICAgICBW
ZWN0b3I8UHJlZGljYXRlPiBtX3ByZWRpY2F0ZXM7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xh
c3MgTG9jYXRpb25QYXRoIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2Nh
dGlvblBhdGggRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIExvY2F0aW9uUGF0aCgpOwotICAgICAgICAgICAgdmlydHVhbCB+TG9jYXRpb25Q
YXRoKCk7Ci0gICAgICAgICAgICB2b2lkIHNldEFic29sdXRlKGJvb2wgdmFsdWUpIHsgbV9hYnNv
bHV0ZSA9IHZhbHVlOyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKCFtX2Fic29sdXRlKTsgfQog
Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAg
ICB2b2lkIHNldEFic29sdXRlKCkgeyBtX2lzQWJzb2x1dGUgPSB0cnVlOyBzZXRJc0NvbnRleHRO
b2RlU2Vuc2l0aXZlKGZhbHNlKTsgfQorCiAgICAgICAgICAgICB2b2lkIGV2YWx1YXRlKE5vZGVT
ZXQmIG5vZGVzKSBjb25zdDsgLy8gbm9kZXMgaXMgYW4gaW5wdXQvb3V0cHV0IHBhcmFtZXRlcgog
Ci0gICAgICAgICAgICB2b2lkIGFwcGVuZFN0ZXAoU3RlcCogc3RlcCk7Ci0gICAgICAgICAgICB2
b2lkIGluc2VydEZpcnN0U3RlcChTdGVwKiBzdGVwKTsKKyAgICAgICAgICAgIHZvaWQgYXBwZW5k
U3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJik7CisgICAgICAgICAgICB2b2lkIHByZXBlbmRT
dGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPiYmKTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6Ok5vZGVTZXRWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0g
ICAgICAgICAgICBWZWN0b3I8U3RlcCo+IG1fc3RlcHM7Ci0gICAgICAgICAgICBib29sIG1fYWJz
b2x1dGU7CisgICAgICAgICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFN0ZXA+PiBtX3N0ZXBz
OworICAgICAgICAgICAgYm9vbCBtX2lzQWJzb2x1dGU7CiAgICAgICAgIH07CiAKLSAgICAgICAg
Y2xhc3MgUGF0aCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgUGF0aCBGSU5B
TCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgUGF0
aChGaWx0ZXIqLCBMb2NhdGlvblBhdGgqKTsKLSAgICAgICAgICAgIHZpcnR1YWwgflBhdGgoKTsK
LQotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OworICAgICAgICAg
ICAgUGF0aChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBmaWx0ZXIsIHN0ZDo6dW5pcXVl
X3B0cjxMb2NhdGlvblBhdGg+JiYpOwogCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9k
ZVNldFZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAKLSAgICAgICAg
ICAgIEZpbHRlciogbV9maWx0ZXI7Ci0gICAgICAgICAgICBMb2NhdGlvblBhdGgqIG1fcGF0aDsK
KyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBtX2ZpbHRlcjsKKyAgICAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+IG1fcGF0aDsKICAgICAgICAgfTsK
IAogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwCmluZGV4IGJjOGExYzNh
NmMwNTM1YmM1NTEyYjI0MjJmN2NjNzg1ODA0YmQyNWUuLjgxOWE2Nzg5NTRmN2FiNjEwNzZlODE5
MzU1YjRlODVkZWI0ZDE5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBy
ZWRpY2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFi
ZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5v
cmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00OCw4ICs0OCw4IEBAIFZhbHVlIE51bWJlcjo6ZXZh
bHVhdGUoKSBjb25zdAogICAgIHJldHVybiBtX3ZhbHVlOwogfQogCi1TdHJpbmdFeHByZXNzaW9u
OjpTdHJpbmdFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgOiBtX3ZhbHVlKHZh
bHVlKQorU3RyaW5nRXhwcmVzc2lvbjo6U3RyaW5nRXhwcmVzc2lvbihTdHJpbmcmJiB2YWx1ZSkK
KyAgICA6IG1fdmFsdWUoc3RkOjptb3ZlKHZhbHVlKSkKIHsKIH0KIApAQCAtNTgsMjYgKzU4LDI3
IEBAIFZhbHVlIFN0cmluZ0V4cHJlc3Npb246OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4g
bV92YWx1ZTsKIH0KIAorTmVnYXRpdmU6Ok5lZ2F0aXZlKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPiYmIGV4cHJlc3Npb24pCit7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUoZXhw
cmVzc2lvbikpOworfQorCiBWYWx1ZSBOZWdhdGl2ZTo6ZXZhbHVhdGUoKSBjb25zdAogewotICAg
IFZhbHVlIHAoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLSAgICByZXR1cm4gLXAudG9O
dW1iZXIoKTsKKyAgICByZXR1cm4gLXN1YmV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKS50b051bWJl
cigpOwogfQogCi1OdW1lcmljT3A6Ok51bWVyaWNPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9u
KiBsaHMsIEV4cHJlc3Npb24qIHJocykKK051bWVyaWNPcDo6TnVtZXJpY09wKE9wY29kZSBvcGNv
ZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGxocywgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+JiYgcmhzKQogICAgIDogbV9vcGNvZGUob3Bjb2RlKQogewotICAgIGFkZFN1YkV4
cHJlc3Npb24obGhzKTsKLSAgICBhZGRTdWJFeHByZXNzaW9uKHJocyk7CisgICAgYWRkU3ViZXhw
cmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUo
cmhzKSk7CiB9CiAKIFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZh
bHVlIGxocyhzdWJFeHByZXNzaW9uKDApLmV2YWx1YXRlKCkpOwotICAgIFZhbHVlIHJocyhzdWJF
eHByZXNzaW9uKDEpLmV2YWx1YXRlKCkpOwotICAgIAotICAgIGRvdWJsZSBsZWZ0VmFsID0gbGhz
LnRvTnVtYmVyKCk7Ci0gICAgZG91YmxlIHJpZ2h0VmFsID0gcmhzLnRvTnVtYmVyKCk7CisgICAg
ZG91YmxlIGxlZnRWYWwgPSBzdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsK
KyAgICBkb3VibGUgcmlnaHRWYWwgPSBzdWJleHByZXNzaW9uKDEpLmV2YWx1YXRlKCkudG9OdW1i
ZXIoKTsKIAogICAgIHN3aXRjaCAobV9vcGNvZGUpIHsKICAgICAgICAgY2FzZSBPUF9BZGQ6CkBA
IC05MSwxNSArOTIsMTYgQEAgVmFsdWUgTnVtZXJpY09wOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAg
ICAgIGNhc2UgT1BfTW9kOgogICAgICAgICAgICAgcmV0dXJuIGZtb2QobGVmdFZhbCwgcmlnaHRW
YWwpOwogICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjA7
CiB9CiAKLUVxVGVzdE9wOjpFcVRlc3RPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMs
IEV4cHJlc3Npb24qIHJocykKK0VxVGVzdE9wOjpFcVRlc3RPcChPcGNvZGUgb3Bjb2RlLCBzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
PiYmIHJocykKICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9u
KGxocyk7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24o
c3RkOjptb3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwog
fQogCiBib29sIEVxVGVzdE9wOjpjb21wYXJlKGNvbnN0IFZhbHVlJiBsaHMsIGNvbnN0IFZhbHVl
JiByaHMpIGNvbnN0CkBAIC0xNDEsNyArMTQzLDcgQEAgYm9vbCBFcVRlc3RPcDo6Y29tcGFyZShj
b25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAgICAgICAgICAgLy8g
dGhlIG5vZGUtc2V0IHRvIGEgYm9vbGVhbiB1c2luZyB0aGUgYm9vbGVhbiBmdW5jdGlvbiBpcyB0
cnVlLgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUobGhzLnRvQm9vbGVhbigpLCByaHMpOwog
ICAgICAgICB9Ci0gICAgICAgIEFTU0VSVCgwKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfQogICAgIGlmIChyaHMuaXNOb2RlU2V0KCkpIHsKICAgICAgICAgY29uc3QgTm9k
ZVNldCYgcmhzU2V0ID0gcmhzLnRvTm9kZVNldCgpOwpAQCAtMTU5LDcgKzE2MSw3IEBAIGJvb2wg
RXFUZXN0T3A6OmNvbXBhcmUoY29uc3QgVmFsdWUmIGxocywgY29uc3QgVmFsdWUmIHJocykgY29u
c3QKICAgICAgICAgfQogICAgICAgICBpZiAobGhzLmlzQm9vbGVhbigpKQogICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmUobGhzLCByaHMudG9Cb29sZWFuKCkpOwotICAgICAgICBBU1NFUlQoMCk7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KICAgICAKICAgICAvLyBOZWl0
aGVyIHNpZGUgaXMgYSBOb2RlU2V0LgpAQCAtMTg2LDg5ICsxODgsNzkgQEAgYm9vbCBFcVRlc3RP
cDo6Y29tcGFyZShjb25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAg
ICAgICBjYXNlIE9QX0xFOgogICAgICAgICAgICAgcmV0dXJuIGxocy50b051bWJlcigpIDw9IHJo
cy50b051bWJlcigpOwogICAgIH0KLSAgICBBU1NFUlQoMCk7CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIFZhbHVlIEVxVGVzdE9wOjpldmFsdWF0
ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzKHN1YkV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKSk7
Ci0gICAgVmFsdWUgcmhzKHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKSk7Ci0KKyAgICBWYWx1
ZSBsaHMoc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKKyAgICBWYWx1ZSByaHMoc3ViZXhw
cmVzc2lvbigxKS5ldmFsdWF0ZSgpKTsKICAgICByZXR1cm4gY29tcGFyZShsaHMsIHJocyk7CiB9
CiAKLUxvZ2ljYWxPcDo6TG9naWNhbE9wKE9wY29kZSBvcGNvZGUsIEV4cHJlc3Npb24qIGxocywg
RXhwcmVzc2lvbiogcmhzKQorTG9naWNhbE9wOjpMb2dpY2FsT3AoT3Bjb2RlIG9wY29kZSwgc3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4mJiByaHMpCiAgICAgOiBtX29wY29kZShvcGNvZGUpCiB7Ci0gICAgYWRkU3ViRXhwcmVzc2lv
bihsaHMpOwotICAgIGFkZFN1YkV4cHJlc3Npb24ocmhzKTsKKyAgICBhZGRTdWJleHByZXNzaW9u
KHN0ZDo6bW92ZShsaHMpKTsKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShyaHMpKTsK
IH0KIAotYm9vbCBMb2dpY2FsT3A6OnNob3J0Q2lyY3VpdE9uKCkgY29uc3QKK2lubGluZSBib29s
IExvZ2ljYWxPcDo6c2hvcnRDaXJjdWl0T24oKSBjb25zdAogewotICAgIGlmIChtX29wY29kZSA9
PSBPUF9BbmQpCi0gICAgICAgIHJldHVybiBmYWxzZTsgLy9mYWxzZSBhbmQgZm9vCi0KLSAgICBy
ZXR1cm4gdHJ1ZTsgIC8vdHJ1ZSBvciBiYXIKKyAgICByZXR1cm4gbV9vcGNvZGUgIT0gT1BfQW5k
OwogfQogCiBWYWx1ZSBMb2dpY2FsT3A6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBs
aHMoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLQogICAgIC8vIFRoaXMgaXMgbm90IG9u
bHkgYW4gb3B0aW1pemF0aW9uLCBodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aAogICAgIC8vIGRp
Y3RhdGVzIHRoYXQgd2UgbXVzdCBkbyBzaG9ydC1jaXJjdWl0IGV2YWx1YXRpb24KLSAgICBib29s
IGxoc0Jvb2wgPSBsaHMudG9Cb29sZWFuKCk7CisgICAgYm9vbCBsaHNCb29sID0gc3ViZXhwcmVz
c2lvbigwKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOwogICAgIGlmIChsaHNCb29sID09IHNob3J0
Q2lyY3VpdE9uKCkpCiAgICAgICAgIHJldHVybiBsaHNCb29sOwogCi0gICAgcmV0dXJuIHN1YkV4
cHJlc3Npb24oMSkuZXZhbHVhdGUoKS50b0Jvb2xlYW4oKTsKKyAgICByZXR1cm4gc3ViZXhwcmVz
c2lvbigxKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOworfQorCitVbmlvbjo6VW5pb24oc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4m
JiByaHMpCit7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRk
U3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7CiB9CiAKIFZhbHVlIFVuaW9uOjpldmFsdWF0
ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzUmVzdWx0ID0gc3ViRXhwcmVzc2lvbigwKS5ldmFs
dWF0ZSgpOwotICAgIFZhbHVlIHJocyA9IHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKTsKLSAg
ICAKKyAgICBWYWx1ZSBsaHNSZXN1bHQgPSBzdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCk7Cisg
ICAgVmFsdWUgcmhzID0gc3ViZXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpOworCiAgICAgTm9kZVNl
dCYgcmVzdWx0U2V0ID0gbGhzUmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgY29uc3Qg
Tm9kZVNldCYgcmhzTm9kZXMgPSByaHMudG9Ob2RlU2V0KCk7Ci0gICAgCisKICAgICBIYXNoU2V0
PE5vZGUqPiBub2RlczsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlc3VsdFNldC5zaXpl
KCk7ICsraSkKICAgICAgICAgbm9kZXMuYWRkKHJlc3VsdFNldFtpXSk7Ci0gICAgCisKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHJoc05vZGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIE5v
ZGUqIG5vZGUgPSByaHNOb2Rlc1tpXTsKICAgICAgICAgaWYgKG5vZGVzLmFkZChub2RlKS5pc05l
d0VudHJ5KQogICAgICAgICAgICAgcmVzdWx0U2V0LmFwcGVuZChub2RlKTsKICAgICB9CiAKLSAg
ICAvLyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHVzZSBtZXJnZSBzb3J0IHRvIGF2b2lkIG1ha2lu
ZyB0aGUgcmVzdWx0IHVuc29ydGVkOwotICAgIC8vIGJ1dCB0aGlzIHdvdWxkIHdhc3RlIHRoZSB0
aW1lIGluIGNhc2VzIHdoZW4gb3JkZXIgaXMgbm90IGltcG9ydGFudC4KKyAgICAvLyBJdCB3b3Vs
ZCBhbHNvIGJlIHBvc3NpYmxlIHRvIHBlcmZvcm0gYSBtZXJnZSBzb3J0IGhlcmUgdG8gYXZvaWQg
bWFraW5nIGFuIHVuc29ydGVkIHJlc3VsdCwKKyAgICAvLyBidXQgdGhhdCB3b3VsZCB3YXN0ZSB0
aGUgdGltZSBpbiBjYXNlcyB3aGVuIG9yZGVyIGlzIG5vdCBpbXBvcnRhbnQuCiAgICAgcmVzdWx0
U2V0Lm1hcmtTb3J0ZWQoZmFsc2UpOwotICAgIHJldHVybiBsaHNSZXN1bHQ7Ci19Ci0KLVByZWRp
Y2F0ZTo6UHJlZGljYXRlKEV4cHJlc3Npb24qIGV4cHIpCi0gICAgOiBtX2V4cHIoZXhwcikKLXsK
LX0KIAotUHJlZGljYXRlOjp+UHJlZGljYXRlKCkKLXsKLSAgICBkZWxldGUgbV9leHByOworICAg
IHJldHVybiBsaHNSZXN1bHQ7CiB9CiAKIGJvb2wgUHJlZGljYXRlOjpldmFsdWF0ZSgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKG1fZXhwciAhPSAwKTsKLQotICAgIFZhbHVlIHJlc3VsdChtX2V4cHIt
PmV2YWx1YXRlKCkpOworICAgIFZhbHVlIHJlc3VsdChtX2V4cHJlc3Npb24tPmV2YWx1YXRlKCkp
OwogCiAgICAgLy8gZm9vWzNdIG1lYW5zIGZvb1twb3NpdGlvbigpPTNdCiAgICAgaWYgKHJlc3Vs
dC5pc051bWJlcigpKQotICAgICAgICByZXR1cm4gRXFUZXN0T3AoRXFUZXN0T3A6Ok9QX0VRLCBj
cmVhdGVGdW5jdGlvbigicG9zaXRpb24iKSwgbmV3IE51bWJlcihyZXN1bHQudG9OdW1iZXIoKSkp
LmV2YWx1YXRlKCkudG9Cb29sZWFuKCk7CisgICAgICAgIHJldHVybiBFcVRlc3RPcChFcVRlc3RP
cDo6T1BfRVEsIEZ1bmN0aW9uOjpjcmVhdGUoQVNDSUlMaXRlcmFsKCJwb3NpdGlvbiIpKSwgc3Rk
OjptYWtlX3VuaXF1ZTxOdW1iZXI+KHJlc3VsdC50b051bWJlcigpKSkuZXZhbHVhdGUoKS50b0Jv
b2xlYW4oKTsKIAogICAgIHJldHVybiByZXN1bHQudG9Cb29sZWFuKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDAxM2NjZGEyMzEyNDNhODQ4MzJmYmFkYmRlMjgwMjQy
ZWM1MDJlOWYuLjM5MTJmMWE0MTBjYjI2YWQ1ZTBmNzQ2MzQ3NzhjNTM4YzVmZDBlOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDg3ICszNCwxMDIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFt
ZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIE51bWJlciA6IHB1YmxpYyBF
eHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgTnVtYmVyIEZJTkFMIDogcHVibGljIEV4cHJlc3Np
b24gewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBleHBsaWNpdCBOdW1iZXIoZG91Ymxl
KTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVt
YmVyVmFsdWU7IH0KIAogICAgICAgICAgICAgVmFsdWUgbV92YWx1ZTsKICAgICAgICAgfTsKIAot
ICAgICAgICBjbGFzcyBTdHJpbmdFeHByZXNzaW9uIDogcHVibGljIEV4cHJlc3Npb24geworICAg
ICAgICBjbGFzcyBTdHJpbmdFeHByZXNzaW9uIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewog
ICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBleHBsaWNpdCBTdHJpbmdFeHByZXNzaW9uKGNv
bnN0IFN0cmluZyYpOworICAgICAgICAgICAgZXhwbGljaXQgU3RyaW5nRXhwcmVzc2lvbihTdHJp
bmcmJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6
OlN0cmluZ1ZhbHVlOyB9CiAKICAgICAgICAgICAgIFZhbHVlIG1fdmFsdWU7CiAgICAgICAgIH07
CiAKLSAgICAgICAgY2xhc3MgTmVnYXRpdmUgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAg
IGNsYXNzIE5lZ2F0aXZlIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBwdWJs
aWM6CisgICAgICAgICAgICBleHBsaWNpdCBOZWdhdGl2ZShzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4mJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorICAgICAgICAgICAg
dmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFs
dWU6Ok51bWJlclZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgTnVtZXJpY09w
IDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBOdW1lcmljT3AgRklOQUwgOiBw
dWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGVudW0gT3Bj
b2RlIHsKLSAgICAgICAgICAgICAgICBPUF9BZGQsIE9QX1N1YiwgT1BfTXVsLCBPUF9EaXYsIE9Q
X01vZAotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIE51bWVyaWNPcChPcGNvZGUsIEV4cHJl
c3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKKyAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsg
T1BfQWRkLCBPUF9TdWIsIE9QX011bCwgT1BfRGl2LCBPUF9Nb2QgfTsKKyAgICAgICAgICAgIE51
bWVyaWNPcChPcGNvZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGxocywgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgcmhzKTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZh
bHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIAogICAgICAgICAgICAgT3Bj
b2RlIG1fb3Bjb2RlOwogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIEVxVGVzdE9wIDogcHVi
bGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBFcVRlc3RPcCBGSU5BTCA6IHB1YmxpYyBF
eHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBPcGNvZGUgeyBP
UF9FUSwgT1BfTkUsIE9QX0dULCBPUF9MVCwgT1BfR0UsIE9QX0xFIH07Ci0gICAgICAgICAgICBF
cVRlc3RPcChPcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKLSAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEVxVGVz
dE9wKE9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0IE9WRVJSSURFOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9v
bGVhblZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAgICAgICAg
ICAgICBib29sIGNvbXBhcmUoY29uc3QgVmFsdWUmLCBjb25zdCBWYWx1ZSYpIGNvbnN0OwogCiAg
ICAgICAgICAgICBPcGNvZGUgbV9vcGNvZGU7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3Mg
TG9naWNhbE9wIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2dpY2FsT3Ag
RklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IGVudW0gT3Bjb2RlIHsgT1BfQW5kLCBPUF9PciB9OwotICAgICAgICAgICAgTG9naWNhbE9wKE9w
Y29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgTG9n
aWNhbE9wKE9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAg
ICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1
ZTo6Qm9vbGVhblZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAg
ICAgICAgICAgICBib29sIHNob3J0Q2lyY3VpdE9uKCkgY29uc3Q7Ci0gICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAgICAgICAgIE9wY29kZSBtX29wY29kZTsK
ICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBVbmlvbiA6IHB1YmxpYyBFeHByZXNzaW9uIHsK
KyAgICAgICAgY2xhc3MgVW5pb24gRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAg
IHB1YmxpYzoKKyAgICAgICAgICAgIFVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYm
LCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAg
ICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2Rl
U2V0VmFsdWU7IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBP
VkVSUklERTsKKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsK
IAogICAgICAgICBjbGFzcyBQcmVkaWNhdGUgewotICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKLSAgICAgICAgICAgIGV4cGxpY2l0IFByZWRpY2F0ZShFeHByZXNzaW9uKik7Ci0gICAgICAg
ICAgICB+UHJlZGljYXRlKCk7CisgICAgICAgICAgICBleHBsaWNpdCBQcmVkaWNhdGUoc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhwcmVzc2lvbikgOiBtX2V4cHJlc3Npb24oc3RkOjpt
b3ZlKGV4cHJlc3Npb24pKSB7IH0KKwogICAgICAgICAgICAgYm9vbCBldmFsdWF0ZSgpIGNvbnN0
OwogCi0gICAgICAgICAgICBib29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgY29uc3Qg
eyByZXR1cm4gbV9leHByLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fZXhwci0+
cmVzdWx0VHlwZSgpID09IFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQotICAgICAgICAgICAgYm9vbCBp
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9leHByLT5pc0NvbnRleHRT
aXplU2Vuc2l0aXZlKCk7IH0KKyAgICAgICAgICAgIGJvb2wgaXNDb250ZXh0UG9zaXRpb25TZW5z
aXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmlzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKCkgfHwgbV9leHByZXNzaW9uLT5yZXN1bHRUeXBlKCkgPT0gVmFsdWU6Ok51bWJlclZh
bHVlOyB9CisgICAgICAgICAgICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7
IHJldHVybiBtX2V4cHJlc3Npb24tPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQorCisjaWYg
Q09NUElMRVIoTVNWQykKKyAgICAgICAgICAgIC8vIFdvcmsgYXJvdW5kIGFuIGFwcGFyZW50IGJ1
ZyBpbiBNU1ZDIHdoZXJlIGl0IHRyaWVzIHRvIGdlbmVyYXRlIHRoZSBjb3B5IGNvbnN0cnVjdG9y
IGV2ZW4gdGhvdWdoCisgICAgICAgICAgICAvLyB0aGlzIGNsYXNzIGhhcyBhIG1lbWJlciB0aGF0
IGlzIG1vdmUgb25seSBhbmQgdGhhdCBzaG91bGQgc3VwcHJlc3MgdGhlIGNvcHkgY29uc3RydWN0
b3IuCisgICAgICAgICAgICBQcmVkaWNhdGUoY29uc3QgUHJlZGljYXRlJik7CisgICAgICAgICAg
ICBQcmVkaWNhdGUoUHJlZGljYXRlJiYgb3RoZXIpIDogbV9leHByZXNzaW9uKHN0ZDo6bW92ZShv
dGhlci5tX2V4cHJlc3Npb24pKSB7IH0KKyNlbmRpZgogCiAgICAgICAgIHByaXZhdGU6Ci0gICAg
ICAgICAgICBFeHByZXNzaW9uKiBtX2V4cHI7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4gbV9leHByZXNzaW9uOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmNwcAppbmRleCA0NDFkZmU0OGJmM2Y4NzQwZTMzYTUzY2I1MDk2ZDc2NTAzMTI2
NjQ0Li41MmMyOGQ1Nzg2OGM5OThiYTVlOTJiMTg3MDEzMDIyMTM1OGJmNGVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXR0ci5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkhU
TUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlhNTE5T
TmFtZXMuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5oIgpAQCAtMzksMTcgKzM5LDIxIEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgWFBhdGggewogCi1TdGVwOjpTdGVwKEF4aXMg
YXhpcywgY29uc3QgTm9kZVRlc3QmIG5vZGVUZXN0LCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4m
IHByZWRpY2F0ZXMpCitTdGVwOjpTdGVwKEF4aXMgYXhpcywgTm9kZVRlc3QmJiBub2RlVGVzdCkK
ICAgICA6IG1fYXhpcyhheGlzKQotICAgICwgbV9ub2RlVGVzdChub2RlVGVzdCkKLSAgICAsIG1f
cHJlZGljYXRlcyhwcmVkaWNhdGVzKQorICAgICwgbV9ub2RlVGVzdChzdGQ6Om1vdmUobm9kZVRl
c3QpKQoreworfQorCitTdGVwOjpTdGVwKEF4aXMgYXhpcywgTm9kZVRlc3QmJiBub2RlVGVzdCwg
VmVjdG9yPFByZWRpY2F0ZT4mJiBwcmVkaWNhdGVzKQorICAgIDogbV9heGlzKGF4aXMpCisgICAg
LCBtX25vZGVUZXN0KHN0ZDo6bW92ZShub2RlVGVzdCkpCisgICAgLCBtX3ByZWRpY2F0ZXMoc3Rk
Ojptb3ZlKHByZWRpY2F0ZXMpKQogewogfQogCiBTdGVwOjp+U3RlcCgpCiB7Ci0gICAgZGVsZXRl
QWxsVmFsdWVzKG1fcHJlZGljYXRlcyk7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fbm9kZVRlc3Qu
bWVyZ2VkUHJlZGljYXRlcygpKTsKIH0KIAogdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCkBAIC01Nywz
NiArNjEsMzUgQEAgdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCiAgICAgLy8gRXZhbHVhdGUgcHJlZGlj
YXRlcyBhcyBwYXJ0IG9mIG5vZGUgdGVzdCBpZiBwb3NzaWJsZSB0byBhdm9pZCBidWlsZGluZyB1
bm5lY2Vzc2FyeSBOb2RlU2V0cy4KICAgICAvLyBFLmcuLCB0aGVyZSBpcyBubyBuZWVkIHRvIGJ1
aWxkIGEgc2V0IG9mIGFsbCAiZm9vIiBub2RlcyB0byBldmFsdWF0ZSAiZm9vW0BiYXJdIiwgd2Ug
Y2FuIGNoZWNrIHRoZSBwcmVkaWNhdGUgd2hpbGUgZW51bWVyYXRpbmcuCiAgICAgLy8gVGhpcyBv
cHRpbWl6YXRpb24gY2FuIGJlIGFwcGxpZWQgdG8gcHJlZGljYXRlcyB0aGF0IGFyZSBub3QgY29u
dGV4dCBub2RlIGxpc3Qgc2Vuc2l0aXZlLCBvciB0byBmaXJzdCBwcmVkaWNhdGUgdGhhdCBpcyBv
bmx5IGNvbnRleHQgcG9zaXRpb24gc2Vuc2l0aXZlLCBlLmcuIGZvb1twb3NpdGlvbigpIG1vZCAy
ID0gMF0uCi0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IHJlbWFpbmluZ1ByZWRpY2F0ZXM7CisgICAg
VmVjdG9yPFByZWRpY2F0ZT4gcmVtYWluaW5nUHJlZGljYXRlczsKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG1fcHJlZGljYXRlcy5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNhdGUq
IHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKLSAgICAgICAgaWYgKCghcHJlZGljYXRlLT5p
c0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRl
cygpLmlzRW1wdHkoKSkgJiYgIXByZWRpY2F0ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpICYm
IHJlbWFpbmluZ1ByZWRpY2F0ZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBtX25vZGVUZXN0
Lm1lcmdlZFByZWRpY2F0ZXMoKS5hcHBlbmQocHJlZGljYXRlKTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICByZW1haW5pbmdQcmVkaWNhdGVzLmFwcGVuZChwcmVkaWNhdGUpOworICAgICAg
ICBQcmVkaWNhdGUmIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKKyAgICAgICAgaWYgKCgh
cHJlZGljYXRlLmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9ub2RlVGVzdC5tX21l
cmdlZFByZWRpY2F0ZXMuaXNFbXB0eSgpKSAmJiAhcHJlZGljYXRlLmlzQ29udGV4dFNpemVTZW5z
aXRpdmUoKSAmJiByZW1haW5pbmdQcmVkaWNhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIG1f
bm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzLmFwcGVuZChzdGQ6Om1vdmUocHJlZGljYXRlKSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlbWFpbmluZ1ByZWRpY2F0ZXMuYXBwZW5kKHN0
ZDo6bW92ZShwcmVkaWNhdGUpKTsKICAgICB9Ci0gICAgc3dhcChyZW1haW5pbmdQcmVkaWNhdGVz
LCBtX3ByZWRpY2F0ZXMpOworICAgIG1fcHJlZGljYXRlcyA9IHN0ZDo6bW92ZShyZW1haW5pbmdQ
cmVkaWNhdGVzKTsKIH0KIAotdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAqIGZpcnN0LCBTdGVw
KiBzZWNvbmQsIGJvb2wmIGRyb3BTZWNvbmRTdGVwKQordm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0
ZXAmIGZpcnN0LCBTdGVwJiBzZWNvbmQsIGJvb2wmIGRyb3BTZWNvbmRTdGVwKQogewogICAgIGRy
b3BTZWNvbmRTdGVwID0gZmFsc2U7CiAKLSAgICBpZiAoZmlyc3QtPm1fYXhpcyA9PSBTdGVwOjpE
ZXNjZW5kYW50T3JTZWxmQXhpcwotICAgICAgICAmJiBmaXJzdC0+bV9ub2RlVGVzdC5raW5kKCkg
PT0gU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0Ci0gICAgICAgICYmICFmaXJzdC0+bV9wcmVk
aWNhdGVzLnNpemUoKQotICAgICAgICAmJiAhZmlyc3QtPm1fbm9kZVRlc3QubWVyZ2VkUHJlZGlj
YXRlcygpLnNpemUoKSkgeworICAgIGlmIChmaXJzdC5tX2F4aXMgPT0gU3RlcDo6RGVzY2VuZGFu
dE9yU2VsZkF4aXMKKyAgICAgICAgJiYgZmlyc3QubV9ub2RlVGVzdC5tX2tpbmQgPT0gU3RlcDo6
Tm9kZVRlc3Q6OkFueU5vZGVUZXN0CisgICAgICAgICYmICFmaXJzdC5tX3ByZWRpY2F0ZXMuc2l6
ZSgpCisgICAgICAgICYmICFmaXJzdC5tX25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5zaXpl
KCkpIHsKIAotICAgICAgICBBU1NFUlQoZmlyc3QtPm1fbm9kZVRlc3QuZGF0YSgpLmlzRW1wdHko
KSk7Ci0gICAgICAgIEFTU0VSVChmaXJzdC0+bV9ub2RlVGVzdC5uYW1lc3BhY2VVUkkoKS5pc0Vt
cHR5KCkpOworICAgICAgICBBU1NFUlQoZmlyc3QubV9ub2RlVGVzdC5tX2RhdGEuaXNFbXB0eSgp
KTsKKyAgICAgICAgQVNTRVJUKGZpcnN0Lm1fbm9kZVRlc3QubV9uYW1lc3BhY2VVUkkuaXNFbXB0
eSgpKTsKIAogICAgICAgICAvLyBPcHRpbWl6ZSB0aGUgY29tbW9uIGNhc2Ugb2YgIi8vIiBBS0Eg
L2Rlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2NoaWxkOjpOb2RlVGVzdCB0byAvZGVzY2VuZGFu
dDo6Tm9kZVRlc3QuCi0gICAgICAgIGlmIChzZWNvbmQtPm1fYXhpcyA9PSBTdGVwOjpDaGlsZEF4
aXMgJiYgc2Vjb25kLT5wcmVkaWNhdGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2ZSgpKSB7Ci0g
ICAgICAgICAgICBmaXJzdC0+bV9heGlzID0gU3RlcDo6RGVzY2VuZGFudEF4aXM7Ci0gICAgICAg
ICAgICBmaXJzdC0+bV9ub2RlVGVzdCA9IFN0ZXA6Ok5vZGVUZXN0KHNlY29uZC0+bV9ub2RlVGVz
dC5raW5kKCksIHNlY29uZC0+bV9ub2RlVGVzdC5kYXRhKCksIHNlY29uZC0+bV9ub2RlVGVzdC5u
YW1lc3BhY2VVUkkoKSk7Ci0gICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9ub2RlVGVzdC5tZXJn
ZWRQcmVkaWNhdGVzKCksIGZpcnN0LT5tX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKSk7Ci0g
ICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9wcmVkaWNhdGVzLCBmaXJzdC0+bV9wcmVkaWNhdGVz
KTsKLSAgICAgICAgICAgIGZpcnN0LT5vcHRpbWl6ZSgpOworICAgICAgICBpZiAoc2Vjb25kLm1f
YXhpcyA9PSBTdGVwOjpDaGlsZEF4aXMgJiYgc2Vjb25kLnByZWRpY2F0ZXNBcmVDb250ZXh0TGlz
dEluc2Vuc2l0aXZlKCkpIHsKKyAgICAgICAgICAgIGZpcnN0Lm1fYXhpcyA9IFN0ZXA6OkRlc2Nl
bmRhbnRBeGlzOworICAgICAgICAgICAgZmlyc3QubV9ub2RlVGVzdCA9IHN0ZDo6bW92ZShzZWNv
bmQubV9ub2RlVGVzdCk7CisgICAgICAgICAgICBmaXJzdC5tX3ByZWRpY2F0ZXMgPSBzdGQ6Om1v
dmUoc2Vjb25kLm1fcHJlZGljYXRlcyk7CisgICAgICAgICAgICBmaXJzdC5vcHRpbWl6ZSgpOwog
ICAgICAgICAgICAgZHJvcFNlY29uZFN0ZXAgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAt
OTUsMjEgKzk4LDIxIEBAIHZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiBmaXJzdCwgU3RlcCog
c2Vjb25kLCBib29sJiBkcm9wU2Vjb25kU3RlcCkKIGJvb2wgU3RlcDo6cHJlZGljYXRlc0FyZUNv
bnRleHRMaXN0SW5zZW5zaXRpdmUoKSBjb25zdAogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGlj
YXRlID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAgICBpZiAocHJlZGljYXRlLT5pc0NvbnRleHRQ
b3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgp
KQorICAgICAgICBjb25zdCBQcmVkaWNhdGUmIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsK
KyAgICAgICAgaWYgKHByZWRpY2F0ZS5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHBy
ZWRpY2F0ZS5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX25vZGVUZXN0Lm1lcmdl
ZFByZWRpY2F0ZXMoKS5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0
ZSA9IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpW2ldOwotICAgICAgICBpZiAocHJlZGlj
YXRlLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS0+aXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSgpKQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ub2RlVGVzdC5t
X21lcmdlZFByZWRpY2F0ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgY29uc3QgUHJlZGljYXRl
JiBwcmVkaWNhdGUgPSBtX25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlc1tpXTsKKyAgICAgICAg
aWYgKHByZWRpY2F0ZS5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0ZS5p
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU3RlcDo6ZXZhbHVhdGUoTm9kZSogY29u
dGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0Cit2b2lkIFN0ZXA6OmV2YWx1YXRlKE5vZGUmIGNv
bnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogewogICAgIEV2YWx1YXRpb25Db250ZXh0JiBl
dmFsdWF0aW9uQ29udGV4dCA9IEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCk7CiAgICAg
ZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb24gPSAwOwpAQCAtMTE4LDcgKzEyMSw3IEBAIHZvaWQg
U3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAKICAg
ICAvLyBDaGVjayBwcmVkaWNhdGVzIHRoYXQgY291bGRuJ3QgYmUgbWVyZ2VkIGludG8gbm9kZSB0
ZXN0LgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ByZWRpY2F0ZXMuc2l6ZSgpOyBp
KyspIHsKLSAgICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07Cisg
ICAgICAgIGNvbnN0IFByZWRpY2F0ZSYgcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwogCiAg
ICAgICAgIE5vZGVTZXQgbmV3Tm9kZXM7CiAgICAgICAgIGlmICghbm9kZXMuaXNTb3J0ZWQoKSkK
QEAgLTEzMCwxMSArMTMzLDExIEBAIHZvaWQgU3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwg
Tm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5ub2Rl
ID0gbm9kZTsKICAgICAgICAgICAgIGV2YWx1YXRpb25Db250ZXh0LnNpemUgPSBub2Rlcy5zaXpl
KCk7CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbiA9IGogKyAxOwotICAg
ICAgICAgICAgaWYgKHByZWRpY2F0ZS0+ZXZhbHVhdGUoKSkKKyAgICAgICAgICAgIGlmIChwcmVk
aWNhdGUuZXZhbHVhdGUoKSkKICAgICAgICAgICAgICAgICBuZXdOb2Rlcy5hcHBlbmQobm9kZSk7
CiAgICAgICAgIH0KIAotICAgICAgICBub2Rlcy5zd2FwKG5ld05vZGVzKTsKKyAgICAgICAgbm9k
ZXMgPSBzdGQ6Om1vdmUobmV3Tm9kZXMpOwogICAgIH0KIH0KIApAQCAtMTUzLDM0ICsxNTYsMzQg
QEAgc3RhdGljIGlubGluZSBOb2RlOjpOb2RlVHlwZSBwcmltYXJ5Tm9kZVR5cGUoU3RlcDo6QXhp
cyBheGlzKQogI2VuZGlmCiAKIC8vIEV2YWx1YXRlIE5vZGVUZXN0IHdpdGhvdXQgY29uc2lkZXJp
bmcgbWVyZ2VkIHByZWRpY2F0ZXMuCi1zdGF0aWMgaW5saW5lIGJvb2wgbm9kZU1hdGNoZXNCYXNp
Y1Rlc3QoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25zdCBTdGVwOjpOb2RlVGVzdCYg
bm9kZVRlc3QpCitpbmxpbmUgYm9vbCBub2RlTWF0Y2hlc0Jhc2ljVGVzdChOb2RlJiBub2RlLCBT
dGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKIHsKLSAgICBz
d2l0Y2ggKG5vZGVUZXN0LmtpbmQoKSkgeworICAgIHN3aXRjaCAobm9kZVRlc3QubV9raW5kKSB7
CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVzdDoKLSAgICAgICAgICAg
IHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlRFWFRfTk9ERSB8fCBub2RlLT5ub2Rl
VHlwZSgpID09IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERTsKKyAgICAgICAgICAgIHJldHVybiBu
b2RlLm5vZGVUeXBlKCkgPT0gTm9kZTo6VEVYVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUoKSA9PSBO
b2RlOjpDREFUQV9TRUNUSU9OX05PREU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OkNv
bW1lbnROb2RlVGVzdDoKLSAgICAgICAgICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5v
ZGU6OkNPTU1FTlRfTk9ERTsKKyAgICAgICAgICAgIHJldHVybiBub2RlLm5vZGVUeXBlKCkgPT0g
Tm9kZTo6Q09NTUVOVF9OT0RFOwogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdDogewotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lID0gbm9kZVRlc3QuZGF0YSgpOwotICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFICYmIChuYW1lLmlzRW1w
dHkoKSB8fCBub2RlLT5ub2RlTmFtZSgpID09IG5hbWUpOworICAgICAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QubV9kYXRhOworICAgICAgICAgICAgcmV0dXJuIG5v
ZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUgJiYgKG5h
bWUuaXNFbXB0eSgpIHx8IG5vZGUubm9kZU5hbWUoKSA9PSBuYW1lKTsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdDoKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdDogewotICAgICAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QuZGF0YSgpOwotICAgICAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkgPSBub2RlVGVzdC5uYW1lc3Bh
Y2VVUkkoKTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSA9IG5vZGVUZXN0
Lm1fZGF0YTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJID0g
bm9kZVRlc3QubV9uYW1lc3BhY2VVUkk7CiAKICAgICAgICAgICAgIGlmIChheGlzID09IFN0ZXA6
OkF0dHJpYnV0ZUF4aXMpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobm9kZS0+aXNBdHRyaWJ1
dGVOb2RlKCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLmlzQXR0cmlidXRlTm9kZSgp
KTsKIAogICAgICAgICAgICAgICAgIC8vIEluIFhQYXRoIGxhbmQsIG5hbWVzcGFjZSBub2RlcyBh
cmUgbm90IGFjY2Vzc2libGUgb24gdGhlIGF0dHJpYnV0ZSBheGlzLgotICAgICAgICAgICAgICAg
IGlmIChub2RlLT5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVS
SSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOU05hbWVz
Ojp4bWxuc05hbWVzcGFjZVVSSSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT0gc3RhckF0b20pCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8IG5vZGUtPm5hbWVzcGFjZVVSSSgp
ID09IG5hbWVzcGFjZVVSSTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFjZVVS
SS5pc0VtcHR5KCkgfHwgbm9kZS5uYW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7CiAKLSAg
ICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bG9jYWxOYW1lKCkgPT0gbmFtZSAmJiBub2RlLT5u
YW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5v
ZGUubG9jYWxOYW1lKCkgPT0gbmFtZSAmJiBub2RlLm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFj
ZVVSSTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gTm9kZSB0ZXN0IG9uIHRoZSBu
YW1lc3BhY2UgYXhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LCB0aGUgY2FsbGVyIGhhcyBhIGNo
ZWNrIGZvciBpdC4KQEAgLTE4OCwyOCArMTkxLDI4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBub2Rl
TWF0Y2hlc0Jhc2ljVGVzdChOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6
CiAKICAgICAgICAgICAgIC8vIEZvciBvdGhlciBheGVzLCB0aGUgcHJpbmNpcGFsIG5vZGUgdHlw
ZSBpcyBlbGVtZW50LgogICAgICAgICAgICAgQVNTRVJUKHByaW1hcnlOb2RlVHlwZShheGlzKSA9
PSBOb2RlOjpFTEVNRU5UX05PREUpOwotICAgICAgICAgICAgaWYgKG5vZGUtPm5vZGVUeXBlKCkg
IT0gTm9kZTo6RUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgaWYgKCFub2RlLmlzRWxlbWVudE5v
ZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGlmIChu
YW1lID09IHN0YXJBdG9tKQotICAgICAgICAgICAgICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNF
bXB0eSgpIHx8IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbmFtZXNwYWNlVVJJLmlzRW1wdHkoKSB8fCBuYW1lc3BhY2VVUkkgPT0g
bm9kZS5uYW1lc3BhY2VVUkkoKTsKIAotICAgICAgICAgICAgaWYgKG5vZGUtPmRvY3VtZW50KCku
aXNIVE1MRG9jdW1lbnQoKSkgewotICAgICAgICAgICAgICAgIGlmIChub2RlLT5pc0hUTUxFbGVt
ZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQo
KSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlLmlzSFRNTEVsZW1lbnQoKSkgewogICAgICAg
ICAgICAgICAgICAgICAvLyBQYXRocyB3aXRob3V0IG5hbWVzcGFjZXMgc2hvdWxkIG1hdGNoIEhU
TUwgZWxlbWVudHMgaW4gSFRNTCBkb2N1bWVudHMgZGVzcGl0ZSB0aG9zZSBoYXZpbmcgYW4gWEhU
TUwgbmFtZXNwYWNlLiBOYW1lcyBhcmUgY29tcGFyZWQgY2FzZS1pbnNlbnNpdGl2ZWx5LgotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UodG9FbGVtZW50KG5vZGUp
LT5sb2NhbE5hbWUoKSwgbmFtZSkgJiYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSB8fCBuYW1lc3Bh
Y2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UodG9IVE1MRWxlbWVudChub2RlKS5sb2NhbE5hbWUoKSwgbmFt
ZSkgJiYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSB8fCBuYW1lc3BhY2VVUkkgPT0gbm9kZS5uYW1l
c3BhY2VVUkkoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8vIEFuIGV4
cHJlc3Npb24gd2l0aG91dCBhbnkgcHJlZml4IHNob3VsZG4ndCBtYXRjaCBuby1uYW1lc3BhY2Ug
bm9kZXMgKGJlY2F1c2UgSFRNTDUgc2F5cyBzbykuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRv
RWxlbWVudChub2RlKS0+aGFzTG9jYWxOYW1lKG5hbWUpICYmIG5hbWVzcGFjZVVSSSA9PSBub2Rl
LT5uYW1lc3BhY2VVUkkoKSAmJiAhbmFtZXNwYWNlVVJJLmlzTnVsbCgpOworICAgICAgICAgICAg
ICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSkuaGFzTG9jYWxOYW1lKG5hbWUpICYmIG5hbWVzcGFj
ZVVSSSA9PSBub2RlLm5hbWVzcGFjZVVSSSgpICYmICFuYW1lc3BhY2VVUkkuaXNOdWxsKCk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpLT5oYXNMb2Nh
bE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpOworICAg
ICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS5oYXNMb2NhbE5hbWUobmFtZSkgJiYgbmFt
ZXNwYWNlVVJJID09IG5vZGUubmFtZXNwYWNlVVJJKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5s
aW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25zdCBT
dGVwOjpOb2RlVGVzdCYgbm9kZVRlc3QpCitpbmxpbmUgYm9vbCBub2RlTWF0Y2hlcyhOb2RlJiBu
b2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKIHsK
ICAgICBpZiAoIW5vZGVNYXRjaGVzQmFzaWNUZXN0KG5vZGUsIGF4aXMsIG5vZGVUZXN0KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE5LDEzICsyMjIsMTMgQEAgc3RhdGljIGlubGluZSBi
b29sIG5vZGVNYXRjaGVzKE5vZGUqIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6
Tm9kZVRlc3QKICAgICAvLyBPbmx5IHRoZSBmaXJzdCBtZXJnZWQgcHJlZGljYXRlIG1heSBkZXBl
bmQgb24gcG9zaXRpb24uCiAgICAgKytldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbjsKIAotICAg
IGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJlZGljYXRlcyA9IG5vZGVUZXN0Lm1l
cmdlZFByZWRpY2F0ZXMoKTsKKyAgICBjb25zdCBWZWN0b3I8UHJlZGljYXRlPiYgbWVyZ2VkUHJl
ZGljYXRlcyA9IG5vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlczsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbWVyZ2VkUHJlZGljYXRlcy5zaXplKCk7IGkrKykgewotICAgICAgICBQcmVk
aWNhdGUqIHByZWRpY2F0ZSA9IG1lcmdlZFByZWRpY2F0ZXNbaV07CisgICAgICAgIGNvbnN0IFBy
ZWRpY2F0ZSYgcHJlZGljYXRlID0gbWVyZ2VkUHJlZGljYXRlc1tpXTsKIAotICAgICAgICBldmFs
dWF0aW9uQ29udGV4dC5ub2RlID0gbm9kZTsKKyAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQubm9k
ZSA9ICZub2RlOwogICAgICAgICAvLyBObyBuZWVkIHRvIHNldCBjb250ZXh0IHNpemUgLSB3ZSBv
bmx5IGdldCBoZXJlIHdoZW4gZXZhbHVhdGluZyBwcmVkaWNhdGVzIHRoYXQgZG8gbm90IGRlcGVu
ZCBvbiBpdC4KLSAgICAgICAgaWYgKCFwcmVkaWNhdGUtPmV2YWx1YXRlKCkpCisgICAgICAgIGlm
ICghcHJlZGljYXRlLmV2YWx1YXRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCkBAIC0yMzMsMTI0ICsyMzYsMTI2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0Y2hl
cyhOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0CiB9CiAK
IC8vIFJlc3VsdCBub2RlcyBhcmUgb3JkZXJlZCBpbiBheGlzIG9yZGVyLiBOb2RlIHRlc3QgKGlu
Y2x1ZGluZyBtZXJnZWQgcHJlZGljYXRlcykgaXMgYXBwbGllZC4KLXZvaWQgU3RlcDo6bm9kZXNJ
bkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0Cit2b2lkIFN0ZXA6Om5v
ZGVzSW5BeGlzKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogewogICAgIEFT
U0VSVChub2Rlcy5pc0VtcHR5KCkpOwogICAgIHN3aXRjaCAobV9heGlzKSB7CiAgICAgICAgIGNh
c2UgQ2hpbGRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgp
KSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVu
LgorICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRo
IG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJz
dENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcyhuLCBDaGlsZEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0
LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIENoaWxkQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBEZXNjZW5kYW50QXhpczoKLSAgICAg
ICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGggbW9kZWws
IGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAgIGlmIChj
b250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5v
ZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+Zmlyc3RDaGlsZCgpOyBuOyBuID0gTm9k
ZVRyYXZlcnNhbDo6bmV4dChuLCBjb250ZXh0KSkKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMobiwgRGVzY2VuZGFudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0
LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSwgJmNv
bnRleHQpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBEZXNjZW5k
YW50QXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChu
b2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBQ
YXJlbnRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7
Ci0gICAgICAgICAgICAgICAgRWxlbWVudCogbiA9IHN0YXRpY19jYXN0PEF0dHIqPihjb250ZXh0
KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIFBh
cmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQo
bik7CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgeworICAgICAg
ICAgICAgICAgIEVsZW1lbnQqIG5vZGUgPSBzdGF0aWNfY2FzdDxBdHRyJj4oY29udGV4dCkub3du
ZXJFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBQYXJl
bnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5v
ZGUpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBDb250YWluZXJOb2Rl
KiBuID0gY29udGV4dC0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgICAgIGlmIChuICYmIG5v
ZGVNYXRjaGVzKG4sIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogbm9kZSA9
IGNvbnRleHQucGFyZW50Tm9kZSgpOworICAgICAgICAgICAgICAgIGlmIChub2RlICYmIG5vZGVN
YXRjaGVzKCpub2RlLCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBjYXNlIEFuY2VzdG9yQXhpczogewotICAgICAgICAgICAgTm9kZSogbiA9IGNv
bnRleHQ7Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpIHsKLSAg
ICAgICAgICAgICAgICBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25lckVsZW1l
bnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JBeGlzLCBt
X25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAg
ICAgICAgTm9kZSogbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNB
dHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0
ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0
Y2hlcygqbm9kZSwgQW5jZXN0b3JBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChu
b2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
KSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3RvckF4aXMs
IG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7IG47IG4g
PSBuLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFu
Y2VzdG9yQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVu
ZChuKTsKICAgICAgICAgICAgIG5vZGVzLm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRm9sbG93aW5nU2libGluZ0F4aXM6Ci0g
ICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9E
RSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgpID09IE5vZGU6OlhQQVRI
X05BTUVTUEFDRV9OT0RFKSAKKyAgICAgICAgICAgIGlmIChjb250ZXh0Lm5vZGVUeXBlKCkgPT0g
Tm9kZTo6QVRUUklCVVRFX05PREUgfHwgY29udGV4dC5ub2RlVHlwZSgpID09IE5vZGU6OlhQQVRI
X05BTUVTUEFDRV9OT0RFKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+bmV4dFNpYmxpbmcoKTsgbjsgbiA9
IG4tPm5leHRTaWJsaW5nKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZv
bGxvd2luZ1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0gY29udGV4dC5uZXh0
U2libGluZygpOyBub2RlOyBub2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgRm9sbG93aW5nU2libGluZ0F4aXMsIG1fbm9k
ZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAg
ICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgUHJlY2VkaW5nU2libGlu
Z0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRS
SUJVVEVfTk9ERSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgpID09IE5v
ZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFKQorICAgICAgICAgICAgaWYgKGNvbnRleHQubm9kZVR5
cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9ERSB8fCBjb250ZXh0Lm5vZGVUeXBlKCkgPT0gTm9k
ZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5wcmV2aW91c1NpYmxp
bmcoKTsgbjsgbiA9IG4tPnByZXZpb3VzU2libGluZygpKQotICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAg
ICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLQorICAgICAgICAgICAgZm9yIChOb2RlKiBu
b2RlID0gY29udGV4dC5wcmV2aW91c1NpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPnByZXZp
b3VzU2libGluZygpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBQ
cmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5v
ZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5vZGVzLm1hcmtT
b3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEZvbGxvd2lu
Z0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpIHsKLSAg
ICAgICAgICAgICAgICBOb2RlKiBwID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25l
ckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAoKHAgPSBOb2RlVHJhdmVyc2FsOjpu
ZXh0KHApKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKHAsIEZvbGxvd2lu
Z0F4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KHApOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAg
ICAgICAgICAgICBOb2RlKiBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVy
RWxlbWVudCgpOworICAgICAgICAgICAgICAgIHdoaWxlICgobm9kZSA9IE5vZGVUcmF2ZXJzYWw6
Om5leHQobm9kZSkpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9k
ZSwgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBu
b2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIHAgPSBjb250ZXh0OyAhaXNSb290RG9tTm9k
ZShwKTsgcCA9IHAtPnBhcmVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgICAgICBmb3IgKE5v
ZGUqIG4gPSBwLT5uZXh0U2libGluZygpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZvbGxvd2luZ0F4aXMsIG1f
bm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogYyA9IG4tPmZpcnN0Q2hpbGQoKTsg
YzsgYyA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoYywgbikpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG5vZGVNYXRjaGVzKGMsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoYyk7CisgICAgICAgICAg
ICAgICAgZm9yIChOb2RlKiBwYXJlbnQgPSAmY29udGV4dDsgIWlzUm9vdERvbU5vZGUocGFyZW50
KTsgcGFyZW50ID0gcGFyZW50LT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9yIChOb2RlKiBub2RlID0gcGFyZW50LT5uZXh0U2libGluZygpOyBub2RlOyBub2RlID0gbm9k
ZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKCpub2RlLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBm
b3IgKE5vZGUqIGNoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBOb2Rl
VHJhdmVyc2FsOjpuZXh0KGNoaWxkLCBub2RlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChub2RlTWF0Y2hlcygqY2hpbGQsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoY2hpbGQpOworICAg
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNl
IFByZWNlZGluZ0F4aXM6IHsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5v
ZGUoKSkKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRl
eHQpLT5vd25lckVsZW1lbnQoKTsKLQotICAgICAgICAgICAgTm9kZSogbiA9IGNvbnRleHQ7Ci0g
ICAgICAgICAgICB3aGlsZSAoQ29udGFpbmVyTm9kZSogcGFyZW50ID0gbi0+cGFyZW50Tm9kZSgp
KSB7Ci0gICAgICAgICAgICAgICAgZm9yIChuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobik7
IG4gIT0gcGFyZW50OyBuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobikpCi0gICAgICAgICAg
ICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLSAgICAgICAgICAgICAg
ICBuID0gcGFyZW50OworICAgICAgICAgICAgTm9kZSogbm9kZTsKKyAgICAgICAgICAgIGlmIChj
b250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKQorICAgICAgICAgICAgICAgIG5vZGUgPSBzdGF0aWNf
Y2FzdDxBdHRyJj4oY29udGV4dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgd2hpbGUgKENvbnRh
aW5lck5vZGUqIHBhcmVudCA9IG5vZGUtPnBhcmVudE5vZGUoKSkgeworICAgICAgICAgICAgICAg
IGZvciAobm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpOyBub2RlICE9IHBhcmVu
dDsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgUHJlY2VkaW5nQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIG5vZGUgPSBwYXJlbnQ7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIEF0dHJpYnV0ZUF4aXM6IHsKLSAgICAgICAgICAgIGlm
ICghY29udGV4dC0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICAgICAgaWYgKCFjb250ZXh0Lmlz
RWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIEVs
ZW1lbnQqIGNvbnRleHRFbGVtZW50ID0gdG9FbGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAg
RWxlbWVudCYgY29udGV4dEVsZW1lbnQgPSB0b0VsZW1lbnQoY29udGV4dCk7CiAKICAgICAgICAg
ICAgIC8vIEF2b2lkIGxhemlseSBjcmVhdGluZyBhdHRyaWJ1dGUgbm9kZXMgZm9yIGF0dHJpYnV0
ZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCBhbnl3YXkuCi0gICAgICAgICAgICBpZiAobV9ub2RlVGVz
dC5raW5kKCkgPT0gTm9kZVRlc3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QuZGF0YSgpICE9IHN0
YXJBdG9tKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG4gPSBjb250ZXh0RWxlbWVu
dC0+Z2V0QXR0cmlidXRlTm9kZU5TKG1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCksIG1fbm9kZVRl
c3QuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VVUkkoKSAh
PSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1l
c3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4uZ2V0KCksIEF0dHJpYnV0ZUF4aXMs
IG1fbm9kZVRlc3QpKSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgot
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsKKyAgICAg
ICAgICAgIGlmIChtX25vZGVUZXN0Lm1fa2luZCA9PSBOb2RlVGVzdDo6TmFtZVRlc3QgJiYgbV9u
b2RlVGVzdC5tX2RhdGEgIT0gc3RhckF0b20pIHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8QXR0
cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmdldEF0dHJpYnV0ZU5vZGVOUyhtX25vZGVUZXN0Lm1f
bmFtZXNwYWNlVVJJLCBtX25vZGVUZXN0Lm1fZGF0YSk7CisgICAgICAgICAgICAgICAgaWYgKGF0
dHIgJiYgYXR0ci0+bmFtZXNwYWNlVVJJKCkgIT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VV
UkkpIHsgLy8gSW4gWFBhdGggbGFuZCwgbmFtZXNwYWNlIG5vZGVzIGFyZSBub3QgYWNjZXNzaWJs
ZSBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0
Y2hlcygqYXR0ciwgQXR0cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpIC8vIFN0aWxsIG5lZWQgdG8g
Y2hlY2sgbWVyZ2VkIHByZWRpY2F0ZXMuCisgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5h
cHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICgh
Y29udGV4dEVsZW1lbnQtPmhhc0F0dHJpYnV0ZXMoKSkKKyAgICAgICAgICAgIGlmICghY29udGV4
dEVsZW1lbnQuaGFzQXR0cmlidXRlcygpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvbnRleHRFbGVtZW50LT5hdHRyaWJ1
dGVDb3VudCgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8QXR0cj4gYXR0ciA9IGNv
bnRleHRFbGVtZW50LT5lbnN1cmVBdHRyKGNvbnRleHRFbGVtZW50LT5hdHRyaWJ1dGVBdChpKS5u
YW1lKCkpOwotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhhdHRyLmdldCgpLCBBdHRy
aWJ1dGVBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBjb250ZXh0RWxlbWVudC5hdHRyaWJ1dGVDb3VudCgpOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICBSZWZQdHI8QXR0cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmVuc3VyZUF0dHIoY29udGV4
dEVsZW1lbnQuYXR0cmlidXRlQXQoaSkubmFtZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAobm9k
ZU1hdGNoZXMoKmF0dHIsIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3QpKQogICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMzYwLDMxICszNjUsMzEgQEAgdm9pZCBTdGVwOjpub2Rlc0lu
QXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBTZWxmQXhpczoKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hl
cyhjb250ZXh0LCBTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgbm9kZXMu
YXBwZW5kKGNvbnRleHQpOworICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZCgmY29udGV4dCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgRGVzY2VuZGFudE9yU2VsZkF4aXM6
CiAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoY29udGV4dCwgRGVzY2VuZGFudE9yU2VsZkF4
aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjb250ZXh0KTsK
LSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGgg
bW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAg
ICAgICBub2Rlcy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNB
dHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90
IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBm
b3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJzdENoaWxkKCk7IG47IG4gPSBOb2RlVHJhdmVyc2Fs
OjpuZXh0KG4sIGNvbnRleHQpKQotICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIERlc2Nl
bmRhbnRPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICBub2Rlcy5hcHBl
bmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0LmZpcnN0Q2hpbGQo
KTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSwgJmNvbnRleHQpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBEZXNjZW5kYW50T3JTZWxmQXhp
cywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBBbmNlc3Rv
ck9yU2VsZkF4aXM6IHsKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhjb250ZXh0LCBBbmNl
c3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVu
ZChjb250ZXh0KTsKLSAgICAgICAgICAgIE5vZGUqIG4gPSBjb250ZXh0OwotICAgICAgICAgICAg
aWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgbiA9IHN0
YXRpY19jYXN0PEF0dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAg
ICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0g
ICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgTm9kZSogbm9kZSA9ICZjb250ZXh0Owor
ICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAgICAgICAg
ICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOwor
ICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgQW5jZXN0b3JPclNlbGZBeGlz
LCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
OyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAg
ICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7IG47IG4gPSBuLT5wYXJlbnROb2RlKCkp
Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxmQXhpcywg
bV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLQogICAg
ICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTM5Miw2ICszOTcsNSBAQCB2b2lkIFN0ZXA6Om5vZGVzSW5BeGlzKE5vZGUq
IGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCi0KIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBmNjc4ZjkyMjgzOWE2MGFm
N2UxNzM2YzRiMDEzYmM1ZGNhY2U2MzJhLi41NTY5YzQ1Y2MxYmVlMDRkYWNmMTRiYzk2ZWQ1YWEx
ZDdkMTlkOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCkBAIC0yNyw4ICsyNyw4IEBACiAjaWZu
ZGVmIFhQYXRoU3RlcF9oCiAjZGVmaW5lIFhQYXRoU3RlcF9oCiAKLSNpbmNsdWRlICJYUGF0aEV4
cHJlc3Npb25Ob2RlLmgiCi0jaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM2LDEwICszNiwxMCBAQCBjbGFzcyBOb2RlOwogCiBuYW1lc3Bh
Y2UgWFBhdGggewogCitjbGFzcyBOb2RlU2V0OwogY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAK
LWNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdGVwKTsKK2NsYXNzIFN0ZXAgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGVudW0gQXhpcyB7CkBAIC00OSw1NyArNDksNTIgQEAgcHVibGljOgogICAgICAg
ICBQYXJlbnRBeGlzLCBQcmVjZWRpbmdBeGlzLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywKICAgICAg
ICAgU2VsZkF4aXMKICAgICB9OwotICAgICAgICAgICAKKwogICAgIGNsYXNzIE5vZGVUZXN0IHsK
ICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgotICAgICAgICBl
bnVtIEtpbmQgewotICAgICAgICAgICAgVGV4dE5vZGVUZXN0LCBDb21tZW50Tm9kZVRlc3QsIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2RlVGVzdCwgTmFtZVRlc3QKLSAgICAg
ICAgfTsKLQotICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQpIDogbV9raW5kKGtpbmQpIHsgfQot
ICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0IFN0cmluZyYgZGF0YSkgOiBtX2tpbmQo
a2luZCksIG1fZGF0YShkYXRhKSB7IH0KLSAgICAgICAgTm9kZVRlc3QoS2luZCBraW5kLCBjb25z
dCBTdHJpbmcmIGRhdGEsIGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJKSA6IG1fa2luZChraW5k
KSwgbV9kYXRhKGRhdGEpLCBtX25hbWVzcGFjZVVSSShuYW1lc3BhY2VVUkkpIHsgfQotICAgICAg
ICAgICAgICAgIAotICAgICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0K
LSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRh
OyB9Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lc3BhY2VVUkk7IH0KLSAgICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJn
ZWRQcmVkaWNhdGVzKCkgeyByZXR1cm4gbV9tZXJnZWRQcmVkaWNhdGVzOyB9Ci0gICAgICAgIGNv
bnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJlZGljYXRlcygpIGNvbnN0IHsgcmV0dXJu
IG1fbWVyZ2VkUHJlZGljYXRlczsgfQotICAgICAgICAgICAgICAgIAorICAgICAgICBlbnVtIEtp
bmQgeyBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9u
Tm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdCB9OworCisgICAgICAgIGV4cGxpY2l0IE5v
ZGVUZXN0KEtpbmQga2luZCkgOiBtX2tpbmQoa2luZCkgeyB9CisgICAgICAgIE5vZGVUZXN0KEtp
bmQga2luZCwgY29uc3QgQXRvbWljU3RyaW5nJiBkYXRhKSA6IG1fa2luZChraW5kKSwgbV9kYXRh
KGRhdGEpIHsgfQorICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZGF0YSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpIDogbV9raW5kKGtpbmQp
LCBtX2RhdGEoZGF0YSksIG1fbmFtZXNwYWNlVVJJKG5hbWVzcGFjZVVSSSkgeyB9CisKICAgICBw
cml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgU3RlcDsKKyAgICAgICAgZnJpZW5kIHZvaWQg
b3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wmKTsKKyAgICAgICAgZnJpZW5kIGJv
b2wgbm9kZU1hdGNoZXNCYXNpY1Rlc3QoTm9kZSYsIEF4aXMsIGNvbnN0IE5vZGVUZXN0Jik7Cisg
ICAgICAgIGZyaWVuZCBib29sIG5vZGVNYXRjaGVzKE5vZGUmLCBBeGlzLCBjb25zdCBOb2RlVGVz
dCYpOworCiAgICAgICAgIEtpbmQgbV9raW5kOwogICAgICAgICBBdG9taWNTdHJpbmcgbV9kYXRh
OwogICAgICAgICBBdG9taWNTdHJpbmcgbV9uYW1lc3BhY2VVUkk7Ci0KLSAgICAgICAgLy8gV2hl
biBwb3NzaWJsZSwgd2UgbWVyZ2Ugc29tZSBvciBhbGwgcHJlZGljYXRlcyB3aXRoIG5vZGUgdGVz
dCBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlLgotICAgICAgICBWZWN0b3I8UHJlZGljYXRlKj4gbV9t
ZXJnZWRQcmVkaWNhdGVzOworICAgICAgICBWZWN0b3I8UHJlZGljYXRlPiBtX21lcmdlZFByZWRp
Y2F0ZXM7CiAgICAgfTsKIAotICAgIFN0ZXAoQXhpcywgY29uc3QgTm9kZVRlc3QmLCBjb25zdCBW
ZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMgPSBWZWN0b3I8UHJlZGljYXRlKj4oKSk7Cisg
ICAgU3RlcChBeGlzLCBOb2RlVGVzdCYmKTsKKyAgICBTdGVwKEF4aXMsIE5vZGVUZXN0JiYsIFZl
Y3RvcjxQcmVkaWNhdGU+JiYpOwogICAgIH5TdGVwKCk7CiAKICAgICB2b2lkIG9wdGltaXplKCk7
CiAKLSAgICB2b2lkIGV2YWx1YXRlKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKKyAg
ICB2b2lkIGV2YWx1YXRlKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKIAogICAgIEF4
aXMgYXhpcygpIGNvbnN0IHsgcmV0dXJuIG1fYXhpczsgfQotICAgIGNvbnN0IE5vZGVUZXN0JiBu
b2RlVGVzdCgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVRlc3Q7IH0KIAogcHJpdmF0ZToKLSAgICBm
cmllbmQgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAqLCBTdGVwKiwgYm9vbCYpOworICAgIGZy
aWVuZCB2b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCYsIFN0ZXAmLCBib29sJik7CisKICAgICBi
b29sIHByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKCkgY29uc3Q7CiAKICAgICB2
b2lkIHBhcnNlTm9kZVRlc3QoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBub2Rlc0luQXhpcyhO
b2RlKiBjb250ZXh0LCBOb2RlU2V0JikgY29uc3Q7Ci0gICAgU3RyaW5nIG5hbWVzcGFjZUZyb21O
b2RldGVzdChjb25zdCBTdHJpbmcmIG5vZGVUZXN0KSBjb25zdDsKKyAgICB2b2lkIG5vZGVzSW5B
eGlzKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKIAogICAgIEF4aXMgbV9heGlzOwog
ICAgIE5vZGVUZXN0IG1fbm9kZVRlc3Q7Ci0gICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGlj
YXRlczsKKyAgICBWZWN0b3I8UHJlZGljYXRlPiBtX3ByZWRpY2F0ZXM7CiB9OwogCi12b2lkIG9w
dGltaXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJiBkcm9wU2Vjb25kU3RlcCk7Cit2b2lk
IG9wdGltaXplU3RlcFBhaXIoU3RlcCYsIFN0ZXAmLCBib29sJiBkcm9wU2Vjb25kU3RlcCk7CiAK
IH0gLy8gbmFtZXNwYWNlIFhQYXRoCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFV0aWwuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKaW5kZXggOGNi
YzdhNjMxNGY0ZmI1YjJmOWUxMjkwZTI3NTM3YWNhOTIxMDRhNi4uOGQzY2JhNzllYmNjZGZhZTQz
ODcyZGNjYzZkN2VkMzAwMGE5MDNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoVXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKQEAgLTUw
LDcgKzUwLDcgQEAgU3RyaW5nIHN0cmluZ1ZhbHVlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhc2Ug
Tm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6CiAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bm9k
ZVZhbHVlKCk7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoaXNSb290RG9tTm9k
ZShub2RlKSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkVMRU1FTlRfTk9ERSkKKyAgICAg
ICAgICAgIGlmIChpc1Jvb3REb21Ob2RlKG5vZGUpIHx8IG5vZGUtPmlzRWxlbWVudE5vZGUoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gVGV4dE5vZGVUcmF2ZXJzYWw6OmNvbnRlbnRzQXNTdHJp
bmcobm9kZSk7CiAgICAgfQogICAgIHJldHVybiBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZh
bHVlLmNwcAppbmRleCBlZDQzZjQ4YmVlYmRiZDBmMTg0ZWVhNzU3YWJlMzM1ZDQ4ODRmOWRhLi4y
YmQwMzk4NDA1MTI3ZTIyZTZkOTI0MzQxYTI1YmI5MTk4N2ZiMjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoVmFsdWUuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1IEZyZXJp
Y2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDI2
ICszMiwyMyBAQAogI2luY2x1ZGUgIlhQYXRoVXRpbC5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotdXNpbmcgc3RkOjpudW1lcmljX2xp
bWl0czsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKIAotY29uc3Qg
VmFsdWU6OkFkb3B0VGFnIFZhbHVlOjphZG9wdCA9IHt9OwotCiBjb25zdCBOb2RlU2V0JiBWYWx1
ZTo6dG9Ob2RlU2V0KCkgY29uc3QKIHsKICAgICBpZiAoIWlzTm9kZVNldCgpKQogICAgICAgICBF
eHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpLmhhZFR5cGVDb252ZXJzaW9uRXJyb3IgPSB0
cnVlOwogCiAgICAgaWYgKCFtX2RhdGEpIHsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChO
b2RlU2V0LCBlbXB0eU5vZGVTZXQsICgpKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PE5vZGVTZXQ+IGVtcHR5Tm9kZVNldDsKICAgICAgICAgcmV0dXJuIGVtcHR5Tm9kZVNldDsKICAg
ICB9CiAKLSAgICByZXR1cm4gbV9kYXRhLT5tX25vZGVTZXQ7CisgICAgcmV0dXJuIG1fZGF0YS0+
bm9kZVNldDsKIH0gICAgCiAKIE5vZGVTZXQmIFZhbHVlOjptb2RpZmlhYmxlTm9kZVNldCgpCkBA
IC02MCwyMyArNTcsMjMgQEAgTm9kZVNldCYgVmFsdWU6Om1vZGlmaWFibGVOb2RlU2V0KCkKICAg
ICAgICAgRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKS5oYWRUeXBlQ29udmVyc2lvbkVy
cm9yID0gdHJ1ZTsKIAogICAgIGlmICghbV9kYXRhKQotICAgICAgICBtX2RhdGEgPSBWYWx1ZURh
dGE6OmNyZWF0ZSgpOwotICAgIAorICAgICAgICBtX2RhdGEgPSBEYXRhOjpjcmVhdGUoKTsKKwog
ICAgIG1fdHlwZSA9IE5vZGVTZXRWYWx1ZTsKLSAgICByZXR1cm4gbV9kYXRhLT5tX25vZGVTZXQ7
CisgICAgcmV0dXJuIG1fZGF0YS0+bm9kZVNldDsKIH0KIAogYm9vbCBWYWx1ZTo6dG9Cb29sZWFu
KCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgICAgICBjYXNlIE5vZGVTZXRW
YWx1ZToKLSAgICAgICAgICAgIHJldHVybiAhbV9kYXRhLT5tX25vZGVTZXQuaXNFbXB0eSgpOwor
ICAgICAgICAgICAgcmV0dXJuICFtX2RhdGEtPm5vZGVTZXQuaXNFbXB0eSgpOwogICAgICAgICBj
YXNlIEJvb2xlYW5WYWx1ZToKICAgICAgICAgICAgIHJldHVybiBtX2Jvb2w7CiAgICAgICAgIGNh
c2UgTnVtYmVyVmFsdWU6CiAgICAgICAgICAgICByZXR1cm4gbV9udW1iZXIgJiYgIXN0ZDo6aXNu
YW4obV9udW1iZXIpOwogICAgICAgICBjYXNlIFN0cmluZ1ZhbHVlOgotICAgICAgICAgICAgcmV0
dXJuICFtX2RhdGEtPm1fc3RyaW5nLmlzRW1wdHkoKTsKKyAgICAgICAgICAgIHJldHVybiAhbV9k
YXRhLT5zdHJpbmcuaXNFbXB0eSgpOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICByZXR1cm4gZmFsc2U7CkBAIC05MCwyNSArODcsMjYgQEAgZG91YmxlIFZhbHVlOjp0b051
bWJlcigpIGNvbnN0CiAgICAgICAgIGNhc2UgTnVtYmVyVmFsdWU6CiAgICAgICAgICAgICByZXR1
cm4gbV9udW1iZXI7CiAgICAgICAgIGNhc2UgU3RyaW5nVmFsdWU6IHsKLSAgICAgICAgICAgIGNv
bnN0IFN0cmluZyYgc3RyID0gbV9kYXRhLT5tX3N0cmluZy5zaW1wbGlmeVdoaXRlU3BhY2UoKTsK
KyAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgc3RyID0gbV9kYXRhLT5zdHJpbmcuc2ltcGxpZnlX
aGl0ZVNwYWNlKCk7CiAKICAgICAgICAgICAgIC8vIFN0cmluZzo6dG9Eb3VibGUoKSBzdXBwb3J0
cyBleHBvbmVudGlhbCBub3RhdGlvbiwgd2hpY2ggaXMgbm90IGFsbG93ZWQgaW4gWFBhdGguCiAg
ICAgICAgICAgICB1bnNpZ25lZCBsZW4gPSBzdHIubGVuZ3RoKCk7CiAgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKICAgICAgICAgICAgICAgICBVQ2hhciBj
ID0gc3RyW2ldOwogICAgICAgICAgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KGMpICYmIGMgIT0g
Jy4nICAmJiBjICE9ICctJykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgYm9vbCBjYW5Db252ZXJ0OwogICAgICAgICAgICAgZG91YmxlIHZhbHVlID0g
c3RyLnRvRG91YmxlKCZjYW5Db252ZXJ0KTsKICAgICAgICAgICAgIGlmIChjYW5Db252ZXJ0KQog
ICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgQm9vbGVhblZhbHVlOgogICAgICAgICAgICAgcmV0dXJuIG1fYm9vbDsKICAgICB9CisKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wOwogfQpAQCAtMTE3LDIyICsx
MTUsMjMgQEAgU3RyaW5nIFZhbHVlOjp0b1N0cmluZygpIGNvbnN0CiB7CiAgICAgc3dpdGNoICht
X3R5cGUpIHsKICAgICAgICAgY2FzZSBOb2RlU2V0VmFsdWU6Ci0gICAgICAgICAgICBpZiAobV9k
YXRhLT5tX25vZGVTZXQuaXNFbXB0eSgpKSAKLSAgICAgICAgICAgICAgICByZXR1cm4gIiI7Ci0g
ICAgICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUobV9kYXRhLT5tX25vZGVTZXQuZmlyc3ROb2Rl
KCkpOworICAgICAgICAgICAgaWYgKG1fZGF0YS0+bm9kZVNldC5pc0VtcHR5KCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gc3RyaW5n
VmFsdWUobV9kYXRhLT5ub2RlU2V0LmZpcnN0Tm9kZSgpKTsKICAgICAgICAgY2FzZSBTdHJpbmdW
YWx1ZToKLSAgICAgICAgICAgIHJldHVybiBtX2RhdGEtPm1fc3RyaW5nOworICAgICAgICAgICAg
cmV0dXJuIG1fZGF0YS0+c3RyaW5nOwogICAgICAgICBjYXNlIE51bWJlclZhbHVlOgogICAgICAg
ICAgICAgaWYgKHN0ZDo6aXNuYW4obV9udW1iZXIpKQotICAgICAgICAgICAgICAgIHJldHVybiAi
TmFOIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJOYU4iKTsKICAgICAg
ICAgICAgIGlmIChtX251bWJlciA9PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiAiMCI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiMCIpOwogICAgICAgICAgICAgaWYg
KHN0ZDo6aXNpbmYobV9udW1iZXIpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6OnNpZ25i
aXQobV9udW1iZXIpID8gIi1JbmZpbml0eSIgOiAiSW5maW5pdHkiOworICAgICAgICAgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoc3RkOjpzaWduYml0KG1fbnVtYmVyKSA/ICItSW5maW5pdHki
IDogIkluZmluaXR5Iik7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIobV9udW1i
ZXIpOwogICAgICAgICBjYXNlIEJvb2xlYW5WYWx1ZToKLSAgICAgICAgICAgIHJldHVybiBtX2Jv
b2wgPyAidHJ1ZSIgOiAiZmFsc2UiOworICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCht
X2Jvb2wgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKICAgICB9CisKICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuaAppbmRl
eCA0OTBiYjJkN2I3OGM1ZDY1NzlhNjdmZDQ3MDJjNjBlZTYwZjM3NTQ1Li5hMzY4NDQ3MDYxODI5
YmZkYjNhNTVhNWVjMmZlM2RkMjFjMzIwMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmgKQEAg
LTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVA
a2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNDYgKzI4LDI1IEBACiAjZGVm
aW5lIFhQYXRoVmFsdWVfaAogCiAjaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVz
cGFjZSBYUGF0aCB7CiAgICAgCi0gICAgICAgIGNsYXNzIFZhbHVlRGF0YSA6IHB1YmxpYyBSZWZD
b3VudGVkPFZhbHVlRGF0YT4gewotICAgICAgICBwdWJsaWM6ICAgICAgICAgICAgCi0gICAgICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxWYWx1ZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBWYWx1ZURhdGEpOyB9Ci0gICAgICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxWYWx1
ZURhdGE+IGNyZWF0ZShjb25zdCBOb2RlU2V0JiBub2RlU2V0KSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgVmFsdWVEYXRhKG5vZGVTZXQpKTsgfQotICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VmFsdWVEYXRhPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBWYWx1ZURhdGEoc3RyaW5nKSk7IH0KLQotICAgICAgICAgICAgTm9kZVNldCBtX25vZGVT
ZXQ7Ci0gICAgICAgICAgICBTdHJpbmcgbV9zdHJpbmc7Ci0gICAgICAgICAgICAKLSAgICAgICAg
cHJpdmF0ZToKLSAgICAgICAgICAgIFZhbHVlRGF0YSgpIHsgfQotICAgICAgICAgICAgZXhwbGlj
aXQgVmFsdWVEYXRhKGNvbnN0IE5vZGVTZXQmIG5vZGVTZXQpIDogbV9ub2RlU2V0KG5vZGVTZXQp
IHsgfQotICAgICAgICAgICAgZXhwbGljaXQgVmFsdWVEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5n
KSA6IG1fc3RyaW5nKHN0cmluZykgeyB9ICAgICAgICAgICAgCi0gICAgICAgIH07Ci0KLSAgICAg
ICAgLy8gQ29weWluZyBWYWx1ZSBvYmplY3RzIG1ha2VzIHRoZWlyIGRhdGEgcGFydGlhbGx5IHNo
YXJlZCwgc28gY2FyZSBoYXMgdG8gYmUgdGFrZW4gd2hlbiBkZWFsaW5nIHdpdGggY29waWVzLgog
ICAgICAgICBjbGFzcyBWYWx1ZSB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0g
VHlwZSB7IE5vZGVTZXRWYWx1ZSwgQm9vbGVhblZhbHVlLCBOdW1iZXJWYWx1ZSwgU3RyaW5nVmFs
dWUgfTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgVmFsdWUodW5zaWduZWQgdmFsdWUpIDog
bV90eXBlKE51bWJlclZhbHVlKSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIodmFsdWUpIHt9Ci0g
ICAgICAgICAgICBWYWx1ZSh1bnNpZ25lZCBsb25nIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1
ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKHZhbHVlKSB7fQotICAgICAgICAgICAgVmFsdWUo
ZG91YmxlIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVt
YmVyKHZhbHVlKSB7fQotCi0gICAgICAgICAgICBWYWx1ZShjb25zdCBjaGFyKiB2YWx1ZSkgOiBt
X3R5cGUoU3RyaW5nVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZh
bHVlRGF0YTo6Y3JlYXRlKHZhbHVlKSkge30KLSAgICAgICAgICAgIFZhbHVlKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIDogbV90eXBlKFN0cmluZ1ZhbHVlKSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIo
MCksIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSh2YWx1ZSkpIHt9Ci0gICAgICAgICAgICBWYWx1
ZShjb25zdCBOb2RlU2V0JiB2YWx1ZSkgOiBtX3R5cGUoTm9kZVNldFZhbHVlKSwgbV9ib29sKGZh
bHNlKSwgbV9udW1iZXIoMCksIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSh2YWx1ZSkpIHt9Ci0g
ICAgICAgICAgICBWYWx1ZShOb2RlKiB2YWx1ZSkgOiBtX3R5cGUoTm9kZVNldFZhbHVlKSwgbV9i
b29sKGZhbHNlKSwgbV9udW1iZXIoMCksIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSgpKSB7IG1f
ZGF0YS0+bV9ub2RlU2V0LmFwcGVuZCh2YWx1ZSk7IH0KKyAgICAgICAgICAgIFZhbHVlKGJvb2wg
dmFsdWUpIDogbV90eXBlKEJvb2xlYW5WYWx1ZSksIG1fYm9vbCh2YWx1ZSkgeyB9CisgICAgICAg
ICAgICBWYWx1ZSh1bnNpZ25lZCB2YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUpLCBtX251bWJl
cih2YWx1ZSkgeyB9CisgICAgICAgICAgICBWYWx1ZShkb3VibGUgdmFsdWUpIDogbV90eXBlKE51
bWJlclZhbHVlKSwgbV9udW1iZXIodmFsdWUpIHsgfQogCi0gICAgICAgICAgICAvLyBUaGlzIGlz
IG5lZWRlZCB0byBzYWZlbHkgaW1wbGVtZW50IGNvbnN0cnVjdGluZyBmcm9tIGJvb2wgLSB3aXRo
IG5vcm1hbCBmdW5jdGlvbiBvdmVybG9hZGluZywgYW55IHBvaW50ZXIgdHlwZSB3b3VsZCBtYXRj
aC4KLSAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFZhbHVlKFQpOworICAgICAgICAg
ICAgVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgOiBtX3R5cGUoU3RyaW5nVmFsdWUpLCBtX2Rh
dGEoRGF0YTo6Y3JlYXRlKHZhbHVlKSkgeyB9CisgICAgICAgICAgICBWYWx1ZShjb25zdCBjaGFy
KiB2YWx1ZSkgOiBtX3R5cGUoU3RyaW5nVmFsdWUpLCBtX2RhdGEoRGF0YTo6Y3JlYXRlKHZhbHVl
KSkgeyB9CiAKLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQWRvcHRUYWcge30gYWRv
cHQ7Ci0gICAgICAgICAgICBWYWx1ZShOb2RlU2V0JiB2YWx1ZSwgY29uc3QgQWRvcHRUYWcmKSA6
IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgIG1fZGF0
YShWYWx1ZURhdGE6OmNyZWF0ZSgpKSB7IHZhbHVlLnN3YXAobV9kYXRhLT5tX25vZGVTZXQpOyB9
CisgICAgICAgICAgICBleHBsaWNpdCBWYWx1ZShOb2RlU2V0JiYgdmFsdWUpIDogbV90eXBlKE5v
ZGVTZXRWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUoc3RkOjptb3ZlKHZhbHVlKSkpIHsgfQor
ICAgICAgICAgICAgZXhwbGljaXQgVmFsdWUoTm9kZSogdmFsdWUpIDogbV90eXBlKE5vZGVTZXRW
YWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KKyAgICAgICAgICAgIGV4cGxp
Y2l0IFZhbHVlKFBhc3NSZWZQdHI8Tm9kZT4gdmFsdWUpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSks
IG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KIAogICAgICAgICAgICAgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKQEAgLTc3LDI1ICs1NiwzOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBib29sIGlzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IFN0cmluZ1ZhbHVlOyB9CiAKICAgICAgICAgICAgIGNvbnN0IE5vZGVTZXQmIHRv
Tm9kZVNldCgpIGNvbnN0OwotICAgICAgICAgICAgTm9kZVNldCYgbW9kaWZpYWJsZU5vZGVTZXQo
KTsKICAgICAgICAgICAgIGJvb2wgdG9Cb29sZWFuKCkgY29uc3Q7CiAgICAgICAgICAgICBkb3Vi
bGUgdG9OdW1iZXIoKSBjb25zdDsKICAgICAgICAgICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OwogCisgICAgICAgICAgICAvLyBOb3RlIHRoYXQgdGhlIE5vZGVTZXQgaXMgc2hhcmVkIHdpdGgg
b3RoZXIgVmFsdWVzIHRoYXQgdGhpcyBvbmUgd2FzIGNvcGllZCBmcm9tIG9yIHRoYXQgYXJlIGNv
cGllcyBvZiB0aGlzIG9uZS4KKyAgICAgICAgICAgIE5vZGVTZXQmIG1vZGlmaWFibGVOb2RlU2V0
KCk7CisKICAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICAgIC8vIFRoaXMgY29uc3RydWN0b3Ig
Y3JlYXRlcyBhbWJpZ3VpdHkgc28gdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgY2FsbCB0aGUg
Ym9vbGVhbiBvdmVybG9hZCBmb3IgcG9pbnRlciB0eXBlcy4KKyAgICAgICAgICAgIFZhbHVlKHZv
aWQqKSBXVEZfREVMRVRFRF9GVU5DVElPTjsKKworICAgICAgICAgICAgc3RydWN0IERhdGEgOiBw
dWJsaWMgUmVmQ291bnRlZDxEYXRhPiB7CisgICAgICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGF0YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERhdGEpOyB9CisgICAgICAg
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgc3Ry
aW5nKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YShzdHJpbmcpKTsgfQorICAgICAgICAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGE+IGNyZWF0ZShOb2RlU2V0JiYgbm9kZVNldCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IERhdGEoc3RkOjptb3ZlKG5vZGVTZXQpKSk7IH0KKyAgICAgICAg
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBu
b2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YShub2RlKSk7IH0KKworICAgICAgICAgICAg
ICAgIFN0cmluZyBzdHJpbmc7CisgICAgICAgICAgICAgICAgTm9kZVNldCBub2RlU2V0OworCisg
ICAgICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgICAgIERhdGEoKSB7IH0KKyAgICAgICAg
ICAgICAgICBleHBsaWNpdCBEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nKSA6IHN0cmluZyhzdHJp
bmcpIHsgfQorICAgICAgICAgICAgICAgIGV4cGxpY2l0IERhdGEoTm9kZVNldCYmIG5vZGVTZXQp
IDogbm9kZVNldChzdGQ6Om1vdmUobm9kZVNldCkpIHsgfQorICAgICAgICAgICAgICAgIGV4cGxp
Y2l0IERhdGEoUGFzc1JlZlB0cjxOb2RlPiBub2RlKSA6IG5vZGVTZXQobm9kZSkgeyB9CisgICAg
ICAgICAgICB9OworCiAgICAgICAgICAgICBUeXBlIG1fdHlwZTsKICAgICAgICAgICAgIGJvb2wg
bV9ib29sOwogICAgICAgICAgICAgZG91YmxlIG1fbnVtYmVyOwotICAgICAgICAgICAgUmVmUHRy
PFZhbHVlRGF0YT4gbV9kYXRhOworICAgICAgICAgICAgUmVmUHRyPERhdGE+IG1fZGF0YTsKICAg
ICAgICAgfTsKIAotICAgICAgICB0ZW1wbGF0ZTw+Ci0gICAgICAgIGlubGluZSBWYWx1ZTo6VmFs
dWUoYm9vbCB2YWx1ZSkKLSAgICAgICAgICAgIDogbV90eXBlKEJvb2xlYW5WYWx1ZSkKLSAgICAg
ICAgICAgICwgbV9ib29sKHZhbHVlKQotICAgICAgICAgICAgLCBtX251bWJlcigwKQotICAgICAg
ICB7Ci0gICAgICAgIH0KICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213679</attachid>
            <date>2013-10-08 02:12:29 -0700</date>
            <delta_ts>2013-10-08 09:23:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121082-20131008021228.patch</filename>
            <type>text/plain</type>
            <size>151199</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5ODlkNzRmN2E5ZjU2
NGI2MDZkYzExODEwZjM2ZDI4OGJhOWU0OC4uNDdjZTUyODc3ZGNkYzc4NGYzOWQ5ODNlM2E2NWFk
MGFjNzMwOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3OSBAQAorMjAxMy0xMC0wNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIE93blB0ciBpbnN0ZWFk
IG9mIGRlbGV0ZUFsbFZhbHVlcyBpbiBYUGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBkb20vQXR0ci5oOiBNYWRlIHRoZSBuYW1lc3BhY2VVUkkg
ZnVuY3Rpb24gcHVibGljIHNvIGl0IGNhbiBiZSBjYWxsZWQgYnkKKyAgICAgICAgY29kZSBpbiBY
UGF0aC4gU2luY2UgdGhlIGNsYXNzIGlzIEZJTkFMLCBjYWxscyB3b24ndCBkbyB2aXJ0dWFsIGRp
c3BhdGNoLgorCisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246OlhQYXRoRXhwcmVzc2lvbik6IEFkZGVkLiBVc2Ugc3Rk
Ojptb3ZlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNz
aW9uKTogVXNlIHRoZSBuZXcgUGFyc2VyOjpwYXJzZVN0YXRlbWVudAorICAgICAgICBhbmQgbW9y
ZSBzdGQ6Om1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aEV4cHJlc3Npb246On5YUGF0aEV4
cHJlc3Npb24pOiBSZW1vdmVkIG5vdy11bm5lZWRlZCBkZWxldGUuCisgICAgICAgICogeG1sL1hQ
YXRoRXhwcmVzc2lvbi5oOiBSZW1vdmVkIHVudXNlZCBjcmVhdGUgZnVuY3Rpb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZgorICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV4cHJlc3Npb246OnNldFN1YmV4cHJlc3Npb25z
KTogQWRkZWQuIFVzZWQgdG8gc2V0IGFsbCB0aGUKKyAgICAgICAgc3ViZXhwcmVzc2lvbnMgYXQg
b25jZSByYXRoZXIgdGhhbiBhZGRpbmcgb25lIGF0IGEgdGltZS4KKworICAgICAgICAqIHhtbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmg6IFVzZSBwbGFpbiB1bnNpZ25lZCBpbnN0ZWFkIG9mIHVuc2ln
bmVkIGxvbmcuCisgICAgICAgIEVsaW1pbmF0ZWQgdGhlIFBhcnNlTm9kZSBjbGFzcywgdXNlZCBv
bmx5IGJ5IHRoZSBwYXJzZXIgdG8gZGVsZXRlIG9iamVjdHMsCisgICAgICAgIHdoaWNoIHdlIG5v
dyBkbyB3aXRoICVkZXN0cnVjdG9yLiBNYWRlIG1vcmUgZnVuY3Rpb25zIHByb3RlY3RlZC4gRml4
ZWQgdGhlCisgICAgICAgIGNhcGl0YWxpemF0aW9uIG9mIHRoZSB3b3JkICJzdWJleHByZXNzaW9u
Ii4gTWFkZSBtX3N1YmV4cHJlc3Npb25zIGJlIGEgVmVjdG9yCisgICAgICAgIG9mIHN0ZDo6dW5p
cXVlX3B0ci4KKworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5jcHA6IE1hcmtlZCBhbGwg
dGhlIGNsYXNzZXMgRklOQUwgYW5kIGFsbCB0aGVpciB2aXJ0dWFsCisgICAgICAgIGZ1bmN0aW9u
cyBPVkVSUklERS4gUmVkdWNlZCBzb21lIG9mIHRoZSBib2lsZXJwbGF0ZS4KKyAgICAgICAgKFdl
YkNvcmU6OlhQYXRoOjpGdW5jdGlvbjo6c2V0QXJndW1lbnRzKTogUGFzc2VkIGluIHRoZSBuYW1l
IHNvIHdlIGRvbid0IGhhdmUKKyAgICAgICAgdG8gc3RvcmUgdGhlIGZ1bmN0aW9uIG5hbWVzIGlu
IGFsbCB0aGUgZnVuY3Rpb24gb2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5J
ZDo6ZXZhbHVhdGUpOiBVc2Ugc3RkOjptb3ZlIGluc3RlYWQgb2YgVmFsdWU6OmFkb3B0LgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bkxvY2FsTmFtZTo6ZXZhbHVhdGUpOiBVc2UgZW1wdHlT
dHJpbmcgaW5zdGVhZCBvZiAiIi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5OYW1lc3Bh
Y2VVUkk6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuTmFt
ZTo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5TdWJzdHJp
bmdCZWZvcmU6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVu
U3Vic3RyaW5nQWZ0ZXI6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6RnVuU3Vic3RyaW5nOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OkZ1bkxhbmc6OmV2YWx1YXRlKTogVXNlIFZhbHVlKGZhbHNlKSBzbyB3ZSBjYW4gbWFrZSB0
aGUKKyAgICAgICAgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGJvb2xlYW4gZXhwbGljaXQuCisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuRmFsc2U6OmV2YWx1YXRlKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpYUGF0aDo6cG9wdWxhdGVGdW5jdGlvbk1hcCk6IENoYW5nZWQgaWRpb20g
c2xpZ2h0bHkgdG8gbWF0Y2ggb3RoZXIKKyAgICAgICAgbWFwcyB3ZSBzZXQgdXAuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6RnVuY3Rpb246OmNyZWF0ZSk6IFJlZmFjdG9yZWQgY3JlYXRlRnVu
Y3Rpb24gaW50byB0aHJlZQorICAgICAgICBtZW1iZXIgZnVuY3Rpb25zIG9mIHRoaXMgbmFtZS4K
KworICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0aW9ucy5oOiBNYWRlIGFsbCB0aGUgRnVuY3Rpb24g
bWVtYmVycyBwcml2YXRlIG9yIHByb3RlY3RlZAorICAgICAgICBleGNlcHQgZm9yIEZ1bmN0aW9u
OjpjcmVhdGUuCisKKyAgICAgICAgKiB4bWwvWFBhdGhHcmFtbWFyLnk6IENoYW5nZWQgdGhlIHBh
cnNlciB0byB1c2UgYSByZWZlcmVuY2UgaW5zdGVhZCBvZgorICAgICAgICBhIHBvaW50ZXIsIGFu
ZCB0byBwYXNzIHRoZSByZWZlcmVuY2UgdGhyb3VnaCB0byB5eWxleCBhcyB3ZWxsLiBCcmVhayB1
cAorICAgICAgICB0aGUgdW5pb24gaW50byBwaWVjZXMgYW5kIGFkZCAlZGVzdHJ1Y3RvciBhcyBu
ZWVkZWQgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcKKyAgICAgICAgZ2V0cyBkZWFsbG9jYXRlZCBp
ZiBwYXJzaW5nIGZhaWxzLiBBZGRlZCBhIG5ldyB0b3AgbGV2ZWwgcnVsZSAiVG9wIiBzbyB0aGF0
CisgICAgICAgIHdlIHdvdWxkIG5vdCB0cnkgdG8gc2V0IHRoZSBwYXJzZSByZXN1bHQgbXVsdGlw
bGUgdGltZXMgZHVyaW5nIHBhcnNpbmcuCisgICAgICAgIENhbGwgc2V0UGFyc2VSZXN1bHQgaW5z
dGVhZCBvZiBzZXR0aW5nIG1fdG9wRXhwciBkaXJlY3RseS4gVXNlIHN0ZDo6dW5pcXVlX3B0cgor
ICAgICAgICB0byBhZG9wdCBwb2ludGVycyBmcm9tIHRoZSB1bmlvbi4gUmVtb3ZlZCBhbGwgdGhl
IHJlZ2lzdGVyL3VucmVnaXN0ZXIgY2FsbHMKKyAgICAgICAgdGhhdCB1c2VkIHRvIGJlIHVzZWQg
dG8gbWFuYWdlIHN0b3JhZ2UuIEFsc28gY2hhbmdlZCB0aGUgZm91ciBkaWZmZXJlbnQgbm9kZQor
ICAgICAgICB0eXBlcyB0byBiZSBzZXBhcmF0ZSB0b2tlbnMgaW5zdGVhZCBvZiB1c2luZyBzdHJp
bmcgbWF0Y2hpbmcgYXQgdGhpcyBsZXZlbAorICAgICAgICBmb3IgdGhlbS4KKworICAgICAgICAq
IHhtbC9YUGF0aE5vZGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OnNvcnQpOiBSZW1vdmVkIGNvbnN0X2Nhc3Qgc2luY2UgbV9pc1NvcnRlZCBhbmQKKyAgICAgICAg
bV9ub2RlcyBhcmUgbm93IGJvdGggbWFya2VkIG11dGFibGUuIEFsc28gc2V0IG1faXNTb3J0ZWQg
YWZ0ZXIgc29ydGluZzsgdGhpcworICAgICAgICB3YXMgYW4gb3ZlcnNpZ2h0IHRoYXQgaHVydCBw
ZXJmb3JtYW5jZSBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6Tm9kZVNldDo6dHJh
dmVyc2FsU29ydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6OmZp
cnN0Tm9kZSk6IFVzZSBudWxscHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OmFueU5vZGUpOiBEaXR0by4KKworICAgICAgICAqIHhtbC9YUGF0aE5vZGVTZXQuaDogUmVtb3Zl
ZCB1bm5lZWRlZCBleHRyYSBpbmNsdWRlcy4gUmVtb3ZlZCB0aGUKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQgZm9yIE5vZGVTZXQgc2luY2Ugd2UgbmV2ZXIgYWxsb2NhdGUgdGhlc2Ug
b24gdGhlIGhlYXAuCisgICAgICAgIEFkZGVkIGEgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIHNp
bmdsZSBub2RlLiBEZWxldGVkIHRoZSBzd2FwIGZ1bmN0aW9uLCBzaW5jZQorICAgICAgICB3ZSBu
b3cgbW92ZSBpbnN0ZWFkIG9mIHN3YXAuIERlbGV0ZWQgdGhlIGFwcGVuZCBmdW5jdGlvbiB0aGF0
IHRha2VzIGEgcmF3IE5vZGUqLAorICAgICAgICBzaW5jZSBjYWxsaW5nIHRoZSBQYXNzUmVmUHRy
PE5vZGU+IG92ZXJsb2FkIGRvZXMgdGhlIHNhbWUgdGhpbmcuIFJlbW92ZWQgdGhlCisgICAgICAg
IHVudXNlZCByZXZlcnNlIGZ1bmN0aW9uLiBNYXJrZWQgYm90aCBtX2lzU29ydGVkIGFuZCBtX25v
ZGVzIG11dGFibGUgc28gdGhlCisgICAgICAgIHNvcnQgZnVuY3Rpb24gY2FuIGJlIGNvbnN0Lgor
CisgICAgICAgICogeG1sL1hQYXRoUGFyc2VyLmNwcDogTW92ZWQgdGhlIFRva2VuIHN0cnVjdCBp
biBoZXJlIGluc3RlYWQgb2YgdGhlIGhlYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpw
b3B1bGF0ZUF4aXNOYW1lc01hcCk6UmVuYW1lZCB0byBtYXRjaCBvdXIgbm9ybWFsIG5hbWluZyBz
Y2hlbWUsCisgICAgICAgIGFuZCBjaGFuZ2VkIHRvIHVzZSBhZGQgaW5zdGVhZCBvZiBzZXQsIHVz
ZSBXVEZfQVJSQVlfTEVOR1RILCBhbmQgbm90IHVzZSBhIHR5cGVkZWYuCisgICAgICAgIChXZWJD
b3JlOjpYUGF0aDo6cGFyc2VBeGlzTmFtZSk6IFJlbGF0ZWQgc3R5bGUgY2hhbmdlcywgaW5jbHVk
aW5nIHJlbmFtaW5nIHRvCisgICAgICAgIGJldHRlciByZWZsZWN0IHRoZSB3YXkgdGhpcyB3b3Jr
cyB3aXRoIGEgYm9vbGVhbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6Om5leHRU
b2tlbkludGVybmFsKTogVXBkYXRlZCB0byBjYWxsIHBhcnNlQXhpc05hbWUsCisgICAgICAgIGFu
ZCB0byBwcm9kdWNlIGZvdXIgc2VwYXJhdGUgdG9rZW5zIGZvciB0aGUgZm91ciBub2RlIHR5cGUg
ZnVuY3Rpb25zLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlBhcnNlcjo6bmV4dFRva2VuKTog
UmVuYW1lZCBsb2NhbCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OlBhcnNlcik6IE1hZGUgdGhpcyBhIHJlYWwgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBhcmd1bWVu
dHMKKyAgICAgICAgYW5kIGluaXRpYWxpemVzIGFsbCB0aGUgZmllbGRzLiBEZWxldGVkIHRoZSB1
bm5lZWRlZCByZXNldCBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6
OmxleCk6IENoYW5nZWQgdG8gdGFrZSBhbiBhcmd1bWVudCBvZiBhbiBhcHByb3ByaWF0ZSB0eXBl
CisgICAgICAgIGluc3RlYWQgb2YgY2FzdGluZyBmcm9tIHZvaWQqLiBBbHNvIGNoYW5nZWQgdGhl
IHN0cmluZyBjb2RlIHRvIGxlYWsgYSBTdHJpbmdJbXBsLAorICAgICAgICB3aGljaCBpcyBub3cg
d2hhdCB0aGUgZ3JhbW1hciBjb2RlIGV4cGVjdHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
UGFyc2VyOjpleHBhbmRRdWFsaWZpZWROYW1lKTogUmVuYW1lZCBmcm9tIGV4cGFuZFFOYW1lLiBD
aGFuZ2VkCisgICAgICAgIHRvIHNldCBtX3Nhd05hbWVzcGFjZUVycm9yIGluc3RlYWQgb2YgcmVs
eWluZyBvbiBjb2RlIGluIHRoZSBncmFtbWFyIHRvIGRvIGl0LgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBSZW1vdmVkIG1vc3Qgb2YgdGhlIGNvZGUg
aW4gdGhpcyBmdW5jdGlvbi4KKyAgICAgICAgQ2hhbmdlZCB0byBhIG11Y2ggc2ltcGxlciBtb2Rl
bC4gQWxzbyBtYWRlIHRoaXMgYSBzdGF0aWMgbWVtYmVyIGZ1bmN0aW9uIHNvIGl0CisgICAgICAg
IHRha2VzIGNhcmUgb2YgY3JlYXRpbmcgdGhlIHBhcnNlciBpdHNlbGYgYW5kIGRvZXMgbm90IG5l
ZWQgdG8gY2FsbCByZXNldC4gQWxzbworICAgICAgICBjaGFuZ2VkIHJldHVybiB2YWx1ZSB0byBi
ZSBhIHN0ZDo6dW5pcXVlX3B0ciB0byBtYWtlIG93bmVyc2hpcCBtb3JlIGNsZWFyLgorCisgICAg
ICAgICogeG1sL1hQYXRoUGFyc2VyLmg6IEFkZGVkIGEgZGVjbGFyYXRpb24gb2YgWVlTVFlQRS4g
UmVtb3ZlZCB1bm5lZWRlZCBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9ucyBhbmQgbW92ZWQg
VG9rZW4gaW50byB0aGUgY3BwIGZpbGUuIERlbGV0ZWQgbW9zdCBwdWJsaWMgZnVuY3Rpb25zLAor
ICAgICAgICBsZWF2aW5nIG9ubHkgcGFyc2VTdGF0ZW1lbnQsIHRoZSBlbnRyeSBwb2ludCwgYW5k
IHRoZSB0aHJlZSBmdW5jdGlvbnMgbmVlZGVkIGJ5CisgICAgICAgIHRoZSBncmFtbWFyLCBsZXgs
IGV4cGFuZFF1YWxpZmllZE5hbWUsIGFuZCBzZXRQYXJzZVJlc3VsdC4KKworICAgICAgICAqIHht
bC9YUGF0aFBhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6RmlsdGVy
KTogTW92ZSBpbiB0aGUgYXJndW1lbnRzIGluc3RlYWQgb2YgY29weWluZyB0aGVtLgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OkZpbHRlcjo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGFu
ZCB0eXBlIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9jYXRpb25QYXRoOjpM
b2NhdGlvblBhdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpMb2NhdGlvblBh
dGg6OmV2YWx1YXRlKTogRGl0dG8uIEFsc28gdXNlIHN0ZDo6bW92ZSBpbnN0ZWFkIG9mCisgICAg
ICAgIFZhbHVlOjphZG9wdCBhbmQgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OkxvY2F0aW9uUGF0aDo6YXBwZW5kU3RlcCk6IENoYW5nZWQgdG8gdGFrZSBvd25lcnNo
aXAgb2YgYQorICAgICAgICB1bmlxdWVfcHRyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Okxv
Y2F0aW9uUGF0aDo6cHJlcGVuZFN0ZXApOiBEaXR0by4gUmVuYW1lZCBmcm9tIGluc2VydEZpcnN0
U3RlcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXRoOjpQYXRoKTogTW92ZSBpbiB0aGUg
YXJndW1lbnRzLgorCisgICAgICAgICogeG1sL1hQYXRoUGF0aC5oOiBSZW1vdmVkIHVubmVlZGVk
IGluY2x1ZGVzLiBDaGFuZ2VkIGFydWd1bWVudCB0eXBlcyB0byB1c2UKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyIHRvIHBhc3Mgb3duZXJzaGlwIGluLiBBZGRlZCBvdmVycmlkZSB0byBhbGwgdmly
dHVhbCBmdW5jdGlvbnMuCisgICAgICAgIENoYW5nZWQgZGF0YSBtZW1iZXJzIHRvIHVzZSBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OlN0cmluZ0V4cHJlc3Npb246OlN0cmluZ0V4cHJlc3Npb24pOiBV
c2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6TmVnYXRpdmUpOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOZWdhdGl2ZTo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TnVtZXJpY09w
OjpOdW1lcmljT3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOdW1lcmlj
T3A6OmV2YWx1YXRlKTogVHdlYWsgZm9ybWF0dGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6RXFUZXN0T3ApOiBVc2UgbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpFcVRlc3RPcDo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6TG9naWNhbE9wOjpMb2dpY2FsT3ApOiBVc2UgbW92ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpMb2dpY2FsT3A6OnNob3J0Q2lyY3VpdE9uKTogTWFkZSBzaG9y
dGVyLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvZ2ljYWxPcDo6ZXZhbHVhdGUpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OlVu
aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VW5pb246OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlByZWRp
Y2F0ZTo6ZXZhbHVhdGUpOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5nZXMgYW5kIHRvIHVzZQorICAg
ICAgICBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhQcmVkaWNhdGUuaDogTWFk
ZSBhbGwgdGhlIGNsYXNzZXMgRklOQUwgYW5kIGFkZGVkIGEgbG90IG9mIE9WRVJSSURFLgorICAg
ICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIGZvciBOZWdhdGl2ZSBhbmQgVW5pb24uIFVzZSBzdGQ6
OnVuaXF1ZV9wdHIgaW4gUHJlZGljYXRlLgorCisgICAgICAgICogeG1sL1hQYXRoU3RlcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6U3RlcCk6IFVzZSBtb3ZlIGluc3RlYSBk
b2YgY29weWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVwOjp+U3RlcCk6IFJlbW92
ZWQgY2FsbHMgdG8gZGVsZXRlQWxsVmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0
ZXA6Om9wdGltaXplKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2FwIGFuZCBjb3B5LiBBbHNvCisg
ICAgICAgIG9wZXJhdGUgZGlyZWN0bHkgb24gdGhlIGRhdGEgbWVtYmVycyBvZiB0aGUgbm9kZSB0
ZXN0IGluc3RlYWQgb2YgdXNpbmcgZnVuY3Rpb25zCisgICAgICAgIHRoYXQganVzdCByZXR1cm4g
cmVmZXJlbmNlcyB0byB0aG9zZSBkYXRhIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6b3B0aW1pemVTdGVwUGFpcik6IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMg
YW5kIG1vdmUKKyAgICAgICAgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OlN0ZXA6OnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKTogVXNlIHJlZmVy
ZW5jZXMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6ZXZhbHVhdGUpOiBVc2UgcmVm
ZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzIGFuZCBtb3ZlCisgICAgICAgIGluc3RlYWQgb2Yg
c3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0Y2hlc0Jhc2ljVGVzdCk6IFVz
ZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgYW5kCisgICAgICAgIG1vcmUgc3BlY2lm
aWMgdHlwZXMgd2hlbiBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpub2RlTWF0
Y2hlcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0ZXA6Om5vZGVzSW5BeGlz
KTogVXNlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycy4gQWRkZWQKKyAgICAgICAgYnJh
Y2VzIHRvIG1hdGNoIHN0eWxlLiBVc2Ugd29yZHMgaW5zdGVhZCBvZiBsZXR0ZXJzIGZvciBsb2Nh
bCB2YXJpYWJsZSBuYW1lcy4KKworICAgICAgICAqIHhtbC9YUGF0aFN0ZXAuaDogTWFrZSBhbG1v
c3QgZXZlcnl0aGluZyBpbiBOb2RlVGVzdCBwcml2YXRlIHNpbmNlIGNhbGxlcnMKKyAgICAgICAg
anVzdCBzZXQgdGhlc2UgdXAgYW5kIFN0ZXAgaXMgd2hhdCBhY3R1YWxseSB1c2VzIHRoZW0uIENo
YW5nZWQgdGhlIHByZWRpY2F0ZQorICAgICAgICB2ZWN0b3JzIHRvIGJlIHZlY3RvcnMgb2YgUHJl
ZGljYXRlIGluc3RlYWQgb2YgUHJlZGljYXRlKiwgc2luY2UgYSBQcmVkaWNhdGUKKyAgICAgICAg
aXMganVzdCBhIHdyYXBwZXIgYXJvdW5kIGEgc2luZ2xlIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPi4gQ2hhbmdlZCB0byB1c2UKKyAgICAgICAgbW92ZSBpbnN0ZWFkIG9mIGNvcHkgd2hlbiBt
YWtpbmcgYSBTdGVwIGFuZCB0byB1c2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzLgor
CisgICAgICAgICogeG1sL1hQYXRoVmFsdWUuY3BwOiBVc2Ugc3RkOjpudW1lcmljX2xpbWl0cyBl
eHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgdXNpbmcuCisgICAgICAgIEdvdCByaWQgb2YgVmFs
dWU6OmFkb3B0LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjp0b05vZGVTZXQpOiBV
c2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZiBERUZJTkVfU1RBVEVfTE9DQUwuCisgICAgICAg
IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpWYWx1
ZTo6bW9kaWZpYWJsZU5vZGVTZXQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpW
YWx1ZTo6dG9Cb29sZWFuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6
OnRvTnVtYmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6VmFsdWU6OnRvU3Ry
aW5nKTogRGl0dG8uIFVzZSBBU0NJSUxpdGVyYWwuCisKKyAgICAgICAgKiB4bWwvWFBhdGhWYWx1
ZS5oOiBNb3ZlZCBWYWx1ZURhdGEgY2xhc3MgaW5zaWRlIHRoZSBWYWx1ZSBjbGFzcyBhbmQgcmVu
YW1lZAorICAgICAgICBpdCBWYWx1ZTo6RGF0YS4gUmVtb3ZlZCBmYW5jeSB0cmljayB0aGF0IGF2
b2lkcyB0dXJuaW5nIHBvaW50ZXJzIGludG8gYm9vbCwgYW5kCisgICAgICAgIGp1c3QgdGFrZSB0
aGUgcmlzay4gTWFkZSBtYW55LCBidXQgbm90IGFsbCwgb2YgdGhlIFZhbHVlIGNvbnN0cnVjdG9y
cyBleHBsaWNpdAorICAgICAgICBzaW5jZSB3ZSBub3JtYWxseSBhcmUgZXhwbGljaXQgYXQgY2Fs
bCBzaXRlcy4gUmVtb3ZlZCB1bm5lZWRlZCB1bnNpZ25lZCBsb25nCisgICAgICAgIG92ZXJsb2Fk
IG9mIHRoZSBjb25zdHJ1Y3Rvci4gQ2hhbmdlZCB0aGUgTm9kZVNldCB2ZXJzaW9uIG9mIHRoZSBj
b25zdHJ1Y3RvciB0bworICAgICAgICB1c2Ugc3RkOjptb3ZlIGFuZCB1c2UgdGhhdCBpbnN0ZWFk
IG9mIEFkb3B0VGFnLgorCiAyMDEzLTEwLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEV2ZW50RGlzcGF0Y2hCZWhhdmlvciBpcyB1bm5lY2Vzc2FyeQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dHRyLmgKaW5kZXggMDU4NGE1ZWFmNmZiOTg1Yzc5YWFmNDg3MTk4ODhkZDJmZDQ3NzM3OS4uMjY5
ZDBiMGQ4ZmM5OGYwOWFhMTcwNmViZTdiODVlYWYwOWYwNWM3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5oCkBAIC02
NCw2ICs2NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGF0dGFjaFRvRWxlbWVudChFbGVtZW50Kik7
CiAgICAgdm9pZCBkZXRhY2hGcm9tRWxlbWVudFdpdGhWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcm
KTsKIAorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBtX25hbWUubmFtZXNwYWNlVVJJKCk7IH0KKwogcHJpdmF0ZToK
ICAgICBBdHRyKEVsZW1lbnQqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgQXR0cihEb2N1
bWVudCYsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsK
QEAgLTc0LDcgKzc2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIE5vZGVUeXBlIG5vZGVUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQVRUUklCVVRFX05PREU7IH0KIAogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX25hbWUubG9jYWxOYW1lKCk7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZXNwYWNlVVJJKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLm5hbWVzcGFjZVVS
SSgpOyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHByZWZpeCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIG1fbmFtZS5wcmVmaXgoKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCmluZGV4IDMzNjQ0YzI3MmVkMTU5Y2Yx
MjdjYzI0MWExMTMzMWFjNGZhYTg0MjUuLmNiYjA2YjJlMDI0ZjUzZTkwZDgwYjhlMWE2MWFkMmYw
MmI2YTJiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwCkBAIC00MSwy
MSArNDEsMjIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7
CiAgICAgCi1QYXNzUmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVh
dGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiBy
ZXNvbHZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCitpbmxpbmUgWFBhdGhFeHByZXNzaW9uOjpYUGF0
aEV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNzaW9uPiYmIGV4cHJlc3Np
b24pCisgICAgOiBtX3RvcEV4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJlc3Npb24pKQogewotICAg
IFJlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGV4cHIgPSBYUGF0aEV4cHJlc3Npb246OmNyZWF0ZSgp
OwotICAgIFBhcnNlciBwYXJzZXI7Cit9CiAKLSAgICBleHByLT5tX3RvcEV4cHJlc3Npb24gPSBw
YXJzZXIucGFyc2VTdGF0ZW1lbnQoZXhwcmVzc2lvbiwgcmVzb2x2ZXIsIGVjKTsKLSAgICBpZiAo
IWV4cHItPm1fdG9wRXhwcmVzc2lvbikKLSAgICAgICAgcmV0dXJuIDA7CitQYXNzUmVmUHRyPFhQ
YXRoRXhwcmVzc2lvbj4gWFBhdGhFeHByZXNzaW9uOjpjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0
cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlciwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgYXV0byBwYXJzZWRFeHByZXNzaW9uID0gUGFyc2VyOjpwYXJzZVN0YXRl
bWVudChleHByZXNzaW9uLCByZXNvbHZlciwgZWMpOworICAgIGlmICghcGFyc2VkRXhwcmVzc2lv
bikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gZXhwci5yZWxlYXNlKCk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24oc3RkOjptb3ZlKHBhcnNl
ZEV4cHJlc3Npb24pKSk7CiB9CiAKIFhQYXRoRXhwcmVzc2lvbjo6flhQYXRoRXhwcmVzc2lvbigp
CiB7Ci0gICAgZGVsZXRlIG1fdG9wRXhwcmVzc2lvbjsKIH0KIAogUGFzc1JlZlB0cjxYUGF0aFJl
c3VsdD4gWFBhdGhFeHByZXNzaW9uOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWdu
ZWQgc2hvcnQgdHlwZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTcxLDIw
ICs3MiwyMCBAQCBQYXNzUmVmUHRyPFhQYXRoUmVzdWx0PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1
YXRlKE5vZGUqIGNvbnRleHROb2RlLCB1bnNpZ25lZCBzaAogICAgIGV2YWx1YXRpb25Db250ZXh0
LnBvc2l0aW9uID0gMTsKICAgICBldmFsdWF0aW9uQ29udGV4dC5oYWRUeXBlQ29udmVyc2lvbkVy
cm9yID0gZmFsc2U7CiAgICAgUmVmUHRyPFhQYXRoUmVzdWx0PiByZXN1bHQgPSBYUGF0aFJlc3Vs
dDo6Y3JlYXRlKCZjb250ZXh0Tm9kZS0+ZG9jdW1lbnQoKSwgbV90b3BFeHByZXNzaW9uLT5ldmFs
dWF0ZSgpKTsKLSAgICBldmFsdWF0aW9uQ29udGV4dC5ub2RlID0gMDsgLy8gRG8gbm90IGhvbGQg
YSByZWZlcmVuY2UgdG8gdGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUg
d2hvbGUgZG9jdW1lbnQgZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KKyAgICBldmFsdWF0
aW9uQ29udGV4dC5ub2RlID0gbnVsbHB0cjsgLy8gRG8gbm90IGhvbGQgYSByZWZlcmVuY2UgdG8g
dGhlIGNvbnRleHQgbm9kZSwgYXMgdGhpcyBtYXkgcHJldmVudCB0aGUgd2hvbGUgZG9jdW1lbnQg
ZnJvbSBiZWluZyBkZXN0cm95ZWQgaW4gdGltZS4KIAogICAgIGlmIChldmFsdWF0aW9uQ29udGV4
dC5oYWRUeXBlQ29udmVyc2lvbkVycm9yKSB7CiAgICAgICAgIC8vIEl0IGlzIG5vdCBzcGVjaWZp
ZWQgd2hhdCB0byBkbyBpZiB0eXBlIGNvbnZlcnNpb24gZmFpbHMgd2hpbGUgZXZhbHVhdGluZyBh
biBleHByZXNzaW9uLCBhbmQgSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiBpcyBub3QgZXhhY3RseSBy
aWdodAogICAgICAgICAvLyB3aGVuIHRoZSBmYWlsdXJlIGhhcHBlbnMgaW4gYW4gb3RoZXJ3aXNl
IHZhbGlkIGV4cHJlc3Npb24gYmVjYXVzZSBvZiBhIHZhcmlhYmxlLiBCdXQgWFBhdGhFdmFsdWF0
b3IgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJsZXMsIHNvIGl0J3MgY2xvc2UgZW5vdWdoLgogICAg
ICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJFU1NJT05fRVJSOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKHR5
cGUgIT0gWFBhdGhSZXN1bHQ6OkFOWV9UWVBFKSB7CiAgICAgICAgIGVjID0gMDsKICAgICAgICAg
cmVzdWx0LT5jb252ZXJ0VG8odHlwZSwgZWMpOwogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJl
dHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgKaW5kZXggMzEyNDkz
OWM2YWRjY2Y0NTUzMTA3MDQ2YTY2MTQyYjU1OGQ0ZGM5Yy4uMDBhMTdhMzBiZTMzZTBkMzMxYmEx
ZjY5ZWYyNWUzZjg1NTg3MTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFi
ZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSwx
NiArNDQsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgWFBhdGhFeHByZXNz
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8WFBhdGhFeHByZXNzaW9uPiB7CiAgICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBYUGF0aEV4cHJlc3Npb24pOyB9CisgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gY3JlYXRlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGV4
cHJlc3Npb24sIFhQYXRoTlNSZXNvbHZlciosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgflhQ
YXRoRXhwcmVzc2lvbigpOwogICAgICAgICAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WFBh
dGhFeHByZXNzaW9uPiBjcmVhdGVFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwg
WFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICBQYXNzUmVmUHRyPFhQ
YXRoUmVzdWx0PiBldmFsdWF0ZShOb2RlKiBjb250ZXh0Tm9kZSwgdW5zaWduZWQgc2hvcnQgdHlw
ZSwgWFBhdGhSZXN1bHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgICAgICAKICAgICBwcml2
YXRlOgotICAgICAgICBYUGF0aEV4cHJlc3Npb24oKSB7IH0KKyAgICAgICAgWFBhdGhFeHByZXNz
aW9uKHN0ZDo6dW5pcXVlX3B0cjxYUGF0aDo6RXhwcmVzc2lvbj4mJik7CiAKLSAgICAgICAgWFBh
dGg6OkV4cHJlc3Npb24qIG1fdG9wRXhwcmVzc2lvbjsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFhQYXRoOjpFeHByZXNzaW9uPiBtX3RvcEV4cHJlc3Npb247CiAgICAgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCmluZGV4IGUzN2NjZGFlOGJjNTI5
ZGY3MTM1YTc4Mzg3NTZkZGY4ZTQ2OWM5YTQuLjY4NGQwZGViYzY3NjM4NDI2M2U2YmZjMDRhYjAw
ZDkwYjc1YmY4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJYUGF0aEV4cHJlc3Npb25Ob2RlLmgiCiAK
ICNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4
ICszNiw4IEBAIG5hbWVzcGFjZSBYUGF0aCB7CiAKIEV2YWx1YXRpb25Db250ZXh0JiBFeHByZXNz
aW9uOjpldmFsdWF0aW9uQ29udGV4dCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChFdmFs
dWF0aW9uQ29udGV4dCwgZXZhbHVhdGlvbkNvbnRleHQsICgpKTsKLSAgICByZXR1cm4gZXZhbHVh
dGlvbkNvbnRleHQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEV2YWx1YXRpb25Db250ZXh0
PiBjb250ZXh0OworICAgIHJldHVybiBjb250ZXh0OwogfQogCiBFeHByZXNzaW9uOjpFeHByZXNz
aW9uKCkKQEAgLTQ2LDkgKzQ3LDE1IEBAIEV4cHJlc3Npb246OkV4cHJlc3Npb24oKQogewogfQog
Ci1FeHByZXNzaW9uOjp+RXhwcmVzc2lvbigpCit2b2lkIEV4cHJlc3Npb246OnNldFN1YmV4cHJl
c3Npb25zKFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgc3ViZXhwcmVzc2lv
bnMpCiB7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fc3ViRXhwcmVzc2lvbnMpOworICAgIEFTU0VS
VChtX3N1YmV4cHJlc3Npb25zLmlzRW1wdHkoKSk7CisgICAgbV9zdWJleHByZXNzaW9ucyA9IHN0
ZDo6bW92ZShzdWJleHByZXNzaW9ucyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1f
c3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vu
c2l0aXZlIHw9IG1fc3ViZXhwcmVzc2lvbnNbaV0tPm1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsK
KyAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBtX3N1YmV4cHJlc3Npb25z
W2ldLT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFNp
emVTZW5zaXRpdmUgfD0gbV9zdWJleHByZXNzaW9uc1tpXS0+bV9pc0NvbnRleHRTaXplU2Vuc2l0
aXZlOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgWFBhdGgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IDFlY2U0YjNiMWIzYjA4NDY3OTI2MTBhZjI3YzU3
ODI0YmUxNmY2YjYuLmViZjFmNTA2OGQzNmViZTE4ZDk4ZGM2NDE1Njc1ZDZlZTBiYWI0MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMSw2ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4K
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2NiArMjcsNTYgQEAKICNpZm5k
ZWYgWFBhdGhFeHByZXNzaW9uTm9kZV9oCiAjZGVmaW5lIFhQYXRoRXhwcmVzc2lvbk5vZGVfaAog
Ci0jaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlhQYXRoVmFsdWUuaCIKLSNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7
CiAKIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7Ci1wdWJsaWM6CiAgICAgUmVmUHRyPE5vZGU+IG5vZGU7Ci0gICAgdW5zaWduZWQgbG9uZyBz
aXplOwotICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRpb247CisgICAgdW5zaWduZWQgc2l6ZTsKKyAg
ICB1bnNpZ25lZCBwb3NpdGlvbjsKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiB2YXJpYWJs
ZUJpbmRpbmdzOwogCiAgICAgYm9vbCBoYWRUeXBlQ29udmVyc2lvbkVycm9yOwogfTsKIAotY2xh
c3MgUGFyc2VOb2RlIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KLX07
Ci0KLWNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKK2NsYXNzIEV4cHJlc3Np
b24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1
YXRpb25Db250ZXh0KCk7CiAKLSAgICB2aXJ0dWFsIH5FeHByZXNzaW9uKCk7CisgICAgdmlydHVh
bCB+RXhwcmVzc2lvbigpIHsgfQogCi0gICAgdm9pZCBhZGRTdWJFeHByZXNzaW9uKEV4cHJlc3Np
b24qIGV4cHIpCi0gICAgewotICAgICAgICBtX3N1YkV4cHJlc3Npb25zLmFwcGVuZChleHByKTsK
LSAgICAgICAgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlIHw9IGV4cHItPm1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZTsKLSAgICAgICAgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSB8PSBleHBy
LT5tX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlOwotICAgICAgICBtX2lzQ29udGV4dFNpemVT
ZW5zaXRpdmUgfD0gZXhwci0+bV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlOwotICAgIH0KKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIGJvb2wgaXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZTsgfQotICAgIHZv
aWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KICAgICBib29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0
aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsgfQotICAg
IHZvaWQgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoYm9vbCB2YWx1ZSkgeyBtX2lzQ29u
dGV4dFBvc2l0aW9uU2Vuc2l0aXZlID0gdmFsdWU7IH0KLQogICAgIGJvb2wgaXNDb250ZXh0U2l6
ZVNlbnNpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZTsgfQot
ICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250
ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRl
KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIEV4cHJlc3Npb24oKTsKIAotICAgIHVuc2lnbmVkIHN1
YkV4cHJlc3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViRXhwcmVzc2lvbnMuc2l6ZSgp
OyB9Ci0gICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25z
dCB7IHJldHVybiAqbV9zdWJFeHByZXNzaW9uc1tpXTsgfQorICAgIHVuc2lnbmVkIHN1YmV4cHJl
c3Npb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ViZXhwcmVzc2lvbnMuc2l6ZSgpOyB9Cisg
ICAgY29uc3QgRXhwcmVzc2lvbiYgc3ViZXhwcmVzc2lvbih1bnNpZ25lZCBpKSBjb25zdCB7IHJl
dHVybiAqbV9zdWJleHByZXNzaW9uc1tpXTsgfQorCisgICAgdm9pZCBhZGRTdWJleHByZXNzaW9u
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGV4cHJlc3Npb24pCisgICAgeworICAgICAg
ICBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUgfD0gZXhwcmVzc2lvbi0+bV9pc0NvbnRleHROb2Rl
U2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlIHw9IGV4cHJl
c3Npb24tPm1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSB8PSBleHByZXNzaW9uLT5tX2lzQ29udGV4dFNpemVTZW5zaXRpdmU7Cisg
ICAgICAgIG1fc3ViZXhwcmVzc2lvbnMuYXBwZW5kKHN0ZDo6bW92ZShleHByZXNzaW9uKSk7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRTdWJleHByZXNzaW9ucyhWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmKTsKKworICAgIHZvaWQgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShi
b29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSA9IHZhbHVlOyB9CisgICAgdm9p
ZCBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SXNDb250ZXh0U2l6ZVNl
bnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSA9IHZhbHVlOyB9
CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiBtX3N1YkV4cHJlc3Npb25zOwor
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fc3ViZXhwcmVzc2lvbnM7
CiAKICAgICAvLyBFdmFsdWF0aW9uIGRldGFpbHMgdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3B0aW1p
emF0aW9uLgogICAgIGJvb2wgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aEZ1bmN0aW9ucy5jcHAKaW5kZXggMmQyNGUxYWFlNTZlM2Q5MjBiOGFjMGQyNzQ1NWJi
Yjc1OTVmNDQ0MS4uMmFhZTE5MjQwM2YzNmYyYjA1NWNlN2RhNGVmMWQzZTJkNjkyYTY0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJYUGF0aFV0aWwuaCIKICNpbmNsdWRl
ICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ2LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQogICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdc
bicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1x0JzsKIH0KIAotCi0jZGVmaW5lIERFRklORV9GVU5D
VElPTl9DUkVBVE9SKENsYXNzKSBzdGF0aWMgRnVuY3Rpb24qIGNyZWF0ZSMjQ2xhc3MoKSB7IHJl
dHVybiBuZXcgQ2xhc3M7IH0KKyNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoU3VmZml4
KSBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGVGdW5jdGlvbiMjU3VmZml4
KCkgeyByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxGdW4jI1N1ZmZpeD4oKTsgfQogCiBjbGFzcyBJ
bnRlcnZhbCB7CiBwdWJsaWM6CkBAIC02MywyMDEgKzYzLDE5MyBAQCBwcml2YXRlOgogICAgIGlu
dCBtX21heDsKIH07CiAKLXN0cnVjdCBGdW5jdGlvblJlYyB7Ci0gICAgdHlwZWRlZiBGdW5jdGlv
biAqKCpGYWN0b3J5Rm4pKCk7Ci0gICAgRmFjdG9yeUZuIGZhY3RvcnlGbjsKLSAgICBJbnRlcnZh
bCBhcmdzOwotfTsKLQotc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz4qIGZ1bmN0
aW9uTWFwOwotCi1jbGFzcyBGdW5MYXN0IDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5MYXN0
IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAg
RnVuTGFzdCgpIHsgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSh0cnVlKTsgfQogfTsKIAotY2xh
c3MgRnVuUG9zaXRpb24gOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1blBvc2l0aW9uIEZJTkFM
IDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuUG9z
aXRpb24oKSB7IHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKHRydWUpOyB9CiB9OwogCi1j
bGFzcyBGdW5Db3VudCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ291bnQgRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1bklkIDogcHVi
bGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5v
ZGVTZXRWYWx1ZTsgfQorY2xhc3MgRnVuSWQgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9k
ZVNldFZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Mb2NhbE5hbWUgOiBwdWJsaWMgRnVuY3Rpb24g
ewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0K
K2NsYXNzIEZ1bkxvY2FsTmFtZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1
ZTsgfQogcHVibGljOgogICAgIEZ1bkxvY2FsTmFtZSgpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSh0cnVlKTsgfSAvLyBsb2NhbC1uYW1lKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250
ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTmFtZXNwYWNlVVJJIDogcHVibGljIEZ1bmN0aW9u
IHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9
CitjbGFzcyBGdW5OYW1lc3BhY2VVUkkgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5n
VmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lc3BhY2VVUkkoKSB7IHNldElzQ29udGV4dE5v
ZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbmFtZXNwYWNlLXVyaSgpIHdpdGggbm8gYXJndW1lbnRz
IHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNzIEZ1bk5hbWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KK2NsYXNzIEZ1bk5hbWUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lKCkgeyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRy
dWUpOyB9IC8vIG5hbWUoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9
OwogCi1jbGFzcyBGdW5TdHJpbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN0cmluZyBG
SU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1
blN0cmluZygpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBzdHJpbmco
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5D
b25jYXQgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bkNvbmNhdCBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3RhcnRzV2l0aCA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpC
b29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1blN0YXJ0c1dpdGggRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Db250YWlucyA6IHB1YmxpYyBG
dW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFu
VmFsdWU7IH0KK2NsYXNzIEZ1bkNvbnRhaW5zIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAg
ICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJv
b2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nQmVmb3JlIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdCZWZvcmUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24g
eworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1
ZTo6U3RyaW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN1YnN0cmluZ0FmdGVyIDogcHVibGlj
IEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmlu
Z1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdBZnRlciBGSU5BTCA6IHB1YmxpYyBGdW5jdGlv
biB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nIDogcHVibGljIEZ1
bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmcgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3Ry
aW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN0cmluZ0xlbmd0aCA6IHB1YmxpYyBGdW5jdGlv
biB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFs
dWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsg
fQorY2xhc3MgRnVuU3RyaW5nTGVuZ3RoIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJl
clZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuU3RyaW5nTGVuZ3RoKCkgeyBzZXRJc0NvbnRleHRO
b2RlU2Vuc2l0aXZlKHRydWUpOyB9IC8vIHN0cmluZy1sZW5ndGgoKSB3aXRoIG5vIGFyZ3VtZW50
cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5Ob3JtYWxpemVTcGFjZSA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpT
dHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTm9ybWFsaXplU3BhY2UgRklOQUwgOiBwdWJsaWMgRnVu
Y3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5Ob3JtYWxpemVTcGFjZSgp
IHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBub3JtYWxpemUtc3BhY2Uo
KSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5U
cmFuc2xhdGUgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blRyYW5zbGF0ZSBGSU5BTCA6IHB1
YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQm9vbGVhbiA6
IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVl
OjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkJvb2xlYW4gRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCiBjbGFzcyBGdW5Ob3QgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blRydWUgOiBwdWJsaWMgRnVuY3Rp
b24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVl
OyB9CitjbGFzcyBGdW5UcnVlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlw
ZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1
ZTsgfQogfTsKIAotY2xhc3MgRnVuRmFsc2UgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5G
YWxzZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNs
YXNzIEZ1bkxhbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7
IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5MYW5nIEZJTkFMIDogcHVi
bGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bkxhbmcoKSB7
IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbGFuZygpIGFsd2F5cyB3b3Jr
cyBvbiBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTnVtYmVyIDogcHVibGljIEZ1bmN0
aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVl
OyB9CitjbGFzcyBGdW5OdW1iZXIgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFs
dWU7IH0KIHB1YmxpYzoKICAgICBGdW5OdW1iZXIoKSB7IHNldElzQ29udGV4dE5vZGVTZW5zaXRp
dmUodHJ1ZSk7IH0gLy8gbnVtYmVyKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250ZXh0IG5v
ZGUuIAogfTsKIAotY2xhc3MgRnVuU3VtIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5TdW0g
RklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1
bkZsb29yIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1
cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5GbG9vciBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQ2VpbGluZyA6IHB1Ymxp
YyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1i
ZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ2VpbGluZyBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7Cisg
ICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpO
dW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuUm91bmQgOiBwdWJsaWMgRnVuY3Rpb24gewot
ICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2Ns
YXNzIEZ1blJvdW5kIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBw
dWJsaWM6CiAgICAgc3RhdGljIGRvdWJsZSByb3VuZChkb3VibGUpOwogfTsKIAotREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoRnVuTGFzdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blBvc2l0
aW9uKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuQ291bnQpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5JZCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkxvY2FsTmFtZSkKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5hbWVzcGFjZVVSSSkKLURFRklORV9GVU5DVElPTl9D
UkVBVE9SKEZ1bk5hbWUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN0cmluZykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvbmNhdCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9S
KEZ1blN0YXJ0c1dpdGgpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Db250YWlucykKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN1YnN0cmluZ0JlZm9yZSkKLURFRklORV9GVU5DVElP
Tl9DUkVBVE9SKEZ1blN1YnN0cmluZ0FmdGVyKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVu
U3Vic3RyaW5nKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3RyaW5nTGVuZ3RoKQotREVG
SU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTm9ybWFsaXplU3BhY2UpCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5UcmFuc2xhdGUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkJvb2xl
YW4pCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Ob3QpCi1ERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5UcnVlKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuRmFsc2UpCi1ERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihGdW5MYW5nKQotCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5O
dW1iZXIpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5TdW0pCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5GbG9vcikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNlaWxpbmcpCi1E
RUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Sb3VuZCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KExhc3QpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihQb3NpdGlvbikKK0RFRklORV9GVU5DVElP
Tl9DUkVBVE9SKENvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoSWQpCitERUZJTkVfRlVO
Q1RJT05fQ1JFQVRPUihMb2NhbE5hbWUpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lc3Bh
Y2VVUkkpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lKQorCitERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihTdHJpbmcpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDb25jYXQpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdGFydHNXaXRoKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoQ29u
dGFpbnMpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdCZWZvcmUpCitERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdBZnRlcikKK0RFRklORV9GVU5DVElPTl9DUkVBVE9S
KFN1YnN0cmluZykKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0cmluZ0xlbmd0aCkKK0RFRklO
RV9GVU5DVElPTl9DUkVBVE9SKE5vcm1hbGl6ZVNwYWNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFU
T1IoVHJhbnNsYXRlKQorCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihCb29sZWFuKQorREVGSU5F
X0ZVTkNUSU9OX0NSRUFUT1IoTm90KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoVHJ1ZSkKK0RF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZhbHNlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTGFu
ZykKKworREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTnVtYmVyKQorREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoU3VtKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRmxvb3IpCitERUZJTkVfRlVOQ1RJ
T05fQ1JFQVRPUihDZWlsaW5nKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoUm91bmQpCiAKICN1
bmRlZiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUgogCkBAIC0yOTAsMTcgKzI4MiwxNyBAQCBpbmxp
bmUgYm9vbCBJbnRlcnZhbDo6Y29udGFpbnMoaW50IHZhbHVlKSBjb25zdAogICAgIHJldHVybiB2
YWx1ZSA+PSBtX21pbiAmJiB2YWx1ZSA8PSBtX21heDsKIH0KIAotdm9pZCBGdW5jdGlvbjo6c2V0
QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCit2b2lkIEZ1bmN0aW9u
OjpzZXRBcmd1bWVudHMoY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+PiYmIGFyZ3VtZW50cykKIHsKLSAgICBBU1NFUlQoIXN1YkV4cHJlc3Npb25D
b3VudCgpKTsKKyAgICBBU1NFUlQoIXN1YmV4cHJlc3Npb25Db3VudCgpKTsKIAotICAgIC8vIFNv
bWUgZnVuY3Rpb25zIHVzZSBjb250ZXh0IG5vZGUgYXMgaW1wbGljaXQgYXJndW1lbnQsIHNvIHdo
ZW4gZXhwbGljaXQgYXJndW1lbnRzIGFyZSBhZGRlZCwgdGhleSBtYXkgbm8gbG9uZ2VyIGJlIGNv
bnRleHQgbm9kZSBzZW5zaXRpdmUuCi0gICAgaWYgKG1fbmFtZSAhPSAibGFuZyIgJiYgIWFyZ3Mu
aXNFbXB0eSgpKQorICAgIC8vIEZ1bmN0aW9ucyB0aGF0IHVzZSB0aGUgY29udGV4dCBub2RlIGFz
IGFuIGltcGxpY2l0IGFyZ3VtZW50IGFyZSBjb250ZXh0IG5vZGUgc2Vuc2l0aXZlIHdoZW4gdGhl
eQorICAgIC8vIGhhdmUgbm8gYXJndW1lbnRzLCBidXQgd2hlbiBleHBsaWNpdCBhcmd1bWVudHMg
YXJlIGFkZGVkLCB0aGV5IGFyZSBubyBsb25nZXIgY29udGV4dCBub2RlIHNlbnNpdGl2ZS4KKyAg
ICAvLyBBcyBvZiB0aGlzIHdyaXRpbmcsIHRoZSBvbmx5IGV4Y2VwdGlvbiB0byB0aGlzIGlzIHRo
ZSAibGFuZyIgZnVuY3Rpb24uCisgICAgaWYgKG5hbWUgIT0gImxhbmciICYmICFhcmd1bWVudHMu
aXNFbXB0eSgpKQogICAgICAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGZhbHNlKTsKIAot
ICAgIFZlY3RvcjxFeHByZXNzaW9uKj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGFyZ3MuZW5kKCk7
Ci0gICAgZm9yIChWZWN0b3I8RXhwcmVzc2lvbio+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGFyZ3Mu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBhZGRTdWJFeHByZXNzaW9uKCppdCk7
CisgICAgc2V0U3ViZXhwcmVzc2lvbnMoc3RkOjptb3ZlKGFyZ3VtZW50cykpOwogfQogCiBWYWx1
ZSBGdW5MYXN0OjpldmFsdWF0ZSgpIGNvbnN0CkBAIC0zNTgsNyArMzUwLDcgQEAgVmFsdWUgRnVu
SWQ6OmV2YWx1YXRlKCkgY29uc3QKICAgICAKICAgICByZXN1bHQubWFya1NvcnRlZChmYWxzZSk7
CiAgICAgCi0gICAgcmV0dXJuIFZhbHVlKHJlc3VsdCwgVmFsdWU6OmFkb3B0KTsKKyAgICByZXR1
cm4gVmFsdWUoc3RkOjptb3ZlKHJlc3VsdCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBl
eHBhbmRlZE5hbWVMb2NhbFBhcnQoTm9kZSogbm9kZSkKQEAgLTM4MSwxMCArMzczLDEwIEBAIFZh
bHVlIEZ1bkxvY2FsTmFtZTo6ZXZhbHVhdGUoKSBjb25zdAogICAgIGlmIChhcmd1bWVudENvdW50
KCkgPiAwKSB7CiAgICAgICAgIFZhbHVlIGEgPSBhcmd1bWVudCgwKS5ldmFsdWF0ZSgpOwogICAg
ICAgICBpZiAoIWEuaXNOb2RlU2V0KCkpCi0gICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAgICBOb2RlKiBub2RlID0gYS50b05v
ZGVTZXQoKS5maXJzdE5vZGUoKTsKLSAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWVM
b2NhbFBhcnQobm9kZSkgOiAiIjsKKyAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWVM
b2NhbFBhcnQobm9kZSkgOiBlbXB0eVN0cmluZygpOwogICAgIH0KIAogICAgIHJldHVybiBleHBh
bmRlZE5hbWVMb2NhbFBhcnQoZXZhbHVhdGlvbkNvbnRleHQoKS5ub2RlLmdldCgpKTsKQEAgLTM5
NSwxMCArMzg3LDEwIEBAIFZhbHVlIEZ1bk5hbWVzcGFjZVVSSTo6ZXZhbHVhdGUoKSBjb25zdAog
ICAgIGlmIChhcmd1bWVudENvdW50KCkgPiAwKSB7CiAgICAgICAgIFZhbHVlIGEgPSBhcmd1bWVu
dCgwKS5ldmFsdWF0ZSgpOwogICAgICAgICBpZiAoIWEuaXNOb2RlU2V0KCkpCi0gICAgICAgICAg
ICByZXR1cm4gIiI7CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAg
ICBOb2RlKiBub2RlID0gYS50b05vZGVTZXQoKS5maXJzdE5vZGUoKTsKLSAgICAgICAgcmV0dXJu
IG5vZGUgPyBub2RlLT5uYW1lc3BhY2VVUkkoKS5zdHJpbmcoKSA6ICIiOworICAgICAgICByZXR1
cm4gbm9kZSA/IG5vZGUtPm5hbWVzcGFjZVVSSSgpLnN0cmluZygpIDogZW1wdHlTdHJpbmcoKTsK
ICAgICB9CiAKICAgICByZXR1cm4gZXZhbHVhdGlvbkNvbnRleHQoKS5ub2RlLT5uYW1lc3BhY2VV
UkkoKS5zdHJpbmcoKTsKQEAgLTQwOSwxMCArNDAxLDEwIEBAIFZhbHVlIEZ1bk5hbWU6OmV2YWx1
YXRlKCkgY29uc3QKICAgICBpZiAoYXJndW1lbnRDb3VudCgpID4gMCkgewogICAgICAgICBWYWx1
ZSBhID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKTsKICAgICAgICAgaWYgKCFhLmlzTm9kZVNldCgp
KQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7CiAKICAgICAgICAgTm9kZSogbm9kZSA9IGEudG9Ob2RlU2V0KCkuZmlyc3ROb2RlKCk7Ci0g
ICAgICAgIHJldHVybiBub2RlID8gZXhwYW5kZWROYW1lKG5vZGUpIDogIiI7CisgICAgICAgIHJl
dHVybiBub2RlID8gZXhwYW5kZWROYW1lKG5vZGUpIDogZW1wdHlTdHJpbmcoKTsKICAgICB9CiAK
ICAgICByZXR1cm4gZXhwYW5kZWROYW1lKGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS5nZXQoKSk7
CkBAIC00NzMsMTIgKzQ2NSwxMiBAQCBWYWx1ZSBGdW5TdWJzdHJpbmdCZWZvcmU6OmV2YWx1YXRl
KCkgY29uc3QKICAgICBTdHJpbmcgczIgPSBhcmd1bWVudCgxKS5ldmFsdWF0ZSgpLnRvU3RyaW5n
KCk7CiAKICAgICBpZiAoczIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgc2l6ZV90IGkgPSBzMS5maW5kKHMyKTsKIAog
ICAgIGlmIChpID09IG5vdEZvdW5kKQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVy
biBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIHMxLmxlZnQoaSk7CiB9CkBAIC00OTAsNyAr
NDgyLDcgQEAgVmFsdWUgRnVuU3Vic3RyaW5nQWZ0ZXI6OmV2YWx1YXRlKCkgY29uc3QKIAogICAg
IHNpemVfdCBpID0gczEuZmluZChzMik7CiAgICAgaWYgKGkgPT0gbm90Rm91bmQpCi0gICAgICAg
IHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICByZXR1cm4g
czEuc3Vic3RyaW5nKGkgKyBzMi5sZW5ndGgoKSk7CiB9CkBAIC01MDAsMjUgKzQ5MiwyNSBAQCBW
YWx1ZSBGdW5TdWJzdHJpbmc6OmV2YWx1YXRlKCkgY29uc3QKICAgICBTdHJpbmcgcyA9IGFyZ3Vt
ZW50KDApLmV2YWx1YXRlKCkudG9TdHJpbmcoKTsKICAgICBkb3VibGUgZG91YmxlUG9zID0gYXJn
dW1lbnQoMSkuZXZhbHVhdGUoKS50b051bWJlcigpOwogICAgIGlmIChzdGQ6OmlzbmFuKGRvdWJs
ZVBvcykpCi0gICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CiAgICAgbG9uZyBwb3MgPSBzdGF0aWNfY2FzdDxsb25nPihGdW5Sb3VuZDo6cm91bmQoZG91Ymxl
UG9zKSk7CiAgICAgYm9vbCBoYXZlTGVuZ3RoID0gYXJndW1lbnRDb3VudCgpID09IDM7CiAgICAg
bG9uZyBsZW4gPSAtMTsKICAgICBpZiAoaGF2ZUxlbmd0aCkgewogICAgICAgICBkb3VibGUgZG91
YmxlTGVuID0gYXJndW1lbnQoMikuZXZhbHVhdGUoKS50b051bWJlcigpOwogICAgICAgICBpZiAo
c3RkOjppc25hbihkb3VibGVMZW4pKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgICAgIGxlbiA9IHN0YXRpY19jYXN0PGxvbmc+
KEZ1blJvdW5kOjpyb3VuZChkb3VibGVMZW4pKTsKICAgICB9CiAKICAgICBpZiAocG9zID4gbG9u
ZyhzLmxlbmd0aCgpKSkgCi0gICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CiAKICAgICBpZiAocG9zIDwgMSkgewogICAgICAgICBpZiAoaGF2ZUxlbmd0aCkg
ewogICAgICAgICAgICAgbGVuIC09IDEgLSBwb3M7CiAgICAgICAgICAgICBpZiAobGVuIDwgMSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CiAgICAgICAgIH0KICAgICAgICAgcG9zID0gMTsKICAgICB9CkBAIC01OTcsNyAr
NTg5LDcgQEAgVmFsdWUgRnVuTGFuZzo6ZXZhbHVhdGUoKSBjb25zdAogICAgIH0KIAogICAgIGlm
ICghbGFuZ3VhZ2VBdHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIFZhbHVlKGZhbHNlKTsKIAogICAgIFN0cmluZyBsYW5nVmFsdWUgPSBsYW5ndWFnZUF0dHJp
YnV0ZS0+dmFsdWUoKTsKICAgICB3aGlsZSAodHJ1ZSkgewpAQCAtNjExLDEyICs2MDMsMTIgQEAg
VmFsdWUgRnVuTGFuZzo6ZXZhbHVhdGUoKSBjb25zdAogICAgICAgICBsYW5nVmFsdWUgPSBsYW5n
VmFsdWUubGVmdChpbmRleCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biBWYWx1ZShmYWxzZSk7CiB9CiAKIFZhbHVlIEZ1bkZhbHNlOjpldmFsdWF0ZSgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBWYWx1ZShmYWxzZSk7CiB9CiAKIFZhbHVl
IEZ1bk51bWJlcjo6ZXZhbHVhdGUoKSBjb25zdApAQCAtNjY5LDYyICs2NjEsNzggQEAgVmFsdWUg
RnVuUm91bmQ6OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4gcm91bmQoYXJndW1lbnQoMCku
ZXZhbHVhdGUoKS50b051bWJlcigpKTsKIH0KIAotc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7Ci0g
ICAgY29uc3QgY2hhciogbmFtZTsKLSAgICBGdW5jdGlvblJlYyBmdW5jdGlvbjsKK3N0cnVjdCBG
dW5jdGlvbk1hcFZhbHVlIHsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+ICgqY3JlYXRp
b25GdW5jdGlvbikoKTsKKyAgICBJbnRlcnZhbCBhcmd1bWVudENvdW50SW50ZXJ2YWw7CiB9Owog
Ci1zdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1hcCgpCitzdGF0aWMgdm9pZCBwb3B1bGF0ZUZ1
bmN0aW9uTWFwKEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvbk1hcFZhbHVlPiYgZnVuY3Rpb25NYXAp
CiB7CisgICAgc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7CisgICAgICAgIGNvbnN0IGNoYXIqIG5h
bWU7CisgICAgICAgIEZ1bmN0aW9uTWFwVmFsdWUgZnVuY3Rpb247CisgICAgfTsKKwogICAgIHN0
YXRpYyBjb25zdCBGdW5jdGlvbk1hcHBpbmcgZnVuY3Rpb25zW10gPSB7Ci0gICAgICAgIHsgImJv
b2xlYW4iLCB7ICZjcmVhdGVGdW5Cb29sZWFuLCAxIH0gfSwKLSAgICAgICAgeyAiY2VpbGluZyIs
IHsgJmNyZWF0ZUZ1bkNlaWxpbmcsIDEgfSB9LAotICAgICAgICB7ICJjb25jYXQiLCB7ICZjcmVh
dGVGdW5Db25jYXQsIEludGVydmFsKDIsIEludGVydmFsOjpJbmYpIH0gfSwKLSAgICAgICAgeyAi
Y29udGFpbnMiLCB7ICZjcmVhdGVGdW5Db250YWlucywgMiB9IH0sCi0gICAgICAgIHsgImNvdW50
IiwgeyAmY3JlYXRlRnVuQ291bnQsIDEgfSB9LAotICAgICAgICB7ICJmYWxzZSIsIHsgJmNyZWF0
ZUZ1bkZhbHNlLCAwIH0gfSwKLSAgICAgICAgeyAiZmxvb3IiLCB7ICZjcmVhdGVGdW5GbG9vciwg
MSB9IH0sCi0gICAgICAgIHsgImlkIiwgeyAmY3JlYXRlRnVuSWQsIDEgfSB9LAotICAgICAgICB7
ICJsYW5nIiwgeyAmY3JlYXRlRnVuTGFuZywgMSB9IH0sCi0gICAgICAgIHsgImxhc3QiLCB7ICZj
cmVhdGVGdW5MYXN0LCAwIH0gfSwKLSAgICAgICAgeyAibG9jYWwtbmFtZSIsIHsgJmNyZWF0ZUZ1
bkxvY2FsTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJuYW1lIiwgeyAmY3Jl
YXRlRnVuTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJuYW1lc3BhY2UtdXJp
IiwgeyAmY3JlYXRlRnVuTmFtZXNwYWNlVVJJLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAg
IHsgIm5vcm1hbGl6ZS1zcGFjZSIsIHsgJmNyZWF0ZUZ1bk5vcm1hbGl6ZVNwYWNlLCBJbnRlcnZh
bCgwLCAxKSB9IH0sCi0gICAgICAgIHsgIm5vdCIsIHsgJmNyZWF0ZUZ1bk5vdCwgMSB9IH0sCi0g
ICAgICAgIHsgIm51bWJlciIsIHsgJmNyZWF0ZUZ1bk51bWJlciwgSW50ZXJ2YWwoMCwgMSkgfSB9
LAotICAgICAgICB7ICJwb3NpdGlvbiIsIHsgJmNyZWF0ZUZ1blBvc2l0aW9uLCAwIH0gfSwKLSAg
ICAgICAgeyAicm91bmQiLCB7ICZjcmVhdGVGdW5Sb3VuZCwgMSB9IH0sCi0gICAgICAgIHsgInN0
YXJ0cy13aXRoIiwgeyAmY3JlYXRlRnVuU3RhcnRzV2l0aCwgMiB9IH0sCi0gICAgICAgIHsgInN0
cmluZyIsIHsgJmNyZWF0ZUZ1blN0cmluZywgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7
ICJzdHJpbmctbGVuZ3RoIiwgeyAmY3JlYXRlRnVuU3RyaW5nTGVuZ3RoLCBJbnRlcnZhbCgwLCAx
KSB9IH0sCi0gICAgICAgIHsgInN1YnN0cmluZyIsIHsgJmNyZWF0ZUZ1blN1YnN0cmluZywgSW50
ZXJ2YWwoMiwgMykgfSB9LAotICAgICAgICB7ICJzdWJzdHJpbmctYWZ0ZXIiLCB7ICZjcmVhdGVG
dW5TdWJzdHJpbmdBZnRlciwgMiB9IH0sCi0gICAgICAgIHsgInN1YnN0cmluZy1iZWZvcmUiLCB7
ICZjcmVhdGVGdW5TdWJzdHJpbmdCZWZvcmUsIDIgfSB9LAotICAgICAgICB7ICJzdW0iLCB7ICZj
cmVhdGVGdW5TdW0sIDEgfSB9LAotICAgICAgICB7ICJ0cmFuc2xhdGUiLCB7ICZjcmVhdGVGdW5U
cmFuc2xhdGUsIDMgfSB9LAotICAgICAgICB7ICJ0cnVlIiwgeyAmY3JlYXRlRnVuVHJ1ZSwgMCB9
IH0sCisgICAgICAgIHsgImJvb2xlYW4iLCB7IGNyZWF0ZUZ1bmN0aW9uQm9vbGVhbiwgMSB9IH0s
CisgICAgICAgIHsgImNlaWxpbmciLCB7IGNyZWF0ZUZ1bmN0aW9uQ2VpbGluZywgMSB9IH0sCisg
ICAgICAgIHsgImNvbmNhdCIsIHsgY3JlYXRlRnVuY3Rpb25Db25jYXQsIEludGVydmFsKDIsIElu
dGVydmFsOjpJbmYpIH0gfSwKKyAgICAgICAgeyAiY29udGFpbnMiLCB7IGNyZWF0ZUZ1bmN0aW9u
Q29udGFpbnMsIDIgfSB9LAorICAgICAgICB7ICJjb3VudCIsIHsgY3JlYXRlRnVuY3Rpb25Db3Vu
dCwgMSB9IH0sCisgICAgICAgIHsgImZhbHNlIiwgeyBjcmVhdGVGdW5jdGlvbkZhbHNlLCAwIH0g
fSwKKyAgICAgICAgeyAiZmxvb3IiLCB7IGNyZWF0ZUZ1bmN0aW9uRmxvb3IsIDEgfSB9LAorICAg
ICAgICB7ICJpZCIsIHsgY3JlYXRlRnVuY3Rpb25JZCwgMSB9IH0sCisgICAgICAgIHsgImxhbmci
LCB7IGNyZWF0ZUZ1bmN0aW9uTGFuZywgMSB9IH0sCisgICAgICAgIHsgImxhc3QiLCB7IGNyZWF0
ZUZ1bmN0aW9uTGFzdCwgMCB9IH0sCisgICAgICAgIHsgImxvY2FsLW5hbWUiLCB7IGNyZWF0ZUZ1
bmN0aW9uTG9jYWxOYW1lLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgIm5hbWUiLCB7
IGNyZWF0ZUZ1bmN0aW9uTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJuYW1l
c3BhY2UtdXJpIiwgeyBjcmVhdGVGdW5jdGlvbk5hbWVzcGFjZVVSSSwgSW50ZXJ2YWwoMCwgMSkg
fSB9LAorICAgICAgICB7ICJub3JtYWxpemUtc3BhY2UiLCB7IGNyZWF0ZUZ1bmN0aW9uTm9ybWFs
aXplU3BhY2UsIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAibm90IiwgeyBjcmVhdGVG
dW5jdGlvbk5vdCwgMSB9IH0sCisgICAgICAgIHsgIm51bWJlciIsIHsgY3JlYXRlRnVuY3Rpb25O
dW1iZXIsIEludGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAicG9zaXRpb24iLCB7IGNyZWF0
ZUZ1bmN0aW9uUG9zaXRpb24sIDAgfSB9LAorICAgICAgICB7ICJyb3VuZCIsIHsgY3JlYXRlRnVu
Y3Rpb25Sb3VuZCwgMSB9IH0sCisgICAgICAgIHsgInN0YXJ0cy13aXRoIiwgeyBjcmVhdGVGdW5j
dGlvblN0YXJ0c1dpdGgsIDIgfSB9LAorICAgICAgICB7ICJzdHJpbmciLCB7IGNyZWF0ZUZ1bmN0
aW9uU3RyaW5nLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgInN0cmluZy1sZW5ndGgi
LCB7IGNyZWF0ZUZ1bmN0aW9uU3RyaW5nTGVuZ3RoLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAg
ICAgIHsgInN1YnN0cmluZyIsIHsgY3JlYXRlRnVuY3Rpb25TdWJzdHJpbmcsIEludGVydmFsKDIs
IDMpIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5nLWFmdGVyIiwgeyBjcmVhdGVGdW5jdGlvblN1
YnN0cmluZ0FmdGVyLCAyIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5nLWJlZm9yZSIsIHsgY3Jl
YXRlRnVuY3Rpb25TdWJzdHJpbmdCZWZvcmUsIDIgfSB9LAorICAgICAgICB7ICJzdW0iLCB7IGNy
ZWF0ZUZ1bmN0aW9uU3VtLCAxIH0gfSwKKyAgICAgICAgeyAidHJhbnNsYXRlIiwgeyBjcmVhdGVG
dW5jdGlvblRyYW5zbGF0ZSwgMyB9IH0sCisgICAgICAgIHsgInRydWUiLCB7IGNyZWF0ZUZ1bmN0
aW9uVHJ1ZSwgMCB9IH0sCiAgICAgfTsKIAotICAgIGZ1bmN0aW9uTWFwID0gbmV3IEhhc2hNYXA8
U3RyaW5nLCBGdW5jdGlvblJlYz47CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJS
QVlfTEVOR1RIKGZ1bmN0aW9ucyk7ICsraSkKLSAgICAgICAgZnVuY3Rpb25NYXAtPnNldChmdW5j
dGlvbnNbaV0ubmFtZSwgZnVuY3Rpb25zW2ldLmZ1bmN0aW9uKTsKKyAgICAgICAgZnVuY3Rpb25N
YXAuYWRkKGZ1bmN0aW9uc1tpXS5uYW1lLCBmdW5jdGlvbnNbaV0uZnVuY3Rpb24pOwogfQogCi1G
dW5jdGlvbiogY3JlYXRlRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8
RXhwcmVzc2lvbio+JiBhcmdzKQorc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5jdGlvbjo6
Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgbnVtQXJndW1lbnRzKQogewotICAg
IGlmICghZnVuY3Rpb25NYXApCi0gICAgICAgIGNyZWF0ZUZ1bmN0aW9uTWFwKCk7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvbk1hcFZhbHVlPj4gZnVu
Y3Rpb25NYXA7CisgICAgaWYgKGZ1bmN0aW9uTWFwLmdldCgpLmlzRW1wdHkoKSkKKyAgICAgICAg
cG9wdWxhdGVGdW5jdGlvbk1hcChmdW5jdGlvbk1hcCk7CiAKLSAgICBIYXNoTWFwPFN0cmluZywg
RnVuY3Rpb25SZWM+OjppdGVyYXRvciBmdW5jdGlvbk1hcEl0ZXIgPSBmdW5jdGlvbk1hcC0+Zmlu
ZChuYW1lKTsKLSAgICBGdW5jdGlvblJlYyogZnVuY3Rpb25SZWMgPSAwOworICAgIGF1dG8gaXQg
PSBmdW5jdGlvbk1hcC5nZXQoKS5maW5kKG5hbWUpOworICAgIGlmIChpdCA9PSBmdW5jdGlvbk1h
cC5nZXQoKS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoZnVuY3Rp
b25NYXBJdGVyID09IGZ1bmN0aW9uTWFwLT5lbmQoKSB8fCAhKGZ1bmN0aW9uUmVjID0gJmZ1bmN0
aW9uTWFwSXRlci0+dmFsdWUpLT5hcmdzLmNvbnRhaW5zKGFyZ3Muc2l6ZSgpKSkKLSAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCFpdC0+dmFsdWUuYXJndW1lbnRDb3VudEludGVydmFsLmNvbnRh
aW5zKG51bUFyZ3VtZW50cykpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgRnVuY3Rp
b24qIGZ1bmN0aW9uID0gZnVuY3Rpb25SZWMtPmZhY3RvcnlGbigpOwotICAgIGZ1bmN0aW9uLT5z
ZXRBcmd1bWVudHMoYXJncyk7Ci0gICAgZnVuY3Rpb24tPnNldE5hbWUobmFtZSk7CisgICAgcmV0
dXJuIGl0LT52YWx1ZS5jcmVhdGlvbkZ1bmN0aW9uKCk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxG
dW5jdGlvbj4gRnVuY3Rpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgcmV0
dXJuIGNyZWF0ZShuYW1lLCAwKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5j
dGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxF
eHByZXNzaW9uPj4mJiBhcmd1bWVudHMpCit7CisgICAgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9u
PiBmdW5jdGlvbiA9IGNyZWF0ZShuYW1lLCBhcmd1bWVudHMuc2l6ZSgpKTsKKyAgICBpZiAoZnVu
Y3Rpb24pCisgICAgICAgIGZ1bmN0aW9uLT5zZXRBcmd1bWVudHMobmFtZSwgc3RkOjptb3ZlKGFy
Z3VtZW50cykpOwogICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhG
dW5jdGlvbnMuaAppbmRleCA5NjI1Yzg4M2FlOGIyMGMxYzY4NDA2ODQ2ZTkxOWU5ZTY2MDFjMmVm
Li4yZTk4YWRhNjRiMzNjZjg0ZTlkODY5ZDgwOTM2ZTlhYmYyNDYxMWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhGdW5jdGlvbnMuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwOSBBcHBsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zNCwyMSArMzQsMTggQEAgbmFtZXNwYWNlIFhQYXRoIHsKIAogY2xhc3MgRnVuY3Rp
b24gOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBzZXRBcmd1bWVudHMo
Y29uc3QgVmVjdG9yPEV4cHJlc3Npb24qPiYpOwotICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJp
bmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFZlY3RvcjxzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgYXJndW1lbnRzKTsKIAogcHJvdGVjdGVkOgotICAg
IHVuc2lnbmVkIGFyZ3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBzdWJFeHByZXNzaW9uQ291
bnQoKTsgfQotICAgIGNvbnN0IEV4cHJlc3Npb24mIGFyZ3VtZW50KGludCBwb3MpIGNvbnN0IHsg
cmV0dXJuIHN1YkV4cHJlc3Npb24ocG9zKTsgfQotCi0gICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX25hbWU7IH0KKyAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50KCkgY29uc3QgeyBy
ZXR1cm4gc3ViZXhwcmVzc2lvbkNvdW50KCk7IH0KKyAgICBjb25zdCBFeHByZXNzaW9uJiBhcmd1
bWVudCh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBzdWJleHByZXNzaW9uKGkpOyB9CiAKIHBy
aXZhdGU6Ci0gICAgU3RyaW5nIG1fbmFtZTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1
bmN0aW9uPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBudW1Bcmd1bWVudHMp
OworICAgIHZvaWQgc2V0QXJndW1lbnRzKGNvbnN0IFN0cmluZyYgbmFtZSwgVmVjdG9yPHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4mJik7CiB9OwogCi1GdW5jdGlvbiogY3JlYXRlRnVuY3Rp
b24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+JiBhcmdzID0g
VmVjdG9yPEV4cHJlc3Npb24qPigpKTsKLQogfSAvLyBuYW1lc3BhY2UgWFBhdGgKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3Jh
bW1hci55IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55CmluZGV4IDUxMjA0YmIz
MTgyMTIyMjYyNWQ0M2M3ZTFmZjEyMTNlNzMwZGJhNTQuLmIxN2EyOGFmOWYwODNhYjVlMjYyNjU4
MTY0NjQxNWFjMTA4ODliNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEdy
YW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhHcmFtbWFyLnkKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9y
Zz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtp
dC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMCwxMyArMzAsOSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogCiAjaW5jbHVkZSAiWFBhdGhGdW5jdGlvbnMuaCIKLSNpbmNsdWRlICJYUGF0aE5T
UmVzb2x2ZXIuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5oIgogI2luY2x1ZGUgIlhQYXRoUGF0
aC5oIgotI2luY2x1ZGUgIlhQYXRoUHJlZGljYXRlLmgiCi0jaW5jbHVkZSAiWFBhdGhTdGVwLmgi
CiAjaW5jbHVkZSAiWFBhdGhWYXJpYWJsZVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
TWFsbG9jLmg+CiAKICNkZWZpbmUgWVlNQUxMT0MgZmFzdE1hbGxvYwogI2RlZmluZSBZWUZSRUUg
ZmFzdEZyZWUKQEAgLTQ2LDk5ICs0Miw5MyBAQAogI2RlZmluZSBZWURFQlVHIDAKICNkZWZpbmUg
WVlNQVhERVBUSCAxMDAwMAogCisjZGVmaW5lIFlZTEVYX1BBUkFNIHBhcnNlcgorCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBYUGF0aDsKIAogJX0KIAogJXB1cmVf
cGFyc2VyCi0lcGFyc2UtcGFyYW0geyBXZWJDb3JlOjpYUGF0aDo6UGFyc2VyKiBwYXJzZXIgfQot
Ci0ldW5pb24KLXsKLSAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgU3RlcDo6Tm9kZVRlc3QqIG5v
ZGVUZXN0OwotICAgIE51bWVyaWNPcDo6T3Bjb2RlIG51bW9wOwotICAgIEVxVGVzdE9wOjpPcGNv
ZGUgZXFvcDsKLSAgICBTdHJpbmcqIHN0cjsKLSAgICBFeHByZXNzaW9uKiBleHByOwotICAgIFZl
Y3RvcjxQcmVkaWNhdGUqPiogcHJlZExpc3Q7Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiogYXJn
TGlzdDsKLSAgICBTdGVwKiBzdGVwOwotICAgIExvY2F0aW9uUGF0aCogbG9jYXRpb25QYXRoOwot
fQorJXBhcnNlLXBhcmFtIHsgUGFyc2VyJiBwYXJzZXIgfQogCi0leworJXVuaW9uIHsgTnVtZXJp
Y09wOjpPcGNvZGUgbnVtZXJpY09wY29kZTsgfQorJWxlZnQgPG51bWVyaWNPcGNvZGU+IE1VTE9Q
CiAKLXN0YXRpYyBpbnQgeHBhdGh5eWxleChZWVNUWVBFKiB5eWx2YWwpIHsgcmV0dXJuIFBhcnNl
cjo6Y3VycmVudCgpLT5sZXgoeXlsdmFsKTsgfQotc3RhdGljIHZvaWQgeHBhdGh5eWVycm9yKHZv
aWQqLCBjb25zdCBjaGFyKikgeyB9Ci0gICAgCi0lfQorJXVuaW9uIHsgRXFUZXN0T3A6Ok9wY29k
ZSBlcXVhbGl0eVRlc3RPcGNvZGU7IH0KKyVsZWZ0IDxlcXVhbGl0eVRlc3RPcGNvZGU+IEVRT1Ag
UkVMT1AKIAotJWxlZnQgPG51bW9wPiBNVUxPUAotJWxlZnQgPGVxb3A+IEVRT1AgUkVMT1AKICVs
ZWZ0IFBMVVMgTUlOVVMKKwogJWxlZnQgT1IgQU5ECisKKyV1bmlvbiB7IFN0cmluZ0ltcGwqIHN0
cmluZzsgfQorJXRva2VuIDxzdHJpbmc+IEZVTkNUSU9OTkFNRSBMSVRFUkFMIE5BTUVURVNUIE5V
TUJFUiBOT0RFVFlQRSBWQVJJQUJMRVJFRkVSRU5DRQorJWRlc3RydWN0b3IgeyBpZiAoJCQpICQk
LT5kZXJlZigpOyB9IEZVTkNUSU9OTkFNRSBMSVRFUkFMIE5BTUVURVNUIE5VTUJFUiBOT0RFVFlQ
RSBWQVJJQUJMRVJFRkVSRU5DRQorCisldW5pb24geyBTdGVwOjpBeGlzIGF4aXM7IH0KICV0b2tl
biA8YXhpcz4gQVhJU05BTUUKLSV0b2tlbiA8c3RyPiBOT0RFVFlQRSBQSSBGVU5DVElPTk5BTUUg
TElURVJBTAotJXRva2VuIDxzdHI+IFZBUklBQkxFUkVGRVJFTkNFIE5VTUJFUgotJXRva2VuIERP
VERPVCBTTEFTSFNMQVNICi0ldG9rZW4gPHN0cj4gTkFNRVRFU1QKLSV0b2tlbiBYUEFUSF9FUlJP
UgotCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBMb2NhdGlvblBhdGgKLSV0eXBlIDxsb2NhdGlvblBh
dGg+IEFic29sdXRlTG9jYXRpb25QYXRoCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBSZWxhdGl2ZUxv
Y2F0aW9uUGF0aAotJXR5cGUgPHN0ZXA+IFN0ZXAKICV0eXBlIDxheGlzPiBBeGlzU3BlY2lmaWVy
Ci0ldHlwZSA8c3RlcD4gRGVzY2VuZGFudE9yU2VsZgorCisldG9rZW4gQ09NTUVOVCBET1RET1Qg
UEkgTk9ERSBTTEFTSFNMQVNIIFRFWFQgWFBBVEhfRVJST1IKKworJXVuaW9uIHsgTG9jYXRpb25Q
YXRoKiBsb2NhdGlvblBhdGg7IH0KKyV0eXBlIDxsb2NhdGlvblBhdGg+IExvY2F0aW9uUGF0aCBB
YnNvbHV0ZUxvY2F0aW9uUGF0aCBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorJWRlc3RydWN0b3IgeyBk
ZWxldGUgJCQ7IH0gTG9jYXRpb25QYXRoIEFic29sdXRlTG9jYXRpb25QYXRoIFJlbGF0aXZlTG9j
YXRpb25QYXRoCisKKyV1bmlvbiB7IFN0ZXA6Ok5vZGVUZXN0KiBub2RlVGVzdDsgfQogJXR5cGUg
PG5vZGVUZXN0PiBOb2RlVGVzdAotJXR5cGUgPGV4cHI+IFByZWRpY2F0ZQotJXR5cGUgPHByZWRM
aXN0PiBPcHRpb25hbFByZWRpY2F0ZUxpc3QKLSV0eXBlIDxwcmVkTGlzdD4gUHJlZGljYXRlTGlz
dAotJXR5cGUgPHN0ZXA+IEFiYnJldmlhdGVkU3RlcAotJXR5cGUgPGV4cHI+IEV4cHIKLSV0eXBl
IDxleHByPiBQcmltYXJ5RXhwcgotJXR5cGUgPGV4cHI+IEZ1bmN0aW9uQ2FsbAotJXR5cGUgPGFy
Z0xpc3Q+IEFyZ3VtZW50TGlzdAotJXR5cGUgPGV4cHI+IEFyZ3VtZW50Ci0ldHlwZSA8ZXhwcj4g
VW5pb25FeHByCi0ldHlwZSA8ZXhwcj4gUGF0aEV4cHIKLSV0eXBlIDxleHByPiBGaWx0ZXJFeHBy
Ci0ldHlwZSA8ZXhwcj4gT3JFeHByCi0ldHlwZSA8ZXhwcj4gQW5kRXhwcgotJXR5cGUgPGV4cHI+
IEVxdWFsaXR5RXhwcgotJXR5cGUgPGV4cHI+IFJlbGF0aW9uYWxFeHByCi0ldHlwZSA8ZXhwcj4g
QWRkaXRpdmVFeHByCi0ldHlwZSA8ZXhwcj4gTXVsdGlwbGljYXRpdmVFeHByCi0ldHlwZSA8ZXhw
cj4gVW5hcnlFeHByCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsgfSBOb2RlVGVzdAorCisldW5p
b24geyBWZWN0b3I8UHJlZGljYXRlPiogcHJlZGljYXRlVmVjdG9yOyB9CisldHlwZSA8cHJlZGlj
YXRlVmVjdG9yPiBQcmVkaWNhdGVMaXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAorJWRlc3RydWN0
b3IgeyBkZWxldGUgJCQ7IH0gUHJlZGljYXRlTGlzdCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKKwor
JXVuaW9uIHsgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4qIGV4cHJlc3Npb25W
ZWN0b3I7IH0KKyV0eXBlIDxleHByZXNzaW9uVmVjdG9yPiBBcmd1bWVudExpc3QKKyVkZXN0cnVj
dG9yIHsgZGVsZXRlICQkOyB9IEFyZ3VtZW50TGlzdAorCisldW5pb24geyBTdGVwKiBzdGVwOyB9
CisldHlwZSA8c3RlcD4gU3RlcCBBYmJyZXZpYXRlZFN0ZXAgRGVzY2VuZGFudE9yU2VsZgorJWRl
c3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gU3RlcCBBYmJyZXZpYXRlZFN0ZXAgRGVzY2VuZGFudE9y
U2VsZgorCisldW5pb24geyBFeHByZXNzaW9uKiBleHByZXNzaW9uOyB9CisldHlwZSA8ZXhwcmVz
c2lvbj4gQWRkaXRpdmVFeHByIEFuZEV4cHIgQXJndW1lbnQgRXF1YWxpdHlFeHByIEV4cHIgRmls
dGVyRXhwciBGdW5jdGlvbkNhbGwgTXVsdGlwbGljYXRpdmVFeHByIE9yRXhwciBQYXRoRXhwciBQ
cmVkaWNhdGUgUHJpbWFyeUV4cHIgUmVsYXRpb25hbEV4cHIgVW5hcnlFeHByIFVuaW9uRXhwcgor
JWRlc3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gQWRkaXRpdmVFeHByIEFuZEV4cHIgQXJndW1lbnQg
RXF1YWxpdHlFeHByIEV4cHIgRmlsdGVyRXhwciBGdW5jdGlvbkNhbGwgTXVsdGlwbGljYXRpdmVF
eHByIE9yRXhwciBQYXRoRXhwciBQcmVkaWNhdGUgUHJpbWFyeUV4cHIgUmVsYXRpb25hbEV4cHIg
VW5hcnlFeHByIFVuaW9uRXhwcgorCisleworCitzdGF0aWMgaW50IHhwYXRoeXlsZXgoWVlTVFlQ
RSogeXlsdmFsLCBQYXJzZXImIHBhcnNlcikgeyByZXR1cm4gcGFyc2VyLmxleCgqeXlsdmFsKTsg
fQorc3RhdGljIHZvaWQgeHBhdGh5eWVycm9yKFBhcnNlciYsIGNvbnN0IGNoYXIqKSB7IH0KKwor
JX0KIAogJSUKIAotRXhwcjoKLSAgICBPckV4cHIKK1RvcDoKKyAgICBFeHByCiAgICAgewotICAg
ICAgICBwYXJzZXItPm1fdG9wRXhwciA9ICQxOworICAgICAgICBwYXJzZXIuc2V0UGFyc2VSZXN1
bHQoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSk7CiAgICAgfQogICAgIDsKIAorRXhw
cjoKKyAgICBPckV4cHIKKyAgICA7CisKIExvY2F0aW9uUGF0aDoKLSAgICBSZWxhdGl2ZUxvY2F0
aW9uUGF0aAotICAgIHsKLSAgICAgICAgJCQtPnNldEFic29sdXRlKGZhbHNlKTsKLSAgICB9Ci0g
ICAgfAogICAgIEFic29sdXRlTG9jYXRpb25QYXRoCiAgICAgewotICAgICAgICAkJC0+c2V0QWJz
b2x1dGUodHJ1ZSk7CisgICAgICAgICQkLT5zZXRBYnNvbHV0ZSgpOwogICAgIH0KKyAgICB8Cisg
ICAgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICA7CiAKIEFic29sdXRlTG9jYXRpb25QYXRoOgog
ICAgICcvJwogICAgIHsKICAgICAgICAgJCQgPSBuZXcgTG9jYXRpb25QYXRoOwotICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgICcvJyBSZWxh
dGl2ZUxvY2F0aW9uUGF0aApAQCAtMTQ5LDggKzEzOSw3IEBAIEFic29sdXRlTG9jYXRpb25QYXRo
OgogICAgIERlc2NlbmRhbnRPclNlbGYgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7CiAgICAg
ICAgICQkID0gJDI7Ci0gICAgICAgICQkLT5pbnNlcnRGaXJzdFN0ZXAoJDEpOwotICAgICAgICBw
YXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOworICAgICAgICAkJC0+cHJlcGVuZFN0ZXAo
c3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQxKSk7CiAgICAgfQogICAgIDsKIApAQCAtMTU4LDgzICsx
NDcsNzUgQEAgUmVsYXRpdmVMb2NhdGlvblBhdGg6CiAgICAgU3RlcAogICAgIHsKICAgICAgICAg
JCQgPSBuZXcgTG9jYXRpb25QYXRoOwotICAgICAgICAkJC0+YXBwZW5kU3RlcCgkMSk7Ci0gICAg
ICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVn
aXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9w
dHI8U3RlcD4oJDEpKTsKICAgICB9CiAgICAgfAogICAgIFJlbGF0aXZlTG9jYXRpb25QYXRoICcv
JyBTdGVwCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kU3RlcCgkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CisgICAgICAgICQkLT5hcHBlbmRTdGVwKHN0ZDo6
dW5pcXVlX3B0cjxTdGVwPigkMykpOwogICAgIH0KICAgICB8CiAgICAgUmVsYXRpdmVMb2NhdGlv
blBhdGggRGVzY2VuZGFudE9yU2VsZiBTdGVwCiAgICAgewotICAgICAgICAkJC0+YXBwZW5kU3Rl
cCgkMik7Ci0gICAgICAgICQkLT5hcHBlbmRTdGVwKCQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJl
Z2lzdGVyUGFyc2VOb2RlKCQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2Rl
KCQzKTsKKyAgICAgICAgJCQtPmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQyKSk7
CisgICAgICAgICQkLT5hcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMykpOwogICAg
IH0KICAgICA7CiAKIFN0ZXA6CiAgICAgTm9kZVRlc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CiAg
ICAgewotICAgICAgICBpZiAoJDIpIHsKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6
Q2hpbGRBeGlzLCAqJDEsICokMik7Ci0gICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0
ZVZlY3RvcigkMik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChT
dGVwOjpDaGlsZEF4aXMsICokMSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRlc3QoJDEp
OwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFZlY3RvcjxQcmVkaWNhdGU+PiBwcmVkaWNhdGVMaXN0KCQyKTsKKyAgICAgICAg
aWYgKHByZWRpY2F0ZUxpc3QpCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxk
QXhpcywgc3RkOjptb3ZlKCokMSksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgc3RkOjpt
b3ZlKCokMSkpOwogICAgIH0KICAgICB8CiAgICAgTkFNRVRFU1QgT3B0aW9uYWxQcmVkaWNhdGVM
aXN0CiAgICAgeworICAgICAgICBTdHJpbmcgbmFtZXRlc3QgPSBhZG9wdFJlZigkMSk7CisgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UHJlZGljYXRlPj4gcHJlZGljYXRlTGlzdCgkMik7
CisKICAgICAgICAgU3RyaW5nIGxvY2FsTmFtZTsKICAgICAgICAgU3RyaW5nIG5hbWVzcGFjZVVS
STsKLSAgICAgICAgaWYgKCFwYXJzZXItPmV4cGFuZFFOYW1lKCokMSwgbG9jYWxOYW1lLCBuYW1l
c3BhY2VVUkkpKSB7Ci0gICAgICAgICAgICBwYXJzZXItPm1fZ290TmFtZXNwYWNlRXJyb3IgPSB0
cnVlOworICAgICAgICBpZiAoIXBhcnNlci5leHBhbmRRdWFsaWZpZWROYW1lKG5hbWV0ZXN0LCBs
b2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpIHsKKyAgICAgICAgICAgICQkID0gbnVsbHB0cjsKICAg
ICAgICAgICAgIFlZQUJPUlQ7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICgkMikg
ewotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIFN0ZXA6Ok5vZGVU
ZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpLCAq
JDIpOwotICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDIpOwotICAg
ICAgICB9IGVsc2UKKworICAgICAgICBpZiAocHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQk
ID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVz
dDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgc3RkOjptb3ZlKCpwcmVkaWNh
dGVMaXN0KSk7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6
Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsK
LSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAg
ICBBeGlzU3BlY2lmaWVyIE5vZGVUZXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKLSAg
ICAgICAgaWYgKCQzKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCAqJDIsICokMyk7
Ci0gICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMyk7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgKiQyKTsKLSAgICAgICAgcGFy
c2VyLT5kZWxldGVOb2RlVGVzdCgkMik7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5v
ZGUoJCQpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRp
Y2F0ZUxpc3QoJDMpOworCisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0KQorICAgICAgICAgICAg
JCQgPSBuZXcgU3RlcCgkMSwgc3RkOjptb3ZlKCokMiksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlz
dCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBzdGQ6Om1v
dmUoKiQyKSk7CiAgICAgfQogICAgIHwKICAgICBBeGlzU3BlY2lmaWVyIE5BTUVURVNUIE9wdGlv
bmFsUHJlZGljYXRlTGlzdAogICAgIHsKKyAgICAgICAgU3RyaW5nIG5hbWV0ZXN0ID0gYWRvcHRS
ZWYoJDIpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFByZWRpY2F0ZT4+IHByZWRp
Y2F0ZUxpc3QoJDMpOworCiAgICAgICAgIFN0cmluZyBsb2NhbE5hbWU7CiAgICAgICAgIFN0cmlu
ZyBuYW1lc3BhY2VVUkk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5leHBhbmRRTmFtZSgqJDIsIGxv
Y2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgewotICAgICAgICAgICAgcGFyc2VyLT5tX2dvdE5hbWVz
cGFjZUVycm9yID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFwYXJzZXIuZXhwYW5kUXVhbGlmaWVkTmFt
ZShuYW1ldGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKSB7CisgICAgICAgICAgICAkJCA9
IG51bGxwdHI7CiAgICAgICAgICAgICBZWUFCT1JUOwogICAgICAgICB9CiAKLSAgICAgICAgaWYg
KCQzKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgKiQzKTsKLSAg
ICAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQzKTsKLSAgICAgICAgfSBl
bHNlCisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0KQorICAgICAgICAgICAgJCQgPSBuZXcgU3Rl
cCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUs
IG5hbWVzcGFjZVVSSSksIHN0ZDo6bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAgICBlbHNl
CiAgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2Rl
VGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSk7Ci0gICAgICAgIHBhcnNl
ci0+ZGVsZXRlU3RyaW5nKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgk
JCk7CiAgICAgfQogICAgIHwKICAgICBBYmJyZXZpYXRlZFN0ZXAKQEAgLTI1MCwzNyArMjMxLDM3
IEBAIEF4aXNTcGVjaWZpZXI6CiAgICAgOwogCiBOb2RlVGVzdDoKLSAgICBOT0RFVFlQRSAnKCcg
JyknCisgICAgTk9ERSAnKCcgJyknCiAgICAgewotICAgICAgICBpZiAoKiQxID09ICJub2RlIikK
LSAgICAgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlO
b2RlVGVzdCk7Ci0gICAgICAgIGVsc2UgaWYgKCokMSA9PSAidGV4dCIpCi0gICAgICAgICAgICAk
JCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6VGV4dE5vZGVUZXN0KTsKLSAg
ICAgICAgZWxzZSBpZiAoKiQxID09ICJjb21tZW50IikKLSAgICAgICAgICAgICQkID0gbmV3IFN0
ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpDb21tZW50Tm9kZVRlc3QpOwotCi0gICAgICAg
IHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rlck5vZGVU
ZXN0KCQkKTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6
OkFueU5vZGVUZXN0KTsKKyAgICB9CisgICAgfAorICAgIFRFWFQgJygnICcpJworICAgIHsKKyAg
ICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVz
dCk7CisgICAgfQorICAgIHwKKyAgICBDT01NRU5UICcoJyAnKScKKyAgICB7CisgICAgICAgICQk
ID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpDb21tZW50Tm9kZVRlc3QpOwog
ICAgIH0KICAgICB8CiAgICAgUEkgJygnICcpJwogICAgIHsKICAgICAgICAgJCQgPSBuZXcgU3Rl
cDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0
KTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rlck5vZGVUZXN0KCQkKTsKICAgICB9CiAgICAgfAog
ICAgIFBJICcoJyBMSVRFUkFMICcpJwogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9k
ZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCAkMy0+
c3RyaXBXaGl0ZVNwYWNlKCkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMyk7Ci0g
ICAgICAgIHBhcnNlci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7CisgICAgICAgIFN0cmluZyBsaXRl
cmFsID0gYWRvcHRSZWYoJDMpOworICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6UHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIGxpdGVyYWwuc3RyaXBX
aGl0ZVNwYWNlKCkpOwogICAgIH0KICAgICA7CiAKIE9wdGlvbmFsUHJlZGljYXRlTGlzdDoKICAg
ICAvKiBlbXB0eSAqLwogICAgIHsKLSAgICAgICAgJCQgPSAwOworICAgICAgICAkJCA9IG51bGxw
dHI7CiAgICAgfQogICAgIHwKICAgICBQcmVkaWNhdGVMaXN0CkBAIC0yODksMTYgKzI3MCwxNCBA
QCBPcHRpb25hbFByZWRpY2F0ZUxpc3Q6CiBQcmVkaWNhdGVMaXN0OgogICAgIFByZWRpY2F0ZQog
ICAgIHsKLSAgICAgICAgJCQgPSBuZXcgVmVjdG9yPFByZWRpY2F0ZSo+OwotICAgICAgICAkJC0+
YXBwZW5kKG5ldyBQcmVkaWNhdGUoJDEpKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFy
c2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclByZWRpY2F0ZVZlY3RvcigkJCk7
CisgICAgICAgICQkID0gbmV3IFZlY3RvcjxQcmVkaWNhdGU+OworICAgICAgICAkJC0+YXBwZW5k
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSkpOwogICAgIH0KICAgICB8CiAgICAgUHJl
ZGljYXRlTGlzdCBQcmVkaWNhdGUKICAgICB7Ci0gICAgICAgICQkLT5hcHBlbmQobmV3IFByZWRp
Y2F0ZSgkMikpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOworICAg
ICAgICAkJCA9ICQxOworICAgICAgICAkJC0+YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPigkMikpOwogICAgIH0KICAgICA7CiAKQEAgLTMxMyw3ICsyOTIsNiBAQCBEZXNjZW5kYW50
T3JTZWxmOgogICAgIFNMQVNIU0xBU0gKICAgICB7CiAgICAgICAgICQkID0gbmV3IFN0ZXAoU3Rl
cDo6RGVzY2VuZGFudE9yU2VsZkF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpB
bnlOb2RlVGVzdCkpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAg
ICB9CiAgICAgOwogCkBAIC0zMjEsMjIgKzI5OSwxOSBAQCBBYmJyZXZpYXRlZFN0ZXA6CiAgICAg
Jy4nCiAgICAgewogICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OlNlbGZBeGlzLCBTdGVwOjpO
b2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKLSAgICAgICAgcGFyc2VyLT5y
ZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAgICBET1RET1QKICAgICB7CiAg
ICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6UGFyZW50QXhpcywgU3RlcDo6Tm9kZVRlc3QoU3Rl
cDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0KSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJz
ZU5vZGUoJCQpOwogICAgIH0KICAgICA7CiAKIFByaW1hcnlFeHByOgogICAgIFZBUklBQkxFUkVG
RVJFTkNFCiAgICAgewotICAgICAgICAkJCA9IG5ldyBWYXJpYWJsZVJlZmVyZW5jZSgqJDEpOwot
ICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0
ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBTdHJpbmcgbmFtZSA9IGFkb3B0UmVmKCQxKTsKKyAg
ICAgICAgJCQgPSBuZXcgVmFyaWFibGVSZWZlcmVuY2UobmFtZSk7CiAgICAgfQogICAgIHwKICAg
ICAnKCcgRXhwciAnKScKQEAgLTM0NiwxNiArMzIxLDE0IEBAIFByaW1hcnlFeHByOgogICAgIHwK
ICAgICBMSVRFUkFMCiAgICAgewotICAgICAgICAkJCA9IG5ldyBTdHJpbmdFeHByZXNzaW9uKCok
MSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5y
ZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIFN0cmluZyBsaXRlcmFsID0gYWRvcHRSZWYo
JDEpOworICAgICAgICAkJCA9IG5ldyBTdHJpbmdFeHByZXNzaW9uKHN0ZDo6bW92ZShsaXRlcmFs
KSk7CiAgICAgfQogICAgIHwKICAgICBOVU1CRVIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51
bWJlcigkMS0+dG9Eb3VibGUoKSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsK
LSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIFN0cmluZyBu
dW1lcmFsID0gYWRvcHRSZWYoJDEpOworICAgICAgICAkJCA9IG5ldyBOdW1iZXIobnVtZXJhbC50
b0RvdWJsZSgpKTsKICAgICB9CiAgICAgfAogICAgIEZ1bmN0aW9uQ2FsbApAQCAtMzY0LDM3ICsz
MzcsMzIgQEAgUHJpbWFyeUV4cHI6CiBGdW5jdGlvbkNhbGw6CiAgICAgRlVOQ1RJT05OQU1FICco
JyAnKScKICAgICB7Ci0gICAgICAgICQkID0gY3JlYXRlRnVuY3Rpb24oKiQxKTsKKyAgICAgICAg
U3RyaW5nIG5hbWUgPSBhZG9wdFJlZigkMSk7CisgICAgICAgICQkID0gWFBhdGg6OkZ1bmN0aW9u
OjpjcmVhdGUobmFtZSkucmVsZWFzZSgpOwogICAgICAgICBpZiAoISQkKQogICAgICAgICAgICAg
WVlBQk9SVDsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJz
ZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgIEZVTkNUSU9OTkFN
RSAnKCcgQXJndW1lbnRMaXN0ICcpJwogICAgIHsKLSAgICAgICAgJCQgPSBjcmVhdGVGdW5jdGlv
bigqJDEsICokMyk7CisgICAgICAgIFN0cmluZyBuYW1lID0gYWRvcHRSZWYoJDEpOworICAgICAg
ICAkJCA9IFhQYXRoOjpGdW5jdGlvbjo6Y3JlYXRlKG5hbWUsIHN0ZDo6bW92ZSgqJDMpKS5yZWxl
YXNlKCk7CiAgICAgICAgIGlmICghJCQpCiAgICAgICAgICAgICBZWUFCT1JUOwotICAgICAgICBw
YXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlRXhwcmVzc2lv
blZlY3RvcigkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAg
IH0KICAgICA7CiAKIEFyZ3VtZW50TGlzdDoKICAgICBBcmd1bWVudAogICAgIHsKLSAgICAgICAg
JCQgPSBuZXcgVmVjdG9yPEV4cHJlc3Npb24qPjsKLSAgICAgICAgJCQtPmFwcGVuZCgkMSk7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9yKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj47CisgICAgICAgICQkLT5hcHBlbmQoc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+KCQxKSk7CiAgICAgfQogICAgIHwKICAgICBBcmd1bWVudExpc3Qg
JywnIEFyZ3VtZW50CiAgICAgewotICAgICAgICAkJC0+YXBwZW5kKCQzKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAg
JCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAg
OwogCkBAIC00MDcsNDEgKzM3NSwyNiBAQCBVbmlvbkV4cHI6CiAgICAgfAogICAgIFVuaW9uRXhw
ciAnfCcgUGF0aEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFVuaW9uOwotICAgICAgICAk
JC0+YWRkU3ViRXhwcmVzc2lvbigkMSk7Ci0gICAgICAgICQkLT5hZGRTdWJFeHByZXNzaW9uKCQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IFVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAg
ICA7CiAKIFBhdGhFeHByOgogICAgIExvY2F0aW9uUGF0aAotICAgIHsKLSAgICAgICAgJCQgPSAk
MTsKLSAgICB9CiAgICAgfAogICAgIEZpbHRlckV4cHIKICAgICB8CiAgICAgRmlsdGVyRXhwciAn
LycgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7Ci0gICAgICAgICQzLT5zZXRBYnNvbHV0ZSh0
cnVlKTsKLSAgICAgICAgJCQgPSBuZXcgUGF0aChzdGF0aWNfY2FzdDxGaWx0ZXIqPigkMSksICQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQzLT5zZXRBYnNvbHV0ZSgpOworICAgICAgICAkJCA9IG5l
dyBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxM
b2NhdGlvblBhdGg+KCQzKSk7CiAgICAgfQogICAgIHwKICAgICBGaWx0ZXJFeHByIERlc2NlbmRh
bnRPclNlbGYgUmVsYXRpdmVMb2NhdGlvblBhdGgKICAgICB7Ci0gICAgICAgICQzLT5pbnNlcnRG
aXJzdFN0ZXAoJDIpOwotICAgICAgICAkMy0+c2V0QWJzb2x1dGUodHJ1ZSk7Ci0gICAgICAgICQk
ID0gbmV3IFBhdGgoc3RhdGljX2Nhc3Q8RmlsdGVyKj4oJDEpLCAkMyk7Ci0gICAgICAgIHBhcnNl
ci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBh
cnNlTm9kZSgkMik7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0g
ICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkMy0+cHJlcGVu
ZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQyKSk7CisgICAgICAgICQzLT5zZXRBYnNvbHV0
ZSgpOworICAgICAgICAkJCA9IG5ldyBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigk
MSksIHN0ZDo6dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+KCQzKSk7CiAgICAgfQogICAgIDsKIApA
QCAtNDUwLDEwICs0MDMsOCBAQCBGaWx0ZXJFeHByOgogICAgIHwKICAgICBQcmltYXJ5RXhwciBQ
cmVkaWNhdGVMaXN0CiAgICAgewotICAgICAgICAkJCA9IG5ldyBGaWx0ZXIoJDEsICokMik7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+
ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNl
Tm9kZSgkJCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UHJlZGljYXRlPj4gcHJl
ZGljYXRlTGlzdCgkMik7CisgICAgICAgICQkID0gbmV3IEZpbHRlcihzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4oJDEpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKICAgICB9CiAgICAg
OwogCkBAIC00NjIsMTAgKzQxMyw3IEBAIE9yRXhwcjoKICAgICB8CiAgICAgT3JFeHByIE9SIEFu
ZEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IExvZ2ljYWxPcChMb2dpY2FsT3A6Ok9QX09y
LCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgTG9naWNhbE9wKExvZ2ljYWxP
cDo6T1BfT3IsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0
cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ3NCwxMCArNDIyLDcgQEAg
QW5kRXhwcjoKICAgICB8CiAgICAgQW5kRXhwciBBTkQgRXF1YWxpdHlFeHByCiAgICAgewotICAg
ICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9BbmQsICQxLCAkMyk7Ci0gICAg
ICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5y
ZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOworICAgICAgICAkJCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9BbmQsIHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigk
MykpOwogICAgIH0KICAgICA7CiAKQEAgLTQ4NiwxMCArNDMxLDcgQEAgRXF1YWxpdHlFeHByOgog
ICAgIHwKICAgICBFcXVhbGl0eUV4cHIgRVFPUCBSZWxhdGlvbmFsRXhwcgogICAgIHsKLSAgICAg
ICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdp
c3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
Myk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9
IG5ldyBFcVRlc3RPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNDk4LDEwICs0
NDAsNyBAQCBSZWxhdGlvbmFsRXhwcjoKICAgICB8CiAgICAgUmVsYXRpb25hbEV4cHIgUkVMT1Ag
QWRkaXRpdmVFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBFcVRlc3RPcCgkMiwgJDEsICQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCBzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAg
ICB9CiAgICAgOwogCkBAIC01MTAsMTggKzQ0OSwxMiBAQCBBZGRpdGl2ZUV4cHI6CiAgICAgfAog
ICAgIEFkZGl0aXZlRXhwciBQTFVTIE11bHRpcGxpY2F0aXZlRXhwcgogICAgIHsKLSAgICAgICAg
JCQgPSBuZXcgTnVtZXJpY09wKE51bWVyaWNPcDo6T1BfQWRkLCAkMSwgJDMpOwotICAgICAgICBw
YXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0
ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsK
KyAgICAgICAgJCQgPSBuZXcgTnVtZXJpY09wKE51bWVyaWNPcDo6T1BfQWRkLCBzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsK
ICAgICB9CiAgICAgfAogICAgIEFkZGl0aXZlRXhwciBNSU5VUyBNdWx0aXBsaWNhdGl2ZUV4cHIK
ICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNPcChOdW1lcmljT3A6Ok9QX1N1YiwgJDEs
ICQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAg
cGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3Rl
clBhcnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNPcChOdW1lcmljT3A6Ok9Q
X1N1Yiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNTMwLDEwICs0NjMsNyBAQCBNdWx0
aXBsaWNhdGl2ZUV4cHI6CiAgICAgfAogICAgIE11bHRpcGxpY2F0aXZlRXhwciBNVUxPUCBVbmFy
eUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNPcCgkMiwgJDEsICQzKTsKLSAg
ICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51
bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9k
ZSgkJCk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQog
ICAgIDsKIApAQCAtNTQyLDEwICs0NzIsNyBAQCBVbmFyeUV4cHI6CiAgICAgfAogICAgIE1JTlVT
IFVuYXJ5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTmVnYXRpdmU7Ci0gICAgICAgICQk
LT5hZGRTdWJFeHByZXNzaW9uKCQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VO
b2RlKCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAg
ICQkID0gbmV3IE5lZ2F0aXZlKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMikpOwogICAg
IH0KICAgICA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5jcHAKaW5kZXggODc3ODJkNGFh
OWQ1MTM4ZjBiNDE3M2RlNWU4MzAyMTNkNjBiNGM4MC4uZTVhNmE5Mjk2NzI3MjJlOTEwZTAyNGU5
YmI2NWRiMmU1MmYzMDE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9k
ZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAgc3RhdGljIGlubGluZSBOb2RlKiBwYXJlbnRXaXRoRGVwdGgodW5zaWduZWQg
ZGVwdGgsIGNvbnN0IFZlY3RvcjxOb2RlKj4mIHBhcmVudHMKICAgICByZXR1cm4gcGFyZW50c1tw
YXJlbnRzLnNpemUoKSAtIDEgLSBkZXB0aF07CiB9CiAKLXN0YXRpYyB2b2lkIHNvcnRCbG9jayh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgVmVjdG9yPFZlY3RvcjxOb2RlKj4gPiYgcGFyZW50
TWF0cml4LCBib29sIG1heUNvbnRhaW5BdHRyaWJ1dGVOb2RlcykKK3N0YXRpYyB2b2lkIHNvcnRC
bG9jayh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgVmVjdG9yPFZlY3RvcjxOb2RlKj4+JiBw
YXJlbnRNYXRyaXgsIGJvb2wgbWF5Q29udGFpbkF0dHJpYnV0ZU5vZGVzKQogewogICAgIEFTU0VS
VChmcm9tICsgMSA8IHRvKTsgLy8gU2hvdWxkIG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBs
ZXNzIHRoYXQgdHdvIG5vZGVzIHRvIHNvcnQuCiAgICAgdW5zaWduZWQgbWluRGVwdGggPSBVSU5U
X01BWDsKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIE5vZGVTZXQ6OnNvcnQoKSBjb25zdAogCiAg
ICAgdW5zaWduZWQgbm9kZUNvdW50ID0gbV9ub2Rlcy5zaXplKCk7CiAgICAgaWYgKG5vZGVDb3Vu
dCA8IDIpIHsKLSAgICAgICAgY29uc3RfY2FzdDxib29sJj4obV9pc1NvcnRlZCkgPSB0cnVlOwor
ICAgICAgICBtX2lzU29ydGVkID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MTY5LDEyICsxNjksMTMgQEAgdm9pZCBOb2RlU2V0Ojpzb3J0KCkgY29uc3QKICAgICBzb3J0Qmxv
Y2soMCwgbm9kZUNvdW50LCBwYXJlbnRNYXRyaXgsIGNvbnRhaW5zQXR0cmlidXRlTm9kZXMpOwog
ICAgIAogICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBqdXN0IGFzc2lnbiB0aGUgcmVzdWx0
IHRvIG1fbm9kZXMsIGJlY2F1c2Ugc29tZSBub2RlcyBtYXkgZ2V0IGRlcmVmZXJlbmNlZCBhbmQg
ZGVzdHJveWVkLgotICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiBzb3J0ZWROb2RlczsKKyAgICBW
ZWN0b3I8UmVmUHRyPE5vZGU+PiBzb3J0ZWROb2RlczsKICAgICBzb3J0ZWROb2Rlcy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KG5vZGVDb3VudCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG5vZGVDb3VudDsgKytpKQogICAgICAgICBzb3J0ZWROb2Rlcy5hcHBlbmQocGFyZW50TWF0cml4
W2ldWzBdKTsKICAgICAKLSAgICBjb25zdF9jYXN0PFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiY+KG1f
bm9kZXMpLnN3YXAoc29ydGVkTm9kZXMpOworICAgIG1fbm9kZXMgPSBzdGQ6Om1vdmUoc29ydGVk
Tm9kZXMpOworICAgIG1faXNTb3J0ZWQgPSB0cnVlOwogfQogCiBzdGF0aWMgTm9kZSogZmluZFJv
b3ROb2RlKE5vZGUqIG5vZGUpCkBAIC0yMjcsMjcgKzIyOCwxNCBAQCB2b2lkIE5vZGVTZXQ6OnRy
YXZlcnNhbFNvcnQoKSBjb25zdAogICAgIH0KIAogICAgIEFTU0VSVChzb3J0ZWROb2Rlcy5zaXpl
KCkgPT0gbm9kZUNvdW50KTsKLSAgICBjb25zdF9jYXN0PFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiY+
KG1fbm9kZXMpLnN3YXAoc29ydGVkTm9kZXMpOwotfQotCi12b2lkIE5vZGVTZXQ6OnJldmVyc2Uo
KQotewotICAgIGlmIChtX25vZGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
dW5zaWduZWQgZnJvbSA9IDA7Ci0gICAgdW5zaWduZWQgdG8gPSBtX25vZGVzLnNpemUoKSAtIDE7
Ci0gICAgd2hpbGUgKGZyb20gPCB0bykgewotICAgICAgICBtX25vZGVzW2Zyb21dLnN3YXAobV9u
b2Rlc1t0b10pOwotICAgICAgICArK2Zyb207Ci0gICAgICAgIC0tdG87Ci0gICAgfQorICAgIG1f
bm9kZXMgPSBzdGQ6Om1vdmUoc29ydGVkTm9kZXMpOworICAgIG1faXNTb3J0ZWQgPSB0cnVlOwog
fQogCiBOb2RlKiBOb2RlU2V0OjpmaXJzdE5vZGUoKSBjb25zdAogewogICAgIGlmIChpc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHNv
cnQoKTsgLy8gRklYTUU6IGZ1bGx5IHNvcnRpbmcgdGhlIG5vZGUtc2V0IGp1c3QgdG8gZmluZCBp
dHMgZmlyc3Qgbm9kZSBpcyB3YXN0ZWZ1bC4KICAgICByZXR1cm4gbV9ub2Rlcy5hdCgwKS5nZXQo
KTsKQEAgLTI1Niw3ICsyNDQsNyBAQCBOb2RlKiBOb2RlU2V0OjpmaXJzdE5vZGUoKSBjb25zdAog
Tm9kZSogTm9kZVNldDo6YW55Tm9kZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgcmV0dXJuIG1f
bm9kZXMuYXQoMCkuZ2V0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhOb2RlU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggODM5
YmU4ZDhmMDQwM2Q3YTEyYzY5ZmQ0Y2QxNTdjZDMyNzhkMDQxZi4uM2I4YjRjOTgxODIyZjUwODBi
MmU1N2JhOTU3OGRkZmVlZjI4MDE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoTm9kZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtv
diA8YXBAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDkg
KzI3LDYgQEAKICNpZm5kZWYgWFBhdGhOb2RlU2V0X2gKICNkZWZpbmUgWFBhdGhOb2RlU2V0X2gK
IAotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCiAj
aW5jbHVkZSAiTm9kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiwyNiArMzQsMjQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKICAgICAgICAg
Y2xhc3MgTm9kZVNldCB7Ci0gICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwg
bV9zdWJ0cmVlc0FyZURpc2pvaW50KGZhbHNlKSB7IH0KKyAgICAgICAgICAgIE5vZGVTZXQoUGFz
c1JlZlB0cjxOb2RlPiBub2RlKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNq
b2ludChmYWxzZSksIG1fbm9kZXMoMSwgbm9kZSkgeyB9CiAgICAgICAgICAgICAKICAgICAgICAg
ICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9ub2Rlcy5zaXplKCk7IH0KLSAgICAg
ICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFtX25vZGVzLnNpemUoKTsgfQor
ICAgICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9ub2Rlcy5pc0VtcHR5
KCk7IH0KICAgICAgICAgICAgIE5vZGUqIG9wZXJhdG9yW10odW5zaWduZWQgaSkgY29uc3QgeyBy
ZXR1cm4gbV9ub2Rlcy5hdChpKS5nZXQoKTsgfQogICAgICAgICAgICAgdm9pZCByZXNlcnZlQ2Fw
YWNpdHkoc2l6ZV90IG5ld0NhcGFjaXR5KSB7IG1fbm9kZXMucmVzZXJ2ZUNhcGFjaXR5KG5ld0Nh
cGFjaXR5KTsgfQogICAgICAgICAgICAgdm9pZCBjbGVhcigpIHsgbV9ub2Rlcy5jbGVhcigpOyB9
Ci0gICAgICAgICAgICB2b2lkIHN3YXAoTm9kZVNldCYgb3RoZXIpIHsgc3RkOjpzd2FwKG1faXNT
b3J0ZWQsIG90aGVyLm1faXNTb3J0ZWQpOyBzdGQ6OnN3YXAobV9zdWJ0cmVlc0FyZURpc2pvaW50
LCBvdGhlci5tX3N1YnRyZWVzQXJlRGlzam9pbnQpOyBtX25vZGVzLnN3YXAob3RoZXIubV9ub2Rl
cyk7IH0KIAogICAgICAgICAgICAgLy8gTm9kZVNldCBpdHNlbGYgZG9lcyBub3QgdmVyaWZ5IHRo
YXQgbm9kZXMgaW4gaXQgYXJlIHVuaXF1ZS4KLSAgICAgICAgICAgIHZvaWQgYXBwZW5kKE5vZGUq
IG5vZGUpIHsgbV9ub2Rlcy5hcHBlbmQobm9kZSk7IH0KICAgICAgICAgICAgIHZvaWQgYXBwZW5k
KFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkgeyBtX25vZGVzLmFwcGVuZChub2RlKTsgfQogICAgICAg
ICAgICAgdm9pZCBhcHBlbmQoY29uc3QgTm9kZVNldCYgbm9kZVNldCkgeyBtX25vZGVzLmFwcGVu
ZFZlY3Rvcihub2RlU2V0Lm1fbm9kZXMpOyB9CiAKLSAgICAgICAgICAgIC8vIFJldHVybnMgdGhl
IHNldCdzIGZpcnN0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIG9yIDAgaWYgdGhlIHNldCBpcyBl
bXB0eS4KKyAgICAgICAgICAgIC8vIFJldHVybnMgdGhlIHNldCdzIGZpcnN0IG5vZGUgaW4gZG9j
dW1lbnQgb3JkZXIsIG9yIG51bGxwdHIgaWYgdGhlIHNldCBpcyBlbXB0eS4KICAgICAgICAgICAg
IE5vZGUqIGZpcnN0Tm9kZSgpIGNvbnN0OwogCi0gICAgICAgICAgICAvLyBSZXR1cm5zIDAgaWYg
dGhlIHNldCBpcyBlbXB0eS4KKyAgICAgICAgICAgIC8vIFJldHVybnMgbnVsbHB0ciBpZiB0aGUg
c2V0IGlzIGVtcHR5LgogICAgICAgICAgICAgTm9kZSogYW55Tm9kZSgpIGNvbnN0OwogCiAgICAg
ICAgICAgICAvLyBOb2RlU2V0IGl0c2VsZiBkb2Vzbid0IGNoZWNrIGlmIGl0IGNvbnRhaW5zIG5v
ZGVzIGluIGRvY3VtZW50IG9yZGVyIC0gdGhlIGNhbGxlciBzaG91bGQgdGVsbCBpdCBpZiBpdCBk
b2VzIG5vdC4KQEAgLTY4LDE0ICs2NCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICB2b2lkIG1hcmtTdWJ0cmVlc0Rpc2pvaW50KGJvb2wgZGlzam9pbnQpIHsgbV9zdWJ0cmVl
c0FyZURpc2pvaW50ID0gZGlzam9pbnQ7IH0KICAgICAgICAgICAgIGJvb2wgc3VidHJlZXNBcmVE
aXNqb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZXNBcmVEaXNqb2ludCB8fCBtX25vZGVz
LnNpemUoKSA8IDI7IH0KIAotICAgICAgICAgICAgdm9pZCByZXZlcnNlKCk7Ci0gICAgICAgIAog
ICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgdm9pZCB0cmF2ZXJzYWxTb3J0KCkgY29uc3Q7
CiAKLSAgICAgICAgICAgIGJvb2wgbV9pc1NvcnRlZDsKKyAgICAgICAgICAgIG11dGFibGUgYm9v
bCBtX2lzU29ydGVkOwogICAgICAgICAgICAgYm9vbCBtX3N1YnRyZWVzQXJlRGlzam9pbnQ7Ci0g
ICAgICAgICAgICBWZWN0b3I8UmVmUHRyPE5vZGU+ID4gbV9ub2RlczsKKyAgICAgICAgICAgIG11
dGFibGUgVmVjdG9yPFJlZlB0cjxOb2RlPj4gbV9ub2RlczsKICAgICAgICAgfTsKIAogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuY3BwCmluZGV4IGEwM2YxZmVjY2I1NzJlMmQ3N2E4YTFi
NmMxNmI3MjMyOTIwNzA0ODIuLjgyNjk4NWJlNGMzZjc0YmI0NGFmNGQ2YmNkMjI3OTkwYmQ4NjA1
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgMjAwNSBNYWtzaW0gT3Jsb3ZpY2ggPG1ha3NpbUBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC0zNCwyNiArMzQsNDAgQEAKICNpbmNsdWRlICJYUGF0aE5TUmVzb2x2ZXIuaCIKICNp
bmNsdWRlICJYUGF0aFBhdGguaCIKICNpbmNsdWRlICJYUGF0aFN0ZXAuaCIKKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LXVzaW5nIG5hbWVzcGFjZSBXVEY7Ci11c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIHVzaW5nIG5h
bWVzcGFjZSBYUGF0aDsKIAotZXh0ZXJuIGludCB4cGF0aHl5cGFyc2UoV2ViQ29yZTo6WFBhdGg6
OlBhcnNlciopOworZXh0ZXJuIGludCB4cGF0aHl5cGFyc2UoUGFyc2VyJik7CisKICNpbmNsdWRl
ICJYUGF0aEdyYW1tYXIuaCIKIAotUGFyc2VyKiBQYXJzZXI6OmN1cnJlbnRQYXJzZXIgPSAwOwor
bmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFhQYXRoIHsKIAotZW51bSBYTUxDYXQgeyBO
YW1lU3RhcnQsIE5hbWVDb250LCBOb3RQYXJ0T2ZOYW1lIH07CitzdHJ1Y3QgUGFyc2VyOjpUb2tl
biB7CisgICAgaW50IHR5cGU7CisgICAgU3RyaW5nIHN0cmluZzsKKyAgICBTdGVwOjpBeGlzIGF4
aXM7CisgICAgTnVtZXJpY09wOjpPcGNvZGUgbnVtZXJpY09wY29kZTsKKyAgICBFcVRlc3RPcDo6
T3Bjb2RlIGVxdWFsaXR5VGVzdE9wY29kZTsKIAotdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgU3Rl
cDo6QXhpcz4gQXhpc05hbWVzTWFwOworICAgIFRva2VuKGludCB0eXBlKSA6IHR5cGUodHlwZSkg
eyB9CisgICAgVG9rZW4oaW50IHR5cGUsIGNvbnN0IFN0cmluZyYgc3RyaW5nKSA6IHR5cGUodHlw
ZSksIHN0cmluZyhzdHJpbmcpIHsgfQorICAgIFRva2VuKGludCB0eXBlLCBTdGVwOjpBeGlzIGF4
aXMpIDogdHlwZSh0eXBlKSwgYXhpcyhheGlzKSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgTnVt
ZXJpY09wOjpPcGNvZGUgb3Bjb2RlKSA6IHR5cGUodHlwZSksIG51bWVyaWNPcGNvZGUob3Bjb2Rl
KSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgRXFUZXN0T3A6Ok9wY29kZSBvcGNvZGUpIDogdHlw
ZSh0eXBlKSwgZXF1YWxpdHlUZXN0T3Bjb2RlKG9wY29kZSkgeyB9Cit9OworCitlbnVtIFhNTENh
dCB7IE5hbWVTdGFydCwgTmFtZUNvbnQsIE5vdFBhcnRPZk5hbWUgfTsKIAogc3RhdGljIFhNTENh
dCBjaGFyQ2F0KFVDaGFyIGFDaGFyKQogewotICAgIC8vIyMjIG1pZ2h0IG5lZWQgdG8gYWRkIHNv
bWUgc3BlY2lhbCBjYXNlcyBmcm9tIHRoZSBYTUwgc3BlYy4KKyAgICB1c2luZyBuYW1lc3BhY2Ug
V1RGOworICAgIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiAgICAgaWYgKGFDaGFyID09ICdf
JykKICAgICAgICAgcmV0dXJuIE5hbWVTdGFydDsKQEAgLTY4LDcgKzgyLDcgQEAgc3RhdGljIFhN
TENhdCBjaGFyQ2F0KFVDaGFyIGFDaGFyKQogICAgIHJldHVybiBOb3RQYXJ0T2ZOYW1lOwogfQog
Ci1zdGF0aWMgdm9pZCBzZXRVcEF4aXNOYW1lc01hcChBeGlzTmFtZXNNYXAmIGF4aXNOYW1lcykK
K3N0YXRpYyB2b2lkIHBvcHVsYXRlQXhpc05hbWVzTWFwKEhhc2hNYXA8U3RyaW5nLCBTdGVwOjpB
eGlzPiYgYXhpc05hbWVzKQogewogICAgIHN0cnVjdCBBeGlzTmFtZSB7CiAgICAgICAgIGNvbnN0
IGNoYXIqIG5hbWU7CkBAIC04OSwyOSArMTAzLDIzIEBAIHN0YXRpYyB2b2lkIHNldFVwQXhpc05h
bWVzTWFwKEF4aXNOYW1lc01hcCYgYXhpc05hbWVzKQogICAgICAgICB7ICJwcmVjZWRpbmctc2li
bGluZyIsIFN0ZXA6OlByZWNlZGluZ1NpYmxpbmdBeGlzIH0sCiAgICAgICAgIHsgInNlbGYiLCBT
dGVwOjpTZWxmQXhpcyB9CiAgICAgfTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6
ZW9mKGF4aXNOYW1lTGlzdCkgLyBzaXplb2YoYXhpc05hbWVMaXN0WzBdKTsgKytpKQotICAgICAg
ICBheGlzTmFtZXMuc2V0KGF4aXNOYW1lTGlzdFtpXS5uYW1lLCBheGlzTmFtZUxpc3RbaV0uYXhp
cyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoYXhpc05h
bWVMaXN0KTsgKytpKQorICAgICAgICBheGlzTmFtZXMuYWRkKGF4aXNOYW1lTGlzdFtpXS5uYW1l
LCBheGlzTmFtZUxpc3RbaV0uYXhpcyk7CiB9CiAKLXN0YXRpYyBib29sIGlzQXhpc05hbWUoY29u
c3QgU3RyaW5nJiBuYW1lLCBTdGVwOjpBeGlzJiB0eXBlKQorc3RhdGljIGJvb2wgcGFyc2VBeGlz
TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0ZXA6OkF4aXMmIHR5cGUpCiB7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBeGlzTmFtZXNNYXAsIGF4aXNOYW1lcywgKCkpOwotCi0gICAgaWYgKGF4
aXNOYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIHNldFVwQXhpc05hbWVzTWFwKGF4aXNOYW1lcyk7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdGVwOjpBeGlzPj4g
YXhpc05hbWVzOworICAgIGlmIChheGlzTmFtZXMuZ2V0KCkuaXNFbXB0eSgpKQorICAgICAgICBw
b3B1bGF0ZUF4aXNOYW1lc01hcChheGlzTmFtZXMpOwogCi0gICAgQXhpc05hbWVzTWFwOjppdGVy
YXRvciBpdCA9IGF4aXNOYW1lcy5maW5kKG5hbWUpOwotICAgIGlmIChpdCA9PSBheGlzTmFtZXMu
ZW5kKCkpCisgICAgYXV0byBpdCA9IGF4aXNOYW1lcy5nZXQoKS5maW5kKG5hbWUpOworICAgIGlm
IChpdCA9PSBheGlzTmFtZXMuZ2V0KCkuZW5kKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB0eXBlID0gaXQtPnZhbHVlOwogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBp
c05vZGVUeXBlTmFtZShjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgcmV0dXJuIG5hbWUgPT0g
ImNvbW1lbnQiIHx8IG5hbWUgPT0gInRleHQiIHx8IG5hbWUgPT0gInByb2Nlc3NpbmctaW5zdHJ1
Y3Rpb24iIHx8IG5hbWUgPT0gIm5vZGUiOwotfQotCiAvLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGN1
cnJlbnQgdG9rZW4gY2FuIHBvc3NpYmx5IGJlIGEgYmluYXJ5IG9wZXJhdG9yLCBnaXZlbgogLy8g
dGhlIHByZXZpb3VzIHRva2VuLiBOZWNlc3NhcnkgdG8gZGlzYW1iaWd1YXRlIHNvbWUgb2YgdGhl
IG9wZXJhdG9ycwogLy8gKCogKG11bHRpcGx5KSwgZGl2LCBhbmQsIG9yLCBtb2QpIGluIHRoZSBb
MzJdIE9wZXJhdG9yIHJ1bGUKQEAgLTEzNiwyNSArMTQ0LDI1IEBAIHZvaWQgUGFyc2VyOjpza2lw
V1MoKQogICAgICAgICArK21fbmV4dFBvczsKIH0KIAotVG9rZW4gUGFyc2VyOjptYWtlVG9rZW5B
bmRBZHZhbmNlKGludCBjb2RlLCBpbnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjpt
YWtlVG9rZW5BbmRBZHZhbmNlKGludCBjb2RlLCBpbnQgYWR2YW5jZSkKIHsKICAgICBtX25leHRQ
b3MgKz0gYWR2YW5jZTsKICAgICByZXR1cm4gVG9rZW4oY29kZSk7CiB9CiAKLVRva2VuIFBhcnNl
cjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgTnVtZXJpY09wOjpPcGNvZGUgdmFsLCBp
bnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZhbmNlKGlu
dCBjb2RlLCBOdW1lcmljT3A6Ok9wY29kZSB2YWwsIGludCBhZHZhbmNlKQogewogICAgIG1fbmV4
dFBvcyArPSBhZHZhbmNlOwogICAgIHJldHVybiBUb2tlbihjb2RlLCB2YWwpOwogfQogCi1Ub2tl
biBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIEVxVGVzdE9wOjpPcGNvZGUg
dmFsLCBpbnQgYWR2YW5jZSkKK1BhcnNlcjo6VG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZh
bmNlKGludCBjb2RlLCBFcVRlc3RPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2UpCiB7CiAgICAg
bV9uZXh0UG9zICs9IGFkdmFuY2U7CiAgICAgcmV0dXJuIFRva2VuKGNvZGUsIHZhbCk7CiB9CiAK
LS8vIFJldHVybnMgbmV4dCBjaGFyIGlmIGl0J3MgdGhlcmUgYW5kIGludGVyZXN0aW5nLCAwIG90
aGVyd2lzZQorLy8gUmV0dXJucyBuZXh0IGNoYXIgaWYgaXQncyB0aGVyZSBhbmQgaW50ZXJlc3Rp
bmcsIDAgb3RoZXJ3aXNlLgogY2hhciBQYXJzZXI6OnBlZWtBaGVhZEhlbHBlcigpCiB7CiAgICAg
aWYgKG1fbmV4dFBvcyArIDEgPj0gbV9kYXRhLmxlbmd0aCgpKQpAQCAtMTc1LDcgKzE4Myw3IEBA
IGNoYXIgUGFyc2VyOjpwZWVrQ3VySGVscGVyKCkKICAgICByZXR1cm4gbmV4dDsKIH0KIAotVG9r
ZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQorUGFyc2VyOjpUb2tlbiBQYXJzZXI6OmxleFN0cmluZygp
CiB7CiAgICAgVUNoYXIgZGVsaW1pdGVyID0gbV9kYXRhW21fbmV4dFBvc107CiAgICAgaW50IHN0
YXJ0UG9zID0gbV9uZXh0UG9zICsgMTsKQEAgLTE5NCw3ICsyMDIsNyBAQCBUb2tlbiBQYXJzZXI6
OmxleFN0cmluZygpCiAgICAgcmV0dXJuIFRva2VuKFhQQVRIX0VSUk9SKTsKIH0KIAotVG9rZW4g
UGFyc2VyOjpsZXhOdW1iZXIoKQorUGFyc2VyOjpUb2tlbiBQYXJzZXI6OmxleE51bWJlcigpCiB7
CiAgICAgaW50IHN0YXJ0UG9zID0gbV9uZXh0UG9zOwogICAgIGJvb2wgc2VlbkRvdCA9IGZhbHNl
OwpAQCAtMjU2LDcgKzI2NCw3IEBAIGJvb2wgUGFyc2VyOjpsZXhRTmFtZShTdHJpbmcmIG5hbWUp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwo
KQoraW5saW5lIFBhcnNlcjo6VG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiB7CiAg
ICAgc2tpcFdTKCk7CiAKQEAgLTM0NCw3ICszNTIsNyBAQCBUb2tlbiBQYXJzZXI6Om5leHRUb2tl
bkludGVybmFsKCkKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy9JdCBtaWdodCBiZSBhbiBh
eGlzIG5hbWUuCiAgICAgICAgICAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgICAgICAgICBpZiAo
aXNBeGlzTmFtZShuYW1lLCBheGlzKSkKKyAgICAgICAgICAgIGlmIChwYXJzZUF4aXNOYW1lKG5h
bWUsIGF4aXMpKQogICAgICAgICAgICAgICAgIHJldHVybiBUb2tlbihBWElTTkFNRSwgYXhpcyk7
CiAgICAgICAgICAgICAvLyBVZ2gsIDo6IGlzIG9ubHkgdmFsaWQgaW4gYXhpcyBuYW1lcyAtPiBl
cnJvcgogICAgICAgICAgICAgcmV0dXJuIFRva2VuKFhQQVRIX0VSUk9SKTsKQEAgLTM3MCwxMyAr
Mzc4LDE2IEBAIFRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwoKQogICAgIGlmIChwZWVr
Q3VySGVscGVyKCkgPT0gJygnKSB7CiAgICAgICAgIC8vIG5vdGU6IHdlIGRvbid0IHN3YWxsb3cg
dGhlICcoJyBoZXJlIQogCi0gICAgICAgIC8vIGVpdGhlciBub2RlIHR5cGUgb2YgZnVuY3Rpb24g
bmFtZQotICAgICAgICBpZiAoaXNOb2RlVHlwZU5hbWUobmFtZSkpIHsKLSAgICAgICAgICAgIGlm
IChuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIikKLSAgICAgICAgICAgICAgICByZXR1
cm4gVG9rZW4oUEkpOworICAgICAgICAvLyBFaXRoZXIgbm9kZSB0eXBlIG9vciBmdW5jdGlvbiBu
YW1lLgogCi0gICAgICAgICAgICByZXR1cm4gVG9rZW4oTk9ERVRZUEUsIG5hbWUpOwotICAgICAg
ICB9CisgICAgICAgIGlmIChuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIikKKyAgICAg
ICAgICAgIHJldHVybiBUb2tlbihQSSk7CisgICAgICAgIGlmIChuYW1lID09ICJub2RlIikKKyAg
ICAgICAgICAgIHJldHVybiBUb2tlbihOT0RFKTsKKyAgICAgICAgaWYgKG5hbWUgPT0gInRleHQi
KQorICAgICAgICAgICAgcmV0dXJuIFRva2VuKFRFWFQpOworICAgICAgICBpZiAobmFtZSA9PSAi
Y29tbWVudCIpCisgICAgICAgICAgICByZXR1cm4gVG9rZW4oQ09NTUVOVCk7CiAKICAgICAgICAg
cmV0dXJuIFRva2VuKEZVTkNUSU9OTkFNRSwgbmFtZSk7CiAgICAgfQpAQCAtMzg1LDQ3ICszOTYs
MzYgQEAgVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiAgICAgcmV0dXJuIFRva2Vu
KE5BTUVURVNULCBuYW1lKTsKIH0KIAotVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW4oKQoraW5saW5l
IFBhcnNlcjo6VG9rZW4gUGFyc2VyOjpuZXh0VG9rZW4oKQogewotICAgIFRva2VuIHRvUmV0ID0g
bmV4dFRva2VuSW50ZXJuYWwoKTsKLSAgICBtX2xhc3RUb2tlblR5cGUgPSB0b1JldC50eXBlOwot
ICAgIHJldHVybiB0b1JldDsKKyAgICBUb2tlbiB0b2tlbiA9IG5leHRUb2tlbkludGVybmFsKCk7
CisgICAgbV9sYXN0VG9rZW5UeXBlID0gdG9rZW4udHlwZTsKKyAgICByZXR1cm4gdG9rZW47CiB9
CiAKLVBhcnNlcjo6UGFyc2VyKCkKK1BhcnNlcjo6UGFyc2VyKGNvbnN0IFN0cmluZyYgc3RhdGVt
ZW50LCBYUGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyKQorICAgIDogbV9kYXRhKHN0YXRlbWVudCkK
KyAgICAsIG1fcmVzb2x2ZXIocmVzb2x2ZXIpCisgICAgLCBtX25leHRQb3MoMCkKKyAgICAsIG1f
bGFzdFRva2VuVHlwZSgwKQorICAgICwgbV9zYXdOYW1lc3BhY2VFcnJvcihmYWxzZSkKIHsKLSAg
ICByZXNldChTdHJpbmcoKSk7CiB9CiAKLVBhcnNlcjo6flBhcnNlcigpCitpbnQgUGFyc2VyOjps
ZXgoWVlTVFlQRSYgeXlsdmFsKQogewotfQotCi12b2lkIFBhcnNlcjo6cmVzZXQoY29uc3QgU3Ry
aW5nJiBkYXRhKQotewotICAgIG1fbmV4dFBvcyA9IDA7Ci0gICAgbV9kYXRhID0gZGF0YTsKLSAg
ICBtX2xhc3RUb2tlblR5cGUgPSAwOwotICAgIAotICAgIG1fdG9wRXhwciA9IDA7Ci0gICAgbV9n
b3ROYW1lc3BhY2VFcnJvciA9IGZhbHNlOwotfQorICAgIFRva2VuIHRva2VuID0gbmV4dFRva2Vu
KCk7CiAKLWludCBQYXJzZXI6OmxleCh2b2lkKiBkYXRhKQotewotICAgIFlZU1RZUEUqIHl5bHZh
bCA9IHN0YXRpY19jYXN0PFlZU1RZUEUqPihkYXRhKTsKLSAgICBUb2tlbiB0b2sgPSBuZXh0VG9r
ZW4oKTsKLQotICAgIHN3aXRjaCAodG9rLnR5cGUpIHsKKyAgICBzd2l0Y2ggKHRva2VuLnR5cGUp
IHsKICAgICBjYXNlIEFYSVNOQU1FOgotICAgICAgICB5eWx2YWwtPmF4aXMgPSB0b2suYXhpczsK
KyAgICAgICAgeXlsdmFsLmF4aXMgPSB0b2tlbi5heGlzOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIE1VTE9QOgotICAgICAgICB5eWx2YWwtPm51bW9wID0gdG9rLm51bW9wOworICAgICAgICB5
eWx2YWwubnVtZXJpY09wY29kZSA9IHRva2VuLm51bWVyaWNPcGNvZGU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUkVMT1A6CiAgICAgY2FzZSBFUU9QOgotICAgICAgICB5eWx2YWwtPmVxb3Ag
PSB0b2suZXFvcDsKKyAgICAgICAgeXlsdmFsLmVxdWFsaXR5VGVzdE9wY29kZSA9IHRva2VuLmVx
dWFsaXR5VGVzdE9wY29kZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOT0RFVFlQRToKICAg
ICBjYXNlIEZVTkNUSU9OTkFNRToKQEAgLTQzMywxOTAgKzQzMyw1MCBAQCBpbnQgUGFyc2VyOjps
ZXgodm9pZCogZGF0YSkKICAgICBjYXNlIFZBUklBQkxFUkVGRVJFTkNFOgogICAgIGNhc2UgTlVN
QkVSOgogICAgIGNhc2UgTkFNRVRFU1Q6Ci0gICAgICAgIHl5bHZhbC0+c3RyID0gbmV3IFN0cmlu
Zyh0b2suc3RyKTsKLSAgICAgICAgcmVnaXN0ZXJTdHJpbmcoeXlsdmFsLT5zdHIpOworICAgICAg
ICB5eWx2YWwuc3RyaW5nID0gdG9rZW4uc3RyaW5nLnJlbGVhc2VJbXBsKCkubGVha1JlZigpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICByZXR1cm4gdG9rLnR5cGU7CisgICAgcmV0dXJu
IHRva2VuLnR5cGU7CiB9CiAKLWJvb2wgUGFyc2VyOjpleHBhbmRRTmFtZShjb25zdCBTdHJpbmcm
IHFOYW1lLCBTdHJpbmcmIGxvY2FsTmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpCitib29sIFBh
cnNlcjo6ZXhwYW5kUXVhbGlmaWVkTmFtZShjb25zdCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsIFN0
cmluZyYgbG9jYWxOYW1lLCBTdHJpbmcmIG5hbWVzcGFjZVVSSSkKIHsKLSAgICBzaXplX3QgY29s
b24gPSBxTmFtZS5maW5kKCc6Jyk7CisgICAgc2l6ZV90IGNvbG9uID0gcXVhbGlmaWVkTmFtZS5m
aW5kKCc6Jyk7CiAgICAgaWYgKGNvbG9uICE9IG5vdEZvdW5kKSB7Ci0gICAgICAgIGlmICghbV9y
ZXNvbHZlcikKKyAgICAgICAgaWYgKCFtX3Jlc29sdmVyKSB7CisgICAgICAgICAgICBtX3Nhd05h
bWVzcGFjZUVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
bmFtZXNwYWNlVVJJID0gbV9yZXNvbHZlci0+bG9va3VwTmFtZXNwYWNlVVJJKHFOYW1lLmxlZnQo
Y29sb24pKTsKLSAgICAgICAgaWYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSkKKyAgICAgICAgfQor
ICAgICAgICBuYW1lc3BhY2VVUkkgPSBtX3Jlc29sdmVyLT5sb29rdXBOYW1lc3BhY2VVUkkocXVh
bGlmaWVkTmFtZS5sZWZ0KGNvbG9uKSk7CisgICAgICAgIGlmIChuYW1lc3BhY2VVUkkuaXNOdWxs
KCkpIHsKKyAgICAgICAgICAgIG1fc2F3TmFtZXNwYWNlRXJyb3IgPSB0cnVlOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBsb2NhbE5hbWUgPSBxTmFtZS5zdWJzdHJpbmcoY29s
b24gKyAxKTsKKyAgICAgICAgfQorICAgICAgICBsb2NhbE5hbWUgPSBxdWFsaWZpZWROYW1lLnN1
YnN0cmluZyhjb2xvbiArIDEpOwogICAgIH0gZWxzZQotICAgICAgICBsb2NhbE5hbWUgPSBxTmFt
ZTsKLSAgICAKKyAgICAgICAgbG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZTsKKwogICAgIHJldHVy
biB0cnVlOwogfQogCi1FeHByZXNzaW9uKiBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGNvbnN0IFN0
cmluZyYgc3RhdGVtZW50LCBQYXNzUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4gcmVzb2x2ZXIsIEV4
Y2VwdGlvbkNvZGUmIGVjKQorc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IFBhcnNlcjo6cGFy
c2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFhQYXRoTlNSZXNvbHZlciogcmVz
b2x2ZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHJlc2V0KHN0YXRlbWVudCk7Ci0KLSAg
ICBtX3Jlc29sdmVyID0gcmVzb2x2ZXI7Ci0gICAgCi0gICAgUGFyc2VyKiBvbGRQYXJzZXIgPSBj
dXJyZW50UGFyc2VyOwotICAgIGN1cnJlbnRQYXJzZXIgPSB0aGlzOwotICAgIGludCBwYXJzZUVy
cm9yID0geHBhdGh5eXBhcnNlKHRoaXMpOwotICAgIGN1cnJlbnRQYXJzZXIgPSBvbGRQYXJzZXI7
Ci0KLSAgICBpZiAocGFyc2VFcnJvcikgewotICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXJz
ZU5vZGVzKTsKLSAgICAgICAgbV9wYXJzZU5vZGVzLmNsZWFyKCk7Ci0KLSAgICAgICAgSGFzaFNl
dDxWZWN0b3I8UHJlZGljYXRlKj4qPjo6aXRlcmF0b3IgcGVuZCA9IG1fcHJlZGljYXRlVmVjdG9y
cy5lbmQoKTsKLSAgICAgICAgZm9yIChIYXNoU2V0PFZlY3RvcjxQcmVkaWNhdGUqPio+OjppdGVy
YXRvciBpdCA9IG1fcHJlZGljYXRlVmVjdG9ycy5iZWdpbigpOyBpdCAhPSBwZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBkZWxldGVBbGxWYWx1ZXMoKippdCk7Ci0gICAgICAgICAgICBkZWxldGUg
Kml0OwotICAgICAgICB9Ci0gICAgICAgIG1fcHJlZGljYXRlVmVjdG9ycy5jbGVhcigpOwotCi0g
ICAgICAgIEhhc2hTZXQ8VmVjdG9yPEV4cHJlc3Npb24qPio+OjppdGVyYXRvciBlZW5kID0gbV9l
eHByZXNzaW9uVmVjdG9ycy5lbmQoKTsKLSAgICAgICAgZm9yIChIYXNoU2V0PFZlY3RvcjxFeHBy
ZXNzaW9uKj4qPjo6aXRlcmF0b3IgaXQgPSBtX2V4cHJlc3Npb25WZWN0b3JzLmJlZ2luKCk7IGl0
ICE9IGVlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcygqKml0KTsKLSAg
ICAgICAgICAgIGRlbGV0ZSAqaXQ7Ci0gICAgICAgIH0KLSAgICAgICAgbV9leHByZXNzaW9uVmVj
dG9ycy5jbGVhcigpOwotCi0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3N0cmluZ3MpOwotICAg
ICAgICBtX3N0cmluZ3MuY2xlYXIoKTsKKyAgICBQYXJzZXIgcGFyc2VyKHN0YXRlbWVudCwgcmVz
b2x2ZXIpOwogCi0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX25vZGVUZXN0cyk7Ci0gICAgICAg
IG1fbm9kZVRlc3RzLmNsZWFyKCk7CisgICAgaW50IHBhcnNlRXJyb3IgPSB4cGF0aHl5cGFyc2Uo
cGFyc2VyKTsKIAotICAgICAgICBtX3RvcEV4cHIgPSAwOwotCi0gICAgICAgIGlmIChtX2dvdE5h
bWVzcGFjZUVycm9yKQotICAgICAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJFU1NJT05f
RVJSOwotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAocGFyc2VyLm1fc2F3TmFtZXNwYWNlRXJy
b3IpIHsKKyAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKLSAgICBBU1NFUlQobV9wYXJzZU5vZGVzLnNpemUoKSA9PSAxKTsKLSAgICBB
U1NFUlQoKm1fcGFyc2VOb2Rlcy5iZWdpbigpID09IG1fdG9wRXhwcik7Ci0gICAgQVNTRVJUKG1f
ZXhwcmVzc2lvblZlY3RvcnMuc2l6ZSgpID09IDApOwotICAgIEFTU0VSVChtX3ByZWRpY2F0ZVZl
Y3RvcnMuc2l6ZSgpID09IDApOwotICAgIEFTU0VSVChtX3N0cmluZ3Muc2l6ZSgpID09IDApOwot
ICAgIEFTU0VSVChtX25vZGVUZXN0cy5zaXplKCkgPT0gMCk7Ci0KLSAgICBtX3BhcnNlTm9kZXMu
Y2xlYXIoKTsKLSAgICBFeHByZXNzaW9uKiByZXN1bHQgPSBtX3RvcEV4cHI7Ci0gICAgbV90b3BF
eHByID0gMDsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgUGFyc2VyOjpyZWdpc3Rl
clBhcnNlTm9kZShQYXJzZU5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKG5vZGUgPT0gMCkKLSAgICAg
ICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVCghbV9wYXJzZU5vZGVzLmNvbnRhaW5zKG5vZGUp
KTsKLSAgICAKLSAgICBtX3BhcnNlTm9kZXMuYWRkKG5vZGUpOwotfQotCi12b2lkIFBhcnNlcjo6
dW5yZWdpc3RlclBhcnNlTm9kZShQYXJzZU5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKG5vZGUgPT0g
MCkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVChtX3BhcnNlTm9kZXMuY29udGFp
bnMobm9kZSkpOwotCi0gICAgbV9wYXJzZU5vZGVzLnJlbW92ZShub2RlKTsKLX0KLQotdm9pZCBQ
YXJzZXI6OnJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9y
KQotewotICAgIGlmICh2ZWN0b3IgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJU
KCFtX3ByZWRpY2F0ZVZlY3RvcnMuY29udGFpbnModmVjdG9yKSk7Ci0gICAgCi0gICAgbV9wcmVk
aWNhdGVWZWN0b3JzLmFkZCh2ZWN0b3IpOwotfQotCi12b2lkIFBhcnNlcjo6ZGVsZXRlUHJlZGlj
YXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiogdmVjdG9yKQotewotICAgIGlmICh2ZWN0b3Ig
PT0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKG1fcHJlZGljYXRlVmVjdG9ycy5j
b250YWlucyh2ZWN0b3IpKTsKLSAgICAKLSAgICBtX3ByZWRpY2F0ZVZlY3RvcnMucmVtb3ZlKHZl
Y3Rvcik7Ci0gICAgZGVsZXRlIHZlY3RvcjsKLX0KLQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJF
eHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qIHZlY3RvcikKLXsKLSAgICBpZiAo
dmVjdG9yID09IDApCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghbV9leHByZXNzaW9u
VmVjdG9ycy5jb250YWlucyh2ZWN0b3IpKTsKLSAgICAKLSAgICBtX2V4cHJlc3Npb25WZWN0b3Jz
LmFkZCh2ZWN0b3IpOyAgICAKLX0KLQotdm9pZCBQYXJzZXI6OmRlbGV0ZUV4cHJlc3Npb25WZWN0
b3IoVmVjdG9yPEV4cHJlc3Npb24qPiogdmVjdG9yKQotewotICAgIGlmICh2ZWN0b3IgPT0gMCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKG1fZXhwcmVzc2lvblZlY3RvcnMuY29udGFp
bnModmVjdG9yKSk7Ci0gICAgCi0gICAgbV9leHByZXNzaW9uVmVjdG9ycy5yZW1vdmUodmVjdG9y
KTsKLSAgICBkZWxldGUgdmVjdG9yOwotfQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJTdHJpbmco
U3RyaW5nKiBzKQotewotICAgIGlmIChzID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAg
ICBBU1NFUlQoIW1fc3RyaW5ncy5jb250YWlucyhzKSk7Ci0gICAgCi0gICAgbV9zdHJpbmdzLmFk
ZChzKTsgICAgICAgIAotfQotCi12b2lkIFBhcnNlcjo6ZGVsZXRlU3RyaW5nKFN0cmluZyogcykK
LXsKLSAgICBpZiAocyA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKG1f
c3RyaW5ncy5jb250YWlucyhzKSk7Ci0gICAgCi0gICAgbV9zdHJpbmdzLnJlbW92ZShzKTsKLSAg
ICBkZWxldGUgczsKLX0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyTm9kZVRlc3QoU3RlcDo6Tm9k
ZVRlc3QqIHQpCi17Ci0gICAgaWYgKHQgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IEFTU0VSVCghbV9ub2RlVGVzdHMuY29udGFpbnModCkpOwotICAgIAotICAgIG1fbm9kZVRlc3Rz
LmFkZCh0KTsgICAgICAgIAotfQorICAgIGlmIChwYXJzZUVycm9yKSB7CisgICAgICAgIGVjID0g
WFBhdGhFeGNlcHRpb246OklOVkFMSURfRVhQUkVTU0lPTl9FUlI7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KIAotdm9pZCBQYXJzZXI6OmRlbGV0ZU5vZGVUZXN0KFN0ZXA6Ok5vZGVU
ZXN0KiB0KQotewotICAgIGlmICh0ID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBB
U1NFUlQobV9ub2RlVGVzdHMuY29udGFpbnModCkpOwotICAgIAotICAgIG1fbm9kZVRlc3RzLnJl
bW92ZSh0KTsKLSAgICBkZWxldGUgdDsKKyAgICByZXR1cm4gc3RkOjptb3ZlKHBhcnNlci5tX3Jl
c3VsdCk7CiB9CiAKK30gfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAppbmRleCBlNThjNDQ0ZTFk
NTI4MWMwNzUwNmE4YzE1ZDU5OWE4MTdlZGRlNGE2Li43YmFjM2I3OGRhYWQzODVmY2Y2MmE4ZGE1
ODQwM2EwZjgzNjZmNzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBNYWtzaW0gT3Jsb3ZpY2ggPG1ha3NpbUBrZGUub3Jn
PgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMCw4IEBACiAjaW5jbHVkZSAiWFBh
dGhTdGVwLmgiCiAjaW5jbHVkZSAiWFBhdGhQcmVkaWNhdGUuaCIKIAordW5pb24gWVlTVFlQRTsK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsK
QEAgLTM4LDU4ICs0MCwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2Ug
WFBhdGggewogCi0gICAgICAgIGNsYXNzIEV4cHJlc3Npb247Ci0gICAgICAgIGNsYXNzIFBhcnNl
Tm9kZTsKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlOwotCi0gICAgICAgIHN0cnVjdCBUb2tlbiB7
Ci0gICAgICAgICAgICBpbnQgdHlwZTsKLSAgICAgICAgICAgIFN0cmluZyBzdHI7Ci0gICAgICAg
ICAgICBTdGVwOjpBeGlzIGF4aXM7Ci0gICAgICAgICAgICBOdW1lcmljT3A6Ok9wY29kZSBudW1v
cDsKLSAgICAgICAgICAgIEVxVGVzdE9wOjpPcGNvZGUgZXFvcDsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgVG9rZW4oaW50IHQpIDogdHlwZSh0KSB7fQotICAgICAgICAgICAgVG9rZW4oaW50
IHQsIGNvbnN0IFN0cmluZyYgdik6IHR5cGUodCksIHN0cih2KSB7fQotICAgICAgICAgICAgVG9r
ZW4oaW50IHQsIFN0ZXA6OkF4aXMgdik6IHR5cGUodCksIGF4aXModikge30KLSAgICAgICAgICAg
IFRva2VuKGludCB0LCBOdW1lcmljT3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgbnVtb3Aodikge30K
LSAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBl
cW9wKHYpIHt9Ci0gICAgICAgIH07Ci0KICAgICAgICAgY2xhc3MgUGFyc2VyIHsKICAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKLSAgICAg
ICAgICAgIFBhcnNlcigpOwotICAgICAgICAgICAgflBhcnNlcigpOwotCi0gICAgICAgICAgICBY
UGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlci5nZXQo
KTsgfQotICAgICAgICAgICAgYm9vbCBleHBhbmRRTmFtZShjb25zdCBTdHJpbmcmIHFOYW1lLCBT
dHJpbmcmIGxvY2FsTmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpOwotCi0gICAgICAgICAgICBF
eHByZXNzaW9uKiBwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgUGFzc1Jl
ZlB0cjxYUGF0aE5TUmVzb2x2ZXI+LCBFeGNlcHRpb25Db2RlJik7Ci0KLSAgICAgICAgICAgIHN0
YXRpYyBQYXJzZXIqIGN1cnJlbnQoKSB7IHJldHVybiBjdXJyZW50UGFyc2VyOyB9Ci0KLSAgICAg
ICAgICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKKyAgICAgICAgICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4gcGFyc2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1l
bnQsIFhQYXRoTlNSZXNvbHZlciosIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgICAgICAgICAgRXhw
cmVzc2lvbiogbV90b3BFeHByOwotICAgICAgICAgICAgYm9vbCBtX2dvdE5hbWVzcGFjZUVycm9y
OworICAgICAgICAgICAgaW50IGxleChZWVNUWVBFJik7CisgICAgICAgICAgICBib29sIGV4cGFu
ZFF1YWxpZmllZE5hbWUoY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBTdHJpbmcmIGxvY2Fs
TmFtZSwgU3RyaW5nJiBuYW1lc3BhY2VVUkkpOworICAgICAgICAgICAgdm9pZCBzZXRQYXJzZVJl
c3VsdChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBleHByZXNzaW9uKSB7IG1fcmVzdWx0
ID0gc3RkOjptb3ZlKGV4cHJlc3Npb24pOyB9CiAKLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJQ
YXJzZU5vZGUoUGFyc2VOb2RlKik7Ci0gICAgICAgICAgICB2b2lkIHVucmVnaXN0ZXJQYXJzZU5v
ZGUoUGFyc2VOb2RlKik7Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcmVkaWNhdGVWZWN0
b3IoVmVjdG9yPFByZWRpY2F0ZSo+Kik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZVByZWRpY2F0
ZVZlY3RvcihWZWN0b3I8UHJlZGljYXRlKj4qKTsKLQotICAgICAgICAgICAgdm9pZCByZWdpc3Rl
ckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Npb24qPiopOwotICAgICAgICAgICAgdm9p
ZCBkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qKTsKLQotICAgICAg
ICAgICAgdm9pZCByZWdpc3RlclN0cmluZyhTdHJpbmcqKTsKLSAgICAgICAgICAgIHZvaWQgZGVs
ZXRlU3RyaW5nKFN0cmluZyopOworICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgUGFyc2Vy
KGNvbnN0IFN0cmluZyYsIFhQYXRoTlNSZXNvbHZlciopOwogCi0gICAgICAgICAgICB2b2lkIHJl
Z2lzdGVyTm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsKLSAgICAgICAgICAgIHZvaWQgZGVsZXRl
Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsKKyAgICAgICAgICAgIHN0cnVjdCBUb2tlbjsKIAot
ICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgYm9vbCBpc0JpbmFyeU9wZXJhdG9yQ29udGV4
dCgpIGNvbnN0OwogCiAgICAgICAgICAgICB2b2lkIHNraXBXUygpOwpAQCAtMTA3LDIwICs3MSwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbiBuZXh0VG9rZW4oKTsK
ICAgICAgICAgICAgIFRva2VuIG5leHRUb2tlbkludGVybmFsKCk7CiAKLSAgICAgICAgICAgIHZv
aWQgcmVzZXQoY29uc3QgU3RyaW5nJiBkYXRhKTsKLQotICAgICAgICAgICAgc3RhdGljIFBhcnNl
ciogY3VycmVudFBhcnNlcjsKKyAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbV9kYXRhOworICAg
ICAgICAgICAgWFBhdGhOU1Jlc29sdmVyKiBtX3Jlc29sdmVyOwogCiAgICAgICAgICAgICB1bnNp
Z25lZCBtX25leHRQb3M7Ci0gICAgICAgICAgICBTdHJpbmcgbV9kYXRhOwogICAgICAgICAgICAg
aW50IG1fbGFzdFRva2VuVHlwZTsKLSAgICAgICAgICAgIFJlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+
IG1fcmVzb2x2ZXI7CiAKLSAgICAgICAgICAgIEhhc2hTZXQ8UGFyc2VOb2RlKj4gbV9wYXJzZU5v
ZGVzOwotICAgICAgICAgICAgSGFzaFNldDxWZWN0b3I8UHJlZGljYXRlKj4qPiBtX3ByZWRpY2F0
ZVZlY3RvcnM7Ci0gICAgICAgICAgICBIYXNoU2V0PFZlY3RvcjxFeHByZXNzaW9uKj4qPiBtX2V4
cHJlc3Npb25WZWN0b3JzOwotICAgICAgICAgICAgSGFzaFNldDxTdHJpbmcqPiBtX3N0cmluZ3M7
Ci0gICAgICAgICAgICBIYXNoU2V0PFN0ZXA6Ok5vZGVUZXN0Kj4gbV9ub2RlVGVzdHM7CisgICAg
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gbV9yZXN1bHQ7CisgICAgICAgICAg
ICBib29sIG1fc2F3TmFtZXNwYWNlRXJyb3I7CiAgICAgICAgIH07CiAKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFBhdGguY3BwCmluZGV4IGJjOGE2M2E0MDNmOWI1YWNjMGZlOWQ2NmIzODQ1ZmU5YWQ4
NDI0YWQuLmVmMzQ4M2RjNmE0YWVkMjJhNzY4MzYwNWZlMjg3YWZiYzBiNTY4YWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aFBhdGguY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5
IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM2LDI1
ICszNiwxOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKICAgICAg
ICAgCi1GaWx0ZXI6OkZpbHRlcihFeHByZXNzaW9uKiBleHByLCBjb25zdCBWZWN0b3I8UHJlZGlj
YXRlKj4mIHByZWRpY2F0ZXMpCi0gICAgOiBtX2V4cHIoZXhwciksIG1fcHJlZGljYXRlcyhwcmVk
aWNhdGVzKQorRmlsdGVyOjpGaWx0ZXIoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhw
cmVzc2lvbiwgVmVjdG9yPFByZWRpY2F0ZT4mJiBwcmVkaWNhdGVzKQorICAgIDogbV9leHByZXNz
aW9uKHN0ZDo6bW92ZShleHByZXNzaW9uKSksIG1fcHJlZGljYXRlcyhzdGQ6Om1vdmUocHJlZGlj
YXRlcykpCiB7Ci0gICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2V4cHItPmlzQ29udGV4
dE5vZGVTZW5zaXRpdmUoKSk7Ci0gICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUobV9l
eHByLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRTaXpl
U2Vuc2l0aXZlKG1fZXhwci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKLX0KLQotRmlsdGVy
Ojp+RmlsdGVyKCkKLXsKLSAgICBkZWxldGUgbV9leHByOwotICAgIGRlbGV0ZUFsbFZhbHVlcyht
X3ByZWRpY2F0ZXMpOworICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9leHByZXNzaW9u
LT5pc0NvbnRleHROb2RlU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKG1fZXhwcmVzc2lvbi0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSk7CisgICAg
c2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShtX2V4cHJlc3Npb24tPmlzQ29udGV4dFNpemVTZW5z
aXRpdmUoKSk7CiB9CiAKIFZhbHVlIEZpbHRlcjo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZh
bHVlIHYgPSBtX2V4cHItPmV2YWx1YXRlKCk7CisgICAgVmFsdWUgcmVzdWx0ID0gbV9leHByZXNz
aW9uLT5ldmFsdWF0ZSgpOwogICAgIAotICAgIE5vZGVTZXQmIG5vZGVzID0gdi5tb2RpZmlhYmxl
Tm9kZVNldCgpOworICAgIE5vZGVTZXQmIG5vZGVzID0gcmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0
KCk7CiAgICAgbm9kZXMuc29ydCgpOwogCiAgICAgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRp
b25Db250ZXh0ID0gRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKTsKQEAgLTY5LDI2ICs2
MywyMSBAQCBWYWx1ZSBGaWx0ZXI6OmV2YWx1YXRlKCkgY29uc3QKICAgICAgICAgICAgIGV2YWx1
YXRpb25Db250ZXh0Lm5vZGUgPSBub2RlOwogICAgICAgICAgICAgKytldmFsdWF0aW9uQ29udGV4
dC5wb3NpdGlvbjsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKG1fcHJlZGljYXRlc1tp
XS0+ZXZhbHVhdGUoKSkKKyAgICAgICAgICAgIGlmIChtX3ByZWRpY2F0ZXNbaV0uZXZhbHVhdGUo
KSkKICAgICAgICAgICAgICAgICBuZXdOb2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgIH0KLSAg
ICAgICAgbm9kZXMuc3dhcChuZXdOb2Rlcyk7CisgICAgICAgIG5vZGVzID0gc3RkOjptb3ZlKG5l
d05vZGVzKTsKICAgICB9CiAKLSAgICByZXR1cm4gdjsKKyAgICByZXR1cm4gcmVzdWx0OwogfQog
CiBMb2NhdGlvblBhdGg6OkxvY2F0aW9uUGF0aCgpCi0gICAgOiBtX2Fic29sdXRlKGZhbHNlKQor
ICAgIDogbV9pc0Fic29sdXRlKGZhbHNlKQogewogICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRp
dmUodHJ1ZSk7CiB9CiAKLUxvY2F0aW9uUGF0aDo6fkxvY2F0aW9uUGF0aCgpCi17Ci0gICAgZGVs
ZXRlQWxsVmFsdWVzKG1fc3RlcHMpOwotfQotCiBWYWx1ZSBMb2NhdGlvblBhdGg6OmV2YWx1YXRl
KCkgY29uc3QKIHsKICAgICBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQgPSBF
eHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpOwpAQCAtMTAyLDcgKzkxLDcgQEAgVmFsdWUg
TG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgLy8gVGhpcyBpcyBmb3IgY29tcGF0
aWJpbGl0eSB3aXRoIEZpcmVmb3gsIGFuZCBhbHNvIHNlZW1zIGxpa2UgYSBtb3JlCiAgICAgLy8g
bG9naWNhbCB0cmVhdG1lbnQgb2Ygd2hlcmUgeW91IHdvdWxkIGV4cGVjdCB0aGUgInJvb3QiIHRv
IGJlLgogICAgIE5vZGUqIGNvbnRleHQgPSBldmFsdWF0aW9uQ29udGV4dC5ub2RlLmdldCgpOwot
ICAgIGlmIChtX2Fic29sdXRlICYmIGNvbnRleHQtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RE9DVU1F
TlRfTk9ERSkgIHsKKyAgICBpZiAobV9pc0Fic29sdXRlICYmICFjb250ZXh0LT5pc0RvY3VtZW50
Tm9kZSgpKSAgewogICAgICAgICBpZiAoY29udGV4dC0+aW5Eb2N1bWVudCgpKQogICAgICAgICAg
ICAgY29udGV4dCA9IGNvbnRleHQtPm93bmVyRG9jdW1lbnQoKTsKICAgICAgICAgZWxzZQpAQCAt
MTE0LDcgKzEwMyw3IEBAIFZhbHVlIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAogICAg
IGV2YWx1YXRlKG5vZGVzKTsKICAgICAKICAgICBldmFsdWF0aW9uQ29udGV4dCA9IGJhY2t1cENv
bnRleHQ7Ci0gICAgcmV0dXJuIFZhbHVlKG5vZGVzLCBWYWx1ZTo6YWRvcHQpOworICAgIHJldHVy
biBWYWx1ZShzdGQ6Om1vdmUobm9kZXMpKTsKIH0KIAogdm9pZCBMb2NhdGlvblBhdGg6OmV2YWx1
YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdApAQCAtMTIyLDIzICsxMTEsMjMgQEAgdm9pZCBMb2Nh
dGlvblBhdGg6OmV2YWx1YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIGJvb2wgcmVzdWx0
SXNTb3J0ZWQgPSBub2Rlcy5pc1NvcnRlZCgpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1fc3RlcHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgU3RlcCogc3RlcCA9IG1fc3RlcHNb
aV07CisgICAgICAgIFN0ZXAmIHN0ZXAgPSAqbV9zdGVwc1tpXTsKICAgICAgICAgTm9kZVNldCBu
ZXdOb2RlczsKICAgICAgICAgSGFzaFNldDxOb2RlKj4gbmV3Tm9kZXNTZXQ7CiAKLSAgICAgICAg
Ym9vbCBuZWVkVG9DaGVja0ZvckR1cGxpY2F0ZU5vZGVzID0gIW5vZGVzLnN1YnRyZWVzQXJlRGlz
am9pbnQoKSB8fCAoc3RlcC0+YXhpcygpICE9IFN0ZXA6OkNoaWxkQXhpcyAmJiBzdGVwLT5heGlz
KCkgIT0gU3RlcDo6U2VsZkF4aXMKLSAgICAgICAgICAgICYmIHN0ZXAtPmF4aXMoKSAhPSBTdGVw
OjpEZXNjZW5kYW50QXhpcyAmJiBzdGVwLT5heGlzKCkgIT0gU3RlcDo6RGVzY2VuZGFudE9yU2Vs
ZkF4aXMgJiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OkF0dHJpYnV0ZUF4aXMpOworICAgICAgICBi
b29sIG5lZWRUb0NoZWNrRm9yRHVwbGljYXRlTm9kZXMgPSAhbm9kZXMuc3VidHJlZXNBcmVEaXNq
b2ludCgpIHx8IChzdGVwLmF4aXMoKSAhPSBTdGVwOjpDaGlsZEF4aXMgJiYgc3RlcC5heGlzKCkg
IT0gU3RlcDo6U2VsZkF4aXMKKyAgICAgICAgICAgICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkRl
c2NlbmRhbnRBeGlzICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlz
ICYmIHN0ZXAuYXhpcygpICE9IFN0ZXA6OkF0dHJpYnV0ZUF4aXMpOwogCiAgICAgICAgIGlmIChu
ZWVkVG9DaGVja0ZvckR1cGxpY2F0ZU5vZGVzKQogICAgICAgICAgICAgcmVzdWx0SXNTb3J0ZWQg
PSBmYWxzZTsKIAogICAgICAgICAvLyBUaGlzIGlzIGEgc2ltcGxpZmllZCBjaGVjayB0aGF0IGNh
biBiZSBpbXByb3ZlZCB0byBoYW5kbGUgbW9yZSBjYXNlcy4KLSAgICAgICAgaWYgKG5vZGVzLnN1
YnRyZWVzQXJlRGlzam9pbnQoKSAmJiAoc3RlcC0+YXhpcygpID09IFN0ZXA6OkNoaWxkQXhpcyB8
fCBzdGVwLT5heGlzKCkgPT0gU3RlcDo6U2VsZkF4aXMpKQorICAgICAgICBpZiAobm9kZXMuc3Vi
dHJlZXNBcmVEaXNqb2ludCgpICYmIChzdGVwLmF4aXMoKSA9PSBTdGVwOjpDaGlsZEF4aXMgfHwg
c3RlcC5heGlzKCkgPT0gU3RlcDo6U2VsZkF4aXMpKQogICAgICAgICAgICAgbmV3Tm9kZXMubWFy
a1N1YnRyZWVzRGlzam9pbnQodHJ1ZSk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsg
aiA8IG5vZGVzLnNpemUoKTsgaisrKSB7CiAgICAgICAgICAgICBOb2RlU2V0IG1hdGNoZXM7Ci0g
ICAgICAgICAgICBzdGVwLT5ldmFsdWF0ZShub2Rlc1tqXSwgbWF0Y2hlcyk7CisgICAgICAgICAg
ICBzdGVwLmV2YWx1YXRlKCpub2Rlc1tqXSwgbWF0Y2hlcyk7CiAKICAgICAgICAgICAgIGlmICgh
bWF0Y2hlcy5pc1NvcnRlZCgpKQogICAgICAgICAgICAgICAgIHJlc3VsdElzU29ydGVkID0gZmFs
c2U7CkBAIC0xNTAsNjUgKzEzOSw1NiBAQCB2b2lkIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoTm9k
ZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCi0g
ICAgICAgIG5vZGVzLnN3YXAobmV3Tm9kZXMpOworICAgICAgICBub2RlcyA9IHN0ZDo6bW92ZShu
ZXdOb2Rlcyk7CiAgICAgfQogCiAgICAgbm9kZXMubWFya1NvcnRlZChyZXN1bHRJc1NvcnRlZCk7
CiB9CiAKLXZvaWQgTG9jYXRpb25QYXRoOjphcHBlbmRTdGVwKFN0ZXAqIHN0ZXApCit2b2lkIExv
Y2F0aW9uUGF0aDo6YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJiBzdGVwKQogewog
ICAgIHVuc2lnbmVkIHN0ZXBDb3VudCA9IG1fc3RlcHMuc2l6ZSgpOwogICAgIGlmIChzdGVwQ291
bnQpIHsKICAgICAgICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0aW1pemVTdGVw
UGFpcihtX3N0ZXBzW3N0ZXBDb3VudCAtIDFdLCBzdGVwLCBkcm9wU2Vjb25kU3RlcCk7Ci0gICAg
ICAgIGlmIChkcm9wU2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIHN0ZXA7CisgICAg
ICAgIG9wdGltaXplU3RlcFBhaXIoKm1fc3RlcHNbc3RlcENvdW50IC0gMV0sICpzdGVwLCBkcm9w
U2Vjb25kU3RlcCk7CisgICAgICAgIGlmIChkcm9wU2Vjb25kU3RlcCkKICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQogICAgIH0KICAgICBzdGVwLT5vcHRpbWl6ZSgpOwotICAgIG1fc3Rl
cHMuYXBwZW5kKHN0ZXApOworICAgIG1fc3RlcHMuYXBwZW5kKHN0ZDo6bW92ZShzdGVwKSk7CiB9
CiAKLXZvaWQgTG9jYXRpb25QYXRoOjppbnNlcnRGaXJzdFN0ZXAoU3RlcCogc3RlcCkKK3ZvaWQg
TG9jYXRpb25QYXRoOjpwcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJiBzdGVwKQog
ewogICAgIGlmIChtX3N0ZXBzLnNpemUoKSkgewogICAgICAgICBib29sIGRyb3BTZWNvbmRTdGVw
OwotICAgICAgICBvcHRpbWl6ZVN0ZXBQYWlyKHN0ZXAsIG1fc3RlcHNbMF0sIGRyb3BTZWNvbmRT
dGVwKTsKKyAgICAgICAgb3B0aW1pemVTdGVwUGFpcigqc3RlcCwgKm1fc3RlcHNbMF0sIGRyb3BT
ZWNvbmRTdGVwKTsKICAgICAgICAgaWYgKGRyb3BTZWNvbmRTdGVwKSB7Ci0gICAgICAgICAgICBk
ZWxldGUgbV9zdGVwc1swXTsKLSAgICAgICAgICAgIG1fc3RlcHNbMF0gPSBzdGVwOworICAgICAg
ICAgICAgbV9zdGVwc1swXSA9IHN0ZDo6bW92ZShzdGVwKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgIH0KICAgICBzdGVwLT5vcHRpbWl6ZSgpOwotICAgIG1fc3RlcHMuaW5z
ZXJ0KDAsIHN0ZXApOwotfQotCi1QYXRoOjpQYXRoKEZpbHRlciogZmlsdGVyLCBMb2NhdGlvblBh
dGgqIHBhdGgpCi0gICAgOiBtX2ZpbHRlcihmaWx0ZXIpCi0gICAgLCBtX3BhdGgocGF0aCkKLXsK
LSAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGZpbHRlci0+aXNDb250ZXh0Tm9kZVNlbnNp
dGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShmaWx0ZXItPmlzQ29u
dGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOwotICAgIHNldElzQ29udGV4dFNpemVTZW5zaXRpdmUo
ZmlsdGVyLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOworICAgIG1fc3RlcHMuaW5zZXJ0KDAs
IHN0ZDo6bW92ZShzdGVwKSk7CiB9CiAKLVBhdGg6On5QYXRoKCkKK1BhdGg6OlBhdGgoc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZmlsdGVyLCBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25Q
YXRoPiYmIHBhdGgpCisgICAgOiBtX2ZpbHRlcihzdGQ6Om1vdmUoZmlsdGVyKSkKKyAgICAsIG1f
cGF0aChzdGQ6Om1vdmUocGF0aCkpCiB7Ci0gICAgZGVsZXRlIG1fZmlsdGVyOwotICAgIGRlbGV0
ZSBtX3BhdGg7CisgICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250
ZXh0Tm9kZVNlbnNpdGl2ZSgpKTsKKyAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSht
X2ZpbHRlci0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSk7CisgICAgc2V0SXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKIH0KIAog
VmFsdWUgUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZhbHVlIHYgPSBtX2ZpbHRlci0+
ZXZhbHVhdGUoKTsKKyAgICBWYWx1ZSByZXN1bHQgPSBtX2ZpbHRlci0+ZXZhbHVhdGUoKTsKIAot
ICAgIE5vZGVTZXQmIG5vZGVzID0gdi5tb2RpZmlhYmxlTm9kZVNldCgpOworICAgIE5vZGVTZXQm
IG5vZGVzID0gcmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgbV9wYXRoLT5ldmFsdWF0
ZShub2Rlcyk7CiAgICAgCi0gICAgcmV0dXJuIHY7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0aC5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoUGF0aC5oCmluZGV4IGIxYTU3Y2JiNzU0MmRhMmFkNWUxMDY2YmI2MzBh
NjZiMzVjNThhODAuLmRlOTU3MTU3MWJiYTY5MDMwYWI5MTlhZmJhOTU5YzdhMDllZGEyNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhQYXRoLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDkgQXBwbGUgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBYUGF0aFBhdGhfaAogCiAjaW5jbHVkZSAi
WFBhdGhFeHByZXNzaW9uTm9kZS5oIgotI2luY2x1ZGUgIlhQYXRoTm9kZVNldC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDUxICszNiw0NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgY2xhc3MgU3RlcDsKIAotICAgICAg
ICBjbGFzcyBGaWx0ZXIgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIEZpbHRl
ciBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAg
ICAgRmlsdGVyKEV4cHJlc3Npb24qLCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mID0gVmVjdG9y
PFByZWRpY2F0ZSo+KCkpOwotICAgICAgICAgICAgdmlydHVhbCB+RmlsdGVyKCk7Ci0KLSAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEZpbHRl
cihzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiwgVmVjdG9yPFByZWRpY2F0ZT4mJik7CiAK
ICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KKyAgICAgICAgICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpOb2RlU2V0VmFsdWU7IH0KIAotICAgICAgICAgICAgRXhwcmVzc2lvbiogbV9leHByOwot
ICAgICAgICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGljYXRlczsKKyAgICAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBtX2V4cHJlc3Npb247CisgICAgICAgICAgICBW
ZWN0b3I8UHJlZGljYXRlPiBtX3ByZWRpY2F0ZXM7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xh
c3MgTG9jYXRpb25QYXRoIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2Nh
dGlvblBhdGggRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIExvY2F0aW9uUGF0aCgpOwotICAgICAgICAgICAgdmlydHVhbCB+TG9jYXRpb25Q
YXRoKCk7Ci0gICAgICAgICAgICB2b2lkIHNldEFic29sdXRlKGJvb2wgdmFsdWUpIHsgbV9hYnNv
bHV0ZSA9IHZhbHVlOyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKCFtX2Fic29sdXRlKTsgfQog
Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAg
ICB2b2lkIHNldEFic29sdXRlKCkgeyBtX2lzQWJzb2x1dGUgPSB0cnVlOyBzZXRJc0NvbnRleHRO
b2RlU2Vuc2l0aXZlKGZhbHNlKTsgfQorCiAgICAgICAgICAgICB2b2lkIGV2YWx1YXRlKE5vZGVT
ZXQmIG5vZGVzKSBjb25zdDsgLy8gbm9kZXMgaXMgYW4gaW5wdXQvb3V0cHV0IHBhcmFtZXRlcgog
Ci0gICAgICAgICAgICB2b2lkIGFwcGVuZFN0ZXAoU3RlcCogc3RlcCk7Ci0gICAgICAgICAgICB2
b2lkIGluc2VydEZpcnN0U3RlcChTdGVwKiBzdGVwKTsKKyAgICAgICAgICAgIHZvaWQgYXBwZW5k
U3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4mJik7CisgICAgICAgICAgICB2b2lkIHByZXBlbmRT
dGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPiYmKTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6Ok5vZGVTZXRWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRU
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0g
ICAgICAgICAgICBWZWN0b3I8U3RlcCo+IG1fc3RlcHM7Ci0gICAgICAgICAgICBib29sIG1fYWJz
b2x1dGU7CisgICAgICAgICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFN0ZXA+PiBtX3N0ZXBz
OworICAgICAgICAgICAgYm9vbCBtX2lzQWJzb2x1dGU7CiAgICAgICAgIH07CiAKLSAgICAgICAg
Y2xhc3MgUGF0aCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgUGF0aCBGSU5B
TCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgUGF0
aChGaWx0ZXIqLCBMb2NhdGlvblBhdGgqKTsKLSAgICAgICAgICAgIHZpcnR1YWwgflBhdGgoKTsK
LQotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OworICAgICAgICAg
ICAgUGF0aChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBmaWx0ZXIsIHN0ZDo6dW5pcXVl
X3B0cjxMb2NhdGlvblBhdGg+JiYpOwogCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9k
ZVNldFZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAKLSAgICAgICAg
ICAgIEZpbHRlciogbV9maWx0ZXI7Ci0gICAgICAgICAgICBMb2NhdGlvblBhdGgqIG1fcGF0aDsK
KyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBtX2ZpbHRlcjsKKyAgICAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+IG1fcGF0aDsKICAgICAgICAgfTsK
IAogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwCmluZGV4IGJjOGExYzNh
NmMwNTM1YmM1NTEyYjI0MjJmN2NjNzg1ODA0YmQyNWUuLjgxOWE2Nzg5NTRmN2FiNjEwNzZlODE5
MzU1YjRlODVkZWI0ZDE5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBy
ZWRpY2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFi
ZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5v
cmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00OCw4ICs0OCw4IEBAIFZhbHVlIE51bWJlcjo6ZXZh
bHVhdGUoKSBjb25zdAogICAgIHJldHVybiBtX3ZhbHVlOwogfQogCi1TdHJpbmdFeHByZXNzaW9u
OjpTdHJpbmdFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgOiBtX3ZhbHVlKHZh
bHVlKQorU3RyaW5nRXhwcmVzc2lvbjo6U3RyaW5nRXhwcmVzc2lvbihTdHJpbmcmJiB2YWx1ZSkK
KyAgICA6IG1fdmFsdWUoc3RkOjptb3ZlKHZhbHVlKSkKIHsKIH0KIApAQCAtNTgsMjYgKzU4LDI3
IEBAIFZhbHVlIFN0cmluZ0V4cHJlc3Npb246OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4g
bV92YWx1ZTsKIH0KIAorTmVnYXRpdmU6Ok5lZ2F0aXZlKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPiYmIGV4cHJlc3Npb24pCit7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUoZXhw
cmVzc2lvbikpOworfQorCiBWYWx1ZSBOZWdhdGl2ZTo6ZXZhbHVhdGUoKSBjb25zdAogewotICAg
IFZhbHVlIHAoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLSAgICByZXR1cm4gLXAudG9O
dW1iZXIoKTsKKyAgICByZXR1cm4gLXN1YmV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKS50b051bWJl
cigpOwogfQogCi1OdW1lcmljT3A6Ok51bWVyaWNPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9u
KiBsaHMsIEV4cHJlc3Npb24qIHJocykKK051bWVyaWNPcDo6TnVtZXJpY09wKE9wY29kZSBvcGNv
ZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGxocywgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+JiYgcmhzKQogICAgIDogbV9vcGNvZGUob3Bjb2RlKQogewotICAgIGFkZFN1YkV4
cHJlc3Npb24obGhzKTsKLSAgICBhZGRTdWJFeHByZXNzaW9uKHJocyk7CisgICAgYWRkU3ViZXhw
cmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUo
cmhzKSk7CiB9CiAKIFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZh
bHVlIGxocyhzdWJFeHByZXNzaW9uKDApLmV2YWx1YXRlKCkpOwotICAgIFZhbHVlIHJocyhzdWJF
eHByZXNzaW9uKDEpLmV2YWx1YXRlKCkpOwotICAgIAotICAgIGRvdWJsZSBsZWZ0VmFsID0gbGhz
LnRvTnVtYmVyKCk7Ci0gICAgZG91YmxlIHJpZ2h0VmFsID0gcmhzLnRvTnVtYmVyKCk7CisgICAg
ZG91YmxlIGxlZnRWYWwgPSBzdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsK
KyAgICBkb3VibGUgcmlnaHRWYWwgPSBzdWJleHByZXNzaW9uKDEpLmV2YWx1YXRlKCkudG9OdW1i
ZXIoKTsKIAogICAgIHN3aXRjaCAobV9vcGNvZGUpIHsKICAgICAgICAgY2FzZSBPUF9BZGQ6CkBA
IC05MSwxNSArOTIsMTYgQEAgVmFsdWUgTnVtZXJpY09wOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAg
ICAgIGNhc2UgT1BfTW9kOgogICAgICAgICAgICAgcmV0dXJuIGZtb2QobGVmdFZhbCwgcmlnaHRW
YWwpOwogICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjA7
CiB9CiAKLUVxVGVzdE9wOjpFcVRlc3RPcChPcGNvZGUgb3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMs
IEV4cHJlc3Npb24qIHJocykKK0VxVGVzdE9wOjpFcVRlc3RPcChPcGNvZGUgb3Bjb2RlLCBzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
PiYmIHJocykKICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9u
KGxocyk7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24o
c3RkOjptb3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwog
fQogCiBib29sIEVxVGVzdE9wOjpjb21wYXJlKGNvbnN0IFZhbHVlJiBsaHMsIGNvbnN0IFZhbHVl
JiByaHMpIGNvbnN0CkBAIC0xNDEsNyArMTQzLDcgQEAgYm9vbCBFcVRlc3RPcDo6Y29tcGFyZShj
b25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAgICAgICAgICAgLy8g
dGhlIG5vZGUtc2V0IHRvIGEgYm9vbGVhbiB1c2luZyB0aGUgYm9vbGVhbiBmdW5jdGlvbiBpcyB0
cnVlLgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUobGhzLnRvQm9vbGVhbigpLCByaHMpOwog
ICAgICAgICB9Ci0gICAgICAgIEFTU0VSVCgwKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfQogICAgIGlmIChyaHMuaXNOb2RlU2V0KCkpIHsKICAgICAgICAgY29uc3QgTm9k
ZVNldCYgcmhzU2V0ID0gcmhzLnRvTm9kZVNldCgpOwpAQCAtMTU5LDcgKzE2MSw3IEBAIGJvb2wg
RXFUZXN0T3A6OmNvbXBhcmUoY29uc3QgVmFsdWUmIGxocywgY29uc3QgVmFsdWUmIHJocykgY29u
c3QKICAgICAgICAgfQogICAgICAgICBpZiAobGhzLmlzQm9vbGVhbigpKQogICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmUobGhzLCByaHMudG9Cb29sZWFuKCkpOwotICAgICAgICBBU1NFUlQoMCk7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KICAgICAKICAgICAvLyBOZWl0
aGVyIHNpZGUgaXMgYSBOb2RlU2V0LgpAQCAtMTg2LDg5ICsxODgsNzkgQEAgYm9vbCBFcVRlc3RP
cDo6Y29tcGFyZShjb25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAg
ICAgICBjYXNlIE9QX0xFOgogICAgICAgICAgICAgcmV0dXJuIGxocy50b051bWJlcigpIDw9IHJo
cy50b051bWJlcigpOwogICAgIH0KLSAgICBBU1NFUlQoMCk7CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIFZhbHVlIEVxVGVzdE9wOjpldmFsdWF0
ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzKHN1YkV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKSk7
Ci0gICAgVmFsdWUgcmhzKHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKSk7Ci0KKyAgICBWYWx1
ZSBsaHMoc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKKyAgICBWYWx1ZSByaHMoc3ViZXhw
cmVzc2lvbigxKS5ldmFsdWF0ZSgpKTsKICAgICByZXR1cm4gY29tcGFyZShsaHMsIHJocyk7CiB9
CiAKLUxvZ2ljYWxPcDo6TG9naWNhbE9wKE9wY29kZSBvcGNvZGUsIEV4cHJlc3Npb24qIGxocywg
RXhwcmVzc2lvbiogcmhzKQorTG9naWNhbE9wOjpMb2dpY2FsT3AoT3Bjb2RlIG9wY29kZSwgc3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4mJiByaHMpCiAgICAgOiBtX29wY29kZShvcGNvZGUpCiB7Ci0gICAgYWRkU3ViRXhwcmVzc2lv
bihsaHMpOwotICAgIGFkZFN1YkV4cHJlc3Npb24ocmhzKTsKKyAgICBhZGRTdWJleHByZXNzaW9u
KHN0ZDo6bW92ZShsaHMpKTsKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShyaHMpKTsK
IH0KIAotYm9vbCBMb2dpY2FsT3A6OnNob3J0Q2lyY3VpdE9uKCkgY29uc3QKK2lubGluZSBib29s
IExvZ2ljYWxPcDo6c2hvcnRDaXJjdWl0T24oKSBjb25zdAogewotICAgIGlmIChtX29wY29kZSA9
PSBPUF9BbmQpCi0gICAgICAgIHJldHVybiBmYWxzZTsgLy9mYWxzZSBhbmQgZm9vCi0KLSAgICBy
ZXR1cm4gdHJ1ZTsgIC8vdHJ1ZSBvciBiYXIKKyAgICByZXR1cm4gbV9vcGNvZGUgIT0gT1BfQW5k
OwogfQogCiBWYWx1ZSBMb2dpY2FsT3A6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBs
aHMoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLQogICAgIC8vIFRoaXMgaXMgbm90IG9u
bHkgYW4gb3B0aW1pemF0aW9uLCBodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aAogICAgIC8vIGRp
Y3RhdGVzIHRoYXQgd2UgbXVzdCBkbyBzaG9ydC1jaXJjdWl0IGV2YWx1YXRpb24KLSAgICBib29s
IGxoc0Jvb2wgPSBsaHMudG9Cb29sZWFuKCk7CisgICAgYm9vbCBsaHNCb29sID0gc3ViZXhwcmVz
c2lvbigwKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOwogICAgIGlmIChsaHNCb29sID09IHNob3J0
Q2lyY3VpdE9uKCkpCiAgICAgICAgIHJldHVybiBsaHNCb29sOwogCi0gICAgcmV0dXJuIHN1YkV4
cHJlc3Npb24oMSkuZXZhbHVhdGUoKS50b0Jvb2xlYW4oKTsKKyAgICByZXR1cm4gc3ViZXhwcmVz
c2lvbigxKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOworfQorCitVbmlvbjo6VW5pb24oc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4m
JiByaHMpCit7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRk
U3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7CiB9CiAKIFZhbHVlIFVuaW9uOjpldmFsdWF0
ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzUmVzdWx0ID0gc3ViRXhwcmVzc2lvbigwKS5ldmFs
dWF0ZSgpOwotICAgIFZhbHVlIHJocyA9IHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKTsKLSAg
ICAKKyAgICBWYWx1ZSBsaHNSZXN1bHQgPSBzdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCk7Cisg
ICAgVmFsdWUgcmhzID0gc3ViZXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpOworCiAgICAgTm9kZVNl
dCYgcmVzdWx0U2V0ID0gbGhzUmVzdWx0Lm1vZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgY29uc3Qg
Tm9kZVNldCYgcmhzTm9kZXMgPSByaHMudG9Ob2RlU2V0KCk7Ci0gICAgCisKICAgICBIYXNoU2V0
PE5vZGUqPiBub2RlczsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlc3VsdFNldC5zaXpl
KCk7ICsraSkKICAgICAgICAgbm9kZXMuYWRkKHJlc3VsdFNldFtpXSk7Ci0gICAgCisKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHJoc05vZGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIE5v
ZGUqIG5vZGUgPSByaHNOb2Rlc1tpXTsKICAgICAgICAgaWYgKG5vZGVzLmFkZChub2RlKS5pc05l
d0VudHJ5KQogICAgICAgICAgICAgcmVzdWx0U2V0LmFwcGVuZChub2RlKTsKICAgICB9CiAKLSAg
ICAvLyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHVzZSBtZXJnZSBzb3J0IHRvIGF2b2lkIG1ha2lu
ZyB0aGUgcmVzdWx0IHVuc29ydGVkOwotICAgIC8vIGJ1dCB0aGlzIHdvdWxkIHdhc3RlIHRoZSB0
aW1lIGluIGNhc2VzIHdoZW4gb3JkZXIgaXMgbm90IGltcG9ydGFudC4KKyAgICAvLyBJdCB3b3Vs
ZCBhbHNvIGJlIHBvc3NpYmxlIHRvIHBlcmZvcm0gYSBtZXJnZSBzb3J0IGhlcmUgdG8gYXZvaWQg
bWFraW5nIGFuIHVuc29ydGVkIHJlc3VsdCwKKyAgICAvLyBidXQgdGhhdCB3b3VsZCB3YXN0ZSB0
aGUgdGltZSBpbiBjYXNlcyB3aGVuIG9yZGVyIGlzIG5vdCBpbXBvcnRhbnQuCiAgICAgcmVzdWx0
U2V0Lm1hcmtTb3J0ZWQoZmFsc2UpOwotICAgIHJldHVybiBsaHNSZXN1bHQ7Ci19Ci0KLVByZWRp
Y2F0ZTo6UHJlZGljYXRlKEV4cHJlc3Npb24qIGV4cHIpCi0gICAgOiBtX2V4cHIoZXhwcikKLXsK
LX0KIAotUHJlZGljYXRlOjp+UHJlZGljYXRlKCkKLXsKLSAgICBkZWxldGUgbV9leHByOworICAg
IHJldHVybiBsaHNSZXN1bHQ7CiB9CiAKIGJvb2wgUHJlZGljYXRlOjpldmFsdWF0ZSgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKG1fZXhwciAhPSAwKTsKLQotICAgIFZhbHVlIHJlc3VsdChtX2V4cHIt
PmV2YWx1YXRlKCkpOworICAgIFZhbHVlIHJlc3VsdChtX2V4cHJlc3Npb24tPmV2YWx1YXRlKCkp
OwogCiAgICAgLy8gZm9vWzNdIG1lYW5zIGZvb1twb3NpdGlvbigpPTNdCiAgICAgaWYgKHJlc3Vs
dC5pc051bWJlcigpKQotICAgICAgICByZXR1cm4gRXFUZXN0T3AoRXFUZXN0T3A6Ok9QX0VRLCBj
cmVhdGVGdW5jdGlvbigicG9zaXRpb24iKSwgbmV3IE51bWJlcihyZXN1bHQudG9OdW1iZXIoKSkp
LmV2YWx1YXRlKCkudG9Cb29sZWFuKCk7CisgICAgICAgIHJldHVybiBFcVRlc3RPcChFcVRlc3RP
cDo6T1BfRVEsIEZ1bmN0aW9uOjpjcmVhdGUoQVNDSUlMaXRlcmFsKCJwb3NpdGlvbiIpKSwgc3Rk
OjptYWtlX3VuaXF1ZTxOdW1iZXI+KHJlc3VsdC50b051bWJlcigpKSkuZXZhbHVhdGUoKS50b0Jv
b2xlYW4oKTsKIAogICAgIHJldHVybiByZXN1bHQudG9Cb29sZWFuKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDAxM2NjZGEyMzEyNDNhODQ4MzJmYmFkYmRlMjgwMjQy
ZWM1MDJlOWYuLmNhMmQ5OGNlMTU2YmViMDFlMzI3NTJhYWJkMGVkMzJiMTIyYjMzMGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDg3ICszNCwxMDUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFt
ZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIE51bWJlciA6IHB1YmxpYyBF
eHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgTnVtYmVyIEZJTkFMIDogcHVibGljIEV4cHJlc3Np
b24gewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBleHBsaWNpdCBOdW1iZXIoZG91Ymxl
KTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZh
bHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVt
YmVyVmFsdWU7IH0KIAogICAgICAgICAgICAgVmFsdWUgbV92YWx1ZTsKICAgICAgICAgfTsKIAot
ICAgICAgICBjbGFzcyBTdHJpbmdFeHByZXNzaW9uIDogcHVibGljIEV4cHJlc3Npb24geworICAg
ICAgICBjbGFzcyBTdHJpbmdFeHByZXNzaW9uIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewog
ICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBleHBsaWNpdCBTdHJpbmdFeHByZXNzaW9uKGNv
bnN0IFN0cmluZyYpOworICAgICAgICAgICAgZXhwbGljaXQgU3RyaW5nRXhwcmVzc2lvbihTdHJp
bmcmJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6
OlN0cmluZ1ZhbHVlOyB9CiAKICAgICAgICAgICAgIFZhbHVlIG1fdmFsdWU7CiAgICAgICAgIH07
CiAKLSAgICAgICAgY2xhc3MgTmVnYXRpdmUgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAg
IGNsYXNzIE5lZ2F0aXZlIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBwdWJs
aWM6CisgICAgICAgICAgICBleHBsaWNpdCBOZWdhdGl2ZShzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4mJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorICAgICAgICAgICAg
dmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFs
dWU6Ok51bWJlclZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgTnVtZXJpY09w
IDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBOdW1lcmljT3AgRklOQUwgOiBw
dWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGVudW0gT3Bj
b2RlIHsKLSAgICAgICAgICAgICAgICBPUF9BZGQsIE9QX1N1YiwgT1BfTXVsLCBPUF9EaXYsIE9Q
X01vZAotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIE51bWVyaWNPcChPcGNvZGUsIEV4cHJl
c3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKKyAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsg
T1BfQWRkLCBPUF9TdWIsIE9QX011bCwgT1BfRGl2LCBPUF9Nb2QgfTsKKyAgICAgICAgICAgIE51
bWVyaWNPcChPcGNvZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGxocywgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgcmhzKTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZh
bHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIAogICAgICAgICAgICAgT3Bj
b2RlIG1fb3Bjb2RlOwogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIEVxVGVzdE9wIDogcHVi
bGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBFcVRlc3RPcCBGSU5BTCA6IHB1YmxpYyBF
eHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBPcGNvZGUgeyBP
UF9FUSwgT1BfTkUsIE9QX0dULCBPUF9MVCwgT1BfR0UsIE9QX0xFIH07Ci0gICAgICAgICAgICBF
cVRlc3RPcChPcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKTsKLSAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEVxVGVz
dE9wKE9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0IE9WRVJSSURFOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9v
bGVhblZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAgICAgICAg
ICAgICBib29sIGNvbXBhcmUoY29uc3QgVmFsdWUmLCBjb25zdCBWYWx1ZSYpIGNvbnN0OwogCiAg
ICAgICAgICAgICBPcGNvZGUgbV9vcGNvZGU7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3Mg
TG9naWNhbE9wIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2dpY2FsT3Ag
RklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IGVudW0gT3Bjb2RlIHsgT1BfQW5kLCBPUF9PciB9OwotICAgICAgICAgICAgTG9naWNhbE9wKE9w
Y29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgTG9n
aWNhbE9wKE9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAg
ICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1
ZTo6Qm9vbGVhblZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAg
ICAgICAgICAgICBib29sIHNob3J0Q2lyY3VpdE9uKCkgY29uc3Q7Ci0gICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAgICAgICAgIE9wY29kZSBtX29wY29kZTsK
ICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBVbmlvbiA6IHB1YmxpYyBFeHByZXNzaW9uIHsK
KyAgICAgICAgY2xhc3MgVW5pb24gRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAg
IHB1YmxpYzoKKyAgICAgICAgICAgIFVuaW9uKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYm
LCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJik7CisKICAgICAgICAgcHJpdmF0ZToKLSAg
ICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2Rl
U2V0VmFsdWU7IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBP
VkVSUklERTsKKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsK
IAogICAgICAgICBjbGFzcyBQcmVkaWNhdGUgewotICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKLSAgICAgICAgICAgIGV4cGxpY2l0IFByZWRpY2F0ZShFeHByZXNzaW9uKik7Ci0gICAgICAg
ICAgICB+UHJlZGljYXRlKCk7CisgICAgICAgICAgICBleHBsaWNpdCBQcmVkaWNhdGUoc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhwcmVzc2lvbikgOiBtX2V4cHJlc3Npb24oc3RkOjpt
b3ZlKGV4cHJlc3Npb24pKSB7IH0KKwogICAgICAgICAgICAgYm9vbCBldmFsdWF0ZSgpIGNvbnN0
OwogCi0gICAgICAgICAgICBib29sIGlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgY29uc3Qg
eyByZXR1cm4gbV9leHByLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fZXhwci0+
cmVzdWx0VHlwZSgpID09IFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQotICAgICAgICAgICAgYm9vbCBp
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9leHByLT5pc0NvbnRleHRT
aXplU2Vuc2l0aXZlKCk7IH0KKyAgICAgICAgICAgIGJvb2wgaXNDb250ZXh0UG9zaXRpb25TZW5z
aXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmlzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKCkgfHwgbV9leHByZXNzaW9uLT5yZXN1bHRUeXBlKCkgPT0gVmFsdWU6Ok51bWJlclZh
bHVlOyB9CisgICAgICAgICAgICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7
IHJldHVybiBtX2V4cHJlc3Npb24tPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQorCisjaWYg
Q09NUElMRVIoTVNWQykKKyAgICAgICAgICAgIC8vIFdvcmsgYXJvdW5kIGFuIGFwcGFyZW50IGJ1
ZyBpbiBNU1ZDIHdoZXJlIGl0IHRyaWVzIHRvIGdlbmVyYXRlIHRoZSBjb3B5IGNvbnN0cnVjdG9y
IGFuZCBhc3NpZ25tZW50CisgICAgICAgICAgICAvLyBvcGVyYXRvciBldmVuIHRob3VnaCB0aGlz
IGNsYXNzIGhhcyBhIG1lbWJlciB0aGF0IGlzIG1vdmUgb25seSBhbmQgdGhhdCBzaG91bGQgc3Vw
cHJlc3MgdGhlIGNvcHkKKyAgICAgICAgICAgIC8vIHZlcnNpb25zIGFuZCBwcm92aWRlIG9ubHkg
dGhlIG1vdmUgdmVyc2lvbnMuCisgICAgICAgICAgICBQcmVkaWNhdGUoY29uc3QgUHJlZGljYXRl
Jik7CisgICAgICAgICAgICBQcmVkaWNhdGUoUHJlZGljYXRlJiYgb3RoZXIpIDogbV9leHByZXNz
aW9uKHN0ZDo6bW92ZShvdGhlci5tX2V4cHJlc3Npb24pKSB7IH0KKyAgICAgICAgICAgIHZvaWQg
b3BlcmF0b3I9KGNvbnN0IFByZWRpY2F0ZSYpOworICAgICAgICAgICAgUHJlZGljYXRlJiBvcGVy
YXRvcj0oUHJlZGljYXRlJiYgb3RoZXIpIHsgbV9leHByZXNzaW9uID0gc3RkOjptb3ZlKG90aGVy
Lm1fZXhwcmVzc2lvbik7IHJldHVybiAqdGhpczsgfQorI2VuZGlmCiAKICAgICAgICAgcHJpdmF0
ZToKLSAgICAgICAgICAgIEV4cHJlc3Npb24qIG1fZXhwcjsKKyAgICAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxFeHByZXNzaW9uPiBtX2V4cHJlc3Npb247CiAgICAgICAgIH07CiAKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aFN0ZXAuY3BwCmluZGV4IDQ0MWRmZTQ4YmYzZjg3NDBlMzNhNTNjYjUwOTZk
NzY1MDMxMjY2NDQuLjUyYzI4ZDU3ODY4Yzk5OGJhNWU5MmIxODcwMTMwMjIxMzU4YmY0ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJB
dHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAiWE1MTlNOYW1lcy5oIgogI2luY2x1ZGUgIlhQYXRoUGFyc2VyLmgiCkBAIC0zOSwxNyArMzks
MjEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7CiAKLVN0ZXA6OlN0
ZXAoQXhpcyBheGlzLCBjb25zdCBOb2RlVGVzdCYgbm9kZVRlc3QsIGNvbnN0IFZlY3RvcjxQcmVk
aWNhdGUqPiYgcHJlZGljYXRlcykKK1N0ZXA6OlN0ZXAoQXhpcyBheGlzLCBOb2RlVGVzdCYmIG5v
ZGVUZXN0KQogICAgIDogbV9heGlzKGF4aXMpCi0gICAgLCBtX25vZGVUZXN0KG5vZGVUZXN0KQot
ICAgICwgbV9wcmVkaWNhdGVzKHByZWRpY2F0ZXMpCisgICAgLCBtX25vZGVUZXN0KHN0ZDo6bW92
ZShub2RlVGVzdCkpCit7Cit9CisKK1N0ZXA6OlN0ZXAoQXhpcyBheGlzLCBOb2RlVGVzdCYmIG5v
ZGVUZXN0LCBWZWN0b3I8UHJlZGljYXRlPiYmIHByZWRpY2F0ZXMpCisgICAgOiBtX2F4aXMoYXhp
cykKKyAgICAsIG1fbm9kZVRlc3Qoc3RkOjptb3ZlKG5vZGVUZXN0KSkKKyAgICAsIG1fcHJlZGlj
YXRlcyhzdGQ6Om1vdmUocHJlZGljYXRlcykpCiB7CiB9CiAKIFN0ZXA6On5TdGVwKCkKIHsKLSAg
ICBkZWxldGVBbGxWYWx1ZXMobV9wcmVkaWNhdGVzKTsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9u
b2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKCkpOwogfQogCiB2b2lkIFN0ZXA6Om9wdGltaXplKCkK
QEAgLTU3LDM2ICs2MSwzNSBAQCB2b2lkIFN0ZXA6Om9wdGltaXplKCkKICAgICAvLyBFdmFsdWF0
ZSBwcmVkaWNhdGVzIGFzIHBhcnQgb2Ygbm9kZSB0ZXN0IGlmIHBvc3NpYmxlIHRvIGF2b2lkIGJ1
aWxkaW5nIHVubmVjZXNzYXJ5IE5vZGVTZXRzLgogICAgIC8vIEUuZy4sIHRoZXJlIGlzIG5vIG5l
ZWQgdG8gYnVpbGQgYSBzZXQgb2YgYWxsICJmb28iIG5vZGVzIHRvIGV2YWx1YXRlICJmb29bQGJh
cl0iLCB3ZSBjYW4gY2hlY2sgdGhlIHByZWRpY2F0ZSB3aGlsZSBlbnVtZXJhdGluZy4KICAgICAv
LyBUaGlzIG9wdGltaXphdGlvbiBjYW4gYmUgYXBwbGllZCB0byBwcmVkaWNhdGVzIHRoYXQgYXJl
IG5vdCBjb250ZXh0IG5vZGUgbGlzdCBzZW5zaXRpdmUsIG9yIHRvIGZpcnN0IHByZWRpY2F0ZSB0
aGF0IGlzIG9ubHkgY29udGV4dCBwb3NpdGlvbiBzZW5zaXRpdmUsIGUuZy4gZm9vW3Bvc2l0aW9u
KCkgbW9kIDIgPSAwXS4KLSAgICBWZWN0b3I8UHJlZGljYXRlKj4gcmVtYWluaW5nUHJlZGljYXRl
czsKKyAgICBWZWN0b3I8UHJlZGljYXRlPiByZW1haW5pbmdQcmVkaWNhdGVzOwogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFBy
ZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAgICBpZiAoKCFwcmVk
aWNhdGUtPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9ub2RlVGVzdC5tZXJnZWRQ
cmVkaWNhdGVzKCkuaXNFbXB0eSgpKSAmJiAhcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vuc2l0
aXZlKCkgJiYgcmVtYWluaW5nUHJlZGljYXRlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIG1f
bm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpLmFwcGVuZChwcmVkaWNhdGUpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHJlbWFpbmluZ1ByZWRpY2F0ZXMuYXBwZW5kKHByZWRpY2F0ZSk7
CisgICAgICAgIFByZWRpY2F0ZSYgcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOworICAgICAg
ICBpZiAoKCFwcmVkaWNhdGUuaXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSB8fCBtX25vZGVU
ZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5pc0VtcHR5KCkpICYmICFwcmVkaWNhdGUuaXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSgpICYmIHJlbWFpbmluZ1ByZWRpY2F0ZXMuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgbV9ub2RlVGVzdC5tX21lcmdlZFByZWRpY2F0ZXMuYXBwZW5kKHN0ZDo6bW92ZShwcmVk
aWNhdGUpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVtYWluaW5nUHJlZGljYXRlcy5h
cHBlbmQoc3RkOjptb3ZlKHByZWRpY2F0ZSkpOwogICAgIH0KLSAgICBzd2FwKHJlbWFpbmluZ1By
ZWRpY2F0ZXMsIG1fcHJlZGljYXRlcyk7CisgICAgbV9wcmVkaWNhdGVzID0gc3RkOjptb3ZlKHJl
bWFpbmluZ1ByZWRpY2F0ZXMpOwogfQogCi12b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCogZmly
c3QsIFN0ZXAqIHNlY29uZCwgYm9vbCYgZHJvcFNlY29uZFN0ZXApCit2b2lkIG9wdGltaXplU3Rl
cFBhaXIoU3RlcCYgZmlyc3QsIFN0ZXAmIHNlY29uZCwgYm9vbCYgZHJvcFNlY29uZFN0ZXApCiB7
CiAgICAgZHJvcFNlY29uZFN0ZXAgPSBmYWxzZTsKIAotICAgIGlmIChmaXJzdC0+bV9heGlzID09
IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlzCi0gICAgICAgICYmIGZpcnN0LT5tX25vZGVUZXN0
LmtpbmQoKSA9PSBTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QKLSAgICAgICAgJiYgIWZpcnN0
LT5tX3ByZWRpY2F0ZXMuc2l6ZSgpCi0gICAgICAgICYmICFmaXJzdC0+bV9ub2RlVGVzdC5tZXJn
ZWRQcmVkaWNhdGVzKCkuc2l6ZSgpKSB7CisgICAgaWYgKGZpcnN0Lm1fYXhpcyA9PSBTdGVwOjpE
ZXNjZW5kYW50T3JTZWxmQXhpcworICAgICAgICAmJiBmaXJzdC5tX25vZGVUZXN0Lm1fa2luZCA9
PSBTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QKKyAgICAgICAgJiYgIWZpcnN0Lm1fcHJlZGlj
YXRlcy5zaXplKCkKKyAgICAgICAgJiYgIWZpcnN0Lm1fbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNh
dGVzLnNpemUoKSkgewogCi0gICAgICAgIEFTU0VSVChmaXJzdC0+bV9ub2RlVGVzdC5kYXRhKCku
aXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKGZpcnN0LT5tX25vZGVUZXN0Lm5hbWVzcGFjZVVS
SSgpLmlzRW1wdHkoKSk7CisgICAgICAgIEFTU0VSVChmaXJzdC5tX25vZGVUZXN0Lm1fZGF0YS5p
c0VtcHR5KCkpOworICAgICAgICBBU1NFUlQoZmlyc3QubV9ub2RlVGVzdC5tX25hbWVzcGFjZVVS
SS5pc0VtcHR5KCkpOwogCiAgICAgICAgIC8vIE9wdGltaXplIHRoZSBjb21tb24gY2FzZSBvZiAi
Ly8iIEFLQSAvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvY2hpbGQ6Ok5vZGVUZXN0IHRvIC9k
ZXNjZW5kYW50OjpOb2RlVGVzdC4KLSAgICAgICAgaWYgKHNlY29uZC0+bV9heGlzID09IFN0ZXA6
OkNoaWxkQXhpcyAmJiBzZWNvbmQtPnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZl
KCkpIHsKLSAgICAgICAgICAgIGZpcnN0LT5tX2F4aXMgPSBTdGVwOjpEZXNjZW5kYW50QXhpczsK
LSAgICAgICAgICAgIGZpcnN0LT5tX25vZGVUZXN0ID0gU3RlcDo6Tm9kZVRlc3Qoc2Vjb25kLT5t
X25vZGVUZXN0LmtpbmQoKSwgc2Vjb25kLT5tX25vZGVUZXN0LmRhdGEoKSwgc2Vjb25kLT5tX25v
ZGVUZXN0Lm5hbWVzcGFjZVVSSSgpKTsKLSAgICAgICAgICAgIHN3YXAoc2Vjb25kLT5tX25vZGVU
ZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKSwgZmlyc3QtPm1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRl
cygpKTsKLSAgICAgICAgICAgIHN3YXAoc2Vjb25kLT5tX3ByZWRpY2F0ZXMsIGZpcnN0LT5tX3By
ZWRpY2F0ZXMpOwotICAgICAgICAgICAgZmlyc3QtPm9wdGltaXplKCk7CisgICAgICAgIGlmIChz
ZWNvbmQubV9heGlzID09IFN0ZXA6OkNoaWxkQXhpcyAmJiBzZWNvbmQucHJlZGljYXRlc0FyZUNv
bnRleHRMaXN0SW5zZW5zaXRpdmUoKSkgeworICAgICAgICAgICAgZmlyc3QubV9heGlzID0gU3Rl
cDo6RGVzY2VuZGFudEF4aXM7CisgICAgICAgICAgICBmaXJzdC5tX25vZGVUZXN0ID0gc3RkOjpt
b3ZlKHNlY29uZC5tX25vZGVUZXN0KTsKKyAgICAgICAgICAgIGZpcnN0Lm1fcHJlZGljYXRlcyA9
IHN0ZDo6bW92ZShzZWNvbmQubV9wcmVkaWNhdGVzKTsKKyAgICAgICAgICAgIGZpcnN0Lm9wdGlt
aXplKCk7CiAgICAgICAgICAgICBkcm9wU2Vjb25kU3RlcCA9IHRydWU7CiAgICAgICAgIH0KICAg
ICB9CkBAIC05NSwyMSArOTgsMjEgQEAgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAqIGZpcnN0
LCBTdGVwKiBzZWNvbmQsIGJvb2wmIGRyb3BTZWNvbmRTdGVwKQogYm9vbCBTdGVwOjpwcmVkaWNh
dGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2ZSgpIGNvbnN0CiB7CiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX3ByZWRpY2F0ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUHJlZGljYXRl
KiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07Ci0gICAgICAgIGlmIChwcmVkaWNhdGUtPmlz
Q29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vu
c2l0aXZlKCkpCisgICAgICAgIGNvbnN0IFByZWRpY2F0ZSYgcHJlZGljYXRlID0gbV9wcmVkaWNh
dGVzW2ldOworICAgICAgICBpZiAocHJlZGljYXRlLmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZl
KCkgfHwgcHJlZGljYXRlLmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbm9kZVRl
c3QubWVyZ2VkUHJlZGljYXRlcygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSog
cHJlZGljYXRlID0gbV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKClbaV07Ci0gICAgICAgIGlm
IChwcmVkaWNhdGUtPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgcHJlZGljYXRlLT5p
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX25v
ZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5zaXplKCk7ICsraSkgeworICAgICAgICBjb25zdCBQ
cmVkaWNhdGUmIHByZWRpY2F0ZSA9IG1fbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzW2ldOwor
ICAgICAgICBpZiAocHJlZGljYXRlLmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgcHJl
ZGljYXRlLmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTdGVwOjpldmFsdWF0ZShO
b2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKK3ZvaWQgU3RlcDo6ZXZhbHVhdGUo
Tm9kZSYgY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiB7CiAgICAgRXZhbHVhdGlvbkNv
bnRleHQmIGV2YWx1YXRpb25Db250ZXh0ID0gRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQo
KTsKICAgICBldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbiA9IDA7CkBAIC0xMTgsNyArMTIxLDcg
QEAgdm9pZCBTdGVwOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29u
c3QKIAogICAgIC8vIENoZWNrIHByZWRpY2F0ZXMgdGhhdCBjb3VsZG4ndCBiZSBtZXJnZWQgaW50
byBub2RlIHRlc3QuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJlZGljYXRlcy5z
aXplKCk7IGkrKykgewotICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRl
c1tpXTsKKyAgICAgICAgY29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNb
aV07CiAKICAgICAgICAgTm9kZVNldCBuZXdOb2RlczsKICAgICAgICAgaWYgKCFub2Rlcy5pc1Nv
cnRlZCgpKQpAQCAtMTMwLDExICsxMzMsMTEgQEAgdm9pZCBTdGVwOjpldmFsdWF0ZShOb2RlKiBj
b250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAgICAgIGV2YWx1YXRpb25Db250
ZXh0Lm5vZGUgPSBub2RlOwogICAgICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQuc2l6ZSA9IG5v
ZGVzLnNpemUoKTsKICAgICAgICAgICAgIGV2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9uID0gaiAr
IDE7Ci0gICAgICAgICAgICBpZiAocHJlZGljYXRlLT5ldmFsdWF0ZSgpKQorICAgICAgICAgICAg
aWYgKHByZWRpY2F0ZS5ldmFsdWF0ZSgpKQogICAgICAgICAgICAgICAgIG5ld05vZGVzLmFwcGVu
ZChub2RlKTsKICAgICAgICAgfQogCi0gICAgICAgIG5vZGVzLnN3YXAobmV3Tm9kZXMpOworICAg
ICAgICBub2RlcyA9IHN0ZDo6bW92ZShuZXdOb2Rlcyk7CiAgICAgfQogfQogCkBAIC0xNTMsMzQg
KzE1NiwzNCBAQCBzdGF0aWMgaW5saW5lIE5vZGU6Ok5vZGVUeXBlIHByaW1hcnlOb2RlVHlwZShT
dGVwOjpBeGlzIGF4aXMpCiAjZW5kaWYKIAogLy8gRXZhbHVhdGUgTm9kZVRlc3Qgd2l0aG91dCBj
b25zaWRlcmluZyBtZXJnZWQgcHJlZGljYXRlcy4KLXN0YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0
Y2hlc0Jhc2ljVGVzdChOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5v
ZGVUZXN0JiBub2RlVGVzdCkKK2lubGluZSBib29sIG5vZGVNYXRjaGVzQmFzaWNUZXN0KE5vZGUm
IG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRlc3QmIG5vZGVUZXN0KQog
ewotICAgIHN3aXRjaCAobm9kZVRlc3Qua2luZCgpKSB7CisgICAgc3dpdGNoIChub2RlVGVzdC5t
X2tpbmQpIHsKICAgICAgICAgY2FzZSBTdGVwOjpOb2RlVGVzdDo6VGV4dE5vZGVUZXN0OgotICAg
ICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6VEVYVF9OT0RFIHx8IG5v
ZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFOworICAgICAgICAgICAg
cmV0dXJuIG5vZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpURVhUX05PREUgfHwgbm9kZS5ub2RlVHlw
ZSgpID09IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERTsKICAgICAgICAgY2FzZSBTdGVwOjpOb2Rl
VGVzdDo6Q29tbWVudE5vZGVUZXN0OgotICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVUeXBl
KCkgPT0gTm9kZTo6Q09NTUVOVF9OT0RFOworICAgICAgICAgICAgcmV0dXJuIG5vZGUubm9kZVR5
cGUoKSA9PSBOb2RlOjpDT01NRU5UX05PREU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6
OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0OiB7Ci0gICAgICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5kYXRhKCk7Ci0gICAgICAgICAgICByZXR1cm4gbm9k
ZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUgJiYgKG5h
bWUuaXNFbXB0eSgpIHx8IG5vZGUtPm5vZGVOYW1lKCkgPT0gbmFtZSk7CisgICAgICAgICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5tX2RhdGE7CisgICAgICAgICAgICBy
ZXR1cm4gbm9kZS5ub2RlVHlwZSgpID09IE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9E
RSAmJiAobmFtZS5pc0VtcHR5KCkgfHwgbm9kZS5ub2RlTmFtZSgpID09IG5hbWUpOwogICAgICAg
ICB9CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0OgogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0OiB7
Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5kYXRhKCk7
Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSA9IG5vZGVUZXN0
Lm5hbWVzcGFjZVVSSSgpOworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0g
bm9kZVRlc3QubV9kYXRhOworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3Bh
Y2VVUkkgPSBub2RlVGVzdC5tX25hbWVzcGFjZVVSSTsKIAogICAgICAgICAgICAgaWYgKGF4aXMg
PT0gU3RlcDo6QXR0cmlidXRlQXhpcykgewotICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLT5p
c0F0dHJpYnV0ZU5vZGUoKSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUuaXNBdHRyaWJ1
dGVOb2RlKCkpOwogCiAgICAgICAgICAgICAgICAgLy8gSW4gWFBhdGggbGFuZCwgbmFtZXNwYWNl
IG5vZGVzIGFyZSBub3QgYWNjZXNzaWJsZSBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCi0gICAgICAg
ICAgICAgICAgaWYgKG5vZGUtPm5hbWVzcGFjZVVSSSgpID09IFhNTE5TTmFtZXM6OnhtbG5zTmFt
ZXNwYWNlVVJJKQorICAgICAgICAgICAgICAgIGlmIChub2RlLm5hbWVzcGFjZVVSSSgpID09IFhN
TE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PSBzdGFyQXRvbSkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFjZVVSSS5pc0VtcHR5KCkgfHwgbm9kZS0+bmFtZXNw
YWNlVVJJKCkgPT0gbmFtZXNwYWNlVVJJOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmFt
ZXNwYWNlVVJJLmlzRW1wdHkoKSB8fCBub2RlLm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVS
STsKIAotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT5sb2NhbE5hbWUoKSA9PSBuYW1lICYm
IG5vZGUtPm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVSSTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbm9kZS5sb2NhbE5hbWUoKSA9PSBuYW1lICYmIG5vZGUubmFtZXNwYWNlVVJJKCkgPT0g
bmFtZXNwYWNlVVJJOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBOb2RlIHRlc3Qg
b24gdGhlIG5hbWVzcGFjZSBheGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQsIHRoZSBjYWxsZXIg
aGFzIGEgY2hlY2sgZm9yIGl0LgpAQCAtMTg4LDI4ICsxOTEsMjggQEAgc3RhdGljIGlubGluZSBi
b29sIG5vZGVNYXRjaGVzQmFzaWNUZXN0KE5vZGUqIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29u
c3QgU3RlcDoKIAogICAgICAgICAgICAgLy8gRm9yIG90aGVyIGF4ZXMsIHRoZSBwcmluY2lwYWwg
bm9kZSB0eXBlIGlzIGVsZW1lbnQuCiAgICAgICAgICAgICBBU1NFUlQocHJpbWFyeU5vZGVUeXBl
KGF4aXMpID09IE5vZGU6OkVMRU1FTlRfTk9ERSk7Ci0gICAgICAgICAgICBpZiAobm9kZS0+bm9k
ZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUpCisgICAgICAgICAgICBpZiAoIW5vZGUuaXNF
bGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAg
ICAgaWYgKG5hbWUgPT0gc3RhckF0b20pCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFj
ZVVSSS5pc0VtcHR5KCkgfHwgbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8IG5hbWVzcGFj
ZVVSSSA9PSBub2RlLm5hbWVzcGFjZVVSSSgpOwogCi0gICAgICAgICAgICBpZiAobm9kZS0+ZG9j
dW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlz
SFRNTEVsZW1lbnQoKSkgeworICAgICAgICAgICAgaWYgKG5vZGUuZG9jdW1lbnQoKS5pc0hUTUxE
b2N1bWVudCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUuaXNIVE1MRWxlbWVudCgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIC8vIFBhdGhzIHdpdGhvdXQgbmFtZXNwYWNlcyBzaG91bGQg
bWF0Y2ggSFRNTCBlbGVtZW50cyBpbiBIVE1MIGRvY3VtZW50cyBkZXNwaXRlIHRob3NlIGhhdmlu
ZyBhbiBYSFRNTCBuYW1lc3BhY2UuIE5hbWVzIGFyZSBjb21wYXJlZCBjYXNlLWluc2Vuc2l0aXZl
bHkuCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh0b0VsZW1l
bnQobm9kZSktPmxvY2FsTmFtZSgpLCBuYW1lKSAmJiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpIHx8
IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh0b0hUTUxFbGVtZW50KG5vZGUpLmxvY2FsTmFt
ZSgpLCBuYW1lKSAmJiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpIHx8IG5hbWVzcGFjZVVSSSA9PSBu
b2RlLm5hbWVzcGFjZVVSSSgpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
Ly8gQW4gZXhwcmVzc2lvbiB3aXRob3V0IGFueSBwcmVmaXggc2hvdWxkbid0IG1hdGNoIG5vLW5h
bWVzcGFjZSBub2RlcyAoYmVjYXVzZSBIVE1MNSBzYXlzIHNvKS4KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdG9FbGVtZW50KG5vZGUpLT5oYXNMb2NhbE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJ
ID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpICYmICFuYW1lc3BhY2VVUkkuaXNOdWxsKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS5oYXNMb2NhbE5hbWUobmFtZSkgJiYg
bmFtZXNwYWNlVVJJID09IG5vZGUubmFtZXNwYWNlVVJJKCkgJiYgIW5hbWVzcGFjZVVSSS5pc051
bGwoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSkt
Pmhhc0xvY2FsTmFtZShuYW1lKSAmJiBuYW1lc3BhY2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJ
KCk7CisgICAgICAgICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpLmhhc0xvY2FsTmFtZShuYW1l
KSAmJiBuYW1lc3BhY2VVUkkgPT0gbm9kZS5uYW1lc3BhY2VVUkkoKTsKICAgICAgICAgfQogICAg
IH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0
YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0Y2hlcyhOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMs
IGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKK2lubGluZSBib29sIG5vZGVNYXRjaGVz
KE5vZGUmIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRlc3QmIG5vZGVU
ZXN0KQogewogICAgIGlmICghbm9kZU1hdGNoZXNCYXNpY1Rlc3Qobm9kZSwgYXhpcywgbm9kZVRl
c3QpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTksMTMgKzIyMiwxMyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25z
dCBTdGVwOjpOb2RlVGVzdAogICAgIC8vIE9ubHkgdGhlIGZpcnN0IG1lcmdlZCBwcmVkaWNhdGUg
bWF5IGRlcGVuZCBvbiBwb3NpdGlvbi4KICAgICArK2V2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9u
OwogCi0gICAgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJnZWRQcmVkaWNhdGVzID0gbm9k
ZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpOworICAgIGNvbnN0IFZlY3RvcjxQcmVkaWNhdGU+JiBt
ZXJnZWRQcmVkaWNhdGVzID0gbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzOwogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtZXJnZWRQcmVkaWNhdGVzLnNpemUoKTsgaSsrKSB7Ci0gICAg
ICAgIFByZWRpY2F0ZSogcHJlZGljYXRlID0gbWVyZ2VkUHJlZGljYXRlc1tpXTsKKyAgICAgICAg
Y29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUgPSBtZXJnZWRQcmVkaWNhdGVzW2ldOwogCi0gICAg
ICAgIGV2YWx1YXRpb25Db250ZXh0Lm5vZGUgPSBub2RlOworICAgICAgICBldmFsdWF0aW9uQ29u
dGV4dC5ub2RlID0gJm5vZGU7CiAgICAgICAgIC8vIE5vIG5lZWQgdG8gc2V0IGNvbnRleHQgc2l6
ZSAtIHdlIG9ubHkgZ2V0IGhlcmUgd2hlbiBldmFsdWF0aW5nIHByZWRpY2F0ZXMgdGhhdCBkbyBu
b3QgZGVwZW5kIG9uIGl0LgotICAgICAgICBpZiAoIXByZWRpY2F0ZS0+ZXZhbHVhdGUoKSkKKyAg
ICAgICAgaWYgKCFwcmVkaWNhdGUuZXZhbHVhdGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKQEAgLTIzMywxMjQgKzIzNiwxMjYgQEAgc3RhdGljIGlubGluZSBib29sIG5v
ZGVNYXRjaGVzKE5vZGUqIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRl
c3QKIH0KIAogLy8gUmVzdWx0IG5vZGVzIGFyZSBvcmRlcmVkIGluIGF4aXMgb3JkZXIuIE5vZGUg
dGVzdCAoaW5jbHVkaW5nIG1lcmdlZCBwcmVkaWNhdGVzKSBpcyBhcHBsaWVkLgotdm9pZCBTdGVw
Ojpub2Rlc0luQXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKK3ZvaWQg
U3RlcDo6bm9kZXNJbkF4aXMoTm9kZSYgY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKG5vZGVzLmlzRW1wdHkoKSk7CiAgICAgc3dpdGNoIChtX2F4aXMpIHsKICAg
ICAgICAgY2FzZSBDaGlsZEF4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1
dGVOb2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUg
Y2hpbGRyZW4uCisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8g
SW4gWFBhdGggbW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KICAg
ICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRl
eHQtPmZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpCi0gICAgICAgICAgICAg
ICAgaWYgKG5vZGVNYXRjaGVzKG4sIENoaWxkQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9
IGNvbnRleHQuZmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkg
eworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgQ2hpbGRBeGlzLCBtX25v
ZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIERlc2NlbmRhbnRBeGlz
OgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJbiBYUGF0
aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgorICAgICAgICAg
ICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRy
aWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJzdENoaWxkKCk7IG47
IG4gPSBOb2RlVHJhdmVyc2FsOjpuZXh0KG4sIGNvbnRleHQpKQotICAgICAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhuLCBEZXNjZW5kYW50QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9
IGNvbnRleHQuZmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dChu
b2RlLCAmY29udGV4dCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUs
IERlc2NlbmRhbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMu
YXBwZW5kKG5vZGUpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjYXNlIFBhcmVudEF4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVO
b2RlKCkpIHsKLSAgICAgICAgICAgICAgICBFbGVtZW50KiBuID0gc3RhdGljX2Nhc3Q8QXR0cio+
KGNvbnRleHQpLT5vd25lckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNo
ZXMobiwgUGFyZW50QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVz
LmFwcGVuZChuKTsKKyAgICAgICAgICAgIGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSB7
CisgICAgICAgICAgICAgICAgRWxlbWVudCogbm9kZSA9IHN0YXRpY19jYXN0PEF0dHImPihjb250
ZXh0KS5vd25lckVsZW1lbnQoKTsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5v
ZGUsIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5h
cHBlbmQobm9kZSk7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIENvbnRh
aW5lck5vZGUqIG4gPSBjb250ZXh0LT5wYXJlbnROb2RlKCk7Ci0gICAgICAgICAgICAgICAgaWYg
KG4gJiYgbm9kZU1hdGNoZXMobiwgUGFyZW50QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgICAgICBDb250YWluZXJOb2Rl
KiBub2RlID0gY29udGV4dC5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUg
JiYgbm9kZU1hdGNoZXMoKm5vZGUsIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAg
ICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIGNhc2UgQW5jZXN0b3JBeGlzOiB7Ci0gICAgICAgICAgICBOb2Rl
KiBuID0gY29udGV4dDsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUo
KSkgewotICAgICAgICAgICAgICAgIG4gPSBzdGF0aWNfY2FzdDxBdHRyKj4oY29udGV4dCktPm93
bmVyRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBBbmNlc3Rv
ckF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobik7
CisgICAgICAgICAgICBOb2RlKiBub2RlID0gJmNvbnRleHQ7CisgICAgICAgICAgICBpZiAoY29u
dGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgeworICAgICAgICAgICAgICAgIG5vZGUgPSBzdGF0aWNf
Y2FzdDxBdHRyJj4oY29udGV4dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3RvckF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAg
ICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBmb3IgKG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJl
bnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIEFuY2Vz
dG9yQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChu
b2RlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAobiA9IG4tPnBhcmVudE5vZGUo
KTsgbjsgbiA9IG4tPnBhcmVudE5vZGUoKSkKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNo
ZXMobiwgQW5jZXN0b3JBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKG4pOwogICAgICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGb2xsb3dpbmdTaWJsaW5n
QXhpczoKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5ub2RlVHlwZSgpID09IE5vZGU6OkFUVFJJ
QlVURV9OT0RFIHx8Ci0gICAgICAgICAgICAgICAgIGNvbnRleHQtPm5vZGVUeXBlKCkgPT0gTm9k
ZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpIAorICAgICAgICAgICAgaWYgKGNvbnRleHQubm9kZVR5
cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9ERSB8fCBjb250ZXh0Lm5vZGVUeXBlKCkgPT0gTm9k
ZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5uZXh0U2libGluZygp
OyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNo
ZXMobiwgRm9sbG93aW5nU2libGluZ0F4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAg
ICAgICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250
ZXh0Lm5leHRTaWJsaW5nKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBGb2xsb3dpbmdTaWJsaW5nQXhp
cywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBQcmVjZWRp
bmdTaWJsaW5nQXhpczoKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5ub2RlVHlwZSgpID09IE5v
ZGU6OkFUVFJJQlVURV9OT0RFIHx8Ci0gICAgICAgICAgICAgICAgIGNvbnRleHQtPm5vZGVUeXBl
KCkgPT0gTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpCisgICAgICAgICAgICBpZiAoY29udGV4
dC5ub2RlVHlwZSgpID09IE5vZGU6OkFUVFJJQlVURV9OT0RFIHx8IGNvbnRleHQubm9kZVR5cGUo
KSA9PSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERSkKICAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPnByZXZp
b3VzU2libGluZygpOyBuOyBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCkpCi0gICAgICAgICAgICAg
ICAgaWYgKG5vZGVNYXRjaGVzKG4sIFByZWNlZGluZ1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwotCisgICAgICAgICAgICBmb3Ig
KE5vZGUqIG5vZGUgPSBjb250ZXh0LnByZXZpb3VzU2libGluZygpOyBub2RlOyBub2RlID0gbm9k
ZS0+cHJldmlvdXNTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMo
Km5vZGUsIFByZWNlZGluZ1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAg
ICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgbm9k
ZXMubWFya1NvcnRlZChmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2Ug
Rm9sbG93aW5nQXhpczoKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUo
KSkgewotICAgICAgICAgICAgICAgIE5vZGUqIHAgPSBzdGF0aWNfY2FzdDxBdHRyKj4oY29udGV4
dCktPm93bmVyRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIHdoaWxlICgocCA9IE5vZGVUcmF2
ZXJzYWw6Om5leHQocCkpKQotICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMocCwg
Rm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQocCk7CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkg
eworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBzdGF0aWNfY2FzdDxBdHRyJj4oY29udGV4
dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgd2hpbGUgKChub2RlID0gTm9kZVRy
YXZlcnNhbDo6bmV4dChub2RlKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRj
aGVzKCpub2RlLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGZvciAoTm9kZSogcCA9IGNvbnRleHQ7ICFpc1Jv
b3REb21Ob2RlKHApOyBwID0gcC0+cGFyZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZvciAoTm9kZSogbiA9IHAtPm5leHRTaWJsaW5nKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgRm9sbG93aW5n
QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBw
ZW5kKG4pOwotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBjID0gbi0+Zmlyc3RD
aGlsZCgpOyBjOyBjID0gTm9kZVRyYXZlcnNhbDo6bmV4dChjLCBuKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoYywgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVz
dCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjKTsKKyAg
ICAgICAgICAgICAgICBmb3IgKE5vZGUqIHBhcmVudCA9ICZjb250ZXh0OyAhaXNSb290RG9tTm9k
ZShwYXJlbnQpOyBwYXJlbnQgPSBwYXJlbnQtPnBhcmVudE5vZGUoKSkgeworICAgICAgICAgICAg
ICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBwYXJlbnQtPm5leHRTaWJsaW5nKCk7IG5vZGU7IG5v
ZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
bm9kZU1hdGNoZXMoKm5vZGUsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZvciAoTm9kZSogY2hpbGQgPSBub2RlLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGls
ZCA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoY2hpbGQsIG5vZGUpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpjaGlsZCwgRm9sbG93aW5nQXhpcywgbV9ub2Rl
VGVzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjaGls
ZCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGNhc2UgUHJlY2VkaW5nQXhpczogewotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0
cmlidXRlTm9kZSgpKQotICAgICAgICAgICAgICAgIGNvbnRleHQgPSBzdGF0aWNfY2FzdDxBdHRy
Kj4oY29udGV4dCktPm93bmVyRWxlbWVudCgpOwotCi0gICAgICAgICAgICBOb2RlKiBuID0gY29u
dGV4dDsKLSAgICAgICAgICAgIHdoaWxlIChDb250YWluZXJOb2RlKiBwYXJlbnQgPSBuLT5wYXJl
bnROb2RlKCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKG4gPSBOb2RlVHJhdmVyc2FsOjpwcmV2
aW91cyhuKTsgbiAhPSBwYXJlbnQ7IG4gPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91cyhuKSkKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIFByZWNlZGluZ0F4aXMsIG1fbm9k
ZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwotICAgICAg
ICAgICAgICAgIG4gPSBwYXJlbnQ7CisgICAgICAgICAgICBOb2RlKiBub2RlOworICAgICAgICAg
ICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpCisgICAgICAgICAgICAgICAgbm9kZSA9
IHN0YXRpY19jYXN0PEF0dHImPihjb250ZXh0KS5vd25lckVsZW1lbnQoKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBub2RlID0gJmNvbnRleHQ7CisgICAgICAgICAgICB3aGls
ZSAoQ29udGFpbmVyTm9kZSogcGFyZW50ID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAgICAg
ICAgICAgICAgZm9yIChub2RlID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobm9kZSk7IG5vZGUg
IT0gcGFyZW50OyBub2RlID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobm9kZSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBQcmVjZWRpbmdBeGlzLCBtX25v
ZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbm9kZSA9IHBhcmVudDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIG5vZGVzLm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQXR0cmlidXRlQXhpczogewotICAgICAg
ICAgICAgaWYgKCFjb250ZXh0LT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgICAgICBpZiAoIWNv
bnRleHQuaXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICAgICAgRWxlbWVudCogY29udGV4dEVsZW1lbnQgPSB0b0VsZW1lbnQoY29udGV4dCk7CisgICAg
ICAgICAgICBFbGVtZW50JiBjb250ZXh0RWxlbWVudCA9IHRvRWxlbWVudChjb250ZXh0KTsKIAog
ICAgICAgICAgICAgLy8gQXZvaWQgbGF6aWx5IGNyZWF0aW5nIGF0dHJpYnV0ZSBub2RlcyBmb3Ig
YXR0cmlidXRlcyB0aGF0IHdlIGRvIG5vdCBuZWVkIGFueXdheS4KLSAgICAgICAgICAgIGlmICht
X25vZGVUZXN0LmtpbmQoKSA9PSBOb2RlVGVzdDo6TmFtZVRlc3QgJiYgbV9ub2RlVGVzdC5kYXRh
KCkgIT0gc3RhckF0b20pIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8Tm9kZT4gbiA9IGNvbnRl
eHRFbGVtZW50LT5nZXRBdHRyaWJ1dGVOb2RlTlMobV9ub2RlVGVzdC5uYW1lc3BhY2VVUkkoKSwg
bV9ub2RlVGVzdC5kYXRhKCkpOwotICAgICAgICAgICAgICAgIGlmIChuICYmIG4tPm5hbWVzcGFj
ZVVSSSgpICE9IFhNTE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJKSB7IC8vIEluIFhQYXRoIGxh
bmQsIG5hbWVzcGFjZSBub2RlcyBhcmUgbm90IGFjY2Vzc2libGUgb24gdGhlIGF0dHJpYnV0ZSBh
eGlzLgotICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobi5nZXQoKSwgQXR0cmli
dXRlQXhpcywgbV9ub2RlVGVzdCkpIC8vIFN0aWxsIG5lZWQgdG8gY2hlY2sgbWVyZ2VkIHByZWRp
Y2F0ZXMuCi0gICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobi5yZWxlYXNlKCkp
OworICAgICAgICAgICAgaWYgKG1fbm9kZVRlc3QubV9raW5kID09IE5vZGVUZXN0OjpOYW1lVGVz
dCAmJiBtX25vZGVUZXN0Lm1fZGF0YSAhPSBzdGFyQXRvbSkgeworICAgICAgICAgICAgICAgIFJl
ZlB0cjxBdHRyPiBhdHRyID0gY29udGV4dEVsZW1lbnQuZ2V0QXR0cmlidXRlTm9kZU5TKG1fbm9k
ZVRlc3QubV9uYW1lc3BhY2VVUkksIG1fbm9kZVRlc3QubV9kYXRhKTsKKyAgICAgICAgICAgICAg
ICBpZiAoYXR0ciAmJiBhdHRyLT5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVzOjp4bWxuc05h
bWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBh
Y2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KKyAgICAgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKCphdHRyLCBBdHRyaWJ1dGVBeGlzLCBtX25vZGVUZXN0KSkgLy8gU3RpbGwg
bmVlZCB0byBjaGVjayBtZXJnZWQgcHJlZGljYXRlcy4KKyAgICAgICAgICAgICAgICAgICAgICAg
IG5vZGVzLmFwcGVuZChhdHRyLnJlbGVhc2UoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAg
ICAgaWYgKCFjb250ZXh0RWxlbWVudC0+aGFzQXR0cmlidXRlcygpKQorICAgICAgICAgICAgaWYg
KCFjb250ZXh0RWxlbWVudC5oYXNBdHRyaWJ1dGVzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29udGV4dEVsZW1lbnQt
PmF0dHJpYnV0ZUNvdW50KCk7ICsraSkgewotICAgICAgICAgICAgICAgIFJlZlB0cjxBdHRyPiBh
dHRyID0gY29udGV4dEVsZW1lbnQtPmVuc3VyZUF0dHIoY29udGV4dEVsZW1lbnQtPmF0dHJpYnV0
ZUF0KGkpLm5hbWUoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGF0dHIuZ2V0
KCksIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGNvbnRleHRFbGVtZW50LmF0dHJpYnV0ZUNvdW50KCk7ICsraSkgeworICAg
ICAgICAgICAgICAgIFJlZlB0cjxBdHRyPiBhdHRyID0gY29udGV4dEVsZW1lbnQuZW5zdXJlQXR0
cihjb250ZXh0RWxlbWVudC5hdHRyaWJ1dGVBdChpKS5uYW1lKCkpOworICAgICAgICAgICAgICAg
IGlmIChub2RlTWF0Y2hlcygqYXR0ciwgQXR0cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpCiAgICAg
ICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChhdHRyLnJlbGVhc2UoKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zNjAsMzEgKzM2NSwzMSBAQCB2b2lkIFN0ZXA6
Om5vZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIFNlbGZBeGlzOgogICAgICAgICAgICAgaWYgKG5v
ZGVNYXRjaGVzKGNvbnRleHQsIFNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQoY29udGV4dCk7CisgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKCZj
b250ZXh0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBEZXNjZW5kYW50T3JT
ZWxmQXhpczoKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhjb250ZXh0LCBEZXNjZW5kYW50
T3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKGNv
bnRleHQpOwotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJ
biBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgorICAg
ICAgICAgICAgICAgIG5vZGVzLmFwcGVuZCgmY29udGV4dCk7CisgICAgICAgICAgICBpZiAoY29u
dGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGggbW9kZWwsIGF0dHJpYnV0ZSBub2Rl
cyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPmZpcnN0Q2hpbGQoKTsgbjsgbiA9IE5vZGVU
cmF2ZXJzYWw6Om5leHQobiwgY29udGV4dCkpCi0gICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMo
biwgRGVzY2VuZGFudE9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5v
ZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IGNvbnRleHQuZmly
c3RDaGlsZCgpOyBub2RlOyBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dChub2RlLCAmY29udGV4
dCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIERlc2NlbmRhbnRP
clNlbGZBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KG5vZGUpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNl
IEFuY2VzdG9yT3JTZWxmQXhpczogewogICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGNvbnRl
eHQsIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKGNvbnRleHQpOwotICAgICAgICAgICAgTm9kZSogbiA9IGNvbnRleHQ7Ci0gICAg
ICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpIHsKLSAgICAgICAgICAgICAg
ICBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25lckVsZW1lbnQoKTsKLSAgICAg
ICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JPclNlbGZBeGlzLCBtX25vZGVU
ZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAg
ICAgIG5vZGVzLmFwcGVuZCgmY29udGV4dCk7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gJmNv
bnRleHQ7CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgeworICAg
ICAgICAgICAgICAgIG5vZGUgPSBzdGF0aWNfY2FzdDxBdHRyJj4oY29udGV4dCkub3duZXJFbGVt
ZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3Rvck9y
U2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQo
bm9kZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKG5vZGUgPSBub2RlLT5wYXJl
bnROb2RlKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAg
ICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVz
dCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGZvciAobiA9IG4tPnBhcmVudE5vZGUoKTsgbjsgbiA9IG4tPnBhcmVu
dE5vZGUoKSkKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JPclNl
bGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4p
OwotCiAgICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQpAQCAtMzkyLDYgKzM5Nyw1IEBAIHZvaWQgU3RlcDo6bm9kZXNJbkF4
aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiB9CiAKLQogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoU3RlcC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCmluZGV4IGY2NzhmOTIy
ODM5YTYwYWY3ZTE3MzZjNGIwMTNiYzVkY2FjZTYzMmEuLjU1NjljNDVjYzFiZWUwNGRhY2YxNGJj
OTZlZDVhYTFkN2QxOWQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTI3LDggKzI3LDgg
QEAKICNpZm5kZWYgWFBhdGhTdGVwX2gKICNkZWZpbmUgWFBhdGhTdGVwX2gKIAotI2luY2x1ZGUg
IlhQYXRoRXhwcmVzc2lvbk5vZGUuaCIKLSNpbmNsdWRlICJYUGF0aE5vZGVTZXQuaCIKKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIE5vZGU7CiAK
IG5hbWVzcGFjZSBYUGF0aCB7CiAKK2NsYXNzIE5vZGVTZXQ7CiBjbGFzcyBQcmVkaWNhdGU7CiAg
ICAgICAgIAotY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUgewotICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFN0ZXApOworY2xhc3MgU3RlcCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBBeGlzIHsKQEAgLTQ5LDU3ICs0OSw1MiBAQCBwdWJsaWM6
CiAgICAgICAgIFBhcmVudEF4aXMsIFByZWNlZGluZ0F4aXMsIFByZWNlZGluZ1NpYmxpbmdBeGlz
LAogICAgICAgICBTZWxmQXhpcwogICAgIH07Ci0gICAgICAgICAgIAorCiAgICAgY2xhc3MgTm9k
ZVRlc3QgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIGVudW0gS2luZCB7Ci0gICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2Rl
VGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVz
dAotICAgICAgICB9OwotCi0gICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCkgOiBtX2tpbmQoa2lu
ZCkgeyB9Ci0gICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCwgY29uc3QgU3RyaW5nJiBkYXRhKSA6
IG1fa2luZChraW5kKSwgbV9kYXRhKGRhdGEpIHsgfQotICAgICAgICBOb2RlVGVzdChLaW5kIGtp
bmQsIGNvbnN0IFN0cmluZyYgZGF0YSwgY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkkpIDogbV9r
aW5kKGtpbmQpLCBtX2RhdGEoZGF0YSksIG1fbmFtZXNwYWNlVVJJKG5hbWVzcGFjZVVSSSkgeyB9
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1f
a2luZDsgfQotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGRhdGEoKSBjb25zdCB7IHJldHVy
biBtX2RhdGE7IH0KLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkoKSBj
b25zdCB7IHJldHVybiBtX25hbWVzcGFjZVVSSTsgfQotICAgICAgICBWZWN0b3I8UHJlZGljYXRl
Kj4mIG1lcmdlZFByZWRpY2F0ZXMoKSB7IHJldHVybiBtX21lcmdlZFByZWRpY2F0ZXM7IH0KLSAg
ICAgICAgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJnZWRQcmVkaWNhdGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9tZXJnZWRQcmVkaWNhdGVzOyB9Ci0gICAgICAgICAgICAgICAgCisgICAgICAg
IGVudW0gS2luZCB7IFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0IH07CisKKyAgICAgICAgZXhw
bGljaXQgTm9kZVRlc3QoS2luZCBraW5kKSA6IG1fa2luZChraW5kKSB7IH0KKyAgICAgICAgTm9k
ZVRlc3QoS2luZCBraW5kLCBjb25zdCBBdG9taWNTdHJpbmcmIGRhdGEpIDogbV9raW5kKGtpbmQp
LCBtX2RhdGEoZGF0YSkgeyB9CisgICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCwgY29uc3QgQXRv
bWljU3RyaW5nJiBkYXRhLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkgOiBtX2tp
bmQoa2luZCksIG1fZGF0YShkYXRhKSwgbV9uYW1lc3BhY2VVUkkobmFtZXNwYWNlVVJJKSB7IH0K
KwogICAgIHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBTdGVwOworICAgICAgICBmcmll
bmQgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAmLCBTdGVwJiwgYm9vbCYpOworICAgICAgICBm
cmllbmQgYm9vbCBub2RlTWF0Y2hlc0Jhc2ljVGVzdChOb2RlJiwgQXhpcywgY29uc3QgTm9kZVRl
c3QmKTsKKyAgICAgICAgZnJpZW5kIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSYsIEF4aXMsIGNvbnN0
IE5vZGVUZXN0Jik7CisKICAgICAgICAgS2luZCBtX2tpbmQ7CiAgICAgICAgIEF0b21pY1N0cmlu
ZyBtX2RhdGE7CiAgICAgICAgIEF0b21pY1N0cmluZyBtX25hbWVzcGFjZVVSSTsKLQotICAgICAg
ICAvLyBXaGVuIHBvc3NpYmxlLCB3ZSBtZXJnZSBzb21lIG9yIGFsbCBwcmVkaWNhdGVzIHdpdGgg
bm9kZSB0ZXN0IGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCi0gICAgICAgIFZlY3RvcjxQcmVkaWNh
dGUqPiBtX21lcmdlZFByZWRpY2F0ZXM7CisgICAgICAgIFZlY3RvcjxQcmVkaWNhdGU+IG1fbWVy
Z2VkUHJlZGljYXRlczsKICAgICB9OwogCi0gICAgU3RlcChBeGlzLCBjb25zdCBOb2RlVGVzdCYs
IGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgcHJlZGljYXRlcyA9IFZlY3RvcjxQcmVkaWNhdGUq
PigpKTsKKyAgICBTdGVwKEF4aXMsIE5vZGVUZXN0JiYpOworICAgIFN0ZXAoQXhpcywgTm9kZVRl
c3QmJiwgVmVjdG9yPFByZWRpY2F0ZT4mJik7CiAgICAgflN0ZXAoKTsKIAogICAgIHZvaWQgb3B0
aW1pemUoKTsKIAotICAgIHZvaWQgZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVNldCYpIGNv
bnN0OworICAgIHZvaWQgZXZhbHVhdGUoTm9kZSYgY29udGV4dCwgTm9kZVNldCYpIGNvbnN0Owog
CiAgICAgQXhpcyBheGlzKCkgY29uc3QgeyByZXR1cm4gbV9heGlzOyB9Ci0gICAgY29uc3QgTm9k
ZVRlc3QmIG5vZGVUZXN0KCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVGVzdDsgfQogCiBwcml2YXRl
OgotICAgIGZyaWVuZCB2b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJik7
CisgICAgZnJpZW5kIHZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wmKTsK
KwogICAgIGJvb2wgcHJlZGljYXRlc0FyZUNvbnRleHRMaXN0SW5zZW5zaXRpdmUoKSBjb25zdDsK
IAogICAgIHZvaWQgcGFyc2VOb2RlVGVzdChjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIG5vZGVz
SW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKLSAgICBTdHJpbmcgbmFtZXNw
YWNlRnJvbU5vZGV0ZXN0KGNvbnN0IFN0cmluZyYgbm9kZVRlc3QpIGNvbnN0OworICAgIHZvaWQg
bm9kZXNJbkF4aXMoTm9kZSYgY29udGV4dCwgTm9kZVNldCYpIGNvbnN0OwogCiAgICAgQXhpcyBt
X2F4aXM7CiAgICAgTm9kZVRlc3QgbV9ub2RlVGVzdDsKLSAgICBWZWN0b3I8UHJlZGljYXRlKj4g
bV9wcmVkaWNhdGVzOworICAgIFZlY3RvcjxQcmVkaWNhdGU+IG1fcHJlZGljYXRlczsKIH07CiAK
LXZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiwgU3RlcCosIGJvb2wmIGRyb3BTZWNvbmRTdGVw
KTsKK3ZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wmIGRyb3BTZWNvbmRT
dGVwKTsKIAogfSAvLyBuYW1lc3BhY2UgWFBhdGgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoVXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhVdGlsLmNwcApp
bmRleCA4Y2JjN2E2MzE0ZjRmYjViMmY5ZTEyOTBlMjc1MzdhY2E5MjEwNGE2Li44ZDNjYmE3OWVi
Y2NkZmFlNDM4NzJkY2NjNmQ3ZWQzMDAwYTkwM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhVdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhVdGlsLmNw
cApAQCAtNTAsNyArNTAsNyBAQCBTdHJpbmcgc3RyaW5nVmFsdWUoTm9kZSogbm9kZSkKICAgICAg
ICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToKICAgICAgICAgICAgIHJldHVybiBu
b2RlLT5ub2RlVmFsdWUoKTsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGlmIChpc1Jv
b3REb21Ob2RlKG5vZGUpIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RUxFTUVOVF9OT0RF
KQorICAgICAgICAgICAgaWYgKGlzUm9vdERvbU5vZGUobm9kZSkgfHwgbm9kZS0+aXNFbGVtZW50
Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBUZXh0Tm9kZVRyYXZlcnNhbDo6Y29udGVu
dHNBc1N0cmluZyhub2RlKTsKICAgICB9CiAgICAgcmV0dXJuIFN0cmluZygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoVmFsdWUuY3BwCmluZGV4IGVkNDNmNDhiZWViZGJkMGYxODRlZWE3NTdhYmUzMzVkNDg4
NGY5ZGEuLjJiZDAzOTg0MDUxMjdlMjJlNmQ5MjQzNDFhMjViYjkxOTg3ZmIyODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhWYWx1ZS5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIw
MDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzIsMjYgKzMyLDIzIEBACiAjaW5jbHVkZSAiWFBhdGhVdGlsLmgiCiAjaW5jbHVkZSA8bGlt
aXRzPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCi11c2luZyBzdGQ6Om51
bWVyaWNfbGltaXRzOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgWFBhdGggewog
Ci1jb25zdCBWYWx1ZTo6QWRvcHRUYWcgVmFsdWU6OmFkb3B0ID0ge307Ci0KIGNvbnN0IE5vZGVT
ZXQmIFZhbHVlOjp0b05vZGVTZXQoKSBjb25zdAogewogICAgIGlmICghaXNOb2RlU2V0KCkpCiAg
ICAgICAgIEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCkuaGFkVHlwZUNvbnZlcnNpb25F
cnJvciA9IHRydWU7CiAKICAgICBpZiAoIW1fZGF0YSkgewotICAgICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKE5vZGVTZXQsIGVtcHR5Tm9kZVNldCwgKCkpOworICAgICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8Tm9kZVNldD4gZW1wdHlOb2RlU2V0OwogICAgICAgICByZXR1cm4gZW1wdHlOb2Rl
U2V0OwogICAgIH0KIAotICAgIHJldHVybiBtX2RhdGEtPm1fbm9kZVNldDsKKyAgICByZXR1cm4g
bV9kYXRhLT5ub2RlU2V0OwogfSAgICAKIAogTm9kZVNldCYgVmFsdWU6Om1vZGlmaWFibGVOb2Rl
U2V0KCkKQEAgLTYwLDIzICs1NywyMyBAQCBOb2RlU2V0JiBWYWx1ZTo6bW9kaWZpYWJsZU5vZGVT
ZXQoKQogICAgICAgICBFeHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpLmhhZFR5cGVDb252
ZXJzaW9uRXJyb3IgPSB0cnVlOwogCiAgICAgaWYgKCFtX2RhdGEpCi0gICAgICAgIG1fZGF0YSA9
IFZhbHVlRGF0YTo6Y3JlYXRlKCk7Ci0gICAgCisgICAgICAgIG1fZGF0YSA9IERhdGE6OmNyZWF0
ZSgpOworCiAgICAgbV90eXBlID0gTm9kZVNldFZhbHVlOwotICAgIHJldHVybiBtX2RhdGEtPm1f
bm9kZVNldDsKKyAgICByZXR1cm4gbV9kYXRhLT5ub2RlU2V0OwogfQogCiBib29sIFZhbHVlOjp0
b0Jvb2xlYW4oKSBjb25zdAogewogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgICAgIGNhc2Ug
Tm9kZVNldFZhbHVlOgotICAgICAgICAgICAgcmV0dXJuICFtX2RhdGEtPm1fbm9kZVNldC5pc0Vt
cHR5KCk7CisgICAgICAgICAgICByZXR1cm4gIW1fZGF0YS0+bm9kZVNldC5pc0VtcHR5KCk7CiAg
ICAgICAgIGNhc2UgQm9vbGVhblZhbHVlOgogICAgICAgICAgICAgcmV0dXJuIG1fYm9vbDsKICAg
ICAgICAgY2FzZSBOdW1iZXJWYWx1ZToKICAgICAgICAgICAgIHJldHVybiBtX251bWJlciAmJiAh
c3RkOjppc25hbihtX251bWJlcik7CiAgICAgICAgIGNhc2UgU3RyaW5nVmFsdWU6Ci0gICAgICAg
ICAgICByZXR1cm4gIW1fZGF0YS0+bV9zdHJpbmcuaXNFbXB0eSgpOworICAgICAgICAgICAgcmV0
dXJuICFtX2RhdGEtPnN0cmluZy5pc0VtcHR5KCk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKQEAgLTkwLDI1ICs4NywyNiBAQCBkb3VibGUgVmFs
dWU6OnRvTnVtYmVyKCkgY29uc3QKICAgICAgICAgY2FzZSBOdW1iZXJWYWx1ZToKICAgICAgICAg
ICAgIHJldHVybiBtX251bWJlcjsKICAgICAgICAgY2FzZSBTdHJpbmdWYWx1ZTogewotICAgICAg
ICAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX2RhdGEtPm1fc3RyaW5nLnNpbXBsaWZ5V2hpdGVT
cGFjZSgpOworICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX2RhdGEtPnN0cmluZy5z
aW1wbGlmeVdoaXRlU3BhY2UoKTsKIAogICAgICAgICAgICAgLy8gU3RyaW5nOjp0b0RvdWJsZSgp
IHN1cHBvcnRzIGV4cG9uZW50aWFsIG5vdGF0aW9uLCB3aGljaCBpcyBub3QgYWxsb3dlZCBpbiBY
UGF0aC4KICAgICAgICAgICAgIHVuc2lnbmVkIGxlbiA9IHN0ci5sZW5ndGgoKTsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47ICsraSkgewogICAgICAgICAgICAgICAg
IFVDaGFyIGMgPSBzdHJbaV07CiAgICAgICAgICAgICAgICAgaWYgKCFpc0FTQ0lJRGlnaXQoYykg
JiYgYyAhPSAnLicgICYmIGMgIT0gJy0nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBib29sIGNhbkNvbnZlcnQ7CiAgICAgICAgICAgICBkb3VibGUg
dmFsdWUgPSBzdHIudG9Eb3VibGUoJmNhbkNvbnZlcnQpOwogICAgICAgICAgICAgaWYgKGNhbkNv
bnZlcnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwotICAgICAgICAgICAgcmV0dXJu
IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAgICAgICAgIH0KICAg
ICAgICAgY2FzZSBCb29sZWFuVmFsdWU6CiAgICAgICAgICAgICByZXR1cm4gbV9ib29sOwogICAg
IH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjA7CiB9CkBAIC0x
MTcsMjIgKzExNSwyMyBAQCBTdHJpbmcgVmFsdWU6OnRvU3RyaW5nKCkgY29uc3QKIHsKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgICAgICBjYXNlIE5vZGVTZXRWYWx1ZToKLSAgICAgICAgICAg
IGlmIChtX2RhdGEtPm1fbm9kZVNldC5pc0VtcHR5KCkpIAotICAgICAgICAgICAgICAgIHJldHVy
biAiIjsKLSAgICAgICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZShtX2RhdGEtPm1fbm9kZVNldC5m
aXJzdE5vZGUoKSk7CisgICAgICAgICAgICBpZiAobV9kYXRhLT5ub2RlU2V0LmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgICAgIHJldHVy
biBzdHJpbmdWYWx1ZShtX2RhdGEtPm5vZGVTZXQuZmlyc3ROb2RlKCkpOwogICAgICAgICBjYXNl
IFN0cmluZ1ZhbHVlOgotICAgICAgICAgICAgcmV0dXJuIG1fZGF0YS0+bV9zdHJpbmc7CisgICAg
ICAgICAgICByZXR1cm4gbV9kYXRhLT5zdHJpbmc7CiAgICAgICAgIGNhc2UgTnVtYmVyVmFsdWU6
CiAgICAgICAgICAgICBpZiAoc3RkOjppc25hbihtX251bWJlcikpCi0gICAgICAgICAgICAgICAg
cmV0dXJuICJOYU4iOworICAgICAgICAgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk5hTiIp
OwogICAgICAgICAgICAgaWYgKG1fbnVtYmVyID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJu
ICIwIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCIwIik7CiAgICAgICAg
ICAgICBpZiAoc3RkOjppc2luZihtX251bWJlcikpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6c2lnbmJpdChtX251bWJlcikgPyAiLUluZmluaXR5IiA6ICJJbmZpbml0eSI7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbChzdGQ6OnNpZ25iaXQobV9udW1iZXIpID8gIi1J
bmZpbml0eSIgOiAiSW5maW5pdHkiKTsKICAgICAgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJl
cihtX251bWJlcik7CiAgICAgICAgIGNhc2UgQm9vbGVhblZhbHVlOgotICAgICAgICAgICAgcmV0
dXJuIG1fYm9vbCA/ICJ0cnVlIiA6ICJmYWxzZSI7CisgICAgICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKG1fYm9vbCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgIH0KKwogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1
ZS5oCmluZGV4IDQ5MGJiMmQ3Yjc4YzVkNjU3OWE2N2ZkNDcwMmM2MGVlNjBmMzc1NDUuLmEzNjg0
NDcwNjE4MjliZmRiM2E1NWE1ZWMyZmUzZGQyMWMzMjAyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFs
dWUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJl
IDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw0NiArMjgsMjUg
QEAKICNkZWZpbmUgWFBhdGhWYWx1ZV9oCiAKICNpbmNsdWRlICJYUGF0aE5vZGVTZXQuaCIKLSNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAKLSAgICAgICAgY2xhc3MgVmFsdWVEYXRhIDogcHVi
bGljIFJlZkNvdW50ZWQ8VmFsdWVEYXRhPiB7Ci0gICAgICAgIHB1YmxpYzogICAgICAgICAgICAK
LSAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZhbHVlRGF0YT4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFZhbHVlRGF0YSk7IH0KLSAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFZhbHVlRGF0YT4gY3JlYXRlKGNvbnN0IE5vZGVTZXQmIG5vZGVTZXQpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBWYWx1ZURhdGEobm9kZVNldCkpOyB9Ci0gICAgICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxWYWx1ZURhdGE+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4g
YWRvcHRSZWYobmV3IFZhbHVlRGF0YShzdHJpbmcpKTsgfQotCi0gICAgICAgICAgICBOb2RlU2V0
IG1fbm9kZVNldDsKLSAgICAgICAgICAgIFN0cmluZyBtX3N0cmluZzsKLSAgICAgICAgICAgIAot
ICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgVmFsdWVEYXRhKCkgeyB9Ci0gICAgICAgICAg
ICBleHBsaWNpdCBWYWx1ZURhdGEoY29uc3QgTm9kZVNldCYgbm9kZVNldCkgOiBtX25vZGVTZXQo
bm9kZVNldCkgeyB9Ci0gICAgICAgICAgICBleHBsaWNpdCBWYWx1ZURhdGEoY29uc3QgU3RyaW5n
JiBzdHJpbmcpIDogbV9zdHJpbmcoc3RyaW5nKSB7IH0gICAgICAgICAgICAKLSAgICAgICAgfTsK
LQotICAgICAgICAvLyBDb3B5aW5nIFZhbHVlIG9iamVjdHMgbWFrZXMgdGhlaXIgZGF0YSBwYXJ0
aWFsbHkgc2hhcmVkLCBzbyBjYXJlIGhhcyB0byBiZSB0YWtlbiB3aGVuIGRlYWxpbmcgd2l0aCBj
b3BpZXMuCiAgICAgICAgIGNsYXNzIFZhbHVlIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgZW51bSBUeXBlIHsgTm9kZVNldFZhbHVlLCBCb29sZWFuVmFsdWUsIE51bWJlclZhbHVlLCBT
dHJpbmdWYWx1ZSB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBWYWx1ZSh1bnNpZ25lZCB2
YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcih2YWx1
ZSkge30KLSAgICAgICAgICAgIFZhbHVlKHVuc2lnbmVkIGxvbmcgdmFsdWUpIDogbV90eXBlKE51
bWJlclZhbHVlKSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIodmFsdWUpIHt9Ci0gICAgICAgICAg
ICBWYWx1ZShkb3VibGUgdmFsdWUpIDogbV90eXBlKE51bWJlclZhbHVlKSwgbV9ib29sKGZhbHNl
KSwgbV9udW1iZXIodmFsdWUpIHt9Ci0KLSAgICAgICAgICAgIFZhbHVlKGNvbnN0IGNoYXIqIHZh
bHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBt
X2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUodmFsdWUpKSB7fQotICAgICAgICAgICAgVmFsdWUoY29u
c3QgU3RyaW5nJiB2YWx1ZSkgOiBtX3R5cGUoU3RyaW5nVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBt
X251bWJlcigwKSwgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRlKHZhbHVlKSkge30KLSAgICAgICAg
ICAgIFZhbHVlKGNvbnN0IE5vZGVTZXQmIHZhbHVlKSA6IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBt
X2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRlKHZhbHVl
KSkge30KLSAgICAgICAgICAgIFZhbHVlKE5vZGUqIHZhbHVlKSA6IG1fdHlwZShOb2RlU2V0VmFs
dWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRl
KCkpIHsgbV9kYXRhLT5tX25vZGVTZXQuYXBwZW5kKHZhbHVlKTsgfQorICAgICAgICAgICAgVmFs
dWUoYm9vbCB2YWx1ZSkgOiBtX3R5cGUoQm9vbGVhblZhbHVlKSwgbV9ib29sKHZhbHVlKSB7IH0K
KyAgICAgICAgICAgIFZhbHVlKHVuc2lnbmVkIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1ZSks
IG1fbnVtYmVyKHZhbHVlKSB7IH0KKyAgICAgICAgICAgIFZhbHVlKGRvdWJsZSB2YWx1ZSkgOiBt
X3R5cGUoTnVtYmVyVmFsdWUpLCBtX251bWJlcih2YWx1ZSkgeyB9CiAKLSAgICAgICAgICAgIC8v
IFRoaXMgaXMgbmVlZGVkIHRvIHNhZmVseSBpbXBsZW1lbnQgY29uc3RydWN0aW5nIGZyb20gYm9v
bCAtIHdpdGggbm9ybWFsIGZ1bmN0aW9uIG92ZXJsb2FkaW5nLCBhbnkgcG9pbnRlciB0eXBlIHdv
dWxkIG1hdGNoLgotICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVmFsdWUoVCk7Cisg
ICAgICAgICAgICBWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1
ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KKyAgICAgICAgICAgIFZhbHVlKGNv
bnN0IGNoYXIqIHZhbHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVh
dGUodmFsdWUpKSB7IH0KIAotICAgICAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCBBZG9wdFRh
ZyB7fSBhZG9wdDsKLSAgICAgICAgICAgIFZhbHVlKE5vZGVTZXQmIHZhbHVlLCBjb25zdCBBZG9w
dFRhZyYpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDAp
LCAgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRlKCkpIHsgdmFsdWUuc3dhcChtX2RhdGEtPm1fbm9k
ZVNldCk7IH0KKyAgICAgICAgICAgIGV4cGxpY2l0IFZhbHVlKE5vZGVTZXQmJiB2YWx1ZSkgOiBt
X3R5cGUoTm9kZVNldFZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZShzdGQ6Om1vdmUodmFsdWUp
KSkgeyB9CisgICAgICAgICAgICBleHBsaWNpdCBWYWx1ZShOb2RlKiB2YWx1ZSkgOiBtX3R5cGUo
Tm9kZVNldFZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZSh2YWx1ZSkpIHsgfQorICAgICAgICAg
ICAgZXhwbGljaXQgVmFsdWUoUGFzc1JlZlB0cjxOb2RlPiB2YWx1ZSkgOiBtX3R5cGUoTm9kZVNl
dFZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZSh2YWx1ZSkpIHsgfQogCiAgICAgICAgICAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIApAQCAtNzcsMjUgKzU2LDM5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIGJvb2wgaXNTdHJpbmcoKSBjb25zdCB7
IHJldHVybiBtX3R5cGUgPT0gU3RyaW5nVmFsdWU7IH0KIAogICAgICAgICAgICAgY29uc3QgTm9k
ZVNldCYgdG9Ob2RlU2V0KCkgY29uc3Q7Ci0gICAgICAgICAgICBOb2RlU2V0JiBtb2RpZmlhYmxl
Tm9kZVNldCgpOwogICAgICAgICAgICAgYm9vbCB0b0Jvb2xlYW4oKSBjb25zdDsKICAgICAgICAg
ICAgIGRvdWJsZSB0b051bWJlcigpIGNvbnN0OwogICAgICAgICAgICAgU3RyaW5nIHRvU3RyaW5n
KCkgY29uc3Q7CiAKKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGUgTm9kZVNldCBpcyBzaGFy
ZWQgd2l0aCBvdGhlciBWYWx1ZXMgdGhhdCB0aGlzIG9uZSB3YXMgY29waWVkIGZyb20gb3IgdGhh
dCBhcmUgY29waWVzIG9mIHRoaXMgb25lLgorICAgICAgICAgICAgTm9kZVNldCYgbW9kaWZpYWJs
ZU5vZGVTZXQoKTsKKwogICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgLy8gVGhpcyBjb25z
dHJ1Y3RvciBjcmVhdGVzIGFtYmlndWl0eSBzbyB0aGF0IHdlIGRvbid0IGFjY2lkZW50YWxseSBj
YWxsIHRoZSBib29sZWFuIG92ZXJsb2FkIGZvciBwb2ludGVyIHR5cGVzLgorICAgICAgICAgICAg
VmFsdWUodm9pZCopIFdURl9ERUxFVEVEX0ZVTkNUSU9OOworCisgICAgICAgICAgICBzdHJ1Y3Qg
RGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPERhdGE+IHsKKyAgICAgICAgICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxEYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YSk7IH0K
KyAgICAgICAgICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBEYXRhKHN0cmluZykpOyB9CisgICAg
ICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRlKE5vZGVTZXQmJiBub2Rl
U2V0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YShzdGQ6Om1vdmUobm9kZVNldCkpKTsgfQor
ICAgICAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGE+IGNyZWF0ZShQYXNzUmVmUHRy
PE5vZGU+IG5vZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBEYXRhKG5vZGUpKTsgfQorCisgICAg
ICAgICAgICAgICAgU3RyaW5nIHN0cmluZzsKKyAgICAgICAgICAgICAgICBOb2RlU2V0IG5vZGVT
ZXQ7CisKKyAgICAgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgICAgICAgRGF0YSgpIHsgfQor
ICAgICAgICAgICAgICAgIGV4cGxpY2l0IERhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcpIDogc3Ry
aW5nKHN0cmluZykgeyB9CisgICAgICAgICAgICAgICAgZXhwbGljaXQgRGF0YShOb2RlU2V0JiYg
bm9kZVNldCkgOiBub2RlU2V0KHN0ZDo6bW92ZShub2RlU2V0KSkgeyB9CisgICAgICAgICAgICAg
ICAgZXhwbGljaXQgRGF0YShQYXNzUmVmUHRyPE5vZGU+IG5vZGUpIDogbm9kZVNldChub2RlKSB7
IH0KKyAgICAgICAgICAgIH07CisKICAgICAgICAgICAgIFR5cGUgbV90eXBlOwogICAgICAgICAg
ICAgYm9vbCBtX2Jvb2w7CiAgICAgICAgICAgICBkb3VibGUgbV9udW1iZXI7Ci0gICAgICAgICAg
ICBSZWZQdHI8VmFsdWVEYXRhPiBtX2RhdGE7CisgICAgICAgICAgICBSZWZQdHI8RGF0YT4gbV9k
YXRhOwogICAgICAgICB9OwogCi0gICAgICAgIHRlbXBsYXRlPD4KLSAgICAgICAgaW5saW5lIFZh
bHVlOjpWYWx1ZShib29sIHZhbHVlKQotICAgICAgICAgICAgOiBtX3R5cGUoQm9vbGVhblZhbHVl
KQotICAgICAgICAgICAgLCBtX2Jvb2wodmFsdWUpCi0gICAgICAgICAgICAsIG1fbnVtYmVyKDAp
Ci0gICAgICAgIHsKLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213693</attachid>
            <date>2013-10-08 09:23:15 -0700</date>
            <delta_ts>2013-10-08 21:59:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121082-20131008092315.patch</filename>
            <type>text/plain</type>
            <size>151114</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRkNWViY2FhYjdjZWI2
OWU3MTIyY2EyZjNiYjE0MDAzZDMyOTdkNS4uNGI5NmM3YmExYzYyODUxOWE3YmFmNjQxMzk2NmFi
NTU5YzJjOTY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MiBAQAorMjAxMy0xMC0wNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHVuaXF1ZV9wdHIgaW5z
dGVhZCBvZiBkZWxldGVBbGxWYWx1ZXMgaW4gWFBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTA4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0F0dHIuaDogTWFkZSB0aGUgbmFtZXNwYWNl
VVJJIGZ1bmN0aW9uIHB1YmxpYyBzbyBpdCBjYW4gYmUgY2FsbGVkIGJ5CisgICAgICAgIGNvZGUg
aW4gWFBhdGguIFNpbmNlIHRoZSBjbGFzcyBpcyBGSU5BTCwgY2FsbHMgd29uJ3QgZG8gdmlydHVh
bCBkaXNwYXRjaC4KKworICAgICAgICAqIHhtbC9YUGF0aEV4cHJlc3Npb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpYUGF0aEV4cHJlc3Npb24pOiBBZGRlZC4gVXNl
IHN0ZDo6bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhwcmVzc2lvbjo6Y3JlYXRlRXhw
cmVzc2lvbik6IFVzZSB0aGUgbmV3IFBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQKKyAgICAgICAgYW5k
IG1vcmUgc3RkOjptb3ZlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjp+WFBh
dGhFeHByZXNzaW9uKTogUmVtb3ZlZCBub3ctdW5uZWVkZWQgZGVsZXRlLgorICAgICAgICAqIHht
bC9YUGF0aEV4cHJlc3Npb24uaDogUmVtb3ZlZCB1bnVzZWQgY3JlYXRlIGZ1bmN0aW9uLiBVc2Ug
c3RkOjp1bmlxdWVfcHRyLgorCisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0
KTogVXNlIE5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YKKyAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpFeHByZXNzaW9uOjpzZXRTdWJleHByZXNz
aW9ucyk6IEFkZGVkLiBVc2VkIHRvIHNldCBhbGwgdGhlCisgICAgICAgIHN1YmV4cHJlc3Npb25z
IGF0IG9uY2UgcmF0aGVyIHRoYW4gYWRkaW5nIG9uZSBhdCBhIHRpbWUuCisKKyAgICAgICAgKiB4
bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oOiBVc2UgcGxhaW4gdW5zaWduZWQgaW5zdGVhZCBvZiB1
bnNpZ25lZCBsb25nLgorICAgICAgICBFbGltaW5hdGVkIHRoZSBQYXJzZU5vZGUgY2xhc3MsIHVz
ZWQgb25seSBieSB0aGUgcGFyc2VyIHRvIGRlbGV0ZSBvYmplY3RzLAorICAgICAgICB3aGljaCB3
ZSBub3cgZG8gd2l0aCAlZGVzdHJ1Y3Rvci4gTWFkZSBtb3JlIGZ1bmN0aW9ucyBwcm90ZWN0ZWQu
IEZpeGVkIHRoZQorICAgICAgICBjYXBpdGFsaXphdGlvbiBvZiB0aGUgd29yZCAic3ViZXhwcmVz
c2lvbiIuIE1hZGUgbV9zdWJleHByZXNzaW9ucyBiZSBhIFZlY3RvcgorICAgICAgICBvZiBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuY3BwOiBNYXJrZWQg
YWxsIHRoZSBjbGFzc2VzIEZJTkFMIGFuZCBhbGwgdGhlaXIgdmlydHVhbAorICAgICAgICBmdW5j
dGlvbnMgT1ZFUlJJREUuIFJlZHVjZWQgc29tZSBvZiB0aGUgYm9pbGVycGxhdGUuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6RnVuY3Rpb246OnNldEFyZ3VtZW50cyk6IFBhc3NlZCBpbiB0aGUg
bmFtZSBzbyB3ZSBkb24ndCBoYXZlCisgICAgICAgIHRvIHN0b3JlIHRoZSBmdW5jdGlvbiBuYW1l
cyBpbiBhbGwgdGhlIGZ1bmN0aW9uIG9iamVjdHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
RnVuSWQ6OmV2YWx1YXRlKTogVXNlIHN0ZDo6bW92ZSBpbnN0ZWFkIG9mIFZhbHVlOjphZG9wdC4K
KyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5Mb2NhbE5hbWU6OmV2YWx1YXRlKTogVXNlIGVt
cHR5U3RyaW5nIGluc3RlYWQgb2YgIiIuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuTmFt
ZXNwYWNlVVJJOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1
bk5hbWU6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuU3Vi
c3RyaW5nQmVmb3JlOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
OkZ1blN1YnN0cmluZ0FmdGVyOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OkZ1blN1YnN0cmluZzo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlhQYXRoOjpGdW5MYW5nOjpldmFsdWF0ZSk6IFVzZSBWYWx1ZShmYWxzZSkgc28gd2UgY2FuIG1h
a2UgdGhlCisgICAgICAgIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYSBib29sZWFuIGV4cGxpY2l0
LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bkZhbHNlOjpldmFsdWF0ZSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OnBvcHVsYXRlRnVuY3Rpb25NYXApOiBDaGFuZ2VkIGlk
aW9tIHNsaWdodGx5IHRvIG1hdGNoIG90aGVyCisgICAgICAgIG1hcHMgd2Ugc2V0IHVwLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bmN0aW9uOjpjcmVhdGUpOiBSZWZhY3RvcmVkIGNyZWF0
ZUZ1bmN0aW9uIGludG8gdGhyZWUKKyAgICAgICAgbWVtYmVyIGZ1bmN0aW9ucyBvZiB0aGlzIG5h
bWUuCisKKyAgICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuaDogTWFkZSBhbGwgdGhlIEZ1bmN0
aW9uIG1lbWJlcnMgcHJpdmF0ZSBvciBwcm90ZWN0ZWQKKyAgICAgICAgZXhjZXB0IGZvciBGdW5j
dGlvbjo6Y3JlYXRlLgorCisgICAgICAgICogeG1sL1hQYXRoR3JhbW1hci55OiBDaGFuZ2VkIHRo
ZSBwYXJzZXIgdG8gdXNlIGEgcmVmZXJlbmNlIGluc3RlYWQgb2YKKyAgICAgICAgYSBwb2ludGVy
LCBhbmQgdG8gcGFzcyB0aGUgcmVmZXJlbmNlIHRocm91Z2ggdG8geXlsZXggYXMgd2VsbC4gQnJl
YWsgdXAKKyAgICAgICAgdGhlIHVuaW9uIGludG8gcGllY2VzIGFuZCBhZGQgJWRlc3RydWN0b3Ig
YXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSBldmVyeXRoaW5nCisgICAgICAgIGdldHMgZGVhbGxvY2F0
ZWQgaWYgcGFyc2luZyBmYWlscy4gQWRkZWQgYSBuZXcgdG9wIGxldmVsIHJ1bGUgIlRvcCIgc28g
dGhhdAorICAgICAgICB3ZSB3b3VsZCBub3QgdHJ5IHRvIHNldCB0aGUgcGFyc2UgcmVzdWx0IG11
bHRpcGxlIHRpbWVzIGR1cmluZyBwYXJzaW5nLgorICAgICAgICBDYWxsIHNldFBhcnNlUmVzdWx0
IGluc3RlYWQgb2Ygc2V0dGluZyBtX3RvcEV4cHIgZGlyZWN0bHkuIFVzZSBzdGQ6OnVuaXF1ZV9w
dHIKKyAgICAgICAgdG8gYWRvcHQgcG9pbnRlcnMgZnJvbSB0aGUgdW5pb24uIFJlbW92ZWQgYWxs
IHRoZSByZWdpc3Rlci91bnJlZ2lzdGVyIGNhbGxzCisgICAgICAgIHRoYXQgdXNlZCB0byBiZSB1
c2VkIHRvIG1hbmFnZSBzdG9yYWdlLiBBbHNvIGNoYW5nZWQgdGhlIGZvdXIgZGlmZmVyZW50IG5v
ZGUKKyAgICAgICAgdHlwZXMgdG8gYmUgc2VwYXJhdGUgdG9rZW5zIGluc3RlYWQgb2YgdXNpbmcg
c3RyaW5nIG1hdGNoaW5nIGF0IHRoaXMgbGV2ZWwKKyAgICAgICAgZm9yIHRoZW0uCisKKyAgICAg
ICAgKiB4bWwvWFBhdGhOb2RlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2Rl
U2V0Ojpzb3J0KTogUmVtb3ZlZCBjb25zdF9jYXN0IHNpbmNlIG1faXNTb3J0ZWQgYW5kCisgICAg
ICAgIG1fbm9kZXMgYXJlIG5vdyBib3RoIG1hcmtlZCBtdXRhYmxlLiBBbHNvIHNldCBtX2lzU29y
dGVkIGFmdGVyIHNvcnRpbmc7IHRoaXMKKyAgICAgICAgd2FzIGFuIG92ZXJzaWdodCB0aGF0IGh1
cnQgcGVyZm9ybWFuY2UgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OnRyYXZlcnNhbFNvcnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2RlU2V0
OjpmaXJzdE5vZGUpOiBVc2UgbnVsbHB0ci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2Rl
U2V0OjphbnlOb2RlKTogRGl0dG8uCisKKyAgICAgICAgKiB4bWwvWFBhdGhOb2RlU2V0Lmg6IFJl
bW92ZWQgdW5uZWVkZWQgZXh0cmEgaW5jbHVkZXMuIFJlbW92ZWQgdGhlCisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEIGZvciBOb2RlU2V0IHNpbmNlIHdlIG5ldmVyIGFsbG9jYXRlIHRo
ZXNlIG9uIHRoZSBoZWFwLgorICAgICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMg
YSBzaW5nbGUgbm9kZS4gRGVsZXRlZCB0aGUgc3dhcCBmdW5jdGlvbiwgc2luY2UKKyAgICAgICAg
d2Ugbm93IG1vdmUgaW5zdGVhZCBvZiBzd2FwLiBEZWxldGVkIHRoZSBhcHBlbmQgZnVuY3Rpb24g
dGhhdCB0YWtlcyBhIHJhdyBOb2RlKiwKKyAgICAgICAgc2luY2UgY2FsbGluZyB0aGUgUGFzc1Jl
ZlB0cjxOb2RlPiBvdmVybG9hZCBkb2VzIHRoZSBzYW1lIHRoaW5nLiBSZW1vdmVkIHRoZQorICAg
ICAgICB1bnVzZWQgcmV2ZXJzZSBmdW5jdGlvbi4gTWFya2VkIGJvdGggbV9pc1NvcnRlZCBhbmQg
bV9ub2RlcyBtdXRhYmxlIHNvIHRoZQorICAgICAgICBzb3J0IGZ1bmN0aW9uIGNhbiBiZSBjb25z
dC4KKworICAgICAgICAqIHhtbC9YUGF0aFBhcnNlci5jcHA6IE1vdmVkIHRoZSBUb2tlbiBzdHJ1
Y3QgaW4gaGVyZSBpbnN0ZWFkIG9mIHRoZSBoZWFkZXIuCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6cG9wdWxhdGVBeGlzTmFtZXNNYXApOlJlbmFtZWQgdG8gbWF0Y2ggb3VyIG5vcm1hbCBuYW1p
bmcgc2NoZW1lLAorICAgICAgICBhbmQgY2hhbmdlZCB0byB1c2UgYWRkIGluc3RlYWQgb2Ygc2V0
LCB1c2UgV1RGX0FSUkFZX0xFTkdUSCwgYW5kIG5vdCB1c2UgYSB0eXBlZGVmLgorICAgICAgICAo
V2ViQ29yZTo6WFBhdGg6OnBhcnNlQXhpc05hbWUpOiBSZWxhdGVkIHN0eWxlIGNoYW5nZXMsIGlu
Y2x1ZGluZyByZW5hbWluZyB0bworICAgICAgICBiZXR0ZXIgcmVmbGVjdCB0aGUgd2F5IHRoaXMg
d29ya3Mgd2l0aCBhIGJvb2xlYW4uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFyc2VyOjpu
ZXh0VG9rZW5JbnRlcm5hbCk6IFVwZGF0ZWQgdG8gY2FsbCBwYXJzZUF4aXNOYW1lLAorICAgICAg
ICBhbmQgdG8gcHJvZHVjZSBmb3VyIHNlcGFyYXRlIHRva2VucyBmb3IgdGhlIGZvdXIgbm9kZSB0
eXBlIGZ1bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6Om5leHRUb2tl
bik6IFJlbmFtZWQgbG9jYWwgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFy
c2VyOjpQYXJzZXIpOiBNYWRlIHRoaXMgYSByZWFsIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYXJn
dW1lbnRzCisgICAgICAgIGFuZCBpbml0aWFsaXplcyBhbGwgdGhlIGZpZWxkcy4gRGVsZXRlZCB0
aGUgdW5uZWVkZWQgcmVzZXQgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFy
c2VyOjpsZXgpOiBDaGFuZ2VkIHRvIHRha2UgYW4gYXJndW1lbnQgb2YgYW4gYXBwcm9wcmlhdGUg
dHlwZQorICAgICAgICBpbnN0ZWFkIG9mIGNhc3RpbmcgZnJvbSB2b2lkKi4gQWxzbyBjaGFuZ2Vk
IHRoZSBzdHJpbmcgY29kZSB0byBsZWFrIGEgU3RyaW5nSW1wbCwKKyAgICAgICAgd2hpY2ggaXMg
bm93IHdoYXQgdGhlIGdyYW1tYXIgY29kZSBleHBlY3RzLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OlBhcnNlcjo6ZXhwYW5kUXVhbGlmaWVkTmFtZSk6IFJlbmFtZWQgZnJvbSBleHBhbmRRTmFt
ZS4gQ2hhbmdlZAorICAgICAgICB0byBzZXQgbV9zYXdOYW1lc3BhY2VFcnJvciBpbnN0ZWFkIG9m
IHJlbHlpbmcgb24gY29kZSBpbiB0aGUgZ3JhbW1hciB0byBkbyBpdC4KKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogUmVtb3ZlZCBtb3N0IG9mIHRoZSBj
b2RlIGluIHRoaXMgZnVuY3Rpb24uCisgICAgICAgIENoYW5nZWQgdG8gYSBtdWNoIHNpbXBsZXIg
bW9kZWwuIEFsc28gbWFkZSB0aGlzIGEgc3RhdGljIG1lbWJlciBmdW5jdGlvbiBzbyBpdAorICAg
ICAgICB0YWtlcyBjYXJlIG9mIGNyZWF0aW5nIHRoZSBwYXJzZXIgaXRzZWxmIGFuZCBkb2VzIG5v
dCBuZWVkIHRvIGNhbGwgcmVzZXQuIEFsc28KKyAgICAgICAgY2hhbmdlZCByZXR1cm4gdmFsdWUg
dG8gYmUgYSBzdGQ6OnVuaXF1ZV9wdHIgdG8gbWFrZSBvd25lcnNoaXAgbW9yZSBjbGVhci4KKwor
ICAgICAgICAqIHhtbC9YUGF0aFBhcnNlci5oOiBBZGRlZCBhIGRlY2xhcmF0aW9uIG9mIFlZU1RZ
UEUuIFJlbW92ZWQgdW5uZWVkZWQgZm9yd2FyZAorICAgICAgICBkZWNsYXJhdGlvbnMgYW5kIG1v
dmVkIFRva2VuIGludG8gdGhlIGNwcCBmaWxlLiBEZWxldGVkIG1vc3QgcHVibGljIGZ1bmN0aW9u
cywKKyAgICAgICAgbGVhdmluZyBvbmx5IHBhcnNlU3RhdGVtZW50LCB0aGUgZW50cnkgcG9pbnQs
IGFuZCB0aGUgdGhyZWUgZnVuY3Rpb25zIG5lZWRlZCBieQorICAgICAgICB0aGUgZ3JhbW1hciwg
bGV4LCBleHBhbmRRdWFsaWZpZWROYW1lLCBhbmQgc2V0UGFyc2VSZXN1bHQuCisKKyAgICAgICAg
KiB4bWwvWFBhdGhQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGaWx0ZXI6OkZp
bHRlcik6IE1vdmUgaW4gdGhlIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlbS4KKyAg
ICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGaWx0ZXI6OmV2YWx1YXRlKTogVXBkYXRlZCBmb3IgbmFt
ZSBhbmQgdHlwZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvY2F0aW9uUGF0
aDo6TG9jYXRpb25QYXRoKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9jYXRp
b25QYXRoOjpldmFsdWF0ZSk6IERpdHRvLiBBbHNvIHVzZSBzdGQ6Om1vdmUgaW5zdGVhZCBvZgor
ICAgICAgICBWYWx1ZTo6YWRvcHQgYW5kIGluc3RlYWQgb2Ygc3dhcC4KKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpMb2NhdGlvblBhdGg6OmFwcGVuZFN0ZXApOiBDaGFuZ2VkIHRvIHRha2Ugb3du
ZXJzaGlwIG9mIGEKKyAgICAgICAgdW5pcXVlX3B0ci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpMb2NhdGlvblBhdGg6OnByZXBlbmRTdGVwKTogRGl0dG8uIFJlbmFtZWQgZnJvbSBpbnNlcnRG
aXJzdFN0ZXAuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGF0aDo6UGF0aCk6IE1vdmUgaW4g
dGhlIGFyZ3VtZW50cy4KKworICAgICAgICAqIHhtbC9YUGF0aFBhdGguaDogUmVtb3ZlZCB1bm5l
ZWRlZCBpbmNsdWRlcy4gQ2hhbmdlZCBhcnVndW1lbnQgdHlwZXMgdG8gdXNlCisgICAgICAgIHN0
ZDo6dW5pcXVlX3B0ciB0byBwYXNzIG93bmVyc2hpcCBpbi4gQWRkZWQgb3ZlcnJpZGUgdG8gYWxs
IHZpcnR1YWwgZnVuY3Rpb25zLgorICAgICAgICBDaGFuZ2VkIGRhdGEgbWVtYmVycyB0byB1c2Ug
c3RkOjp1bmlxdWVfcHRyLgorCisgICAgICAgICogeG1sL1hQYXRoUHJlZGljYXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdHJpbmdFeHByZXNzaW9uOjpTdHJpbmdFeHByZXNzaW9u
KTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TmVnYXRpdmU6Ok5lZ2F0aXZl
KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TmVnYXRpdmU6OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok51bWVy
aWNPcDo6TnVtZXJpY09wKTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TnVt
ZXJpY09wOjpldmFsdWF0ZSk6IFR3ZWFrIGZvcm1hdHRpbmcuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6RXFUZXN0T3A6OkVxVGVzdE9wKTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6RXFUZXN0T3A6OmV2YWx1YXRlKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvZ2ljYWxPcDo6TG9naWNhbE9wKTogVXNlIG1vdmUuCisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9naWNhbE9wOjpzaG9ydENpcmN1aXRPbik6IE1hZGUg
c2hvcnRlci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpMb2dpY2FsT3A6OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlVuaW9u
OjpVbmlvbik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlVuaW9uOjpldmFsdWF0
ZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpl
dmFsdWF0ZVByZWRpY2F0ZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcywgdG8gdXNlCisgICAg
ICAgIEFTQ0lJTGl0ZXJhbCwgYW5kIHRvIGJlIGEgZnJlZSBmdW5jdGlvbiB0aGF0IHRha2VzIGFu
IGV4cHJlc3Npb24uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6cHJlZGljYXRlSXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUpOiBBZGRlZC4KKyAgICAgICAgUmVwbGFjZXMgdGhlIFByZWRpY2F0
ZTo6aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUgZnVuY3Rpb24uCisKKyAgICAgICAgKiB4bWwv
WFBhdGhQcmVkaWNhdGUuaDogTWFkZSBhbGwgdGhlIGNsYXNzZXMgRklOQUwgYW5kIGFkZGVkIGEg
bG90IG9mIE9WRVJSSURFLgorICAgICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIGZvciBOZWdhdGl2
ZSBhbmQgVW5pb24uIEdvdCByaWQgb2YgdGhlIFByZWRpY2F0ZSBjbGFzcyBhbmQKKyAgICAgICAg
aW5zdGVhZCBwcm92aWRlZCB0d28gZnVuY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiBhbiBFeHByZXNz
aW9uLgorCisgICAgICAgICogeG1sL1hQYXRoU3RlcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6U3RlcDo6U3RlcCk6IFVzZSBtb3ZlIGluc3RlYSBkb2YgY29weWluZy4KKyAgICAgICAg
KFdlYkNvcmU6OlhQYXRoOjpTdGVwOjp+U3RlcCk6IFJlbW92ZWQgY2FsbHMgdG8gZGVsZXRlQWxs
VmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0ZXA6Om9wdGltaXplKTogVXNlIG1v
dmUgaW5zdGVhZCBvZiBzd2FwIGFuZCBjb3B5LiBBbHNvCisgICAgICAgIG9wZXJhdGUgZGlyZWN0
bHkgb24gdGhlIGRhdGEgbWVtYmVycyBvZiB0aGUgbm9kZSB0ZXN0IGluc3RlYWQgb2YgdXNpbmcg
ZnVuY3Rpb25zCisgICAgICAgIHRoYXQganVzdCByZXR1cm4gcmVmZXJlbmNlcyB0byB0aG9zZSBk
YXRhIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6b3B0aW1pemVTdGVwUGFpcik6
IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMsIG1vdmUKKyAgICAgICAgaW5zdGVh
ZCBvZiBzd2FwLCBhbmQgZWFybHkgcmV0dXJuIGluc3RlYWQgb2YgbmVzdGVkIGlmIHN0YXRlbWVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6cHJlZGljYXRlc0FyZUNvbnRleHRM
aXN0SW5zZW5zaXRpdmUpOiBVc2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpTdGVwOjpldmFsdWF0ZSk6IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgYW5k
IG1vdmUKKyAgICAgICAgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
Om5vZGVNYXRjaGVzQmFzaWNUZXN0KTogVXNlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVy
cyBhbmQKKyAgICAgICAgbW9yZSBzcGVjaWZpYyB0eXBlcyB3aGVuIHBvc3NpYmxlLgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6Om5vZGVNYXRjaGVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpYUGF0aDo6U3RlcDo6bm9kZXNJbkF4aXMpOiBVc2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBv
aW50ZXJzLiBBZGRlZAorICAgICAgICBicmFjZXMgdG8gbWF0Y2ggc3R5bGUuIFVzZSB3b3JkcyBp
bnN0ZWFkIG9mIGxldHRlcnMgZm9yIGxvY2FsIHZhcmlhYmxlIG5hbWVzLgorCisgICAgICAgICog
eG1sL1hQYXRoU3RlcC5oOiBNYWtlIGFsbW9zdCBldmVyeXRoaW5nIGluIE5vZGVUZXN0IHByaXZh
dGUgc2luY2UgY2FsbGVycworICAgICAgICBqdXN0IHNldCB0aGVzZSB1cCBhbmQgU3RlcCBpcyB3
aGF0IGFjdHVhbGx5IHVzZXMgdGhlbS4gQ2hhbmdlZCB0aGUgcHJlZGljYXRlCisgICAgICAgIHZl
Y3RvcnMgdG8gYmUgdmVjdG9ycyBvZiBQcmVkaWNhdGUgaW5zdGVhZCBvZiBQcmVkaWNhdGUqLCBz
aW5jZSBhIFByZWRpY2F0ZQorICAgICAgICBpcyBqdXN0IGEgd3JhcHBlciBhcm91bmQgYSBzaW5n
bGUgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+LiBDaGFuZ2VkIHRvIHVzZQorICAgICAgICBt
b3ZlIGluc3RlYWQgb2YgY29weSB3aGVuIG1ha2luZyBhIFN0ZXAgYW5kIHRvIHVzZSByZWZlcmVu
Y2VzIGluc3RlYWQgb2YgcG9pbnRlcnMuCisKKyAgICAgICAgKiB4bWwvWFBhdGhWYWx1ZS5jcHA6
IFVzZSBzdGQ6Om51bWVyaWNfbGltaXRzIGV4cGxpY2l0bHkgaW5zdGVhZCBvZiB1c2luZyB1c2lu
Zy4KKyAgICAgICAgR290IHJpZCBvZiBWYWx1ZTo6YWRvcHQuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6VmFsdWU6OnRvTm9kZVNldCk6IFVzZSBOZXZlckRlc3Ryb3llZCBpbnN0ZWFkIG9mIERF
RklORV9TVEFURV9MT0NBTC4KKyAgICAgICAgVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjptb2RpZmlhYmxlTm9kZVNldCk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjp0b0Jvb2xlYW4pOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpWYWx1ZTo6dG9OdW1iZXIpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlhQYXRoOjpWYWx1ZTo6dG9TdHJpbmcpOiBEaXR0by4gVXNlIEFTQ0lJTGl0ZXJhbC4K
KworICAgICAgICAqIHhtbC9YUGF0aFZhbHVlLmg6IE1vdmVkIFZhbHVlRGF0YSBjbGFzcyBpbnNp
ZGUgdGhlIFZhbHVlIGNsYXNzIGFuZCByZW5hbWVkCisgICAgICAgIGl0IFZhbHVlOjpEYXRhLiBS
ZW1vdmVkIGZhbmN5IHRyaWNrIHRoYXQgYXZvaWRzIHR1cm5pbmcgcG9pbnRlcnMgaW50byBib29s
LCBhbmQKKyAgICAgICAganVzdCB0YWtlIHRoZSByaXNrLiBNYWRlIG1hbnksIGJ1dCBub3QgYWxs
LCBvZiB0aGUgVmFsdWUgY29uc3RydWN0b3JzIGV4cGxpY2l0CisgICAgICAgIHNpbmNlIHdlIG5v
cm1hbGx5IGFyZSBleHBsaWNpdCBhdCBjYWxsIHNpdGVzLiBSZW1vdmVkIHVubmVlZGVkIHVuc2ln
bmVkIGxvbmcKKyAgICAgICAgb3ZlcmxvYWQgb2YgdGhlIGNvbnN0cnVjdG9yLiBDaGFuZ2VkIHRo
ZSBOb2RlU2V0IHZlcnNpb24gb2YgdGhlIGNvbnN0cnVjdG9yIHRvCisgICAgICAgIHVzZSBzdGQ6
Om1vdmUgYW5kIHVzZSB0aGF0IGluc3RlYWQgb2YgQWRvcHRUYWcuCisKIDIwMTMtMTAtMDggIEh1
cm5qb28gTGVlICA8aHVybmpvby5sZWVAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29tcG9zaXRl
ZCBsYXllciB0aGF0IHBhaW50ZWQgaW50byBjb21wb3NpdGVkIGFuY2VzdG9yIGlzIG5vdCByZXBh
aW50ZWQgYWZ0ZXIgbW92aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaAppbmRleCAwNTg0YTVlYWY2ZmI5ODVjNzlhYWY0
ODcxOTg4OGRkMmZkNDc3Mzc5Li4yNjlkMGIwZDhmYzk4ZjA5YWExNzA2ZWJlN2I4NWVhZjA5ZjA1
YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9BdHRyLmgKQEAgLTY0LDYgKzY0LDggQEAgcHVibGljOgogICAgIHZvaWQgYXR0
YWNoVG9FbGVtZW50KEVsZW1lbnQqKTsKICAgICB2b2lkIGRldGFjaEZyb21FbGVtZW50V2l0aFZh
bHVlKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWVzcGFjZVVSSSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fbmFtZS5uYW1lc3Bh
Y2VVUkkoKTsgfQorCiBwcml2YXRlOgogICAgIEF0dHIoRWxlbWVudCosIGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKICAgICBBdHRyKERvY3VtZW50JiwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYgdmFsdWUpOwpAQCAtNzQsNyArNzYsNiBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgTm9kZVR5cGUgbm9kZVR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBBVFRSSUJV
VEVfTk9ERTsgfQogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fbmFtZS5sb2NhbE5hbWUoKTsgfQotICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBtX25hbWUubmFtZXNwYWNlVVJJKCk7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgcHJlZml4KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLnByZWZpeCgpOyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2Vw
dGlvbkNvZGUmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5jcHAK
aW5kZXggMzM2NDRjMjcyZWQxNTljZjEyN2NjMjQxYTExMzMxYWM0ZmFhODQyNS4uY2JiMDZiMmUw
MjRmNTNlOTBkODBiOGUxYTYxYWQyZjAyYjZhMmJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhwcmVzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbi5jcHAKQEAgLTQxLDIxICs0MSwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBYUGF0aDsKICAgICAKLVBhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9u
PiBYUGF0aEV4cHJlc3Npb246OmNyZWF0ZUV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBleHByZXNz
aW9uLCBYUGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK2lubGlu
ZSBYUGF0aEV4cHJlc3Npb246OlhQYXRoRXhwcmVzc2lvbihzdGQ6OnVuaXF1ZV9wdHI8WFBhdGg6
OkV4cHJlc3Npb24+JiYgZXhwcmVzc2lvbikKKyAgICA6IG1fdG9wRXhwcmVzc2lvbihzdGQ6Om1v
dmUoZXhwcmVzc2lvbikpCiB7Ci0gICAgUmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gZXhwciA9IFhQ
YXRoRXhwcmVzc2lvbjo6Y3JlYXRlKCk7Ci0gICAgUGFyc2VyIHBhcnNlcjsKK30KIAotICAgIGV4
cHItPm1fdG9wRXhwcmVzc2lvbiA9IHBhcnNlci5wYXJzZVN0YXRlbWVudChleHByZXNzaW9uLCBy
ZXNvbHZlciwgZWMpOwotICAgIGlmICghZXhwci0+bV90b3BFeHByZXNzaW9uKQotICAgICAgICBy
ZXR1cm4gMDsKK1Bhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9uPiBYUGF0aEV4cHJlc3Npb246OmNy
ZWF0ZUV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBYUGF0aE5TUmVzb2x2ZXIq
IHJlc29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBhdXRvIHBhcnNlZEV4cHJlc3Np
b24gPSBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGV4cHJlc3Npb24sIHJlc29sdmVyLCBlYyk7Cisg
ICAgaWYgKCFwYXJzZWRFeHByZXNzaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAg
IHJldHVybiBleHByLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFhQYXRoRXhw
cmVzc2lvbihzdGQ6Om1vdmUocGFyc2VkRXhwcmVzc2lvbikpKTsKIH0KIAogWFBhdGhFeHByZXNz
aW9uOjp+WFBhdGhFeHByZXNzaW9uKCkKIHsKLSAgICBkZWxldGUgbV90b3BFeHByZXNzaW9uOwog
fQogCiBQYXNzUmVmUHRyPFhQYXRoUmVzdWx0PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1YXRlKE5v
ZGUqIGNvbnRleHROb2RlLCB1bnNpZ25lZCBzaG9ydCB0eXBlLCBYUGF0aFJlc3VsdCosIEV4Y2Vw
dGlvbkNvZGUmIGVjKQpAQCAtNzEsMjAgKzcyLDIwIEBAIFBhc3NSZWZQdHI8WFBhdGhSZXN1bHQ+
IFhQYXRoRXhwcmVzc2lvbjo6ZXZhbHVhdGUoTm9kZSogY29udGV4dE5vZGUsIHVuc2lnbmVkIHNo
CiAgICAgZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb24gPSAxOwogICAgIGV2YWx1YXRpb25Db250
ZXh0LmhhZFR5cGVDb252ZXJzaW9uRXJyb3IgPSBmYWxzZTsKICAgICBSZWZQdHI8WFBhdGhSZXN1
bHQ+IHJlc3VsdCA9IFhQYXRoUmVzdWx0OjpjcmVhdGUoJmNvbnRleHROb2RlLT5kb2N1bWVudCgp
LCBtX3RvcEV4cHJlc3Npb24tPmV2YWx1YXRlKCkpOwotICAgIGV2YWx1YXRpb25Db250ZXh0Lm5v
ZGUgPSAwOyAvLyBEbyBub3QgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBub2RlLCBh
cyB0aGlzIG1heSBwcmV2ZW50IHRoZSB3aG9sZSBkb2N1bWVudCBmcm9tIGJlaW5nIGRlc3Ryb3ll
ZCBpbiB0aW1lLgorICAgIGV2YWx1YXRpb25Db250ZXh0Lm5vZGUgPSBudWxscHRyOyAvLyBEbyBu
b3QgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBub2RlLCBhcyB0aGlzIG1heSBwcmV2
ZW50IHRoZSB3aG9sZSBkb2N1bWVudCBmcm9tIGJlaW5nIGRlc3Ryb3llZCBpbiB0aW1lLgogCiAg
ICAgaWYgKGV2YWx1YXRpb25Db250ZXh0LmhhZFR5cGVDb252ZXJzaW9uRXJyb3IpIHsKICAgICAg
ICAgLy8gSXQgaXMgbm90IHNwZWNpZmllZCB3aGF0IHRvIGRvIGlmIHR5cGUgY29udmVyc2lvbiBm
YWlscyB3aGlsZSBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24sIGFuZCBJTlZBTElEX0VYUFJFU1NJ
T05fRVJSIGlzIG5vdCBleGFjdGx5IHJpZ2h0CiAgICAgICAgIC8vIHdoZW4gdGhlIGZhaWx1cmUg
aGFwcGVucyBpbiBhbiBvdGhlcndpc2UgdmFsaWQgZXhwcmVzc2lvbiBiZWNhdXNlIG9mIGEgdmFy
aWFibGUuIEJ1dCBYUGF0aEV2YWx1YXRvciBkb2VzIG5vdCBzdXBwb3J0IHZhcmlhYmxlcywgc28g
aXQncyBjbG9zZSBlbm91Z2guCiAgICAgICAgIGVjID0gWFBhdGhFeGNlcHRpb246OklOVkFMSURf
RVhQUkVTU0lPTl9FUlI7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKICAgICBpZiAodHlwZSAhPSBYUGF0aFJlc3VsdDo6QU5ZX1RZUEUpIHsKICAg
ICAgICAgZWMgPSAwOwogICAgICAgICByZXN1bHQtPmNvbnZlcnRUbyh0eXBlLCBlYyk7CiAgICAg
ICAgIGlmIChlYykKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4
cHJlc3Npb24uaAppbmRleCAzMTI0OTM5YzZhZGNjZjQ1NTMxMDcwNDZhNjYxNDJiNTU4ZDRkYzlj
Li4wMGExN2EzMGJlMzNlMGQzMzFiYTFmNjllZjI1ZTNmODU1ODcxMGNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoRXhwcmVzc2lvbi5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAy
MDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQ1LDE2ICs0NCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBYUGF0aEV4cHJlc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxYUGF0aEV4cHJl
c3Npb24+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhQYXRoRXhw
cmVzc2lvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhQYXRoRXhwcmVzc2lvbik7
IH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9uPiBjcmVhdGVFeHBy
ZXNzaW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0
aW9uQ29kZSYpOwogICAgICAgICB+WFBhdGhFeHByZXNzaW9uKCk7CiAgICAgICAgIAotICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGNyZWF0ZUV4cHJlc3Npb24oY29u
c3QgU3RyaW5nJiBleHByZXNzaW9uLCBYUGF0aE5TUmVzb2x2ZXIqLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgICAgIFBhc3NSZWZQdHI8WFBhdGhSZXN1bHQ+IGV2YWx1YXRlKE5vZGUqIGNvbnRleHRO
b2RlLCB1bnNpZ25lZCBzaG9ydCB0eXBlLCBYUGF0aFJlc3VsdCosIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFhQYXRoRXhwcmVzc2lvbigpIHsg
fQorICAgICAgICBYUGF0aEV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNz
aW9uPiYmKTsKIAotICAgICAgICBYUGF0aDo6RXhwcmVzc2lvbiogbV90b3BFeHByZXNzaW9uOwor
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8WFBhdGg6OkV4cHJlc3Npb24+IG1fdG9wRXhwcmVzc2lv
bjsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHBy
ZXNzaW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5j
cHAKaW5kZXggZTM3Y2NkYWU4YmM1MjlkZjcxMzVhNzgzODc1NmRkZjhlNDY5YzlhNC4uNjg0ZDBk
ZWJjNjc2Mzg0MjYzZTZiZmMwNGFiMDBkOTBiNzViZjg1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aEV4cHJlc3Npb25Ob2RlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlhQ
YXRoRXhwcmVzc2lvbk5vZGUuaCIKIAogI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM2LDggQEAgbmFtZXNwYWNlIFhQYXRoIHsKIAogRXZh
bHVhdGlvbkNvbnRleHQmIEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCkKIHsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEV2YWx1YXRpb25Db250ZXh0LCBldmFsdWF0aW9uQ29udGV4dCwg
KCkpOwotICAgIHJldHVybiBldmFsdWF0aW9uQ29udGV4dDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8RXZhbHVhdGlvbkNvbnRleHQ+IGNvbnRleHQ7CisgICAgcmV0dXJuIGNvbnRleHQ7CiB9
CiAKIEV4cHJlc3Npb246OkV4cHJlc3Npb24oKQpAQCAtNDYsOSArNDcsMTUgQEAgRXhwcmVzc2lv
bjo6RXhwcmVzc2lvbigpCiB7CiB9CiAKLUV4cHJlc3Npb246On5FeHByZXNzaW9uKCkKK3ZvaWQg
RXhwcmVzc2lvbjo6c2V0U3ViZXhwcmVzc2lvbnMoVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPj4mJiBzdWJleHByZXNzaW9ucykKIHsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9zdWJF
eHByZXNzaW9ucyk7CisgICAgQVNTRVJUKG1fc3ViZXhwcmVzc2lvbnMuaXNFbXB0eSgpKTsKKyAg
ICBtX3N1YmV4cHJlc3Npb25zID0gc3RkOjptb3ZlKHN1YmV4cHJlc3Npb25zKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zdWJleHByZXNzaW9ucy5zaXplKCk7ICsraSkgeworICAg
ICAgICBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUgfD0gbV9zdWJleHByZXNzaW9uc1tpXS0+bV9p
c0NvbnRleHROb2RlU2Vuc2l0aXZlOworICAgICAgICBtX2lzQ29udGV4dFBvc2l0aW9uU2Vuc2l0
aXZlIHw9IG1fc3ViZXhwcmVzc2lvbnNbaV0tPm1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmU7
CisgICAgICAgIG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSB8PSBtX3N1YmV4cHJlc3Npb25zW2ld
LT5tX2lzQ29udGV4dFNpemVTZW5zaXRpdmU7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZSBY
UGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXggMWVjZTRi
M2IxYjNiMDg0Njc5MjYxMGFmMjdjNTc4MjRiZTE2ZjZiNi4uZWJmMWY1MDY4ZDM2ZWJlMThkOThk
YzY0MTU2NzVkNmVlMGJhYjQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9u
Tm9kZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNo
IFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEz
IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI3LDY2ICsyNyw1NiBAQAogI2lmbmRlZiBYUGF0aEV4cHJlc3Npb25Ob2RlX2gKICNkZWZpbmUg
WFBhdGhFeHByZXNzaW9uTm9kZV9oCiAKLSNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiWFBh
dGhWYWx1ZS5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogbmFtZXNwYWNlIFhQYXRoIHsKIAogc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IHsKLSAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKICAgICBSZWZQdHI8Tm9kZT4gbm9k
ZTsKLSAgICB1bnNpZ25lZCBsb25nIHNpemU7Ci0gICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsK
KyAgICB1bnNpZ25lZCBzaXplOworICAgIHVuc2lnbmVkIHBvc2l0aW9uOwogICAgIEhhc2hNYXA8
U3RyaW5nLCBTdHJpbmc+IHZhcmlhYmxlQmluZGluZ3M7CiAKICAgICBib29sIGhhZFR5cGVDb252
ZXJzaW9uRXJyb3I7CiB9OwogCi1jbGFzcyBQYXJzZU5vZGUgewotcHVibGljOgotICAgIHZpcnR1
YWwgflBhcnNlTm9kZSgpIHsgfQotfTsKLQotY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJz
ZU5vZGUgeworY2xhc3MgRXhwcmVzc2lvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhw
cmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBF
dmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQoKTsKIAotICAgIHZpcnR1YWwgfkV4
cHJlc3Npb24oKTsKKyAgICB2aXJ0dWFsIH5FeHByZXNzaW9uKCkgeyB9CiAKLSAgICB2b2lkIGFk
ZFN1YkV4cHJlc3Npb24oRXhwcmVzc2lvbiogZXhwcikKLSAgICB7Ci0gICAgICAgIG1fc3ViRXhw
cmVzc2lvbnMuYXBwZW5kKGV4cHIpOwotICAgICAgICBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUg
fD0gZXhwci0+bV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlOwotICAgICAgICBtX2lzQ29udGV4dFBv
c2l0aW9uU2Vuc2l0aXZlIHw9IGV4cHItPm1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmU7Ci0g
ICAgICAgIG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSB8PSBleHByLT5tX2lzQ29udGV4dFNpemVT
ZW5zaXRpdmU7Ci0gICAgfQorICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgPSAwOwogCiAgICAg
Ym9vbCBpc0NvbnRleHROb2RlU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnRleHRO
b2RlU2Vuc2l0aXZlOyB9Ci0gICAgdm9pZCBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGJvb2wg
dmFsdWUpIHsgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlID0gdmFsdWU7IH0KLQogICAgIGJvb2wg
aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2lzQ29udGV4dFBv
c2l0aW9uU2Vuc2l0aXZlOyB9Ci0gICAgdm9pZCBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2
ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUgPSB2YWx1ZTsgfQot
CiAgICAgYm9vbCBpc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9pc0Nv
bnRleHRTaXplU2Vuc2l0aXZlOyB9Ci0gICAgdm9pZCBzZXRJc0NvbnRleHRTaXplU2Vuc2l0aXZl
KGJvb2wgdmFsdWUpIHsgbV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlID0gdmFsdWU7IH0KLQotICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBWYWx1ZTo6
VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgRXhwcmVzc2lv
bigpOwogCi0gICAgdW5zaWduZWQgc3ViRXhwcmVzc2lvbkNvdW50KCkgY29uc3QgeyByZXR1cm4g
bV9zdWJFeHByZXNzaW9ucy5zaXplKCk7IH0KLSAgICBjb25zdCBFeHByZXNzaW9uJiBzdWJFeHBy
ZXNzaW9uKHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuICptX3N1YkV4cHJlc3Npb25zW2ldOyB9
CisgICAgdW5zaWduZWQgc3ViZXhwcmVzc2lvbkNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zdWJl
eHByZXNzaW9ucy5zaXplKCk7IH0KKyAgICBjb25zdCBFeHByZXNzaW9uJiBzdWJleHByZXNzaW9u
KHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuICptX3N1YmV4cHJlc3Npb25zW2ldOyB9CisKKyAg
ICB2b2lkIGFkZFN1YmV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhw
cmVzc2lvbikKKyAgICB7CisgICAgICAgIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSB8PSBleHBy
ZXNzaW9uLT5tX2lzQ29udGV4dE5vZGVTZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0UG9z
aXRpb25TZW5zaXRpdmUgfD0gZXhwcmVzc2lvbi0+bV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2
ZTsKKyAgICAgICAgbV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlIHw9IGV4cHJlc3Npb24tPm1faXND
b250ZXh0U2l6ZVNlbnNpdGl2ZTsKKyAgICAgICAgbV9zdWJleHByZXNzaW9ucy5hcHBlbmQoc3Rk
Ojptb3ZlKGV4cHJlc3Npb24pKTsKKyAgICB9CisKKyAgICB2b2lkIHNldFN1YmV4cHJlc3Npb25z
KFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYpOworCisgICAgdm9pZCBzZXRJ
c0NvbnRleHROb2RlU2Vuc2l0aXZlKGJvb2wgdmFsdWUpIHsgbV9pc0NvbnRleHROb2RlU2Vuc2l0
aXZlID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKGJv
b2wgdmFsdWUpIHsgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSA9IHZhbHVlOyB9CisgICAg
dm9pZCBzZXRJc0NvbnRleHRTaXplU2Vuc2l0aXZlKGJvb2wgdmFsdWUpIHsgbV9pc0NvbnRleHRT
aXplU2Vuc2l0aXZlID0gdmFsdWU7IH0KIAogcHJpdmF0ZToKLSAgICBWZWN0b3I8RXhwcmVzc2lv
bio+IG1fc3ViRXhwcmVzc2lvbnM7CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPj4gbV9zdWJleHByZXNzaW9uczsKIAogICAgIC8vIEV2YWx1YXRpb24gZGV0YWlscyB0aGF0
IGNhbiBiZSB1c2VkIGZvciBvcHRpbWl6YXRpb24uCiAgICAgYm9vbCBtX2lzQ29udGV4dE5vZGVT
ZW5zaXRpdmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAppbmRleCAyZDI0ZTFh
YWU1NmUzZDkyMGI4YWMwZDI3NDU1YmJiNzU5NWY0NDQxLi4yYWFlMTkyNDAzZjM2ZjJiMDU1Y2U3
ZGE0ZWYxZDNlMmQ2OTJhNjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhG
dW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1IEZyZXJpY2ggUmFhYmUg
PHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDkgQXBwbGUgSW5jLgor
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3
ZWJraXQub3JnPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IlhQYXRoVXRpbC5oIgogI2luY2x1ZGUgIlhQYXRoVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUsOCAr
NDYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKFVDaGFyIGMpCiAgICAgcmV0
dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicgfHwgYyA9PSAnXHQnOwogfQog
Ci0KLSNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoQ2xhc3MpIHN0YXRpYyBGdW5jdGlv
biogY3JlYXRlIyNDbGFzcygpIHsgcmV0dXJuIG5ldyBDbGFzczsgfQorI2RlZmluZSBERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihTdWZmaXgpIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+
IGNyZWF0ZUZ1bmN0aW9uIyNTdWZmaXgoKSB7IHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEZ1biMj
U3VmZml4PigpOyB9CiAKIGNsYXNzIEludGVydmFsIHsKIHB1YmxpYzoKQEAgLTYzLDIwMSArNjMs
MTkzIEBAIHByaXZhdGU6CiAgICAgaW50IG1fbWF4OwogfTsKIAotc3RydWN0IEZ1bmN0aW9uUmVj
IHsKLSAgICB0eXBlZGVmIEZ1bmN0aW9uICooKkZhY3RvcnlGbikoKTsKLSAgICBGYWN0b3J5Rm4g
ZmFjdG9yeUZuOwotICAgIEludGVydmFsIGFyZ3M7Ci19OwotCi1zdGF0aWMgSGFzaE1hcDxTdHJp
bmcsIEZ1bmN0aW9uUmVjPiogZnVuY3Rpb25NYXA7Ci0KLWNsYXNzIEZ1bkxhc3QgOiBwdWJsaWMg
RnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVy
VmFsdWU7IH0KK2NsYXNzIEZ1bkxhc3QgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVy
VmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5MYXN0KCkgeyBzZXRJc0NvbnRleHRTaXplU2Vuc2l0
aXZlKHRydWUpOyB9CiB9OwogCi1jbGFzcyBGdW5Qb3NpdGlvbiA6IHB1YmxpYyBGdW5jdGlvbiB7
Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6
OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQor
Y2xhc3MgRnVuUG9zaXRpb24gRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7
IH0KIHB1YmxpYzoKICAgICBGdW5Qb3NpdGlvbigpIHsgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5z
aXRpdmUodHJ1ZSk7IH0KIH07CiAKLWNsYXNzIEZ1bkNvdW50IDogcHVibGljIEZ1bmN0aW9uIHsK
LSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6
VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9Citj
bGFzcyBGdW5Db3VudCBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1
ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVz
dWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQog
fTsKIAotY2xhc3MgRnVuSWQgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CitjbGFzcyBGdW5JZCBGSU5BTCA6
IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1bkxvY2Fs
TmFtZSA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJu
IFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTG9jYWxOYW1lIEZJTkFMIDogcHVibGlj
IEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuTG9jYWxOYW1lKCkg
eyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRydWUpOyB9IC8vIGxvY2FsLW5hbWUoKSB3aXRo
IG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5OYW1lc3Bh
Y2VVUkkgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bk5hbWVzcGFjZVVSSSBGSU5BTCA6IHB1
YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bk5hbWVzcGFj
ZVVSSSgpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBuYW1lc3BhY2Ut
dXJpKCkgd2l0aCBubyBhcmd1bWVudHMgdXNlcyBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3Mg
RnVuTmFtZSA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTmFtZSBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bk5hbWUoKSB7IHNldElz
Q29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbmFtZSgpIHdpdGggbm8gYXJndW1lbnRz
IHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNzIEZ1blN0cmluZyA6IHB1YmxpYyBGdW5j
dGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1
ZTsgfQorY2xhc3MgRnVuU3RyaW5nIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0
dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6
VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1Zh
bHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuU3RyaW5nKCkgeyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0
aXZlKHRydWUpOyB9IC8vIHN0cmluZygpIHdpdGggbm8gYXJndW1lbnRzIHVzZXMgY29udGV4dCBu
b2RlLiAKIH07CiAKLWNsYXNzIEZ1bkNvbmNhdCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmly
dHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVz
dWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVu
Q29uY2F0IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1
YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CiB9OwogCi1j
bGFzcyBGdW5TdGFydHNXaXRoIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQorY2xhc3MgRnVuU3RhcnRzV2l0
aCBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNsYXNz
IEZ1bkNvbnRhaW5zIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1
YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3Qg
eyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQorY2xhc3MgRnVuQ29udGFpbnMgRklOQUwg
OiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5TdWJz
dHJpbmdCZWZvcmUgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7
IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN1YnN0cmluZ0JlZm9yZSBG
SU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVu
U3Vic3RyaW5nQWZ0ZXIgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25z
dCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN1YnN0cmluZ0FmdGVy
IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CiB9OwogCi1jbGFzcyBG
dW5TdWJzdHJpbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7
IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blN1YnN0cmluZyBGSU5BTCA6
IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3RyaW5n
TGVuZ3RoIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1
cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5TdHJpbmdMZW5ndGggRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5TdHJpbmdM
ZW5ndGgoKSB7IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gc3RyaW5nLWxl
bmd0aCgpIHdpdGggbm8gYXJndW1lbnRzIHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNz
IEZ1bk5vcm1hbGl6ZVNwYWNlIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CitjbGFzcyBGdW5Ob3JtYWxpemVT
cGFjZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgog
ICAgIEZ1bk5vcm1hbGl6ZVNwYWNlKCkgeyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRydWUp
OyB9IC8vIG5vcm1hbGl6ZS1zcGFjZSgpIHdpdGggbm8gYXJndW1lbnRzIHVzZXMgY29udGV4dCBu
b2RlLiAKIH07CiAKLWNsYXNzIEZ1blRyYW5zbGF0ZSA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAg
dmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUg
cmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorY2xhc3Mg
RnVuVHJhbnNsYXRlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CiB9
OwogCi1jbGFzcyBGdW5Cb29sZWFuIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZh
bHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQorY2xhc3MgRnVuQm9vbGVh
biBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKIGNsYXNz
IEZ1bk5vdCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3Mg
RnVuVHJ1ZSA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1blRydWUgRklOQUwgOiBwdWJsaWMg
RnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5GYWxzZSA6IHB1Ymxp
YyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29s
ZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkZhbHNlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAg
ICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBW
YWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJv
b2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuTGFuZyA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0g
ICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5
cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KK2Ns
YXNzIEZ1bkxhbmcgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiBw
dWJsaWM6CiAgICAgRnVuTGFuZygpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsg
fSAvLyBsYW5nKCkgYWx3YXlzIHdvcmtzIG9uIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBG
dW5OdW1iZXIgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1bk51bWJlciBGSU5BTCA6IHB1Ymxp
YyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bk51bWJlcigpIHsg
c2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBudW1iZXIoKSB3aXRoIG5vIGFy
Z3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5TdW0gOiBwdWJsaWMg
RnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVy
VmFsdWU7IH0KK2NsYXNzIEZ1blN1bSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmly
dHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6
OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJW
YWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuRmxvb3IgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJl
c3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1
bkZsb29yIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1
YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiB9OwogCi1j
bGFzcyBGdW5DZWlsaW5nIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5DZWlsaW5nIEZJTkFM
IDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Sb3Vu
ZCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZh
bHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuUm91bmQgRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6TnVtYmVyVmFsdWU7IH0KIHB1YmxpYzoKICAgICBzdGF0aWMgZG91YmxlIHJvdW5kKGRv
dWJsZSk7CiB9OwogCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5MYXN0KQotREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoRnVuUG9zaXRpb24pCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5D
b3VudCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bklkKQotREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoRnVuTG9jYWxOYW1lKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTmFtZXNwYWNl
VVJJKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTmFtZSkKLQotREVGSU5FX0ZVTkNUSU9O
X0NSRUFUT1IoRnVuU3RyaW5nKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuQ29uY2F0KQot
REVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3RhcnRzV2l0aCkKLURFRklORV9GVU5DVElPTl9D
UkVBVE9SKEZ1bkNvbnRhaW5zKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3Vic3RyaW5n
QmVmb3JlKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3Vic3RyaW5nQWZ0ZXIpCi1ERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5TdWJzdHJpbmcpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRP
UihGdW5TdHJpbmdMZW5ndGgpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Ob3JtYWxpemVT
cGFjZSkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blRyYW5zbGF0ZSkKLQotREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoRnVuQm9vbGVhbikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5v
dCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blRydWUpCi1ERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5GYWxzZSkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkxhbmcpCi0KLURFRklO
RV9GVU5DVElPTl9DUkVBVE9SKEZ1bk51bWJlcikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1
blN1bSkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkZsb29yKQotREVGSU5FX0ZVTkNUSU9O
X0NSRUFUT1IoRnVuQ2VpbGluZykKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blJvdW5kKQor
REVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTGFzdCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFBv
c2l0aW9uKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoQ291bnQpCitERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihJZCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKExvY2FsTmFtZSkKK0RFRklORV9G
VU5DVElPTl9DUkVBVE9SKE5hbWVzcGFjZVVSSSkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKE5h
bWUpCisKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0cmluZykKK0RFRklORV9GVU5DVElPTl9D
UkVBVE9SKENvbmNhdCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0YXJ0c1dpdGgpCitERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihDb250YWlucykKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN1
YnN0cmluZ0JlZm9yZSkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN1YnN0cmluZ0FmdGVyKQor
REVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoU3Vic3RyaW5nKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFU
T1IoU3RyaW5nTGVuZ3RoKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTm9ybWFsaXplU3BhY2Up
CitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihUcmFuc2xhdGUpCisKK0RFRklORV9GVU5DVElPTl9D
UkVBVE9SKEJvb2xlYW4pCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOb3QpCitERUZJTkVfRlVO
Q1RJT05fQ1JFQVRPUihUcnVlKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRmFsc2UpCitERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihMYW5nKQorCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOdW1i
ZXIpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdW0pCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRP
UihGbG9vcikKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKENlaWxpbmcpCitERUZJTkVfRlVOQ1RJ
T05fQ1JFQVRPUihSb3VuZCkKIAogI3VuZGVmIERFRklORV9GVU5DVElPTl9DUkVBVE9SCiAKQEAg
LTI5MCwxNyArMjgyLDE3IEBAIGlubGluZSBib29sIEludGVydmFsOjpjb250YWlucyhpbnQgdmFs
dWUpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlID49IG1fbWluICYmIHZhbHVlIDw9IG1fbWF4Owog
fQogCi12b2lkIEZ1bmN0aW9uOjpzZXRBcmd1bWVudHMoY29uc3QgVmVjdG9yPEV4cHJlc3Npb24q
PiYgYXJncykKK3ZvaWQgRnVuY3Rpb246OnNldEFyZ3VtZW50cyhjb25zdCBTdHJpbmcmIG5hbWUs
IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+JiYgYXJndW1lbnRzKQogewotICAg
IEFTU0VSVCghc3ViRXhwcmVzc2lvbkNvdW50KCkpOworICAgIEFTU0VSVCghc3ViZXhwcmVzc2lv
bkNvdW50KCkpOwogCi0gICAgLy8gU29tZSBmdW5jdGlvbnMgdXNlIGNvbnRleHQgbm9kZSBhcyBp
bXBsaWNpdCBhcmd1bWVudCwgc28gd2hlbiBleHBsaWNpdCBhcmd1bWVudHMgYXJlIGFkZGVkLCB0
aGV5IG1heSBubyBsb25nZXIgYmUgY29udGV4dCBub2RlIHNlbnNpdGl2ZS4KLSAgICBpZiAobV9u
YW1lICE9ICJsYW5nIiAmJiAhYXJncy5pc0VtcHR5KCkpCisgICAgLy8gRnVuY3Rpb25zIHRoYXQg
dXNlIHRoZSBjb250ZXh0IG5vZGUgYXMgYW4gaW1wbGljaXQgYXJndW1lbnQgYXJlIGNvbnRleHQg
bm9kZSBzZW5zaXRpdmUgd2hlbiB0aGV5CisgICAgLy8gaGF2ZSBubyBhcmd1bWVudHMsIGJ1dCB3
aGVuIGV4cGxpY2l0IGFyZ3VtZW50cyBhcmUgYWRkZWQsIHRoZXkgYXJlIG5vIGxvbmdlciBjb250
ZXh0IG5vZGUgc2Vuc2l0aXZlLgorICAgIC8vIEFzIG9mIHRoaXMgd3JpdGluZywgdGhlIG9ubHkg
ZXhjZXB0aW9uIHRvIHRoaXMgaXMgdGhlICJsYW5nIiBmdW5jdGlvbi4KKyAgICBpZiAobmFtZSAh
PSAibGFuZyIgJiYgIWFyZ3VtZW50cy5pc0VtcHR5KCkpCiAgICAgICAgIHNldElzQ29udGV4dE5v
ZGVTZW5zaXRpdmUoZmFsc2UpOwogCi0gICAgVmVjdG9yPEV4cHJlc3Npb24qPjo6Y29uc3RfaXRl
cmF0b3IgZW5kID0gYXJncy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxFeHByZXNzaW9uKj46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gYXJncy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAg
IGFkZFN1YkV4cHJlc3Npb24oKml0KTsKKyAgICBzZXRTdWJleHByZXNzaW9ucyhzdGQ6Om1vdmUo
YXJndW1lbnRzKSk7CiB9CiAKIFZhbHVlIEZ1bkxhc3Q6OmV2YWx1YXRlKCkgY29uc3QKQEAgLTM1
OCw3ICszNTAsNyBAQCBWYWx1ZSBGdW5JZDo6ZXZhbHVhdGUoKSBjb25zdAogICAgIAogICAgIHJl
c3VsdC5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAKLSAgICByZXR1cm4gVmFsdWUocmVzdWx0LCBW
YWx1ZTo6YWRvcHQpOworICAgIHJldHVybiBWYWx1ZShzdGQ6Om1vdmUocmVzdWx0KSk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgU3RyaW5nIGV4cGFuZGVkTmFtZUxvY2FsUGFydChOb2RlKiBub2RlKQpA
QCAtMzgxLDEwICszNzMsMTAgQEAgVmFsdWUgRnVuTG9jYWxOYW1lOjpldmFsdWF0ZSgpIGNvbnN0
CiAgICAgaWYgKGFyZ3VtZW50Q291bnQoKSA+IDApIHsKICAgICAgICAgVmFsdWUgYSA9IGFyZ3Vt
ZW50KDApLmV2YWx1YXRlKCk7CiAgICAgICAgIGlmICghYS5pc05vZGVTZXQoKSkKLSAgICAgICAg
ICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAg
ICAgIE5vZGUqIG5vZGUgPSBhLnRvTm9kZVNldCgpLmZpcnN0Tm9kZSgpOwotICAgICAgICByZXR1
cm4gbm9kZSA/IGV4cGFuZGVkTmFtZUxvY2FsUGFydChub2RlKSA6ICIiOworICAgICAgICByZXR1
cm4gbm9kZSA/IGV4cGFuZGVkTmFtZUxvY2FsUGFydChub2RlKSA6IGVtcHR5U3RyaW5nKCk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIGV4cGFuZGVkTmFtZUxvY2FsUGFydChldmFsdWF0aW9uQ29udGV4
dCgpLm5vZGUuZ2V0KCkpOwpAQCAtMzk1LDEwICszODcsMTAgQEAgVmFsdWUgRnVuTmFtZXNwYWNl
VVJJOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgaWYgKGFyZ3VtZW50Q291bnQoKSA+IDApIHsKICAg
ICAgICAgVmFsdWUgYSA9IGFyZ3VtZW50KDApLmV2YWx1YXRlKCk7CiAgICAgICAgIGlmICghYS5p
c05vZGVTZXQoKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCiAgICAgICAgIE5vZGUqIG5vZGUgPSBhLnRvTm9kZVNldCgpLmZpcnN0
Tm9kZSgpOwotICAgICAgICByZXR1cm4gbm9kZSA/IG5vZGUtPm5hbWVzcGFjZVVSSSgpLnN0cmlu
ZygpIDogIiI7CisgICAgICAgIHJldHVybiBub2RlID8gbm9kZS0+bmFtZXNwYWNlVVJJKCkuc3Ry
aW5nKCkgOiBlbXB0eVN0cmluZygpOwogICAgIH0KIAogICAgIHJldHVybiBldmFsdWF0aW9uQ29u
dGV4dCgpLm5vZGUtPm5hbWVzcGFjZVVSSSgpLnN0cmluZygpOwpAQCAtNDA5LDEwICs0MDEsMTAg
QEAgVmFsdWUgRnVuTmFtZTo6ZXZhbHVhdGUoKSBjb25zdAogICAgIGlmIChhcmd1bWVudENvdW50
KCkgPiAwKSB7CiAgICAgICAgIFZhbHVlIGEgPSBhcmd1bWVudCgwKS5ldmFsdWF0ZSgpOwogICAg
ICAgICBpZiAoIWEuaXNOb2RlU2V0KCkpCi0gICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAgICBOb2RlKiBub2RlID0gYS50b05v
ZGVTZXQoKS5maXJzdE5vZGUoKTsKLSAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWUo
bm9kZSkgOiAiIjsKKyAgICAgICAgcmV0dXJuIG5vZGUgPyBleHBhbmRlZE5hbWUobm9kZSkgOiBl
bXB0eVN0cmluZygpOwogICAgIH0KIAogICAgIHJldHVybiBleHBhbmRlZE5hbWUoZXZhbHVhdGlv
bkNvbnRleHQoKS5ub2RlLmdldCgpKTsKQEAgLTQ3MywxMiArNDY1LDEyIEBAIFZhbHVlIEZ1blN1
YnN0cmluZ0JlZm9yZTo6ZXZhbHVhdGUoKSBjb25zdAogICAgIFN0cmluZyBzMiA9IGFyZ3VtZW50
KDEpLmV2YWx1YXRlKCkudG9TdHJpbmcoKTsKIAogICAgIGlmIChzMi5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICBzaXpl
X3QgaSA9IHMxLmZpbmQoczIpOwogCiAgICAgaWYgKGkgPT0gbm90Rm91bmQpCi0gICAgICAgIHJl
dHVybiAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICByZXR1cm4gczEu
bGVmdChpKTsKIH0KQEAgLTQ5MCw3ICs0ODIsNyBAQCBWYWx1ZSBGdW5TdWJzdHJpbmdBZnRlcjo6
ZXZhbHVhdGUoKSBjb25zdAogCiAgICAgc2l6ZV90IGkgPSBzMS5maW5kKHMyKTsKICAgICBpZiAo
aSA9PSBub3RGb3VuZCkKLSAgICAgICAgcmV0dXJuICIiOworICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKIAogICAgIHJldHVybiBzMS5zdWJzdHJpbmcoaSArIHMyLmxlbmd0aCgpKTsKIH0K
QEAgLTUwMCwyNSArNDkyLDI1IEBAIFZhbHVlIEZ1blN1YnN0cmluZzo6ZXZhbHVhdGUoKSBjb25z
dAogICAgIFN0cmluZyBzID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKS50b1N0cmluZygpOwogICAg
IGRvdWJsZSBkb3VibGVQb3MgPSBhcmd1bWVudCgxKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCk7CiAg
ICAgaWYgKHN0ZDo6aXNuYW4oZG91YmxlUG9zKSkKLSAgICAgICAgcmV0dXJuICIiOworICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICBsb25nIHBvcyA9IHN0YXRpY19jYXN0PGxvbmc+
KEZ1blJvdW5kOjpyb3VuZChkb3VibGVQb3MpKTsKICAgICBib29sIGhhdmVMZW5ndGggPSBhcmd1
bWVudENvdW50KCkgPT0gMzsKICAgICBsb25nIGxlbiA9IC0xOwogICAgIGlmIChoYXZlTGVuZ3Ro
KSB7CiAgICAgICAgIGRvdWJsZSBkb3VibGVMZW4gPSBhcmd1bWVudCgyKS5ldmFsdWF0ZSgpLnRv
TnVtYmVyKCk7CiAgICAgICAgIGlmIChzdGQ6OmlzbmFuKGRvdWJsZUxlbikpCi0gICAgICAgICAg
ICByZXR1cm4gIiI7CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICAgICAg
bGVuID0gc3RhdGljX2Nhc3Q8bG9uZz4oRnVuUm91bmQ6OnJvdW5kKGRvdWJsZUxlbikpOwogICAg
IH0KIAogICAgIGlmIChwb3MgPiBsb25nKHMubGVuZ3RoKCkpKSAKLSAgICAgICAgcmV0dXJuICIi
OworICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIGlmIChwb3MgPCAxKSB7CiAg
ICAgICAgIGlmIChoYXZlTGVuZ3RoKSB7CiAgICAgICAgICAgICBsZW4gLT0gMSAtIHBvczsKICAg
ICAgICAgICAgIGlmIChsZW4gPCAxKQotICAgICAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICAgICAgfQogICAgICAgICBwb3Mg
PSAxOwogICAgIH0KQEAgLTU5Nyw3ICs1ODksNyBAQCBWYWx1ZSBGdW5MYW5nOjpldmFsdWF0ZSgp
IGNvbnN0CiAgICAgfQogCiAgICAgaWYgKCFsYW5ndWFnZUF0dHJpYnV0ZSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gVmFsdWUoZmFsc2UpOwogCiAgICAgU3RyaW5nIGxh
bmdWYWx1ZSA9IGxhbmd1YWdlQXR0cmlidXRlLT52YWx1ZSgpOwogICAgIHdoaWxlICh0cnVlKSB7
CkBAIC02MTEsMTIgKzYwMywxMiBAQCBWYWx1ZSBGdW5MYW5nOjpldmFsdWF0ZSgpIGNvbnN0CiAg
ICAgICAgIGxhbmdWYWx1ZSA9IGxhbmdWYWx1ZS5sZWZ0KGluZGV4KTsKICAgICB9CiAKLSAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFZhbHVlKGZhbHNlKTsKIH0KIAogVmFsdWUgRnVuRmFs
c2U6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFZh
bHVlKGZhbHNlKTsKIH0KIAogVmFsdWUgRnVuTnVtYmVyOjpldmFsdWF0ZSgpIGNvbnN0CkBAIC02
NjksNjIgKzY2MSw3OCBAQCBWYWx1ZSBGdW5Sb3VuZDo6ZXZhbHVhdGUoKSBjb25zdAogICAgIHJl
dHVybiByb3VuZChhcmd1bWVudCgwKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCkpOwogfQogCi1zdHJ1
Y3QgRnVuY3Rpb25NYXBwaW5nIHsKLSAgICBjb25zdCBjaGFyKiBuYW1lOwotICAgIEZ1bmN0aW9u
UmVjIGZ1bmN0aW9uOworc3RydWN0IEZ1bmN0aW9uTWFwVmFsdWUgeworICAgIHN0ZDo6dW5pcXVl
X3B0cjxGdW5jdGlvbj4gKCpjcmVhdGlvbkZ1bmN0aW9uKSgpOworICAgIEludGVydmFsIGFyZ3Vt
ZW50Q291bnRJbnRlcnZhbDsKIH07CiAKLXN0YXRpYyB2b2lkIGNyZWF0ZUZ1bmN0aW9uTWFwKCkK
K3N0YXRpYyB2b2lkIHBvcHVsYXRlRnVuY3Rpb25NYXAoSGFzaE1hcDxTdHJpbmcsIEZ1bmN0aW9u
TWFwVmFsdWU+JiBmdW5jdGlvbk1hcCkKIHsKKyAgICBzdHJ1Y3QgRnVuY3Rpb25NYXBwaW5nIHsK
KyAgICAgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICAgICAgRnVuY3Rpb25NYXBWYWx1ZSBmdW5j
dGlvbjsKKyAgICB9OworCiAgICAgc3RhdGljIGNvbnN0IEZ1bmN0aW9uTWFwcGluZyBmdW5jdGlv
bnNbXSA9IHsKLSAgICAgICAgeyAiYm9vbGVhbiIsIHsgJmNyZWF0ZUZ1bkJvb2xlYW4sIDEgfSB9
LAotICAgICAgICB7ICJjZWlsaW5nIiwgeyAmY3JlYXRlRnVuQ2VpbGluZywgMSB9IH0sCi0gICAg
ICAgIHsgImNvbmNhdCIsIHsgJmNyZWF0ZUZ1bkNvbmNhdCwgSW50ZXJ2YWwoMiwgSW50ZXJ2YWw6
OkluZikgfSB9LAotICAgICAgICB7ICJjb250YWlucyIsIHsgJmNyZWF0ZUZ1bkNvbnRhaW5zLCAy
IH0gfSwKLSAgICAgICAgeyAiY291bnQiLCB7ICZjcmVhdGVGdW5Db3VudCwgMSB9IH0sCi0gICAg
ICAgIHsgImZhbHNlIiwgeyAmY3JlYXRlRnVuRmFsc2UsIDAgfSB9LAotICAgICAgICB7ICJmbG9v
ciIsIHsgJmNyZWF0ZUZ1bkZsb29yLCAxIH0gfSwKLSAgICAgICAgeyAiaWQiLCB7ICZjcmVhdGVG
dW5JZCwgMSB9IH0sCi0gICAgICAgIHsgImxhbmciLCB7ICZjcmVhdGVGdW5MYW5nLCAxIH0gfSwK
LSAgICAgICAgeyAibGFzdCIsIHsgJmNyZWF0ZUZ1bkxhc3QsIDAgfSB9LAotICAgICAgICB7ICJs
b2NhbC1uYW1lIiwgeyAmY3JlYXRlRnVuTG9jYWxOYW1lLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0g
ICAgICAgIHsgIm5hbWUiLCB7ICZjcmVhdGVGdW5OYW1lLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0g
ICAgICAgIHsgIm5hbWVzcGFjZS11cmkiLCB7ICZjcmVhdGVGdW5OYW1lc3BhY2VVUkksIEludGVy
dmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAibm9ybWFsaXplLXNwYWNlIiwgeyAmY3JlYXRlRnVu
Tm9ybWFsaXplU3BhY2UsIEludGVydmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAibm90IiwgeyAm
Y3JlYXRlRnVuTm90LCAxIH0gfSwKLSAgICAgICAgeyAibnVtYmVyIiwgeyAmY3JlYXRlRnVuTnVt
YmVyLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAgIHsgInBvc2l0aW9uIiwgeyAmY3JlYXRl
RnVuUG9zaXRpb24sIDAgfSB9LAotICAgICAgICB7ICJyb3VuZCIsIHsgJmNyZWF0ZUZ1blJvdW5k
LCAxIH0gfSwKLSAgICAgICAgeyAic3RhcnRzLXdpdGgiLCB7ICZjcmVhdGVGdW5TdGFydHNXaXRo
LCAyIH0gfSwKLSAgICAgICAgeyAic3RyaW5nIiwgeyAmY3JlYXRlRnVuU3RyaW5nLCBJbnRlcnZh
bCgwLCAxKSB9IH0sCi0gICAgICAgIHsgInN0cmluZy1sZW5ndGgiLCB7ICZjcmVhdGVGdW5TdHJp
bmdMZW5ndGgsIEludGVydmFsKDAsIDEpIH0gfSwKLSAgICAgICAgeyAic3Vic3RyaW5nIiwgeyAm
Y3JlYXRlRnVuU3Vic3RyaW5nLCBJbnRlcnZhbCgyLCAzKSB9IH0sCi0gICAgICAgIHsgInN1YnN0
cmluZy1hZnRlciIsIHsgJmNyZWF0ZUZ1blN1YnN0cmluZ0FmdGVyLCAyIH0gfSwKLSAgICAgICAg
eyAic3Vic3RyaW5nLWJlZm9yZSIsIHsgJmNyZWF0ZUZ1blN1YnN0cmluZ0JlZm9yZSwgMiB9IH0s
Ci0gICAgICAgIHsgInN1bSIsIHsgJmNyZWF0ZUZ1blN1bSwgMSB9IH0sCi0gICAgICAgIHsgInRy
YW5zbGF0ZSIsIHsgJmNyZWF0ZUZ1blRyYW5zbGF0ZSwgMyB9IH0sCi0gICAgICAgIHsgInRydWUi
LCB7ICZjcmVhdGVGdW5UcnVlLCAwIH0gfSwKKyAgICAgICAgeyAiYm9vbGVhbiIsIHsgY3JlYXRl
RnVuY3Rpb25Cb29sZWFuLCAxIH0gfSwKKyAgICAgICAgeyAiY2VpbGluZyIsIHsgY3JlYXRlRnVu
Y3Rpb25DZWlsaW5nLCAxIH0gfSwKKyAgICAgICAgeyAiY29uY2F0IiwgeyBjcmVhdGVGdW5jdGlv
bkNvbmNhdCwgSW50ZXJ2YWwoMiwgSW50ZXJ2YWw6OkluZikgfSB9LAorICAgICAgICB7ICJjb250
YWlucyIsIHsgY3JlYXRlRnVuY3Rpb25Db250YWlucywgMiB9IH0sCisgICAgICAgIHsgImNvdW50
IiwgeyBjcmVhdGVGdW5jdGlvbkNvdW50LCAxIH0gfSwKKyAgICAgICAgeyAiZmFsc2UiLCB7IGNy
ZWF0ZUZ1bmN0aW9uRmFsc2UsIDAgfSB9LAorICAgICAgICB7ICJmbG9vciIsIHsgY3JlYXRlRnVu
Y3Rpb25GbG9vciwgMSB9IH0sCisgICAgICAgIHsgImlkIiwgeyBjcmVhdGVGdW5jdGlvbklkLCAx
IH0gfSwKKyAgICAgICAgeyAibGFuZyIsIHsgY3JlYXRlRnVuY3Rpb25MYW5nLCAxIH0gfSwKKyAg
ICAgICAgeyAibGFzdCIsIHsgY3JlYXRlRnVuY3Rpb25MYXN0LCAwIH0gfSwKKyAgICAgICAgeyAi
bG9jYWwtbmFtZSIsIHsgY3JlYXRlRnVuY3Rpb25Mb2NhbE5hbWUsIEludGVydmFsKDAsIDEpIH0g
fSwKKyAgICAgICAgeyAibmFtZSIsIHsgY3JlYXRlRnVuY3Rpb25OYW1lLCBJbnRlcnZhbCgwLCAx
KSB9IH0sCisgICAgICAgIHsgIm5hbWVzcGFjZS11cmkiLCB7IGNyZWF0ZUZ1bmN0aW9uTmFtZXNw
YWNlVVJJLCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgIm5vcm1hbGl6ZS1zcGFjZSIs
IHsgY3JlYXRlRnVuY3Rpb25Ob3JtYWxpemVTcGFjZSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAg
ICAgICB7ICJub3QiLCB7IGNyZWF0ZUZ1bmN0aW9uTm90LCAxIH0gfSwKKyAgICAgICAgeyAibnVt
YmVyIiwgeyBjcmVhdGVGdW5jdGlvbk51bWJlciwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAg
ICB7ICJwb3NpdGlvbiIsIHsgY3JlYXRlRnVuY3Rpb25Qb3NpdGlvbiwgMCB9IH0sCisgICAgICAg
IHsgInJvdW5kIiwgeyBjcmVhdGVGdW5jdGlvblJvdW5kLCAxIH0gfSwKKyAgICAgICAgeyAic3Rh
cnRzLXdpdGgiLCB7IGNyZWF0ZUZ1bmN0aW9uU3RhcnRzV2l0aCwgMiB9IH0sCisgICAgICAgIHsg
InN0cmluZyIsIHsgY3JlYXRlRnVuY3Rpb25TdHJpbmcsIEludGVydmFsKDAsIDEpIH0gfSwKKyAg
ICAgICAgeyAic3RyaW5nLWxlbmd0aCIsIHsgY3JlYXRlRnVuY3Rpb25TdHJpbmdMZW5ndGgsIElu
dGVydmFsKDAsIDEpIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5nIiwgeyBjcmVhdGVGdW5jdGlv
blN1YnN0cmluZywgSW50ZXJ2YWwoMiwgMykgfSB9LAorICAgICAgICB7ICJzdWJzdHJpbmctYWZ0
ZXIiLCB7IGNyZWF0ZUZ1bmN0aW9uU3Vic3RyaW5nQWZ0ZXIsIDIgfSB9LAorICAgICAgICB7ICJz
dWJzdHJpbmctYmVmb3JlIiwgeyBjcmVhdGVGdW5jdGlvblN1YnN0cmluZ0JlZm9yZSwgMiB9IH0s
CisgICAgICAgIHsgInN1bSIsIHsgY3JlYXRlRnVuY3Rpb25TdW0sIDEgfSB9LAorICAgICAgICB7
ICJ0cmFuc2xhdGUiLCB7IGNyZWF0ZUZ1bmN0aW9uVHJhbnNsYXRlLCAzIH0gfSwKKyAgICAgICAg
eyAidHJ1ZSIsIHsgY3JlYXRlRnVuY3Rpb25UcnVlLCAwIH0gfSwKICAgICB9OwogCi0gICAgZnVu
Y3Rpb25NYXAgPSBuZXcgSGFzaE1hcDxTdHJpbmcsIEZ1bmN0aW9uUmVjPjsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoZnVuY3Rpb25zKTsgKytpKQotICAgICAg
ICBmdW5jdGlvbk1hcC0+c2V0KGZ1bmN0aW9uc1tpXS5uYW1lLCBmdW5jdGlvbnNbaV0uZnVuY3Rp
b24pOworICAgICAgICBmdW5jdGlvbk1hcC5hZGQoZnVuY3Rpb25zW2ldLm5hbWUsIGZ1bmN0aW9u
c1tpXS5mdW5jdGlvbik7CiB9CiAKLUZ1bmN0aW9uKiBjcmVhdGVGdW5jdGlvbihjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCitzdGQ6OnVuaXF1ZV9w
dHI8RnVuY3Rpb24+IEZ1bmN0aW9uOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25l
ZCBudW1Bcmd1bWVudHMpCiB7Ci0gICAgaWYgKCFmdW5jdGlvbk1hcCkKLSAgICAgICAgY3JlYXRl
RnVuY3Rpb25NYXAoKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcs
IEZ1bmN0aW9uTWFwVmFsdWU+PiBmdW5jdGlvbk1hcDsKKyAgICBpZiAoZnVuY3Rpb25NYXAuZ2V0
KCkuaXNFbXB0eSgpKQorICAgICAgICBwb3B1bGF0ZUZ1bmN0aW9uTWFwKGZ1bmN0aW9uTWFwKTsK
IAotICAgIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz46Oml0ZXJhdG9yIGZ1bmN0aW9uTWFw
SXRlciA9IGZ1bmN0aW9uTWFwLT5maW5kKG5hbWUpOwotICAgIEZ1bmN0aW9uUmVjKiBmdW5jdGlv
blJlYyA9IDA7CisgICAgYXV0byBpdCA9IGZ1bmN0aW9uTWFwLmdldCgpLmZpbmQobmFtZSk7Cisg
ICAgaWYgKGl0ID09IGZ1bmN0aW9uTWFwLmdldCgpLmVuZCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIGlmIChmdW5jdGlvbk1hcEl0ZXIgPT0gZnVuY3Rpb25NYXAtPmVuZCgpIHx8
ICEoZnVuY3Rpb25SZWMgPSAmZnVuY3Rpb25NYXBJdGVyLT52YWx1ZSktPmFyZ3MuY29udGFpbnMo
YXJncy5zaXplKCkpKQotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIWl0LT52YWx1ZS5hcmd1
bWVudENvdW50SW50ZXJ2YWwuY29udGFpbnMobnVtQXJndW1lbnRzKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKLSAgICBGdW5jdGlvbiogZnVuY3Rpb24gPSBmdW5jdGlvblJlYy0+ZmFjdG9y
eUZuKCk7Ci0gICAgZnVuY3Rpb24tPnNldEFyZ3VtZW50cyhhcmdzKTsKLSAgICBmdW5jdGlvbi0+
c2V0TmFtZShuYW1lKTsKKyAgICByZXR1cm4gaXQtPnZhbHVlLmNyZWF0aW9uRnVuY3Rpb24oKTsK
K30KKworc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5jdGlvbjo6Y3JlYXRlKGNvbnN0IFN0
cmluZyYgbmFtZSkKK3sKKyAgICByZXR1cm4gY3JlYXRlKG5hbWUsIDApOworfQorCitzdGQ6OnVu
aXF1ZV9wdHI8RnVuY3Rpb24+IEZ1bmN0aW9uOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiYmIGFyZ3VtZW50cykKK3sKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+IGZ1bmN0aW9uID0gY3JlYXRlKG5hbWUsIGFyZ3VtZW50
cy5zaXplKCkpOworICAgIGlmIChmdW5jdGlvbikKKyAgICAgICAgZnVuY3Rpb24tPnNldEFyZ3Vt
ZW50cyhuYW1lLCBzdGQ6Om1vdmUoYXJndW1lbnRzKSk7CiAgICAgcmV0dXJuIGZ1bmN0aW9uOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5oCmluZGV4IDk2MjVjODgzYWU4YjIwYzFj
Njg0MDY4NDZlOTE5ZTllNjYwMWMyZWYuLjJlOThhZGE2NGIzM2NmODRlOWQ4NjlkODA5MzZlOWFi
ZjI0NjExYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5oCkBAIC0xLDYgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3Jn
PgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDIxICszNCwxOCBAQCBuYW1lc3BhY2Ug
WFBhdGggewogCiBjbGFzcyBGdW5jdGlvbiA6IHB1YmxpYyBFeHByZXNzaW9uIHsKIHB1YmxpYzoK
LSAgICB2b2lkIHNldEFyZ3VtZW50cyhjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+Jik7Ci0gICAg
dm9pZCBzZXROYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkgeyBtX25hbWUgPSBuYW1lOyB9CisgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFt
ZSk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gY3JlYXRlKGNvbnN0IFN0
cmluZyYgbmFtZSwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4mJiBhcmd1bWVu
dHMpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpIGNvbnN0IHsg
cmV0dXJuIHN1YkV4cHJlc3Npb25Db3VudCgpOyB9Ci0gICAgY29uc3QgRXhwcmVzc2lvbiYgYXJn
dW1lbnQoaW50IHBvcykgY29uc3QgeyByZXR1cm4gc3ViRXhwcmVzc2lvbihwb3MpOyB9Ci0KLSAg
ICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHVuc2lnbmVkIGFy
Z3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBzdWJleHByZXNzaW9uQ291bnQoKTsgfQorICAg
IGNvbnN0IEV4cHJlc3Npb24mIGFyZ3VtZW50KHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIHN1
YmV4cHJlc3Npb24oaSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHJpbmcgbV9uYW1lOworICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUs
IHVuc2lnbmVkIG51bUFyZ3VtZW50cyk7CisgICAgdm9pZCBzZXRBcmd1bWVudHMoY29uc3QgU3Ry
aW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiYmKTsKIH07CiAK
LUZ1bmN0aW9uKiBjcmVhdGVGdW5jdGlvbihjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFZlY3Rv
cjxFeHByZXNzaW9uKj4mIGFyZ3MgPSBWZWN0b3I8RXhwcmVzc2lvbio+KCkpOwotCiB9IC8vIG5h
bWVzcGFjZSBYUGF0aAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhHcmFtbWFyLnkgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhH
cmFtbWFyLnkKaW5kZXggNTEyMDRiYjMxODIxMjIyNjI1ZDQzYzdlMWZmMTIxM2U3MzBkYmE1NC4u
ZTBjOGVlNzkzNzc4NDU2YmMwOWFhNWUzYTg5NmI5MjdkYWRjNjVmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55CisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aEdyYW1tYXIueQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVy
aWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5
IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTMwLDEz
ICszMCw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpbmNsdWRlICJYUGF0aEZ1bmN0aW9u
cy5oIgotI2luY2x1ZGUgIlhQYXRoTlNSZXNvbHZlci5oIgogI2luY2x1ZGUgIlhQYXRoUGFyc2Vy
LmgiCiAjaW5jbHVkZSAiWFBhdGhQYXRoLmgiCi0jaW5jbHVkZSAiWFBhdGhQcmVkaWNhdGUuaCIK
LSNpbmNsdWRlICJYUGF0aFN0ZXAuaCIKICNpbmNsdWRlICJYUGF0aFZhcmlhYmxlUmVmZXJlbmNl
LmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAogI2RlZmluZSBZWU1BTExPQyBmYXN0
TWFsbG9jCiAjZGVmaW5lIFlZRlJFRSBmYXN0RnJlZQpAQCAtNDYsOTkgKzQyLDg5IEBACiAjZGVm
aW5lIFlZREVCVUcgMAogI2RlZmluZSBZWU1BWERFUFRIIDEwMDAwCiAKKyNkZWZpbmUgWVlMRVhf
UEFSQU0gcGFyc2VyCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IFhQYXRoOwogCiAlfQogCiAlcHVyZV9wYXJzZXIKLSVwYXJzZS1wYXJhbSB7IFdlYkNvcmU6OlhQ
YXRoOjpQYXJzZXIqIHBhcnNlciB9Ci0KLSV1bmlvbgotewotICAgIFN0ZXA6OkF4aXMgYXhpczsK
LSAgICBTdGVwOjpOb2RlVGVzdCogbm9kZVRlc3Q7Ci0gICAgTnVtZXJpY09wOjpPcGNvZGUgbnVt
b3A7Ci0gICAgRXFUZXN0T3A6Ok9wY29kZSBlcW9wOwotICAgIFN0cmluZyogc3RyOwotICAgIEV4
cHJlc3Npb24qIGV4cHI7Ci0gICAgVmVjdG9yPFByZWRpY2F0ZSo+KiBwcmVkTGlzdDsKLSAgICBW
ZWN0b3I8RXhwcmVzc2lvbio+KiBhcmdMaXN0OwotICAgIFN0ZXAqIHN0ZXA7Ci0gICAgTG9jYXRp
b25QYXRoKiBsb2NhdGlvblBhdGg7Ci19CislcGFyc2UtcGFyYW0geyBQYXJzZXImIHBhcnNlciB9
CiAKLSV7CisldW5pb24geyBOdW1lcmljT3A6Ok9wY29kZSBudW1lcmljT3Bjb2RlOyB9CislbGVm
dCA8bnVtZXJpY09wY29kZT4gTVVMT1AKIAotc3RhdGljIGludCB4cGF0aHl5bGV4KFlZU1RZUEUq
IHl5bHZhbCkgeyByZXR1cm4gUGFyc2VyOjpjdXJyZW50KCktPmxleCh5eWx2YWwpOyB9Ci1zdGF0
aWMgdm9pZCB4cGF0aHl5ZXJyb3Iodm9pZCosIGNvbnN0IGNoYXIqKSB7IH0KLSAgICAKLSV9Cisl
dW5pb24geyBFcVRlc3RPcDo6T3Bjb2RlIGVxdWFsaXR5VGVzdE9wY29kZTsgfQorJWxlZnQgPGVx
dWFsaXR5VGVzdE9wY29kZT4gRVFPUCBSRUxPUAogCi0lbGVmdCA8bnVtb3A+IE1VTE9QCi0lbGVm
dCA8ZXFvcD4gRVFPUCBSRUxPUAogJWxlZnQgUExVUyBNSU5VUworCiAlbGVmdCBPUiBBTkQKKwor
JXVuaW9uIHsgU3RyaW5nSW1wbCogc3RyaW5nOyB9CisldG9rZW4gPHN0cmluZz4gRlVOQ1RJT05O
QU1FIExJVEVSQUwgTkFNRVRFU1QgTlVNQkVSIE5PREVUWVBFIFZBUklBQkxFUkVGRVJFTkNFCisl
ZGVzdHJ1Y3RvciB7IGlmICgkJCkgJCQtPmRlcmVmKCk7IH0gRlVOQ1RJT05OQU1FIExJVEVSQUwg
TkFNRVRFU1QgTlVNQkVSIE5PREVUWVBFIFZBUklBQkxFUkVGRVJFTkNFCisKKyV1bmlvbiB7IFN0
ZXA6OkF4aXMgYXhpczsgfQogJXRva2VuIDxheGlzPiBBWElTTkFNRQotJXRva2VuIDxzdHI+IE5P
REVUWVBFIFBJIEZVTkNUSU9OTkFNRSBMSVRFUkFMCi0ldG9rZW4gPHN0cj4gVkFSSUFCTEVSRUZF
UkVOQ0UgTlVNQkVSCi0ldG9rZW4gRE9URE9UIFNMQVNIU0xBU0gKLSV0b2tlbiA8c3RyPiBOQU1F
VEVTVAotJXRva2VuIFhQQVRIX0VSUk9SCi0KLSV0eXBlIDxsb2NhdGlvblBhdGg+IExvY2F0aW9u
UGF0aAotJXR5cGUgPGxvY2F0aW9uUGF0aD4gQWJzb2x1dGVMb2NhdGlvblBhdGgKLSV0eXBlIDxs
b2NhdGlvblBhdGg+IFJlbGF0aXZlTG9jYXRpb25QYXRoCi0ldHlwZSA8c3RlcD4gU3RlcAogJXR5
cGUgPGF4aXM+IEF4aXNTcGVjaWZpZXIKLSV0eXBlIDxzdGVwPiBEZXNjZW5kYW50T3JTZWxmCisK
KyV0b2tlbiBDT01NRU5UIERPVERPVCBQSSBOT0RFIFNMQVNIU0xBU0ggVEVYVCBYUEFUSF9FUlJP
UgorCisldW5pb24geyBMb2NhdGlvblBhdGgqIGxvY2F0aW9uUGF0aDsgfQorJXR5cGUgPGxvY2F0
aW9uUGF0aD4gTG9jYXRpb25QYXRoIEFic29sdXRlTG9jYXRpb25QYXRoIFJlbGF0aXZlTG9jYXRp
b25QYXRoCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsgfSBMb2NhdGlvblBhdGggQWJzb2x1dGVM
b2NhdGlvblBhdGggUmVsYXRpdmVMb2NhdGlvblBhdGgKKworJXVuaW9uIHsgU3RlcDo6Tm9kZVRl
c3QqIG5vZGVUZXN0OyB9CiAldHlwZSA8bm9kZVRlc3Q+IE5vZGVUZXN0Ci0ldHlwZSA8ZXhwcj4g
UHJlZGljYXRlCi0ldHlwZSA8cHJlZExpc3Q+IE9wdGlvbmFsUHJlZGljYXRlTGlzdAotJXR5cGUg
PHByZWRMaXN0PiBQcmVkaWNhdGVMaXN0Ci0ldHlwZSA8c3RlcD4gQWJicmV2aWF0ZWRTdGVwCi0l
dHlwZSA8ZXhwcj4gRXhwcgotJXR5cGUgPGV4cHI+IFByaW1hcnlFeHByCi0ldHlwZSA8ZXhwcj4g
RnVuY3Rpb25DYWxsCi0ldHlwZSA8YXJnTGlzdD4gQXJndW1lbnRMaXN0Ci0ldHlwZSA8ZXhwcj4g
QXJndW1lbnQKLSV0eXBlIDxleHByPiBVbmlvbkV4cHIKLSV0eXBlIDxleHByPiBQYXRoRXhwcgot
JXR5cGUgPGV4cHI+IEZpbHRlckV4cHIKLSV0eXBlIDxleHByPiBPckV4cHIKLSV0eXBlIDxleHBy
PiBBbmRFeHByCi0ldHlwZSA8ZXhwcj4gRXF1YWxpdHlFeHByCi0ldHlwZSA8ZXhwcj4gUmVsYXRp
b25hbEV4cHIKLSV0eXBlIDxleHByPiBBZGRpdGl2ZUV4cHIKLSV0eXBlIDxleHByPiBNdWx0aXBs
aWNhdGl2ZUV4cHIKLSV0eXBlIDxleHByPiBVbmFyeUV4cHIKKyVkZXN0cnVjdG9yIHsgZGVsZXRl
ICQkOyB9IE5vZGVUZXN0CisKKyV1bmlvbiB7IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4+KiBleHByZXNzaW9uVmVjdG9yOyB9CisldHlwZSA8ZXhwcmVzc2lvblZlY3Rvcj4gQXJn
dW1lbnRMaXN0IFByZWRpY2F0ZUxpc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CislZGVzdHJ1Y3Rv
ciB7IGRlbGV0ZSAkJDsgfSBBcmd1bWVudExpc3QgUHJlZGljYXRlTGlzdCBPcHRpb25hbFByZWRp
Y2F0ZUxpc3QKKworJXVuaW9uIHsgU3RlcCogc3RlcDsgfQorJXR5cGUgPHN0ZXA+IFN0ZXAgQWJi
cmV2aWF0ZWRTdGVwIERlc2NlbmRhbnRPclNlbGYKKyVkZXN0cnVjdG9yIHsgZGVsZXRlICQkOyB9
IFN0ZXAgQWJicmV2aWF0ZWRTdGVwIERlc2NlbmRhbnRPclNlbGYKKworJXVuaW9uIHsgRXhwcmVz
c2lvbiogZXhwcmVzc2lvbjsgfQorJXR5cGUgPGV4cHJlc3Npb24+IEFkZGl0aXZlRXhwciBBbmRF
eHByIEFyZ3VtZW50IEVxdWFsaXR5RXhwciBFeHByIEZpbHRlckV4cHIgRnVuY3Rpb25DYWxsIE11
bHRpcGxpY2F0aXZlRXhwciBPckV4cHIgUGF0aEV4cHIgUHJlZGljYXRlIFByaW1hcnlFeHByIFJl
bGF0aW9uYWxFeHByIFVuYXJ5RXhwciBVbmlvbkV4cHIKKyVkZXN0cnVjdG9yIHsgZGVsZXRlICQk
OyB9IEFkZGl0aXZlRXhwciBBbmRFeHByIEFyZ3VtZW50IEVxdWFsaXR5RXhwciBFeHByIEZpbHRl
ckV4cHIgRnVuY3Rpb25DYWxsIE11bHRpcGxpY2F0aXZlRXhwciBPckV4cHIgUGF0aEV4cHIgUHJl
ZGljYXRlIFByaW1hcnlFeHByIFJlbGF0aW9uYWxFeHByIFVuYXJ5RXhwciBVbmlvbkV4cHIKKwor
JXsKKworc3RhdGljIGludCB4cGF0aHl5bGV4KFlZU1RZUEUqIHl5bHZhbCwgUGFyc2VyJiBwYXJz
ZXIpIHsgcmV0dXJuIHBhcnNlci5sZXgoKnl5bHZhbCk7IH0KK3N0YXRpYyB2b2lkIHhwYXRoeXll
cnJvcihQYXJzZXImLCBjb25zdCBjaGFyKikgeyB9CisKKyV9CiAKICUlCiAKLUV4cHI6Ci0gICAg
T3JFeHByCitUb3A6CisgICAgRXhwcgogICAgIHsKLSAgICAgICAgcGFyc2VyLT5tX3RvcEV4cHIg
PSAkMTsKKyAgICAgICAgcGFyc2VyLnNldFBhcnNlUmVzdWx0KHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPigkMSkpOwogICAgIH0KICAgICA7CiAKK0V4cHI6CisgICAgT3JFeHByCisgICAgOwor
CiBMb2NhdGlvblBhdGg6Ci0gICAgUmVsYXRpdmVMb2NhdGlvblBhdGgKLSAgICB7Ci0gICAgICAg
ICQkLT5zZXRBYnNvbHV0ZShmYWxzZSk7Ci0gICAgfQotICAgIHwKICAgICBBYnNvbHV0ZUxvY2F0
aW9uUGF0aAogICAgIHsKLSAgICAgICAgJCQtPnNldEFic29sdXRlKHRydWUpOworICAgICAgICAk
JC0+c2V0QWJzb2x1dGUoKTsKICAgICB9CisgICAgfAorICAgIFJlbGF0aXZlTG9jYXRpb25QYXRo
CiAgICAgOwogCiBBYnNvbHV0ZUxvY2F0aW9uUGF0aDoKICAgICAnLycKICAgICB7CiAgICAgICAg
ICQkID0gbmV3IExvY2F0aW9uUGF0aDsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9k
ZSgkJCk7CiAgICAgfQogICAgIHwKICAgICAnLycgUmVsYXRpdmVMb2NhdGlvblBhdGgKQEAgLTE0
OSw4ICsxMzUsNyBAQCBBYnNvbHV0ZUxvY2F0aW9uUGF0aDoKICAgICBEZXNjZW5kYW50T3JTZWxm
IFJlbGF0aXZlTG9jYXRpb25QYXRoCiAgICAgewogICAgICAgICAkJCA9ICQyOwotICAgICAgICAk
JC0+aW5zZXJ0Rmlyc3RTdGVwKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VO
b2RlKCQxKTsKKyAgICAgICAgJCQtPnByZXBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigk
MSkpOwogICAgIH0KICAgICA7CiAKQEAgLTE1OCw4MyArMTQzLDc1IEBAIFJlbGF0aXZlTG9jYXRp
b25QYXRoOgogICAgIFN0ZXAKICAgICB7CiAgICAgICAgICQkID0gbmV3IExvY2F0aW9uUGF0aDsK
LSAgICAgICAgJCQtPmFwcGVuZFN0ZXAoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQ
YXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAg
ICAgICAgJCQtPmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQxKSk7CiAgICAgfQog
ICAgIHwKICAgICBSZWxhdGl2ZUxvY2F0aW9uUGF0aCAnLycgU3RlcAogICAgIHsKLSAgICAgICAg
JCQtPmFwcGVuZFN0ZXAoJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUo
JDMpOworICAgICAgICAkJC0+YXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDMpKTsK
ICAgICB9CiAgICAgfAogICAgIFJlbGF0aXZlTG9jYXRpb25QYXRoIERlc2NlbmRhbnRPclNlbGYg
U3RlcAogICAgIHsKLSAgICAgICAgJCQtPmFwcGVuZFN0ZXAoJDIpOwotICAgICAgICAkJC0+YXBw
ZW5kU3RlcCgkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMik7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CisgICAgICAgICQkLT5hcHBl
bmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMikpOworICAgICAgICAkJC0+YXBwZW5kU3Rl
cChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDMpKTsKICAgICB9CiAgICAgOwogCiBTdGVwOgogICAg
IE5vZGVUZXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAogICAgIHsKLSAgICAgICAgaWYgKCQyKSB7
Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgKiQxLCAqJDIpOwot
ICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDIpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCAqJDEpOwot
ICAgICAgICBwYXJzZXItPmRlbGV0ZU5vZGVUZXN0KCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdp
c3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8c3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+Pj4gcHJlZGljYXRlTGlzdCgkMik7CisgICAgICAgIGlmIChw
cmVkaWNhdGVMaXN0KQorICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMs
IHN0ZDo6bW92ZSgqJDEpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIHN0ZDo6bW92ZSgq
JDEpKTsKICAgICB9CiAgICAgfAogICAgIE5BTUVURVNUIE9wdGlvbmFsUHJlZGljYXRlTGlzdAog
ICAgIHsKKyAgICAgICAgU3RyaW5nIG5hbWV0ZXN0ID0gYWRvcHRSZWYoJDEpOworICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4+IHByZWRp
Y2F0ZUxpc3QoJDIpOworCiAgICAgICAgIFN0cmluZyBsb2NhbE5hbWU7CiAgICAgICAgIFN0cmlu
ZyBuYW1lc3BhY2VVUkk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5leHBhbmRRTmFtZSgqJDEsIGxv
Y2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgewotICAgICAgICAgICAgcGFyc2VyLT5tX2dvdE5hbWVz
cGFjZUVycm9yID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFwYXJzZXIuZXhwYW5kUXVhbGlmaWVkTmFt
ZShuYW1ldGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKSB7CisgICAgICAgICAgICAkJCA9
IG51bGxwdHI7CiAgICAgICAgICAgICBZWUFCT1JUOwogICAgICAgICB9Ci0gICAgICAgIAotICAg
ICAgICBpZiAoJDIpIHsKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlz
LCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFt
ZXNwYWNlVVJJKSwgKiQyKTsKLSAgICAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVj
dG9yKCQyKTsKLSAgICAgICAgfSBlbHNlCisKKyAgICAgICAgaWYgKHByZWRpY2F0ZUxpc3QpCisg
ICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgU3RlcDo6Tm9kZVRlc3Qo
U3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksIHN0ZDo6
bW92ZSgqcHJlZGljYXRlTGlzdCkpOworICAgICAgICBlbHNlCiAgICAgICAgICAgICAkJCA9IG5l
dyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5h
bWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpOwotICAgICAgICBwYXJzZXItPmRlbGV0
ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAg
IH0KICAgICB8CiAgICAgQXhpc1NwZWNpZmllciBOb2RlVGVzdCBPcHRpb25hbFByZWRpY2F0ZUxp
c3QKICAgICB7Ci0gICAgICAgIGlmICgkMykgewotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgk
MSwgKiQyLCAqJDMpOwotICAgICAgICAgICAgcGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3Io
JDMpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsICokMik7
Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlTm9kZVRlc3QoJDIpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxzdGQ6
OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+PiBwcmVkaWNhdGVMaXN0KCQzKTsKKworICAgICAgICBp
ZiAocHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIHN0ZDo6bW92
ZSgqJDIpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgc3RkOjptb3ZlKCokMikpOwogICAgIH0KICAgICB8CiAg
ICAgQXhpc1NwZWNpZmllciBOQU1FVEVTVCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKICAgICB7Cisg
ICAgICAgIFN0cmluZyBuYW1ldGVzdCA9IGFkb3B0UmVmKCQyKTsKKyAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+PiBwcmVkaWNhdGVMaXN0
KCQzKTsKKwogICAgICAgICBTdHJpbmcgbG9jYWxOYW1lOwogICAgICAgICBTdHJpbmcgbmFtZXNw
YWNlVVJJOwotICAgICAgICBpZiAoIXBhcnNlci0+ZXhwYW5kUU5hbWUoKiQyLCBsb2NhbE5hbWUs
IG5hbWVzcGFjZVVSSSkpIHsKLSAgICAgICAgICAgIHBhcnNlci0+bV9nb3ROYW1lc3BhY2VFcnJv
ciA9IHRydWU7CisgICAgICAgIGlmICghcGFyc2VyLmV4cGFuZFF1YWxpZmllZE5hbWUobmFtZXRl
c3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgeworICAgICAgICAgICAgJCQgPSBudWxscHRy
OwogICAgICAgICAgICAgWVlBQk9SVDsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgkMykgewot
ICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRl
c3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksICokMyk7Ci0gICAgICAgICAg
ICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMyk7Ci0gICAgICAgIH0gZWxzZQorICAg
ICAgICBpZiAocHJlZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIFN0
ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3Bh
Y2VVUkkpLCBzdGQ6Om1vdmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxzZQogICAgICAg
ICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5h
bWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpOwotICAgICAgICBwYXJzZXItPmRlbGV0
ZVN0cmluZygkMik7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAg
IH0KICAgICB8CiAgICAgQWJicmV2aWF0ZWRTdGVwCkBAIC0yNTAsMzcgKzIyNywzNyBAQCBBeGlz
U3BlY2lmaWVyOgogICAgIDsKIAogTm9kZVRlc3Q6Ci0gICAgTk9ERVRZUEUgJygnICcpJworICAg
IE5PREUgJygnICcpJwogICAgIHsKLSAgICAgICAgaWYgKCokMSA9PSAibm9kZSIpCi0gICAgICAg
ICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3Qp
OwotICAgICAgICBlbHNlIGlmICgqJDEgPT0gInRleHQiKQotICAgICAgICAgICAgJCQgPSBuZXcg
U3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OlRleHROb2RlVGVzdCk7Ci0gICAgICAgIGVs
c2UgaWYgKCokMSA9PSAiY29tbWVudCIpCi0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2Rl
VGVzdChTdGVwOjpOb2RlVGVzdDo6Q29tbWVudE5vZGVUZXN0KTsKLQotICAgICAgICBwYXJzZXIt
PmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7
CisgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2Rl
VGVzdCk7CisgICAgfQorICAgIHwKKyAgICBURVhUICcoJyAnKScKKyAgICB7CisgICAgICAgICQk
ID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpUZXh0Tm9kZVRlc3QpOworICAg
IH0KKyAgICB8CisgICAgQ09NTUVOVCAnKCcgJyknCisgICAgeworICAgICAgICAkJCA9IG5ldyBT
dGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6Q29tbWVudE5vZGVUZXN0KTsKICAgICB9CiAg
ICAgfAogICAgIFBJICcoJyAnKScKICAgICB7CiAgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVU
ZXN0KFN0ZXA6Ok5vZGVUZXN0OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCk7Ci0gICAg
ICAgIHBhcnNlci0+cmVnaXN0ZXJOb2RlVGVzdCgkJCk7CiAgICAgfQogICAgIHwKICAgICBQSSAn
KCcgTElURVJBTCAnKScKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0
ZXA6Ok5vZGVUZXN0OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgJDMtPnN0cmlwV2hp
dGVTcGFjZSgpKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDMpOwotICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyTm9kZVRlc3QoJCQpOworICAgICAgICBTdHJpbmcgbGl0ZXJhbCA9IGFk
b3B0UmVmKCQzKTsKKyAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRl
c3Q6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBsaXRlcmFsLnN0cmlwV2hpdGVTcGFj
ZSgpKTsKICAgICB9CiAgICAgOwogCiBPcHRpb25hbFByZWRpY2F0ZUxpc3Q6CiAgICAgLyogZW1w
dHkgKi8KICAgICB7Ci0gICAgICAgICQkID0gMDsKKyAgICAgICAgJCQgPSBudWxscHRyOwogICAg
IH0KICAgICB8CiAgICAgUHJlZGljYXRlTGlzdApAQCAtMjg5LDE2ICsyNjYsMTQgQEAgT3B0aW9u
YWxQcmVkaWNhdGVMaXN0OgogUHJlZGljYXRlTGlzdDoKICAgICBQcmVkaWNhdGUKICAgICB7Ci0g
ICAgICAgICQkID0gbmV3IFZlY3RvcjxQcmVkaWNhdGUqPjsKLSAgICAgICAgJCQtPmFwcGVuZChu
ZXcgUHJlZGljYXRlKCQxKSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
MSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3IoJCQpOworICAgICAg
ICAkJCA9IG5ldyBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PjsKKyAgICAgICAg
JCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpKTsKICAgICB9CiAgICAg
fAogICAgIFByZWRpY2F0ZUxpc3QgUHJlZGljYXRlCiAgICAgewotICAgICAgICAkJC0+YXBwZW5k
KG5ldyBQcmVkaWNhdGUoJDIpKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2Rl
KCQyKTsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAgJCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4oJDIpKTsKICAgICB9CiAgICAgOwogCkBAIC0zMTMsNyArMjg4LDYgQEAg
RGVzY2VuZGFudE9yU2VsZjoKICAgICBTTEFTSFNMQVNICiAgICAgewogICAgICAgICAkJCA9IG5l
dyBTdGVwKFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpO
b2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9k
ZSgkJCk7CiAgICAgfQogICAgIDsKIApAQCAtMzIxLDIyICsyOTUsMTkgQEAgQWJicmV2aWF0ZWRT
dGVwOgogICAgICcuJwogICAgIHsKICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpTZWxmQXhp
cywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0KSk7Ci0gICAgICAg
IHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAgIH0KICAgICB8CiAgICAgRE9URE9U
CiAgICAgewogICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OlBhcmVudEF4aXMsIFN0ZXA6Ok5v
ZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCkpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgOwogCiBQcmltYXJ5RXhwcjoKICAgICBW
QVJJQUJMRVJFRkVSRU5DRQogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgVmFyaWFibGVSZWZlcmVu
Y2UoKiQxKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJz
ZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgU3RyaW5nIG5hbWUgPSBhZG9wdFJl
ZigkMSk7CisgICAgICAgICQkID0gbmV3IFZhcmlhYmxlUmVmZXJlbmNlKG5hbWUpOwogICAgIH0K
ICAgICB8CiAgICAgJygnIEV4cHIgJyknCkBAIC0zNDYsMTYgKzMxNywxNCBAQCBQcmltYXJ5RXhw
cjoKICAgICB8CiAgICAgTElURVJBTAogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgU3RyaW5nRXhw
cmVzc2lvbigqJDEpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAgICAg
IHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBTdHJpbmcgbGl0ZXJhbCA9
IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgJCQgPSBuZXcgU3RyaW5nRXhwcmVzc2lvbihzdGQ6Om1v
dmUobGl0ZXJhbCkpOwogICAgIH0KICAgICB8CiAgICAgTlVNQkVSCiAgICAgewotICAgICAgICAk
JCA9IG5ldyBOdW1iZXIoJDEtPnRvRG91YmxlKCkpOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0
cmluZygkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAg
ICBTdHJpbmcgbnVtZXJhbCA9IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgJCQgPSBuZXcgTnVtYmVy
KG51bWVyYWwudG9Eb3VibGUoKSk7CiAgICAgfQogICAgIHwKICAgICBGdW5jdGlvbkNhbGwKQEAg
LTM2NCwzNyArMzMzLDMyIEBAIFByaW1hcnlFeHByOgogRnVuY3Rpb25DYWxsOgogICAgIEZVTkNU
SU9OTkFNRSAnKCcgJyknCiAgICAgewotICAgICAgICAkJCA9IGNyZWF0ZUZ1bmN0aW9uKCokMSk7
CisgICAgICAgIFN0cmluZyBuYW1lID0gYWRvcHRSZWYoJDEpOworICAgICAgICAkJCA9IFhQYXRo
OjpGdW5jdGlvbjo6Y3JlYXRlKG5hbWUpLnJlbGVhc2UoKTsKICAgICAgICAgaWYgKCEkJCkKICAg
ICAgICAgICAgIFlZQUJPUlQ7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAg
ICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIHwKICAgICBG
VU5DVElPTk5BTUUgJygnIEFyZ3VtZW50TGlzdCAnKScKICAgICB7Ci0gICAgICAgICQkID0gY3Jl
YXRlRnVuY3Rpb24oKiQxLCAqJDMpOworICAgICAgICBTdHJpbmcgbmFtZSA9IGFkb3B0UmVmKCQx
KTsKKyAgICAgICAgJCQgPSBYUGF0aDo6RnVuY3Rpb246OmNyZWF0ZShuYW1lLCBzdGQ6Om1vdmUo
KiQzKSkucmVsZWFzZSgpOwogICAgICAgICBpZiAoISQkKQogICAgICAgICAgICAgWVlBQk9SVDsK
LSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJzZXItPmRlbGV0
ZUV4cHJlc3Npb25WZWN0b3IoJDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2Rl
KCQkKTsKICAgICB9CiAgICAgOwogCiBBcmd1bWVudExpc3Q6CiAgICAgQXJndW1lbnQKICAgICB7
Ci0gICAgICAgICQkID0gbmV3IFZlY3RvcjxFeHByZXNzaW9uKj47Ci0gICAgICAgICQkLT5hcHBl
bmQoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAg
ICBwYXJzZXItPnJlZ2lzdGVyRXhwcmVzc2lvblZlY3RvcigkJCk7CisgICAgICAgICQkID0gbmV3
IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+OworICAgICAgICAkJC0+YXBwZW5k
KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSkpOwogICAgIH0KICAgICB8CiAgICAgQXJn
dW1lbnRMaXN0ICcsJyBBcmd1bWVudAogICAgIHsKLSAgICAgICAgJCQtPmFwcGVuZCgkMyk7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7CisgICAgICAgICQkID0gJDE7
CisgICAgICAgICQkLT5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAg
ICAgfQogICAgIDsKIApAQCAtNDA3LDQxICszNzEsMjYgQEAgVW5pb25FeHByOgogICAgIHwKICAg
ICBVbmlvbkV4cHIgJ3wnIFBhdGhFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBVbmlvbjsK
LSAgICAgICAgJCQtPmFkZFN1YkV4cHJlc3Npb24oJDEpOwotICAgICAgICAkJC0+YWRkU3ViRXhw
cmVzc2lvbigkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5ldyBVbmlvbihzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsK
ICAgICB9CiAgICAgOwogCiBQYXRoRXhwcjoKICAgICBMb2NhdGlvblBhdGgKLSAgICB7Ci0gICAg
ICAgICQkID0gJDE7Ci0gICAgfQogICAgIHwKICAgICBGaWx0ZXJFeHByCiAgICAgfAogICAgIEZp
bHRlckV4cHIgJy8nIFJlbGF0aXZlTG9jYXRpb25QYXRoCiAgICAgewotICAgICAgICAkMy0+c2V0
QWJzb2x1dGUodHJ1ZSk7Ci0gICAgICAgICQkID0gbmV3IFBhdGgoc3RhdGljX2Nhc3Q8RmlsdGVy
Kj4oJDEpLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0g
ICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+
cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkMy0+c2V0QWJzb2x1dGUoKTsKKyAgICAg
ICAgJCQgPSBuZXcgUGF0aChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVu
aXF1ZV9wdHI8TG9jYXRpb25QYXRoPigkMykpOwogICAgIH0KICAgICB8CiAgICAgRmlsdGVyRXhw
ciBEZXNjZW5kYW50T3JTZWxmIFJlbGF0aXZlTG9jYXRpb25QYXRoCiAgICAgewotICAgICAgICAk
My0+aW5zZXJ0Rmlyc3RTdGVwKCQyKTsKLSAgICAgICAgJDMtPnNldEFic29sdXRlKHRydWUpOwot
ICAgICAgICAkJCA9IG5ldyBQYXRoKHN0YXRpY19jYXN0PEZpbHRlcio+KCQxKSwgJDMpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVu
cmVnaXN0ZXJQYXJzZU5vZGUoJDIpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5v
ZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAg
JDMtPnByZXBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMikpOworICAgICAgICAkMy0+
c2V0QWJzb2x1dGUoKTsKKyAgICAgICAgJCQgPSBuZXcgUGF0aChzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25QYXRoPigkMykpOwogICAgIH0K
ICAgICA7CiAKQEAgLTQ1MCwxMCArMzk5LDggQEAgRmlsdGVyRXhwcjoKICAgICB8CiAgICAgUHJp
bWFyeUV4cHIgUHJlZGljYXRlTGlzdAogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgRmlsdGVyKCQx
LCAqJDIpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAg
ICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMik7Ci0gICAgICAgIHBhcnNlci0+cmVn
aXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4+IHByZWRpY2F0ZUxpc3QoJDIpOworICAgICAgICAkJCA9
IG5ldyBGaWx0ZXIoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjptb3ZlKCpw
cmVkaWNhdGVMaXN0KSk7CiAgICAgfQogICAgIDsKIApAQCAtNDYyLDEwICs0MDksNyBAQCBPckV4
cHI6CiAgICAgfAogICAgIE9yRXhwciBPUiBBbmRFeHByCiAgICAgewotICAgICAgICAkJCA9IG5l
dyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9PciwgJDEsICQzKTsKLSAgICAgICAgcGFyc2VyLT51
bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VO
b2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAg
ICQkID0gbmV3IExvZ2ljYWxPcChMb2dpY2FsT3A6Ok9QX09yLCBzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAg
ICAgOwogCkBAIC00NzQsMTAgKzQxOCw3IEBAIEFuZEV4cHI6CiAgICAgfAogICAgIEFuZEV4cHIg
QU5EIEVxdWFsaXR5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTG9naWNhbE9wKExvZ2lj
YWxPcDo6T1BfQW5kLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5v
ZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAg
ICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgTG9naWNh
bE9wKExvZ2ljYWxPcDo6T1BfQW5kLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBz
dGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAgOwogCkBAIC00ODYs
MTAgKzQyNyw3IEBAIEVxdWFsaXR5RXhwcjoKICAgICB8CiAgICAgRXF1YWxpdHlFeHByIEVRT1Ag
UmVsYXRpb25hbEV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCAkMSwg
JDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBw
YXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVy
UGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgRXFUZXN0T3AoJDIsIHN0ZDo6dW5pcXVl
X3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwog
ICAgIH0KICAgICA7CiAKQEAgLTQ5OCwxMCArNDM2LDcgQEAgUmVsYXRpb25hbEV4cHI6CiAgICAg
fAogICAgIFJlbGF0aW9uYWxFeHByIFJFTE9QIEFkZGl0aXZlRXhwcgogICAgIHsKLSAgICAgICAg
JCQgPSBuZXcgRXFUZXN0T3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3Rl
clBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7
Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5l
dyBFcVRlc3RPcCgkMiwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNTEwLDE4ICs0NDUs
MTIgQEAgQWRkaXRpdmVFeHByOgogICAgIHwKICAgICBBZGRpdGl2ZUV4cHIgUExVUyBNdWx0aXBs
aWNhdGl2ZUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IE51bWVyaWNPcChOdW1lcmljT3A6
Ok9QX0FkZCwgJDEsICQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQx
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFy
c2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IE51bWVyaWNPcChO
dW1lcmljT3A6Ok9QX0FkZCwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIHwKICAgICBBZGRpdGl2ZUV4
cHIgTUlOVVMgTXVsdGlwbGljYXRpdmVFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBOdW1l
cmljT3AoTnVtZXJpY09wOjpPUF9TdWIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdp
c3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
Myk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9
IG5ldyBOdW1lcmljT3AoTnVtZXJpY09wOjpPUF9TdWIsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7
CiAKQEAgLTUzMCwxMCArNDU5LDcgQEAgTXVsdGlwbGljYXRpdmVFeHByOgogICAgIHwKICAgICBN
dWx0aXBsaWNhdGl2ZUV4cHIgTVVMT1AgVW5hcnlFeHByCiAgICAgewotICAgICAgICAkJCA9IG5l
dyBOdW1lcmljT3AoJDIsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNl
Tm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAg
ICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5ldyBOdW1l
cmljT3AoJDIsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVlX3B0
cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTU0MiwxMCArNDY4LDcgQEAg
VW5hcnlFeHByOgogICAgIHwKICAgICBNSU5VUyBVbmFyeUV4cHIKICAgICB7Ci0gICAgICAgICQk
ID0gbmV3IE5lZ2F0aXZlOwotICAgICAgICAkJC0+YWRkU3ViRXhwcmVzc2lvbigkMik7Ci0gICAg
ICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMik7Ci0gICAgICAgIHBhcnNlci0+cmVn
aXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5ldyBOZWdhdGl2ZShzdGQ6OnVuaXF1
ZV9wdHI8RXhwcmVzc2lvbj4oJDIpKTsKICAgICB9CiAgICAgOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aE5vZGVTZXQuY3BwCmluZGV4IDg3NzgyZDRhYTlkNTEzOGYwYjQxNzNkZTVlODMwMjEzZDYwYjRj
ODAuLmU1YTZhOTI5NjcyNzIyZTkxMGUwMjRlOWJiNjVkYjJlNTJmMzAxNTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aE5vZGVTZXQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyBpbmxpbmUgTm9k
ZSogcGFyZW50V2l0aERlcHRoKHVuc2lnbmVkIGRlcHRoLCBjb25zdCBWZWN0b3I8Tm9kZSo+JiBw
YXJlbnRzCiAgICAgcmV0dXJuIHBhcmVudHNbcGFyZW50cy5zaXplKCkgLSAxIC0gZGVwdGhdOwog
fQogCi1zdGF0aWMgdm9pZCBzb3J0QmxvY2sodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIFZl
Y3RvcjxWZWN0b3I8Tm9kZSo+ID4mIHBhcmVudE1hdHJpeCwgYm9vbCBtYXlDb250YWluQXR0cmli
dXRlTm9kZXMpCitzdGF0aWMgdm9pZCBzb3J0QmxvY2sodW5zaWduZWQgZnJvbSwgdW5zaWduZWQg
dG8sIFZlY3RvcjxWZWN0b3I8Tm9kZSo+PiYgcGFyZW50TWF0cml4LCBib29sIG1heUNvbnRhaW5B
dHRyaWJ1dGVOb2RlcykKIHsKICAgICBBU1NFUlQoZnJvbSArIDEgPCB0byk7IC8vIFNob3VsZCBu
b3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggbGVzcyB0aGF0IHR3byBub2RlcyB0byBzb3J0Lgog
ICAgIHVuc2lnbmVkIG1pbkRlcHRoID0gVUlOVF9NQVg7CkBAIC0xNDIsNyArMTQyLDcgQEAgdm9p
ZCBOb2RlU2V0Ojpzb3J0KCkgY29uc3QKIAogICAgIHVuc2lnbmVkIG5vZGVDb3VudCA9IG1fbm9k
ZXMuc2l6ZSgpOwogICAgIGlmIChub2RlQ291bnQgPCAyKSB7Ci0gICAgICAgIGNvbnN0X2Nhc3Q8
Ym9vbCY+KG1faXNTb3J0ZWQpID0gdHJ1ZTsKKyAgICAgICAgbV9pc1NvcnRlZCA9IHRydWU7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE2OSwxMiArMTY5LDEzIEBAIHZvaWQgTm9kZVNl
dDo6c29ydCgpIGNvbnN0CiAgICAgc29ydEJsb2NrKDAsIG5vZGVDb3VudCwgcGFyZW50TWF0cml4
LCBjb250YWluc0F0dHJpYnV0ZU5vZGVzKTsKICAgICAKICAgICAvLyBJdCBpcyBub3QgcG9zc2li
bGUgdG8ganVzdCBhc3NpZ24gdGhlIHJlc3VsdCB0byBtX25vZGVzLCBiZWNhdXNlIHNvbWUgbm9k
ZXMgbWF5IGdldCBkZXJlZmVyZW5jZWQgYW5kIGRlc3Ryb3llZC4KLSAgICBWZWN0b3I8UmVmUHRy
PE5vZGU+ID4gc29ydGVkTm9kZXM7CisgICAgVmVjdG9yPFJlZlB0cjxOb2RlPj4gc29ydGVkTm9k
ZXM7CiAgICAgc29ydGVkTm9kZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShub2RlQ291bnQpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBub2RlQ291bnQ7ICsraSkKICAgICAgICAgc29y
dGVkTm9kZXMuYXBwZW5kKHBhcmVudE1hdHJpeFtpXVswXSk7CiAgICAgCi0gICAgY29uc3RfY2Fz
dDxWZWN0b3I8UmVmUHRyPE5vZGU+ID4mPihtX25vZGVzKS5zd2FwKHNvcnRlZE5vZGVzKTsKKyAg
ICBtX25vZGVzID0gc3RkOjptb3ZlKHNvcnRlZE5vZGVzKTsKKyAgICBtX2lzU29ydGVkID0gdHJ1
ZTsKIH0KIAogc3RhdGljIE5vZGUqIGZpbmRSb290Tm9kZShOb2RlKiBub2RlKQpAQCAtMjI3LDI3
ICsyMjgsMTQgQEAgdm9pZCBOb2RlU2V0Ojp0cmF2ZXJzYWxTb3J0KCkgY29uc3QKICAgICB9CiAK
ICAgICBBU1NFUlQoc29ydGVkTm9kZXMuc2l6ZSgpID09IG5vZGVDb3VudCk7Ci0gICAgY29uc3Rf
Y2FzdDxWZWN0b3I8UmVmUHRyPE5vZGU+ID4mPihtX25vZGVzKS5zd2FwKHNvcnRlZE5vZGVzKTsK
LX0KLQotdm9pZCBOb2RlU2V0OjpyZXZlcnNlKCkKLXsKLSAgICBpZiAobV9ub2Rlcy5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHVuc2lnbmVkIGZyb20gPSAwOwotICAgIHVuc2ln
bmVkIHRvID0gbV9ub2Rlcy5zaXplKCkgLSAxOwotICAgIHdoaWxlIChmcm9tIDwgdG8pIHsKLSAg
ICAgICAgbV9ub2Rlc1tmcm9tXS5zd2FwKG1fbm9kZXNbdG9dKTsKLSAgICAgICAgKytmcm9tOwot
ICAgICAgICAtLXRvOwotICAgIH0KKyAgICBtX25vZGVzID0gc3RkOjptb3ZlKHNvcnRlZE5vZGVz
KTsKKyAgICBtX2lzU29ydGVkID0gdHJ1ZTsKIH0KIAogTm9kZSogTm9kZVNldDo6Zmlyc3ROb2Rl
KCkgY29uc3QKIHsKICAgICBpZiAoaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzb3J0KCk7IC8vIEZJWE1FOiBmdWxseSBzb3J0aW5n
IHRoZSBub2RlLXNldCBqdXN0IHRvIGZpbmQgaXRzIGZpcnN0IG5vZGUgaXMgd2FzdGVmdWwuCiAg
ICAgcmV0dXJuIG1fbm9kZXMuYXQoMCkuZ2V0KCk7CkBAIC0yNTYsNyArMjQ0LDcgQEAgTm9kZSog
Tm9kZVNldDo6Zmlyc3ROb2RlKCkgY29uc3QKIE5vZGUqIE5vZGVTZXQ6OmFueU5vZGUoKSBjb25z
dAogewogICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIHJldHVybiBtX25vZGVzLmF0KDApLmdldCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IDgzOWJlOGQ4ZjA0MDNkN2ExMmM2OWZkNGNkMTU3Y2Qz
Mjc4ZDA0MWYuLjNiOGI0Yzk4MTgyMmY1MDgwYjJlNTdiYTk1NzhkZGZlZWYyODAxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw5ICsyNyw2IEBACiAjaWZuZGVmIFhQYXRoTm9kZVNl
dF9oCiAjZGVmaW5lIFhQYXRoTm9kZVNldF9oCiAKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0j
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQogI2luY2x1ZGUgIk5vZGUuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzYsMjYgKzM0LDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBu
YW1lc3BhY2UgWFBhdGggewogCiAgICAgICAgIGNsYXNzIE5vZGVTZXQgewotICAgICAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5v
ZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkg
eyB9CisgICAgICAgICAgICBOb2RlU2V0KFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkgOiBtX2lzU29y
dGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpLCBtX25vZGVzKDEsIG5vZGUp
IHsgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbm9kZXMuc2l6ZSgpOyB9Ci0gICAgICAgICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7
IHJldHVybiAhbV9ub2Rlcy5zaXplKCk7IH0KKyAgICAgICAgICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fbm9kZXMuaXNFbXB0eSgpOyB9CiAgICAgICAgICAgICBOb2RlKiBvcGVy
YXRvcltdKHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZXMuYXQoaSkuZ2V0KCk7IH0K
ICAgICAgICAgICAgIHZvaWQgcmVzZXJ2ZUNhcGFjaXR5KHNpemVfdCBuZXdDYXBhY2l0eSkgeyBt
X25vZGVzLnJlc2VydmVDYXBhY2l0eShuZXdDYXBhY2l0eSk7IH0KICAgICAgICAgICAgIHZvaWQg
Y2xlYXIoKSB7IG1fbm9kZXMuY2xlYXIoKTsgfQotICAgICAgICAgICAgdm9pZCBzd2FwKE5vZGVT
ZXQmIG90aGVyKSB7IHN0ZDo6c3dhcChtX2lzU29ydGVkLCBvdGhlci5tX2lzU29ydGVkKTsgc3Rk
Ojpzd2FwKG1fc3VidHJlZXNBcmVEaXNqb2ludCwgb3RoZXIubV9zdWJ0cmVlc0FyZURpc2pvaW50
KTsgbV9ub2Rlcy5zd2FwKG90aGVyLm1fbm9kZXMpOyB9CiAKICAgICAgICAgICAgIC8vIE5vZGVT
ZXQgaXRzZWxmIGRvZXMgbm90IHZlcmlmeSB0aGF0IG5vZGVzIGluIGl0IGFyZSB1bmlxdWUuCi0g
ICAgICAgICAgICB2b2lkIGFwcGVuZChOb2RlKiBub2RlKSB7IG1fbm9kZXMuYXBwZW5kKG5vZGUp
OyB9CiAgICAgICAgICAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPE5vZGU+IG5vZGUpIHsgbV9u
b2Rlcy5hcHBlbmQobm9kZSk7IH0KICAgICAgICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IE5vZGVT
ZXQmIG5vZGVTZXQpIHsgbV9ub2Rlcy5hcHBlbmRWZWN0b3Iobm9kZVNldC5tX25vZGVzKTsgfQog
Ci0gICAgICAgICAgICAvLyBSZXR1cm5zIHRoZSBzZXQncyBmaXJzdCBub2RlIGluIGRvY3VtZW50
IG9yZGVyLCBvciAwIGlmIHRoZSBzZXQgaXMgZW1wdHkuCisgICAgICAgICAgICAvLyBSZXR1cm5z
IHRoZSBzZXQncyBmaXJzdCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBvciBudWxscHRyIGlmIHRo
ZSBzZXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBOb2RlKiBmaXJzdE5vZGUoKSBjb25zdDsKIAot
ICAgICAgICAgICAgLy8gUmV0dXJucyAwIGlmIHRoZSBzZXQgaXMgZW1wdHkuCisgICAgICAgICAg
ICAvLyBSZXR1cm5zIG51bGxwdHIgaWYgdGhlIHNldCBpcyBlbXB0eS4KICAgICAgICAgICAgIE5v
ZGUqIGFueU5vZGUoKSBjb25zdDsKIAogICAgICAgICAgICAgLy8gTm9kZVNldCBpdHNlbGYgZG9l
c24ndCBjaGVjayBpZiBpdCBjb250YWlucyBub2RlcyBpbiBkb2N1bWVudCBvcmRlciAtIHRoZSBj
YWxsZXIgc2hvdWxkIHRlbGwgaXQgaWYgaXQgZG9lcyBub3QuCkBAIC02OCwxNCArNjQsMTIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdm9pZCBtYXJrU3VidHJlZXNEaXNqb2lu
dChib29sIGRpc2pvaW50KSB7IG1fc3VidHJlZXNBcmVEaXNqb2ludCA9IGRpc2pvaW50OyB9CiAg
ICAgICAgICAgICBib29sIHN1YnRyZWVzQXJlRGlzam9pbnQoKSBjb25zdCB7IHJldHVybiBtX3N1
YnRyZWVzQXJlRGlzam9pbnQgfHwgbV9ub2Rlcy5zaXplKCkgPCAyOyB9CiAKLSAgICAgICAgICAg
IHZvaWQgcmV2ZXJzZSgpOwotICAgICAgICAKICAgICAgICAgcHJpdmF0ZToKICAgICAgICAgICAg
IHZvaWQgdHJhdmVyc2FsU29ydCgpIGNvbnN0OwogCi0gICAgICAgICAgICBib29sIG1faXNTb3J0
ZWQ7CisgICAgICAgICAgICBtdXRhYmxlIGJvb2wgbV9pc1NvcnRlZDsKICAgICAgICAgICAgIGJv
b2wgbV9zdWJ0cmVlc0FyZURpc2pvaW50OwotICAgICAgICAgICAgVmVjdG9yPFJlZlB0cjxOb2Rl
PiA+IG1fbm9kZXM7CisgICAgICAgICAgICBtdXRhYmxlIFZlY3RvcjxSZWZQdHI8Tm9kZT4+IG1f
bm9kZXM7CiAgICAgICAgIH07CiAKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmNwcApp
bmRleCBhMDNmMWZlY2NiNTcyZTJkNzdhOGExYjZjMTZiNzIzMjkyMDcwNDgyLi44MjY5ODViZTRj
M2Y3NGJiNDRhZjRkNmJjZDIyNzk5MGJkODYwNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNl
ci5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgTWFrc2ltIE9ybG92
aWNoIDxtYWtzaW1Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRl
ciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxh
cEB3ZWJraXQub3JnPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzQsMjYgKzM0LDQwIEBACiAjaW5j
bHVkZSAiWFBhdGhOU1Jlc29sdmVyLmgiCiAjaW5jbHVkZSAiWFBhdGhQYXRoLmgiCiAjaW5jbHVk
ZSAiWFBhdGhTdGVwLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV1RGOwotdXNpbmcg
bmFtZXNwYWNlIFVuaWNvZGU7CiB1c2luZyBuYW1lc3BhY2UgWFBhdGg7CiAKLWV4dGVybiBpbnQg
eHBhdGh5eXBhcnNlKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXIqKTsKK2V4dGVybiBpbnQgeHBhdGh5
eXBhcnNlKFBhcnNlciYpOworCiAjaW5jbHVkZSAiWFBhdGhHcmFtbWFyLmgiCiAKLVBhcnNlciog
UGFyc2VyOjpjdXJyZW50UGFyc2VyID0gMDsKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBYUGF0aCB7CiAKLWVudW0gWE1MQ2F0IHsgTmFtZVN0YXJ0LCBOYW1lQ29udCwgTm90UGFydE9m
TmFtZSB9Oworc3RydWN0IFBhcnNlcjo6VG9rZW4geworICAgIGludCB0eXBlOworICAgIFN0cmlu
ZyBzdHJpbmc7CisgICAgU3RlcDo6QXhpcyBheGlzOworICAgIE51bWVyaWNPcDo6T3Bjb2RlIG51
bWVyaWNPcGNvZGU7CisgICAgRXFUZXN0T3A6Ok9wY29kZSBlcXVhbGl0eVRlc3RPcGNvZGU7CiAK
LXR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFN0ZXA6OkF4aXM+IEF4aXNOYW1lc01hcDsKKyAgICBU
b2tlbihpbnQgdHlwZSkgOiB0eXBlKHR5cGUpIHsgfQorICAgIFRva2VuKGludCB0eXBlLCBjb25z
dCBTdHJpbmcmIHN0cmluZykgOiB0eXBlKHR5cGUpLCBzdHJpbmcoc3RyaW5nKSB7IH0KKyAgICBU
b2tlbihpbnQgdHlwZSwgU3RlcDo6QXhpcyBheGlzKSA6IHR5cGUodHlwZSksIGF4aXMoYXhpcykg
eyB9CisgICAgVG9rZW4oaW50IHR5cGUsIE51bWVyaWNPcDo6T3Bjb2RlIG9wY29kZSkgOiB0eXBl
KHR5cGUpLCBudW1lcmljT3Bjb2RlKG9wY29kZSkgeyB9CisgICAgVG9rZW4oaW50IHR5cGUsIEVx
VGVzdE9wOjpPcGNvZGUgb3Bjb2RlKSA6IHR5cGUodHlwZSksIGVxdWFsaXR5VGVzdE9wY29kZShv
cGNvZGUpIHsgfQorfTsKKworZW51bSBYTUxDYXQgeyBOYW1lU3RhcnQsIE5hbWVDb250LCBOb3RQ
YXJ0T2ZOYW1lIH07CiAKIHN0YXRpYyBYTUxDYXQgY2hhckNhdChVQ2hhciBhQ2hhcikKIHsKLSAg
ICAvLyMjIyBtaWdodCBuZWVkIHRvIGFkZCBzb21lIHNwZWNpYWwgY2FzZXMgZnJvbSB0aGUgWE1M
IHNwZWMuCisgICAgdXNpbmcgbmFtZXNwYWNlIFdURjsKKyAgICB1c2luZyBuYW1lc3BhY2UgVW5p
Y29kZTsKIAogICAgIGlmIChhQ2hhciA9PSAnXycpCiAgICAgICAgIHJldHVybiBOYW1lU3RhcnQ7
CkBAIC02OCw3ICs4Miw3IEBAIHN0YXRpYyBYTUxDYXQgY2hhckNhdChVQ2hhciBhQ2hhcikKICAg
ICByZXR1cm4gTm90UGFydE9mTmFtZTsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBBeGlzTmFtZXNN
YXAoQXhpc05hbWVzTWFwJiBheGlzTmFtZXMpCitzdGF0aWMgdm9pZCBwb3B1bGF0ZUF4aXNOYW1l
c01hcChIYXNoTWFwPFN0cmluZywgU3RlcDo6QXhpcz4mIGF4aXNOYW1lcykKIHsKICAgICBzdHJ1
Y3QgQXhpc05hbWUgewogICAgICAgICBjb25zdCBjaGFyKiBuYW1lOwpAQCAtODksMjkgKzEwMywy
MyBAQCBzdGF0aWMgdm9pZCBzZXRVcEF4aXNOYW1lc01hcChBeGlzTmFtZXNNYXAmIGF4aXNOYW1l
cykKICAgICAgICAgeyAicHJlY2VkaW5nLXNpYmxpbmciLCBTdGVwOjpQcmVjZWRpbmdTaWJsaW5n
QXhpcyB9LAogICAgICAgICB7ICJzZWxmIiwgU3RlcDo6U2VsZkF4aXMgfQogICAgIH07Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemVvZihheGlzTmFtZUxpc3QpIC8gc2l6ZW9mKGF4
aXNOYW1lTGlzdFswXSk7ICsraSkKLSAgICAgICAgYXhpc05hbWVzLnNldChheGlzTmFtZUxpc3Rb
aV0ubmFtZSwgYXhpc05hbWVMaXN0W2ldLmF4aXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBXVEZfQVJSQVlfTEVOR1RIKGF4aXNOYW1lTGlzdCk7ICsraSkKKyAgICAgICAgYXhpc05h
bWVzLmFkZChheGlzTmFtZUxpc3RbaV0ubmFtZSwgYXhpc05hbWVMaXN0W2ldLmF4aXMpOwogfQog
Ci1zdGF0aWMgYm9vbCBpc0F4aXNOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RlcDo6QXhpcyYg
dHlwZSkKK3N0YXRpYyBib29sIHBhcnNlQXhpc05hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTdGVw
OjpBeGlzJiB0eXBlKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXhpc05hbWVzTWFwLCBh
eGlzTmFtZXMsICgpKTsKLQotICAgIGlmIChheGlzTmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBz
ZXRVcEF4aXNOYW1lc01hcChheGlzTmFtZXMpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxI
YXNoTWFwPFN0cmluZywgU3RlcDo6QXhpcz4+IGF4aXNOYW1lczsKKyAgICBpZiAoYXhpc05hbWVz
LmdldCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcG9wdWxhdGVBeGlzTmFtZXNNYXAoYXhpc05hbWVz
KTsKIAotICAgIEF4aXNOYW1lc01hcDo6aXRlcmF0b3IgaXQgPSBheGlzTmFtZXMuZmluZChuYW1l
KTsKLSAgICBpZiAoaXQgPT0gYXhpc05hbWVzLmVuZCgpKQorICAgIGF1dG8gaXQgPSBheGlzTmFt
ZXMuZ2V0KCkuZmluZChuYW1lKTsKKyAgICBpZiAoaXQgPT0gYXhpc05hbWVzLmdldCgpLmVuZCgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgdHlwZSA9IGl0LT52YWx1ZTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wgaXNOb2RlVHlwZU5hbWUoY29uc3QgU3RyaW5nJiBu
YW1lKQotewotICAgIHJldHVybiBuYW1lID09ICJjb21tZW50IiB8fCBuYW1lID09ICJ0ZXh0IiB8
fCBuYW1lID09ICJwcm9jZXNzaW5nLWluc3RydWN0aW9uIiB8fCBuYW1lID09ICJub2RlIjsKLX0K
LQogLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHRva2VuIGNhbiBwb3NzaWJseSBiZSBh
IGJpbmFyeSBvcGVyYXRvciwgZ2l2ZW4KIC8vIHRoZSBwcmV2aW91cyB0b2tlbi4gTmVjZXNzYXJ5
IHRvIGRpc2FtYmlndWF0ZSBzb21lIG9mIHRoZSBvcGVyYXRvcnMKIC8vICgqIChtdWx0aXBseSks
IGRpdiwgYW5kLCBvciwgbW9kKSBpbiB0aGUgWzMyXSBPcGVyYXRvciBydWxlCkBAIC0xMzYsMjUg
KzE0NCwyNSBAQCB2b2lkIFBhcnNlcjo6c2tpcFdTKCkKICAgICAgICAgKyttX25leHRQb3M7CiB9
CiAKLVRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgaW50IGFkdmFu
Y2UpCitQYXJzZXI6OlRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwg
aW50IGFkdmFuY2UpCiB7CiAgICAgbV9uZXh0UG9zICs9IGFkdmFuY2U7CiAgICAgcmV0dXJuIFRv
a2VuKGNvZGUpOwogfQogCi1Ub2tlbiBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNv
ZGUsIE51bWVyaWNPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2UpCitQYXJzZXI6OlRva2VuIFBh
cnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgTnVtZXJpY09wOjpPcGNvZGUgdmFs
LCBpbnQgYWR2YW5jZSkKIHsKICAgICBtX25leHRQb3MgKz0gYWR2YW5jZTsKICAgICByZXR1cm4g
VG9rZW4oY29kZSwgdmFsKTsKIH0KIAotVG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZhbmNl
KGludCBjb2RlLCBFcVRlc3RPcDo6T3Bjb2RlIHZhbCwgaW50IGFkdmFuY2UpCitQYXJzZXI6OlRv
a2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShpbnQgY29kZSwgRXFUZXN0T3A6Ok9wY29k
ZSB2YWwsIGludCBhZHZhbmNlKQogewogICAgIG1fbmV4dFBvcyArPSBhZHZhbmNlOwogICAgIHJl
dHVybiBUb2tlbihjb2RlLCB2YWwpOwogfQogCi0vLyBSZXR1cm5zIG5leHQgY2hhciBpZiBpdCdz
IHRoZXJlIGFuZCBpbnRlcmVzdGluZywgMCBvdGhlcndpc2UKKy8vIFJldHVybnMgbmV4dCBjaGFy
IGlmIGl0J3MgdGhlcmUgYW5kIGludGVyZXN0aW5nLCAwIG90aGVyd2lzZS4KIGNoYXIgUGFyc2Vy
OjpwZWVrQWhlYWRIZWxwZXIoKQogewogICAgIGlmIChtX25leHRQb3MgKyAxID49IG1fZGF0YS5s
ZW5ndGgoKSkKQEAgLTE3NSw3ICsxODMsNyBAQCBjaGFyIFBhcnNlcjo6cGVla0N1ckhlbHBlcigp
CiAgICAgcmV0dXJuIG5leHQ7CiB9CiAKLVRva2VuIFBhcnNlcjo6bGV4U3RyaW5nKCkKK1BhcnNl
cjo6VG9rZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQogewogICAgIFVDaGFyIGRlbGltaXRlciA9IG1f
ZGF0YVttX25leHRQb3NdOwogICAgIGludCBzdGFydFBvcyA9IG1fbmV4dFBvcyArIDE7CkBAIC0x
OTQsNyArMjAyLDcgQEAgVG9rZW4gUGFyc2VyOjpsZXhTdHJpbmcoKQogICAgIHJldHVybiBUb2tl
bihYUEFUSF9FUlJPUik7CiB9CiAKLVRva2VuIFBhcnNlcjo6bGV4TnVtYmVyKCkKK1BhcnNlcjo6
VG9rZW4gUGFyc2VyOjpsZXhOdW1iZXIoKQogewogICAgIGludCBzdGFydFBvcyA9IG1fbmV4dFBv
czsKICAgICBib29sIHNlZW5Eb3QgPSBmYWxzZTsKQEAgLTI1Niw3ICsyNjQsNyBAQCBib29sIFBh
cnNlcjo6bGV4UU5hbWUoU3RyaW5nJiBuYW1lKQogICAgIHJldHVybiB0cnVlOwogfQogCi1Ub2tl
biBQYXJzZXI6Om5leHRUb2tlbkludGVybmFsKCkKK2lubGluZSBQYXJzZXI6OlRva2VuIFBhcnNl
cjo6bmV4dFRva2VuSW50ZXJuYWwoKQogewogICAgIHNraXBXUygpOwogCkBAIC0zNDQsNyArMzUy
LDcgQEAgVG9rZW4gUGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIC8vSXQgbWlnaHQgYmUgYW4gYXhpcyBuYW1lLgogICAgICAgICAgICAgU3RlcDo6
QXhpcyBheGlzOwotICAgICAgICAgICAgaWYgKGlzQXhpc05hbWUobmFtZSwgYXhpcykpCisgICAg
ICAgICAgICBpZiAocGFyc2VBeGlzTmFtZShuYW1lLCBheGlzKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gVG9rZW4oQVhJU05BTUUsIGF4aXMpOwogICAgICAgICAgICAgLy8gVWdoLCA6OiBpcyBv
bmx5IHZhbGlkIGluIGF4aXMgbmFtZXMgLT4gZXJyb3IKICAgICAgICAgICAgIHJldHVybiBUb2tl
bihYUEFUSF9FUlJPUik7CkBAIC0zNzAsMTMgKzM3OCwxNiBAQCBUb2tlbiBQYXJzZXI6Om5leHRU
b2tlbkludGVybmFsKCkKICAgICBpZiAocGVla0N1ckhlbHBlcigpID09ICcoJykgewogICAgICAg
ICAvLyBub3RlOiB3ZSBkb24ndCBzd2FsbG93IHRoZSAnKCcgaGVyZSEKIAotICAgICAgICAvLyBl
aXRoZXIgbm9kZSB0eXBlIG9mIGZ1bmN0aW9uIG5hbWUKLSAgICAgICAgaWYgKGlzTm9kZVR5cGVO
YW1lKG5hbWUpKSB7Ci0gICAgICAgICAgICBpZiAobmFtZSA9PSAicHJvY2Vzc2luZy1pbnN0cnVj
dGlvbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFRva2VuKFBJKTsKKyAgICAgICAgLy8gRWl0
aGVyIG5vZGUgdHlwZSBvb3IgZnVuY3Rpb24gbmFtZS4KIAotICAgICAgICAgICAgcmV0dXJuIFRv
a2VuKE5PREVUWVBFLCBuYW1lKTsKLSAgICAgICAgfQorICAgICAgICBpZiAobmFtZSA9PSAicHJv
Y2Vzc2luZy1pbnN0cnVjdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gVG9rZW4oUEkpOworICAg
ICAgICBpZiAobmFtZSA9PSAibm9kZSIpCisgICAgICAgICAgICByZXR1cm4gVG9rZW4oTk9ERSk7
CisgICAgICAgIGlmIChuYW1lID09ICJ0ZXh0IikKKyAgICAgICAgICAgIHJldHVybiBUb2tlbihU
RVhUKTsKKyAgICAgICAgaWYgKG5hbWUgPT0gImNvbW1lbnQiKQorICAgICAgICAgICAgcmV0dXJu
IFRva2VuKENPTU1FTlQpOwogCiAgICAgICAgIHJldHVybiBUb2tlbihGVU5DVElPTk5BTUUsIG5h
bWUpOwogICAgIH0KQEAgLTM4NSw0NyArMzk2LDM2IEBAIFRva2VuIFBhcnNlcjo6bmV4dFRva2Vu
SW50ZXJuYWwoKQogICAgIHJldHVybiBUb2tlbihOQU1FVEVTVCwgbmFtZSk7CiB9CiAKLVRva2Vu
IFBhcnNlcjo6bmV4dFRva2VuKCkKK2lubGluZSBQYXJzZXI6OlRva2VuIFBhcnNlcjo6bmV4dFRv
a2VuKCkKIHsKLSAgICBUb2tlbiB0b1JldCA9IG5leHRUb2tlbkludGVybmFsKCk7Ci0gICAgbV9s
YXN0VG9rZW5UeXBlID0gdG9SZXQudHlwZTsKLSAgICByZXR1cm4gdG9SZXQ7CisgICAgVG9rZW4g
dG9rZW4gPSBuZXh0VG9rZW5JbnRlcm5hbCgpOworICAgIG1fbGFzdFRva2VuVHlwZSA9IHRva2Vu
LnR5cGU7CisgICAgcmV0dXJuIHRva2VuOwogfQogCi1QYXJzZXI6OlBhcnNlcigpCitQYXJzZXI6
OlBhcnNlcihjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZl
cikKKyAgICA6IG1fZGF0YShzdGF0ZW1lbnQpCisgICAgLCBtX3Jlc29sdmVyKHJlc29sdmVyKQor
ICAgICwgbV9uZXh0UG9zKDApCisgICAgLCBtX2xhc3RUb2tlblR5cGUoMCkKKyAgICAsIG1fc2F3
TmFtZXNwYWNlRXJyb3IoZmFsc2UpCiB7Ci0gICAgcmVzZXQoU3RyaW5nKCkpOwogfQogCi1QYXJz
ZXI6On5QYXJzZXIoKQoraW50IFBhcnNlcjo6bGV4KFlZU1RZUEUmIHl5bHZhbCkKIHsKLX0KLQot
dm9pZCBQYXJzZXI6OnJlc2V0KGNvbnN0IFN0cmluZyYgZGF0YSkKLXsKLSAgICBtX25leHRQb3Mg
PSAwOwotICAgIG1fZGF0YSA9IGRhdGE7Ci0gICAgbV9sYXN0VG9rZW5UeXBlID0gMDsKLSAgICAK
LSAgICBtX3RvcEV4cHIgPSAwOwotICAgIG1fZ290TmFtZXNwYWNlRXJyb3IgPSBmYWxzZTsKLX0K
KyAgICBUb2tlbiB0b2tlbiA9IG5leHRUb2tlbigpOwogCi1pbnQgUGFyc2VyOjpsZXgodm9pZCog
ZGF0YSkKLXsKLSAgICBZWVNUWVBFKiB5eWx2YWwgPSBzdGF0aWNfY2FzdDxZWVNUWVBFKj4oZGF0
YSk7Ci0gICAgVG9rZW4gdG9rID0gbmV4dFRva2VuKCk7Ci0KLSAgICBzd2l0Y2ggKHRvay50eXBl
KSB7CisgICAgc3dpdGNoICh0b2tlbi50eXBlKSB7CiAgICAgY2FzZSBBWElTTkFNRToKLSAgICAg
ICAgeXlsdmFsLT5heGlzID0gdG9rLmF4aXM7CisgICAgICAgIHl5bHZhbC5heGlzID0gdG9rZW4u
YXhpczsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNVUxPUDoKLSAgICAgICAgeXlsdmFsLT5u
dW1vcCA9IHRvay5udW1vcDsKKyAgICAgICAgeXlsdmFsLm51bWVyaWNPcGNvZGUgPSB0b2tlbi5u
dW1lcmljT3Bjb2RlOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJFTE9QOgogICAgIGNhc2Ug
RVFPUDoKLSAgICAgICAgeXlsdmFsLT5lcW9wID0gdG9rLmVxb3A7CisgICAgICAgIHl5bHZhbC5l
cXVhbGl0eVRlc3RPcGNvZGUgPSB0b2tlbi5lcXVhbGl0eVRlc3RPcGNvZGU7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgTk9ERVRZUEU6CiAgICAgY2FzZSBGVU5DVElPTk5BTUU6CkBAIC00MzMs
MTkwICs0MzMsNTAgQEAgaW50IFBhcnNlcjo6bGV4KHZvaWQqIGRhdGEpCiAgICAgY2FzZSBWQVJJ
QUJMRVJFRkVSRU5DRToKICAgICBjYXNlIE5VTUJFUjoKICAgICBjYXNlIE5BTUVURVNUOgotICAg
ICAgICB5eWx2YWwtPnN0ciA9IG5ldyBTdHJpbmcodG9rLnN0cik7Ci0gICAgICAgIHJlZ2lzdGVy
U3RyaW5nKHl5bHZhbC0+c3RyKTsKKyAgICAgICAgeXlsdmFsLnN0cmluZyA9IHRva2VuLnN0cmlu
Zy5yZWxlYXNlSW1wbCgpLmxlYWtSZWYoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
cmV0dXJuIHRvay50eXBlOworICAgIHJldHVybiB0b2tlbi50eXBlOwogfQogCi1ib29sIFBhcnNl
cjo6ZXhwYW5kUU5hbWUoY29uc3QgU3RyaW5nJiBxTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUsIFN0
cmluZyYgbmFtZXNwYWNlVVJJKQorYm9vbCBQYXJzZXI6OmV4cGFuZFF1YWxpZmllZE5hbWUoY29u
c3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBTdHJpbmcmIGxvY2FsTmFtZSwgU3RyaW5nJiBuYW1l
c3BhY2VVUkkpCiB7Ci0gICAgc2l6ZV90IGNvbG9uID0gcU5hbWUuZmluZCgnOicpOworICAgIHNp
emVfdCBjb2xvbiA9IHF1YWxpZmllZE5hbWUuZmluZCgnOicpOwogICAgIGlmIChjb2xvbiAhPSBu
b3RGb3VuZCkgewotICAgICAgICBpZiAoIW1fcmVzb2x2ZXIpCisgICAgICAgIGlmICghbV9yZXNv
bHZlcikgeworICAgICAgICAgICAgbV9zYXdOYW1lc3BhY2VFcnJvciA9IHRydWU7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIG5hbWVzcGFjZVVSSSA9IG1fcmVzb2x2ZXItPmxv
b2t1cE5hbWVzcGFjZVVSSShxTmFtZS5sZWZ0KGNvbG9uKSk7Ci0gICAgICAgIGlmIChuYW1lc3Bh
Y2VVUkkuaXNOdWxsKCkpCisgICAgICAgIH0KKyAgICAgICAgbmFtZXNwYWNlVVJJID0gbV9yZXNv
bHZlci0+bG9va3VwTmFtZXNwYWNlVVJJKHF1YWxpZmllZE5hbWUubGVmdChjb2xvbikpOworICAg
ICAgICBpZiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpKSB7CisgICAgICAgICAgICBtX3Nhd05hbWVz
cGFjZUVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgbG9j
YWxOYW1lID0gcU5hbWUuc3Vic3RyaW5nKGNvbG9uICsgMSk7CisgICAgICAgIH0KKyAgICAgICAg
bG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZS5zdWJzdHJpbmcoY29sb24gKyAxKTsKICAgICB9IGVs
c2UKLSAgICAgICAgbG9jYWxOYW1lID0gcU5hbWU7Ci0gICAgCisgICAgICAgIGxvY2FsTmFtZSA9
IHF1YWxpZmllZE5hbWU7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotRXhwcmVzc2lvbiogUGFy
c2VyOjpwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgUGFzc1JlZlB0cjxY
UGF0aE5TUmVzb2x2ZXI+IHJlc29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3N0ZDo6dW5pcXVl
X3B0cjxFeHByZXNzaW9uPiBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGNvbnN0IFN0cmluZyYgc3Rh
dGVtZW50LCBYUGF0aE5TUmVzb2x2ZXIqIHJlc29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
LSAgICByZXNldChzdGF0ZW1lbnQpOwotCi0gICAgbV9yZXNvbHZlciA9IHJlc29sdmVyOwotICAg
IAotICAgIFBhcnNlciogb2xkUGFyc2VyID0gY3VycmVudFBhcnNlcjsKLSAgICBjdXJyZW50UGFy
c2VyID0gdGhpczsKLSAgICBpbnQgcGFyc2VFcnJvciA9IHhwYXRoeXlwYXJzZSh0aGlzKTsKLSAg
ICBjdXJyZW50UGFyc2VyID0gb2xkUGFyc2VyOwotCi0gICAgaWYgKHBhcnNlRXJyb3IpIHsKLSAg
ICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGFyc2VOb2Rlcyk7Ci0gICAgICAgIG1fcGFyc2VOb2Rl
cy5jbGVhcigpOwotCi0gICAgICAgIEhhc2hTZXQ8VmVjdG9yPFByZWRpY2F0ZSo+Kj46Oml0ZXJh
dG9yIHBlbmQgPSBtX3ByZWRpY2F0ZVZlY3RvcnMuZW5kKCk7Ci0gICAgICAgIGZvciAoSGFzaFNl
dDxWZWN0b3I8UHJlZGljYXRlKj4qPjo6aXRlcmF0b3IgaXQgPSBtX3ByZWRpY2F0ZVZlY3RvcnMu
YmVnaW4oKTsgaXQgIT0gcGVuZDsgKytpdCkgewotICAgICAgICAgICAgZGVsZXRlQWxsVmFsdWVz
KCoqaXQpOwotICAgICAgICAgICAgZGVsZXRlICppdDsKLSAgICAgICAgfQotICAgICAgICBtX3By
ZWRpY2F0ZVZlY3RvcnMuY2xlYXIoKTsKLQotICAgICAgICBIYXNoU2V0PFZlY3RvcjxFeHByZXNz
aW9uKj4qPjo6aXRlcmF0b3IgZWVuZCA9IG1fZXhwcmVzc2lvblZlY3RvcnMuZW5kKCk7Ci0gICAg
ICAgIGZvciAoSGFzaFNldDxWZWN0b3I8RXhwcmVzc2lvbio+Kj46Oml0ZXJhdG9yIGl0ID0gbV9l
eHByZXNzaW9uVmVjdG9ycy5iZWdpbigpOyBpdCAhPSBlZW5kOyArK2l0KSB7Ci0gICAgICAgICAg
ICBkZWxldGVBbGxWYWx1ZXMoKippdCk7Ci0gICAgICAgICAgICBkZWxldGUgKml0OwotICAgICAg
ICB9Ci0gICAgICAgIG1fZXhwcmVzc2lvblZlY3RvcnMuY2xlYXIoKTsKLQotICAgICAgICBkZWxl
dGVBbGxWYWx1ZXMobV9zdHJpbmdzKTsKLSAgICAgICAgbV9zdHJpbmdzLmNsZWFyKCk7CisgICAg
UGFyc2VyIHBhcnNlcihzdGF0ZW1lbnQsIHJlc29sdmVyKTsKIAotICAgICAgICBkZWxldGVBbGxW
YWx1ZXMobV9ub2RlVGVzdHMpOwotICAgICAgICBtX25vZGVUZXN0cy5jbGVhcigpOworICAgIGlu
dCBwYXJzZUVycm9yID0geHBhdGh5eXBhcnNlKHBhcnNlcik7CiAKLSAgICAgICAgbV90b3BFeHBy
ID0gMDsKLQotICAgICAgICBpZiAobV9nb3ROYW1lc3BhY2VFcnJvcikKLSAgICAgICAgICAgIGVj
ID0gTkFNRVNQQUNFX0VSUjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZWMgPSBYUGF0aEV4
Y2VwdGlvbjo6SU5WQUxJRF9FWFBSRVNTSU9OX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
aWYgKHBhcnNlci5tX3Nhd05hbWVzcGFjZUVycm9yKSB7CisgICAgICAgIGVjID0gTkFNRVNQQUNF
X0VSUjsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgQVNTRVJUKG1fcGFy
c2VOb2Rlcy5zaXplKCkgPT0gMSk7Ci0gICAgQVNTRVJUKCptX3BhcnNlTm9kZXMuYmVnaW4oKSA9
PSBtX3RvcEV4cHIpOwotICAgIEFTU0VSVChtX2V4cHJlc3Npb25WZWN0b3JzLnNpemUoKSA9PSAw
KTsKLSAgICBBU1NFUlQobV9wcmVkaWNhdGVWZWN0b3JzLnNpemUoKSA9PSAwKTsKLSAgICBBU1NF
UlQobV9zdHJpbmdzLnNpemUoKSA9PSAwKTsKLSAgICBBU1NFUlQobV9ub2RlVGVzdHMuc2l6ZSgp
ID09IDApOwotCi0gICAgbV9wYXJzZU5vZGVzLmNsZWFyKCk7Ci0gICAgRXhwcmVzc2lvbiogcmVz
dWx0ID0gbV90b3BFeHByOwotICAgIG1fdG9wRXhwciA9IDA7Ci0KLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VOb2RlKiBub2RlKQot
ewotICAgIGlmIChub2RlID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBU1NFUlQo
IW1fcGFyc2VOb2Rlcy5jb250YWlucyhub2RlKSk7Ci0gICAgCi0gICAgbV9wYXJzZU5vZGVzLmFk
ZChub2RlKTsKLX0KLQotdm9pZCBQYXJzZXI6OnVucmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VOb2Rl
KiBub2RlKQotewotICAgIGlmIChub2RlID09IDApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAg
ICBBU1NFUlQobV9wYXJzZU5vZGVzLmNvbnRhaW5zKG5vZGUpKTsKLQotICAgIG1fcGFyc2VOb2Rl
cy5yZW1vdmUobm9kZSk7Ci19Ci0KLXZvaWQgUGFyc2VyOjpyZWdpc3RlclByZWRpY2F0ZVZlY3Rv
cihWZWN0b3I8UHJlZGljYXRlKj4qIHZlY3RvcikKLXsKLSAgICBpZiAodmVjdG9yID09IDApCi0g
ICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghbV9wcmVkaWNhdGVWZWN0b3JzLmNvbnRhaW5z
KHZlY3RvcikpOwotICAgIAotICAgIG1fcHJlZGljYXRlVmVjdG9ycy5hZGQodmVjdG9yKTsKLX0K
LQotdm9pZCBQYXJzZXI6OmRlbGV0ZVByZWRpY2F0ZVZlY3RvcihWZWN0b3I8UHJlZGljYXRlKj4q
IHZlY3RvcikKLXsKLSAgICBpZiAodmVjdG9yID09IDApCi0gICAgICAgIHJldHVybjsKLQotICAg
IEFTU0VSVChtX3ByZWRpY2F0ZVZlY3RvcnMuY29udGFpbnModmVjdG9yKSk7Ci0gICAgCi0gICAg
bV9wcmVkaWNhdGVWZWN0b3JzLnJlbW92ZSh2ZWN0b3IpOwotICAgIGRlbGV0ZSB2ZWN0b3I7Ci19
Ci0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyRXhwcmVzc2lvblZlY3RvcihWZWN0b3I8RXhwcmVz
c2lvbio+KiB2ZWN0b3IpCi17Ci0gICAgaWYgKHZlY3RvciA9PSAwKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBBU1NFUlQoIW1fZXhwcmVzc2lvblZlY3RvcnMuY29udGFpbnModmVjdG9yKSk7Ci0g
ICAgCi0gICAgbV9leHByZXNzaW9uVmVjdG9ycy5hZGQodmVjdG9yKTsgICAgCi19Ci0KLXZvaWQg
UGFyc2VyOjpkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHByZXNzaW9uKj4qIHZlY3Rv
cikKLXsKLSAgICBpZiAodmVjdG9yID09IDApCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VS
VChtX2V4cHJlc3Npb25WZWN0b3JzLmNvbnRhaW5zKHZlY3RvcikpOwotICAgIAotICAgIG1fZXhw
cmVzc2lvblZlY3RvcnMucmVtb3ZlKHZlY3Rvcik7Ci0gICAgZGVsZXRlIHZlY3RvcjsKLX0KLQot
dm9pZCBQYXJzZXI6OnJlZ2lzdGVyU3RyaW5nKFN0cmluZyogcykKLXsKLSAgICBpZiAocyA9PSAw
KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKCFtX3N0cmluZ3MuY29udGFpbnMo
cykpOwotICAgIAotICAgIG1fc3RyaW5ncy5hZGQocyk7ICAgICAgICAKLX0KLQotdm9pZCBQYXJz
ZXI6OmRlbGV0ZVN0cmluZyhTdHJpbmcqIHMpCi17Ci0gICAgaWYgKHMgPT0gMCkKLSAgICAgICAg
cmV0dXJuOwotICAgIAotICAgIEFTU0VSVChtX3N0cmluZ3MuY29udGFpbnMocykpOwotICAgIAot
ICAgIG1fc3RyaW5ncy5yZW1vdmUocyk7Ci0gICAgZGVsZXRlIHM7Ci19Ci0KLXZvaWQgUGFyc2Vy
OjpyZWdpc3Rlck5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0KiB0KQotewotICAgIGlmICh0ID09IDAp
Ci0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBU1NFUlQoIW1fbm9kZVRlc3RzLmNvbnRhaW5z
KHQpKTsKLSAgICAKLSAgICBtX25vZGVUZXN0cy5hZGQodCk7ICAgICAgICAKLX0KKyAgICBpZiAo
cGFyc2VFcnJvcikgeworICAgICAgICBlYyA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VYUFJF
U1NJT05fRVJSOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAKLXZvaWQgUGFyc2Vy
OjpkZWxldGVOb2RlVGVzdChTdGVwOjpOb2RlVGVzdCogdCkKLXsKLSAgICBpZiAodCA9PSAwKQot
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKG1fbm9kZVRlc3RzLmNvbnRhaW5zKHQp
KTsKLSAgICAKLSAgICBtX25vZGVUZXN0cy5yZW1vdmUodCk7Ci0gICAgZGVsZXRlIHQ7CisgICAg
cmV0dXJuIHN0ZDo6bW92ZShwYXJzZXIubV9yZXN1bHQpOwogfQogCit9IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoUGFyc2VyLmgKaW5kZXggZTU4YzQ0NGUxZDUyODFjMDc1MDZhOGMxNWQ1OTlhODE3ZWRkZTRh
Ni4uN2JhYzNiNzhkYWFkMzg1ZmNmNjJhOGRhNTg0MDNhMGY4MzY2ZjczMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgTWFr
c2ltIE9ybG92aWNoIDxtYWtzaW1Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBs
ZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlhQYXRoU3RlcC5oIgogI2luY2x1ZGUgIlhQYXRoUHJl
ZGljYXRlLmgiCiAKK3VuaW9uIFlZU1RZUEU7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC0zOCw1OCArNDAsMjAgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBFeHBy
ZXNzaW9uOwotICAgICAgICBjbGFzcyBQYXJzZU5vZGU7Ci0gICAgICAgIGNsYXNzIFByZWRpY2F0
ZTsKLQotICAgICAgICBzdHJ1Y3QgVG9rZW4gewotICAgICAgICAgICAgaW50IHR5cGU7Ci0gICAg
ICAgICAgICBTdHJpbmcgc3RyOwotICAgICAgICAgICAgU3RlcDo6QXhpcyBheGlzOwotICAgICAg
ICAgICAgTnVtZXJpY09wOjpPcGNvZGUgbnVtb3A7Ci0gICAgICAgICAgICBFcVRlc3RPcDo6T3Bj
b2RlIGVxb3A7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFRva2VuKGludCB0KSA6IHR5cGUo
dCkge30KLSAgICAgICAgICAgIFRva2VuKGludCB0LCBjb25zdCBTdHJpbmcmIHYpOiB0eXBlKHQp
LCBzdHIodikge30KLSAgICAgICAgICAgIFRva2VuKGludCB0LCBTdGVwOjpBeGlzIHYpOiB0eXBl
KHQpLCBheGlzKHYpIHt9Ci0gICAgICAgICAgICBUb2tlbihpbnQgdCwgTnVtZXJpY09wOjpPcGNv
ZGUgdik6IHR5cGUodCksIG51bW9wKHYpIHt9Ci0gICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFU
ZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQotICAgICAgICB9OwotCiAgICAg
ICAgIGNsYXNzIFBhcnNlciB7CiAgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJz
ZXIpOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBQYXJzZXIoKTsKLSAgICAgICAgICAg
IH5QYXJzZXIoKTsKLQotICAgICAgICAgICAgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlcigpIGNv
bnN0IHsgcmV0dXJuIG1fcmVzb2x2ZXIuZ2V0KCk7IH0KLSAgICAgICAgICAgIGJvb2wgZXhwYW5k
UU5hbWUoY29uc3QgU3RyaW5nJiBxTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUsIFN0cmluZyYgbmFt
ZXNwYWNlVVJJKTsKLQotICAgICAgICAgICAgRXhwcmVzc2lvbiogcGFyc2VTdGF0ZW1lbnQoY29u
c3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFBhc3NSZWZQdHI8WFBhdGhOU1Jlc29sdmVyPiwgRXhjZXB0
aW9uQ29kZSYpOwotCi0gICAgICAgICAgICBzdGF0aWMgUGFyc2VyKiBjdXJyZW50KCkgeyByZXR1
cm4gY3VycmVudFBhcnNlcjsgfQotCi0gICAgICAgICAgICBpbnQgbGV4KHZvaWQqIHl5bHZhbCk7
CisgICAgICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IHBhcnNlU3Rh
dGVtZW50KGNvbnN0IFN0cmluZyYgc3RhdGVtZW50LCBYUGF0aE5TUmVzb2x2ZXIqLCBFeGNlcHRp
b25Db2RlJik7CiAKLSAgICAgICAgICAgIEV4cHJlc3Npb24qIG1fdG9wRXhwcjsKLSAgICAgICAg
ICAgIGJvb2wgbV9nb3ROYW1lc3BhY2VFcnJvcjsKKyAgICAgICAgICAgIGludCBsZXgoWVlTVFlQ
RSYpOworICAgICAgICAgICAgYm9vbCBleHBhbmRRdWFsaWZpZWROYW1lKGNvbnN0IFN0cmluZyYg
cXVhbGlmaWVkTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUsIFN0cmluZyYgbmFtZXNwYWNlVVJJKTsK
KyAgICAgICAgICAgIHZvaWQgc2V0UGFyc2VSZXN1bHQoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+JiYgZXhwcmVzc2lvbikgeyBtX3Jlc3VsdCA9IHN0ZDo6bW92ZShleHByZXNzaW9uKTsgfQog
Ci0gICAgICAgICAgICB2b2lkIHJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSopOwotICAgICAg
ICAgICAgdm9pZCB1bnJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSopOwotCi0gICAgICAgICAg
ICB2b2lkIHJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKFZlY3RvcjxQcmVkaWNhdGUqPiopOwotICAg
ICAgICAgICAgdm9pZCBkZWxldGVQcmVkaWNhdGVWZWN0b3IoVmVjdG9yPFByZWRpY2F0ZSo+Kik7
Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxFeHBy
ZXNzaW9uKj4qKTsKLSAgICAgICAgICAgIHZvaWQgZGVsZXRlRXhwcmVzc2lvblZlY3RvcihWZWN0
b3I8RXhwcmVzc2lvbio+Kik7Ci0KLSAgICAgICAgICAgIHZvaWQgcmVnaXN0ZXJTdHJpbmcoU3Ry
aW5nKik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZVN0cmluZyhTdHJpbmcqKTsKKyAgICAgICAg
cHJpdmF0ZToKKyAgICAgICAgICAgIFBhcnNlcihjb25zdCBTdHJpbmcmLCBYUGF0aE5TUmVzb2x2
ZXIqKTsKIAotICAgICAgICAgICAgdm9pZCByZWdpc3Rlck5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0
Kik7Ci0gICAgICAgICAgICB2b2lkIGRlbGV0ZU5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0Kik7Cisg
ICAgICAgICAgICBzdHJ1Y3QgVG9rZW47CiAKLSAgICAgICAgcHJpdmF0ZToKICAgICAgICAgICAg
IGJvb2wgaXNCaW5hcnlPcGVyYXRvckNvbnRleHQoKSBjb25zdDsKIAogICAgICAgICAgICAgdm9p
ZCBza2lwV1MoKTsKQEAgLTEwNywyMCArNzEsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgVG9rZW4gbmV4dFRva2VuKCk7CiAgICAgICAgICAgICBUb2tlbiBuZXh0VG9rZW5J
bnRlcm5hbCgpOwogCi0gICAgICAgICAgICB2b2lkIHJlc2V0KGNvbnN0IFN0cmluZyYgZGF0YSk7
Ci0KLSAgICAgICAgICAgIHN0YXRpYyBQYXJzZXIqIGN1cnJlbnRQYXJzZXI7CisgICAgICAgICAg
ICBjb25zdCBTdHJpbmcmIG1fZGF0YTsKKyAgICAgICAgICAgIFhQYXRoTlNSZXNvbHZlciogbV9y
ZXNvbHZlcjsKIAogICAgICAgICAgICAgdW5zaWduZWQgbV9uZXh0UG9zOwotICAgICAgICAgICAg
U3RyaW5nIG1fZGF0YTsKICAgICAgICAgICAgIGludCBtX2xhc3RUb2tlblR5cGU7Ci0gICAgICAg
ICAgICBSZWZQdHI8WFBhdGhOU1Jlc29sdmVyPiBtX3Jlc29sdmVyOwogCi0gICAgICAgICAgICBI
YXNoU2V0PFBhcnNlTm9kZSo+IG1fcGFyc2VOb2RlczsKLSAgICAgICAgICAgIEhhc2hTZXQ8VmVj
dG9yPFByZWRpY2F0ZSo+Kj4gbV9wcmVkaWNhdGVWZWN0b3JzOwotICAgICAgICAgICAgSGFzaFNl
dDxWZWN0b3I8RXhwcmVzc2lvbio+Kj4gbV9leHByZXNzaW9uVmVjdG9yczsKLSAgICAgICAgICAg
IEhhc2hTZXQ8U3RyaW5nKj4gbV9zdHJpbmdzOwotICAgICAgICAgICAgSGFzaFNldDxTdGVwOjpO
b2RlVGVzdCo+IG1fbm9kZVRlc3RzOworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+IG1fcmVzdWx0OworICAgICAgICAgICAgYm9vbCBtX3Nhd05hbWVzcGFjZUVycm9yOwog
ICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
UGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcAppbmRleCBiYzhhNjNh
NDAzZjliNWFjYzBmZTlkNjZiMzg0NWZlOWFkODQyNGFkLi5jNWViNWY3NDJkZWNlOTE4ODgwMDhj
ZTZmNmM5ZTlkZGZjOWE0NWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQ
YXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcApAQCAtMSw2ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2Rl
Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSBBcHBsZSBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CkBAIC0zNiwyNSArMzYsMTkgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotRmlsdGVyOjpGaWx0ZXIoRXhwcmVzc2lv
biogZXhwciwgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVzKQotICAgIDogbV9l
eHByKGV4cHIpLCBtX3ByZWRpY2F0ZXMocHJlZGljYXRlcykKK0ZpbHRlcjo6RmlsdGVyKHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIGV4cHJlc3Npb24sIFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4+JiYgcHJlZGljYXRlcykKKyAgICA6IG1fZXhwcmVzc2lvbihzdGQ6Om1v
dmUoZXhwcmVzc2lvbikpLCBtX3ByZWRpY2F0ZXMoc3RkOjptb3ZlKHByZWRpY2F0ZXMpKQogewot
ICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9leHByLT5pc0NvbnRleHROb2RlU2Vuc2l0
aXZlKCkpOwotICAgIHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKG1fZXhwci0+aXNDb250
ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSk7Ci0gICAgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSht
X2V4cHItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSk7Ci19Ci0KLUZpbHRlcjo6fkZpbHRlcigp
Ci17Ci0gICAgZGVsZXRlIG1fZXhwcjsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9wcmVkaWNhdGVz
KTsKKyAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKG1fZXhwcmVzc2lvbi0+aXNDb250ZXh0
Tm9kZVNlbnNpdGl2ZSgpKTsKKyAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShtX2V4
cHJlc3Npb24tPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4
dFNpemVTZW5zaXRpdmUobV9leHByZXNzaW9uLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOwog
fQogCiBWYWx1ZSBGaWx0ZXI6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSB2ID0gbV9l
eHByLT5ldmFsdWF0ZSgpOworICAgIFZhbHVlIHJlc3VsdCA9IG1fZXhwcmVzc2lvbi0+ZXZhbHVh
dGUoKTsKICAgICAKLSAgICBOb2RlU2V0JiBub2RlcyA9IHYubW9kaWZpYWJsZU5vZGVTZXQoKTsK
KyAgICBOb2RlU2V0JiBub2RlcyA9IHJlc3VsdC5tb2RpZmlhYmxlTm9kZVNldCgpOwogICAgIG5v
ZGVzLnNvcnQoKTsKIAogICAgIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCA9
IEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCk7CkBAIC02OSwyNiArNjMsMjEgQEAgVmFs
dWUgRmlsdGVyOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4
dC5ub2RlID0gbm9kZTsKICAgICAgICAgICAgICsrZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb247
CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChtX3ByZWRpY2F0ZXNbaV0tPmV2YWx1YXRl
KCkpCisgICAgICAgICAgICBpZiAoZXZhbHVhdGVQcmVkaWNhdGUoKm1fcHJlZGljYXRlc1tpXSkp
CiAgICAgICAgICAgICAgICAgbmV3Tm9kZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICB9Ci0gICAg
ICAgIG5vZGVzLnN3YXAobmV3Tm9kZXMpOworICAgICAgICBub2RlcyA9IHN0ZDo6bW92ZShuZXdO
b2Rlcyk7CiAgICAgfQogCi0gICAgcmV0dXJuIHY7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
TG9jYXRpb25QYXRoOjpMb2NhdGlvblBhdGgoKQotICAgIDogbV9hYnNvbHV0ZShmYWxzZSkKKyAg
ICA6IG1faXNBYnNvbHV0ZShmYWxzZSkKIHsKICAgICBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZl
KHRydWUpOwogfQogCi1Mb2NhdGlvblBhdGg6On5Mb2NhdGlvblBhdGgoKQotewotICAgIGRlbGV0
ZUFsbFZhbHVlcyhtX3N0ZXBzKTsKLX0KLQogVmFsdWUgTG9jYXRpb25QYXRoOjpldmFsdWF0ZSgp
IGNvbnN0CiB7CiAgICAgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0ID0gRXhw
cmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKTsKQEAgLTEwMiw3ICs5MSw3IEBAIFZhbHVlIExv
Y2F0aW9uUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAogICAgIC8vIFRoaXMgaXMgZm9yIGNvbXBhdGli
aWxpdHkgd2l0aCBGaXJlZm94LCBhbmQgYWxzbyBzZWVtcyBsaWtlIGEgbW9yZQogICAgIC8vIGxv
Z2ljYWwgdHJlYXRtZW50IG9mIHdoZXJlIHlvdSB3b3VsZCBleHBlY3QgdGhlICJyb290IiB0byBi
ZS4KICAgICBOb2RlKiBjb250ZXh0ID0gZXZhbHVhdGlvbkNvbnRleHQubm9kZS5nZXQoKTsKLSAg
ICBpZiAobV9hYnNvbHV0ZSAmJiBjb250ZXh0LT5ub2RlVHlwZSgpICE9IE5vZGU6OkRPQ1VNRU5U
X05PREUpICB7CisgICAgaWYgKG1faXNBYnNvbHV0ZSAmJiAhY29udGV4dC0+aXNEb2N1bWVudE5v
ZGUoKSkgIHsKICAgICAgICAgaWYgKGNvbnRleHQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgICAg
IGNvbnRleHQgPSBjb250ZXh0LT5vd25lckRvY3VtZW50KCk7CiAgICAgICAgIGVsc2UKQEAgLTEx
NCw3ICsxMDMsNyBAQCBWYWx1ZSBMb2NhdGlvblBhdGg6OmV2YWx1YXRlKCkgY29uc3QKICAgICBl
dmFsdWF0ZShub2Rlcyk7CiAgICAgCiAgICAgZXZhbHVhdGlvbkNvbnRleHQgPSBiYWNrdXBDb250
ZXh0OwotICAgIHJldHVybiBWYWx1ZShub2RlcywgVmFsdWU6OmFkb3B0KTsKKyAgICByZXR1cm4g
VmFsdWUoc3RkOjptb3ZlKG5vZGVzKSk7CiB9CiAKIHZvaWQgTG9jYXRpb25QYXRoOjpldmFsdWF0
ZShOb2RlU2V0JiBub2RlcykgY29uc3QKQEAgLTEyMiwyMyArMTExLDIzIEBAIHZvaWQgTG9jYXRp
b25QYXRoOjpldmFsdWF0ZShOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICBib29sIHJlc3VsdElz
U29ydGVkID0gbm9kZXMuaXNTb3J0ZWQoKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBtX3N0ZXBzLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIFN0ZXAqIHN0ZXAgPSBtX3N0ZXBzW2ld
OworICAgICAgICBTdGVwJiBzdGVwID0gKm1fc3RlcHNbaV07CiAgICAgICAgIE5vZGVTZXQgbmV3
Tm9kZXM7CiAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG5ld05vZGVzU2V0OwogCi0gICAgICAgIGJv
b2wgbmVlZFRvQ2hlY2tGb3JEdXBsaWNhdGVOb2RlcyA9ICFub2Rlcy5zdWJ0cmVlc0FyZURpc2pv
aW50KCkgfHwgKHN0ZXAtPmF4aXMoKSAhPSBTdGVwOjpDaGlsZEF4aXMgJiYgc3RlcC0+YXhpcygp
ICE9IFN0ZXA6OlNlbGZBeGlzCi0gICAgICAgICAgICAmJiBzdGVwLT5heGlzKCkgIT0gU3RlcDo6
RGVzY2VuZGFudEF4aXMgJiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZB
eGlzICYmIHN0ZXAtPmF4aXMoKSAhPSBTdGVwOjpBdHRyaWJ1dGVBeGlzKTsKKyAgICAgICAgYm9v
bCBuZWVkVG9DaGVja0ZvckR1cGxpY2F0ZU5vZGVzID0gIW5vZGVzLnN1YnRyZWVzQXJlRGlzam9p
bnQoKSB8fCAoc3RlcC5heGlzKCkgIT0gU3RlcDo6Q2hpbGRBeGlzICYmIHN0ZXAuYXhpcygpICE9
IFN0ZXA6OlNlbGZBeGlzCisgICAgICAgICAgICAmJiBzdGVwLmF4aXMoKSAhPSBTdGVwOjpEZXNj
ZW5kYW50QXhpcyAmJiBzdGVwLmF4aXMoKSAhPSBTdGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcyAm
JiBzdGVwLmF4aXMoKSAhPSBTdGVwOjpBdHRyaWJ1dGVBeGlzKTsKIAogICAgICAgICBpZiAobmVl
ZFRvQ2hlY2tGb3JEdXBsaWNhdGVOb2RlcykKICAgICAgICAgICAgIHJlc3VsdElzU29ydGVkID0g
ZmFsc2U7CiAKICAgICAgICAgLy8gVGhpcyBpcyBhIHNpbXBsaWZpZWQgY2hlY2sgdGhhdCBjYW4g
YmUgaW1wcm92ZWQgdG8gaGFuZGxlIG1vcmUgY2FzZXMuCi0gICAgICAgIGlmIChub2Rlcy5zdWJ0
cmVlc0FyZURpc2pvaW50KCkgJiYgKHN0ZXAtPmF4aXMoKSA9PSBTdGVwOjpDaGlsZEF4aXMgfHwg
c3RlcC0+YXhpcygpID09IFN0ZXA6OlNlbGZBeGlzKSkKKyAgICAgICAgaWYgKG5vZGVzLnN1YnRy
ZWVzQXJlRGlzam9pbnQoKSAmJiAoc3RlcC5heGlzKCkgPT0gU3RlcDo6Q2hpbGRBeGlzIHx8IHN0
ZXAuYXhpcygpID09IFN0ZXA6OlNlbGZBeGlzKSkKICAgICAgICAgICAgIG5ld05vZGVzLm1hcmtT
dWJ0cmVlc0Rpc2pvaW50KHRydWUpOwogCiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGog
PCBub2Rlcy5zaXplKCk7IGorKykgewogICAgICAgICAgICAgTm9kZVNldCBtYXRjaGVzOwotICAg
ICAgICAgICAgc3RlcC0+ZXZhbHVhdGUobm9kZXNbal0sIG1hdGNoZXMpOworICAgICAgICAgICAg
c3RlcC5ldmFsdWF0ZSgqbm9kZXNbal0sIG1hdGNoZXMpOwogCiAgICAgICAgICAgICBpZiAoIW1h
dGNoZXMuaXNTb3J0ZWQoKSkKICAgICAgICAgICAgICAgICByZXN1bHRJc1NvcnRlZCA9IGZhbHNl
OwpAQCAtMTUwLDY1ICsxMzksNTYgQEAgdm9pZCBMb2NhdGlvblBhdGg6OmV2YWx1YXRlKE5vZGVT
ZXQmIG5vZGVzKSBjb25zdAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAotICAg
ICAgICBub2Rlcy5zd2FwKG5ld05vZGVzKTsKKyAgICAgICAgbm9kZXMgPSBzdGQ6Om1vdmUobmV3
Tm9kZXMpOwogICAgIH0KIAogICAgIG5vZGVzLm1hcmtTb3J0ZWQocmVzdWx0SXNTb3J0ZWQpOwog
fQogCi12b2lkIExvY2F0aW9uUGF0aDo6YXBwZW5kU3RlcChTdGVwKiBzdGVwKQordm9pZCBMb2Nh
dGlvblBhdGg6OmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+JiYgc3RlcCkKIHsKICAg
ICB1bnNpZ25lZCBzdGVwQ291bnQgPSBtX3N0ZXBzLnNpemUoKTsKICAgICBpZiAoc3RlcENvdW50
KSB7CiAgICAgICAgIGJvb2wgZHJvcFNlY29uZFN0ZXA7Ci0gICAgICAgIG9wdGltaXplU3RlcFBh
aXIobV9zdGVwc1tzdGVwQ291bnQgLSAxXSwgc3RlcCwgZHJvcFNlY29uZFN0ZXApOwotICAgICAg
ICBpZiAoZHJvcFNlY29uZFN0ZXApIHsKLSAgICAgICAgICAgIGRlbGV0ZSBzdGVwOworICAgICAg
ICBvcHRpbWl6ZVN0ZXBQYWlyKCptX3N0ZXBzW3N0ZXBDb3VudCAtIDFdLCAqc3RlcCwgZHJvcFNl
Y29uZFN0ZXApOworICAgICAgICBpZiAoZHJvcFNlY29uZFN0ZXApCiAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KICAgICB9CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKLSAgICBtX3N0ZXBz
LmFwcGVuZChzdGVwKTsKKyAgICBtX3N0ZXBzLmFwcGVuZChzdGQ6Om1vdmUoc3RlcCkpOwogfQog
Ci12b2lkIExvY2F0aW9uUGF0aDo6aW5zZXJ0Rmlyc3RTdGVwKFN0ZXAqIHN0ZXApCit2b2lkIExv
Y2F0aW9uUGF0aDo6cHJlcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+JiYgc3RlcCkKIHsK
ICAgICBpZiAobV9zdGVwcy5zaXplKCkpIHsKICAgICAgICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsK
LSAgICAgICAgb3B0aW1pemVTdGVwUGFpcihzdGVwLCBtX3N0ZXBzWzBdLCBkcm9wU2Vjb25kU3Rl
cCk7CisgICAgICAgIG9wdGltaXplU3RlcFBhaXIoKnN0ZXAsICptX3N0ZXBzWzBdLCBkcm9wU2Vj
b25kU3RlcCk7CiAgICAgICAgIGlmIChkcm9wU2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVs
ZXRlIG1fc3RlcHNbMF07Ci0gICAgICAgICAgICBtX3N0ZXBzWzBdID0gc3RlcDsKKyAgICAgICAg
ICAgIG1fc3RlcHNbMF0gPSBzdGQ6Om1vdmUoc3RlcCk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKLSAgICBtX3N0ZXBzLmluc2Vy
dCgwLCBzdGVwKTsKLX0KLQotUGF0aDo6UGF0aChGaWx0ZXIqIGZpbHRlciwgTG9jYXRpb25QYXRo
KiBwYXRoKQotICAgIDogbV9maWx0ZXIoZmlsdGVyKQotICAgICwgbV9wYXRoKHBhdGgpCi17Ci0g
ICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShmaWx0ZXItPmlzQ29udGV4dE5vZGVTZW5zaXRp
dmUoKSk7Ci0gICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoZmlsdGVyLT5pc0NvbnRl
eHRQb3NpdGlvblNlbnNpdGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRTaXplU2Vuc2l0aXZlKGZp
bHRlci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKKyAgICBtX3N0ZXBzLmluc2VydCgwLCBz
dGQ6Om1vdmUoc3RlcCkpOwogfQogCi1QYXRoOjp+UGF0aCgpCitQYXRoOjpQYXRoKHN0ZDo6dW5p
cXVlX3B0cjxFeHByZXNzaW9uPiYmIGZpbHRlciwgc3RkOjp1bmlxdWVfcHRyPExvY2F0aW9uUGF0
aD4mJiBwYXRoKQorICAgIDogbV9maWx0ZXIoc3RkOjptb3ZlKGZpbHRlcikpCisgICAgLCBtX3Bh
dGgoc3RkOjptb3ZlKHBhdGgpKQogewotICAgIGRlbGV0ZSBtX2ZpbHRlcjsKLSAgICBkZWxldGUg
bV9wYXRoOworICAgIHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUobV9maWx0ZXItPmlzQ29udGV4
dE5vZGVTZW5zaXRpdmUoKSk7CisgICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUobV9m
aWx0ZXItPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkpOworICAgIHNldElzQ29udGV4dFNp
emVTZW5zaXRpdmUobV9maWx0ZXItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSk7CiB9CiAKIFZh
bHVlIFBhdGg6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSB2ID0gbV9maWx0ZXItPmV2
YWx1YXRlKCk7CisgICAgVmFsdWUgcmVzdWx0ID0gbV9maWx0ZXItPmV2YWx1YXRlKCk7CiAKLSAg
ICBOb2RlU2V0JiBub2RlcyA9IHYubW9kaWZpYWJsZU5vZGVTZXQoKTsKKyAgICBOb2RlU2V0JiBu
b2RlcyA9IHJlc3VsdC5tb2RpZmlhYmxlTm9kZVNldCgpOwogICAgIG1fcGF0aC0+ZXZhbHVhdGUo
bm9kZXMpOwogICAgIAotICAgIHJldHVybiB2OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguaCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aFBhdGguaAppbmRleCBiMWE1N2NiYjc1NDJkYTJhZDVlMTA2NmJiNjMwYTY2
YjM1YzU4YTgwLi4zMzEzMTEwZDJlYzc0MjhkZWYzODExZTBkYTY5YjE0MTBhNjc1NDM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoUGF0aC5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI4LDYwICsyOCw1NCBAQAogI2RlZmluZSBYUGF0aFBhdGhfaAogCiAjaW5jbHVkZSAi
WFBhdGhFeHByZXNzaW9uTm9kZS5oIgotI2luY2x1ZGUgIlhQYXRoTm9kZVNldC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogCi0gICAgICAgIGNsYXNz
IFByZWRpY2F0ZTsKICAgICAgICAgY2xhc3MgU3RlcDsKIAotICAgICAgICBjbGFzcyBGaWx0ZXIg
OiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIEZpbHRlciBGSU5BTCA6IHB1Ymxp
YyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgRmlsdGVyKEV4cHJl
c3Npb24qLCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mID0gVmVjdG9yPFByZWRpY2F0ZSo+KCkp
OwotICAgICAgICAgICAgdmlydHVhbCB+RmlsdGVyKCk7Ci0KLSAgICAgICAgICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIEZpbHRlcihzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4mJiwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4mJiBw
cmVkaWNhdGVzKTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsg
fQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0gICAgICAgICAgICBFeHByZXNz
aW9uKiBtX2V4cHI7Ci0gICAgICAgICAgICBWZWN0b3I8UHJlZGljYXRlKj4gbV9wcmVkaWNhdGVz
OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IG1fZXhwcmVzc2lvbjsK
KyAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fcHJlZGlj
YXRlczsKICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBMb2NhdGlvblBhdGggOiBwdWJsaWMg
RXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIExvY2F0aW9uUGF0aCBGSU5BTCA6IHB1YmxpYyBF
eHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgTG9jYXRpb25QYXRoKCk7
Ci0gICAgICAgICAgICB2aXJ0dWFsIH5Mb2NhdGlvblBhdGgoKTsKLSAgICAgICAgICAgIHZvaWQg
c2V0QWJzb2x1dGUoYm9vbCB2YWx1ZSkgeyBtX2Fic29sdXRlID0gdmFsdWU7IHNldElzQ29udGV4
dE5vZGVTZW5zaXRpdmUoIW1fYWJzb2x1dGUpOyB9CiAKLSAgICAgICAgICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIHZvaWQgc2V0QWJzb2x1dGUoKSB7IG1f
aXNBYnNvbHV0ZSA9IHRydWU7IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUoZmFsc2UpOyB9CisK
ICAgICAgICAgICAgIHZvaWQgZXZhbHVhdGUoTm9kZVNldCYgbm9kZXMpIGNvbnN0OyAvLyBub2Rl
cyBpcyBhbiBpbnB1dC9vdXRwdXQgcGFyYW1ldGVyCiAKLSAgICAgICAgICAgIHZvaWQgYXBwZW5k
U3RlcChTdGVwKiBzdGVwKTsKLSAgICAgICAgICAgIHZvaWQgaW5zZXJ0Rmlyc3RTdGVwKFN0ZXAq
IHN0ZXApOworICAgICAgICAgICAgdm9pZCBhcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVw
PiYmKTsKKyAgICAgICAgICAgIHZvaWQgcHJlcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+
JiYpOwogCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CisgICAg
ICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAg
ICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAKLSAgICAgICAgICAgIFZlY3RvcjxTdGVwKj4g
bV9zdGVwczsKLSAgICAgICAgICAgIGJvb2wgbV9hYnNvbHV0ZTsKKyAgICAgICAgICAgIFZlY3Rv
cjxzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4+IG1fc3RlcHM7CisgICAgICAgICAgICBib29sIG1faXNB
YnNvbHV0ZTsKICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQYXRoIDogcHVibGljIEV4cHJl
c3Npb24geworICAgICAgICBjbGFzcyBQYXRoIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewog
ICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBQYXRoKEZpbHRlciosIExvY2F0aW9uUGF0aCop
OwotICAgICAgICAgICAgdmlydHVhbCB+UGF0aCgpOwotCi0gICAgICAgICAgICB2aXJ0dWFsIFZh
bHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAgICBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxF
eHByZXNzaW9uPiYmIGZpbHRlciwgc3RkOjp1bmlxdWVfcHRyPExvY2F0aW9uUGF0aD4mJik7CiAK
ICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KKyAgICAgICAgICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZh
bHVlOjpOb2RlU2V0VmFsdWU7IH0KIAotICAgICAgICAgICAgRmlsdGVyKiBtX2ZpbHRlcjsKLSAg
ICAgICAgICAgIExvY2F0aW9uUGF0aCogbV9wYXRoOworICAgICAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPEV4cHJlc3Npb24+IG1fZmlsdGVyOworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPExv
Y2F0aW9uUGF0aD4gbV9wYXRoOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFByZWRpY2F0ZS5jcHAKaW5kZXggYmM4YTFjM2E2YzA1MzViYzU1MTJiMjQyMmY3Y2M3ODU4
MDRiZDI1ZS4uMjI1ODBiYjQ2YzFkODcxZDQ4MDIzNjMwNGYzNDU5YzBlMDBjYTY0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcg
QWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAg
LTQ4LDggKzQ4LDggQEAgVmFsdWUgTnVtYmVyOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fdmFsdWU7CiB9CiAKLVN0cmluZ0V4cHJlc3Npb246OlN0cmluZ0V4cHJlc3Npb24oY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKLSAgICA6IG1fdmFsdWUodmFsdWUpCitTdHJpbmdFeHByZXNzaW9uOjpT
dHJpbmdFeHByZXNzaW9uKFN0cmluZyYmIHZhbHVlKQorICAgIDogbV92YWx1ZShzdGQ6Om1vdmUo
dmFsdWUpKQogewogfQogCkBAIC01OCwyNiArNTgsMjcgQEAgVmFsdWUgU3RyaW5nRXhwcmVzc2lv
bjo6ZXZhbHVhdGUoKSBjb25zdAogICAgIHJldHVybiBtX3ZhbHVlOwogfQogCitOZWdhdGl2ZTo6
TmVnYXRpdmUoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgZXhwcmVzc2lvbikKK3sKKyAg
ICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShleHByZXNzaW9uKSk7Cit9CisKIFZhbHVlIE5l
Z2F0aXZlOjpldmFsdWF0ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgcChzdWJFeHByZXNzaW9uKDAp
LmV2YWx1YXRlKCkpOwotICAgIHJldHVybiAtcC50b051bWJlcigpOworICAgIHJldHVybiAtc3Vi
ZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCk7CiB9CiAKLU51bWVyaWNPcDo6TnVt
ZXJpY09wKE9wY29kZSBvcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKQor
TnVtZXJpY09wOjpOdW1lcmljT3AoT3Bjb2RlIG9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiByaHMpCiAgICAgOiBt
X29wY29kZShvcGNvZGUpCiB7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihsaHMpOwotICAgIGFkZFN1
YkV4cHJlc3Npb24ocmhzKTsKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShsaHMpKTsK
KyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShyaHMpKTsKIH0KIAogVmFsdWUgTnVtZXJp
Y09wOjpldmFsdWF0ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgbGhzKHN1YkV4cHJlc3Npb24oMCku
ZXZhbHVhdGUoKSk7Ci0gICAgVmFsdWUgcmhzKHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKSk7
Ci0gICAgCi0gICAgZG91YmxlIGxlZnRWYWwgPSBsaHMudG9OdW1iZXIoKTsKLSAgICBkb3VibGUg
cmlnaHRWYWwgPSByaHMudG9OdW1iZXIoKTsKKyAgICBkb3VibGUgbGVmdFZhbCA9IHN1YmV4cHJl
c3Npb24oMCkuZXZhbHVhdGUoKS50b051bWJlcigpOworICAgIGRvdWJsZSByaWdodFZhbCA9IHN1
YmV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKS50b051bWJlcigpOwogCiAgICAgc3dpdGNoIChtX29w
Y29kZSkgewogICAgICAgICBjYXNlIE9QX0FkZDoKQEAgLTkxLDE1ICs5MiwxNiBAQCBWYWx1ZSBO
dW1lcmljT3A6OmV2YWx1YXRlKCkgY29uc3QKICAgICAgICAgY2FzZSBPUF9Nb2Q6CiAgICAgICAg
ICAgICByZXR1cm4gZm1vZChsZWZ0VmFsLCByaWdodFZhbCk7CiAgICAgfQorCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDAuMDsKIH0KIAotRXFUZXN0T3A6OkVxVGVzdE9w
KE9wY29kZSBvcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVzc2lvbiogcmhzKQorRXFUZXN0
T3A6OkVxVGVzdE9wKE9wY29kZSBvcGNvZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYm
IGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgcmhzKQogICAgIDogbV9vcGNvZGUo
b3Bjb2RlKQogewotICAgIGFkZFN1YkV4cHJlc3Npb24obGhzKTsKLSAgICBhZGRTdWJFeHByZXNz
aW9uKHJocyk7CisgICAgYWRkU3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUobGhzKSk7CisgICAgYWRk
U3ViZXhwcmVzc2lvbihzdGQ6Om1vdmUocmhzKSk7CiB9CiAKIGJvb2wgRXFUZXN0T3A6OmNvbXBh
cmUoY29uc3QgVmFsdWUmIGxocywgY29uc3QgVmFsdWUmIHJocykgY29uc3QKQEAgLTE0MSw3ICsx
NDMsNyBAQCBib29sIEVxVGVzdE9wOjpjb21wYXJlKGNvbnN0IFZhbHVlJiBsaHMsIGNvbnN0IFZh
bHVlJiByaHMpIGNvbnN0CiAgICAgICAgICAgICAvLyB0aGUgbm9kZS1zZXQgdG8gYSBib29sZWFu
IHVzaW5nIHRoZSBib29sZWFuIGZ1bmN0aW9uIGlzIHRydWUuCiAgICAgICAgICAgICByZXR1cm4g
Y29tcGFyZShsaHMudG9Cb29sZWFuKCksIHJocyk7CiAgICAgICAgIH0KLSAgICAgICAgQVNTRVJU
KDApOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAgaWYgKHJocy5p
c05vZGVTZXQoKSkgewogICAgICAgICBjb25zdCBOb2RlU2V0JiByaHNTZXQgPSByaHMudG9Ob2Rl
U2V0KCk7CkBAIC0xNTksNyArMTYxLDcgQEAgYm9vbCBFcVRlc3RPcDo6Y29tcGFyZShjb25zdCBW
YWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAgICAgICB9CiAgICAgICAgIGlm
IChsaHMuaXNCb29sZWFuKCkpCiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZShsaHMsIHJocy50
b0Jvb2xlYW4oKSk7Ci0gICAgICAgIEFTU0VSVCgwKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgfQogICAgIAogICAgIC8vIE5laXRoZXIgc2lkZSBpcyBhIE5vZGVTZXQuCkBA
IC0xODYsOTIgKzE4OCw4NyBAQCBib29sIEVxVGVzdE9wOjpjb21wYXJlKGNvbnN0IFZhbHVlJiBs
aHMsIGNvbnN0IFZhbHVlJiByaHMpIGNvbnN0CiAgICAgICAgIGNhc2UgT1BfTEU6CiAgICAgICAg
ICAgICByZXR1cm4gbGhzLnRvTnVtYmVyKCkgPD0gcmhzLnRvTnVtYmVyKCk7CiAgICAgfQotICAg
IEFTU0VSVCgwKTsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogVmFsdWUgRXFUZXN0T3A6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBs
aHMoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLSAgICBWYWx1ZSByaHMoc3ViRXhwcmVz
c2lvbigxKS5ldmFsdWF0ZSgpKTsKLQorICAgIFZhbHVlIGxocyhzdWJleHByZXNzaW9uKDApLmV2
YWx1YXRlKCkpOworICAgIFZhbHVlIHJocyhzdWJleHByZXNzaW9uKDEpLmV2YWx1YXRlKCkpOwog
ICAgIHJldHVybiBjb21wYXJlKGxocywgcmhzKTsKIH0KIAotTG9naWNhbE9wOjpMb2dpY2FsT3Ao
T3Bjb2RlIG9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMpCitMb2dpY2Fs
T3A6OkxvZ2ljYWxPcChPcGNvZGUgb3Bjb2RlLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4m
JiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIHJocykKICAgICA6IG1fb3Bjb2Rl
KG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9uKGxocyk7Ci0gICAgYWRkU3ViRXhwcmVz
c2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKGxocykpOworICAgIGFk
ZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwogfQogCi1ib29sIExvZ2ljYWxPcDo6c2hv
cnRDaXJjdWl0T24oKSBjb25zdAoraW5saW5lIGJvb2wgTG9naWNhbE9wOjpzaG9ydENpcmN1aXRP
bigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fb3Bjb2RlID09IE9QX0FuZCkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOyAvL2ZhbHNlIGFuZCBmb28KLQotICAgIHJldHVybiB0cnVlOyAgLy90cnVlIG9yIGJh
cgorICAgIHJldHVybiBtX29wY29kZSAhPSBPUF9BbmQ7CiB9CiAKIFZhbHVlIExvZ2ljYWxPcDo6
ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZhbHVlIGxocyhzdWJFeHByZXNzaW9uKDApLmV2YWx1
YXRlKCkpOwotCiAgICAgLy8gVGhpcyBpcyBub3Qgb25seSBhbiBvcHRpbWl6YXRpb24sIGh0dHA6
Ly93d3cudzMub3JnL1RSL3hwYXRoCiAgICAgLy8gZGljdGF0ZXMgdGhhdCB3ZSBtdXN0IGRvIHNo
b3J0LWNpcmN1aXQgZXZhbHVhdGlvbgotICAgIGJvb2wgbGhzQm9vbCA9IGxocy50b0Jvb2xlYW4o
KTsKKyAgICBib29sIGxoc0Jvb2wgPSBzdWJleHByZXNzaW9uKDApLmV2YWx1YXRlKCkudG9Cb29s
ZWFuKCk7CiAgICAgaWYgKGxoc0Jvb2wgPT0gc2hvcnRDaXJjdWl0T24oKSkKICAgICAgICAgcmV0
dXJuIGxoc0Jvb2w7CiAKLSAgICByZXR1cm4gc3ViRXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpLnRv
Qm9vbGVhbigpOworICAgIHJldHVybiBzdWJleHByZXNzaW9uKDEpLmV2YWx1YXRlKCkudG9Cb29s
ZWFuKCk7Cit9CisKK1VuaW9uOjpVbmlvbihzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBs
aHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmIHJocykKK3sKKyAgICBhZGRTdWJleHBy
ZXNzaW9uKHN0ZDo6bW92ZShsaHMpKTsKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShy
aHMpKTsKIH0KIAogVmFsdWUgVW5pb246OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1ZSBs
aHNSZXN1bHQgPSBzdWJFeHByZXNzaW9uKDApLmV2YWx1YXRlKCk7Ci0gICAgVmFsdWUgcmhzID0g
c3ViRXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpOwotICAgIAorICAgIFZhbHVlIGxoc1Jlc3VsdCA9
IHN1YmV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKTsKKyAgICBWYWx1ZSByaHMgPSBzdWJleHByZXNz
aW9uKDEpLmV2YWx1YXRlKCk7CisKICAgICBOb2RlU2V0JiByZXN1bHRTZXQgPSBsaHNSZXN1bHQu
bW9kaWZpYWJsZU5vZGVTZXQoKTsKICAgICBjb25zdCBOb2RlU2V0JiByaHNOb2RlcyA9IHJocy50
b05vZGVTZXQoKTsKLSAgICAKKwogICAgIEhhc2hTZXQ8Tm9kZSo+IG5vZGVzOwogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgcmVzdWx0U2V0LnNpemUoKTsgKytpKQogICAgICAgICBub2Rlcy5h
ZGQocmVzdWx0U2V0W2ldKTsKLSAgICAKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmhz
Tm9kZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgTm9kZSogbm9kZSA9IHJoc05vZGVzW2ldOwog
ICAgICAgICBpZiAobm9kZXMuYWRkKG5vZGUpLmlzTmV3RW50cnkpCiAgICAgICAgICAgICByZXN1
bHRTZXQuYXBwZW5kKG5vZGUpOwogICAgIH0KIAotICAgIC8vIEl0IGlzIGFsc28gcG9zc2libGUg
dG8gdXNlIG1lcmdlIHNvcnQgdG8gYXZvaWQgbWFraW5nIHRoZSByZXN1bHQgdW5zb3J0ZWQ7Ci0g
ICAgLy8gYnV0IHRoaXMgd291bGQgd2FzdGUgdGhlIHRpbWUgaW4gY2FzZXMgd2hlbiBvcmRlciBp
cyBub3QgaW1wb3J0YW50LgorICAgIC8vIEl0IHdvdWxkIGFsc28gYmUgcG9zc2libGUgdG8gcGVy
Zm9ybSBhIG1lcmdlIHNvcnQgaGVyZSB0byBhdm9pZCBtYWtpbmcgYW4gdW5zb3J0ZWQgcmVzdWx0
LAorICAgIC8vIGJ1dCB0aGF0IHdvdWxkIHdhc3RlIHRoZSB0aW1lIGluIGNhc2VzIHdoZW4gb3Jk
ZXIgaXMgbm90IGltcG9ydGFudC4KICAgICByZXN1bHRTZXQubWFya1NvcnRlZChmYWxzZSk7Ci0g
ICAgcmV0dXJuIGxoc1Jlc3VsdDsKLX0KIAotUHJlZGljYXRlOjpQcmVkaWNhdGUoRXhwcmVzc2lv
biogZXhwcikKLSAgICA6IG1fZXhwcihleHByKQotewotfQotCi1QcmVkaWNhdGU6On5QcmVkaWNh
dGUoKQotewotICAgIGRlbGV0ZSBtX2V4cHI7CisgICAgcmV0dXJuIGxoc1Jlc3VsdDsKIH0KIAot
Ym9vbCBQcmVkaWNhdGU6OmV2YWx1YXRlKCkgY29uc3QKK2Jvb2wgZXZhbHVhdGVQcmVkaWNhdGUo
Y29uc3QgRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKIHsKLSAgICBBU1NFUlQobV9leHByICE9IDAp
OwotCi0gICAgVmFsdWUgcmVzdWx0KG1fZXhwci0+ZXZhbHVhdGUoKSk7CisgICAgVmFsdWUgcmVz
dWx0KGV4cHJlc3Npb24uZXZhbHVhdGUoKSk7CiAKICAgICAvLyBmb29bM10gbWVhbnMgZm9vW3Bv
c2l0aW9uKCk9M10KICAgICBpZiAocmVzdWx0LmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBF
cVRlc3RPcChFcVRlc3RPcDo6T1BfRVEsIGNyZWF0ZUZ1bmN0aW9uKCJwb3NpdGlvbiIpLCBuZXcg
TnVtYmVyKHJlc3VsdC50b051bWJlcigpKSkuZXZhbHVhdGUoKS50b0Jvb2xlYW4oKTsKKyAgICAg
ICAgcmV0dXJuIEVxVGVzdE9wKEVxVGVzdE9wOjpPUF9FUSwgRnVuY3Rpb246OmNyZWF0ZShBU0NJ
SUxpdGVyYWwoInBvc2l0aW9uIikpLCBzdGQ6Om1ha2VfdW5pcXVlPE51bWJlcj4ocmVzdWx0LnRv
TnVtYmVyKCkpKS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOwogCiAgICAgcmV0dXJuIHJlc3VsdC50
b0Jvb2xlYW4oKTsKIH0KIAorYm9vbCBwcmVkaWNhdGVJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2
ZShjb25zdCBFeHByZXNzaW9uJiBleHByZXNzaW9uKQoreworICAgIHJldHVybiBleHByZXNzaW9u
LmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgZXhwcmVzc2lvbi5yZXN1bHRUeXBlKCkg
PT0gVmFsdWU6Ok51bWJlclZhbHVlOworfQorCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRp
Y2F0ZS5oCmluZGV4IDAxM2NjZGEyMzEyNDNhODQ4MzJmYmFkYmRlMjgwMjQyZWM1MDJlOWYuLjQz
OTUwMjRjNTEzYzk3N2RiNWY5Y2Y3MGE4ZmY1NjIwNzNjNjE1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFByZWRpY2F0ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1IEZy
ZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0
LDg5ICszNCw4NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGgg
ewogICAgICAgICAKLSAgICAgICAgY2xhc3MgTnVtYmVyIDogcHVibGljIEV4cHJlc3Npb24gewor
ICAgICAgICBjbGFzcyBOdW1iZXIgRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIGV4cGxpY2l0IE51bWJlcihkb3VibGUpOworCiAgICAgICAg
IHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0g
ICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVy
biBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVz
dWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQog
CiAgICAgICAgICAgICBWYWx1ZSBtX3ZhbHVlOwogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNz
IFN0cmluZ0V4cHJlc3Npb24gOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIFN0
cmluZ0V4cHJlc3Npb24gRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1Ymxp
YzoKLSAgICAgICAgICAgIGV4cGxpY2l0IFN0cmluZ0V4cHJlc3Npb24oY29uc3QgU3RyaW5nJik7
CisgICAgICAgICAgICBleHBsaWNpdCBTdHJpbmdFeHByZXNzaW9uKFN0cmluZyYmKTsKKwogICAg
ICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gVmFsdWU6OlN0cmluZ1ZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7
IH0KIAogICAgICAgICAgICAgVmFsdWUgbV92YWx1ZTsKICAgICAgICAgfTsKIAotICAgICAgICBj
bGFzcyBOZWdhdGl2ZSA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgTmVnYXRp
dmUgRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAg
ICAgIGV4cGxpY2l0IE5lZ2F0aXZlKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiYmKTsKKwog
ICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3Qg
eyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpU
eXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFs
dWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBOdW1lcmljT3AgOiBwdWJsaWMgRXhw
cmVzc2lvbiB7CisgICAgICAgIGNsYXNzIE51bWVyaWNPcCBGSU5BTCA6IHB1YmxpYyBFeHByZXNz
aW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgZW51bSBPcGNvZGUgewotICAgICAg
ICAgICAgICAgIE9QX0FkZCwgT1BfU3ViLCBPUF9NdWwsIE9QX0RpdiwgT1BfTW9kCi0gICAgICAg
ICAgICB9OwotICAgICAgICAgICAgTnVtZXJpY09wKE9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBF
eHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgZW51bSBPcGNvZGUgeyBPUF9BZGQsIE9QX1N1
YiwgT1BfTXVsLCBPUF9EaXYsIE9QX01vZCB9OworICAgICAgICAgICAgTnVtZXJpY09wKE9wY29k
ZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYgbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4mJiByaHMpOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KKyAgICAg
ICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAg
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogCiAgICAgICAgICAgICBPcGNvZGUgbV9vcGNvZGU7
CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXFUZXN0T3AgOiBwdWJsaWMgRXhwcmVzc2lv
biB7CisgICAgICAgIGNsYXNzIEVxVGVzdE9wIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBlbnVtIE9wY29kZSB7IE9QX0VRLCBPUF9ORSwg
T1BfR1QsIE9QX0xULCBPUF9HRSwgT1BfTEUgfTsKLSAgICAgICAgICAgIEVxVGVzdE9wKE9wY29k
ZSwgRXhwcmVzc2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMpOwotICAgICAgICAgICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OworICAgICAgICAgICAgRXFUZXN0T3AoT3Bjb2RlLCBz
dGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNz
aW9uPiYmIHJocyk7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Qg
T1ZFUlJJREU7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6
OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0K
KyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KICAgICAgICAgICAgIGJvb2wgY29t
cGFyZShjb25zdCBWYWx1ZSYsIGNvbnN0IFZhbHVlJikgY29uc3Q7CiAKICAgICAgICAgICAgIE9w
Y29kZSBtX29wY29kZTsKICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBMb2dpY2FsT3AgOiBw
dWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIExvZ2ljYWxPcCBGSU5BTCA6IHB1Ymxp
YyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBPcGNvZGUg
eyBPUF9BbmQsIE9QX09yIH07Ci0gICAgICAgICAgICBMb2dpY2FsT3AoT3Bjb2RlLCBFeHByZXNz
aW9uKiBsaHMsIEV4cHJlc3Npb24qIHJocyk7CisgICAgICAgICAgICBMb2dpY2FsT3AoT3Bjb2Rl
LCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4mJiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPiYmIHJocyk7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFs
dWU7IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KICAgICAgICAgICAgIGJv
b2wgc2hvcnRDaXJjdWl0T24oKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZh
bHVhdGUoKSBjb25zdDsKKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25z
dCBPVkVSUklERTsKIAogICAgICAgICAgICAgT3Bjb2RlIG1fb3Bjb2RlOwogICAgICAgICB9Owog
Ci0gICAgICAgIGNsYXNzIFVuaW9uIDogcHVibGljIEV4cHJlc3Npb24gewotICAgICAgICBwcml2
YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAg
ICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6Ok5vZGVTZXRWYWx1ZTsgfQotICAgICAgICB9OwotCi0gICAgICAgIGNsYXNzIFByZWRpY2F0
ZSB7Ci0gICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNhdGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgY2xhc3MgVW5pb24gRklOQUwgOiBwdWJsaWMgRXhw
cmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGV4cGxpY2l0IFByZWRpY2F0
ZShFeHByZXNzaW9uKik7Ci0gICAgICAgICAgICB+UHJlZGljYXRlKCk7Ci0gICAgICAgICAgICBi
b29sIGV2YWx1YXRlKCkgY29uc3Q7Ci0KLSAgICAgICAgICAgIGJvb2wgaXNDb250ZXh0UG9zaXRp
b25TZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHItPmlzQ29udGV4dFBvc2l0aW9uU2Vu
c2l0aXZlKCkgfHwgbV9leHByLT5yZXN1bHRUeXBlKCkgPT0gVmFsdWU6Ok51bWJlclZhbHVlOyB9
Ci0gICAgICAgICAgICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7IHJldHVy
biBtX2V4cHItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQorICAgICAgICAgICAgVW5pb24o
c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+JiYsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
PiYmKTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgRXhwcmVzc2lvbiogbV9leHBy
OworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCisgICAgICAg
IGJvb2wgZXZhbHVhdGVQcmVkaWNhdGUoY29uc3QgRXhwcmVzc2lvbiYpOworICAgICAgICBib29s
IHByZWRpY2F0ZUlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKGNvbnN0IEV4cHJlc3Npb24mKTsK
KwogICAgIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAppbmRleCA0NDFkZmU0OGJmM2Y4
NzQwZTMzYTUzY2I1MDk2ZDc2NTAzMTI2NjQ0Li4zNjI2MTUyZDZjNmUyMWNmODE2OGU1NGVmOWMx
ZWRjYTZhYmZmODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcApAQCAtMzAsNyArMzAsNyBA
QAogCiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAi
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZl
cnNhbC5oIgogI2luY2x1ZGUgIlhNTE5TTmFtZXMuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5o
IgpAQCAtMzksMTcgKzM5LDIxIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgWFBh
dGggewogCi1TdGVwOjpTdGVwKEF4aXMgYXhpcywgY29uc3QgTm9kZVRlc3QmIG5vZGVUZXN0LCBj
b25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMpCitTdGVwOjpTdGVwKEF4aXMgYXhp
cywgTm9kZVRlc3QmJiBub2RlVGVzdCkKICAgICA6IG1fYXhpcyhheGlzKQotICAgICwgbV9ub2Rl
VGVzdChub2RlVGVzdCkKLSAgICAsIG1fcHJlZGljYXRlcyhwcmVkaWNhdGVzKQorICAgICwgbV9u
b2RlVGVzdChzdGQ6Om1vdmUobm9kZVRlc3QpKQoreworfQorCitTdGVwOjpTdGVwKEF4aXMgYXhp
cywgTm9kZVRlc3QmJiBub2RlVGVzdCwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
Pj4mJiBwcmVkaWNhdGVzKQorICAgIDogbV9heGlzKGF4aXMpCisgICAgLCBtX25vZGVUZXN0KHN0
ZDo6bW92ZShub2RlVGVzdCkpCisgICAgLCBtX3ByZWRpY2F0ZXMoc3RkOjptb3ZlKHByZWRpY2F0
ZXMpKQogewogfQogCiBTdGVwOjp+U3RlcCgpCiB7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fcHJl
ZGljYXRlcyk7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRl
cygpKTsKIH0KIAogdm9pZCBTdGVwOjpvcHRpbWl6ZSgpCkBAIC01Nyw1OSArNjEsNjggQEAgdm9p
ZCBTdGVwOjpvcHRpbWl6ZSgpCiAgICAgLy8gRXZhbHVhdGUgcHJlZGljYXRlcyBhcyBwYXJ0IG9m
IG5vZGUgdGVzdCBpZiBwb3NzaWJsZSB0byBhdm9pZCBidWlsZGluZyB1bm5lY2Vzc2FyeSBOb2Rl
U2V0cy4KICAgICAvLyBFLmcuLCB0aGVyZSBpcyBubyBuZWVkIHRvIGJ1aWxkIGEgc2V0IG9mIGFs
bCAiZm9vIiBub2RlcyB0byBldmFsdWF0ZSAiZm9vW0BiYXJdIiwgd2UgY2FuIGNoZWNrIHRoZSBw
cmVkaWNhdGUgd2hpbGUgZW51bWVyYXRpbmcuCiAgICAgLy8gVGhpcyBvcHRpbWl6YXRpb24gY2Fu
IGJlIGFwcGxpZWQgdG8gcHJlZGljYXRlcyB0aGF0IGFyZSBub3QgY29udGV4dCBub2RlIGxpc3Qg
c2Vuc2l0aXZlLCBvciB0byBmaXJzdCBwcmVkaWNhdGUgdGhhdCBpcyBvbmx5IGNvbnRleHQgcG9z
aXRpb24gc2Vuc2l0aXZlLCBlLmcuIGZvb1twb3NpdGlvbigpIG1vZCAyID0gMF0uCi0gICAgVmVj
dG9yPFByZWRpY2F0ZSo+IHJlbWFpbmluZ1ByZWRpY2F0ZXM7CisgICAgVmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxFeHByZXNzaW9uPj4gcmVtYWluaW5nUHJlZGljYXRlczsKICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fcHJlZGljYXRlcy5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNh
dGUqIHByZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKLSAgICAgICAgaWYgKCghcHJlZGljYXRl
LT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGlj
YXRlcygpLmlzRW1wdHkoKSkgJiYgIXByZWRpY2F0ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgp
ICYmIHJlbWFpbmluZ1ByZWRpY2F0ZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBtX25vZGVU
ZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKS5hcHBlbmQocHJlZGljYXRlKTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICByZW1haW5pbmdQcmVkaWNhdGVzLmFwcGVuZChwcmVkaWNhdGUpOworICAg
ICAgICBhdXRvJiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07CisgICAgICAgIGlmICgoIXBy
ZWRpY2F0ZUlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCpwcmVkaWNhdGUpIHx8IG1fbm9kZVRl
c3QubV9tZXJnZWRQcmVkaWNhdGVzLmlzRW1wdHkoKSkgJiYgIXByZWRpY2F0ZS0+aXNDb250ZXh0
U2l6ZVNlbnNpdGl2ZSgpICYmIHJlbWFpbmluZ1ByZWRpY2F0ZXMuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgbV9ub2RlVGVzdC5tX21lcmdlZFByZWRpY2F0ZXMuYXBwZW5kKHN0ZDo6bW92ZShwcmVk
aWNhdGUpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVtYWluaW5nUHJlZGljYXRlcy5h
cHBlbmQoc3RkOjptb3ZlKHByZWRpY2F0ZSkpOwogICAgIH0KLSAgICBzd2FwKHJlbWFpbmluZ1By
ZWRpY2F0ZXMsIG1fcHJlZGljYXRlcyk7CisgICAgbV9wcmVkaWNhdGVzID0gc3RkOjptb3ZlKHJl
bWFpbmluZ1ByZWRpY2F0ZXMpOwogfQogCi12b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCogZmly
c3QsIFN0ZXAqIHNlY29uZCwgYm9vbCYgZHJvcFNlY29uZFN0ZXApCit2b2lkIG9wdGltaXplU3Rl
cFBhaXIoU3RlcCYgZmlyc3QsIFN0ZXAmIHNlY29uZCwgYm9vbCYgZHJvcFNlY29uZFN0ZXApCiB7
CiAgICAgZHJvcFNlY29uZFN0ZXAgPSBmYWxzZTsKIAotICAgIGlmIChmaXJzdC0+bV9heGlzID09
IFN0ZXA6OkRlc2NlbmRhbnRPclNlbGZBeGlzCi0gICAgICAgICYmIGZpcnN0LT5tX25vZGVUZXN0
LmtpbmQoKSA9PSBTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QKLSAgICAgICAgJiYgIWZpcnN0
LT5tX3ByZWRpY2F0ZXMuc2l6ZSgpCi0gICAgICAgICYmICFmaXJzdC0+bV9ub2RlVGVzdC5tZXJn
ZWRQcmVkaWNhdGVzKCkuc2l6ZSgpKSB7Ci0KLSAgICAgICAgQVNTRVJUKGZpcnN0LT5tX25vZGVU
ZXN0LmRhdGEoKS5pc0VtcHR5KCkpOwotICAgICAgICBBU1NFUlQoZmlyc3QtPm1fbm9kZVRlc3Qu
bmFtZXNwYWNlVVJJKCkuaXNFbXB0eSgpKTsKLQotICAgICAgICAvLyBPcHRpbWl6ZSB0aGUgY29t
bW9uIGNhc2Ugb2YgIi8vIiBBS0EgL2Rlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2NoaWxkOjpO
b2RlVGVzdCB0byAvZGVzY2VuZGFudDo6Tm9kZVRlc3QuCi0gICAgICAgIGlmIChzZWNvbmQtPm1f
YXhpcyA9PSBTdGVwOjpDaGlsZEF4aXMgJiYgc2Vjb25kLT5wcmVkaWNhdGVzQXJlQ29udGV4dExp
c3RJbnNlbnNpdGl2ZSgpKSB7Ci0gICAgICAgICAgICBmaXJzdC0+bV9heGlzID0gU3RlcDo6RGVz
Y2VuZGFudEF4aXM7Ci0gICAgICAgICAgICBmaXJzdC0+bV9ub2RlVGVzdCA9IFN0ZXA6Ok5vZGVU
ZXN0KHNlY29uZC0+bV9ub2RlVGVzdC5raW5kKCksIHNlY29uZC0+bV9ub2RlVGVzdC5kYXRhKCks
IHNlY29uZC0+bV9ub2RlVGVzdC5uYW1lc3BhY2VVUkkoKSk7Ci0gICAgICAgICAgICBzd2FwKHNl
Y29uZC0+bV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKCksIGZpcnN0LT5tX25vZGVUZXN0Lm1l
cmdlZFByZWRpY2F0ZXMoKSk7Ci0gICAgICAgICAgICBzd2FwKHNlY29uZC0+bV9wcmVkaWNhdGVz
LCBmaXJzdC0+bV9wcmVkaWNhdGVzKTsKLSAgICAgICAgICAgIGZpcnN0LT5vcHRpbWl6ZSgpOwot
ICAgICAgICAgICAgZHJvcFNlY29uZFN0ZXAgPSB0cnVlOwotICAgICAgICB9Ci0gICAgfQorICAg
IGlmIChmaXJzdC5tX2F4aXMgIT0gU3RlcDo6RGVzY2VuZGFudE9yU2VsZkF4aXMpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmIChmaXJzdC5tX25vZGVUZXN0Lm1fa2luZCAhPSBTdGVwOjpOb2Rl
VGVzdDo6QW55Tm9kZVRlc3QpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghZmlyc3QubV9w
cmVkaWNhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFmaXJzdC5t
X25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIEFTU0VSVChmaXJzdC5tX25vZGVUZXN0Lm1fZGF0YS5pc0VtcHR5KCkpOworICAgIEFT
U0VSVChmaXJzdC5tX25vZGVUZXN0Lm1fbmFtZXNwYWNlVVJJLmlzRW1wdHkoKSk7CisKKyAgICAv
LyBPcHRpbWl6ZSB0aGUgY29tbW9uIGNhc2Ugb2YgIi8vIiBBS0EgL2Rlc2NlbmRhbnQtb3Itc2Vs
Zjo6bm9kZSgpL2NoaWxkOjpOb2RlVGVzdCB0byAvZGVzY2VuZGFudDo6Tm9kZVRlc3QuCisgICAg
aWYgKHNlY29uZC5tX2F4aXMgIT0gU3RlcDo6Q2hpbGRBeGlzKQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoIXNlY29uZC5wcmVkaWNhdGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2ZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBmaXJzdC5tX2F4aXMgPSBTdGVwOjpEZXNjZW5kYW50QXhp
czsKKyAgICBmaXJzdC5tX25vZGVUZXN0ID0gc3RkOjptb3ZlKHNlY29uZC5tX25vZGVUZXN0KTsK
KyAgICBmaXJzdC5tX3ByZWRpY2F0ZXMgPSBzdGQ6Om1vdmUoc2Vjb25kLm1fcHJlZGljYXRlcyk7
CisgICAgZmlyc3Qub3B0aW1pemUoKTsKKyAgICBkcm9wU2Vjb25kU3RlcCA9IHRydWU7CiB9CiAK
IGJvb2wgU3RlcDo6cHJlZGljYXRlc0FyZUNvbnRleHRMaXN0SW5zZW5zaXRpdmUoKSBjb25zdAog
ewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAg
ICBpZiAocHJlZGljYXRlLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0
ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKQorICAgICAgICBhdXRvJiBwcmVkaWNhdGUgPSAq
bV9wcmVkaWNhdGVzW2ldOworICAgICAgICBpZiAocHJlZGljYXRlSXNDb250ZXh0UG9zaXRpb25T
ZW5zaXRpdmUocHJlZGljYXRlKSB8fCBwcmVkaWNhdGUuaXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKCkuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgUHJlZGljYXRlKiBwcmVkaWNhdGUgPSBtX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMo
KVtpXTsKLSAgICAgICAgaWYgKHByZWRpY2F0ZS0+aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUo
KSB8fCBwcmVkaWNhdGUtPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSkKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7
CisgICAgICAgIGF1dG8mIHByZWRpY2F0ZSA9ICptX25vZGVUZXN0Lm1fbWVyZ2VkUHJlZGljYXRl
c1tpXTsKKyAgICAgICAgaWYgKHByZWRpY2F0ZUlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKHBy
ZWRpY2F0ZSkgfHwgcHJlZGljYXRlLmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBT
dGVwOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKK3ZvaWQg
U3RlcDo6ZXZhbHVhdGUoTm9kZSYgY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0CiB7CiAg
ICAgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0ID0gRXhwcmVzc2lvbjo6ZXZh
bHVhdGlvbkNvbnRleHQoKTsKICAgICBldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbiA9IDA7CkBA
IC0xMTgsNyArMTMxLDcgQEAgdm9pZCBTdGVwOjpldmFsdWF0ZShOb2RlKiBjb250ZXh0LCBOb2Rl
U2V0JiBub2RlcykgY29uc3QKIAogICAgIC8vIENoZWNrIHByZWRpY2F0ZXMgdGhhdCBjb3VsZG4n
dCBiZSBtZXJnZWQgaW50byBub2RlIHRlc3QuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fcHJlZGljYXRlcy5zaXplKCk7IGkrKykgewotICAgICAgICBQcmVkaWNhdGUqIHByZWRpY2F0
ZSA9IG1fcHJlZGljYXRlc1tpXTsKKyAgICAgICAgYXV0byYgcHJlZGljYXRlID0gKm1fcHJlZGlj
YXRlc1tpXTsKIAogICAgICAgICBOb2RlU2V0IG5ld05vZGVzOwogICAgICAgICBpZiAoIW5vZGVz
LmlzU29ydGVkKCkpCkBAIC0xMzAsMTEgKzE0MywxMSBAQCB2b2lkIFN0ZXA6OmV2YWx1YXRlKE5v
ZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgICAgICAgICAgZXZhbHVhdGlv
bkNvbnRleHQubm9kZSA9IG5vZGU7CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5zaXpl
ID0gbm9kZXMuc2l6ZSgpOwogICAgICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb24g
PSBqICsgMTsKLSAgICAgICAgICAgIGlmIChwcmVkaWNhdGUtPmV2YWx1YXRlKCkpCisgICAgICAg
ICAgICBpZiAoZXZhbHVhdGVQcmVkaWNhdGUocHJlZGljYXRlKSkKICAgICAgICAgICAgICAgICBu
ZXdOb2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgIH0KIAotICAgICAgICBub2Rlcy5zd2FwKG5l
d05vZGVzKTsKKyAgICAgICAgbm9kZXMgPSBzdGQ6Om1vdmUobmV3Tm9kZXMpOwogICAgIH0KIH0K
IApAQCAtMTUzLDM0ICsxNjYsMzQgQEAgc3RhdGljIGlubGluZSBOb2RlOjpOb2RlVHlwZSBwcmlt
YXJ5Tm9kZVR5cGUoU3RlcDo6QXhpcyBheGlzKQogI2VuZGlmCiAKIC8vIEV2YWx1YXRlIE5vZGVU
ZXN0IHdpdGhvdXQgY29uc2lkZXJpbmcgbWVyZ2VkIHByZWRpY2F0ZXMuCi1zdGF0aWMgaW5saW5l
IGJvb2wgbm9kZU1hdGNoZXNCYXNpY1Rlc3QoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBj
b25zdCBTdGVwOjpOb2RlVGVzdCYgbm9kZVRlc3QpCitpbmxpbmUgYm9vbCBub2RlTWF0Y2hlc0Jh
c2ljVGVzdChOb2RlJiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0
JiBub2RlVGVzdCkKIHsKLSAgICBzd2l0Y2ggKG5vZGVUZXN0LmtpbmQoKSkgeworICAgIHN3aXRj
aCAobm9kZVRlc3QubV9raW5kKSB7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OlRleHRO
b2RlVGVzdDoKLSAgICAgICAgICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlRF
WFRfTk9ERSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERTsK
KyAgICAgICAgICAgIHJldHVybiBub2RlLm5vZGVUeXBlKCkgPT0gTm9kZTo6VEVYVF9OT0RFIHx8
IG5vZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpDREFUQV9TRUNUSU9OX05PREU7CiAgICAgICAgIGNh
c2UgU3RlcDo6Tm9kZVRlc3Q6OkNvbW1lbnROb2RlVGVzdDoKLSAgICAgICAgICAgIHJldHVybiBu
b2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkNPTU1FTlRfTk9ERTsKKyAgICAgICAgICAgIHJldHVy
biBub2RlLm5vZGVUeXBlKCkgPT0gTm9kZTo6Q09NTUVOVF9OT0RFOwogICAgICAgICBjYXNlIFN0
ZXA6Ok5vZGVUZXN0OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdDogewotICAgICAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QuZGF0YSgpOwotICAgICAgICAg
ICAgcmV0dXJuIG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElP
Tl9OT0RFICYmIChuYW1lLmlzRW1wdHkoKSB8fCBub2RlLT5ub2RlTmFtZSgpID09IG5hbWUpOwor
ICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gbm9kZVRlc3QubV9kYXRhOwor
ICAgICAgICAgICAgcmV0dXJuIG5vZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lO
U1RSVUNUSU9OX05PREUgJiYgKG5hbWUuaXNFbXB0eSgpIHx8IG5vZGUubm9kZU5hbWUoKSA9PSBu
YW1lKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVz
dDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIFN0ZXA6Ok5vZGVUZXN0
OjpOYW1lVGVzdDogewotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gbm9k
ZVRlc3QuZGF0YSgpOwotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VV
UkkgPSBub2RlVGVzdC5uYW1lc3BhY2VVUkkoKTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSA9IG5vZGVUZXN0Lm1fZGF0YTsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZXNwYWNlVVJJID0gbm9kZVRlc3QubV9uYW1lc3BhY2VVUkk7CiAKICAgICAgICAg
ICAgIGlmIChheGlzID09IFN0ZXA6OkF0dHJpYnV0ZUF4aXMpIHsKLSAgICAgICAgICAgICAgICBB
U1NFUlQobm9kZS0+aXNBdHRyaWJ1dGVOb2RlKCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChu
b2RlLmlzQXR0cmlidXRlTm9kZSgpKTsKIAogICAgICAgICAgICAgICAgIC8vIEluIFhQYXRoIGxh
bmQsIG5hbWVzcGFjZSBub2RlcyBhcmUgbm90IGFjY2Vzc2libGUgb24gdGhlIGF0dHJpYnV0ZSBh
eGlzLgotICAgICAgICAgICAgICAgIGlmIChub2RlLT5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOU05h
bWVzOjp4bWxuc05hbWVzcGFjZVVSSSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5uYW1lc3Bh
Y2VVUkkoKSA9PSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVSSSkKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT0gc3RhckF0
b20pCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8
IG5vZGUtPm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVSSTsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIG5hbWVzcGFjZVVSSS5pc0VtcHR5KCkgfHwgbm9kZS5uYW1lc3BhY2VVUkkoKSA9
PSBuYW1lc3BhY2VVUkk7CiAKLSAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bG9jYWxOYW1l
KCkgPT0gbmFtZSAmJiBub2RlLT5uYW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIG5vZGUubG9jYWxOYW1lKCkgPT0gbmFtZSAmJiBub2RlLm5hbWVz
cGFjZVVSSSgpID09IG5hbWVzcGFjZVVSSTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
Ly8gTm9kZSB0ZXN0IG9uIHRoZSBuYW1lc3BhY2UgYXhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0
LCB0aGUgY2FsbGVyIGhhcyBhIGNoZWNrIGZvciBpdC4KQEAgLTE4OCwyOCArMjAxLDI4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0Y2hlc0Jhc2ljVGVzdChOb2RlKiBub2RlLCBTdGVwOjpB
eGlzIGF4aXMsIGNvbnN0IFN0ZXA6CiAKICAgICAgICAgICAgIC8vIEZvciBvdGhlciBheGVzLCB0
aGUgcHJpbmNpcGFsIG5vZGUgdHlwZSBpcyBlbGVtZW50LgogICAgICAgICAgICAgQVNTRVJUKHBy
aW1hcnlOb2RlVHlwZShheGlzKSA9PSBOb2RlOjpFTEVNRU5UX05PREUpOwotICAgICAgICAgICAg
aWYgKG5vZGUtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RUxFTUVOVF9OT0RFKQorICAgICAgICAgICAg
aWYgKCFub2RlLmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAgICAgICAgIGlmIChuYW1lID09IHN0YXJBdG9tKQotICAgICAgICAgICAgICAgIHJl
dHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1l
c3BhY2VVUkkoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbmFtZXNwYWNlVVJJLmlzRW1wdHko
KSB8fCBuYW1lc3BhY2VVUkkgPT0gbm9kZS5uYW1lc3BhY2VVUkkoKTsKIAotICAgICAgICAgICAg
aWYgKG5vZGUtPmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQoKSkgewotICAgICAgICAgICAgICAg
IGlmIChub2RlLT5pc0hUTUxFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChub2RlLmRvY3Vt
ZW50KCkuaXNIVE1MRG9jdW1lbnQoKSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlLmlzSFRN
TEVsZW1lbnQoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBQYXRocyB3aXRob3V0IG5hbWVz
cGFjZXMgc2hvdWxkIG1hdGNoIEhUTUwgZWxlbWVudHMgaW4gSFRNTCBkb2N1bWVudHMgZGVzcGl0
ZSB0aG9zZSBoYXZpbmcgYW4gWEhUTUwgbmFtZXNwYWNlLiBOYW1lcyBhcmUgY29tcGFyZWQgY2Fz
ZS1pbnNlbnNpdGl2ZWx5LgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmlu
Z0Nhc2UodG9FbGVtZW50KG5vZGUpLT5sb2NhbE5hbWUoKSwgbmFtZSkgJiYgKG5hbWVzcGFjZVVS
SS5pc051bGwoKSB8fCBuYW1lc3BhY2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJKCkpOworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UodG9IVE1MRWxlbWVudChu
b2RlKS5sb2NhbE5hbWUoKSwgbmFtZSkgJiYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSB8fCBuYW1l
c3BhY2VVUkkgPT0gbm9kZS5uYW1lc3BhY2VVUkkoKSk7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIC8vIEFuIGV4cHJlc3Npb24gd2l0aG91dCBhbnkgcHJlZml4IHNob3VsZG4n
dCBtYXRjaCBuby1uYW1lc3BhY2Ugbm9kZXMgKGJlY2F1c2UgSFRNTDUgc2F5cyBzbykuCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS0+aGFzTG9jYWxOYW1lKG5hbWUpICYm
IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKSAmJiAhbmFtZXNwYWNlVVJJLmlz
TnVsbCgpOworICAgICAgICAgICAgICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSkuaGFzTG9jYWxO
YW1lKG5hbWUpICYmIG5hbWVzcGFjZVVSSSA9PSBub2RlLm5hbWVzcGFjZVVSSSgpICYmICFuYW1l
c3BhY2VVUkkuaXNOdWxsKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gdG9F
bGVtZW50KG5vZGUpLT5oYXNMb2NhbE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJID09IG5vZGUt
Pm5hbWVzcGFjZVVSSSgpOworICAgICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS5oYXNM
b2NhbE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJID09IG5vZGUubmFtZXNwYWNlVVJJKCk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3Rl
cDo6QXhpcyBheGlzLCBjb25zdCBTdGVwOjpOb2RlVGVzdCYgbm9kZVRlc3QpCitpbmxpbmUgYm9v
bCBub2RlTWF0Y2hlcyhOb2RlJiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5v
ZGVUZXN0JiBub2RlVGVzdCkKIHsKICAgICBpZiAoIW5vZGVNYXRjaGVzQmFzaWNUZXN0KG5vZGUs
IGF4aXMsIG5vZGVUZXN0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE5LDEzICsyMzIs
MTEgQEAgc3RhdGljIGlubGluZSBib29sIG5vZGVNYXRjaGVzKE5vZGUqIG5vZGUsIFN0ZXA6OkF4
aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRlc3QKICAgICAvLyBPbmx5IHRoZSBmaXJzdCBtZXJn
ZWQgcHJlZGljYXRlIG1heSBkZXBlbmQgb24gcG9zaXRpb24uCiAgICAgKytldmFsdWF0aW9uQ29u
dGV4dC5wb3NpdGlvbjsKIAotICAgIGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJl
ZGljYXRlcyA9IG5vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKTsKKyAgICBhdXRvJiBtZXJnZWRQ
cmVkaWNhdGVzID0gbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtZXJnZWRQcmVkaWNhdGVzLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIFBy
ZWRpY2F0ZSogcHJlZGljYXRlID0gbWVyZ2VkUHJlZGljYXRlc1tpXTsKLQotICAgICAgICBldmFs
dWF0aW9uQ29udGV4dC5ub2RlID0gbm9kZTsKICAgICAgICAgLy8gTm8gbmVlZCB0byBzZXQgY29u
dGV4dCBzaXplIC0gd2Ugb25seSBnZXQgaGVyZSB3aGVuIGV2YWx1YXRpbmcgcHJlZGljYXRlcyB0
aGF0IGRvIG5vdCBkZXBlbmQgb24gaXQuCi0gICAgICAgIGlmICghcHJlZGljYXRlLT5ldmFsdWF0
ZSgpKQorICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5ub2RlID0gJm5vZGU7CisgICAgICAgIGlm
ICghZXZhbHVhdGVQcmVkaWNhdGUoKm1lcmdlZFByZWRpY2F0ZXNbaV0pKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMjMzLDEyNCArMjQ0LDEyNiBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25zdCBT
dGVwOjpOb2RlVGVzdAogfQogCiAvLyBSZXN1bHQgbm9kZXMgYXJlIG9yZGVyZWQgaW4gYXhpcyBv
cmRlci4gTm9kZSB0ZXN0IChpbmNsdWRpbmcgbWVyZ2VkIHByZWRpY2F0ZXMpIGlzIGFwcGxpZWQu
Ci12b2lkIFN0ZXA6Om5vZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBj
b25zdAordm9pZCBTdGVwOjpub2Rlc0luQXhpcyhOb2RlJiBjb250ZXh0LCBOb2RlU2V0JiBub2Rl
cykgY29uc3QKIHsKICAgICBBU1NFUlQobm9kZXMuaXNFbXB0eSgpKTsKICAgICBzd2l0Y2ggKG1f
YXhpcykgewogICAgICAgICBjYXNlIENoaWxkQXhpczoKLSAgICAgICAgICAgIGlmIChjb250ZXh0
LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGggbW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBk
byBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAgIGlmIChjb250ZXh0LmlzQXR0cmlidXRl
Tm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNo
aWxkcmVuLgogICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgZm9yIChOb2Rl
KiBuID0gY29udGV4dC0+Zmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkKLSAg
ICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQ2hpbGRBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChO
b2RlKiBub2RlID0gY29udGV4dC5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0
U2libGluZygpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBDaGls
ZEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9k
ZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgRGVz
Y2VuZGFudEF4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkp
IC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hpbGRyZW4u
CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGgg
bW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPmZpcnN0
Q2hpbGQoKTsgbjsgbiA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobiwgY29udGV4dCkpCi0gICAgICAg
ICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIERlc2NlbmRhbnRBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChO
b2RlKiBub2RlID0gY29udGV4dC5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBOb2RlVHJhdmVy
c2FsOjpuZXh0KG5vZGUsICZjb250ZXh0KSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0
Y2hlcygqbm9kZSwgRGVzY2VuZGFudEF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAg
ICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGNhc2UgUGFyZW50QXhpczoKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5p
c0F0dHJpYnV0ZU5vZGUoKSkgewotICAgICAgICAgICAgICAgIEVsZW1lbnQqIG4gPSBzdGF0aWNf
Y2FzdDxBdHRyKj4oY29udGV4dCktPm93bmVyRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhuLCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAg
ICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1
dGVOb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBFbGVtZW50KiBub2RlID0gc3RhdGljX2Nhc3Q8
QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOworICAgICAgICAgICAgICAgIGlmIChub2Rl
TWF0Y2hlcygqbm9kZSwgUGFyZW50QXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAg
ICAgIG5vZGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgQ29udGFpbmVyTm9kZSogbiA9IGNvbnRleHQtPnBhcmVudE5vZGUoKTsKLSAgICAgICAg
ICAgICAgICBpZiAobiAmJiBub2RlTWF0Y2hlcyhuLCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkK
LSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgICAgIENv
bnRhaW5lck5vZGUqIG5vZGUgPSBjb250ZXh0LnBhcmVudE5vZGUoKTsKKyAgICAgICAgICAgICAg
ICBpZiAobm9kZSAmJiBub2RlTWF0Y2hlcygqbm9kZSwgUGFyZW50QXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBBbmNlc3RvckF4aXM6IHsKLSAgICAg
ICAgICAgIE5vZGUqIG4gPSBjb250ZXh0OwotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0
cmlidXRlTm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgbiA9IHN0YXRpY19jYXN0PEF0dHIqPihj
b250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVz
KG4sIEFuY2VzdG9yQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVz
LmFwcGVuZChuKTsKKyAgICAgICAgICAgIE5vZGUqIG5vZGUgPSAmY29udGV4dDsKKyAgICAgICAg
ICAgIGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSB7CisgICAgICAgICAgICAgICAgbm9k
ZSA9IHN0YXRpY19jYXN0PEF0dHImPihjb250ZXh0KS5vd25lckVsZW1lbnQoKTsKKyAgICAgICAg
ICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIEFuY2VzdG9yQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGZvciAobm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsgbm9kZTsgbm9kZSA9
IG5vZGUtPnBhcmVudE5vZGUoKSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygq
bm9kZSwgQW5jZXN0b3JBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9k
ZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yIChuID0gbi0+
cGFyZW50Tm9kZSgpOyBuOyBuID0gbi0+cGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhuLCBBbmNlc3RvckF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQobik7CiAgICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZh
bHNlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZvbGxv
d2luZ1NpYmxpbmdBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPm5vZGVUeXBlKCkgPT0g
Tm9kZTo6QVRUUklCVVRFX05PREUgfHwKLSAgICAgICAgICAgICAgICAgY29udGV4dC0+bm9kZVR5
cGUoKSA9PSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERSkgCisgICAgICAgICAgICBpZiAoY29u
dGV4dC5ub2RlVHlwZSgpID09IE5vZGU6OkFUVFJJQlVURV9OT0RFIHx8IGNvbnRleHQubm9kZVR5
cGUoKSA9PSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERSkKICAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRleHQtPm5l
eHRTaWJsaW5nKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIGlm
IChub2RlTWF0Y2hlcyhuLCBGb2xsb3dpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCi0gICAg
ICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgIGZvciAoTm9kZSog
bm9kZSA9IGNvbnRleHQubmV4dFNpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJs
aW5nKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIEZvbGxvd2lu
Z1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBw
ZW5kKG5vZGUpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBj
YXNlIFByZWNlZGluZ1NpYmxpbmdBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6QVRUUklCVVRFX05PREUgfHwKLSAgICAgICAgICAgICAgICAgY29udGV4
dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERSkKKyAgICAgICAgICAg
IGlmIChjb250ZXh0Lm5vZGVUeXBlKCkgPT0gTm9kZTo6QVRUUklCVVRFX05PREUgfHwgY29udGV4
dC5ub2RlVHlwZSgpID09IE5vZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFKQogICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29u
dGV4dC0+cHJldmlvdXNTaWJsaW5nKCk7IG47IG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKSkKLSAg
ICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgUHJlY2VkaW5nU2libGluZ0F4aXMsIG1f
bm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobik7Ci0KKyAgICAg
ICAgICAgIGZvciAoTm9kZSogbm9kZSA9IGNvbnRleHQucHJldmlvdXNTaWJsaW5nKCk7IG5vZGU7
IG5vZGUgPSBub2RlLT5wcmV2aW91c1NpYmxpbmcoKSkgeworICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcygqbm9kZSwgUHJlY2VkaW5nU2libGluZ0F4aXMsIG1fbm9kZVRlc3QpKQorICAg
ICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgY2FzZSBGb2xsb3dpbmdBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0
cmlidXRlTm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgTm9kZSogcCA9IHN0YXRpY19jYXN0PEF0
dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKChw
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dChwKSkpCi0gICAgICAgICAgICAgICAgICAgIGlmIChub2Rl
TWF0Y2hlcyhwLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGVzLmFwcGVuZChwKTsKKyAgICAgICAgICAgIGlmIChjb250ZXh0LmlzQXR0cmli
dXRlTm9kZSgpKSB7CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IHN0YXRpY19jYXN0PEF0
dHImPihjb250ZXh0KS5vd25lckVsZW1lbnQoKTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKG5v
ZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KG5vZGUpKSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAobm9kZU1hdGNoZXMoKm5vZGUsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZm9yIChOb2RlKiBwID0gY29u
dGV4dDsgIWlzUm9vdERvbU5vZGUocCk7IHAgPSBwLT5wYXJlbnROb2RlKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gcC0+bmV4dFNpYmxpbmcoKTsgbjsgbiA9IG4tPm5l
eHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhu
LCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQobik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIGMg
PSBuLT5maXJzdENoaWxkKCk7IGM7IGMgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KGMsIG4pKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhjLCBGb2xsb3dpbmdBeGlz
LCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBw
ZW5kKGMpOworICAgICAgICAgICAgICAgIGZvciAoTm9kZSogcGFyZW50ID0gJmNvbnRleHQ7ICFp
c1Jvb3REb21Ob2RlKHBhcmVudCk7IHBhcmVudCA9IHBhcmVudC0+cGFyZW50Tm9kZSgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IHBhcmVudC0+bmV4dFNpYmxpbmco
KTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBjaGlsZCA9IG5vZGUtPmZpcnN0Q2hpbGQoKTsg
Y2hpbGQ7IGNoaWxkID0gTm9kZVRyYXZlcnNhbDo6bmV4dChjaGlsZCwgbm9kZSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKmNoaWxkLCBGb2xsb3dpbmdB
eGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMu
YXBwZW5kKGNoaWxkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBQcmVjZWRpbmdBeGlzOiB7Ci0gICAgICAgICAgICBpZiAoY29u
dGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkpCi0gICAgICAgICAgICAgICAgY29udGV4dCA9IHN0YXRp
Y19jYXN0PEF0dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0KLSAgICAgICAgICAgIE5v
ZGUqIG4gPSBjb250ZXh0OwotICAgICAgICAgICAgd2hpbGUgKENvbnRhaW5lck5vZGUqIHBhcmVu
dCA9IG4tPnBhcmVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgIGZvciAobiA9IE5vZGVUcmF2
ZXJzYWw6OnByZXZpb3VzKG4pOyBuICE9IHBhcmVudDsgbiA9IE5vZGVUcmF2ZXJzYWw6OnByZXZp
b3VzKG4pKQotICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgUHJlY2VkaW5n
QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQo
bik7Ci0gICAgICAgICAgICAgICAgbiA9IHBhcmVudDsKKyAgICAgICAgICAgIE5vZGUqIG5vZGU7
CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkKKyAgICAgICAgICAg
ICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5vZGUgPSAmY29udGV4dDsKKyAgICAg
ICAgICAgIHdoaWxlIChDb250YWluZXJOb2RlKiBwYXJlbnQgPSBub2RlLT5wYXJlbnROb2RlKCkp
IHsKKyAgICAgICAgICAgICAgICBmb3IgKG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91cyhu
b2RlKTsgbm9kZSAhPSBwYXJlbnQ7IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91cyhub2Rl
KSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIFByZWNlZGlu
Z0F4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5k
KG5vZGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBub2RlID0gcGFyZW50
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBdHRyaWJ1dGVBeGlz
OiB7Ci0gICAgICAgICAgICBpZiAoIWNvbnRleHQtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAg
ICAgIGlmICghY29udGV4dC5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgICAgICBFbGVtZW50KiBjb250ZXh0RWxlbWVudCA9IHRvRWxlbWVudChjb250
ZXh0KTsKKyAgICAgICAgICAgIEVsZW1lbnQmIGNvbnRleHRFbGVtZW50ID0gdG9FbGVtZW50KGNv
bnRleHQpOwogCiAgICAgICAgICAgICAvLyBBdm9pZCBsYXppbHkgY3JlYXRpbmcgYXR0cmlidXRl
IG5vZGVzIGZvciBhdHRyaWJ1dGVzIHRoYXQgd2UgZG8gbm90IG5lZWQgYW55d2F5LgotICAgICAg
ICAgICAgaWYgKG1fbm9kZVRlc3Qua2luZCgpID09IE5vZGVUZXN0OjpOYW1lVGVzdCAmJiBtX25v
ZGVUZXN0LmRhdGEoKSAhPSBzdGFyQXRvbSkgewotICAgICAgICAgICAgICAgIFJlZlB0cjxOb2Rl
PiBuID0gY29udGV4dEVsZW1lbnQtPmdldEF0dHJpYnV0ZU5vZGVOUyhtX25vZGVUZXN0Lm5hbWVz
cGFjZVVSSSgpLCBtX25vZGVUZXN0LmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG4gJiYg
bi0+bmFtZXNwYWNlVVJJKCkgIT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VVUkkpIHsgLy8g
SW4gWFBhdGggbGFuZCwgbmFtZXNwYWNlIG5vZGVzIGFyZSBub3QgYWNjZXNzaWJsZSBvbiB0aGUg
YXR0cmlidXRlIGF4aXMuCi0gICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLmdl
dCgpLCBBdHRyaWJ1dGVBeGlzLCBtX25vZGVUZXN0KSkgLy8gU3RpbGwgbmVlZCB0byBjaGVjayBt
ZXJnZWQgcHJlZGljYXRlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChu
LnJlbGVhc2UoKSk7CisgICAgICAgICAgICBpZiAobV9ub2RlVGVzdC5tX2tpbmQgPT0gTm9kZVRl
c3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QubV9kYXRhICE9IHN0YXJBdG9tKSB7CisgICAgICAg
ICAgICAgICAgUmVmUHRyPEF0dHI+IGF0dHIgPSBjb250ZXh0RWxlbWVudC5nZXRBdHRyaWJ1dGVO
b2RlTlMobV9ub2RlVGVzdC5tX25hbWVzcGFjZVVSSSwgbV9ub2RlVGVzdC5tX2RhdGEpOworICAg
ICAgICAgICAgICAgIGlmIChhdHRyICYmIGF0dHItPm5hbWVzcGFjZVVSSSgpICE9IFhNTE5TTmFt
ZXM6OnhtbG5zTmFtZXNwYWNlVVJJKSB7IC8vIEluIFhQYXRoIGxhbmQsIG5hbWVzcGFjZSBub2Rl
cyBhcmUgbm90IGFjY2Vzc2libGUgb24gdGhlIGF0dHJpYnV0ZSBheGlzLgorICAgICAgICAgICAg
ICAgICAgICBpZiAobm9kZU1hdGNoZXMoKmF0dHIsIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3Qp
KSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgorICAgICAgICAgICAg
ICAgICAgICAgICAgbm9kZXMuYXBwZW5kKGF0dHIucmVsZWFzZSgpKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBpZiAoIWNvbnRleHRFbGVtZW50LT5oYXNBdHRyaWJ1dGVzKCkpCisgICAg
ICAgICAgICBpZiAoIWNvbnRleHRFbGVtZW50Lmhhc0F0dHJpYnV0ZXMoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb250
ZXh0RWxlbWVudC0+YXR0cmlidXRlQ291bnQoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgUmVm
UHRyPEF0dHI+IGF0dHIgPSBjb250ZXh0RWxlbWVudC0+ZW5zdXJlQXR0cihjb250ZXh0RWxlbWVu
dC0+YXR0cmlidXRlQXQoaSkubmFtZSgpKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNo
ZXMoYXR0ci5nZXQoKSwgQXR0cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29udGV4dEVsZW1lbnQuYXR0cmlidXRlQ291bnQoKTsg
KytpKSB7CisgICAgICAgICAgICAgICAgUmVmUHRyPEF0dHI+IGF0dHIgPSBjb250ZXh0RWxlbWVu
dC5lbnN1cmVBdHRyKGNvbnRleHRFbGVtZW50LmF0dHJpYnV0ZUF0KGkpLm5hbWUoKSk7CisgICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCphdHRyLCBBdHRyaWJ1dGVBeGlzLCBtX25vZGVU
ZXN0KSkKICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKGF0dHIucmVsZWFzZSgpKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKQEAgLTM2MCwzMSArMzczLDMxIEBA
IHZvaWQgU3RlcDo6bm9kZXNJbkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNv
bnN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgU2VsZkF4aXM6CiAgICAgICAg
ICAgICBpZiAobm9kZU1hdGNoZXMoY29udGV4dCwgU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAg
ICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQoJmNvbnRleHQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIERl
c2NlbmRhbnRPclNlbGZBeGlzOgogICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGNvbnRleHQs
IERlc2NlbmRhbnRPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQoY29udGV4dCk7Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVO
b2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hp
bGRyZW4uCisgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKCZjb250ZXh0KTsKKyAgICAgICAg
ICAgIGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0
cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgICAgICAgICAgICAgIHJldHVy
bjsKLQotICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+Zmlyc3RDaGlsZCgpOyBu
OyBuID0gTm9kZVRyYXZlcnNhbDo6bmV4dChuLCBjb250ZXh0KSkKLSAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcyhuLCBEZXNjZW5kYW50T3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAg
ICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0g
Y29udGV4dC5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KG5v
ZGUsICZjb250ZXh0KSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwg
RGVzY2VuZGFudE9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBu
b2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIGNhc2UgQW5jZXN0b3JPclNlbGZBeGlzOiB7CiAgICAgICAgICAgICBpZiAobm9kZU1h
dGNoZXMoY29udGV4dCwgQW5jZXN0b3JPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQoY29udGV4dCk7Ci0gICAgICAgICAgICBOb2RlKiBuID0gY29u
dGV4dDsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgewotICAg
ICAgICAgICAgICAgIG4gPSBzdGF0aWNfY2FzdDxBdHRyKj4oY29udGV4dCktPm93bmVyRWxlbWVu
dCgpOwotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBBbmNlc3Rvck9yU2VsZkF4
aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobik7Cisg
ICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKCZjb250ZXh0KTsKKyAgICAgICAgICAgIE5vZGUq
IG5vZGUgPSAmY29udGV4dDsKKyAgICAgICAgICAgIGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9k
ZSgpKSB7CisgICAgICAgICAgICAgICAgbm9kZSA9IHN0YXRpY19jYXN0PEF0dHImPihjb250ZXh0
KS5vd25lckVsZW1lbnQoKTsKKyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUs
IEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5v
ZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAobm9kZSA9
IG5vZGUtPnBhcmVudE5vZGUoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKSkgewor
ICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgQW5jZXN0b3JPclNlbGZBeGlz
LCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yIChuID0gbi0+cGFyZW50Tm9kZSgpOyBuOyBu
ID0gbi0+cGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBB
bmNlc3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQobik7Ci0KICAgICAgICAgICAgIG5vZGVzLm1hcmtTb3J0ZWQoZmFsc2UpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0zOTIsNiArNDA1LDUgQEAgdm9pZCBTdGVw
Ojpub2Rlc0luQXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhTdGVwLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5k
ZXggZjY3OGY5MjI4MzlhNjBhZjdlMTczNmM0YjAxM2JjNWRjYWNlNjMyYS4uNDQxZjEzZDI4ZWRk
ZDA2ZTVkMGNlMzdiNTZkMTY4ZGM2Y2NjZjI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoU3RlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAt
MjcsOCArMjcsOCBAQAogI2lmbmRlZiBYUGF0aFN0ZXBfaAogI2RlZmluZSBYUGF0aFN0ZXBfaAog
Ci0jaW5jbHVkZSAiWFBhdGhFeHByZXNzaW9uTm9kZS5oIgotI2luY2x1ZGUgIlhQYXRoTm9kZVNl
dC5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNiwxMCArMzYsMTAgQEAgY2xh
c3MgTm9kZTsKIAogbmFtZXNwYWNlIFhQYXRoIHsKIAotY2xhc3MgUHJlZGljYXRlOwotICAgICAg
ICAKLWNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdGVwKTsKK2NsYXNzIEV4cHJlc3Npb247CitjbGFzcyBOb2RlU2V0OworCitjbGFzcyBT
dGVwIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIEF4
aXMgewpAQCAtNDksNTcgKzQ5LDUyIEBAIHB1YmxpYzoKICAgICAgICAgUGFyZW50QXhpcywgUHJl
Y2VkaW5nQXhpcywgUHJlY2VkaW5nU2libGluZ0F4aXMsCiAgICAgICAgIFNlbGZBeGlzCiAgICAg
fTsKLSAgICAgICAgICAgCisKICAgICBjbGFzcyBOb2RlVGVzdCB7CiAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAgICAgICAgZW51bSBLaW5kIHsKLSAgICAg
ICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0Ci0gICAgICAgIH07Ci0KLSAgICAgICAg
Tm9kZVRlc3QoS2luZCBraW5kKSA6IG1fa2luZChraW5kKSB7IH0KLSAgICAgICAgTm9kZVRlc3Qo
S2luZCBraW5kLCBjb25zdCBTdHJpbmcmIGRhdGEpIDogbV9raW5kKGtpbmQpLCBtX2RhdGEoZGF0
YSkgeyB9Ci0gICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCwgY29uc3QgU3RyaW5nJiBkYXRhLCBj
b25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSkgOiBtX2tpbmQoa2luZCksIG1fZGF0YShkYXRhKSwg
bV9uYW1lc3BhY2VVUkkobmFtZXNwYWNlVVJJKSB7IH0KLSAgICAgICAgICAgICAgICAKLSAgICAg
ICAgS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9Ci0gICAgICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQotICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZXNwYWNl
VVJJOyB9Ci0gICAgICAgIFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2VkUHJlZGljYXRlcygpIHsg
cmV0dXJuIG1fbWVyZ2VkUHJlZGljYXRlczsgfQotICAgICAgICBjb25zdCBWZWN0b3I8UHJlZGlj
YXRlKj4mIG1lcmdlZFByZWRpY2F0ZXMoKSBjb25zdCB7IHJldHVybiBtX21lcmdlZFByZWRpY2F0
ZXM7IH0KLSAgICAgICAgICAgICAgICAKKyAgICAgICAgZW51bSBLaW5kIHsgVGV4dE5vZGVUZXN0
LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2Rl
VGVzdCwgTmFtZVRlc3QgfTsKKworICAgICAgICBleHBsaWNpdCBOb2RlVGVzdChLaW5kIGtpbmQp
IDogbV9raW5kKGtpbmQpIHsgfQorICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0IEF0
b21pY1N0cmluZyYgZGF0YSkgOiBtX2tpbmQoa2luZCksIG1fZGF0YShkYXRhKSB7IH0KKyAgICAg
ICAgTm9kZVRlc3QoS2luZCBraW5kLCBjb25zdCBBdG9taWNTdHJpbmcmIGRhdGEsIGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKSA6IG1fa2luZChraW5kKSwgbV9kYXRhKGRhdGEpLCBt
X25hbWVzcGFjZVVSSShuYW1lc3BhY2VVUkkpIHsgfQorCiAgICAgcHJpdmF0ZToKKyAgICAgICAg
ZnJpZW5kIGNsYXNzIFN0ZXA7CisgICAgICAgIGZyaWVuZCB2b2lkIG9wdGltaXplU3RlcFBhaXIo
U3RlcCYsIFN0ZXAmLCBib29sJik7CisgICAgICAgIGZyaWVuZCBib29sIG5vZGVNYXRjaGVzQmFz
aWNUZXN0KE5vZGUmLCBBeGlzLCBjb25zdCBOb2RlVGVzdCYpOworICAgICAgICBmcmllbmQgYm9v
bCBub2RlTWF0Y2hlcyhOb2RlJiwgQXhpcywgY29uc3QgTm9kZVRlc3QmKTsKKwogICAgICAgICBL
aW5kIG1fa2luZDsKICAgICAgICAgQXRvbWljU3RyaW5nIG1fZGF0YTsKICAgICAgICAgQXRvbWlj
U3RyaW5nIG1fbmFtZXNwYWNlVVJJOwotCi0gICAgICAgIC8vIFdoZW4gcG9zc2libGUsIHdlIG1l
cmdlIHNvbWUgb3IgYWxsIHByZWRpY2F0ZXMgd2l0aCBub2RlIHRlc3QgZm9yIGJldHRlciBwZXJm
b3JtYW5jZS4KLSAgICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fbWVyZ2VkUHJlZGljYXRlczsK
KyAgICAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4gbV9tZXJnZWRQcmVk
aWNhdGVzOwogICAgIH07CiAKLSAgICBTdGVwKEF4aXMsIGNvbnN0IE5vZGVUZXN0JiwgY29uc3Qg
VmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVzID0gVmVjdG9yPFByZWRpY2F0ZSo+KCkpOwor
ICAgIFN0ZXAoQXhpcywgTm9kZVRlc3QmJik7CisgICAgU3RlcChBeGlzLCBOb2RlVGVzdCYmLCBW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiYmKTsKICAgICB+U3RlcCgpOwogCiAg
ICAgdm9pZCBvcHRpbWl6ZSgpOwogCi0gICAgdm9pZCBldmFsdWF0ZShOb2RlKiBjb250ZXh0LCBO
b2RlU2V0JikgY29uc3Q7CisgICAgdm9pZCBldmFsdWF0ZShOb2RlJiBjb250ZXh0LCBOb2RlU2V0
JikgY29uc3Q7CiAKICAgICBBeGlzIGF4aXMoKSBjb25zdCB7IHJldHVybiBtX2F4aXM7IH0KLSAg
ICBjb25zdCBOb2RlVGVzdCYgbm9kZVRlc3QoKSBjb25zdCB7IHJldHVybiBtX25vZGVUZXN0OyB9
CiAKIHByaXZhdGU6Ci0gICAgZnJpZW5kIHZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiwgU3Rl
cCosIGJvb2wmKTsKKyAgICBmcmllbmQgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAmLCBTdGVw
JiwgYm9vbCYpOworCiAgICAgYm9vbCBwcmVkaWNhdGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2
ZSgpIGNvbnN0OwogCiAgICAgdm9pZCBwYXJzZU5vZGVUZXN0KGNvbnN0IFN0cmluZyYpOwotICAg
IHZvaWQgbm9kZXNJbkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYpIGNvbnN0OwotICAgIFN0
cmluZyBuYW1lc3BhY2VGcm9tTm9kZXRlc3QoY29uc3QgU3RyaW5nJiBub2RlVGVzdCkgY29uc3Q7
CisgICAgdm9pZCBub2Rlc0luQXhpcyhOb2RlJiBjb250ZXh0LCBOb2RlU2V0JikgY29uc3Q7CiAK
ICAgICBBeGlzIG1fYXhpczsKICAgICBOb2RlVGVzdCBtX25vZGVUZXN0OwotICAgIFZlY3RvcjxQ
cmVkaWNhdGUqPiBtX3ByZWRpY2F0ZXM7CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPj4gbV9wcmVkaWNhdGVzOwogfTsKIAotdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAq
LCBTdGVwKiwgYm9vbCYgZHJvcFNlY29uZFN0ZXApOwordm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0
ZXAmLCBTdGVwJiwgYm9vbCYgZHJvcFNlY29uZFN0ZXApOwogCiB9IC8vIG5hbWVzcGFjZSBYUGF0
aAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhVdGlsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aFV0aWwuY3BwCmluZGV4IDhjYmM3YTYzMTRmNGZiNWIyZjllMTI5
MGUyNzUzN2FjYTkyMTA0YTYuLjhkM2NiYTc5ZWJjY2RmYWU0Mzg3MmRjY2M2ZDdlZDMwMDBhOTAz
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFV0aWwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aFV0aWwuY3BwCkBAIC01MCw3ICs1MCw3IEBAIFN0cmluZyBz
dHJpbmdWYWx1ZShOb2RlKiBub2RlKQogICAgICAgICBjYXNlIE5vZGU6OlhQQVRIX05BTUVTUEFD
RV9OT0RFOgogICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVWYWx1ZSgpOwogICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgaWYgKGlzUm9vdERvbU5vZGUobm9kZSkgfHwgbm9kZS0+bm9k
ZVR5cGUoKSA9PSBOb2RlOjpFTEVNRU5UX05PREUpCisgICAgICAgICAgICBpZiAoaXNSb290RG9t
Tm9kZShub2RlKSB8fCBub2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFRleHROb2RlVHJhdmVyc2FsOjpjb250ZW50c0FzU3RyaW5nKG5vZGUpOwogICAgIH0KICAg
ICByZXR1cm4gU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1ZS5jcHAKaW5kZXggZWQ0M2Y0
OGJlZWJkYmQwZjE4NGVlYTc1N2FiZTMzNWQ0ODg0ZjlkYS4uMmJkMDM5ODQwNTEyN2UyMmU2ZDky
NDM0MWEyNWJiOTE5ODdmYjI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcApAQCAtMSw2
ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUu
b3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiwyNiArMzIsMjMgQEAKICNpbmNsdWRl
ICJYUGF0aFV0aWwuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKLXVzaW5nIHN0ZDo6bnVtZXJpY19saW1pdHM7Ci0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7CiAKLWNvbnN0IFZhbHVlOjpBZG9wdFRhZyBWYWx1
ZTo6YWRvcHQgPSB7fTsKLQogY29uc3QgTm9kZVNldCYgVmFsdWU6OnRvTm9kZVNldCgpIGNvbnN0
CiB7CiAgICAgaWYgKCFpc05vZGVTZXQoKSkKICAgICAgICAgRXhwcmVzc2lvbjo6ZXZhbHVhdGlv
bkNvbnRleHQoKS5oYWRUeXBlQ29udmVyc2lvbkVycm9yID0gdHJ1ZTsKIAogICAgIGlmICghbV9k
YXRhKSB7Ci0gICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoTm9kZVNldCwgZW1wdHlOb2RlU2V0
LCAoKSk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxOb2RlU2V0PiBlbXB0eU5vZGVT
ZXQ7CiAgICAgICAgIHJldHVybiBlbXB0eU5vZGVTZXQ7CiAgICAgfQogCi0gICAgcmV0dXJuIG1f
ZGF0YS0+bV9ub2RlU2V0OworICAgIHJldHVybiBtX2RhdGEtPm5vZGVTZXQ7CiB9ICAgIAogCiBO
b2RlU2V0JiBWYWx1ZTo6bW9kaWZpYWJsZU5vZGVTZXQoKQpAQCAtNjAsMjMgKzU3LDIzIEBAIE5v
ZGVTZXQmIFZhbHVlOjptb2RpZmlhYmxlTm9kZVNldCgpCiAgICAgICAgIEV4cHJlc3Npb246OmV2
YWx1YXRpb25Db250ZXh0KCkuaGFkVHlwZUNvbnZlcnNpb25FcnJvciA9IHRydWU7CiAKICAgICBp
ZiAoIW1fZGF0YSkKLSAgICAgICAgbV9kYXRhID0gVmFsdWVEYXRhOjpjcmVhdGUoKTsKLSAgICAK
KyAgICAgICAgbV9kYXRhID0gRGF0YTo6Y3JlYXRlKCk7CisKICAgICBtX3R5cGUgPSBOb2RlU2V0
VmFsdWU7Ci0gICAgcmV0dXJuIG1fZGF0YS0+bV9ub2RlU2V0OworICAgIHJldHVybiBtX2RhdGEt
Pm5vZGVTZXQ7CiB9CiAKIGJvb2wgVmFsdWU6OnRvQm9vbGVhbigpIGNvbnN0CiB7CiAgICAgc3dp
dGNoIChtX3R5cGUpIHsKICAgICAgICAgY2FzZSBOb2RlU2V0VmFsdWU6Ci0gICAgICAgICAgICBy
ZXR1cm4gIW1fZGF0YS0+bV9ub2RlU2V0LmlzRW1wdHkoKTsKKyAgICAgICAgICAgIHJldHVybiAh
bV9kYXRhLT5ub2RlU2V0LmlzRW1wdHkoKTsKICAgICAgICAgY2FzZSBCb29sZWFuVmFsdWU6CiAg
ICAgICAgICAgICByZXR1cm4gbV9ib29sOwogICAgICAgICBjYXNlIE51bWJlclZhbHVlOgogICAg
ICAgICAgICAgcmV0dXJuIG1fbnVtYmVyICYmICFzdGQ6OmlzbmFuKG1fbnVtYmVyKTsKICAgICAg
ICAgY2FzZSBTdHJpbmdWYWx1ZToKLSAgICAgICAgICAgIHJldHVybiAhbV9kYXRhLT5tX3N0cmlu
Zy5pc0VtcHR5KCk7CisgICAgICAgICAgICByZXR1cm4gIW1fZGF0YS0+c3RyaW5nLmlzRW1wdHko
KTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtOTAsMjUgKzg3LDI2IEBAIGRvdWJsZSBWYWx1ZTo6dG9OdW1iZXIoKSBjb25zdAogICAgICAg
ICBjYXNlIE51bWJlclZhbHVlOgogICAgICAgICAgICAgcmV0dXJuIG1fbnVtYmVyOwogICAgICAg
ICBjYXNlIFN0cmluZ1ZhbHVlOiB7Ci0gICAgICAgICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1f
ZGF0YS0+bV9zdHJpbmcuc2ltcGxpZnlXaGl0ZVNwYWNlKCk7CisgICAgICAgICAgICBjb25zdCBT
dHJpbmcmIHN0ciA9IG1fZGF0YS0+c3RyaW5nLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwogCiAgICAg
ICAgICAgICAvLyBTdHJpbmc6OnRvRG91YmxlKCkgc3VwcG9ydHMgZXhwb25lbnRpYWwgbm90YXRp
b24sIHdoaWNoIGlzIG5vdCBhbGxvd2VkIGluIFhQYXRoLgogICAgICAgICAgICAgdW5zaWduZWQg
bGVuID0gc3RyLmxlbmd0aCgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlbjsgKytpKSB7CiAgICAgICAgICAgICAgICAgVUNoYXIgYyA9IHN0cltpXTsKICAgICAgICAg
ICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChjKSAmJiBjICE9ICcuJyAgJiYgYyAhPSAnLScpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9O
YU4oKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGJvb2wgY2Fu
Q29udmVydDsKICAgICAgICAgICAgIGRvdWJsZSB2YWx1ZSA9IHN0ci50b0RvdWJsZSgmY2FuQ29u
dmVydCk7CiAgICAgICAgICAgICBpZiAoY2FuQ29udmVydCkKICAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWU7Ci0gICAgICAgICAgICByZXR1cm4gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVp
ZXRfTmFOKCk7CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+
OjpxdWlldF9OYU4oKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEJvb2xlYW5WYWx1ZToKICAg
ICAgICAgICAgIHJldHVybiBtX2Jvb2w7CiAgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIDAuMDsKIH0KQEAgLTExNywyMiArMTE1LDIzIEBAIFN0cmluZyBWYWx1
ZTo6dG9TdHJpbmcoKSBjb25zdAogewogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgICAgIGNh
c2UgTm9kZVNldFZhbHVlOgotICAgICAgICAgICAgaWYgKG1fZGF0YS0+bV9ub2RlU2V0LmlzRW1w
dHkoKSkgCi0gICAgICAgICAgICAgICAgcmV0dXJuICIiOwotICAgICAgICAgICAgcmV0dXJuIHN0
cmluZ1ZhbHVlKG1fZGF0YS0+bV9ub2RlU2V0LmZpcnN0Tm9kZSgpKTsKKyAgICAgICAgICAgIGlm
IChtX2RhdGEtPm5vZGVTZXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOworICAgICAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlKG1fZGF0YS0+bm9kZVNl
dC5maXJzdE5vZGUoKSk7CiAgICAgICAgIGNhc2UgU3RyaW5nVmFsdWU6Ci0gICAgICAgICAgICBy
ZXR1cm4gbV9kYXRhLT5tX3N0cmluZzsKKyAgICAgICAgICAgIHJldHVybiBtX2RhdGEtPnN0cmlu
ZzsKICAgICAgICAgY2FzZSBOdW1iZXJWYWx1ZToKICAgICAgICAgICAgIGlmIChzdGQ6OmlzbmFu
KG1fbnVtYmVyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gIk5hTiI7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTmFOIik7CiAgICAgICAgICAgICBpZiAobV9udW1iZXIg
PT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gIjAiOworICAgICAgICAgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIjAiKTsKICAgICAgICAgICAgIGlmIChzdGQ6OmlzaW5mKG1fbnVtYmVy
KSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpzaWduYml0KG1fbnVtYmVyKSA/ICItSW5m
aW5pdHkiIDogIkluZmluaXR5IjsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KHN0ZDo6c2lnbmJpdChtX251bWJlcikgPyAiLUluZmluaXR5IiA6ICJJbmZpbml0eSIpOwogICAg
ICAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKG1fbnVtYmVyKTsKICAgICAgICAgY2FzZSBC
b29sZWFuVmFsdWU6Ci0gICAgICAgICAgICByZXR1cm4gbV9ib29sID8gInRydWUiIDogImZhbHNl
IjsKKyAgICAgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwobV9ib29sID8gInRydWUiIDogImZh
bHNlIik7CiAgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIFN0
cmluZygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmgKaW5kZXggNDkwYmIyZDdiNzhjNWQ2NTc5
YTY3ZmQ0NzAyYzYwZWU2MGYzNzU0NS4uYTM2ODQ0NzA2MTgyOWJmZGIzYTU1YTVlYzJmZTNkZDIx
YzMyMDI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI4LDQ2ICsyOCwyNSBAQAogI2RlZmluZSBYUGF0aFZhbHVlX2gKIAog
I2luY2x1ZGUgIlhQYXRoTm9kZVNldC5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgIAot
ICAgICAgICBjbGFzcyBWYWx1ZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxWYWx1ZURhdGE+IHsK
LSAgICAgICAgcHVibGljOiAgICAgICAgICAgIAotICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8VmFsdWVEYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgVmFsdWVEYXRhKTsg
fQotICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VmFsdWVEYXRhPiBjcmVhdGUoY29uc3Qg
Tm9kZVNldCYgbm9kZVNldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFZhbHVlRGF0YShub2RlU2V0
KSk7IH0KLSAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZhbHVlRGF0YT4gY3JlYXRlKGNv
bnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBhZG9wdFJlZihuZXcgVmFsdWVEYXRhKHN0cmlu
ZykpOyB9Ci0KLSAgICAgICAgICAgIE5vZGVTZXQgbV9ub2RlU2V0OwotICAgICAgICAgICAgU3Ry
aW5nIG1fc3RyaW5nOwotICAgICAgICAgICAgCi0gICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAg
ICBWYWx1ZURhdGEoKSB7IH0KLSAgICAgICAgICAgIGV4cGxpY2l0IFZhbHVlRGF0YShjb25zdCBO
b2RlU2V0JiBub2RlU2V0KSA6IG1fbm9kZVNldChub2RlU2V0KSB7IH0KLSAgICAgICAgICAgIGV4
cGxpY2l0IFZhbHVlRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZykgOiBtX3N0cmluZyhzdHJpbmcp
IHsgfSAgICAgICAgICAgIAotICAgICAgICB9OwotCi0gICAgICAgIC8vIENvcHlpbmcgVmFsdWUg
b2JqZWN0cyBtYWtlcyB0aGVpciBkYXRhIHBhcnRpYWxseSBzaGFyZWQsIHNvIGNhcmUgaGFzIHRv
IGJlIHRha2VuIHdoZW4gZGVhbGluZyB3aXRoIGNvcGllcy4KICAgICAgICAgY2xhc3MgVmFsdWUg
ewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBlbnVtIFR5cGUgeyBOb2RlU2V0VmFsdWUs
IEJvb2xlYW5WYWx1ZSwgTnVtYmVyVmFsdWUsIFN0cmluZ1ZhbHVlIH07CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIFZhbHVlKHVuc2lnbmVkIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1ZSks
IG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKHZhbHVlKSB7fQotICAgICAgICAgICAgVmFsdWUodW5z
aWduZWQgbG9uZyB2YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBt
X251bWJlcih2YWx1ZSkge30KLSAgICAgICAgICAgIFZhbHVlKGRvdWJsZSB2YWx1ZSkgOiBtX3R5
cGUoTnVtYmVyVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcih2YWx1ZSkge30KLQotICAg
ICAgICAgICAgVmFsdWUoY29uc3QgY2hhciogdmFsdWUpIDogbV90eXBlKFN0cmluZ1ZhbHVlKSwg
bV9ib29sKGZhbHNlKSwgbV9udW1iZXIoMCksIG1fZGF0YShWYWx1ZURhdGE6OmNyZWF0ZSh2YWx1
ZSkpIHt9Ci0gICAgICAgICAgICBWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSA6IG1fdHlwZShT
dHJpbmdWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBtX2RhdGEoVmFsdWVEYXRh
OjpjcmVhdGUodmFsdWUpKSB7fQotICAgICAgICAgICAgVmFsdWUoY29uc3QgTm9kZVNldCYgdmFs
dWUpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVyKDApLCBt
X2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUodmFsdWUpKSB7fQotICAgICAgICAgICAgVmFsdWUoTm9k
ZSogdmFsdWUpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1fbnVtYmVy
KDApLCBtX2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUoKSkgeyBtX2RhdGEtPm1fbm9kZVNldC5hcHBl
bmQodmFsdWUpOyB9CisgICAgICAgICAgICBWYWx1ZShib29sIHZhbHVlKSA6IG1fdHlwZShCb29s
ZWFuVmFsdWUpLCBtX2Jvb2wodmFsdWUpIHsgfQorICAgICAgICAgICAgVmFsdWUodW5zaWduZWQg
dmFsdWUpIDogbV90eXBlKE51bWJlclZhbHVlKSwgbV9udW1iZXIodmFsdWUpIHsgfQorICAgICAg
ICAgICAgVmFsdWUoZG91YmxlIHZhbHVlKSA6IG1fdHlwZShOdW1iZXJWYWx1ZSksIG1fbnVtYmVy
KHZhbHVlKSB7IH0KIAotICAgICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gc2FmZWx5IGlt
cGxlbWVudCBjb25zdHJ1Y3RpbmcgZnJvbSBib29sIC0gd2l0aCBub3JtYWwgZnVuY3Rpb24gb3Zl
cmxvYWRpbmcsIGFueSBwb2ludGVyIHR5cGUgd291bGQgbWF0Y2guCi0gICAgICAgICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBWYWx1ZShUKTsKKyAgICAgICAgICAgIFZhbHVlKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIDogbV90eXBlKFN0cmluZ1ZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZSh2YWx1
ZSkpIHsgfQorICAgICAgICAgICAgVmFsdWUoY29uc3QgY2hhciogdmFsdWUpIDogbV90eXBlKFN0
cmluZ1ZhbHVlKSwgbV9kYXRhKERhdGE6OmNyZWF0ZSh2YWx1ZSkpIHsgfQogCi0gICAgICAgICAg
ICBzdGF0aWMgY29uc3Qgc3RydWN0IEFkb3B0VGFnIHt9IGFkb3B0OwotICAgICAgICAgICAgVmFs
dWUoTm9kZVNldCYgdmFsdWUsIGNvbnN0IEFkb3B0VGFnJikgOiBtX3R5cGUoTm9kZVNldFZhbHVl
KSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIoMCksICBtX2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUo
KSkgeyB2YWx1ZS5zd2FwKG1fZGF0YS0+bV9ub2RlU2V0KTsgfQorICAgICAgICAgICAgZXhwbGlj
aXQgVmFsdWUoTm9kZVNldCYmIHZhbHVlKSA6IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBtX2RhdGEo
RGF0YTo6Y3JlYXRlKHN0ZDo6bW92ZSh2YWx1ZSkpKSB7IH0KKyAgICAgICAgICAgIGV4cGxpY2l0
IFZhbHVlKE5vZGUqIHZhbHVlKSA6IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBtX2RhdGEoRGF0YTo6
Y3JlYXRlKHZhbHVlKSkgeyB9CisgICAgICAgICAgICBleHBsaWNpdCBWYWx1ZShQYXNzUmVmUHRy
PE5vZGU+IHZhbHVlKSA6IG1fdHlwZShOb2RlU2V0VmFsdWUpLCBtX2RhdGEoRGF0YTo6Y3JlYXRl
KHZhbHVlKSkgeyB9CiAKICAgICAgICAgICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQogCkBAIC03NywyNSArNTYsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgYm9vbCBpc1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTdHJpbmdWYWx1
ZTsgfQogCiAgICAgICAgICAgICBjb25zdCBOb2RlU2V0JiB0b05vZGVTZXQoKSBjb25zdDsKLSAg
ICAgICAgICAgIE5vZGVTZXQmIG1vZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgICAgICAgICBib29s
IHRvQm9vbGVhbigpIGNvbnN0OwogICAgICAgICAgICAgZG91YmxlIHRvTnVtYmVyKCkgY29uc3Q7
CiAgICAgICAgICAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKIAorICAgICAgICAgICAgLy8g
Tm90ZSB0aGF0IHRoZSBOb2RlU2V0IGlzIHNoYXJlZCB3aXRoIG90aGVyIFZhbHVlcyB0aGF0IHRo
aXMgb25lIHdhcyBjb3BpZWQgZnJvbSBvciB0aGF0IGFyZSBjb3BpZXMgb2YgdGhpcyBvbmUuCisg
ICAgICAgICAgICBOb2RlU2V0JiBtb2RpZmlhYmxlTm9kZVNldCgpOworCiAgICAgICAgIHByaXZh
dGU6CisgICAgICAgICAgICAvLyBUaGlzIGNvbnN0cnVjdG9yIGNyZWF0ZXMgYW1iaWd1aXR5IHNv
IHRoYXQgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IGNhbGwgdGhlIGJvb2xlYW4gb3ZlcmxvYWQgZm9y
IHBvaW50ZXIgdHlwZXMuCisgICAgICAgICAgICBWYWx1ZSh2b2lkKikgV1RGX0RFTEVURURfRlVO
Q1RJT047CisKKyAgICAgICAgICAgIHN0cnVjdCBEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0
YT4geworICAgICAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGE+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBEYXRhKTsgfQorICAgICAgICAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPERhdGE+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IERhdGEoc3RyaW5nKSk7IH0KKyAgICAgICAgICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxEYXRhPiBjcmVhdGUoTm9kZVNldCYmIG5vZGVTZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBE
YXRhKHN0ZDo6bW92ZShub2RlU2V0KSkpOyB9CisgICAgICAgICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IERhdGEobm9kZSkpOyB9CisKKyAgICAgICAgICAgICAgICBTdHJpbmcgc3RyaW5nOwor
ICAgICAgICAgICAgICAgIE5vZGVTZXQgbm9kZVNldDsKKworICAgICAgICAgICAgcHJpdmF0ZToK
KyAgICAgICAgICAgICAgICBEYXRhKCkgeyB9CisgICAgICAgICAgICAgICAgZXhwbGljaXQgRGF0
YShjb25zdCBTdHJpbmcmIHN0cmluZykgOiBzdHJpbmcoc3RyaW5nKSB7IH0KKyAgICAgICAgICAg
ICAgICBleHBsaWNpdCBEYXRhKE5vZGVTZXQmJiBub2RlU2V0KSA6IG5vZGVTZXQoc3RkOjptb3Zl
KG5vZGVTZXQpKSB7IH0KKyAgICAgICAgICAgICAgICBleHBsaWNpdCBEYXRhKFBhc3NSZWZQdHI8
Tm9kZT4gbm9kZSkgOiBub2RlU2V0KG5vZGUpIHsgfQorICAgICAgICAgICAgfTsKKwogICAgICAg
ICAgICAgVHlwZSBtX3R5cGU7CiAgICAgICAgICAgICBib29sIG1fYm9vbDsKICAgICAgICAgICAg
IGRvdWJsZSBtX251bWJlcjsKLSAgICAgICAgICAgIFJlZlB0cjxWYWx1ZURhdGE+IG1fZGF0YTsK
KyAgICAgICAgICAgIFJlZlB0cjxEYXRhPiBtX2RhdGE7CiAgICAgICAgIH07CiAKLSAgICAgICAg
dGVtcGxhdGU8PgotICAgICAgICBpbmxpbmUgVmFsdWU6OlZhbHVlKGJvb2wgdmFsdWUpCi0gICAg
ICAgICAgICA6IG1fdHlwZShCb29sZWFuVmFsdWUpCi0gICAgICAgICAgICAsIG1fYm9vbCh2YWx1
ZSkKLSAgICAgICAgICAgICwgbV9udW1iZXIoMCkKLSAgICAgICAgewotICAgICAgICB9CiAgICAg
fQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213753</attachid>
            <date>2013-10-08 21:59:51 -0700</date>
            <delta_ts>2013-10-09 16:28:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121082-20131008215951.patch</filename>
            <type>text/plain</type>
            <size>151148</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5Mzg1ODFiMzFiMGE0
ZGY4NjFhMDk3NjY3ODM4NjEwZGRhODcxZC4uNTRhOGJlMzk3ZTA0ZjE4MjdjZWE0ZTUzYWYwN2Iz
MTMyYjg5OTgyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MiBAQAorMjAxMy0xMC0wNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHVuaXF1ZV9wdHIgaW5z
dGVhZCBvZiBkZWxldGVBbGxWYWx1ZXMgaW4gWFBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTA4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0F0dHIuaDogTWFkZSB0aGUgbmFtZXNwYWNl
VVJJIGZ1bmN0aW9uIHB1YmxpYyBzbyBpdCBjYW4gYmUgY2FsbGVkIGJ5CisgICAgICAgIGNvZGUg
aW4gWFBhdGguIFNpbmNlIHRoZSBjbGFzcyBpcyBGSU5BTCwgY2FsbHMgd29uJ3QgZG8gdmlydHVh
bCBkaXNwYXRjaC4KKworICAgICAgICAqIHhtbC9YUGF0aEV4cHJlc3Npb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpYUGF0aEV4cHJlc3Npb24pOiBBZGRlZC4gVXNl
IHN0ZDo6bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhwcmVzc2lvbjo6Y3JlYXRlRXhw
cmVzc2lvbik6IFVzZSB0aGUgbmV3IFBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQKKyAgICAgICAgYW5k
IG1vcmUgc3RkOjptb3ZlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjp+WFBh
dGhFeHByZXNzaW9uKTogUmVtb3ZlZCBub3ctdW5uZWVkZWQgZGVsZXRlLgorICAgICAgICAqIHht
bC9YUGF0aEV4cHJlc3Npb24uaDogUmVtb3ZlZCB1bnVzZWQgY3JlYXRlIGZ1bmN0aW9uLiBVc2Ug
c3RkOjp1bmlxdWVfcHRyLgorCisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0
KTogVXNlIE5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YKKyAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpFeHByZXNzaW9uOjpzZXRTdWJleHByZXNz
aW9ucyk6IEFkZGVkLiBVc2VkIHRvIHNldCBhbGwgdGhlCisgICAgICAgIHN1YmV4cHJlc3Npb25z
IGF0IG9uY2UgcmF0aGVyIHRoYW4gYWRkaW5nIG9uZSBhdCBhIHRpbWUuCisKKyAgICAgICAgKiB4
bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oOiBVc2UgcGxhaW4gdW5zaWduZWQgaW5zdGVhZCBvZiB1
bnNpZ25lZCBsb25nLgorICAgICAgICBFbGltaW5hdGVkIHRoZSBQYXJzZU5vZGUgY2xhc3MsIHVz
ZWQgb25seSBieSB0aGUgcGFyc2VyIHRvIGRlbGV0ZSBvYmplY3RzLAorICAgICAgICB3aGljaCB3
ZSBub3cgZG8gd2l0aCAlZGVzdHJ1Y3Rvci4gTWFkZSBtb3JlIGZ1bmN0aW9ucyBwcm90ZWN0ZWQu
IEZpeGVkIHRoZQorICAgICAgICBjYXBpdGFsaXphdGlvbiBvZiB0aGUgd29yZCAic3ViZXhwcmVz
c2lvbiIuIE1hZGUgbV9zdWJleHByZXNzaW9ucyBiZSBhIFZlY3RvcgorICAgICAgICBvZiBzdGQ6
OnVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuY3BwOiBNYXJrZWQg
YWxsIHRoZSBjbGFzc2VzIEZJTkFMIGFuZCBhbGwgdGhlaXIgdmlydHVhbAorICAgICAgICBmdW5j
dGlvbnMgT1ZFUlJJREUuIFJlZHVjZWQgc29tZSBvZiB0aGUgYm9pbGVycGxhdGUuCisgICAgICAg
IChXZWJDb3JlOjpYUGF0aDo6RnVuY3Rpb246OnNldEFyZ3VtZW50cyk6IFBhc3NlZCBpbiB0aGUg
bmFtZSBzbyB3ZSBkb24ndCBoYXZlCisgICAgICAgIHRvIHN0b3JlIHRoZSBmdW5jdGlvbiBuYW1l
cyBpbiBhbGwgdGhlIGZ1bmN0aW9uIG9iamVjdHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
RnVuSWQ6OmV2YWx1YXRlKTogVXNlIHN0ZDo6bW92ZSBpbnN0ZWFkIG9mIFZhbHVlOjphZG9wdC4K
KyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGdW5Mb2NhbE5hbWU6OmV2YWx1YXRlKTogVXNlIGVt
cHR5U3RyaW5nIGluc3RlYWQgb2YgIiIuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuTmFt
ZXNwYWNlVVJJOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1
bk5hbWU6OmV2YWx1YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6RnVuU3Vi
c3RyaW5nQmVmb3JlOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
OkZ1blN1YnN0cmluZ0FmdGVyOjpldmFsdWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
WFBhdGg6OkZ1blN1YnN0cmluZzo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlhQYXRoOjpGdW5MYW5nOjpldmFsdWF0ZSk6IFVzZSBWYWx1ZShmYWxzZSkgc28gd2UgY2FuIG1h
a2UgdGhlCisgICAgICAgIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYSBib29sZWFuIGV4cGxpY2l0
LgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bkZhbHNlOjpldmFsdWF0ZSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OnBvcHVsYXRlRnVuY3Rpb25NYXApOiBDaGFuZ2VkIGlk
aW9tIHNsaWdodGx5IHRvIG1hdGNoIG90aGVyCisgICAgICAgIG1hcHMgd2Ugc2V0IHVwLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bmN0aW9uOjpjcmVhdGUpOiBSZWZhY3RvcmVkIGNyZWF0
ZUZ1bmN0aW9uIGludG8gdGhyZWUKKyAgICAgICAgbWVtYmVyIGZ1bmN0aW9ucyBvZiB0aGlzIG5h
bWUuCisKKyAgICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuaDogTWFkZSBhbGwgdGhlIEZ1bmN0
aW9uIG1lbWJlcnMgcHJpdmF0ZSBvciBwcm90ZWN0ZWQKKyAgICAgICAgZXhjZXB0IGZvciBGdW5j
dGlvbjo6Y3JlYXRlLgorCisgICAgICAgICogeG1sL1hQYXRoR3JhbW1hci55OiBDaGFuZ2VkIHRo
ZSBwYXJzZXIgdG8gdXNlIGEgcmVmZXJlbmNlIGluc3RlYWQgb2YKKyAgICAgICAgYSBwb2ludGVy
LCBhbmQgdG8gcGFzcyB0aGUgcmVmZXJlbmNlIHRocm91Z2ggdG8geXlsZXggYXMgd2VsbC4gQnJl
YWsgdXAKKyAgICAgICAgdGhlIHVuaW9uIGludG8gcGllY2VzIGFuZCBhZGQgJWRlc3RydWN0b3Ig
YXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSBldmVyeXRoaW5nCisgICAgICAgIGdldHMgZGVhbGxvY2F0
ZWQgaWYgcGFyc2luZyBmYWlscy4gQWRkZWQgYSBuZXcgdG9wIGxldmVsIHJ1bGUgIlRvcCIgc28g
dGhhdAorICAgICAgICB3ZSB3b3VsZCBub3QgdHJ5IHRvIHNldCB0aGUgcGFyc2UgcmVzdWx0IG11
bHRpcGxlIHRpbWVzIGR1cmluZyBwYXJzaW5nLgorICAgICAgICBDYWxsIHNldFBhcnNlUmVzdWx0
IGluc3RlYWQgb2Ygc2V0dGluZyBtX3RvcEV4cHIgZGlyZWN0bHkuIFVzZSBzdGQ6OnVuaXF1ZV9w
dHIKKyAgICAgICAgdG8gYWRvcHQgcG9pbnRlcnMgZnJvbSB0aGUgdW5pb24uIFJlbW92ZWQgYWxs
IHRoZSByZWdpc3Rlci91bnJlZ2lzdGVyIGNhbGxzCisgICAgICAgIHRoYXQgdXNlZCB0byBiZSB1
c2VkIHRvIG1hbmFnZSBzdG9yYWdlLiBBbHNvIGNoYW5nZWQgdGhlIGZvdXIgZGlmZmVyZW50IG5v
ZGUKKyAgICAgICAgdHlwZXMgdG8gYmUgc2VwYXJhdGUgdG9rZW5zIGluc3RlYWQgb2YgdXNpbmcg
c3RyaW5nIG1hdGNoaW5nIGF0IHRoaXMgbGV2ZWwKKyAgICAgICAgZm9yIHRoZW0uCisKKyAgICAg
ICAgKiB4bWwvWFBhdGhOb2RlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2Rl
U2V0Ojpzb3J0KTogUmVtb3ZlZCBjb25zdF9jYXN0IHNpbmNlIG1faXNTb3J0ZWQgYW5kCisgICAg
ICAgIG1fbm9kZXMgYXJlIG5vdyBib3RoIG1hcmtlZCBtdXRhYmxlLiBBbHNvIHNldCBtX2lzU29y
dGVkIGFmdGVyIHNvcnRpbmc7IHRoaXMKKyAgICAgICAgd2FzIGFuIG92ZXJzaWdodCB0aGF0IGh1
cnQgcGVyZm9ybWFuY2UgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok5vZGVTZXQ6
OnRyYXZlcnNhbFNvcnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2RlU2V0
OjpmaXJzdE5vZGUpOiBVc2UgbnVsbHB0ci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpOb2Rl
U2V0OjphbnlOb2RlKTogRGl0dG8uCisKKyAgICAgICAgKiB4bWwvWFBhdGhOb2RlU2V0Lmg6IFJl
bW92ZWQgdW5uZWVkZWQgZXh0cmEgaW5jbHVkZXMuIFJlbW92ZWQgdGhlCisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEIGZvciBOb2RlU2V0IHNpbmNlIHdlIG5ldmVyIGFsbG9jYXRlIHRo
ZXNlIG9uIHRoZSBoZWFwLgorICAgICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMg
YSBzaW5nbGUgbm9kZS4gRGVsZXRlZCB0aGUgc3dhcCBmdW5jdGlvbiwgc2luY2UKKyAgICAgICAg
d2Ugbm93IG1vdmUgaW5zdGVhZCBvZiBzd2FwLiBEZWxldGVkIHRoZSBhcHBlbmQgZnVuY3Rpb24g
dGhhdCB0YWtlcyBhIHJhdyBOb2RlKiwKKyAgICAgICAgc2luY2UgY2FsbGluZyB0aGUgUGFzc1Jl
ZlB0cjxOb2RlPiBvdmVybG9hZCBkb2VzIHRoZSBzYW1lIHRoaW5nLiBSZW1vdmVkIHRoZQorICAg
ICAgICB1bnVzZWQgcmV2ZXJzZSBmdW5jdGlvbi4gTWFya2VkIGJvdGggbV9pc1NvcnRlZCBhbmQg
bV9ub2RlcyBtdXRhYmxlIHNvIHRoZQorICAgICAgICBzb3J0IGZ1bmN0aW9uIGNhbiBiZSBjb25z
dC4KKworICAgICAgICAqIHhtbC9YUGF0aFBhcnNlci5jcHA6IE1vdmVkIHRoZSBUb2tlbiBzdHJ1
Y3QgaW4gaGVyZSBpbnN0ZWFkIG9mIHRoZSBoZWFkZXIuCisgICAgICAgIChXZWJDb3JlOjpYUGF0
aDo6cG9wdWxhdGVBeGlzTmFtZXNNYXApOlJlbmFtZWQgdG8gbWF0Y2ggb3VyIG5vcm1hbCBuYW1p
bmcgc2NoZW1lLAorICAgICAgICBhbmQgY2hhbmdlZCB0byB1c2UgYWRkIGluc3RlYWQgb2Ygc2V0
LCB1c2UgV1RGX0FSUkFZX0xFTkdUSCwgYW5kIG5vdCB1c2UgYSB0eXBlZGVmLgorICAgICAgICAo
V2ViQ29yZTo6WFBhdGg6OnBhcnNlQXhpc05hbWUpOiBSZWxhdGVkIHN0eWxlIGNoYW5nZXMsIGlu
Y2x1ZGluZyByZW5hbWluZyB0bworICAgICAgICBiZXR0ZXIgcmVmbGVjdCB0aGUgd2F5IHRoaXMg
d29ya3Mgd2l0aCBhIGJvb2xlYW4uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFyc2VyOjpu
ZXh0VG9rZW5JbnRlcm5hbCk6IFVwZGF0ZWQgdG8gY2FsbCBwYXJzZUF4aXNOYW1lLAorICAgICAg
ICBhbmQgdG8gcHJvZHVjZSBmb3VyIHNlcGFyYXRlIHRva2VucyBmb3IgdGhlIGZvdXIgbm9kZSB0
eXBlIGZ1bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6Om5leHRUb2tl
bik6IFJlbmFtZWQgbG9jYWwgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFy
c2VyOjpQYXJzZXIpOiBNYWRlIHRoaXMgYSByZWFsIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYXJn
dW1lbnRzCisgICAgICAgIGFuZCBpbml0aWFsaXplcyBhbGwgdGhlIGZpZWxkcy4gRGVsZXRlZCB0
aGUgdW5uZWVkZWQgcmVzZXQgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGFy
c2VyOjpsZXgpOiBDaGFuZ2VkIHRvIHRha2UgYW4gYXJndW1lbnQgb2YgYW4gYXBwcm9wcmlhdGUg
dHlwZQorICAgICAgICBpbnN0ZWFkIG9mIGNhc3RpbmcgZnJvbSB2b2lkKi4gQWxzbyBjaGFuZ2Vk
IHRoZSBzdHJpbmcgY29kZSB0byBsZWFrIGEgU3RyaW5nSW1wbCwKKyAgICAgICAgd2hpY2ggaXMg
bm93IHdoYXQgdGhlIGdyYW1tYXIgY29kZSBleHBlY3RzLgorICAgICAgICAoV2ViQ29yZTo6WFBh
dGg6OlBhcnNlcjo6ZXhwYW5kUXVhbGlmaWVkTmFtZSk6IFJlbmFtZWQgZnJvbSBleHBhbmRRTmFt
ZS4gQ2hhbmdlZAorICAgICAgICB0byBzZXQgbV9zYXdOYW1lc3BhY2VFcnJvciBpbnN0ZWFkIG9m
IHJlbHlpbmcgb24gY29kZSBpbiB0aGUgZ3JhbW1hciB0byBkbyBpdC4KKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogUmVtb3ZlZCBtb3N0IG9mIHRoZSBj
b2RlIGluIHRoaXMgZnVuY3Rpb24uCisgICAgICAgIENoYW5nZWQgdG8gYSBtdWNoIHNpbXBsZXIg
bW9kZWwuIEFsc28gbWFkZSB0aGlzIGEgc3RhdGljIG1lbWJlciBmdW5jdGlvbiBzbyBpdAorICAg
ICAgICB0YWtlcyBjYXJlIG9mIGNyZWF0aW5nIHRoZSBwYXJzZXIgaXRzZWxmIGFuZCBkb2VzIG5v
dCBuZWVkIHRvIGNhbGwgcmVzZXQuIEFsc28KKyAgICAgICAgY2hhbmdlZCByZXR1cm4gdmFsdWUg
dG8gYmUgYSBzdGQ6OnVuaXF1ZV9wdHIgdG8gbWFrZSBvd25lcnNoaXAgbW9yZSBjbGVhci4KKwor
ICAgICAgICAqIHhtbC9YUGF0aFBhcnNlci5oOiBBZGRlZCBhIGRlY2xhcmF0aW9uIG9mIFlZU1RZ
UEUuIFJlbW92ZWQgdW5uZWVkZWQgZm9yd2FyZAorICAgICAgICBkZWNsYXJhdGlvbnMgYW5kIG1v
dmVkIFRva2VuIGludG8gdGhlIGNwcCBmaWxlLiBEZWxldGVkIG1vc3QgcHVibGljIGZ1bmN0aW9u
cywKKyAgICAgICAgbGVhdmluZyBvbmx5IHBhcnNlU3RhdGVtZW50LCB0aGUgZW50cnkgcG9pbnQs
IGFuZCB0aGUgdGhyZWUgZnVuY3Rpb25zIG5lZWRlZCBieQorICAgICAgICB0aGUgZ3JhbW1hciwg
bGV4LCBleHBhbmRRdWFsaWZpZWROYW1lLCBhbmQgc2V0UGFyc2VSZXN1bHQuCisKKyAgICAgICAg
KiB4bWwvWFBhdGhQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGaWx0ZXI6OkZp
bHRlcik6IE1vdmUgaW4gdGhlIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlbS4KKyAg
ICAgICAgKFdlYkNvcmU6OlhQYXRoOjpGaWx0ZXI6OmV2YWx1YXRlKTogVXBkYXRlZCBmb3IgbmFt
ZSBhbmQgdHlwZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvY2F0aW9uUGF0
aDo6TG9jYXRpb25QYXRoKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9jYXRp
b25QYXRoOjpldmFsdWF0ZSk6IERpdHRvLiBBbHNvIHVzZSBzdGQ6Om1vdmUgaW5zdGVhZCBvZgor
ICAgICAgICBWYWx1ZTo6YWRvcHQgYW5kIGluc3RlYWQgb2Ygc3dhcC4KKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpMb2NhdGlvblBhdGg6OmFwcGVuZFN0ZXApOiBDaGFuZ2VkIHRvIHRha2Ugb3du
ZXJzaGlwIG9mIGEKKyAgICAgICAgdW5pcXVlX3B0ci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpMb2NhdGlvblBhdGg6OnByZXBlbmRTdGVwKTogRGl0dG8uIFJlbmFtZWQgZnJvbSBpbnNlcnRG
aXJzdFN0ZXAuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6UGF0aDo6UGF0aCk6IE1vdmUgaW4g
dGhlIGFyZ3VtZW50cy4KKworICAgICAgICAqIHhtbC9YUGF0aFBhdGguaDogUmVtb3ZlZCB1bm5l
ZWRlZCBpbmNsdWRlcy4gQ2hhbmdlZCBhcnVndW1lbnQgdHlwZXMgdG8gdXNlCisgICAgICAgIHN0
ZDo6dW5pcXVlX3B0ciB0byBwYXNzIG93bmVyc2hpcCBpbi4gQWRkZWQgb3ZlcnJpZGUgdG8gYWxs
IHZpcnR1YWwgZnVuY3Rpb25zLgorICAgICAgICBDaGFuZ2VkIGRhdGEgbWVtYmVycyB0byB1c2Ug
c3RkOjp1bmlxdWVfcHRyLgorCisgICAgICAgICogeG1sL1hQYXRoUHJlZGljYXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdHJpbmdFeHByZXNzaW9uOjpTdHJpbmdFeHByZXNzaW9u
KTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TmVnYXRpdmU6Ok5lZ2F0aXZl
KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TmVnYXRpdmU6OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Ok51bWVy
aWNPcDo6TnVtZXJpY09wKTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TnVt
ZXJpY09wOjpldmFsdWF0ZSk6IFR3ZWFrIGZvcm1hdHRpbmcuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6RXFUZXN0T3A6OkVxVGVzdE9wKTogVXNlIG1vdmUuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6RXFUZXN0T3A6OmV2YWx1YXRlKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkxvZ2ljYWxPcDo6TG9naWNhbE9wKTogVXNlIG1vdmUuCisg
ICAgICAgIChXZWJDb3JlOjpYUGF0aDo6TG9naWNhbE9wOjpzaG9ydENpcmN1aXRPbik6IE1hZGUg
c2hvcnRlci4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpMb2dpY2FsT3A6OmV2YWx1YXRlKTog
VXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlVuaW9u
OjpVbmlvbik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlVuaW9uOjpldmFsdWF0
ZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpl
dmFsdWF0ZVByZWRpY2F0ZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcywgdG8gdXNlCisgICAg
ICAgIEFTQ0lJTGl0ZXJhbCwgYW5kIHRvIGJlIGEgZnJlZSBmdW5jdGlvbiB0aGF0IHRha2VzIGFu
IGV4cHJlc3Npb24uCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6cHJlZGljYXRlSXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUpOiBBZGRlZC4KKyAgICAgICAgUmVwbGFjZXMgdGhlIFByZWRpY2F0
ZTo6aXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUgZnVuY3Rpb24uCisKKyAgICAgICAgKiB4bWwv
WFBhdGhQcmVkaWNhdGUuaDogTWFkZSBhbGwgdGhlIGNsYXNzZXMgRklOQUwgYW5kIGFkZGVkIGEg
bG90IG9mIE9WRVJSSURFLgorICAgICAgICBBZGRlZCBhIGNvbnN0cnVjdG9yIGZvciBOZWdhdGl2
ZSBhbmQgVW5pb24uIEdvdCByaWQgb2YgdGhlIFByZWRpY2F0ZSBjbGFzcyBhbmQKKyAgICAgICAg
aW5zdGVhZCBwcm92aWRlZCB0d28gZnVuY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiBhbiBFeHByZXNz
aW9uLgorCisgICAgICAgICogeG1sL1hQYXRoU3RlcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6U3RlcDo6U3RlcCk6IFVzZSBtb3ZlIGluc3RlYSBkb2YgY29weWluZy4KKyAgICAgICAg
KFdlYkNvcmU6OlhQYXRoOjpTdGVwOjp+U3RlcCk6IFJlbW92ZWQgY2FsbHMgdG8gZGVsZXRlQWxs
VmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0ZXA6Om9wdGltaXplKTogVXNlIG1v
dmUgaW5zdGVhZCBvZiBzd2FwIGFuZCBjb3B5LiBBbHNvCisgICAgICAgIG9wZXJhdGUgZGlyZWN0
bHkgb24gdGhlIGRhdGEgbWVtYmVycyBvZiB0aGUgbm9kZSB0ZXN0IGluc3RlYWQgb2YgdXNpbmcg
ZnVuY3Rpb25zCisgICAgICAgIHRoYXQganVzdCByZXR1cm4gcmVmZXJlbmNlcyB0byB0aG9zZSBk
YXRhIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6b3B0aW1pemVTdGVwUGFpcik6
IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMsIG1vdmUKKyAgICAgICAgaW5zdGVh
ZCBvZiBzd2FwLCBhbmQgZWFybHkgcmV0dXJuIGluc3RlYWQgb2YgbmVzdGVkIGlmIHN0YXRlbWVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6cHJlZGljYXRlc0FyZUNvbnRleHRM
aXN0SW5zZW5zaXRpdmUpOiBVc2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpTdGVwOjpldmFsdWF0ZSk6IFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgYW5k
IG1vdmUKKyAgICAgICAgaW5zdGVhZCBvZiBzd2FwLgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
Om5vZGVNYXRjaGVzQmFzaWNUZXN0KTogVXNlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVy
cyBhbmQKKyAgICAgICAgbW9yZSBzcGVjaWZpYyB0eXBlcyB3aGVuIHBvc3NpYmxlLgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6Om5vZGVNYXRjaGVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpYUGF0aDo6U3RlcDo6bm9kZXNJbkF4aXMpOiBVc2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBv
aW50ZXJzLiBBZGRlZAorICAgICAgICBicmFjZXMgdG8gbWF0Y2ggc3R5bGUuIFVzZSB3b3JkcyBp
bnN0ZWFkIG9mIGxldHRlcnMgZm9yIGxvY2FsIHZhcmlhYmxlIG5hbWVzLgorCisgICAgICAgICog
eG1sL1hQYXRoU3RlcC5oOiBNYWtlIGFsbW9zdCBldmVyeXRoaW5nIGluIE5vZGVUZXN0IHByaXZh
dGUgc2luY2UgY2FsbGVycworICAgICAgICBqdXN0IHNldCB0aGVzZSB1cCBhbmQgU3RlcCBpcyB3
aGF0IGFjdHVhbGx5IHVzZXMgdGhlbS4gQ2hhbmdlZCB0aGUgcHJlZGljYXRlCisgICAgICAgIHZl
Y3RvcnMgdG8gYmUgdmVjdG9ycyBvZiBQcmVkaWNhdGUgaW5zdGVhZCBvZiBQcmVkaWNhdGUqLCBz
aW5jZSBhIFByZWRpY2F0ZQorICAgICAgICBpcyBqdXN0IGEgd3JhcHBlciBhcm91bmQgYSBzaW5n
bGUgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+LiBDaGFuZ2VkIHRvIHVzZQorICAgICAgICBt
b3ZlIGluc3RlYWQgb2YgY29weSB3aGVuIG1ha2luZyBhIFN0ZXAgYW5kIHRvIHVzZSByZWZlcmVu
Y2VzIGluc3RlYWQgb2YgcG9pbnRlcnMuCisKKyAgICAgICAgKiB4bWwvWFBhdGhWYWx1ZS5jcHA6
IFVzZSBzdGQ6Om51bWVyaWNfbGltaXRzIGV4cGxpY2l0bHkgaW5zdGVhZCBvZiB1c2luZyB1c2lu
Zy4KKyAgICAgICAgR290IHJpZCBvZiBWYWx1ZTo6YWRvcHQuCisgICAgICAgIChXZWJDb3JlOjpY
UGF0aDo6VmFsdWU6OnRvTm9kZVNldCk6IFVzZSBOZXZlckRlc3Ryb3llZCBpbnN0ZWFkIG9mIERF
RklORV9TVEFURV9MT0NBTC4KKyAgICAgICAgVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjptb2RpZmlhYmxlTm9kZVNldCk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVlOjp0b0Jvb2xlYW4pOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpWYWx1ZTo6dG9OdW1iZXIpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlhQYXRoOjpWYWx1ZTo6dG9TdHJpbmcpOiBEaXR0by4gVXNlIEFTQ0lJTGl0ZXJhbC4K
KworICAgICAgICAqIHhtbC9YUGF0aFZhbHVlLmg6IE1vdmVkIFZhbHVlRGF0YSBjbGFzcyBpbnNp
ZGUgdGhlIFZhbHVlIGNsYXNzIGFuZCByZW5hbWVkCisgICAgICAgIGl0IFZhbHVlOjpEYXRhLiBS
ZW1vdmVkIGZhbmN5IHRyaWNrIHRoYXQgYXZvaWRzIHR1cm5pbmcgcG9pbnRlcnMgaW50byBib29s
LCBhbmQKKyAgICAgICAganVzdCB0YWtlIHRoZSByaXNrLiBNYWRlIG1hbnksIGJ1dCBub3QgYWxs
LCBvZiB0aGUgVmFsdWUgY29uc3RydWN0b3JzIGV4cGxpY2l0CisgICAgICAgIHNpbmNlIHdlIG5v
cm1hbGx5IGFyZSBleHBsaWNpdCBhdCBjYWxsIHNpdGVzLiBSZW1vdmVkIHVubmVlZGVkIHVuc2ln
bmVkIGxvbmcKKyAgICAgICAgb3ZlcmxvYWQgb2YgdGhlIGNvbnN0cnVjdG9yLiBDaGFuZ2VkIHRo
ZSBOb2RlU2V0IHZlcnNpb24gb2YgdGhlIGNvbnN0cnVjdG9yIHRvCisgICAgICAgIHVzZSBzdGQ6
Om1vdmUgYW5kIHVzZSB0aGF0IGluc3RlYWQgb2YgQWRvcHRUYWcuCisKIDIwMTMtMTAtMDggIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBy
b3ZlZCBXaW5MYXVuY2hlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5oCmluZGV4IDA1ODRhNWVhZjZmYjk4NWM3OWFhZjQ4
NzE5ODg4ZGQyZmQ0NzczNzkuLjI2OWQwYjBkOGZjOThmMDlhYTE3MDZlYmU3Yjg1ZWFmMDlmMDVj
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0F0dHIuaApAQCAtNjQsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdHRh
Y2hUb0VsZW1lbnQoRWxlbWVudCopOwogICAgIHZvaWQgZGV0YWNoRnJvbUVsZW1lbnRXaXRoVmFs
dWUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZXNwYWNlVVJJKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLm5hbWVzcGFj
ZVVSSSgpOyB9CisKIHByaXZhdGU6CiAgICAgQXR0cihFbGVtZW50KiwgY29uc3QgUXVhbGlmaWVk
TmFtZSYpOwogICAgIEF0dHIoRG9jdW1lbnQmLCBjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJiB2YWx1ZSk7CkBAIC03NCw3ICs3Niw2IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBOb2RlVHlwZSBub2RlVHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEFUVFJJQlVU
RV9OT0RFOyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9uYW1lLmxvY2FsTmFtZSgpOyB9Ci0gICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIG1fbmFtZS5uYW1lc3BhY2VVUkkoKTsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBwcmVmaXgoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX25hbWUucHJlZml4KCk7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcApp
bmRleCAzMzY0NGMyNzJlZDE1OWNmMTI3Y2MyNDFhMTEzMzFhYzRmYWE4NDI1Li5lNDU2ZTE5YWZj
MWQwYjc4MDBlYTZjMWYzMGFlMzBmMzhlNjEyYzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhF
eHByZXNzaW9uLmNwcApAQCAtNDEsMjEgKzQxLDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
dXNpbmcgbmFtZXNwYWNlIFhQYXRoOwogICAgIAotUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+
IFhQYXRoRXhwcmVzc2lvbjo6Y3JlYXRlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGV4cHJlc3Np
b24sIFhQYXRoTlNSZXNvbHZlciogcmVzb2x2ZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQoraW5saW5l
IFhQYXRoRXhwcmVzc2lvbjo6WFBhdGhFeHByZXNzaW9uKHN0ZDo6dW5pcXVlX3B0cjxYUGF0aDo6
RXhwcmVzc2lvbj4gZXhwcmVzc2lvbikKKyAgICA6IG1fdG9wRXhwcmVzc2lvbihzdGQ6Om1vdmUo
ZXhwcmVzc2lvbikpCiB7Ci0gICAgUmVmUHRyPFhQYXRoRXhwcmVzc2lvbj4gZXhwciA9IFhQYXRo
RXhwcmVzc2lvbjo6Y3JlYXRlKCk7Ci0gICAgUGFyc2VyIHBhcnNlcjsKK30KIAotICAgIGV4cHIt
Pm1fdG9wRXhwcmVzc2lvbiA9IHBhcnNlci5wYXJzZVN0YXRlbWVudChleHByZXNzaW9uLCByZXNv
bHZlciwgZWMpOwotICAgIGlmICghZXhwci0+bV90b3BFeHByZXNzaW9uKQotICAgICAgICByZXR1
cm4gMDsKK1Bhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9uPiBYUGF0aEV4cHJlc3Npb246OmNyZWF0
ZUV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBYUGF0aE5TUmVzb2x2ZXIqIHJl
c29sdmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBhdXRvIHBhcnNlZEV4cHJlc3Npb24g
PSBQYXJzZXI6OnBhcnNlU3RhdGVtZW50KGV4cHJlc3Npb24sIHJlc29sdmVyLCBlYyk7CisgICAg
aWYgKCFwYXJzZWRFeHByZXNzaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJl
dHVybiBleHByLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFhQYXRoRXhwcmVz
c2lvbihzdGQ6Om1vdmUocGFyc2VkRXhwcmVzc2lvbikpKTsKIH0KIAogWFBhdGhFeHByZXNzaW9u
Ojp+WFBhdGhFeHByZXNzaW9uKCkKIHsKLSAgICBkZWxldGUgbV90b3BFeHByZXNzaW9uOwogfQog
CiBQYXNzUmVmUHRyPFhQYXRoUmVzdWx0PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1YXRlKE5vZGUq
IGNvbnRleHROb2RlLCB1bnNpZ25lZCBzaG9ydCB0eXBlLCBYUGF0aFJlc3VsdCosIEV4Y2VwdGlv
bkNvZGUmIGVjKQpAQCAtNzEsMjAgKzcyLDIwIEBAIFBhc3NSZWZQdHI8WFBhdGhSZXN1bHQ+IFhQ
YXRoRXhwcmVzc2lvbjo6ZXZhbHVhdGUoTm9kZSogY29udGV4dE5vZGUsIHVuc2lnbmVkIHNoCiAg
ICAgZXZhbHVhdGlvbkNvbnRleHQucG9zaXRpb24gPSAxOwogICAgIGV2YWx1YXRpb25Db250ZXh0
LmhhZFR5cGVDb252ZXJzaW9uRXJyb3IgPSBmYWxzZTsKICAgICBSZWZQdHI8WFBhdGhSZXN1bHQ+
IHJlc3VsdCA9IFhQYXRoUmVzdWx0OjpjcmVhdGUoJmNvbnRleHROb2RlLT5kb2N1bWVudCgpLCBt
X3RvcEV4cHJlc3Npb24tPmV2YWx1YXRlKCkpOwotICAgIGV2YWx1YXRpb25Db250ZXh0Lm5vZGUg
PSAwOyAvLyBEbyBub3QgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBub2RlLCBhcyB0
aGlzIG1heSBwcmV2ZW50IHRoZSB3aG9sZSBkb2N1bWVudCBmcm9tIGJlaW5nIGRlc3Ryb3llZCBp
biB0aW1lLgorICAgIGV2YWx1YXRpb25Db250ZXh0Lm5vZGUgPSBudWxscHRyOyAvLyBEbyBub3Qg
aG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBub2RlLCBhcyB0aGlzIG1heSBwcmV2ZW50
IHRoZSB3aG9sZSBkb2N1bWVudCBmcm9tIGJlaW5nIGRlc3Ryb3llZCBpbiB0aW1lLgogCiAgICAg
aWYgKGV2YWx1YXRpb25Db250ZXh0LmhhZFR5cGVDb252ZXJzaW9uRXJyb3IpIHsKICAgICAgICAg
Ly8gSXQgaXMgbm90IHNwZWNpZmllZCB3aGF0IHRvIGRvIGlmIHR5cGUgY29udmVyc2lvbiBmYWls
cyB3aGlsZSBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24sIGFuZCBJTlZBTElEX0VYUFJFU1NJT05f
RVJSIGlzIG5vdCBleGFjdGx5IHJpZ2h0CiAgICAgICAgIC8vIHdoZW4gdGhlIGZhaWx1cmUgaGFw
cGVucyBpbiBhbiBvdGhlcndpc2UgdmFsaWQgZXhwcmVzc2lvbiBiZWNhdXNlIG9mIGEgdmFyaWFi
bGUuIEJ1dCBYUGF0aEV2YWx1YXRvciBkb2VzIG5vdCBzdXBwb3J0IHZhcmlhYmxlcywgc28gaXQn
cyBjbG9zZSBlbm91Z2guCiAgICAgICAgIGVjID0gWFBhdGhFeGNlcHRpb246OklOVkFMSURfRVhQ
UkVTU0lPTl9FUlI7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAKICAgICBpZiAodHlwZSAhPSBYUGF0aFJlc3VsdDo6QU5ZX1RZUEUpIHsKICAgICAg
ICAgZWMgPSAwOwogICAgICAgICByZXN1bHQtPmNvbnZlcnRUbyh0eXBlLCBlYyk7CiAgICAgICAg
IGlmIChlYykKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJl
c3Npb24uaAppbmRleCAzMTI0OTM5YzZhZGNjZjQ1NTMxMDcwNDZhNjYxNDJiNTU4ZDRkYzljLi4y
YTQyMTg3ODFkNjYxMzdkMTc4MWM2MmU3ZDEzODgzNmE3NDVhN2FkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoRXhwcmVzc2lvbi5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1
IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQ1LDE2ICs0NCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBYUGF0aEV4cHJlc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxYUGF0aEV4cHJlc3Np
b24+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhQYXRoRXhwcmVz
c2lvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhQYXRoRXhwcmVzc2lvbik7IH0K
KyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9uPiBjcmVhdGVFeHByZXNz
aW9uKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgWFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgICAgICB+WFBhdGhFeHByZXNzaW9uKCk7CiAgICAgICAgIAotICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxYUGF0aEV4cHJlc3Npb24+IGNyZWF0ZUV4cHJlc3Npb24oY29uc3Qg
U3RyaW5nJiBleHByZXNzaW9uLCBYUGF0aE5TUmVzb2x2ZXIqLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgICAgIFBhc3NSZWZQdHI8WFBhdGhSZXN1bHQ+IGV2YWx1YXRlKE5vZGUqIGNvbnRleHROb2Rl
LCB1bnNpZ25lZCBzaG9ydCB0eXBlLCBYUGF0aFJlc3VsdCosIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFhQYXRoRXhwcmVzc2lvbigpIHsgfQor
ICAgICAgICBYUGF0aEV4cHJlc3Npb24oc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNzaW9u
Pik7CiAKLSAgICAgICAgWFBhdGg6OkV4cHJlc3Npb24qIG1fdG9wRXhwcmVzc2lvbjsKKyAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPFhQYXRoOjpFeHByZXNzaW9uPiBtX3RvcEV4cHJlc3Npb247CiAg
ICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lv
bk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCmlu
ZGV4IGUzN2NjZGFlOGJjNTI5ZGY3MTM1YTc4Mzg3NTZkZGY4ZTQ2OWM5YTQuLjQ3NjQ4MWY3YzMz
MjhkZGQ3ODdhODhjN2QxZjkyOTNkNThmMzE1MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhFeHByZXNzaW9uTm9kZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJYUGF0aEV4
cHJlc3Npb25Ob2RlLmgiCiAKICNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zNSw4ICszNiw4IEBAIG5hbWVzcGFjZSBYUGF0aCB7CiAKIEV2YWx1YXRp
b25Db250ZXh0JiBFeHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpCiB7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChFdmFsdWF0aW9uQ29udGV4dCwgZXZhbHVhdGlvbkNvbnRleHQsICgpKTsK
LSAgICByZXR1cm4gZXZhbHVhdGlvbkNvbnRleHQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEV2YWx1YXRpb25Db250ZXh0PiBjb250ZXh0OworICAgIHJldHVybiBjb250ZXh0OwogfQogCiBF
eHByZXNzaW9uOjpFeHByZXNzaW9uKCkKQEAgLTQ2LDkgKzQ3LDE1IEBAIEV4cHJlc3Npb246OkV4
cHJlc3Npb24oKQogewogfQogCi1FeHByZXNzaW9uOjp+RXhwcmVzc2lvbigpCit2b2lkIEV4cHJl
c3Npb246OnNldFN1YmV4cHJlc3Npb25zKFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4+IHN1YmV4cHJlc3Npb25zKQogewotICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3N1YkV4cHJlc3Np
b25zKTsKKyAgICBBU1NFUlQobV9zdWJleHByZXNzaW9ucy5pc0VtcHR5KCkpOworICAgIG1fc3Vi
ZXhwcmVzc2lvbnMgPSBzdGQ6Om1vdmUoc3ViZXhwcmVzc2lvbnMpOworICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX3N1YmV4cHJlc3Npb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIG1f
aXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSB8PSBtX3N1YmV4cHJlc3Npb25zW2ldLT5tX2lzQ29udGV4
dE5vZGVTZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUgfD0g
bV9zdWJleHByZXNzaW9uc1tpXS0+bV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsKKyAgICAg
ICAgbV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlIHw9IG1fc3ViZXhwcmVzc2lvbnNbaV0tPm1faXND
b250ZXh0U2l6ZVNlbnNpdGl2ZTsKKyAgICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFhQYXRoCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCAxZWNlNGIzYjFiM2Iw
ODQ2NzkyNjEwYWYyN2M1NzgyNGJlMTZmNmI2Li5jZjI2MTEzOGY1NGQ1YWJmMTU0Y2JkNGEzYjgx
MjI4OWNkNjVmNDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1IEZyZXJpY2ggUmFhYmUg
PHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTMgQXBwbGUg
SW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNjYg
KzI3LDU2IEBACiAjaWZuZGVmIFhQYXRoRXhwcmVzc2lvbk5vZGVfaAogI2RlZmluZSBYUGF0aEV4
cHJlc3Npb25Ob2RlX2gKIAotI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJYUGF0aFZhbHVl
LmgiCi0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0j
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBu
YW1lc3BhY2UgWFBhdGggewogCiBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgewotICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgogICAgIFJlZlB0cjxOb2RlPiBub2RlOwotICAg
IHVuc2lnbmVkIGxvbmcgc2l6ZTsKLSAgICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOworICAgIHVu
c2lnbmVkIHNpemU7CisgICAgdW5zaWduZWQgcG9zaXRpb247CiAgICAgSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4gdmFyaWFibGVCaW5kaW5nczsKIAogICAgIGJvb2wgaGFkVHlwZUNvbnZlcnNpb25F
cnJvcjsKIH07CiAKLWNsYXNzIFBhcnNlTm9kZSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+UGFy
c2VOb2RlKCkgeyB9Ci19OwotCi1jbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSB7
CitjbGFzcyBFeHByZXNzaW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHByZXNzaW9u
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV2YWx1YXRp
b25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCgpOwogCi0gICAgdmlydHVhbCB+RXhwcmVzc2lv
bigpOworICAgIHZpcnR1YWwgfkV4cHJlc3Npb24oKSB7IH0KIAotICAgIHZvaWQgYWRkU3ViRXhw
cmVzc2lvbihFeHByZXNzaW9uKiBleHByKQotICAgIHsKLSAgICAgICAgbV9zdWJFeHByZXNzaW9u
cy5hcHBlbmQoZXhwcik7Ci0gICAgICAgIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSB8PSBleHBy
LT5tX2lzQ29udGV4dE5vZGVTZW5zaXRpdmU7Ci0gICAgICAgIG1faXNDb250ZXh0UG9zaXRpb25T
ZW5zaXRpdmUgfD0gZXhwci0+bV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsKLSAgICAgICAg
bV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlIHw9IGV4cHItPm1faXNDb250ZXh0U2l6ZVNlbnNpdGl2
ZTsKLSAgICB9CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCA9IDA7CiAKICAgICBib29sIGlz
Q29udGV4dE5vZGVTZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2lzQ29udGV4dE5vZGVTZW5z
aXRpdmU7IH0KLSAgICB2b2lkIHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUoYm9vbCB2YWx1ZSkg
eyBtX2lzQ29udGV4dE5vZGVTZW5zaXRpdmUgPSB2YWx1ZTsgfQotCiAgICAgYm9vbCBpc0NvbnRl
eHRQb3NpdGlvblNlbnNpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb250ZXh0UG9zaXRpb25T
ZW5zaXRpdmU7IH0KLSAgICB2b2lkIHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKGJvb2wg
dmFsdWUpIHsgbV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSA9IHZhbHVlOyB9Ci0KICAgICBi
b29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2lzQ29udGV4dFNp
emVTZW5zaXRpdmU7IH0KLSAgICB2b2lkIHNldElzQ29udGV4dFNpemVTZW5zaXRpdmUoYm9vbCB2
YWx1ZSkgeyBtX2lzQ29udGV4dFNpemVTZW5zaXRpdmUgPSB2YWx1ZTsgfQotCi0gICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJl
c3VsdFR5cGUoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBFeHByZXNzaW9uKCk7CiAK
LSAgICB1bnNpZ25lZCBzdWJFeHByZXNzaW9uQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3N1YkV4
cHJlc3Npb25zLnNpemUoKTsgfQotICAgIGNvbnN0IEV4cHJlc3Npb24mIHN1YkV4cHJlc3Npb24o
dW5zaWduZWQgaSkgY29uc3QgeyByZXR1cm4gKm1fc3ViRXhwcmVzc2lvbnNbaV07IH0KKyAgICB1
bnNpZ25lZCBzdWJleHByZXNzaW9uQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3N1YmV4cHJlc3Np
b25zLnNpemUoKTsgfQorICAgIGNvbnN0IEV4cHJlc3Npb24mIHN1YmV4cHJlc3Npb24odW5zaWdu
ZWQgaSkgY29uc3QgeyByZXR1cm4gKm1fc3ViZXhwcmVzc2lvbnNbaV07IH0KKworICAgIHZvaWQg
YWRkU3ViZXhwcmVzc2lvbihzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gZXhwcmVzc2lvbikK
KyAgICB7CisgICAgICAgIG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSB8PSBleHByZXNzaW9uLT5t
X2lzQ29udGV4dE5vZGVTZW5zaXRpdmU7CisgICAgICAgIG1faXNDb250ZXh0UG9zaXRpb25TZW5z
aXRpdmUgfD0gZXhwcmVzc2lvbi0+bV9pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZTsKKyAgICAg
ICAgbV9pc0NvbnRleHRTaXplU2Vuc2l0aXZlIHw9IGV4cHJlc3Npb24tPm1faXNDb250ZXh0U2l6
ZVNlbnNpdGl2ZTsKKyAgICAgICAgbV9zdWJleHByZXNzaW9ucy5hcHBlbmQoc3RkOjptb3ZlKGV4
cHJlc3Npb24pKTsKKyAgICB9CisKKyAgICB2b2lkIHNldFN1YmV4cHJlc3Npb25zKFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+KTsKKworICAgIHZvaWQgc2V0SXNDb250ZXh0Tm9k
ZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSA9IHZhbHVl
OyB9CisgICAgdm9pZCBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShib29sIHZhbHVlKSB7
IG1faXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SXND
b250ZXh0U2l6ZVNlbnNpdGl2ZShib29sIHZhbHVlKSB7IG1faXNDb250ZXh0U2l6ZVNlbnNpdGl2
ZSA9IHZhbHVlOyB9CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPEV4cHJlc3Npb24qPiBtX3N1YkV4
cHJlc3Npb25zOworICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fc3Vi
ZXhwcmVzc2lvbnM7CiAKICAgICAvLyBFdmFsdWF0aW9uIGRldGFpbHMgdGhhdCBjYW4gYmUgdXNl
ZCBmb3Igb3B0aW1pemF0aW9uLgogICAgIGJvb2wgbV9pc0NvbnRleHROb2RlU2Vuc2l0aXZlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAKaW5kZXggMmQyNGUxYWFlNTZlM2Q5MjBi
OGFjMGQyNzQ1NWJiYjc1OTVmNDQ0MS4uYmM1OTMyNTQ0YjgyZDYwY2Y4MmUzMzY0ZjhjYjczZDli
ZjlmNjE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUu
b3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJYUGF0aFV0aWwu
aCIKICNpbmNsdWRlICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ2LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQogICAgIHJldHVybiBjID09ICcg
JyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1x0JzsKIH0KIAotCi0jZGVmaW5l
IERFRklORV9GVU5DVElPTl9DUkVBVE9SKENsYXNzKSBzdGF0aWMgRnVuY3Rpb24qIGNyZWF0ZSMj
Q2xhc3MoKSB7IHJldHVybiBuZXcgQ2xhc3M7IH0KKyNkZWZpbmUgREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoU3VmZml4KSBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGVGdW5j
dGlvbiMjU3VmZml4KCkgeyByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxGdW4jI1N1ZmZpeD4oKTsg
fQogCiBjbGFzcyBJbnRlcnZhbCB7CiBwdWJsaWM6CkBAIC02MywyMDEgKzYzLDE5MyBAQCBwcml2
YXRlOgogICAgIGludCBtX21heDsKIH07CiAKLXN0cnVjdCBGdW5jdGlvblJlYyB7Ci0gICAgdHlw
ZWRlZiBGdW5jdGlvbiAqKCpGYWN0b3J5Rm4pKCk7Ci0gICAgRmFjdG9yeUZuIGZhY3RvcnlGbjsK
LSAgICBJbnRlcnZhbCBhcmdzOwotfTsKLQotc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlv
blJlYz4qIGZ1bmN0aW9uTWFwOwotCi1jbGFzcyBGdW5MYXN0IDogcHVibGljIEZ1bmN0aW9uIHsK
LSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6
VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9Citj
bGFzcyBGdW5MYXN0IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBw
dWJsaWM6CiAgICAgRnVuTGFzdCgpIHsgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSh0cnVlKTsg
fQogfTsKIAotY2xhc3MgRnVuUG9zaXRpb24gOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KK2NsYXNzIEZ1blBv
c2l0aW9uIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1
YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6
CiAgICAgRnVuUG9zaXRpb24oKSB7IHNldElzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKHRydWUp
OyB9CiB9OwogCi1jbGFzcyBGdW5Db3VudCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVh
bCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ291
bnQgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07CiAKLWNsYXNz
IEZ1bklkIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1
cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQorY2xhc3MgRnVuSWQgRklOQUwgOiBwdWJsaWMgRnVu
Y3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Mb2NhbE5hbWUgOiBwdWJs
aWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3Ry
aW5nVmFsdWU7IH0KK2NsYXNzIEZ1bkxvY2FsTmFtZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7
CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVl
OjpTdHJpbmdWYWx1ZTsgfQogcHVibGljOgogICAgIEZ1bkxvY2FsTmFtZSgpIHsgc2V0SXNDb250
ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBsb2NhbC1uYW1lKCkgd2l0aCBubyBhcmd1bWVu
dHMgdXNlcyBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTmFtZXNwYWNlVVJJIDogcHVi
bGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6OlN0
cmluZ1ZhbHVlOyB9CitjbGFzcyBGdW5OYW1lc3BhY2VVUkkgRklOQUwgOiBwdWJsaWMgRnVuY3Rp
b24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBW
YWx1ZTo6U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lc3BhY2VVUkkoKSB7IHNl
dElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbmFtZXNwYWNlLXVyaSgpIHdpdGgg
bm8gYXJndW1lbnRzIHVzZXMgY29udGV4dCBub2RlLiAKIH07CiAKLWNsYXNzIEZ1bk5hbWUgOiBw
dWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6
U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bk5hbWUgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24gewor
ICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6
U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OYW1lKCkgeyBzZXRJc0NvbnRleHROb2Rl
U2Vuc2l0aXZlKHRydWUpOyB9IC8vIG5hbWUoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRl
eHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5TdHJpbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAg
IHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNz
IEZ1blN0cmluZyBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBl
dmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogcHVi
bGljOgogICAgIEZ1blN0cmluZygpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsg
fSAvLyBzdHJpbmcoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9Owog
Ci1jbGFzcyBGdW5Db25jYXQgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1bkNvbmNhdCBGSU5B
TCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Rh
cnRzV2l0aCA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1blN0YXJ0c1dpdGggRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCi1jbGFzcyBGdW5Db250YWlu
cyA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZh
bHVlOjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkNvbnRhaW5zIEZJTkFMIDogcHVibGljIEZ1
bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5nQmVmb3Jl
IDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6OlN0cmluZ1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdCZWZvcmUgRklOQUwgOiBwdWJs
aWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN1YnN0cmluZ0Fm
dGVyIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29u
c3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4g
VmFsdWU6OlN0cmluZ1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmdBZnRlciBGSU5BTCA6IHB1
YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuU3Vic3RyaW5n
IDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFs
dWU6OlN0cmluZ1ZhbHVlOyB9CitjbGFzcyBGdW5TdWJzdHJpbmcgRklOQUwgOiBwdWJsaWMgRnVu
Y3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blN0cmluZ0xlbmd0aCA6IHB1
YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpO
dW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuU3RyaW5nTGVuZ3RoIEZJTkFMIDogcHVibGljIEZ1bmN0
aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
VmFsdWU6Ok51bWJlclZhbHVlOyB9CiBwdWJsaWM6CiAgICAgRnVuU3RyaW5nTGVuZ3RoKCkgeyBz
ZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKHRydWUpOyB9IC8vIHN0cmluZy1sZW5ndGgoKSB3aXRo
IG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9OwogCi1jbGFzcyBGdW5Ob3JtYWxp
emVTcGFjZSA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQorY2xhc3MgRnVuTm9ybWFsaXplU3BhY2UgRklOQUwg
OiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5Ob3Jt
YWxpemVTcGFjZSgpIHsgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsgfSAvLyBub3Jt
YWxpemUtc3BhY2UoKSB3aXRoIG5vIGFyZ3VtZW50cyB1c2VzIGNvbnRleHQgbm9kZS4gCiB9Owog
Ci1jbGFzcyBGdW5UcmFuc2xhdGUgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFs
dWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KK2NsYXNzIEZ1blRyYW5zbGF0
ZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpTdHJpbmdWYWx1ZTsgfQogfTsKIAotY2xhc3Mg
RnVuQm9vbGVhbiA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0
ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KK2NsYXNzIEZ1bkJvb2xlYW4gRklOQUwgOiBw
dWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiB9OwogCiBjbGFzcyBGdW5Ob3QgOiBw
dWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6
Qm9vbGVhblZhbHVlOyB9CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KIH07CiAKLWNsYXNzIEZ1blRydWUgOiBw
dWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6
Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5UcnVlIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsK
KyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6
OkJvb2xlYW5WYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuRmFsc2UgOiBwdWJsaWMgRnVuY3Rpb24g
ewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9
CitjbGFzcyBGdW5GYWxzZSBGSU5BTCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBW
YWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUg
cmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7
IH0KIH07CiAKLWNsYXNzIEZ1bkxhbmcgOiBwdWJsaWMgRnVuY3Rpb24gewotICAgIHZpcnR1YWwg
VmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5
cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CitjbGFzcyBGdW5MYW5n
IEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6OkJvb2xlYW5WYWx1ZTsgfQogcHVibGljOgogICAg
IEZ1bkxhbmcoKSB7IHNldElzQ29udGV4dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbGFuZygp
IGFsd2F5cyB3b3JrcyBvbiBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuTnVtYmVyIDog
cHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6
Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5OdW1iZXIgRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24g
eworICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1
ZTo6TnVtYmVyVmFsdWU7IH0KIHB1YmxpYzoKICAgICBGdW5OdW1iZXIoKSB7IHNldElzQ29udGV4
dE5vZGVTZW5zaXRpdmUodHJ1ZSk7IH0gLy8gbnVtYmVyKCkgd2l0aCBubyBhcmd1bWVudHMgdXNl
cyBjb250ZXh0IG5vZGUuIAogfTsKIAotY2xhc3MgRnVuU3VtIDogcHVibGljIEZ1bmN0aW9uIHsK
LSAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6
VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9Citj
bGFzcyBGdW5TdW0gRklOQUwgOiBwdWJsaWMgRnVuY3Rpb24geworICAgIHZpcnR1YWwgVmFsdWUg
ZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3Vs
dFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6TnVtYmVyVmFsdWU7IH0KIH07
CiAKLWNsYXNzIEZ1bkZsb29yIDogcHVibGljIEZ1bmN0aW9uIHsKLSAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CitjbGFzcyBGdW5GbG9vciBGSU5B
TCA6IHB1YmxpYyBGdW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuQ2Vp
bGluZyA6IHB1YmxpYyBGdW5jdGlvbiB7Ci0gICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0OwotICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJu
IFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorY2xhc3MgRnVuQ2VpbGluZyBGSU5BTCA6IHB1YmxpYyBG
dW5jdGlvbiB7CisgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQogfTsKIAotY2xhc3MgRnVuUm91bmQgOiBwdWJsaWMg
RnVuY3Rpb24gewotICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6TnVtYmVy
VmFsdWU7IH0KK2NsYXNzIEZ1blJvdW5kIEZJTkFMIDogcHVibGljIEZ1bmN0aW9uIHsKKyAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJl
clZhbHVlOyB9CiBwdWJsaWM6CiAgICAgc3RhdGljIGRvdWJsZSByb3VuZChkb3VibGUpOwogfTsK
IAotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTGFzdCkKLURFRklORV9GVU5DVElPTl9DUkVB
VE9SKEZ1blBvc2l0aW9uKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuQ291bnQpCi1ERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5JZCkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkxv
Y2FsTmFtZSkKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5hbWVzcGFjZVVSSSkKLURFRklO
RV9GVU5DVElPTl9DUkVBVE9SKEZ1bk5hbWUpCi0KLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1
blN0cmluZykKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvbmNhdCkKLURFRklORV9GVU5D
VElPTl9DUkVBVE9SKEZ1blN0YXJ0c1dpdGgpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5D
b250YWlucykKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN1YnN0cmluZ0JlZm9yZSkKLURF
RklORV9GVU5DVElPTl9DUkVBVE9SKEZ1blN1YnN0cmluZ0FmdGVyKQotREVGSU5FX0ZVTkNUSU9O
X0NSRUFUT1IoRnVuU3Vic3RyaW5nKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuU3RyaW5n
TGVuZ3RoKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuTm9ybWFsaXplU3BhY2UpCi1ERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5UcmFuc2xhdGUpCi0KLURFRklORV9GVU5DVElPTl9DUkVB
VE9SKEZ1bkJvb2xlYW4pCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Ob3QpCi1ERUZJTkVf
RlVOQ1RJT05fQ1JFQVRPUihGdW5UcnVlKQotREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRnVuRmFs
c2UpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5MYW5nKQotCi1ERUZJTkVfRlVOQ1RJT05f
Q1JFQVRPUihGdW5OdW1iZXIpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5TdW0pCi1ERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5GbG9vcikKLURFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1
bkNlaWxpbmcpCi1ERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Sb3VuZCkKK0RFRklORV9GVU5D
VElPTl9DUkVBVE9SKExhc3QpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihQb3NpdGlvbikKK0RF
RklORV9GVU5DVElPTl9DUkVBVE9SKENvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoSWQp
CitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihMb2NhbE5hbWUpCitERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihOYW1lc3BhY2VVUkkpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihOYW1lKQorCitERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihTdHJpbmcpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDb25j
YXQpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdGFydHNXaXRoKQorREVGSU5FX0ZVTkNUSU9O
X0NSRUFUT1IoQ29udGFpbnMpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdCZWZv
cmUpCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihTdWJzdHJpbmdBZnRlcikKK0RFRklORV9GVU5D
VElPTl9DUkVBVE9SKFN1YnN0cmluZykKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKFN0cmluZ0xl
bmd0aCkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKE5vcm1hbGl6ZVNwYWNlKQorREVGSU5FX0ZV
TkNUSU9OX0NSRUFUT1IoVHJhbnNsYXRlKQorCitERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihCb29s
ZWFuKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTm90KQorREVGSU5FX0ZVTkNUSU9OX0NSRUFU
T1IoVHJ1ZSkKK0RFRklORV9GVU5DVElPTl9DUkVBVE9SKEZhbHNlKQorREVGSU5FX0ZVTkNUSU9O
X0NSRUFUT1IoTGFuZykKKworREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoTnVtYmVyKQorREVGSU5F
X0ZVTkNUSU9OX0NSRUFUT1IoU3VtKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1IoRmxvb3IpCitE
RUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDZWlsaW5nKQorREVGSU5FX0ZVTkNUSU9OX0NSRUFUT1Io
Um91bmQpCiAKICN1bmRlZiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUgogCkBAIC0yOTAsMTcgKzI4
MiwxNyBAQCBpbmxpbmUgYm9vbCBJbnRlcnZhbDo6Y29udGFpbnMoaW50IHZhbHVlKSBjb25zdAog
ICAgIHJldHVybiB2YWx1ZSA+PSBtX21pbiAmJiB2YWx1ZSA8PSBtX21heDsKIH0KIAotdm9pZCBG
dW5jdGlvbjo6c2V0QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mIGFyZ3MpCit2
b2lkIEZ1bmN0aW9uOjpzZXRBcmd1bWVudHMoY29uc3QgU3RyaW5nJiBuYW1lLCBWZWN0b3I8c3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiBhcmd1bWVudHMpCiB7Ci0gICAgQVNTRVJUKCFzdWJF
eHByZXNzaW9uQ291bnQoKSk7CisgICAgQVNTRVJUKCFzdWJleHByZXNzaW9uQ291bnQoKSk7CiAK
LSAgICAvLyBTb21lIGZ1bmN0aW9ucyB1c2UgY29udGV4dCBub2RlIGFzIGltcGxpY2l0IGFyZ3Vt
ZW50LCBzbyB3aGVuIGV4cGxpY2l0IGFyZ3VtZW50cyBhcmUgYWRkZWQsIHRoZXkgbWF5IG5vIGxv
bmdlciBiZSBjb250ZXh0IG5vZGUgc2Vuc2l0aXZlLgotICAgIGlmIChtX25hbWUgIT0gImxhbmci
ICYmICFhcmdzLmlzRW1wdHkoKSkKKyAgICAvLyBGdW5jdGlvbnMgdGhhdCB1c2UgdGhlIGNvbnRl
eHQgbm9kZSBhcyBhbiBpbXBsaWNpdCBhcmd1bWVudCBhcmUgY29udGV4dCBub2RlIHNlbnNpdGl2
ZSB3aGVuIHRoZXkKKyAgICAvLyBoYXZlIG5vIGFyZ3VtZW50cywgYnV0IHdoZW4gZXhwbGljaXQg
YXJndW1lbnRzIGFyZSBhZGRlZCwgdGhleSBhcmUgbm8gbG9uZ2VyIGNvbnRleHQgbm9kZSBzZW5z
aXRpdmUuCisgICAgLy8gQXMgb2YgdGhpcyB3cml0aW5nLCB0aGUgb25seSBleGNlcHRpb24gdG8g
dGhpcyBpcyB0aGUgImxhbmciIGZ1bmN0aW9uLgorICAgIGlmIChuYW1lICE9ICJsYW5nIiAmJiAh
YXJndW1lbnRzLmlzRW1wdHkoKSkKICAgICAgICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShm
YWxzZSk7CiAKLSAgICBWZWN0b3I8RXhwcmVzc2lvbio+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBh
cmdzLmVuZCgpOwotICAgIGZvciAoVmVjdG9yPEV4cHJlc3Npb24qPjo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBhcmdzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgYWRkU3ViRXhwcmVz
c2lvbigqaXQpOworICAgIHNldFN1YmV4cHJlc3Npb25zKHN0ZDo6bW92ZShhcmd1bWVudHMpKTsK
IH0KIAogVmFsdWUgRnVuTGFzdDo6ZXZhbHVhdGUoKSBjb25zdApAQCAtMzU4LDcgKzM1MCw3IEBA
IFZhbHVlIEZ1bklkOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgCiAgICAgcmVzdWx0Lm1hcmtTb3J0
ZWQoZmFsc2UpOwogICAgIAotICAgIHJldHVybiBWYWx1ZShyZXN1bHQsIFZhbHVlOjphZG9wdCk7
CisgICAgcmV0dXJuIFZhbHVlKHN0ZDo6bW92ZShyZXN1bHQpKTsKIH0KIAogc3RhdGljIGlubGlu
ZSBTdHJpbmcgZXhwYW5kZWROYW1lTG9jYWxQYXJ0KE5vZGUqIG5vZGUpCkBAIC0zODEsMTAgKzM3
MywxMCBAQCBWYWx1ZSBGdW5Mb2NhbE5hbWU6OmV2YWx1YXRlKCkgY29uc3QKICAgICBpZiAoYXJn
dW1lbnRDb3VudCgpID4gMCkgewogICAgICAgICBWYWx1ZSBhID0gYXJndW1lbnQoMCkuZXZhbHVh
dGUoKTsKICAgICAgICAgaWYgKCFhLmlzTm9kZVNldCgpKQotICAgICAgICAgICAgcmV0dXJuICIi
OworICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICAgICAgTm9kZSogbm9k
ZSA9IGEudG9Ob2RlU2V0KCkuZmlyc3ROb2RlKCk7Ci0gICAgICAgIHJldHVybiBub2RlID8gZXhw
YW5kZWROYW1lTG9jYWxQYXJ0KG5vZGUpIDogIiI7CisgICAgICAgIHJldHVybiBub2RlID8gZXhw
YW5kZWROYW1lTG9jYWxQYXJ0KG5vZGUpIDogZW1wdHlTdHJpbmcoKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gZXhwYW5kZWROYW1lTG9jYWxQYXJ0KGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS5nZXQo
KSk7CkBAIC0zOTUsMTAgKzM4NywxMCBAQCBWYWx1ZSBGdW5OYW1lc3BhY2VVUkk6OmV2YWx1YXRl
KCkgY29uc3QKICAgICBpZiAoYXJndW1lbnRDb3VudCgpID4gMCkgewogICAgICAgICBWYWx1ZSBh
ID0gYXJndW1lbnQoMCkuZXZhbHVhdGUoKTsKICAgICAgICAgaWYgKCFhLmlzTm9kZVNldCgpKQot
ICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CiAKICAgICAgICAgTm9kZSogbm9kZSA9IGEudG9Ob2RlU2V0KCkuZmlyc3ROb2RlKCk7Ci0gICAg
ICAgIHJldHVybiBub2RlID8gbm9kZS0+bmFtZXNwYWNlVVJJKCkuc3RyaW5nKCkgOiAiIjsKKyAg
ICAgICAgcmV0dXJuIG5vZGUgPyBub2RlLT5uYW1lc3BhY2VVUkkoKS5zdHJpbmcoKSA6IGVtcHR5
U3RyaW5nKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS0+
bmFtZXNwYWNlVVJJKCkuc3RyaW5nKCk7CkBAIC00MDksMTAgKzQwMSwxMCBAQCBWYWx1ZSBGdW5O
YW1lOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgaWYgKGFyZ3VtZW50Q291bnQoKSA+IDApIHsKICAg
ICAgICAgVmFsdWUgYSA9IGFyZ3VtZW50KDApLmV2YWx1YXRlKCk7CiAgICAgICAgIGlmICghYS5p
c05vZGVTZXQoKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCiAgICAgICAgIE5vZGUqIG5vZGUgPSBhLnRvTm9kZVNldCgpLmZpcnN0
Tm9kZSgpOwotICAgICAgICByZXR1cm4gbm9kZSA/IGV4cGFuZGVkTmFtZShub2RlKSA6ICIiOwor
ICAgICAgICByZXR1cm4gbm9kZSA/IGV4cGFuZGVkTmFtZShub2RlKSA6IGVtcHR5U3RyaW5nKCk7
CiAgICAgfQogCiAgICAgcmV0dXJuIGV4cGFuZGVkTmFtZShldmFsdWF0aW9uQ29udGV4dCgpLm5v
ZGUuZ2V0KCkpOwpAQCAtNDczLDEyICs0NjUsMTIgQEAgVmFsdWUgRnVuU3Vic3RyaW5nQmVmb3Jl
OjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgU3RyaW5nIHMyID0gYXJndW1lbnQoMSkuZXZhbHVhdGUo
KS50b1N0cmluZygpOwogCiAgICAgaWYgKHMyLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuICIi
OworICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHNpemVfdCBpID0gczEuZmlu
ZChzMik7CiAKICAgICBpZiAoaSA9PSBub3RGb3VuZCkKLSAgICAgICAgcmV0dXJuICIiOworICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHJldHVybiBzMS5sZWZ0KGkpOwogfQpA
QCAtNDkwLDcgKzQ4Miw3IEBAIFZhbHVlIEZ1blN1YnN0cmluZ0FmdGVyOjpldmFsdWF0ZSgpIGNv
bnN0CiAKICAgICBzaXplX3QgaSA9IHMxLmZpbmQoczIpOwogICAgIGlmIChpID09IG5vdEZvdW5k
KQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAg
ICAgcmV0dXJuIHMxLnN1YnN0cmluZyhpICsgczIubGVuZ3RoKCkpOwogfQpAQCAtNTAwLDI1ICs0
OTIsMjUgQEAgVmFsdWUgRnVuU3Vic3RyaW5nOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgU3RyaW5n
IHMgPSBhcmd1bWVudCgwKS5ldmFsdWF0ZSgpLnRvU3RyaW5nKCk7CiAgICAgZG91YmxlIGRvdWJs
ZVBvcyA9IGFyZ3VtZW50KDEpLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsKICAgICBpZiAoc3RkOjpp
c25hbihkb3VibGVQb3MpKQotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOwogICAgIGxvbmcgcG9zID0gc3RhdGljX2Nhc3Q8bG9uZz4oRnVuUm91bmQ6OnJv
dW5kKGRvdWJsZVBvcykpOwogICAgIGJvb2wgaGF2ZUxlbmd0aCA9IGFyZ3VtZW50Q291bnQoKSA9
PSAzOwogICAgIGxvbmcgbGVuID0gLTE7CiAgICAgaWYgKGhhdmVMZW5ndGgpIHsKICAgICAgICAg
ZG91YmxlIGRvdWJsZUxlbiA9IGFyZ3VtZW50KDIpLmV2YWx1YXRlKCkudG9OdW1iZXIoKTsKICAg
ICAgICAgaWYgKHN0ZDo6aXNuYW4oZG91YmxlTGVuKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsK
KyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgICAgICBsZW4gPSBzdGF0aWNf
Y2FzdDxsb25nPihGdW5Sb3VuZDo6cm91bmQoZG91YmxlTGVuKSk7CiAgICAgfQogCiAgICAgaWYg
KHBvcyA+IGxvbmcocy5sZW5ndGgoKSkpIAotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgaWYgKHBvcyA8IDEpIHsKICAgICAgICAgaWYgKGhh
dmVMZW5ndGgpIHsKICAgICAgICAgICAgIGxlbiAtPSAxIC0gcG9zOwogICAgICAgICAgICAgaWYg
KGxlbiA8IDEpCi0gICAgICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwogICAgICAgICB9CiAgICAgICAgIHBvcyA9IDE7CiAgICAgfQpA
QCAtNjY5LDYyICs2NjEsNzggQEAgVmFsdWUgRnVuUm91bmQ6OmV2YWx1YXRlKCkgY29uc3QKICAg
ICByZXR1cm4gcm91bmQoYXJndW1lbnQoMCkuZXZhbHVhdGUoKS50b051bWJlcigpKTsKIH0KIAot
c3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7Ci0gICAgY29uc3QgY2hhciogbmFtZTsKLSAgICBGdW5j
dGlvblJlYyBmdW5jdGlvbjsKK3N0cnVjdCBGdW5jdGlvbk1hcFZhbHVlIHsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8RnVuY3Rpb24+ICgqY3JlYXRpb25GdW5jdGlvbikoKTsKKyAgICBJbnRlcnZhbCBh
cmd1bWVudENvdW50SW50ZXJ2YWw7CiB9OwogCi1zdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1h
cCgpCitzdGF0aWMgdm9pZCBwb3B1bGF0ZUZ1bmN0aW9uTWFwKEhhc2hNYXA8U3RyaW5nLCBGdW5j
dGlvbk1hcFZhbHVlPiYgZnVuY3Rpb25NYXApCiB7CisgICAgc3RydWN0IEZ1bmN0aW9uTWFwcGlu
ZyB7CisgICAgICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgICAgIEZ1bmN0aW9uTWFwVmFsdWUg
ZnVuY3Rpb247CisgICAgfTsKKwogICAgIHN0YXRpYyBjb25zdCBGdW5jdGlvbk1hcHBpbmcgZnVu
Y3Rpb25zW10gPSB7Ci0gICAgICAgIHsgImJvb2xlYW4iLCB7ICZjcmVhdGVGdW5Cb29sZWFuLCAx
IH0gfSwKLSAgICAgICAgeyAiY2VpbGluZyIsIHsgJmNyZWF0ZUZ1bkNlaWxpbmcsIDEgfSB9LAot
ICAgICAgICB7ICJjb25jYXQiLCB7ICZjcmVhdGVGdW5Db25jYXQsIEludGVydmFsKDIsIEludGVy
dmFsOjpJbmYpIH0gfSwKLSAgICAgICAgeyAiY29udGFpbnMiLCB7ICZjcmVhdGVGdW5Db250YWlu
cywgMiB9IH0sCi0gICAgICAgIHsgImNvdW50IiwgeyAmY3JlYXRlRnVuQ291bnQsIDEgfSB9LAot
ICAgICAgICB7ICJmYWxzZSIsIHsgJmNyZWF0ZUZ1bkZhbHNlLCAwIH0gfSwKLSAgICAgICAgeyAi
Zmxvb3IiLCB7ICZjcmVhdGVGdW5GbG9vciwgMSB9IH0sCi0gICAgICAgIHsgImlkIiwgeyAmY3Jl
YXRlRnVuSWQsIDEgfSB9LAotICAgICAgICB7ICJsYW5nIiwgeyAmY3JlYXRlRnVuTGFuZywgMSB9
IH0sCi0gICAgICAgIHsgImxhc3QiLCB7ICZjcmVhdGVGdW5MYXN0LCAwIH0gfSwKLSAgICAgICAg
eyAibG9jYWwtbmFtZSIsIHsgJmNyZWF0ZUZ1bkxvY2FsTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9
LAotICAgICAgICB7ICJuYW1lIiwgeyAmY3JlYXRlRnVuTmFtZSwgSW50ZXJ2YWwoMCwgMSkgfSB9
LAotICAgICAgICB7ICJuYW1lc3BhY2UtdXJpIiwgeyAmY3JlYXRlRnVuTmFtZXNwYWNlVVJJLCBJ
bnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAgIHsgIm5vcm1hbGl6ZS1zcGFjZSIsIHsgJmNyZWF0
ZUZ1bk5vcm1hbGl6ZVNwYWNlLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAgIHsgIm5vdCIs
IHsgJmNyZWF0ZUZ1bk5vdCwgMSB9IH0sCi0gICAgICAgIHsgIm51bWJlciIsIHsgJmNyZWF0ZUZ1
bk51bWJlciwgSW50ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJwb3NpdGlvbiIsIHsgJmNy
ZWF0ZUZ1blBvc2l0aW9uLCAwIH0gfSwKLSAgICAgICAgeyAicm91bmQiLCB7ICZjcmVhdGVGdW5S
b3VuZCwgMSB9IH0sCi0gICAgICAgIHsgInN0YXJ0cy13aXRoIiwgeyAmY3JlYXRlRnVuU3RhcnRz
V2l0aCwgMiB9IH0sCi0gICAgICAgIHsgInN0cmluZyIsIHsgJmNyZWF0ZUZ1blN0cmluZywgSW50
ZXJ2YWwoMCwgMSkgfSB9LAotICAgICAgICB7ICJzdHJpbmctbGVuZ3RoIiwgeyAmY3JlYXRlRnVu
U3RyaW5nTGVuZ3RoLCBJbnRlcnZhbCgwLCAxKSB9IH0sCi0gICAgICAgIHsgInN1YnN0cmluZyIs
IHsgJmNyZWF0ZUZ1blN1YnN0cmluZywgSW50ZXJ2YWwoMiwgMykgfSB9LAotICAgICAgICB7ICJz
dWJzdHJpbmctYWZ0ZXIiLCB7ICZjcmVhdGVGdW5TdWJzdHJpbmdBZnRlciwgMiB9IH0sCi0gICAg
ICAgIHsgInN1YnN0cmluZy1iZWZvcmUiLCB7ICZjcmVhdGVGdW5TdWJzdHJpbmdCZWZvcmUsIDIg
fSB9LAotICAgICAgICB7ICJzdW0iLCB7ICZjcmVhdGVGdW5TdW0sIDEgfSB9LAotICAgICAgICB7
ICJ0cmFuc2xhdGUiLCB7ICZjcmVhdGVGdW5UcmFuc2xhdGUsIDMgfSB9LAotICAgICAgICB7ICJ0
cnVlIiwgeyAmY3JlYXRlRnVuVHJ1ZSwgMCB9IH0sCisgICAgICAgIHsgImJvb2xlYW4iLCB7IGNy
ZWF0ZUZ1bmN0aW9uQm9vbGVhbiwgMSB9IH0sCisgICAgICAgIHsgImNlaWxpbmciLCB7IGNyZWF0
ZUZ1bmN0aW9uQ2VpbGluZywgMSB9IH0sCisgICAgICAgIHsgImNvbmNhdCIsIHsgY3JlYXRlRnVu
Y3Rpb25Db25jYXQsIEludGVydmFsKDIsIEludGVydmFsOjpJbmYpIH0gfSwKKyAgICAgICAgeyAi
Y29udGFpbnMiLCB7IGNyZWF0ZUZ1bmN0aW9uQ29udGFpbnMsIDIgfSB9LAorICAgICAgICB7ICJj
b3VudCIsIHsgY3JlYXRlRnVuY3Rpb25Db3VudCwgMSB9IH0sCisgICAgICAgIHsgImZhbHNlIiwg
eyBjcmVhdGVGdW5jdGlvbkZhbHNlLCAwIH0gfSwKKyAgICAgICAgeyAiZmxvb3IiLCB7IGNyZWF0
ZUZ1bmN0aW9uRmxvb3IsIDEgfSB9LAorICAgICAgICB7ICJpZCIsIHsgY3JlYXRlRnVuY3Rpb25J
ZCwgMSB9IH0sCisgICAgICAgIHsgImxhbmciLCB7IGNyZWF0ZUZ1bmN0aW9uTGFuZywgMSB9IH0s
CisgICAgICAgIHsgImxhc3QiLCB7IGNyZWF0ZUZ1bmN0aW9uTGFzdCwgMCB9IH0sCisgICAgICAg
IHsgImxvY2FsLW5hbWUiLCB7IGNyZWF0ZUZ1bmN0aW9uTG9jYWxOYW1lLCBJbnRlcnZhbCgwLCAx
KSB9IH0sCisgICAgICAgIHsgIm5hbWUiLCB7IGNyZWF0ZUZ1bmN0aW9uTmFtZSwgSW50ZXJ2YWwo
MCwgMSkgfSB9LAorICAgICAgICB7ICJuYW1lc3BhY2UtdXJpIiwgeyBjcmVhdGVGdW5jdGlvbk5h
bWVzcGFjZVVSSSwgSW50ZXJ2YWwoMCwgMSkgfSB9LAorICAgICAgICB7ICJub3JtYWxpemUtc3Bh
Y2UiLCB7IGNyZWF0ZUZ1bmN0aW9uTm9ybWFsaXplU3BhY2UsIEludGVydmFsKDAsIDEpIH0gfSwK
KyAgICAgICAgeyAibm90IiwgeyBjcmVhdGVGdW5jdGlvbk5vdCwgMSB9IH0sCisgICAgICAgIHsg
Im51bWJlciIsIHsgY3JlYXRlRnVuY3Rpb25OdW1iZXIsIEludGVydmFsKDAsIDEpIH0gfSwKKyAg
ICAgICAgeyAicG9zaXRpb24iLCB7IGNyZWF0ZUZ1bmN0aW9uUG9zaXRpb24sIDAgfSB9LAorICAg
ICAgICB7ICJyb3VuZCIsIHsgY3JlYXRlRnVuY3Rpb25Sb3VuZCwgMSB9IH0sCisgICAgICAgIHsg
InN0YXJ0cy13aXRoIiwgeyBjcmVhdGVGdW5jdGlvblN0YXJ0c1dpdGgsIDIgfSB9LAorICAgICAg
ICB7ICJzdHJpbmciLCB7IGNyZWF0ZUZ1bmN0aW9uU3RyaW5nLCBJbnRlcnZhbCgwLCAxKSB9IH0s
CisgICAgICAgIHsgInN0cmluZy1sZW5ndGgiLCB7IGNyZWF0ZUZ1bmN0aW9uU3RyaW5nTGVuZ3Ro
LCBJbnRlcnZhbCgwLCAxKSB9IH0sCisgICAgICAgIHsgInN1YnN0cmluZyIsIHsgY3JlYXRlRnVu
Y3Rpb25TdWJzdHJpbmcsIEludGVydmFsKDIsIDMpIH0gfSwKKyAgICAgICAgeyAic3Vic3RyaW5n
LWFmdGVyIiwgeyBjcmVhdGVGdW5jdGlvblN1YnN0cmluZ0FmdGVyLCAyIH0gfSwKKyAgICAgICAg
eyAic3Vic3RyaW5nLWJlZm9yZSIsIHsgY3JlYXRlRnVuY3Rpb25TdWJzdHJpbmdCZWZvcmUsIDIg
fSB9LAorICAgICAgICB7ICJzdW0iLCB7IGNyZWF0ZUZ1bmN0aW9uU3VtLCAxIH0gfSwKKyAgICAg
ICAgeyAidHJhbnNsYXRlIiwgeyBjcmVhdGVGdW5jdGlvblRyYW5zbGF0ZSwgMyB9IH0sCisgICAg
ICAgIHsgInRydWUiLCB7IGNyZWF0ZUZ1bmN0aW9uVHJ1ZSwgMCB9IH0sCiAgICAgfTsKIAotICAg
IGZ1bmN0aW9uTWFwID0gbmV3IEhhc2hNYXA8U3RyaW5nLCBGdW5jdGlvblJlYz47CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKGZ1bmN0aW9ucyk7ICsraSkKLSAg
ICAgICAgZnVuY3Rpb25NYXAtPnNldChmdW5jdGlvbnNbaV0ubmFtZSwgZnVuY3Rpb25zW2ldLmZ1
bmN0aW9uKTsKKyAgICAgICAgZnVuY3Rpb25NYXAuYWRkKGZ1bmN0aW9uc1tpXS5uYW1lLCBmdW5j
dGlvbnNbaV0uZnVuY3Rpb24pOwogfQogCi1GdW5jdGlvbiogY3JlYXRlRnVuY3Rpb24oY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8RXhwcmVzc2lvbio+JiBhcmdzKQorc3RkOjp1bmlx
dWVfcHRyPEZ1bmN0aW9uPiBGdW5jdGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5z
aWduZWQgbnVtQXJndW1lbnRzKQogewotICAgIGlmICghZnVuY3Rpb25NYXApCi0gICAgICAgIGNy
ZWF0ZUZ1bmN0aW9uTWFwKCk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3Ry
aW5nLCBGdW5jdGlvbk1hcFZhbHVlPj4gZnVuY3Rpb25NYXA7CisgICAgaWYgKGZ1bmN0aW9uTWFw
LmdldCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcG9wdWxhdGVGdW5jdGlvbk1hcChmdW5jdGlvbk1h
cCk7CiAKLSAgICBIYXNoTWFwPFN0cmluZywgRnVuY3Rpb25SZWM+OjppdGVyYXRvciBmdW5jdGlv
bk1hcEl0ZXIgPSBmdW5jdGlvbk1hcC0+ZmluZChuYW1lKTsKLSAgICBGdW5jdGlvblJlYyogZnVu
Y3Rpb25SZWMgPSAwOworICAgIGF1dG8gaXQgPSBmdW5jdGlvbk1hcC5nZXQoKS5maW5kKG5hbWUp
OworICAgIGlmIChpdCA9PSBmdW5jdGlvbk1hcC5nZXQoKS5lbmQoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKLSAgICBpZiAoZnVuY3Rpb25NYXBJdGVyID09IGZ1bmN0aW9uTWFwLT5lbmQo
KSB8fCAhKGZ1bmN0aW9uUmVjID0gJmZ1bmN0aW9uTWFwSXRlci0+dmFsdWUpLT5hcmdzLmNvbnRh
aW5zKGFyZ3Muc2l6ZSgpKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFpdC0+dmFsdWUu
YXJndW1lbnRDb3VudEludGVydmFsLmNvbnRhaW5zKG51bUFyZ3VtZW50cykpCisgICAgICAgIHJl
dHVybiBudWxscHRyOwogCi0gICAgRnVuY3Rpb24qIGZ1bmN0aW9uID0gZnVuY3Rpb25SZWMtPmZh
Y3RvcnlGbigpOwotICAgIGZ1bmN0aW9uLT5zZXRBcmd1bWVudHMoYXJncyk7Ci0gICAgZnVuY3Rp
b24tPnNldE5hbWUobmFtZSk7CisgICAgcmV0dXJuIGl0LT52YWx1ZS5jcmVhdGlvbkZ1bmN0aW9u
KCk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gRnVuY3Rpb246OmNyZWF0ZShjb25z
dCBTdHJpbmcmIG5hbWUpCit7CisgICAgcmV0dXJuIGNyZWF0ZShuYW1lLCAwKTsKK30KKworc3Rk
Ojp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBGdW5jdGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFt
ZSwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4gYXJndW1lbnRzKQoreworICAg
IHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbj4gZnVuY3Rpb24gPSBjcmVhdGUobmFtZSwgYXJndW1l
bnRzLnNpemUoKSk7CisgICAgaWYgKGZ1bmN0aW9uKQorICAgICAgICBmdW5jdGlvbi0+c2V0QXJn
dW1lbnRzKG5hbWUsIHN0ZDo6bW92ZShhcmd1bWVudHMpKTsKICAgICByZXR1cm4gZnVuY3Rpb247
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmgKaW5kZXggOTYyNWM4ODNhZThiMjBj
MWM2ODQwNjg0NmU5MTllOWU2NjAxYzJlZi4uOTQzNDdhMjZhN2E0M2E3ODE4NjA0MTM2NTc3Yjli
NGZiYThkNDAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmgKQEAgLTEsNiArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1IEZyZXJpY2ggUmFhYmUgPHJhYWJlQGtkZS5v
cmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDkgQXBwbGUgSW5jLgorICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzQsMjEgKzM0LDE4IEBAIG5hbWVzcGFj
ZSBYUGF0aCB7CiAKIGNsYXNzIEZ1bmN0aW9uIDogcHVibGljIEV4cHJlc3Npb24gewogcHVibGlj
OgotICAgIHZvaWQgc2V0QXJndW1lbnRzKGNvbnN0IFZlY3RvcjxFeHByZXNzaW9uKj4mKTsKLSAg
ICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKSB7IG1fbmFtZSA9IG5hbWU7IH0KKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBu
YW1lKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiBhcmd1bWVu
dHMpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpIGNvbnN0IHsg
cmV0dXJuIHN1YkV4cHJlc3Npb25Db3VudCgpOyB9Ci0gICAgY29uc3QgRXhwcmVzc2lvbiYgYXJn
dW1lbnQoaW50IHBvcykgY29uc3QgeyByZXR1cm4gc3ViRXhwcmVzc2lvbihwb3MpOyB9Ci0KLSAg
ICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHVuc2lnbmVkIGFy
Z3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBzdWJleHByZXNzaW9uQ291bnQoKTsgfQorICAg
IGNvbnN0IEV4cHJlc3Npb24mIGFyZ3VtZW50KHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIHN1
YmV4cHJlc3Npb24oaSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHJpbmcgbV9uYW1lOworICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUs
IHVuc2lnbmVkIG51bUFyZ3VtZW50cyk7CisgICAgdm9pZCBzZXRBcmd1bWVudHMoY29uc3QgU3Ry
aW5nJiBuYW1lLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+Pik7CiB9OwogCi1G
dW5jdGlvbiogY3JlYXRlRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8
RXhwcmVzc2lvbio+JiBhcmdzID0gVmVjdG9yPEV4cHJlc3Npb24qPigpKTsKLQogfSAvLyBuYW1l
c3BhY2UgWFBhdGgKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoR3JhbW1hci55IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoR3Jh
bW1hci55CmluZGV4IDUxMjA0YmIzMTgyMTIyMjYyNWQ0M2M3ZTFmZjEyMTNlNzMwZGJhNTQuLmUw
YzhlZTc5Mzc3ODQ1NmJjMDlhYTVlM2E4OTZiOTI3ZGFkYzY1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YUGF0aEdyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhHcmFtbWFyLnkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmlj
aCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQ
cm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMCwxMyAr
MzAsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiWFBhdGhGdW5jdGlvbnMu
aCIKLSNpbmNsdWRlICJYUGF0aE5TUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJYUGF0aFBhcnNlci5o
IgogI2luY2x1ZGUgIlhQYXRoUGF0aC5oIgotI2luY2x1ZGUgIlhQYXRoUHJlZGljYXRlLmgiCi0j
aW5jbHVkZSAiWFBhdGhTdGVwLmgiCiAjaW5jbHVkZSAiWFBhdGhWYXJpYWJsZVJlZmVyZW5jZS5o
IgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKICNkZWZpbmUgWVlNQUxMT0MgZmFzdE1h
bGxvYwogI2RlZmluZSBZWUZSRUUgZmFzdEZyZWUKQEAgLTQ2LDk5ICs0Miw4OSBAQAogI2RlZmlu
ZSBZWURFQlVHIDAKICNkZWZpbmUgWVlNQVhERVBUSCAxMDAwMAogCisjZGVmaW5lIFlZTEVYX1BB
UkFNIHBhcnNlcgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBY
UGF0aDsKIAogJX0KIAogJXB1cmVfcGFyc2VyCi0lcGFyc2UtcGFyYW0geyBXZWJDb3JlOjpYUGF0
aDo6UGFyc2VyKiBwYXJzZXIgfQotCi0ldW5pb24KLXsKLSAgICBTdGVwOjpBeGlzIGF4aXM7Ci0g
ICAgU3RlcDo6Tm9kZVRlc3QqIG5vZGVUZXN0OwotICAgIE51bWVyaWNPcDo6T3Bjb2RlIG51bW9w
OwotICAgIEVxVGVzdE9wOjpPcGNvZGUgZXFvcDsKLSAgICBTdHJpbmcqIHN0cjsKLSAgICBFeHBy
ZXNzaW9uKiBleHByOwotICAgIFZlY3RvcjxQcmVkaWNhdGUqPiogcHJlZExpc3Q7Ci0gICAgVmVj
dG9yPEV4cHJlc3Npb24qPiogYXJnTGlzdDsKLSAgICBTdGVwKiBzdGVwOwotICAgIExvY2F0aW9u
UGF0aCogbG9jYXRpb25QYXRoOwotfQorJXBhcnNlLXBhcmFtIHsgUGFyc2VyJiBwYXJzZXIgfQog
Ci0leworJXVuaW9uIHsgTnVtZXJpY09wOjpPcGNvZGUgbnVtZXJpY09wY29kZTsgfQorJWxlZnQg
PG51bWVyaWNPcGNvZGU+IE1VTE9QCiAKLXN0YXRpYyBpbnQgeHBhdGh5eWxleChZWVNUWVBFKiB5
eWx2YWwpIHsgcmV0dXJuIFBhcnNlcjo6Y3VycmVudCgpLT5sZXgoeXlsdmFsKTsgfQotc3RhdGlj
IHZvaWQgeHBhdGh5eWVycm9yKHZvaWQqLCBjb25zdCBjaGFyKikgeyB9Ci0gICAgCi0lfQorJXVu
aW9uIHsgRXFUZXN0T3A6Ok9wY29kZSBlcXVhbGl0eVRlc3RPcGNvZGU7IH0KKyVsZWZ0IDxlcXVh
bGl0eVRlc3RPcGNvZGU+IEVRT1AgUkVMT1AKIAotJWxlZnQgPG51bW9wPiBNVUxPUAotJWxlZnQg
PGVxb3A+IEVRT1AgUkVMT1AKICVsZWZ0IFBMVVMgTUlOVVMKKwogJWxlZnQgT1IgQU5ECisKKyV1
bmlvbiB7IFN0cmluZ0ltcGwqIHN0cmluZzsgfQorJXRva2VuIDxzdHJpbmc+IEZVTkNUSU9OTkFN
RSBMSVRFUkFMIE5BTUVURVNUIE5VTUJFUiBOT0RFVFlQRSBWQVJJQUJMRVJFRkVSRU5DRQorJWRl
c3RydWN0b3IgeyBpZiAoJCQpICQkLT5kZXJlZigpOyB9IEZVTkNUSU9OTkFNRSBMSVRFUkFMIE5B
TUVURVNUIE5VTUJFUiBOT0RFVFlQRSBWQVJJQUJMRVJFRkVSRU5DRQorCisldW5pb24geyBTdGVw
OjpBeGlzIGF4aXM7IH0KICV0b2tlbiA8YXhpcz4gQVhJU05BTUUKLSV0b2tlbiA8c3RyPiBOT0RF
VFlQRSBQSSBGVU5DVElPTk5BTUUgTElURVJBTAotJXRva2VuIDxzdHI+IFZBUklBQkxFUkVGRVJF
TkNFIE5VTUJFUgotJXRva2VuIERPVERPVCBTTEFTSFNMQVNICi0ldG9rZW4gPHN0cj4gTkFNRVRF
U1QKLSV0b2tlbiBYUEFUSF9FUlJPUgotCi0ldHlwZSA8bG9jYXRpb25QYXRoPiBMb2NhdGlvblBh
dGgKLSV0eXBlIDxsb2NhdGlvblBhdGg+IEFic29sdXRlTG9jYXRpb25QYXRoCi0ldHlwZSA8bG9j
YXRpb25QYXRoPiBSZWxhdGl2ZUxvY2F0aW9uUGF0aAotJXR5cGUgPHN0ZXA+IFN0ZXAKICV0eXBl
IDxheGlzPiBBeGlzU3BlY2lmaWVyCi0ldHlwZSA8c3RlcD4gRGVzY2VuZGFudE9yU2VsZgorCisl
dG9rZW4gQ09NTUVOVCBET1RET1QgUEkgTk9ERSBTTEFTSFNMQVNIIFRFWFQgWFBBVEhfRVJST1IK
KworJXVuaW9uIHsgTG9jYXRpb25QYXRoKiBsb2NhdGlvblBhdGg7IH0KKyV0eXBlIDxsb2NhdGlv
blBhdGg+IExvY2F0aW9uUGF0aCBBYnNvbHV0ZUxvY2F0aW9uUGF0aCBSZWxhdGl2ZUxvY2F0aW9u
UGF0aAorJWRlc3RydWN0b3IgeyBkZWxldGUgJCQ7IH0gTG9jYXRpb25QYXRoIEFic29sdXRlTG9j
YXRpb25QYXRoIFJlbGF0aXZlTG9jYXRpb25QYXRoCisKKyV1bmlvbiB7IFN0ZXA6Ok5vZGVUZXN0
KiBub2RlVGVzdDsgfQogJXR5cGUgPG5vZGVUZXN0PiBOb2RlVGVzdAotJXR5cGUgPGV4cHI+IFBy
ZWRpY2F0ZQotJXR5cGUgPHByZWRMaXN0PiBPcHRpb25hbFByZWRpY2F0ZUxpc3QKLSV0eXBlIDxw
cmVkTGlzdD4gUHJlZGljYXRlTGlzdAotJXR5cGUgPHN0ZXA+IEFiYnJldmlhdGVkU3RlcAotJXR5
cGUgPGV4cHI+IEV4cHIKLSV0eXBlIDxleHByPiBQcmltYXJ5RXhwcgotJXR5cGUgPGV4cHI+IEZ1
bmN0aW9uQ2FsbAotJXR5cGUgPGFyZ0xpc3Q+IEFyZ3VtZW50TGlzdAotJXR5cGUgPGV4cHI+IEFy
Z3VtZW50Ci0ldHlwZSA8ZXhwcj4gVW5pb25FeHByCi0ldHlwZSA8ZXhwcj4gUGF0aEV4cHIKLSV0
eXBlIDxleHByPiBGaWx0ZXJFeHByCi0ldHlwZSA8ZXhwcj4gT3JFeHByCi0ldHlwZSA8ZXhwcj4g
QW5kRXhwcgotJXR5cGUgPGV4cHI+IEVxdWFsaXR5RXhwcgotJXR5cGUgPGV4cHI+IFJlbGF0aW9u
YWxFeHByCi0ldHlwZSA8ZXhwcj4gQWRkaXRpdmVFeHByCi0ldHlwZSA8ZXhwcj4gTXVsdGlwbGlj
YXRpdmVFeHByCi0ldHlwZSA8ZXhwcj4gVW5hcnlFeHByCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAk
JDsgfSBOb2RlVGVzdAorCisldW5pb24geyBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+PiogZXhwcmVzc2lvblZlY3RvcjsgfQorJXR5cGUgPGV4cHJlc3Npb25WZWN0b3I+IEFyZ3Vt
ZW50TGlzdCBQcmVkaWNhdGVMaXN0IE9wdGlvbmFsUHJlZGljYXRlTGlzdAorJWRlc3RydWN0b3Ig
eyBkZWxldGUgJCQ7IH0gQXJndW1lbnRMaXN0IFByZWRpY2F0ZUxpc3QgT3B0aW9uYWxQcmVkaWNh
dGVMaXN0CisKKyV1bmlvbiB7IFN0ZXAqIHN0ZXA7IH0KKyV0eXBlIDxzdGVwPiBTdGVwIEFiYnJl
dmlhdGVkU3RlcCBEZXNjZW5kYW50T3JTZWxmCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsgfSBT
dGVwIEFiYnJldmlhdGVkU3RlcCBEZXNjZW5kYW50T3JTZWxmCisKKyV1bmlvbiB7IEV4cHJlc3Np
b24qIGV4cHJlc3Npb247IH0KKyV0eXBlIDxleHByZXNzaW9uPiBBZGRpdGl2ZUV4cHIgQW5kRXhw
ciBBcmd1bWVudCBFcXVhbGl0eUV4cHIgRXhwciBGaWx0ZXJFeHByIEZ1bmN0aW9uQ2FsbCBNdWx0
aXBsaWNhdGl2ZUV4cHIgT3JFeHByIFBhdGhFeHByIFByZWRpY2F0ZSBQcmltYXJ5RXhwciBSZWxh
dGlvbmFsRXhwciBVbmFyeUV4cHIgVW5pb25FeHByCislZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsg
fSBBZGRpdGl2ZUV4cHIgQW5kRXhwciBBcmd1bWVudCBFcXVhbGl0eUV4cHIgRXhwciBGaWx0ZXJF
eHByIEZ1bmN0aW9uQ2FsbCBNdWx0aXBsaWNhdGl2ZUV4cHIgT3JFeHByIFBhdGhFeHByIFByZWRp
Y2F0ZSBQcmltYXJ5RXhwciBSZWxhdGlvbmFsRXhwciBVbmFyeUV4cHIgVW5pb25FeHByCisKKyV7
CisKK3N0YXRpYyBpbnQgeHBhdGh5eWxleChZWVNUWVBFKiB5eWx2YWwsIFBhcnNlciYgcGFyc2Vy
KSB7IHJldHVybiBwYXJzZXIubGV4KCp5eWx2YWwpOyB9CitzdGF0aWMgdm9pZCB4cGF0aHl5ZXJy
b3IoUGFyc2VyJiwgY29uc3QgY2hhciopIHsgfQorCislfQogCiAlJQogCi1FeHByOgotICAgIE9y
RXhwcgorVG9wOgorICAgIEV4cHIKICAgICB7Ci0gICAgICAgIHBhcnNlci0+bV90b3BFeHByID0g
JDE7CisgICAgICAgIHBhcnNlci5zZXRQYXJzZVJlc3VsdChzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVz
c2lvbj4oJDEpKTsKICAgICB9CiAgICAgOwogCitFeHByOgorICAgIE9yRXhwcgorICAgIDsKKwog
TG9jYXRpb25QYXRoOgotICAgIFJlbGF0aXZlTG9jYXRpb25QYXRoCi0gICAgewotICAgICAgICAk
JC0+c2V0QWJzb2x1dGUoZmFsc2UpOwotICAgIH0KLSAgICB8CiAgICAgQWJzb2x1dGVMb2NhdGlv
blBhdGgKICAgICB7Ci0gICAgICAgICQkLT5zZXRBYnNvbHV0ZSh0cnVlKTsKKyAgICAgICAgJCQt
PnNldEFic29sdXRlKCk7CiAgICAgfQorICAgIHwKKyAgICBSZWxhdGl2ZUxvY2F0aW9uUGF0aAog
ICAgIDsKIAogQWJzb2x1dGVMb2NhdGlvblBhdGg6CiAgICAgJy8nCiAgICAgewogICAgICAgICAk
JCA9IG5ldyBMb2NhdGlvblBhdGg7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOwogICAgIH0KICAgICB8CiAgICAgJy8nIFJlbGF0aXZlTG9jYXRpb25QYXRoCkBAIC0xNDks
OCArMTM1LDcgQEAgQWJzb2x1dGVMb2NhdGlvblBhdGg6CiAgICAgRGVzY2VuZGFudE9yU2VsZiBS
ZWxhdGl2ZUxvY2F0aW9uUGF0aAogICAgIHsKICAgICAgICAgJCQgPSAkMjsKLSAgICAgICAgJCQt
Pmluc2VydEZpcnN0U3RlcCgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9k
ZSgkMSk7CisgICAgICAgICQkLT5wcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDEp
KTsKICAgICB9CiAgICAgOwogCkBAIC0xNTgsODMgKzE0Myw3NSBAQCBSZWxhdGl2ZUxvY2F0aW9u
UGF0aDoKICAgICBTdGVwCiAgICAgewogICAgICAgICAkJCA9IG5ldyBMb2NhdGlvblBhdGg7Ci0g
ICAgICAgICQkLT5hcHBlbmRTdGVwKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFy
c2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAg
ICAgICQkLT5hcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPigkMSkpOwogICAgIH0KICAg
ICB8CiAgICAgUmVsYXRpdmVMb2NhdGlvblBhdGggJy8nIFN0ZXAKICAgICB7Ci0gICAgICAgICQk
LT5hcHBlbmRTdGVwKCQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQz
KTsKKyAgICAgICAgJCQtPmFwcGVuZFN0ZXAoc3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQzKSk7CiAg
ICAgfQogICAgIHwKICAgICBSZWxhdGl2ZUxvY2F0aW9uUGF0aCBEZXNjZW5kYW50T3JTZWxmIFN0
ZXAKICAgICB7Ci0gICAgICAgICQkLT5hcHBlbmRTdGVwKCQyKTsKLSAgICAgICAgJCQtPmFwcGVu
ZFN0ZXAoJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOworICAgICAgICAkJC0+YXBwZW5k
U3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDIpKTsKKyAgICAgICAgJCQtPmFwcGVuZFN0ZXAo
c3RkOjp1bmlxdWVfcHRyPFN0ZXA+KCQzKSk7CiAgICAgfQogICAgIDsKIAogU3RlcDoKICAgICBO
b2RlVGVzdCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKICAgICB7Ci0gICAgICAgIGlmICgkMikgewot
ICAgICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsICokMSwgKiQyKTsKLSAg
ICAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQyKTsKLSAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgKiQxKTsKLSAg
ICAgICAgcGFyc2VyLT5kZWxldGVOb2RlVGVzdCgkMSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0
ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxFeHByZXNzaW9uPj4+IHByZWRpY2F0ZUxpc3QoJDIpOworICAgICAgICBpZiAocHJl
ZGljYXRlTGlzdCkKKyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBz
dGQ6Om1vdmUoKiQxKSwgc3RkOjptb3ZlKCpwcmVkaWNhdGVMaXN0KSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBzdGQ6Om1vdmUoKiQx
KSk7CiAgICAgfQogICAgIHwKICAgICBOQU1FVEVTVCBPcHRpb25hbFByZWRpY2F0ZUxpc3QKICAg
ICB7CisgICAgICAgIFN0cmluZyBuYW1ldGVzdCA9IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+PiBwcmVkaWNh
dGVMaXN0KCQyKTsKKwogICAgICAgICBTdHJpbmcgbG9jYWxOYW1lOwogICAgICAgICBTdHJpbmcg
bmFtZXNwYWNlVVJJOwotICAgICAgICBpZiAoIXBhcnNlci0+ZXhwYW5kUU5hbWUoKiQxLCBsb2Nh
bE5hbWUsIG5hbWVzcGFjZVVSSSkpIHsKLSAgICAgICAgICAgIHBhcnNlci0+bV9nb3ROYW1lc3Bh
Y2VFcnJvciA9IHRydWU7CisgICAgICAgIGlmICghcGFyc2VyLmV4cGFuZFF1YWxpZmllZE5hbWUo
bmFtZXRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkgeworICAgICAgICAgICAgJCQgPSBu
dWxscHRyOwogICAgICAgICAgICAgWVlBQk9SVDsKICAgICAgICAgfQotICAgICAgICAKLSAgICAg
ICAgaWYgKCQyKSB7Ci0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywg
U3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVz
cGFjZVVSSSksICokMik7Ci0gICAgICAgICAgICBwYXJzZXItPmRlbGV0ZVByZWRpY2F0ZVZlY3Rv
cigkMik7Ci0gICAgICAgIH0gZWxzZQorCisgICAgICAgIGlmIChwcmVkaWNhdGVMaXN0KQorICAg
ICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0
ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpLCBzdGQ6Om1v
dmUoKnByZWRpY2F0ZUxpc3QpKTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgJCQgPSBuZXcg
U3RlcChTdGVwOjpDaGlsZEF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1l
VGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVT
dHJpbmcoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9
CiAgICAgfAogICAgIEF4aXNTcGVjaWZpZXIgTm9kZVRlc3QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0
CiAgICAgewotICAgICAgICBpZiAoJDMpIHsKLSAgICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEs
ICokMiwgKiQzKTsKLSAgICAgICAgICAgIHBhcnNlci0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQz
KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCAqJDIpOwot
ICAgICAgICBwYXJzZXItPmRlbGV0ZU5vZGVUZXN0KCQyKTsKLSAgICAgICAgcGFyc2VyLT5yZWdp
c3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8c3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+Pj4gcHJlZGljYXRlTGlzdCgkMyk7CisKKyAgICAgICAgaWYg
KHByZWRpY2F0ZUxpc3QpCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBzdGQ6Om1vdmUo
KiQyKSwgc3RkOjptb3ZlKCpwcmVkaWNhdGVMaXN0KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICQkID0gbmV3IFN0ZXAoJDEsIHN0ZDo6bW92ZSgqJDIpKTsKICAgICB9CiAgICAgfAogICAg
IEF4aXNTcGVjaWZpZXIgTkFNRVRFU1QgT3B0aW9uYWxQcmVkaWNhdGVMaXN0CiAgICAgeworICAg
ICAgICBTdHJpbmcgbmFtZXRlc3QgPSBhZG9wdFJlZigkMik7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+Pj4gcHJlZGljYXRlTGlzdCgk
Myk7CisKICAgICAgICAgU3RyaW5nIGxvY2FsTmFtZTsKICAgICAgICAgU3RyaW5nIG5hbWVzcGFj
ZVVSSTsKLSAgICAgICAgaWYgKCFwYXJzZXItPmV4cGFuZFFOYW1lKCokMiwgbG9jYWxOYW1lLCBu
YW1lc3BhY2VVUkkpKSB7Ci0gICAgICAgICAgICBwYXJzZXItPm1fZ290TmFtZXNwYWNlRXJyb3Ig
PSB0cnVlOworICAgICAgICBpZiAoIXBhcnNlci5leHBhbmRRdWFsaWZpZWROYW1lKG5hbWV0ZXN0
LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpIHsKKyAgICAgICAgICAgICQkID0gbnVsbHB0cjsK
ICAgICAgICAgICAgIFlZQUJPUlQ7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoJDMpIHsKLSAg
ICAgICAgICAgICQkID0gbmV3IFN0ZXAoJDEsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0
OjpOYW1lVGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpLCAqJDMpOwotICAgICAgICAgICAg
cGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDMpOwotICAgICAgICB9IGVsc2UKKyAgICAg
ICAgaWYgKHByZWRpY2F0ZUxpc3QpCisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVw
OjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNl
VVJJKSwgc3RkOjptb3ZlKCpwcmVkaWNhdGVMaXN0KSk7CisgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICQkID0gbmV3IFN0ZXAoJDEsIFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpOYW1l
VGVzdCwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVT
dHJpbmcoJDIpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9
CiAgICAgfAogICAgIEFiYnJldmlhdGVkU3RlcApAQCAtMjUwLDM3ICsyMjcsMzcgQEAgQXhpc1Nw
ZWNpZmllcjoKICAgICA7CiAKIE5vZGVUZXN0OgotICAgIE5PREVUWVBFICcoJyAnKScKKyAgICBO
T0RFICcoJyAnKScKICAgICB7Ci0gICAgICAgIGlmICgqJDEgPT0gIm5vZGUiKQotICAgICAgICAg
ICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0KTsK
LSAgICAgICAgZWxzZSBpZiAoKiQxID09ICJ0ZXh0IikKLSAgICAgICAgICAgICQkID0gbmV3IFN0
ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpUZXh0Tm9kZVRlc3QpOwotICAgICAgICBlbHNl
IGlmICgqJDEgPT0gImNvbW1lbnQiKQotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcDo6Tm9kZVRl
c3QoU3RlcDo6Tm9kZVRlc3Q6OkNvbW1lbnROb2RlVGVzdCk7Ci0KLSAgICAgICAgcGFyc2VyLT5k
ZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyTm9kZVRlc3QoJCQpOwor
ICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRl
c3QpOworICAgIH0KKyAgICB8CisgICAgVEVYVCAnKCcgJyknCisgICAgeworICAgICAgICAkJCA9
IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6VGV4dE5vZGVUZXN0KTsKKyAgICB9
CisgICAgfAorICAgIENPTU1FTlQgJygnICcpJworICAgIHsKKyAgICAgICAgJCQgPSBuZXcgU3Rl
cDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6OkNvbW1lbnROb2RlVGVzdCk7CiAgICAgfQogICAg
IHwKICAgICBQSSAnKCcgJyknCiAgICAgewogICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVz
dChTdGVwOjpOb2RlVGVzdDo6UHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QpOwotICAgICAg
ICBwYXJzZXItPnJlZ2lzdGVyTm9kZVRlc3QoJCQpOwogICAgIH0KICAgICB8CiAgICAgUEkgJygn
IExJVEVSQUwgJyknCiAgICAgewotICAgICAgICAkJCA9IG5ldyBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6UHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsICQzLT5zdHJpcFdoaXRl
U3BhY2UoKSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQzKTsKLSAgICAgICAgcGFy
c2VyLT5yZWdpc3Rlck5vZGVUZXN0KCQkKTsKKyAgICAgICAgU3RyaW5nIGxpdGVyYWwgPSBhZG9w
dFJlZigkMyk7CisgICAgICAgICQkID0gbmV3IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0
OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgbGl0ZXJhbC5zdHJpcFdoaXRlU3BhY2Uo
KSk7CiAgICAgfQogICAgIDsKIAogT3B0aW9uYWxQcmVkaWNhdGVMaXN0OgogICAgIC8qIGVtcHR5
ICovCiAgICAgewotICAgICAgICAkJCA9IDA7CisgICAgICAgICQkID0gbnVsbHB0cjsKICAgICB9
CiAgICAgfAogICAgIFByZWRpY2F0ZUxpc3QKQEAgLTI4OSwxNiArMjY2LDE0IEBAIE9wdGlvbmFs
UHJlZGljYXRlTGlzdDoKIFByZWRpY2F0ZUxpc3Q6CiAgICAgUHJlZGljYXRlCiAgICAgewotICAg
ICAgICAkJCA9IG5ldyBWZWN0b3I8UHJlZGljYXRlKj47Ci0gICAgICAgICQkLT5hcHBlbmQobmV3
IFByZWRpY2F0ZSgkMSkpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEp
OwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUHJlZGljYXRlVmVjdG9yKCQkKTsKKyAgICAgICAg
JCQgPSBuZXcgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj47CisgICAgICAgICQk
LT5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSk7CiAgICAgfQogICAgIHwK
ICAgICBQcmVkaWNhdGVMaXN0IFByZWRpY2F0ZQogICAgIHsKLSAgICAgICAgJCQtPmFwcGVuZChu
ZXcgUHJlZGljYXRlKCQyKSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgk
Mik7CisgICAgICAgICQkID0gJDE7CisgICAgICAgICQkLT5hcHBlbmQoc3RkOjp1bmlxdWVfcHRy
PEV4cHJlc3Npb24+KCQyKSk7CiAgICAgfQogICAgIDsKIApAQCAtMzEzLDcgKzI4OCw2IEBAIERl
c2NlbmRhbnRPclNlbGY6CiAgICAgU0xBU0hTTEFTSAogICAgIHsKICAgICAgICAgJCQgPSBuZXcg
U3RlcChTdGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9k
ZVRlc3Q6OkFueU5vZGVUZXN0KSk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUo
JCQpOwogICAgIH0KICAgICA7CiAKQEAgLTMyMSwyMiArMjk1LDE5IEBAIEFiYnJldmlhdGVkU3Rl
cDoKICAgICAnLicKICAgICB7CiAgICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6U2VsZkF4aXMs
IFN0ZXA6Ok5vZGVUZXN0KFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdCkpOwotICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKICAgICB9CiAgICAgfAogICAgIERPVERPVAog
ICAgIHsKICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpQYXJlbnRBeGlzLCBTdGVwOjpOb2Rl
VGVzdChTdGVwOjpOb2RlVGVzdDo6QW55Tm9kZVRlc3QpKTsKLSAgICAgICAgcGFyc2VyLT5yZWdp
c3RlclBhcnNlTm9kZSgkJCk7CiAgICAgfQogICAgIDsKIAogUHJpbWFyeUV4cHI6CiAgICAgVkFS
SUFCTEVSRUZFUkVOQ0UKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFZhcmlhYmxlUmVmZXJlbmNl
KCokMSk7Ci0gICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2Vy
LT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgIFN0cmluZyBuYW1lID0gYWRvcHRSZWYo
JDEpOworICAgICAgICAkJCA9IG5ldyBWYXJpYWJsZVJlZmVyZW5jZShuYW1lKTsKICAgICB9CiAg
ICAgfAogICAgICcoJyBFeHByICcpJwpAQCAtMzQ2LDE2ICszMTcsMTQgQEAgUHJpbWFyeUV4cHI6
CiAgICAgfAogICAgIExJVEVSQUwKICAgICB7Ci0gICAgICAgICQkID0gbmV3IFN0cmluZ0V4cHJl
c3Npb24oKiQxKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJpbmcoJDEpOwotICAgICAgICBw
YXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgU3RyaW5nIGxpdGVyYWwgPSBh
ZG9wdFJlZigkMSk7CisgICAgICAgICQkID0gbmV3IFN0cmluZ0V4cHJlc3Npb24oc3RkOjptb3Zl
KGxpdGVyYWwpKTsKICAgICB9CiAgICAgfAogICAgIE5VTUJFUgogICAgIHsKLSAgICAgICAgJCQg
PSBuZXcgTnVtYmVyKCQxLT50b0RvdWJsZSgpKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVTdHJp
bmcoJDEpOwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAg
U3RyaW5nIG51bWVyYWwgPSBhZG9wdFJlZigkMSk7CisgICAgICAgICQkID0gbmV3IE51bWJlcihu
dW1lcmFsLnRvRG91YmxlKCkpOwogICAgIH0KICAgICB8CiAgICAgRnVuY3Rpb25DYWxsCkBAIC0z
NjQsMzcgKzMzMywzMiBAQCBQcmltYXJ5RXhwcjoKIEZ1bmN0aW9uQ2FsbDoKICAgICBGVU5DVElP
Tk5BTUUgJygnICcpJwogICAgIHsKLSAgICAgICAgJCQgPSBjcmVhdGVGdW5jdGlvbigqJDEpOwor
ICAgICAgICBTdHJpbmcgbmFtZSA9IGFkb3B0UmVmKCQxKTsKKyAgICAgICAgJCQgPSBYUGF0aDo6
RnVuY3Rpb246OmNyZWF0ZShuYW1lKS5yZWxlYXNlKCk7CiAgICAgICAgIGlmICghJCQpCiAgICAg
ICAgICAgICBZWUFCT1JUOwotICAgICAgICBwYXJzZXItPmRlbGV0ZVN0cmluZygkMSk7Ci0gICAg
ICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOwogICAgIH0KICAgICB8CiAgICAgRlVO
Q1RJT05OQU1FICcoJyBBcmd1bWVudExpc3QgJyknCiAgICAgewotICAgICAgICAkJCA9IGNyZWF0
ZUZ1bmN0aW9uKCokMSwgKiQzKTsKKyAgICAgICAgU3RyaW5nIG5hbWUgPSBhZG9wdFJlZigkMSk7
CisgICAgICAgICQkID0gWFBhdGg6OkZ1bmN0aW9uOjpjcmVhdGUobmFtZSwgc3RkOjptb3ZlKCok
MykpLnJlbGVhc2UoKTsKICAgICAgICAgaWYgKCEkJCkKICAgICAgICAgICAgIFlZQUJPUlQ7Ci0g
ICAgICAgIHBhcnNlci0+ZGVsZXRlU3RyaW5nKCQxKTsKLSAgICAgICAgcGFyc2VyLT5kZWxldGVF
eHByZXNzaW9uVmVjdG9yKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgk
JCk7CiAgICAgfQogICAgIDsKIAogQXJndW1lbnRMaXN0OgogICAgIEFyZ3VtZW50CiAgICAgewot
ICAgICAgICAkJCA9IG5ldyBWZWN0b3I8RXhwcmVzc2lvbio+OwotICAgICAgICAkJC0+YXBwZW5k
KCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAg
cGFyc2VyLT5yZWdpc3RlckV4cHJlc3Npb25WZWN0b3IoJCQpOworICAgICAgICAkJCA9IG5ldyBW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PjsKKyAgICAgICAgJCQtPmFwcGVuZChz
dGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpKTsKICAgICB9CiAgICAgfAogICAgIEFyZ3Vt
ZW50TGlzdCAnLCcgQXJndW1lbnQKICAgICB7Ci0gICAgICAgICQkLT5hcHBlbmQoJDMpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOworICAgICAgICAkJCA9ICQxOwor
ICAgICAgICAkJC0+YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAg
IH0KICAgICA7CiAKQEAgLTQwNyw0MSArMzcxLDI2IEBAIFVuaW9uRXhwcjoKICAgICB8CiAgICAg
VW5pb25FeHByICd8JyBQYXRoRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgVW5pb247Ci0g
ICAgICAgICQkLT5hZGRTdWJFeHByZXNzaW9uKCQxKTsKLSAgICAgICAgJCQtPmFkZFN1YkV4cHJl
c3Npb24oJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgVW5pb24oc3RkOjp1bmlxdWVf
cHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAg
ICAgfQogICAgIDsKIAogUGF0aEV4cHI6CiAgICAgTG9jYXRpb25QYXRoCi0gICAgewotICAgICAg
ICAkJCA9ICQxOwotICAgIH0KICAgICB8CiAgICAgRmlsdGVyRXhwcgogICAgIHwKICAgICBGaWx0
ZXJFeHByICcvJyBSZWxhdGl2ZUxvY2F0aW9uUGF0aAogICAgIHsKLSAgICAgICAgJDMtPnNldEFi
c29sdXRlKHRydWUpOwotICAgICAgICAkJCA9IG5ldyBQYXRoKHN0YXRpY19jYXN0PEZpbHRlcio+
KCQxKSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDEpOwotICAg
ICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAgICBwYXJzZXItPnJl
Z2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJDMtPnNldEFic29sdXRlKCk7CisgICAgICAg
ICQkID0gbmV3IFBhdGgoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3RkOjp1bmlx
dWVfcHRyPExvY2F0aW9uUGF0aD4oJDMpKTsKICAgICB9CiAgICAgfAogICAgIEZpbHRlckV4cHIg
RGVzY2VuZGFudE9yU2VsZiBSZWxhdGl2ZUxvY2F0aW9uUGF0aAogICAgIHsKLSAgICAgICAgJDMt
Pmluc2VydEZpcnN0U3RlcCgkMik7Ci0gICAgICAgICQzLT5zZXRBYnNvbHV0ZSh0cnVlKTsKLSAg
ICAgICAgJCQgPSBuZXcgUGF0aChzdGF0aWNfY2FzdDxGaWx0ZXIqPigkMSksICQzKTsKLSAgICAg
ICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJl
Z2lzdGVyUGFyc2VOb2RlKCQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2Rl
KCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgICQz
LT5wcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4oJDIpKTsKKyAgICAgICAgJDMtPnNl
dEFic29sdXRlKCk7CisgICAgICAgICQkID0gbmV3IFBhdGgoc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPExvY2F0aW9uUGF0aD4oJDMpKTsKICAgICB9CiAg
ICAgOwogCkBAIC00NTAsMTAgKzM5OSw4IEBAIEZpbHRlckV4cHI6CiAgICAgfAogICAgIFByaW1h
cnlFeHByIFByZWRpY2F0ZUxpc3QKICAgICB7Ci0gICAgICAgICQkID0gbmV3IEZpbHRlcigkMSwg
KiQyKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAg
cGFyc2VyLT5kZWxldGVQcmVkaWNhdGVWZWN0b3IoJDIpOwotICAgICAgICBwYXJzZXItPnJlZ2lz
dGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxzdGQ6OnVu
aXF1ZV9wdHI8RXhwcmVzc2lvbj4+PiBwcmVkaWNhdGVMaXN0KCQyKTsKKyAgICAgICAgJCQgPSBu
ZXcgRmlsdGVyKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6bW92ZSgqcHJl
ZGljYXRlTGlzdCkpOwogICAgIH0KICAgICA7CiAKQEAgLTQ2MiwxMCArNDA5LDcgQEAgT3JFeHBy
OgogICAgIHwKICAgICBPckV4cHIgT1IgQW5kRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcg
TG9naWNhbE9wKExvZ2ljYWxPcDo6T1BfT3IsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5y
ZWdpc3RlclBhcnNlTm9kZSgkMSk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9k
ZSgkMyk7Ci0gICAgICAgIHBhcnNlci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAk
JCA9IG5ldyBMb2dpY2FsT3AoTG9naWNhbE9wOjpPUF9Pciwgc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+KCQxKSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAg
IDsKIApAQCAtNDc0LDEwICs0MTgsNyBAQCBBbmRFeHByOgogICAgIHwKICAgICBBbmRFeHByIEFO
RCBFcXVhbGl0eUV4cHIKICAgICB7Ci0gICAgICAgICQkID0gbmV3IExvZ2ljYWxPcChMb2dpY2Fs
T3A6Ok9QX0FuZCwgJDEsICQzKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2Rl
KCQxKTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAg
cGFyc2VyLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IExvZ2ljYWxP
cChMb2dpY2FsT3A6Ok9QX0FuZCwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQxKSwgc3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+KCQzKSk7CiAgICAgfQogICAgIDsKIApAQCAtNDg2LDEw
ICs0MjcsNyBAQCBFcXVhbGl0eUV4cHI6CiAgICAgfAogICAgIEVxdWFsaXR5RXhwciBFUU9QIFJl
bGF0aW9uYWxFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBFcVRlc3RPcCgkMiwgJDEsICQz
KTsKLSAgICAgICAgcGFyc2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQxKTsKLSAgICAgICAgcGFy
c2VyLT51bnJlZ2lzdGVyUGFyc2VOb2RlKCQzKTsKLSAgICAgICAgcGFyc2VyLT5yZWdpc3RlclBh
cnNlTm9kZSgkJCk7CisgICAgICAgICQkID0gbmV3IEVxVGVzdE9wKCQyLCBzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAg
ICB9CiAgICAgOwogCkBAIC00OTgsMTAgKzQzNiw3IEBAIFJlbGF0aW9uYWxFeHByOgogICAgIHwK
ICAgICBSZWxhdGlvbmFsRXhwciBSRUxPUCBBZGRpdGl2ZUV4cHIKICAgICB7Ci0gICAgICAgICQk
ID0gbmV3IEVxVGVzdE9wKCQyLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQ
YXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwot
ICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcg
RXFUZXN0T3AoJDIsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5pcXVl
X3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICA7CiAKQEAgLTUxMCwxOCArNDQ1LDEy
IEBAIEFkZGl0aXZlRXhwcjoKICAgICB8CiAgICAgQWRkaXRpdmVFeHByIFBMVVMgTXVsdGlwbGlj
YXRpdmVFeHByCiAgICAgewotICAgICAgICAkJCA9IG5ldyBOdW1lcmljT3AoTnVtZXJpY09wOjpP
UF9BZGQsICQxLCAkMyk7Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMSk7
Ci0gICAgICAgIHBhcnNlci0+dW5yZWdpc3RlclBhcnNlTm9kZSgkMyk7Ci0gICAgICAgIHBhcnNl
ci0+cmVnaXN0ZXJQYXJzZU5vZGUoJCQpOworICAgICAgICAkJCA9IG5ldyBOdW1lcmljT3AoTnVt
ZXJpY09wOjpPUF9BZGQsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPigkMSksIHN0ZDo6dW5p
cXVlX3B0cjxFeHByZXNzaW9uPigkMykpOwogICAgIH0KICAgICB8CiAgICAgQWRkaXRpdmVFeHBy
IE1JTlVTIE11bHRpcGxpY2F0aXZlRXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcgTnVtZXJp
Y09wKE51bWVyaWNPcDo6T1BfU3ViLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0
ZXJQYXJzZU5vZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMp
OwotICAgICAgICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBu
ZXcgTnVtZXJpY09wKE51bWVyaWNPcDo6T1BfU3ViLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAgOwog
CkBAIC01MzAsMTAgKzQ1OSw3IEBAIE11bHRpcGxpY2F0aXZlRXhwcjoKICAgICB8CiAgICAgTXVs
dGlwbGljYXRpdmVFeHByIE1VTE9QIFVuYXJ5RXhwcgogICAgIHsKLSAgICAgICAgJCQgPSBuZXcg
TnVtZXJpY09wKCQyLCAkMSwgJDMpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5v
ZGUoJDEpOwotICAgICAgICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDMpOwotICAgICAg
ICBwYXJzZXItPnJlZ2lzdGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgTnVtZXJp
Y09wKCQyLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4oJDEpLCBzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4oJDMpKTsKICAgICB9CiAgICAgOwogCkBAIC01NDIsMTAgKzQ2OCw3IEBAIFVu
YXJ5RXhwcjoKICAgICB8CiAgICAgTUlOVVMgVW5hcnlFeHByCiAgICAgewotICAgICAgICAkJCA9
IG5ldyBOZWdhdGl2ZTsKLSAgICAgICAgJCQtPmFkZFN1YkV4cHJlc3Npb24oJDIpOwotICAgICAg
ICBwYXJzZXItPnVucmVnaXN0ZXJQYXJzZU5vZGUoJDIpOwotICAgICAgICBwYXJzZXItPnJlZ2lz
dGVyUGFyc2VOb2RlKCQkKTsKKyAgICAgICAgJCQgPSBuZXcgTmVnYXRpdmUoc3RkOjp1bmlxdWVf
cHRyPEV4cHJlc3Npb24+KCQyKSk7CiAgICAgfQogICAgIDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmNwcAppbmRleCA4Nzc4MmQ0YWE5ZDUxMzhmMGI0MTczZGU1ZTgzMDIxM2Q2MGI0Yzgw
Li5lNWE2YTkyOTY3MjcyMmU5MTBlMDI0ZTliYjY1ZGIyZTUyZjMwMTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmNwcApAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW5saW5lIE5vZGUq
IHBhcmVudFdpdGhEZXB0aCh1bnNpZ25lZCBkZXB0aCwgY29uc3QgVmVjdG9yPE5vZGUqPiYgcGFy
ZW50cwogICAgIHJldHVybiBwYXJlbnRzW3BhcmVudHMuc2l6ZSgpIC0gMSAtIGRlcHRoXTsKIH0K
IAotc3RhdGljIHZvaWQgc29ydEJsb2NrKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvLCBWZWN0
b3I8VmVjdG9yPE5vZGUqPiA+JiBwYXJlbnRNYXRyaXgsIGJvb2wgbWF5Q29udGFpbkF0dHJpYnV0
ZU5vZGVzKQorc3RhdGljIHZvaWQgc29ydEJsb2NrKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRv
LCBWZWN0b3I8VmVjdG9yPE5vZGUqPj4mIHBhcmVudE1hdHJpeCwgYm9vbCBtYXlDb250YWluQXR0
cmlidXRlTm9kZXMpCiB7CiAgICAgQVNTRVJUKGZyb20gKyAxIDwgdG8pOyAvLyBTaG91bGQgbm90
IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGxlc3MgdGhhdCB0d28gbm9kZXMgdG8gc29ydC4KICAg
ICB1bnNpZ25lZCBtaW5EZXB0aCA9IFVJTlRfTUFYOwpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQg
Tm9kZVNldDo6c29ydCgpIGNvbnN0CiAKICAgICB1bnNpZ25lZCBub2RlQ291bnQgPSBtX25vZGVz
LnNpemUoKTsKICAgICBpZiAobm9kZUNvdW50IDwgMikgewotICAgICAgICBjb25zdF9jYXN0PGJv
b2wmPihtX2lzU29ydGVkKSA9IHRydWU7CisgICAgICAgIG1faXNTb3J0ZWQgPSB0cnVlOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNjksMTIgKzE2OSwxMyBAQCB2b2lkIE5vZGVTZXQ6
OnNvcnQoKSBjb25zdAogICAgIHNvcnRCbG9jaygwLCBub2RlQ291bnQsIHBhcmVudE1hdHJpeCwg
Y29udGFpbnNBdHRyaWJ1dGVOb2Rlcyk7CiAgICAgCiAgICAgLy8gSXQgaXMgbm90IHBvc3NpYmxl
IHRvIGp1c3QgYXNzaWduIHRoZSByZXN1bHQgdG8gbV9ub2RlcywgYmVjYXVzZSBzb21lIG5vZGVz
IG1heSBnZXQgZGVyZWZlcmVuY2VkIGFuZCBkZXN0cm95ZWQuCi0gICAgVmVjdG9yPFJlZlB0cjxO
b2RlPiA+IHNvcnRlZE5vZGVzOworICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4+IHNvcnRlZE5vZGVz
OwogICAgIHNvcnRlZE5vZGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobm9kZUNvdW50KTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbm9kZUNvdW50OyArK2kpCiAgICAgICAgIHNvcnRl
ZE5vZGVzLmFwcGVuZChwYXJlbnRNYXRyaXhbaV1bMF0pOwogICAgIAotICAgIGNvbnN0X2Nhc3Q8
VmVjdG9yPFJlZlB0cjxOb2RlPiA+Jj4obV9ub2Rlcykuc3dhcChzb3J0ZWROb2Rlcyk7CisgICAg
bV9ub2RlcyA9IHN0ZDo6bW92ZShzb3J0ZWROb2Rlcyk7CisgICAgbV9pc1NvcnRlZCA9IHRydWU7
CiB9CiAKIHN0YXRpYyBOb2RlKiBmaW5kUm9vdE5vZGUoTm9kZSogbm9kZSkKQEAgLTIyNywyNyAr
MjI4LDE0IEBAIHZvaWQgTm9kZVNldDo6dHJhdmVyc2FsU29ydCgpIGNvbnN0CiAgICAgfQogCiAg
ICAgQVNTRVJUKHNvcnRlZE5vZGVzLnNpemUoKSA9PSBub2RlQ291bnQpOwotICAgIGNvbnN0X2Nh
c3Q8VmVjdG9yPFJlZlB0cjxOb2RlPiA+Jj4obV9ub2Rlcykuc3dhcChzb3J0ZWROb2Rlcyk7Ci19
Ci0KLXZvaWQgTm9kZVNldDo6cmV2ZXJzZSgpCi17Ci0gICAgaWYgKG1fbm9kZXMuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICB1bnNpZ25lZCBmcm9tID0gMDsKLSAgICB1bnNpZ25l
ZCB0byA9IG1fbm9kZXMuc2l6ZSgpIC0gMTsKLSAgICB3aGlsZSAoZnJvbSA8IHRvKSB7Ci0gICAg
ICAgIG1fbm9kZXNbZnJvbV0uc3dhcChtX25vZGVzW3RvXSk7Ci0gICAgICAgICsrZnJvbTsKLSAg
ICAgICAgLS10bzsKLSAgICB9CisgICAgbV9ub2RlcyA9IHN0ZDo6bW92ZShzb3J0ZWROb2Rlcyk7
CisgICAgbV9pc1NvcnRlZCA9IHRydWU7CiB9CiAKIE5vZGUqIE5vZGVTZXQ6OmZpcnN0Tm9kZSgp
IGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgc29ydCgpOyAvLyBGSVhNRTogZnVsbHkgc29ydGluZyB0
aGUgbm9kZS1zZXQganVzdCB0byBmaW5kIGl0cyBmaXJzdCBub2RlIGlzIHdhc3RlZnVsLgogICAg
IHJldHVybiBtX25vZGVzLmF0KDApLmdldCgpOwpAQCAtMjU2LDcgKzI0NCw3IEBAIE5vZGUqIE5v
ZGVTZXQ6OmZpcnN0Tm9kZSgpIGNvbnN0CiBOb2RlKiBOb2RlU2V0OjphbnlOb2RlKCkgY29uc3QK
IHsKICAgICBpZiAoaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKICAgICByZXR1cm4gbV9ub2Rlcy5hdCgwKS5nZXQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aE5vZGVTZXQuaAppbmRleCA4MzliZThkOGYwNDAzZDdhMTJjNjlmZDRjZDE1N2NkMzI3
OGQwNDFmLi4zYjhiNGM5ODE4MjJmNTA4MGIyZTU3YmE5NTc4ZGRmZWVmMjgwMTU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsOSArMjcsNiBAQAogI2lmbmRlZiBYUGF0aE5vZGVTZXRf
aAogI2RlZmluZSBYUGF0aE5vZGVTZXRfaAogCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KICNpbmNsdWRlICJOb2RlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTM2LDI2ICszNCwyNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbmFt
ZXNwYWNlIFhQYXRoIHsKIAogICAgICAgICBjbGFzcyBOb2RlU2V0IHsKLSAgICAgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBOb2Rl
U2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpIHsg
fQorICAgICAgICAgICAgTm9kZVNldChQYXNzUmVmUHRyPE5vZGU+IG5vZGUpIDogbV9pc1NvcnRl
ZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pvaW50KGZhbHNlKSwgbV9ub2RlcygxLCBub2RlKSB7
IH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVy
biBtX25vZGVzLnNpemUoKTsgfQotICAgICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyBy
ZXR1cm4gIW1fbm9kZXMuc2l6ZSgpOyB9CisgICAgICAgICAgICBib29sIGlzRW1wdHkoKSBjb25z
dCB7IHJldHVybiBtX25vZGVzLmlzRW1wdHkoKTsgfQogICAgICAgICAgICAgTm9kZSogb3BlcmF0
b3JbXSh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX25vZGVzLmF0KGkpLmdldCgpOyB9CiAg
ICAgICAgICAgICB2b2lkIHJlc2VydmVDYXBhY2l0eShzaXplX3QgbmV3Q2FwYWNpdHkpIHsgbV9u
b2Rlcy5yZXNlcnZlQ2FwYWNpdHkobmV3Q2FwYWNpdHkpOyB9CiAgICAgICAgICAgICB2b2lkIGNs
ZWFyKCkgeyBtX25vZGVzLmNsZWFyKCk7IH0KLSAgICAgICAgICAgIHZvaWQgc3dhcChOb2RlU2V0
JiBvdGhlcikgeyBzdGQ6OnN3YXAobV9pc1NvcnRlZCwgb3RoZXIubV9pc1NvcnRlZCk7IHN0ZDo6
c3dhcChtX3N1YnRyZWVzQXJlRGlzam9pbnQsIG90aGVyLm1fc3VidHJlZXNBcmVEaXNqb2ludCk7
IG1fbm9kZXMuc3dhcChvdGhlci5tX25vZGVzKTsgfQogCiAgICAgICAgICAgICAvLyBOb2RlU2V0
IGl0c2VsZiBkb2VzIG5vdCB2ZXJpZnkgdGhhdCBub2RlcyBpbiBpdCBhcmUgdW5pcXVlLgotICAg
ICAgICAgICAgdm9pZCBhcHBlbmQoTm9kZSogbm9kZSkgeyBtX25vZGVzLmFwcGVuZChub2RlKTsg
fQogICAgICAgICAgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxOb2RlPiBub2RlKSB7IG1fbm9k
ZXMuYXBwZW5kKG5vZGUpOyB9CiAgICAgICAgICAgICB2b2lkIGFwcGVuZChjb25zdCBOb2RlU2V0
JiBub2RlU2V0KSB7IG1fbm9kZXMuYXBwZW5kVmVjdG9yKG5vZGVTZXQubV9ub2Rlcyk7IH0KIAot
ICAgICAgICAgICAgLy8gUmV0dXJucyB0aGUgc2V0J3MgZmlyc3Qgbm9kZSBpbiBkb2N1bWVudCBv
cmRlciwgb3IgMCBpZiB0aGUgc2V0IGlzIGVtcHR5LgorICAgICAgICAgICAgLy8gUmV0dXJucyB0
aGUgc2V0J3MgZmlyc3Qgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgb3IgbnVsbHB0ciBpZiB0aGUg
c2V0IGlzIGVtcHR5LgogICAgICAgICAgICAgTm9kZSogZmlyc3ROb2RlKCkgY29uc3Q7CiAKLSAg
ICAgICAgICAgIC8vIFJldHVybnMgMCBpZiB0aGUgc2V0IGlzIGVtcHR5LgorICAgICAgICAgICAg
Ly8gUmV0dXJucyBudWxscHRyIGlmIHRoZSBzZXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBOb2Rl
KiBhbnlOb2RlKCkgY29uc3Q7CiAKICAgICAgICAgICAgIC8vIE5vZGVTZXQgaXRzZWxmIGRvZXNu
J3QgY2hlY2sgaWYgaXQgY29udGFpbnMgbm9kZXMgaW4gZG9jdW1lbnQgb3JkZXIgLSB0aGUgY2Fs
bGVyIHNob3VsZCB0ZWxsIGl0IGlmIGl0IGRvZXMgbm90LgpAQCAtNjgsMTQgKzY0LDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZvaWQgbWFya1N1YnRyZWVzRGlzam9pbnQo
Ym9vbCBkaXNqb2ludCkgeyBtX3N1YnRyZWVzQXJlRGlzam9pbnQgPSBkaXNqb2ludDsgfQogICAg
ICAgICAgICAgYm9vbCBzdWJ0cmVlc0FyZURpc2pvaW50KCkgY29uc3QgeyByZXR1cm4gbV9zdWJ0
cmVlc0FyZURpc2pvaW50IHx8IG1fbm9kZXMuc2l6ZSgpIDwgMjsgfQogCi0gICAgICAgICAgICB2
b2lkIHJldmVyc2UoKTsKLSAgICAgICAgCiAgICAgICAgIHByaXZhdGU6CiAgICAgICAgICAgICB2
b2lkIHRyYXZlcnNhbFNvcnQoKSBjb25zdDsKIAotICAgICAgICAgICAgYm9vbCBtX2lzU29ydGVk
OworICAgICAgICAgICAgbXV0YWJsZSBib29sIG1faXNTb3J0ZWQ7CiAgICAgICAgICAgICBib29s
IG1fc3VidHJlZXNBcmVEaXNqb2ludDsKLSAgICAgICAgICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4g
PiBtX25vZGVzOworICAgICAgICAgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPE5vZGU+PiBtX25v
ZGVzOwogICAgICAgICB9OwogCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5jcHAKaW5k
ZXggYTAzZjFmZWNjYjU3MmUyZDc3YThhMWI2YzE2YjcyMzI5MjA3MDQ4Mi4uODI2OTg1YmU0YzNm
NzRiYjQ0YWY0ZDZiY2QyMjc5OTBiZDg2MDU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIu
Y3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1IE1ha3NpbSBPcmxvdmlj
aCA8bWFrc2ltQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIs
IEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBA
d2Via2l0Lm9yZz4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM0LDI2ICszNCw0MCBAQAogI2luY2x1
ZGUgIlhQYXRoTlNSZXNvbHZlci5oIgogI2luY2x1ZGUgIlhQYXRoUGF0aC5oIgogI2luY2x1ZGUg
IlhQYXRoU3RlcC5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdURjsKLXVzaW5nIG5h
bWVzcGFjZSBVbmljb2RlOwogdXNpbmcgbmFtZXNwYWNlIFhQYXRoOwogCi1leHRlcm4gaW50IHhw
YXRoeXlwYXJzZShXZWJDb3JlOjpYUGF0aDo6UGFyc2VyKik7CitleHRlcm4gaW50IHhwYXRoeXlw
YXJzZShQYXJzZXImKTsKKwogI2luY2x1ZGUgIlhQYXRoR3JhbW1hci5oIgogCi1QYXJzZXIqIFBh
cnNlcjo6Y3VycmVudFBhcnNlciA9IDA7CituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2Ug
WFBhdGggewogCi1lbnVtIFhNTENhdCB7IE5hbWVTdGFydCwgTmFtZUNvbnQsIE5vdFBhcnRPZk5h
bWUgfTsKK3N0cnVjdCBQYXJzZXI6OlRva2VuIHsKKyAgICBpbnQgdHlwZTsKKyAgICBTdHJpbmcg
c3RyaW5nOworICAgIFN0ZXA6OkF4aXMgYXhpczsKKyAgICBOdW1lcmljT3A6Ok9wY29kZSBudW1l
cmljT3Bjb2RlOworICAgIEVxVGVzdE9wOjpPcGNvZGUgZXF1YWxpdHlUZXN0T3Bjb2RlOwogCi10
eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBTdGVwOjpBeGlzPiBBeGlzTmFtZXNNYXA7CisgICAgVG9r
ZW4oaW50IHR5cGUpIDogdHlwZSh0eXBlKSB7IH0KKyAgICBUb2tlbihpbnQgdHlwZSwgY29uc3Qg
U3RyaW5nJiBzdHJpbmcpIDogdHlwZSh0eXBlKSwgc3RyaW5nKHN0cmluZykgeyB9CisgICAgVG9r
ZW4oaW50IHR5cGUsIFN0ZXA6OkF4aXMgYXhpcykgOiB0eXBlKHR5cGUpLCBheGlzKGF4aXMpIHsg
fQorICAgIFRva2VuKGludCB0eXBlLCBOdW1lcmljT3A6Ok9wY29kZSBvcGNvZGUpIDogdHlwZSh0
eXBlKSwgbnVtZXJpY09wY29kZShvcGNvZGUpIHsgfQorICAgIFRva2VuKGludCB0eXBlLCBFcVRl
c3RPcDo6T3Bjb2RlIG9wY29kZSkgOiB0eXBlKHR5cGUpLCBlcXVhbGl0eVRlc3RPcGNvZGUob3Bj
b2RlKSB7IH0KK307CisKK2VudW0gWE1MQ2F0IHsgTmFtZVN0YXJ0LCBOYW1lQ29udCwgTm90UGFy
dE9mTmFtZSB9OwogCiBzdGF0aWMgWE1MQ2F0IGNoYXJDYXQoVUNoYXIgYUNoYXIpCiB7Ci0gICAg
Ly8jIyMgbWlnaHQgbmVlZCB0byBhZGQgc29tZSBzcGVjaWFsIGNhc2VzIGZyb20gdGhlIFhNTCBz
cGVjLgorICAgIHVzaW5nIG5hbWVzcGFjZSBXVEY7CisgICAgdXNpbmcgbmFtZXNwYWNlIFVuaWNv
ZGU7CiAKICAgICBpZiAoYUNoYXIgPT0gJ18nKQogICAgICAgICByZXR1cm4gTmFtZVN0YXJ0OwpA
QCAtNjgsNyArODIsNyBAQCBzdGF0aWMgWE1MQ2F0IGNoYXJDYXQoVUNoYXIgYUNoYXIpCiAgICAg
cmV0dXJuIE5vdFBhcnRPZk5hbWU7CiB9CiAKLXN0YXRpYyB2b2lkIHNldFVwQXhpc05hbWVzTWFw
KEF4aXNOYW1lc01hcCYgYXhpc05hbWVzKQorc3RhdGljIHZvaWQgcG9wdWxhdGVBeGlzTmFtZXNN
YXAoSGFzaE1hcDxTdHJpbmcsIFN0ZXA6OkF4aXM+JiBheGlzTmFtZXMpCiB7CiAgICAgc3RydWN0
IEF4aXNOYW1lIHsKICAgICAgICAgY29uc3QgY2hhciogbmFtZTsKQEAgLTg5LDI5ICsxMDMsMjMg
QEAgc3RhdGljIHZvaWQgc2V0VXBBeGlzTmFtZXNNYXAoQXhpc05hbWVzTWFwJiBheGlzTmFtZXMp
CiAgICAgICAgIHsgInByZWNlZGluZy1zaWJsaW5nIiwgU3RlcDo6UHJlY2VkaW5nU2libGluZ0F4
aXMgfSwKICAgICAgICAgeyAic2VsZiIsIFN0ZXA6OlNlbGZBeGlzIH0KICAgICB9OwotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplb2YoYXhpc05hbWVMaXN0KSAvIHNpemVvZihheGlz
TmFtZUxpc3RbMF0pOyArK2kpCi0gICAgICAgIGF4aXNOYW1lcy5zZXQoYXhpc05hbWVMaXN0W2ld
Lm5hbWUsIGF4aXNOYW1lTGlzdFtpXS5heGlzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgV1RGX0FSUkFZX0xFTkdUSChheGlzTmFtZUxpc3QpOyArK2kpCisgICAgICAgIGF4aXNOYW1l
cy5hZGQoYXhpc05hbWVMaXN0W2ldLm5hbWUsIGF4aXNOYW1lTGlzdFtpXS5heGlzKTsKIH0KIAot
c3RhdGljIGJvb2wgaXNBeGlzTmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0ZXA6OkF4aXMmIHR5
cGUpCitzdGF0aWMgYm9vbCBwYXJzZUF4aXNOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RlcDo6
QXhpcyYgdHlwZSkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF4aXNOYW1lc01hcCwgYXhp
c05hbWVzLCAoKSk7Ci0KLSAgICBpZiAoYXhpc05hbWVzLmlzRW1wdHkoKSkKLSAgICAgICAgc2V0
VXBBeGlzTmFtZXNNYXAoYXhpc05hbWVzKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFz
aE1hcDxTdHJpbmcsIFN0ZXA6OkF4aXM+PiBheGlzTmFtZXM7CisgICAgaWYgKGF4aXNOYW1lcy5n
ZXQoKS5pc0VtcHR5KCkpCisgICAgICAgIHBvcHVsYXRlQXhpc05hbWVzTWFwKGF4aXNOYW1lcyk7
CiAKLSAgICBBeGlzTmFtZXNNYXA6Oml0ZXJhdG9yIGl0ID0gYXhpc05hbWVzLmZpbmQobmFtZSk7
Ci0gICAgaWYgKGl0ID09IGF4aXNOYW1lcy5lbmQoKSkKKyAgICBhdXRvIGl0ID0gYXhpc05hbWVz
LmdldCgpLmZpbmQobmFtZSk7CisgICAgaWYgKGl0ID09IGF4aXNOYW1lcy5nZXQoKS5lbmQoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHR5cGUgPSBpdC0+dmFsdWU7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGlzTm9kZVR5cGVOYW1lKGNvbnN0IFN0cmluZyYgbmFt
ZSkKLXsKLSAgICByZXR1cm4gbmFtZSA9PSAiY29tbWVudCIgfHwgbmFtZSA9PSAidGV4dCIgfHwg
bmFtZSA9PSAicHJvY2Vzc2luZy1pbnN0cnVjdGlvbiIgfHwgbmFtZSA9PSAibm9kZSI7Ci19Ci0K
IC8vIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCB0b2tlbiBjYW4gcG9zc2libHkgYmUgYSBi
aW5hcnkgb3BlcmF0b3IsIGdpdmVuCiAvLyB0aGUgcHJldmlvdXMgdG9rZW4uIE5lY2Vzc2FyeSB0
byBkaXNhbWJpZ3VhdGUgc29tZSBvZiB0aGUgb3BlcmF0b3JzCiAvLyAoKiAobXVsdGlwbHkpLCBk
aXYsIGFuZCwgb3IsIG1vZCkgaW4gdGhlIFszMl0gT3BlcmF0b3IgcnVsZQpAQCAtMTM2LDI1ICsx
NDQsMjUgQEAgdm9pZCBQYXJzZXI6OnNraXBXUygpCiAgICAgICAgICsrbV9uZXh0UG9zOwogfQog
Ci1Ub2tlbiBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIGludCBhZHZhbmNl
KQorUGFyc2VyOjpUb2tlbiBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIGlu
dCBhZHZhbmNlKQogewogICAgIG1fbmV4dFBvcyArPSBhZHZhbmNlOwogICAgIHJldHVybiBUb2tl
bihjb2RlKTsKIH0KIAotVG9rZW4gUGFyc2VyOjptYWtlVG9rZW5BbmRBZHZhbmNlKGludCBjb2Rl
LCBOdW1lcmljT3A6Ok9wY29kZSB2YWwsIGludCBhZHZhbmNlKQorUGFyc2VyOjpUb2tlbiBQYXJz
ZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIE51bWVyaWNPcDo6T3Bjb2RlIHZhbCwg
aW50IGFkdmFuY2UpCiB7CiAgICAgbV9uZXh0UG9zICs9IGFkdmFuY2U7CiAgICAgcmV0dXJuIFRv
a2VuKGNvZGUsIHZhbCk7CiB9CiAKLVRva2VuIFBhcnNlcjo6bWFrZVRva2VuQW5kQWR2YW5jZShp
bnQgY29kZSwgRXFUZXN0T3A6Ok9wY29kZSB2YWwsIGludCBhZHZhbmNlKQorUGFyc2VyOjpUb2tl
biBQYXJzZXI6Om1ha2VUb2tlbkFuZEFkdmFuY2UoaW50IGNvZGUsIEVxVGVzdE9wOjpPcGNvZGUg
dmFsLCBpbnQgYWR2YW5jZSkKIHsKICAgICBtX25leHRQb3MgKz0gYWR2YW5jZTsKICAgICByZXR1
cm4gVG9rZW4oY29kZSwgdmFsKTsKIH0KIAotLy8gUmV0dXJucyBuZXh0IGNoYXIgaWYgaXQncyB0
aGVyZSBhbmQgaW50ZXJlc3RpbmcsIDAgb3RoZXJ3aXNlCisvLyBSZXR1cm5zIG5leHQgY2hhciBp
ZiBpdCdzIHRoZXJlIGFuZCBpbnRlcmVzdGluZywgMCBvdGhlcndpc2UuCiBjaGFyIFBhcnNlcjo6
cGVla0FoZWFkSGVscGVyKCkKIHsKICAgICBpZiAobV9uZXh0UG9zICsgMSA+PSBtX2RhdGEubGVu
Z3RoKCkpCkBAIC0xNzUsNyArMTgzLDcgQEAgY2hhciBQYXJzZXI6OnBlZWtDdXJIZWxwZXIoKQog
ICAgIHJldHVybiBuZXh0OwogfQogCi1Ub2tlbiBQYXJzZXI6OmxleFN0cmluZygpCitQYXJzZXI6
OlRva2VuIFBhcnNlcjo6bGV4U3RyaW5nKCkKIHsKICAgICBVQ2hhciBkZWxpbWl0ZXIgPSBtX2Rh
dGFbbV9uZXh0UG9zXTsKICAgICBpbnQgc3RhcnRQb3MgPSBtX25leHRQb3MgKyAxOwpAQCAtMTk0
LDcgKzIwMiw3IEBAIFRva2VuIFBhcnNlcjo6bGV4U3RyaW5nKCkKICAgICByZXR1cm4gVG9rZW4o
WFBBVEhfRVJST1IpOwogfQogCi1Ub2tlbiBQYXJzZXI6OmxleE51bWJlcigpCitQYXJzZXI6OlRv
a2VuIFBhcnNlcjo6bGV4TnVtYmVyKCkKIHsKICAgICBpbnQgc3RhcnRQb3MgPSBtX25leHRQb3M7
CiAgICAgYm9vbCBzZWVuRG90ID0gZmFsc2U7CkBAIC0yNTYsNyArMjY0LDcgQEAgYm9vbCBQYXJz
ZXI6OmxleFFOYW1lKFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotVG9rZW4g
UGFyc2VyOjpuZXh0VG9rZW5JbnRlcm5hbCgpCitpbmxpbmUgUGFyc2VyOjpUb2tlbiBQYXJzZXI6
Om5leHRUb2tlbkludGVybmFsKCkKIHsKICAgICBza2lwV1MoKTsKIApAQCAtMzQ0LDcgKzM1Miw3
IEBAIFRva2VuIFBhcnNlcjo6bmV4dFRva2VuSW50ZXJuYWwoKQogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAvL0l0IG1pZ2h0IGJlIGFuIGF4aXMgbmFtZS4KICAgICAgICAgICAgIFN0ZXA6OkF4
aXMgYXhpczsKLSAgICAgICAgICAgIGlmIChpc0F4aXNOYW1lKG5hbWUsIGF4aXMpKQorICAgICAg
ICAgICAgaWYgKHBhcnNlQXhpc05hbWUobmFtZSwgYXhpcykpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFRva2VuKEFYSVNOQU1FLCBheGlzKTsKICAgICAgICAgICAgIC8vIFVnaCwgOjogaXMgb25s
eSB2YWxpZCBpbiBheGlzIG5hbWVzIC0+IGVycm9yCiAgICAgICAgICAgICByZXR1cm4gVG9rZW4o
WFBBVEhfRVJST1IpOwpAQCAtMzcwLDEzICszNzgsMTYgQEAgVG9rZW4gUGFyc2VyOjpuZXh0VG9r
ZW5JbnRlcm5hbCgpCiAgICAgaWYgKHBlZWtDdXJIZWxwZXIoKSA9PSAnKCcpIHsKICAgICAgICAg
Ly8gbm90ZTogd2UgZG9uJ3Qgc3dhbGxvdyB0aGUgJygnIGhlcmUhCiAKLSAgICAgICAgLy8gZWl0
aGVyIG5vZGUgdHlwZSBvZiBmdW5jdGlvbiBuYW1lCi0gICAgICAgIGlmIChpc05vZGVUeXBlTmFt
ZShuYW1lKSkgewotICAgICAgICAgICAgaWYgKG5hbWUgPT0gInByb2Nlc3NpbmctaW5zdHJ1Y3Rp
b24iKQotICAgICAgICAgICAgICAgIHJldHVybiBUb2tlbihQSSk7CisgICAgICAgIC8vIEVpdGhl
ciBub2RlIHR5cGUgb29yIGZ1bmN0aW9uIG5hbWUuCiAKLSAgICAgICAgICAgIHJldHVybiBUb2tl
bihOT0RFVFlQRSwgbmFtZSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKG5hbWUgPT0gInByb2Nl
c3NpbmctaW5zdHJ1Y3Rpb24iKQorICAgICAgICAgICAgcmV0dXJuIFRva2VuKFBJKTsKKyAgICAg
ICAgaWYgKG5hbWUgPT0gIm5vZGUiKQorICAgICAgICAgICAgcmV0dXJuIFRva2VuKE5PREUpOwor
ICAgICAgICBpZiAobmFtZSA9PSAidGV4dCIpCisgICAgICAgICAgICByZXR1cm4gVG9rZW4oVEVY
VCk7CisgICAgICAgIGlmIChuYW1lID09ICJjb21tZW50IikKKyAgICAgICAgICAgIHJldHVybiBU
b2tlbihDT01NRU5UKTsKIAogICAgICAgICByZXR1cm4gVG9rZW4oRlVOQ1RJT05OQU1FLCBuYW1l
KTsKICAgICB9CkBAIC0zODUsNDcgKzM5NiwzNiBAQCBUb2tlbiBQYXJzZXI6Om5leHRUb2tlbklu
dGVybmFsKCkKICAgICByZXR1cm4gVG9rZW4oTkFNRVRFU1QsIG5hbWUpOwogfQogCi1Ub2tlbiBQ
YXJzZXI6Om5leHRUb2tlbigpCitpbmxpbmUgUGFyc2VyOjpUb2tlbiBQYXJzZXI6Om5leHRUb2tl
bigpCiB7Ci0gICAgVG9rZW4gdG9SZXQgPSBuZXh0VG9rZW5JbnRlcm5hbCgpOwotICAgIG1fbGFz
dFRva2VuVHlwZSA9IHRvUmV0LnR5cGU7Ci0gICAgcmV0dXJuIHRvUmV0OworICAgIFRva2VuIHRv
a2VuID0gbmV4dFRva2VuSW50ZXJuYWwoKTsKKyAgICBtX2xhc3RUb2tlblR5cGUgPSB0b2tlbi50
eXBlOworICAgIHJldHVybiB0b2tlbjsKIH0KIAotUGFyc2VyOjpQYXJzZXIoKQorUGFyc2VyOjpQ
YXJzZXIoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFhQYXRoTlNSZXNvbHZlciogcmVzb2x2ZXIp
CisgICAgOiBtX2RhdGEoc3RhdGVtZW50KQorICAgICwgbV9yZXNvbHZlcihyZXNvbHZlcikKKyAg
ICAsIG1fbmV4dFBvcygwKQorICAgICwgbV9sYXN0VG9rZW5UeXBlKDApCisgICAgLCBtX3Nhd05h
bWVzcGFjZUVycm9yKGZhbHNlKQogewotICAgIHJlc2V0KFN0cmluZygpKTsKIH0KIAotUGFyc2Vy
Ojp+UGFyc2VyKCkKK2ludCBQYXJzZXI6OmxleChZWVNUWVBFJiB5eWx2YWwpCiB7Ci19Ci0KLXZv
aWQgUGFyc2VyOjpyZXNldChjb25zdCBTdHJpbmcmIGRhdGEpCi17Ci0gICAgbV9uZXh0UG9zID0g
MDsKLSAgICBtX2RhdGEgPSBkYXRhOwotICAgIG1fbGFzdFRva2VuVHlwZSA9IDA7Ci0gICAgCi0g
ICAgbV90b3BFeHByID0gMDsKLSAgICBtX2dvdE5hbWVzcGFjZUVycm9yID0gZmFsc2U7Ci19Cisg
ICAgVG9rZW4gdG9rZW4gPSBuZXh0VG9rZW4oKTsKIAotaW50IFBhcnNlcjo6bGV4KHZvaWQqIGRh
dGEpCi17Ci0gICAgWVlTVFlQRSogeXlsdmFsID0gc3RhdGljX2Nhc3Q8WVlTVFlQRSo+KGRhdGEp
OwotICAgIFRva2VuIHRvayA9IG5leHRUb2tlbigpOwotCi0gICAgc3dpdGNoICh0b2sudHlwZSkg
eworICAgIHN3aXRjaCAodG9rZW4udHlwZSkgewogICAgIGNhc2UgQVhJU05BTUU6Ci0gICAgICAg
IHl5bHZhbC0+YXhpcyA9IHRvay5heGlzOworICAgICAgICB5eWx2YWwuYXhpcyA9IHRva2VuLmF4
aXM7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTVVMT1A6Ci0gICAgICAgIHl5bHZhbC0+bnVt
b3AgPSB0b2subnVtb3A7CisgICAgICAgIHl5bHZhbC5udW1lcmljT3Bjb2RlID0gdG9rZW4ubnVt
ZXJpY09wY29kZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSRUxPUDoKICAgICBjYXNlIEVR
T1A6Ci0gICAgICAgIHl5bHZhbC0+ZXFvcCA9IHRvay5lcW9wOworICAgICAgICB5eWx2YWwuZXF1
YWxpdHlUZXN0T3Bjb2RlID0gdG9rZW4uZXF1YWxpdHlUZXN0T3Bjb2RlOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIE5PREVUWVBFOgogICAgIGNhc2UgRlVOQ1RJT05OQU1FOgpAQCAtNDMzLDE5
MCArNDMzLDUwIEBAIGludCBQYXJzZXI6OmxleCh2b2lkKiBkYXRhKQogICAgIGNhc2UgVkFSSUFC
TEVSRUZFUkVOQ0U6CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBOQU1FVEVTVDoKLSAgICAg
ICAgeXlsdmFsLT5zdHIgPSBuZXcgU3RyaW5nKHRvay5zdHIpOwotICAgICAgICByZWdpc3RlclN0
cmluZyh5eWx2YWwtPnN0cik7CisgICAgICAgIHl5bHZhbC5zdHJpbmcgPSB0b2tlbi5zdHJpbmcu
cmVsZWFzZUltcGwoKS5sZWFrUmVmKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJl
dHVybiB0b2sudHlwZTsKKyAgICByZXR1cm4gdG9rZW4udHlwZTsKIH0KIAotYm9vbCBQYXJzZXI6
OmV4cGFuZFFOYW1lKGNvbnN0IFN0cmluZyYgcU5hbWUsIFN0cmluZyYgbG9jYWxOYW1lLCBTdHJp
bmcmIG5hbWVzcGFjZVVSSSkKK2Jvb2wgUGFyc2VyOjpleHBhbmRRdWFsaWZpZWROYW1lKGNvbnN0
IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgU3RyaW5nJiBsb2NhbE5hbWUsIFN0cmluZyYgbmFtZXNw
YWNlVVJJKQogewotICAgIHNpemVfdCBjb2xvbiA9IHFOYW1lLmZpbmQoJzonKTsKKyAgICBzaXpl
X3QgY29sb24gPSBxdWFsaWZpZWROYW1lLmZpbmQoJzonKTsKICAgICBpZiAoY29sb24gIT0gbm90
Rm91bmQpIHsKLSAgICAgICAgaWYgKCFtX3Jlc29sdmVyKQorICAgICAgICBpZiAoIW1fcmVzb2x2
ZXIpIHsKKyAgICAgICAgICAgIG1fc2F3TmFtZXNwYWNlRXJyb3IgPSB0cnVlOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBuYW1lc3BhY2VVUkkgPSBtX3Jlc29sdmVyLT5sb29r
dXBOYW1lc3BhY2VVUkkocU5hbWUubGVmdChjb2xvbikpOwotICAgICAgICBpZiAobmFtZXNwYWNl
VVJJLmlzTnVsbCgpKQorICAgICAgICB9CisgICAgICAgIG5hbWVzcGFjZVVSSSA9IG1fcmVzb2x2
ZXItPmxvb2t1cE5hbWVzcGFjZVVSSShxdWFsaWZpZWROYW1lLmxlZnQoY29sb24pKTsKKyAgICAg
ICAgaWYgKG5hbWVzcGFjZVVSSS5pc051bGwoKSkgeworICAgICAgICAgICAgbV9zYXdOYW1lc3Bh
Y2VFcnJvciA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGxvY2Fs
TmFtZSA9IHFOYW1lLnN1YnN0cmluZyhjb2xvbiArIDEpOworICAgICAgICB9CisgICAgICAgIGxv
Y2FsTmFtZSA9IHF1YWxpZmllZE5hbWUuc3Vic3RyaW5nKGNvbG9uICsgMSk7CiAgICAgfSBlbHNl
Ci0gICAgICAgIGxvY2FsTmFtZSA9IHFOYW1lOwotICAgIAorICAgICAgICBsb2NhbE5hbWUgPSBx
dWFsaWZpZWROYW1lOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUV4cHJlc3Npb24qIFBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFBhc3NSZWZQdHI8WFBh
dGhOU1Jlc29sdmVyPiByZXNvbHZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCitzdGQ6OnVuaXF1ZV9w
dHI8RXhwcmVzc2lvbj4gUGFyc2VyOjpwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRl
bWVudCwgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0g
ICAgcmVzZXQoc3RhdGVtZW50KTsKLQotICAgIG1fcmVzb2x2ZXIgPSByZXNvbHZlcjsKLSAgICAK
LSAgICBQYXJzZXIqIG9sZFBhcnNlciA9IGN1cnJlbnRQYXJzZXI7Ci0gICAgY3VycmVudFBhcnNl
ciA9IHRoaXM7Ci0gICAgaW50IHBhcnNlRXJyb3IgPSB4cGF0aHl5cGFyc2UodGhpcyk7Ci0gICAg
Y3VycmVudFBhcnNlciA9IG9sZFBhcnNlcjsKLQotICAgIGlmIChwYXJzZUVycm9yKSB7Ci0gICAg
ICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3BhcnNlTm9kZXMpOwotICAgICAgICBtX3BhcnNlTm9kZXMu
Y2xlYXIoKTsKLQotICAgICAgICBIYXNoU2V0PFZlY3RvcjxQcmVkaWNhdGUqPio+OjppdGVyYXRv
ciBwZW5kID0gbV9wcmVkaWNhdGVWZWN0b3JzLmVuZCgpOwotICAgICAgICBmb3IgKEhhc2hTZXQ8
VmVjdG9yPFByZWRpY2F0ZSo+Kj46Oml0ZXJhdG9yIGl0ID0gbV9wcmVkaWNhdGVWZWN0b3JzLmJl
Z2luKCk7IGl0ICE9IHBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcygq
Kml0KTsKLSAgICAgICAgICAgIGRlbGV0ZSAqaXQ7Ci0gICAgICAgIH0KLSAgICAgICAgbV9wcmVk
aWNhdGVWZWN0b3JzLmNsZWFyKCk7Ci0KLSAgICAgICAgSGFzaFNldDxWZWN0b3I8RXhwcmVzc2lv
bio+Kj46Oml0ZXJhdG9yIGVlbmQgPSBtX2V4cHJlc3Npb25WZWN0b3JzLmVuZCgpOwotICAgICAg
ICBmb3IgKEhhc2hTZXQ8VmVjdG9yPEV4cHJlc3Npb24qPio+OjppdGVyYXRvciBpdCA9IG1fZXhw
cmVzc2lvblZlY3RvcnMuYmVnaW4oKTsgaXQgIT0gZWVuZDsgKytpdCkgewotICAgICAgICAgICAg
ZGVsZXRlQWxsVmFsdWVzKCoqaXQpOwotICAgICAgICAgICAgZGVsZXRlICppdDsKLSAgICAgICAg
fQotICAgICAgICBtX2V4cHJlc3Npb25WZWN0b3JzLmNsZWFyKCk7Ci0KLSAgICAgICAgZGVsZXRl
QWxsVmFsdWVzKG1fc3RyaW5ncyk7Ci0gICAgICAgIG1fc3RyaW5ncy5jbGVhcigpOworICAgIFBh
cnNlciBwYXJzZXIoc3RhdGVtZW50LCByZXNvbHZlcik7CiAKLSAgICAgICAgZGVsZXRlQWxsVmFs
dWVzKG1fbm9kZVRlc3RzKTsKLSAgICAgICAgbV9ub2RlVGVzdHMuY2xlYXIoKTsKKyAgICBpbnQg
cGFyc2VFcnJvciA9IHhwYXRoeXlwYXJzZShwYXJzZXIpOwogCi0gICAgICAgIG1fdG9wRXhwciA9
IDA7Ci0KLSAgICAgICAgaWYgKG1fZ290TmFtZXNwYWNlRXJyb3IpCi0gICAgICAgICAgICBlYyA9
IE5BTUVTUEFDRV9FUlI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVjID0gWFBhdGhFeGNl
cHRpb246OklOVkFMSURfRVhQUkVTU0lPTl9FUlI7Ci0gICAgICAgIHJldHVybiAwOworICAgIGlm
IChwYXJzZXIubV9zYXdOYW1lc3BhY2VFcnJvcikgeworICAgICAgICBlYyA9IE5BTUVTUEFDRV9F
UlI7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIEFTU0VSVChtX3BhcnNl
Tm9kZXMuc2l6ZSgpID09IDEpOwotICAgIEFTU0VSVCgqbV9wYXJzZU5vZGVzLmJlZ2luKCkgPT0g
bV90b3BFeHByKTsKLSAgICBBU1NFUlQobV9leHByZXNzaW9uVmVjdG9ycy5zaXplKCkgPT0gMCk7
Ci0gICAgQVNTRVJUKG1fcHJlZGljYXRlVmVjdG9ycy5zaXplKCkgPT0gMCk7Ci0gICAgQVNTRVJU
KG1fc3RyaW5ncy5zaXplKCkgPT0gMCk7Ci0gICAgQVNTRVJUKG1fbm9kZVRlc3RzLnNpemUoKSA9
PSAwKTsKLQotICAgIG1fcGFyc2VOb2Rlcy5jbGVhcigpOwotICAgIEV4cHJlc3Npb24qIHJlc3Vs
dCA9IG1fdG9wRXhwcjsKLSAgICBtX3RvcEV4cHIgPSAwOwotCi0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotdm9pZCBQYXJzZXI6OnJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSogbm9kZSkKLXsK
LSAgICBpZiAobm9kZSA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKCFt
X3BhcnNlTm9kZXMuY29udGFpbnMobm9kZSkpOwotICAgIAotICAgIG1fcGFyc2VOb2Rlcy5hZGQo
bm9kZSk7Ci19Ci0KLXZvaWQgUGFyc2VyOjp1bnJlZ2lzdGVyUGFyc2VOb2RlKFBhcnNlTm9kZSog
bm9kZSkKLXsKLSAgICBpZiAobm9kZSA9PSAwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAg
QVNTRVJUKG1fcGFyc2VOb2Rlcy5jb250YWlucyhub2RlKSk7Ci0KLSAgICBtX3BhcnNlTm9kZXMu
cmVtb3ZlKG5vZGUpOwotfQotCi12b2lkIFBhcnNlcjo6cmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3Io
VmVjdG9yPFByZWRpY2F0ZSo+KiB2ZWN0b3IpCi17Ci0gICAgaWYgKHZlY3RvciA9PSAwKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQoIW1fcHJlZGljYXRlVmVjdG9ycy5jb250YWlucyh2
ZWN0b3IpKTsKLSAgICAKLSAgICBtX3ByZWRpY2F0ZVZlY3RvcnMuYWRkKHZlY3Rvcik7Ci19Ci0K
LXZvaWQgUGFyc2VyOjpkZWxldGVQcmVkaWNhdGVWZWN0b3IoVmVjdG9yPFByZWRpY2F0ZSo+KiB2
ZWN0b3IpCi17Ci0gICAgaWYgKHZlY3RvciA9PSAwKQotICAgICAgICByZXR1cm47Ci0KLSAgICBB
U1NFUlQobV9wcmVkaWNhdGVWZWN0b3JzLmNvbnRhaW5zKHZlY3RvcikpOwotICAgIAotICAgIG1f
cHJlZGljYXRlVmVjdG9ycy5yZW1vdmUodmVjdG9yKTsKLSAgICBkZWxldGUgdmVjdG9yOwotfQot
Ci0KLXZvaWQgUGFyc2VyOjpyZWdpc3RlckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Np
b24qPiogdmVjdG9yKQotewotICAgIGlmICh2ZWN0b3IgPT0gMCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgQVNTRVJUKCFtX2V4cHJlc3Npb25WZWN0b3JzLmNvbnRhaW5zKHZlY3RvcikpOwotICAg
IAotICAgIG1fZXhwcmVzc2lvblZlY3RvcnMuYWRkKHZlY3Rvcik7ICAgIAotfQotCi12b2lkIFBh
cnNlcjo6ZGVsZXRlRXhwcmVzc2lvblZlY3RvcihWZWN0b3I8RXhwcmVzc2lvbio+KiB2ZWN0b3Ip
Ci17Ci0gICAgaWYgKHZlY3RvciA9PSAwKQotICAgICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQo
bV9leHByZXNzaW9uVmVjdG9ycy5jb250YWlucyh2ZWN0b3IpKTsKLSAgICAKLSAgICBtX2V4cHJl
c3Npb25WZWN0b3JzLnJlbW92ZSh2ZWN0b3IpOwotICAgIGRlbGV0ZSB2ZWN0b3I7Ci19Ci0KLXZv
aWQgUGFyc2VyOjpyZWdpc3RlclN0cmluZyhTdHJpbmcqIHMpCi17Ci0gICAgaWYgKHMgPT0gMCkK
LSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVCghbV9zdHJpbmdzLmNvbnRhaW5zKHMp
KTsKLSAgICAKLSAgICBtX3N0cmluZ3MuYWRkKHMpOyAgICAgICAgCi19Ci0KLXZvaWQgUGFyc2Vy
OjpkZWxldGVTdHJpbmcoU3RyaW5nKiBzKQotewotICAgIGlmIChzID09IDApCi0gICAgICAgIHJl
dHVybjsKLSAgICAKLSAgICBBU1NFUlQobV9zdHJpbmdzLmNvbnRhaW5zKHMpKTsKLSAgICAKLSAg
ICBtX3N0cmluZ3MucmVtb3ZlKHMpOwotICAgIGRlbGV0ZSBzOwotfQotCi12b2lkIFBhcnNlcjo6
cmVnaXN0ZXJOb2RlVGVzdChTdGVwOjpOb2RlVGVzdCogdCkKLXsKLSAgICBpZiAodCA9PSAwKQot
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKCFtX25vZGVUZXN0cy5jb250YWlucyh0
KSk7Ci0gICAgCi0gICAgbV9ub2RlVGVzdHMuYWRkKHQpOyAgICAgICAgCi19CisgICAgaWYgKHBh
cnNlRXJyb3IpIHsKKyAgICAgICAgZWMgPSBYUGF0aEV4Y2VwdGlvbjo6SU5WQUxJRF9FWFBSRVNT
SU9OX0VSUjsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQogCi12b2lkIFBhcnNlcjo6
ZGVsZXRlTm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqIHQpCi17Ci0gICAgaWYgKHQgPT0gMCkKLSAg
ICAgICAgcmV0dXJuOwotICAgIAotICAgIEFTU0VSVChtX25vZGVUZXN0cy5jb250YWlucyh0KSk7
Ci0gICAgCi0gICAgbV9ub2RlVGVzdHMucmVtb3ZlKHQpOwotICAgIGRlbGV0ZSB0OworICAgIHJl
dHVybiBzdGQ6Om1vdmUocGFyc2VyLm1fcmVzdWx0KTsKIH0KIAorfSB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aFBhcnNlci5oCmluZGV4IGU1OGM0NDRlMWQ1MjgxYzA3NTA2YThjMTVkNTk5YTgxN2VkZGU0YTYu
LjRlNmY0MzdlNmY2YzI3YzQ4ZjdjYTFlY2RmN2E0ODgwOTY0YmU2MTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAyMDA1IE1ha3Np
bSBPcmxvdmljaCA8bWFrc2ltQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMw
LDYgKzMwLDggQEAKICNpbmNsdWRlICJYUGF0aFN0ZXAuaCIKICNpbmNsdWRlICJYUGF0aFByZWRp
Y2F0ZS5oIgogCit1bmlvbiBZWVNUWVBFOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0
eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwpAQCAtMzgsNTggKzQwLDIwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbjsKLSAgICAgICAgY2xhc3MgUGFyc2VOb2RlOwotICAgICAgICBjbGFzcyBQcmVkaWNhdGU7
Ci0KLSAgICAgICAgc3RydWN0IFRva2VuIHsKLSAgICAgICAgICAgIGludCB0eXBlOwotICAgICAg
ICAgICAgU3RyaW5nIHN0cjsKLSAgICAgICAgICAgIFN0ZXA6OkF4aXMgYXhpczsKLSAgICAgICAg
ICAgIE51bWVyaWNPcDo6T3Bjb2RlIG51bW9wOwotICAgICAgICAgICAgRXFUZXN0T3A6Ok9wY29k
ZSBlcW9wOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBUb2tlbihpbnQgdCkgOiB0eXBlKHQp
IHt9Ci0gICAgICAgICAgICBUb2tlbihpbnQgdCwgY29uc3QgU3RyaW5nJiB2KTogdHlwZSh0KSwg
c3RyKHYpIHt9Ci0gICAgICAgICAgICBUb2tlbihpbnQgdCwgU3RlcDo6QXhpcyB2KTogdHlwZSh0
KSwgYXhpcyh2KSB7fQotICAgICAgICAgICAgVG9rZW4oaW50IHQsIE51bWVyaWNPcDo6T3Bjb2Rl
IHYpOiB0eXBlKHQpLCBudW1vcCh2KSB7fQotICAgICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVz
dE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KLSAgICAgICAgfTsKLQogICAgICAg
ICBjbGFzcyBQYXJzZXIgewogICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2Vy
KTsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgUGFyc2VyKCk7Ci0gICAgICAgICAgICB+
UGFyc2VyKCk7Ci0KLSAgICAgICAgICAgIFhQYXRoTlNSZXNvbHZlciogcmVzb2x2ZXIoKSBjb25z
dCB7IHJldHVybiBtX3Jlc29sdmVyLmdldCgpOyB9Ci0gICAgICAgICAgICBib29sIGV4cGFuZFFO
YW1lKGNvbnN0IFN0cmluZyYgcU5hbWUsIFN0cmluZyYgbG9jYWxOYW1lLCBTdHJpbmcmIG5hbWVz
cGFjZVVSSSk7Ci0KLSAgICAgICAgICAgIEV4cHJlc3Npb24qIHBhcnNlU3RhdGVtZW50KGNvbnN0
IFN0cmluZyYgc3RhdGVtZW50LCBQYXNzUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4sIEV4Y2VwdGlv
bkNvZGUmKTsKLQotICAgICAgICAgICAgc3RhdGljIFBhcnNlciogY3VycmVudCgpIHsgcmV0dXJu
IGN1cnJlbnRQYXJzZXI7IH0KLQotICAgICAgICAgICAgaW50IGxleCh2b2lkKiB5eWx2YWwpOwor
ICAgICAgICAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBwYXJzZVN0YXRl
bWVudChjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgWFBhdGhOU1Jlc29sdmVyKiwgRXhjZXB0aW9u
Q29kZSYpOwogCi0gICAgICAgICAgICBFeHByZXNzaW9uKiBtX3RvcEV4cHI7Ci0gICAgICAgICAg
ICBib29sIG1fZ290TmFtZXNwYWNlRXJyb3I7CisgICAgICAgICAgICBpbnQgbGV4KFlZU1RZUEUm
KTsKKyAgICAgICAgICAgIGJvb2wgZXhwYW5kUXVhbGlmaWVkTmFtZShjb25zdCBTdHJpbmcmIHF1
YWxpZmllZE5hbWUsIFN0cmluZyYgbG9jYWxOYW1lLCBTdHJpbmcmIG5hbWVzcGFjZVVSSSk7Cisg
ICAgICAgICAgICB2b2lkIHNldFBhcnNlUmVzdWx0KHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9u
PiBleHByZXNzaW9uKSB7IG1fcmVzdWx0ID0gc3RkOjptb3ZlKGV4cHJlc3Npb24pOyB9CiAKLSAg
ICAgICAgICAgIHZvaWQgcmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VOb2RlKik7Ci0gICAgICAgICAg
ICB2b2lkIHVucmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VOb2RlKik7Ci0KLSAgICAgICAgICAgIHZv
aWQgcmVnaXN0ZXJQcmVkaWNhdGVWZWN0b3IoVmVjdG9yPFByZWRpY2F0ZSo+Kik7Ci0gICAgICAg
ICAgICB2b2lkIGRlbGV0ZVByZWRpY2F0ZVZlY3RvcihWZWN0b3I8UHJlZGljYXRlKj4qKTsKLQot
ICAgICAgICAgICAgdm9pZCByZWdpc3RlckV4cHJlc3Npb25WZWN0b3IoVmVjdG9yPEV4cHJlc3Np
b24qPiopOwotICAgICAgICAgICAgdm9pZCBkZWxldGVFeHByZXNzaW9uVmVjdG9yKFZlY3RvcjxF
eHByZXNzaW9uKj4qKTsKLQotICAgICAgICAgICAgdm9pZCByZWdpc3RlclN0cmluZyhTdHJpbmcq
KTsKLSAgICAgICAgICAgIHZvaWQgZGVsZXRlU3RyaW5nKFN0cmluZyopOworICAgICAgICBwcml2
YXRlOgorICAgICAgICAgICAgUGFyc2VyKGNvbnN0IFN0cmluZyYsIFhQYXRoTlNSZXNvbHZlciop
OwogCi0gICAgICAgICAgICB2b2lkIHJlZ2lzdGVyTm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsK
LSAgICAgICAgICAgIHZvaWQgZGVsZXRlTm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3QqKTsKKyAgICAg
ICAgICAgIHN0cnVjdCBUb2tlbjsKIAotICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgYm9v
bCBpc0JpbmFyeU9wZXJhdG9yQ29udGV4dCgpIGNvbnN0OwogCiAgICAgICAgICAgICB2b2lkIHNr
aXBXUygpOwpAQCAtMTA3LDIwICs3MSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICBUb2tlbiBuZXh0VG9rZW4oKTsKICAgICAgICAgICAgIFRva2VuIG5leHRUb2tlbkludGVy
bmFsKCk7CiAKLSAgICAgICAgICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJiBkYXRhKTsKLQot
ICAgICAgICAgICAgc3RhdGljIFBhcnNlciogY3VycmVudFBhcnNlcjsKKyAgICAgICAgICAgIGNv
bnN0IFN0cmluZyYgbV9kYXRhOworICAgICAgICAgICAgWFBhdGhOU1Jlc29sdmVyKiBtX3Jlc29s
dmVyOwogCiAgICAgICAgICAgICB1bnNpZ25lZCBtX25leHRQb3M7Ci0gICAgICAgICAgICBTdHJp
bmcgbV9kYXRhOwogICAgICAgICAgICAgaW50IG1fbGFzdFRva2VuVHlwZTsKLSAgICAgICAgICAg
IFJlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+IG1fcmVzb2x2ZXI7CiAKLSAgICAgICAgICAgIEhhc2hT
ZXQ8UGFyc2VOb2RlKj4gbV9wYXJzZU5vZGVzOwotICAgICAgICAgICAgSGFzaFNldDxWZWN0b3I8
UHJlZGljYXRlKj4qPiBtX3ByZWRpY2F0ZVZlY3RvcnM7Ci0gICAgICAgICAgICBIYXNoU2V0PFZl
Y3RvcjxFeHByZXNzaW9uKj4qPiBtX2V4cHJlc3Npb25WZWN0b3JzOwotICAgICAgICAgICAgSGFz
aFNldDxTdHJpbmcqPiBtX3N0cmluZ3M7Ci0gICAgICAgICAgICBIYXNoU2V0PFN0ZXA6Ok5vZGVU
ZXN0Kj4gbV9ub2RlVGVzdHM7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lv
bj4gbV9yZXN1bHQ7CisgICAgICAgICAgICBib29sIG1fc2F3TmFtZXNwYWNlRXJyb3I7CiAgICAg
ICAgIH07CiAKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRo
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguY3BwCmluZGV4IGJjOGE2M2E0MDNm
OWI1YWNjMGZlOWQ2NmIzODQ1ZmU5YWQ4NDI0YWQuLjY2MGMzMTUwZTlkNWUxYWI5MzY2MWM1YjAw
ODBjNzAyMWMyMDk3ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGgu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhdGguY3BwCkBAIC0xLDYgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNSBGcmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3Jn
PgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTM2LDI1ICszNiwxOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
bmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi1GaWx0ZXI6OkZpbHRlcihFeHByZXNzaW9uKiBl
eHByLCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMpCi0gICAgOiBtX2V4cHIo
ZXhwciksIG1fcHJlZGljYXRlcyhwcmVkaWNhdGVzKQorRmlsdGVyOjpGaWx0ZXIoc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+IGV4cHJlc3Npb24sIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4+IHByZWRpY2F0ZXMpCisgICAgOiBtX2V4cHJlc3Npb24oc3RkOjptb3ZlKGV4cHJl
c3Npb24pKSwgbV9wcmVkaWNhdGVzKHN0ZDo6bW92ZShwcmVkaWNhdGVzKSkKIHsKLSAgICBzZXRJ
c0NvbnRleHROb2RlU2Vuc2l0aXZlKG1fZXhwci0+aXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSgpKTsK
LSAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShtX2V4cHItPmlzQ29udGV4dFBvc2l0
aW9uU2Vuc2l0aXZlKCkpOwotICAgIHNldElzQ29udGV4dFNpemVTZW5zaXRpdmUobV9leHByLT5p
c0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpOwotfQotCi1GaWx0ZXI6On5GaWx0ZXIoKQotewotICAg
IGRlbGV0ZSBtX2V4cHI7Ci0gICAgZGVsZXRlQWxsVmFsdWVzKG1fcHJlZGljYXRlcyk7CisgICAg
c2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2V4cHJlc3Npb24tPmlzQ29udGV4dE5vZGVTZW5z
aXRpdmUoKSk7CisgICAgc2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUobV9leHByZXNzaW9u
LT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpKTsKKyAgICBzZXRJc0NvbnRleHRTaXplU2Vu
c2l0aXZlKG1fZXhwcmVzc2lvbi0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKIH0KIAogVmFs
dWUgRmlsdGVyOjpldmFsdWF0ZSgpIGNvbnN0CiB7Ci0gICAgVmFsdWUgdiA9IG1fZXhwci0+ZXZh
bHVhdGUoKTsKKyAgICBWYWx1ZSByZXN1bHQgPSBtX2V4cHJlc3Npb24tPmV2YWx1YXRlKCk7CiAg
ICAgCi0gICAgTm9kZVNldCYgbm9kZXMgPSB2Lm1vZGlmaWFibGVOb2RlU2V0KCk7CisgICAgTm9k
ZVNldCYgbm9kZXMgPSByZXN1bHQubW9kaWZpYWJsZU5vZGVTZXQoKTsKICAgICBub2Rlcy5zb3J0
KCk7CiAKICAgICBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQgPSBFeHByZXNz
aW9uOjpldmFsdWF0aW9uQ29udGV4dCgpOwpAQCAtNjksMjYgKzYzLDIxIEBAIFZhbHVlIEZpbHRl
cjo6ZXZhbHVhdGUoKSBjb25zdAogICAgICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQubm9kZSA9
IG5vZGU7CiAgICAgICAgICAgICArK2V2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9uOwogICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAobV9wcmVkaWNhdGVzW2ldLT5ldmFsdWF0ZSgpKQorICAg
ICAgICAgICAgaWYgKGV2YWx1YXRlUHJlZGljYXRlKCptX3ByZWRpY2F0ZXNbaV0pKQogICAgICAg
ICAgICAgICAgIG5ld05vZGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgfQotICAgICAgICBub2Rl
cy5zd2FwKG5ld05vZGVzKTsKKyAgICAgICAgbm9kZXMgPSBzdGQ6Om1vdmUobmV3Tm9kZXMpOwog
ICAgIH0KIAotICAgIHJldHVybiB2OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIExvY2F0aW9u
UGF0aDo6TG9jYXRpb25QYXRoKCkKLSAgICA6IG1fYWJzb2x1dGUoZmFsc2UpCisgICAgOiBtX2lz
QWJzb2x1dGUoZmFsc2UpCiB7CiAgICAgc2V0SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSh0cnVlKTsK
IH0KIAotTG9jYXRpb25QYXRoOjp+TG9jYXRpb25QYXRoKCkKLXsKLSAgICBkZWxldGVBbGxWYWx1
ZXMobV9zdGVwcyk7Ci19Ci0KIFZhbHVlIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoKSBjb25zdAog
ewogICAgIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCA9IEV4cHJlc3Npb246
OmV2YWx1YXRpb25Db250ZXh0KCk7CkBAIC0xMDIsNyArOTEsNyBAQCBWYWx1ZSBMb2NhdGlvblBh
dGg6OmV2YWx1YXRlKCkgY29uc3QKICAgICAvLyBUaGlzIGlzIGZvciBjb21wYXRpYmlsaXR5IHdp
dGggRmlyZWZveCwgYW5kIGFsc28gc2VlbXMgbGlrZSBhIG1vcmUKICAgICAvLyBsb2dpY2FsIHRy
ZWF0bWVudCBvZiB3aGVyZSB5b3Ugd291bGQgZXhwZWN0IHRoZSAicm9vdCIgdG8gYmUuCiAgICAg
Tm9kZSogY29udGV4dCA9IGV2YWx1YXRpb25Db250ZXh0Lm5vZGUuZ2V0KCk7Ci0gICAgaWYgKG1f
YWJzb2x1dGUgJiYgY29udGV4dC0+bm9kZVR5cGUoKSAhPSBOb2RlOjpET0NVTUVOVF9OT0RFKSAg
eworICAgIGlmIChtX2lzQWJzb2x1dGUgJiYgIWNvbnRleHQtPmlzRG9jdW1lbnROb2RlKCkpICB7
CiAgICAgICAgIGlmIChjb250ZXh0LT5pbkRvY3VtZW50KCkpCiAgICAgICAgICAgICBjb250ZXh0
ID0gY29udGV4dC0+b3duZXJEb2N1bWVudCgpOwogICAgICAgICBlbHNlCkBAIC0xMTQsNyArMTAz
LDcgQEAgVmFsdWUgTG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgZXZhbHVhdGUo
bm9kZXMpOwogICAgIAogICAgIGV2YWx1YXRpb25Db250ZXh0ID0gYmFja3VwQ29udGV4dDsKLSAg
ICByZXR1cm4gVmFsdWUobm9kZXMsIFZhbHVlOjphZG9wdCk7CisgICAgcmV0dXJuIFZhbHVlKHN0
ZDo6bW92ZShub2RlcykpOwogfQogCiB2b2lkIExvY2F0aW9uUGF0aDo6ZXZhbHVhdGUoTm9kZVNl
dCYgbm9kZXMpIGNvbnN0CkBAIC0xMjIsMjMgKzExMSwyMyBAQCB2b2lkIExvY2F0aW9uUGF0aDo6
ZXZhbHVhdGUoTm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgYm9vbCByZXN1bHRJc1NvcnRlZCA9
IG5vZGVzLmlzU29ydGVkKCk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zdGVw
cy5zaXplKCk7IGkrKykgewotICAgICAgICBTdGVwKiBzdGVwID0gbV9zdGVwc1tpXTsKKyAgICAg
ICAgU3RlcCYgc3RlcCA9ICptX3N0ZXBzW2ldOwogICAgICAgICBOb2RlU2V0IG5ld05vZGVzOwog
ICAgICAgICBIYXNoU2V0PE5vZGUqPiBuZXdOb2Rlc1NldDsKIAotICAgICAgICBib29sIG5lZWRU
b0NoZWNrRm9yRHVwbGljYXRlTm9kZXMgPSAhbm9kZXMuc3VidHJlZXNBcmVEaXNqb2ludCgpIHx8
IChzdGVwLT5heGlzKCkgIT0gU3RlcDo6Q2hpbGRBeGlzICYmIHN0ZXAtPmF4aXMoKSAhPSBTdGVw
OjpTZWxmQXhpcwotICAgICAgICAgICAgJiYgc3RlcC0+YXhpcygpICE9IFN0ZXA6OkRlc2NlbmRh
bnRBeGlzICYmIHN0ZXAtPmF4aXMoKSAhPSBTdGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcyAmJiBz
dGVwLT5heGlzKCkgIT0gU3RlcDo6QXR0cmlidXRlQXhpcyk7CisgICAgICAgIGJvb2wgbmVlZFRv
Q2hlY2tGb3JEdXBsaWNhdGVOb2RlcyA9ICFub2Rlcy5zdWJ0cmVlc0FyZURpc2pvaW50KCkgfHwg
KHN0ZXAuYXhpcygpICE9IFN0ZXA6OkNoaWxkQXhpcyAmJiBzdGVwLmF4aXMoKSAhPSBTdGVwOjpT
ZWxmQXhpcworICAgICAgICAgICAgJiYgc3RlcC5heGlzKCkgIT0gU3RlcDo6RGVzY2VuZGFudEF4
aXMgJiYgc3RlcC5heGlzKCkgIT0gU3RlcDo6RGVzY2VuZGFudE9yU2VsZkF4aXMgJiYgc3RlcC5h
eGlzKCkgIT0gU3RlcDo6QXR0cmlidXRlQXhpcyk7CiAKICAgICAgICAgaWYgKG5lZWRUb0NoZWNr
Rm9yRHVwbGljYXRlTm9kZXMpCiAgICAgICAgICAgICByZXN1bHRJc1NvcnRlZCA9IGZhbHNlOwog
CiAgICAgICAgIC8vIFRoaXMgaXMgYSBzaW1wbGlmaWVkIGNoZWNrIHRoYXQgY2FuIGJlIGltcHJv
dmVkIHRvIGhhbmRsZSBtb3JlIGNhc2VzLgotICAgICAgICBpZiAobm9kZXMuc3VidHJlZXNBcmVE
aXNqb2ludCgpICYmIChzdGVwLT5heGlzKCkgPT0gU3RlcDo6Q2hpbGRBeGlzIHx8IHN0ZXAtPmF4
aXMoKSA9PSBTdGVwOjpTZWxmQXhpcykpCisgICAgICAgIGlmIChub2Rlcy5zdWJ0cmVlc0FyZURp
c2pvaW50KCkgJiYgKHN0ZXAuYXhpcygpID09IFN0ZXA6OkNoaWxkQXhpcyB8fCBzdGVwLmF4aXMo
KSA9PSBTdGVwOjpTZWxmQXhpcykpCiAgICAgICAgICAgICBuZXdOb2Rlcy5tYXJrU3VidHJlZXNE
aXNqb2ludCh0cnVlKTsKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbm9kZXMu
c2l6ZSgpOyBqKyspIHsKICAgICAgICAgICAgIE5vZGVTZXQgbWF0Y2hlczsKLSAgICAgICAgICAg
IHN0ZXAtPmV2YWx1YXRlKG5vZGVzW2pdLCBtYXRjaGVzKTsKKyAgICAgICAgICAgIHN0ZXAuZXZh
bHVhdGUoKm5vZGVzW2pdLCBtYXRjaGVzKTsKIAogICAgICAgICAgICAgaWYgKCFtYXRjaGVzLmlz
U29ydGVkKCkpCiAgICAgICAgICAgICAgICAgcmVzdWx0SXNTb3J0ZWQgPSBmYWxzZTsKQEAgLTE1
MCw2NSArMTM5LDU2IEBAIHZvaWQgTG9jYXRpb25QYXRoOjpldmFsdWF0ZShOb2RlU2V0JiBub2Rl
cykgY29uc3QKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgbm9k
ZXMuc3dhcChuZXdOb2Rlcyk7CisgICAgICAgIG5vZGVzID0gc3RkOjptb3ZlKG5ld05vZGVzKTsK
ICAgICB9CiAKICAgICBub2Rlcy5tYXJrU29ydGVkKHJlc3VsdElzU29ydGVkKTsKIH0KIAotdm9p
ZCBMb2NhdGlvblBhdGg6OmFwcGVuZFN0ZXAoU3RlcCogc3RlcCkKK3ZvaWQgTG9jYXRpb25QYXRo
OjphcHBlbmRTdGVwKHN0ZDo6dW5pcXVlX3B0cjxTdGVwPiBzdGVwKQogewogICAgIHVuc2lnbmVk
IHN0ZXBDb3VudCA9IG1fc3RlcHMuc2l6ZSgpOwogICAgIGlmIChzdGVwQ291bnQpIHsKICAgICAg
ICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0aW1pemVTdGVwUGFpcihtX3N0ZXBz
W3N0ZXBDb3VudCAtIDFdLCBzdGVwLCBkcm9wU2Vjb25kU3RlcCk7Ci0gICAgICAgIGlmIChkcm9w
U2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIHN0ZXA7CisgICAgICAgIG9wdGltaXpl
U3RlcFBhaXIoKm1fc3RlcHNbc3RlcENvdW50IC0gMV0sICpzdGVwLCBkcm9wU2Vjb25kU3RlcCk7
CisgICAgICAgIGlmIChkcm9wU2Vjb25kU3RlcCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQogICAgIH0KICAgICBzdGVwLT5vcHRpbWl6ZSgpOwotICAgIG1fc3RlcHMuYXBwZW5kKHN0
ZXApOworICAgIG1fc3RlcHMuYXBwZW5kKHN0ZDo6bW92ZShzdGVwKSk7CiB9CiAKLXZvaWQgTG9j
YXRpb25QYXRoOjppbnNlcnRGaXJzdFN0ZXAoU3RlcCogc3RlcCkKK3ZvaWQgTG9jYXRpb25QYXRo
OjpwcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4gc3RlcCkKIHsKICAgICBpZiAobV9z
dGVwcy5zaXplKCkpIHsKICAgICAgICAgYm9vbCBkcm9wU2Vjb25kU3RlcDsKLSAgICAgICAgb3B0
aW1pemVTdGVwUGFpcihzdGVwLCBtX3N0ZXBzWzBdLCBkcm9wU2Vjb25kU3RlcCk7CisgICAgICAg
IG9wdGltaXplU3RlcFBhaXIoKnN0ZXAsICptX3N0ZXBzWzBdLCBkcm9wU2Vjb25kU3RlcCk7CiAg
ICAgICAgIGlmIChkcm9wU2Vjb25kU3RlcCkgewotICAgICAgICAgICAgZGVsZXRlIG1fc3RlcHNb
MF07Ci0gICAgICAgICAgICBtX3N0ZXBzWzBdID0gc3RlcDsKKyAgICAgICAgICAgIG1fc3RlcHNb
MF0gPSBzdGQ6Om1vdmUoc3RlcCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAg
ICB9CiAgICAgc3RlcC0+b3B0aW1pemUoKTsKLSAgICBtX3N0ZXBzLmluc2VydCgwLCBzdGVwKTsK
LX0KLQotUGF0aDo6UGF0aChGaWx0ZXIqIGZpbHRlciwgTG9jYXRpb25QYXRoKiBwYXRoKQotICAg
IDogbV9maWx0ZXIoZmlsdGVyKQotICAgICwgbV9wYXRoKHBhdGgpCi17Ci0gICAgc2V0SXNDb250
ZXh0Tm9kZVNlbnNpdGl2ZShmaWx0ZXItPmlzQ29udGV4dE5vZGVTZW5zaXRpdmUoKSk7Ci0gICAg
c2V0SXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoZmlsdGVyLT5pc0NvbnRleHRQb3NpdGlvblNl
bnNpdGl2ZSgpKTsKLSAgICBzZXRJc0NvbnRleHRTaXplU2Vuc2l0aXZlKGZpbHRlci0+aXNDb250
ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKKyAgICBtX3N0ZXBzLmluc2VydCgwLCBzdGQ6Om1vdmUoc3Rl
cCkpOwogfQogCi1QYXRoOjp+UGF0aCgpCitQYXRoOjpQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPiBmaWx0ZXIsIHN0ZDo6dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+IHBhdGgpCisgICAg
OiBtX2ZpbHRlcihzdGQ6Om1vdmUoZmlsdGVyKSkKKyAgICAsIG1fcGF0aChzdGQ6Om1vdmUocGF0
aCkpCiB7Ci0gICAgZGVsZXRlIG1fZmlsdGVyOwotICAgIGRlbGV0ZSBtX3BhdGg7CisgICAgc2V0
SXNDb250ZXh0Tm9kZVNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250ZXh0Tm9kZVNlbnNpdGl2ZSgp
KTsKKyAgICBzZXRJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShtX2ZpbHRlci0+aXNDb250ZXh0
UG9zaXRpb25TZW5zaXRpdmUoKSk7CisgICAgc2V0SXNDb250ZXh0U2l6ZVNlbnNpdGl2ZShtX2Zp
bHRlci0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKTsKIH0KIAogVmFsdWUgUGF0aDo6ZXZhbHVh
dGUoKSBjb25zdAogewotICAgIFZhbHVlIHYgPSBtX2ZpbHRlci0+ZXZhbHVhdGUoKTsKKyAgICBW
YWx1ZSByZXN1bHQgPSBtX2ZpbHRlci0+ZXZhbHVhdGUoKTsKIAotICAgIE5vZGVTZXQmIG5vZGVz
ID0gdi5tb2RpZmlhYmxlTm9kZVNldCgpOworICAgIE5vZGVTZXQmIG5vZGVzID0gcmVzdWx0Lm1v
ZGlmaWFibGVOb2RlU2V0KCk7CiAgICAgbV9wYXRoLT5ldmFsdWF0ZShub2Rlcyk7CiAgICAgCi0g
ICAgcmV0dXJuIHY7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0aC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGF0
aC5oCmluZGV4IGIxYTU3Y2JiNzU0MmRhMmFkNWUxMDY2YmI2MzBhNjZiMzVjNThhODAuLjE0ZTg4
MTI4Njk5MDFlYTY0ZGRjNjMxOWVjYzBlMzc1NWZiYzkzYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXRo
LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1IEZyZXJpY2ggUmFh
YmUgPHJhYWJlQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDkgQXBwbGUgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNjAgKzI4
LDU0IEBACiAjZGVmaW5lIFhQYXRoUGF0aF9oCiAKICNpbmNsdWRlICJYUGF0aEV4cHJlc3Npb25O
b2RlLmgiCi0jaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAg
ICAgICBjbGFzcyBTdGVwOwogCi0gICAgICAgIGNsYXNzIEZpbHRlciA6IHB1YmxpYyBFeHByZXNz
aW9uIHsKKyAgICAgICAgY2xhc3MgRmlsdGVyIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewog
ICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBGaWx0ZXIoRXhwcmVzc2lvbiosIGNvbnN0IFZl
Y3RvcjxQcmVkaWNhdGUqPiYgPSBWZWN0b3I8UHJlZGljYXRlKj4oKSk7Ci0gICAgICAgICAgICB2
aXJ0dWFsIH5GaWx0ZXIoKTsKLQotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgp
IGNvbnN0OworICAgICAgICAgICAgRmlsdGVyKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiwg
VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPj4gcHJlZGljYXRlcyk7CiAKICAgICAg
ICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KKyAgICAgICAgICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpO
b2RlU2V0VmFsdWU7IH0KIAotICAgICAgICAgICAgRXhwcmVzc2lvbiogbV9leHByOwotICAgICAg
ICAgICAgVmVjdG9yPFByZWRpY2F0ZSo+IG1fcHJlZGljYXRlczsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBtX2V4cHJlc3Npb247CisgICAgICAgICAgICBWZWN0b3I8
c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiBtX3ByZWRpY2F0ZXM7CiAgICAgICAgIH07CiAK
LSAgICAgICAgY2xhc3MgTG9jYXRpb25QYXRoIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAg
ICBjbGFzcyBMb2NhdGlvblBhdGggRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7CiAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIExvY2F0aW9uUGF0aCgpOwotICAgICAgICAgICAgdmlydHVh
bCB+TG9jYXRpb25QYXRoKCk7Ci0gICAgICAgICAgICB2b2lkIHNldEFic29sdXRlKGJvb2wgdmFs
dWUpIHsgbV9hYnNvbHV0ZSA9IHZhbHVlOyBzZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKCFtX2Fi
c29sdXRlKTsgfQogCi0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7
CisgICAgICAgICAgICB2b2lkIHNldEFic29sdXRlKCkgeyBtX2lzQWJzb2x1dGUgPSB0cnVlOyBz
ZXRJc0NvbnRleHROb2RlU2Vuc2l0aXZlKGZhbHNlKTsgfQorCiAgICAgICAgICAgICB2b2lkIGV2
YWx1YXRlKE5vZGVTZXQmIG5vZGVzKSBjb25zdDsgLy8gbm9kZXMgaXMgYW4gaW5wdXQvb3V0cHV0
IHBhcmFtZXRlcgogCi0gICAgICAgICAgICB2b2lkIGFwcGVuZFN0ZXAoU3RlcCogc3RlcCk7Ci0g
ICAgICAgICAgICB2b2lkIGluc2VydEZpcnN0U3RlcChTdGVwKiBzdGVwKTsKKyAgICAgICAgICAg
IHZvaWQgYXBwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4pOworICAgICAgICAgICAgdm9p
ZCBwcmVwZW5kU3RlcChzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4pOwogCiAgICAgICAgIHByaXZhdGU6
Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJl
dHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2
YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBl
IHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVl
OyB9CiAKLSAgICAgICAgICAgIFZlY3RvcjxTdGVwKj4gbV9zdGVwczsKLSAgICAgICAgICAgIGJv
b2wgbV9hYnNvbHV0ZTsKKyAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8U3RlcD4+
IG1fc3RlcHM7CisgICAgICAgICAgICBib29sIG1faXNBYnNvbHV0ZTsKICAgICAgICAgfTsKIAot
ICAgICAgICBjbGFzcyBQYXRoIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBQ
YXRoIEZJTkFMIDogcHVibGljIEV4cHJlc3Npb24gewogICAgICAgICBwdWJsaWM6Ci0gICAgICAg
ICAgICBQYXRoKEZpbHRlciosIExvY2F0aW9uUGF0aCopOwotICAgICAgICAgICAgdmlydHVhbCB+
UGF0aCgpOwotCi0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7Cisg
ICAgICAgICAgICBQYXRoKHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBmaWx0ZXIsIHN0ZDo6
dW5pcXVlX3B0cjxMb2NhdGlvblBhdGg+KTsKIAogICAgICAgICBwcml2YXRlOgotICAgICAgICAg
ICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6
Ok5vZGVTZXRWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNv
bnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogCi0gICAg
ICAgICAgICBGaWx0ZXIqIG1fZmlsdGVyOwotICAgICAgICAgICAgTG9jYXRpb25QYXRoKiBtX3Bh
dGg7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gbV9maWx0ZXI7Cisg
ICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8TG9jYXRpb25QYXRoPiBtX3BhdGg7CiAgICAgICAg
IH07CiAKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmNwcAppbmRleCBiYzhh
MWMzYTZjMDUzNWJjNTUxMmIyNDIyZjdjYzc4NTgwNGJkMjVlLi5mYTM3YmQ4YjEwNWZlMzRkZTI1
MDQ0YjdjZTQ3NjQ2YzQwMmQ0M2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5j
cHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8
cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJr
aXQub3JnPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNDgsOCArNDgsOCBAQCBWYWx1ZSBOdW1iZXI6
OmV2YWx1YXRlKCkgY29uc3QKICAgICByZXR1cm4gbV92YWx1ZTsKIH0KIAotU3RyaW5nRXhwcmVz
c2lvbjo6U3RyaW5nRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIDogbV92YWx1
ZSh2YWx1ZSkKK1N0cmluZ0V4cHJlc3Npb246OlN0cmluZ0V4cHJlc3Npb24oU3RyaW5nJiYgdmFs
dWUpCisgICAgOiBtX3ZhbHVlKHN0ZDo6bW92ZSh2YWx1ZSkpCiB7CiB9CiAKQEAgLTU4LDI2ICs1
OCwyNyBAQCBWYWx1ZSBTdHJpbmdFeHByZXNzaW9uOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fdmFsdWU7CiB9CiAKK05lZ2F0aXZlOjpOZWdhdGl2ZShzdGQ6OnVuaXF1ZV9wdHI8RXhw
cmVzc2lvbj4gZXhwcmVzc2lvbikKK3sKKyAgICBhZGRTdWJleHByZXNzaW9uKHN0ZDo6bW92ZShl
eHByZXNzaW9uKSk7Cit9CisKIFZhbHVlIE5lZ2F0aXZlOjpldmFsdWF0ZSgpIGNvbnN0CiB7Ci0g
ICAgVmFsdWUgcChzdWJFeHByZXNzaW9uKDApLmV2YWx1YXRlKCkpOwotICAgIHJldHVybiAtcC50
b051bWJlcigpOworICAgIHJldHVybiAtc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpLnRvTnVt
YmVyKCk7CiB9CiAKLU51bWVyaWNPcDo6TnVtZXJpY09wKE9wY29kZSBvcGNvZGUsIEV4cHJlc3Np
b24qIGxocywgRXhwcmVzc2lvbiogcmhzKQorTnVtZXJpY09wOjpOdW1lcmljT3AoT3Bjb2RlIG9w
Y29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IGxocywgc3RkOjp1bmlxdWVfcHRyPEV4
cHJlc3Npb24+IHJocykKICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHBy
ZXNzaW9uKGxocyk7Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJl
c3Npb24oc3RkOjptb3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJo
cykpOwogfQogCiBWYWx1ZSBOdW1lcmljT3A6OmV2YWx1YXRlKCkgY29uc3QKIHsKLSAgICBWYWx1
ZSBsaHMoc3ViRXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKLSAgICBWYWx1ZSByaHMoc3ViRXhw
cmVzc2lvbigxKS5ldmFsdWF0ZSgpKTsKLSAgICAKLSAgICBkb3VibGUgbGVmdFZhbCA9IGxocy50
b051bWJlcigpOwotICAgIGRvdWJsZSByaWdodFZhbCA9IHJocy50b051bWJlcigpOworICAgIGRv
dWJsZSBsZWZ0VmFsID0gc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpLnRvTnVtYmVyKCk7Cisg
ICAgZG91YmxlIHJpZ2h0VmFsID0gc3ViZXhwcmVzc2lvbigxKS5ldmFsdWF0ZSgpLnRvTnVtYmVy
KCk7CiAKICAgICBzd2l0Y2ggKG1fb3Bjb2RlKSB7CiAgICAgICAgIGNhc2UgT1BfQWRkOgpAQCAt
OTEsMTUgKzkyLDE2IEBAIFZhbHVlIE51bWVyaWNPcDo6ZXZhbHVhdGUoKSBjb25zdAogICAgICAg
ICBjYXNlIE9QX01vZDoKICAgICAgICAgICAgIHJldHVybiBmbW9kKGxlZnRWYWwsIHJpZ2h0VmFs
KTsKICAgICB9CisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wOwog
fQogCi1FcVRlc3RPcDo6RXFUZXN0T3AoT3Bjb2RlIG9wY29kZSwgRXhwcmVzc2lvbiogbGhzLCBF
eHByZXNzaW9uKiByaHMpCitFcVRlc3RPcDo6RXFUZXN0T3AoT3Bjb2RlIG9wY29kZSwgc3RkOjp1
bmlxdWVfcHRyPEV4cHJlc3Npb24+IGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IHJo
cykKICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9uKGxocyk7
Ci0gICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjpt
b3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwogfQogCiBi
b29sIEVxVGVzdE9wOjpjb21wYXJlKGNvbnN0IFZhbHVlJiBsaHMsIGNvbnN0IFZhbHVlJiByaHMp
IGNvbnN0CkBAIC0xNDEsNyArMTQzLDcgQEAgYm9vbCBFcVRlc3RPcDo6Y29tcGFyZShjb25zdCBW
YWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAgICAgICAgICAgLy8gdGhlIG5v
ZGUtc2V0IHRvIGEgYm9vbGVhbiB1c2luZyB0aGUgYm9vbGVhbiBmdW5jdGlvbiBpcyB0cnVlLgog
ICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUobGhzLnRvQm9vbGVhbigpLCByaHMpOwogICAgICAg
ICB9Ci0gICAgICAgIEFTU0VSVCgwKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgfQogICAgIGlmIChyaHMuaXNOb2RlU2V0KCkpIHsKICAgICAgICAgY29uc3QgTm9kZVNldCYg
cmhzU2V0ID0gcmhzLnRvTm9kZVNldCgpOwpAQCAtMTU5LDcgKzE2MSw3IEBAIGJvb2wgRXFUZXN0
T3A6OmNvbXBhcmUoY29uc3QgVmFsdWUmIGxocywgY29uc3QgVmFsdWUmIHJocykgY29uc3QKICAg
ICAgICAgfQogICAgICAgICBpZiAobGhzLmlzQm9vbGVhbigpKQogICAgICAgICAgICAgcmV0dXJu
IGNvbXBhcmUobGhzLCByaHMudG9Cb29sZWFuKCkpOwotICAgICAgICBBU1NFUlQoMCk7CisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KICAgICAKICAgICAvLyBOZWl0aGVyIHNp
ZGUgaXMgYSBOb2RlU2V0LgpAQCAtMTg2LDkyICsxODgsODcgQEAgYm9vbCBFcVRlc3RPcDo6Y29t
cGFyZShjb25zdCBWYWx1ZSYgbGhzLCBjb25zdCBWYWx1ZSYgcmhzKSBjb25zdAogICAgICAgICBj
YXNlIE9QX0xFOgogICAgICAgICAgICAgcmV0dXJuIGxocy50b051bWJlcigpIDw9IHJocy50b051
bWJlcigpOwogICAgIH0KLSAgICBBU1NFUlQoMCk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIFZhbHVlIEVxVGVzdE9wOjpldmFsdWF0ZSgpIGNv
bnN0CiB7Ci0gICAgVmFsdWUgbGhzKHN1YkV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKSk7Ci0gICAg
VmFsdWUgcmhzKHN1YkV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKSk7Ci0KKyAgICBWYWx1ZSBsaHMo
c3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpKTsKKyAgICBWYWx1ZSByaHMoc3ViZXhwcmVzc2lv
bigxKS5ldmFsdWF0ZSgpKTsKICAgICByZXR1cm4gY29tcGFyZShsaHMsIHJocyk7CiB9CiAKLUxv
Z2ljYWxPcDo6TG9naWNhbE9wKE9wY29kZSBvcGNvZGUsIEV4cHJlc3Npb24qIGxocywgRXhwcmVz
c2lvbiogcmhzKQorTG9naWNhbE9wOjpMb2dpY2FsT3AoT3Bjb2RlIG9wY29kZSwgc3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+IGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IHJocykK
ICAgICA6IG1fb3Bjb2RlKG9wY29kZSkKIHsKLSAgICBhZGRTdWJFeHByZXNzaW9uKGxocyk7Ci0g
ICAgYWRkU3ViRXhwcmVzc2lvbihyaHMpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3Zl
KGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKHJocykpOwogfQogCi1ib29s
IExvZ2ljYWxPcDo6c2hvcnRDaXJjdWl0T24oKSBjb25zdAoraW5saW5lIGJvb2wgTG9naWNhbE9w
OjpzaG9ydENpcmN1aXRPbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fb3Bjb2RlID09IE9QX0FuZCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOyAvL2ZhbHNlIGFuZCBmb28KLQotICAgIHJldHVybiB0cnVl
OyAgLy90cnVlIG9yIGJhcgorICAgIHJldHVybiBtX29wY29kZSAhPSBPUF9BbmQ7CiB9CiAKIFZh
bHVlIExvZ2ljYWxPcDo6ZXZhbHVhdGUoKSBjb25zdAogewotICAgIFZhbHVlIGxocyhzdWJFeHBy
ZXNzaW9uKDApLmV2YWx1YXRlKCkpOwotCiAgICAgLy8gVGhpcyBpcyBub3Qgb25seSBhbiBvcHRp
bWl6YXRpb24sIGh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoCiAgICAgLy8gZGljdGF0ZXMgdGhh
dCB3ZSBtdXN0IGRvIHNob3J0LWNpcmN1aXQgZXZhbHVhdGlvbgotICAgIGJvb2wgbGhzQm9vbCA9
IGxocy50b0Jvb2xlYW4oKTsKKyAgICBib29sIGxoc0Jvb2wgPSBzdWJleHByZXNzaW9uKDApLmV2
YWx1YXRlKCkudG9Cb29sZWFuKCk7CiAgICAgaWYgKGxoc0Jvb2wgPT0gc2hvcnRDaXJjdWl0T24o
KSkKICAgICAgICAgcmV0dXJuIGxoc0Jvb2w7CiAKLSAgICByZXR1cm4gc3ViRXhwcmVzc2lvbigx
KS5ldmFsdWF0ZSgpLnRvQm9vbGVhbigpOworICAgIHJldHVybiBzdWJleHByZXNzaW9uKDEpLmV2
YWx1YXRlKCkudG9Cb29sZWFuKCk7Cit9CisKK1VuaW9uOjpVbmlvbihzdGQ6OnVuaXF1ZV9wdHI8
RXhwcmVzc2lvbj4gbGhzLCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4gcmhzKQoreworICAg
IGFkZFN1YmV4cHJlc3Npb24oc3RkOjptb3ZlKGxocykpOworICAgIGFkZFN1YmV4cHJlc3Npb24o
c3RkOjptb3ZlKHJocykpOwogfQogCiBWYWx1ZSBVbmlvbjo6ZXZhbHVhdGUoKSBjb25zdAogewot
ICAgIFZhbHVlIGxoc1Jlc3VsdCA9IHN1YkV4cHJlc3Npb24oMCkuZXZhbHVhdGUoKTsKLSAgICBW
YWx1ZSByaHMgPSBzdWJFeHByZXNzaW9uKDEpLmV2YWx1YXRlKCk7Ci0gICAgCisgICAgVmFsdWUg
bGhzUmVzdWx0ID0gc3ViZXhwcmVzc2lvbigwKS5ldmFsdWF0ZSgpOworICAgIFZhbHVlIHJocyA9
IHN1YmV4cHJlc3Npb24oMSkuZXZhbHVhdGUoKTsKKwogICAgIE5vZGVTZXQmIHJlc3VsdFNldCA9
IGxoc1Jlc3VsdC5tb2RpZmlhYmxlTm9kZVNldCgpOwogICAgIGNvbnN0IE5vZGVTZXQmIHJoc05v
ZGVzID0gcmhzLnRvTm9kZVNldCgpOwotICAgIAorCiAgICAgSGFzaFNldDxOb2RlKj4gbm9kZXM7
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTZXQuc2l6ZSgpOyArK2kpCiAgICAg
ICAgIG5vZGVzLmFkZChyZXN1bHRTZXRbaV0pOwotICAgIAorCiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCByaHNOb2Rlcy5zaXplKCk7ICsraSkgewogICAgICAgICBOb2RlKiBub2RlID0gcmhz
Tm9kZXNbaV07CiAgICAgICAgIGlmIChub2Rlcy5hZGQobm9kZSkuaXNOZXdFbnRyeSkKICAgICAg
ICAgICAgIHJlc3VsdFNldC5hcHBlbmQobm9kZSk7CiAgICAgfQogCi0gICAgLy8gSXQgaXMgYWxz
byBwb3NzaWJsZSB0byB1c2UgbWVyZ2Ugc29ydCB0byBhdm9pZCBtYWtpbmcgdGhlIHJlc3VsdCB1
bnNvcnRlZDsKLSAgICAvLyBidXQgdGhpcyB3b3VsZCB3YXN0ZSB0aGUgdGltZSBpbiBjYXNlcyB3
aGVuIG9yZGVyIGlzIG5vdCBpbXBvcnRhbnQuCisgICAgLy8gSXQgd291bGQgYWxzbyBiZSBwb3Nz
aWJsZSB0byBwZXJmb3JtIGEgbWVyZ2Ugc29ydCBoZXJlIHRvIGF2b2lkIG1ha2luZyBhbiB1bnNv
cnRlZCByZXN1bHQsCisgICAgLy8gYnV0IHRoYXQgd291bGQgd2FzdGUgdGhlIHRpbWUgaW4gY2Fz
ZXMgd2hlbiBvcmRlciBpcyBub3QgaW1wb3J0YW50LgogICAgIHJlc3VsdFNldC5tYXJrU29ydGVk
KGZhbHNlKTsKLSAgICByZXR1cm4gbGhzUmVzdWx0OwotfQogCi1QcmVkaWNhdGU6OlByZWRpY2F0
ZShFeHByZXNzaW9uKiBleHByKQotICAgIDogbV9leHByKGV4cHIpCi17Ci19Ci0KLVByZWRpY2F0
ZTo6flByZWRpY2F0ZSgpCi17Ci0gICAgZGVsZXRlIG1fZXhwcjsKKyAgICByZXR1cm4gbGhzUmVz
dWx0OwogfQogCi1ib29sIFByZWRpY2F0ZTo6ZXZhbHVhdGUoKSBjb25zdAorYm9vbCBldmFsdWF0
ZVByZWRpY2F0ZShjb25zdCBFeHByZXNzaW9uJiBleHByZXNzaW9uKQogewotICAgIEFTU0VSVCht
X2V4cHIgIT0gMCk7Ci0KLSAgICBWYWx1ZSByZXN1bHQobV9leHByLT5ldmFsdWF0ZSgpKTsKKyAg
ICBWYWx1ZSByZXN1bHQoZXhwcmVzc2lvbi5ldmFsdWF0ZSgpKTsKIAogICAgIC8vIGZvb1szXSBt
ZWFucyBmb29bcG9zaXRpb24oKT0zXQogICAgIGlmIChyZXN1bHQuaXNOdW1iZXIoKSkKLSAgICAg
ICAgcmV0dXJuIEVxVGVzdE9wKEVxVGVzdE9wOjpPUF9FUSwgY3JlYXRlRnVuY3Rpb24oInBvc2l0
aW9uIiksIG5ldyBOdW1iZXIocmVzdWx0LnRvTnVtYmVyKCkpKS5ldmFsdWF0ZSgpLnRvQm9vbGVh
bigpOworICAgICAgICByZXR1cm4gRXFUZXN0T3AoRXFUZXN0T3A6Ok9QX0VRLCBGdW5jdGlvbjo6
Y3JlYXRlKEFTQ0lJTGl0ZXJhbCgicG9zaXRpb24iKSksIHN0ZDo6bWFrZV91bmlxdWU8TnVtYmVy
PihyZXN1bHQudG9OdW1iZXIoKSkpLmV2YWx1YXRlKCkudG9Cb29sZWFuKCk7CiAKICAgICByZXR1
cm4gcmVzdWx0LnRvQm9vbGVhbigpOwogfQogCitib29sIHByZWRpY2F0ZUlzQ29udGV4dFBvc2l0
aW9uU2Vuc2l0aXZlKGNvbnN0IEV4cHJlc3Npb24mIGV4cHJlc3Npb24pCit7CisgICAgcmV0dXJu
IGV4cHJlc3Npb24uaXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoKSB8fCBleHByZXNzaW9uLnJl
c3VsdFR5cGUoKSA9PSBWYWx1ZTo6TnVtYmVyVmFsdWU7Cit9CisKIH0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoUHJlZGljYXRlLmgKaW5kZXggMDEzY2NkYTIzMTI0M2E4NDgzMmZiYWRiZGUyODAyNDJl
YzUwMmU5Zi4uNTQyY2MxNDlmODY3MmZlMWU4NzgzNzUyMDYyZGU5YWQ4NWFhYzM2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykg
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzQsODkgKzM0LDg3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVz
cGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBjbGFzcyBOdW1iZXIgOiBwdWJsaWMgRXhw
cmVzc2lvbiB7CisgICAgICAgIGNsYXNzIE51bWJlciBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9u
IHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZXhwbGljaXQgTnVtYmVyKGRvdWJsZSk7
CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUo
KSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQorICAgICAgICAgICAgdmlydHVhbCBW
YWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCBWYWx1
ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gVmFsdWU6Ok51bWJl
clZhbHVlOyB9CiAKICAgICAgICAgICAgIFZhbHVlIG1fdmFsdWU7CiAgICAgICAgIH07CiAKLSAg
ICAgICAgY2xhc3MgU3RyaW5nRXhwcmVzc2lvbiA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAg
ICAgY2xhc3MgU3RyaW5nRXhwcmVzc2lvbiBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKICAg
ICAgICAgcHVibGljOgotICAgICAgICAgICAgZXhwbGljaXQgU3RyaW5nRXhwcmVzc2lvbihjb25z
dCBTdHJpbmcmKTsKKyAgICAgICAgICAgIGV4cGxpY2l0IFN0cmluZ0V4cHJlc3Npb24oU3RyaW5n
JiYpOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1
YXRlKCkgY29uc3Q7Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUo
KSBjb25zdCB7IHJldHVybiBWYWx1ZTo6U3RyaW5nVmFsdWU7IH0KKyAgICAgICAgICAgIHZpcnR1
YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgICAgIHZpcnR1YWwg
VmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFZhbHVlOjpT
dHJpbmdWYWx1ZTsgfQogCiAgICAgICAgICAgICBWYWx1ZSBtX3ZhbHVlOwogICAgICAgICB9Owog
Ci0gICAgICAgIGNsYXNzIE5lZ2F0aXZlIDogcHVibGljIEV4cHJlc3Npb24geworICAgICAgICBj
bGFzcyBOZWdhdGl2ZSBGSU5BTCA6IHB1YmxpYyBFeHByZXNzaW9uIHsKKyAgICAgICAgcHVibGlj
OgorICAgICAgICAgICAgZXhwbGljaXQgTmVnYXRpdmUoc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Np
b24+KTsKKwogICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFs
dWF0ZSgpIGNvbnN0OwotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CisgICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFs
IFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBWYWx1ZTo6
TnVtYmVyVmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBOdW1lcmljT3AgOiBw
dWJsaWMgRXhwcmVzc2lvbiB7CisgICAgICAgIGNsYXNzIE51bWVyaWNPcCBGSU5BTCA6IHB1Ymxp
YyBFeHByZXNzaW9uIHsKICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgZW51bSBPcGNvZGUg
ewotICAgICAgICAgICAgICAgIE9QX0FkZCwgT1BfU3ViLCBPUF9NdWwsIE9QX0RpdiwgT1BfTW9k
Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgTnVtZXJpY09wKE9wY29kZSwgRXhwcmVzc2lv
biogbGhzLCBFeHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgZW51bSBPcGNvZGUgeyBPUF9B
ZGQsIE9QX1N1YiwgT1BfTXVsLCBPUF9EaXYsIE9QX01vZCB9OworICAgICAgICAgICAgTnVtZXJp
Y09wKE9wY29kZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IGxocywgc3RkOjp1bmlxdWVf
cHRyPEV4cHJlc3Npb24+IHJocyk7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6
OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOdW1iZXJWYWx1ZTsgfQor
ICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0IE9WRVJSSURFOworICAg
ICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gVmFsdWU6Ok51bWJlclZhbHVlOyB9CiAKICAgICAgICAgICAgIE9wY29kZSBtX29w
Y29kZTsKICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBFcVRlc3RPcCA6IHB1YmxpYyBFeHBy
ZXNzaW9uIHsKKyAgICAgICAgY2xhc3MgRXFUZXN0T3AgRklOQUwgOiBwdWJsaWMgRXhwcmVzc2lv
biB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0gT3Bjb2RlIHsgT1BfRVEsIE9Q
X05FLCBPUF9HVCwgT1BfTFQsIE9QX0dFLCBPUF9MRSB9OwotICAgICAgICAgICAgRXFUZXN0T3Ao
T3Bjb2RlLCBFeHByZXNzaW9uKiBsaHMsIEV4cHJlc3Npb24qIHJocyk7Ci0gICAgICAgICAgICB2
aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3Q7CisgICAgICAgICAgICBFcVRlc3RPcChPcGNv
ZGUsIHN0ZDo6dW5pcXVlX3B0cjxFeHByZXNzaW9uPiBsaHMsIHN0ZDo6dW5pcXVlX3B0cjxFeHBy
ZXNzaW9uPiByaHMpOworICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0
IE9WRVJSSURFOworCiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9
CisgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiBWYWx1ZTo6Qm9vbGVhblZhbHVlOyB9CiAgICAgICAgICAgICBib29sIGNv
bXBhcmUoY29uc3QgVmFsdWUmLCBjb25zdCBWYWx1ZSYpIGNvbnN0OwogCiAgICAgICAgICAgICBP
cGNvZGUgbV9vcGNvZGU7CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgTG9naWNhbE9wIDog
cHVibGljIEV4cHJlc3Npb24geworICAgICAgICBjbGFzcyBMb2dpY2FsT3AgRklOQUwgOiBwdWJs
aWMgRXhwcmVzc2lvbiB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0gT3Bjb2Rl
IHsgT1BfQW5kLCBPUF9PciB9OwotICAgICAgICAgICAgTG9naWNhbE9wKE9wY29kZSwgRXhwcmVz
c2lvbiogbGhzLCBFeHByZXNzaW9uKiByaHMpOworICAgICAgICAgICAgTG9naWNhbE9wKE9wY29k
ZSwgc3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+IGxocywgc3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+IHJocyk7CisKICAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIHZpcnR1YWwgVmFs
dWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7
IH0KKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIFZhbHVlOjpCb29sZWFuVmFsdWU7IH0KICAgICAgICAgICAgIGJvb2wg
c2hvcnRDaXJjdWl0T24oKSBjb25zdDsKLSAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVh
dGUoKSBjb25zdDsKKyAgICAgICAgICAgIHZpcnR1YWwgVmFsdWUgZXZhbHVhdGUoKSBjb25zdCBP
VkVSUklERTsKIAogICAgICAgICAgICAgT3Bjb2RlIG1fb3Bjb2RlOwogICAgICAgICB9OwogCi0g
ICAgICAgIGNsYXNzIFVuaW9uIDogcHVibGljIEV4cHJlc3Npb24gewotICAgICAgICBwcml2YXRl
OgotICAgICAgICAgICAgdmlydHVhbCBWYWx1ZSBldmFsdWF0ZSgpIGNvbnN0OwotICAgICAgICAg
ICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6
Ok5vZGVTZXRWYWx1ZTsgfQotICAgICAgICB9OwotCi0gICAgICAgIGNsYXNzIFByZWRpY2F0ZSB7
Ci0gICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNhdGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgY2xhc3MgVW5pb24gRklOQUwgOiBwdWJsaWMgRXhwcmVz
c2lvbiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIGV4cGxpY2l0IFByZWRpY2F0ZShF
eHByZXNzaW9uKik7Ci0gICAgICAgICAgICB+UHJlZGljYXRlKCk7Ci0gICAgICAgICAgICBib29s
IGV2YWx1YXRlKCkgY29uc3Q7Ci0KLSAgICAgICAgICAgIGJvb2wgaXNDb250ZXh0UG9zaXRpb25T
ZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHItPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0
aXZlKCkgfHwgbV9leHByLT5yZXN1bHRUeXBlKCkgPT0gVmFsdWU6Ok51bWJlclZhbHVlOyB9Ci0g
ICAgICAgICAgICBib29sIGlzQ29udGV4dFNpemVTZW5zaXRpdmUoKSBjb25zdCB7IHJldHVybiBt
X2V4cHItPmlzQ29udGV4dFNpemVTZW5zaXRpdmUoKTsgfQorICAgICAgICAgICAgVW5pb24oc3Rk
Ojp1bmlxdWVfcHRyPEV4cHJlc3Npb24+LCBzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4pOwog
CiAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICBFeHByZXNzaW9uKiBtX2V4cHI7CisgICAg
ICAgICAgICB2aXJ0dWFsIFZhbHVlIGV2YWx1YXRlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAg
ICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAgIH07CiAKKyAgICAgICAgYm9vbCBl
dmFsdWF0ZVByZWRpY2F0ZShjb25zdCBFeHByZXNzaW9uJik7CisgICAgICAgIGJvb2wgcHJlZGlj
YXRlSXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUoY29uc3QgRXhwcmVzc2lvbiYpOworCiAgICAg
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCmluZGV4IDQ0MWRmZTQ4YmYzZjg3NDBlMzNh
NTNjYjUwOTZkNzY1MDMxMjY2NDQuLmZlNzYxNzk0NjBiYTMyZmFlYzEzOWFkZjAxNDM4MzY4N2Ri
ZTdiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAKICNp
bmNsdWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFbGVtZW50
LmgiCisjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgi
CiAjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgogI2luY2x1ZGUgIlhQYXRoUGFyc2VyLmgiCkBAIC0z
OSwxNyArMzksMjEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBYUGF0aCB7CiAK
LVN0ZXA6OlN0ZXAoQXhpcyBheGlzLCBjb25zdCBOb2RlVGVzdCYgbm9kZVRlc3QsIGNvbnN0IFZl
Y3RvcjxQcmVkaWNhdGUqPiYgcHJlZGljYXRlcykKK1N0ZXA6OlN0ZXAoQXhpcyBheGlzLCBOb2Rl
VGVzdCBub2RlVGVzdCkKICAgICA6IG1fYXhpcyhheGlzKQotICAgICwgbV9ub2RlVGVzdChub2Rl
VGVzdCkKLSAgICAsIG1fcHJlZGljYXRlcyhwcmVkaWNhdGVzKQorICAgICwgbV9ub2RlVGVzdChz
dGQ6Om1vdmUobm9kZVRlc3QpKQoreworfQorCitTdGVwOjpTdGVwKEF4aXMgYXhpcywgTm9kZVRl
c3Qgbm9kZVRlc3QsIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IHByZWRpY2F0
ZXMpCisgICAgOiBtX2F4aXMoYXhpcykKKyAgICAsIG1fbm9kZVRlc3Qoc3RkOjptb3ZlKG5vZGVU
ZXN0KSkKKyAgICAsIG1fcHJlZGljYXRlcyhzdGQ6Om1vdmUocHJlZGljYXRlcykpCiB7CiB9CiAK
IFN0ZXA6On5TdGVwKCkKIHsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9wcmVkaWNhdGVzKTsKLSAg
ICBkZWxldGVBbGxWYWx1ZXMobV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKCkpOwogfQogCiB2
b2lkIFN0ZXA6Om9wdGltaXplKCkKQEAgLTU3LDU5ICs2MSw2OCBAQCB2b2lkIFN0ZXA6Om9wdGlt
aXplKCkKICAgICAvLyBFdmFsdWF0ZSBwcmVkaWNhdGVzIGFzIHBhcnQgb2Ygbm9kZSB0ZXN0IGlm
IHBvc3NpYmxlIHRvIGF2b2lkIGJ1aWxkaW5nIHVubmVjZXNzYXJ5IE5vZGVTZXRzLgogICAgIC8v
IEUuZy4sIHRoZXJlIGlzIG5vIG5lZWQgdG8gYnVpbGQgYSBzZXQgb2YgYWxsICJmb28iIG5vZGVz
IHRvIGV2YWx1YXRlICJmb29bQGJhcl0iLCB3ZSBjYW4gY2hlY2sgdGhlIHByZWRpY2F0ZSB3aGls
ZSBlbnVtZXJhdGluZy4KICAgICAvLyBUaGlzIG9wdGltaXphdGlvbiBjYW4gYmUgYXBwbGllZCB0
byBwcmVkaWNhdGVzIHRoYXQgYXJlIG5vdCBjb250ZXh0IG5vZGUgbGlzdCBzZW5zaXRpdmUsIG9y
IHRvIGZpcnN0IHByZWRpY2F0ZSB0aGF0IGlzIG9ubHkgY29udGV4dCBwb3NpdGlvbiBzZW5zaXRp
dmUsIGUuZy4gZm9vW3Bvc2l0aW9uKCkgbW9kIDIgPSAwXS4KLSAgICBWZWN0b3I8UHJlZGljYXRl
Kj4gcmVtYWluaW5nUHJlZGljYXRlczsKKyAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJl
c3Npb24+PiByZW1haW5pbmdQcmVkaWNhdGVzOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9wcmVkaWNhdGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGljYXRl
ID0gbV9wcmVkaWNhdGVzW2ldOwotICAgICAgICBpZiAoKCFwcmVkaWNhdGUtPmlzQ29udGV4dFBv
c2l0aW9uU2Vuc2l0aXZlKCkgfHwgbV9ub2RlVGVzdC5tZXJnZWRQcmVkaWNhdGVzKCkuaXNFbXB0
eSgpKSAmJiAhcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkgJiYgcmVtYWluaW5n
UHJlZGljYXRlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIG1fbm9kZVRlc3QubWVyZ2VkUHJl
ZGljYXRlcygpLmFwcGVuZChwcmVkaWNhdGUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IHJlbWFpbmluZ1ByZWRpY2F0ZXMuYXBwZW5kKHByZWRpY2F0ZSk7CisgICAgICAgIGF1dG8mIHBy
ZWRpY2F0ZSA9IG1fcHJlZGljYXRlc1tpXTsKKyAgICAgICAgaWYgKCghcHJlZGljYXRlSXNDb250
ZXh0UG9zaXRpb25TZW5zaXRpdmUoKnByZWRpY2F0ZSkgfHwgbV9ub2RlVGVzdC5tX21lcmdlZFBy
ZWRpY2F0ZXMuaXNFbXB0eSgpKSAmJiAhcHJlZGljYXRlLT5pc0NvbnRleHRTaXplU2Vuc2l0aXZl
KCkgJiYgcmVtYWluaW5nUHJlZGljYXRlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX25vZGVU
ZXN0Lm1fbWVyZ2VkUHJlZGljYXRlcy5hcHBlbmQoc3RkOjptb3ZlKHByZWRpY2F0ZSkpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICByZW1haW5pbmdQcmVkaWNhdGVzLmFwcGVuZChzdGQ6Om1v
dmUocHJlZGljYXRlKSk7CiAgICAgfQotICAgIHN3YXAocmVtYWluaW5nUHJlZGljYXRlcywgbV9w
cmVkaWNhdGVzKTsKKyAgICBtX3ByZWRpY2F0ZXMgPSBzdGQ6Om1vdmUocmVtYWluaW5nUHJlZGlj
YXRlcyk7CiB9CiAKLXZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiBmaXJzdCwgU3RlcCogc2Vj
b25kLCBib29sJiBkcm9wU2Vjb25kU3RlcCkKK3ZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwJiBm
aXJzdCwgU3RlcCYgc2Vjb25kLCBib29sJiBkcm9wU2Vjb25kU3RlcCkKIHsKICAgICBkcm9wU2Vj
b25kU3RlcCA9IGZhbHNlOwogCi0gICAgaWYgKGZpcnN0LT5tX2F4aXMgPT0gU3RlcDo6RGVzY2Vu
ZGFudE9yU2VsZkF4aXMKLSAgICAgICAgJiYgZmlyc3QtPm1fbm9kZVRlc3Qua2luZCgpID09IFN0
ZXA6Ok5vZGVUZXN0OjpBbnlOb2RlVGVzdAotICAgICAgICAmJiAhZmlyc3QtPm1fcHJlZGljYXRl
cy5zaXplKCkKLSAgICAgICAgJiYgIWZpcnN0LT5tX25vZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMo
KS5zaXplKCkpIHsKLQotICAgICAgICBBU1NFUlQoZmlyc3QtPm1fbm9kZVRlc3QuZGF0YSgpLmlz
RW1wdHkoKSk7Ci0gICAgICAgIEFTU0VSVChmaXJzdC0+bV9ub2RlVGVzdC5uYW1lc3BhY2VVUkko
KS5pc0VtcHR5KCkpOwotCi0gICAgICAgIC8vIE9wdGltaXplIHRoZSBjb21tb24gY2FzZSBvZiAi
Ly8iIEFLQSAvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvY2hpbGQ6Ok5vZGVUZXN0IHRvIC9k
ZXNjZW5kYW50OjpOb2RlVGVzdC4KLSAgICAgICAgaWYgKHNlY29uZC0+bV9heGlzID09IFN0ZXA6
OkNoaWxkQXhpcyAmJiBzZWNvbmQtPnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZl
KCkpIHsKLSAgICAgICAgICAgIGZpcnN0LT5tX2F4aXMgPSBTdGVwOjpEZXNjZW5kYW50QXhpczsK
LSAgICAgICAgICAgIGZpcnN0LT5tX25vZGVUZXN0ID0gU3RlcDo6Tm9kZVRlc3Qoc2Vjb25kLT5t
X25vZGVUZXN0LmtpbmQoKSwgc2Vjb25kLT5tX25vZGVUZXN0LmRhdGEoKSwgc2Vjb25kLT5tX25v
ZGVUZXN0Lm5hbWVzcGFjZVVSSSgpKTsKLSAgICAgICAgICAgIHN3YXAoc2Vjb25kLT5tX25vZGVU
ZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKSwgZmlyc3QtPm1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRl
cygpKTsKLSAgICAgICAgICAgIHN3YXAoc2Vjb25kLT5tX3ByZWRpY2F0ZXMsIGZpcnN0LT5tX3By
ZWRpY2F0ZXMpOwotICAgICAgICAgICAgZmlyc3QtPm9wdGltaXplKCk7Ci0gICAgICAgICAgICBk
cm9wU2Vjb25kU3RlcCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKGZpcnN0Lm1f
YXhpcyAhPSBTdGVwOjpEZXNjZW5kYW50T3JTZWxmQXhpcykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaWYgKGZpcnN0Lm1fbm9kZVRlc3QubV9raW5kICE9IFN0ZXA6Ok5vZGVUZXN0OjpBbnlOb2Rl
VGVzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFmaXJzdC5tX3ByZWRpY2F0ZXMuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWZpcnN0Lm1fbm9kZVRlc3QubV9t
ZXJnZWRQcmVkaWNhdGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJU
KGZpcnN0Lm1fbm9kZVRlc3QubV9kYXRhLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKGZpcnN0Lm1f
bm9kZVRlc3QubV9uYW1lc3BhY2VVUkkuaXNFbXB0eSgpKTsKKworICAgIC8vIE9wdGltaXplIHRo
ZSBjb21tb24gY2FzZSBvZiAiLy8iIEFLQSAvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvY2hp
bGQ6Ok5vZGVUZXN0IHRvIC9kZXNjZW5kYW50OjpOb2RlVGVzdC4KKyAgICBpZiAoc2Vjb25kLm1f
YXhpcyAhPSBTdGVwOjpDaGlsZEF4aXMpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc2Vj
b25kLnByZWRpY2F0ZXNBcmVDb250ZXh0TGlzdEluc2Vuc2l0aXZlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGZpcnN0Lm1fYXhpcyA9IFN0ZXA6OkRlc2NlbmRhbnRBeGlzOworICAgIGZpcnN0
Lm1fbm9kZVRlc3QgPSBzdGQ6Om1vdmUoc2Vjb25kLm1fbm9kZVRlc3QpOworICAgIGZpcnN0Lm1f
cHJlZGljYXRlcyA9IHN0ZDo6bW92ZShzZWNvbmQubV9wcmVkaWNhdGVzKTsKKyAgICBmaXJzdC5v
cHRpbWl6ZSgpOworICAgIGRyb3BTZWNvbmRTdGVwID0gdHJ1ZTsKIH0KIAogYm9vbCBTdGVwOjpw
cmVkaWNhdGVzQXJlQ29udGV4dExpc3RJbnNlbnNpdGl2ZSgpIGNvbnN0CiB7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX3ByZWRpY2F0ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUHJl
ZGljYXRlKiBwcmVkaWNhdGUgPSBtX3ByZWRpY2F0ZXNbaV07Ci0gICAgICAgIGlmIChwcmVkaWNh
dGUtPmlzQ29udGV4dFBvc2l0aW9uU2Vuc2l0aXZlKCkgfHwgcHJlZGljYXRlLT5pc0NvbnRleHRT
aXplU2Vuc2l0aXZlKCkpCisgICAgICAgIGF1dG8mIHByZWRpY2F0ZSA9ICptX3ByZWRpY2F0ZXNb
aV07CisgICAgICAgIGlmIChwcmVkaWNhdGVJc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZShwcmVk
aWNhdGUpIHx8IHByZWRpY2F0ZS5pc0NvbnRleHRTaXplU2Vuc2l0aXZlKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX25v
ZGVUZXN0Lm1lcmdlZFByZWRpY2F0ZXMoKS5zaXplKCk7ICsraSkgewotICAgICAgICBQcmVkaWNh
dGUqIHByZWRpY2F0ZSA9IG1fbm9kZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpW2ldOwotICAgICAg
ICBpZiAocHJlZGljYXRlLT5pc0NvbnRleHRQb3NpdGlvblNlbnNpdGl2ZSgpIHx8IHByZWRpY2F0
ZS0+aXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9ub2RlVGVzdC5tX21lcmdlZFByZWRpY2F0ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0
byYgcHJlZGljYXRlID0gKm1fbm9kZVRlc3QubV9tZXJnZWRQcmVkaWNhdGVzW2ldOworICAgICAg
ICBpZiAocHJlZGljYXRlSXNDb250ZXh0UG9zaXRpb25TZW5zaXRpdmUocHJlZGljYXRlKSB8fCBw
cmVkaWNhdGUuaXNDb250ZXh0U2l6ZVNlbnNpdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFN0ZXA6OmV2YWx1YXRl
KE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAordm9pZCBTdGVwOjpldmFsdWF0
ZShOb2RlJiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKIHsKICAgICBFdmFsdWF0aW9u
Q29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQgPSBFeHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4
dCgpOwogICAgIGV2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9uID0gMDsKQEAgLTExOCw3ICsxMzEs
NyBAQCB2b2lkIFN0ZXA6OmV2YWx1YXRlKE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBj
b25zdAogCiAgICAgLy8gQ2hlY2sgcHJlZGljYXRlcyB0aGF0IGNvdWxkbid0IGJlIG1lcmdlZCBp
bnRvIG5vZGUgdGVzdC4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wcmVkaWNhdGVz
LnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIFByZWRpY2F0ZSogcHJlZGljYXRlID0gbV9wcmVkaWNh
dGVzW2ldOworICAgICAgICBhdXRvJiBwcmVkaWNhdGUgPSAqbV9wcmVkaWNhdGVzW2ldOwogCiAg
ICAgICAgIE5vZGVTZXQgbmV3Tm9kZXM7CiAgICAgICAgIGlmICghbm9kZXMuaXNTb3J0ZWQoKSkK
QEAgLTEzMCwxMSArMTQzLDExIEBAIHZvaWQgU3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwg
Tm9kZVNldCYgbm9kZXMpIGNvbnN0CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5ub2Rl
ID0gbm9kZTsKICAgICAgICAgICAgIGV2YWx1YXRpb25Db250ZXh0LnNpemUgPSBub2Rlcy5zaXpl
KCk7CiAgICAgICAgICAgICBldmFsdWF0aW9uQ29udGV4dC5wb3NpdGlvbiA9IGogKyAxOwotICAg
ICAgICAgICAgaWYgKHByZWRpY2F0ZS0+ZXZhbHVhdGUoKSkKKyAgICAgICAgICAgIGlmIChldmFs
dWF0ZVByZWRpY2F0ZShwcmVkaWNhdGUpKQogICAgICAgICAgICAgICAgIG5ld05vZGVzLmFwcGVu
ZChub2RlKTsKICAgICAgICAgfQogCi0gICAgICAgIG5vZGVzLnN3YXAobmV3Tm9kZXMpOworICAg
ICAgICBub2RlcyA9IHN0ZDo6bW92ZShuZXdOb2Rlcyk7CiAgICAgfQogfQogCkBAIC0xNTMsMzQg
KzE2NiwzNCBAQCBzdGF0aWMgaW5saW5lIE5vZGU6Ok5vZGVUeXBlIHByaW1hcnlOb2RlVHlwZShT
dGVwOjpBeGlzIGF4aXMpCiAjZW5kaWYKIAogLy8gRXZhbHVhdGUgTm9kZVRlc3Qgd2l0aG91dCBj
b25zaWRlcmluZyBtZXJnZWQgcHJlZGljYXRlcy4KLXN0YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0
Y2hlc0Jhc2ljVGVzdChOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5v
ZGVUZXN0JiBub2RlVGVzdCkKK2lubGluZSBib29sIG5vZGVNYXRjaGVzQmFzaWNUZXN0KE5vZGUm
IG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRlc3QmIG5vZGVUZXN0KQog
ewotICAgIHN3aXRjaCAobm9kZVRlc3Qua2luZCgpKSB7CisgICAgc3dpdGNoIChub2RlVGVzdC5t
X2tpbmQpIHsKICAgICAgICAgY2FzZSBTdGVwOjpOb2RlVGVzdDo6VGV4dE5vZGVUZXN0OgotICAg
ICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6VEVYVF9OT0RFIHx8IG5v
ZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFOworICAgICAgICAgICAg
cmV0dXJuIG5vZGUubm9kZVR5cGUoKSA9PSBOb2RlOjpURVhUX05PREUgfHwgbm9kZS5ub2RlVHlw
ZSgpID09IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERTsKICAgICAgICAgY2FzZSBTdGVwOjpOb2Rl
VGVzdDo6Q29tbWVudE5vZGVUZXN0OgotICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVUeXBl
KCkgPT0gTm9kZTo6Q09NTUVOVF9OT0RFOworICAgICAgICAgICAgcmV0dXJuIG5vZGUubm9kZVR5
cGUoKSA9PSBOb2RlOjpDT01NRU5UX05PREU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6
OlByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0OiB7Ci0gICAgICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5kYXRhKCk7Ci0gICAgICAgICAgICByZXR1cm4gbm9k
ZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUgJiYgKG5h
bWUuaXNFbXB0eSgpIHx8IG5vZGUtPm5vZGVOYW1lKCkgPT0gbmFtZSk7CisgICAgICAgICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5tX2RhdGE7CisgICAgICAgICAgICBy
ZXR1cm4gbm9kZS5ub2RlVHlwZSgpID09IE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9E
RSAmJiAobmFtZS5pc0VtcHR5KCkgfHwgbm9kZS5ub2RlTmFtZSgpID09IG5hbWUpOwogICAgICAg
ICB9CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6OkFueU5vZGVUZXN0OgogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0OiB7
Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBub2RlVGVzdC5kYXRhKCk7
Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSA9IG5vZGVUZXN0
Lm5hbWVzcGFjZVVSSSgpOworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0g
bm9kZVRlc3QubV9kYXRhOworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3Bh
Y2VVUkkgPSBub2RlVGVzdC5tX25hbWVzcGFjZVVSSTsKIAogICAgICAgICAgICAgaWYgKGF4aXMg
PT0gU3RlcDo6QXR0cmlidXRlQXhpcykgewotICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLT5p
c0F0dHJpYnV0ZU5vZGUoKSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUuaXNBdHRyaWJ1
dGVOb2RlKCkpOwogCiAgICAgICAgICAgICAgICAgLy8gSW4gWFBhdGggbGFuZCwgbmFtZXNwYWNl
IG5vZGVzIGFyZSBub3QgYWNjZXNzaWJsZSBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCi0gICAgICAg
ICAgICAgICAgaWYgKG5vZGUtPm5hbWVzcGFjZVVSSSgpID09IFhNTE5TTmFtZXM6OnhtbG5zTmFt
ZXNwYWNlVVJJKQorICAgICAgICAgICAgICAgIGlmIChub2RlLm5hbWVzcGFjZVVSSSgpID09IFhN
TE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PSBzdGFyQXRvbSkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFjZVVSSS5pc0VtcHR5KCkgfHwgbm9kZS0+bmFtZXNw
YWNlVVJJKCkgPT0gbmFtZXNwYWNlVVJJOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmFt
ZXNwYWNlVVJJLmlzRW1wdHkoKSB8fCBub2RlLm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVS
STsKIAotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT5sb2NhbE5hbWUoKSA9PSBuYW1lICYm
IG5vZGUtPm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVSSTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbm9kZS5sb2NhbE5hbWUoKSA9PSBuYW1lICYmIG5vZGUubmFtZXNwYWNlVVJJKCkgPT0g
bmFtZXNwYWNlVVJJOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBOb2RlIHRlc3Qg
b24gdGhlIG5hbWVzcGFjZSBheGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQsIHRoZSBjYWxsZXIg
aGFzIGEgY2hlY2sgZm9yIGl0LgpAQCAtMTg4LDI4ICsyMDEsMjggQEAgc3RhdGljIGlubGluZSBi
b29sIG5vZGVNYXRjaGVzQmFzaWNUZXN0KE5vZGUqIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29u
c3QgU3RlcDoKIAogICAgICAgICAgICAgLy8gRm9yIG90aGVyIGF4ZXMsIHRoZSBwcmluY2lwYWwg
bm9kZSB0eXBlIGlzIGVsZW1lbnQuCiAgICAgICAgICAgICBBU1NFUlQocHJpbWFyeU5vZGVUeXBl
KGF4aXMpID09IE5vZGU6OkVMRU1FTlRfTk9ERSk7Ci0gICAgICAgICAgICBpZiAobm9kZS0+bm9k
ZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUpCisgICAgICAgICAgICBpZiAoIW5vZGUuaXNF
bGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAg
ICAgaWYgKG5hbWUgPT0gc3RhckF0b20pCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVzcGFj
ZVVSSS5pc0VtcHR5KCkgfHwgbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpIHx8IG5hbWVzcGFj
ZVVSSSA9PSBub2RlLm5hbWVzcGFjZVVSSSgpOwogCi0gICAgICAgICAgICBpZiAobm9kZS0+ZG9j
dW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlz
SFRNTEVsZW1lbnQoKSkgeworICAgICAgICAgICAgaWYgKG5vZGUuZG9jdW1lbnQoKS5pc0hUTUxE
b2N1bWVudCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUuaXNIVE1MRWxlbWVudCgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIC8vIFBhdGhzIHdpdGhvdXQgbmFtZXNwYWNlcyBzaG91bGQg
bWF0Y2ggSFRNTCBlbGVtZW50cyBpbiBIVE1MIGRvY3VtZW50cyBkZXNwaXRlIHRob3NlIGhhdmlu
ZyBhbiBYSFRNTCBuYW1lc3BhY2UuIE5hbWVzIGFyZSBjb21wYXJlZCBjYXNlLWluc2Vuc2l0aXZl
bHkuCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh0b0VsZW1l
bnQobm9kZSktPmxvY2FsTmFtZSgpLCBuYW1lKSAmJiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpIHx8
IG5hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh0b0hUTUxFbGVtZW50KG5vZGUpLmxvY2FsTmFt
ZSgpLCBuYW1lKSAmJiAobmFtZXNwYWNlVVJJLmlzTnVsbCgpIHx8IG5hbWVzcGFjZVVSSSA9PSBu
b2RlLm5hbWVzcGFjZVVSSSgpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
Ly8gQW4gZXhwcmVzc2lvbiB3aXRob3V0IGFueSBwcmVmaXggc2hvdWxkbid0IG1hdGNoIG5vLW5h
bWVzcGFjZSBub2RlcyAoYmVjYXVzZSBIVE1MNSBzYXlzIHNvKS4KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdG9FbGVtZW50KG5vZGUpLT5oYXNMb2NhbE5hbWUobmFtZSkgJiYgbmFtZXNwYWNlVVJJ
ID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpICYmICFuYW1lc3BhY2VVUkkuaXNOdWxsKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS5oYXNMb2NhbE5hbWUobmFtZSkgJiYg
bmFtZXNwYWNlVVJJID09IG5vZGUubmFtZXNwYWNlVVJJKCkgJiYgIW5hbWVzcGFjZVVSSS5pc051
bGwoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSkt
Pmhhc0xvY2FsTmFtZShuYW1lKSAmJiBuYW1lc3BhY2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJ
KCk7CisgICAgICAgICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpLmhhc0xvY2FsTmFtZShuYW1l
KSAmJiBuYW1lc3BhY2VVUkkgPT0gbm9kZS5uYW1lc3BhY2VVUkkoKTsKICAgICAgICAgfQogICAg
IH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0
YXRpYyBpbmxpbmUgYm9vbCBub2RlTWF0Y2hlcyhOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMs
IGNvbnN0IFN0ZXA6Ok5vZGVUZXN0JiBub2RlVGVzdCkKK2lubGluZSBib29sIG5vZGVNYXRjaGVz
KE5vZGUmIG5vZGUsIFN0ZXA6OkF4aXMgYXhpcywgY29uc3QgU3RlcDo6Tm9kZVRlc3QmIG5vZGVU
ZXN0KQogewogICAgIGlmICghbm9kZU1hdGNoZXNCYXNpY1Rlc3Qobm9kZSwgYXhpcywgbm9kZVRl
c3QpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTksMTMgKzIzMiwxMSBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgbm9kZU1hdGNoZXMoTm9kZSogbm9kZSwgU3RlcDo6QXhpcyBheGlzLCBjb25z
dCBTdGVwOjpOb2RlVGVzdAogICAgIC8vIE9ubHkgdGhlIGZpcnN0IG1lcmdlZCBwcmVkaWNhdGUg
bWF5IGRlcGVuZCBvbiBwb3NpdGlvbi4KICAgICArK2V2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9u
OwogCi0gICAgY29uc3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJnZWRQcmVkaWNhdGVzID0gbm9k
ZVRlc3QubWVyZ2VkUHJlZGljYXRlcygpOworICAgIGF1dG8mIG1lcmdlZFByZWRpY2F0ZXMgPSBu
b2RlVGVzdC5tX21lcmdlZFByZWRpY2F0ZXM7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1lcmdlZFByZWRpY2F0ZXMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgUHJlZGljYXRlKiBwcmVk
aWNhdGUgPSBtZXJnZWRQcmVkaWNhdGVzW2ldOwotCi0gICAgICAgIGV2YWx1YXRpb25Db250ZXh0
Lm5vZGUgPSBub2RlOwogICAgICAgICAvLyBObyBuZWVkIHRvIHNldCBjb250ZXh0IHNpemUgLSB3
ZSBvbmx5IGdldCBoZXJlIHdoZW4gZXZhbHVhdGluZyBwcmVkaWNhdGVzIHRoYXQgZG8gbm90IGRl
cGVuZCBvbiBpdC4KLSAgICAgICAgaWYgKCFwcmVkaWNhdGUtPmV2YWx1YXRlKCkpCisgICAgICAg
IGV2YWx1YXRpb25Db250ZXh0Lm5vZGUgPSAmbm9kZTsKKyAgICAgICAgaWYgKCFldmFsdWF0ZVBy
ZWRpY2F0ZSgqbWVyZ2VkUHJlZGljYXRlc1tpXSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCkBAIC0yMzMsMTI0ICsyNDQsMTI2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBub2Rl
TWF0Y2hlcyhOb2RlKiBub2RlLCBTdGVwOjpBeGlzIGF4aXMsIGNvbnN0IFN0ZXA6Ok5vZGVUZXN0
CiB9CiAKIC8vIFJlc3VsdCBub2RlcyBhcmUgb3JkZXJlZCBpbiBheGlzIG9yZGVyLiBOb2RlIHRl
c3QgKGluY2x1ZGluZyBtZXJnZWQgcHJlZGljYXRlcykgaXMgYXBwbGllZC4KLXZvaWQgU3RlcDo6
bm9kZXNJbkF4aXMoTm9kZSogY29udGV4dCwgTm9kZVNldCYgbm9kZXMpIGNvbnN0Cit2b2lkIFN0
ZXA6Om5vZGVzSW5BeGlzKE5vZGUmIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogewog
ICAgIEFTU0VSVChub2Rlcy5pc0VtcHR5KCkpOwogICAgIHN3aXRjaCAobV9heGlzKSB7CiAgICAg
ICAgIGNhc2UgQ2hpbGRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRl
Tm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmlidXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNo
aWxkcmVuLgorICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIC8vIElu
IFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMgZG8gbm90IGhhdmUgY2hpbGRyZW4uCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0
LT5maXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAg
IGlmIChub2RlTWF0Y2hlcyhuLCBDaGlsZEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBj
b250ZXh0LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsK
KyAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoKm5vZGUsIENoaWxkQXhpcywgbV9ub2Rl
VGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBEZXNjZW5kYW50QXhpczoK
LSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4gWFBhdGgg
bW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAgICAgICAg
IGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKSAvLyBJbiBYUGF0aCBtb2RlbCwgYXR0cmli
dXRlIG5vZGVzIGRvIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgICAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+Zmlyc3RDaGlsZCgpOyBuOyBu
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dChuLCBjb250ZXh0KSkKLSAgICAgICAgICAgICAgICBpZiAo
bm9kZU1hdGNoZXMobiwgRGVzY2VuZGFudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBj
b250ZXh0LmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9k
ZSwgJmNvbnRleHQpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBE
ZXNjZW5kYW50QXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFw
cGVuZChub2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
Y2FzZSBQYXJlbnRBeGlzOgotICAgICAgICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9k
ZSgpKSB7Ci0gICAgICAgICAgICAgICAgRWxlbWVudCogbiA9IHN0YXRpY19jYXN0PEF0dHIqPihj
b250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVz
KG4sIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICBub2Rlcy5h
cHBlbmQobik7CisgICAgICAgICAgICBpZiAoY29udGV4dC5pc0F0dHJpYnV0ZU5vZGUoKSkgewor
ICAgICAgICAgICAgICAgIEVsZW1lbnQqIG5vZGUgPSBzdGF0aWNfY2FzdDxBdHRyJj4oY29udGV4
dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2Rl
LCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBw
ZW5kKG5vZGUpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBDb250YWlu
ZXJOb2RlKiBuID0gY29udGV4dC0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgICAgIGlmIChu
ICYmIG5vZGVNYXRjaGVzKG4sIFBhcmVudEF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAg
ICAgICAgICBub2Rlcy5hcHBlbmQobik7CisgICAgICAgICAgICAgICAgQ29udGFpbmVyTm9kZSog
bm9kZSA9IGNvbnRleHQucGFyZW50Tm9kZSgpOworICAgICAgICAgICAgICAgIGlmIChub2RlICYm
IG5vZGVNYXRjaGVzKCpub2RlLCBQYXJlbnRBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBjYXNlIEFuY2VzdG9yQXhpczogewotICAgICAgICAgICAgTm9kZSog
biA9IGNvbnRleHQ7Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkp
IHsKLSAgICAgICAgICAgICAgICBuID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQpLT5vd25l
ckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMobiwgQW5jZXN0b3JB
eGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4pOwor
ICAgICAgICAgICAgTm9kZSogbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgaWYgKGNvbnRl
eHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBub2RlID0gc3RhdGljX2Nh
c3Q8QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVudCgpOworICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcygqbm9kZSwgQW5jZXN0b3JBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZXMuYXBwZW5kKG5vZGUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Zm9yIChub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50
Tm9kZSgpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3Rv
ckF4aXMsIG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9k
ZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7
IG47IG4gPSBuLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVz
KG4sIEFuY2VzdG9yQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVz
LmFwcGVuZChuKTsKICAgICAgICAgICAgIG5vZGVzLm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRm9sbG93aW5nU2libGluZ0F4
aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRSSUJV
VEVfTk9ERSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgpID09IE5vZGU6
OlhQQVRIX05BTUVTUEFDRV9OT0RFKSAKKyAgICAgICAgICAgIGlmIChjb250ZXh0Lm5vZGVUeXBl
KCkgPT0gTm9kZTo6QVRUUklCVVRFX05PREUgfHwgY29udGV4dC5ub2RlVHlwZSgpID09IE5vZGU6
OlhQQVRIX05BTUVTUEFDRV9OT0RFKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgZm9yIChOb2RlKiBuID0gY29udGV4dC0+bmV4dFNpYmxpbmcoKTsg
bjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVz
KG4sIEZvbGxvd2luZ1NpYmxpbmdBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG4pOworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0gY29udGV4
dC5uZXh0U2libGluZygpOyBub2RlOyBub2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgRm9sbG93aW5nU2libGluZ0F4aXMs
IG1fbm9kZVRlc3QpKQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgUHJlY2VkaW5n
U2libGluZ0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSA9PSBOb2Rl
OjpBVFRSSUJVVEVfTk9ERSB8fAotICAgICAgICAgICAgICAgICBjb250ZXh0LT5ub2RlVHlwZSgp
ID09IE5vZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFKQorICAgICAgICAgICAgaWYgKGNvbnRleHQu
bm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9ERSB8fCBjb250ZXh0Lm5vZGVUeXBlKCkg
PT0gTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5wcmV2aW91
c1NpYmxpbmcoKTsgbjsgbiA9IG4tPnByZXZpb3VzU2libGluZygpKQotICAgICAgICAgICAgICAg
IGlmIChub2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCi0g
ICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLQorICAgICAgICAgICAgZm9yIChO
b2RlKiBub2RlID0gY29udGV4dC5wcmV2aW91c1NpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUt
PnByZXZpb3VzU2libGluZygpKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpu
b2RlLCBQcmVjZWRpbmdTaWJsaW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAg
ICAgIG5vZGVzLmFwcGVuZChub2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5vZGVz
Lm1hcmtTb3J0ZWQoZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEZv
bGxvd2luZ0F4aXM6Ci0gICAgICAgICAgICBpZiAoY29udGV4dC0+aXNBdHRyaWJ1dGVOb2RlKCkp
IHsKLSAgICAgICAgICAgICAgICBOb2RlKiBwID0gc3RhdGljX2Nhc3Q8QXR0cio+KGNvbnRleHQp
LT5vd25lckVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAoKHAgPSBOb2RlVHJhdmVy
c2FsOjpuZXh0KHApKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKHAsIEZv
bGxvd2luZ0F4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMu
YXBwZW5kKHApOworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsK
KyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQp
Lm93bmVyRWxlbWVudCgpOworICAgICAgICAgICAgICAgIHdoaWxlICgobm9kZSA9IE5vZGVUcmF2
ZXJzYWw6Om5leHQobm9kZSkpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hl
cygqbm9kZSwgRm9sbG93aW5nQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAg
ICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIHAgPSBjb250ZXh0OyAhaXNSb290
RG9tTm9kZShwKTsgcCA9IHAtPnBhcmVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgICAgICBm
b3IgKE5vZGUqIG4gPSBwLT5uZXh0U2libGluZygpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEZvbGxvd2luZ0F4
aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVu
ZChuKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoTm9kZSogYyA9IG4tPmZpcnN0Q2hp
bGQoKTsgYzsgYyA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoYywgbikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKGMsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRlc3Qp
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoYyk7CisgICAg
ICAgICAgICAgICAgZm9yIChOb2RlKiBwYXJlbnQgPSAmY29udGV4dDsgIWlzUm9vdERvbU5vZGUo
cGFyZW50KTsgcGFyZW50ID0gcGFyZW50LT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgZm9yIChOb2RlKiBub2RlID0gcGFyZW50LT5uZXh0U2libGluZygpOyBub2RlOyBub2Rl
ID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5v
ZGVNYXRjaGVzKCpub2RlLCBGb2xsb3dpbmdBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBmb3IgKE5vZGUqIGNoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQg
PSBOb2RlVHJhdmVyc2FsOjpuZXh0KGNoaWxkLCBub2RlKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqY2hpbGQsIEZvbGxvd2luZ0F4aXMsIG1fbm9kZVRl
c3QpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoY2hpbGQp
OworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjYXNlIFByZWNlZGluZ0F4aXM6IHsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJp
YnV0ZU5vZGUoKSkKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8QXR0cio+
KGNvbnRleHQpLT5vd25lckVsZW1lbnQoKTsKLQotICAgICAgICAgICAgTm9kZSogbiA9IGNvbnRl
eHQ7Ci0gICAgICAgICAgICB3aGlsZSAoQ29udGFpbmVyTm9kZSogcGFyZW50ID0gbi0+cGFyZW50
Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlv
dXMobik7IG4gIT0gcGFyZW50OyBuID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobikpCi0gICAg
ICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhuLCBQcmVjZWRpbmdBeGlzLCBtX25vZGVU
ZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKLSAgICAgICAg
ICAgICAgICBuID0gcGFyZW50OworICAgICAgICAgICAgTm9kZSogbm9kZTsKKyAgICAgICAgICAg
IGlmIChjb250ZXh0LmlzQXR0cmlidXRlTm9kZSgpKQorICAgICAgICAgICAgICAgIG5vZGUgPSBz
dGF0aWNfY2FzdDxBdHRyJj4oY29udGV4dCkub3duZXJFbGVtZW50KCk7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbm9kZSA9ICZjb250ZXh0OworICAgICAgICAgICAgd2hpbGUg
KENvbnRhaW5lck5vZGUqIHBhcmVudCA9IG5vZGUtPnBhcmVudE5vZGUoKSkgeworICAgICAgICAg
ICAgICAgIGZvciAobm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpOyBub2RlICE9
IHBhcmVudDsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzKG5vZGUpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgUHJlY2VkaW5nQXhpcywgbV9ub2Rl
VGVzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG5vZGUgPSBwYXJlbnQ7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBub2Rlcy5tYXJrU29ydGVkKGZhbHNlKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogICAgICAgICBjYXNlIEF0dHJpYnV0ZUF4aXM6IHsKLSAgICAgICAg
ICAgIGlmICghY29udGV4dC0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICAgICAgaWYgKCFjb250
ZXh0LmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
ICAgIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50ID0gdG9FbGVtZW50KGNvbnRleHQpOworICAgICAg
ICAgICAgRWxlbWVudCYgY29udGV4dEVsZW1lbnQgPSB0b0VsZW1lbnQoY29udGV4dCk7CiAKICAg
ICAgICAgICAgIC8vIEF2b2lkIGxhemlseSBjcmVhdGluZyBhdHRyaWJ1dGUgbm9kZXMgZm9yIGF0
dHJpYnV0ZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCBhbnl3YXkuCi0gICAgICAgICAgICBpZiAobV9u
b2RlVGVzdC5raW5kKCkgPT0gTm9kZVRlc3Q6Ok5hbWVUZXN0ICYmIG1fbm9kZVRlc3QuZGF0YSgp
ICE9IHN0YXJBdG9tKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG4gPSBjb250ZXh0
RWxlbWVudC0+Z2V0QXR0cmlidXRlTm9kZU5TKG1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCksIG1f
bm9kZVRlc3QuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VV
UkkoKSAhPSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5k
LCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhp
cy4KLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4uZ2V0KCksIEF0dHJpYnV0
ZUF4aXMsIG1fbm9kZVRlc3QpKSAvLyBTdGlsbCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNh
dGVzLgotICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsK
KyAgICAgICAgICAgIGlmIChtX25vZGVUZXN0Lm1fa2luZCA9PSBOb2RlVGVzdDo6TmFtZVRlc3Qg
JiYgbV9ub2RlVGVzdC5tX2RhdGEgIT0gc3RhckF0b20pIHsKKyAgICAgICAgICAgICAgICBSZWZQ
dHI8QXR0cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmdldEF0dHJpYnV0ZU5vZGVOUyhtX25vZGVU
ZXN0Lm1fbmFtZXNwYWNlVVJJLCBtX25vZGVUZXN0Lm1fZGF0YSk7CisgICAgICAgICAgICAgICAg
aWYgKGF0dHIgJiYgYXR0ci0+bmFtZXNwYWNlVVJJKCkgIT0gWE1MTlNOYW1lczo6eG1sbnNOYW1l
c3BhY2VVUkkpIHsgLy8gSW4gWFBhdGggbGFuZCwgbmFtZXNwYWNlIG5vZGVzIGFyZSBub3QgYWNj
ZXNzaWJsZSBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCisgICAgICAgICAgICAgICAgICAgIGlmIChu
b2RlTWF0Y2hlcygqYXR0ciwgQXR0cmlidXRlQXhpcywgbV9ub2RlVGVzdCkpIC8vIFN0aWxsIG5l
ZWQgdG8gY2hlY2sgbWVyZ2VkIHByZWRpY2F0ZXMuCisgICAgICAgICAgICAgICAgICAgICAgICBu
b2Rlcy5hcHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAg
IGlmICghY29udGV4dEVsZW1lbnQtPmhhc0F0dHJpYnV0ZXMoKSkKKyAgICAgICAgICAgIGlmICgh
Y29udGV4dEVsZW1lbnQuaGFzQXR0cmlidXRlcygpKQogICAgICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvbnRleHRFbGVtZW50LT5h
dHRyaWJ1dGVDb3VudCgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8QXR0cj4gYXR0
ciA9IGNvbnRleHRFbGVtZW50LT5lbnN1cmVBdHRyKGNvbnRleHRFbGVtZW50LT5hdHRyaWJ1dGVB
dChpKS5uYW1lKCkpOwotICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhhdHRyLmdldCgp
LCBBdHRyaWJ1dGVBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBjb250ZXh0RWxlbWVudC5hdHRyaWJ1dGVDb3VudCgpOyArK2kpIHsKKyAgICAg
ICAgICAgICAgICBSZWZQdHI8QXR0cj4gYXR0ciA9IGNvbnRleHRFbGVtZW50LmVuc3VyZUF0dHIo
Y29udGV4dEVsZW1lbnQuYXR0cmlidXRlQXQoaSkubmFtZSgpKTsKKyAgICAgICAgICAgICAgICBp
ZiAobm9kZU1hdGNoZXMoKmF0dHIsIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3QpKQogICAgICAg
ICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoYXR0ci5yZWxlYXNlKCkpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzYwLDMxICszNzMsMzEgQEAgdm9pZCBTdGVwOjpu
b2Rlc0luQXhpcyhOb2RlKiBjb250ZXh0LCBOb2RlU2V0JiBub2RlcykgY29uc3QKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgY2FzZSBTZWxmQXhpczoKICAgICAgICAgICAgIGlmIChub2Rl
TWF0Y2hlcyhjb250ZXh0LCBTZWxmQXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAg
bm9kZXMuYXBwZW5kKGNvbnRleHQpOworICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZCgmY29u
dGV4dCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgRGVzY2VuZGFudE9yU2Vs
ZkF4aXM6CiAgICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMoY29udGV4dCwgRGVzY2VuZGFudE9y
U2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChjb250
ZXh0KTsKLSAgICAgICAgICAgIGlmIChjb250ZXh0LT5pc0F0dHJpYnV0ZU5vZGUoKSkgLy8gSW4g
WFBhdGggbW9kZWwsIGF0dHJpYnV0ZSBub2RlcyBkbyBub3QgaGF2ZSBjaGlsZHJlbi4KKyAgICAg
ICAgICAgICAgICBub2Rlcy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgaWYgKGNvbnRl
eHQuaXNBdHRyaWJ1dGVOb2RlKCkpIC8vIEluIFhQYXRoIG1vZGVsLCBhdHRyaWJ1dGUgbm9kZXMg
ZG8gbm90IGhhdmUgY2hpbGRyZW4uCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
ICAgICBmb3IgKE5vZGUqIG4gPSBjb250ZXh0LT5maXJzdENoaWxkKCk7IG47IG4gPSBOb2RlVHJh
dmVyc2FsOjpuZXh0KG4sIGNvbnRleHQpKQotICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4s
IERlc2NlbmRhbnRPclNlbGZBeGlzLCBtX25vZGVUZXN0KSkKLSAgICAgICAgICAgICAgICBub2Rl
cy5hcHBlbmQobik7CisgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBjb250ZXh0LmZpcnN0
Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSwgJmNvbnRleHQp
KSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBEZXNjZW5kYW50T3JT
ZWxmQXhpcywgbV9ub2RlVGVzdCkpCisgICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChu
b2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBB
bmNlc3Rvck9yU2VsZkF4aXM6IHsKICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcyhjb250ZXh0
LCBBbmNlc3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3QpKQotICAgICAgICAgICAgICAgIG5vZGVz
LmFwcGVuZChjb250ZXh0KTsKLSAgICAgICAgICAgIE5vZGUqIG4gPSBjb250ZXh0OwotICAgICAg
ICAgICAgaWYgKGNvbnRleHQtPmlzQXR0cmlidXRlTm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAg
biA9IHN0YXRpY19jYXN0PEF0dHIqPihjb250ZXh0KS0+b3duZXJFbGVtZW50KCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxmQXhpcywgbV9ub2RlVGVz
dCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsKKyAgICAgICAgICAgICAg
ICBub2Rlcy5hcHBlbmQoJmNvbnRleHQpOworICAgICAgICAgICAgTm9kZSogbm9kZSA9ICZjb250
ZXh0OworICAgICAgICAgICAgaWYgKGNvbnRleHQuaXNBdHRyaWJ1dGVOb2RlKCkpIHsKKyAgICAg
ICAgICAgICAgICBub2RlID0gc3RhdGljX2Nhc3Q8QXR0ciY+KGNvbnRleHQpLm93bmVyRWxlbWVu
dCgpOworICAgICAgICAgICAgICAgIGlmIChub2RlTWF0Y2hlcygqbm9kZSwgQW5jZXN0b3JPclNl
bGZBeGlzLCBtX25vZGVUZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG5v
ZGUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChub2RlID0gbm9kZS0+cGFyZW50
Tm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKG5vZGVNYXRjaGVzKCpub2RlLCBBbmNlc3Rvck9yU2VsZkF4aXMsIG1fbm9kZVRlc3Qp
KQorICAgICAgICAgICAgICAgICAgICBub2Rlcy5hcHBlbmQobm9kZSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBmb3IgKG4gPSBuLT5wYXJlbnROb2RlKCk7IG47IG4gPSBuLT5wYXJlbnRO
b2RlKCkpCi0gICAgICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKG4sIEFuY2VzdG9yT3JTZWxm
QXhpcywgbV9ub2RlVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGVzLmFwcGVuZChuKTsK
LQogICAgICAgICAgICAgbm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KQEAgLTM5Miw2ICs0MDUsNSBAQCB2b2lkIFN0ZXA6Om5vZGVzSW5BeGlz
KE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmIG5vZGVzKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQogCi0KIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aFN0ZXAuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBmNjc4ZjkyMjgz
OWE2MGFmN2UxNzM2YzRiMDEzYmM1ZGNhY2U2MzJhLi5kOTI4MzU3ODI1MzhlZmIxZmE1NjBlNDM3
YzE3NjA4MjkzMjRkMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCkBAIC0yNyw4ICsyNyw4IEBA
CiAjaWZuZGVmIFhQYXRoU3RlcF9oCiAjZGVmaW5lIFhQYXRoU3RlcF9oCiAKLSNpbmNsdWRlICJY
UGF0aEV4cHJlc3Npb25Ob2RlLmgiCi0jaW5jbHVkZSAiWFBhdGhOb2RlU2V0LmgiCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDEwICszNiwxMCBAQCBjbGFzcyBOb2RlOwogCiBu
YW1lc3BhY2UgWFBhdGggewogCi1jbGFzcyBQcmVkaWNhdGU7Ci0gICAgICAgIAotY2xhc3MgU3Rl
cCA6IHB1YmxpYyBQYXJzZU5vZGUgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOwor
Y2xhc3MgRXhwcmVzc2lvbjsKK2NsYXNzIE5vZGVTZXQ7CisKK2NsYXNzIFN0ZXAgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gQXhpcyB7CkBAIC00OSw1
NyArNDksNzMgQEAgcHVibGljOgogICAgICAgICBQYXJlbnRBeGlzLCBQcmVjZWRpbmdBeGlzLCBQ
cmVjZWRpbmdTaWJsaW5nQXhpcywKICAgICAgICAgU2VsZkF4aXMKICAgICB9OwotICAgICAgICAg
ICAKKwogICAgIGNsYXNzIE5vZGVUZXN0IHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgotICAgICAgICBlbnVtIEtpbmQgewotICAgICAgICAgICAgVGV4dE5v
ZGVUZXN0LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBB
bnlOb2RlVGVzdCwgTmFtZVRlc3QKLSAgICAgICAgfTsKLQotICAgICAgICBOb2RlVGVzdChLaW5k
IGtpbmQpIDogbV9raW5kKGtpbmQpIHsgfQotICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNv
bnN0IFN0cmluZyYgZGF0YSkgOiBtX2tpbmQoa2luZCksIG1fZGF0YShkYXRhKSB7IH0KLSAgICAg
ICAgTm9kZVRlc3QoS2luZCBraW5kLCBjb25zdCBTdHJpbmcmIGRhdGEsIGNvbnN0IFN0cmluZyYg
bmFtZXNwYWNlVVJJKSA6IG1fa2luZChraW5kKSwgbV9kYXRhKGRhdGEpLCBtX25hbWVzcGFjZVVS
SShuYW1lc3BhY2VVUkkpIHsgfQotICAgICAgICAgICAgICAgIAotICAgICAgICBLaW5kIGtpbmQo
KSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZXNwYWNlVVJJKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lc3BhY2VVUkk7IH0KLSAgICAg
ICAgVmVjdG9yPFByZWRpY2F0ZSo+JiBtZXJnZWRQcmVkaWNhdGVzKCkgeyByZXR1cm4gbV9tZXJn
ZWRQcmVkaWNhdGVzOyB9Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxQcmVkaWNhdGUqPiYgbWVyZ2Vk
UHJlZGljYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWVyZ2VkUHJlZGljYXRlczsgfQotICAgICAg
ICAgICAgICAgIAorICAgICAgICBlbnVtIEtpbmQgeyBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2Rl
VGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVz
dCB9OworCisgICAgICAgIGV4cGxpY2l0IE5vZGVUZXN0KEtpbmQga2luZCkgOiBtX2tpbmQoa2lu
ZCkgeyB9CisgICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCwgY29uc3QgQXRvbWljU3RyaW5nJiBk
YXRhKSA6IG1fa2luZChraW5kKSwgbV9kYXRhKGRhdGEpIHsgfQorICAgICAgICBOb2RlVGVzdChL
aW5kIGtpbmQsIGNvbnN0IEF0b21pY1N0cmluZyYgZGF0YSwgY29uc3QgQXRvbWljU3RyaW5nJiBu
YW1lc3BhY2VVUkkpIDogbV9raW5kKGtpbmQpLCBtX2RhdGEoZGF0YSksIG1fbmFtZXNwYWNlVVJJ
KG5hbWVzcGFjZVVSSSkgeyB9CisKKyNpZiBDT01QSUxFUihNU1ZDKQorICAgICAgICBOb2RlVGVz
dChjb25zdCBOb2RlVGVzdCYpOworICAgICAgICB2b2lkIG9wZXJhdG9yPShjb25zdCBOb2RlVGVz
dCYpOworCisgICAgICAgIE5vZGVUZXN0KE5vZGVUZXN0JiYgb3RoZXIpCisgICAgICAgICAgICA6
IG1fa2luZChvdGhlci5tX2tpbmQpCisgICAgICAgICAgICAsIG1fZGF0YShzdGQ6Om1vdmUob3Ro
ZXIubV9kYXRhKSkKKyAgICAgICAgICAgICwgbV9uYW1lc3BhY2VVUkkoc3RkOjptb3ZlKG90aGVy
Lm1fbmFtZXNwYWNlVVJJKSkKKyAgICAgICAgICAgICwgbV9tZXJnZWRQcmVkaWNhdGVzKHN0ZDo6
bW92ZShtX21lcmdlZFByZWRpY2F0ZXMpKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAg
Tm9kZVRlc3QmIG9wZXJhdG9yPShOb2RlVGVzdCYmIG90aGVyKQorICAgICAgICB7CisgICAgICAg
ICAgICBtX2tpbmQgPSBvdGhlci5tX2tpbmQ7CisgICAgICAgICAgICBtX2RhdGEgPSBzdGQ6Om1v
dmUob3RoZXIubV9kYXRhKTsKKyAgICAgICAgICAgIG1fbmFtZXNwYWNlVVJJID0gc3RkOjptb3Zl
KG90aGVyLm1fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIG1fbWVyZ2VkUHJlZGljYXRlcyA9
IHN0ZDo6bW92ZShtX21lcmdlZFByZWRpY2F0ZXMpOworICAgICAgICAgICAgcmV0dXJuICp0aGlz
OworICAgICAgICB9CisjZW5kaWYKKwogICAgIHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFz
cyBTdGVwOworICAgICAgICBmcmllbmQgdm9pZCBvcHRpbWl6ZVN0ZXBQYWlyKFN0ZXAmLCBTdGVw
JiwgYm9vbCYpOworICAgICAgICBmcmllbmQgYm9vbCBub2RlTWF0Y2hlc0Jhc2ljVGVzdChOb2Rl
JiwgQXhpcywgY29uc3QgTm9kZVRlc3QmKTsKKyAgICAgICAgZnJpZW5kIGJvb2wgbm9kZU1hdGNo
ZXMoTm9kZSYsIEF4aXMsIGNvbnN0IE5vZGVUZXN0Jik7CisKICAgICAgICAgS2luZCBtX2tpbmQ7
CiAgICAgICAgIEF0b21pY1N0cmluZyBtX2RhdGE7CiAgICAgICAgIEF0b21pY1N0cmluZyBtX25h
bWVzcGFjZVVSSTsKLQotICAgICAgICAvLyBXaGVuIHBvc3NpYmxlLCB3ZSBtZXJnZSBzb21lIG9y
IGFsbCBwcmVkaWNhdGVzIHdpdGggbm9kZSB0ZXN0IGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCi0g
ICAgICAgIFZlY3RvcjxQcmVkaWNhdGUqPiBtX21lcmdlZFByZWRpY2F0ZXM7CisgICAgICAgIFZl
Y3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fbWVyZ2VkUHJlZGljYXRlczsKICAg
ICB9OwogCi0gICAgU3RlcChBeGlzLCBjb25zdCBOb2RlVGVzdCYsIGNvbnN0IFZlY3RvcjxQcmVk
aWNhdGUqPiYgcHJlZGljYXRlcyA9IFZlY3RvcjxQcmVkaWNhdGUqPigpKTsKKyAgICBTdGVwKEF4
aXMsIE5vZGVUZXN0KTsKKyAgICBTdGVwKEF4aXMsIE5vZGVUZXN0LCBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPEV4cHJlc3Npb24+Pik7CiAgICAgflN0ZXAoKTsKIAogICAgIHZvaWQgb3B0aW1pemUo
KTsKIAotICAgIHZvaWQgZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVNldCYpIGNvbnN0Owor
ICAgIHZvaWQgZXZhbHVhdGUoTm9kZSYgY29udGV4dCwgTm9kZVNldCYpIGNvbnN0OwogCiAgICAg
QXhpcyBheGlzKCkgY29uc3QgeyByZXR1cm4gbV9heGlzOyB9Ci0gICAgY29uc3QgTm9kZVRlc3Qm
IG5vZGVUZXN0KCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVGVzdDsgfQogCiBwcml2YXRlOgotICAg
IGZyaWVuZCB2b2lkIG9wdGltaXplU3RlcFBhaXIoU3RlcCosIFN0ZXAqLCBib29sJik7CisgICAg
ZnJpZW5kIHZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wmKTsKKwogICAg
IGJvb2wgcHJlZGljYXRlc0FyZUNvbnRleHRMaXN0SW5zZW5zaXRpdmUoKSBjb25zdDsKIAogICAg
IHZvaWQgcGFyc2VOb2RlVGVzdChjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIG5vZGVzSW5BeGlz
KE5vZGUqIGNvbnRleHQsIE5vZGVTZXQmKSBjb25zdDsKLSAgICBTdHJpbmcgbmFtZXNwYWNlRnJv
bU5vZGV0ZXN0KGNvbnN0IFN0cmluZyYgbm9kZVRlc3QpIGNvbnN0OworICAgIHZvaWQgbm9kZXNJ
bkF4aXMoTm9kZSYgY29udGV4dCwgTm9kZVNldCYpIGNvbnN0OwogCiAgICAgQXhpcyBtX2F4aXM7
CiAgICAgTm9kZVRlc3QgbV9ub2RlVGVzdDsKLSAgICBWZWN0b3I8UHJlZGljYXRlKj4gbV9wcmVk
aWNhdGVzOworICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RXhwcmVzc2lvbj4+IG1fcHJlZGlj
YXRlczsKIH07CiAKLXZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwKiwgU3RlcCosIGJvb2wmIGRy
b3BTZWNvbmRTdGVwKTsKK3ZvaWQgb3B0aW1pemVTdGVwUGFpcihTdGVwJiwgU3RlcCYsIGJvb2wm
IGRyb3BTZWNvbmRTdGVwKTsKIAogfSAvLyBuYW1lc3BhY2UgWFBhdGgKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhVdGlsLmNwcAppbmRleCA4Y2JjN2E2MzE0ZjRmYjViMmY5ZTEyOTBlMjc1MzdhY2E5MjEwNGE2
Li44ZDNjYmE3OWViY2NkZmFlNDM4NzJkY2NjNmQ3ZWQzMDAwYTkwM2JkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhVdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhVdGlsLmNwcApAQCAtNTAsNyArNTAsNyBAQCBTdHJpbmcgc3RyaW5nVmFsdWUoTm9kZSog
bm9kZSkKICAgICAgICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToKICAgICAgICAg
ICAgIHJldHVybiBub2RlLT5ub2RlVmFsdWUoKTsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIGlmIChpc1Jvb3REb21Ob2RlKG5vZGUpIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6
RUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgaWYgKGlzUm9vdERvbU5vZGUobm9kZSkgfHwgbm9k
ZS0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBUZXh0Tm9kZVRyYXZl
cnNhbDo6Y29udGVudHNBc1N0cmluZyhub2RlKTsKICAgICB9CiAgICAgcmV0dXJuIFN0cmluZygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuY3BwCmluZGV4IGVkNDNmNDhiZWViZGJkMGYxODRlZWE3
NTdhYmUzMzVkNDg4NGY5ZGEuLjJiZDAzOTg0MDUxMjdlMjJlNmQ5MjQzNDFhMjViYjkxOTg3ZmIy
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhWYWx1ZS5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9yZz4KLSAqIENvcHlyaWdo
dCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzIsMjYgKzMyLDIzIEBACiAjaW5jbHVkZSAiWFBhdGhVdGlsLmgiCiAj
aW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCi11
c2luZyBzdGQ6Om51bWVyaWNfbGltaXRzOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3Bh
Y2UgWFBhdGggewogCi1jb25zdCBWYWx1ZTo6QWRvcHRUYWcgVmFsdWU6OmFkb3B0ID0ge307Ci0K
IGNvbnN0IE5vZGVTZXQmIFZhbHVlOjp0b05vZGVTZXQoKSBjb25zdAogewogICAgIGlmICghaXNO
b2RlU2V0KCkpCiAgICAgICAgIEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCkuaGFkVHlw
ZUNvbnZlcnNpb25FcnJvciA9IHRydWU7CiAKICAgICBpZiAoIW1fZGF0YSkgewotICAgICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKE5vZGVTZXQsIGVtcHR5Tm9kZVNldCwgKCkpOworICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Tm9kZVNldD4gZW1wdHlOb2RlU2V0OwogICAgICAgICByZXR1
cm4gZW1wdHlOb2RlU2V0OwogICAgIH0KIAotICAgIHJldHVybiBtX2RhdGEtPm1fbm9kZVNldDsK
KyAgICByZXR1cm4gbV9kYXRhLT5ub2RlU2V0OwogfSAgICAKIAogTm9kZVNldCYgVmFsdWU6Om1v
ZGlmaWFibGVOb2RlU2V0KCkKQEAgLTYwLDIzICs1NywyMyBAQCBOb2RlU2V0JiBWYWx1ZTo6bW9k
aWZpYWJsZU5vZGVTZXQoKQogICAgICAgICBFeHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgp
LmhhZFR5cGVDb252ZXJzaW9uRXJyb3IgPSB0cnVlOwogCiAgICAgaWYgKCFtX2RhdGEpCi0gICAg
ICAgIG1fZGF0YSA9IFZhbHVlRGF0YTo6Y3JlYXRlKCk7Ci0gICAgCisgICAgICAgIG1fZGF0YSA9
IERhdGE6OmNyZWF0ZSgpOworCiAgICAgbV90eXBlID0gTm9kZVNldFZhbHVlOwotICAgIHJldHVy
biBtX2RhdGEtPm1fbm9kZVNldDsKKyAgICByZXR1cm4gbV9kYXRhLT5ub2RlU2V0OwogfQogCiBi
b29sIFZhbHVlOjp0b0Jvb2xlYW4oKSBjb25zdAogewogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgICAgIGNhc2UgTm9kZVNldFZhbHVlOgotICAgICAgICAgICAgcmV0dXJuICFtX2RhdGEtPm1f
bm9kZVNldC5pc0VtcHR5KCk7CisgICAgICAgICAgICByZXR1cm4gIW1fZGF0YS0+bm9kZVNldC5p
c0VtcHR5KCk7CiAgICAgICAgIGNhc2UgQm9vbGVhblZhbHVlOgogICAgICAgICAgICAgcmV0dXJu
IG1fYm9vbDsKICAgICAgICAgY2FzZSBOdW1iZXJWYWx1ZToKICAgICAgICAgICAgIHJldHVybiBt
X251bWJlciAmJiAhc3RkOjppc25hbihtX251bWJlcik7CiAgICAgICAgIGNhc2UgU3RyaW5nVmFs
dWU6Ci0gICAgICAgICAgICByZXR1cm4gIW1fZGF0YS0+bV9zdHJpbmcuaXNFbXB0eSgpOworICAg
ICAgICAgICAgcmV0dXJuICFtX2RhdGEtPnN0cmluZy5pc0VtcHR5KCk7CiAgICAgfQogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKQEAgLTkwLDI1ICs4NywyNiBA
QCBkb3VibGUgVmFsdWU6OnRvTnVtYmVyKCkgY29uc3QKICAgICAgICAgY2FzZSBOdW1iZXJWYWx1
ZToKICAgICAgICAgICAgIHJldHVybiBtX251bWJlcjsKICAgICAgICAgY2FzZSBTdHJpbmdWYWx1
ZTogewotICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX2RhdGEtPm1fc3RyaW5nLnNp
bXBsaWZ5V2hpdGVTcGFjZSgpOworICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX2Rh
dGEtPnN0cmluZy5zaW1wbGlmeVdoaXRlU3BhY2UoKTsKIAogICAgICAgICAgICAgLy8gU3RyaW5n
Ojp0b0RvdWJsZSgpIHN1cHBvcnRzIGV4cG9uZW50aWFsIG5vdGF0aW9uLCB3aGljaCBpcyBub3Qg
YWxsb3dlZCBpbiBYUGF0aC4KICAgICAgICAgICAgIHVuc2lnbmVkIGxlbiA9IHN0ci5sZW5ndGgo
KTsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47ICsraSkgewogICAg
ICAgICAgICAgICAgIFVDaGFyIGMgPSBzdHJbaV07CiAgICAgICAgICAgICAgICAgaWYgKCFpc0FT
Q0lJRGlnaXQoYykgJiYgYyAhPSAnLicgICYmIGMgIT0gJy0nKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBib29sIGNhbkNvbnZlcnQ7CiAgICAgICAg
ICAgICBkb3VibGUgdmFsdWUgPSBzdHIudG9Eb3VibGUoJmNhbkNvbnZlcnQpOwogICAgICAgICAg
ICAgaWYgKGNhbkNvbnZlcnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwotICAgICAg
ICAgICAgcmV0dXJuIG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBCb29sZWFuVmFsdWU6CiAgICAgICAgICAgICByZXR1cm4g
bV9ib29sOwogICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAw
LjA7CiB9CkBAIC0xMTcsMjIgKzExNSwyMyBAQCBTdHJpbmcgVmFsdWU6OnRvU3RyaW5nKCkgY29u
c3QKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgICAgICBjYXNlIE5vZGVTZXRWYWx1ZToK
LSAgICAgICAgICAgIGlmIChtX2RhdGEtPm1fbm9kZVNldC5pc0VtcHR5KCkpIAotICAgICAgICAg
ICAgICAgIHJldHVybiAiIjsKLSAgICAgICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZShtX2RhdGEt
Pm1fbm9kZVNldC5maXJzdE5vZGUoKSk7CisgICAgICAgICAgICBpZiAobV9kYXRhLT5ub2RlU2V0
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAg
ICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZShtX2RhdGEtPm5vZGVTZXQuZmlyc3ROb2RlKCkpOwog
ICAgICAgICBjYXNlIFN0cmluZ1ZhbHVlOgotICAgICAgICAgICAgcmV0dXJuIG1fZGF0YS0+bV9z
dHJpbmc7CisgICAgICAgICAgICByZXR1cm4gbV9kYXRhLT5zdHJpbmc7CiAgICAgICAgIGNhc2Ug
TnVtYmVyVmFsdWU6CiAgICAgICAgICAgICBpZiAoc3RkOjppc25hbihtX251bWJlcikpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuICJOYU4iOworICAgICAgICAgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIk5hTiIpOwogICAgICAgICAgICAgaWYgKG1fbnVtYmVyID09IDApCi0gICAgICAgICAg
ICAgICAgcmV0dXJuICIwIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCIw
Iik7CiAgICAgICAgICAgICBpZiAoc3RkOjppc2luZihtX251bWJlcikpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6c2lnbmJpdChtX251bWJlcikgPyAiLUluZmluaXR5IiA6ICJJbmZpbml0
eSI7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbChzdGQ6OnNpZ25iaXQobV9u
dW1iZXIpID8gIi1JbmZpbml0eSIgOiAiSW5maW5pdHkiKTsKICAgICAgICAgICAgIHJldHVybiBT
dHJpbmc6Om51bWJlcihtX251bWJlcik7CiAgICAgICAgIGNhc2UgQm9vbGVhblZhbHVlOgotICAg
ICAgICAgICAgcmV0dXJuIG1fYm9vbCA/ICJ0cnVlIiA6ICJmYWxzZSI7CisgICAgICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKG1fYm9vbCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgIH0KKwog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhWYWx1ZS5oCmluZGV4IDQ5MGJiMmQ3Yjc4YzVkNjU3OWE2N2ZkNDcwMmM2MGVlNjBm
Mzc1NDUuLjFkZWVjMzM5ZmVjYWEwNzFkNmFhODQ4OTUxMDcyYWJmNjIwNWJiNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoVmFsdWUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNSBG
cmVyaWNoIFJhYWJlIDxyYWFiZUBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
OCw0NiArMjgsMjUgQEAKICNkZWZpbmUgWFBhdGhWYWx1ZV9oCiAKICNpbmNsdWRlICJYUGF0aE5v
ZGVTZXQuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAKLSAgICAgICAgY2xhc3MgVmFs
dWVEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8VmFsdWVEYXRhPiB7Ci0gICAgICAgIHB1YmxpYzog
ICAgICAgICAgICAKLSAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZhbHVlRGF0YT4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFZhbHVlRGF0YSk7IH0KLSAgICAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFZhbHVlRGF0YT4gY3JlYXRlKGNvbnN0IE5vZGVTZXQmIG5vZGVTZXQp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBWYWx1ZURhdGEobm9kZVNldCkpOyB9Ci0gICAgICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxWYWx1ZURhdGE+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHN0cmlu
ZykgeyByZXR1cm4gYWRvcHRSZWYobmV3IFZhbHVlRGF0YShzdHJpbmcpKTsgfQotCi0gICAgICAg
ICAgICBOb2RlU2V0IG1fbm9kZVNldDsKLSAgICAgICAgICAgIFN0cmluZyBtX3N0cmluZzsKLSAg
ICAgICAgICAgIAotICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgVmFsdWVEYXRhKCkgeyB9
Ci0gICAgICAgICAgICBleHBsaWNpdCBWYWx1ZURhdGEoY29uc3QgTm9kZVNldCYgbm9kZVNldCkg
OiBtX25vZGVTZXQobm9kZVNldCkgeyB9Ci0gICAgICAgICAgICBleHBsaWNpdCBWYWx1ZURhdGEo
Y29uc3QgU3RyaW5nJiBzdHJpbmcpIDogbV9zdHJpbmcoc3RyaW5nKSB7IH0gICAgICAgICAgICAK
LSAgICAgICAgfTsKLQotICAgICAgICAvLyBDb3B5aW5nIFZhbHVlIG9iamVjdHMgbWFrZXMgdGhl
aXIgZGF0YSBwYXJ0aWFsbHkgc2hhcmVkLCBzbyBjYXJlIGhhcyB0byBiZSB0YWtlbiB3aGVuIGRl
YWxpbmcgd2l0aCBjb3BpZXMuCiAgICAgICAgIGNsYXNzIFZhbHVlIHsKICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgZW51bSBUeXBlIHsgTm9kZVNldFZhbHVlLCBCb29sZWFuVmFsdWUsIE51
bWJlclZhbHVlLCBTdHJpbmdWYWx1ZSB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBWYWx1
ZSh1bnNpZ25lZCB2YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBt
X251bWJlcih2YWx1ZSkge30KLSAgICAgICAgICAgIFZhbHVlKHVuc2lnbmVkIGxvbmcgdmFsdWUp
IDogbV90eXBlKE51bWJlclZhbHVlKSwgbV9ib29sKGZhbHNlKSwgbV9udW1iZXIodmFsdWUpIHt9
Ci0gICAgICAgICAgICBWYWx1ZShkb3VibGUgdmFsdWUpIDogbV90eXBlKE51bWJlclZhbHVlKSwg
bV9ib29sKGZhbHNlKSwgbV9udW1iZXIodmFsdWUpIHt9Ci0KLSAgICAgICAgICAgIFZhbHVlKGNv
bnN0IGNoYXIqIHZhbHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1ZSksIG1fYm9vbChmYWxzZSksIG1f
bnVtYmVyKDApLCBtX2RhdGEoVmFsdWVEYXRhOjpjcmVhdGUodmFsdWUpKSB7fQotICAgICAgICAg
ICAgVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgOiBtX3R5cGUoU3RyaW5nVmFsdWUpLCBtX2Jv
b2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRlKHZhbHVlKSkg
e30KLSAgICAgICAgICAgIFZhbHVlKGNvbnN0IE5vZGVTZXQmIHZhbHVlKSA6IG1fdHlwZShOb2Rl
U2V0VmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZhbHVlRGF0YTo6
Y3JlYXRlKHZhbHVlKSkge30KLSAgICAgICAgICAgIFZhbHVlKE5vZGUqIHZhbHVlKSA6IG1fdHlw
ZShOb2RlU2V0VmFsdWUpLCBtX2Jvb2woZmFsc2UpLCBtX251bWJlcigwKSwgbV9kYXRhKFZhbHVl
RGF0YTo6Y3JlYXRlKCkpIHsgbV9kYXRhLT5tX25vZGVTZXQuYXBwZW5kKHZhbHVlKTsgfQorICAg
ICAgICAgICAgVmFsdWUoYm9vbCB2YWx1ZSkgOiBtX3R5cGUoQm9vbGVhblZhbHVlKSwgbV9ib29s
KHZhbHVlKSB7IH0KKyAgICAgICAgICAgIFZhbHVlKHVuc2lnbmVkIHZhbHVlKSA6IG1fdHlwZShO
dW1iZXJWYWx1ZSksIG1fbnVtYmVyKHZhbHVlKSB7IH0KKyAgICAgICAgICAgIFZhbHVlKGRvdWJs
ZSB2YWx1ZSkgOiBtX3R5cGUoTnVtYmVyVmFsdWUpLCBtX251bWJlcih2YWx1ZSkgeyB9CiAKLSAg
ICAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHNhZmVseSBpbXBsZW1lbnQgY29uc3RydWN0
aW5nIGZyb20gYm9vbCAtIHdpdGggbm9ybWFsIGZ1bmN0aW9uIG92ZXJsb2FkaW5nLCBhbnkgcG9p
bnRlciB0eXBlIHdvdWxkIG1hdGNoLgotICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
VmFsdWUoVCk7CisgICAgICAgICAgICBWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSA6IG1fdHlw
ZShTdHJpbmdWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KKyAgICAgICAg
ICAgIFZhbHVlKGNvbnN0IGNoYXIqIHZhbHVlKSA6IG1fdHlwZShTdHJpbmdWYWx1ZSksIG1fZGF0
YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KIAotICAgICAgICAgICAgc3RhdGljIGNvbnN0IHN0
cnVjdCBBZG9wdFRhZyB7fSBhZG9wdDsKLSAgICAgICAgICAgIFZhbHVlKE5vZGVTZXQmIHZhbHVl
LCBjb25zdCBBZG9wdFRhZyYpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fYm9vbChmYWxzZSks
IG1fbnVtYmVyKDApLCAgbV9kYXRhKFZhbHVlRGF0YTo6Y3JlYXRlKCkpIHsgdmFsdWUuc3dhcCht
X2RhdGEtPm1fbm9kZVNldCk7IH0KKyAgICAgICAgICAgIGV4cGxpY2l0IFZhbHVlKE5vZGVTZXQg
dmFsdWUpIDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUoc3RkOjpt
b3ZlKHZhbHVlKSkpIHsgfQorICAgICAgICAgICAgZXhwbGljaXQgVmFsdWUoTm9kZSogdmFsdWUp
IDogbV90eXBlKE5vZGVTZXRWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0K
KyAgICAgICAgICAgIGV4cGxpY2l0IFZhbHVlKFBhc3NSZWZQdHI8Tm9kZT4gdmFsdWUpIDogbV90
eXBlKE5vZGVTZXRWYWx1ZSksIG1fZGF0YShEYXRhOjpjcmVhdGUodmFsdWUpKSB7IH0KIAogICAg
ICAgICAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKQEAgLTc3LDI1
ICs1NiwzOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBib29sIGlzU3RyaW5n
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFN0cmluZ1ZhbHVlOyB9CiAKICAgICAgICAgICAg
IGNvbnN0IE5vZGVTZXQmIHRvTm9kZVNldCgpIGNvbnN0OwotICAgICAgICAgICAgTm9kZVNldCYg
bW9kaWZpYWJsZU5vZGVTZXQoKTsKICAgICAgICAgICAgIGJvb2wgdG9Cb29sZWFuKCkgY29uc3Q7
CiAgICAgICAgICAgICBkb3VibGUgdG9OdW1iZXIoKSBjb25zdDsKICAgICAgICAgICAgIFN0cmlu
ZyB0b1N0cmluZygpIGNvbnN0OwogCisgICAgICAgICAgICAvLyBOb3RlIHRoYXQgdGhlIE5vZGVT
ZXQgaXMgc2hhcmVkIHdpdGggb3RoZXIgVmFsdWVzIHRoYXQgdGhpcyBvbmUgd2FzIGNvcGllZCBm
cm9tIG9yIHRoYXQgYXJlIGNvcGllcyBvZiB0aGlzIG9uZS4KKyAgICAgICAgICAgIE5vZGVTZXQm
IG1vZGlmaWFibGVOb2RlU2V0KCk7CisKICAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICAgIC8v
IFRoaXMgY29uc3RydWN0b3IgY3JlYXRlcyBhbWJpZ3VpdHkgc28gdGhhdCB3ZSBkb24ndCBhY2Np
ZGVudGFsbHkgY2FsbCB0aGUgYm9vbGVhbiBvdmVybG9hZCBmb3IgcG9pbnRlciB0eXBlcy4KKyAg
ICAgICAgICAgIFZhbHVlKHZvaWQqKSBXVEZfREVMRVRFRF9GVU5DVElPTjsKKworICAgICAgICAg
ICAgc3RydWN0IERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxEYXRhPiB7CisgICAgICAgICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IERhdGEpOyB9CisgICAgICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YShzdHJpbmcp
KTsgfQorICAgICAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGE+IGNyZWF0ZShOb2Rl
U2V0IG5vZGVTZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBEYXRhKHN0ZDo6bW92ZShub2RlU2V0
KSkpOyB9CisgICAgICAgICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YT4gY3JlYXRlKFBh
c3NSZWZQdHI8Tm9kZT4gbm9kZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERhdGEobm9kZSkpOyB9
CisKKyAgICAgICAgICAgICAgICBTdHJpbmcgc3RyaW5nOworICAgICAgICAgICAgICAgIE5vZGVT
ZXQgbm9kZVNldDsKKworICAgICAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICAgICAgICBEYXRh
KCkgeyB9CisgICAgICAgICAgICAgICAgZXhwbGljaXQgRGF0YShjb25zdCBTdHJpbmcmIHN0cmlu
ZykgOiBzdHJpbmcoc3RyaW5nKSB7IH0KKyAgICAgICAgICAgICAgICBleHBsaWNpdCBEYXRhKE5v
ZGVTZXQgbm9kZVNldCkgOiBub2RlU2V0KHN0ZDo6bW92ZShub2RlU2V0KSkgeyB9CisgICAgICAg
ICAgICAgICAgZXhwbGljaXQgRGF0YShQYXNzUmVmUHRyPE5vZGU+IG5vZGUpIDogbm9kZVNldChu
b2RlKSB7IH0KKyAgICAgICAgICAgIH07CisKICAgICAgICAgICAgIFR5cGUgbV90eXBlOwogICAg
ICAgICAgICAgYm9vbCBtX2Jvb2w7CiAgICAgICAgICAgICBkb3VibGUgbV9udW1iZXI7Ci0gICAg
ICAgICAgICBSZWZQdHI8VmFsdWVEYXRhPiBtX2RhdGE7CisgICAgICAgICAgICBSZWZQdHI8RGF0
YT4gbV9kYXRhOwogICAgICAgICB9OwogCi0gICAgICAgIHRlbXBsYXRlPD4KLSAgICAgICAgaW5s
aW5lIFZhbHVlOjpWYWx1ZShib29sIHZhbHVlKQotICAgICAgICAgICAgOiBtX3R5cGUoQm9vbGVh
blZhbHVlKQotICAgICAgICAgICAgLCBtX2Jvb2wodmFsdWUpCi0gICAgICAgICAgICAsIG1fbnVt
YmVyKDApCi0gICAgICAgIHsKLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>
<flag name="review"
          id="236205"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>