<?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>115250</bug_id>
          
          <creation_ts>2013-04-26 05:27:00 -0700</creation_ts>
          <short_desc>Get rid of [Callback] IDL extended attribute for parameters</short_desc>
          <delta_ts>2013-04-30 01:08:18 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>115247</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>alecflett</cc>
    
    <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>haraken</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>tommyw</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>881825</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 05:27:00 -0700</bug_when>
    <thetext>The [Callback] IDL extended attribute is not part of the Web IDL specification and should not be needed. The bindings generator should be smart enough to know by itself if a parameter&apos;s type is a callback interface.

This will results in simpler IDL files and closer to the standard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882004</commentid>
    <comment_count>1</comment_count>
      <attachid>199853</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 13:07:53 -0700</bug_when>
    <thetext>Created attachment 199853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882012</commentid>
    <comment_count>2</comment_count>
      <attachid>199853</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-04-26 13:26:22 -0700</bug_when>
    <thetext>Comment on attachment 199853
Patch

Attachment 199853 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/133502</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882013</commentid>
    <comment_count>3</comment_count>
      <attachid>199853</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-26 13:29:05 -0700</bug_when>
    <thetext>Comment on attachment 199853
Patch

Attachment 199853 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/133498</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882014</commentid>
    <comment_count>4</comment_count>
      <attachid>199853</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-26 13:32:04 -0700</bug_when>
    <thetext>Comment on attachment 199853
Patch

Attachment 199853 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/188022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882017</commentid>
    <comment_count>5</comment_count>
      <attachid>199853</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-26 13:47:02 -0700</bug_when>
    <thetext>Comment on attachment 199853
Patch

Attachment 199853 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/133499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882019</commentid>
    <comment_count>6</comment_count>
      <attachid>199856</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 13:59:27 -0700</bug_when>
    <thetext>Created attachment 199856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882023</commentid>
    <comment_count>7</comment_count>
      <attachid>199856</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-04-26 14:08:05 -0700</bug_when>
    <thetext>Comment on attachment 199856
Patch

Attachment 199856 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/14513</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882040</commentid>
    <comment_count>8</comment_count>
      <attachid>199863</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 14:52:05 -0700</bug_when>
    <thetext>Created attachment 199863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882043</commentid>
    <comment_count>9</comment_count>
      <attachid>199865</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 14:56:39 -0700</bug_when>
    <thetext>Created attachment 199865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882045</commentid>
    <comment_count>10</comment_count>
      <attachid>199866</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 15:07:19 -0700</bug_when>
    <thetext>Created attachment 199866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882048</commentid>
    <comment_count>11</comment_count>
      <attachid>199866</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-04-26 15:14:32 -0700</bug_when>
    <thetext>Comment on attachment 199866
Patch

Attachment 199866 did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/43916</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882049</commentid>
    <comment_count>12</comment_count>
      <attachid>199866</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-04-26 15:15:27 -0700</bug_when>
    <thetext>Comment on attachment 199866
Patch

Attachment 199866 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/13432</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882076</commentid>
    <comment_count>13</comment_count>
      <attachid>199873</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 16:36:00 -0700</bug_when>
    <thetext>Created attachment 199873
Patch

Should fix GTK ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882132</commentid>
    <comment_count>14</comment_count>
      <attachid>199873</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-04-26 22:20:57 -0700</bug_when>
    <thetext>Comment on attachment 199873
Patch

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

&gt; Source/WebCore/Modules/webdatabase/SQLTransaction.idl:37
&gt; +                             in [Optional] SQLStatementCallback callback,

Maybe you want to replace [Optional] with &apos;optional&apos; when you have time. It&apos;s already done in Blink :)

&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:431
&gt; +    return 0 if $type eq &quot;Array&quot;;

This wouldn&apos;t be needed since it is already checked in GetArrayType().

&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:679
&gt; +  return 0 unless $object-&gt;IsRefPtrType($type);
&gt; +  return 0 if $type eq &quot;SerializedScriptValue&quot;;

Why do you want to write SerializedScriptValue here instead of in IsRefPtrType().

Actually I&apos;m not sure if we should use IsRefPtrType() here. Maybe we should introduce IsWrapperType() for this use, just like V8 does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882147</commentid>
    <comment_count>15</comment_count>
      <attachid>199873</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 23:52:25 -0700</bug_when>
    <thetext>Comment on attachment 199873
Patch

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

&gt;&gt; Source/WebCore/Modules/webdatabase/SQLTransaction.idl:37
&gt;&gt; +                             in [Optional] SQLStatementCallback callback,
&gt; 
&gt; Maybe you want to replace [Optional] with &apos;optional&apos; when you have time. It&apos;s already done in Blink :)

On my TODO list :)

&gt;&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:431
&gt;&gt; +    return 0 if $type eq &quot;Array&quot;;
&gt; 
&gt; This wouldn&apos;t be needed since it is already checked in GetArrayType().

ok

&gt;&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:679
&gt;&gt; +  return 0 if $type eq &quot;SerializedScriptValue&quot;;
&gt; 
&gt; Why do you want to write SerializedScriptValue here instead of in IsRefPtrType().
&gt; 
&gt; Actually I&apos;m not sure if we should use IsRefPtrType() here. Maybe we should introduce IsWrapperType() for this use, just like V8 does.

Well, SerializedScriptValue is a RefPtr type so I cannot move it to IsRefPtrType().

Anyway, I think you are right, introducing an IsWrapperType() would probably be clearer and we would avoid editing existing functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882169</commentid>
    <comment_count>16</comment_count>
      <attachid>199873</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-27 05:42:31 -0700</bug_when>
    <thetext>Comment on attachment 199873
Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:431
&gt;&gt;&gt; +    return 0 if $type eq &quot;Array&quot;;
&gt;&gt; 
&gt;&gt; This wouldn&apos;t be needed since it is already checked in GetArrayType().
&gt; 
&gt; ok

Actually GetArrayType() return the array subtype: return $1 if $type =~ /^([\w\d_\s]+)\[\]/;
Therefore, it is not applicable to the &quot;Array&quot; type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882172</commentid>
    <comment_count>17</comment_count>
      <attachid>199902</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-27 06:17:35 -0700</bug_when>
    <thetext>Created attachment 199902
Patch

Introduce IsWrapperType subroutine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882369</commentid>
    <comment_count>18</comment_count>
      <attachid>199902</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-04-28 01:50:08 -0700</bug_when>
    <thetext>Comment on attachment 199902
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882372</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-28 02:36:28 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 199902:

fast/frames/crash-remove-iframe-during-object-beforeload.html bug 115322 (author: zalan@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882373</commentid>
    <comment_count>20</comment_count>
      <attachid>199902</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-28 02:37:27 -0700</bug_when>
    <thetext>Comment on attachment 199902
Patch

Clearing flags on attachment: 199902

Committed r149257: &lt;http://trac.webkit.org/changeset/149257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882374</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-28 02:37:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882968</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-30 01:08:18 -0700</bug_when>
    <thetext>Updated WebKitIDL wiki accordingly:
http://trac.webkit.org/wiki/WebKitIDL?action=diff&amp;version=90&amp;old_version=89</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199853</attachid>
            <date>2013-04-26 13:07:53 -0700</date>
            <delta_ts>2013-04-26 13:59:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>48664</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li45Njc2ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzAg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVz
eXN0ZW0vRmlsZUVudHJ5LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2Vy
Q29udGV4dEZpbGVTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2
aWdhdG9yTWVkaWFTdHJlYW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZVN5bmMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFi
YXNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06Cisg
ICAgICAgIChJc0NhbGxiYWNrSW50ZXJmYWNlRnJvbUZpbGUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2tFeHByZXNzaW9uKToKKyAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKToKKyAg
ICAgICAgKElzQ2FsbGJhY2tJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
SURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQxKToKKyAg
ICAgICAgKFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQyKToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6
OmNvbnZlcnQ0KToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ1KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAg
ICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEpOgorICAgICAgICAod2Via2l0X2RvbV90
ZXN0X29ial9jb252ZXJ0Mik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0
KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDEpOgorICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0Mik6CisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KToKKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZl
cnQxOl0pOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQyOl0pOgorICAgICAgICAoLVtE
T01UZXN0T2JqIGNvbnZlcnQ0Ol0pOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQ1Ol0p
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbDoKKyAgICAgICAgKiBjc3Mv
Rm9udExvYWRlci5pZGw6CisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsOgorICAg
ICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMy0wNC0yNiAgRGFrZXIgRmVybmFuZGVz
IFBpbmhlaXJvICA8ZGFrZXIucGluaGVpcm9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBDaGFu
Z2UgUmVuZGVyTWV0ZXI6OnZhbHVlUmF0aW8oKSB2aXNpYmlsaXR5IHRvIHB1YmxpYwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0
ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVT
eXN0ZW0uaWRsCmluZGV4IGY5ZjI1NTQuLjU2ZjU4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwKQEAg
LTMxLDggKzMxLDggQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsK
IAogICAgIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlw
ZSwgaW4gbG9uZyBsb25nIHNpemUsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEZpbGVTeXN0
ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBGaWxlU3lzdGVtQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjayk7CiAgICAgdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0
cmluZyB1cmwsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgICAgICAgICAgaW4gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsCmlu
ZGV4IDYzYjQyN2EuLmZiMDQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbApAQCAtMzUsNyArMzUsNyBAQAogICAgIEpT
Tm9TdGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERpcmVjdG9yeUVudHJ5IDogRW50cnkgewogICAg
IERpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKLSAgICB2b2lkIGdldEZpbGUoaW4gW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBvcHRpb25zLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBD
YWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGdldERpcmVj
dG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9wdGlvbnMsIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZv
aWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOworICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0
aW9uYXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lk
IGdldERpcmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRB
cz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9w
dGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92ZVJl
Y3Vyc2l2ZWx5KGluIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0g
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsCmluZGV4IGUwNDY3YTku
LjA4NTJiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlSZWFkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlSZWFkZXIuaWRsCkBAIC0zMyw1ICszMyw1IEBACiAgICAgSlNOb1N0YXRpY1Rh
YmxlcywKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBEaXJlY3Rv
cnlSZWFkZXIgewotICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gW0NhbGxiYWNrXSBFbnRyaWVzQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gRW50cmllc0NhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9FbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRs
CmluZGV4IGM0M2RlZjQuLjkyNTE0MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0VudHJ5LmlkbApAQCAtMzksMTAgKzM5LDEwIEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBmdWxsUGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5
c3RlbSBmaWxlc3lzdGVtOwogCi0gICAgdm9pZCBnZXRNZXRhZGF0YShpbiBbQ2FsbGJhY2tdIE1l
dGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZvaWQgbW92ZVRvKGluIERpcmVjdG9y
eUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxs
YmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGNvcHlUbyhpbiBE
aXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlv
bmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBnZXRN
ZXRhZGF0YShpbiBNZXRhZGF0YUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgbW92ZVRvKGluIERpcmVj
dG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWxd
IEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBjb3B5VG8oaW4gRGlyZWN0b3J5RW50cnkgcGFy
ZW50LCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKICAgICBET01TdHJpbmcgdG9VUkwoKTsKLSAgICB2b2lkIHJlbW92ZShpbiBbQ2FsbGJh
Y2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCBnZXRQYXJlbnQoaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBy
ZW1vdmUoaW4gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0UGFyZW50KGluIFtPcHRpb25h
bF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlRW50cnkuaWRsCmluZGV4IDliYWQ1NTEuLjhjY2I0YzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCkBAIC0zNCw2ICsz
NCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgSlNOb1N0YXRpY1RhYmxlcwog
XSBpbnRlcmZhY2UgRmlsZUVudHJ5IDogRW50cnkgewotICAgIHZvaWQgY3JlYXRlV3JpdGVyKGlu
IFtDYWxsYmFja10gRmlsZVdyaXRlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlv
bmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGZp
bGUoaW4gW0NhbGxiYWNrXSBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgY3Jl
YXRlV3JpdGVyKGluIEZpbGVXcml0ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGZpbGUoaW4gRmls
ZUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsCmluZGV4IDkwY2Y2YTku
LjQ4NmQ4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9X
b3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbApAQCAtMzAsOSArMzAsOSBAQAog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUEVSU0lTVEVOVCA9IDE7CiAKLSAgICB2b2lkIHdlYmtpdFJlcXVlc3RGaWxlU3lz
dGVtKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplLCBpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBGaWxlU3lzdGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQg
d2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4gbG9uZyBs
b25nIHNpemUsIGluIFtPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERPTUZp
bGVTeXN0ZW1TeW5jIHdlYmtpdFJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbiB1bnNpZ25lZCBzaG9y
dCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKLSAgICB2
b2lkIHdlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwgaW4g
W0NhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHdlYmtpdFJl
c29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwgaW4gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKICAgICBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNVUkwo
aW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKIAogICAgIGF0dHJpYnV0
ZSBGaWxlRXJyb3JDb25zdHJ1Y3RvciBGaWxlRXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCmlu
ZGV4IDVkMzk5YTguLmQxNjkxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCkBAIC0yMSw4ICsy
MSw4IEBACiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogXSBwYXJ0aWFsIGludGVyZmFj
ZSBOYXZpZ2F0b3IgewogICAgIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGluIERpY3Rpb25hcnkg
b3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbQ2FsbGJhY2tdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gW09wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApp
bmRleCBhMGRjMWNlLi42ZGQxNjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMzYsMTggKzM2LDE4
IEBACiAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBFdmVudFRhcmdl
dAogXSBpbnRlcmZhY2UgUlRDUGVlckNvbm5lY3Rpb24gewotICAgIHZvaWQgY3JlYXRlT2ZmZXIo
aW4gW0NhbGxiYWNrXSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2ssIGluIFtDYWxsYmFjayxPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2Fs
bGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFDb25z
dHJhaW50cykKKyAgICB2b2lkIGNyZWF0ZU9mZmVyKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
UlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRGljdGlvbmFy
eSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAg
IHZvaWQgY3JlYXRlQW5zd2VyKGluIFtDYWxsYmFja10gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0g
RGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRlQW5zd2VyKGluIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihpbiBSVENTZXNz
aW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2Fs
bGJhY2spCisgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbiBkZXNjcmlwdGlvbiwgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
UlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24gbG9j
YWxEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAg
ICB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNj
cmlwdGlvbiwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRD
YWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lkIHNl
dFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBm
YWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24gcmVtb3RlRGVzY3JpcHRpb24KICAg
ICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwpAQCAtNzIsNyArNzIsNyBAQAogICAg
IFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgcmVtb3ZlU3RyZWFtKGluIE1lZGlhU3RyZWFtIHN0
cmVhbSkKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICB2b2lkIGdldFN0YXRz
KGluIFtDYWxsYmFja10gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOworICAg
IHZvaWQgZ2V0U3RhdHMoaW4gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOwog
CiAgICAgUlRDRGF0YUNoYW5uZWwgY3JlYXRlRGF0YUNoYW5uZWwoaW4gW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGxhYmVsLCBp
biBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucykKICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmlkbAppbmRleCAxOTRlODliLi4zODcwOGE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAt
NTEsNyArNTEsNyBAQAogCiAjaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5B
QkxFX05PVElGSUNBVElPTlMKICAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBET01TdHJpbmcgcGVybWlzc2lvbjsKLSAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oaW4gW09wdGlvbmFsLCBDYWxsYmFja10gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
IGNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGlj
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oaW4gW09wdGlvbmFsXSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgY2FsbGJhY2spOwogI2VuZGlmCiAKICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0
ZW5lciBvbnNob3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IGFlMWE1NTguLjJhN2QzOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCkBAIC0zNyw2ICszNyw2IEBACiAgICBOb3RpZmljYXRp
b24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcg
dGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgaW50
IGNoZWNrUGVybWlzc2lvbigpOwotICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsCmluZGV4IDM4ZjdiOTMu
LmI2OWQzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZUluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8u
aWRsCkBAIC0zMSw2ICszMSw2IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVNUE9SQVJZ
ID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKIAotICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShp
biB1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3Rv
cmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0g
U3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0
b3JhZ2VUeXBlLCBpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBxdWVyeVVzYWdlQW5k
UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIFtPcHRpb25hbF0gU3RvcmFn
ZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGlu
IHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtPcHRpb25hbF0gU3RvcmFn
ZVF1b3RhQ2FsbGJhY2sgcXVvdGFDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VRdW90YS5pZGwKaW5kZXggNDM2NGY1Yi4uNGE2NGY5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbApAQCAtMjgsNiArMjgsNiBA
QAogICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBd
IGludGVyZmFjZSBTdG9yYWdlUXVvdGEgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiBbQ2FsbGJhY2tdIFN0b3JhZ2VVc2Fn
ZUNhbGxiYWNrIHVzYWdlQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVv
dGFJbkJ5dGVzLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBx
dW90YUNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
dm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoaW4gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxs
YmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEo
aW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5CeXRlcywgaW4gW09wdGlvbmFsXSBTdG9y
YWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAppbmRleCA0ZjE5YjQ4Li43NDFhNTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBA
IC01MSw3ICs1MSw3IEBACiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgLy8g
QXN5bmNocm9ub3VzIGF1ZGlvIGZpbGUgZGF0YSBkZWNvZGluZy4KLSAgICB2b2lkIGRlY29kZUF1
ZGlvRGF0YShpbiBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIFtDYWxsYmFja10gQXVkaW9CdWZm
ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEF1ZGlv
QnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKKyAgICB2b2lkIGRlY29kZUF1ZGlvRGF0YShp
biBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykK
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBTb3VyY2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFi
YXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2Vi
RGF0YWJhc2UuaWRsCmluZGV4IDFmMzFlMWQuLjA3NDVhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2Uu
aWRsCkBAIC0yNyw3ICsyNyw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAog
XSBwYXJ0aWFsIGludGVyZmFjZSBET01XaW5kb3cgewotICAgIERhdGFiYXNlIG9wZW5EYXRhYmFz
ZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBk
aXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJh
c2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwg
aW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUs
IGluIFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8ICFM
QU5HVUFHRV9DUFAKICAgICBhdHRyaWJ1dGUgU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FMRXhj
ZXB0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmlkbAppbmRleCA1ZjY0ODk3Li4zZWZlMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbApAQCAtMzIsOCArMzIsOCBAQAogICAgIEpTTm9T
dGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERhdGFiYXNlIHsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHZlcnNpb247Ci0gICAgdm9pZCBjaGFuZ2VWZXJzaW9uKGluIERPTVN0cmlu
ZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW0NhbGxiYWNrLCBPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZvaWQg
dHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjayk7Ci0gICAgdm9pZCByZWFkVHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CisgICAgdm9pZCBjaGFuZ2VWZXJzaW9u
KGluIERPTVN0cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW09w
dGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFNR
TFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFZv
aWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgdHJhbnNhY3Rpb24oaW4gU1FM
VHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTUUxUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBWb2lkQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB2b2lkIHJlYWRUcmFuc2FjdGlvbihpbiBTUUxUcmFuc2Fj
dGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVN5bmMuaWRsCmluZGV4IDEzMDFlYWIuLjNiNGZlYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwKQEAg
LTM1LDggKzM1LDggQEAKIF0gaW50ZXJmYWNlIERhdGFiYXNlU3luYyB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgbGFzdEVycm9yTWVzc2FnZTsKLSAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3Ry
aW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4
Y2VwdGlvbik7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0
aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lk
IHJlYWRUcmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNr
IGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIGNoYW5nZVZlcnNpb24o
aW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbT3B0
aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyAgICB2b2lkIHRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIHJlYWRUcmFuc2Fj
dGlvbihpbiBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCmluZGV4IGE1N2RmMTYuLjUzYTkzMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
aWRsCkBAIC0zNCw2ICszNCw2IEBACiBdIGludGVyZmFjZSBTUUxUcmFuc2FjdGlvbiB7CiAgICAg
W0N1c3RvbV0gdm9pZCBleGVjdXRlU3FsKGluIERPTVN0cmluZyBzcWxTdGF0ZW1lbnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIE9iamVjdEFycmF5IGFyZ3VtZW50cywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3RhdGVt
ZW50Q2FsbGJhY2sgY2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gU1FMU3RhdGVt
ZW50Q2FsbGJhY2sgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbF0gU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dvcmtlckNvbnRl
eHRXZWJEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dv
cmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKaW5kZXggNWExZTVlOS4uZDhiOWRjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2Vi
RGF0YWJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29y
a2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbApAQCAtMjcsMTAgKzI3LDEwIEBACiBbCiAgICAgQ29u
ZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJDb250ZXh0
IHsKLSAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0
cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcg
ZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBj
cmVhdGlvbkNhbGxiYWNrKQorICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShpbiBET01TdHJpbmcg
bmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4g
dW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJh
Y2sgY3JlYXRpb25DYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAg
ICBEYXRhYmFzZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9N
U3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9u
ZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNr
IGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJhc2VTeW5jIG9wZW5EYXRhYmFzZVN5bmMoaW4g
RE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxh
eU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRh
YmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yLnBtCmluZGV4IDI5MmRmNjQuLjZkZTAxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTYsNiArNiw3IEBACiAjIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1j
Yy5pZC5hdT4KICMgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEw
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNjY1LDYg
KzY2NiwyMiBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgIHJldHVybiAoJGZ1bmN0aW9uTmFt
ZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3ViIElzQ2FsbGJhY2tJbnRlcmZhY2VG
cm9tRmlsZQoreworICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgIG15ICRpbnRlcmZhY2VOYW1lID0g
c2hpZnQ7CisKKyAgbXkgJGlkbEZpbGUgPSAkb2JqZWN0LT5JRExGaWxlRm9ySW50ZXJmYWNlKCRp
bnRlcmZhY2VOYW1lKQorICAgICAgb3IgZGllKCJDb3VsZCBOT1QgZmluZCBJREwgZmlsZSBmb3Ig
aW50ZXJmYWNlIFwiJGludGVyZmFjZU5hbWVcIiFcbiIpOworCisgIG9wZW4gRklMRSwgIjwiLCAk
aWRsRmlsZTsKKyAgbXkgQGxpbmVzID0gPEZJTEU+OworICBjbG9zZSBGSUxFOworCisgIG15ICRm
aWxlQ29udGVudHMgPSBqb2luKCcnLCBAbGluZXMpOworICByZXR1cm4gKCRmaWxlQ29udGVudHMg
PX4gL2NhbGxiYWNrXHMraW50ZXJmYWNlXHMrKFx3KykvZ3MpOworfQorCiBzdWIgR2VuZXJhdGVD
b25kaXRpb25hbFN0cmluZwogewogICAgIG15ICRnZW5lcmF0b3IgPSBzaGlmdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
OTcxYmZkNS4uZGVlY2MxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTEwLDYgKzEwLDcgQEAKICMgQ29weXJpZ2h0IChD
KSAyMDExIFBhdHJpY2sgR2Fuc3RlcmVyIDxwYXJvZ2FAd2Via2l0Lm9yZz4KICMgQ29weXJpZ2h0
IChDKSAyMDEyIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQg
KEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgR29vZ2xlIEluYy4KKyMgQ29weXJpZ2h0IChDKSAy
MDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTEyOTMsNyArMTI5NCw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4
cHJlc3Npb24KICAgICAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9
LmlzVW5kZWZpbmVkT3JOdWxsKCkgfHwgJHt2YWx1ZX0uaXNTdHJpbmcoKSB8fCAke3ZhbHVlfS5p
c09iamVjdCgpKSIpOwogICAgICAgICAgICAgICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJ
bmRleH0gPSAxOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgeworICAgICAgICB9IGVsc2lmIChJc0Nh
bGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAjIEZvciBD
YWxsYmFja3Mgb25seSBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgogICAg
ICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAke3Zh
bHVlfS5pc0Z1bmN0aW9uKCkpIik7CiAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1l
dGVySW5kZXh9ID0gMTsKQEAgLTI4OTgsNyArMjg5OSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRl
cnNDaGVjawogICAgICAgICAjIE9wdGlvbmFsIGFyZ3VtZW50cyB3aXRoIFtPcHRpb25hbD0uLi5d
IHNob3VsZCBub3QgZ2VuZXJhdGUgdGhlIGVhcmx5IGNhbGwuCiAgICAgICAgICMgT3B0aW9uYWwg
RGljdGlvbmFyeSBhcmd1bWVudHMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBkZWZhdWx0IG9m
IGVtcHR5IGRpY3Rpb25hcnkuCiAgICAgICAgIG15ICRvcHRpb25hbCA9ICRwYXJhbWV0ZXItPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJPcHRpb25hbCJ9OwotICAgICAgICBpZiAoJG9wdGlvbmFsICYm
ICRvcHRpb25hbCBuZSAiRGVmYXVsdElzVW5kZWZpbmVkIiAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1
bHRJc051bGxTdHJpbmciICYmICRhcmdUeXBlIG5lICJEaWN0aW9uYXJ5IiAmJiAhJHBhcmFtZXRl
ci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgaWYgKCRvcHRp
b25hbCAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc1VuZGVmaW5lZCIgJiYgJG9wdGlvbmFsIG5l
ICJEZWZhdWx0SXNOdWxsU3RyaW5nIiAmJiAkYXJnVHlwZSBuZSAiRGljdGlvbmFyeSIgJiYgIUlz
Q2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFtZXRlci0+dHlwZSkpIHsKICAgICAgICAgICAgICMgR2Vu
ZXJhdGUgZWFybHkgY2FsbCBpZiB0aGVyZSBhcmUgZW5vdWdoIHBhcmFtZXRlcnMuCiAgICAgICAg
ICAgICBpZiAoISRoYXNPcHRpb25hbEFyZ3VtZW50cykgewogICAgICAgICAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIlxuICAgIHNpemVfdCBhcmdzQ291bnQgPSBleGVjLT5hcmd1bWVudENv
dW50KCk7XG4iKTsKQEAgLTI5MjYsNyArMjkyNyw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnND
aGVjawogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgICAgICByZXNvbHZlciA9IGN1c3RvbVJlc29sdmVyLmdldCgpO1xu
Iik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgfVxuIik7Ci0gICAgICAg
IH0gZWxzaWYgKCRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFjayJ9KSB7
CisgICAgICAgIH0gZWxzaWYgKElzQ2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFtZXRlci0+dHlwZSkp
IHsKICAgICAgICAgICAgIG15ICRjYWxsYmFja0NsYXNzTmFtZSA9IEdldENhbGxiYWNrQ2xhc3NO
YW1lKCRhcmdUeXBlKTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiRjYWxsYmFja0NsYXNz
TmFtZS5oIn0gPSAxOwogICAgICAgICAgICAgaWYgKCRvcHRpb25hbCkgewpAQCAtMzMzOCw2ICsz
MzM5LDE4IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAgICAgcmV0dXJuICIke3R5cGV9KiI7CiB9CiAK
K3N1YiBJc0NhbGxiYWNrSW50ZXJmYWNlCit7CisgbXkgJHR5cGUgPSBzaGlmdDsKKyByZXR1cm4g
MCBpZiAkbmF0aXZlVHlwZXskdHlwZX07CisgcmV0dXJuIDAgaWYgJHR5cGUgZXEgIkFycmF5IjsK
KyByZXR1cm4gMCBpZiAkY29kZUdlbmVyYXRvci0+SXNFbnVtVHlwZSgkdHlwZSk7CisgcmV0dXJu
IDAgaWYgJGNvZGVHZW5lcmF0b3ItPkdldEFycmF5VHlwZSgkdHlwZSk7CisgcmV0dXJuIDAgaWYg
JGNvZGVHZW5lcmF0b3ItPkdldFNlcXVlbmNlVHlwZSgkdHlwZSk7CisKKyByZXR1cm4gJGNvZGVH
ZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2VGcm9tRmlsZSgkdHlwZSk7Cit9CisKIHN1YiBH
ZXROYXRpdmVWZWN0b3JJbm5lclR5cGUKIHsKICAgICBteSAkYXJyYXlPclNlcXVlbmNlVHlwZSA9
IHNoaWZ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmli
dXRlcy50eHQKaW5kZXggMzJjODkwOS4uZDI0ZjU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0yMiw3ICsyMiw2IEBAIEFj
dGl2ZURPTU9iamVjdAogQ1BQUHVyZUludGVyZmFjZQogQ2FjaGVkQXR0cmlidXRlCiBDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0fFNjcmlwdFN0YXRlfFNjcmlwdEFyZ3VtZW50c3xDYWxs
U3RhY2sKLUNhbGxiYWNrCiBDaGVja1NlY3VyaXR5CiBDaGVja1NlY3VyaXR5Rm9yTm9kZQogQ2xh
bXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAv
V2ViRE9NVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3RPYmouY3BwCmluZGV4IGQ2NTEwMTAuLmQwZmRlNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0T2JqLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5j
bHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiVGVzdEVudW1UeXBlLmgi
CisjaW5jbHVkZSAiVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01EaWN0aW9uYXJ5LmgiCiAj
aW5jbHVkZSAiV2ViRE9NRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCkBAIC0z
NiwxOSArMzcsMTIgQEAKICNpbmNsdWRlICJXZWJET01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldl
YkRPTVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkRPTVRlc3RFbnVtVHlwZS5oIgorI2luY2x1ZGUg
IldlYkRPTVRlc3ROb2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdE9iai5oIgotI2luY2x1ZGUg
IldlYkRPTWEuaCIKLSNpbmNsdWRlICJXZWJET01iLmgiCiAjaW5jbHVkZSAiV2ViRE9NYm9vbC5o
IgotI2luY2x1ZGUgIldlYkRPTWQuaCIKLSNpbmNsdWRlICJXZWJET01lLmgiCiAjaW5jbHVkZSAi
V2ViRXhjZXB0aW9uSGFuZGxlci5oIgogI2luY2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIu
aCIKLSNpbmNsdWRlICJhLmgiCi0jaW5jbHVkZSAiYi5oIgogI2luY2x1ZGUgImJvb2wuaCIKLSNp
bmNsdWRlICJkLmgiCi0jaW5jbHVkZSAiZS5oIgogI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CkBAIC05NzIsNyArOTY2LDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpvdmVybG9hZGVkTWV0aG9k
MShjb25zdCBXZWJET01TdHJpbmcmIHR5cGUpCiAKICNlbmRpZgogCi12b2lkIFdlYkRPTVRlc3RP
Ymo6OmNvbnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpj
b252ZXJ0MShjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTk4MCw3ICs5NzQsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6
OmNvbnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVlKQogICAgIGltcGwoKS0+Y29udmVydDEodG9X
ZWJDb3JlKHZhbHVlKSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3Qg
V2ViRE9NYiYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQyKGNvbnN0IFdlYkRP
TVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuOwpA
QCAtOTg4LDcgKzk4Miw3IEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2Vi
RE9NYiYgdmFsdWUpCiAgICAgaW1wbCgpLT5jb252ZXJ0Mih0b1dlYkNvcmUodmFsdWUpKTsKIH0K
IAotdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKK3Zv
aWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKQog
ewogICAgIGlmICghaW1wbCgpKQogICAgICAgICByZXR1cm47CkBAIC05OTYsNyArOTkwLDcgQEAg
dm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKICAgICBp
bXBsKCktPmNvbnZlcnQ0KHRvV2ViQ29yZSh2YWx1ZSkpOwogfQogCi12b2lkIFdlYkRPTVRlc3RP
Ymo6OmNvbnZlcnQ1KGNvbnN0IFdlYkRPTWUmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpj
b252ZXJ0NShjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgKaW5kZXggYzFjMTdkMi4uYmJkMWRmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0T2JqLmgKQEAgLTM4LDEyICszOCw5IEBAIGNsYXNzIFdlYkRPTU9iamVjdDsK
IGNsYXNzIFdlYkRPTVNWR1BvaW50OwogY2xhc3MgV2ViRE9NU3RyaW5nOwogY2xhc3MgV2ViRE9N
VGVzdEVudW1UeXBlOworY2xhc3MgV2ViRE9NVGVzdE5vZGU7CiBjbGFzcyBXZWJET01UZXN0T2Jq
OwotY2xhc3MgV2ViRE9NYTsKLWNsYXNzIFdlYkRPTWI7CiBjbGFzcyBXZWJET01ib29sOwotY2xh
c3MgV2ViRE9NZDsKLWNsYXNzIFdlYkRPTWU7CiAKIGNsYXNzIFdlYkRPTVRlc3RPYmogOiBwdWJs
aWMgV2ViRE9NT2JqZWN0IHsKIHB1YmxpYzoKQEAgLTE5MSwxMCArMTg4LDEwIEBAIHB1YmxpYzoK
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKGNvbnN0
IFdlYkRPTVN0cmluZyYgdHlwZSk7CiAjZW5kaWYKLSAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdl
YkRPTWEmIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTWImIHZhbHVlKTsK
LSAgICB2b2lkIGNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZl
cnQ1KGNvbnN0IFdlYkRPTWUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRP
TVRlc3ROb2RlJiB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0Mihjb25zdCBXZWJET01UZXN0Tm9k
ZSYgdmFsdWUpOworICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVl
KTsKKyAgICB2b2lkIGNvbnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSk7CiAgICAg
V2ViRE9NU1ZHUG9pbnQgbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICBXZWJET01TVkdQb2lu
dCBpbW11dGFibGVQb2ludEZ1bmN0aW9uKCk7CiAgICAgdm9pZCBiYW5hbmEoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggOTAyNjY1Mi4uMjNkYTQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTMzLDEyICszMyw5IEBACiAjaW5jbHVkZSAi
V2ViS2l0RE9NU1ZHUG9pbnRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3RFbnVtVHlwZVBy
aXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRET01UZXN0Tm9kZVByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRET01UZXN0T2JqUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldlYktpdERPTWFQcml2YXRl
LmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NYlByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01i
b29sUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldlYktpdERPTWRQcml2YXRlLmgiCi0jaW5jbHVkZSAi
V2ViS2l0RE9NZVByaXZhdGUuaCIKICNpbmNsdWRlICJnb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJp
bmcuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpA
QCAtMTM4MCw0NiArMTM3Nyw0NiBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0
aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlwZQogfQogCiB2b2lk
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdl
YktpdERPTWEqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9N
X0lTX0EodmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9O
T0RFKHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShz
ZWxmKTsKLSAgICBXZWJDb3JlOjphKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1
ZSk7CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3Jl
KHZhbHVlKTsKICAgICBpdGVtLT5jb252ZXJ0MShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NYiogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01f
SVNfQih2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05P
REUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwotICAgIFdlYkNvcmU6OmIqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVl
KTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUo
dmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQyKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAot
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01kKiB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19EKHZhbHVlKSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9E
RSh2YWx1ZSkpOwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2Vs
Zik7Ci0gICAgV2ViQ29yZTo6ZCogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUp
OworICAgIFdlYkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2
YWx1ZSk7CiAgICAgaXRlbS0+Y29udmVydDQoY29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktp
dERPTWUqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lT
X0UodmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RF
KHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxm
KTsKLSAgICBXZWJDb3JlOjplKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7
CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZh
bHVlKTsKICAgICBpdGVtLT5jb252ZXJ0NShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPYmouaAppbmRleCBhZjUzNmIwLi43Yzk5MmMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5oCkBAIC00MDQsNDYgKzQwNCw0NiBAQCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hh
ciogdHlwZQogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxOgogICogQHNlbGY6
IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NYQorICogQHZhbHVl
OiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRf
QVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgV2ViS2l0RE9NYSogdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioK
ICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDI6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9N
VGVzdE9iagotICogQHZhbHVlOiBBICNXZWJLaXRET01iCisgKiBAdmFsdWU6IEEgI1dlYktpdERP
TVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoKICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Vi
a2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRE
T01iKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0NDoKICAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCi0gKiBA
dmFsdWU6IEEgI1dlYktpdERPTWQKKyAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NVGVzdE5vZGUKICAq
CiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rf
b2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWQqIHZhbHVlKTsK
K3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2Nv
bnZlcnQ1OgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2YWx1ZTogQSAjV2Vi
S2l0RE9NZQorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoKICAqIFJldHVybnM6
CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZSogdmFsdWUpOword2Via2l0X2RvbV90
ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9k
ZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfbXV0YWJsZV9wb2ludF9m
dW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggZTEwMzk3NC4uM2MzYmI2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAg
LTM3LDEzICszNywxMCBAQAogI2luY2x1ZGUgIkpTU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJKU1Nj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpT
VGVzdE5vZGUuaCIKICNpbmNsdWRlICJKU1Rlc3RPYmouaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJP
YmouaCIKLSNpbmNsdWRlICJKU2EuaCIKLSNpbmNsdWRlICJKU2IuaCIKICNpbmNsdWRlICJKU2Jv
b2wuaCIKLSNpbmNsdWRlICJKU2QuaCIKLSNpbmNsdWRlICJKU2UuaCIKICNpbmNsdWRlICJLVVJM
LmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0
eVRlYXJPZmYuaCIKQEAgLTI3ODAsNyArMjc3Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5p
bXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMp
KTsKLSAgICBhKiB2YWx1ZSh0b2EoZXhlYy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSog
dmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKICAgICBpbXBsLT5jb252ZXJ0MSh2YWx1ZSk7CkBAIC0yNzk3LDcgKzI3OTQsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVy
dDIoRXhlY1N0YXRlKiBleGVjKQogICAgIFRlc3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0
T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgp
IDwgMSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAgYiogdmFsdWUodG9iKGV4ZWMtPmFyZ3VtZW50KDAp
KSk7CisgICAgVGVzdE5vZGUqIHZhbHVlKHRvVGVzdE5vZGUoZXhlYy0+YXJndW1lbnQoMCkpKTsK
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+Y29udmVydDIodmFsdWUpOwpAQCAtMjgx
NCw3ICsyODExLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBUZXN0T2JqKiBpbXBs
ID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgaWYgKGV4
ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhl
YywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykpOwotICAgIGQqIHZhbHVlKHRv
ZChleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4
ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIGltcGwtPmNvbnZl
cnQ0KHZhbHVlKTsKQEAgLTI4MzEsNyArMjgyOCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5p
bXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMp
KTsKLSAgICBlKiB2YWx1ZSh0b2UoZXhlYy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSog
dmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKICAgICBpbXBsLT5jb252ZXJ0NSh2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKaW5kZXggNzE1MDA2MS4u
N2E2MzA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAtMzQsMTYgKzM0LDEzIEBACiBAY2xhc3MgRE9NU1ZH
RG9jdW1lbnQ7CiBAY2xhc3MgRE9NU1ZHUG9pbnQ7CiBAY2xhc3MgRE9NVGVzdEVudW1UeXBlOwor
QGNsYXNzIERPTVRlc3ROb2RlOwogQGNsYXNzIERPTVRlc3RPYmo7CiBAY2xhc3MgRE9NVGVzdE9i
amVjdEFDb25zdHJ1Y3RvcjsKIEBjbGFzcyBET01UZXN0T2JqZWN0QkNvbnN0cnVjdG9yOwogQGNs
YXNzIERPTVRlc3RPYmplY3RDQ29uc3RydWN0b3I7Ci1AY2xhc3MgRE9NYTsKIEBjbGFzcyBET01h
bnk7Ci1AY2xhc3MgRE9NYjsKIEBjbGFzcyBET01ib29sOwotQGNsYXNzIERPTWQ7Ci1AY2xhc3Mg
RE9NZTsKIEBjbGFzcyBOU1N0cmluZzsKIEBwcm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCkBA
IC0xNzIsMTAgKzE2OSwxMCBAQCBlbnVtIHsKIC0gKHZvaWQpb3ZlcmxvYWRlZE1ldGhvZDE6KE5T
U3RyaW5nICopdHlwZTsKICNlbmRpZgogLSAoRE9NU1ZHRG9jdW1lbnQgKilnZXRTVkdEb2N1bWVu
dDsKLS0gKHZvaWQpY29udmVydDE6KERPTWEgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDI6KERP
TWIgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDQ6KERPTWQgKil2YWx1ZTsKLS0gKHZvaWQpY29u
dmVydDU6KERPTWUgKil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFs
dWU7CistICh2b2lkKWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252
ZXJ0NDooRE9NVGVzdE5vZGUgKil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDU6KERPTVRlc3ROb2Rl
ICopdmFsdWU7CiAtIChET01TVkdQb2ludCAqKW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAoRE9N
U1ZHUG9pbnQgKilpbW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAodm9pZClvcmFuZ2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
T2JqLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE9iai5tbQppbmRleCAzZGExNDkwLi44OTk2ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTQwLDE2
ICs0MCwxMyBAQAogI2ltcG9ydCAiRE9NU1ZHUG9pbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9N
U3R5bGVTaGVldEludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0RW51bVR5cGVJbnRlcm5hbC5o
IgorI2ltcG9ydCAiRE9NVGVzdE5vZGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iaklu
dGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0T2JqZWN0QUNvbnN0cnVjdG9ySW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRPTVRlc3RPYmplY3RCQ29uc3RydWN0b3JJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NVGVzdE9iamVjdENDb25zdHJ1Y3RvckludGVybmFsLmgiCi0jaW1wb3J0ICJET01hSW50ZXJu
YWwuaCIKICNpbXBvcnQgIkRPTWFueUludGVybmFsLmgiCi0jaW1wb3J0ICJET01iSW50ZXJuYWwu
aCIKICNpbXBvcnQgIkRPTWJvb2xJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NZEludGVybmFsLmgi
Ci0jaW1wb3J0ICJET01lSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRpY3Rpb25hcnkuaCIKICNpbXBv
cnQgIkRvY3VtZW50LmgiCiAjaW1wb3J0ICJFdmVudExpc3RlbmVyLmgiCkBAIC02Myw2ICs2MCw3
IEBACiAjaW1wb3J0ICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKICNpbXBvcnQgIlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2ltcG9ydCAiVGVzdEVudW1UeXBlLmgiCisjaW1wb3J0ICJU
ZXN0Tm9kZS5oIgogI2ltcG9ydCAiVGVzdE9iai5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEFDb25z
dHJ1Y3Rvci5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEJDb25zdHJ1Y3Rvci5oIgpAQCAtNzAsMTIg
KzY4LDggQEAKICNpbXBvcnQgIlRocmVhZENoZWNrLmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4
dHJhcy5oIgogI2ltcG9ydCAiV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oIgotI2ltcG9ydCAiYS5o
IgogI2ltcG9ydCAiYW55LmgiCi0jaW1wb3J0ICJiLmgiCiAjaW1wb3J0ICJib29sLmgiCi0jaW1w
b3J0ICJkLmgiCi0jaW1wb3J0ICJlLmgiCiAjaW1wb3J0IDx3dGYvR2V0UHRyLmg+CiAKICNkZWZp
bmUgSU1QTCByZWludGVycHJldF9jYXN0PFdlYkNvcmU6OlRlc3RPYmoqPihfaW50ZXJuYWwpCkBA
IC0xMDQxLDI1ICsxMDM1LDI1IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLSAodm9pZClj
b252ZXJ0MTooRE9NYSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQxOihET01UZXN0Tm9kZSAqKXZh
bHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElN
UEwtPmNvbnZlcnQxKGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0MjooRE9NYiAq
KXZhbHVlCistICh2b2lkKWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQyKGNv
cmUodmFsdWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlCistICh2b2lk
KWNvbnZlcnQ0OihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQ0KGNvcmUodmFsdWUpKTsKIH0K
IAotLSAodm9pZCljb252ZXJ0NTooRE9NZSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQ1OihET01U
ZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIElNUEwtPmNvbnZlcnQ1KGNvcmUodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCA5NTg3OTU0Li45NTll
YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RP
YmouaWRsCkBAIC0zMyw3ICszMyw3IEBACiBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZh
bHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAKIFsKLSAgICBDb25zdHJ1Y3Rv
cihpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayB0ZXN0Q2FsbGJhY2spLAorICAgIENvbnN0cnVj
dG9yKGluIFRlc3RDYWxsYmFjayB0ZXN0Q2FsbGJhY2spLAogICAgIEludGVyZmFjZU5hbWU9VGVz
dE9iamVjdAogXSBpbnRlcmZhY2UgVGVzdE9iaiB7CiAgICAgLy8gQXR0cmlidXRlcwpAQCAtMTQz
LDEyICsxNDMsMTIgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAiIiwgIkVudW1WYWx1ZTEiLCAiRW51
bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9OwogCiAjaWYgZGVmaW5lZChURVNUSU5HX0pTKQogICAg
IC8vICdDYWxsYmFjaycgZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgdm9pZCAgICBtZXRob2RXaXRo
Q2FsbGJhY2tBcmcoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZv
aWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcoaW4gbG9uZyBub25D
YWxsYmFjaywgaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQg
ICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmcoaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFj
a0FyZyhpbiBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aE5v
bkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcoaW4gbG9uZyBub25DYWxsYmFjaywgaW4gVGVzdENh
bGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlv
bmFsQXJnKGluIFtPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKICAgICAvLyBzdGF0
aWMgbWV0aG9kcyB3aXRoICdDYWxsYmFjaycgZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgc3RhdGlj
IHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmcoaW4gW0NhbGxi
YWNrLCBPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKLSAgICBzdGF0aWMgdm9pZCAg
ICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBcmcoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sg
Y2FsbGJhY2spOworICAgIHN0YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0Fu
ZE9wdGlvbmFsQXJnKGluIFtPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBz
dGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBcmcoaW4gVGVzdENhbGxiYWNr
IGNhbGxiYWNrKTsKICNlbmRpZgogCiAgICAgLy8gJ0NvbmRpdGlvbmFsJyBleHRlbmRlZCBhdHRy
aWJ1dGUKQEAgLTE4MCw3ICsxODAsNyBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZh
bHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAgICAgdm9pZCAgICBvdmVybG9h
ZGVkTWV0aG9kKGluIFRlc3RPYmo/IG9iakFyZywgaW4gW09wdGlvbmFsXSBsb25nIGxvbmdBcmcp
OwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBbU3RyaWN0VHlwZUNoZWNraW5nXSBE
T01TdHJpbmcgc3RyQXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gbG9uZyBs
b25nQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gW0NhbGxiYWNrXSBUZXN0
Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0
Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01T
dHJpbmdMaXN0PyBsaXN0QXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gRE9N
U3RyaW5nW10/IGFycmF5QXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gVGVz
dE9iaiBvYmpBcmcpOwpAQCAtMjEwLDEwICsyMTAsMTAgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAi
IiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9OwogICAgIFtDaGVj
a1NlY3VyaXR5Rm9yTm9kZV0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgY29udmVydDEoaW4gW1RyZWF0UmV0dXJu
ZWROdWxsU3RyaW5nQXM9TnVsbF0gYSB2YWx1ZSk7Ci0gICAgdm9pZCBjb252ZXJ0MihpbiBbVHJl
YXRSZXR1cm5lZE51bGxTdHJpbmdBcz1VbmRlZmluZWRdIGIgdmFsdWUpOwotICAgIHZvaWQgY29u
dmVydDQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGQgdmFsdWUpOwotICAgIHZvaWQgY29u
dmVydDUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0
cmluZ10gZSB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0MShpbiBbVHJlYXRSZXR1cm5lZE51bGxT
dHJpbmdBcz1OdWxsXSBUZXN0Tm9kZSB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0MihpbiBbVHJl
YXRSZXR1cm5lZE51bGxTdHJpbmdBcz1VbmRlZmluZWRdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2
b2lkIGNvbnZlcnQ0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBUZXN0Tm9kZSB2YWx1ZSk7
CisgICAgdm9pZCBjb252ZXJ0NShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRl
ZmluZWRBcz1OdWxsU3RyaW5nXSBUZXN0Tm9kZSB2YWx1ZSk7CiAKICAgICBhdHRyaWJ1dGUgU1ZH
UG9pbnQgbXV0YWJsZVBvaW50OwogICAgIFtJbW11dGFibGVdIGF0dHJpYnV0ZSBTVkdQb2ludCBp
bW11dGFibGVQb2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKaW5kZXggNzg1MTA4OS4uYmZmMzFjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5p
ZGwKQEAgLTc0LDcgKzc0LDcgQEAgdHlwZWRlZiBTVkdQb2ludCAgICAgICAgICAgICAgICAgICBT
VkdQT0lOVDsKIHR5cGVkZWYgRE9NU3RyaW5nICAgICAgICAgICAgICAgICAgU1RSSU5HOwogdHlw
ZWRlZiBbT3B0aW9uYWxdIERPTVN0cmluZyAgICAgICBPUFRJT05BTF9TVFJJTkc7CiB0eXBlZGVm
IERPTVN0cmluZ1tdICAgICAgICAgICAgICAgIEFSUkFZX09GX1NUUklOR1M7Ci10eXBlZGVmIFtD
YWxsYmFja10gVGVzdENhbGxiYWNrICAgIFRFU1RfQ0FMTEJBQ0s7Cit0eXBlZGVmIFRlc3RDYWxs
YmFjayAgICBURVNUX0NBTExCQUNLOwogdHlwZWRlZiBUZXN0U3ViT2JqQ29uc3RydWN0b3IgICAg
ICBUOwogdHlwZWRlZiBBcnJheSAgICAgICAgICAgICAgICAgICAgICBBUlJBWTsKIHR5cGVkZWYg
RE9NRXhjZXB0aW9uICAgICAgICAgICAgICAgRTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Gb250TG9hZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbApp
bmRleCBkYTI5NmU2Li4xOTFjMDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dExvYWRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsCkBAIC00
Myw3ICs0Myw3IEBACiAKICAgICBib29sZWFuIGNoZWNrRm9udChpbiBET01TdHJpbmcgZm9udCwg
aW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyB0ZXh0KTsKICAgICB2
b2lkIGxvYWRGb250KGluIERpY3Rpb25hcnkgcGFyYW1zKTsKLSAgICB2b2lkIG5vdGlmeVdoZW5G
b250c1JlYWR5KGluIFtDYWxsYmFja10gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lk
IG5vdGlmeVdoZW5Gb250c1JlYWR5KGluIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbG9hZGluZzsKIAogICAgIHZvaWQgYWRkRXZlbnRMaXN0
ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
YXRhVHJhbnNmZXJJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVt
LmlkbAppbmRleCA3YzMzODkzLi4yMWI1MDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVySXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFu
c2Zlckl0ZW0uaWRsCkBAIC0zNSw3ICszNSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBraW5kOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAot
ICAgIHZvaWQgZ2V0QXNTdHJpbmcoaW4gW0NhbGxiYWNrLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgZ2V0QXNTdHJpbmcoaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOwog
ICAgIEJsb2IgZ2V0QXNGaWxlKCk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggYTJkOWNhYy4uMjAzMmQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk3
LDkgKzE5Nyw5IEBACiAgICAgdm9pZCBjbGVhckludGVydmFsKGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGxvbmcgaGFuZGxlKTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAmJiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKLSAgICBs
b25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBbQ2FsbGJhY2tdIFJlcXVlc3RBbmltYXRpb25G
cmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShp
biBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCBjYW5j
ZWxBbmltYXRpb25GcmFtZShpbiBsb25nIGlkKTsKLSAgICBsb25nIHdlYmtpdFJlcXVlc3RBbmlt
YXRpb25GcmFtZShpbiBbQ2FsbGJhY2tdIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNh
bGxiYWNrKTsKKyAgICBsb25nIHdlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBSZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgW0ltcGxlbWVudGVkQXM9Y2Fu
Y2VsQW5pbWF0aW9uRnJhbWVdIHZvaWQgd2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9u
ZyBpZCk7CiAgICAgW0ltcGxlbWVudGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHZvaWQgd2Vi
a2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIGxvbmcgaWQpOyAvLyBUaGlzIGlzIGEg
ZGVwcmVjYXRlZCBhbGlhcyBmb3Igd2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoKS4gUmVtb3Zl
IHRoaXMgd2hlbiByZW1vdmluZyB2ZW5kb3IgcHJlZml4LgogI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="221353"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199856</attachid>
            <date>2013-04-26 13:59:27 -0700</date>
            <delta_ts>2013-04-26 14:52:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>51031</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li5mOGJkZDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogVXNlIFdlYkNvcmUvTW9kdWxl
cyBhcyBJREwgaW5jbHVkZSBwYXRoIGluc3RlYWQgb2YgdXNpbmcKKyAgICAgICAgc3ViZGlycy4g
VGhlIGdlbmVyYXRvciB3aWxsIHNlYXJjaCByZWN1cnNpdmVseSBhbnl3YXkgYW5kIHRoZSBsaXN0
IG9mIHN1YmRpcnMKKyAgICAgICAgd2FzIGluY29tcGxldGUuCisgICAgICAgICogTW9kdWxlcy9m
aWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmls
ZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeVJlYWRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3Rv
cmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
ZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChJc1JlZlB0clR5cGUpOgorICAg
ICAgICAoSXNDYWxsYmFja0ludGVyZmFjZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yR09iamVjdC5wbToKKyAgICAgICAgKFNraXBGdW5jdGlvbik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0
ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24pOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcDoKKyAg
ICAgICAgKFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQxKToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6
OmNvbnZlcnQyKToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KToKKyAgICAgICAg
KFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ1KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9v
YmpfY29udmVydDEpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0Mik6Cisg
ICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KToKKyAgICAgICAgKHdlYmtpdF9k
b21fdGVzdF9vYmpfY29udmVydDUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uQ29udmVydDEpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Db252ZXJ0Mik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbkNvbnZlcnQ0KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uQ29udmVydDUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
T2JqLm1tOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQxOl0pOgorICAgICAgICAoLVtE
T01UZXN0T2JqIGNvbnZlcnQyOl0pOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQ0Ol0p
OgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQ1Ol0pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdFR5cGVkZWZzLmlkbDoKKyAgICAgICAgKiBjc3MvRm9udExvYWRlci5pZGw6CisgICAg
ICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMy0wNC0yNiAgRGFrZXIgRmVybmFuZGVzIFBpbmhlaXJvICA8ZGFrZXIucGlu
aGVpcm9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyTWV0ZXI6OnZhbHVl
UmF0aW8oKSB2aXNpYmlsaXR5IHRvIHB1YmxpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggN2RmN2EzMi4uNzQ3ZDVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC05NzAsMjEgKzk3MCw3IEBAIHByZXByb2Nlc3NfaWRsc19zY3JpcHQgPSBwZXJsICQoYWRkcHJl
Zml4IC1JICQoV2ViQ29yZSkvLCAkKHNvcnQgJChkaXIgJCgxKSkpKSAkCiAjIEpTIGJpbmRpbmdz
IGdlbmVyYXRvcgogCiBJRExfSU5DTFVERVMgPSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Jh
dHRlcnkgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYSBcCi0gICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFk
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAotICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9pbmRleGVkZGIgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBc
Ci0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKLSAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbmV0d29ya2luZm8gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25z
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3BlZWNoIFwKLSAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvdmlicmF0aW9uIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXAotICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YnNvY2tldHMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mg
XAogICAgICQoV2ViQ29yZSkvZG9tIFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0
ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVT
eXN0ZW0uaWRsCmluZGV4IGY5ZjI1NTQuLjU2ZjU4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwKQEAg
LTMxLDggKzMxLDggQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsK
IAogICAgIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlw
ZSwgaW4gbG9uZyBsb25nIHNpemUsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEZpbGVTeXN0
ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBGaWxlU3lzdGVtQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjayk7CiAgICAgdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0
cmluZyB1cmwsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgICAgICAgICAgaW4gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsCmlu
ZGV4IDYzYjQyN2EuLmZiMDQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbApAQCAtMzUsNyArMzUsNyBAQAogICAgIEpT
Tm9TdGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERpcmVjdG9yeUVudHJ5IDogRW50cnkgewogICAg
IERpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKLSAgICB2b2lkIGdldEZpbGUoaW4gW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBvcHRpb25zLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBD
YWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGdldERpcmVj
dG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9wdGlvbnMsIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZv
aWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOworICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0
aW9uYXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lk
IGdldERpcmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRB
cz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9w
dGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92ZVJl
Y3Vyc2l2ZWx5KGluIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0g
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsCmluZGV4IGUwNDY3YTku
LjA4NTJiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlSZWFkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlSZWFkZXIuaWRsCkBAIC0zMyw1ICszMyw1IEBACiAgICAgSlNOb1N0YXRpY1Rh
YmxlcywKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBEaXJlY3Rv
cnlSZWFkZXIgewotICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gW0NhbGxiYWNrXSBFbnRyaWVzQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gRW50cmllc0NhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9FbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRs
CmluZGV4IGM0M2RlZjQuLjkyNTE0MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0VudHJ5LmlkbApAQCAtMzksMTAgKzM5LDEwIEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBmdWxsUGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5
c3RlbSBmaWxlc3lzdGVtOwogCi0gICAgdm9pZCBnZXRNZXRhZGF0YShpbiBbQ2FsbGJhY2tdIE1l
dGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZvaWQgbW92ZVRvKGluIERpcmVjdG9y
eUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxs
YmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGNvcHlUbyhpbiBE
aXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlv
bmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBnZXRN
ZXRhZGF0YShpbiBNZXRhZGF0YUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgbW92ZVRvKGluIERpcmVj
dG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWxd
IEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBjb3B5VG8oaW4gRGlyZWN0b3J5RW50cnkgcGFy
ZW50LCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKICAgICBET01TdHJpbmcgdG9VUkwoKTsKLSAgICB2b2lkIHJlbW92ZShpbiBbQ2FsbGJh
Y2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCBnZXRQYXJlbnQoaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBy
ZW1vdmUoaW4gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0UGFyZW50KGluIFtPcHRpb25h
bF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlRW50cnkuaWRsCmluZGV4IDliYWQ1NTEuLjhjY2I0YzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCkBAIC0zNCw2ICsz
NCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgSlNOb1N0YXRpY1RhYmxlcwog
XSBpbnRlcmZhY2UgRmlsZUVudHJ5IDogRW50cnkgewotICAgIHZvaWQgY3JlYXRlV3JpdGVyKGlu
IFtDYWxsYmFja10gRmlsZVdyaXRlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlv
bmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGZp
bGUoaW4gW0NhbGxiYWNrXSBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgY3Jl
YXRlV3JpdGVyKGluIEZpbGVXcml0ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGZpbGUoaW4gRmls
ZUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsCmluZGV4IDkwY2Y2YTku
LjQ4NmQ4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9X
b3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbApAQCAtMzAsOSArMzAsOSBAQAog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUEVSU0lTVEVOVCA9IDE7CiAKLSAgICB2b2lkIHdlYmtpdFJlcXVlc3RGaWxlU3lz
dGVtKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplLCBpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBGaWxlU3lzdGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQg
d2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4gbG9uZyBs
b25nIHNpemUsIGluIFtPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERPTUZp
bGVTeXN0ZW1TeW5jIHdlYmtpdFJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbiB1bnNpZ25lZCBzaG9y
dCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKLSAgICB2
b2lkIHdlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwgaW4g
W0NhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHdlYmtpdFJl
c29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwgaW4gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKICAgICBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNVUkwo
aW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKIAogICAgIGF0dHJpYnV0
ZSBGaWxlRXJyb3JDb25zdHJ1Y3RvciBGaWxlRXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCmlu
ZGV4IDVkMzk5YTguLmQxNjkxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCkBAIC0yMSw4ICsy
MSw4IEBACiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogXSBwYXJ0aWFsIGludGVyZmFj
ZSBOYXZpZ2F0b3IgewogICAgIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGluIERpY3Rpb25hcnkg
b3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbQ2FsbGJhY2tdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gW09wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApp
bmRleCBhMGRjMWNlLi42ZGQxNjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMzYsMTggKzM2LDE4
IEBACiAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBFdmVudFRhcmdl
dAogXSBpbnRlcmZhY2UgUlRDUGVlckNvbm5lY3Rpb24gewotICAgIHZvaWQgY3JlYXRlT2ZmZXIo
aW4gW0NhbGxiYWNrXSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2ssIGluIFtDYWxsYmFjayxPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2Fs
bGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFDb25z
dHJhaW50cykKKyAgICB2b2lkIGNyZWF0ZU9mZmVyKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
UlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRGljdGlvbmFy
eSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAg
IHZvaWQgY3JlYXRlQW5zd2VyKGluIFtDYWxsYmFja10gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0g
RGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRlQW5zd2VyKGluIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihpbiBSVENTZXNz
aW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2Fs
bGJhY2spCisgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbiBkZXNjcmlwdGlvbiwgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
UlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24gbG9j
YWxEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAg
ICB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNj
cmlwdGlvbiwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRD
YWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lkIHNl
dFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBm
YWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24gcmVtb3RlRGVzY3JpcHRpb24KICAg
ICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwpAQCAtNzIsNyArNzIsNyBAQAogICAg
IFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgcmVtb3ZlU3RyZWFtKGluIE1lZGlhU3RyZWFtIHN0
cmVhbSkKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICB2b2lkIGdldFN0YXRz
KGluIFtDYWxsYmFja10gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOworICAg
IHZvaWQgZ2V0U3RhdHMoaW4gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOwog
CiAgICAgUlRDRGF0YUNoYW5uZWwgY3JlYXRlRGF0YUNoYW5uZWwoaW4gW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGxhYmVsLCBp
biBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucykKICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmlkbAppbmRleCAxOTRlODliLi4zODcwOGE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAt
NTEsNyArNTEsNyBAQAogCiAjaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5B
QkxFX05PVElGSUNBVElPTlMKICAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBET01TdHJpbmcgcGVybWlzc2lvbjsKLSAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oaW4gW09wdGlvbmFsLCBDYWxsYmFja10gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
IGNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGlj
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oaW4gW09wdGlvbmFsXSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgY2FsbGJhY2spOwogI2VuZGlmCiAKICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0
ZW5lciBvbnNob3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IGFlMWE1NTguLjJhN2QzOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCkBAIC0zNyw2ICszNyw2IEBACiAgICBOb3RpZmljYXRp
b24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcg
dGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgaW50
IGNoZWNrUGVybWlzc2lvbigpOwotICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsCmluZGV4IDM4ZjdiOTMu
LmI2OWQzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZUluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8u
aWRsCkBAIC0zMSw2ICszMSw2IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVNUE9SQVJZ
ID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKIAotICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShp
biB1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3Rv
cmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0g
U3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0
b3JhZ2VUeXBlLCBpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBxdWVyeVVzYWdlQW5k
UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIFtPcHRpb25hbF0gU3RvcmFn
ZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGlu
IHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtPcHRpb25hbF0gU3RvcmFn
ZVF1b3RhQ2FsbGJhY2sgcXVvdGFDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VRdW90YS5pZGwKaW5kZXggNDM2NGY1Yi4uNGE2NGY5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbApAQCAtMjgsNiArMjgsNiBA
QAogICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBd
IGludGVyZmFjZSBTdG9yYWdlUXVvdGEgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiBbQ2FsbGJhY2tdIFN0b3JhZ2VVc2Fn
ZUNhbGxiYWNrIHVzYWdlQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVv
dGFJbkJ5dGVzLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBx
dW90YUNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
dm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoaW4gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxs
YmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEo
aW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5CeXRlcywgaW4gW09wdGlvbmFsXSBTdG9y
YWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAppbmRleCA0ZjE5YjQ4Li43NDFhNTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBA
IC01MSw3ICs1MSw3IEBACiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgLy8g
QXN5bmNocm9ub3VzIGF1ZGlvIGZpbGUgZGF0YSBkZWNvZGluZy4KLSAgICB2b2lkIGRlY29kZUF1
ZGlvRGF0YShpbiBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIFtDYWxsYmFja10gQXVkaW9CdWZm
ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEF1ZGlv
QnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKKyAgICB2b2lkIGRlY29kZUF1ZGlvRGF0YShp
biBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykK
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBTb3VyY2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFi
YXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2Vi
RGF0YWJhc2UuaWRsCmluZGV4IDFmMzFlMWQuLjA3NDVhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2Uu
aWRsCkBAIC0yNyw3ICsyNyw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAog
XSBwYXJ0aWFsIGludGVyZmFjZSBET01XaW5kb3cgewotICAgIERhdGFiYXNlIG9wZW5EYXRhYmFz
ZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBk
aXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJh
c2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwg
aW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUs
IGluIFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8ICFM
QU5HVUFHRV9DUFAKICAgICBhdHRyaWJ1dGUgU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FMRXhj
ZXB0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmlkbAppbmRleCA1ZjY0ODk3Li4zZWZlMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbApAQCAtMzIsOCArMzIsOCBAQAogICAgIEpTTm9T
dGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERhdGFiYXNlIHsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHZlcnNpb247Ci0gICAgdm9pZCBjaGFuZ2VWZXJzaW9uKGluIERPTVN0cmlu
ZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW0NhbGxiYWNrLCBPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZvaWQg
dHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjayk7Ci0gICAgdm9pZCByZWFkVHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CisgICAgdm9pZCBjaGFuZ2VWZXJzaW9u
KGluIERPTVN0cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW09w
dGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFNR
TFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFZv
aWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgdHJhbnNhY3Rpb24oaW4gU1FM
VHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTUUxUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBWb2lkQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB2b2lkIHJlYWRUcmFuc2FjdGlvbihpbiBTUUxUcmFuc2Fj
dGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVN5bmMuaWRsCmluZGV4IDEzMDFlYWIuLjNiNGZlYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwKQEAg
LTM1LDggKzM1LDggQEAKIF0gaW50ZXJmYWNlIERhdGFiYXNlU3luYyB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgbGFzdEVycm9yTWVzc2FnZTsKLSAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3Ry
aW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4
Y2VwdGlvbik7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0
aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lk
IHJlYWRUcmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNr
IGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIGNoYW5nZVZlcnNpb24o
aW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbT3B0
aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyAgICB2b2lkIHRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIHJlYWRUcmFuc2Fj
dGlvbihpbiBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCmluZGV4IGE1N2RmMTYuLjUzYTkzMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
aWRsCkBAIC0zNCw2ICszNCw2IEBACiBdIGludGVyZmFjZSBTUUxUcmFuc2FjdGlvbiB7CiAgICAg
W0N1c3RvbV0gdm9pZCBleGVjdXRlU3FsKGluIERPTVN0cmluZyBzcWxTdGF0ZW1lbnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIE9iamVjdEFycmF5IGFyZ3VtZW50cywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3RhdGVt
ZW50Q2FsbGJhY2sgY2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gU1FMU3RhdGVt
ZW50Q2FsbGJhY2sgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbF0gU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dvcmtlckNvbnRl
eHRXZWJEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dv
cmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKaW5kZXggNWExZTVlOS4uZDhiOWRjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2Vi
RGF0YWJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29y
a2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbApAQCAtMjcsMTAgKzI3LDEwIEBACiBbCiAgICAgQ29u
ZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJDb250ZXh0
IHsKLSAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0
cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcg
ZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBj
cmVhdGlvbkNhbGxiYWNrKQorICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShpbiBET01TdHJpbmcg
bmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4g
dW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJh
Y2sgY3JlYXRpb25DYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAg
ICBEYXRhYmFzZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9N
U3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9u
ZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNr
IGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJhc2VTeW5jIG9wZW5EYXRhYmFzZVN5bmMoaW4g
RE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxh
eU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRh
YmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yLnBtCmluZGV4IDI5MmRmNjQuLjRhMDVjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTYsNiArNiw3IEBACiAjIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1j
Yy5pZC5hdT4KICMgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEw
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDI1LDYg
KzQyNiwxMCBAQCBzdWIgSXNSZWZQdHJUeXBlCiAgICAgcmV0dXJuIDAgaWYgJG9iamVjdC0+R2V0
QXJyYXlUeXBlKCR0eXBlKTsKICAgICByZXR1cm4gMCBpZiAkb2JqZWN0LT5HZXRTZXF1ZW5jZVR5
cGUoJHR5cGUpOwogICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJET01TdHJpbmciOworICAgIHJl
dHVybiAwIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsKKyAgICByZXR1cm4gMCBpZiAkdHlwZSBl
cSAiRGljdGlvbmFyeSI7CisgICAgcmV0dXJuIDAgaWYgJHR5cGUgZXEgIkFycmF5IjsKKyAgICBy
ZXR1cm4gMCBpZiAkdHlwZSBlcSAiYW55IjsKICAgICByZXR1cm4gMCBpZiAkb2JqZWN0LT5Jc0Vu
dW1UeXBlKCR0eXBlKTsKIAogICAgIHJldHVybiAxOwpAQCAtNjY1LDYgKzY3MCwyNSBAQCBzdWIg
U2V0dGVyRXhwcmVzc2lvbgogICAgIHJldHVybiAoJGZ1bmN0aW9uTmFtZSwgJGNvbnRlbnRBdHRy
aWJ1dGVOYW1lKTsKIH0KIAorc3ViIElzQ2FsbGJhY2tJbnRlcmZhY2UKK3sKKyAgbXkgJG9iamVj
dCA9IHNoaWZ0OworICBteSAkdHlwZSA9IHNoaWZ0OworCisgIHJldHVybiAwIHVubGVzcyAkb2Jq
ZWN0LT5Jc1JlZlB0clR5cGUoJHR5cGUpOworICByZXR1cm4gMCBpZiAkdHlwZSBlcSAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlIjsKKworICBteSAkaWRsRmlsZSA9ICRvYmplY3QtPklETEZpbGVGb3JJ
bnRlcmZhY2UoJHR5cGUpCisgICAgICBvciBkaWUoIkNvdWxkIE5PVCBmaW5kIElETCBmaWxlIGZv
ciBpbnRlcmZhY2UgXCIkdHlwZVwiIVxuIik7CisKKyAgb3BlbiBGSUxFLCAiPCIsICRpZGxGaWxl
OworICBteSBAbGluZXMgPSA8RklMRT47CisgIGNsb3NlIEZJTEU7CisKKyAgbXkgJGZpbGVDb250
ZW50cyA9IGpvaW4oJycsIEBsaW5lcyk7CisgIHJldHVybiAoJGZpbGVDb250ZW50cyA9fiAvY2Fs
bGJhY2tccytpbnRlcmZhY2VccysoXHcrKS9ncyk7Cit9CisKIHN1YiBHZW5lcmF0ZUNvbmRpdGlv
bmFsU3RyaW5nCiB7CiAgICAgbXkgJGdlbmVyYXRvciA9IHNoaWZ0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KaW5k
ZXggNjljMGRiMS4uMDJjMmQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCkBAIC0yOTMsMTIgKzI5MywxMiBA
QCBzdWIgU2tpcEZ1bmN0aW9uIHsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCi0gICAgIyBT
a2lwIGZ1bmN0aW9ucyB0aGF0IGhhdmUgWyJDYWxsYmFjayJdIHBhcmFtZXRlcnMsIGJlY2F1c2Ug
dGhpcworICAgICMgU2tpcCBmdW5jdGlvbnMgdGhhdCBoYXZlIGNhbGxiYWNrIHBhcmFtZXRlcnMs
IGJlY2F1c2UgdGhpcwogICAgICMgY29kZSBnZW5lcmF0b3IgZG9lc24ndCBrbm93IGhvdyB0byBh
dXRvLWdlbmVyYXRlIGNhbGxiYWNrcy4KICAgICAjIFNraXAgZnVuY3Rpb25zIHRoYXQgaGF2ZSAi
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIgb3Igc2VxdWVuY2U8VD4gcGFyYW1ldGVycywgYmVjYXVz
ZSB0aGlzCiAgICAgIyBjb2RlIGdlbmVyYXRvciBkb2Vzbid0IGtub3cgaG93IHRvIGF1dG8tZ2Vu
ZXJhdGUgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBvciBzZXF1ZW5jZTxUPi4KICAgICBmb3JlYWNo
IG15ICRwYXJhbSAoQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9KSB7Ci0gICAgICAgIGlmICgkcGFy
YW0tPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFjayJ9IHx8CisgICAgICAgIGlmICgkY29k
ZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgkcGFyYW0tPnR5cGUpIHx8CiAgICAgICAg
ICAgICAkcGFyYW0tPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDbGFtcCJ9IHx8CiAgICAgICAgICAg
ICAkcGFyYW0tPnR5cGUgZXEgIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiIHx8CiAgICAgICAgICAg
ICAkY29kZUdlbmVyYXRvci0+R2V0U2VxdWVuY2VUeXBlKCRwYXJhbS0+dHlwZSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggOTcxYmZkNS4uNWZkMGY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTEwLDYgKzEwLDcgQEAKICMgQ29weXJpZ2h0
IChDKSAyMDExIFBhdHJpY2sgR2Fuc3RlcmVyIDxwYXJvZ2FAd2Via2l0Lm9yZz4KICMgQ29weXJp
Z2h0IChDKSAyMDEyIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmln
aHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgR29vZ2xlIEluYy4KKyMgQ29weXJpZ2h0IChD
KSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTEyOTMsNyArMTI5NCw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVj
a0V4cHJlc3Npb24KICAgICAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFs
dWV9LmlzVW5kZWZpbmVkT3JOdWxsKCkgfHwgJHt2YWx1ZX0uaXNTdHJpbmcoKSB8fCAke3ZhbHVl
fS5pc09iamVjdCgpKSIpOwogICAgICAgICAgICAgICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0
ZXJJbmRleH0gPSAxOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVy
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgeworICAgICAgICB9IGVsc2lmICgk
Y29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgkcGFyYW1ldGVyLT50eXBlKSkgewog
ICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9ubHkgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBu
dWxsIG9yIG9iamVjdC4KICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1
ZX0uaXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNGdW5jdGlvbigpKSIpOwogICAgICAgICAgICAgJHVz
ZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CkBAIC0yODk4LDcgKzI4OTksNyBAQCBz
dWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgIyBPcHRpb25hbCBhcmd1bWVudHMg
d2l0aCBbT3B0aW9uYWw9Li4uXSBzaG91bGQgbm90IGdlbmVyYXRlIHRoZSBlYXJseSBjYWxsLgog
ICAgICAgICAjIE9wdGlvbmFsIERpY3Rpb25hcnkgYXJndW1lbnRzIGFsd2F5cyBjb25zaWRlcmVk
IHRvIGhhdmUgZGVmYXVsdCBvZiBlbXB0eSBkaWN0aW9uYXJ5LgogICAgICAgICBteSAkb3B0aW9u
YWwgPSAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT3B0aW9uYWwifTsKLSAgICAg
ICAgaWYgKCRvcHRpb25hbCAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc1VuZGVmaW5lZCIgJiYg
JG9wdGlvbmFsIG5lICJEZWZhdWx0SXNOdWxsU3RyaW5nIiAmJiAkYXJnVHlwZSBuZSAiRGljdGlv
bmFyeSIgJiYgISRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFjayJ9KSB7
CisgICAgICAgIGlmICgkb3B0aW9uYWwgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNVbmRlZmlu
ZWQiICYmICRvcHRpb25hbCBuZSAiRGVmYXVsdElzTnVsbFN0cmluZyIgJiYgJGFyZ1R5cGUgbmUg
IkRpY3Rpb25hcnkiICYmICEkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgkcGFy
YW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgIyBHZW5lcmF0ZSBlYXJseSBjYWxsIGlmIHRo
ZXJlIGFyZSBlbm91Z2ggcGFyYW1ldGVycy4KICAgICAgICAgICAgIGlmICghJGhhc09wdGlvbmFs
QXJndW1lbnRzKSB7CiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiXG4gICAg
c2l6ZV90IGFyZ3NDb3VudCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTtcbiIpOwpAQCAtMjkyNiw3
ICsyOTI3LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAg
IHJlc29sdmVyID0gY3VzdG9tUmVzb2x2ZXIuZ2V0KCk7XG4iKTsKICAgICAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKTsKLSAgICAgICAgfSBlbHNpZiAoJHBhcmFtZXRlci0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgfSBlbHNpZiAoJGNv
ZGVHZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFtZXRlci0+dHlwZSkpIHsKICAg
ICAgICAgICAgIG15ICRjYWxsYmFja0NsYXNzTmFtZSA9IEdldENhbGxiYWNrQ2xhc3NOYW1lKCRh
cmdUeXBlKTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiRjYWxsYmFja0NsYXNzTmFtZS5o
In0gPSAxOwogICAgICAgICAgICAgaWYgKCRvcHRpb25hbCkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggMzJjODkwOS4uZDI0
ZjU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRy
aWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0CkBAIC0yMiw3ICsyMiw2IEBAIEFjdGl2ZURPTU9iamVjdAogQ1BQUHVyZUludGVy
ZmFjZQogQ2FjaGVkQXR0cmlidXRlCiBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0fFNj
cmlwdFN0YXRlfFNjcmlwdEFyZ3VtZW50c3xDYWxsU3RhY2sKLUNhbGxiYWNrCiBDaGVja1NlY3Vy
aXR5CiBDaGVja1NlY3VyaXR5Rm9yTm9kZQogQ2xhbXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwCmluZGV4
IGQ2NTEwMTAuLmQwZmRlNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmgiCiAjaW5jbHVkZSAiVGVzdEVudW1UeXBlLmgiCisjaW5jbHVkZSAiVGVzdE5vZGUuaCIKICNp
bmNsdWRlICJXZWJET01EaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiV2ViRE9NRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCkBAIC0zNiwxOSArMzcsMTIgQEAKICNpbmNsdWRlICJX
ZWJET01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUgIldl
YkRPTVRlc3RFbnVtVHlwZS5oIgorI2luY2x1ZGUgIldlYkRPTVRlc3ROb2RlLmgiCiAjaW5jbHVk
ZSAiV2ViRE9NVGVzdE9iai5oIgotI2luY2x1ZGUgIldlYkRPTWEuaCIKLSNpbmNsdWRlICJXZWJE
T01iLmgiCiAjaW5jbHVkZSAiV2ViRE9NYm9vbC5oIgotI2luY2x1ZGUgIldlYkRPTWQuaCIKLSNp
bmNsdWRlICJXZWJET01lLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgogI2lu
Y2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIuaCIKLSNpbmNsdWRlICJhLmgiCi0jaW5jbHVk
ZSAiYi5oIgogI2luY2x1ZGUgImJvb2wuaCIKLSNpbmNsdWRlICJkLmgiCi0jaW5jbHVkZSAiZS5o
IgogI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC05NzIsNyArOTY2LDcgQEAgdm9pZCBX
ZWJET01UZXN0T2JqOjpvdmVybG9hZGVkTWV0aG9kMShjb25zdCBXZWJET01TdHJpbmcmIHR5cGUp
CiAKICNlbmRpZgogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQxKGNvbnN0IFdlYkRPTWEm
IHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0MShjb25zdCBXZWJET01UZXN0Tm9k
ZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk4MCw3
ICs5NzQsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZh
bHVlKQogICAgIGltcGwoKS0+Y29udmVydDEodG9XZWJDb3JlKHZhbHVlKSk7CiB9CiAKLXZvaWQg
V2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFsdWUpCit2b2lkIFdlYkRP
TVRlc3RPYmo6OmNvbnZlcnQyKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBp
ZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTg4LDcgKzk4Miw3IEBAIHZvaWQgV2Vi
RE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFsdWUpCiAgICAgaW1wbCgpLT5j
b252ZXJ0Mih0b1dlYkNvcmUodmFsdWUpKTsKIH0KIAotdm9pZCBXZWJET01UZXN0T2JqOjpjb252
ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKK3ZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDQo
Y29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKQogewogICAgIGlmICghaW1wbCgpKQogICAgICAg
ICByZXR1cm47CkBAIC05OTYsNyArOTkwLDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0
NChjb25zdCBXZWJET01kJiB2YWx1ZSkKICAgICBpbXBsKCktPmNvbnZlcnQ0KHRvV2ViQ29yZSh2
YWx1ZSkpOwogfQogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ1KGNvbnN0IFdlYkRPTWUm
IHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NShjb25zdCBXZWJET01UZXN0Tm9k
ZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9i
ai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
T2JqLmgKaW5kZXggYzFjMTdkMi4uYmJkMWRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgKQEAgLTM4LDEy
ICszOCw5IEBAIGNsYXNzIFdlYkRPTU9iamVjdDsKIGNsYXNzIFdlYkRPTVNWR1BvaW50OwogY2xh
c3MgV2ViRE9NU3RyaW5nOwogY2xhc3MgV2ViRE9NVGVzdEVudW1UeXBlOworY2xhc3MgV2ViRE9N
VGVzdE5vZGU7CiBjbGFzcyBXZWJET01UZXN0T2JqOwotY2xhc3MgV2ViRE9NYTsKLWNsYXNzIFdl
YkRPTWI7CiBjbGFzcyBXZWJET01ib29sOwotY2xhc3MgV2ViRE9NZDsKLWNsYXNzIFdlYkRPTWU7
CiAKIGNsYXNzIFdlYkRPTVRlc3RPYmogOiBwdWJsaWMgV2ViRE9NT2JqZWN0IHsKIHB1YmxpYzoK
QEAgLTE5MSwxMCArMTg4LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAg
ICB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKGNvbnN0IFdlYkRPTVN0cmluZyYgdHlwZSk7CiAjZW5k
aWYKLSAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVlKTsKLSAgICB2b2lkIGNv
bnZlcnQyKGNvbnN0IFdlYkRPTWImIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQ0KGNvbnN0IFdl
YkRPTWQmIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQ1KGNvbnN0IFdlYkRPTWUmIHZhbHVlKTsK
KyAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSk7CisgICAgdm9p
ZCBjb252ZXJ0Mihjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpOworICAgIHZvaWQgY29udmVy
dDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQ1KGNvbnN0
IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSk7CiAgICAgV2ViRE9NU1ZHUG9pbnQgbXV0YWJsZVBvaW50
RnVuY3Rpb24oKTsKICAgICBXZWJET01TVkdQb2ludCBpbW11dGFibGVQb2ludEZ1bmN0aW9uKCk7
CiAgICAgdm9pZCBiYW5hbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5k
ZXggOTAyNjY1Mi4uMjNkYTQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAK
QEAgLTMzLDEyICszMyw5IEBACiAjaW5jbHVkZSAiV2ViS2l0RE9NU1ZHUG9pbnRQcml2YXRlLmgi
CiAjaW5jbHVkZSAiV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYktpdERPTVRlc3RFbnVtVHlwZVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRE
T01UZXN0Tm9kZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01UZXN0T2JqUHJpdmF0ZS5o
IgotI2luY2x1ZGUgIldlYktpdERPTWFQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NYlBy
aXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01ib29sUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldl
YktpdERPTWRQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NZVByaXZhdGUuaCIKICNpbmNs
dWRlICJnb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTM4MCw0NiArMTM3Nyw0NiBAQCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBjb25zdCBnY2hhciogdHlwZQogfQogCiB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZl
cnQxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWEqIHZhbHVlKQord2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0
Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7Ci0g
ICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0EodmFsdWUpKTsKKyAgICBnX3JldHVy
bl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RFKHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6
VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAgICBXZWJDb3JlOjphKiBjb252
ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CisgICAgV2ViQ29yZTo6VGVzdE5vZGUq
IGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKICAgICBpdGVtLT5jb252ZXJ0
MShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVy
dDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NYiogdmFsdWUpCit3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RO
b2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfQih2YWx1ZSkpOworICAgIGdfcmV0dXJu
X2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05PREUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpU
ZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIFdlYkNvcmU6OmIqIGNvbnZl
cnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSog
Y29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQy
KGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0
NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01kKiB2YWx1ZSkKK3dlYmtpdF9kb21f
dGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5v
ZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
ICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwotICAg
IGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19EKHZhbHVlKSk7CisgICAgZ19yZXR1cm5f
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERSh2YWx1ZSkpOwogICAgIFdlYkNvcmU6OlRl
c3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgV2ViQ29yZTo6ZCogY29udmVy
dGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOworICAgIFdlYkNvcmU6OlRlc3ROb2RlKiBj
b252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CiAgICAgaXRlbS0+Y29udmVydDQo
Y29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWUqIHZhbHVlKQord2Via2l0X2RvbV90
ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9k
ZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0UodmFsdWUpKTsKKyAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RFKHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVz
dE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAgICBXZWJDb3JlOjplKiBjb252ZXJ0
ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNv
bnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKICAgICBpdGVtLT5jb252ZXJ0NShj
b252ZXJ0ZWRWYWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCBh
ZjUzNmIwLi43Yzk5MmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCkBAIC00MDQs
NDYgKzQwNCw0NiBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJL
aXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlwZQogLyoqCiAgKiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQxOgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2
YWx1ZTogQSAjV2ViS2l0RE9NYQorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoK
ICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9v
YmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NYSogdmFsdWUpOwor
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDI6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJL
aXRET01iCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoK
ICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01iKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2Rl
KiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NDoKICAqIEBz
ZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWQKKyAqIEB2
YWx1ZTogQSAjV2ViS2l0RE9NVGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VC
S0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIFdlYktpdERPTWQqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVy
dDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAog
LyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1OgogICogQHNlbGY6IEEgI1dlYktp
dERPTVRlc3RPYmoKLSAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NZQorICogQHZhbHVlOiBBICNXZWJL
aXRET01UZXN0Tm9kZQogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NZSogdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtp
dF9kb21fdGVzdF9vYmpfbXV0YWJsZV9wb2ludF9mdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggZTEw
Mzk3NC4uM2MzYmI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTM3LDEzICszNywxMCBAQAogI2luY2x1ZGUg
IkpTU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJKU1NjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJK
U1Rlc3RDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTVGVzdE5vZGUuaCIKICNpbmNsdWRlICJKU1Rl
c3RPYmouaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIKLSNpbmNsdWRlICJKU2EuaCIKLSNp
bmNsdWRlICJKU2IuaCIKICNpbmNsdWRlICJKU2Jvb2wuaCIKLSNpbmNsdWRlICJKU2QuaCIKLSNp
bmNsdWRlICJKU2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKQEAgLTI3ODAsNyArMjc3
Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0MShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRp
Y19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1
bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0
ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBhKiB2YWx1ZSh0b2EoZXhlYy0+
YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1
bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0MSh2YWx1
ZSk7CkBAIC0yNzk3LDcgKzI3OTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDIoRXhlY1N0YXRlKiBleGVjKQogICAgIFRl
c3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsK
ICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAg
YiogdmFsdWUodG9iKGV4ZWMtPmFyZ3VtZW50KDApKSk7CisgICAgVGVzdE5vZGUqIHZhbHVlKHRv
VGVzdE5vZGUoZXhlYy0+YXJndW1lbnQoMCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAg
aW1wbC0+Y29udmVydDIodmFsdWUpOwpAQCAtMjgxNCw3ICsyODExLDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KEV4ZWNT
dGF0ZSogZXhlYykKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNh
c3RlZFRoaXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAg
ICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoZXhlYykpOwotICAgIGQqIHZhbHVlKHRvZChleGVjLT5hcmd1bWVudCgwKSkpOworICAg
IFRlc3ROb2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwogICAgIGltcGwtPmNvbnZlcnQ0KHZhbHVlKTsKQEAgLTI4MzEsNyArMjgy
OCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0NShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRp
Y19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1
bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0
ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBlKiB2YWx1ZSh0b2UoZXhlYy0+
YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1
bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0NSh2YWx1
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLmgKaW5kZXggNzE1MDA2MS4uN2E2MzA5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAt
MzQsMTYgKzM0LDEzIEBACiBAY2xhc3MgRE9NU1ZHRG9jdW1lbnQ7CiBAY2xhc3MgRE9NU1ZHUG9p
bnQ7CiBAY2xhc3MgRE9NVGVzdEVudW1UeXBlOworQGNsYXNzIERPTVRlc3ROb2RlOwogQGNsYXNz
IERPTVRlc3RPYmo7CiBAY2xhc3MgRE9NVGVzdE9iamVjdEFDb25zdHJ1Y3RvcjsKIEBjbGFzcyBE
T01UZXN0T2JqZWN0QkNvbnN0cnVjdG9yOwogQGNsYXNzIERPTVRlc3RPYmplY3RDQ29uc3RydWN0
b3I7Ci1AY2xhc3MgRE9NYTsKIEBjbGFzcyBET01hbnk7Ci1AY2xhc3MgRE9NYjsKIEBjbGFzcyBE
T01ib29sOwotQGNsYXNzIERPTWQ7Ci1AY2xhc3MgRE9NZTsKIEBjbGFzcyBOU1N0cmluZzsKIEBw
cm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCkBAIC0xNzIsMTAgKzE2OSwxMCBAQCBlbnVtIHsK
IC0gKHZvaWQpb3ZlcmxvYWRlZE1ldGhvZDE6KE5TU3RyaW5nICopdHlwZTsKICNlbmRpZgogLSAo
RE9NU1ZHRG9jdW1lbnQgKilnZXRTVkdEb2N1bWVudDsKLS0gKHZvaWQpY29udmVydDE6KERPTWEg
Kil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDI6KERPTWIgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVy
dDQ6KERPTWQgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDU6KERPTWUgKil2YWx1ZTsKKy0gKHZv
aWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFsdWU7CistICh2b2lkKWNvbnZlcnQyOihET01U
ZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NDooRE9NVGVzdE5vZGUgKil2YWx1ZTsK
Ky0gKHZvaWQpY29udmVydDU6KERPTVRlc3ROb2RlICopdmFsdWU7CiAtIChET01TVkdQb2ludCAq
KW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAoRE9NU1ZHUG9pbnQgKilpbW11dGFibGVQb2ludEZ1
bmN0aW9uOwogLSAodm9pZClvcmFuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCAzZGExNDkwLi44OTk2
ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTQwLDE2ICs0MCwxMyBAQAogI2ltcG9ydCAiRE9NU1ZH
UG9pbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU3R5bGVTaGVldEludGVybmFsLmgiCiAjaW1w
b3J0ICJET01UZXN0RW51bVR5cGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NVGVzdE5vZGVJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iakludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0
T2JqZWN0QUNvbnN0cnVjdG9ySW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RPYmplY3RCQ29u
c3RydWN0b3JJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iamVjdENDb25zdHJ1Y3Rvcklu
dGVybmFsLmgiCi0jaW1wb3J0ICJET01hSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTWFueUludGVy
bmFsLmgiCi0jaW1wb3J0ICJET01iSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTWJvb2xJbnRlcm5h
bC5oIgotI2ltcG9ydCAiRE9NZEludGVybmFsLmgiCi0jaW1wb3J0ICJET01lSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRpY3Rpb25hcnkuaCIKICNpbXBvcnQgIkRvY3VtZW50LmgiCiAjaW1wb3J0ICJF
dmVudExpc3RlbmVyLmgiCkBAIC02Myw2ICs2MCw3IEBACiAjaW1wb3J0ICJTVkdTdGF0aWNQcm9w
ZXJ0eVRlYXJPZmYuaCIKICNpbXBvcnQgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2ltcG9y
dCAiVGVzdEVudW1UeXBlLmgiCisjaW1wb3J0ICJUZXN0Tm9kZS5oIgogI2ltcG9ydCAiVGVzdE9i
ai5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEFDb25zdHJ1Y3Rvci5oIgogI2ltcG9ydCAiVGVzdE9i
amVjdEJDb25zdHJ1Y3Rvci5oIgpAQCAtNzAsMTIgKzY4LDggQEAKICNpbXBvcnQgIlRocmVhZENo
ZWNrLmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5oIgogI2ltcG9ydCAiV2ViU2NyaXB0
T2JqZWN0UHJpdmF0ZS5oIgotI2ltcG9ydCAiYS5oIgogI2ltcG9ydCAiYW55LmgiCi0jaW1wb3J0
ICJiLmgiCiAjaW1wb3J0ICJib29sLmgiCi0jaW1wb3J0ICJkLmgiCi0jaW1wb3J0ICJlLmgiCiAj
aW1wb3J0IDx3dGYvR2V0UHRyLmg+CiAKICNkZWZpbmUgSU1QTCByZWludGVycHJldF9jYXN0PFdl
YkNvcmU6OlRlc3RPYmoqPihfaW50ZXJuYWwpCkBAIC0xMDQxLDI1ICsxMDM1LDI1IEBACiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotLSAodm9pZCljb252ZXJ0MTooRE9NYSAqKXZhbHVlCistICh2
b2lkKWNvbnZlcnQxOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQxKGNvcmUodmFsdWUpKTsK
IH0KIAotLSAodm9pZCljb252ZXJ0MjooRE9NYiAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQyOihE
T01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQyKGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZClj
b252ZXJ0NDooRE9NZCAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQ0OihET01UZXN0Tm9kZSAqKXZh
bHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElN
UEwtPmNvbnZlcnQ0KGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0NTooRE9NZSAq
KXZhbHVlCistICh2b2lkKWNvbnZlcnQ1OihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQ1KGNv
cmUodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0T2JqLmlkbAppbmRleCA5NTg3OTU0Li45NTllYTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0zMyw3ICszMyw3IEBACiBl
bnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1W
YWx1ZTMiIH07CiAKIFsKLSAgICBDb25zdHJ1Y3RvcihpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFj
ayB0ZXN0Q2FsbGJhY2spLAorICAgIENvbnN0cnVjdG9yKGluIFRlc3RDYWxsYmFjayB0ZXN0Q2Fs
bGJhY2spLAogICAgIEludGVyZmFjZU5hbWU9VGVzdE9iamVjdAogXSBpbnRlcmZhY2UgVGVzdE9i
aiB7CiAgICAgLy8gQXR0cmlidXRlcwpAQCAtMTQzLDEyICsxNDMsMTIgQEAgZW51bSBUZXN0RW51
bVR5cGUgeyAiIiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9Owog
CiAjaWYgZGVmaW5lZChURVNUSU5HX0pTKQogICAgIC8vICdDYWxsYmFjaycgZXh0ZW5kZWQgYXR0
cmlidXRlCi0gICAgdm9pZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBcmcoaW4gW0NhbGxiYWNrXSBU
ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNr
QXJnQW5kQ2FsbGJhY2tBcmcoaW4gbG9uZyBub25DYWxsYmFjaywgaW4gW0NhbGxiYWNrXSBUZXN0
Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0
aW9uYWxBcmcoaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsK
KyAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBUZXN0Q2FsbGJhY2sgY2FsbGJh
Y2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmco
aW4gbG9uZyBub25DYWxsYmFjaywgaW4gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lk
ICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKGluIFtPcHRpb25hbF0gVGVzdENh
bGxiYWNrIGNhbGxiYWNrKTsKICAgICAvLyBzdGF0aWMgbWV0aG9kcyB3aXRoICdDYWxsYmFjaycg
ZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENh
bGxiYWNrQW5kT3B0aW9uYWxBcmcoaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVGVzdENhbGxiYWNr
IGNhbGxiYWNrKTsKLSAgICBzdGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tB
cmcoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHN0YXRpYyB2b2lk
ICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKGluIFtPcHRpb25hbF0g
VGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBzdGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RX
aXRoQ2FsbGJhY2tBcmcoaW4gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKICNlbmRpZgogCiAgICAg
Ly8gJ0NvbmRpdGlvbmFsJyBleHRlbmRlZCBhdHRyaWJ1dGUKQEAgLTE4MCw3ICsxODAsNyBAQCBl
bnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1W
YWx1ZTMiIH07CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFRlc3RPYmo/IG9iakFy
ZywgaW4gW09wdGlvbmFsXSBsb25nIGxvbmdBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1l
dGhvZChpbiBbU3RyaWN0VHlwZUNoZWNraW5nXSBET01TdHJpbmcgc3RyQXJnKTsKICAgICB2b2lk
ICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gbG9uZyBsb25nQXJnKTsKLSAgICB2b2lkICAgIG92ZXJs
b2FkZWRNZXRob2QoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZv
aWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIHZv
aWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01TdHJpbmdMaXN0PyBsaXN0QXJnKTsKICAgICB2
b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gRE9NU3RyaW5nW10/IGFycmF5QXJnKTsKICAgICB2
b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gVGVzdE9iaiBvYmpBcmcpOwpAQCAtMjEwLDEwICsy
MTAsMTAgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAiIiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVl
MiIsICJFbnVtVmFsdWUzIiB9OwogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gU1ZHRG9jdW1l
bnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAg
IHZvaWQgY29udmVydDEoaW4gW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gYSB2YWx1
ZSk7Ci0gICAgdm9pZCBjb252ZXJ0MihpbiBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1VbmRl
ZmluZWRdIGIgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDQoaW4gW1RyZWF0TnVsbEFzPU51bGxT
dHJpbmddIGQgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDUoaW4gW1RyZWF0TnVsbEFzPU51bGxT
dHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gZSB2YWx1ZSk7CisgICAgdm9pZCBj
b252ZXJ0MShpbiBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBUZXN0Tm9kZSB2YWx1
ZSk7CisgICAgdm9pZCBjb252ZXJ0MihpbiBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1VbmRl
ZmluZWRdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQ0KGluIFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nXSBUZXN0Tm9kZSB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0NShpbiBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBUZXN0Tm9k
ZSB2YWx1ZSk7CiAKICAgICBhdHRyaWJ1dGUgU1ZHUG9pbnQgbXV0YWJsZVBvaW50OwogICAgIFtJ
bW11dGFibGVdIGF0dHJpYnV0ZSBTVkdQb2ludCBpbW11dGFibGVQb2ludDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKaW5k
ZXggNzg1MTA4OS4uYmZmMzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKQEAgLTc0LDcgKzc0LDcgQEAgdHlwZWRl
ZiBTVkdQb2ludCAgICAgICAgICAgICAgICAgICBTVkdQT0lOVDsKIHR5cGVkZWYgRE9NU3RyaW5n
ICAgICAgICAgICAgICAgICAgU1RSSU5HOwogdHlwZWRlZiBbT3B0aW9uYWxdIERPTVN0cmluZyAg
ICAgICBPUFRJT05BTF9TVFJJTkc7CiB0eXBlZGVmIERPTVN0cmluZ1tdICAgICAgICAgICAgICAg
IEFSUkFZX09GX1NUUklOR1M7Ci10eXBlZGVmIFtDYWxsYmFja10gVGVzdENhbGxiYWNrICAgIFRF
U1RfQ0FMTEJBQ0s7Cit0eXBlZGVmIFRlc3RDYWxsYmFjayAgICBURVNUX0NBTExCQUNLOwogdHlw
ZWRlZiBUZXN0U3ViT2JqQ29uc3RydWN0b3IgICAgICBUOwogdHlwZWRlZiBBcnJheSAgICAgICAg
ICAgICAgICAgICAgICBBUlJBWTsKIHR5cGVkZWYgRE9NRXhjZXB0aW9uICAgICAgICAgICAgICAg
RTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbAppbmRleCBkYTI5NmU2Li4xOTFjMDRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsCkBAIC00Myw3ICs0Myw3IEBACiAKICAgICBib29sZWFu
IGNoZWNrRm9udChpbiBET01TdHJpbmcgZm9udCwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxT
dHJpbmddIERPTVN0cmluZyB0ZXh0KTsKICAgICB2b2lkIGxvYWRGb250KGluIERpY3Rpb25hcnkg
cGFyYW1zKTsKLSAgICB2b2lkIG5vdGlmeVdoZW5Gb250c1JlYWR5KGluIFtDYWxsYmFja10gVm9p
ZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkIG5vdGlmeVdoZW5Gb250c1JlYWR5KGluIFZv
aWRDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbG9h
ZGluZzsKIAogICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAppbmRleCA3YzMzODkzLi4yMWI1MDk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCkBAIC0zNSw3ICszNSw3
IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBraW5kOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAotICAgIHZvaWQgZ2V0QXNTdHJpbmcoaW4gW0Nh
bGxiYWNrLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gU3RyaW5nQ2FsbGJhY2sgY2FsbGJh
Y2spOworICAgIHZvaWQgZ2V0QXNTdHJpbmcoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOwogICAgIEJsb2IgZ2V0QXNGaWxlKCk7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYTJkOWNhYy4uMjAzMmQ3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk3LDkgKzE5Nyw5IEBACiAgICAgdm9pZCBjbGVh
ckludGVydmFsKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgaGFuZGxlKTsK
IAogI2lmIGRlZmluZWQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAmJiBFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUKLSAgICBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShp
biBbQ2FsbGJhY2tdIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKKyAg
ICBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxs
YmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCBjYW5jZWxBbmltYXRpb25GcmFtZShpbiBsb25nIGlk
KTsKLSAgICBsb25nIHdlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBbQ2FsbGJhY2tdIFJl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBsb25nIHdlYmtpdFJl
cXVlc3RBbmltYXRpb25GcmFtZShpbiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxs
YmFjayk7CiAgICAgW0ltcGxlbWVudGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHZvaWQgd2Vi
a2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7CiAgICAgW0ltcGxlbWVudGVkQXM9
Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHZvaWQgd2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZy
YW1lKGluIGxvbmcgaWQpOyAvLyBUaGlzIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBmb3Igd2Via2l0
Q2FuY2VsQW5pbWF0aW9uRnJhbWUoKS4gUmVtb3ZlIHRoaXMgd2hlbiByZW1vdmluZyB2ZW5kb3Ig
cHJlZml4LgogI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="221356"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199863</attachid>
            <date>2013-04-26 14:52:05 -0700</date>
            <delta_ts>2013-04-26 14:56:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>51969</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li40YzU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgVXNlIFdlYkNvcmUvTW9kdWxlcyBhcyBJREwgaW5jbHVkZSBwYXRo
IGluc3RlYWQgb2YgdXNpbmcgc3ViZGlycy4gVGhlIGdlbmVyYXRvcgorICAgICAgICB3aWxsIHNl
YXJjaCByZWN1cnNpdmVseSBhbnl3YXkgYW5kIHRoZSBsaXN0IG9mIHN1YmRpcnMgd2FzIGluY29t
cGxldGUuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3Rl
bS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9Xb3Jr
ZXJDb250ZXh0RmlsZVN5c3RlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGw6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlU3luYy5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlv
bi5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0
YWJhc2UuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToK
KyAgICAgICAgKElzUmVmUHRyVHlwZSk6CisgICAgICAgIChJc0NhbGxiYWNrSW50ZXJmYWNlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgorICAg
ICAgICAoU2tpcEZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6
CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVy
dDEpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDIpOgorICAgICAgICAoV2ViRE9N
VGVzdE9iajo6Y29udmVydDQpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
OgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MSk6CisgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpf
Y29udmVydDQpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MSk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDQpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RP
YmogY29udmVydDE6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29udmVydDI6XSk6CisgICAg
ICAgICgtW0RPTVRlc3RPYmogY29udmVydDQ6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29u
dmVydDU6XSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsOgorICAgICAg
ICAqIGNzcy9Gb250TG9hZGVyLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEzLTA0LTI2ICBEYWtlciBG
ZXJuYW5kZXMgUGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIENoYW5nZSBSZW5kZXJNZXRlcjo6dmFsdWVSYXRpbygpIHZpc2liaWxpdHkgdG8gcHVibGlj
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZGY3YTMyLi43NDdkNWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk3MCwyMSArOTcwLDcgQEAgcHJlcHJvY2Vz
c19pZGxzX3NjcmlwdCA9IHBlcmwgJChhZGRwcmVmaXggLUkgJChXZWJDb3JlKS8sICQoc29ydCAk
KGRpciAkKDEpKSkpICQKICMgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCiAKIElETF9JTkNMVURFUyA9
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmF0dGVyeSBcCi0JJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9n
ZW9sb2NhdGlvbiBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9uZXR3b3JraW5mbyBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9z
cGVlY2ggXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy92aWJyYXRpb24gXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpbyBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNl
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cyBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3JlKS9kb20gXAogICAg
ICQoV2ViQ29yZSkvZmlsZWFwaSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFjYjk3MDYuLjgw
MjA2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zNjUsMTggKzM2NSw3IEBAIERlcml2ZWRT
b3VyY2VzL0FOR0xFL2dsc2xhbmdfdGFiLmNwcDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL2dsc2xhCiBEZXJpdmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5oOiBEZXJp
dmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5jcHAKIAogSURMX1BBVEggOj0gXAotICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2Ft
ZXBhZCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3Vy
Y2UgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCi0gICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1p
dHkgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmF1ZGlvIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXAotICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMg
XAogICAgICQoV2ViQ29yZSkvYmluZGluZ3MvanMgXAogICAgICQoV2ViQ29yZSkvY3NzIFwKICAg
ICAkKFdlYkNvcmUpL2RvbSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwKaW5kZXggZjlmMjU1NC4uNTZmNTgx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRv
d0ZpbGVTeXN0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
T01XaW5kb3dGaWxlU3lzdGVtLmlkbApAQCAtMzEsOCArMzEsOCBAQAogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCiAgICAgdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5
c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwKLSAgICAgICAg
ICAgIGluIFtDYWxsYmFja10gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIGluIEZpbGVTeXN0ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIHdlYmtpdFJlc29sdmVM
b2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwKLSAgICAgICAgICAgIGluIFtDYWxs
YmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBFbnRyeUNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKaW5kZXggNjNiNDI3YS4uZmIwNDIwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRs
CkBAIC0zNSw3ICszNSw3IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZhY2UgRGly
ZWN0b3J5RW50cnkgOiBFbnRyeSB7CiAgICAgRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigp
OwotICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRl
ZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9u
YXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOwotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9u
YWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCByZW1vdmVSZWN1cnNpdmVseShpbiBbQ2FsbGJh
Y2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBnZXRGaWxlKGluIFtUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyBwYXRoLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsXSBF
bnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBp
biBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gVm9pZENhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3Rv
cnlSZWFkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9y
eVJlYWRlci5pZGwKaW5kZXggZTA0NjdhOS4uMDg1MmIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKQEAgLTMzLDUg
KzMzLDUgQEAKICAgICBKU05vU3RhdGljVGFibGVzLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKIF0gaW50ZXJmYWNlIERpcmVjdG9yeVJlYWRlciB7Ci0gICAgdm9pZCByZWFkRW50cmll
cyhpbiBbQ2FsbGJhY2tdIEVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBy
ZWFkRW50cmllcyhpbiBFbnRyaWVzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKaW5kZXggYzQzZGVmNC4uOTI1MTQyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsCkBAIC0zOSwxMCArMzks
MTAgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKLSAgICB2b2lkIGdl
dE1ldGFkYXRhKGluIFtDYWxsYmFja10gTWV0YWRhdGFDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWwsIFRy
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOwotICAgIHZvaWQgY29weVRvKGluIERpcmVjdG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlv
bmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmdd
IERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKKyAgICB2b2lkIGdldE1ldGFkYXRhKGluIE1ldGFkYXRhQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CisgICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWws
IFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGNv
cHlUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwg
aW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERPTVN0cmluZyB0b1VSTCgpOwot
ICAgIHZvaWQgcmVtb3ZlKGluIFtDYWxsYmFja10gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
LSAgICB2b2lkIGdldFBhcmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92ZShpbiBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAg
dm9pZCBnZXRQYXJlbnQoaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGwKaW5kZXggOWJh
ZDU1MS4uOGNjYjRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0ZpbGVFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0ZpbGVFbnRyeS5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKICAgICBKU05vU3RhdGljVGFibGVzCiBdIGludGVyZmFjZSBGaWxlRW50cnkgOiBFbnRyeSB7
Ci0gICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gW0NhbGxiYWNrXSBGaWxlV3JpdGVyQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwotICAgIHZvaWQgZmlsZShpbiBbQ2FsbGJhY2tdIEZpbGVDYWxsYmFjayBz
dWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjayk7CisgICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gRmlsZVdyaXRlckNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOworICAgIHZvaWQgZmlsZShpbiBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVt
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0Rmls
ZVN5c3RlbS5pZGwKaW5kZXggOTBjZjZhOS4uNDg2ZDgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0
ZW0uaWRsCkBAIC0zMCw5ICszMCw5IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVNUE9S
QVJZID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKIAotICAg
IHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4g
bG9uZyBsb25nIHNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEZpbGVTeXN0ZW1DYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbShpbiB1bnNp
Z25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwgaW4gW09wdGlvbmFsXSBGaWxlU3lz
dGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgRE9NRmlsZVN5c3RlbVN5bmMgd2Via2l0UmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplKSByYWlz
ZXMgKEZpbGVFeGNlcHRpb24pOwotICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3Rl
bVVSTChpbiBET01TdHJpbmcgdXJsLCBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVSTChpbiBET01T
dHJpbmcgdXJsLCBpbiBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIEVudHJ5U3luYyB3ZWJraXRSZXNv
bHZlTG9jYWxGaWxlU3lzdGVtU3luY1VSTChpbiBET01TdHJpbmcgdXJsKSByYWlzZXMgKEZpbGVF
eGNlcHRpb24pOwogCiAgICAgYXR0cmlidXRlIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJv
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdh
dG9yTWVkaWFTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGwKaW5kZXggNWQzOTlhOC4uZDE2OTFjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYVN0cmVh
bS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JN
ZWRpYVN0cmVhbS5pZGwKQEAgLTIxLDggKzIxLDggQEAKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgdm9pZCB3ZWJraXRH
ZXRVc2VyTWVkaWEoaW4gRGljdGlvbmFyeSBvcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCmluZGV4IGEwZGMxY2UuLjZkZDE2OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaWRsCkBAIC0zNiwxOCArMzYsMTggQEAKICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0LAogICAgIEV2ZW50VGFyZ2V0CiBdIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlv
biB7Ci0gICAgdm9pZCBjcmVhdGVPZmZlcihpbiBbQ2FsbGJhY2tdIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLE9wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRlT2ZmZXIo
aW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWludHMpCiAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gW0NhbGxiYWNr
XSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxs
YmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1
cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWludHMpCisg
ICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNh
bGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29u
c3RyYWludHMpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBzZXRM
b2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBS
VENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lkIHNldExvY2FsRGVzY3Jp
cHRpb24oaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFj
aykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBsb2NhbERlc2NyaXB0aW9uCiAgICAgICAgIGdldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4g
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFp
bHVyZUNhbGxiYWNrKQorICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4gUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbiByZW1vdGVEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CkBAIC03Miw3ICs3Miw3IEBACiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1v
dmVTdHJlYW0oaW4gTWVkaWFTdHJlYW0gc3RyZWFtKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAotICAgIHZvaWQgZ2V0U3RhdHMoaW4gW0NhbGxiYWNrXSBSVENTdGF0c0NhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTWVkaWFT
dHJlYW1UcmFjayBzZWxlY3Rvcik7CisgICAgdm9pZCBnZXRTdGF0cyhpbiBSVENTdGF0c0NhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTWVk
aWFTdHJlYW1UcmFjayBzZWxlY3Rvcik7CiAKICAgICBSVENEYXRhQ2hhbm5lbCBjcmVhdGVEYXRh
Q2hhbm5lbChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nXSBET01TdHJpbmcgbGFiZWwsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBvcHRpb25z
KQogICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDE5NGU4OWIu
LjM4NzA4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC01MSw3ICs1MSw3IEBACiAKICNpZiBkZWZpbmVkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgIHN0YXRpYyBy
ZWFkb25seSBhdHRyaWJ1dGUgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIERPTVN0
cmluZyBwZXJtaXNzaW9uOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBz
dGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0
aW9uYWxdIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CiAjZW5kaWYK
IAogICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwKaW5kZXggYWUxYTU1OC4uMmE3ZDM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKQEAgLTM3
LDYgKzM3LDYgQEAKICAgIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmljYXRpb24oaW4gRE9NU3Ry
aW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9NU3RyaW5nIGJvZHkpIHJhaXNl
cyhET01FeGNlcHRpb24pOwogCiAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBjYWxs
YmFjayk7CisgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbF0gVm9pZENhbGxi
YWNrIGNhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cXVvdGEvU3RvcmFnZUluZm8uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9y
YWdlSW5mby5pZGwKaW5kZXggMzhmN2I5My4uYjY5ZDNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKQEAgLTMxLDYgKzMxLDYgQEAKICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFBFUlNJU1RFTlQgPSAxOwogCi0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IHZvaWQgcXVlcnlVc2FnZUFuZFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBlLCBp
biBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0
UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIHVuc2lnbmVkIGxvbmcgbG9u
ZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNh
bGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiB1bnNpZ25lZCBzaG9ydCBzdG9yYWdl
VHlwZSwgaW4gW09wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNp
Z25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5C
eXRlcywgaW4gW09wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAppbmRleCA0MzY0
ZjViLi40YTY0ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VRdW90YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaWRsCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgT21pdENvbnN0cnVjdG9yLAogICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIFN0b3JhZ2VRdW90YSB7Ci0gICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcXVlcnlVc2FnZUFuZFF1b3Rh
KGluIFtDYWxsYmFja10gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGlu
IHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0
aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiBTdG9y
YWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJ
bkJ5dGVzLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCmlu
ZGV4IDRmMTliNDguLjc0MWE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKQEAgLTUxLDcgKzUxLDcgQEAKICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBBc3luY2hyb25vdXMgYXVkaW8gZmlsZSBkYXRhIGRl
Y29kaW5nLgotICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0
YSwgaW4gW0NhbGxiYWNrXSBBdWRpb0J1ZmZlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gQXVkaW9CdWZmZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQor
ICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwgaW4gQXVk
aW9CdWZmZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gQXVkaW9CdWZm
ZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
IAogICAgIC8vIFNvdXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKaW5kZXggMWYzMWUxZC4uMDc0
NWExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01X
aW5kb3dXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKQEAgLTI3LDcgKzI3LDcgQEAKIFsKICAgICBD
b25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7
Ci0gICAgRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJp
bmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVz
dGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3Jl
YXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5h
bWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVu
c2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNr
IGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2lmICFk
ZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAogICAgIGF0dHJpYnV0ZSBTUUxF
eGNlcHRpb25Db25zdHJ1Y3RvciBTUUxFeGNlcHRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCmluZGV4IDVmNjQ4OTcuLjNlZmUzOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCkBA
IC0zMiw4ICszMiw4IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZhY2UgRGF0YWJh
c2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVyc2lvbjsKLSAgICB2b2lk
IGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdW
ZXJzaW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNh
bGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjayk7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRy
YW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlv
bmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsKLSAgICB2b2lkIHJlYWRUcmFuc2Fj
dGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
KTsKKyAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERP
TVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sg
Y2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2ssIGluIFtPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7Cisg
ICAgdm9pZCB0cmFuc2FjdGlvbihpbiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgcmVh
ZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwKaW5kZXggMTMw
MWVhYi4uM2I0ZmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVN5bmMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VTeW5jLmlkbApAQCAtMzUsOCArMzUsOCBAQAogXSBpbnRlcmZhY2UgRGF0
YWJhc2VTeW5jIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZlcnNpb247CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYXN0RXJyb3JNZXNzYWdlOwotICAgIHZv
aWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3RyaW5nIG5l
d1ZlcnNpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lkIHRyYW5zYWN0aW9u
KGluIFtDYWxsYmFja10gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNl
cyhET01FeGNlcHRpb24pOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFtDYWxsYmFja10g
U1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRpb24p
OworICAgIHZvaWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9N
U3RyaW5nIG5ld1ZlcnNpb24sIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJh
Y2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgIHZvaWQgdHJhbnNhY3Rpb24o
aW4gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKaW5kZXgg
YTU3ZGYxNi4uNTNhOTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKIF0gaW50ZXJm
YWNlIFNRTFRyYW5zYWN0aW9uIHsKICAgICBbQ3VzdG9tXSB2b2lkIGV4ZWN1dGVTcWwoaW4gRE9N
U3RyaW5nIHNxbFN0YXRlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gT2Jq
ZWN0QXJyYXkgYXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3RhdGVtZW50
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbAppbmRl
eCA1YTFlNWU5Li5kOGI5ZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsCkBAIC0y
NywxMCArMjcsMTAgQEAKIFsKICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIHBhcnRp
YWwgaW50ZXJmYWNlIFdvcmtlckNvbnRleHQgewotICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShp
biBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNw
bGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJhc2Ug
b3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4g
RE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGlu
IFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIERhdGFiYXNlU3luYyBvcGVuRGF0YWJhc2VTeW5j
KGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRp
c3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFz
ZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZl
cnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0
ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykK
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggMjkyZGY2NC4uNGEwNWNm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbQpAQCAtNiw2ICs2LDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDA5LCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA5
IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHly
aWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
IwogIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCkBAIC00MjUsNiArNDI2LDEwIEBAIHN1YiBJc1JlZlB0clR5cGUKICAg
ICByZXR1cm4gMCBpZiAkb2JqZWN0LT5HZXRBcnJheVR5cGUoJHR5cGUpOwogICAgIHJldHVybiAw
IGlmICRvYmplY3QtPkdldFNlcXVlbmNlVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJuIDAgaWYgJHR5
cGUgZXEgIkRPTVN0cmluZyI7CisgICAgcmV0dXJuIDAgaWYgJHR5cGUgZXEgIkNvbXBhcmVIb3ci
OworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJEaWN0aW9uYXJ5IjsKKyAgICByZXR1cm4gMCBp
ZiAkdHlwZSBlcSAiQXJyYXkiOworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJhbnkiOwogICAg
IHJldHVybiAwIGlmICRvYmplY3QtPklzRW51bVR5cGUoJHR5cGUpOwogCiAgICAgcmV0dXJuIDE7
CkBAIC02NjUsNiArNjcwLDI1IEBAIHN1YiBTZXR0ZXJFeHByZXNzaW9uCiAgICAgcmV0dXJuICgk
ZnVuY3Rpb25OYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOwogfQogCitzdWIgSXNDYWxsYmFj
a0ludGVyZmFjZQoreworICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgIG15ICR0eXBlID0gc2hpZnQ7
CisKKyAgcmV0dXJuIDAgdW5sZXNzICRvYmplY3QtPklzUmVmUHRyVHlwZSgkdHlwZSk7CisgIHJl
dHVybiAwIGlmICR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiOworCisgIG15ICRpZGxG
aWxlID0gJG9iamVjdC0+SURMRmlsZUZvckludGVyZmFjZSgkdHlwZSkKKyAgICAgIG9yIGRpZSgi
Q291bGQgTk9UIGZpbmQgSURMIGZpbGUgZm9yIGludGVyZmFjZSBcIiR0eXBlXCIhXG4iKTsKKwor
ICBvcGVuIEZJTEUsICI8IiwgJGlkbEZpbGU7CisgIG15IEBsaW5lcyA9IDxGSUxFPjsKKyAgY2xv
c2UgRklMRTsKKworICBteSAkZmlsZUNvbnRlbnRzID0gam9pbignJywgQGxpbmVzKTsKKyAgcmV0
dXJuICgkZmlsZUNvbnRlbnRzID1+IC9jYWxsYmFja1xzK2ludGVyZmFjZVxzKyhcdyspL2dzKTsK
K30KKwogc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcKIHsKICAgICBteSAkZ2VuZXJhdG9y
ID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCA2OWMwZGIxLi4wMmMyZDNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG0KQEAgLTI5MywxMiArMjkzLDEyIEBAIHN1YiBTa2lwRnVuY3Rpb24gewogICAgICAgICBy
ZXR1cm4gMTsKICAgICB9CiAKLSAgICAjIFNraXAgZnVuY3Rpb25zIHRoYXQgaGF2ZSBbIkNhbGxi
YWNrIl0gcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCisgICAgIyBTa2lwIGZ1bmN0aW9ucyB0aGF0
IGhhdmUgY2FsbGJhY2sgcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCiAgICAgIyBjb2RlIGdlbmVy
YXRvciBkb2Vzbid0IGtub3cgaG93IHRvIGF1dG8tZ2VuZXJhdGUgY2FsbGJhY2tzLgogICAgICMg
U2tpcCBmdW5jdGlvbnMgdGhhdCBoYXZlICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiBvciBzZXF1
ZW5jZTxUPiBwYXJhbWV0ZXJzLCBiZWNhdXNlIHRoaXMKICAgICAjIGNvZGUgZ2VuZXJhdG9yIGRv
ZXNuJ3Qga25vdyBob3cgdG8gYXV0by1nZW5lcmF0ZSBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIG9y
IHNlcXVlbmNlPFQ+LgogICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAeyRmdW5jdGlvbi0+cGFyYW1l
dGVyc30pIHsKLSAgICAgICAgaWYgKCRwYXJhbS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxi
YWNrIn0gfHwKKyAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNl
KCRwYXJhbS0+dHlwZSkgfHwKICAgICAgICAgICAgICRwYXJhbS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNsYW1wIn0gfHwKICAgICAgICAgICAgICRwYXJhbS0+dHlwZSBlcSAiTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciIgfHwKICAgICAgICAgICAgICRjb2RlR2VuZXJhdG9yLT5HZXRTZXF1ZW5jZVR5
cGUoJHBhcmFtLT50eXBlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5NzFiZmQ1Li41ZmQwZjhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAt
MTAsNiArMTAsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTEgUGF0cmljayBHYW5zdGVyZXIgPHBh
cm9nYUB3ZWJraXQub3JnPgogIyBDb3B5cmlnaHQgKEMpIDIwMTIgRXJpY3Nzb24gQUIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMiBH
b29nbGUgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTI5Myw3ICsxMjk0LDcgQEAg
c3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICAgICAgICAgIHB1
c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNVbmRlZmluZWRPck51bGwoKSB8fCAke3Zh
bHVlfS5pc1N0cmluZygpIHx8ICR7dmFsdWV9LmlzT2JqZWN0KCkpIik7CiAgICAgICAgICAgICAg
ICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgIH0gZWxzaWYgKCRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFj
ayJ9KSB7CisgICAgICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJm
YWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAjIEZvciBDYWxsYmFja3Mgb25s
eSBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgogICAgICAgICAgICAgcHVz
aChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAke3ZhbHVlfS5pc0Z1bmN0
aW9uKCkpIik7CiAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5kZXh9ID0g
MTsKQEAgLTI4OTgsNyArMjg5OSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAg
ICAgICAjIE9wdGlvbmFsIGFyZ3VtZW50cyB3aXRoIFtPcHRpb25hbD0uLi5dIHNob3VsZCBub3Qg
Z2VuZXJhdGUgdGhlIGVhcmx5IGNhbGwuCiAgICAgICAgICMgT3B0aW9uYWwgRGljdGlvbmFyeSBh
cmd1bWVudHMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBkZWZhdWx0IG9mIGVtcHR5IGRpY3Rp
b25hcnkuCiAgICAgICAgIG15ICRvcHRpb25hbCA9ICRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJPcHRpb25hbCJ9OwotICAgICAgICBpZiAoJG9wdGlvbmFsICYmICRvcHRpb25hbCBu
ZSAiRGVmYXVsdElzVW5kZWZpbmVkIiAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc051bGxTdHJp
bmciICYmICRhcmdUeXBlIG5lICJEaWN0aW9uYXJ5IiAmJiAhJHBhcmFtZXRlci0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgaWYgKCRvcHRpb25hbCAmJiAkb3B0
aW9uYWwgbmUgIkRlZmF1bHRJc1VuZGVmaW5lZCIgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNO
dWxsU3RyaW5nIiAmJiAkYXJnVHlwZSBuZSAiRGljdGlvbmFyeSIgJiYgISRjb2RlR2VuZXJhdG9y
LT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAj
IEdlbmVyYXRlIGVhcmx5IGNhbGwgaWYgdGhlcmUgYXJlIGVub3VnaCBwYXJhbWV0ZXJzLgogICAg
ICAgICAgICAgaWYgKCEkaGFzT3B0aW9uYWxBcmd1bWVudHMpIHsKICAgICAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICJcbiAgICBzaXplX3QgYXJnc0NvdW50ID0gZXhlYy0+YXJndW1l
bnRDb3VudCgpO1xuIik7CkBAIC0yOTI2LDcgKzI5MjcsNyBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0
ZXJzQ2hlY2sKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmVzb2x2ZXIgPSBjdXN0b21SZXNvbHZlci5nZXQo
KTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIH1cbiIpOwotICAg
ICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2si
fSkgeworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFj
ZSgkcGFyYW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgbXkgJGNhbGxiYWNrQ2xhc3NOYW1l
ID0gR2V0Q2FsbGJhY2tDbGFzc05hbWUoJGFyZ1R5cGUpOwogICAgICAgICAgICAgJGltcGxJbmNs
dWRlc3siJGNhbGxiYWNrQ2xhc3NOYW1lLmgifSA9IDE7CiAgICAgICAgICAgICBpZiAoJG9wdGlv
bmFsKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0
dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dAppbmRleCAzMmM4OTA5Li5kMjRmNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTIyLDcgKzIyLDYgQEAgQWN0
aXZlRE9NT2JqZWN0CiBDUFBQdXJlSW50ZXJmYWNlCiBDYWNoZWRBdHRyaWJ1dGUKIENhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHR8U2NyaXB0U3RhdGV8U2NyaXB0QXJndW1lbnRzfENhbGxT
dGFjawotQ2FsbGJhY2sKIENoZWNrU2VjdXJpdHkKIENoZWNrU2VjdXJpdHlGb3JOb2RlCiBDbGFt
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdE9iai5jcHAKaW5kZXggZDY1MTAxMC4uZDBmZGU1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RPYmouY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNs
dWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXN0RW51bVR5cGUuaCIK
KyNpbmNsdWRlICJUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIldlYkRPTURpY3Rpb25hcnkuaCIKICNp
bmNsdWRlICJXZWJET01Eb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYkRPTU5vZGUuaCIKQEAgLTM2
LDE5ICszNywxMiBAQAogI2luY2x1ZGUgIldlYkRPTVNWR1BvaW50LmgiCiAjaW5jbHVkZSAiV2Vi
RE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdEVudW1UeXBlLmgiCisjaW5jbHVkZSAi
V2ViRE9NVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01UZXN0T2JqLmgiCi0jaW5jbHVkZSAi
V2ViRE9NYS5oIgotI2luY2x1ZGUgIldlYkRPTWIuaCIKICNpbmNsdWRlICJXZWJET01ib29sLmgi
Ci0jaW5jbHVkZSAiV2ViRE9NZC5oIgotI2luY2x1ZGUgIldlYkRPTWUuaCIKICNpbmNsdWRlICJX
ZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViTmF0aXZlRXZlbnRMaXN0ZW5lci5o
IgotI2luY2x1ZGUgImEuaCIKLSNpbmNsdWRlICJiLmgiCiAjaW5jbHVkZSAiYm9vbC5oIgotI2lu
Y2x1ZGUgImQuaCIKLSNpbmNsdWRlICJlLmgiCiAjaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3Ry
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTk3Miw3ICs5NjYsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6Om92ZXJsb2FkZWRNZXRob2Qx
KGNvbnN0IFdlYkRPTVN0cmluZyYgdHlwZSkKIAogI2VuZGlmCiAKLXZvaWQgV2ViRE9NVGVzdE9i
ajo6Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQxKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkK
ICAgICAgICAgcmV0dXJuOwpAQCAtOTgwLDcgKzk3NCw3IEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6
Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCiAgICAgaW1wbCgpLT5jb252ZXJ0MSh0b1dl
YkNvcmUodmFsdWUpKTsKIH0KIAotdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihjb25zdCBX
ZWJET01iJiB2YWx1ZSkKK3ZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9N
VGVzdE5vZGUmIHZhbHVlKQogewogICAgIGlmICghaW1wbCgpKQogICAgICAgICByZXR1cm47CkBA
IC05ODgsNyArOTgyLDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihjb25zdCBXZWJE
T01iJiB2YWx1ZSkKICAgICBpbXBsKCktPmNvbnZlcnQyKHRvV2ViQ29yZSh2YWx1ZSkpOwogfQog
Ci12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKQordm9p
ZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7
CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk5Niw3ICs5OTAsNyBAQCB2
b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKQogICAgIGlt
cGwoKS0+Y29udmVydDQodG9XZWJDb3JlKHZhbHVlKSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9i
ajo6Y29udmVydDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCBjMWMxN2QyLi5iYmQxZGZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RPYmouaApAQCAtMzgsMTIgKzM4LDkgQEAgY2xhc3MgV2ViRE9NT2JqZWN0Owog
Y2xhc3MgV2ViRE9NU1ZHUG9pbnQ7CiBjbGFzcyBXZWJET01TdHJpbmc7CiBjbGFzcyBXZWJET01U
ZXN0RW51bVR5cGU7CitjbGFzcyBXZWJET01UZXN0Tm9kZTsKIGNsYXNzIFdlYkRPTVRlc3RPYmo7
Ci1jbGFzcyBXZWJET01hOwotY2xhc3MgV2ViRE9NYjsKIGNsYXNzIFdlYkRPTWJvb2w7Ci1jbGFz
cyBXZWJET01kOwotY2xhc3MgV2ViRE9NZTsKIAogY2xhc3MgV2ViRE9NVGVzdE9iaiA6IHB1Ymxp
YyBXZWJET01PYmplY3QgewogcHVibGljOgpAQCAtMTkxLDEwICsxODgsMTAgQEAgcHVibGljOgog
I2lmIEVOQUJMRShDb25kaXRpb24xKQogICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZDEoY29uc3Qg
V2ViRE9NU3RyaW5nJiB0eXBlKTsKICNlbmRpZgotICAgIHZvaWQgY29udmVydDEoY29uc3QgV2Vi
RE9NYSYgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFsdWUpOwot
ICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NZCYgdmFsdWUpOwotICAgIHZvaWQgY29udmVy
dDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpOworICAgIHZvaWQgY29udmVydDEoY29uc3QgV2ViRE9N
VGVzdE5vZGUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTVRlc3ROb2Rl
JiB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUp
OworICAgIHZvaWQgY29udmVydDUoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKICAgICBX
ZWJET01TVkdQb2ludCBtdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogICAgIFdlYkRPTVNWR1BvaW50
IGltbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICB2b2lkIGJhbmFuYSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCA5MDI2NjUyLi4yM2RhNDFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmNwcApAQCAtMzMsMTIgKzMzLDkgQEAKICNpbmNsdWRlICJX
ZWJLaXRET01TVkdQb2ludFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TZXJpYWxpemVk
U2NyaXB0VmFsdWVQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NVGVzdEVudW1UeXBlUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdERPTVRlc3ROb2RlUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdERPTVRlc3RPYmpQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NYVByaXZhdGUu
aCIKLSNpbmNsdWRlICJXZWJLaXRET01iUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTWJv
b2xQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NZFByaXZhdGUuaCIKLSNpbmNsdWRlICJX
ZWJLaXRET01lUHJpdmF0ZS5oIgogI2luY2x1ZGUgImdvYmplY3QvQ29udmVydFRvVVRGOFN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC0xMzgwLDQ2ICsxMzc3LDQ2IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb3ZlcmxvYWRlZF9tZXRo
b2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiB0eXBlCiB9CiAKIHZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NYSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01f
SVNfQSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05P
REUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwotICAgIFdlYkNvcmU6OmEqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVl
KTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUo
dmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQxKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAot
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01iKiB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19CKHZhbHVlKSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9E
RSh2YWx1ZSkpOwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2Vs
Zik7Ci0gICAgV2ViQ29yZTo6YiogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUp
OworICAgIFdlYkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2
YWx1ZSk7CiAgICAgaXRlbS0+Y29udmVydDIoY29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktp
dERPTWQqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lT
X0QodmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RF
KHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxm
KTsKLSAgICBXZWJDb3JlOjpkKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7
CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZh
bHVlKTsKICAgICBpdGVtLT5jb252ZXJ0NChjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQKLXdl
YmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0
RE9NZSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9N
X0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNf
RSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05PREUo
dmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwotICAgIFdlYkNvcmU6OmUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsK
KyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFs
dWUpOwogICAgIGl0ZW0tPmNvbnZlcnQ1KGNvbnZlcnRlZFZhbHVlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGFmNTM2YjAuLjdjOTkyYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0T2JqLmgKQEAgLTQwNCw0NiArNDA0LDQ2IEBAIHdlYmtpdF9kb21fdGVzdF9v
Ympfb3ZlcmxvYWRlZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFy
KiB0eXBlCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDE6CiAgKiBAc2VsZjog
QSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJLaXRET01hCisgKiBAdmFsdWU6
IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoKICAqCiAqKi8KIFdFQktJVF9B
UEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBXZWJLaXRET01hKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSk7CiAKIC8qKgog
ICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MjoKICAqIEBzZWxmOiBBICNXZWJLaXRET01U
ZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWIKKyAqIEB2YWx1ZTogQSAjV2ViS2l0RE9N
VGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERP
TWIqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQ0OgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2
YWx1ZTogQSAjV2ViS2l0RE9NZAorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoK
ICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9v
YmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZCogdmFsdWUpOwor
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDU6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJL
aXRET01lCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoK
ICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NShX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01lKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2Rl
KiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9tdXRhYmxlX3BvaW50X2Z1
bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAppbmRleCBlMTAzOTc0Li4zYzNiYjZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAt
MzcsMTMgKzM3LDEwIEBACiAjaW5jbHVkZSAiSlNTVkdQb2ludC5oIgogI2luY2x1ZGUgIkpTU2Ny
aXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNU
ZXN0Tm9kZS5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgogI2luY2x1ZGUgIkpTVGVzdFN1Yk9i
ai5oIgotI2luY2x1ZGUgIkpTYS5oIgotI2luY2x1ZGUgIkpTYi5oIgogI2luY2x1ZGUgIkpTYm9v
bC5oIgotI2luY2x1ZGUgIkpTZC5oIgotI2luY2x1ZGUgIkpTZS5oIgogI2luY2x1ZGUgIktVUkwu
aCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1N0YXRpY1Byb3BlcnR5
VGVhck9mZi5oIgpAQCAtMjc4MCw3ICsyNzc3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmlt
cGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykp
OwotICAgIGEqIHZhbHVlKHRvYShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2
YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwogICAgIGltcGwtPmNvbnZlcnQxKHZhbHVlKTsKQEAgLTI3OTcsNyArMjc5NCw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0
MihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RP
YmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkg
PCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBiKiB2YWx1ZSh0b2IoZXhlYy0+YXJndW1lbnQoMCkp
KTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0Mih2YWx1ZSk7CkBAIC0yODE0
LDcgKzI4MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ29udmVydDQoRXhlY1N0YXRlKiBleGVjKQogICAgIFRlc3RPYmoqIGltcGwg
PSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKICAgICBpZiAoZXhl
Yy0+YXJndW1lbnRDb3VudCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVj
LCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAgZCogdmFsdWUodG9k
KGV4ZWMtPmFyZ3VtZW50KDApKSk7CisgICAgVGVzdE5vZGUqIHZhbHVlKHRvVGVzdE5vZGUoZXhl
Yy0+YXJndW1lbnQoMCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+Y29udmVy
dDQodmFsdWUpOwpAQCAtMjgzMSw3ICsyODI4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ1KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmlt
cGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykp
OwotICAgIGUqIHZhbHVlKHRvZShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2
YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwogICAgIGltcGwtPmNvbnZlcnQ1KHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRleCA3MTUwMDYxLi43
YTYzMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC0zNCwxNiArMzQsMTMgQEAKIEBjbGFzcyBET01TVkdE
b2N1bWVudDsKIEBjbGFzcyBET01TVkdQb2ludDsKIEBjbGFzcyBET01UZXN0RW51bVR5cGU7CitA
Y2xhc3MgRE9NVGVzdE5vZGU7CiBAY2xhc3MgRE9NVGVzdE9iajsKIEBjbGFzcyBET01UZXN0T2Jq
ZWN0QUNvbnN0cnVjdG9yOwogQGNsYXNzIERPTVRlc3RPYmplY3RCQ29uc3RydWN0b3I7CiBAY2xh
c3MgRE9NVGVzdE9iamVjdENDb25zdHJ1Y3RvcjsKLUBjbGFzcyBET01hOwogQGNsYXNzIERPTWFu
eTsKLUBjbGFzcyBET01iOwogQGNsYXNzIERPTWJvb2w7Ci1AY2xhc3MgRE9NZDsKLUBjbGFzcyBE
T01lOwogQGNsYXNzIE5TU3RyaW5nOwogQHByb3RvY29sIERPTUV2ZW50TGlzdGVuZXI7CiAKQEAg
LTE3MiwxMCArMTY5LDEwIEBAIGVudW0gewogLSAodm9pZClvdmVybG9hZGVkTWV0aG9kMTooTlNT
dHJpbmcgKil0eXBlOwogI2VuZGlmCiAtIChET01TVkdEb2N1bWVudCAqKWdldFNWR0RvY3VtZW50
OwotLSAodm9pZCljb252ZXJ0MTooRE9NYSAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0MjooRE9N
YiAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlOwotLSAodm9pZCljb252
ZXJ0NTooRE9NZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0MTooRE9NVGVzdE5vZGUgKil2YWx1
ZTsKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWU7CistICh2b2lkKWNvbnZl
cnQ0OihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NTooRE9NVGVzdE5vZGUg
Kil2YWx1ZTsKIC0gKERPTVNWR1BvaW50ICopbXV0YWJsZVBvaW50RnVuY3Rpb247CiAtIChET01T
VkdQb2ludCAqKWltbXV0YWJsZVBvaW50RnVuY3Rpb247CiAtICh2b2lkKW9yYW5nZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmoubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
T2JqLm1tCmluZGV4IDNkYTE0OTAuLjg5OTZmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAtNDAsMTYg
KzQwLDEzIEBACiAjaW1wb3J0ICJET01TVkdQb2ludEludGVybmFsLmgiCiAjaW1wb3J0ICJET01T
dHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RFbnVtVHlwZUludGVybmFsLmgi
CisjaW1wb3J0ICJET01UZXN0Tm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0T2JqSW50
ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RPYmplY3RBQ29uc3RydWN0b3JJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NVGVzdE9iamVjdEJDb25zdHJ1Y3RvckludGVybmFsLmgiCiAjaW1wb3J0ICJE
T01UZXN0T2JqZWN0Q0NvbnN0cnVjdG9ySW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWFJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRE9NYW55SW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWJJbnRlcm5hbC5o
IgogI2ltcG9ydCAiRE9NYm9vbEludGVybmFsLmgiCi0jaW1wb3J0ICJET01kSW50ZXJuYWwuaCIK
LSNpbXBvcnQgIkRPTWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRGljdGlvbmFyeS5oIgogI2ltcG9y
dCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKQEAgLTYzLDYgKzYwLDcg
QEAKICNpbXBvcnQgIlNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIgogI2ltcG9ydCAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgiCiAjaW1wb3J0ICJUZXN0RW51bVR5cGUuaCIKKyNpbXBvcnQgIlRl
c3ROb2RlLmgiCiAjaW1wb3J0ICJUZXN0T2JqLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0QUNvbnN0
cnVjdG9yLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0QkNvbnN0cnVjdG9yLmgiCkBAIC03MCwxMiAr
NjgsOCBAQAogI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKICNpbXBvcnQgIldlYkNvcmVPYmpDRXh0
cmFzLmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCi0jaW1wb3J0ICJhLmgi
CiAjaW1wb3J0ICJhbnkuaCIKLSNpbXBvcnQgImIuaCIKICNpbXBvcnQgImJvb2wuaCIKLSNpbXBv
cnQgImQuaCIKLSNpbXBvcnQgImUuaCIKICNpbXBvcnQgPHd0Zi9HZXRQdHIuaD4KIAogI2RlZmlu
ZSBJTVBMIHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6VGVzdE9iaio+KF9pbnRlcm5hbCkKQEAg
LTEwNDEsMjUgKzEwMzUsMjUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0tICh2b2lkKWNv
bnZlcnQxOihET01hICopdmFsdWUKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFs
dWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1Q
TC0+Y29udmVydDEoY29yZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQyOihET01iICop
dmFsdWUKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDIoY29y
ZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQ0OihET01kICopdmFsdWUKKy0gKHZvaWQp
Y29udmVydDQ6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDQoY29yZSh2YWx1ZSkpOwogfQog
Ci0tICh2b2lkKWNvbnZlcnQ1OihET01lICopdmFsdWUKKy0gKHZvaWQpY29udmVydDU6KERPTVRl
c3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CiAgICAgSU1QTC0+Y29udmVydDUoY29yZSh2YWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDk1ODc5NTQuLjk1OWVh
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGwKQEAgLTMzLDcgKzMzLDcgQEAKIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJFbnVtVmFs
dWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKIAogWwotICAgIENvbnN0cnVjdG9y
KGluIFtDYWxsYmFja10gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCisgICAgQ29uc3RydWN0
b3IoaW4gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCiAgICAgSW50ZXJmYWNlTmFtZT1UZXN0
T2JqZWN0CiBdIGludGVyZmFjZSBUZXN0T2JqIHsKICAgICAvLyBBdHRyaWJ1dGVzCkBAIC0xNDMs
MTIgKzE0MywxMiBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIsICJFbnVt
VmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAKICNpZiBkZWZpbmVkKFRFU1RJTkdfSlMpCiAgICAg
Ly8gJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhD
YWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgdm9p
ZCAgICBtZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25nIG5vbkNh
bGxiYWNrLCBpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgdm9pZCAg
ICBtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
XSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNr
QXJnKGluIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBtZXRob2RXaXRoTm9u
Q2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25nIG5vbkNhbGxiYWNrLCBpbiBUZXN0Q2Fs
bGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9u
YWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIC8vIHN0YXRp
YyBtZXRob2RzIHdpdGggJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICBzdGF0aWMg
dm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHN0YXRpYyB2b2lkICAg
IHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBj
YWxsYmFjayk7CisgICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQW5k
T3B0aW9uYWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHN0
YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBUZXN0Q2FsbGJhY2sg
Y2FsbGJhY2spOwogI2VuZGlmCiAKICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVkIGF0dHJp
YnV0ZQpAQCAtMTgwLDcgKzE4MCw3IEBAIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJFbnVtVmFs
dWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKICAgICB2b2lkICAgIG92ZXJsb2Fk
ZWRNZXRob2QoaW4gVGVzdE9iaj8gb2JqQXJnLCBpbiBbT3B0aW9uYWxdIGxvbmcgbG9uZ0FyZyk7
CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFtTdHJpY3RUeXBlQ2hlY2tpbmddIERP
TVN0cmluZyBzdHJBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBsb25nIGxv
bmdBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBbQ2FsbGJhY2tdIFRlc3RD
YWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFRlc3RD
YWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIERPTVN0
cmluZ0xpc3Q/IGxpc3RBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01T
dHJpbmdbXT8gYXJyYXlBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0
T2JqIG9iakFyZyk7CkBAIC0yMTAsMTAgKzIxMCwxMCBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIi
LCAiRW51bVZhbHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAgICAgW0NoZWNr
U2VjdXJpdHlGb3JOb2RlXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjb252ZXJ0MShpbiBbVHJlYXRSZXR1cm5l
ZE51bGxTdHJpbmdBcz1OdWxsXSBhIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQyKGluIFtUcmVh
dFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gYiB2YWx1ZSk7Ci0gICAgdm9pZCBjb252
ZXJ0NChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gZCB2YWx1ZSk7Ci0gICAgdm9pZCBjb252
ZXJ0NShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3Ry
aW5nXSBlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGluIFtUcmVhdFJldHVybmVkTnVsbFN0
cmluZ0FzPU51bGxdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGluIFtUcmVh
dFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gVGVzdE5vZGUgdmFsdWUpOworICAgIHZv
aWQgY29udmVydDQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZhbHVlKTsK
KyAgICB2b2lkIGNvbnZlcnQ1KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVm
aW5lZEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZhbHVlKTsKIAogICAgIGF0dHJpYnV0ZSBTVkdQ
b2ludCBtdXRhYmxlUG9pbnQ7CiAgICAgW0ltbXV0YWJsZV0gYXR0cmlidXRlIFNWR1BvaW50IGlt
bXV0YWJsZVBvaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAppbmRleCA3ODUxMDg5Li5iZmYzMWM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlk
bApAQCAtNzQsNyArNzQsNyBAQCB0eXBlZGVmIFNWR1BvaW50ICAgICAgICAgICAgICAgICAgIFNW
R1BPSU5UOwogdHlwZWRlZiBET01TdHJpbmcgICAgICAgICAgICAgICAgICBTVFJJTkc7CiB0eXBl
ZGVmIFtPcHRpb25hbF0gRE9NU3RyaW5nICAgICAgIE9QVElPTkFMX1NUUklORzsKIHR5cGVkZWYg
RE9NU3RyaW5nW10gICAgICAgICAgICAgICAgQVJSQVlfT0ZfU1RSSU5HUzsKLXR5cGVkZWYgW0Nh
bGxiYWNrXSBUZXN0Q2FsbGJhY2sgICAgVEVTVF9DQUxMQkFDSzsKK3R5cGVkZWYgVGVzdENhbGxi
YWNrICAgIFRFU1RfQ0FMTEJBQ0s7CiB0eXBlZGVmIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciAgICAg
IFQ7CiB0eXBlZGVmIEFycmF5ICAgICAgICAgICAgICAgICAgICAgIEFSUkFZOwogdHlwZWRlZiBE
T01FeGNlcHRpb24gICAgICAgICAgICAgICBFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRMb2FkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsCmlu
ZGV4IGRhMjk2ZTYuLjE5MWMwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
TG9hZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwKQEAgLTQz
LDcgKzQzLDcgQEAKIAogICAgIGJvb2xlYW4gY2hlY2tGb250KGluIERPTVN0cmluZyBmb250LCBp
biBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRleHQpOwogICAgIHZv
aWQgbG9hZEZvbnQoaW4gRGljdGlvbmFyeSBwYXJhbXMpOwotICAgIHZvaWQgbm90aWZ5V2hlbkZv
bnRzUmVhZHkoaW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQg
bm90aWZ5V2hlbkZvbnRzUmVhZHkoaW4gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBsb2FkaW5nOwogCiAgICAgdm9pZCBhZGRFdmVudExpc3Rl
bmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlckl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0u
aWRsCmluZGV4IDdjMzM4OTMuLjIxYjUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5z
ZmVySXRlbS5pZGwKQEAgLTM1LDcgKzM1LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGtpbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCi0g
ICAgdm9pZCBnZXRBc1N0cmluZyhpbiBbQ2FsbGJhY2ssT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBTdHJpbmdDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCBnZXRBc1N0cmluZyhpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBTdHJpbmdDYWxsYmFjayBjYWxsYmFjayk7CiAg
ICAgQmxvYiBnZXRBc0ZpbGUoKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRl
eCBhMmQ5Y2FjLi4yMDMyZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xOTcs
OSArMTk3LDkgQEAKICAgICB2b2lkIGNsZWFySW50ZXJ2YWwoaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gbG9uZyBoYW5kbGUpOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICYmIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRQotICAgIGxv
bmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIFtDYWxsYmFja10gUmVxdWVzdEFuaW1hdGlvbkZy
YW1lQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGlu
IFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lkIGNhbmNl
bEFuaW1hdGlvbkZyYW1lKGluIGxvbmcgaWQpOwotICAgIGxvbmcgd2Via2l0UmVxdWVzdEFuaW1h
dGlvbkZyYW1lKGluIFtDYWxsYmFja10gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2Fs
bGJhY2spOworICAgIGxvbmcgd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIFJlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICBbSW1wbGVtZW50ZWRBcz1jYW5j
ZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZShpbiBsb25n
IGlkKTsKICAgICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJr
aXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7IC8vIFRoaXMgaXMgYSBk
ZXByZWNhdGVkIGFsaWFzIGZvciB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZSgpLiBSZW1vdmUg
dGhpcyB3aGVuIHJlbW92aW5nIHZlbmRvciBwcmVmaXguCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199865</attachid>
            <date>2013-04-26 14:56:39 -0700</date>
            <delta_ts>2013-04-26 15:07:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>51980</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li40YzU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgVXNlIFdlYkNvcmUvTW9kdWxlcyBhcyBJREwgaW5jbHVkZSBwYXRo
IGluc3RlYWQgb2YgdXNpbmcgc3ViZGlycy4gVGhlIGdlbmVyYXRvcgorICAgICAgICB3aWxsIHNl
YXJjaCByZWN1cnNpdmVseSBhbnl3YXkgYW5kIHRoZSBsaXN0IG9mIHN1YmRpcnMgd2FzIGluY29t
cGxldGUuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3Rl
bS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9Xb3Jr
ZXJDb250ZXh0RmlsZVN5c3RlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGw6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlU3luYy5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlv
bi5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0
YWJhc2UuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToK
KyAgICAgICAgKElzUmVmUHRyVHlwZSk6CisgICAgICAgIChJc0NhbGxiYWNrSW50ZXJmYWNlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgorICAg
ICAgICAoU2tpcEZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6
CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVy
dDEpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDIpOgorICAgICAgICAoV2ViRE9N
VGVzdE9iajo6Y29udmVydDQpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
OgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MSk6CisgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpf
Y29udmVydDQpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MSk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDQpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RP
YmogY29udmVydDE6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29udmVydDI6XSk6CisgICAg
ICAgICgtW0RPTVRlc3RPYmogY29udmVydDQ6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29u
dmVydDU6XSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsOgorICAgICAg
ICAqIGNzcy9Gb250TG9hZGVyLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEzLTA0LTI2ICBEYWtlciBG
ZXJuYW5kZXMgUGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIENoYW5nZSBSZW5kZXJNZXRlcjo6dmFsdWVSYXRpbygpIHZpc2liaWxpdHkgdG8gcHVibGlj
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZGY3YTMyLi43NDdkNWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk3MCwyMSArOTcwLDcgQEAgcHJlcHJvY2Vz
c19pZGxzX3NjcmlwdCA9IHBlcmwgJChhZGRwcmVmaXggLUkgJChXZWJDb3JlKS8sICQoc29ydCAk
KGRpciAkKDEpKSkpICQKICMgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCiAKIElETF9JTkNMVURFUyA9
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmF0dGVyeSBcCi0JJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9n
ZW9sb2NhdGlvbiBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9uZXR3b3JraW5mbyBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9z
cGVlY2ggXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy92aWJyYXRpb24gXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpbyBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNl
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cyBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3JlKS9kb20gXAogICAg
ICQoV2ViQ29yZSkvZmlsZWFwaSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFjYjk3MDYuLjgw
MjA2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zNjUsMTggKzM2NSw3IEBAIERlcml2ZWRT
b3VyY2VzL0FOR0xFL2dsc2xhbmdfdGFiLmNwcDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL2dsc2xhCiBEZXJpdmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5oOiBEZXJp
dmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5jcHAKIAogSURMX1BBVEggOj0gXAotICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2Ft
ZXBhZCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3Vy
Y2UgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCi0gICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1p
dHkgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmF1ZGlvIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXAotICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMg
XAogICAgICQoV2ViQ29yZSkvYmluZGluZ3MvanMgXAogICAgICQoV2ViQ29yZSkvY3NzIFwKICAg
ICAkKFdlYkNvcmUpL2RvbSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwKaW5kZXggZjlmMjU1NC4uNTZmNTgx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRv
d0ZpbGVTeXN0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
T01XaW5kb3dGaWxlU3lzdGVtLmlkbApAQCAtMzEsOCArMzEsOCBAQAogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCiAgICAgdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5
c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwKLSAgICAgICAg
ICAgIGluIFtDYWxsYmFja10gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIGluIEZpbGVTeXN0ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIHdlYmtpdFJlc29sdmVM
b2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwKLSAgICAgICAgICAgIGluIFtDYWxs
YmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBFbnRyeUNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKaW5kZXggNjNiNDI3YS4uZmIwNDIwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRs
CkBAIC0zNSw3ICszNSw3IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZhY2UgRGly
ZWN0b3J5RW50cnkgOiBFbnRyeSB7CiAgICAgRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigp
OwotICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRl
ZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9u
YXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOwotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9u
YWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCByZW1vdmVSZWN1cnNpdmVseShpbiBbQ2FsbGJh
Y2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBnZXRGaWxlKGluIFtUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyBwYXRoLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsXSBF
bnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBp
biBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gVm9pZENhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3Rv
cnlSZWFkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9y
eVJlYWRlci5pZGwKaW5kZXggZTA0NjdhOS4uMDg1MmIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKQEAgLTMzLDUg
KzMzLDUgQEAKICAgICBKU05vU3RhdGljVGFibGVzLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKIF0gaW50ZXJmYWNlIERpcmVjdG9yeVJlYWRlciB7Ci0gICAgdm9pZCByZWFkRW50cmll
cyhpbiBbQ2FsbGJhY2tdIEVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBy
ZWFkRW50cmllcyhpbiBFbnRyaWVzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKaW5kZXggYzQzZGVmNC4uOTI1MTQyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsCkBAIC0zOSwxMCArMzks
MTAgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKLSAgICB2b2lkIGdl
dE1ldGFkYXRhKGluIFtDYWxsYmFja10gTWV0YWRhdGFDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWwsIFRy
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOwotICAgIHZvaWQgY29weVRvKGluIERpcmVjdG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlv
bmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmdd
IERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKKyAgICB2b2lkIGdldE1ldGFkYXRhKGluIE1ldGFkYXRhQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CisgICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWws
IFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGNv
cHlUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwg
aW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERPTVN0cmluZyB0b1VSTCgpOwot
ICAgIHZvaWQgcmVtb3ZlKGluIFtDYWxsYmFja10gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
LSAgICB2b2lkIGdldFBhcmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92ZShpbiBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAg
dm9pZCBnZXRQYXJlbnQoaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGwKaW5kZXggOWJh
ZDU1MS4uOGNjYjRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0ZpbGVFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0ZpbGVFbnRyeS5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKICAgICBKU05vU3RhdGljVGFibGVzCiBdIGludGVyZmFjZSBGaWxlRW50cnkgOiBFbnRyeSB7
Ci0gICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gW0NhbGxiYWNrXSBGaWxlV3JpdGVyQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwotICAgIHZvaWQgZmlsZShpbiBbQ2FsbGJhY2tdIEZpbGVDYWxsYmFjayBz
dWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjayk7CisgICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gRmlsZVdyaXRlckNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOworICAgIHZvaWQgZmlsZShpbiBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVt
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0Rmls
ZVN5c3RlbS5pZGwKaW5kZXggOTBjZjZhOS4uNDg2ZDgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0
ZW0uaWRsCkBAIC0zMCw5ICszMCw5IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVNUE9S
QVJZID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKIAotICAg
IHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4g
bG9uZyBsb25nIHNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEZpbGVTeXN0ZW1DYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbShpbiB1bnNp
Z25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwgaW4gW09wdGlvbmFsXSBGaWxlU3lz
dGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgRE9NRmlsZVN5c3RlbVN5bmMgd2Via2l0UmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplKSByYWlz
ZXMgKEZpbGVFeGNlcHRpb24pOwotICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3Rl
bVVSTChpbiBET01TdHJpbmcgdXJsLCBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVSTChpbiBET01T
dHJpbmcgdXJsLCBpbiBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIEVudHJ5U3luYyB3ZWJraXRSZXNv
bHZlTG9jYWxGaWxlU3lzdGVtU3luY1VSTChpbiBET01TdHJpbmcgdXJsKSByYWlzZXMgKEZpbGVF
eGNlcHRpb24pOwogCiAgICAgYXR0cmlidXRlIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJv
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdh
dG9yTWVkaWFTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGwKaW5kZXggNWQzOTlhOC4uZDE2OTFjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYVN0cmVh
bS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JN
ZWRpYVN0cmVhbS5pZGwKQEAgLTIxLDggKzIxLDggQEAKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgdm9pZCB3ZWJraXRH
ZXRVc2VyTWVkaWEoaW4gRGljdGlvbmFyeSBvcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCmluZGV4IGEwZGMxY2UuLjZkZDE2OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaWRsCkBAIC0zNiwxOCArMzYsMTggQEAKICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0LAogICAgIEV2ZW50VGFyZ2V0CiBdIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlv
biB7Ci0gICAgdm9pZCBjcmVhdGVPZmZlcihpbiBbQ2FsbGJhY2tdIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLE9wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRlT2ZmZXIo
aW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFj
aywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWludHMpCiAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gW0NhbGxiYWNr
XSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxs
YmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1
cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWludHMpCisg
ICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNh
bGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29u
c3RyYWludHMpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBzZXRM
b2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBS
VENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lkIHNldExvY2FsRGVzY3Jp
cHRpb24oaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFj
aykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBsb2NhbERlc2NyaXB0aW9uCiAgICAgICAgIGdldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4g
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFp
bHVyZUNhbGxiYWNrKQorICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4gUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbiByZW1vdGVEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CkBAIC03Miw3ICs3Miw3IEBACiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1v
dmVTdHJlYW0oaW4gTWVkaWFTdHJlYW0gc3RyZWFtKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAotICAgIHZvaWQgZ2V0U3RhdHMoaW4gW0NhbGxiYWNrXSBSVENTdGF0c0NhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTWVkaWFT
dHJlYW1UcmFjayBzZWxlY3Rvcik7CisgICAgdm9pZCBnZXRTdGF0cyhpbiBSVENTdGF0c0NhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTWVk
aWFTdHJlYW1UcmFjayBzZWxlY3Rvcik7CiAKICAgICBSVENEYXRhQ2hhbm5lbCBjcmVhdGVEYXRh
Q2hhbm5lbChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nXSBET01TdHJpbmcgbGFiZWwsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBvcHRpb25z
KQogICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDE5NGU4OWIu
LjM4NzA4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC01MSw3ICs1MSw3IEBACiAKICNpZiBkZWZpbmVkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgIHN0YXRpYyBy
ZWFkb25seSBhdHRyaWJ1dGUgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIERPTVN0
cmluZyBwZXJtaXNzaW9uOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBz
dGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0
aW9uYWxdIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CiAjZW5kaWYK
IAogICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwKaW5kZXggYWUxYTU1OC4uMmE3ZDM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKQEAgLTM3
LDYgKzM3LDYgQEAKICAgIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmljYXRpb24oaW4gRE9NU3Ry
aW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9NU3RyaW5nIGJvZHkpIHJhaXNl
cyhET01FeGNlcHRpb24pOwogCiAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBjYWxs
YmFjayk7CisgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbF0gVm9pZENhbGxi
YWNrIGNhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cXVvdGEvU3RvcmFnZUluZm8uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9y
YWdlSW5mby5pZGwKaW5kZXggMzhmN2I5My4uYjY5ZDNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKQEAgLTMxLDYgKzMxLDYgQEAKICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFBFUlNJU1RFTlQgPSAxOwogCi0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IHZvaWQgcXVlcnlVc2FnZUFuZFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBlLCBp
biBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0
UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIHVuc2lnbmVkIGxvbmcgbG9u
ZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNh
bGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiB1bnNpZ25lZCBzaG9ydCBzdG9yYWdl
VHlwZSwgaW4gW09wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNp
Z25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5C
eXRlcywgaW4gW09wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAppbmRleCA0MzY0
ZjViLi40YTY0ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VRdW90YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaWRsCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgT21pdENvbnN0cnVjdG9yLAogICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIFN0b3JhZ2VRdW90YSB7Ci0gICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcXVlcnlVc2FnZUFuZFF1b3Rh
KGluIFtDYWxsYmFja10gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGlu
IHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0
aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiBTdG9y
YWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJ
bkJ5dGVzLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCmlu
ZGV4IDRmMTliNDguLjc0MWE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKQEAgLTUxLDcgKzUxLDcgQEAKICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBBc3luY2hyb25vdXMgYXVkaW8gZmlsZSBkYXRhIGRl
Y29kaW5nLgotICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0
YSwgaW4gW0NhbGxiYWNrXSBBdWRpb0J1ZmZlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gQXVkaW9CdWZmZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQor
ICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwgaW4gQXVk
aW9CdWZmZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gQXVkaW9CdWZm
ZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
IAogICAgIC8vIFNvdXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKaW5kZXggMWYzMWUxZC4uMDc0
NWExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01X
aW5kb3dXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKQEAgLTI3LDcgKzI3LDcgQEAKIFsKICAgICBD
b25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7
Ci0gICAgRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJp
bmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVz
dGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3Jl
YXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5h
bWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVu
c2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNr
IGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2lmICFk
ZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAogICAgIGF0dHJpYnV0ZSBTUUxF
eGNlcHRpb25Db25zdHJ1Y3RvciBTUUxFeGNlcHRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCmluZGV4IDVmNjQ4OTcuLjNlZmUzOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCkBA
IC0zMiw4ICszMiw4IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZhY2UgRGF0YWJh
c2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVyc2lvbjsKLSAgICB2b2lk
IGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdW
ZXJzaW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNh
bGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjayk7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRy
YW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlv
bmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsKLSAgICB2b2lkIHJlYWRUcmFuc2Fj
dGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
KTsKKyAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERP
TVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sg
Y2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2ssIGluIFtPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7Cisg
ICAgdm9pZCB0cmFuc2FjdGlvbihpbiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBp
biBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgcmVh
ZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwKaW5kZXggMTMw
MWVhYi4uM2I0ZmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVN5bmMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VTeW5jLmlkbApAQCAtMzUsOCArMzUsOCBAQAogXSBpbnRlcmZhY2UgRGF0
YWJhc2VTeW5jIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZlcnNpb247CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYXN0RXJyb3JNZXNzYWdlOwotICAgIHZv
aWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3RyaW5nIG5l
d1ZlcnNpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lkIHRyYW5zYWN0aW9u
KGluIFtDYWxsYmFja10gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNl
cyhET01FeGNlcHRpb24pOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFtDYWxsYmFja10g
U1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRpb24p
OworICAgIHZvaWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9N
U3RyaW5nIG5ld1ZlcnNpb24sIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJh
Y2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgIHZvaWQgdHJhbnNhY3Rpb24o
aW4gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKaW5kZXgg
YTU3ZGYxNi4uNTNhOTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKIF0gaW50ZXJm
YWNlIFNRTFRyYW5zYWN0aW9uIHsKICAgICBbQ3VzdG9tXSB2b2lkIGV4ZWN1dGVTcWwoaW4gRE9N
U3RyaW5nIHNxbFN0YXRlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gT2Jq
ZWN0QXJyYXkgYXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3RhdGVtZW50
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbAppbmRl
eCA1YTFlNWU5Li5kOGI5ZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsCkBAIC0y
NywxMCArMjcsMTAgQEAKIFsKICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIHBhcnRp
YWwgaW50ZXJmYWNlIFdvcmtlckNvbnRleHQgewotICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShp
biBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNw
bGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJhc2Ug
b3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4g
RE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGlu
IFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIERhdGFiYXNlU3luYyBvcGVuRGF0YWJhc2VTeW5j
KGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRp
c3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFz
ZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZl
cnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0
ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykK
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggMjkyZGY2NC4uNGEwNWNm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbQpAQCAtNiw2ICs2LDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDA5LCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA5
IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHly
aWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
IwogIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCkBAIC00MjUsNiArNDI2LDEwIEBAIHN1YiBJc1JlZlB0clR5cGUKICAg
ICByZXR1cm4gMCBpZiAkb2JqZWN0LT5HZXRBcnJheVR5cGUoJHR5cGUpOwogICAgIHJldHVybiAw
IGlmICRvYmplY3QtPkdldFNlcXVlbmNlVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJuIDAgaWYgJHR5
cGUgZXEgIkRPTVN0cmluZyI7CisgICAgcmV0dXJuIDAgaWYgJHR5cGUgZXEgIkNvbXBhcmVIb3ci
OworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJEaWN0aW9uYXJ5IjsKKyAgICByZXR1cm4gMCBp
ZiAkdHlwZSBlcSAiQXJyYXkiOworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJhbnkiOwogICAg
IHJldHVybiAwIGlmICRvYmplY3QtPklzRW51bVR5cGUoJHR5cGUpOwogCiAgICAgcmV0dXJuIDE7
CkBAIC02NjUsNiArNjcwLDI1IEBAIHN1YiBTZXR0ZXJFeHByZXNzaW9uCiAgICAgcmV0dXJuICgk
ZnVuY3Rpb25OYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOwogfQogCitzdWIgSXNDYWxsYmFj
a0ludGVyZmFjZQoreworICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgIG15ICR0eXBlID0gc2hpZnQ7
CisKKyAgcmV0dXJuIDAgdW5sZXNzICRvYmplY3QtPklzUmVmUHRyVHlwZSgkdHlwZSk7CisgIHJl
dHVybiAwIGlmICR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiOworCisgIG15ICRpZGxG
aWxlID0gJG9iamVjdC0+SURMRmlsZUZvckludGVyZmFjZSgkdHlwZSkKKyAgICAgIG9yIGRpZSgi
Q291bGQgTk9UIGZpbmQgSURMIGZpbGUgZm9yIGludGVyZmFjZSBcIiR0eXBlXCIhXG4iKTsKKwor
ICBvcGVuIEZJTEUsICI8IiwgJGlkbEZpbGU7CisgIG15IEBsaW5lcyA9IDxGSUxFPjsKKyAgY2xv
c2UgRklMRTsKKworICBteSAkZmlsZUNvbnRlbnRzID0gam9pbignJywgQGxpbmVzKTsKKyAgcmV0
dXJuICgkZmlsZUNvbnRlbnRzID1+IC9jYWxsYmFja1xzK2ludGVyZmFjZVxzKyhcdyspL2dzKTsK
K30KKwogc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcKIHsKICAgICBteSAkZ2VuZXJhdG9y
ID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCA2OWMwZGIxLi4wMmMyZDNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG0KQEAgLTI5MywxMiArMjkzLDEyIEBAIHN1YiBTa2lwRnVuY3Rpb24gewogICAgICAgICBy
ZXR1cm4gMTsKICAgICB9CiAKLSAgICAjIFNraXAgZnVuY3Rpb25zIHRoYXQgaGF2ZSBbIkNhbGxi
YWNrIl0gcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCisgICAgIyBTa2lwIGZ1bmN0aW9ucyB0aGF0
IGhhdmUgY2FsbGJhY2sgcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCiAgICAgIyBjb2RlIGdlbmVy
YXRvciBkb2Vzbid0IGtub3cgaG93IHRvIGF1dG8tZ2VuZXJhdGUgY2FsbGJhY2tzLgogICAgICMg
U2tpcCBmdW5jdGlvbnMgdGhhdCBoYXZlICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiBvciBzZXF1
ZW5jZTxUPiBwYXJhbWV0ZXJzLCBiZWNhdXNlIHRoaXMKICAgICAjIGNvZGUgZ2VuZXJhdG9yIGRv
ZXNuJ3Qga25vdyBob3cgdG8gYXV0by1nZW5lcmF0ZSBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIG9y
IHNlcXVlbmNlPFQ+LgogICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAeyRmdW5jdGlvbi0+cGFyYW1l
dGVyc30pIHsKLSAgICAgICAgaWYgKCRwYXJhbS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxi
YWNrIn0gfHwKKyAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNl
KCRwYXJhbS0+dHlwZSkgfHwKICAgICAgICAgICAgICRwYXJhbS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNsYW1wIn0gfHwKICAgICAgICAgICAgICRwYXJhbS0+dHlwZSBlcSAiTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciIgfHwKICAgICAgICAgICAgICRjb2RlR2VuZXJhdG9yLT5HZXRTZXF1ZW5jZVR5
cGUoJHBhcmFtLT50eXBlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5NzFiZmQ1Li41ZmQwZjhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAt
MTAsNiArMTAsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTEgUGF0cmljayBHYW5zdGVyZXIgPHBh
cm9nYUB3ZWJraXQub3JnPgogIyBDb3B5cmlnaHQgKEMpIDIwMTIgRXJpY3Nzb24gQUIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMiBH
b29nbGUgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTI5Myw3ICsxMjk0LDcgQEAg
c3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICAgICAgICAgIHB1
c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNVbmRlZmluZWRPck51bGwoKSB8fCAke3Zh
bHVlfS5pc1N0cmluZygpIHx8ICR7dmFsdWV9LmlzT2JqZWN0KCkpIik7CiAgICAgICAgICAgICAg
ICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgIH0gZWxzaWYgKCRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFj
ayJ9KSB7CisgICAgICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJm
YWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAjIEZvciBDYWxsYmFja3Mgb25s
eSBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgogICAgICAgICAgICAgcHVz
aChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAke3ZhbHVlfS5pc0Z1bmN0
aW9uKCkpIik7CiAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5kZXh9ID0g
MTsKQEAgLTI4OTgsNyArMjg5OSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAg
ICAgICAjIE9wdGlvbmFsIGFyZ3VtZW50cyB3aXRoIFtPcHRpb25hbD0uLi5dIHNob3VsZCBub3Qg
Z2VuZXJhdGUgdGhlIGVhcmx5IGNhbGwuCiAgICAgICAgICMgT3B0aW9uYWwgRGljdGlvbmFyeSBh
cmd1bWVudHMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBkZWZhdWx0IG9mIGVtcHR5IGRpY3Rp
b25hcnkuCiAgICAgICAgIG15ICRvcHRpb25hbCA9ICRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJPcHRpb25hbCJ9OwotICAgICAgICBpZiAoJG9wdGlvbmFsICYmICRvcHRpb25hbCBu
ZSAiRGVmYXVsdElzVW5kZWZpbmVkIiAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc051bGxTdHJp
bmciICYmICRhcmdUeXBlIG5lICJEaWN0aW9uYXJ5IiAmJiAhJHBhcmFtZXRlci0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgaWYgKCRvcHRpb25hbCAmJiAkb3B0
aW9uYWwgbmUgIkRlZmF1bHRJc1VuZGVmaW5lZCIgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNO
dWxsU3RyaW5nIiAmJiAkYXJnVHlwZSBuZSAiRGljdGlvbmFyeSIgJiYgISRjb2RlR2VuZXJhdG9y
LT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAj
IEdlbmVyYXRlIGVhcmx5IGNhbGwgaWYgdGhlcmUgYXJlIGVub3VnaCBwYXJhbWV0ZXJzLgogICAg
ICAgICAgICAgaWYgKCEkaGFzT3B0aW9uYWxBcmd1bWVudHMpIHsKICAgICAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICJcbiAgICBzaXplX3QgYXJnc0NvdW50ID0gZXhlYy0+YXJndW1l
bnRDb3VudCgpO1xuIik7CkBAIC0yOTI2LDcgKzI5MjcsNyBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0
ZXJzQ2hlY2sKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmVzb2x2ZXIgPSBjdXN0b21SZXNvbHZlci5nZXQo
KTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIH1cbiIpOwotICAg
ICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2si
fSkgeworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFj
ZSgkcGFyYW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgbXkgJGNhbGxiYWNrQ2xhc3NOYW1l
ID0gR2V0Q2FsbGJhY2tDbGFzc05hbWUoJGFyZ1R5cGUpOwogICAgICAgICAgICAgJGltcGxJbmNs
dWRlc3siJGNhbGxiYWNrQ2xhc3NOYW1lLmgifSA9IDE7CiAgICAgICAgICAgICBpZiAoJG9wdGlv
bmFsKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0
dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dAppbmRleCAzMmM4OTA5Li5kMjRmNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTIyLDcgKzIyLDYgQEAgQWN0
aXZlRE9NT2JqZWN0CiBDUFBQdXJlSW50ZXJmYWNlCiBDYWNoZWRBdHRyaWJ1dGUKIENhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHR8U2NyaXB0U3RhdGV8U2NyaXB0QXJndW1lbnRzfENhbGxT
dGFjawotQ2FsbGJhY2sKIENoZWNrU2VjdXJpdHkKIENoZWNrU2VjdXJpdHlGb3JOb2RlCiBDbGFt
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdE9iai5jcHAKaW5kZXggZDY1MTAxMC4uZDBmZGU1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RPYmouY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNs
dWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXN0RW51bVR5cGUuaCIK
KyNpbmNsdWRlICJUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIldlYkRPTURpY3Rpb25hcnkuaCIKICNp
bmNsdWRlICJXZWJET01Eb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYkRPTU5vZGUuaCIKQEAgLTM2
LDE5ICszNywxMiBAQAogI2luY2x1ZGUgIldlYkRPTVNWR1BvaW50LmgiCiAjaW5jbHVkZSAiV2Vi
RE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdEVudW1UeXBlLmgiCisjaW5jbHVkZSAi
V2ViRE9NVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01UZXN0T2JqLmgiCi0jaW5jbHVkZSAi
V2ViRE9NYS5oIgotI2luY2x1ZGUgIldlYkRPTWIuaCIKICNpbmNsdWRlICJXZWJET01ib29sLmgi
Ci0jaW5jbHVkZSAiV2ViRE9NZC5oIgotI2luY2x1ZGUgIldlYkRPTWUuaCIKICNpbmNsdWRlICJX
ZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViTmF0aXZlRXZlbnRMaXN0ZW5lci5o
IgotI2luY2x1ZGUgImEuaCIKLSNpbmNsdWRlICJiLmgiCiAjaW5jbHVkZSAiYm9vbC5oIgotI2lu
Y2x1ZGUgImQuaCIKLSNpbmNsdWRlICJlLmgiCiAjaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3Ry
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTk3Miw3ICs5NjYsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6Om92ZXJsb2FkZWRNZXRob2Qx
KGNvbnN0IFdlYkRPTVN0cmluZyYgdHlwZSkKIAogI2VuZGlmCiAKLXZvaWQgV2ViRE9NVGVzdE9i
ajo6Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQxKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkK
ICAgICAgICAgcmV0dXJuOwpAQCAtOTgwLDcgKzk3NCw3IEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6
Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCiAgICAgaW1wbCgpLT5jb252ZXJ0MSh0b1dl
YkNvcmUodmFsdWUpKTsKIH0KIAotdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihjb25zdCBX
ZWJET01iJiB2YWx1ZSkKK3ZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9N
VGVzdE5vZGUmIHZhbHVlKQogewogICAgIGlmICghaW1wbCgpKQogICAgICAgICByZXR1cm47CkBA
IC05ODgsNyArOTgyLDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihjb25zdCBXZWJE
T01iJiB2YWx1ZSkKICAgICBpbXBsKCktPmNvbnZlcnQyKHRvV2ViQ29yZSh2YWx1ZSkpOwogfQog
Ci12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKQordm9p
ZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7
CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk5Niw3ICs5OTAsNyBAQCB2
b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKQogICAgIGlt
cGwoKS0+Y29udmVydDQodG9XZWJDb3JlKHZhbHVlKSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9i
ajo6Y29udmVydDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCBjMWMxN2QyLi5iYmQxZGZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RPYmouaApAQCAtMzgsMTIgKzM4LDkgQEAgY2xhc3MgV2ViRE9NT2JqZWN0Owog
Y2xhc3MgV2ViRE9NU1ZHUG9pbnQ7CiBjbGFzcyBXZWJET01TdHJpbmc7CiBjbGFzcyBXZWJET01U
ZXN0RW51bVR5cGU7CitjbGFzcyBXZWJET01UZXN0Tm9kZTsKIGNsYXNzIFdlYkRPTVRlc3RPYmo7
Ci1jbGFzcyBXZWJET01hOwotY2xhc3MgV2ViRE9NYjsKIGNsYXNzIFdlYkRPTWJvb2w7Ci1jbGFz
cyBXZWJET01kOwotY2xhc3MgV2ViRE9NZTsKIAogY2xhc3MgV2ViRE9NVGVzdE9iaiA6IHB1Ymxp
YyBXZWJET01PYmplY3QgewogcHVibGljOgpAQCAtMTkxLDEwICsxODgsMTAgQEAgcHVibGljOgog
I2lmIEVOQUJMRShDb25kaXRpb24xKQogICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZDEoY29uc3Qg
V2ViRE9NU3RyaW5nJiB0eXBlKTsKICNlbmRpZgotICAgIHZvaWQgY29udmVydDEoY29uc3QgV2Vi
RE9NYSYgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFsdWUpOwot
ICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NZCYgdmFsdWUpOwotICAgIHZvaWQgY29udmVy
dDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpOworICAgIHZvaWQgY29udmVydDEoY29uc3QgV2ViRE9N
VGVzdE5vZGUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTVRlc3ROb2Rl
JiB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUp
OworICAgIHZvaWQgY29udmVydDUoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKICAgICBX
ZWJET01TVkdQb2ludCBtdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogICAgIFdlYkRPTVNWR1BvaW50
IGltbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICB2b2lkIGJhbmFuYSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCA5MDI2NjUyLi4yM2RhNDFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmNwcApAQCAtMzMsMTIgKzMzLDkgQEAKICNpbmNsdWRlICJX
ZWJLaXRET01TVkdQb2ludFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TZXJpYWxpemVk
U2NyaXB0VmFsdWVQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NVGVzdEVudW1UeXBlUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdERPTVRlc3ROb2RlUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdERPTVRlc3RPYmpQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NYVByaXZhdGUu
aCIKLSNpbmNsdWRlICJXZWJLaXRET01iUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTWJv
b2xQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NZFByaXZhdGUuaCIKLSNpbmNsdWRlICJX
ZWJLaXRET01lUHJpdmF0ZS5oIgogI2luY2x1ZGUgImdvYmplY3QvQ29udmVydFRvVVRGOFN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC0xMzgwLDQ2ICsxMzc3LDQ2IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb3ZlcmxvYWRlZF9tZXRo
b2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiB0eXBlCiB9CiAKIHZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NYSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01f
SVNfQSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05P
REUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwotICAgIFdlYkNvcmU6OmEqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVl
KTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUo
dmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQxKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAot
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01iKiB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19CKHZhbHVlKSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9E
RSh2YWx1ZSkpOwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2Vs
Zik7Ci0gICAgV2ViQ29yZTo6YiogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUp
OworICAgIFdlYkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2
YWx1ZSk7CiAgICAgaXRlbS0+Y29udmVydDIoY29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktp
dERPTWQqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lT
X0QodmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RF
KHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxm
KTsKLSAgICBXZWJDb3JlOjpkKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7
CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZh
bHVlKTsKICAgICBpdGVtLT5jb252ZXJ0NChjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQKLXdl
YmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0
RE9NZSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9N
X0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNf
RSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05PREUo
dmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwotICAgIFdlYkNvcmU6OmUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsK
KyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFs
dWUpOwogICAgIGl0ZW0tPmNvbnZlcnQ1KGNvbnZlcnRlZFZhbHVlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGFmNTM2YjAuLjdjOTkyYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0T2JqLmgKQEAgLTQwNCw0NiArNDA0LDQ2IEBAIHdlYmtpdF9kb21fdGVzdF9v
Ympfb3ZlcmxvYWRlZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFy
KiB0eXBlCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDE6CiAgKiBAc2VsZjog
QSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJLaXRET01hCisgKiBAdmFsdWU6
IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoKICAqCiAqKi8KIFdFQktJVF9B
UEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBXZWJLaXRET01hKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSk7CiAKIC8qKgog
ICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MjoKICAqIEBzZWxmOiBBICNXZWJLaXRET01U
ZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWIKKyAqIEB2YWx1ZTogQSAjV2ViS2l0RE9N
VGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERP
TWIqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQ0OgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2
YWx1ZTogQSAjV2ViS2l0RE9NZAorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoK
ICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9v
YmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZCogdmFsdWUpOwor
d2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDU6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJL
aXRET01lCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoK
ICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NShX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01lKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2Rl
KiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9tdXRhYmxlX3BvaW50X2Z1
bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAppbmRleCBlMTAzOTc0Li4zYzNiYjZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAt
MzcsMTMgKzM3LDEwIEBACiAjaW5jbHVkZSAiSlNTVkdQb2ludC5oIgogI2luY2x1ZGUgIkpTU2Ny
aXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNU
ZXN0Tm9kZS5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgogI2luY2x1ZGUgIkpTVGVzdFN1Yk9i
ai5oIgotI2luY2x1ZGUgIkpTYS5oIgotI2luY2x1ZGUgIkpTYi5oIgogI2luY2x1ZGUgIkpTYm9v
bC5oIgotI2luY2x1ZGUgIkpTZC5oIgotI2luY2x1ZGUgIkpTZS5oIgogI2luY2x1ZGUgIktVUkwu
aCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1N0YXRpY1Byb3BlcnR5
VGVhck9mZi5oIgpAQCAtMjc4MCw3ICsyNzc3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmlt
cGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykp
OwotICAgIGEqIHZhbHVlKHRvYShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2
YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwogICAgIGltcGwtPmNvbnZlcnQxKHZhbHVlKTsKQEAgLTI3OTcsNyArMjc5NCw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0
MihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RP
YmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkg
PCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBiKiB2YWx1ZSh0b2IoZXhlYy0+YXJndW1lbnQoMCkp
KTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0Mih2YWx1ZSk7CkBAIC0yODE0
LDcgKzI4MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ29udmVydDQoRXhlY1N0YXRlKiBleGVjKQogICAgIFRlc3RPYmoqIGltcGwg
PSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKICAgICBpZiAoZXhl
Yy0+YXJndW1lbnRDb3VudCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVj
LCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAgZCogdmFsdWUodG9k
KGV4ZWMtPmFyZ3VtZW50KDApKSk7CisgICAgVGVzdE5vZGUqIHZhbHVlKHRvVGVzdE5vZGUoZXhl
Yy0+YXJndW1lbnQoMCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+Y29udmVy
dDQodmFsdWUpOwpAQCAtMjgzMSw3ICsyODI4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ1KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmlt
cGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykp
OwotICAgIGUqIHZhbHVlKHRvZShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2
YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwogICAgIGltcGwtPmNvbnZlcnQ1KHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRleCA3MTUwMDYxLi43
YTYzMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC0zNCwxNiArMzQsMTMgQEAKIEBjbGFzcyBET01TVkdE
b2N1bWVudDsKIEBjbGFzcyBET01TVkdQb2ludDsKIEBjbGFzcyBET01UZXN0RW51bVR5cGU7CitA
Y2xhc3MgRE9NVGVzdE5vZGU7CiBAY2xhc3MgRE9NVGVzdE9iajsKIEBjbGFzcyBET01UZXN0T2Jq
ZWN0QUNvbnN0cnVjdG9yOwogQGNsYXNzIERPTVRlc3RPYmplY3RCQ29uc3RydWN0b3I7CiBAY2xh
c3MgRE9NVGVzdE9iamVjdENDb25zdHJ1Y3RvcjsKLUBjbGFzcyBET01hOwogQGNsYXNzIERPTWFu
eTsKLUBjbGFzcyBET01iOwogQGNsYXNzIERPTWJvb2w7Ci1AY2xhc3MgRE9NZDsKLUBjbGFzcyBE
T01lOwogQGNsYXNzIE5TU3RyaW5nOwogQHByb3RvY29sIERPTUV2ZW50TGlzdGVuZXI7CiAKQEAg
LTE3MiwxMCArMTY5LDEwIEBAIGVudW0gewogLSAodm9pZClvdmVybG9hZGVkTWV0aG9kMTooTlNT
dHJpbmcgKil0eXBlOwogI2VuZGlmCiAtIChET01TVkdEb2N1bWVudCAqKWdldFNWR0RvY3VtZW50
OwotLSAodm9pZCljb252ZXJ0MTooRE9NYSAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0MjooRE9N
YiAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlOwotLSAodm9pZCljb252
ZXJ0NTooRE9NZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0MTooRE9NVGVzdE5vZGUgKil2YWx1
ZTsKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWU7CistICh2b2lkKWNvbnZl
cnQ0OihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NTooRE9NVGVzdE5vZGUg
Kil2YWx1ZTsKIC0gKERPTVNWR1BvaW50ICopbXV0YWJsZVBvaW50RnVuY3Rpb247CiAtIChET01T
VkdQb2ludCAqKWltbXV0YWJsZVBvaW50RnVuY3Rpb247CiAtICh2b2lkKW9yYW5nZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmoubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
T2JqLm1tCmluZGV4IDNkYTE0OTAuLjg5OTZmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAtNDAsMTYg
KzQwLDEzIEBACiAjaW1wb3J0ICJET01TVkdQb2ludEludGVybmFsLmgiCiAjaW1wb3J0ICJET01T
dHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RFbnVtVHlwZUludGVybmFsLmgi
CisjaW1wb3J0ICJET01UZXN0Tm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0T2JqSW50
ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RPYmplY3RBQ29uc3RydWN0b3JJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NVGVzdE9iamVjdEJDb25zdHJ1Y3RvckludGVybmFsLmgiCiAjaW1wb3J0ICJE
T01UZXN0T2JqZWN0Q0NvbnN0cnVjdG9ySW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWFJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRE9NYW55SW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWJJbnRlcm5hbC5o
IgogI2ltcG9ydCAiRE9NYm9vbEludGVybmFsLmgiCi0jaW1wb3J0ICJET01kSW50ZXJuYWwuaCIK
LSNpbXBvcnQgIkRPTWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRGljdGlvbmFyeS5oIgogI2ltcG9y
dCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKQEAgLTYzLDYgKzYwLDcg
QEAKICNpbXBvcnQgIlNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIgogI2ltcG9ydCAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgiCiAjaW1wb3J0ICJUZXN0RW51bVR5cGUuaCIKKyNpbXBvcnQgIlRl
c3ROb2RlLmgiCiAjaW1wb3J0ICJUZXN0T2JqLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0QUNvbnN0
cnVjdG9yLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0QkNvbnN0cnVjdG9yLmgiCkBAIC03MCwxMiAr
NjgsOCBAQAogI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKICNpbXBvcnQgIldlYkNvcmVPYmpDRXh0
cmFzLmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCi0jaW1wb3J0ICJhLmgi
CiAjaW1wb3J0ICJhbnkuaCIKLSNpbXBvcnQgImIuaCIKICNpbXBvcnQgImJvb2wuaCIKLSNpbXBv
cnQgImQuaCIKLSNpbXBvcnQgImUuaCIKICNpbXBvcnQgPHd0Zi9HZXRQdHIuaD4KIAogI2RlZmlu
ZSBJTVBMIHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6VGVzdE9iaio+KF9pbnRlcm5hbCkKQEAg
LTEwNDEsMjUgKzEwMzUsMjUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0tICh2b2lkKWNv
bnZlcnQxOihET01hICopdmFsdWUKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFs
dWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1Q
TC0+Y29udmVydDEoY29yZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQyOihET01iICop
dmFsdWUKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDIoY29y
ZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQ0OihET01kICopdmFsdWUKKy0gKHZvaWQp
Y29udmVydDQ6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDQoY29yZSh2YWx1ZSkpOwogfQog
Ci0tICh2b2lkKWNvbnZlcnQ1OihET01lICopdmFsdWUKKy0gKHZvaWQpY29udmVydDU6KERPTVRl
c3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CiAgICAgSU1QTC0+Y29udmVydDUoY29yZSh2YWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDk1ODc5NTQuLjk1OWVh
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGwKQEAgLTMzLDcgKzMzLDcgQEAKIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJFbnVtVmFs
dWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKIAogWwotICAgIENvbnN0cnVjdG9y
KGluIFtDYWxsYmFja10gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCisgICAgQ29uc3RydWN0
b3IoaW4gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCiAgICAgSW50ZXJmYWNlTmFtZT1UZXN0
T2JqZWN0CiBdIGludGVyZmFjZSBUZXN0T2JqIHsKICAgICAvLyBBdHRyaWJ1dGVzCkBAIC0xNDMs
MTIgKzE0MywxMiBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIsICJFbnVt
VmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAKICNpZiBkZWZpbmVkKFRFU1RJTkdfSlMpCiAgICAg
Ly8gJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhD
YWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgdm9p
ZCAgICBtZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25nIG5vbkNh
bGxiYWNrLCBpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgdm9pZCAg
ICBtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
XSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNr
QXJnKGluIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBtZXRob2RXaXRoTm9u
Q2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25nIG5vbkNhbGxiYWNrLCBpbiBUZXN0Q2Fs
bGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9u
YWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIC8vIHN0YXRp
YyBtZXRob2RzIHdpdGggJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICBzdGF0aWMg
dm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHN0YXRpYyB2b2lkICAg
IHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBj
YWxsYmFjayk7CisgICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQW5k
T3B0aW9uYWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHN0
YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBUZXN0Q2FsbGJhY2sg
Y2FsbGJhY2spOwogI2VuZGlmCiAKICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVkIGF0dHJp
YnV0ZQpAQCAtMTgwLDcgKzE4MCw3IEBAIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJFbnVtVmFs
dWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKICAgICB2b2lkICAgIG92ZXJsb2Fk
ZWRNZXRob2QoaW4gVGVzdE9iaj8gb2JqQXJnLCBpbiBbT3B0aW9uYWxdIGxvbmcgbG9uZ0FyZyk7
CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFtTdHJpY3RUeXBlQ2hlY2tpbmddIERP
TVN0cmluZyBzdHJBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBsb25nIGxv
bmdBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBbQ2FsbGJhY2tdIFRlc3RD
YWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFRlc3RD
YWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIERPTVN0
cmluZ0xpc3Q/IGxpc3RBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01T
dHJpbmdbXT8gYXJyYXlBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0
T2JqIG9iakFyZyk7CkBAIC0yMTAsMTAgKzIxMCwxMCBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIi
LCAiRW51bVZhbHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAgICAgW0NoZWNr
U2VjdXJpdHlGb3JOb2RlXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjb252ZXJ0MShpbiBbVHJlYXRSZXR1cm5l
ZE51bGxTdHJpbmdBcz1OdWxsXSBhIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQyKGluIFtUcmVh
dFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gYiB2YWx1ZSk7Ci0gICAgdm9pZCBjb252
ZXJ0NChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gZCB2YWx1ZSk7Ci0gICAgdm9pZCBjb252
ZXJ0NShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3Ry
aW5nXSBlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGluIFtUcmVhdFJldHVybmVkTnVsbFN0
cmluZ0FzPU51bGxdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGluIFtUcmVh
dFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gVGVzdE5vZGUgdmFsdWUpOworICAgIHZv
aWQgY29udmVydDQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZhbHVlKTsK
KyAgICB2b2lkIGNvbnZlcnQ1KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVm
aW5lZEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZhbHVlKTsKIAogICAgIGF0dHJpYnV0ZSBTVkdQ
b2ludCBtdXRhYmxlUG9pbnQ7CiAgICAgW0ltbXV0YWJsZV0gYXR0cmlidXRlIFNWR1BvaW50IGlt
bXV0YWJsZVBvaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAppbmRleCA3ODUxMDg5Li43Njg1MzBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlk
bApAQCAtNzQsNyArNzQsNyBAQCB0eXBlZGVmIFNWR1BvaW50ICAgICAgICAgICAgICAgICAgIFNW
R1BPSU5UOwogdHlwZWRlZiBET01TdHJpbmcgICAgICAgICAgICAgICAgICBTVFJJTkc7CiB0eXBl
ZGVmIFtPcHRpb25hbF0gRE9NU3RyaW5nICAgICAgIE9QVElPTkFMX1NUUklORzsKIHR5cGVkZWYg
RE9NU3RyaW5nW10gICAgICAgICAgICAgICAgQVJSQVlfT0ZfU1RSSU5HUzsKLXR5cGVkZWYgW0Nh
bGxiYWNrXSBUZXN0Q2FsbGJhY2sgICAgVEVTVF9DQUxMQkFDSzsKK3R5cGVkZWYgVGVzdENhbGxi
YWNrICAgICAgICAgICAgICAgVEVTVF9DQUxMQkFDSzsKIHR5cGVkZWYgVGVzdFN1Yk9iakNvbnN0
cnVjdG9yICAgICAgVDsKIHR5cGVkZWYgQXJyYXkgICAgICAgICAgICAgICAgICAgICAgQVJSQVk7
CiB0eXBlZGVmIERPTUV4Y2VwdGlvbiAgICAgICAgICAgICAgIEU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExv
YWRlci5pZGwKaW5kZXggZGEyOTZlNi4uMTkxYzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0ZvbnRMb2FkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVy
LmlkbApAQCAtNDMsNyArNDMsNyBAQAogCiAgICAgYm9vbGVhbiBjaGVja0ZvbnQoaW4gRE9NU3Ry
aW5nIGZvbnQsIGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgdGV4
dCk7CiAgICAgdm9pZCBsb2FkRm9udChpbiBEaWN0aW9uYXJ5IHBhcmFtcyk7Ci0gICAgdm9pZCBu
b3RpZnlXaGVuRm9udHNSZWFkeShpbiBbQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7
CisgICAgdm9pZCBub3RpZnlXaGVuRm9udHNSZWFkeShpbiBWb2lkQ2FsbGJhY2sgY2FsbGJhY2sp
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGxvYWRpbmc7CiAKICAgICB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRy
YW5zZmVySXRlbS5pZGwKaW5kZXggN2MzMzg5My4uMjFiNTA5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmlkbApAQCAtMzUsNyArMzUsNyBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcga2luZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHR5cGU7CiAKLSAgICB2b2lkIGdldEFzU3RyaW5nKGluIFtDYWxsYmFjayxPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIFN0cmluZ0NhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkIGdldEFz
U3RyaW5nKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFN0cmluZ0NhbGxiYWNrIGNh
bGxiYWNrKTsKICAgICBCbG9iIGdldEFzRmlsZSgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsCmluZGV4IGEyZDljYWMuLjIwMzJkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTE5Nyw5ICsxOTcsOSBAQAogICAgIHZvaWQgY2xlYXJJbnRlcnZhbChpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBsb25nIGhhbmRsZSk7CiAKICNpZiBkZWZpbmVkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJiYgRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FCi0gICAgbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gW0NhbGxiYWNrXSBSZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CisgICAgbG9uZyByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoaW4gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOwogICAg
IHZvaWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7Ci0gICAgbG9uZyB3ZWJraXRS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gW0NhbGxiYWNrXSBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFjayBjYWxsYmFjayk7CisgICAgbG9uZyB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
aW4gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOwogICAgIFtJbXBsZW1l
bnRlZEFzPWNhbmNlbEFuaW1hdGlvbkZyYW1lXSB2b2lkIHdlYmtpdENhbmNlbEFuaW1hdGlvbkZy
YW1lKGluIGxvbmcgaWQpOwogICAgIFtJbXBsZW1lbnRlZEFzPWNhbmNlbEFuaW1hdGlvbkZyYW1l
XSB2b2lkIHdlYmtpdENhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBsb25nIGlkKTsgLy8g
VGhpcyBpcyBhIGRlcHJlY2F0ZWQgYWxpYXMgZm9yIHdlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1l
KCkuIFJlbW92ZSB0aGlzIHdoZW4gcmVtb3ZpbmcgdmVuZG9yIHByZWZpeC4KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199866</attachid>
            <date>2013-04-26 15:07:19 -0700</date>
            <delta_ts>2013-04-26 16:36:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>52214</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li40YzU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgVXNlIFdlYkNvcmUvTW9kdWxlcyBhcyBJREwgaW5jbHVkZSBwYXRo
IGluc3RlYWQgb2YgdXNpbmcgc3ViZGlycy4gVGhlIGdlbmVyYXRvcgorICAgICAgICB3aWxsIHNl
YXJjaCByZWN1cnNpdmVseSBhbnl3YXkgYW5kIHRoZSBsaXN0IG9mIHN1YmRpcnMgd2FzIGluY29t
cGxldGUuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3Rl
bS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlRW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9Xb3Jr
ZXJDb250ZXh0RmlsZVN5c3RlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGw6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlU3luYy5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlv
bi5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0
YWJhc2UuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToK
KyAgICAgICAgKElzUmVmUHRyVHlwZSk6CisgICAgICAgIChJc0NhbGxiYWNrSW50ZXJmYWNlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgorICAg
ICAgICAoU2tpcEZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6
CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVy
dDEpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDIpOgorICAgICAgICAoV2ViRE9N
VGVzdE9iajo6Y29udmVydDQpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
OgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MSk6CisgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpf
Y29udmVydDQpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MSk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDQpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RP
YmogY29udmVydDE6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29udmVydDI6XSk6CisgICAg
ICAgICgtW0RPTVRlc3RPYmogY29udmVydDQ6XSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogY29u
dmVydDU6XSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsOgorICAgICAg
ICAqIGNzcy9Gb250TG9hZGVyLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEzLTA0LTI2ICBEYWtlciBG
ZXJuYW5kZXMgUGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIENoYW5nZSBSZW5kZXJNZXRlcjo6dmFsdWVSYXRpbygpIHZpc2liaWxpdHkgdG8gcHVibGlj
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZGY3YTMyLi43NDdkNWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk3MCwyMSArOTcwLDcgQEAgcHJlcHJvY2Vz
c19pZGxzX3NjcmlwdCA9IHBlcmwgJChhZGRwcmVmaXggLUkgJChXZWJDb3JlKS8sICQoc29ydCAk
KGRpciAkKDEpKSkpICQKICMgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCiAKIElETF9JTkNMVURFUyA9
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmF0dGVyeSBcCi0JJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9n
ZW9sb2NhdGlvbiBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9uZXR3b3JraW5mbyBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9z
cGVlY2ggXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy92aWJyYXRpb24gXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpbyBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNl
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cyBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3JlKS9kb20gXAogICAg
ICQoV2ViQ29yZSkvZmlsZWFwaSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFjYjk3MDYuLmE5
NWY1YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zNjUsMTggKzM2NSw3IEBAIERlcml2ZWRT
b3VyY2VzL0FOR0xFL2dsc2xhbmdfdGFiLmNwcDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL2dsc2xhCiBEZXJpdmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5oOiBEZXJp
dmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5jcHAKIAogSURMX1BBVEggOj0gXAotICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2Ft
ZXBhZCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3Vy
Y2UgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCi0gICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1p
dHkgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmF1ZGlvIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXAotICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMg
XAogICAgICQoV2ViQ29yZSkvYmluZGluZ3MvanMgXAogICAgICQoV2ViQ29yZSkvY3NzIFwKICAg
ICAkKFdlYkNvcmUpL2RvbSBcCkBAIC0zODUsNiArMzc0LDcgQEAgSURMX1BBVEggOj0gXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cgXAog
ICAgICQoV2ViQ29yZSkvaHRtbC90cmFjayBcCisgICAgJChXZWJDb3JlKS9maWxlYXBpIFwKICAg
ICAkKFdlYkNvcmUpL2luc3BlY3RvciBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUg
XAogICAgICQoV2ViQ29yZSkvcGFnZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwKaW5kZXggZjlmMjU1NC4u
NTZmNTgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RP
TVdpbmRvd0ZpbGVTeXN0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbApAQCAtMzEsOCArMzEsOCBAQAogICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCiAgICAgdm9pZCB3ZWJraXRSZXF1ZXN0
RmlsZVN5c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwKLSAg
ICAgICAgICAgIGluIFtDYWxsYmFja10gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICAgICAgICAgIGluIEZpbGVTeXN0ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIHdlYmtpdFJl
c29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwKLSAgICAgICAgICAgIGlu
IFtDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBF
bnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKaW5kZXggNjNiNDI3YS4uZmIwNDIwMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50
cnkuaWRsCkBAIC0zNSw3ICszNSw3IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZh
Y2UgRGlyZWN0b3J5RW50cnkgOiBFbnRyeSB7CiAgICAgRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJl
YWRlcigpOwotICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBE
aWN0aW9uYXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBb
T3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50
cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCByZW1vdmVSZWN1cnNpdmVseShpbiBb
Q2FsbGJhY2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2Fs
bGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBnZXRGaWxlKGlu
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlv
bmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51
bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBw
YXRoLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4gW09wdGlvbmFsXSBFbnRy
eUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOworICAgIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gVm9pZENhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlSZWFkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeVJlYWRlci5pZGwKaW5kZXggZTA0NjdhOS4uMDg1MmIxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKQEAg
LTMzLDUgKzMzLDUgQEAKICAgICBKU05vU3RhdGljVGFibGVzLAogICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIERpcmVjdG9yeVJlYWRlciB7Ci0gICAgdm9pZCByZWFk
RW50cmllcyhpbiBbQ2FsbGJhY2tdIEVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAg
dm9pZCByZWFkRW50cmllcyhpbiBFbnRyaWVzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKaW5kZXggYzQzZGVmNC4uOTI1MTQyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsCkBAIC0zOSwx
MCArMzksMTAgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKLSAgICB2
b2lkIGdldE1ldGFkYXRhKGluIFtDYWxsYmFja10gTWV0YWRhdGFDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7Ci0gICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9u
YWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10g
RE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwotICAgIHZvaWQgY29weVRvKGluIERpcmVjdG9yeUVudHJ5IHBhcmVudCwgaW4g
W09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxT
dHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGdldE1ldGFkYXRhKGluIE1ldGFkYXRhQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjayk7CisgICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0
aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmlu
Z10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2
b2lkIGNvcHlUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXRO
dWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcg
bmFtZSwgaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERPTVN0cmluZyB0b1VS
TCgpOwotICAgIHZvaWQgcmVtb3ZlKGluIFtDYWxsYmFja10gVm9pZENhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKLSAgICB2b2lkIGdldFBhcmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92ZShpbiBWb2lkQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CisgICAgdm9pZCBnZXRQYXJlbnQoaW4gW09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnku
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGwKaW5k
ZXggOWJhZDU1MS4uOGNjYjRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0ZpbGVFbnRyeS5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKICAgICBKU0dlbmVyYXRlVG9K
U09iamVjdCwKICAgICBKU05vU3RhdGljVGFibGVzCiBdIGludGVyZmFjZSBGaWxlRW50cnkgOiBF
bnRyeSB7Ci0gICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gW0NhbGxiYWNrXSBGaWxlV3JpdGVyQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZvaWQgZmlsZShpbiBbQ2FsbGJhY2tdIEZpbGVDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4gRmlsZVdyaXRlckNh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOworICAgIHZvaWQgZmlsZShpbiBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
LCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxl
U3lzdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250
ZXh0RmlsZVN5c3RlbS5pZGwKaW5kZXggOTBjZjZhOS4uNDg2ZDgwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZp
bGVTeXN0ZW0uaWRsCkBAIC0zMCw5ICszMCw5IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
VEVNUE9SQVJZID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsK
IAotICAgIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlw
ZSwgaW4gbG9uZyBsb25nIHNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEZpbGVTeXN0ZW1D
YWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVycm9yQ2Fs
bGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbShp
biB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwgaW4gW09wdGlvbmFsXSBG
aWxlU3lzdGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2Fs
bGJhY2sgZXJyb3JDYWxsYmFjayk7CiAgICAgRE9NRmlsZVN5c3RlbVN5bmMgd2Via2l0UmVxdWVz
dEZpbGVTeXN0ZW1TeW5jKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXpl
KSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwotICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmls
ZVN5c3RlbVVSTChpbiBET01TdHJpbmcgdXJsLCBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOworICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVSTChp
biBET01TdHJpbmcgdXJsLCBpbiBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIEVudHJ5U3luYyB3ZWJr
aXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtU3luY1VSTChpbiBET01TdHJpbmcgdXJsKSByYWlzZXMg
KEZpbGVFeGNlcHRpb24pOwogCiAgICAgYXR0cmlidXRlIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZp
bGVFcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9OYXZpZ2F0b3JNZWRpYVN0cmVhbS5pZGwKaW5kZXggNWQzOTlhOC4uZDE2OTFjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRp
YVN0cmVhbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZp
Z2F0b3JNZWRpYVN0cmVhbS5pZGwKQEAgLTIxLDggKzIxLDggQEAKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgdm9pZCB3
ZWJraXRHZXRVc2VyTWVkaWEoaW4gRGljdGlvbmFyeSBvcHRpb25zLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
XSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCmluZGV4IGEwZGMxY2UuLjZkZDE2OTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24uaWRsCkBAIC0zNiwxOCArMzYsMTggQEAKICAgICBDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0LAogICAgIEV2ZW50VGFyZ2V0CiBdIGludGVyZmFjZSBSVENQZWVyQ29u
bmVjdGlvbiB7Ci0gICAgdm9pZCBjcmVhdGVPZmZlcihpbiBbQ2FsbGJhY2tdIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLE9wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRl
T2ZmZXIoaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVD
YWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWludHMpCiAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gW0Nh
bGxiYWNrXSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNr
IGZhaWx1cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWlu
dHMpCisgICAgdm9pZCBjcmVhdGVBbnN3ZXIoaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENF
cnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1l
ZGlhQ29uc3RyYWludHMpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9p
ZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlv
biwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lkIHNldExvY2Fs
RGVzY3JpcHRpb24oaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVD
YWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBsb2NhbERlc2NyaXB0aW9uCiAgICAgICAgIGdl
dHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRp
b24oaW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywg
aW4gW0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJh
Y2sgZmFpbHVyZUNhbGxiYWNrKQorICAgIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4gUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbiByZW1vdGVEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CkBAIC03Miw3ICs3Miw3IEBACiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9p
ZCByZW1vdmVTdHJlYW0oaW4gTWVkaWFTdHJlYW0gc3RyZWFtKQogICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKIAotICAgIHZvaWQgZ2V0U3RhdHMoaW4gW0NhbGxiYWNrXSBSVENTdGF0c0Nh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
TWVkaWFTdHJlYW1UcmFjayBzZWxlY3Rvcik7CisgICAgdm9pZCBnZXRTdGF0cyhpbiBSVENTdGF0
c0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gTWVkaWFTdHJlYW1UcmFjayBzZWxlY3Rvcik7CiAKICAgICBSVENEYXRhQ2hhbm5lbCBjcmVh
dGVEYXRhQ2hhbm5lbChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRB
cz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbGFiZWwsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBv
cHRpb25zKQogICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDE5
NGU4OWIuLjM4NzA4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC01MSw3ICs1MSw3IEBACiAKICNpZiBkZWZp
bmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgIHN0
YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IERPTVN0cmluZyBwZXJtaXNzaW9uOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihp
biBbT3B0aW9uYWxdIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CiAj
ZW5kaWYKIAogICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwKaW5kZXggYWUxYTU1OC4uMmE3ZDM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwK
QEAgLTM3LDYgKzM3LDYgQEAKICAgIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmljYXRpb24oaW4g
RE9NU3RyaW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9NU3RyaW5nIGJvZHkp
IHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICB2
b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIFZvaWRDYWxsYmFj
ayBjYWxsYmFjayk7CisgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbF0gVm9p
ZENhbGxiYWNrIGNhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9TdG9yYWdlSW5mby5pZGwKaW5kZXggMzhmN2I5My4uYjY5ZDNjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKQEAgLTMxLDYgKzMxLDYgQEAKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCi0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIHZvaWQgcXVlcnlVc2FnZUFuZFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VU
eXBlLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNh
bGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBy
ZXF1ZXN0UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIHVuc2lnbmVkIGxv
bmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3JhZ2VR
dW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3Jh
Z2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiB1bnNpZ25lZCBzaG9ydCBz
dG9yYWdlVHlwZSwgaW4gW09wdGlvbmFsXSBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxi
YWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwor
ICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShp
biB1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1
b3RhSW5CeXRlcywgaW4gW09wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxi
YWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3Rh
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAppbmRl
eCA0MzY0ZjViLi40YTY0ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VRdW90YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9T
dG9yYWdlUXVvdGEuaWRsCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgT21pdENvbnN0cnVjdG9yLAog
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIFN0b3JhZ2VRdW90YSB7
Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcXVlcnlVc2FnZUFu
ZFF1b3RhKGluIFtDYWxsYmFja10gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywg
aW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1
b3RhKGluIHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtDYWxsYmFj
aywgT3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShp
biBTdG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3Jh
Z2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3
UXVvdGFJbkJ5dGVzLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsCmluZGV4IDRmMTliNDguLjc0MWE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKQEAgLTUxLDcgKzUxLDcgQEAKICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBBc3luY2hyb25vdXMgYXVkaW8gZmlsZSBk
YXRhIGRlY29kaW5nLgotICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1
ZGlvRGF0YSwgaW4gW0NhbGxiYWNrXSBBdWRpb0J1ZmZlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gQXVkaW9CdWZmZXJDYWxsYmFjayBlcnJvckNhbGxi
YWNrKQorICAgIHZvaWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwg
aW4gQXVkaW9CdWZmZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gQXVk
aW9CdWZmZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAogICAgIC8vIFNvdXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKaW5kZXggMWYzMWUx
ZC4uMDc0NWExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKQEAgLTI3LDcgKzI3LDcgQEAKIFsK
ICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdp
bmRvdyB7Ci0gICAgRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBE
T01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBs
b25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJh
Y2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3Ry
aW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUs
IGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRhYmFzZUNh
bGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwog
I2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAogICAgIGF0dHJpYnV0
ZSBTUUxFeGNlcHRpb25Db25zdHJ1Y3RvciBTUUxFeGNlcHRpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCmluZGV4IDVmNjQ4OTcuLjNlZmUz
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2Uu
aWRsCkBAIC0zMiw4ICszMiw4IEBACiAgICAgSlNOb1N0YXRpY1RhYmxlcwogXSBpbnRlcmZhY2Ug
RGF0YWJhc2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVyc2lvbjsKLSAg
ICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmlu
ZyBuZXdWZXJzaW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxi
YWNrIGNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjayk7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2td
IFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxd
IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsKLSAgICB2b2lkIHJlYWRU
cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ss
IGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrKTsKKyAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24s
IGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uQ2Fs
bGJhY2sgY2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
ayk7CisgICAgdm9pZCB0cmFuc2FjdGlvbihpbiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxi
YWNrLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrLCBpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZv
aWQgcmVhZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwKaW5k
ZXggMTMwMWVhYi4uM2I0ZmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbApAQCAtMzUsOCArMzUsOCBAQAogXSBpbnRlcmZh
Y2UgRGF0YWJhc2VTeW5jIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZlcnNp
b247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYXN0RXJyb3JNZXNzYWdlOwot
ICAgIHZvaWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3Ry
aW5nIG5ld1ZlcnNpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lkIHRyYW5z
YWN0aW9uKGluIFtDYWxsYmFja10gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2sp
IHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFtDYWxs
YmFja10gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgIHZvaWQgY2hhbmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwg
aW4gRE9NU3RyaW5nIG5ld1ZlcnNpb24sIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25TeW5j
Q2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgIHZvaWQgdHJhbnNh
Y3Rpb24oaW4gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJhaXNlcyhET01F
eGNlcHRpb24pOworICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwK
aW5kZXggYTU3ZGYxNi4uNTNhOTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwKQEAgLTM0LDYgKzM0LDYgQEAKIF0g
aW50ZXJmYWNlIFNRTFRyYW5zYWN0aW9uIHsKICAgICBbQ3VzdG9tXSB2b2lkIGV4ZWN1dGVTcWwo
aW4gRE9NU3RyaW5nIHNxbFN0YXRlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gT2JqZWN0QXJyYXkgYXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBTUUxTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlk
bAppbmRleCA1YTFlNWU5Li5kOGI5ZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRs
CkBAIC0yNywxMCArMjcsMTAgQEAKIFsKICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiBd
IHBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlckNvbnRleHQgewotICAgIERhdGFiYXNlIG9wZW5EYXRh
YmFzZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmlu
ZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0
YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lv
biwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNp
emUsIGluIFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIERhdGFiYXNlU3luYyBvcGVuRGF0YWJh
c2VTeW5jKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3Ry
aW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICBE
YXRhYmFzZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3Ry
aW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBl
c3RpbWF0ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxs
YmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggMjkyZGY2NC4u
NGEwNWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQpAQCAtNiw2ICs2LDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAy
MDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChD
KSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogIwogIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00MjUsNiArNDI2LDEwIEBAIHN1YiBJc1JlZlB0clR5
cGUKICAgICByZXR1cm4gMCBpZiAkb2JqZWN0LT5HZXRBcnJheVR5cGUoJHR5cGUpOwogICAgIHJl
dHVybiAwIGlmICRvYmplY3QtPkdldFNlcXVlbmNlVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJuIDAg
aWYgJHR5cGUgZXEgIkRPTVN0cmluZyI7CisgICAgcmV0dXJuIDAgaWYgJHR5cGUgZXEgIkNvbXBh
cmVIb3ciOworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJEaWN0aW9uYXJ5IjsKKyAgICByZXR1
cm4gMCBpZiAkdHlwZSBlcSAiQXJyYXkiOworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJhbnki
OwogICAgIHJldHVybiAwIGlmICRvYmplY3QtPklzRW51bVR5cGUoJHR5cGUpOwogCiAgICAgcmV0
dXJuIDE7CkBAIC02NjUsNiArNjcwLDI1IEBAIHN1YiBTZXR0ZXJFeHByZXNzaW9uCiAgICAgcmV0
dXJuICgkZnVuY3Rpb25OYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOwogfQogCitzdWIgSXND
YWxsYmFja0ludGVyZmFjZQoreworICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgIG15ICR0eXBlID0g
c2hpZnQ7CisKKyAgcmV0dXJuIDAgdW5sZXNzICRvYmplY3QtPklzUmVmUHRyVHlwZSgkdHlwZSk7
CisgIHJldHVybiAwIGlmICR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiOworCisgIG15
ICRpZGxGaWxlID0gJG9iamVjdC0+SURMRmlsZUZvckludGVyZmFjZSgkdHlwZSkKKyAgICAgIG9y
IGRpZSgiQ291bGQgTk9UIGZpbmQgSURMIGZpbGUgZm9yIGludGVyZmFjZSBcIiR0eXBlXCIhXG4i
KTsKKworICBvcGVuIEZJTEUsICI8IiwgJGlkbEZpbGU7CisgIG15IEBsaW5lcyA9IDxGSUxFPjsK
KyAgY2xvc2UgRklMRTsKKworICBteSAkZmlsZUNvbnRlbnRzID0gam9pbignJywgQGxpbmVzKTsK
KyAgcmV0dXJuICgkZmlsZUNvbnRlbnRzID1+IC9jYWxsYmFja1xzK2ludGVyZmFjZVxzKyhcdysp
L2dzKTsKK30KKwogc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcKIHsKICAgICBteSAkZ2Vu
ZXJhdG9yID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCA2OWMwZGIxLi4wMmMyZDNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2Jq
ZWN0LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckdPYmplY3QucG0KQEAgLTI5MywxMiArMjkzLDEyIEBAIHN1YiBTa2lwRnVuY3Rpb24gewogICAg
ICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgICAjIFNraXAgZnVuY3Rpb25zIHRoYXQgaGF2ZSBb
IkNhbGxiYWNrIl0gcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCisgICAgIyBTa2lwIGZ1bmN0aW9u
cyB0aGF0IGhhdmUgY2FsbGJhY2sgcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCiAgICAgIyBjb2Rl
IGdlbmVyYXRvciBkb2Vzbid0IGtub3cgaG93IHRvIGF1dG8tZ2VuZXJhdGUgY2FsbGJhY2tzLgog
ICAgICMgU2tpcCBmdW5jdGlvbnMgdGhhdCBoYXZlICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiBv
ciBzZXF1ZW5jZTxUPiBwYXJhbWV0ZXJzLCBiZWNhdXNlIHRoaXMKICAgICAjIGNvZGUgZ2VuZXJh
dG9yIGRvZXNuJ3Qga25vdyBob3cgdG8gYXV0by1nZW5lcmF0ZSBNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyIG9yIHNlcXVlbmNlPFQ+LgogICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAeyRmdW5jdGlvbi0+
cGFyYW1ldGVyc30pIHsKLSAgICAgICAgaWYgKCRwYXJhbS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkNhbGxiYWNrIn0gfHwKKyAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50
ZXJmYWNlKCRwYXJhbS0+dHlwZSkgfHwKICAgICAgICAgICAgICRwYXJhbS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNsYW1wIn0gfHwKICAgICAgICAgICAgICRwYXJhbS0+dHlwZSBlcSAiTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciIgfHwKICAgICAgICAgICAgICRjb2RlR2VuZXJhdG9yLT5HZXRTZXF1
ZW5jZVR5cGUoJHBhcmFtLT50eXBlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5NzFiZmQ1Li41ZmQwZjhlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQpAQCAtMTAsNiArMTAsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTEgUGF0cmljayBHYW5zdGVy
ZXIgPHBhcm9nYUB3ZWJraXQub3JnPgogIyBDb3B5cmlnaHQgKEMpIDIwMTIgRXJpY3Nzb24gQUIu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMiBHb29nbGUgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTI5Myw3ICsxMjk0
LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICAgICAg
ICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNVbmRlZmluZWRPck51bGwoKSB8
fCAke3ZhbHVlfS5pc1N0cmluZygpIHx8ICR7dmFsdWV9LmlzT2JqZWN0KCkpIik7CiAgICAgICAg
ICAgICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzaWYgKCRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
YWxsYmFjayJ9KSB7CisgICAgICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNr
SW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAgICAgICAjIEZvciBDYWxsYmFj
a3Mgb25seSBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgogICAgICAgICAg
ICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAke3ZhbHVlfS5p
c0Z1bmN0aW9uKCkpIik7CiAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5k
ZXh9ID0gMTsKQEAgLTI4OTgsNyArMjg5OSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVj
awogICAgICAgICAjIE9wdGlvbmFsIGFyZ3VtZW50cyB3aXRoIFtPcHRpb25hbD0uLi5dIHNob3Vs
ZCBub3QgZ2VuZXJhdGUgdGhlIGVhcmx5IGNhbGwuCiAgICAgICAgICMgT3B0aW9uYWwgRGljdGlv
bmFyeSBhcmd1bWVudHMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBkZWZhdWx0IG9mIGVtcHR5
IGRpY3Rpb25hcnkuCiAgICAgICAgIG15ICRvcHRpb25hbCA9ICRwYXJhbWV0ZXItPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJPcHRpb25hbCJ9OwotICAgICAgICBpZiAoJG9wdGlvbmFsICYmICRvcHRp
b25hbCBuZSAiRGVmYXVsdElzVW5kZWZpbmVkIiAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc051
bGxTdHJpbmciICYmICRhcmdUeXBlIG5lICJEaWN0aW9uYXJ5IiAmJiAhJHBhcmFtZXRlci0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgaWYgKCRvcHRpb25hbCAm
JiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc1VuZGVmaW5lZCIgJiYgJG9wdGlvbmFsIG5lICJEZWZh
dWx0SXNOdWxsU3RyaW5nIiAmJiAkYXJnVHlwZSBuZSAiRGljdGlvbmFyeSIgJiYgISRjb2RlR2Vu
ZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAgICAg
ICAgICAjIEdlbmVyYXRlIGVhcmx5IGNhbGwgaWYgdGhlcmUgYXJlIGVub3VnaCBwYXJhbWV0ZXJz
LgogICAgICAgICAgICAgaWYgKCEkaGFzT3B0aW9uYWxBcmd1bWVudHMpIHsKICAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJcbiAgICBzaXplX3QgYXJnc0NvdW50ID0gZXhlYy0+
YXJndW1lbnRDb3VudCgpO1xuIik7CkBAIC0yOTI2LDcgKzI5MjcsNyBAQCBzdWIgR2VuZXJhdGVQ
YXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmVzb2x2ZXIgPSBjdXN0b21SZXNvbHZl
ci5nZXQoKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIH1cbiIp
OwotICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2Fs
bGJhY2sifSkgeworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0lu
dGVyZmFjZSgkcGFyYW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgbXkgJGNhbGxiYWNrQ2xh
c3NOYW1lID0gR2V0Q2FsbGJhY2tDbGFzc05hbWUoJGFyZ1R5cGUpOwogICAgICAgICAgICAgJGlt
cGxJbmNsdWRlc3siJGNhbGxiYWNrQ2xhc3NOYW1lLmgifSA9IDE7CiAgICAgICAgICAgICBpZiAo
JG9wdGlvbmFsKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dAppbmRleCAzMmM4OTA5Li5kMjRmNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTIyLDcgKzIyLDYg
QEAgQWN0aXZlRE9NT2JqZWN0CiBDUFBQdXJlSW50ZXJmYWNlCiBDYWNoZWRBdHRyaWJ1dGUKIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHR8U2NyaXB0U3RhdGV8U2NyaXB0QXJndW1lbnRz
fENhbGxTdGFjawotQ2FsbGJhY2sKIENoZWNrU2VjdXJpdHkKIENoZWNrU2VjdXJpdHlGb3JOb2Rl
CiBDbGFtcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKaW5kZXggZDY1MTAxMC4uZDBmZGU1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dl
YkRPTVRlc3RPYmouY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIK
ICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXN0RW51bVR5
cGUuaCIKKyNpbmNsdWRlICJUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIldlYkRPTURpY3Rpb25hcnku
aCIKICNpbmNsdWRlICJXZWJET01Eb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYkRPTU5vZGUuaCIK
QEAgLTM2LDE5ICszNywxMiBAQAogI2luY2x1ZGUgIldlYkRPTVNWR1BvaW50LmgiCiAjaW5jbHVk
ZSAiV2ViRE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdEVudW1UeXBlLmgiCisjaW5j
bHVkZSAiV2ViRE9NVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01UZXN0T2JqLmgiCi0jaW5j
bHVkZSAiV2ViRE9NYS5oIgotI2luY2x1ZGUgIldlYkRPTWIuaCIKICNpbmNsdWRlICJXZWJET01i
b29sLmgiCi0jaW5jbHVkZSAiV2ViRE9NZC5oIgotI2luY2x1ZGUgIldlYkRPTWUuaCIKICNpbmNs
dWRlICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViTmF0aXZlRXZlbnRMaXN0
ZW5lci5oIgotI2luY2x1ZGUgImEuaCIKLSNpbmNsdWRlICJiLmgiCiAjaW5jbHVkZSAiYm9vbC5o
IgotI2luY2x1ZGUgImQuaCIKLSNpbmNsdWRlICJlLmgiCiAjaW5jbHVkZSAid3RmL3RleHQvQXRv
bWljU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTk3Miw3ICs5NjYsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6Om92ZXJsb2FkZWRN
ZXRob2QxKGNvbnN0IFdlYkRPTVN0cmluZyYgdHlwZSkKIAogI2VuZGlmCiAKLXZvaWQgV2ViRE9N
VGVzdE9iajo6Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RP
Ymo6OmNvbnZlcnQxKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWlt
cGwoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTgwLDcgKzk3NCw3IEBAIHZvaWQgV2ViRE9NVGVz
dE9iajo6Y29udmVydDEoY29uc3QgV2ViRE9NYSYgdmFsdWUpCiAgICAgaW1wbCgpLT5jb252ZXJ0
MSh0b1dlYkNvcmUodmFsdWUpKTsKIH0KIAotdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihj
b25zdCBXZWJET01iJiB2YWx1ZSkKK3ZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3Qg
V2ViRE9NVGVzdE5vZGUmIHZhbHVlKQogewogICAgIGlmICghaW1wbCgpKQogICAgICAgICByZXR1
cm47CkBAIC05ODgsNyArOTgyLDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0Mihjb25z
dCBXZWJET01iJiB2YWx1ZSkKICAgICBpbXBsKCktPmNvbnZlcnQyKHRvV2ViQ29yZSh2YWx1ZSkp
OwogfQogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVl
KQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFs
dWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk5Niw3ICs5OTAs
NyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKQog
ICAgIGltcGwoKS0+Y29udmVydDQodG9XZWJDb3JlKHZhbHVlKSk7CiB9CiAKLXZvaWQgV2ViRE9N
VGVzdE9iajo6Y29udmVydDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RP
Ymo6OmNvbnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWlt
cGwoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCBjMWMxN2QyLi5iYmQx
ZGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouaApAQCAtMzgsMTIgKzM4LDkgQEAgY2xhc3MgV2ViRE9NT2Jq
ZWN0OwogY2xhc3MgV2ViRE9NU1ZHUG9pbnQ7CiBjbGFzcyBXZWJET01TdHJpbmc7CiBjbGFzcyBX
ZWJET01UZXN0RW51bVR5cGU7CitjbGFzcyBXZWJET01UZXN0Tm9kZTsKIGNsYXNzIFdlYkRPTVRl
c3RPYmo7Ci1jbGFzcyBXZWJET01hOwotY2xhc3MgV2ViRE9NYjsKIGNsYXNzIFdlYkRPTWJvb2w7
Ci1jbGFzcyBXZWJET01kOwotY2xhc3MgV2ViRE9NZTsKIAogY2xhc3MgV2ViRE9NVGVzdE9iaiA6
IHB1YmxpYyBXZWJET01PYmplY3QgewogcHVibGljOgpAQCAtMTkxLDEwICsxODgsMTAgQEAgcHVi
bGljOgogI2lmIEVOQUJMRShDb25kaXRpb24xKQogICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZDEo
Y29uc3QgV2ViRE9NU3RyaW5nJiB0eXBlKTsKICNlbmRpZgotICAgIHZvaWQgY29udmVydDEoY29u
c3QgV2ViRE9NYSYgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFs
dWUpOwotICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NZCYgdmFsdWUpOwotICAgIHZvaWQg
Y29udmVydDUoY29uc3QgV2ViRE9NZSYgdmFsdWUpOworICAgIHZvaWQgY29udmVydDEoY29uc3Qg
V2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTVRl
c3ROb2RlJiB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0NChjb25zdCBXZWJET01UZXN0Tm9kZSYg
dmFsdWUpOworICAgIHZvaWQgY29udmVydDUoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsK
ICAgICBXZWJET01TVkdQb2ludCBtdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogICAgIFdlYkRPTVNW
R1BvaW50IGltbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICB2b2lkIGJhbmFuYSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCA5MDI2NjUyLi4yM2RhNDFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcApAQCAtMzMsMTIgKzMzLDkgQEAKICNpbmNs
dWRlICJXZWJLaXRET01TVkdQb2ludFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TZXJp
YWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NVGVzdEVudW1U
eXBlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdERPTVRlc3ROb2RlUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYktpdERPTVRlc3RPYmpQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NYVBy
aXZhdGUuaCIKLSNpbmNsdWRlICJXZWJLaXRET01iUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktp
dERPTWJvb2xQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NZFByaXZhdGUuaCIKLSNpbmNs
dWRlICJXZWJLaXRET01lUHJpdmF0ZS5oIgogI2luY2x1ZGUgImdvYmplY3QvQ29udmVydFRvVVRG
OFN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CkBAIC0xMzgwLDQ2ICsxMzc3LDQ2IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb3ZlcmxvYWRl
ZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiB0eXBlCiB9CiAK
IHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgV2ViS2l0RE9NYSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChX
RUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfQSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19U
RVNUX05PREUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpj
b3JlKHNlbGYpOwotICAgIFdlYkNvcmU6OmEqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3Jl
KHZhbHVlKTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6
OmNvcmUodmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQxKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAog
dm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBXZWJLaXRET01iKiB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdF
QktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19CKHZhbHVlKSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RF
U1RfTk9ERSh2YWx1ZSkpOwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNv
cmUoc2VsZik7Ci0gICAgV2ViQ29yZTo6YiogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUo
dmFsdWUpOworICAgIFdlYkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6
Y29yZSh2YWx1ZSk7CiAgICAgaXRlbS0+Y29udmVydDIoY29udmVydGVkVmFsdWUpOwogfQogCiB2
b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTWQqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29y
ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX0QodmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVT
VF9OT0RFKHZhbHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29y
ZShzZWxmKTsKLSAgICBXZWJDb3JlOjpkKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2
YWx1ZSk7CisgICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpj
b3JlKHZhbHVlKTsKICAgICBpdGVtLT5jb252ZXJ0NChjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwg
V2ViS2l0RE9NZSogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3Jl
OjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfRSh2YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNU
X05PREUodmFsdWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3Jl
KHNlbGYpOwotICAgIFdlYkNvcmU6OmUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZh
bHVlKTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNv
cmUodmFsdWUpOwogICAgIGl0ZW0tPmNvbnZlcnQ1KGNvbnZlcnRlZFZhbHVlKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGFmNTM2YjAuLjdjOTkyYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmgKQEAgLTQwNCw0NiArNDA0LDQ2IEBAIHdlYmtpdF9kb21f
dGVzdF9vYmpfb3ZlcmxvYWRlZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0
IGdjaGFyKiB0eXBlCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDE6CiAgKiBA
c2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNXZWJLaXRET01hCisgKiBA
dmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJuczoKICAqCiAqKi8KIFdF
QktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBXZWJLaXRET01hKiB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZl
cnQxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSk7CiAK
IC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MjoKICAqIEBzZWxmOiBBICNXZWJL
aXRET01UZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWIKKyAqIEB2YWx1ZTogQSAjV2Vi
S2l0RE9NVGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lk
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdl
YktpdERPTWIqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0OgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoK
LSAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NZAorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9k
ZQogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21f
dGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZCogdmFs
dWUpOword2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9v
YmpfY29udmVydDU6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBB
ICNXZWJLaXRET01lCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0
dXJuczoKICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252
ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01lKiB2YWx1ZSk7Cit3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRl
c3ROb2RlKiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9tdXRhYmxlX3Bv
aW50X2Z1bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBlMTAzOTc0Li4zYzNiYjZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cApAQCAtMzcsMTMgKzM3LDEwIEBACiAjaW5jbHVkZSAiSlNTVkdQb2ludC5oIgogI2luY2x1ZGUg
IkpTU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiSlNUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgogI2luY2x1ZGUgIkpTVGVz
dFN1Yk9iai5oIgotI2luY2x1ZGUgIkpTYS5oIgotI2luY2x1ZGUgIkpTYi5oIgogI2luY2x1ZGUg
IkpTYm9vbC5oIgotI2luY2x1ZGUgIkpTZC5oIgotI2luY2x1ZGUgIkpTZS5oIgogI2luY2x1ZGUg
IktVUkwuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1N0YXRpY1By
b3BlcnR5VGVhck9mZi5oIgpAQCAtMjc4MCw3ICsyNzc3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKEV4ZWNTdGF0ZSog
ZXhlYykKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRo
aXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAg
IHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
ZXhlYykpOwotICAgIGEqIHZhbHVlKHRvYShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3RO
b2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogICAgIGltcGwtPmNvbnZlcnQxKHZhbHVlKTsKQEAgLTI3OTcsNyArMjc5NCw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b252ZXJ0MihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0
PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBiKiB2YWx1ZSh0b2IoZXhlYy0+YXJndW1l
bnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgw
KSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0Mih2YWx1ZSk7CkBA
IC0yODE0LDcgKzI4MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDQoRXhlY1N0YXRlKiBleGVjKQogICAgIFRlc3RPYmoq
IGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKICAgICBp
ZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJv
cihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAgZCogdmFs
dWUodG9kKGV4ZWMtPmFyZ3VtZW50KDApKSk7CisgICAgVGVzdE5vZGUqIHZhbHVlKHRvVGVzdE5v
ZGUoZXhlYy0+YXJndW1lbnQoMCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+
Y29udmVydDQodmFsdWUpOwpAQCAtMjgzMSw3ICsyODI4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ1KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRo
aXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAg
IHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
ZXhlYykpOwotICAgIGUqIHZhbHVlKHRvZShleGVjLT5hcmd1bWVudCgwKSkpOworICAgIFRlc3RO
b2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogICAgIGltcGwtPmNvbnZlcnQ1KHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRleCA3MTUw
MDYxLi43YTYzMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC0zNCwxNiArMzQsMTMgQEAKIEBjbGFzcyBE
T01TVkdEb2N1bWVudDsKIEBjbGFzcyBET01TVkdQb2ludDsKIEBjbGFzcyBET01UZXN0RW51bVR5
cGU7CitAY2xhc3MgRE9NVGVzdE5vZGU7CiBAY2xhc3MgRE9NVGVzdE9iajsKIEBjbGFzcyBET01U
ZXN0T2JqZWN0QUNvbnN0cnVjdG9yOwogQGNsYXNzIERPTVRlc3RPYmplY3RCQ29uc3RydWN0b3I7
CiBAY2xhc3MgRE9NVGVzdE9iamVjdENDb25zdHJ1Y3RvcjsKLUBjbGFzcyBET01hOwogQGNsYXNz
IERPTWFueTsKLUBjbGFzcyBET01iOwogQGNsYXNzIERPTWJvb2w7Ci1AY2xhc3MgRE9NZDsKLUBj
bGFzcyBET01lOwogQGNsYXNzIE5TU3RyaW5nOwogQHByb3RvY29sIERPTUV2ZW50TGlzdGVuZXI7
CiAKQEAgLTE3MiwxMCArMTY5LDEwIEBAIGVudW0gewogLSAodm9pZClvdmVybG9hZGVkTWV0aG9k
MTooTlNTdHJpbmcgKil0eXBlOwogI2VuZGlmCiAtIChET01TVkdEb2N1bWVudCAqKWdldFNWR0Rv
Y3VtZW50OwotLSAodm9pZCljb252ZXJ0MTooRE9NYSAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0
MjooRE9NYiAqKXZhbHVlOwotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlOwotLSAodm9p
ZCljb252ZXJ0NTooRE9NZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0MTooRE9NVGVzdE5vZGUg
Kil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWU7CistICh2b2lk
KWNvbnZlcnQ0OihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NTooRE9NVGVz
dE5vZGUgKil2YWx1ZTsKIC0gKERPTVNWR1BvaW50ICopbXV0YWJsZVBvaW50RnVuY3Rpb247CiAt
IChET01TVkdQb2ludCAqKWltbXV0YWJsZVBvaW50RnVuY3Rpb247CiAtICh2b2lkKW9yYW5nZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RPYmoubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqLm1tCmluZGV4IDNkYTE0OTAuLjg5OTZmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAt
NDAsMTYgKzQwLDEzIEBACiAjaW1wb3J0ICJET01TVkdQb2ludEludGVybmFsLmgiCiAjaW1wb3J0
ICJET01TdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RFbnVtVHlwZUludGVy
bmFsLmgiCisjaW1wb3J0ICJET01UZXN0Tm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0
T2JqSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RPYmplY3RBQ29uc3RydWN0b3JJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iamVjdEJDb25zdHJ1Y3RvckludGVybmFsLmgiCiAjaW1w
b3J0ICJET01UZXN0T2JqZWN0Q0NvbnN0cnVjdG9ySW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWFJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NYW55SW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTWJJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NYm9vbEludGVybmFsLmgiCi0jaW1wb3J0ICJET01kSW50ZXJu
YWwuaCIKLSNpbXBvcnQgIkRPTWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRGljdGlvbmFyeS5oIgog
I2ltcG9ydCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKQEAgLTYzLDYg
KzYwLDcgQEAKICNpbXBvcnQgIlNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIgogI2ltcG9ydCAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW1wb3J0ICJUZXN0RW51bVR5cGUuaCIKKyNpbXBv
cnQgIlRlc3ROb2RlLmgiCiAjaW1wb3J0ICJUZXN0T2JqLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0
QUNvbnN0cnVjdG9yLmgiCiAjaW1wb3J0ICJUZXN0T2JqZWN0QkNvbnN0cnVjdG9yLmgiCkBAIC03
MCwxMiArNjgsOCBAQAogI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKICNpbXBvcnQgIldlYkNvcmVP
YmpDRXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCi0jaW1wb3J0
ICJhLmgiCiAjaW1wb3J0ICJhbnkuaCIKLSNpbXBvcnQgImIuaCIKICNpbXBvcnQgImJvb2wuaCIK
LSNpbXBvcnQgImQuaCIKLSNpbXBvcnQgImUuaCIKICNpbXBvcnQgPHd0Zi9HZXRQdHIuaD4KIAog
I2RlZmluZSBJTVBMIHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6VGVzdE9iaio+KF9pbnRlcm5h
bCkKQEAgLTEwNDEsMjUgKzEwMzUsMjUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0tICh2
b2lkKWNvbnZlcnQxOihET01hICopdmFsdWUKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2Rl
ICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAg
ICAgSU1QTC0+Y29udmVydDEoY29yZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQyOihE
T01iICopdmFsdWUKKy0gKHZvaWQpY29udmVydDI6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVy
dDIoY29yZSh2YWx1ZSkpOwogfQogCi0tICh2b2lkKWNvbnZlcnQ0OihET01kICopdmFsdWUKKy0g
KHZvaWQpY29udmVydDQ6KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDQoY29yZSh2YWx1ZSkp
OwogfQogCi0tICh2b2lkKWNvbnZlcnQ1OihET01lICopdmFsdWUKKy0gKHZvaWQpY29udmVydDU6
KERPTVRlc3ROb2RlICopdmFsdWUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgSU1QTC0+Y29udmVydDUoY29yZSh2YWx1ZSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDk1ODc5NTQu
Ljk1OWVhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE9iai5pZGwKQEAgLTMzLDcgKzMzLDcgQEAKIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJF
bnVtVmFsdWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKIAogWwotICAgIENvbnN0
cnVjdG9yKGluIFtDYWxsYmFja10gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCisgICAgQ29u
c3RydWN0b3IoaW4gVGVzdENhbGxiYWNrIHRlc3RDYWxsYmFjayksCiAgICAgSW50ZXJmYWNlTmFt
ZT1UZXN0T2JqZWN0CiBdIGludGVyZmFjZSBUZXN0T2JqIHsKICAgICAvLyBBdHRyaWJ1dGVzCkBA
IC0xNDMsMTIgKzE0MywxMiBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIs
ICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAKICNpZiBkZWZpbmVkKFRFU1RJTkdfSlMp
CiAgICAgLy8gJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICB2b2lkICAgIG1ldGhv
ZFdpdGhDYWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0g
ICAgdm9pZCAgICBtZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25n
IG5vbkNhbGxiYWNrLCBpbiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAg
dm9pZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENh
bGxiYWNrQXJnKGluIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBtZXRob2RX
aXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhpbiBsb25nIG5vbkNhbGxiYWNrLCBpbiBU
ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5k
T3B0aW9uYWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIC8v
IHN0YXRpYyBtZXRob2RzIHdpdGggJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICBz
dGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHN0YXRpYyB2
b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBbQ2FsbGJhY2tdIFRlc3RDYWxs
YmFjayBjYWxsYmFjayk7CisgICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxi
YWNrQW5kT3B0aW9uYWxBcmcoaW4gW09wdGlvbmFsXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwor
ICAgIHN0YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FyZyhpbiBUZXN0Q2Fs
bGJhY2sgY2FsbGJhY2spOwogI2VuZGlmCiAKICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVk
IGF0dHJpYnV0ZQpAQCAtMTgwLDcgKzE4MCw3IEBAIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJF
bnVtVmFsdWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKICAgICB2b2lkICAgIG92
ZXJsb2FkZWRNZXRob2QoaW4gVGVzdE9iaj8gb2JqQXJnLCBpbiBbT3B0aW9uYWxdIGxvbmcgbG9u
Z0FyZyk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFtTdHJpY3RUeXBlQ2hlY2tp
bmddIERPTVN0cmluZyBzdHJBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBs
b25nIGxvbmdBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBbQ2FsbGJhY2td
IFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGlu
IFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGlu
IERPTVN0cmluZ0xpc3Q/IGxpc3RBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChp
biBET01TdHJpbmdbXT8gYXJyYXlBcmcpOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChp
biBUZXN0T2JqIG9iakFyZyk7CkBAIC0yMTAsMTAgKzIxMCwxMCBAQCBlbnVtIFRlc3RFbnVtVHlw
ZSB7ICIiLCAiRW51bVZhbHVlMSIsICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAgICAg
W0NoZWNrU2VjdXJpdHlGb3JOb2RlXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9pZCBjb252ZXJ0MShpbiBbVHJlYXRS
ZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBhIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQyKGlu
IFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gYiB2YWx1ZSk7Ci0gICAgdm9p
ZCBjb252ZXJ0NChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gZCB2YWx1ZSk7Ci0gICAgdm9p
ZCBjb252ZXJ0NShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1O
dWxsU3RyaW5nXSBlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGluIFtUcmVhdFJldHVybmVk
TnVsbFN0cmluZ0FzPU51bGxdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQyKGlu
IFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPVVuZGVmaW5lZF0gVGVzdE5vZGUgdmFsdWUpOwor
ICAgIHZvaWQgY29udmVydDQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZh
bHVlKTsKKyAgICB2b2lkIGNvbnZlcnQ1KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIFRlc3ROb2RlIHZhbHVlKTsKIAogICAgIGF0dHJpYnV0
ZSBTVkdQb2ludCBtdXRhYmxlUG9pbnQ7CiAgICAgW0ltbXV0YWJsZV0gYXR0cmlidXRlIFNWR1Bv
aW50IGltbXV0YWJsZVBvaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAppbmRleCA3ODUxMDg5Li43Njg1MzBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVk
ZWZzLmlkbApAQCAtNzQsNyArNzQsNyBAQCB0eXBlZGVmIFNWR1BvaW50ICAgICAgICAgICAgICAg
ICAgIFNWR1BPSU5UOwogdHlwZWRlZiBET01TdHJpbmcgICAgICAgICAgICAgICAgICBTVFJJTkc7
CiB0eXBlZGVmIFtPcHRpb25hbF0gRE9NU3RyaW5nICAgICAgIE9QVElPTkFMX1NUUklORzsKIHR5
cGVkZWYgRE9NU3RyaW5nW10gICAgICAgICAgICAgICAgQVJSQVlfT0ZfU1RSSU5HUzsKLXR5cGVk
ZWYgW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgICAgVEVTVF9DQUxMQkFDSzsKK3R5cGVkZWYgVGVz
dENhbGxiYWNrICAgICAgICAgICAgICAgVEVTVF9DQUxMQkFDSzsKIHR5cGVkZWYgVGVzdFN1Yk9i
akNvbnN0cnVjdG9yICAgICAgVDsKIHR5cGVkZWYgQXJyYXkgICAgICAgICAgICAgICAgICAgICAg
QVJSQVk7CiB0eXBlZGVmIERPTUV4Y2VwdGlvbiAgICAgICAgICAgICAgIEU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Rm9udExvYWRlci5pZGwKaW5kZXggZGEyOTZlNi4uMTkxYzA0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
TG9hZGVyLmlkbApAQCAtNDMsNyArNDMsNyBAQAogCiAgICAgYm9vbGVhbiBjaGVja0ZvbnQoaW4g
RE9NU3RyaW5nIGZvbnQsIGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJp
bmcgdGV4dCk7CiAgICAgdm9pZCBsb2FkRm9udChpbiBEaWN0aW9uYXJ5IHBhcmFtcyk7Ci0gICAg
dm9pZCBub3RpZnlXaGVuRm9udHNSZWFkeShpbiBbQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBjYWxs
YmFjayk7CisgICAgdm9pZCBub3RpZnlXaGVuRm9udHNSZWFkeShpbiBWb2lkQ2FsbGJhY2sgY2Fs
bGJhY2spOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGxvYWRpbmc7CiAKICAgICB2
b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RGF0YVRyYW5zZmVySXRlbS5pZGwKaW5kZXggN2MzMzg5My4uMjFiNTA5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbApAQCAtMzUsNyArMzUsNyBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcga2luZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHR5cGU7CiAKLSAgICB2b2lkIGdldEFzU3RyaW5nKGluIFtDYWxsYmFjayxPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIFN0cmluZ0NhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lk
IGdldEFzU3RyaW5nKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFN0cmluZ0NhbGxi
YWNrIGNhbGxiYWNrKTsKICAgICBCbG9iIGdldEFzRmlsZSgpOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCmluZGV4IGEyZDljYWMuLjIwMzJkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKQEAgLTE5Nyw5ICsxOTcsOSBAQAogICAgIHZvaWQgY2xlYXJJbnRlcnZhbChpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBsb25nIGhhbmRsZSk7CiAKICNpZiBkZWZpbmVk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJiYgRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FCi0gICAgbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gW0NhbGxiYWNrXSBS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CisgICAgbG9uZyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoaW4gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2sp
OwogICAgIHZvaWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7Ci0gICAgbG9uZyB3
ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gW0NhbGxiYWNrXSBSZXF1ZXN0QW5pbWF0aW9u
RnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CisgICAgbG9uZyB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoaW4gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOwogICAgIFtJ
bXBsZW1lbnRlZEFzPWNhbmNlbEFuaW1hdGlvbkZyYW1lXSB2b2lkIHdlYmtpdENhbmNlbEFuaW1h
dGlvbkZyYW1lKGluIGxvbmcgaWQpOwogICAgIFtJbXBsZW1lbnRlZEFzPWNhbmNlbEFuaW1hdGlv
bkZyYW1lXSB2b2lkIHdlYmtpdENhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBsb25nIGlk
KTsgLy8gVGhpcyBpcyBhIGRlcHJlY2F0ZWQgYWxpYXMgZm9yIHdlYmtpdENhbmNlbEFuaW1hdGlv
bkZyYW1lKCkuIFJlbW92ZSB0aGlzIHdoZW4gcmVtb3ZpbmcgdmVuZG9yIHByZWZpeC4KICNlbmRp
Zgo=
</data>
<flag name="commit-queue"
          id="221368"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199873</attachid>
            <date>2013-04-26 16:36:00 -0700</date>
            <delta_ts>2013-04-27 06:17:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>53115</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li5iMTczZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEdldCByaWQgb2YgW0NhbGxiYWNrXSBJREwgZXh0ZW5kZWQgYXR0cmli
dXRlIGZvciBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTUyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIFdlYktpdC1zcGVjaWZpYyBbQ2FsbGJhY2tdIGV4dGVuZGVk
IGF0dHJpYnV0ZSBhbmQgbWFrZSB0aGUgYmluZGluZ3MKKyAgICAgICAgZ2VuZXJhdG9yIHNtYXJ0
IGVub3VnaCB0byBrbm93IHdoZW4gYSBwYXJhbWV0ZXIgaXMgb2YgY2FsbGJhY2sgdHlwZSBvbiBp
dHMKKyAgICAgICAgb3duLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogVXNlIFdlYkNvcmUvTW9kdWxl
cyBhcyBJREwgaW5jbHVkZSBwYXRoIGluc3RlYWQgb2YgdXNpbmcKKyAgICAgICAgc3ViZGlycy4g
VGhlIGdlbmVyYXRvciB3aWxsIHNlYXJjaCByZWN1cnNpdmVseSBhbnl3YXkgYW5kIHRoZSBsaXN0
IG9mIHN1YmRpcnMgd2FzCisgICAgICAgIGluY29tcGxldGUuCisgICAgICAgICogTW9kdWxlcy9m
aWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmls
ZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeVJlYWRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3Rv
cmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
ZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5n
cy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBJREwgaW5jbHVkZSBkaXJzLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKElz
UmVmUHRyVHlwZSk6CisgICAgICAgIChJc0NhbGxiYWNrSW50ZXJmYWNlKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgorICAgICAgICAoU2tpcEZ1
bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToK
KyAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6CisgICAgICAgIChH
ZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dDogUmVtb3ZlICJDYWxsYmFjayIgZXh0ZW5kZWQgYXR0cmlidXRlLgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHA6CisgICAg
ICAgIChXZWJET01UZXN0T2JqOjpjb252ZXJ0MSk6CisgICAgICAgIChXZWJET01UZXN0T2JqOjpj
b252ZXJ0Mik6CisgICAgICAgIChXZWJET01UZXN0T2JqOjpjb252ZXJ0NCk6CisgICAgICAgIChX
ZWJET01UZXN0T2JqOjpjb252ZXJ0NSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHA6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2NvbnZlcnQxKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDIpOgorICAg
ICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NCk6CisgICAgICAgICh3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQ1KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbkNvbnZlcnQxKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uQ29udmVydDIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0NCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbkNvbnZlcnQ1KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5tbToKKyAgICAgICAgKC1bRE9NVGVzdE9iaiBjb252ZXJ0MTpdKToKKyAgICAgICAgKC1bRE9N
VGVzdE9iaiBjb252ZXJ0MjpdKToKKyAgICAgICAgKC1bRE9NVGVzdE9iaiBjb252ZXJ0NDpdKToK
KyAgICAgICAgKC1bRE9NVGVzdE9iaiBjb252ZXJ0NTpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6IFVzZSB2YWxpZCBwYXJhbWV0ZXIgdHlwZXMgaW5zdGVh
ZCBvZiAnYScsICdiJywgJ2QnLCAnZScKKyAgICAgICAgc28gdGhhdCB0aGUgYmluZGluZ3MgZ2Vu
ZXJhdG9yIGRvZXMgbm90IGNvbXBsYWluIGFib3V0IHRoZW0uCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGw6CisgICAgICAgICogY3NzL0ZvbnRMb2FkZXIu
aWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBwYWdl
L0RPTVdpbmRvdy5pZGw6CisKIDIwMTMtMDQtMjYgIERha2VyIEZlcm5hbmRlcyBQaW5oZWlybyAg
PGRha2VyLnBpbmhlaXJvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgQ2hhbmdlIFJlbmRlck1l
dGVyOjp2YWx1ZVJhdGlvKCkgdmlzaWJpbGl0eSB0byBwdWJsaWMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCmluZGV4IDdkZjdhMzIuLjc0N2Q1YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtOTcwLDIxICs5NzAsNyBAQCBwcmVwcm9jZXNzX2lkbHNfc2NyaXB0ID0gcGVy
bCAkKGFkZHByZWZpeCAtSSAkKFdlYkNvcmUpLywgJChzb3J0ICQoZGlyICQoMSkpKSkgJAogIyBK
UyBiaW5kaW5ncyBnZW5lcmF0b3IKIAogSURMX0lOQ0xVREVTID0gXAotICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9iYXR0ZXJ5IFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEgXAot
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKLSAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZ2FtZXBhZCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uIFwKLSAgICAk
KFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzb3VyY2UgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL25ldHdvcmtpbmZvIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90
aWZpY2F0aW9ucyBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3NwZWVjaCBcCi0gICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3ZpYnJhdGlvbiBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlv
IFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXAotICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJzb2NrZXRzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMgXAogICAgICQoV2Vi
Q29yZSkvY3NzIFwKICAgICAkKFdlYkNvcmUpL2RvbSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5k
b3dGaWxlU3lzdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01X
aW5kb3dGaWxlU3lzdGVtLmlkbAppbmRleCBmOWYyNTU0Li41NmY1ODExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0
ZW0uaWRsCkBAIC0zMSw4ICszMSw4IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSU0lT
VEVOVCA9IDE7CiAKICAgICB2b2lkIHdlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKGluIHVuc2lnbmVk
IHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplLAotICAgICAgICAgICAgaW4gW0NhbGxiYWNr
XSBGaWxlU3lzdGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlv
bmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICAgICAgaW4gRmlsZVN5
c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOwogICAgIHZvaWQgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVS
TChpbiBET01TdHJpbmcgdXJsLAotICAgICAgICAgICAgaW4gW0NhbGxiYWNrXSBFbnRyeUNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgICAgIGluIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5
RW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVu
dHJ5LmlkbAppbmRleCA2M2I0MjdhLi5mYjA0MjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTM1LDcgKzM1LDcg
QEAKICAgICBKU05vU3RhdGljVGFibGVzCiBdIGludGVyZmFjZSBEaXJlY3RvcnlFbnRyeSA6IEVu
dHJ5IHsKICAgICBEaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7Ci0gICAgdm9pZCBnZXRG
aWxlKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJp
bmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucywgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9p
ZCBnZXREaXJlY3RvcnkoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBv
cHRpb25zLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKLSAgICB2b2lkIHJlbW92ZVJlY3Vyc2l2ZWx5KGluIFtDYWxsYmFja10gVm9pZENhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGdldEZpbGUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJp
bmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRp
b25hbF0gRGljdGlvbmFyeSBvcHRpb25zLCBpbiBbT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CisgICAgdm9pZCBnZXREaXJlY3RvcnkoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0
VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRGlj
dGlvbmFyeSBvcHRpb25zLCBpbiBbT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxi
YWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9p
ZCByZW1vdmVSZWN1cnNpdmVseShpbiBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbAppbmRl
eCBlMDQ2N2E5Li4wODUyYjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbApAQCAtMzMsNSArMzMsNSBAQAogICAgIEpT
Tm9TdGF0aWNUYWJsZXMsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZh
Y2UgRGlyZWN0b3J5UmVhZGVyIHsKLSAgICB2b2lkIHJlYWRFbnRyaWVzKGluIFtDYWxsYmFja10g
RW50cmllc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10g
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlYWRFbnRyaWVzKGluIEVu
dHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0VudHJ5LmlkbAppbmRleCBjNDNkZWY0Li45MjUxNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKQEAgLTM5LDEwICszOSwxMCBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZnVsbFBhdGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTUZpbGVTeXN0ZW0gZmlsZXN5c3RlbTsKIAotICAgIHZvaWQgZ2V0TWV0YWRhdGEoaW4gW0Nh
bGxiYWNrXSBNZXRhZGF0YUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBD
YWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIG1vdmVUbyhp
biBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVsbFN0
cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCBj
b3B5VG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFz
PU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAg
IHZvaWQgZ2V0TWV0YWRhdGEoaW4gTWV0YWRhdGFDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIG1vdmVU
byhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVs
bFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4g
W09wdGlvbmFsXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgY29weVRvKGluIERpcmVjdG9y
eUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWxdIEVu
dHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgRE9NU3RyaW5nIHRvVVJMKCk7Ci0gICAgdm9pZCByZW1vdmUo
aW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZvaWQgZ2V0UGFy
ZW50KGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
LCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwor
ICAgIHZvaWQgcmVtb3ZlKGluIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGdldFBhcmVudChp
biBbT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxd
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbAppbmRleCA5YmFkNTUxLi44Y2NiNGM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbApA
QCAtMzQsNiArMzQsNiBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEpTTm9TdGF0
aWNUYWJsZXMKIF0gaW50ZXJmYWNlIEZpbGVFbnRyeSA6IEVudHJ5IHsKLSAgICB2b2lkIGNyZWF0
ZVdyaXRlcihpbiBbQ2FsbGJhY2tdIEZpbGVXcml0ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgdm9pZCBmaWxlKGluIFtDYWxsYmFja10gRmlsZUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywg
aW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAg
ICB2b2lkIGNyZWF0ZVdyaXRlcihpbiBGaWxlV3JpdGVyQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
LCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBm
aWxlKGluIEZpbGVDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbAppbmRl
eCA5MGNmNmE5Li40ODZkODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwKQEAgLTMwLDkg
KzMwLDkgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCi0gICAgdm9pZCB3ZWJraXRSZXF1
ZXN0RmlsZVN5c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwg
aW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICB2b2lkIHdlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKGluIHVuc2lnbmVkIHNob3J0IHR5cGUs
IGluIGxvbmcgbG9uZyBzaXplLCBpbiBbT3B0aW9uYWxdIEZpbGVTeXN0ZW1DYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
ICAgICBET01GaWxlU3lzdGVtU3luYyB3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbVN5bmMoaW4gdW5z
aWduZWQgc2hvcnQgdHlwZSwgaW4gbG9uZyBsb25nIHNpemUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlv
bik7Ci0gICAgdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmlu
ZyB1cmwsIGluIFtDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9p
ZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIEVu
dHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgRW50cnlTeW5jIHdlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0
ZW1TeW5jVVJMKGluIERPTVN0cmluZyB1cmwpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CiAKICAg
ICBhdHRyaWJ1dGUgRmlsZUVycm9yQ29uc3RydWN0b3IgRmlsZUVycm9yOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYVN0cmVhbS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3Ry
ZWFtLmlkbAppbmRleCA1ZDM5OWE4Li5kMTY5MWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbApA
QCAtMjEsOCArMjEsOCBAQAogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKIF0gcGFydGlh
bCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShpbiBE
aWN0aW9uYXJ5IG9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gW0NhbGxiYWNrXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5pZGwKaW5kZXggYTBkYzFjZS4uNmRkMTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTM2
LDE4ICszNiwxOCBAQAogICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAg
RXZlbnRUYXJnZXQKIF0gaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIHsKLSAgICB2b2lkIGNy
ZWF0ZU9mZmVyKGluIFtDYWxsYmFja10gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBS
VENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5
IG1lZGlhQ29uc3RyYWludHMpCisgICAgdm9pZCBjcmVhdGVPZmZlcihpbiBSVENTZXNzaW9uRGVz
Y3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxd
IERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAKLSAgICB2b2lkIGNyZWF0ZUFuc3dlcihpbiBbQ2FsbGJhY2tdIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBpbiBb
T3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKKyAgICB2b2lkIGNyZWF0ZUFu
c3dlcihpbiBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFpbHVyZUNh
bGxiYWNrLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICB2b2lkIHNldExvY2FsRGVzY3JpcHRpb24o
aW4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCBpbiBbQ2FsbGJhY2ssIE9wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sg
ZmFpbHVyZUNhbGxiYWNrKQorICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihpbiBSVENTZXNz
aW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIFJUQ0Vycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKQogICAgICAgICByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uIGxvY2FsRGVzY3JpcHRpb24KICAgICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRp
b24pOwogCi0gICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihpbiBSVENTZXNzaW9uRGVzY3Jp
cHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCisg
ICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihpbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVz
Y3JpcHRpb24sIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZvaWRDYWxsYmFjayBz
dWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9y
Q2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIHJlbW90ZURlc2Ny
aXB0aW9uCiAgICAgICAgIGdldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKQEAgLTcyLDcgKzcy
LDcgQEAKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIHJlbW92ZVN0cmVhbShpbiBNZWRp
YVN0cmVhbSBzdHJlYW0pCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgdm9p
ZCBnZXRTdGF0cyhpbiBbQ2FsbGJhY2tdIFJUQ1N0YXRzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
LCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBNZWRpYVN0cmVhbVRyYWNrIHNlbGVj
dG9yKTsKKyAgICB2b2lkIGdldFN0YXRzKGluIFJUQ1N0YXRzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxi
YWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBNZWRpYVN0cmVhbVRyYWNrIHNl
bGVjdG9yKTsKIAogICAgIFJUQ0RhdGFDaGFubmVsIGNyZWF0ZURhdGFDaGFubmVsKGluIFtUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyBsYWJlbCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9wdGlvbnMpCiAgICAgICAgICByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKaW5kZXggMTk0ZTg5Yi4uMzg3MDhhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwKQEAgLTUxLDcgKzUxLDcgQEAKIAogI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElP
TlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCiAgICAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gRE9NU3RyaW5nIHBlcm1pc3Npb247
Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyB2b2lkIHJlcXVl
c3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjayBjYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFtPcHRpb25hbF0gTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrIGNhbGxiYWNrKTsKICNlbmRpZgogCiAgICAgYXR0cmlidXRl
IEV2ZW50TGlzdGVuZXIgb25zaG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAppbmRleCBhZTFhNTU4
Li4yYTdkMzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAtMzcsNiArMzcsNiBAQAogICAg
Tm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbihpbiBET01TdHJpbmcgaWNvblVybCwgaW4g
RE9NU3RyaW5nIHRpdGxlLCBpbiBET01TdHJpbmcgYm9keSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiAKICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKLSAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
aW4gW09wdGlvbmFsLCBDYWxsYmFja10gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oaW4gW09wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5m
by5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbAppbmRl
eCAzOGY3YjkzLi5iNjlkM2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VJbmZvLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VJbmZvLmlkbApAQCAtMzEsNiArMzEsNiBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSU0lTVEVOVCA9IDE7
CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBxdWVyeVVzYWdl
QW5kUXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIFtDYWxsYmFjaywgT3B0
aW9uYWxdIFN0b3JhZ2VVc2FnZUNhbGxiYWNrIHVzYWdlQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIFN0b3JhZ2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25l
ZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5CeXRl
cywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZVF1b3RhQ2FsbGJhY2sgcXVvdGFDYWxs
YmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JD
YWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcXVl
cnlVc2FnZUFuZFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBlLCBpbiBbT3B0aW9u
YWxdIFN0b3JhZ2VVc2FnZUNhbGxiYWNrIHVzYWdlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU3Rv
cmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGluIHVuc2lnbmVkIHNob3J0IHN0b3Jh
Z2VUeXBlLCBpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBpbiBbT3B0aW9u
YWxdIFN0b3JhZ2VRdW90YUNhbGxiYWNrIHF1b3RhQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU3Rv
cmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsCmluZGV4IDQzNjRmNWIuLjRhNjRmOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwKQEAgLTI4
LDYgKzI4LDYgQEAKICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQogXSBpbnRlcmZhY2UgU3RvcmFnZVF1b3RhIHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoaW4gW0NhbGxiYWNrXSBT
dG9yYWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
XSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEoaW4gdW5zaWduZWQgbG9uZyBs
b25nIG5ld1F1b3RhSW5CeXRlcywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZVF1b3Rh
Q2FsbGJhY2sgcXVvdGFDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU3RvcmFnZUVy
cm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIHZvaWQgcXVlcnlVc2FnZUFuZFF1b3RhKGluIFN0b3JhZ2VVc2FnZUNhbGxiYWNr
IHVzYWdlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JD
YWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVx
dWVzdFF1b3RhKGluIHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtPcHRp
b25hbF0gU3RvcmFnZVF1b3RhQ2FsbGJhY2sgcXVvdGFDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBT
dG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKaW5kZXggNGYxOWI0OC4uNzQx
YTU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmlkbApAQCAtNTEsNyArNTEsNyBAQAogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
IAogICAgIC8vIEFzeW5jaHJvbm91cyBhdWRpbyBmaWxlIGRhdGEgZGVjb2RpbmcuCi0gICAgdm9p
ZCBkZWNvZGVBdWRpb0RhdGEoaW4gQXJyYXlCdWZmZXIgYXVkaW9EYXRhLCBpbiBbQ2FsbGJhY2td
IEF1ZGlvQnVmZmVyQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxi
YWNrXSBBdWRpb0J1ZmZlckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spCisgICAgdm9pZCBkZWNvZGVB
dWRpb0RhdGEoaW4gQXJyYXlCdWZmZXIgYXVkaW9EYXRhLCBpbiBBdWRpb0J1ZmZlckNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBBdWRpb0J1ZmZlckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgLy8gU291cmNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5k
b3dXZWJEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RP
TVdpbmRvd1dlYkRhdGFiYXNlLmlkbAppbmRleCAxZjMxZTFkLi4wNzQ1YTEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNl
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dl
YkRhdGFiYXNlLmlkbApAQCAtMjcsNyArMjcsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNRTF9E
QVRBQkFTRSwKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NV2luZG93IHsKLSAgICBEYXRhYmFzZSBv
cGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBE
T01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQor
ICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5n
IHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3Rp
bWF0ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFj
aykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAjaWYgIWRlZmluZWQoTEFOR1VBR0Vf
Q1BQKSB8fCAhTEFOR1VBR0VfQ1BQCiAgICAgYXR0cmlidXRlIFNRTEV4Y2VwdGlvbkNvbnN0cnVj
dG9yIFNRTEV4Y2VwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZS5pZGwKaW5kZXggNWY2NDg5Ny4uM2VmZTM5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwKQEAgLTMyLDggKzMyLDggQEAK
ICAgICBKU05vU3RhdGljVGFibGVzCiBdIGludGVyZmFjZSBEYXRhYmFzZSB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwotICAgIHZvaWQgY2hhbmdlVmVyc2lvbihp
biBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3RyaW5nIG5ld1ZlcnNpb24sIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsK
LSAgICB2b2lkIHRyYW5zYWN0aW9uKGluIFtDYWxsYmFja10gU1FMVHJhbnNhY3Rpb25DYWxsYmFj
ayBjYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFZvaWRDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKGluIFtDYWxsYmFj
a10gU1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtDYWxsYmFj
aywgT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgY2hh
bmdlVmVyc2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3RyaW5nIG5ld1ZlcnNp
b24sIGluIFtPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW09w
dGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW09w
dGlvbmFsXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB2b2lkIHRyYW5zYWN0
aW9uKGluIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFtPcHRpb25hbF0gU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gVm9p
ZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CisgICAgdm9pZCByZWFkVHJhbnNhY3Rpb24oaW4g
U1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTUUxUcmFuc2Fj
dGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBWb2lkQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbAppbmRleCAxMzAxZWFiLi4zYjRmZWM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3lu
Yy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVN5
bmMuaWRsCkBAIC0zNSw4ICszNSw4IEBACiBdIGludGVyZmFjZSBEYXRhYmFzZVN5bmMgewogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVyc2lvbjsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGxhc3RFcnJvck1lc3NhZ2U7Ci0gICAgdm9pZCBjaGFuZ2VWZXJzaW9u
KGluIERPTVN0cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbF0gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJh
aXNlcyhET01FeGNlcHRpb24pOwotICAgIHZvaWQgdHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBT
UUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4Y2VwdGlvbik7
Ci0gICAgdm9pZCByZWFkVHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFuc2FjdGlvblN5
bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCBjaGFu
Z2VWZXJzaW9uKGluIERPTVN0cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lv
biwgaW4gW09wdGlvbmFsXSBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCB0cmFuc2FjdGlvbihpbiBTUUxUcmFuc2FjdGlv
blN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCBy
ZWFkVHJhbnNhY3Rpb24oaW4gU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2sgY2FsbGJhY2spIHJh
aXNlcyhET01FeGNlcHRpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbAppbmRleCBhNTdkZjE2Li41M2E5MzEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5z
YWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRy
YW5zYWN0aW9uLmlkbApAQCAtMzQsNiArMzQsNiBAQAogXSBpbnRlcmZhY2UgU1FMVHJhbnNhY3Rp
b24gewogICAgIFtDdXN0b21dIHZvaWQgZXhlY3V0ZVNxbChpbiBET01TdHJpbmcgc3FsU3RhdGVt
ZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBPYmplY3RBcnJheSBhcmd1bWVu
dHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IFNRTFN0YXRlbWVudENhbGxiYWNrIGNhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxd
IFNRTFN0YXRlbWVudENhbGxiYWNrIGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWxdIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9X
b3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsCmluZGV4IDVhMWU1ZTkuLmQ4Yjlk
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2Vy
Q29udGV4dFdlYkRhdGFiYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKQEAgLTI3LDEwICsyNywxMCBAQAog
WwogICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKIF0gcGFydGlhbCBpbnRlcmZhY2UgV29y
a2VyQ29udGV4dCB7Ci0gICAgRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1l
LCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNp
Z25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIERhdGFiYXNl
Q2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4g
RE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxh
eU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBEYXRh
YmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwogCi0gICAgRGF0YWJhc2VTeW5jIG9wZW5EYXRhYmFzZVN5bmMoaW4gRE9NU3RyaW5nIG5h
bWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVu
c2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJh
c2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQorICAgIERhdGFiYXNlU3luYyBvcGVuRGF0YWJh
c2VTeW5jKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3Ry
aW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtPcHRp
b25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtCmluZGV4IGVlZWVlYmEuLmJlNjFjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQpAQCAtNDk3LDcgKzQ5Nyw3IEBA
ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NQ3VzdG9t
Lmg6ICQoV2ViQ29yZSkvYmluZGluZ3MvCiAjIEZpbHRlciBvdXQgU1ZHIGFuZCBJbmRleGVkREIg
Zm9yIG5vdwogZ2RvbV9mZWF0dXJlX2RlZmluZXMgOj0gJChmaWx0ZXItb3V0IEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFPTEsICQoZmlsdGVyLW91dCBFTkFCTEVfU1ZHJSwgJChmZWF0dXJlX2RlZmlu
ZXMpKSkgRU5BQkxFX0lOREVYRURfREFUQUJBU0U9MAogRGVyaXZlZFNvdXJjZXMvd2Via2l0ZG9t
L1dlYktpdERPTSUuY3BwIERlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET00lLmggRGVy
aXZlZFNvdXJjZXMvd2Via2l0ZG9tL1dlYktpdERPTSVQcml2YXRlLmg6ICUuaWRsICQoU0NSSVBU
U19GT1JfR0VORVJBVEVfQklORElOR1MpICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yR09iamVjdC5wbSAkKFdlYkNvcmUpL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZp
bGUuYW0gJChzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlKQotCSQoQU1fVl9HRU4pJChQRVJM
KSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkKFdlYkNvcmUpL2JpbmRpbmdzL3Njcmlw
dHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1pbmNsdWRlICQoV2ViQ29yZSkvZG9tIC0taW5jbHVk
ZSAkKFdlYkNvcmUpL2h0bWwgLS1pbmNsdWRlICQoV2ViQ29yZSkvY3NzIC0taW5jbHVkZSAkKFdl
YkNvcmUpL3BhZ2UgLS1pbmNsdWRlICQoV2ViQ29yZSkveG1sIC0taW5jbHVkZSAkKFdlYkNvcmUp
L3N2ZyAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQktJVERPTSkiIC0tZGVmaW5lcyAiTEFO
R1VBR0VfR09CSkVDVD0xICQoZ2RvbV9mZWF0dXJlX2RlZmluZXMpIiAtLWdlbmVyYXRvciBHT2Jq
ZWN0IC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgJChzdXBwbGVtZW50YWxfZGVwZW5kZW5j
eV9maWxlKSAkPAorCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2Ny
aXB0cyAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1p
bmNsdWRlICQoV2ViQ29yZSkvTW9kdWxlcyAtLWluY2x1ZGUgJChXZWJDb3JlKS9kb20gLS1pbmNs
dWRlICQoV2ViQ29yZSkvaHRtbCAtLWluY2x1ZGUgJChXZWJDb3JlKS9jc3MgLS1pbmNsdWRlICQo
V2ViQ29yZSkvcGFnZSAtLWluY2x1ZGUgJChXZWJDb3JlKS9maWxlYXBpIC0taW5jbHVkZSAkKFdl
YkNvcmUpL3htbCAtLWluY2x1ZGUgJChXZWJDb3JlKS9zdmcgLS1vdXRwdXREaXIgIiQoR0VOU09V
UkNFU19XRUJLSVRET00pIiAtLWRlZmluZXMgIkxBTkdVQUdFX0dPQkpFQ1Q9MSAkKGdkb21fZmVh
dHVyZV9kZWZpbmVzKSIgLS1nZW5lcmF0b3IgR09iamVjdCAtLXN1cHBsZW1lbnRhbERlcGVuZGVu
Y3lGaWxlICQoc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lfZmlsZSkgJDwKIAogbGlid2Via2l0ZG9t
aW5jbHVkZWRpciA9ICQobGlid2Via2l0Z3RraW5jbHVkZWRpcikvd2Via2l0ZG9tCiBub2Rpc3Rf
bGlid2Via2l0ZG9taW5jbHVkZV9IRUFERVJTID0gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDI5MmRmNjQuLjRhMDVjZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0K
QEAgLTYsNiArNiw3IEBACiAjIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQg
KEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtNDI1LDYgKzQyNiwxMCBAQCBzdWIgSXNSZWZQdHJUeXBlCiAgICAgcmV0
dXJuIDAgaWYgJG9iamVjdC0+R2V0QXJyYXlUeXBlKCR0eXBlKTsKICAgICByZXR1cm4gMCBpZiAk
b2JqZWN0LT5HZXRTZXF1ZW5jZVR5cGUoJHR5cGUpOwogICAgIHJldHVybiAwIGlmICR0eXBlIGVx
ICJET01TdHJpbmciOworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsKKyAg
ICByZXR1cm4gMCBpZiAkdHlwZSBlcSAiRGljdGlvbmFyeSI7CisgICAgcmV0dXJuIDAgaWYgJHR5
cGUgZXEgIkFycmF5IjsKKyAgICByZXR1cm4gMCBpZiAkdHlwZSBlcSAiYW55IjsKICAgICByZXR1
cm4gMCBpZiAkb2JqZWN0LT5Jc0VudW1UeXBlKCR0eXBlKTsKIAogICAgIHJldHVybiAxOwpAQCAt
NjY1LDYgKzY3MCwyNSBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgIHJldHVybiAoJGZ1bmN0
aW9uTmFtZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3ViIElzQ2FsbGJhY2tJbnRl
cmZhY2UKK3sKKyAgbXkgJG9iamVjdCA9IHNoaWZ0OworICBteSAkdHlwZSA9IHNoaWZ0OworCisg
IHJldHVybiAwIHVubGVzcyAkb2JqZWN0LT5Jc1JlZlB0clR5cGUoJHR5cGUpOworICByZXR1cm4g
MCBpZiAkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKKworICBteSAkaWRsRmlsZSA9
ICRvYmplY3QtPklETEZpbGVGb3JJbnRlcmZhY2UoJHR5cGUpCisgICAgICBvciBkaWUoIkNvdWxk
IE5PVCBmaW5kIElETCBmaWxlIGZvciBpbnRlcmZhY2UgXCIkdHlwZVwiIVxuIik7CisKKyAgb3Bl
biBGSUxFLCAiPCIsICRpZGxGaWxlOworICBteSBAbGluZXMgPSA8RklMRT47CisgIGNsb3NlIEZJ
TEU7CisKKyAgbXkgJGZpbGVDb250ZW50cyA9IGpvaW4oJycsIEBsaW5lcyk7CisgIHJldHVybiAo
JGZpbGVDb250ZW50cyA9fiAvY2FsbGJhY2tccytpbnRlcmZhY2VccysoXHcrKS9ncyk7Cit9CisK
IHN1YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiB7CiAgICAgbXkgJGdlbmVyYXRvciA9IHNo
aWZ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckdPYmplY3QucG0KaW5kZXggNjljMGRiMS4uMDJjMmQzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
CkBAIC0yOTMsMTIgKzI5MywxMiBAQCBzdWIgU2tpcEZ1bmN0aW9uIHsKICAgICAgICAgcmV0dXJu
IDE7CiAgICAgfQogCi0gICAgIyBTa2lwIGZ1bmN0aW9ucyB0aGF0IGhhdmUgWyJDYWxsYmFjayJd
IHBhcmFtZXRlcnMsIGJlY2F1c2UgdGhpcworICAgICMgU2tpcCBmdW5jdGlvbnMgdGhhdCBoYXZl
IGNhbGxiYWNrIHBhcmFtZXRlcnMsIGJlY2F1c2UgdGhpcwogICAgICMgY29kZSBnZW5lcmF0b3Ig
ZG9lc24ndCBrbm93IGhvdyB0byBhdXRvLWdlbmVyYXRlIGNhbGxiYWNrcy4KICAgICAjIFNraXAg
ZnVuY3Rpb25zIHRoYXQgaGF2ZSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIgb3Igc2VxdWVuY2U8
VD4gcGFyYW1ldGVycywgYmVjYXVzZSB0aGlzCiAgICAgIyBjb2RlIGdlbmVyYXRvciBkb2Vzbid0
IGtub3cgaG93IHRvIGF1dG8tZ2VuZXJhdGUgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBvciBzZXF1
ZW5jZTxUPi4KICAgICBmb3JlYWNoIG15ICRwYXJhbSAoQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9
KSB7Ci0gICAgICAgIGlmICgkcGFyYW0tPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFjayJ9
IHx8CisgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgkcGFy
YW0tPnR5cGUpIHx8CiAgICAgICAgICAgICAkcGFyYW0tPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
bGFtcCJ9IHx8CiAgICAgICAgICAgICAkcGFyYW0tPnR5cGUgZXEgIk1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIiIHx8CiAgICAgICAgICAgICAkY29kZUdlbmVyYXRvci0+R2V0U2VxdWVuY2VUeXBlKCRw
YXJhbS0+dHlwZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOTcxYmZkNS4uNWZkMGY4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTEwLDYg
KzEwLDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDExIFBhdHJpY2sgR2Fuc3RlcmVyIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KICMgQ29weXJpZ2h0IChDKSAyMDEyIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgR29vZ2xl
IEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjCiAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTEyOTMsNyArMTI5NCw3IEBAIHN1YiBH
ZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24KICAgICAgICAgICAgICAgICBwdXNoKEBh
bmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9LmlzVW5kZWZpbmVkT3JOdWxsKCkgfHwgJHt2YWx1ZX0u
aXNTdHJpbmcoKSB8fCAke3ZhbHVlfS5pc09iamVjdCgpKSIpOwogICAgICAgICAgICAgICAgICR1
c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRleH0gPSAxOwogICAgICAgICAgICAgfQotICAgICAg
ICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkg
eworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgk
cGFyYW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9ubHkgY2hl
Y2tzIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KICAgICAgICAgICAgIHB1c2goQGFu
ZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNGdW5jdGlvbigp
KSIpOwogICAgICAgICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CkBA
IC0yODk4LDcgKzI4OTksNyBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAg
IyBPcHRpb25hbCBhcmd1bWVudHMgd2l0aCBbT3B0aW9uYWw9Li4uXSBzaG91bGQgbm90IGdlbmVy
YXRlIHRoZSBlYXJseSBjYWxsLgogICAgICAgICAjIE9wdGlvbmFsIERpY3Rpb25hcnkgYXJndW1l
bnRzIGFsd2F5cyBjb25zaWRlcmVkIHRvIGhhdmUgZGVmYXVsdCBvZiBlbXB0eSBkaWN0aW9uYXJ5
LgogICAgICAgICBteSAkb3B0aW9uYWwgPSAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiT3B0aW9uYWwifTsKLSAgICAgICAgaWYgKCRvcHRpb25hbCAmJiAkb3B0aW9uYWwgbmUgIkRl
ZmF1bHRJc1VuZGVmaW5lZCIgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNOdWxsU3RyaW5nIiAm
JiAkYXJnVHlwZSBuZSAiRGljdGlvbmFyeSIgJiYgISRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDYWxsYmFjayJ9KSB7CisgICAgICAgIGlmICgkb3B0aW9uYWwgJiYgJG9wdGlvbmFs
IG5lICJEZWZhdWx0SXNVbmRlZmluZWQiICYmICRvcHRpb25hbCBuZSAiRGVmYXVsdElzTnVsbFN0
cmluZyIgJiYgJGFyZ1R5cGUgbmUgIkRpY3Rpb25hcnkiICYmICEkY29kZUdlbmVyYXRvci0+SXND
YWxsYmFja0ludGVyZmFjZSgkcGFyYW1ldGVyLT50eXBlKSkgewogICAgICAgICAgICAgIyBHZW5l
cmF0ZSBlYXJseSBjYWxsIGlmIHRoZXJlIGFyZSBlbm91Z2ggcGFyYW1ldGVycy4KICAgICAgICAg
ICAgIGlmICghJGhhc09wdGlvbmFsQXJndW1lbnRzKSB7CiAgICAgICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiXG4gICAgc2l6ZV90IGFyZ3NDb3VudCA9IGV4ZWMtPmFyZ3VtZW50Q291
bnQoKTtcbiIpOwpAQCAtMjkyNiw3ICsyOTI3LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0No
ZWNrCiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICIgICAgICAgIHJlc29sdmVyID0gY3VzdG9tUmVzb2x2ZXIuZ2V0KCk7XG4i
KTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKTsKLSAgICAgICAg
fSBlbHNpZiAoJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsK
KyAgICAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHBh
cmFtZXRlci0+dHlwZSkpIHsKICAgICAgICAgICAgIG15ICRjYWxsYmFja0NsYXNzTmFtZSA9IEdl
dENhbGxiYWNrQ2xhc3NOYW1lKCRhcmdUeXBlKTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7
IiRjYWxsYmFja0NsYXNzTmFtZS5oIn0gPSAxOwogICAgICAgICAgICAgaWYgKCRvcHRpb25hbCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50
eHQKaW5kZXggMzJjODkwOS4uZDI0ZjU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0yMiw3ICsyMiw2IEBAIEFjdGl2ZURP
TU9iamVjdAogQ1BQUHVyZUludGVyZmFjZQogQ2FjaGVkQXR0cmlidXRlCiBDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0fFNjcmlwdFN0YXRlfFNjcmlwdEFyZ3VtZW50c3xDYWxsU3RhY2sK
LUNhbGxiYWNrCiBDaGVja1NlY3VyaXR5CiBDaGVja1NlY3VyaXR5Rm9yTm9kZQogQ2xhbXAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dl
YkRPTVRlc3RPYmouY3BwCmluZGV4IGQ2NTEwMTAuLmQwZmRlNTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2Jq
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiVGVzdEVudW1UeXBlLmgiCisjaW5j
bHVkZSAiVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01EaWN0aW9uYXJ5LmgiCiAjaW5jbHVk
ZSAiV2ViRE9NRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCkBAIC0zNiwxOSAr
MzcsMTIgQEAKICNpbmNsdWRlICJXZWJET01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldlYkRPTVN0
cmluZy5oIgogI2luY2x1ZGUgIldlYkRPTVRlc3RFbnVtVHlwZS5oIgorI2luY2x1ZGUgIldlYkRP
TVRlc3ROb2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdE9iai5oIgotI2luY2x1ZGUgIldlYkRP
TWEuaCIKLSNpbmNsdWRlICJXZWJET01iLmgiCiAjaW5jbHVkZSAiV2ViRE9NYm9vbC5oIgotI2lu
Y2x1ZGUgIldlYkRPTWQuaCIKLSNpbmNsdWRlICJXZWJET01lLmgiCiAjaW5jbHVkZSAiV2ViRXhj
ZXB0aW9uSGFuZGxlci5oIgogI2luY2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIuaCIKLSNp
bmNsdWRlICJhLmgiCi0jaW5jbHVkZSAiYi5oIgogI2luY2x1ZGUgImJvb2wuaCIKLSNpbmNsdWRl
ICJkLmgiCi0jaW5jbHVkZSAiZS5oIgogI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
IgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC05
NzIsNyArOTY2LDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpvdmVybG9hZGVkTWV0aG9kMShjb25z
dCBXZWJET01TdHJpbmcmIHR5cGUpCiAKICNlbmRpZgogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0
MShjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTk4MCw3ICs5NzQsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZl
cnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVlKQogICAgIGltcGwoKS0+Y29udmVydDEodG9XZWJDb3Jl
KHZhbHVlKSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9N
YiYgdmFsdWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQyKGNvbnN0IFdlYkRPTVRlc3RO
b2RlJiB2YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTg4
LDcgKzk4Miw3IEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9NYiYg
dmFsdWUpCiAgICAgaW1wbCgpLT5jb252ZXJ0Mih0b1dlYkNvcmUodmFsdWUpKTsKIH0KIAotdm9p
ZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKK3ZvaWQgV2Vi
RE9NVGVzdE9iajo6Y29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKQogewogICAg
IGlmICghaW1wbCgpKQogICAgICAgICByZXR1cm47CkBAIC05OTYsNyArOTkwLDcgQEAgdm9pZCBX
ZWJET01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKICAgICBpbXBsKCkt
PmNvbnZlcnQ0KHRvV2ViQ29yZSh2YWx1ZSkpOwogfQogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNv
bnZlcnQ1KGNvbnN0IFdlYkRPTWUmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0
NShjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgKaW5kZXggYzFjMTdkMi4uYmJkMWRmYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0T2JqLmgKQEAgLTM4LDEyICszOCw5IEBAIGNsYXNzIFdlYkRPTU9iamVjdDsKIGNsYXNz
IFdlYkRPTVNWR1BvaW50OwogY2xhc3MgV2ViRE9NU3RyaW5nOwogY2xhc3MgV2ViRE9NVGVzdEVu
dW1UeXBlOworY2xhc3MgV2ViRE9NVGVzdE5vZGU7CiBjbGFzcyBXZWJET01UZXN0T2JqOwotY2xh
c3MgV2ViRE9NYTsKLWNsYXNzIFdlYkRPTWI7CiBjbGFzcyBXZWJET01ib29sOwotY2xhc3MgV2Vi
RE9NZDsKLWNsYXNzIFdlYkRPTWU7CiAKIGNsYXNzIFdlYkRPTVRlc3RPYmogOiBwdWJsaWMgV2Vi
RE9NT2JqZWN0IHsKIHB1YmxpYzoKQEAgLTE5MSwxMCArMTg4LDEwIEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMSkKICAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKGNvbnN0IFdlYkRP
TVN0cmluZyYgdHlwZSk7CiAjZW5kaWYKLSAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTWEm
IHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTWImIHZhbHVlKTsKLSAgICB2
b2lkIGNvbnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQ1KGNv
bnN0IFdlYkRPTWUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTVRlc3RO
b2RlJiB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0Mihjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFs
dWUpOworICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKKyAg
ICB2b2lkIGNvbnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSk7CiAgICAgV2ViRE9N
U1ZHUG9pbnQgbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICBXZWJET01TVkdQb2ludCBpbW11
dGFibGVQb2ludEZ1bmN0aW9uKCk7CiAgICAgdm9pZCBiYW5hbmEoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE9iai5jcHAKaW5kZXggOTAyNjY1Mi4uMjNkYTQxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9i
ai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTMzLDEyICszMyw5IEBACiAjaW5jbHVkZSAiV2ViS2l0
RE9NU1ZHUG9pbnRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlw
dFZhbHVlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3RFbnVtVHlwZVByaXZhdGUu
aCIKKyNpbmNsdWRlICJXZWJLaXRET01UZXN0Tm9kZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJL
aXRET01UZXN0T2JqUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldlYktpdERPTWFQcml2YXRlLmgiCi0j
aW5jbHVkZSAiV2ViS2l0RE9NYlByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01ib29sUHJp
dmF0ZS5oIgotI2luY2x1ZGUgIldlYktpdERPTWRQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0
RE9NZVByaXZhdGUuaCIKICNpbmNsdWRlICJnb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTM4
MCw0NiArMTM3Nyw0NiBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlwZQogfQogCiB2b2lkCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERP
TWEqIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19URVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0Eo
dmFsdWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RFKHZh
bHVlKSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsK
LSAgICBXZWJDb3JlOjphKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7Cisg
ICAgV2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVl
KTsKICAgICBpdGVtLT5jb252ZXJ0MShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQKLXdlYmtp
dF9kb21fdGVzdF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9N
YiogdmFsdWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lT
X1RFU1RfT0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfQih2
YWx1ZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05PREUodmFs
dWUpKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwot
ICAgIFdlYkNvcmU6OmIqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKKyAg
ICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUp
OwogICAgIGl0ZW0tPmNvbnZlcnQyKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAotd2Via2l0
X2RvbV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01k
KiB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNf
VEVTVF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19EKHZh
bHVlKSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERSh2YWx1
ZSkpOwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0g
ICAgV2ViQ29yZTo6ZCogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOworICAg
IFdlYkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7
CiAgICAgaXRlbS0+Y29udmVydDQoY29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWUq
IHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19U
RVNUX09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0UodmFs
dWUpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RFKHZhbHVl
KSk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAg
ICBXZWJDb3JlOjplKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CisgICAg
V2ViQ29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsK
ICAgICBpdGVtLT5jb252ZXJ0NShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RPYmouaAppbmRleCBhZjUzNmIwLi43Yzk5MmMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE9iai5oCkBAIC00MDQsNDYgKzQwNCw0NiBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292
ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlw
ZQogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxOgogICogQHNlbGY6IEEgI1dl
YktpdERPTVRlc3RPYmoKLSAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NYQorICogQHZhbHVlOiBBICNX
ZWJLaXRET01UZXN0Tm9kZQogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwg
V2ViS2l0RE9NYSogdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdl
YmtpdF9kb21fdGVzdF9vYmpfY29udmVydDI6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9i
agotICogQHZhbHVlOiBBICNXZWJLaXRET01iCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3RO
b2RlCiAgKgogICogUmV0dXJuczoKICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01iKiB2
YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0
X29ial9jb252ZXJ0NDoKICAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCi0gKiBAdmFsdWU6
IEEgI1dlYktpdERPTWQKKyAqIEB2YWx1ZTogQSAjV2ViS2l0RE9NVGVzdE5vZGUKICAqCiAgKiBS
ZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2Nv
bnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWQqIHZhbHVlKTsKK3dlYmtp
dF9kb21fdGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9N
VGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1
OgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAqIEB2YWx1ZTogQSAjV2ViS2l0RE9N
ZQorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQogICoKICAqIFJldHVybnM6CiAgKgog
KiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZSogdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29i
al9jb252ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFs
dWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfbXV0YWJsZV9wb2ludF9mdW5jdGlv
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggZTEwMzk3NC4uM2MzYmI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTM3LDEz
ICszNywxMCBAQAogI2luY2x1ZGUgIkpTU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJKU1NjcmlwdFBy
b2ZpbGUuaCIKICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTVGVzdE5v
ZGUuaCIKICNpbmNsdWRlICJKU1Rlc3RPYmouaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIK
LSNpbmNsdWRlICJKU2EuaCIKLSNpbmNsdWRlICJKU2IuaCIKICNpbmNsdWRlICJKU2Jvb2wuaCIK
LSNpbmNsdWRlICJKU2QuaCIKLSNpbmNsdWRlICJKU2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAj
aW5jbHVkZSAiU1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJP
ZmYuaCIKQEAgLTI3ODAsNyArMjc3Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MShFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
VGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkp
OwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhy
b3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAg
ICBhKiB2YWx1ZSh0b2EoZXhlYy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUo
dG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAg
ICBpbXBsLT5jb252ZXJ0MSh2YWx1ZSk7CkBAIC0yNzk3LDcgKzI3OTQsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDIoRXhl
Y1N0YXRlKiBleGVjKQogICAgIFRlc3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4o
Y2FzdGVkVGhpcy0+aW1wbCgpKTsKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkK
ICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihleGVjKSk7Ci0gICAgYiogdmFsdWUodG9iKGV4ZWMtPmFyZ3VtZW50KDApKSk7Cisg
ICAgVGVzdE5vZGUqIHZhbHVlKHRvVGVzdE5vZGUoZXhlYy0+YXJndW1lbnQoMCkpKTsKICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+Y29udmVydDIodmFsdWUpOwpAQCAtMjgxNCw3ICsy
ODExLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbkNvbnZlcnQ0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBUZXN0T2JqKiBpbXBsID0gc3Rh
dGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFy
Z3VtZW50Q291bnQoKSA8IDEpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3Jl
YXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IoZXhlYykpOwotICAgIGQqIHZhbHVlKHRvZChleGVj
LT5hcmd1bWVudCgwKSkpOworICAgIFRlc3ROb2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFy
Z3VtZW50KDApKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIGltcGwtPmNvbnZlcnQ0KHZh
bHVlKTsKQEAgLTI4MzEsNyArMjgyOCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NShFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
VGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkp
OwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhy
b3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAg
ICBlKiB2YWx1ZSh0b2UoZXhlYy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUo
dG9UZXN0Tm9kZShleGVjLT5hcmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAg
ICBpbXBsLT5jb252ZXJ0NSh2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKaW5kZXggNzE1MDA2MS4uN2E2MzA5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RPYmouaApAQCAtMzQsMTYgKzM0LDEzIEBACiBAY2xhc3MgRE9NU1ZHRG9jdW1l
bnQ7CiBAY2xhc3MgRE9NU1ZHUG9pbnQ7CiBAY2xhc3MgRE9NVGVzdEVudW1UeXBlOworQGNsYXNz
IERPTVRlc3ROb2RlOwogQGNsYXNzIERPTVRlc3RPYmo7CiBAY2xhc3MgRE9NVGVzdE9iamVjdEFD
b25zdHJ1Y3RvcjsKIEBjbGFzcyBET01UZXN0T2JqZWN0QkNvbnN0cnVjdG9yOwogQGNsYXNzIERP
TVRlc3RPYmplY3RDQ29uc3RydWN0b3I7Ci1AY2xhc3MgRE9NYTsKIEBjbGFzcyBET01hbnk7Ci1A
Y2xhc3MgRE9NYjsKIEBjbGFzcyBET01ib29sOwotQGNsYXNzIERPTWQ7Ci1AY2xhc3MgRE9NZTsK
IEBjbGFzcyBOU1N0cmluZzsKIEBwcm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCkBAIC0xNzIs
MTAgKzE2OSwxMCBAQCBlbnVtIHsKIC0gKHZvaWQpb3ZlcmxvYWRlZE1ldGhvZDE6KE5TU3RyaW5n
ICopdHlwZTsKICNlbmRpZgogLSAoRE9NU1ZHRG9jdW1lbnQgKilnZXRTVkdEb2N1bWVudDsKLS0g
KHZvaWQpY29udmVydDE6KERPTWEgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDI6KERPTWIgKil2
YWx1ZTsKLS0gKHZvaWQpY29udmVydDQ6KERPTWQgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDU6
KERPTWUgKil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFsdWU7Cist
ICh2b2lkKWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NDoo
RE9NVGVzdE5vZGUgKil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDU6KERPTVRlc3ROb2RlICopdmFs
dWU7CiAtIChET01TVkdQb2ludCAqKW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAoRE9NU1ZHUG9p
bnQgKilpbW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAodm9pZClvcmFuZ2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1t
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5t
bQppbmRleCAzZGExNDkwLi44OTk2ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTQwLDE2ICs0MCwx
MyBAQAogI2ltcG9ydCAiRE9NU1ZHUG9pbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU3R5bGVT
aGVldEludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0RW51bVR5cGVJbnRlcm5hbC5oIgorI2lt
cG9ydCAiRE9NVGVzdE5vZGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iakludGVybmFs
LmgiCiAjaW1wb3J0ICJET01UZXN0T2JqZWN0QUNvbnN0cnVjdG9ySW50ZXJuYWwuaCIKICNpbXBv
cnQgIkRPTVRlc3RPYmplY3RCQ29uc3RydWN0b3JJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVz
dE9iamVjdENDb25zdHJ1Y3RvckludGVybmFsLmgiCi0jaW1wb3J0ICJET01hSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRPTWFueUludGVybmFsLmgiCi0jaW1wb3J0ICJET01iSW50ZXJuYWwuaCIKICNp
bXBvcnQgIkRPTWJvb2xJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NZEludGVybmFsLmgiCi0jaW1w
b3J0ICJET01lSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRpY3Rpb25hcnkuaCIKICNpbXBvcnQgIkRv
Y3VtZW50LmgiCiAjaW1wb3J0ICJFdmVudExpc3RlbmVyLmgiCkBAIC02Myw2ICs2MCw3IEBACiAj
aW1wb3J0ICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKICNpbXBvcnQgIlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIgogI2ltcG9ydCAiVGVzdEVudW1UeXBlLmgiCisjaW1wb3J0ICJUZXN0Tm9k
ZS5oIgogI2ltcG9ydCAiVGVzdE9iai5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEFDb25zdHJ1Y3Rv
ci5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEJDb25zdHJ1Y3Rvci5oIgpAQCAtNzAsMTIgKzY4LDgg
QEAKICNpbXBvcnQgIlRocmVhZENoZWNrLmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5o
IgogI2ltcG9ydCAiV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oIgotI2ltcG9ydCAiYS5oIgogI2lt
cG9ydCAiYW55LmgiCi0jaW1wb3J0ICJiLmgiCiAjaW1wb3J0ICJib29sLmgiCi0jaW1wb3J0ICJk
LmgiCi0jaW1wb3J0ICJlLmgiCiAjaW1wb3J0IDx3dGYvR2V0UHRyLmg+CiAKICNkZWZpbmUgSU1Q
TCByZWludGVycHJldF9jYXN0PFdlYkNvcmU6OlRlc3RPYmoqPihfaW50ZXJuYWwpCkBAIC0xMDQx
LDI1ICsxMDM1LDI1IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLSAodm9pZCljb252ZXJ0
MTooRE9NYSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQxOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7
CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNv
bnZlcnQxKGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0MjooRE9NYiAqKXZhbHVl
CistICh2b2lkKWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQyKGNvcmUodmFs
dWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlCistICh2b2lkKWNvbnZl
cnQ0OihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQ0KGNvcmUodmFsdWUpKTsKIH0KIAotLSAo
dm9pZCljb252ZXJ0NTooRE9NZSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQ1OihET01UZXN0Tm9k
ZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIElNUEwtPmNvbnZlcnQ1KGNvcmUodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCA5NTg3OTU0Li45NTllYTFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
CkBAIC0zMyw3ICszMyw3IEBACiBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIs
ICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAKIFsKLSAgICBDb25zdHJ1Y3RvcihpbiBb
Q2FsbGJhY2tdIFRlc3RDYWxsYmFjayB0ZXN0Q2FsbGJhY2spLAorICAgIENvbnN0cnVjdG9yKGlu
IFRlc3RDYWxsYmFjayB0ZXN0Q2FsbGJhY2spLAogICAgIEludGVyZmFjZU5hbWU9VGVzdE9iamVj
dAogXSBpbnRlcmZhY2UgVGVzdE9iaiB7CiAgICAgLy8gQXR0cmlidXRlcwpAQCAtMTQzLDEyICsx
NDMsMTIgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAiIiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVl
MiIsICJFbnVtVmFsdWUzIiB9OwogCiAjaWYgZGVmaW5lZChURVNUSU5HX0pTKQogICAgIC8vICdD
YWxsYmFjaycgZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgdm9pZCAgICBtZXRob2RXaXRoQ2FsbGJh
Y2tBcmcoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQgICAg
bWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcoaW4gbG9uZyBub25DYWxsYmFj
aywgaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0
aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmcoaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVGVz
dENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FyZyhp
biBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgbWV0aG9kV2l0aE5vbkNhbGxi
YWNrQXJnQW5kQ2FsbGJhY2tBcmcoaW4gbG9uZyBub25DYWxsYmFjaywgaW4gVGVzdENhbGxiYWNr
IGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
KGluIFtPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKICAgICAvLyBzdGF0aWMgbWV0
aG9kcyB3aXRoICdDYWxsYmFjaycgZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgc3RhdGljIHZvaWQg
ICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmcoaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKLSAgICBzdGF0aWMgdm9pZCAgICBzdGF0
aWNNZXRob2RXaXRoQ2FsbGJhY2tBcmcoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJh
Y2spOworICAgIHN0YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlv
bmFsQXJnKGluIFtPcHRpb25hbF0gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBzdGF0aWMg
dm9pZCAgICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBcmcoaW4gVGVzdENhbGxiYWNrIGNhbGxi
YWNrKTsKICNlbmRpZgogCiAgICAgLy8gJ0NvbmRpdGlvbmFsJyBleHRlbmRlZCBhdHRyaWJ1dGUK
QEAgLTE4MCw3ICsxODAsNyBAQCBlbnVtIFRlc3RFbnVtVHlwZSB7ICIiLCAiRW51bVZhbHVlMSIs
ICJFbnVtVmFsdWUyIiwgIkVudW1WYWx1ZTMiIH07CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0
aG9kKGluIFRlc3RPYmo/IG9iakFyZywgaW4gW09wdGlvbmFsXSBsb25nIGxvbmdBcmcpOwogICAg
IHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBbU3RyaWN0VHlwZUNoZWNraW5nXSBET01TdHJp
bmcgc3RyQXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gbG9uZyBsb25nQXJn
KTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJh
Y2sgY2FsbGJhY2spOworICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0Q2FsbGJh
Y2sgY2FsbGJhY2spOwogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01TdHJpbmdM
aXN0PyBsaXN0QXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gRE9NU3RyaW5n
W10/IGFycmF5QXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gVGVzdE9iaiBv
YmpBcmcpOwpAQCAtMjEwLDEwICsyMTAsMTAgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAiIiwgIkVu
dW1WYWx1ZTEiLCAiRW51bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9OwogICAgIFtDaGVja1NlY3Vy
aXR5Rm9yTm9kZV0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgY29udmVydDEoaW4gW1RyZWF0UmV0dXJuZWROdWxs
U3RyaW5nQXM9TnVsbF0gYSB2YWx1ZSk7Ci0gICAgdm9pZCBjb252ZXJ0MihpbiBbVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1VbmRlZmluZWRdIGIgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDQo
aW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGQgdmFsdWUpOwotICAgIHZvaWQgY29udmVydDUo
aW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10g
ZSB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0MShpbiBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdB
cz1OdWxsXSBUZXN0Tm9kZSB2YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0MihpbiBbVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1VbmRlZmluZWRdIFRlc3ROb2RlIHZhbHVlKTsKKyAgICB2b2lkIGNv
bnZlcnQ0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBUZXN0Tm9kZSB2YWx1ZSk7CisgICAg
dm9pZCBjb252ZXJ0NShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRB
cz1OdWxsU3RyaW5nXSBUZXN0Tm9kZSB2YWx1ZSk7CiAKICAgICBhdHRyaWJ1dGUgU1ZHUG9pbnQg
bXV0YWJsZVBvaW50OwogICAgIFtJbW11dGFibGVdIGF0dHJpYnV0ZSBTVkdQb2ludCBpbW11dGFi
bGVQb2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0VHlwZWRlZnMuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RUeXBlZGVmcy5pZGwKaW5kZXggNzg1MTA4OS4uNzY4NTMwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKQEAg
LTc0LDcgKzc0LDcgQEAgdHlwZWRlZiBTVkdQb2ludCAgICAgICAgICAgICAgICAgICBTVkdQT0lO
VDsKIHR5cGVkZWYgRE9NU3RyaW5nICAgICAgICAgICAgICAgICAgU1RSSU5HOwogdHlwZWRlZiBb
T3B0aW9uYWxdIERPTVN0cmluZyAgICAgICBPUFRJT05BTF9TVFJJTkc7CiB0eXBlZGVmIERPTVN0
cmluZ1tdICAgICAgICAgICAgICAgIEFSUkFZX09GX1NUUklOR1M7Ci10eXBlZGVmIFtDYWxsYmFj
a10gVGVzdENhbGxiYWNrICAgIFRFU1RfQ0FMTEJBQ0s7Cit0eXBlZGVmIFRlc3RDYWxsYmFjayAg
ICAgICAgICAgICAgIFRFU1RfQ0FMTEJBQ0s7CiB0eXBlZGVmIFRlc3RTdWJPYmpDb25zdHJ1Y3Rv
ciAgICAgIFQ7CiB0eXBlZGVmIEFycmF5ICAgICAgICAgICAgICAgICAgICAgIEFSUkFZOwogdHlw
ZWRlZiBET01FeGNlcHRpb24gICAgICAgICAgICAgICBFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIu
aWRsCmluZGV4IGRhMjk2ZTYuLjE5MWMwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Gb250TG9hZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwK
QEAgLTQzLDcgKzQzLDcgQEAKIAogICAgIGJvb2xlYW4gY2hlY2tGb250KGluIERPTVN0cmluZyBm
b250LCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRleHQpOwog
ICAgIHZvaWQgbG9hZEZvbnQoaW4gRGljdGlvbmFyeSBwYXJhbXMpOwotICAgIHZvaWQgbm90aWZ5
V2hlbkZvbnRzUmVhZHkoaW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAg
IHZvaWQgbm90aWZ5V2hlbkZvbnRzUmVhZHkoaW4gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBsb2FkaW5nOwogCiAgICAgdm9pZCBhZGRFdmVu
dExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW0uaWRsCmluZGV4IDdjMzM4OTMuLjIxYjUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0
YVRyYW5zZmVySXRlbS5pZGwKQEAgLTM1LDcgKzM1LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGtpbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBl
OwogCi0gICAgdm9pZCBnZXRBc1N0cmluZyhpbiBbQ2FsbGJhY2ssT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBTdHJpbmdDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCBnZXRBc1N0cmlu
ZyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBTdHJpbmdDYWxsYmFjayBjYWxsYmFj
ayk7CiAgICAgQmxvYiBnZXRBc0ZpbGUoKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAppbmRleCBhMmQ5Y2FjLi4yMDMyZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBA
IC0xOTcsOSArMTk3LDkgQEAKICAgICB2b2lkIGNsZWFySW50ZXJ2YWwoaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gbG9uZyBoYW5kbGUpOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICYmIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRQot
ICAgIGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIFtDYWxsYmFja10gUmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKGluIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lk
IGNhbmNlbEFuaW1hdGlvbkZyYW1lKGluIGxvbmcgaWQpOwotICAgIGxvbmcgd2Via2l0UmVxdWVz
dEFuaW1hdGlvbkZyYW1lKGluIFtDYWxsYmFja10gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2sgY2FsbGJhY2spOworICAgIGxvbmcgd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIFJl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICBbSW1wbGVtZW50ZWRB
cz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZShp
biBsb25nIGlkKTsKICAgICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdm9p
ZCB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7IC8vIFRoaXMg
aXMgYSBkZXByZWNhdGVkIGFsaWFzIGZvciB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZSgpLiBS
ZW1vdmUgdGhpcyB3aGVuIHJlbW92aW5nIHZlbmRvciBwcmVmaXguCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199902</attachid>
            <date>2013-04-27 06:17:35 -0700</date>
            <delta_ts>2013-04-28 02:37:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115250_callback_attr_rm.patch</filename>
            <type>text/plain</type>
            <size>106612</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NDVlY2I1Li4zYWFkYjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTM1
IEBACisyMDEzLTA0LTI3ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5n
LmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIFtDYWxsYmFja10gSURMIGV4dGVuZGVkIGF0dHJp
YnV0ZSBmb3IgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE1MjUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBXZWJLaXQtc3BlY2lmaWMgW0NhbGxiYWNrXSBleHRlbmRl
ZCBhdHRyaWJ1dGUgYW5kIG1ha2UgdGhlIGJpbmRpbmdzCisgICAgICAgIGdlbmVyYXRvciBzbWFy
dCBlbm91Z2ggdG8ga25vdyB3aGVuIGEgcGFyYW1ldGVyIGlzIG9mIGNhbGxiYWNrIHR5cGUgb24g
aXRzCisgICAgICAgIG93bi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNo
YW5nZS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IFVzZSBXZWJDb3JlL01vZHVs
ZXMgYXMgSURMIGluY2x1ZGUgcGF0aCBpbnN0ZWFkIG9mIHVzaW5nCisgICAgICAgIHN1YmRpcnMu
IFRoZSBnZW5lcmF0b3Igd2lsbCBzZWFyY2ggcmVjdXJzaXZlbHkgYW55d2F5IGFuZCB0aGUgbGlz
dCBvZiBzdWJkaXJzIHdhcworICAgICAgICBpbmNvbXBsZXRlLgorICAgICAgICAqIE1vZHVsZXMv
ZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2Zp
bGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9FbnRy
eS5pZGw6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0
b3JhZ2VRdW90YS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmRhdGFiYXNlL1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGw6CisgICAgICAgICogYmluZGlu
Z3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgSURMIGluY2x1ZGUgZGlycy4K
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChJ
c1dyYXBwZXJUeXBlKToKKyAgICAgICAgKElzQ2FsbGJhY2tJbnRlcmZhY2UpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG06CisgICAgICAgIChTa2lw
RnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
OgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2tFeHByZXNzaW9uKToKKyAgICAgICAg
KEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0OiBSZW1vdmUgIkNhbGxiYWNrIiBleHRlbmRlZCBhdHRyaWJ1dGUuCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suY3Bw
OgorICAgICAgICAoV2ViRE9NVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKToK
KyAgICAgICAgKFdlYkRPTVRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlw
dFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViRE9NVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhO
b25Cb29sUmV0dXJuVHlwZSk6CisgICAgICAgIChXZWJET01UZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
UmVxdWlyZXNUaGlzVG9QYXNzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAoV2ViRE9NVGVzdENhbGxiYWNrKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOgorICAg
ICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDEpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6
Y29udmVydDIpOgorICAgICAgICAoV2ViRE9NVGVzdE9iajo6Y29udmVydDQpOgorICAgICAgICAo
V2ViRE9NVGVzdE9iajo6Y29udmVydDUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAg
IChXZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjphY2NlcHRUcmFuc2Zl
ckxpc3QpOgorICAgICAgICAoV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZTo6bXVsdGlUcmFuc2Zlckxpc3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oOgorICAgICAgICAo
V2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICAo
V2ViRE9NVGVzdFR5cGVkZWZzOjptdWx0aVRyYW5zZmVyTGlzdCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuaDoKKyAgICAgICAgKFdlYkRP
TVRlc3RUeXBlZGVmcyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxs
YmFja19jYWxsYmFja193aXRoX2FycmF5X3BhcmFtKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVz
dF9jYWxsYmFja19jYWxsYmFja193aXRoX3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX3BhcmFtKToK
KyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX25vbl9ib29s
X3JldHVybl90eXBlKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFj
a19yZXF1aXJlc190aGlzX3RvX3Bhc3MpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwOgorICAgICAgICAod2Via2l0
X2RvbV90ZXN0X29ial9jb252ZXJ0MSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2Nv
bnZlcnQyKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDQpOgorICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuY3BwOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0
X3ZhbHVlX2ludGVyZmFjZV9hY2NlcHRfdHJhbnNmZXJfbGlzdCk6CisgICAgICAgICh3ZWJraXRf
ZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX211bHRpX3RyYW5zZmVy
X2xpc3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0VHlwZWRlZnMuY3BwOgorICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX211bHRpX3RyYW5zZmVyX2xpc3QpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5o
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJh
bSk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFs
aXplZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2s6
OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKEpTVGVzdENhbGxiYWNrKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDEpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0Mik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KToKKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDUpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkFjY2VwdFRyYW5zZmVyTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVGdW5j
dGlvbk11bHRpVHJhbnNmZXJMaXN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0VHlwZWRlZnNQ
cm90b3R5cGVGdW5jdGlvbk11bHRpVHJhbnNmZXJMaXN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW06CisgICAgICAgICgtW0RPTVRlc3RD
YWxsYmFjayBjYWxsYmFja1dpdGhBcnJheVBhcmFtOl0pOgorICAgICAgICAoLVtET01UZXN0Q2Fs
bGJhY2sgY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW06c3RyQXJnOl0pOgor
ICAgICAgICAoLVtET01UZXN0Q2FsbGJhY2sgY2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGU6
XSk6CisgICAgICAgICgtW0RPTVRlc3RDYWxsYmFjayBjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFz
czp0ZXN0Tm9kZVBhcmFtOl0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLm1tOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQxOl0pOgorICAgICAgICAo
LVtET01UZXN0T2JqIGNvbnZlcnQyOl0pOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQ0
Ol0pOgorICAgICAgICAoLVtET01UZXN0T2JqIGNvbnZlcnQ1Ol0pOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLm1tOgorICAgICAgICAoLVtET01UZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlIGFjY2VwdFRyYW5zZmVyTGlzdDp0cmFuc2Zlckxpc3Q6XSk6
CisgICAgICAgICgtW0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgbXVsdGlU
cmFuc2Zlckxpc3Q6dHg6c2Vjb25kOnR4eDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnMubW06CisgICAgICAgICgtW0RPTVRlc3RUeXBlZGVm
cyBtdWx0aVRyYW5zZmVyTGlzdDp0eDpzZWNvbmQ6dHh4Ol0pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsOiBVc2UgdmFsaWQgdHlwZXMgaW5zdGVhZCBv
ZiBDbGFzczEsIENsYXNzMiwgLi4uCisgICAgICAgIHNvIHRoYXQgdGhlIGJpbmRpbmdzIGdlbmVy
YXRvciBkb2VzIG5vdCBjb21wbGFpbiBhYm91dCBub3QgYmVpbmcgYWJsZSB0byByZXNvbHZlCisg
ICAgICAgIHRoZW0uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
OiBVc2UgdmFsaWQgcGFyYW1ldGVyIHR5cGVzIGluc3RlYWQgb2YgJ2EnLCAnYicsICdkJywgJ2Un
CisgICAgICAgIHNvIHRoYXQgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBkb2VzIG5vdCBjb21wbGFp
biBhYm91dCB0aGVtLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFR5cGVkZWZzLmlkbDoKKyAgICAgICAgKiBjc3MvRm9udExvYWRlci5pZGw6Cisg
ICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmlkbDoKKwogMjAxMy0wNC0yNiAgRGFrZXIgRmVybmFuZGVzIFBpbmhlaXJvICA8ZGFrZXIu
cGluaGVpcm9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyTWV0ZXI6OnZh
bHVlUmF0aW8oKSB2aXNpYmlsaXR5IHRvIHB1YmxpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggN2RmN2EzMi4uNzQ3ZDVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC05NzAsMjEgKzk3MCw3IEBAIHByZXByb2Nlc3NfaWRsc19zY3JpcHQgPSBwZXJsICQoYWRk
cHJlZml4IC1JICQoV2ViQ29yZSkvLCAkKHNvcnQgJChkaXIgJCgxKSkpKSAkCiAjIEpTIGJpbmRp
bmdzIGdlbmVyYXRvcgogCiBJRExfSU5DTFVERVMgPSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2JhdHRlcnkgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYSBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1l
cGFkIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9pbmRleGVkZGIgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJj
ZSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKLSAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbmV0d29ya2luZm8gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRp
b25zIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3BlZWNoIFwKLSAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvdmlicmF0aW9uIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXAotICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnNvY2tldHMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MgXAogICAgICQoV2ViQ29yZSkvZG9tIFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVT
eXN0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0Zp
bGVTeXN0ZW0uaWRsCmluZGV4IGY5ZjI1NTQuLjU2ZjU4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwK
QEAgLTMxLDggKzMxLDggQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0g
MTsKIAogICAgIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQg
dHlwZSwgaW4gbG9uZyBsb25nIHNpemUsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEZpbGVT
eXN0ZW1DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVy
cm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgICAgICBpbiBGaWxlU3lzdGVtQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2FsbGJhY2sgZXJyb3JD
YWxsYmFjayk7CiAgICAgdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERP
TVN0cmluZyB1cmwsCi0gICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOworICAgICAgICAgICAgaW4gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRs
CmluZGV4IDYzYjQyN2EuLmZiMDQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbApAQCAtMzUsNyArMzUsNyBAQAogICAg
IEpTTm9TdGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERpcmVjdG9yeUVudHJ5IDogRW50cnkgewog
ICAgIERpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKLSAgICB2b2lkIGdldEZpbGUoaW4g
W1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBvcHRpb25zLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
LCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGdldERp
cmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9wdGlvbnMs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAg
IHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gW0NhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworICAgIHZvaWQgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBE
aWN0aW9uYXJ5IG9wdGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2
b2lkIGdldERpcmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmlu
ZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5
IG9wdGlvbnMsIGluIFtPcHRpb25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHJlbW92
ZVJlY3Vyc2l2ZWx5KGluIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsCmluZGV4IGUwNDY3
YTkuLjA4NTJiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlSZWFkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsCkBAIC0zMyw1ICszMyw1IEBACiAgICAgSlNOb1N0YXRp
Y1RhYmxlcywKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBEaXJl
Y3RvcnlSZWFkZXIgewotICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gW0NhbGxiYWNrXSBFbnRyaWVz
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgcmVhZEVudHJpZXMoaW4gRW50cmllc0Nh
bGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9FbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnku
aWRsCmluZGV4IGM0M2RlZjQuLjkyNTE0MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0VudHJ5LmlkbApAQCAtMzksMTAgKzM5LDEwIEBACiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBmdWxsUGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmls
ZVN5c3RlbSBmaWxlc3lzdGVtOwogCi0gICAgdm9pZCBnZXRNZXRhZGF0YShpbiBbQ2FsbGJhY2td
IE1ldGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIHZvaWQgbW92ZVRvKGluIERpcmVj
dG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBD
YWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lkIGNvcHlUbyhp
biBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVsbFN0
cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBn
ZXRNZXRhZGF0YShpbiBNZXRhZGF0YUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlv
bmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgbW92ZVRvKGluIERp
cmVjdG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9u
YWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEVycm9yQ2Fs
bGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9pZCBjb3B5VG8oaW4gRGlyZWN0b3J5RW50cnkg
cGFyZW50LCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZp
bmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0gRW50cnlDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNh
bGxiYWNrKTsKICAgICBET01TdHJpbmcgdG9VUkwoKTsKLSAgICB2b2lkIHJlbW92ZShpbiBbQ2Fs
bGJhY2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJh
Y2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgdm9pZCBnZXRQYXJlbnQoaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgdm9p
ZCByZW1vdmUoaW4gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQgZ2V0UGFyZW50KGluIFtPcHRp
b25hbF0gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCmluZGV4IDliYWQ1NTEuLjhjY2I0YzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlRW50cnkuaWRsCkBAIC0zNCw2
ICszNCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgSlNOb1N0YXRpY1RhYmxl
cwogXSBpbnRlcmZhY2UgRmlsZUVudHJ5IDogRW50cnkgewotICAgIHZvaWQgY3JlYXRlV3JpdGVy
KGluIFtDYWxsYmFja10gRmlsZVdyaXRlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB2b2lk
IGZpbGUoaW4gW0NhbGxiYWNrXSBGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZvaWQg
Y3JlYXRlV3JpdGVyKGluIEZpbGVXcml0ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIGZpbGUoaW4g
RmlsZUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uaWRsCmluZGV4IDkwY2Y2
YTkuLjQ4NmQ4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbApAQCAtMzAsOSArMzAsOSBA
QAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgUEVSU0lTVEVOVCA9IDE7CiAKLSAgICB2b2lkIHdlYmtpdFJlcXVlc3RGaWxl
U3lzdGVtKGluIHVuc2lnbmVkIHNob3J0IHR5cGUsIGluIGxvbmcgbG9uZyBzaXplLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBGaWxlU3lzdGVtQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIHZv
aWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4gbG9u
ZyBsb25nIHNpemUsIGluIFtPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIERP
TUZpbGVTeXN0ZW1TeW5jIHdlYmtpdFJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbiB1bnNpZ25lZCBz
aG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKLSAg
ICB2b2lkIHdlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwg
aW4gW0NhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNr
LCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICB2b2lkIHdlYmtp
dFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoaW4gRE9NU3RyaW5nIHVybCwgaW4gRW50cnlDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNh
bGxiYWNrKTsKICAgICBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNV
UkwoaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKIAogICAgIGF0dHJp
YnV0ZSBGaWxlRXJyb3JDb25zdHJ1Y3RvciBGaWxlRXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRs
CmluZGV4IDVkMzk5YTguLmQxNjkxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uaWRsCkBAIC0yMSw4
ICsyMSw4IEBACiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogXSBwYXJ0aWFsIGludGVy
ZmFjZSBOYXZpZ2F0b3IgewogICAgIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGluIERpY3Rpb25h
cnkgb3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbQ2FsbGJhY2tdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlk
bAppbmRleCBhMGRjMWNlLi42ZGQxNjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMzYsMTggKzM2
LDE4IEBACiAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBFdmVudFRh
cmdldAogXSBpbnRlcmZhY2UgUlRDUGVlckNvbm5lY3Rpb24gewotICAgIHZvaWQgY3JlYXRlT2Zm
ZXIoaW4gW0NhbGxiYWNrXSBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtDYWxsYmFjayxPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFJUQ0Vycm9y
Q2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFD
b25zdHJhaW50cykKKyAgICB2b2lkIGNyZWF0ZU9mZmVyKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25hbF0gRGljdGlv
bmFyeSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAot
ICAgIHZvaWQgY3JlYXRlQW5zd2VyKGluIFtDYWxsYmFja10gUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRpb25h
bF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgIHZvaWQgY3JlYXRlQW5zd2VyKGlu
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ss
IGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQogICAgICAgICByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihpbiBSVENT
ZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJl
Q2FsbGJhY2spCisgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbiBkZXNjcmlwdGlvbiwgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9p
ZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24g
bG9jYWxEZXNjcmlwdGlvbgogICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAK
LSAgICB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBk
ZXNjcmlwdGlvbiwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIFZv
aWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBSVENFcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykKKyAgICB2b2lk
IHNldFJlbW90ZURlc2NyaXB0aW9uKGluIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlv
biwgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFj
ayBmYWlsdXJlQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24gcmVtb3RlRGVzY3JpcHRpb24K
ICAgICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwpAQCAtNzIsNyArNzIsNyBAQAog
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgcmVtb3ZlU3RyZWFtKGluIE1lZGlhU3RyZWFt
IHN0cmVhbSkKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICB2b2lkIGdldFN0
YXRzKGluIFtDYWxsYmFja10gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOwor
ICAgIHZvaWQgZ2V0U3RhdHMoaW4gUlRDU3RhdHNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3Ip
OwogCiAgICAgUlRDRGF0YUNoYW5uZWwgY3JlYXRlRGF0YUNoYW5uZWwoaW4gW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGxhYmVs
LCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgb3B0aW9ucykKICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCAxOTRlODliLi4zODcwOGE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApA
QCAtNTEsNyArNTEsNyBAQAogCiAjaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYg
RU5BQkxFX05PVElGSUNBVElPTlMKICAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBET01TdHJpbmcgcGVybWlzc2lvbjsKLSAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oaW4gW09wdGlvbmFsLCBDYWxsYmFja10gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrIGNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3Rh
dGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oaW4gW09wdGlvbmFsXSBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOwogI2VuZGlmCiAKICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbnNob3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IGFlMWE1NTguLjJhN2Qz
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCkBAIC0zNyw2ICszNyw2IEBACiAgICBOb3RpZmlj
YXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJp
bmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAg
aW50IGNoZWNrUGVybWlzc2lvbigpOwotICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgdm9pZCByZXF1ZXN0
UGVybWlzc2lvbihpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsCmluZGV4IDM4Zjdi
OTMuLmI2OWQzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3Rv
cmFnZUluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUlu
Zm8uaWRsCkBAIC0zMSw2ICszMSw2IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVNUE9S
QVJZID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKIAotICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90
YShpbiB1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0g
U3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gU3RvcmFnZUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKGluIHVuc2lnbmVkIHNob3J0
IHN0b3JhZ2VUeXBlLCBpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBp
biBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBxdWVyeVVzYWdl
QW5kUXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIGluIFtPcHRpb25hbF0gU3Rv
cmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJy
b3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gdm9pZCByZXF1ZXN0UXVvdGEoaW4gdW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUs
IGluIHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIGluIFtPcHRpb25hbF0gU3Rv
cmFnZVF1b3RhQ2FsbGJhY2sgcXVvdGFDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJy
b3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwKaW5kZXggNDM2NGY1Yi4uNGE2NGY5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbApAQCAtMjgsNiArMjgs
NiBAQAogICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
CiBdIGludGVyZmFjZSBTdG9yYWdlUXVvdGEgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShpbiBbQ2FsbGJhY2tdIFN0b3JhZ2VV
c2FnZUNhbGxiYWNrIHVzYWdlQ2FsbGJhY2ssIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFN0b3Jh
Z2VFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YShpbiB1bnNpZ25lZCBsb25nIGxvbmcgbmV3
UXVvdGFJbkJ5dGVzLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlUXVvdGFDYWxsYmFj
ayBxdW90YUNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoaW4gU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VD
YWxsYmFjaywgaW4gW09wdGlvbmFsXSBTdG9yYWdlRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZXF1ZXN0UXVv
dGEoaW4gdW5zaWduZWQgbG9uZyBsb25nIG5ld1F1b3RhSW5CeXRlcywgaW4gW09wdGlvbmFsXSBT
dG9yYWdlUXVvdGFDYWxsYmFjayBxdW90YUNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFN0b3JhZ2VF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAppbmRleCA0ZjE5YjQ4Li43NDFhNTllIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRs
CkBAIC01MSw3ICs1MSw3IEBACiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAg
Ly8gQXN5bmNocm9ub3VzIGF1ZGlvIGZpbGUgZGF0YSBkZWNvZGluZy4KLSAgICB2b2lkIGRlY29k
ZUF1ZGlvRGF0YShpbiBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIFtDYWxsYmFja10gQXVkaW9C
dWZmZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEF1
ZGlvQnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKKyAgICB2b2lkIGRlY29kZUF1ZGlvRGF0
YShpbiBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
aykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBTb3VyY2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRh
dGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93
V2ViRGF0YWJhc2UuaWRsCmluZGV4IDFmMzFlMWQuLjA3NDVhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJh
c2UuaWRsCkBAIC0yNyw3ICsyNyw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNF
LAogXSBwYXJ0aWFsIGludGVyZmFjZSBET01XaW5kb3cgewotICAgIERhdGFiYXNlIG9wZW5EYXRh
YmFzZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmlu
ZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJh
Y2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0
YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lv
biwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNp
emUsIGluIFtPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8
ICFMQU5HVUFHRV9DUFAKICAgICBhdHRyaWJ1dGUgU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FM
RXhjZXB0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlLmlkbAppbmRleCA1ZjY0ODk3Li4zZWZlMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbApAQCAtMzIsOCArMzIsOCBAQAogICAgIEpT
Tm9TdGF0aWNUYWJsZXMKIF0gaW50ZXJmYWNlIERhdGFiYXNlIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZlcnNpb247Ci0gICAgdm9pZCBjaGFuZ2VWZXJzaW9uKGluIERPTVN0
cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gU1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZv
aWQgdHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxi
YWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjayk7Ci0gICAgdm9pZCByZWFkVHJhbnNhY3Rpb24oaW4gW0NhbGxiYWNrXSBTUUxU
cmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBTUUxU
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRp
b25hbF0gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjayk7CisgICAgdm9pZCBjaGFuZ2VWZXJz
aW9uKGluIERPTVN0cmluZyBvbGRWZXJzaW9uLCBpbiBET01TdHJpbmcgbmV3VmVyc2lvbiwgaW4g
W09wdGlvbmFsXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxd
IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxd
IFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2spOworICAgIHZvaWQgdHJhbnNhY3Rpb24oaW4g
U1FMVHJhbnNhY3Rpb25DYWxsYmFjayBjYWxsYmFjaywgaW4gW09wdGlvbmFsXSBTUUxUcmFuc2Fj
dGlvbkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gW09wdGlvbmFsXSBWb2lkQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB2b2lkIHJlYWRUcmFuc2FjdGlvbihpbiBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBbT3B0aW9uYWxdIFZvaWRDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVN5bmMuaWRsCmluZGV4IDEzMDFlYWIuLjNiNGZlYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGwK
QEAgLTM1LDggKzM1LDggQEAKIF0gaW50ZXJmYWNlIERhdGFiYXNlU3luYyB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgbGFzdEVycm9yTWVzc2FnZTsKLSAgICB2b2lkIGNoYW5nZVZlcnNpb24oaW4gRE9N
U3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERP
TUV4Y2VwdGlvbik7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5z
YWN0aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2
b2lkIHJlYWRUcmFuc2FjdGlvbihpbiBbQ2FsbGJhY2tdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxi
YWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIGNoYW5nZVZlcnNp
b24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJzaW9uLCBpbiBb
T3B0aW9uYWxdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKyAgICB2b2lkIHRyYW5zYWN0aW9uKGluIFNRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrIGNhbGxiYWNrKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIHJlYWRUcmFu
c2FjdGlvbihpbiBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjayBjYWxsYmFjaykgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCmluZGV4IGE1N2RmMTYuLjUzYTkzMTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rp
b24uaWRsCkBAIC0zNCw2ICszNCw2IEBACiBdIGludGVyZmFjZSBTUUxUcmFuc2FjdGlvbiB7CiAg
ICAgW0N1c3RvbV0gdm9pZCBleGVjdXRlU3FsKGluIERPTVN0cmluZyBzcWxTdGF0ZW1lbnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIE9iamVjdEFycmF5IGFyZ3VtZW50cywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gU1FMU3Rh
dGVtZW50Q2FsbGJhY2sgY2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjayk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gU1FMU3Rh
dGVtZW50Q2FsbGJhY2sgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbF0gU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dvcmtlckNv
bnRleHRXZWJEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L1dvcmtlckNvbnRleHRXZWJEYXRhYmFzZS5pZGwKaW5kZXggNWExZTVlOS4uZDhiOWRjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0
V2ViRGF0YWJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
V29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbApAQCAtMjcsMTAgKzI3LDEwIEBACiBbCiAgICAg
Q29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJDb250
ZXh0IHsKLSAgICBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERP
TVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxv
bmcgZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFj
ayBjcmVhdGlvbkNhbGxiYWNrKQorICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShpbiBET01TdHJp
bmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwg
aW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbT3B0aW9uYWxdIERhdGFiYXNlQ2Fs
bGJhY2sgY3JlYXRpb25DYWxsYmFjaykKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAK
LSAgICBEYXRhYmFzZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4g
RE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQg
bG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxi
YWNrIGNyZWF0aW9uQ2FsbGJhY2spCisgICAgRGF0YWJhc2VTeW5jIG9wZW5EYXRhYmFzZVN5bmMo
aW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlz
cGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW09wdGlvbmFsXSBE
YXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFr
ZWZpbGUuYW0KaW5kZXggZWVlZWViYS4uYmU2MWM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00OTcsNyArNDk3LDcgQEAgJCh0b3Bf
YnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01DdXN0b20uaDogJChX
ZWJDb3JlKS9iaW5kaW5ncy8KICMgRmlsdGVyIG91dCBTVkcgYW5kIEluZGV4ZWREQiBmb3Igbm93
CiBnZG9tX2ZlYXR1cmVfZGVmaW5lcyA6PSAkKGZpbHRlci1vdXQgRU5BQkxFX0lOREVYRURfREFU
QUJBU0U9MSwgJChmaWx0ZXItb3V0IEVOQUJMRV9TVkclLCAkKGZlYXR1cmVfZGVmaW5lcykpKSBF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0wCiBEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0
RE9NJS5jcHAgRGVyaXZlZFNvdXJjZXMvd2Via2l0ZG9tL1dlYktpdERPTSUuaCBEZXJpdmVkU291
cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NJVByaXZhdGUuaDogJS5pZGwgJChTQ1JJUFRTX0ZPUl9H
RU5FUkFURV9CSU5ESU5HUykgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JHT2JqZWN0LnBtICQoV2ViQ29yZSkvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbSAk
KHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2ZpbGUpCi0JJChBTV9WX0dFTikkKFBFUkwpIC1JJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5l
cmF0ZS1iaW5kaW5ncy5wbCAtLWluY2x1ZGUgJChXZWJDb3JlKS9kb20gLS1pbmNsdWRlICQoV2Vi
Q29yZSkvaHRtbCAtLWluY2x1ZGUgJChXZWJDb3JlKS9jc3MgLS1pbmNsdWRlICQoV2ViQ29yZSkv
cGFnZSAtLWluY2x1ZGUgJChXZWJDb3JlKS94bWwgLS1pbmNsdWRlICQoV2ViQ29yZSkvc3ZnIC0t
b3V0cHV0RGlyICIkKEdFTlNPVVJDRVNfV0VCS0lURE9NKSIgLS1kZWZpbmVzICJMQU5HVUFHRV9H
T0JKRUNUPTEgJChnZG9tX2ZlYXR1cmVfZGVmaW5lcykiIC0tZ2VuZXJhdG9yIEdPYmplY3QgLS1z
dXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2ZpbGUp
ICQ8CisJJChBTV9WX0dFTikkKFBFUkwpIC1JJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQo
V2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAtLWluY2x1ZGUg
JChXZWJDb3JlKS9Nb2R1bGVzIC0taW5jbHVkZSAkKFdlYkNvcmUpL2RvbSAtLWluY2x1ZGUgJChX
ZWJDb3JlKS9odG1sIC0taW5jbHVkZSAkKFdlYkNvcmUpL2NzcyAtLWluY2x1ZGUgJChXZWJDb3Jl
KS9wYWdlIC0taW5jbHVkZSAkKFdlYkNvcmUpL2ZpbGVhcGkgLS1pbmNsdWRlICQoV2ViQ29yZSkv
eG1sIC0taW5jbHVkZSAkKFdlYkNvcmUpL3N2ZyAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dF
QktJVERPTSkiIC0tZGVmaW5lcyAiTEFOR1VBR0VfR09CSkVDVD0xICQoZ2RvbV9mZWF0dXJlX2Rl
ZmluZXMpIiAtLWdlbmVyYXRvciBHT2JqZWN0IC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUg
JChzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlKSAkPAogCiBsaWJ3ZWJraXRkb21pbmNsdWRl
ZGlyID0gJChsaWJ3ZWJraXRndGtpbmNsdWRlZGlyKS93ZWJraXRkb20KIG5vZGlzdF9saWJ3ZWJr
aXRkb21pbmNsdWRlX0hFQURFUlMgPSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggMjkyZGY2NC4uODZjZjVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNiw2
ICs2LDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWND
b3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlv
biBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAx
MyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAj
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC01Myw2ICs1NCwxMyBAQCBteSAlcHJpbWl0aXZlVHlwZUhhc2ggPSAoICJib29sZWFu
IiA9PiAxLCAidm9pZCIgPT4gMSwgIkRhdGUiID0+IDEpOwogCiBteSAlc3RyaW5nVHlwZUhhc2gg
PSAoIkRPTVN0cmluZyIgPT4gMSwgIkF0b21pY1N0cmluZyIgPT4gMSk7CiAKKyMgV2ViQ29yZSB0
eXBlcyB1c2VkIGRpcmVjdGx5IGluIElETCBmaWxlcy4KK215ICV3ZWJDb3JlVHlwZUhhc2ggPSAo
CisgICAgIkNvbXBhcmVIb3ciID0+IDEsCisgICAgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgPT4g
MSwKKyAgICAiRGljdGlvbmFyeSIgPT4gMQorKTsKKwogbXkgJWVudW1UeXBlSGFzaCA9ICgpOwog
CiBteSAlbm9uUG9pbnRlclR5cGVIYXNoID0gKCJET01UaW1lU3RhbXAiID0+IDEsICJDb21wYXJl
SG93IiA9PiAxKTsKQEAgLTY2NSw2ICs2NzMsNDAgQEAgc3ViIFNldHRlckV4cHJlc3Npb24KICAg
ICByZXR1cm4gKCRmdW5jdGlvbk5hbWUsICRjb250ZW50QXR0cmlidXRlTmFtZSk7CiB9CiAKK3N1
YiBJc1dyYXBwZXJUeXBlCit7CisgICAgbXkgJG9iamVjdCA9IHNoaWZ0OworICAgIG15ICR0eXBl
ID0gc2hpZnQ7CisKKyAgICByZXR1cm4gMCBpZiAkb2JqZWN0LT5Jc1ByaW1pdGl2ZVR5cGUoJHR5
cGUpOworICAgIHJldHVybiAwIGlmICRvYmplY3QtPkdldEFycmF5VHlwZSgkdHlwZSk7CisgICAg
cmV0dXJuIDAgaWYgJG9iamVjdC0+R2V0U2VxdWVuY2VUeXBlKCR0eXBlKTsKKyAgICByZXR1cm4g
MCBpZiAkb2JqZWN0LT5Jc0VudW1UeXBlKCR0eXBlKTsKKyAgICByZXR1cm4gMCBpZiAkb2JqZWN0
LT5Jc1N0cmluZ1R5cGUoJHR5cGUpOworICAgIHJldHVybiAwIGlmICR3ZWJDb3JlVHlwZUhhc2h7
JHR5cGV9OworICAgIHJldHVybiAwIGlmICR0eXBlIGVxICJhbnkiOworCisgICAgcmV0dXJuIDE7
Cit9CisKK3N1YiBJc0NhbGxiYWNrSW50ZXJmYWNlCit7CisgIG15ICRvYmplY3QgPSBzaGlmdDsK
KyAgbXkgJHR5cGUgPSBzaGlmdDsKKworICByZXR1cm4gMCB1bmxlc3MgJG9iamVjdC0+SXNXcmFw
cGVyVHlwZSgkdHlwZSk7CisKKyAgbXkgJGlkbEZpbGUgPSAkb2JqZWN0LT5JRExGaWxlRm9ySW50
ZXJmYWNlKCR0eXBlKQorICAgICAgb3IgZGllKCJDb3VsZCBOT1QgZmluZCBJREwgZmlsZSBmb3Ig
aW50ZXJmYWNlIFwiJHR5cGVcIiFcbiIpOworCisgIG9wZW4gRklMRSwgIjwiLCAkaWRsRmlsZTsK
KyAgbXkgQGxpbmVzID0gPEZJTEU+OworICBjbG9zZSBGSUxFOworCisgIG15ICRmaWxlQ29udGVu
dHMgPSBqb2luKCcnLCBAbGluZXMpOworICByZXR1cm4gKCRmaWxlQ29udGVudHMgPX4gL2NhbGxi
YWNrXHMraW50ZXJmYWNlXHMrKFx3KykvZ3MpOworfQorCiBzdWIgR2VuZXJhdGVDb25kaXRpb25h
bFN0cmluZwogewogICAgIG15ICRnZW5lcmF0b3IgPSBzaGlmdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4
IDY5YzBkYjEuLjAyYzJkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMjkzLDEyICsyOTMsMTIgQEAg
c3ViIFNraXBGdW5jdGlvbiB7CiAgICAgICAgIHJldHVybiAxOwogICAgIH0KIAotICAgICMgU2tp
cCBmdW5jdGlvbnMgdGhhdCBoYXZlIFsiQ2FsbGJhY2siXSBwYXJhbWV0ZXJzLCBiZWNhdXNlIHRo
aXMKKyAgICAjIFNraXAgZnVuY3Rpb25zIHRoYXQgaGF2ZSBjYWxsYmFjayBwYXJhbWV0ZXJzLCBi
ZWNhdXNlIHRoaXMKICAgICAjIGNvZGUgZ2VuZXJhdG9yIGRvZXNuJ3Qga25vdyBob3cgdG8gYXV0
by1nZW5lcmF0ZSBjYWxsYmFja3MuCiAgICAgIyBTa2lwIGZ1bmN0aW9ucyB0aGF0IGhhdmUgIk1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIiIG9yIHNlcXVlbmNlPFQ+IHBhcmFtZXRlcnMsIGJlY2F1c2Ug
dGhpcwogICAgICMgY29kZSBnZW5lcmF0b3IgZG9lc24ndCBrbm93IGhvdyB0byBhdXRvLWdlbmVy
YXRlIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgb3Igc2VxdWVuY2U8VD4uCiAgICAgZm9yZWFjaCBt
eSAkcGFyYW0gKEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkgewotICAgICAgICBpZiAoJHBhcmFt
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSB8fAorICAgICAgICBpZiAoJGNvZGVH
ZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFtLT50eXBlKSB8fAogICAgICAgICAg
ICAgJHBhcmFtLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2xhbXAifSB8fAogICAgICAgICAgICAg
JHBhcmFtLT50eXBlIGVxICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiB8fAogICAgICAgICAgICAg
JGNvZGVHZW5lcmF0b3ItPkdldFNlcXVlbmNlVHlwZSgkcGFyYW0tPnR5cGUpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4
IDk3MWJmZDUuLjVmZDBmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xMCw2ICsxMCw3IEBACiAjIENvcHlyaWdodCAo
QykgMjAxMSBQYXRyaWNrIEdhbnN0ZXJlciA8cGFyb2dhQHdlYmtpdC5vcmc+CiAjIENvcHlyaWdo
dCAoQykgMjAxMiBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0
IChDKSAyMDA3LCAyMDA4LCAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuCisjIENvcHlyaWdodCAoQykg
MjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0xMjkzLDcgKzEyOTQsNyBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2tF
eHByZXNzaW9uCiAgICAgICAgICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVl
fS5pc1VuZGVmaW5lZE9yTnVsbCgpIHx8ICR7dmFsdWV9LmlzU3RyaW5nKCkgfHwgJHt2YWx1ZX0u
aXNPYmplY3QoKSkiKTsKICAgICAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVy
SW5kZXh9ID0gMTsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNpZiAoJHBhcmFtZXRlci0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKKyAgICAgICAgfSBlbHNpZiAoJGNv
ZGVHZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFtZXRlci0+dHlwZSkpIHsKICAg
ICAgICAgICAgICMgRm9yIENhbGxiYWNrcyBvbmx5IGNoZWNrcyBpZiB0aGUgdmFsdWUgaXMgbnVs
bCBvciBvYmplY3QuCiAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9
LmlzTnVsbCgpIHx8ICR7dmFsdWV9LmlzRnVuY3Rpb24oKSkiKTsKICAgICAgICAgICAgICR1c2Vk
QXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRleH0gPSAxOwpAQCAtMjg5OCw3ICsyODk5LDcgQEAgc3Vi
IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICMgT3B0aW9uYWwgYXJndW1lbnRzIHdp
dGggW09wdGlvbmFsPS4uLl0gc2hvdWxkIG5vdCBnZW5lcmF0ZSB0aGUgZWFybHkgY2FsbC4KICAg
ICAgICAgIyBPcHRpb25hbCBEaWN0aW9uYXJ5IGFyZ3VtZW50cyBhbHdheXMgY29uc2lkZXJlZCB0
byBoYXZlIGRlZmF1bHQgb2YgZW1wdHkgZGljdGlvbmFyeS4KICAgICAgICAgbXkgJG9wdGlvbmFs
ID0gJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9wdGlvbmFsIn07Ci0gICAgICAg
IGlmICgkb3B0aW9uYWwgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNVbmRlZmluZWQiICYmICRv
cHRpb25hbCBuZSAiRGVmYXVsdElzTnVsbFN0cmluZyIgJiYgJGFyZ1R5cGUgbmUgIkRpY3Rpb25h
cnkiICYmICEkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgewor
ICAgICAgICBpZiAoJG9wdGlvbmFsICYmICRvcHRpb25hbCBuZSAiRGVmYXVsdElzVW5kZWZpbmVk
IiAmJiAkb3B0aW9uYWwgbmUgIkRlZmF1bHRJc051bGxTdHJpbmciICYmICRhcmdUeXBlIG5lICJE
aWN0aW9uYXJ5IiAmJiAhJGNvZGVHZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHBhcmFt
ZXRlci0+dHlwZSkpIHsKICAgICAgICAgICAgICMgR2VuZXJhdGUgZWFybHkgY2FsbCBpZiB0aGVy
ZSBhcmUgZW5vdWdoIHBhcmFtZXRlcnMuCiAgICAgICAgICAgICBpZiAoISRoYXNPcHRpb25hbEFy
Z3VtZW50cykgewogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIlxuICAgIHNp
emVfdCBhcmdzQ291bnQgPSBleGVjLT5hcmd1bWVudENvdW50KCk7XG4iKTsKQEAgLTI5MjYsNyAr
MjkyNyw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICBy
ZXNvbHZlciA9IGN1c3RvbVJlc29sdmVyLmdldCgpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICIgICAgfVxuIik7Ci0gICAgICAgIH0gZWxzaWYgKCRwYXJhbWV0ZXItPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsYmFjayJ9KSB7CisgICAgICAgIH0gZWxzaWYgKCRjb2Rl
R2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7CiAgICAg
ICAgICAgICBteSAkY2FsbGJhY2tDbGFzc05hbWUgPSBHZXRDYWxsYmFja0NsYXNzTmFtZSgkYXJn
VHlwZSk7CiAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIkY2FsbGJhY2tDbGFzc05hbWUuaCJ9
ID0gMTsKICAgICAgICAgICAgIGlmICgkb3B0aW9uYWwpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDMyYzg5MDkuLmQyNGY1
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmli
dXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dApAQCAtMjIsNyArMjIsNiBAQCBBY3RpdmVET01PYmplY3QKIENQUFB1cmVJbnRlcmZh
Y2UKIENhY2hlZEF0dHJpYnV0ZQogQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dHxTY3Jp
cHRTdGF0ZXxTY3JpcHRBcmd1bWVudHN8Q2FsbFN0YWNrCi1DYWxsYmFjawogQ2hlY2tTZWN1cml0
eQogQ2hlY2tTZWN1cml0eUZvck5vZGUKIENsYW1wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5j
cHAKaW5kZXggMmU4NDI5NS4uYTY2ZjE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNw
cApAQCAtMjQsMjAgKzI0LDE1IEBACiAKICNpbmNsdWRlICJXZWJET01UZXN0Q2FsbGJhY2suaCIK
IAotI2luY2x1ZGUgIkNsYXNzMS5oIgotI2luY2x1ZGUgIkNsYXNzMi5oIgotI2luY2x1ZGUgIkNs
YXNzMy5oIgotI2luY2x1ZGUgIkNsYXNzOC5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIK
KyNpbmNsdWRlICJGbG9hdDMyQXJyYXkuaCIKICNpbmNsdWRlICJLVVJMLmgiCi0jaW5jbHVkZSAi
VGhpc0NsYXNzLmgiCi0jaW5jbHVkZSAiV2ViRE9NQ2xhc3MxLmgiCi0jaW5jbHVkZSAiV2ViRE9N
Q2xhc3MyLmgiCi0jaW5jbHVkZSAiV2ViRE9NQ2xhc3MzLmgiCi0jaW5jbHVkZSAiV2ViRE9NQ2xh
c3M4LmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiVGVz
dE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01ET01TdHJpbmdMaXN0LmgiCisjaW5jbHVkZSAiV2Vi
RE9NRmxvYXQzMkFycmF5LmgiCiAjaW5jbHVkZSAiV2ViRE9NU3RyaW5nLmgiCi0jaW5jbHVkZSAi
V2ViRE9NVGhpc0NsYXNzLmgiCisjaW5jbHVkZSAiV2ViRE9NVGVzdE5vZGUuaCIKICNpbmNsdWRl
ICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3RyaW5n
LmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgpAQCAtOTYsMjggKzkxLDI4IEBAIGJvb2wgV2Vi
RE9NVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhOb1BhcmFtKCkKICAgICByZXR1cm4gaW1wbCgp
LT5jYWxsYmFja1dpdGhOb1BhcmFtKCk7CiB9CiAKLWJvb2wgV2ViRE9NVGVzdENhbGxiYWNrOjpj
YWxsYmFja1dpdGhDbGFzczFQYXJhbShjb25zdCBXZWJET01DbGFzczEmIGNsYXNzMVBhcmFtKQor
Ym9vbCBXZWJET01UZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aEFycmF5UGFyYW0oY29uc3QgV2Vi
RE9NRmxvYXQzMkFycmF5JiBhcnJheVBhcmFtKQogewogICAgIGlmICghaW1wbCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gaW1wbCgpLT5jYWxsYmFja1dpdGhDbGFzczFQ
YXJhbSh0b1dlYkNvcmUoY2xhc3MxUGFyYW0pKTsKKyAgICByZXR1cm4gaW1wbCgpLT5jYWxsYmFj
a1dpdGhBcnJheVBhcmFtKHRvV2ViQ29yZShhcnJheVBhcmFtKSk7CiB9CiAKLWJvb2wgV2ViRE9N
VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczJQYXJhbShjb25zdCBXZWJET01DbGFzczIm
IGNsYXNzMlBhcmFtLCBjb25zdCBXZWJET01TdHJpbmcmIHN0ckFyZykKK2Jvb2wgV2ViRE9NVGVz
dENhbGxiYWNrOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbShjb25zdCBX
ZWJET01TdHJpbmcmIHNyelBhcmFtLCBjb25zdCBXZWJET01TdHJpbmcmIHN0ckFyZykKIHsKICAg
ICBpZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIGltcGwo
KS0+Y2FsbGJhY2tXaXRoQ2xhc3MyUGFyYW0odG9XZWJDb3JlKGNsYXNzMlBhcmFtKSwgc3RyQXJn
KTsKKyAgICByZXR1cm4gaW1wbCgpLT5jYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQ
YXJhbShXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShXVEY6OlN0cmluZyhz
cnpQYXJhbSkpLCBzdHJBcmcpOwogfQogCi1pbnQgV2ViRE9NVGVzdENhbGxiYWNrOjpjYWxsYmFj
a1dpdGhOb25Cb29sUmV0dXJuVHlwZShjb25zdCBXZWJET01DbGFzczMmIGNsYXNzM1BhcmFtKQor
aW50IFdlYkRPTVRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUoY29u
c3QgV2ViRE9NU3RyaW5nJiBzdHJBcmcpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgcmV0dXJuIGltcGwoKS0+Y2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5
cGUodG9XZWJDb3JlKGNsYXNzM1BhcmFtKSk7CisgICAgcmV0dXJuIGltcGwoKS0+Y2FsbGJhY2tX
aXRoTm9uQm9vbFJldHVyblR5cGUoc3RyQXJnKTsKIH0KIAogYm9vbCBXZWJET01UZXN0Q2FsbGJh
Y2s6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QoY29uc3QgV2ViRE9NRE9NU3RyaW5nTGlzdCYgbGlz
dFBhcmFtKQpAQCAtMTM2LDEyICsxMzEsMTIgQEAgYm9vbCBXZWJET01UZXN0Q2FsbGJhY2s6OmNh
bGxiYWNrV2l0aEJvb2xlYW4oYm9vbCBib29sUGFyYW0pCiAgICAgcmV0dXJuIGltcGwoKS0+Y2Fs
bGJhY2tXaXRoQm9vbGVhbihib29sUGFyYW0pOwogfQogCi1ib29sIFdlYkRPTVRlc3RDYWxsYmFj
azo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MoY29uc3QgV2ViRE9NQ2xhc3M4JiBjbGFzczhQ
YXJhbSwgY29uc3QgV2ViRE9NVGhpc0NsYXNzJiB0aGlzQ2xhc3NQYXJhbSkKK2Jvb2wgV2ViRE9N
VGVzdENhbGxiYWNrOjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyhpbnQgbG9uZ1BhcmFtLCBj
b25zdCBXZWJET01UZXN0Tm9kZSYgdGVzdE5vZGVQYXJhbSkKIHsKICAgICBpZiAoIWltcGwoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIGltcGwoKS0+Y2FsbGJhY2tSZXF1
aXJlc1RoaXNUb1Bhc3ModG9XZWJDb3JlKGNsYXNzOFBhcmFtKSwgdG9XZWJDb3JlKHRoaXNDbGFz
c1BhcmFtKSk7CisgICAgcmV0dXJuIGltcGwoKS0+Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3Mo
bG9uZ1BhcmFtLCB0b1dlYkNvcmUodGVzdE5vZGVQYXJhbSkpOwogfQogCiBXZWJDb3JlOjpUZXN0
Q2FsbGJhY2sqIHRvV2ViQ29yZShjb25zdCBXZWJET01UZXN0Q2FsbGJhY2smIHdyYXBwZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0Q2FsbGJhY2suaAppbmRleCA4ZDlhMjMwLi5lYjhkYzIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxs
YmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2Vi
RE9NVGVzdENhbGxiYWNrLmgKQEAgLTMyLDEyICszMiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBUZXN0Q2FsbGJhY2s7CiB9OwogCi1jbGFzcyBXZWJET01DbGFzczE7Ci1jbGFzcyBX
ZWJET01DbGFzczI7Ci1jbGFzcyBXZWJET01DbGFzczM7Ci1jbGFzcyBXZWJET01DbGFzczg7CiBj
bGFzcyBXZWJET01ET01TdHJpbmdMaXN0OwotY2xhc3MgV2ViRE9NVGhpc0NsYXNzOworY2xhc3Mg
V2ViRE9NRmxvYXQzMkFycmF5OworY2xhc3MgV2ViRE9NU3RyaW5nOworY2xhc3MgV2ViRE9NVGVz
dE5vZGU7CiAKIGNsYXNzIFdlYkRPTVRlc3RDYWxsYmFjayA6IHB1YmxpYyBXZWJET01PYmplY3Qg
ewogcHVibGljOgpAQCAtNDgsMTIgKzQ2LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJE
T01UZXN0Q2FsbGJhY2soKTsKIAogICAgIGJvb2wgY2FsbGJhY2tXaXRoTm9QYXJhbSgpOwotICAg
IGJvb2wgY2FsbGJhY2tXaXRoQ2xhc3MxUGFyYW0oY29uc3QgV2ViRE9NQ2xhc3MxJiBjbGFzczFQ
YXJhbSk7Ci0gICAgYm9vbCBjYWxsYmFja1dpdGhDbGFzczJQYXJhbShjb25zdCBXZWJET01DbGFz
czImIGNsYXNzMlBhcmFtLCBjb25zdCBXZWJET01TdHJpbmcmIHN0ckFyZyk7Ci0gICAgaW50IGNh
bGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlKGNvbnN0IFdlYkRPTUNsYXNzMyYgY2xhc3MzUGFy
YW0pOworICAgIGJvb2wgY2FsbGJhY2tXaXRoQXJyYXlQYXJhbShjb25zdCBXZWJET01GbG9hdDMy
QXJyYXkmIGFycmF5UGFyYW0pOworICAgIGJvb2wgY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlw
dFZhbHVlUGFyYW0oY29uc3QgV2ViRE9NU3RyaW5nJiBzcnpQYXJhbSwgY29uc3QgV2ViRE9NU3Ry
aW5nJiBzdHJBcmcpOworICAgIGludCBjYWxsYmFja1dpdGhOb25Cb29sUmV0dXJuVHlwZShjb25z
dCBXZWJET01TdHJpbmcmIHN0ckFyZyk7CiAgICAgYm9vbCBjYWxsYmFja1dpdGhTdHJpbmdMaXN0
KGNvbnN0IFdlYkRPTURPTVN0cmluZ0xpc3QmIGxpc3RQYXJhbSk7CiAgICAgYm9vbCBjYWxsYmFj
a1dpdGhCb29sZWFuKGJvb2wgYm9vbFBhcmFtKTsKLSAgICBib29sIGNhbGxiYWNrUmVxdWlyZXNU
aGlzVG9QYXNzKGNvbnN0IFdlYkRPTUNsYXNzOCYgY2xhc3M4UGFyYW0sIGNvbnN0IFdlYkRPTVRo
aXNDbGFzcyYgdGhpc0NsYXNzUGFyYW0pOworICAgIGJvb2wgY2FsbGJhY2tSZXF1aXJlc1RoaXNU
b1Bhc3MoaW50IGxvbmdQYXJhbSwgY29uc3QgV2ViRE9NVGVzdE5vZGUmIHRlc3ROb2RlUGFyYW0p
OwogCiAgICAgV2ViQ29yZTo6VGVzdENhbGxiYWNrKiBpbXBsKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9i
ai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RPYmouY3BwCmluZGV4IGQ2NTEwMTAuLmQwZmRlNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiVGVzdEVudW1UeXBlLmgiCisjaW5jbHVkZSAi
VGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJET01EaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiV2Vi
RE9NRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCkBAIC0zNiwxOSArMzcsMTIg
QEAKICNpbmNsdWRlICJXZWJET01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5o
IgogI2luY2x1ZGUgIldlYkRPTVRlc3RFbnVtVHlwZS5oIgorI2luY2x1ZGUgIldlYkRPTVRlc3RO
b2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdE9iai5oIgotI2luY2x1ZGUgIldlYkRPTWEuaCIK
LSNpbmNsdWRlICJXZWJET01iLmgiCiAjaW5jbHVkZSAiV2ViRE9NYm9vbC5oIgotI2luY2x1ZGUg
IldlYkRPTWQuaCIKLSNpbmNsdWRlICJXZWJET01lLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9u
SGFuZGxlci5oIgogI2luY2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIuaCIKLSNpbmNsdWRl
ICJhLmgiCi0jaW5jbHVkZSAiYi5oIgogI2luY2x1ZGUgImJvb2wuaCIKLSNpbmNsdWRlICJkLmgi
Ci0jaW5jbHVkZSAiZS5oIgogI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2lu
Y2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC05NzIsNyAr
OTY2LDcgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpvdmVybG9hZGVkTWV0aG9kMShjb25zdCBXZWJE
T01TdHJpbmcmIHR5cGUpCiAKICNlbmRpZgogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQx
KGNvbnN0IFdlYkRPTWEmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0MShjb25z
dCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJl
dHVybjsKQEAgLTk4MCw3ICs5NzQsNyBAQCB2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQxKGNv
bnN0IFdlYkRPTWEmIHZhbHVlKQogICAgIGltcGwoKS0+Y29udmVydDEodG9XZWJDb3JlKHZhbHVl
KSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFs
dWUpCit2b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQyKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2
YWx1ZSkKIHsKICAgICBpZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTg4LDcgKzk4
Miw3IEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6Y29udmVydDIoY29uc3QgV2ViRE9NYiYgdmFsdWUp
CiAgICAgaW1wbCgpLT5jb252ZXJ0Mih0b1dlYkNvcmUodmFsdWUpKTsKIH0KIAotdm9pZCBXZWJE
T01UZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKK3ZvaWQgV2ViRE9NVGVz
dE9iajo6Y29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKQogewogICAgIGlmICgh
aW1wbCgpKQogICAgICAgICByZXR1cm47CkBAIC05OTYsNyArOTkwLDcgQEAgdm9pZCBXZWJET01U
ZXN0T2JqOjpjb252ZXJ0NChjb25zdCBXZWJET01kJiB2YWx1ZSkKICAgICBpbXBsKCktPmNvbnZl
cnQ0KHRvV2ViQ29yZSh2YWx1ZSkpOwogfQogCi12b2lkIFdlYkRPTVRlc3RPYmo6OmNvbnZlcnQ1
KGNvbnN0IFdlYkRPTWUmIHZhbHVlKQordm9pZCBXZWJET01UZXN0T2JqOjpjb252ZXJ0NShjb25z
dCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0T2JqLmgKaW5kZXggYzFjMTdkMi4uYmJkMWRmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
T2JqLmgKQEAgLTM4LDEyICszOCw5IEBAIGNsYXNzIFdlYkRPTU9iamVjdDsKIGNsYXNzIFdlYkRP
TVNWR1BvaW50OwogY2xhc3MgV2ViRE9NU3RyaW5nOwogY2xhc3MgV2ViRE9NVGVzdEVudW1UeXBl
OworY2xhc3MgV2ViRE9NVGVzdE5vZGU7CiBjbGFzcyBXZWJET01UZXN0T2JqOwotY2xhc3MgV2Vi
RE9NYTsKLWNsYXNzIFdlYkRPTWI7CiBjbGFzcyBXZWJET01ib29sOwotY2xhc3MgV2ViRE9NZDsK
LWNsYXNzIFdlYkRPTWU7CiAKIGNsYXNzIFdlYkRPTVRlc3RPYmogOiBwdWJsaWMgV2ViRE9NT2Jq
ZWN0IHsKIHB1YmxpYzoKQEAgLTE5MSwxMCArMTg4LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
Q29uZGl0aW9uMSkKICAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKGNvbnN0IFdlYkRPTVN0cmlu
ZyYgdHlwZSk7CiAjZW5kaWYKLSAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTWEmIHZhbHVl
KTsKLSAgICB2b2lkIGNvbnZlcnQyKGNvbnN0IFdlYkRPTWImIHZhbHVlKTsKLSAgICB2b2lkIGNv
bnZlcnQ0KGNvbnN0IFdlYkRPTWQmIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQ1KGNvbnN0IFdl
YkRPTWUmIHZhbHVlKTsKKyAgICB2b2lkIGNvbnZlcnQxKGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2
YWx1ZSk7CisgICAgdm9pZCBjb252ZXJ0Mihjb25zdCBXZWJET01UZXN0Tm9kZSYgdmFsdWUpOwor
ICAgIHZvaWQgY29udmVydDQoY29uc3QgV2ViRE9NVGVzdE5vZGUmIHZhbHVlKTsKKyAgICB2b2lk
IGNvbnZlcnQ1KGNvbnN0IFdlYkRPTVRlc3ROb2RlJiB2YWx1ZSk7CiAgICAgV2ViRE9NU1ZHUG9p
bnQgbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKICAgICBXZWJET01TVkdQb2ludCBpbW11dGFibGVQ
b2ludEZ1bmN0aW9uKCk7CiAgICAgdm9pZCBiYW5hbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4
IGUxZThmNTAuLmJhZmNlNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMjQsMTAgKzI0LDEwIEBA
CiAKICNpbmNsdWRlICJXZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgi
CiAKLSNpbmNsdWRlICJBcnJheS5oIgorI2luY2x1ZGUgIkludDMyQXJyYXkuaCIKICNpbmNsdWRl
ICJNZXNzYWdlUG9ydEFycmF5LmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
Ci0jaW5jbHVkZSAiV2ViRE9NQXJyYXkuaCIKKyNpbmNsdWRlICJXZWJET01JbnQzMkFycmF5Lmgi
CiAjaW5jbHVkZSAiV2ViRE9NTWVzc2FnZVBvcnRBcnJheS5oIgogI2luY2x1ZGUgIldlYkV4Y2Vw
dGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CkBAIC0xMzQsNyArMTM0LDcg
QEAgV2ViRE9NU3RyaW5nIFdlYkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6
OmNhY2hlZFJlYWRvbmx5VmFsdWUoKSBjb24KICAgICByZXR1cm4gaW1wbCgpLT5jYWNoZWRSZWFk
b25seVZhbHVlKCktPnRvU3RyaW5nKCk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZTo6YWNjZXB0VHJhbnNmZXJMaXN0KGNvbnN0IFdlYkRPTVN0cmlu
ZyYgZGF0YSwgY29uc3QgV2ViRE9NQXJyYXkmIHRyYW5zZmVyTGlzdCkKK3ZvaWQgV2ViRE9NVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6YWNjZXB0VHJhbnNmZXJMaXN0KGNvbnN0
IFdlYkRPTVN0cmluZyYgZGF0YSwgY29uc3QgV2ViRE9NSW50MzJBcnJheSYgdHJhbnNmZXJMaXN0
KQogewogICAgIGlmICghaW1wbCgpKQogICAgICAgICByZXR1cm47CkBAIC0xNDIsNyArMTQyLDcg
QEAgdm9pZCBXZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjphY2NlcHRU
cmFuc2Zlckxpc3QoY29uc3QgV2ViRE9NU3QKICAgICBpbXBsKCktPmFjY2VwdFRyYW5zZmVyTGlz
dChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShXVEY6OlN0cmluZyhkYXRh
KSksIHRvV2ViQ29yZSh0cmFuc2Zlckxpc3QpKTsKIH0KIAotdm9pZCBXZWJET01UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjptdWx0aVRyYW5zZmVyTGlzdChjb25zdCBXZWJET01T
dHJpbmcmIGZpcnN0LCBjb25zdCBXZWJET01BcnJheSYgdHgsIGNvbnN0IFdlYkRPTVN0cmluZyYg
c2Vjb25kLCBjb25zdCBXZWJET01BcnJheSYgdHh4KQordm9pZCBXZWJET01UZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjptdWx0aVRyYW5zZmVyTGlzdChjb25zdCBXZWJET01TdHJp
bmcmIGZpcnN0LCBjb25zdCBXZWJET01JbnQzMkFycmF5JiB0eCwgY29uc3QgV2ViRE9NU3RyaW5n
JiBzZWNvbmQsIGNvbnN0IFdlYkRPTUludDMyQXJyYXkmIHR4eCkKIHsKICAgICBpZiAoIWltcGwo
KSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCAxM2U1NjU1Li43MDg4NGY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOwogfTsKIAotY2xhc3MgV2ViRE9N
QXJyYXk7CitjbGFzcyBXZWJET01JbnQzMkFycmF5OwogY2xhc3MgV2ViRE9NTWVzc2FnZVBvcnRB
cnJheTsKIGNsYXNzIFdlYkRPTVN0cmluZzsKIApAQCAtNTIsOCArNTIsOCBAQCBwdWJsaWM6CiAg
ICAgV2ViRE9NTWVzc2FnZVBvcnRBcnJheSBwb3J0cygpIGNvbnN0OwogICAgIFdlYkRPTVN0cmlu
ZyBjYWNoZWRSZWFkb25seVZhbHVlKCkgY29uc3Q7CiAKLSAgICB2b2lkIGFjY2VwdFRyYW5zZmVy
TGlzdChjb25zdCBXZWJET01TdHJpbmcmIGRhdGEsIGNvbnN0IFdlYkRPTUFycmF5JiB0cmFuc2Zl
ckxpc3QpOwotICAgIHZvaWQgbXVsdGlUcmFuc2Zlckxpc3QoY29uc3QgV2ViRE9NU3RyaW5nJiBm
aXJzdCwgY29uc3QgV2ViRE9NQXJyYXkmIHR4LCBjb25zdCBXZWJET01TdHJpbmcmIHNlY29uZCwg
Y29uc3QgV2ViRE9NQXJyYXkmIHR4eCk7CisgICAgdm9pZCBhY2NlcHRUcmFuc2Zlckxpc3QoY29u
c3QgV2ViRE9NU3RyaW5nJiBkYXRhLCBjb25zdCBXZWJET01JbnQzMkFycmF5JiB0cmFuc2Zlckxp
c3QpOworICAgIHZvaWQgbXVsdGlUcmFuc2Zlckxpc3QoY29uc3QgV2ViRE9NU3RyaW5nJiBmaXJz
dCwgY29uc3QgV2ViRE9NSW50MzJBcnJheSYgdHgsIGNvbnN0IFdlYkRPTVN0cmluZyYgc2Vjb25k
LCBjb25zdCBXZWJET01JbnQzMkFycmF5JiB0eHgpOwogCiAgICAgV2ViQ29yZTo6VGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1wbCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RUeXBlZGVm
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RUeXBlZGVmcy5jcHAKaW5kZXggZDAxNmEzNC4uMDk0MjkxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVz
dFR5cGVkZWZzLmNwcApAQCAtMjEsMTEgKzIxLDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV2ViRE9NVGVzdFR5cGVkZWZzLmgiCiAKLSNpbmNsdWRlICJBcnJheS5oIgorI2lu
Y2x1ZGUgIkludDMyQXJyYXkuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU1ZHUG9p
bnQuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKLSNpbmNsdWRlICJXZWJE
T01BcnJheS5oIgorI2luY2x1ZGUgIldlYkRPTUludDMyQXJyYXkuaCIKICNpbmNsdWRlICJXZWJE
T01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkV4
Y2VwdGlvbkhhbmRsZXIuaCIKQEAgLTE5Miw3ICsxOTIsNyBAQCB2b2lkIFdlYkRPTVRlc3RUeXBl
ZGVmczo6ZnVuYyhjb25zdCBXZWJET01sb25nW10mIHgpCiAgICAgaW1wbCgpLT5mdW5jKHRvV2Vi
Q29yZSh4KSk7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdFR5cGVkZWZzOjptdWx0aVRyYW5zZmVyTGlz
dChjb25zdCBXZWJET01TdHJpbmcmIGZpcnN0LCBjb25zdCBXZWJET01BcnJheSYgdHgsIGNvbnN0
IFdlYkRPTVN0cmluZyYgc2Vjb25kLCBjb25zdCBXZWJET01BcnJheSYgdHh4KQordm9pZCBXZWJE
T01UZXN0VHlwZWRlZnM6Om11bHRpVHJhbnNmZXJMaXN0KGNvbnN0IFdlYkRPTVN0cmluZyYgZmly
c3QsIGNvbnN0IFdlYkRPTUludDMyQXJyYXkmIHR4LCBjb25zdCBXZWJET01TdHJpbmcmIHNlY29u
ZCwgY29uc3QgV2ViRE9NSW50MzJBcnJheSYgdHh4KQogewogICAgIGlmICghaW1wbCgpKQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvQ1BQL1dlYkRPTVRlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuaAppbmRleCA3ZGMxOTI1Li5jNGQ3
ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RUeXBlZGVmcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NVGVzdFR5cGVkZWZzLmgKQEAgLTMwLDggKzMwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgVGVzdFR5cGVkZWZzOwogfTsKIAotY2xhc3MgV2ViRE9NQXJy
YXk7CiBjbGFzcyBXZWJET01ET01TdHJpbmdbXTsKK2NsYXNzIFdlYkRPTUludDMyQXJyYXk7CiBj
bGFzcyBXZWJET01TVkdQb2ludDsKIGNsYXNzIFdlYkRPTVN0cmluZzsKIGNsYXNzIFdlYkRPTWxv
bmdbXTsKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb24oY29uc3QgV2ViRE9NU3RyaW5nJik7CiAKICAgICB2b2lkIGZ1bmMo
Y29uc3QgV2ViRE9NbG9uZ1tdJiB4KTsKLSAgICB2b2lkIG11bHRpVHJhbnNmZXJMaXN0KGNvbnN0
IFdlYkRPTVN0cmluZyYgZmlyc3QsIGNvbnN0IFdlYkRPTUFycmF5JiB0eCwgY29uc3QgV2ViRE9N
U3RyaW5nJiBzZWNvbmQsIGNvbnN0IFdlYkRPTUFycmF5JiB0eHgpOworICAgIHZvaWQgbXVsdGlU
cmFuc2Zlckxpc3QoY29uc3QgV2ViRE9NU3RyaW5nJiBmaXJzdCwgY29uc3QgV2ViRE9NSW50MzJB
cnJheSYgdHgsIGNvbnN0IFdlYkRPTVN0cmluZyYgc2Vjb25kLCBjb25zdCBXZWJET01JbnQzMkFy
cmF5JiB0eHgpOwogICAgIHZvaWQgc2V0U2hhZG93KGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQs
IGZsb2F0IGJsdXIsIGNvbnN0IFdlYkRPTVN0cmluZyYgY29sb3IsIGZsb2F0IGFscGhhKTsKICAg
ICB2b2lkIG51bGxhYmxlQXJyYXlBcmcoY29uc3QgV2ViRE9NRE9NU3RyaW5nW10mIGFycmF5QXJn
KTsKICAgICBXZWJET01TVkdQb2ludCBpbW11dGFibGVQb2ludEZ1bmN0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0Q2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNrLmNwcAppbmRleCBmNmRiMmNmLi40MDA0MjVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKQEAgLTI1LDE0
ICsyNSwxMiBAQAogI2luY2x1ZGUgIkRPTU9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgotI2luY2x1ZGUg
IldlYktpdERPTUNsYXNzMVByaXZhdGUuaCIKLSNpbmNsdWRlICJXZWJLaXRET01DbGFzczJQcml2
YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NQ2xhc3MzUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldl
YktpdERPTUNsYXNzOFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01ET01TdHJpbmdMaXN0
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdERPTUZsb2F0MzJBcnJheVByaXZhdGUuaCIKICNp
bmNsdWRlICJXZWJLaXRET01Qcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0RE9NU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3RDYWxsYmFja1By
aXZhdGUuaCIKLSNpbmNsdWRlICJXZWJLaXRET01UaGlzQ2xhc3NQcml2YXRlLmgiCisjaW5jbHVk
ZSAiV2ViS2l0RE9NVGVzdE5vZGVQcml2YXRlLmgiCiAjaW5jbHVkZSAiZ29iamVjdC9Db252ZXJ0
VG9VVEY4U3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTEyOCwxNSArMTI2LDE1IEBAIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19j
YWxsYmFja193aXRoX25vX3BhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZikKIH0KIAog
Z2Jvb2xlYW4KLXdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX2NsYXNzMXBh
cmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2ViS2l0RE9NQ2xhc3MxKiBjbGFzczFQ
YXJhbSkKK3dlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX2FycmF5X3BhcmFt
KFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2ViS2l0RE9NRmxvYXQzMkFycmF5KiBhcnJh
eVBhcmFtKQogewogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9DQUxMQkFDSyhzZWxmKSwgRkFMU0UpOwotICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKFdFQktJVF9ET01fSVNfQ0xBU1MxKGNsYXNzMVBhcmFtKSwgRkFMU0UpOworICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfRkxPQVQzMkFSUkFZKGFycmF5UGFyYW0pLCBG
QUxTRSk7CiAgICAgV2ViQ29yZTo6VGVzdENhbGxiYWNrKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwotICAgIFdlYkNvcmU6OkNsYXNzMSogY29udmVydGVkQ2xhc3MxUGFyYW0gPSBXZWJLaXQ6
OmNvcmUoY2xhc3MxUGFyYW0pOwotICAgIGdib29sZWFuIHJlc3VsdCA9IGl0ZW0tPmNhbGxiYWNr
V2l0aENsYXNzMVBhcmFtKGNvbnZlcnRlZENsYXNzMVBhcmFtKTsKKyAgICBXZWJDb3JlOjpGbG9h
dDMyQXJyYXkqIGNvbnZlcnRlZEFycmF5UGFyYW0gPSBXZWJLaXQ6OmNvcmUoYXJyYXlQYXJhbSk7
CisgICAgZ2Jvb2xlYW4gcmVzdWx0ID0gaXRlbS0+Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbShjb252
ZXJ0ZWRBcnJheVBhcmFtKTsKICAgICByZXR1cm4gcmVzdWx0OwogI2Vsc2UKICAgICBXRUJLSVRf
V0FSTl9GRUFUVVJFX05PVF9QUkVTRU5UKCJTUUwgRGF0YWJhc2UiKQpAQCAtMTQ1LDE3ICsxNDMs
MTcgQEAgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MxcGFyYW0o
V2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLAogfQogCiBnYm9vbGVhbgotd2Via2l0X2RvbV90
ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MycGFyYW0oV2ViS2l0RE9NVGVzdENhbGxi
YWNrKiBzZWxmLCBXZWJLaXRET01DbGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBnY2hhciogc3Ry
QXJnKQord2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfc2VyaWFsaXplZF9z
Y3JpcHRfdmFsdWVfcGFyYW0oV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBXZWJLaXRET01T
ZXJpYWxpemVkU2NyaXB0VmFsdWUqIHNyelBhcmFtLCBjb25zdCBnY2hhciogc3RyQXJnKQogewog
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9D
QUxMQkFDSyhzZWxmKSwgRkFMU0UpOwotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9E
T01fSVNfQ0xBU1MyKGNsYXNzMlBhcmFtKSwgRkFMU0UpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKFdFQktJVF9ET01fSVNfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUUoc3J6UGFyYW0pLCBGQUxT
RSk7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc3RyQXJnLCBGQUxTRSk7CiAgICAgV2ViQ29y
ZTo6VGVzdENhbGxiYWNrKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIFdlYkNvcmU6
OkNsYXNzMiogY29udmVydGVkQ2xhc3MyUGFyYW0gPSBXZWJLaXQ6OmNvcmUoY2xhc3MyUGFyYW0p
OworICAgIFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogY29udmVydGVkU3J6UGFyYW0g
PSBXZWJLaXQ6OmNvcmUoc3J6UGFyYW0pOwogICAgIFdURjo6U3RyaW5nIGNvbnZlcnRlZFN0ckFy
ZyA9IFdURjo6U3RyaW5nOjpmcm9tVVRGOChzdHJBcmcpOwotICAgIGdib29sZWFuIHJlc3VsdCA9
IGl0ZW0tPmNhbGxiYWNrV2l0aENsYXNzMlBhcmFtKGNvbnZlcnRlZENsYXNzMlBhcmFtLCBjb252
ZXJ0ZWRTdHJBcmcpOworICAgIGdib29sZWFuIHJlc3VsdCA9IGl0ZW0tPmNhbGxiYWNrV2l0aFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKGNvbnZlcnRlZFNyelBhcmFtLCBjb252ZXJ0ZWRTdHJB
cmcpOwogICAgIHJldHVybiByZXN1bHQ7CiAjZWxzZQogICAgIFdFQktJVF9XQVJOX0ZFQVRVUkVf
Tk9UX1BSRVNFTlQoIlNRTCBEYXRhYmFzZSIpCkBAIC0xNjQsMTUgKzE2MiwxNSBAQCB3ZWJraXRf
ZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczJwYXJhbShXZWJLaXRET01UZXN0
Q2FsbGJhY2sqIHNlbGYsCiB9CiAKIGdsb25nCi13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2Fs
bGJhY2tfd2l0aF9ub25fYm9vbF9yZXR1cm5fdHlwZShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNl
bGYsIFdlYktpdERPTUNsYXNzMyogY2xhc3MzUGFyYW0pCit3ZWJraXRfZG9tX3Rlc3RfY2FsbGJh
Y2tfY2FsbGJhY2tfd2l0aF9ub25fYm9vbF9yZXR1cm5fdHlwZShXZWJLaXRET01UZXN0Q2FsbGJh
Y2sqIHNlbGYsIGNvbnN0IGdjaGFyKiBzdHJBcmcpCiB7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX0NBTExCQUNLKHNlbGYpLCAwKTsKLSAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX0NMQVNTMyhjbGFzczNQYXJhbSks
IDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHN0ckFyZywgMCk7CiAgICAgV2ViQ29yZTo6
VGVzdENhbGxiYWNrKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIFdlYkNvcmU6OkNs
YXNzMyogY29udmVydGVkQ2xhc3MzUGFyYW0gPSBXZWJLaXQ6OmNvcmUoY2xhc3MzUGFyYW0pOwot
ICAgIGdsb25nIHJlc3VsdCA9IGl0ZW0tPmNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlKGNv
bnZlcnRlZENsYXNzM1BhcmFtKTsKKyAgICBXVEY6OlN0cmluZyBjb252ZXJ0ZWRTdHJBcmcgPSBX
VEY6OlN0cmluZzo6ZnJvbVVURjgoc3RyQXJnKTsKKyAgICBnbG9uZyByZXN1bHQgPSBpdGVtLT5j
YWxsYmFja1dpdGhOb25Cb29sUmV0dXJuVHlwZShjb252ZXJ0ZWRTdHJBcmcpOwogICAgIHJldHVy
biByZXN1bHQ7CiAjZWxzZQogICAgIFdFQktJVF9XQVJOX0ZFQVRVUkVfTk9UX1BSRVNFTlQoIlNR
TCBEYXRhYmFzZSIpCkBAIC0yMTMsMTcgKzIxMSwxNSBAQCB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJh
Y2tfY2FsbGJhY2tfd2l0aF9ib29sZWFuKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgZ2Jv
bwogfQogCiBnYm9vbGVhbgotd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3JlcXVp
cmVzX3RoaXNfdG9fcGFzcyhXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNs
YXNzOCogY2xhc3M4UGFyYW0sIFdlYktpdERPTVRoaXNDbGFzcyogdGhpc0NsYXNzUGFyYW0pCit3
ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfcmVxdWlyZXNfdGhpc190b19wYXNzKFdl
YktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgZ2xvbmcgbG9uZ1BhcmFtLCBXZWJLaXRET01UZXN0
Tm9kZSogdGVzdE5vZGVQYXJhbSkKIHsKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfQ0FMTEJBQ0soc2VsZiksIEZBTFNFKTsKLSAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX0NMQVNTOChjbGFzczhQYXJhbSksIEZBTFNF
KTsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RISVNfQ0xBU1ModGhp
c0NsYXNzUGFyYW0pLCBGQUxTRSk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX05PREUodGVzdE5vZGVQYXJhbSksIEZBTFNFKTsKICAgICBXZWJDb3JlOjpUZXN0
Q2FsbGJhY2sqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgV2ViQ29yZTo6Q2xhc3M4
KiBjb252ZXJ0ZWRDbGFzczhQYXJhbSA9IFdlYktpdDo6Y29yZShjbGFzczhQYXJhbSk7Ci0gICAg
V2ViQ29yZTo6VGhpc0NsYXNzKiBjb252ZXJ0ZWRUaGlzQ2xhc3NQYXJhbSA9IFdlYktpdDo6Y29y
ZSh0aGlzQ2xhc3NQYXJhbSk7Ci0gICAgZ2Jvb2xlYW4gcmVzdWx0ID0gaXRlbS0+Y2FsbGJhY2tS
ZXF1aXJlc1RoaXNUb1Bhc3MoY29udmVydGVkQ2xhc3M4UGFyYW0sIGNvbnZlcnRlZFRoaXNDbGFz
c1BhcmFtKTsKKyAgICBXZWJDb3JlOjpUZXN0Tm9kZSogY29udmVydGVkVGVzdE5vZGVQYXJhbSA9
IFdlYktpdDo6Y29yZSh0ZXN0Tm9kZVBhcmFtKTsKKyAgICBnYm9vbGVhbiByZXN1bHQgPSBpdGVt
LT5jYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyhsb25nUGFyYW0sIGNvbnZlcnRlZFRlc3ROb2Rl
UGFyYW0pOwogICAgIHJldHVybiByZXN1bHQ7CiAjZWxzZQogICAgIFdFQktJVF9XQVJOX0ZFQVRV
UkVfTk9UX1BSRVNFTlQoIlNRTCBEYXRhYmFzZSIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RDYWxsYmFjay5oCmluZGV4IDViNjExNjMuLmIyZmE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFj
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RDYWxsYmFjay5oCkBAIC02MCwzOCArNjAsMzggQEAgV0VCS0lUX0FQSSBnYm9v
bGVhbgogd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfbm9fcGFyYW0oV2Vi
S2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmKTsKIAogLyoqCi0gKiB3ZWJraXRfZG9tX3Rlc3RfY2Fs
bGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczFwYXJhbToKKyAqIHdlYmtpdF9kb21fdGVzdF9jYWxs
YmFja19jYWxsYmFja193aXRoX2FycmF5X3BhcmFtOgogICogQHNlbGY6IEEgI1dlYktpdERPTVRl
c3RDYWxsYmFjawotICogQGNsYXNzMVBhcmFtOiBBICNXZWJLaXRET01DbGFzczEKKyAqIEBhcnJh
eVBhcmFtOiBBICNXZWJLaXRET01GbG9hdDMyQXJyYXkKICAqCiAgKiBSZXR1cm5zOgogICoKICoq
LwogV0VCS0lUX0FQSSBnYm9vbGVhbgotd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNr
X3dpdGhfY2xhc3MxcGFyYW0oV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBXZWJLaXRET01D
bGFzczEqIGNsYXNzMVBhcmFtKTsKK3dlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193
aXRoX2FycmF5X3BhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2ViS2l0RE9NRmxv
YXQzMkFycmF5KiBhcnJheVBhcmFtKTsKIAogLyoqCi0gKiB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJh
Y2tfY2FsbGJhY2tfd2l0aF9jbGFzczJwYXJhbToKKyAqIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFj
a19jYWxsYmFja193aXRoX3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX3BhcmFtOgogICogQHNlbGY6
IEEgI1dlYktpdERPTVRlc3RDYWxsYmFjawotICogQGNsYXNzMlBhcmFtOiBBICNXZWJLaXRET01D
bGFzczIKKyAqIEBzcnpQYXJhbTogQSAjV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlCiAg
KiBAc3RyQXJnOiBBICNnY2hhcgogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJ
IGdib29sZWFuCi13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczJw
YXJhbShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNsYXNzMiogY2xhc3My
UGFyYW0sIGNvbnN0IGdjaGFyKiBzdHJBcmcpOword2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2Nh
bGxiYWNrX3dpdGhfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfcGFyYW0oV2ViS2l0RE9NVGVzdENh
bGxiYWNrKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIHNyelBhcmFtLCBj
b25zdCBnY2hhciogc3RyQXJnKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tf
Y2FsbGJhY2tfd2l0aF9ub25fYm9vbF9yZXR1cm5fdHlwZToKICAqIEBzZWxmOiBBICNXZWJLaXRE
T01UZXN0Q2FsbGJhY2sKLSAqIEBjbGFzczNQYXJhbTogQSAjV2ViS2l0RE9NQ2xhc3MzCisgKiBA
c3RyQXJnOiBBICNnY2hhcgogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIGds
b25nCi13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9ub25fYm9vbF9yZXR1
cm5fdHlwZShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNsYXNzMyogY2xh
c3MzUGFyYW0pOword2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfbm9uX2Jv
b2xfcmV0dXJuX3R5cGUoV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBjb25zdCBnY2hhciog
c3RyQXJnKTsKIAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0
aF9zdHJpbmdfbGlzdDoKQEAgLTExOCwxNCArMTE4LDE0IEBAIHdlYmtpdF9kb21fdGVzdF9jYWxs
YmFja19jYWxsYmFja193aXRoX2Jvb2xlYW4oV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBn
Ym9vCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja19yZXF1aXJlc190
aGlzX3RvX3Bhc3M6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdENhbGxiYWNrCi0gKiBAY2xh
c3M4UGFyYW06IEEgI1dlYktpdERPTUNsYXNzOAotICogQHRoaXNDbGFzc1BhcmFtOiBBICNXZWJL
aXRET01UaGlzQ2xhc3MKKyAqIEBsb25nUGFyYW06IEEgI2dsb25nCisgKiBAdGVzdE5vZGVQYXJh
bTogQSAjV2ViS2l0RE9NVGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lU
X0FQSSBnYm9vbGVhbgotd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3JlcXVpcmVz
X3RoaXNfdG9fcGFzcyhXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNsYXNz
OCogY2xhc3M4UGFyYW0sIFdlYktpdERPTVRoaXNDbGFzcyogdGhpc0NsYXNzUGFyYW0pOword2Vi
a2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3JlcXVpcmVzX3RoaXNfdG9fcGFzcyhXZWJL
aXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIGdsb25nIGxvbmdQYXJhbSwgV2ViS2l0RE9NVGVzdE5v
ZGUqIHRlc3ROb2RlUGFyYW0pOwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RPYmouY3BwCmluZGV4IDkwMjY2NTIuLjIzZGE0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RPYmouY3BwCkBAIC0zMywxMiArMzMsOSBAQAogI2luY2x1ZGUgIldlYktpdERPTVNW
R1BvaW50UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01UZXN0RW51bVR5cGVQcml2YXRlLmgiCisj
aW5jbHVkZSAiV2ViS2l0RE9NVGVzdE5vZGVQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9N
VGVzdE9ialByaXZhdGUuaCIKLSNpbmNsdWRlICJXZWJLaXRET01hUHJpdmF0ZS5oIgotI2luY2x1
ZGUgIldlYktpdERPTWJQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NYm9vbFByaXZhdGUu
aCIKLSNpbmNsdWRlICJXZWJLaXRET01kUHJpdmF0ZS5oIgotI2luY2x1ZGUgIldlYktpdERPTWVQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmgiCiAjaW5j
bHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTEzODAsNDYg
KzEzNzcsNDYgQEAgd2Via2l0X2RvbV90ZXN0X29ial9vdmVybG9hZGVkX21ldGhvZDEoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHR5cGUKIH0KIAogdm9pZAotd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01hKiB2
YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVT
VF9PQkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19BKHZhbHVl
KSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERSh2YWx1ZSkp
OwogICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAg
V2ViQ29yZTo6YSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOworICAgIFdl
YkNvcmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CiAg
ICAgaXRlbS0+Y29udmVydDEoY29udmVydGVkVmFsdWUpOwogfQogCiB2b2lkCi13ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTWIqIHZh
bHVlKQord2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNU
X09CSihzZWxmKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0IodmFsdWUp
KTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9OT0RFKHZhbHVlKSk7
CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAgICBX
ZWJDb3JlOjpiKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CisgICAgV2Vi
Q29yZTo6VGVzdE5vZGUqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKICAg
ICBpdGVtLT5jb252ZXJ0Mihjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKIHZvaWQKLXdlYmtpdF9kb21f
dGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NZCogdmFs
dWUpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1Rf
T0JKKHNlbGYpKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfRCh2YWx1ZSkp
OworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX05PREUodmFsdWUpKTsK
ICAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIFdl
YkNvcmU6OmQqIGNvbnZlcnRlZFZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsKKyAgICBXZWJD
b3JlOjpUZXN0Tm9kZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOwogICAg
IGl0ZW0tPmNvbnZlcnQ0KGNvbnZlcnRlZFZhbHVlKTsKIH0KIAogdm9pZAotd2Via2l0X2RvbV90
ZXN0X29ial9jb252ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01lKiB2YWx1
ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwg
V2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9P
Qkooc2VsZikpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19FKHZhbHVlKSk7
CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERSh2YWx1ZSkpOwog
ICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgV2Vi
Q29yZTo6ZSogY29udmVydGVkVmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOworICAgIFdlYkNv
cmU6OlRlc3ROb2RlKiBjb252ZXJ0ZWRWYWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7CiAgICAg
aXRlbS0+Y29udmVydDUoY29udmVydGVkVmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T2JqLmgKaW5kZXggYWY1MzZiMC4uN2M5OTJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RPYmouaApAQCAtNDA0LDQ2ICs0MDQsNDYgQEAgd2Via2l0X2RvbV90ZXN0X29ial9vdmVybG9h
ZGVkX21ldGhvZDEoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHR5cGUKIC8q
KgogICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MToKICAqIEBzZWxmOiBBICNXZWJLaXRE
T01UZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWEKKyAqIEB2YWx1ZTogQSAjV2ViS2l0
RE9NVGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktp
dERPTWEqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDEoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsKIAogLyoqCiAgKiB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyOgogICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKLSAq
IEB2YWx1ZTogQSAjV2ViS2l0RE9NYgorICogQHZhbHVlOiBBICNXZWJLaXRET01UZXN0Tm9kZQog
ICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVz
dF9vYmpfY29udmVydDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NYiogdmFsdWUp
Oword2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0MihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBX
ZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpOwogCiAvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpf
Y29udmVydDQ6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagotICogQHZhbHVlOiBBICNX
ZWJLaXRET01kCisgKiBAdmFsdWU6IEEgI1dlYktpdERPTVRlc3ROb2RlCiAgKgogICogUmV0dXJu
czoKICAqCiAqKi8KIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0
NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01kKiB2YWx1ZSk7Cit3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbnZlcnQ0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RO
b2RlKiB2YWx1ZSk7CiAKIC8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial9jb252ZXJ0NToKICAq
IEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCi0gKiBAdmFsdWU6IEEgI1dlYktpdERPTWUKKyAq
IEB2YWx1ZTogQSAjV2ViS2l0RE9NVGVzdE5vZGUKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwog
V0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIFdlYktpdERPTWUqIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKTsK
IAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX211dGFibGVfcG9pbnRfZnVuY3Rpb246CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDMyZWQ4ODMuLmRiNjVmY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAi
RE9NT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAi
SlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NQXJyYXlQcml2YXRl
LmgiCisjaW5jbHVkZSAiV2ViS2l0RE9NSW50MzJBcnJheVByaXZhdGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRET01NZXNzYWdlUG9ydEFycmF5UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVBy
aXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRl
LmgiCkBAIC0yMjAsMTYgKzIyMCwxNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfc2Vy
aWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2luaXQoV2ViS2l0RE9NVGVzdAogfQogCiB2
b2lkCi13ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2Fj
Y2VwdF90cmFuc2Zlcl9saXN0KFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogZGF0YSwgV2ViS2l0
RE9NQXJyYXkqIHRyYW5zZmVyTGlzdCkKK3dlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3Njcmlw
dF92YWx1ZV9pbnRlcmZhY2VfYWNjZXB0X3RyYW5zZmVyX2xpc3QoV2ViS2l0RE9NVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZiwgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlw
dFZhbHVlKiBkYXRhLCBXZWJLaXRET01JbnQzMkFycmF5KiB0cmFuc2Zlckxpc3QpCiB7CiAjaWYg
RU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Uoc2VsZikpOwogICAg
IGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19TRVJJQUxJWkVEX1NDUklQVF9WQUxVRShk
YXRhKSk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX0FSUkFZKHRyYW5zZmVy
TGlzdCkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19JTlQzMkFSUkFZKHRy
YW5zZmVyTGlzdCkpOwogICAgIFdlYkNvcmU6OlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgV2ViQ29yZTo6U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiBjb252ZXJ0ZWREYXRhID0gV2ViS2l0Ojpjb3JlKGRhdGEpOwotICAgIFdl
YkNvcmU6OkFycmF5KiBjb252ZXJ0ZWRUcmFuc2Zlckxpc3QgPSBXZWJLaXQ6OmNvcmUodHJhbnNm
ZXJMaXN0KTsKKyAgICBXZWJDb3JlOjpJbnQzMkFycmF5KiBjb252ZXJ0ZWRUcmFuc2Zlckxpc3Qg
PSBXZWJLaXQ6OmNvcmUodHJhbnNmZXJMaXN0KTsKICAgICBpdGVtLT5hY2NlcHRUcmFuc2Zlckxp
c3QoY29udmVydGVkRGF0YSwgY29udmVydGVkVHJhbnNmZXJMaXN0KTsKICNlbHNlCiAgICAgV0VC
S0lUX1dBUk5fRkVBVFVSRV9OT1RfUFJFU0VOVCgiQ29uZGl0aW9uMSIpCkBAIC0yMzgsMjAgKzIz
OCwyMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNl
X2FjY2VwdF90cmFuc2Zlcl9saXN0KFdlYktpdERPTQogfQogCiB2b2lkCi13ZWJraXRfZG9tX3Rl
c3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX211bHRpX3RyYW5zZmVyX2xpc3Qo
V2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZiwgV2ViS2l0
RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBmaXJzdCwgV2ViS2l0RE9NQXJyYXkqIHR4LCBXZWJL
aXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIHNlY29uZCwgV2ViS2l0RE9NQXJyYXkqIHR4eCkK
K3dlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfbXVsdGlf
dHJhbnNmZXJfbGlzdChXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
KiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIGZpcnN0LCBXZWJLaXRET01J
bnQzMkFycmF5KiB0eCwgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBzZWNvbmQsIFdl
YktpdERPTUludDMyQXJyYXkqIHR4eCkKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5B
QkxFKENvbmRpdGlvbjIpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX1NFUklBTElaRURfU0NS
SVBUX1ZBTFVFX0lOVEVSRkFDRShzZWxmKSk7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFKGZpcnN0KSk7Ci0gICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX0FSUkFZKHR4KSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfRE9NX0lTX0lOVDMyQVJSQVkodHgpKTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUUoc2Vjb25kKSk7Ci0gICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX0FSUkFZKHR4eCkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0RPTV9JU19JTlQzMkFSUkFZKHR4eCkpOwogICAgIFdlYkNvcmU6OlRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgV2Vi
Q29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiBjb252ZXJ0ZWRGaXJzdCA9IFdlYktpdDo6Y29y
ZShmaXJzdCk7Ci0gICAgV2ViQ29yZTo6QXJyYXkqIGNvbnZlcnRlZFR4ID0gV2ViS2l0Ojpjb3Jl
KHR4KTsKKyAgICBXZWJDb3JlOjpJbnQzMkFycmF5KiBjb252ZXJ0ZWRUeCA9IFdlYktpdDo6Y29y
ZSh0eCk7CiAgICAgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiBjb252ZXJ0ZWRTZWNv
bmQgPSBXZWJLaXQ6OmNvcmUoc2Vjb25kKTsKLSAgICBXZWJDb3JlOjpBcnJheSogY29udmVydGVk
VHh4ID0gV2ViS2l0Ojpjb3JlKHR4eCk7CisgICAgV2ViQ29yZTo6SW50MzJBcnJheSogY29udmVy
dGVkVHh4ID0gV2ViS2l0Ojpjb3JlKHR4eCk7CiAgICAgaXRlbS0+bXVsdGlUcmFuc2Zlckxpc3Qo
Y29udmVydGVkRmlyc3QsIGNvbnZlcnRlZFR4LCBjb252ZXJ0ZWRTZWNvbmQsIGNvbnZlcnRlZFR4
eCk7CiAjZWxzZQogICAgIFdFQktJVF9XQVJOX0ZFQVRVUkVfTk9UX1BSRVNFTlQoIkNvbmRpdGlv
bjEiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDNhMmY5ZDEuLjY1ZWVjMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTUzLDI3ICs1MywyNyBAQCB3ZWJraXRfZG9t
X3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2dldF90eXBlICh2b2lkKTsK
ICAqIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfYWNj
ZXB0X3RyYW5zZmVyX2xpc3Q6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZQogICogQGRhdGE6IEEgI1dlYktpdERPTVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZQotICogQHRyYW5zZmVyTGlzdDogQSAjV2ViS2l0RE9NQXJyYXkKKyAqIEB0cmFuc2Zl
ckxpc3Q6IEEgI1dlYktpdERPTUludDMyQXJyYXkKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwog
V0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVf
aW50ZXJmYWNlX2FjY2VwdF90cmFuc2Zlcl9saXN0KFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSog
ZGF0YSwgV2ViS2l0RE9NQXJyYXkqIHRyYW5zZmVyTGlzdCk7Cit3ZWJraXRfZG9tX3Rlc3Rfc2Vy
aWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2FjY2VwdF90cmFuc2Zlcl9saXN0KFdlYktp
dERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYsIFdlYktpdERPTVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSogZGF0YSwgV2ViS2l0RE9NSW50MzJBcnJheSogdHJhbnNmZXJM
aXN0KTsKIAogLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVf
aW50ZXJmYWNlX211bHRpX3RyYW5zZmVyX2xpc3Q6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZQogICogQGZpcnN0OiBBICNXZWJLaXRET01T
ZXJpYWxpemVkU2NyaXB0VmFsdWUKLSAqIEB0eDogQSAjV2ViS2l0RE9NQXJyYXkKKyAqIEB0eDog
QSAjV2ViS2l0RE9NSW50MzJBcnJheQogICogQHNlY29uZDogQSAjV2ViS2l0RE9NU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlCi0gKiBAdHh4OiBBICNXZWJLaXRET01BcnJheQorICogQHR4eDogQSAjV2Vi
S2l0RE9NSW50MzJBcnJheQogICoKICAqIFJldHVybnM6CiAgKgogKiovCiBXRUJLSVRfQVBJIHZv
aWQKLXdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfbXVs
dGlfdHJhbnNmZXJfbGlzdChXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIGZpcnN0LCBXZWJLaXRE
T01BcnJheSogdHgsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2Vjb25kLCBXZWJL
aXRET01BcnJheSogdHh4KTsKK3dlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1
ZV9pbnRlcmZhY2VfbXVsdGlfdHJhbnNmZXJfbGlzdChXZWJLaXRET01UZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUq
IGZpcnN0LCBXZWJLaXRET01JbnQzMkFycmF5KiB0eCwgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlw
dFZhbHVlKiBzZWNvbmQsIFdlYktpdERPTUludDMyQXJyYXkqIHR4eCk7CiAKIC8qKgogICogd2Vi
a2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9nZXRfdmFsdWU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmNwcAppbmRleCAyYWE5OWMx
Li4zNzk5NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5jcHAK
QEAgLTI1LDggKzI1LDggQEAKICNpbmNsdWRlICJET01PYmplY3RDYWNoZS5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKLSNp
bmNsdWRlICJXZWJLaXRET01BcnJheVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01ET01T
dHJpbmdbXVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRET01JbnQzMkFycmF5UHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYktpdERPTVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TVkdQ
b2ludFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWVQ
cml2YXRlLmgiCkBAIC0yNTUsMTkgKzI1NSwxOSBAQCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNf
ZnVuYyhXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIFdlYktpdERPTWxvbmdbXSogeCkKIH0K
IAogdm9pZAotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX211bHRpX3RyYW5zZmVyX2xpc3QoV2Vi
S2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUq
IGZpcnN0LCBXZWJLaXRET01BcnJheSogdHgsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSogc2Vjb25kLCBXZWJLaXRET01BcnJheSogdHh4KQord2Via2l0X2RvbV90ZXN0X3R5cGVkZWZz
X211bHRpX3RyYW5zZmVyX2xpc3QoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBXZWJLaXRE
T01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIGZpcnN0LCBXZWJLaXRET01JbnQzMkFycmF5KiB0eCwg
V2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBzZWNvbmQsIFdlYktpdERPTUludDMyQXJy
YXkqIHR4eCkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAg
ICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZikpOwog
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19TRVJJQUxJWkVEX1NDUklQVF9WQUxV
RShmaXJzdCkpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19BUlJBWSh0eCkp
OworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19JTlQzMkFSUkFZKHR4KSk7CiAg
ICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1NFUklBTElaRURfU0NSSVBUX1ZBTFVF
KHNlY29uZCkpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19BUlJBWSh0eHgp
KTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfSU5UMzJBUlJBWSh0eHgpKTsK
ICAgICBXZWJDb3JlOjpUZXN0VHlwZWRlZnMqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAg
ICAgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiBjb252ZXJ0ZWRGaXJzdCA9IFdlYktp
dDo6Y29yZShmaXJzdCk7Ci0gICAgV2ViQ29yZTo6QXJyYXkqIGNvbnZlcnRlZFR4ID0gV2ViS2l0
Ojpjb3JlKHR4KTsKKyAgICBXZWJDb3JlOjpJbnQzMkFycmF5KiBjb252ZXJ0ZWRUeCA9IFdlYktp
dDo6Y29yZSh0eCk7CiAgICAgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiBjb252ZXJ0
ZWRTZWNvbmQgPSBXZWJLaXQ6OmNvcmUoc2Vjb25kKTsKLSAgICBXZWJDb3JlOjpBcnJheSogY29u
dmVydGVkVHh4ID0gV2ViS2l0Ojpjb3JlKHR4eCk7CisgICAgV2ViQ29yZTo6SW50MzJBcnJheSog
Y29udmVydGVkVHh4ID0gV2ViS2l0Ojpjb3JlKHR4eCk7CiAgICAgaXRlbS0+bXVsdGlUcmFuc2Zl
ckxpc3QoY29udmVydGVkRmlyc3QsIGNvbnZlcnRlZFR4LCBjb252ZXJ0ZWRTZWNvbmQsIGNvbnZl
cnRlZFR4eCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgKaW5k
ZXggNzU3YTM4Yy4uMWE0YTJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVk
ZWZzLmgKQEAgLTY0LDE1ICs2NCwxNSBAQCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfZnVuYyhX
ZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIFdlYktpdERPTWxvbmdbXSogeCk7CiAgKiB3ZWJr
aXRfZG9tX3Rlc3RfdHlwZWRlZnNfbXVsdGlfdHJhbnNmZXJfbGlzdDoKICAqIEBzZWxmOiBBICNX
ZWJLaXRET01UZXN0VHlwZWRlZnMKICAqIEBmaXJzdDogQSAjV2ViS2l0RE9NU2VyaWFsaXplZFNj
cmlwdFZhbHVlCi0gKiBAdHg6IEEgI1dlYktpdERPTUFycmF5CisgKiBAdHg6IEEgI1dlYktpdERP
TUludDMyQXJyYXkKICAqIEBzZWNvbmQ6IEEgI1dlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZQotICogQHR4eDogQSAjV2ViS2l0RE9NQXJyYXkKKyAqIEB0eHg6IEEgI1dlYktpdERPTUludDMy
QXJyYXkKICAqCiAgKiBSZXR1cm5zOgogICoKICoqLwogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRf
ZG9tX3Rlc3RfdHlwZWRlZnNfbXVsdGlfdHJhbnNmZXJfbGlzdChXZWJLaXRET01UZXN0VHlwZWRl
ZnMqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogZmlyc3QsIFdlYktpdERP
TUFycmF5KiB0eCwgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBzZWNvbmQsIFdlYktp
dERPTUFycmF5KiB0eHgpOword2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX211bHRpX3RyYW5zZmVy
X2xpc3QoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2Ny
aXB0VmFsdWUqIGZpcnN0LCBXZWJLaXRET01JbnQzMkFycmF5KiB0eCwgV2ViS2l0RE9NU2VyaWFs
aXplZFNjcmlwdFZhbHVlKiBzZWNvbmQsIFdlYktpdERPTUludDMyQXJyYXkqIHR4eCk7CiAKIC8q
KgogICogd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9zaGFkb3c6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNr
LmNwcAppbmRleCA1MWY0N2FjLi4xYzQ0MTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKQEAgLTI0
LDEyICsyNCwxMSBAQAogCiAjaW5jbHVkZSAiSlNUZXN0Q2FsbGJhY2suaCIKIAotI2luY2x1ZGUg
IkpTQ2xhc3MxLmgiCi0jaW5jbHVkZSAiSlNDbGFzczIuaCIKLSNpbmNsdWRlICJKU0NsYXNzOC5o
IgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5oIgotI2luY2x1ZGUgIkpTVGhpc0NsYXNzLmgi
CisjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuaCIKKyNpbmNsdWRlICJKU1Rlc3ROb2RlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBKU0M7CkBAIC03NCw3ICs3Myw3IEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aE5vUGFyYW0oKQogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCi1ib29sIEpT
VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczFQYXJhbShDbGFzczEqIGNsYXNzMVBhcmFt
KQorYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbShGbG9hdDMyQXJy
YXkqIGFycmF5UGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTg1LDE0ICs4NCwxNCBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpj
YWxsYmFja1dpdGhDbGFzczFQYXJhbShDbGFzczEqIGNsYXNzMVBhcmFtKQogCiAgICAgRXhlY1N0
YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwogICAgIE1h
cmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7Ci0gICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2Rh
dGEtPmdsb2JhbE9iamVjdCgpLCBjbGFzczFQYXJhbSkpOworICAgIGFyZ3MuYXBwZW5kKHRvSlMo
ZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgYXJyYXlQYXJhbSkpOwogCiAgICAgYm9vbCBy
YWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKICAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3Ms
ICZyYWlzZWRFeGNlcHRpb24pOwogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCi1i
b29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczJQYXJhbShDbGFzczIqIGNsYXNz
MlBhcmFtLCBjb25zdCBTdHJpbmcmIHN0ckFyZykKK2Jvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxi
YWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiBzcnpQYXJhbSwgY29uc3QgU3RyaW5nJiBzdHJBcmcpCiB7CiAgICAgaWYgKCFj
YW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEwMyw3ICsxMDIs
NyBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczJQYXJhbShDbGFzczIq
IGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmCiAKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2Rh
dGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0
KCksIGNsYXNzMlBhcmFtKSk7CisgICAgYXJncy5hcHBlbmQoc3J6UGFyYW0gPyBzcnpQYXJhbS0+
ZGVzZXJpYWxpemUoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgMCkgOiBqc051bGwoKSk7
CiAgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUoZXhlYywgc3RyQXJnKSk7CiAKICAg
ICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwpAQCAtMTQ3LDkgKzE0Niw5IEBAIGJvb2wg
SlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aEJvb2xlYW4oYm9vbCBib29sUGFyYW0pCiAgICAg
cmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKLWJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxi
YWNrUmVxdWlyZXNUaGlzVG9QYXNzKENsYXNzOCogY2xhc3M4UGFyYW0sIFRoaXNDbGFzcyogdGhp
c0NsYXNzUGFyYW0pCitib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1JlcXVpcmVzVGhpc1Rv
UGFzcyhpbnQgbG9uZ1BhcmFtLCBUZXN0Tm9kZSogdGVzdE5vZGVQYXJhbSkKIHsKLSAgICBBU1NF
UlQodGhpc0NsYXNzUGFyYW0pOworICAgIEFTU0VSVCh0ZXN0Tm9kZVBhcmFtKTsKIAogICAgIGlm
ICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNjAsMTIg
KzE1OSwxMiBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFz
cyhDbGFzczgqIGNsYXNzOFBhcmFtLCBUaGlzQ2xhc3MqCiAKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgTWFya2VkQXJndW1l
bnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFs
T2JqZWN0KCksIGNsYXNzOFBhcmFtKSk7Ci0gICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2Rh
dGEtPmdsb2JhbE9iamVjdCgpLCB0aGlzQ2xhc3NQYXJhbSkpOworICAgIGFyZ3MuYXBwZW5kKHRv
SlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbG9uZ1BhcmFtKSk7CisgICAgYXJncy5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCB0ZXN0Tm9kZVBhcmFtKSk7
CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAgIEpTVmFsdWUganN0aGlz
Q2xhc3NQYXJhbSA9IHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgdGhpc0NsYXNz
UGFyYW0pOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soanN0aGlzQ2xhc3NQYXJhbSwgYXJn
cywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZSBqc3Rlc3ROb2RlUGFyYW0gPSB0b0pT
KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIHRlc3ROb2RlUGFyYW0pOworICAgIG1fZGF0
YS0+aW52b2tlQ2FsbGJhY2soanN0ZXN0Tm9kZVBhcmFtLCBhcmdzLCAmcmFpc2VkRXhjZXB0aW9u
KTsKIAogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaAppbmRl
eCAzMTQzODdjLi5lOWJkNzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaApAQCAtNDMsMTMgKzQzLDEzIEBA
IHB1YmxpYzoKIAogICAgIC8vIEZ1bmN0aW9ucwogICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dp
dGhOb1BhcmFtKCk7Ci0gICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKENs
YXNzMSogY2xhc3MxUGFyYW0pOwotICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dpdGhDbGFzczJQ
YXJhbShDbGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmIHN0ckFyZyk7Ci0gICAgQ09N
UElMRV9BU1NFUlQoZmFsc2UpICAgIHZpcnR1YWwgaW50IGNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1
cm5UeXBlKENsYXNzMyogY2xhc3MzUGFyYW0pOworICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dp
dGhBcnJheVBhcmFtKEZsb2F0MzJBcnJheSogYXJyYXlQYXJhbSk7CisgICAgdmlydHVhbCBib29s
IGNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBzcnpQYXJhbSwgY29uc3QgU3RyaW5nJiBzdHJBcmcpOworICAgIENP
TVBJTEVfQVNTRVJUKGZhbHNlKSAgICB2aXJ0dWFsIGludCBjYWxsYmFja1dpdGhOb25Cb29sUmV0
dXJuVHlwZShjb25zdCBTdHJpbmcmIHN0ckFyZyk7CiAgICAgdmlydHVhbCBpbnQgY3VzdG9tQ2Fs
bGJhY2soQ2xhc3M1KiBjbGFzczVQYXJhbSwgQ2xhc3M2KiBjbGFzczZQYXJhbSk7CiAgICAgdmly
dHVhbCBib29sIGNhbGxiYWNrV2l0aFN0cmluZ0xpc3QoUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0
PiBsaXN0UGFyYW0pOwogICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dpdGhCb29sZWFuKGJvb2wg
Ym9vbFBhcmFtKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3Mo
Q2xhc3M4KiBjbGFzczhQYXJhbSwgVGhpc0NsYXNzKiB0aGlzQ2xhc3NQYXJhbSk7CisgICAgdmly
dHVhbCBib29sIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGludCBsb25nUGFyYW0sIFRlc3RO
b2RlKiB0ZXN0Tm9kZVBhcmFtKTsKIAogcHJpdmF0ZToKICAgICBKU1Rlc3RDYWxsYmFjayhKU0M6
OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXgg
ZTEwMzk3NC4uM2MzYmI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTM3LDEzICszNywxMCBAQAogI2luY2x1
ZGUgIkpTU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJKU1NjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJKU1Rlc3RDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTVGVzdE5vZGUuaCIKICNpbmNsdWRlICJK
U1Rlc3RPYmouaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIKLSNpbmNsdWRlICJKU2EuaCIK
LSNpbmNsdWRlICJKU2IuaCIKICNpbmNsdWRlICJKU2Jvb2wuaCIKLSNpbmNsdWRlICJKU2QuaCIK
LSNpbmNsdWRlICJKU2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKQEAgLTI3ODAsNyAr
Mjc3Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Db252ZXJ0MShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0
YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5h
cmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNy
ZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBhKiB2YWx1ZSh0b2EoZXhl
Yy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5h
cmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0MSh2
YWx1ZSk7CkBAIC0yNzk3LDcgKzI3OTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDIoRXhlY1N0YXRlKiBleGVjKQogICAg
IFRlc3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgp
KTsKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHRo
cm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0g
ICAgYiogdmFsdWUodG9iKGV4ZWMtPmFyZ3VtZW50KDApKSk7CisgICAgVGVzdE5vZGUqIHZhbHVl
KHRvVGVzdE5vZGUoZXhlYy0+YXJndW1lbnQoMCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAg
ICAgaW1wbC0+Y29udmVydDIodmFsdWUpOwpAQCAtMjgxNCw3ICsyODExLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KEV4
ZWNTdGF0ZSogZXhlYykKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+
KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEp
CiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5vdWdoQXJndW1l
bnRzRXJyb3IoZXhlYykpOwotICAgIGQqIHZhbHVlKHRvZChleGVjLT5hcmd1bWVudCgwKSkpOwor
ICAgIFRlc3ROb2RlKiB2YWx1ZSh0b1Rlc3ROb2RlKGV4ZWMtPmFyZ3VtZW50KDApKSk7CiAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogICAgIGltcGwtPmNvbnZlcnQ0KHZhbHVlKTsKQEAgLTI4MzEsNyAr
MjgyOCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Db252ZXJ0NShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0
YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5h
cmd1bWVudENvdW50KCkgPCAxKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNy
ZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGV4ZWMpKTsKLSAgICBlKiB2YWx1ZSh0b2UoZXhl
Yy0+YXJndW1lbnQoMCkpKTsKKyAgICBUZXN0Tm9kZSogdmFsdWUodG9UZXN0Tm9kZShleGVjLT5h
cmd1bWVudCgwKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5jb252ZXJ0NSh2
YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuY3BwCmluZGV4IDMwZGI0MGQuLmU3NTM0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0yNSw4ICsy
NSw4IEBACiAjaW5jbHVkZSAiSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgi
CiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiSlNBcnJheS5oIgogI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTSW50MzJBcnJheS5oIgogI2luY2x1
ZGUgIkpTTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUg
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgpAQCAtNzIsNyArNzIsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0
cnVjdG9yOjpjbwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEoU2VyaWFs
aXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQoMSksIDAsIDApKTsK
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgQXJyYXkqIHRyYW5zZmVyTGlzdCh0b0FycmF5KGV4
ZWMtPmFyZ3VtZW50KDIpKSk7CisgICAgSW50MzJBcnJheSogdHJhbnNmZXJMaXN0KHRvSW50MzJB
cnJheShleGVjLT5hcmd1bWVudCgyKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBSZWZQ
dHI8VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4gb2JqZWN0ID0gVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6Y3JlYXRlKGhlbGxvLCBkYXRhLCB0cmFuc2Zlckxp
c3QpOwpAQCAtMzAxLDcgKzMwMSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBlRnVuY3RpCiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQogCi0gICAgQXJy
YXkqIHRyYW5zZmVyTGlzdCh0b0FycmF5KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CisgICAgSW50MzJB
cnJheSogdHJhbnNmZXJMaXN0KHRvSW50MzJBcnJheShleGVjLT5hcmd1bWVudCgxKSkpOwogICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5hY2NlcHRUcmFuc2Zlckxpc3QoZGF0YSwgdHJh
bnNmZXJMaXN0KTsKQEAgLTMzMSw3ICszMzEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZUZ1bmN0aQog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KIAot
ICAgIEFycmF5KiB0eCh0b0FycmF5KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CisgICAgSW50MzJBcnJh
eSogdHgodG9JbnQzMkFycmF5KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CiAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOwogICAgIGlmIChhcmdzQ291bnQgPD0gMikgewpAQCAtMzQ3LDcgKzM0Nyw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlUHJvdG90eXBlRnVuY3RpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CiAgICAgfQogCi0gICAgQXJyYXkqIHR4eCh0b0FycmF5KGV4ZWMtPmFyZ3VtZW50
KDMpKSk7CisgICAgSW50MzJBcnJheSogdHh4KHRvSW50MzJBcnJheShleGVjLT5hcmd1bWVudCgz
KSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5tdWx0aVRyYW5zZmVyTGlzdChm
aXJzdCwgdHgsIHNlY29uZCwgdHh4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGU1ODc1N2Iu
LmNhYjMwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtMjMsOSArMjMsOSBAQAogCiAjaW5j
bHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNs
dWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNE
T01TdHJpbmdMaXN0LmgiCisjaW5jbHVkZSAiSlNJbnQzMkFycmF5LmgiCiAjaW5jbHVkZSAiSlNT
VkdQb2ludC5oIgogI2luY2x1ZGUgIkpTU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVk
ZSAiSlNUZXN0Q2FsbGJhY2suaCIKQEAgLTQwMCw3ICs0MDAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25NdWx0aVRyYW5zZmVy
TGlzdChFeAogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
ICAgIH0KIAotICAgIEFycmF5KiB0eCh0b0FycmF5KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CisgICAg
SW50MzJBcnJheSogdHgodG9JbnQzMkFycmF5KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwogICAgIGlmIChhcmdzQ291bnQgPD0gMikgewpAQCAtNDE2LDcgKzQxNiw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0VHlwZWRlZnNQcm90b3R5cGVG
dW5jdGlvbk11bHRpVHJhbnNmZXJMaXN0KEV4CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQogCi0gICAgQXJyYXkqIHR4eCh0b0FycmF5KGV4ZWMt
PmFyZ3VtZW50KDMpKSk7CisgICAgSW50MzJBcnJheSogdHh4KHRvSW50MzJBcnJheShleGVjLT5h
cmd1bWVudCgzKSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBpbXBsLT5tdWx0aVRyYW5z
ZmVyTGlzdChmaXJzdCwgdHgsIHNlY29uZCwgdHh4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFjay5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLmgKaW5k
ZXggN2Q1M2IzMC4uNTg0MGRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLmgKQEAgLTI4LDI1ICsy
OCwyMiBAQAogCiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJ
T05fTEFURVNUCiAKLUBjbGFzcyBET01DbGFzczE7Ci1AY2xhc3MgRE9NQ2xhc3MyOwotQGNsYXNz
IERPTUNsYXNzMzsKIEBjbGFzcyBET01DbGFzczU7CiBAY2xhc3MgRE9NQ2xhc3M2OwotQGNsYXNz
IERPTUNsYXNzODsKIEBjbGFzcyBET01ET01TdHJpbmdMaXN0OwotQGNsYXNzIERPTVRoaXNDbGFz
czsKK0BjbGFzcyBET01GbG9hdDMyQXJyYXk7CitAY2xhc3MgRE9NVGVzdE5vZGU7CiBAY2xhc3Mg
TlNTdHJpbmc7CiAKIEBpbnRlcmZhY2UgRE9NVGVzdENhbGxiYWNrIDogRE9NT2JqZWN0CiAtIChC
T09MKWNhbGxiYWNrV2l0aE5vUGFyYW07Ci0tIChCT09MKWNhbGxiYWNrV2l0aENsYXNzMVBhcmFt
OihET01DbGFzczEgKiljbGFzczFQYXJhbTsKLS0gKEJPT0wpY2FsbGJhY2tXaXRoQ2xhc3MyUGFy
YW06KERPTUNsYXNzMiAqKWNsYXNzMlBhcmFtIHN0ckFyZzooTlNTdHJpbmcgKilzdHJBcmc7Ci0t
IChpbnQpY2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGU6KERPTUNsYXNzMyAqKWNsYXNzM1Bh
cmFtOworLSAoQk9PTCljYWxsYmFja1dpdGhBcnJheVBhcmFtOihET01GbG9hdDMyQXJyYXkgKilh
cnJheVBhcmFtOworLSAoQk9PTCljYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJh
bTooTlNTdHJpbmcgKilzcnpQYXJhbSBzdHJBcmc6KE5TU3RyaW5nICopc3RyQXJnOworLSAoaW50
KWNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlOihOU1N0cmluZyAqKXN0ckFyZzsKIC0gKGlu
dCljdXN0b21DYWxsYmFjazooRE9NQ2xhc3M1ICopY2xhc3M1UGFyYW0gY2xhc3M2UGFyYW06KERP
TUNsYXNzNiAqKWNsYXNzNlBhcmFtOwogLSAoQk9PTCljYWxsYmFja1dpdGhTdHJpbmdMaXN0OihE
T01ET01TdHJpbmdMaXN0ICopbGlzdFBhcmFtOwogLSAoQk9PTCljYWxsYmFja1dpdGhCb29sZWFu
OihCT09MKWJvb2xQYXJhbTsKLS0gKEJPT0wpY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3M6KERP
TUNsYXNzOCAqKWNsYXNzOFBhcmFtIHRoaXNDbGFzc1BhcmFtOihET01UaGlzQ2xhc3MgKil0aGlz
Q2xhc3NQYXJhbTsKKy0gKEJPT0wpY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3M6KGludClsb25n
UGFyYW0gdGVzdE5vZGVQYXJhbTooRE9NVGVzdE5vZGUgKil0ZXN0Tm9kZVBhcmFtOwogQGVuZAog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RDYWxsYmFjay5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFjay5tbQppbmRleCBmMmYzODljLi4zNTM0ZTMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0Q2FsbGJhY2subW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdENhbGxiYWNrLm1tCkBAIC0zMiwzMyArMzIsMjggQEAKIAogI2ltcG9ydCAi
RE9NVGVzdENhbGxiYWNrLmgiCiAKLSNpbXBvcnQgIkNsYXNzMS5oIgotI2ltcG9ydCAiQ2xhc3My
LmgiCi0jaW1wb3J0ICJDbGFzczMuaCIKICNpbXBvcnQgIkNsYXNzNS5oIgogI2ltcG9ydCAiQ2xh
c3M2LmgiCi0jaW1wb3J0ICJDbGFzczguaCIKICNpbXBvcnQgIkRPTUJsb2JJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NQ1NTUnVsZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01DU1NWYWx1ZUludGVy
bmFsLmgiCi0jaW1wb3J0ICJET01DbGFzczFJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NQ2xhc3My
SW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTUNsYXNzM0ludGVybmFsLmgiCiAjaW1wb3J0ICJET01D
bGFzczVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ2xhc3M2SW50ZXJuYWwuaCIKLSNpbXBvcnQg
IkRPTUNsYXNzOEludGVybmFsLmgiCiAjaW1wb3J0ICJET01ET01TdHJpbmdMaXN0SW50ZXJuYWwu
aCIKICNpbXBvcnQgIkRPTUV2ZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUZsb2F0MzJBcnJh
eUludGVybmFsLmgiCiAjaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVN0
cmluZ0xpc3QuaCIKICNpbXBvcnQgIkRPTVN0eWxlU2hlZXRJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NVGVzdENhbGxiYWNrSW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTVRoaXNDbGFzc0ludGVybmFs
LmgiCisjaW1wb3J0ICJET01UZXN0Tm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJFeGNlcHRpb25I
YW5kbGVycy5oIgorI2ltcG9ydCAiRmxvYXQzMkFycmF5LmgiCiAjaW1wb3J0ICJKU01haW5UaHJl
YWRFeGVjU3RhdGUuaCIKICNpbXBvcnQgIktVUkwuaCIKKyNpbXBvcnQgIlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5oIgogI2ltcG9ydCAiVGVzdENhbGxiYWNrLmgiCi0jaW1wb3J0ICJUaGlzQ2xhc3Mu
aCIKKyNpbXBvcnQgIlRlc3ROb2RlLmgiCiAjaW1wb3J0ICJUaHJlYWRDaGVjay5oIgogI2ltcG9y
dCAiV2ViQ29yZU9iakNFeHRyYXMuaCIKICNpbXBvcnQgIldlYlNjcmlwdE9iamVjdFByaXZhdGUu
aCIKQEAgLTkxLDIyICs4NiwyMiBAQAogICAgIHJldHVybiBJTVBMLT5jYWxsYmFja1dpdGhOb1Bh
cmFtKCk7CiB9CiAKLS0gKEJPT0wpY2FsbGJhY2tXaXRoQ2xhc3MxUGFyYW06KERPTUNsYXNzMSAq
KWNsYXNzMVBhcmFtCistIChCT09MKWNhbGxiYWNrV2l0aEFycmF5UGFyYW06KERPTUZsb2F0MzJB
cnJheSAqKWFycmF5UGFyYW0KIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPmNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKGNvcmUoY2xh
c3MxUGFyYW0pKTsKKyAgICByZXR1cm4gSU1QTC0+Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbShjb3Jl
KGFycmF5UGFyYW0pKTsKIH0KIAotLSAoQk9PTCljYWxsYmFja1dpdGhDbGFzczJQYXJhbTooRE9N
Q2xhc3MyICopY2xhc3MyUGFyYW0gc3RyQXJnOihOU1N0cmluZyAqKXN0ckFyZworLSAoQk9PTClj
YWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbTooTlNTdHJpbmcgKilzcnpQYXJh
bSBzdHJBcmc6KE5TU3RyaW5nICopc3RyQXJnCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5jYWxsYmFja1dpdGhDbGFzczJQYXJh
bShjb3JlKGNsYXNzMlBhcmFtKSwgc3RyQXJnKTsKKyAgICByZXR1cm4gSU1QTC0+Y2FsbGJhY2tX
aXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZh
bHVlOjpjcmVhdGUoV1RGOjpTdHJpbmcoc3J6UGFyYW0pKSwgc3RyQXJnKTsKIH0KIAotLSAoaW50
KWNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlOihET01DbGFzczMgKiljbGFzczNQYXJhbQor
LSAoaW50KWNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlOihOU1N0cmluZyAqKXN0ckFyZwog
ewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4g
SU1QTC0+Y2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUoY29yZShjbGFzczNQYXJhbSkpOwor
ICAgIHJldHVybiBJTVBMLT5jYWxsYmFja1dpdGhOb25Cb29sUmV0dXJuVHlwZShzdHJBcmcpOwog
fQogCiAtIChpbnQpY3VzdG9tQ2FsbGJhY2s6KERPTUNsYXNzNSAqKWNsYXNzNVBhcmFtIGNsYXNz
NlBhcmFtOihET01DbGFzczYgKiljbGFzczZQYXJhbQpAQCAtMTI3LDEwICsxMjIsMTAgQEAKICAg
ICByZXR1cm4gSU1QTC0+Y2FsbGJhY2tXaXRoQm9vbGVhbihib29sUGFyYW0pOwogfQogCi0tIChC
T09MKWNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzOihET01DbGFzczggKiljbGFzczhQYXJhbSB0
aGlzQ2xhc3NQYXJhbTooRE9NVGhpc0NsYXNzICopdGhpc0NsYXNzUGFyYW0KKy0gKEJPT0wpY2Fs
bGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3M6KGludClsb25nUGFyYW0gdGVzdE5vZGVQYXJhbTooRE9N
VGVzdE5vZGUgKil0ZXN0Tm9kZVBhcmFtCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5jYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFz
cyhjb3JlKGNsYXNzOFBhcmFtKSwgY29yZSh0aGlzQ2xhc3NQYXJhbSkpOworICAgIHJldHVybiBJ
TVBMLT5jYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyhsb25nUGFyYW0sIGNvcmUodGVzdE5vZGVQ
YXJhbSkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKaW5kZXggNzE1MDA2MS4uN2E2MzA5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RPYmouaApAQCAtMzQsMTYgKzM0LDEzIEBACiBAY2xhc3MgRE9NU1ZHRG9jdW1lbnQ7CiBA
Y2xhc3MgRE9NU1ZHUG9pbnQ7CiBAY2xhc3MgRE9NVGVzdEVudW1UeXBlOworQGNsYXNzIERPTVRl
c3ROb2RlOwogQGNsYXNzIERPTVRlc3RPYmo7CiBAY2xhc3MgRE9NVGVzdE9iamVjdEFDb25zdHJ1
Y3RvcjsKIEBjbGFzcyBET01UZXN0T2JqZWN0QkNvbnN0cnVjdG9yOwogQGNsYXNzIERPTVRlc3RP
YmplY3RDQ29uc3RydWN0b3I7Ci1AY2xhc3MgRE9NYTsKIEBjbGFzcyBET01hbnk7Ci1AY2xhc3Mg
RE9NYjsKIEBjbGFzcyBET01ib29sOwotQGNsYXNzIERPTWQ7Ci1AY2xhc3MgRE9NZTsKIEBjbGFz
cyBOU1N0cmluZzsKIEBwcm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCkBAIC0xNzIsMTAgKzE2
OSwxMCBAQCBlbnVtIHsKIC0gKHZvaWQpb3ZlcmxvYWRlZE1ldGhvZDE6KE5TU3RyaW5nICopdHlw
ZTsKICNlbmRpZgogLSAoRE9NU1ZHRG9jdW1lbnQgKilnZXRTVkdEb2N1bWVudDsKLS0gKHZvaWQp
Y29udmVydDE6KERPTWEgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDI6KERPTWIgKil2YWx1ZTsK
LS0gKHZvaWQpY29udmVydDQ6KERPTWQgKil2YWx1ZTsKLS0gKHZvaWQpY29udmVydDU6KERPTWUg
Kil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDE6KERPTVRlc3ROb2RlICopdmFsdWU7CistICh2b2lk
KWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlOworLSAodm9pZCljb252ZXJ0NDooRE9NVGVz
dE5vZGUgKil2YWx1ZTsKKy0gKHZvaWQpY29udmVydDU6KERPTVRlc3ROb2RlICopdmFsdWU7CiAt
IChET01TVkdQb2ludCAqKW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAoRE9NU1ZHUG9pbnQgKilp
bW11dGFibGVQb2ludEZ1bmN0aW9uOwogLSAodm9pZClvcmFuZ2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRl
eCAzZGExNDkwLi44OTk2ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTQwLDE2ICs0MCwxMyBAQAog
I2ltcG9ydCAiRE9NU1ZHUG9pbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU3R5bGVTaGVldElu
dGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXN0RW51bVR5cGVJbnRlcm5hbC5oIgorI2ltcG9ydCAi
RE9NVGVzdE5vZGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iakludGVybmFsLmgiCiAj
aW1wb3J0ICJET01UZXN0T2JqZWN0QUNvbnN0cnVjdG9ySW50ZXJuYWwuaCIKICNpbXBvcnQgIkRP
TVRlc3RPYmplY3RCQ29uc3RydWN0b3JJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iamVj
dENDb25zdHJ1Y3RvckludGVybmFsLmgiCi0jaW1wb3J0ICJET01hSW50ZXJuYWwuaCIKICNpbXBv
cnQgIkRPTWFueUludGVybmFsLmgiCi0jaW1wb3J0ICJET01iSW50ZXJuYWwuaCIKICNpbXBvcnQg
IkRPTWJvb2xJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NZEludGVybmFsLmgiCi0jaW1wb3J0ICJE
T01lSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRpY3Rpb25hcnkuaCIKICNpbXBvcnQgIkRvY3VtZW50
LmgiCiAjaW1wb3J0ICJFdmVudExpc3RlbmVyLmgiCkBAIC02Myw2ICs2MCw3IEBACiAjaW1wb3J0
ICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKICNpbXBvcnQgIlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oIgogI2ltcG9ydCAiVGVzdEVudW1UeXBlLmgiCisjaW1wb3J0ICJUZXN0Tm9kZS5oIgog
I2ltcG9ydCAiVGVzdE9iai5oIgogI2ltcG9ydCAiVGVzdE9iamVjdEFDb25zdHJ1Y3Rvci5oIgog
I2ltcG9ydCAiVGVzdE9iamVjdEJDb25zdHJ1Y3Rvci5oIgpAQCAtNzAsMTIgKzY4LDggQEAKICNp
bXBvcnQgIlRocmVhZENoZWNrLmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5oIgogI2lt
cG9ydCAiV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oIgotI2ltcG9ydCAiYS5oIgogI2ltcG9ydCAi
YW55LmgiCi0jaW1wb3J0ICJiLmgiCiAjaW1wb3J0ICJib29sLmgiCi0jaW1wb3J0ICJkLmgiCi0j
aW1wb3J0ICJlLmgiCiAjaW1wb3J0IDx3dGYvR2V0UHRyLmg+CiAKICNkZWZpbmUgSU1QTCByZWlu
dGVycHJldF9jYXN0PFdlYkNvcmU6OlRlc3RPYmoqPihfaW50ZXJuYWwpCkBAIC0xMDQxLDI1ICsx
MDM1LDI1IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLSAodm9pZCljb252ZXJ0MTooRE9N
YSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQxOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQx
KGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZCljb252ZXJ0MjooRE9NYiAqKXZhbHVlCistICh2
b2lkKWNvbnZlcnQyOihET01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQyKGNvcmUodmFsdWUpKTsK
IH0KIAotLSAodm9pZCljb252ZXJ0NDooRE9NZCAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQ0OihE
T01UZXN0Tm9kZSAqKXZhbHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOwogICAgIElNUEwtPmNvbnZlcnQ0KGNvcmUodmFsdWUpKTsKIH0KIAotLSAodm9pZClj
b252ZXJ0NTooRE9NZSAqKXZhbHVlCistICh2b2lkKWNvbnZlcnQ1OihET01UZXN0Tm9kZSAqKXZh
bHVlCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIElN
UEwtPmNvbnZlcnQ1KGNvcmUodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCBlODUzYjBjLi4zZDEyZGM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhf
QUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAotQGNsYXNzIERPTUFycmF5OworQGNs
YXNzIERPTUludDMyQXJyYXk7CiBAY2xhc3MgRE9NTWVzc2FnZVBvcnRBcnJheTsKIEBjbGFzcyBO
U1N0cmluZzsKIApAQCAtMzksOCArMzksOCBAQAogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4p
IERPTU1lc3NhZ2VQb3J0QXJyYXkgKnBvcnRzOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4p
IE5TU3RyaW5nICpjYWNoZWRSZWFkb25seVZhbHVlOwogCi0tICh2b2lkKWFjY2VwdFRyYW5zZmVy
TGlzdDooTlNTdHJpbmcgKilkYXRhIHRyYW5zZmVyTGlzdDooRE9NQXJyYXkgKil0cmFuc2Zlckxp
c3Q7Ci0tICh2b2lkKW11bHRpVHJhbnNmZXJMaXN0OihOU1N0cmluZyAqKWZpcnN0IHR4OihET01B
cnJheSAqKXR4IHNlY29uZDooTlNTdHJpbmcgKilzZWNvbmQgdHh4OihET01BcnJheSAqKXR4eDsK
Ky0gKHZvaWQpYWNjZXB0VHJhbnNmZXJMaXN0OihOU1N0cmluZyAqKWRhdGEgdHJhbnNmZXJMaXN0
OihET01JbnQzMkFycmF5ICopdHJhbnNmZXJMaXN0OworLSAodm9pZCltdWx0aVRyYW5zZmVyTGlz
dDooTlNTdHJpbmcgKilmaXJzdCB0eDooRE9NSW50MzJBcnJheSAqKXR4IHNlY29uZDooTlNTdHJp
bmcgKilzZWNvbmQgdHh4OihET01JbnQzMkFycmF5ICopdHh4OwogQGVuZAogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLm1tCmluZGV4IDNiOWZiNzMuLmZhYTlmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09i
akMvRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5tbQpAQCAtMzIsMTcgKzMy
LDE3IEBACiAKICNpbXBvcnQgIkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
aCIKIAotI2ltcG9ydCAiQXJyYXkuaCIKLSNpbXBvcnQgIkRPTUFycmF5SW50ZXJuYWwuaCIKICNp
bXBvcnQgIkRPTUJsb2JJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTUnVsZUludGVybmFsLmgi
CiAjaW1wb3J0ICJET01DU1NWYWx1ZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01FdmVudEludGVy
bmFsLmgiCisjaW1wb3J0ICJET01JbnQzMkFycmF5SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU1l
c3NhZ2VQb3J0QXJyYXlJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTm9kZUludGVybmFsLmgiCiAj
aW1wb3J0ICJET01TdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbC5oIgogI2ltcG9ydCAiRXhjZXB0aW9uSGFu
ZGxlcnMuaCIKKyNpbXBvcnQgIkludDMyQXJyYXkuaCIKICNpbXBvcnQgIkpTTWFpblRocmVhZEV4
ZWNTdGF0ZS5oIgogI2ltcG9ydCAiTWVzc2FnZVBvcnRBcnJheS5oIgogI2ltcG9ydCAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgiCkBAIC0xMTksMTMgKzExOSwxMyBAQAogICAgIHJldHVybiBJTVBM
LT5jYWNoZWRSZWFkb25seVZhbHVlKCktPnRvU3RyaW5nKCk7CiB9CiAKLS0gKHZvaWQpYWNjZXB0
VHJhbnNmZXJMaXN0OihOU1N0cmluZyAqKWRhdGEgdHJhbnNmZXJMaXN0OihET01BcnJheSAqKXRy
YW5zZmVyTGlzdAorLSAodm9pZClhY2NlcHRUcmFuc2Zlckxpc3Q6KE5TU3RyaW5nICopZGF0YSB0
cmFuc2Zlckxpc3Q6KERPTUludDMyQXJyYXkgKil0cmFuc2Zlckxpc3QKIHsKICAgICBXZWJDb3Jl
OjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgSU1QTC0+YWNjZXB0VHJhbnNmZXJM
aXN0KFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKFdURjo6U3RyaW5nKGRh
dGEpKSwgY29yZSh0cmFuc2Zlckxpc3QpKTsKIH0KIAotLSAodm9pZCltdWx0aVRyYW5zZmVyTGlz
dDooTlNTdHJpbmcgKilmaXJzdCB0eDooRE9NQXJyYXkgKil0eCBzZWNvbmQ6KE5TU3RyaW5nICop
c2Vjb25kIHR4eDooRE9NQXJyYXkgKil0eHgKKy0gKHZvaWQpbXVsdGlUcmFuc2Zlckxpc3Q6KE5T
U3RyaW5nICopZmlyc3QgdHg6KERPTUludDMyQXJyYXkgKil0eCBzZWNvbmQ6KE5TU3RyaW5nICop
c2Vjb25kIHR4eDooRE9NSW50MzJBcnJheSAqKXR4eAogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBJTVBMLT5tdWx0aVRyYW5zZmVyTGlzdChXZWJDb3Jl
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShXVEY6OlN0cmluZyhmaXJzdCkpLCBjb3Jl
KHR4KSwgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoV1RGOjpTdHJpbmco
c2Vjb25kKSksIGNvcmUodHh4KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5oCmluZGV4IDRmZmQ3ZjMu
LmQxYzI2MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNp
ZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAot
QGNsYXNzIERPTUFycmF5OworQGNsYXNzIERPTUludDMyQXJyYXk7CiBAY2xhc3MgRE9NU1ZHUG9p
bnQ7CiBAY2xhc3MgTlNTdHJpbmc7CiAKQEAgLTQwLDcgKzQwLDcgQEAKIEBwcm9wZXJ0eShjb3B5
KSBOU1N0cmluZyAqc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb247CiBAcHJvcGVydHkoY29w
eSkgTlNTdHJpbmcgKnN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uOwogCi0tICh2b2lkKW11
bHRpVHJhbnNmZXJMaXN0OihOU1N0cmluZyAqKWZpcnN0IHR4OihET01BcnJheSAqKXR4IHNlY29u
ZDooTlNTdHJpbmcgKilzZWNvbmQgdHh4OihET01BcnJheSAqKXR4eDsKKy0gKHZvaWQpbXVsdGlU
cmFuc2Zlckxpc3Q6KE5TU3RyaW5nICopZmlyc3QgdHg6KERPTUludDMyQXJyYXkgKil0eCBzZWNv
bmQ6KE5TU3RyaW5nICopc2Vjb25kIHR4eDooRE9NSW50MzJBcnJheSAqKXR4eDsKIC0gKHZvaWQp
c2V0U2hhZG93OihmbG9hdCl3aWR0aCBoZWlnaHQ6KGZsb2F0KWhlaWdodCBibHVyOihmbG9hdCli
bHVyIGNvbG9yOihOU1N0cmluZyAqKWNvbG9yIGFscGhhOihmbG9hdClhbHBoYTsKIC0gKERPTVNW
R1BvaW50ICopaW1tdXRhYmxlUG9pbnRGdW5jdGlvbjsKIC0gKHZvaWQpbWV0aG9kV2l0aEV4Y2Vw
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RUeXBlZGVmcy5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5tbQppbmRleCBlYjAyYTAyLi45MGZkYWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
VHlwZWRlZnMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09i
akMvRE9NVGVzdFR5cGVkZWZzLm1tCkBAIC0yOSwxNyArMjksMTcgQEAKIAogI2ltcG9ydCAiRE9N
VGVzdFR5cGVkZWZzLmgiCiAKLSNpbXBvcnQgIkFycmF5LmgiCi0jaW1wb3J0ICJET01BcnJheUlu
dGVybmFsLmgiCiAjaW1wb3J0ICJET01CbG9iSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1J1
bGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTVmFsdWVJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NRXZlbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NSW50MzJBcnJheUludGVybmFsLmgiCiAj
aW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR1BvaW50SW50ZXJuYWwu
aCIKICNpbXBvcnQgIkRPTVN0eWxlU2hlZXRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdFR5
cGVkZWZzSW50ZXJuYWwuaCIKICNpbXBvcnQgIkV4Y2VwdGlvbkhhbmRsZXJzLmgiCisjaW1wb3J0
ICJJbnQzMkFycmF5LmgiCiAjaW1wb3J0ICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbXBv
cnQgIktVUkwuaCIKICNpbXBvcnQgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgpAQCAtMTU0LDcg
KzE1NCw3IEBACiAgICAgV2ViQ29yZTo6cmFpc2VPbkRPTUVycm9yKGVjKTsKIH0KIAotLSAodm9p
ZCltdWx0aVRyYW5zZmVyTGlzdDooTlNTdHJpbmcgKilmaXJzdCB0eDooRE9NQXJyYXkgKil0eCBz
ZWNvbmQ6KE5TU3RyaW5nICopc2Vjb25kIHR4eDooRE9NQXJyYXkgKil0eHgKKy0gKHZvaWQpbXVs
dGlUcmFuc2Zlckxpc3Q6KE5TU3RyaW5nICopZmlyc3QgdHg6KERPTUludDMyQXJyYXkgKil0eCBz
ZWNvbmQ6KE5TU3RyaW5nICopc2Vjb25kIHR4eDooRE9NSW50MzJBcnJheSAqKXR4eAogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBJTVBMLT5tdWx0aVRy
YW5zZmVyTGlzdChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShXVEY6OlN0
cmluZyhmaXJzdCkpLCBjb3JlKHR4KSwgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUoV1RGOjpTdHJpbmcoc2Vjb25kKSksIGNvcmUodHh4KSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCmluZGV4IDZi
MjQ4NTYuLmVkYmQ1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCkBAIC0zMiwxMSArMzIsMTEgQEAKICAgICBDb25k
aXRpb25hbD1TUUxfREFUQUJBU0UsCiBdIGNhbGxiYWNrIGludGVyZmFjZSBUZXN0Q2FsbGJhY2sg
ewogICBib29sZWFuIGNhbGxiYWNrV2l0aE5vUGFyYW0oKTsKLSAgYm9vbGVhbiBjYWxsYmFja1dp
dGhDbGFzczFQYXJhbShpbiBDbGFzczEgY2xhc3MxUGFyYW0pOwotICBib29sZWFuIGNhbGxiYWNr
V2l0aENsYXNzMlBhcmFtKGluIENsYXNzMiBjbGFzczJQYXJhbSwgaW4gRE9NU3RyaW5nIHN0ckFy
Zyk7Ci0gIGxvbmcgY2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUoaW4gQ2xhc3MzIGNsYXNz
M1BhcmFtKTsKKyAgYm9vbGVhbiBjYWxsYmFja1dpdGhBcnJheVBhcmFtKGluIEZsb2F0MzJBcnJh
eSBhcnJheVBhcmFtKTsKKyAgYm9vbGVhbiBjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFs
dWVQYXJhbShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgc3J6UGFyYW0sIGluIERPTVN0cmluZyBz
dHJBcmcpOworICBsb25nIGNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBlKGluIERPTVN0cmlu
ZyBzdHJBcmcpOwogICBbQ3VzdG9tXSBsb25nIGN1c3RvbUNhbGxiYWNrKGluIENsYXNzNSBjbGFz
czVQYXJhbSwgaW4gQ2xhc3M2IGNsYXNzNlBhcmFtKTsKICAgYm9vbGVhbiBjYWxsYmFja1dpdGhT
dHJpbmdMaXN0KGluIERPTVN0cmluZ0xpc3QgbGlzdFBhcmFtKTsKICAgYm9vbGVhbiBjYWxsYmFj
a1dpdGhCb29sZWFuKGluIGJvb2xlYW4gYm9vbFBhcmFtKTsKLSAgW1Bhc3NUaGlzVG9DYWxsYmFj
az1UaGlzQ2xhc3NdIGJvb2xlYW4gY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MoaW4gQ2xhc3M4
IGNsYXNzOFBhcmFtLCBpbiBUaGlzQ2xhc3MgdGhpc0NsYXNzUGFyYW0pOworICBbUGFzc1RoaXNU
b0NhbGxiYWNrPVRlc3ROb2RlXSBib29sZWFuIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGlu
IGxvbmcgbG9uZ1BhcmFtLCBpbiBUZXN0Tm9kZSB0ZXN0Tm9kZVBhcmFtKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggOTU4
Nzk1NC4uOTU5ZWExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0T2JqLmlkbApAQCAtMzMsNyArMzMsNyBAQAogZW51bSBUZXN0RW51bVR5cGUgeyAi
IiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9OwogCiBbCi0gICAg
Q29uc3RydWN0b3IoaW4gW0NhbGxiYWNrXSBUZXN0Q2FsbGJhY2sgdGVzdENhbGxiYWNrKSwKKyAg
ICBDb25zdHJ1Y3RvcihpbiBUZXN0Q2FsbGJhY2sgdGVzdENhbGxiYWNrKSwKICAgICBJbnRlcmZh
Y2VOYW1lPVRlc3RPYmplY3QKIF0gaW50ZXJmYWNlIFRlc3RPYmogewogICAgIC8vIEF0dHJpYnV0
ZXMKQEAgLTE0MywxMiArMTQzLDEyIEBAIGVudW0gVGVzdEVudW1UeXBlIHsgIiIsICJFbnVtVmFs
dWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsKIAogI2lmIGRlZmluZWQoVEVTVElO
R19KUykKICAgICAvLyAnQ2FsbGJhY2snIGV4dGVuZGVkIGF0dHJpYnV0ZQotICAgIHZvaWQgICAg
bWV0aG9kV2l0aENhbGxiYWNrQXJnKGluIFtDYWxsYmFja10gVGVzdENhbGxiYWNrIGNhbGxiYWNr
KTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKGlu
IGxvbmcgbm9uQ2FsbGJhY2ssIGluIFtDYWxsYmFja10gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsK
LSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKGluIFtDYWxsYmFj
aywgT3B0aW9uYWxdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBtZXRob2RX
aXRoQ2FsbGJhY2tBcmcoaW4gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG1l
dGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKGluIGxvbmcgbm9uQ2FsbGJhY2ss
IGluIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdm9pZCAgICBtZXRob2RXaXRoQ2FsbGJh
Y2tBbmRPcHRpb25hbEFyZyhpbiBbT3B0aW9uYWxdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7CiAg
ICAgLy8gc3RhdGljIG1ldGhvZHMgd2l0aCAnQ2FsbGJhY2snIGV4dGVuZGVkIGF0dHJpYnV0ZQot
ICAgIHN0YXRpYyB2b2lkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
KGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIFRlc3RDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgc3Rh
dGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQXJnKGluIFtDYWxsYmFja10gVGVz
dENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBzdGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RXaXRo
Q2FsbGJhY2tBbmRPcHRpb25hbEFyZyhpbiBbT3B0aW9uYWxdIFRlc3RDYWxsYmFjayBjYWxsYmFj
ayk7CisgICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQXJnKGluIFRl
c3RDYWxsYmFjayBjYWxsYmFjayk7CiAjZW5kaWYKIAogICAgIC8vICdDb25kaXRpb25hbCcgZXh0
ZW5kZWQgYXR0cmlidXRlCkBAIC0xODAsNyArMTgwLDcgQEAgZW51bSBUZXN0RW51bVR5cGUgeyAi
IiwgIkVudW1WYWx1ZTEiLCAiRW51bVZhbHVlMiIsICJFbnVtVmFsdWUzIiB9OwogICAgIHZvaWQg
ICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBUZXN0T2JqPyBvYmpBcmcsIGluIFtPcHRpb25hbF0gbG9u
ZyBsb25nQXJnKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gW1N0cmljdFR5cGVD
aGVja2luZ10gRE9NU3RyaW5nIHN0ckFyZyk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9k
KGluIGxvbmcgbG9uZ0FyZyk7Ci0gICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFtDYWxs
YmFja10gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRo
b2QoaW4gVGVzdENhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRo
b2QoaW4gRE9NU3RyaW5nTGlzdD8gbGlzdEFyZyk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0
aG9kKGluIERPTVN0cmluZ1tdPyBhcnJheUFyZyk7CiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0
aG9kKGluIFRlc3RPYmogb2JqQXJnKTsKQEAgLTIxMCwxMCArMjEwLDEwIEBAIGVudW0gVGVzdEVu
dW1UeXBlIHsgIiIsICJFbnVtVmFsdWUxIiwgIkVudW1WYWx1ZTIiLCAiRW51bVZhbHVlMyIgfTsK
ICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGVdIFNWR0RvY3VtZW50IGdldFNWR0RvY3VtZW50KCkK
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICB2b2lkIGNvbnZlcnQxKGluIFtU
cmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIGEgdmFsdWUpOwotICAgIHZvaWQgY29udmVy
dDIoaW4gW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9VW5kZWZpbmVkXSBiIHZhbHVlKTsKLSAg
ICB2b2lkIGNvbnZlcnQ0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBkIHZhbHVlKTsKLSAg
ICB2b2lkIGNvbnZlcnQ1KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5l
ZEFzPU51bGxTdHJpbmddIGUgdmFsdWUpOworICAgIHZvaWQgY29udmVydDEoaW4gW1RyZWF0UmV0
dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gVGVzdE5vZGUgdmFsdWUpOworICAgIHZvaWQgY29udmVy
dDIoaW4gW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9VW5kZWZpbmVkXSBUZXN0Tm9kZSB2YWx1
ZSk7CisgICAgdm9pZCBjb252ZXJ0NChpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gVGVzdE5v
ZGUgdmFsdWUpOworICAgIHZvaWQgY29udmVydDUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcs
IFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gVGVzdE5vZGUgdmFsdWUpOwogCiAgICAgYXR0
cmlidXRlIFNWR1BvaW50IG11dGFibGVQb2ludDsKICAgICBbSW1tdXRhYmxlXSBhdHRyaWJ1dGUg
U1ZHUG9pbnQgaW1tdXRhYmxlUG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5pZGwKaW5kZXggNjg3ZWFjNS4uYThjZjlkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbApAQCAtMjcsMTMgKzI3
LDEzIEBACiAvLyBjaGFuZ2VzIGluIGl0cyBvdXB1dC4KIFsKICAgICBDb25kaXRpb25hbD1Db25k
aXRpb24xfENvbmRpdGlvbjIsCi0gICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5nIGhlbGxvLCBp
biBbVHJhbnNmZXJMaXN0PXRyYW5zZmVyTGlzdF0gU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRhdGEs
IGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIEFycmF5IHRyYW5zZmVyTGlzdCksCisg
ICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5nIGhlbGxvLCBpbiBbVHJhbnNmZXJMaXN0PXRyYW5z
ZmVyTGlzdF0gU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRhdGEsIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIEludDMyQXJyYXkgdHJhbnNmZXJMaXN0KSwKIF0gaW50ZXJmYWNlIFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgewogICAgIGF0dHJpYnV0ZSBTZXJpYWxpemVk
U2NyaXB0VmFsdWUgdmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSByZWFkb25seVZhbHVlOwogICAgIFtDYWNoZWRBdHRyaWJ1dGVdIGF0dHJpYnV0ZSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgY2FjaGVkVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE1lc3NhZ2VQb3J0QXJyYXkgcG9ydHM7CiAgICAgW0NhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkg
YXR0cmlidXRlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBjYWNoZWRSZWFkb25seVZhbHVlOwotICAg
IHZvaWQgYWNjZXB0VHJhbnNmZXJMaXN0KGluIFtUcmFuc2Zlckxpc3Q9dHJhbnNmZXJMaXN0XSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgaW4gW09wdGlvbmFsXSBBcnJheSB0cmFuc2Zlckxp
c3QpOwotICAgIHZvaWQgbXVsdGlUcmFuc2Zlckxpc3QoaW4gW09wdGlvbmFsLCBUcmFuc2Zlckxp
c3Q9dHhdIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBmaXJzdCwgaW4gW09wdGlvbmFsXSBBcnJheSB0
eCwgaW4gW09wdGlvbmFsLCBUcmFuc2Zlckxpc3Q9dHh4XSBTZXJpYWxpemVkU2NyaXB0VmFsdWUg
c2Vjb25kLCBpbiBbT3B0aW9uYWxdIEFycmF5IHR4eCk7CisgICAgdm9pZCBhY2NlcHRUcmFuc2Zl
ckxpc3QoaW4gW1RyYW5zZmVyTGlzdD10cmFuc2Zlckxpc3RdIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSBkYXRhLCBpbiBbT3B0aW9uYWxdIEludDMyQXJyYXkgdHJhbnNmZXJMaXN0KTsKKyAgICB2b2lk
IG11bHRpVHJhbnNmZXJMaXN0KGluIFtPcHRpb25hbCwgVHJhbnNmZXJMaXN0PXR4XSBTZXJpYWxp
emVkU2NyaXB0VmFsdWUgZmlyc3QsIGluIFtPcHRpb25hbF0gSW50MzJBcnJheSB0eCwgaW4gW09w
dGlvbmFsLCBUcmFuc2Zlckxpc3Q9dHh4XSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgc2Vjb25kLCBp
biBbT3B0aW9uYWxdIEludDMyQXJyYXkgdHh4KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCmluZGV4IDc4NTEwODku
LmM3MWYyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0VHlwZWRlZnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0VHlwZWRlZnMuaWRsCkBAIC03NCw4ICs3NCw4IEBAIHR5cGVkZWYgU1ZHUG9pbnQg
ICAgICAgICAgICAgICAgICAgU1ZHUE9JTlQ7CiB0eXBlZGVmIERPTVN0cmluZyAgICAgICAgICAg
ICAgICAgIFNUUklORzsKIHR5cGVkZWYgW09wdGlvbmFsXSBET01TdHJpbmcgICAgICAgT1BUSU9O
QUxfU1RSSU5HOwogdHlwZWRlZiBET01TdHJpbmdbXSAgICAgICAgICAgICAgICBBUlJBWV9PRl9T
VFJJTkdTOwotdHlwZWRlZiBbQ2FsbGJhY2tdIFRlc3RDYWxsYmFjayAgICBURVNUX0NBTExCQUNL
OwordHlwZWRlZiBUZXN0Q2FsbGJhY2sgICAgICAgICAgICAgICBURVNUX0NBTExCQUNLOwogdHlw
ZWRlZiBUZXN0U3ViT2JqQ29uc3RydWN0b3IgICAgICBUOwotdHlwZWRlZiBBcnJheSAgICAgICAg
ICAgICAgICAgICAgICBBUlJBWTsKK3R5cGVkZWYgSW50MzJBcnJheSAgICAgICAgICAgICAgICAg
QVJSQVk7CiB0eXBlZGVmIERPTUV4Y2VwdGlvbiAgICAgICAgICAgICAgIEU7CiB0eXBlZGVmIFtU
cmFuc2Zlckxpc3Q9dHh4XSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgVFJBTlNGRVJfVFhYX1NDUklQ
VF9WQUxVRTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbAppbmRleCBkYTI5NmU2Li4xOTFjMDRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsCkBAIC00Myw3ICs0Myw3IEBACiAKICAgICBi
b29sZWFuIGNoZWNrRm9udChpbiBET01TdHJpbmcgZm9udCwgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c051bGxTdHJpbmddIERPTVN0cmluZyB0ZXh0KTsKICAgICB2b2lkIGxvYWRGb250KGluIERpY3Rp
b25hcnkgcGFyYW1zKTsKLSAgICB2b2lkIG5vdGlmeVdoZW5Gb250c1JlYWR5KGluIFtDYWxsYmFj
a10gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkIG5vdGlmeVdoZW5Gb250c1JlYWR5
KGluIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gbG9hZGluZzsKIAogICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlw
ZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAppbmRleCA3YzMzODkzLi4y
MWI1MDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCkBAIC0zNSw3
ICszNSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBraW5kOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAotICAgIHZvaWQgZ2V0QXNTdHJpbmco
aW4gW0NhbGxiYWNrLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gU3RyaW5nQ2FsbGJhY2sg
Y2FsbGJhY2spOworICAgIHZvaWQgZ2V0QXNTdHJpbmcoaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOwogICAgIEJsb2IgZ2V0QXNGaWxlKCk7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYTJkOWNhYy4uMjAzMmQ3ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk3LDkgKzE5Nyw5IEBACiAgICAgdm9p
ZCBjbGVhckludGVydmFsKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgaGFu
ZGxlKTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAmJiBF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKLSAgICBsb25nIHJlcXVlc3RBbmltYXRpb25G
cmFtZShpbiBbQ2FsbGJhY2tdIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNr
KTsKKyAgICBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBSZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCBjYW5jZWxBbmltYXRpb25GcmFtZShpbiBs
b25nIGlkKTsKLSAgICBsb25nIHdlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBbQ2FsbGJh
Y2tdIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICBsb25nIHdl
YmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFj
ayBjYWxsYmFjayk7CiAgICAgW0ltcGxlbWVudGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHZv
aWQgd2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7CiAgICAgW0ltcGxlbWVu
dGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHZvaWQgd2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1h
dGlvbkZyYW1lKGluIGxvbmcgaWQpOyAvLyBUaGlzIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBmb3Ig
d2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoKS4gUmVtb3ZlIHRoaXMgd2hlbiByZW1vdmluZyB2
ZW5kb3IgcHJlZml4LgogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>