<?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>205145</bug_id>
          
          <creation_ts>2019-12-11 16:48:59 -0800</creation_ts>
          <short_desc>IndexedDB: make WebIDBServer a MessageReceiver to replace WebIDBConnection</short_desc>
          <delta_ts>2019-12-12 16:11:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1597864</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-11 16:48:59 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597866</commentid>
    <comment_count>1</comment_count>
      <attachid>385459</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-11 16:53:37 -0800</bug_when>
    <thetext>Created attachment 385459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597872</commentid>
    <comment_count>2</comment_count>
      <attachid>385459</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-11 17:03:45 -0800</bug_when>
    <thetext>Comment on attachment 385459
Patch

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

&gt; Source/WebKit/ChangeLog:61
&gt; +        (WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer): Deleted.

NetworkConnectionToWebProcess::establishIDBConnectionToServer was used to ensure WebIDBConnectionToCilent member exists in NetworkConnectionToWebProcess. 

Now WebIDBConnectionToCilent is created in WebIDBServer::addConnection(when NetworkConnectionToWebProcess is created), so we don&apos;t need the message to do initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598159</commentid>
    <comment_count>3</comment_count>
      <attachid>385555</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-12 15:11:01 -0800</bug_when>
    <thetext>Created attachment 385555
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598180</commentid>
    <comment_count>4</comment_count>
      <attachid>385555</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-12 16:10:15 -0800</bug_when>
    <thetext>Comment on attachment 385555
Patch for landing

Clearing flags on attachment: 385555

Committed r253452: &lt;https://trac.webkit.org/changeset/253452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598181</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-12 16:10:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598182</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-12 16:11:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/57895777&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385459</attachid>
            <date>2019-12-11 16:53:37 -0800</date>
            <delta_ts>2019-12-12 15:10:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205145-20191211165336.patch</filename>
            <type>text/plain</type>
            <size>62080</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1NWU3NDIzZWY2YzI5Mjc0
NjAwZDRmOTI0NDYwNjcwZmFmNGEyZWIuLjlhZTZmNWE0MDJmNWI5N2JlMjBjODIwODFmZDgzN2Fm
YWVmY2YxMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAxIEBACisyMDE5LTEyLTExICBTaWh1aSBM
aXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogbWFrZSBXZWJJ
REJTZXJ2ZXIgYSBNZXNzYWdlUmVjZWl2ZXIgdG8gcmVwbGFjZSBXZWJJREJDb25uZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXb3JrIHRvd2Fy
ZHMgPHJkYXI6Ly9wcm9ibGVtLzU2OTA4NDk2Pi4gTW92ZSBtZXNzYWdlIGhhbmRsaW5nIGZyb20g
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50IHRvIFdlYklEQlNlcnZlci4KKworICAgICAgICBBbHNv
LCBXZWJJREJDb25uZWN0aW9uQ2xpZW50IG5vdyBpcyBvd25lZCBieSBXZWJJREJTZXJ2ZXIgaW5z
dGVhZCBvZiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy4KKworICAgICAgICBObyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6aWRiU2VydmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaXNjb25uZWN0ZWRGcm9tV2ViUHJvY2Vzcyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGVs
ZXRlRGF0YWJhc2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQ6Om9wZW5EYXRhYmFzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6YWJvcnRUcmFuc2FjdGlvbik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y29tbWl0VHJhbnNhY3Rpb24pOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZEZp
bmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpjcmVhdGVPYmplY3RTdG9yZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGVsZXRl
T2JqZWN0U3RvcmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQ6OnJlbmFtZU9iamVjdFN0b3JlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpjbGVhck9iamVjdFN0b3JlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpjcmVhdGVJbmRleCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGVsZXRl
SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OnJlbmFtZUluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpwdXRPckFkZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0UmVjb3JkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRBbGxSZWNvcmRzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRDb3VudCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGVsZXRlUmVj
b3JkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
OjpvcGVuQ3Vyc29yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjppdGVyYXRlQ3Vyc29yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50Ojplc3RhYmxpc2hUcmFuc2FjdGlvbik6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGF0YWJhc2VDb25uZWN0
aW9uUGVuZGluZ0Nsb3NlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpkYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmFib3J0T3BlbkFuZFVwZ3JhZGVO
ZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmRpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6Om9wZW5EQlJlcXVlc3RDYW5jZWxsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmNvbmZpcm1E
aWRDbG9zZUZyb21TZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmdldEFsbERhdGFiYXNlTmFtZXMpOiBEZWxldGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCU2VydmVyOjpnZXRBbGxEYXRhYmFzZU5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSURCU2VydmVyOjphZGRDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViSURCU2VydmVyOjpyZW1vdmVDb25uZWN0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCU2VydmVyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbjogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNz
YWdlcy5pbi4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpmaW5kTmV0d29ya0FjdGl2aXR5VHJhY2tlcik6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6Y3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzczo6Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nsb3NlZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNl
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZURhdGFiYXNl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpvcGVuRGF0YWJh
c2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmFib3J0VHJh
bnNhY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNv
bW1pdFRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjpkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlT2JqZWN0U3RvcmUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZU9iamVjdFN0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpyZW5hbWVP
YmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6
Y2xlYXJPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmRlbGV0ZUluZGV4KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRv
U2VydmVyOjpyZW5hbWVJbmRleCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6cHV0T3JBZGQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmdldFJlY29yZCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Z2V0QWxsUmVjb3Jkcyk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Z2V0Q291bnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmRlbGV0ZVJlY29yZCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6b3BlbkN1cnNvcik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6aXRlcmF0ZUN1cnNvcik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6ZXN0YWJsaXNoVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGF0YWJhc2VDb25uZWN0
aW9uQ2xvc2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjph
Ym9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVj
dGlvblRvU2VydmVyOjpkaWRGaXJlVmVyc2lvbkNoYW5nZUV2ZW50KToKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpvcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb25maXJtRGlkQ2xvc2VG
cm9tU2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpn
ZXRBbGxEYXRhYmFzZU5hbWVzKToKKwogMjAxOS0xMi0xMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KIAogICAgICAgICBJbmRleGVkREI6IEludHJvZHVjZSBXZWJJREJTZXJ2ZXIg
Y2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDAwM2Q4MTQ4MzA3MWFlMTQxMDA4NjY5NWM1YTRj
YzY5ZjQ4YTI0NmIuLjE2NzFhZGFhODU1MTZkZTMyYzMzOTZjZTg5YzBiZWE3MDI0OTZlMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktp
dC9DTWFrZUxpc3RzLnR4dApAQCAtMTEyLDcgKzExMiw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9V
TklGSUVEX1NPVVJDRV9MSVNUX0ZJTEVTCiBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAg
ICAgTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCiAK
LSAgICBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1l
c3NhZ2VzLmluCisgICAgTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5tZXNz
YWdlcy5pbgogCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29udGVudFJ1bGVMaXN0
TWFuYWdlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CmluZGV4IDdmMDhmMmIyZjE4NTgyZWQ1MDQwMzJkY2FjYjU0Nzg2YTE2OWFk
NWYuLjQ3NTY1ZmZjMTY3MjUwZDRkOTkxMDUxNDY4N2U0YjlhNzFkMjhhNGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTE4LDcgKzE4LDcg
QEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2Iu
aW4KICQoUFJPSkVDVF9ESVIpL05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9j
b2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJ
UikvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNz
YWdlcy5pbgorJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNl
cnZlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggM2IxZTk0
MTE3MDM4YmYwZDA0YTA3NTdmNWU2ZDg1ZTMzNGJkNzVhZS4uZjJkMWUzNTZhYzQyM2JhMzgyZTdk
NDllYmFhYTI4MTg2MGE1NTYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yMTEsMTIgKzIxMSwxMiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdl
c1JlcGxpZQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
R2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94
eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dE1lc3NhZ2VSZWNlaXZlci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dE1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViSURCU2VydmVyTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYmU1MjVlMTNjNTliYmQxNDU2ZThmMGQ0MjNiYTY0NDFjZThiMDhkYS4u
NmQ2MzA1MGRlMTFjMTMyMDc5ZjQ2N2Y4NTYwYTY5NWRhMjkyNThmYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMTY0LDggKzE2NCw4IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAog
ICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkgXAogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdl
ciBcCiAgICAgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkgXAotICAgIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudCBcCiAgICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyIFwKKyAgICBXZWJJREJT
ZXJ2ZXIgXAogICAgIFdlYkluc3BlY3RvciBcCiAgICAgV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlciBcCiAgICAgV2ViSW5zcGVjdG9yUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudC5jcHAKaW5kZXggMjRjYzk1Yzg5YmE2N2YzMTE0ODA4MzA4NWU4ZTNmYWQ1ZjBl
Zjg5ZS4uMGFjNjhhYzZjMzc1NDViMzliMmJmYThiM2RkMDJhMGM2MzI1Y2RhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCkBAIC0yOCw0OCArMjgsMzEgQEAKIAogI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgot
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCi0jaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJJREJSZXN1bHQuaCIKICNpbmNsdWRlICJXZWJJREJTZXJ2ZXIuaCIKLSNpbmNs
dWRlIDxXZWJDb3JlL0lEQkVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JREJHZXRBbGxSZWNv
cmRzRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSURCR2V0UmVjb3JkRGF0YS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSURCUmVzdWx0RGF0YS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvSURCVmFsdWUu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1RocmVhZFNhZmVEYXRhQnVmZmVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb24sIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5l
Y3Rpb25JZGVudGlmaWVyKQotICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCitXZWJJREJD
b25uZWN0aW9uVG9DbGllbnQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudChJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24sIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNv
bm5lY3Rpb25JZGVudGlmaWVyKQorICAgIDogbV9jb25uZWN0aW9uKG1ha2VSZWYoY29ubmVjdGlv
bikpCiAgICAgLCBtX2lkZW50aWZpZXIoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAg
LCBtX2Nvbm5lY3Rpb25Ub0NsaWVudChJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
Y3JlYXRlKCp0aGlzKSkKIHsKLSAgICBpZGJTZXJ2ZXIoKS5yZWdpc3RlckNvbm5lY3Rpb24obV9j
b25uZWN0aW9uVG9DbGllbnQpOwogfQogCiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6On5XZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQoKQogewogfQogCi1XZWJJREJTZXJ2ZXImIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudDo6aWRiU2VydmVyKCkKLXsKLSAgICByZXR1cm4gbV9jb25uZWN0aW9uLm5l
dHdvcmtQcm9jZXNzKCkud2ViSURCU2VydmVyKG1fY29ubmVjdGlvbi5zZXNzaW9uSUQoKSk7Ci19
Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaXNjb25uZWN0ZWRGcm9tV2ViUHJv
Y2VzcygpCi17Ci0gICAgaWRiU2VydmVyKCkudW5yZWdpc3RlckNvbm5lY3Rpb24obV9jb25uZWN0
aW9uVG9DbGllbnQpOwotfQotCiBJUEM6OkNvbm5lY3Rpb24qIFdlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAogewotICAgIHJldHVybiAmbV9j
b25uZWN0aW9uLmNvbm5lY3Rpb24oKTsKKyAgICByZXR1cm4gbV9jb25uZWN0aW9uLnB0cigpOwog
fQogCiBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudCYgV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50Ojpjb25uZWN0aW9uVG9DbGllbnQoKQpAQCAtMjEzLDE0MSArMTk2LDYg
QEAgdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZEdldEFsbERhdGFiYXNlTmFtZXMo
dWludDY0X3QgY2FsbGJhY2tJRCwgY29uc3QKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OkRpZEdldEFsbERhdGFiYXNlTmFtZXMoY2FsbGJhY2tJRCwgZGF0YWJh
c2VOYW1lcykpOwogfQogCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGVsZXRlRGF0
YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QpCi17Ci0gICAgaWRiU2VydmVyKCku
ZGVsZXRlRGF0YWJhc2UocmVxdWVzdCk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xp
ZW50OjpvcGVuRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QpCi17Ci0gICAg
aWRiU2VydmVyKCkub3BlbkRhdGFiYXNlKHJlcXVlc3QpOwotfQotCi12b2lkIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudDo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZp
ZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLXsKLSAgICBpZGJTZXJ2ZXIoKS5hYm9ydFRyYW5z
YWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50Ojpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLXsKLSAgICBpZGJTZXJ2ZXIoKS5jb21taXRUcmFuc2Fj
dGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0
X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlm
aWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVyKCkuZGlkRmluaXNo
SGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRp
ZmllciwgdHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQ6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0
LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8pCi17Ci0gICAgaWRiU2VydmVyKCkuY3Jl
YXRlT2JqZWN0U3RvcmUocmVxdWVzdCwgaW5mbyk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjpkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVz
dCwgY29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIGlkYlNlcnZlcigpLmRlbGV0ZU9iamVjdFN0
b3JlKHJlcXVlc3QsIG5hbWUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
cmVuYW1lT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIHVpbnQ2NF90
IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1lKQotewotICAgIGlk
YlNlcnZlcigpLnJlbmFtZU9iamVjdFN0b3JlKHJlcXVlc3QsIG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgbmV3TmFtZSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpjbGVhck9i
amVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCB1aW50NjRfdCBvYmplY3RT
dG9yZUlkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVyKCkuY2xlYXJPYmplY3RTdG9yZShyZXF1
ZXN0LCBvYmplY3RTdG9yZUlkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0
IElEQkluZGV4SW5mbyYgaW5mbykKLXsKLSAgICBpZGJTZXJ2ZXIoKS5jcmVhdGVJbmRleChyZXF1
ZXN0LCBpbmZvKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRlbGV0ZUlu
ZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCB1aW50NjRfdCBvYmplY3RTdG9yZUlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAgICBpZGJTZXJ2ZXIoKS5kZWxldGVJ
bmRleChyZXF1ZXN0LCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIG5hbWUpOwotfQotCi12b2lkIFdl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6cmVuYW1lSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEm
IHJlcXVlc3QsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgdWludDY0X3QgaW5kZXhJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG5ld05hbWUpCi17Ci0gICAgaWRiU2VydmVyKCkucmVu
YW1lSW5kZXgocmVxdWVzdCwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleElkZW50aWZpZXIs
IG5ld05hbWUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6cHV0T3JBZGQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQktleURhdGEmIGtleSwgY29u
c3QgSURCVmFsdWUmIHZhbHVlLCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSBt
b2RlKQotewotICAgIGlkYlNlcnZlcigpLnB1dE9yQWRkKHJlcXVlc3QsIGtleSwgdmFsdWUsIG1v
ZGUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0UmVjb3JkKGNvbnN0
IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNv
cmREYXRhKQotewotICAgIGlkYlNlcnZlcigpLmdldFJlY29yZChyZXF1ZXN0LCBnZXRSZWNvcmRE
YXRhKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmdldEFsbFJlY29yZHMo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQkdldEFsbFJlY29yZHNEYXRh
JiBnZXRBbGxSZWNvcmRzRGF0YSkKLXsKLSAgICBpZGJTZXJ2ZXIoKS5nZXRBbGxSZWNvcmRzKHJl
cXVlc3QsIGdldEFsbFJlY29yZHNEYXRhKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQ6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBjb25zdCBJREJL
ZXlSYW5nZURhdGEmIHJhbmdlKQotewotICAgIGlkYlNlcnZlcigpLmdldENvdW50KHJlcXVlc3Qs
IHJhbmdlKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRlbGV0ZVJlY29y
ZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBy
YW5nZSkKLXsKLSAgICBpZGJTZXJ2ZXIoKS5kZWxldGVSZWNvcmQocmVxdWVzdCwgcmFuZ2UpOwot
fQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6b3BlbkN1cnNvcihjb25zdCBJREJS
ZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCQ3Vyc29ySW5mbyYgaW5mbykKLXsKLSAgICBp
ZGJTZXJ2ZXIoKS5vcGVuQ3Vyc29yKHJlcXVlc3QsIGluZm8pOwotfQotCi12b2lkIFdlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudDo6aXRlcmF0ZUN1cnNvcihjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVx
dWVzdCwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmIGRhdGEpCi17Ci0gICAgaWRiU2VydmVy
KCkuaXRlcmF0ZUN1cnNvcihyZXF1ZXN0LCBkYXRhKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0
aW9uVG9DbGllbnQ6OmVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYgaW5mbykKLXsKLSAgICBp
ZGJTZXJ2ZXIoKS5lc3RhYmxpc2hUcmFuc2FjdGlvbihkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlm
aWVyLCBpbmZvKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRhdGFiYXNl
Q29ubmVjdGlvblBlbmRpbmdDbG9zZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlm
aWVyKQotewotICAgIGlkYlNlcnZlcigpLmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZShk
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQ6OmRhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyKQotewotICAgIGlkYlNlcnZlcigpLmRhdGFiYXNlQ29ubmVjdGlvbkNs
b3NlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJh
c2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFu
c2FjdGlvbklkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVyKCkuYWJvcnRPcGVuQW5kVXBncmFk
ZU5lZWRlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbklkZW50aWZp
ZXIpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkRmlyZVZlcnNpb25D
aGFuZ2VFdmVudCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgSW5kZXhlZERCOjpD
b25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlciBjb25uZWN0aW9uQ2xvc2VkKQotewotICAg
IGlkYlNlcnZlcigpLmRpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQoZGF0YWJhc2VDb25uZWN0aW9u
SWRlbnRpZmllciwgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25uZWN0aW9uQ2xvc2VkKTsKLX0K
LQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6Om9wZW5EQlJlcXVlc3RDYW5jZWxsZWQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhKQotewotICAgIGlkYlNlcnZlcigpLm9w
ZW5EQlJlcXVlc3RDYW5jZWxsZWQocmVxdWVzdERhdGEpOwotfQotCi12b2lkIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudDo6Y29uZmlybURpZENsb3NlRnJvbVNlcnZlcih1aW50NjRfdCBkYXRhYmFz
ZUNvbm5lY3Rpb25JZGVudGlmaWVyKQotewotICAgIGlkYlNlcnZlcigpLmNvbmZpcm1EaWRDbG9z
ZUZyb21TZXJ2ZXIoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRBbGxEYXRhYmFzZU5hbWVzKGNvbnN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi17Ci0gICAgaWRi
U2VydmVyKCkuZ2V0QWxsRGF0YWJhc2VOYW1lcyhpZGVudGlmaWVyKCksIHRvcE9yaWdpbiwgb3Bl
bmluZ09yaWdpbiwgY2FsbGJhY2tJRCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAj
ZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25U
b0NsaWVudC5oCmluZGV4IDQ4OGQ5MDliYjhjMTdjYjVlYzMwNzM3YTRkMmFhOTBkYWZjYzZiOTUu
Ljk5NTA4M2IwNDZhZDBkZDk3ZWUzMTk4NzIwOTUyYmRlY2JjODkzNmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC0yOCwyNiArMjgsMTEgQEAKICNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKLSNpbmNsdWRlICJO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSURCQ29u
bmVjdGlvblRvQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
LWNsYXNzIElEQkN1cnNvckluZm87Ci1jbGFzcyBJREJJbmRleEluZm87Ci1jbGFzcyBJREJLZXlE
YXRhOwotY2xhc3MgSURCT2JqZWN0U3RvcmVJbmZvOwotY2xhc3MgSURCUmVxdWVzdERhdGE7Ci1j
bGFzcyBJREJUcmFuc2FjdGlvbkluZm87Ci1jbGFzcyBJREJWYWx1ZTsKLWNsYXNzIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTsKLXN0cnVjdCBJREJHZXRBbGxSZWNvcmRzRGF0YTsKLXN0cnVjdCBJREJH
ZXRSZWNvcmREYXRhOwotc3RydWN0IElEQkl0ZXJhdGVDdXJzb3JEYXRhOwotc3RydWN0IElEQktl
eVJhbmdlRGF0YTsKLXN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7Ci0KIG5hbWVzcGFjZSBJREJT
ZXJ2ZXIgewogY2xhc3MgSURCU2VydmVyOwogfQpAQCAtNjEsNTEgKzQ2LDE3IEBAIGNsYXNzIFdl
YklEQlNlcnZlcjsKIGNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCBmaW5hbCA6IHB1Ymxp
YyBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBwdWJs
aWMgSVBDOjpNZXNzYWdlU2VuZGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmLCBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllcik7CisgICAgV2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50KElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OklEQkNvbm5lY3Rp
b25JZGVudGlmaWVyKTsKIAogICAgIHZpcnR1YWwgfldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCgp
OwogCiAgICAgV2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmIGNvbm5l
Y3Rpb25Ub0NsaWVudCgpOwogICAgIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAotICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7Ci0g
ICAgdm9pZCBkaXNjb25uZWN0ZWRGcm9tV2ViUHJvY2VzcygpOwotCiBwcml2YXRlOgogICAgIElQ
Qzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbDsKICAg
ICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIDA7IH0KIAotICAgIC8vIE1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gV2ViUHJvY2VzcwotICAg
IHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsKLSAg
ICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwotICAg
IHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXImKTsKLSAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291
cmNlSWRlbnRpZmllciYpOwotICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdl
VHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3Qg
V2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7Ci0gICAgdm9pZCBjcmVhdGVPYmplY3RT
dG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQk9i
amVjdFN0b3JlSW5mbyYpOwotICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBTdHJpbmcmIG9iamVjdFN0b3JlTmFtZSk7Ci0gICAg
dm9pZCByZW5hbWVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIHVp
bnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1lKTsKLSAg
ICB2b2lkIGNsZWFyT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCB1
aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIpOwotICAgIHZvaWQgY3JlYXRlSW5kZXgoY29u
c3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJJbmRleEluZm8m
KTsKLSAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwg
dWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFtZSk7
Ci0gICAgdm9pZCByZW5hbWVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIHVp
bnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgdWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIG5ld05hbWUpOwotICAgIHZvaWQgcHV0T3JBZGQoY29uc3QgV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiwgY29uc3QgV2ViQ29y
ZTo6SURCVmFsdWUmLCBXZWJDb3JlOjpJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9k
ZSk7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBj
b25zdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhJik7Ci0gICAgdm9pZCBnZXRBbGxSZWNvcmRz
KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCR2V0QWxs
UmVjb3Jkc0RhdGEmKTsKLSAgICB2b2lkIGdldENvdW50KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhJik7Ci0gICAgdm9pZCBkZWxl
dGVSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJ
REJLZXlSYW5nZURhdGEmKTsKLSAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3QgV2ViQ29yZTo6SURC
UmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvJik7Ci0gICAgdm9pZCBp
dGVyYXRlQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29y
ZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEmKTsKLQotICAgIHZvaWQgZXN0YWJsaXNoVHJhbnNhY3Rp
b24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6
SURCVHJhbnNhY3Rpb25JbmZvJik7Ci0gICAgdm9pZCBkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5n
Q2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgdm9pZCBk
YXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRp
Zmllcik7Ci0gICAgdm9pZCBhYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVpbnQ2NF90IGRhdGFi
YXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIGRpZEZpcmVWZXJzaW9uQ2hh
bmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllciwgV2ViQ29yZTo6
SW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlcik7Ci0gICAgdm9pZCBv
cGVuREJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJik7Ci0g
ICAgdm9pZCBjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIpOwotCi0gICAgdm9pZCBnZXRBbGxEYXRhYmFzZU5hbWVzKGNvbnN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwotCiAg
ICAgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUKICAgICB2b2lkIGRpZERlbGV0ZURh
dGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIGRp
ZE9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7CkBAIC0x
MzUsOSArODYsNyBAQCBwcml2YXRlOgogCiAgICAgdGVtcGxhdGU8Y2xhc3MgTWVzc2FnZVR5cGU+
IHZvaWQgaGFuZGxlR2V0UmVzdWx0KGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmKTsKIAot
ICAgIFdlYklEQlNlcnZlciYgaWRiU2VydmVyKCk7Ci0KLSAgICBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uOworICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKICAgICBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7CiAgICAgUmVmPFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50PiBt
X2Nvbm5lY3Rpb25Ub0NsaWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9u
VG9DbGllbnQubWVzc2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNzNl
YTk2MjkyMzU3YTllNjhlMDYwYTBhZWEzZjE5OWQ4OWQwYWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluCisrKyAvZGV2L251
bGwKQEAgLTEsNTYgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6
Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLW1lc3NhZ2VzIC0+IFdlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudCBOb3RSZWZDb3VudGVkIHsKLSAgICBEZWxldGVEYXRhYmFzZShXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKLSAgICBPcGVuRGF0YWJhc2UoV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpOwotICAgIEFib3J0VHJhbnNhY3Rpb24oV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci0gICAg
Q29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0
aW9uSWRlbnRpZmllcik7Ci0gICAgRGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6SURC
UmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci0gICAgQ3JlYXRlT2Jq
ZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklE
Qk9iamVjdFN0b3JlSW5mbyBpbmZvKTsKLSAgICBEZWxldGVPYmplY3RTdG9yZShXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgU3RyaW5nIG9iamVjdFN0b3JlTmFtZSk7Ci0gICAg
UmVuYW1lT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHVp
bnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUpOwotICAgIENsZWFy
T2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHVpbnQ2NF90
IG9iamVjdFN0b3JlSWRlbnRpZmllcik7Ci0gICAgQ3JlYXRlSW5kZXgoV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQkluZGV4SW5mbyBpbmZvKTsKLSAgICBE
ZWxldGVJbmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qg
b2JqZWN0U3RvcmVJZGVudGlmaWVyLCBTdHJpbmcgaW5kZXhOYW1lKTsKLSAgICBSZW5hbWVJbmRl
eChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3Rv
cmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIFN0cmluZyBuZXdOYW1lKTsK
LSAgICBQdXRPckFkZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29y
ZTo6SURCS2V5RGF0YSBrZXksIFdlYkNvcmU6OklEQlZhbHVlIHZhbHVlLCBXZWJDb3JlOjpJbmRl
eGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSBvdmVyd3JpdGVNb2RlKTsKLSAgICBHZXRS
ZWNvcmQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3Jl
OjpJREJHZXRSZWNvcmREYXRhIGdldFJlY29yZERhdGEpOwotICAgIEdldEFsbFJlY29yZHMoV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJHZXRB
bGxSZWNvcmRzRGF0YSBnZXRBbGxSZWNvcmRzRGF0YSk7Ci0gICAgR2V0Q291bnQoV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJLZXlSYW5nZURh
dGEgcmFuZ2UpOwotICAgIERlbGV0ZVJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1
ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSByYW5nZSk7Ci0gICAgT3Bl
bkN1cnNvcihXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURC
Q3Vyc29ySW5mbyBpbmZvKTsKLSAgICBJdGVyYXRlQ3Vyc29yKFdlYkNvcmU6OklEQlJlcXVlc3RE
YXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEgZGF0
YSk7Ci0KLSAgICBFc3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm8gaW5mbyk7Ci0gICAgRGF0
YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklk
ZW50aWZpZXIpOwotICAgIERhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFz
ZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICBBYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVp
bnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNl
SWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZpZXIpOwotICAgIERpZEZpcmVWZXJzaW9uQ2hh
bmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6
SURCUmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyLCBXZWJDb3JlOjpJbmRleGVk
REI6OkNvbm5lY3Rpb25DbG9zZWRPbkJlaGFsZk9mU2VydmVyIGNvbm5lY3Rpb25DbG9zZWRPbkJl
aGFsZk9mU2VydmVyKTsKLSAgICBPcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKFdlYkNvcmU6OklEQlJl
cXVlc3REYXRhIHJlcXVlc3REYXRhKTsKLSAgICBDb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVp
bnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwotCi0gICAgR2V0QWxsRGF0YWJh
c2VOYW1lcyhzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgc3Ry
dWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBj
YWxsYmFja0lEKTsKLX0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2
ZXIuY3BwCmluZGV4IDg0ZTZkOTc4MTEzYzE0Njc0NDhlYzBjM2E3NDA1N2ZjYmM3MWNmZmEuLjNl
ZmYzZWI1ZjQ4YjNhYzMyOTQ0Y2FjM2RiMDQ0NDlmZThiM2M3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcApA
QCAtMjY5LDExICsyNjksMTQgQEAgdm9pZCBXZWJJREJTZXJ2ZXI6Om9wZW5EQlJlcXVlc3RDYW5j
ZWxsZWQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3QKICAgICBtX3NlcnZl
ci0+b3BlbkRCUmVxdWVzdENhbmNlbGxlZChyZXF1ZXN0RGF0YSk7CiB9CiAKLXZvaWQgV2ViSURC
U2VydmVyOjpnZXRBbGxEYXRhYmFzZU5hbWVzKFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlm
aWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFja0lEKQordm9pZCBXZWJJREJTZXJ2
ZXI6OmdldEFsbERhdGFiYXNlTmFtZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBtX3NlcnZlci0+
Z2V0QWxsRGF0YWJhc2VOYW1lcyhzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgbWFpbkZyYW1l
T3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKTsKKyAgICBhdXRvKiB3ZWJJREJDb25u
ZWN0aW9uID0gbV9jb25uZWN0aW9uTWFwLmdldChjb25uZWN0aW9uLnVuaXF1ZUlEKCkpOworICAg
IEFTU0VSVCh3ZWJJREJDb25uZWN0aW9uKTsKKworICAgIG1fc2VydmVyLT5nZXRBbGxEYXRhYmFz
ZU5hbWVzKHdlYklEQkNvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSwgbWFpbkZyYW1lT3JpZ2luLCBv
cGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKTsKIH0KICAgICAKIHZvaWQgV2ViSURCU2VydmVyOjpj
b25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50
aWZpZXIpCkBAIC0yODMsNSArMjg2LDI3IEBAIHZvaWQgV2ViSURCU2VydmVyOjpjb25maXJtRGlk
Q2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpCiAgICAg
bV9zZXJ2ZXItPmNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoZGF0YWJhc2VDb25uZWN0aW9uSWRl
bnRpZmllcik7CiB9CiAKK3ZvaWQgV2ViSURCU2VydmVyOjphZGRDb25uZWN0aW9uKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lk
ZW50aWZpZXIpCit7CisgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKworICAgIGF1dG9b
aXRlciwgaXNOZXdFbnRyeV0gPSBtX2Nvbm5lY3Rpb25NYXAuZW5zdXJlKGNvbm5lY3Rpb24udW5p
cXVlSUQoKSwgWyZjb25uZWN0aW9uLCBwcm9jZXNzSWRlbnRpZmllcl0geworICAgICAgICByZXR1
cm4gbWFrZVVuaXF1ZTxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+KGNvbm5lY3Rpb24sIHByb2Nl
c3NJZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICAKKyAgICBBU1NFUlQoaXNOZXdFbnRyeSk7CisK
KyAgICBtX3NlcnZlci0+cmVnaXN0ZXJDb25uZWN0aW9uKGl0ZXItPnZhbHVlLT5jb25uZWN0aW9u
VG9DbGllbnQoKSk7Cit9CisKK3ZvaWQgV2ViSURCU2VydmVyOjpyZW1vdmVDb25uZWN0aW9uKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKK3sKKyAgICBhdXRvIHRha2VuQ29ubmVjdGlvbiA9
IG1fY29ubmVjdGlvbk1hcC50YWtlKGNvbm5lY3Rpb24udW5pcXVlSUQoKSk7CisKKyAgICBBU1NF
UlQodGFrZW5Db25uZWN0aW9uKTsKKworICAgIG1fc2VydmVyLT51bnJlZ2lzdGVyQ29ubmVjdGlv
bih0YWtlbkNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0NsaWVudCgpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKaW5kZXggMGI0NmU3NDEzNjU0YmJhZDJiM2Rm
Njc5ZGZkYThmMzM1ZjA0ZGJkMS4uNGQxNWQ1MmMxMjY5MjE4MWQ4ZDBkNzVmNDBjMjVmNjI1MTU4
MDNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIv
V2ViSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVk
REIvV2ViSURCU2VydmVyLmgKQEAgLTgyLDEzICs4MiwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRGaXJlVmVyc2lvbkNoYW5nZUV2ZW50KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50
aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkluZGV4ZWREQjo6Q29ubmVjdGlvbkNsb3NlZE9uQmVoYWxm
T2ZTZXJ2ZXIpOwogICAgIHZvaWQgb3BlbkRCUmVxdWVzdENhbmNlbGxlZChjb25zdCBXZWJDb3Jl
OjpJREJSZXF1ZXN0RGF0YSYpOwogICAgIHZvaWQgY29uZmlybURpZENsb3NlRnJvbVNlcnZlcih1
aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIGdldEFsbERh
dGFiYXNlTmFtZXMoV2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZ2V0QWxsRGF0YWJhc2VOYW1lcyhJ
UEM6OkNvbm5lY3Rpb24mLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKKwor
ICAgIHZvaWQgYWRkQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mLCBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiYp
OworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKTsKIAogcHJpdmF0ZToKICAgICBXZWJJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYgZGlyZWN0b3J5LCBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcjo6U3Rv
cmFnZVF1b3RhTWFuYWdlclNwYWNlUmVxdWVzdGVyJiYpOwogCiAgICAgUmVmPFdlYkNvcmU6OklE
QlNlcnZlcjo6SURCU2VydmVyPiBtX3NlcnZlcjsKICAgICBib29sIG1faXNTdXNwZW5kZWQgeyBm
YWxzZSB9OworCisgICAgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlELCBzdGQ6OnVu
aXF1ZV9wdHI8V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Pj4gbV9jb25uZWN0aW9uTWFwOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWQ0MGE2MTZlMWRhYTZjZjJlYjMyMWMwN2QyMGFjODAyNzU3MGU0OAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QlNlcnZlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDU3IEBACisjIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbWVz
c2FnZXMgLT4gV2ViSURCU2VydmVyIHsKKyAgICBEZWxldGVEYXRhYmFzZShXZWJDb3JlOjpJREJS
ZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKKyAgICBPcGVuRGF0YWJhc2UoV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEgcmVxdWVzdERhdGEpCisgICAgQWJvcnRUcmFuc2FjdGlvbihXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQorICAgIENvbW1pdFRyYW5z
YWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZp
ZXIpCisgICAgRGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0
X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVu
dGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKKyAgICBDcmVhdGVPYmplY3RTdG9yZShXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVJ
bmZvIGluZm8pCisgICAgRGVsZXRlT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEg
cmVxdWVzdERhdGEsIFN0cmluZyBvYmplY3RTdG9yZU5hbWUpCisgICAgUmVuYW1lT2JqZWN0U3Rv
cmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0
b3JlSWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUpCisgICAgQ2xlYXJPYmplY3RTdG9yZShXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVu
dGlmaWVyKQorICAgIENyZWF0ZUluZGV4KFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3RE
YXRhLCBXZWJDb3JlOjpJREJJbmRleEluZm8gaW5mbykKKyAgICBEZWxldGVJbmRleChXZWJDb3Jl
OjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlm
aWVyLCBTdHJpbmcgaW5kZXhOYW1lKQorICAgIFJlbmFtZUluZGV4KFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIHVpbnQ2
NF90IGluZGV4SWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUpCisgICAgUHV0T3JBZGQoV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQktleURhdGEga2V5LCBX
ZWJDb3JlOjpJREJWYWx1ZSB2YWx1ZSwgV2ViQ29yZTo6SW5kZXhlZERCOjpPYmplY3RTdG9yZU92
ZXJ3cml0ZU1vZGUgb3ZlcndyaXRlTW9kZSkKKyAgICBHZXRSZWNvcmQoV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhIGdl
dFJlY29yZERhdGEpCisgICAgR2V0QWxsUmVjb3JkcyhXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSBy
ZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQkdldEFsbFJlY29yZHNEYXRhIGdldEFsbFJl
Y29yZHNEYXRhKQorICAgIEdldENvdW50KFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3RE
YXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhIHJhbmdlKQorICAgIERlbGV0ZVJl
Y29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6
OklEQktleVJhbmdlRGF0YSByYW5nZSkKKyAgICBPcGVuQ3Vyc29yKFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvIGluZm8pCisgICAgSXRl
cmF0ZUN1cnNvcihXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdl
YkNvcmU6OklEQkl0ZXJhdGVDdXJzb3JEYXRhIGRhdGEpCisKKyAgICBFc3RhYmxpc2hUcmFuc2Fj
dGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbkluZm8gaW5mbykKKyAgICBEYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2Uo
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICBEYXRhYmFzZUNvbm5l
Y3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICBB
Ym9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50
aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZp
ZXIpCisgICAgRGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudCh1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgcmVxdWVzdElk
ZW50aWZpZXIsIFdlYkNvcmU6OkluZGV4ZWREQjo6Q29ubmVjdGlvbkNsb3NlZE9uQmVoYWxmT2ZT
ZXJ2ZXIgY29ubmVjdGlvbkNsb3NlZE9uQmVoYWxmT2ZTZXJ2ZXIpCisgICAgT3BlbkRCUmVxdWVz
dENhbmNlbGxlZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKKyAgICBDb25m
aXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZp
ZXIpCisKKyAgICBHZXRBbGxEYXRhYmFzZU5hbWVzKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG9w
ZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpIFdhbnRzQ29ubmVjdGlvbgorfQorCisj
ZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDA0NDE5ZTI4MjRhMDk1YzVjMjIzYzI0OTAxOGM4OTNmZTdiOWFjMGQuLmEyZDFl
NGY0NWJmMDY4YjNkM2IyZDY4NjJmMDcxMGYxNWE0NzIwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCkBAIC01NCw4ICs1NCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckZldGNo
VGFza01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5j
bHVkZSAiV2ViRXJyb3JzLmgiCi0jaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lmgi
Ci0jaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCIKKyNpbmNsdWRl
ICJXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCIKQEAgLTIyMCw5ICsyMTksOCBAQCB2b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3RpbwogICAgIH0KIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgaWYgKG1f
d2ViSURCQ29ubmVjdGlvbikKLSAgICAgICAgICAgIG1fd2ViSURCQ29ubmVjdGlvbi0+ZGlkUmVj
ZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgaWYgKGRlY29kZXIubWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSkgeworICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT53ZWJJREJTZXJ2ZXIobV9zZXNz
aW9uSUQpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogI2VuZGlmCkBAIC0zMTQsNyArMzEyLDcgQEAgdm9pZCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KQogICAgIC8vIHJvb3QgYWN0aXZpdHkgdHJhY2tlcnMuCiAgICAgc3RvcEFsbE5ldHdvcmtBY3Rp
dml0eVRyYWNraW5nKCk7CiAKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5jb25uZWN0aW9uVG9XZWJQ
cm9jZXNzQ2xvc2VkKGNvbm5lY3Rpb24pOworICAgIG1fbmV0d29ya1Byb2Nlc3MtPmNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NDbG9zZWQoY29ubmVjdGlvbiwgbV9zZXNzaW9uSUQpOwogCiAgICAgbV9u
ZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKnRoaXMp
OwogCkBAIC0zMjUsMTEgKzMyMyw2IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKICAgICB9CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIGlmIChhdXRvIGlkYkNvbm5lY3Rp
b24gPSBzdGQ6OmV4Y2hhbmdlKG1fd2ViSURCQ29ubmVjdGlvbiwgeyB9KSkKLSAgICAgICAgaWRi
Q29ubmVjdGlvbi0+ZGlzY29ubmVjdGVkRnJvbVdlYlByb2Nlc3MoKTsKLSNlbmRpZgotICAgIAog
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB1bnJlZ2lzdGVyU1dDb25uZWN0aW9uKCk7
CiAjZW5kaWYKQEAgLTkwOCwxNiArOTAxLDYgQEAgc2l6ZV90IE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpmaW5kTmV0d29ya0FjdGl2aXR5VHJhY2tlcihSZXNvdXJjZUxvYWRJZGUKICAg
ICAgICAgcmV0dXJuIGl0ZW0ucmVzb3VyY2VJRCA9PSByZXNvdXJjZUlEOwogICAgIH0pOwogfQot
Ci0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi12b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjplc3RhYmxpc2hJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKQotewotICAgIExPRyhJ
bmRleGVkREIsICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZXN0YWJsaXNoSURCQ29u
bmVjdGlvblRvU2VydmVyIC0gJSIgUFJJdTY0LCBtX3Nlc3Npb25JRC50b1VJbnQ2NCgpKTsKLSAg
ICBBU1NFUlQoIW1fd2ViSURCQ29ubmVjdGlvbik7Ci0gICAgCi0gICAgbV93ZWJJREJDb25uZWN0
aW9uID0gbWFrZVVuaXF1ZTxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+KCp0aGlzLCBtX3dlYlBy
b2Nlc3NJZGVudGlmaWVyKTsKLX0KLSNlbmRpZgogICAgIAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVucmVnaXN0ZXJTV0Nv
bm5lY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDBiYWI1NmM1MjA5NGZiZWI2
MDg5ODFlNjg1NzQ4YjRjMDY2Njc3ODYuLjBlNmU4MjMyYjcyYWE4NzkyMmRhODgwZDJmYzJmZGU4
ODQxMmY3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTcyLDcgKzcyLDYgQEAgY2xh
c3MgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM7CiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsK
IGNsYXNzIE5ldHdvcmtTb2NrZXRDaGFubmVsOwogY2xhc3MgTmV0d29ya1NvY2tldFN0cmVhbTsK
LWNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDsKIGNsYXNzIFdlYlNXU2VydmVyQ29ubmVj
dGlvbjsKIGNsYXNzIFdlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjsKIHR5cGVkZWYgdWlu
dDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKQEAgLTIyMCwxMSArMjE5LDYgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgY3JlYXRlU29ja2V0Q2hhbm5lbChjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCB1aW50NjRfdCBpZGVudGlmaWVyKTsK
IAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIC8vIE1lc3NhZ2VzIGhhbmRsZXJz
IChNb2Rlcm4gSURCKS4KLSAgICB2b2lkIGVzdGFibGlzaElEQkNvbm5lY3Rpb25Ub1NlcnZlcigp
OwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgdm9pZCBlc3RhYmxp
c2hTV1NlcnZlckNvbm5lY3Rpb24oKTsKICAgICB2b2lkIGVzdGFibGlzaFNXQ29udGV4dENvbm5l
Y3Rpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJik7CkBAIC0zMzUsMTAgKzMyOSw2IEBA
IHByaXZhdGU6CiAKICAgICBSZWZQdHI8Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbj4gbV9j
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOwogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0g
ICAgc3RkOjp1bmlxdWVfcHRyPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gbV93ZWJJREJDb25u
ZWN0aW9uOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgV2Vha1B0
cjxXZWJTV1NlcnZlckNvbm5lY3Rpb24+IG1fc3dDb25uZWN0aW9uOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24+IG1fc3dDb250ZXh0Q29ubmVjdGlv
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDA5MWZh
MWMwNWUwZTNlYTlhMDk5M2Y0MmMyNTdlNWQ3NGM5NmFiMjYuLmIwZGFhM2MzZjA4NTMxYzk5MTk1
NWM5MTljMmMzZDM0NjNhMmQyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtNzQsMTAgKzc0LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIEdldE5ldHdvcmtMb2FkSW50ZXJt
ZWRpYXRlSW5mb3JtYXRpb24odWludDY0X3QgcmVzb3VyY2VMb2FkSWRlbnRpZmllcikgLT4gKFZl
Y3RvcjxXZWJDb3JlOjpOZXR3b3JrVHJhbnNhY3Rpb25JbmZvcm1hdGlvbj4gdHJhbnNhY3Rpb25z
KSBTeW5jaHJvbm91cwogICAgIFRha2VOZXR3b3JrTG9hZEluZm9ybWF0aW9uTWV0cmljcyh1aW50
NjRfdCByZXNvdXJjZUxvYWRJZGVudGlmaWVyKSAtPiAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRy
aWNzIG5ldHdvcmtNZXRyaWNzKSBTeW5jaHJvbm91cwogCi0jaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCi0gICAgRXN0YWJsaXNoSURCQ29ubmVjdGlvblRvU2VydmVyKCkKLSNlbmRpZgotCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIEVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rp
b24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluKQogICAgIENsb3NlU1dDb250ZXh0
Q29ubmVjdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwCmluZGV4IDQ0N2UxMzZiYTNiNGQzZDNhZThiOTNmMGMwZGI3ZjQ1YjllYzcxNGMu
LjkwOWE0MjQ3NTI0OTJkNzI4YjU2NDE3ZGUxYjdkYWE1ODViODc1ZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0zODcsNiArMzg3
LDggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIgaWRlbnQKICAgICBjb25uZWN0aW9uLnNldE9uTGluZVN0
YXRlKE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpzaW5nbGV0b24oKS5vbkxpbmUoKSk7CiAKICAgICBt
X3N0b3JhZ2VNYW5hZ2VyU2V0LT5hZGRDb25uZWN0aW9uKGNvbm5lY3Rpb24uY29ubmVjdGlvbigp
KTsKKworICAgIHdlYklEQlNlcnZlcihzZXNzaW9uSUQpLmFkZENvbm5lY3Rpb24oY29ubmVjdGlv
bi5jb25uZWN0aW9uKCksIGlkZW50aWZpZXIpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpj
bGVhckNhY2hlZENyZWRlbnRpYWxzKCkKQEAgLTI1MjcsOSArMjUyOSwxMCBAQCB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpnZXRMb2NhbFN0b3JhZ2VPcmlnaW5EZXRhaWxzKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgQ29tcAogICAgIH0pOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpjb25uZWN0
aW9uVG9XZWJQcm9jZXNzQ2xvc2VkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKK3ZvaWQg
TmV0d29ya1Byb2Nlc3M6OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CiAgICAgbV9zdG9y
YWdlTWFuYWdlclNldC0+cmVtb3ZlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKyAgICB3ZWJJREJT
ZXJ2ZXIoc2Vzc2lvbklEKS5yZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogfQogCiBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogTmV0d29ya1Byb2Nlc3M6OndlYlByb2Nlc3NDb25u
ZWN0aW9uKFByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNTBhMTg3ODA0OTVjN2Qz
NWY5ZDNiZGQ0YjAyMDAyNTlhNTVhNTJlNS4uOGM5ZGI1ODU2Nzg2MzlkYTAwNmI2MzQ0YTUzZTYw
YzgyMDcyNGI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMjcwLDcgKzI3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNlc3Npb25J
c0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oUEFMOjpTZXNzaW9uSUQsIGJvb2wpOwogICAgIGJvb2wg
c2Vzc2lvbklzQ29udHJvbGxlZEJ5QXV0b21hdGlvbihQQUw6OlNlc3Npb25JRCkgY29uc3Q7CiAK
LSAgICB2b2lkIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoSVBDOjpDb25uZWN0aW9uJik7
CisgICAgdm9pZCBjb25uZWN0aW9uVG9XZWJQcm9jZXNzQ2xvc2VkKElQQzo6Q29ubmVjdGlvbiYs
IFBBTDo6U2Vzc2lvbklEKTsKICAgICB2b2lkIGdldExvY2FsU3RvcmFnZU9yaWdpbkRldGFpbHMo
UEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPExvY2FsU3RvcmFn
ZURhdGFiYXNlVHJhY2tlcjo6T3JpZ2luRGV0YWlscz4mJik+JiYpOwogCiAjaWYgRU5BQkxFKENP
TlRFTlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGJhNmVkMzJlZjdlNTc4NmYxZDNkNWFkOWU1NjgyMWY3YTJlOWNl
MTAuLjg0ZmQ4MDgyOWUyNTVmODZjZGNlN2I5ZjIyNTc2YTZhOGIxOTViNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTM4LDggKzkz
OCw2IEBACiAJCTRGNjAxNDMyMTU1QzVBQTIwMDFGQkRFMCAvKiBCbG9ja2luZ1Jlc3BvbnNlTWFw
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RjYwMTQz
MDE1NUM1QTMyMDAxRkJERTAgLyogQmxvY2tpbmdSZXNwb25zZU1hcC5oICovOyB9OwogCQk1MTA1
MjM3NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDUyMzcz
MUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oICov
OyB9OwogCQk1MTA1MjM3NTFDNzNEMzhGMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwotCQk1MTA1MjM3OTFDNzNEQTc3MDA3
OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDUyMzc3MUM3M0RB
NzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwotCQk1MTA1MjM3QTFDNzNEQTc3MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMDUyMzc4MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnRNZXNzYWdlcy5oICovOyB9OwogCQk1MTA2RDdDNDE4QkRCRTczMDAwQUIxNjYgLyogQ29udGV4
dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTEwNkQ3QzAxOEJEQkU3MzAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dERh
dGEuaCAqLzsgfTsKIAkJNTEwQUZGQkExNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBB
RkZCODE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCAqLzsgfTsKIAkJNTEw
RjU5MTAxRERFMjk2OTAwNDEyRkY1IC8qIF9XS0ljb25Mb2FkaW5nRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDNCMjVFMUREQ0RGRDEw
MDE0RkFDNiAvKiBfV0tJY29uTG9hZGluZ0RlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEzMDEsNiArMTI5OSw4IEBACiAJCTkzMjYx
MTYxMjE0MDU0RjQwMDA4MDZFNyAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTI4OEREMjE0MDRENkMw
MEVCQkEzMyAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCAqLzsgfTsKIAkJOTMzREY4MkUx
QjNCQzA5MDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0RGODJEMUIzQkMwOTAw
MEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCTkzM0U4
MzU1MjNBMDdDMDYwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0U4MzUzMjNBMDdCRjgwMERFRjI4OSAvKiBX
ZWJJREJTZXJ2ZXIuaCAqLzsgfTsKKwkJOTMzRTgzNUEyM0ExQUUyODAwREVGMjg5IC8qIFdlYklE
QlNlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzNFODM1OTIzQTFBREY1MDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZXMu
aCAqLzsgfTsKKwkJOTMzRTgzNUIyM0ExQjc1MDAwREVGMjg5IC8qIFdlYklEQlNlcnZlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzNFODM1ODIzQTFBREY1MDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJOTM0QjcyNDQxOUY1QjlCRTAwQUU5NkQ2IC8qIFdLQWN0aW9uTWVu
dUl0ZW1UeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM0QjcyNDMxOUY1QjlCRTAwQUU5NkQ2IC8qIFdLQWN0aW9uTWVudUl0ZW1UeXBlcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzNTZGMkRD
MjE1MkI2QjUwMEU2RDVERiAvKiBXZWJTV0NsaWVudENvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0E1MzAyMUY0NzkzQjIwMERDREMw
QSAvKiBXZWJTV0NsaWVudENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJOTM1NkYyREQyMTUyQjZGNjAw
RTZENURGIC8qIFdlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCQTA0RTAyMTUxQURGNDAwN0Y0NTVGIC8qIFdlYlNX
U2VydmVyQ29ubmVjdGlvbi5oICovOyB9OwpAQCAtNDA3Myw2ICs0MDczLDkgQEAKIAkJOTMzREY4
MkYxQjNCQzBCNDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0ltYWdlUHJldmlld1ZpZXdD
b250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzNFODM1MzIzQTA3
QkY4MDBERUYyODkgLyogV2ViSURCU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYklEQlNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzNF
ODM1NDIzQTA3QkY5MDBERUYyODkgLyogV2ViSURCU2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYklEQlNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzM0U4MzU3MjNBMUE4NzIwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSURCU2VydmVyLm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzNFODM1ODIzQTFBREY1MDBERUYyODkg
LyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFdlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTkzM0U4MzU5MjNBMUFERjUwMERF
RjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwogCQk5MzRCNzI0MzE5RjVCOUJFMDBBRTk2RDYgLyogV0tBY3Rpb25NZW51SXRlbVR5
cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQWN0aW9uTWVudUl0ZW1U
eXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzVFRUI5NTEyNzc2MTZEMDAz
MzIyQjggLyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5MzVFRUI5NjEyNzc2MTZEMDAzMzIyQjggLyogV0tCdW5kbGVC
YWNrRm9yd2FyZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5k
bGVCYWNrRm9yd2FyZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQwODks
NyArNDA5Miw2IEBACiAJCTkzOTFGMjg0MTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTM5Mjg4REQyMTQwNEQ2QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMzIC8qIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk5MzkyODhFMjIxNDA0RTEwMDBFQkJBMzMgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM5NUU2ODkxQkYy
QzMzMjAwRjQ5QkNFIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLUHJldmlld0VsZW1lbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzOTVFNjhCMUJGMkMzNTIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50
SW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUHJldmll
d0VsZW1lbnRJbmZvLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzlBRTc2NTEz
MTZFOTlDMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjU1LDkgKzc2NTcsOSBAQAogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5jcHAgKi8sCiAJCQkJOTM5Mjg4REQyMTQwNEQ2QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5oICovLAotCQkJCTkzOTI4OEUyMjE0MDRFMTAwMEVCQkEzMyAvKiBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4gKi8sCiAJCQkJOTMzRTgzNTQyM0EwN0JG
OTAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5jcHAgKi8sCiAJCQkJOTMzRTgzNTMyM0EwN0JGODAw
REVGMjg5IC8qIFdlYklEQlNlcnZlci5oICovLAorCQkJCTkzM0U4MzU3MjNBMUE4NzIwMERFRjI4
OSAvKiBXZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkpOwogCQkJcGF0aCA9IEluZGV4
ZWREQjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC05MjMyLDYgKzkyMzQsOCBAQAog
CQkJCTUxMDUyMzc4MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRN
ZXNzYWdlcy5oICovLAogCQkJCTUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxMDUyMzczMUM3M0Qz
N0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oICovLAorCQkJ
CTkzM0U4MzU4MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAorCQkJCTkzM0U4MzU5MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNz
YWdlcy5oICovLAogCQkJCUZFREJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlGRURCRENENTFF
NjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2Vz
LmggKi8sCiAJCQkJMUM4RTJBMzExMjc3ODUyNDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMDI0MSwxMCArMTAyNDUsMTAgQEAKIAkJCQk5M0E4OEIz
MzFCQzZFOUNEMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY0NERGRUIyMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzI2MTE2MTIxNDA1NEY0MDAwODA2RTcgLyogV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTA1MjM3QTFDNzNEQTc3MDA3OTkz
Q0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxNDEyOTk0MUM2NDI4QkIwMDU5RTcxNCAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzc0MUM3M0QzOEIwMDc5OTNDQiAvKiBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzRTgzNTUy
M0EwN0MwNjAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTMz
RTgzNUEyM0ExQUUyODAwREVGMjg5IC8qIFdlYklEQlNlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0NGNkFCRDEyQzkxRUY5MDA4RjlDMzUgLyogV2ViSW1hZ2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMDMyRDgyMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJJbnNwZWN0
b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTE5MTgsOCArMTE5MjIsOCBAQAogCQkJCUNE
NzNCQTQ3MTMxQUNDOUEwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MDYxMTJENkJBOTEwMDEyQTcy
QSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkMwRTYxODIxMkQ2Q0IxRDAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMDUyMzc5MUM3
M0RBNzcwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwNTIzNzUxQzczRDM4RjAwNzk5M0NCIC8qIFdlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk5MzNFODM1QjIzQTFCNzUwMDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFREJEQ0Q2MUU2OEQyMDAwMEE1OUY4RiAvKiBXZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFDOEUyQTM1MTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUNBOEI5NDUxMjdDODgyQTAwNTc2QzJC
IC8qIFdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIv
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggOGI1
ZjFmMTI3N2UxYTk1ZDFiMTk5YTlhMGU0NmM1MzRmZDZlODY0ZC4uMjA3ZWVlMDk2OGNmNWQzYmYy
MmU0NjczNWI5MjhkZWU5Yjk3MWQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSAiTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2luY2x1
ZGUgIldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSURC
UmVzdWx0LmgiCisjaW5jbHVkZSAiV2ViSURCU2VydmVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0lEQkN1cnNvckluZm8uaD4KQEAgLTYxLDcgKzYxLDYgQEAgUmVm
PFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVh
dGUoKQogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIo
KQogICAgIDogbV9jb25uZWN0aW9uVG9TZXJ2ZXIoSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmNyZWF0ZSgqdGhpcykpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OkVzdGFibGlzaElEQkNvbm5lY3Rpb25Ub1NlcnZlcigpLCAwKTsK
IH0KIAogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjp+V2ViSURCQ29ubmVjdGlvblRvU2VydmVy
KCkKQEAgLTg1LDEzNyArODQsMTM3IEBAIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVy
JiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvcmVDb25uZWN0aW9uVG9TZXJ2CiAKIHZvaWQg
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYgcmVxdWVzdERhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjpEZWxldGVEYXRhYmFzZShyZXF1ZXN0RGF0YSkpOworICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYklEQlNlcnZlcjo6RGVsZXRlRGF0YWJhc2UocmVxdWVzdERhdGEpKTsKIH0KIAogdm9p
ZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om9wZW5EYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYgcmVxdWVzdERhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjpPcGVuRGF0YWJhc2UocmVxdWVzdERhdGEpKTsKKyAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJJREJTZXJ2ZXI6Ok9wZW5EYXRhYmFzZShyZXF1ZXN0RGF0YSkpOwogfQogCiB2b2lkIFdl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkFib3J0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25J
ZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpBYm9ydFRyYW5z
YWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVy
JiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIp
KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkNvbW1pdFRyYW5zYWN0aW9uKHRy
YW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpEaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbihk
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbklkZW50aWZpZXIpKTsKKyAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNo
YW5nZVRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIHRyYW5zYWN0aW9u
SWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJP
YmplY3RTdG9yZUluZm8mIGluZm8pCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpDcmVhdGVPYmplY3RTdG9yZShyZXF1ZXN0RGF0YSwgaW5mbykpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6Q3JlYXRlT2JqZWN0U3RvcmUocmVxdWVzdERh
dGEsIGluZm8pKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZU9i
amVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgU3RyaW5n
JiBvYmplY3RTdG9yZU5hbWUpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjpEZWxldGVPYmplY3RTdG9yZShyZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVOYW1l
KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpEZWxldGVPYmplY3RTdG9yZShy
ZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVOYW1lKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVz
dERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdO
YW1lKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6UmVu
YW1lT2JqZWN0U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgbmV3TmFt
ZSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6UmVuYW1lT2JqZWN0U3RvcmUo
cmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgbmV3TmFtZSkpOwogfQogCiB2b2lk
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y2xlYXJPYmplY3RTdG9yZShjb25zdCBJREJSZXF1
ZXN0RGF0YSYgcmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllcikKIHsK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkNsZWFyT2JqZWN0
U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllcikpOworICAgIHNlbmQoTWVz
c2FnZXM6OldlYklEQlNlcnZlcjo6Q2xlYXJPYmplY3RTdG9yZShyZXF1ZXN0RGF0YSwgb2JqZWN0
U3RvcmVJZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpj
cmVhdGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQklu
ZGV4SW5mbyYgaW5mbykKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQ6OkNyZWF0ZUluZGV4KHJlcXVlc3REYXRhLCBpbmZvKSk7CisgICAgc2VuZChNZXNzYWdl
czo6V2ViSURCU2VydmVyOjpDcmVhdGVJbmRleChyZXF1ZXN0RGF0YSwgaW5mbykpOwogfQogCiB2
b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlSW5kZXgoY29uc3QgSURCUmVxdWVz
dERhdGEmIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgaW5kZXhOYW1lKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6RGVsZXRlSW5kZXgocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgaW5kZXhOYW1lKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpEZWxldGVJ
bmRleChyZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleE5hbWUpKTsKIH0K
IAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OnJlbmFtZUluZGV4KGNvbnN0IElEQlJl
cXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1
aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmV3TmFtZSkKIHsKLSAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OlJlbmFtZUluZGV4KHJlcXVl
c3REYXRhLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGluZGV4SWRlbnRpZmllciwgbmV3TmFtZSkp
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6UmVuYW1lSW5kZXgocmVxdWVzdERh
dGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgaW5kZXhJZGVudGlmaWVyLCBuZXdOYW1lKSk7CiB9
CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpwdXRPckFkZChjb25zdCBJREJSZXF1
ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleURhdGEmIGtleURhdGEsIGNvbnN0IElE
QlZhbHVlJiB2YWx1ZSwgY29uc3QgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUg
bW9kZSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OlB1
dE9yQWRkKHJlcXVlc3REYXRhLCBrZXlEYXRhLCB2YWx1ZSwgbW9kZSkpOworICAgIHNlbmQoTWVz
c2FnZXM6OldlYklEQlNlcnZlcjo6UHV0T3JBZGQocmVxdWVzdERhdGEsIGtleURhdGEsIHZhbHVl
LCBtb2RlKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRSZWNvcmQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJHZXRSZWNvcmREYXRh
JiBnZXRSZWNvcmREYXRhKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6R2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKSk7CisgICAgc2Vu
ZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpHZXRSZWNvcmQocmVxdWVzdERhdGEsIGdldFJlY29y
ZERhdGEpKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldEFsbFJlY29y
ZHMoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJHZXRBbGxSZWNv
cmRzRGF0YSYgZ2V0QWxsUmVjb3Jkc0RhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50OjpHZXRBbGxSZWNvcmRzKHJlcXVlc3REYXRhLCBnZXRBbGxSZWNv
cmRzRGF0YSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6R2V0QWxsUmVjb3Jk
cyhyZXF1ZXN0RGF0YSwgZ2V0QWxsUmVjb3Jkc0RhdGEpKTsKIH0KIAogdm9pZCBXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0
YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiByYW5nZSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkdldENvdW50KHJlcXVlc3REYXRhLCByYW5nZSkpOwor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6R2V0Q291bnQocmVxdWVzdERhdGEsIHJh
bmdlKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkZWxldGVSZWNvcmQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEm
IHJhbmdlKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
RGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCByYW5nZSkpOworICAgIHNlbmQoTWVzc2FnZXM6Oldl
YklEQlNlcnZlcjo6RGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCByYW5nZSkpOwogfQogCiB2b2lk
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6b3BlbkN1cnNvcihjb25zdCBJREJSZXF1ZXN0RGF0
YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQkN1cnNvckluZm8mIGluZm8pCiB7Ci0gICAgc2VuZChN
ZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpPcGVuQ3Vyc29yKHJlcXVlc3REYXRh
LCBpbmZvKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpPcGVuQ3Vyc29yKHJl
cXVlc3REYXRhLCBpbmZvKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpp
dGVyYXRlQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURC
SXRlcmF0ZUN1cnNvckRhdGEmIGRhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjpJdGVyYXRlQ3Vyc29yKHJlcXVlc3REYXRhLCBkYXRhKSk7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpJdGVyYXRlQ3Vyc29yKHJlcXVlc3REYXRhLCBk
YXRhKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjplc3RhYmxpc2hUcmFu
c2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJU
cmFuc2FjdGlvbkluZm8mIGluZm8pCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpFc3RhYmxpc2hUcmFuc2FjdGlvbihkYXRhYmFzZUNvbm5lY3Rpb25JZGVu
dGlmaWVyLCBpbmZvKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpFc3RhYmxp
c2hUcmFuc2FjdGlvbihkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBpbmZvKSk7CiB9CiAK
IHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5n
Q2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKIHsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkRhdGFiYXNlQ29ubmVjdGlvblBl
bmRpbmdDbG9zZShkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViSURCU2VydmVyOjpEYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UoZGF0YWJh
c2VDb25uZWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xp
ZW50OjpEYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
cikpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGF0YWJhc2VDb25uZWN0aW9u
Q2xvc2VkKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpBYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOworICAgIHNlbmQoTWVzc2FnZXM6
OldlYklEQlNlcnZlcjo6QWJvcnRPcGVuQW5kVXBncmFkZU5lZWRlZChkYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbklkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBy
ZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgSW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhh
bGZPZlNlcnZlciBjb25uZWN0aW9uQ2xvc2VkKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6RGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudChkYXRhYmFzZUNv
bm5lY3Rpb25JZGVudGlmaWVyLCByZXF1ZXN0SWRlbnRpZmllciwgY29ubmVjdGlvbkNsb3NlZCkp
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGlkRmlyZVZlcnNpb25DaGFuZ2VF
dmVudChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCByZXF1ZXN0SWRlbnRpZmllciwgY29u
bmVjdGlvbkNsb3NlZCkpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6b3Bl
bkRCUmVxdWVzdENhbmNlbGxlZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCiB7
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpPcGVuREJSZXF1
ZXN0Q2FuY2VsbGVkKHJlcXVlc3REYXRhKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2Vy
dmVyOjpPcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKHJlcXVlc3REYXRhKSk7CiB9CiAKIHZvaWQgV2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyOjpjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpDb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKGRhdGFiYXNl
Q29ubmVjdGlvbklkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6
OkNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikp
OwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0QWxsRGF0YWJhc2VOYW1l
cyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6R2V0
QWxsRGF0YWJhc2VOYW1lcyh0b3BPcmlnaW4sIG9wZW5pbmdPcmlnaW4sIGNhbGxiYWNrSUQpKTsK
KyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkdldEFsbERhdGFiYXNlTmFtZXModG9w
T3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyOjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJiBy
ZXN1bHQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385555</attachid>
            <date>2019-12-12 15:11:01 -0800</date>
            <delta_ts>2019-12-12 16:10:15 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205145-20191212151059.patch</filename>
            <type>text/plain</type>
            <size>62491</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRiNTdlYjlmMzk0OTMwZGZl
OTUyNjdiMzQ2NzM3YTAwNDM3Yjc1YWEuLjJkZjczYmM2OGVmZGE0MzNlZjFiYjhlOTZhMDMyOThi
MmUzZmQ0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA1IEBACisyMDE5LTEyLTEyICBTaWh1aSBM
aXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogbWFrZSBXZWJJ
REJTZXJ2ZXIgYSBNZXNzYWdlUmVjZWl2ZXIgdG8gcmVwbGFjZSBXZWJJREJDb25uZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFdvcmsgdG93
YXJkcyA8cmRhcjovL3Byb2JsZW0vNTY5MDg0OTY+LiBNb3ZlIG1lc3NhZ2UgaGFuZGxpbmcgZnJv
bSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQgdG8gV2ViSURCU2VydmVyLgorCisgICAgICAgIEFs
c28sIFdlYklEQkNvbm5lY3Rpb25DbGllbnQgbm93IGlzIG93bmVkIGJ5IFdlYklEQlNlcnZlciBp
bnN0ZWFkIG9mIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLgorCisgICAgICAgIE5vIGJl
aGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjppZGJTZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpc2Nvbm5lY3RlZEZyb21XZWJQcm9jZXNz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Ojpk
ZWxldGVEYXRhYmFzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6b3BlbkRhdGFiYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjphYm9ydFRyYW5zYWN0aW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Ojpjb21taXRUcmFuc2FjdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlk
RmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmNyZWF0ZU9iamVjdFN0b3JlKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkZWxl
dGVPYmplY3RTdG9yZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6cmVuYW1lT2JqZWN0U3RvcmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmNsZWFyT2JqZWN0U3RvcmUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmNyZWF0ZUluZGV4KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkZWxl
dGVJbmRleCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudDo6cmVuYW1lSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OnB1dE9yQWRkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRSZWNvcmQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmdldEFsbFJlY29yZHMpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmdldENvdW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkZWxldGVS
ZWNvcmQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6Om9wZW5DdXJzb3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0
aW9uVG9DbGllbnQ6Oml0ZXJhdGVDdXJzb3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpX
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmVzdGFibGlzaFRyYW5zYWN0aW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkYXRhYmFzZUNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmRhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6YWJvcnRPcGVuQW5kVXBncmFk
ZU5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudDo6ZGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6b3BlbkRCUmVxdWVzdENhbmNlbGxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y29uZmly
bURpZENsb3NlRnJvbVNlcnZlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudDo6Z2V0QWxsRGF0YWJhc2VOYW1lcyk6IERlbGV0ZWQuCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXI6OmdldEFsbERhdGFiYXNlTmFtZXMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXI6OmFkZENvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJJREJTZXJ2ZXI6OnJlbW92ZUNvbm5lY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1l
c3NhZ2VzLmluLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmZpbmROZXR3b3JrQWN0aXZpdHlUcmFja2VyKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmVzdGFibGlzaElEQkNv
bm5lY3Rpb25Ub1NlcnZlcik6IERlbGV0ZWQuIAorICAgICAgICBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6ZXN0YWJsaXNoSURCQ29ubmVjdGlvblRvU2VydmVyIHdhcyB1c2VkIHRvIGVu
c3VyZSBXZWJJREJDb25uZWN0aW9uVG9DaWxlbnQgbWVtYmVyCisgICAgICAgIGV4aXN0cyBpbiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy4gTm93IFdlYklEQkNvbm5lY3Rpb25Ub0NpbGVu
dCBpcyBjcmVhdGVkIGluIAorICAgICAgICBXZWJJREJTZXJ2ZXI6OmFkZENvbm5lY3Rpb24od2hl
biBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBpcyBjcmVhdGVkKSwgc28gd2UgZG9uJ3Qg
bmVlZCB0aGUgbWVzc2FnZSB0byBkbyAKKyAgICAgICAgaW5pdGlhbGl6YXRpb24uCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjb25uZWN0aW9uVG9X
ZWJQcm9jZXNzQ2xvc2VkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OldlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXI6Om9wZW5EYXRhYmFzZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5n
ZVRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVy
OjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OnJlbmFtZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyOjpjbGVhck9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJL
aXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlSW5kZXgpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OnJlbmFtZUluZGV4KToKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpwdXRPckFkZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0UmVjb3JkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRBbGxSZWNvcmRzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRDb3VudCk6CisgICAgICAgIChXZWJL
aXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlUmVjb3JkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjppdGVyYXRlQ3Vyc29yKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjplc3RhYmxpc2hUcmFuc2FjdGlvbik6
CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGF0YWJhc2VDb25u
ZWN0aW9uUGVuZGluZ0Nsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRv
U2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpcmVWZXJzaW9uQ2hhbmdl
RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om9wZW5E
QlJlcXVlc3RDYW5jZWxsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldEFsbERhdGFiYXNlTmFtZXMpOgorCiAyMDE5LTEyLTEy
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBE
ZW55IG1hY2ggbG9va3VwIGFjY2VzcyB0byBjb250ZW50IGZpbHRlciBzZXJ2aWNlIGluIHRoZSBX
ZWJDb250ZW50IHNhbmRib3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDAwM2Q4MTQ4MzA3MWFlMTQx
MDA4NjY5NWM1YTRjYzY5ZjQ4YTI0NmIuLjE2NzFhZGFhODU1MTZkZTMyYzMzOTZjZTg5YzBiZWE3
MDI0OTZlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMTEyLDcgKzExMiw3IEBAIGxpc3QoQVBQ
RU5EIFdlYktpdF9VTklGSUVEX1NPVVJDRV9MSVNUX0ZJTEVTCiBzZXQoV2ViS2l0X01FU1NBR0VT
X0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1l
c3NhZ2VzLmluCiAKLSAgICBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50Lm1lc3NhZ2VzLmluCisgICAgTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QlNlcnZlci5tZXNzYWdlcy5pbgogCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
dGVudFJ1bGVMaXN0TWFuYWdlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDdmMDhmMmIyZjE4NTgyZWQ1MDQwMzJkY2Fj
YjU0Nzg2YTE2OWFkNWYuLjQ3NTY1ZmZjMTY3MjUwZDRkOTkxMDUxNDY4N2U0YjlhNzFkMjhhNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAg
LTE4LDcgKzE4LDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQ
VVByb2Nlc3Muc2IuaW4KICQoUFJPSkVDVF9ESVIpL05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvV2Vi
Q29va2llTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3Mv
Q3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgot
JChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25U
b0NsaWVudC5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdl
cy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggM2IxZTk0MTE3MDM4YmYwZDA0YTA3NTdmNWU2ZDg1ZTMzNGJkNzVhZS4uZjJkMWUzNTZh
YzQyM2JhMzgyZTdkNDllYmFhYTI4MTg2MGE1NTYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yMTEsMTIgKzIxMSwxMiBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJHZW9sb2NhdGlvbk1h
bmFnZXJNZXNzYWdlc1JlcGxpZQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJHZW9sb2NhdGlv
bk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgK
LSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgK
LSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudE1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlc1JlcGxp
ZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURC
U2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2FnZXNSZXBsaWVzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRj
aGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmU1MjVlMTNjNTliYmQxNDU2ZThmMGQ0MjNiYTY0
NDFjZThiMDhkYS4uNmQ2MzA1MGRlMTFjMTMyMDc5ZjQ2N2Y4NTYwYTY5NWRhMjkyNThmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTY0LDggKzE2NCw4IEBAIE1FU1NBR0VfUkVD
RUlWRVJTID0gXAogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkgXAogICAgIFdlYkdlb2xv
Y2F0aW9uTWFuYWdlciBcCiAgICAgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkgXAotICAgIFdl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudCBcCiAgICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyIFwK
KyAgICBXZWJJREJTZXJ2ZXIgXAogICAgIFdlYkluc3BlY3RvciBcCiAgICAgV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlciBcCiAgICAgV2ViSW5zcGVjdG9yUHJveHkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKaW5kZXggMjRjYzk1Yzg5YmE2N2YzMTE0ODA4MzA4
NWU4ZTNmYWQ1ZjBlZjg5ZS4uMGFjNjhhYzZjMzc1NDViMzliMmJmYThiM2RkMDJhMGM2MzI1Y2Rh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCkBAIC0yOCw0OCArMjgs
MzEgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCi0jaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJJREJSZXN1bHQuaCIKICNpbmNsdWRlICJXZWJJREJTZXJ2
ZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0lEQkVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
REJHZXRBbGxSZWNvcmRzRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSURCR2V0UmVjb3JkRGF0
YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSURCUmVzdWx0RGF0YS5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvSURCVmFsdWUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1RocmVhZFNhZmVEYXRhQnVmZmVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24sIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVy
IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKQotICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rp
b24pCitXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlm
aWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKQorICAgIDogbV9jb25uZWN0aW9uKG1ha2VS
ZWYoY29ubmVjdGlvbikpCiAgICAgLCBtX2lkZW50aWZpZXIoc2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIpCiAgICAgLCBtX2Nvbm5lY3Rpb25Ub0NsaWVudChJREJTZXJ2ZXI6OklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6Y3JlYXRlKCp0aGlzKSkKIHsKLSAgICBpZGJTZXJ2ZXIoKS5yZWdpc3RlckNv
bm5lY3Rpb24obV9jb25uZWN0aW9uVG9DbGllbnQpOwogfQogCiBXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQ6On5XZWJJREJDb25uZWN0aW9uVG9DbGllbnQoKQogewogfQogCi1XZWJJREJTZXJ2ZXIm
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6aWRiU2VydmVyKCkKLXsKLSAgICByZXR1cm4gbV9j
b25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCkud2ViSURCU2VydmVyKG1fY29ubmVjdGlvbi5zZXNz
aW9uSUQoKSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaXNjb25uZWN0
ZWRGcm9tV2ViUHJvY2VzcygpCi17Ci0gICAgaWRiU2VydmVyKCkudW5yZWdpc3RlckNvbm5lY3Rp
b24obV9jb25uZWN0aW9uVG9DbGllbnQpOwotfQotCiBJUEM6OkNvbm5lY3Rpb24qIFdlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAogewotICAg
IHJldHVybiAmbV9jb25uZWN0aW9uLmNvbm5lY3Rpb24oKTsKKyAgICByZXR1cm4gbV9jb25uZWN0
aW9uLnB0cigpOwogfQogCiBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVu
dCYgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Ojpjb25uZWN0aW9uVG9DbGllbnQoKQpAQCAtMjEz
LDE0MSArMTk2LDYgQEAgdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZEdldEFsbERh
dGFiYXNlTmFtZXModWludDY0X3QgY2FsbGJhY2tJRCwgY29uc3QKICAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRpZEdldEFsbERhdGFiYXNlTmFtZXMoY2FsbGJh
Y2tJRCwgZGF0YWJhc2VOYW1lcykpOwogfQogCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dDo6ZGVsZXRlRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QpCi17Ci0gICAg
aWRiU2VydmVyKCkuZGVsZXRlRGF0YWJhc2UocmVxdWVzdCk7Ci19Ci0KLXZvaWQgV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjpvcGVuRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3QpCi17Ci0gICAgaWRiU2VydmVyKCkub3BlbkRhdGFiYXNlKHJlcXVlc3QpOwotfQotCi12b2lk
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNv
dXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLXsKLSAgICBpZGJTZXJ2ZXIo
KS5hYm9ydFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50Ojpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLXsKLSAgICBpZGJTZXJ2ZXIoKS5j
b21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVz
b3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVy
KCkuZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oZGF0YWJhc2VDb25u
ZWN0aW9uSWRlbnRpZmllciwgdHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3RE
YXRhJiByZXF1ZXN0LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8pCi17Ci0gICAgaWRi
U2VydmVyKCkuY3JlYXRlT2JqZWN0U3RvcmUocmVxdWVzdCwgaW5mbyk7Ci19Ci0KLXZvaWQgV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIGlkYlNlcnZlcigpLmRl
bGV0ZU9iamVjdFN0b3JlKHJlcXVlc3QsIG5hbWUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6cmVuYW1lT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3QsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1l
KQotewotICAgIGlkYlNlcnZlcigpLnJlbmFtZU9iamVjdFN0b3JlKHJlcXVlc3QsIG9iamVjdFN0
b3JlSWRlbnRpZmllciwgbmV3TmFtZSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xp
ZW50OjpjbGVhck9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCB1aW50
NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVyKCkuY2xlYXJPYmpl
Y3RTdG9yZShyZXF1ZXN0LCBvYmplY3RTdG9yZUlkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJl
cXVlc3QsIGNvbnN0IElEQkluZGV4SW5mbyYgaW5mbykKLXsKLSAgICBpZGJTZXJ2ZXIoKS5jcmVh
dGVJbmRleChyZXF1ZXN0LCBpbmZvKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmRlbGV0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCB1aW50NjRfdCBv
YmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAgICBpZGJTZXJ2
ZXIoKS5kZWxldGVJbmRleChyZXF1ZXN0LCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIG5hbWUpOwot
fQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6cmVuYW1lSW5kZXgoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3QsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgdWlu
dDY0X3QgaW5kZXhJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG5ld05hbWUpCi17Ci0gICAgaWRi
U2VydmVyKCkucmVuYW1lSW5kZXgocmVxdWVzdCwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRl
eElkZW50aWZpZXIsIG5ld05hbWUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dDo6cHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQktleURh
dGEmIGtleSwgY29uc3QgSURCVmFsdWUmIHZhbHVlLCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3Zl
cndyaXRlTW9kZSBtb2RlKQotewotICAgIGlkYlNlcnZlcigpLnB1dE9yQWRkKHJlcXVlc3QsIGtl
eSwgdmFsdWUsIG1vZGUpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0
UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBjb25zdCBJREJHZXRSZWNvcmRE
YXRhJiBnZXRSZWNvcmREYXRhKQotewotICAgIGlkYlNlcnZlcigpLmdldFJlY29yZChyZXF1ZXN0
LCBnZXRSZWNvcmREYXRhKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6Omdl
dEFsbFJlY29yZHMoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQkdldEFs
bFJlY29yZHNEYXRhJiBnZXRBbGxSZWNvcmRzRGF0YSkKLXsKLSAgICBpZGJTZXJ2ZXIoKS5nZXRB
bGxSZWNvcmRzKHJlcXVlc3QsIGdldEFsbFJlY29yZHNEYXRhKTsKLX0KLQotdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9DbGllbnQ6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0
LCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlKQotewotICAgIGlkYlNlcnZlcigpLmdldENv
dW50KHJlcXVlc3QsIHJhbmdlKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6
OmRlbGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCS2V5
UmFuZ2VEYXRhJiByYW5nZSkKLXsKLSAgICBpZGJTZXJ2ZXIoKS5kZWxldGVSZWNvcmQocmVxdWVz
dCwgcmFuZ2UpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6b3BlbkN1cnNv
cihjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCQ3Vyc29ySW5mbyYgaW5m
bykKLXsKLSAgICBpZGJTZXJ2ZXIoKS5vcGVuQ3Vyc29yKHJlcXVlc3QsIGluZm8pOwotfQotCi12
b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6aXRlcmF0ZUN1cnNvcihjb25zdCBJREJSZXF1
ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmIGRhdGEpCi17Ci0g
ICAgaWRiU2VydmVyKCkuaXRlcmF0ZUN1cnNvcihyZXF1ZXN0LCBkYXRhKTsKLX0KLQotdm9pZCBX
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90IGRh
dGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYgaW5m
bykKLXsKLSAgICBpZGJTZXJ2ZXIoKS5lc3RhYmxpc2hUcmFuc2FjdGlvbihkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBpbmZvKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyKQotewotICAgIGlkYlNlcnZlcigpLmRhdGFiYXNlQ29ubmVjdGlvblBl
bmRpbmdDbG9zZShkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OmRhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBk
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKQotewotICAgIGlkYlNlcnZlcigpLmRhdGFiYXNl
Q29ubmVjdGlvbkNsb3NlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9p
ZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWlu
dDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCi17Ci0gICAgaWRiU2VydmVyKCkuYWJvcnRP
cGVuQW5kVXBncmFkZU5lZWRlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2Fj
dGlvbklkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlk
RmlyZVZlcnNpb25DaGFuZ2VFdmVudCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlm
aWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwg
SW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlciBjb25uZWN0aW9uQ2xv
c2VkKQotewotICAgIGlkYlNlcnZlcigpLmRpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQoZGF0YWJh
c2VDb25uZWN0aW9uSWRlbnRpZmllciwgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25uZWN0aW9u
Q2xvc2VkKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6Om9wZW5EQlJlcXVl
c3RDYW5jZWxsZWQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhKQotewotICAgIGlk
YlNlcnZlcigpLm9wZW5EQlJlcXVlc3RDYW5jZWxsZWQocmVxdWVzdERhdGEpOwotfQotCi12b2lk
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y29uZmlybURpZENsb3NlRnJvbVNlcnZlcih1aW50
NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKQotewotICAgIGlkYlNlcnZlcigpLmNv
bmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcik7Ci19
Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRBbGxEYXRhYmFzZU5hbWVzKGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQp
Ci17Ci0gICAgaWRiU2VydmVyKCkuZ2V0QWxsRGF0YWJhc2VOYW1lcyhpZGVudGlmaWVyKCksIHRv
cE9yaWdpbiwgb3BlbmluZ09yaWdpbiwgY2FsbGJhY2tJRCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9u
VG9DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudC5oCmluZGV4IDQ4OGQ5MDliYjhjMTdjYjVlYzMwNzM3YTRkMmFh
OTBkYWZjYzZiOTUuLjk5NTA4M2IwNDZhZDBkZDk3ZWUzMTk4NzIwOTUyYmRlY2JjODkzNmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC0yOCwyNiArMjgsMTEgQEAKICNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIK
LSNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVk
REIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKLWNsYXNzIElEQkN1cnNvckluZm87Ci1jbGFzcyBJREJJbmRleEluZm87Ci1j
bGFzcyBJREJLZXlEYXRhOwotY2xhc3MgSURCT2JqZWN0U3RvcmVJbmZvOwotY2xhc3MgSURCUmVx
dWVzdERhdGE7Ci1jbGFzcyBJREJUcmFuc2FjdGlvbkluZm87Ci1jbGFzcyBJREJWYWx1ZTsKLWNs
YXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLXN0cnVjdCBJREJHZXRBbGxSZWNvcmRzRGF0YTsK
LXN0cnVjdCBJREJHZXRSZWNvcmREYXRhOwotc3RydWN0IElEQkl0ZXJhdGVDdXJzb3JEYXRhOwot
c3RydWN0IElEQktleVJhbmdlRGF0YTsKLXN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7Ci0KIG5h
bWVzcGFjZSBJREJTZXJ2ZXIgewogY2xhc3MgSURCU2VydmVyOwogfQpAQCAtNjEsNTEgKzQ2LDE3
IEBAIGNsYXNzIFdlYklEQlNlcnZlcjsKIGNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCBm
aW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERl
bGVnYXRlLCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllcik7
CisgICAgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50KElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6
OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyKTsKIAogICAgIHZpcnR1YWwgfldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudCgpOwogCiAgICAgV2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9D
bGllbnQmIGNvbm5lY3Rpb25Ub0NsaWVudCgpOwogICAgIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7
IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJik7Ci0gICAgdm9pZCBkaXNjb25uZWN0ZWRGcm9tV2ViUHJvY2VzcygpOwotCiBwcml2
YXRlOgogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25z
dCBmaW5hbDsKICAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIDA7IH0KIAotICAgIC8vIE1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gV2Vi
UHJvY2VzcwotICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVz
dERhdGEmKTsKLSAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0
RGF0YSYpOwotICAgIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNv
dXJjZUlkZW50aWZpZXImKTsKLSAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNv
cmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdW
ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7Ci0gICAgdm9pZCBj
cmVhdGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyYpOwotICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUo
Y29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBTdHJpbmcmIG9iamVjdFN0b3Jl
TmFtZSk7Ci0gICAgdm9pZCByZW5hbWVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBu
ZXdOYW1lKTsKLSAgICB2b2lkIGNsZWFyT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIpOwotICAgIHZvaWQgY3Jl
YXRlSW5kZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJ
REJJbmRleEluZm8mKTsKLSAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJl
cXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGluZGV4TmFtZSk7Ci0gICAgdm9pZCByZW5hbWVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgdWludDY0X3QgaW5kZXhJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG5ld05hbWUpOwotICAgIHZvaWQgcHV0T3JBZGQoY29u
c3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiwg
Y29uc3QgV2ViQ29yZTo6SURCVmFsdWUmLCBXZWJDb3JlOjpJbmRleGVkREI6Ok9iamVjdFN0b3Jl
T3ZlcndyaXRlTW9kZSk7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhJik7Ci0gICAgdm9pZCBn
ZXRBbGxSZWNvcmRzKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29y
ZTo6SURCR2V0QWxsUmVjb3Jkc0RhdGEmKTsKLSAgICB2b2lkIGdldENvdW50KGNvbnN0IFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhJik7Ci0g
ICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25z
dCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsKLSAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3Qg
V2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvJik7
Ci0gICAgdm9pZCBpdGVyYXRlQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwg
Y29uc3QgV2ViQ29yZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEmKTsKLQotICAgIHZvaWQgZXN0YWJs
aXNoVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29u
c3QgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25JbmZvJik7Ci0gICAgdm9pZCBkYXRhYmFzZUNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcik7
Ci0gICAgdm9pZCBkYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25u
ZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgdm9pZCBhYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVp
bnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJl
c291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIGRpZEZp
cmVWZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmll
ciwgV2ViQ29yZTo6SW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlcik7
Ci0gICAgdm9pZCBvcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJik7Ci0gICAgdm9pZCBjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRh
dGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwotCi0gICAgdm9pZCBnZXRBbGxEYXRhYmFzZU5h
bWVzKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxi
YWNrSUQpOwotCiAgICAgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUKICAgICB2b2lk
IGRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmKSBmaW5hbDsK
ICAgICB2b2lkIGRpZE9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikg
ZmluYWw7CkBAIC0xMzUsOSArODYsNyBAQCBwcml2YXRlOgogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
TWVzc2FnZVR5cGU+IHZvaWQgaGFuZGxlR2V0UmVzdWx0KGNvbnN0IFdlYkNvcmU6OklEQlJlc3Vs
dERhdGEmKTsKIAotICAgIFdlYklEQlNlcnZlciYgaWRiU2VydmVyKCk7Ci0KLSAgICBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uOworICAgIFJlZjxJUEM6OkNvbm5l
Y3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmll
ciBtX2lkZW50aWZpZXI7CiAgICAgUmVmPFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlv
blRvQ2xpZW50PiBtX2Nvbm5lY3Rpb25Ub0NsaWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDIyNzNlYTk2MjkyMzU3YTllNjhlMDYwYTBhZWEzZjE5OWQ4OWQwYWQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmlu
CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
Ci0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLW1lc3NhZ2Vz
IC0+IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCBOb3RSZWZDb3VudGVkIHsKLSAgICBEZWxldGVE
YXRhYmFzZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKLSAgICBPcGVuRGF0
YWJhc2UoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpOwotICAgIEFib3J0VHJh
bnNhY3Rpb24oV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRp
Zmllcik7Ci0gICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlm
aWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci0gICAgRGlkRmluaXNoSGFuZGxpbmdWZXJzaW9u
Q2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwg
V2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcik7Ci0g
ICAgQ3JlYXRlT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEs
IFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyBpbmZvKTsKLSAgICBEZWxldGVPYmplY3RTdG9y
ZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgU3RyaW5nIG9iamVjdFN0b3Jl
TmFtZSk7Ci0gICAgUmVuYW1lT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVx
dWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUp
OwotICAgIENsZWFyT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERh
dGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllcik7Ci0gICAgQ3JlYXRlSW5kZXgoV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQkluZGV4SW5mbyBp
bmZvKTsKLSAgICBEZWxldGVJbmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0
YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBTdHJpbmcgaW5kZXhOYW1lKTsKLSAg
ICBSZW5hbWVJbmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0
X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIFN0cmlu
ZyBuZXdOYW1lKTsKLSAgICBQdXRPckFkZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0
RGF0YSwgV2ViQ29yZTo6SURCS2V5RGF0YSBrZXksIFdlYkNvcmU6OklEQlZhbHVlIHZhbHVlLCBX
ZWJDb3JlOjpJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSBvdmVyd3JpdGVNb2Rl
KTsKLSAgICBHZXRSZWNvcmQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0
cnVjdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhIGdldFJlY29yZERhdGEpOwotICAgIEdldEFs
bFJlY29yZHMoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJD
b3JlOjpJREJHZXRBbGxSZWNvcmRzRGF0YSBnZXRBbGxSZWNvcmRzRGF0YSk7Ci0gICAgR2V0Q291
bnQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJ
REJLZXlSYW5nZURhdGEgcmFuZ2UpOwotICAgIERlbGV0ZVJlY29yZChXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSByYW5n
ZSk7Ci0gICAgT3BlbkN1cnNvcihXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwg
V2ViQ29yZTo6SURCQ3Vyc29ySW5mbyBpbmZvKTsKLSAgICBJdGVyYXRlQ3Vyc29yKFdlYkNvcmU6
OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCSXRlcmF0ZUN1
cnNvckRhdGEgZGF0YSk7Ci0KLSAgICBFc3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRh
YmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm8gaW5m
byk7Ci0gICAgRGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90IGRhdGFiYXNl
Q29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIERhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50
NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICBBYm9ydE9wZW5BbmRVcGdy
YWRlTmVlZGVkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZpZXIpOwotICAgIERpZEZp
cmVWZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyLCBXZWJD
b3JlOjpJbmRleGVkREI6OkNvbm5lY3Rpb25DbG9zZWRPbkJlaGFsZk9mU2VydmVyIGNvbm5lY3Rp
b25DbG9zZWRPbkJlaGFsZk9mU2VydmVyKTsKLSAgICBPcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKFdl
YkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhKTsKLSAgICBDb25maXJtRGlkQ2xvc2VG
cm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwotCi0gICAg
R2V0QWxsRGF0YWJhc2VOYW1lcyhzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRv
cE9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcGVuaW5nT3JpZ2lu
LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKLX0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWRE
Qi9XZWJJREJTZXJ2ZXIuY3BwCmluZGV4IDg0ZTZkOTc4MTEzYzE0Njc0NDhlYzBjM2E3NDA1N2Zj
YmM3MWNmZmEuLjNlZmYzZWI1ZjQ4YjNhYzMyOTQ0Y2FjM2RiMDQ0NDlmZThiM2M3YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURC
U2VydmVyLmNwcApAQCAtMjY5LDExICsyNjksMTQgQEAgdm9pZCBXZWJJREJTZXJ2ZXI6Om9wZW5E
QlJlcXVlc3RDYW5jZWxsZWQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3QK
ICAgICBtX3NlcnZlci0+b3BlbkRCUmVxdWVzdENhbmNlbGxlZChyZXF1ZXN0RGF0YSk7CiB9CiAK
LXZvaWQgV2ViSURCU2VydmVyOjpnZXRBbGxEYXRhYmFzZU5hbWVzKFdlYkNvcmU6OklEQkNvbm5l
Y3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFja0lEKQordm9p
ZCBXZWJJREJTZXJ2ZXI6OmdldEFsbERhdGFiYXNlTmFtZXMoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdp
biwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50
NjRfdCBjYWxsYmFja0lEKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAg
ICBtX3NlcnZlci0+Z2V0QWxsRGF0YWJhc2VOYW1lcyhzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
ciwgbWFpbkZyYW1lT3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKTsKKyAgICBhdXRv
KiB3ZWJJREJDb25uZWN0aW9uID0gbV9jb25uZWN0aW9uTWFwLmdldChjb25uZWN0aW9uLnVuaXF1
ZUlEKCkpOworICAgIEFTU0VSVCh3ZWJJREJDb25uZWN0aW9uKTsKKworICAgIG1fc2VydmVyLT5n
ZXRBbGxEYXRhYmFzZU5hbWVzKHdlYklEQkNvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSwgbWFpbkZy
YW1lT3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKTsKIH0KICAgICAKIHZvaWQgV2Vi
SURCU2VydmVyOjpjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIpCkBAIC0yODMsNSArMjg2LDI3IEBAIHZvaWQgV2ViSURCU2VydmVy
Ojpjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklk
ZW50aWZpCiAgICAgbV9zZXJ2ZXItPmNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoZGF0YWJhc2VD
b25uZWN0aW9uSWRlbnRpZmllcik7CiB9CiAKK3ZvaWQgV2ViSURCU2VydmVyOjphZGRDb25uZWN0
aW9uKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZp
ZXIgcHJvY2Vzc0lkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
KworICAgIGF1dG9baXRlciwgaXNOZXdFbnRyeV0gPSBtX2Nvbm5lY3Rpb25NYXAuZW5zdXJlKGNv
bm5lY3Rpb24udW5pcXVlSUQoKSwgWyZjb25uZWN0aW9uLCBwcm9jZXNzSWRlbnRpZmllcl0gewor
ICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+KGNvbm5l
Y3Rpb24sIHByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICAKKyAgICBBU1NFUlQoaXNO
ZXdFbnRyeSk7CisKKyAgICBtX3NlcnZlci0+cmVnaXN0ZXJDb25uZWN0aW9uKGl0ZXItPnZhbHVl
LT5jb25uZWN0aW9uVG9DbGllbnQoKSk7Cit9CisKK3ZvaWQgV2ViSURCU2VydmVyOjpyZW1vdmVD
b25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKK3sKKyAgICBhdXRvIHRha2Vu
Q29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbk1hcC50YWtlKGNvbm5lY3Rpb24udW5pcXVlSUQoKSk7
CisKKyAgICBBU1NFUlQodGFrZW5Db25uZWN0aW9uKTsKKworICAgIG1fc2VydmVyLT51bnJlZ2lz
dGVyQ29ubmVjdGlvbih0YWtlbkNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0NsaWVudCgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKaW5kZXggMGI0NmU3NDEz
NjU0YmJhZDJiM2RmNjc5ZGZkYThmMzM1ZjA0ZGJkMS4uNGQxNWQ1MmMxMjY5MjE4MWQ4ZDBkNzVm
NDBjMjVmNjI1MTU4MDNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKQEAgLTgyLDEzICs4MiwyMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaWRGaXJlVmVyc2lvbkNoYW5nZUV2ZW50KHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYg
cmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkluZGV4ZWREQjo6Q29ubmVjdGlvbkNs
b3NlZE9uQmVoYWxmT2ZTZXJ2ZXIpOwogICAgIHZvaWQgb3BlbkRCUmVxdWVzdENhbmNlbGxlZChj
b25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwogICAgIHZvaWQgY29uZmlybURpZENsb3Nl
RnJvbVNlcnZlcih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICB2
b2lkIGdldEFsbERhdGFiYXNlTmFtZXMoV2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIs
IGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZ2V0QWxsRGF0
YWJhc2VOYW1lcyhJUEM6OkNvbm5lY3Rpb24mLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCB1aW50NjRfdCBjYWxs
YmFja0lEKTsKKworICAgIHZvaWQgYWRkQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mLCBXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVDb25uZWN0aW9uKElQQzo6
Q29ubmVjdGlvbiYpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKTsKIAogcHJpdmF0ZToKICAgICBXZWJJREJTZXJ2ZXIoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBXZWJDb3JlOjpJREJTZXJ2ZXI6OklE
QlNlcnZlcjo6U3RvcmFnZVF1b3RhTWFuYWdlclNwYWNlUmVxdWVzdGVyJiYpOwogCiAgICAgUmVm
PFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyPiBtX3NlcnZlcjsKICAgICBib29sIG1faXNT
dXNwZW5kZWQgeyBmYWxzZSB9OworCisgICAgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1
ZUlELCBzdGQ6OnVuaXF1ZV9wdHI8V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Pj4gbV9jb25uZWN0
aW9uTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ0MGE2MTZlMWRhYTZjZjJlYjMyMWMwN2QyMGFjODAyNzU3
MGU0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDU3IEBACisjIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKKworbWVzc2FnZXMgLT4gV2ViSURCU2VydmVyIHsKKyAgICBEZWxldGVEYXRhYmFzZShX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKKyAgICBPcGVuRGF0YWJhc2UoV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpCisgICAgQWJvcnRUcmFuc2FjdGlvbihX
ZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQorICAg
IENvbW1pdFRyYW5zYWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2Fj
dGlvbklkZW50aWZpZXIpCisgICAgRGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6SURC
UmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKKyAgICBDcmVhdGVPYmpl
Y3RTdG9yZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURC
T2JqZWN0U3RvcmVJbmZvIGluZm8pCisgICAgRGVsZXRlT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURC
UmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFN0cmluZyBvYmplY3RTdG9yZU5hbWUpCisgICAgUmVu
YW1lT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHVpbnQ2
NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUpCisgICAgQ2xlYXJPYmpl
Y3RTdG9yZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2Jq
ZWN0U3RvcmVJZGVudGlmaWVyKQorICAgIENyZWF0ZUluZGV4KFdlYkNvcmU6OklEQlJlcXVlc3RE
YXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJJbmRleEluZm8gaW5mbykKKyAgICBEZWxldGVJ
bmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0
U3RvcmVJZGVudGlmaWVyLCBTdHJpbmcgaW5kZXhOYW1lKQorICAgIFJlbmFtZUluZGV4KFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgU3RyaW5nIG5ld05hbWUpCisgICAgUHV0
T3JBZGQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQktl
eURhdGEga2V5LCBXZWJDb3JlOjpJREJWYWx1ZSB2YWx1ZSwgV2ViQ29yZTo6SW5kZXhlZERCOjpP
YmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUgb3ZlcndyaXRlTW9kZSkKKyAgICBHZXRSZWNvcmQoV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJHZXRS
ZWNvcmREYXRhIGdldFJlY29yZERhdGEpCisgICAgR2V0QWxsUmVjb3JkcyhXZWJDb3JlOjpJREJS
ZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQkdldEFsbFJlY29yZHNE
YXRhIGdldEFsbFJlY29yZHNEYXRhKQorICAgIEdldENvdW50KFdlYkNvcmU6OklEQlJlcXVlc3RE
YXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhIHJhbmdlKQor
ICAgIERlbGV0ZVJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3Ry
dWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSByYW5nZSkKKyAgICBPcGVuQ3Vyc29yKFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvIGlu
Zm8pCisgICAgSXRlcmF0ZUN1cnNvcihXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0
YSwgc3RydWN0IFdlYkNvcmU6OklEQkl0ZXJhdGVDdXJzb3JEYXRhIGRhdGEpCisKKyAgICBFc3Rh
Ymxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBX
ZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm8gaW5mbykKKyAgICBEYXRhYmFzZUNvbm5lY3Rpb25Q
ZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICBE
YXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRp
ZmllcikKKyAgICBBYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2Fj
dGlvbklkZW50aWZpZXIpCisgICAgRGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudCh1aW50NjRfdCBk
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXIgcmVxdWVzdElkZW50aWZpZXIsIFdlYkNvcmU6OkluZGV4ZWREQjo6Q29ubmVjdGlvbkNsb3Nl
ZE9uQmVoYWxmT2ZTZXJ2ZXIgY29ubmVjdGlvbkNsb3NlZE9uQmVoYWxmT2ZTZXJ2ZXIpCisgICAg
T3BlbkRCUmVxdWVzdENhbmNlbGxlZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0
YSkKKyAgICBDb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIpCisKKyAgICBHZXRBbGxEYXRhYmFzZU5hbWVzKHN0cnVjdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpIFdhbnRzQ29ubmVj
dGlvbgorfQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwCmluZGV4IDA0NDE5ZTI4MjRhMDk1YzVjMjIzYzI0OTAxOGM4OTNmZTdi
OWFjMGQuLmEyZDFlNGY0NWJmMDY4YjNkM2IyZDY4NjJmMDcxMGYxNWE0NzIwM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC01NCw4ICs1NCw3IEBACiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckZldGNoVGFza01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCi0jaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50LmgiCi0jaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nl
c3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCIKQEAgLTIyMCw5ICsyMTksOCBA
QCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpbwogICAgIH0KIAogI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQotICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdl
czo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAg
ICAgICAgaWYgKG1fd2ViSURCQ29ubmVjdGlvbikKLSAgICAgICAgICAgIG1fd2ViSURCQ29ubmVj
dGlvbi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgaWYgKGRl
Y29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT53ZWJJREJT
ZXJ2ZXIobV9zZXNzaW9uSUQpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCkBAIC0zMTQsNyArMzEyLDcgQEAgdm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uKQogICAgIC8vIHJvb3QgYWN0aXZpdHkgdHJhY2tlcnMuCiAgICAgc3RvcEFs
bE5ldHdvcmtBY3Rpdml0eVRyYWNraW5nKCk7CiAKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5jb25u
ZWN0aW9uVG9XZWJQcm9jZXNzQ2xvc2VkKGNvbm5lY3Rpb24pOworICAgIG1fbmV0d29ya1Byb2Nl
c3MtPmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoY29ubmVjdGlvbiwgbV9zZXNzaW9uSUQp
OwogCiAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoKnRoaXMpOwogCkBAIC0zMjUsMTEgKzMyMyw2IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKICAg
ICB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIGlmIChhdXRv
IGlkYkNvbm5lY3Rpb24gPSBzdGQ6OmV4Y2hhbmdlKG1fd2ViSURCQ29ubmVjdGlvbiwgeyB9KSkK
LSAgICAgICAgaWRiQ29ubmVjdGlvbi0+ZGlzY29ubmVjdGVkRnJvbVdlYlByb2Nlc3MoKTsKLSNl
bmRpZgotICAgIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB1bnJlZ2lzdGVyU1dD
b25uZWN0aW9uKCk7CiAjZW5kaWYKQEAgLTkwOCwxNiArOTAxLDYgQEAgc2l6ZV90IE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpmaW5kTmV0d29ya0FjdGl2aXR5VHJhY2tlcihSZXNvdXJj
ZUxvYWRJZGUKICAgICAgICAgcmV0dXJuIGl0ZW0ucmVzb3VyY2VJRCA9PSByZXNvdXJjZUlEOwog
ICAgIH0pOwogfQotCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi12b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKQot
ewotICAgIExPRyhJbmRleGVkREIsICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZXN0
YWJsaXNoSURCQ29ubmVjdGlvblRvU2VydmVyIC0gJSIgUFJJdTY0LCBtX3Nlc3Npb25JRC50b1VJ
bnQ2NCgpKTsKLSAgICBBU1NFUlQoIW1fd2ViSURCQ29ubmVjdGlvbik7Ci0gICAgCi0gICAgbV93
ZWJJREJDb25uZWN0aW9uID0gbWFrZVVuaXF1ZTxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+KCp0
aGlzLCBtX3dlYlByb2Nlc3NJZGVudGlmaWVyKTsKLX0KLSNlbmRpZgogICAgIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVu
cmVnaXN0ZXJTV0Nvbm5lY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDBiYWI1
NmM1MjA5NGZiZWI2MDg5ODFlNjg1NzQ4YjRjMDY2Njc3ODYuLjBlNmU4MjMyYjcyYWE4NzkyMmRh
ODgwZDJmYzJmZGU4ODQxMmY3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTcyLDcg
KzcyLDYgQEAgY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM7CiBjbGFzcyBOZXR3
b3JrU2Vzc2lvbjsKIGNsYXNzIE5ldHdvcmtTb2NrZXRDaGFubmVsOwogY2xhc3MgTmV0d29ya1Nv
Y2tldFN0cmVhbTsKLWNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDsKIGNsYXNzIFdlYlNX
U2VydmVyQ29ubmVjdGlvbjsKIGNsYXNzIFdlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjsK
IHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKQEAgLTIyMCwxMSArMjE5
LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlU29ja2V0Q2hhbm5lbChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCB1aW50NjRfdCBp
ZGVudGlmaWVyKTsKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIC8vIE1lc3Nh
Z2VzIGhhbmRsZXJzIChNb2Rlcm4gSURCKS4KLSAgICB2b2lkIGVzdGFibGlzaElEQkNvbm5lY3Rp
b25Ub1NlcnZlcigpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAg
dm9pZCBlc3RhYmxpc2hTV1NlcnZlckNvbm5lY3Rpb24oKTsKICAgICB2b2lkIGVzdGFibGlzaFNX
Q29udGV4dENvbm5lY3Rpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJik7CkBAIC0zMzUs
MTAgKzMyOSw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8Q2FjaGVTdG9yYWdlRW5naW5lQ29u
bmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uOwogCi0jaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD4g
bV93ZWJJREJDb25uZWN0aW9uOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAgICAgV2Vha1B0cjxXZWJTV1NlcnZlckNvbm5lY3Rpb24+IG1fc3dDb25uZWN0aW9uOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24+IG1fc3dDb250
ZXh0Q29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDA5MWZhMWMwNWUwZTNlYTlhMDk5M2Y0MmMyNTdlNWQ3NGM5NmFiMjYuLmIwZGFhM2Mz
ZjA4NTMxYzk5MTk1NWM5MTljMmMzZDM0NjNhMmQyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNzQsMTAgKzc0LDYgQEAgbWVzc2FnZXMgLT4gTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIEdldE5ldHdv
cmtMb2FkSW50ZXJtZWRpYXRlSW5mb3JtYXRpb24odWludDY0X3QgcmVzb3VyY2VMb2FkSWRlbnRp
ZmllcikgLT4gKFZlY3RvcjxXZWJDb3JlOjpOZXR3b3JrVHJhbnNhY3Rpb25JbmZvcm1hdGlvbj4g
dHJhbnNhY3Rpb25zKSBTeW5jaHJvbm91cwogICAgIFRha2VOZXR3b3JrTG9hZEluZm9ybWF0aW9u
TWV0cmljcyh1aW50NjRfdCByZXNvdXJjZUxvYWRJZGVudGlmaWVyKSAtPiAoV2ViQ29yZTo6TmV0
d29ya0xvYWRNZXRyaWNzIG5ldHdvcmtNZXRyaWNzKSBTeW5jaHJvbm91cwogCi0jaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCi0gICAgRXN0YWJsaXNoSURCQ29ubmVjdGlvblRvU2VydmVyKCkK
LSNlbmRpZgotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIEVzdGFibGlzaFNXQ29u
dGV4dENvbm5lY3Rpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluKQogICAgIENs
b3NlU1dDb250ZXh0Q29ubmVjdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDQ0N2UxMzZiYTNiNGQzZDNhZThiOTNmMGMwZGI3
ZjQ1YjllYzcxNGMuLjkwOWE0MjQ3NTI0OTJkNzI4YjU2NDE3ZGUxYjdkYWE1ODViODc1ZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBA
IC0zODcsNiArMzg3LDggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y3JlYXRlTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIgaWRlbnQKICAgICBjb25uZWN0aW9u
LnNldE9uTGluZVN0YXRlKE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpzaW5nbGV0b24oKS5vbkxpbmUo
KSk7CiAKICAgICBtX3N0b3JhZ2VNYW5hZ2VyU2V0LT5hZGRDb25uZWN0aW9uKGNvbm5lY3Rpb24u
Y29ubmVjdGlvbigpKTsKKworICAgIHdlYklEQlNlcnZlcihzZXNzaW9uSUQpLmFkZENvbm5lY3Rp
b24oY29ubmVjdGlvbi5jb25uZWN0aW9uKCksIGlkZW50aWZpZXIpOwogfQogCiB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpjbGVhckNhY2hlZENyZWRlbnRpYWxzKCkKQEAgLTI1MjcsOSArMjUyOSwxMCBA
QCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpnZXRMb2NhbFN0b3JhZ2VPcmlnaW5EZXRhaWxzKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcAogICAgIH0pOwogfQogCi12b2lkIE5ldHdvcmtQcm9j
ZXNzOjpjb25uZWN0aW9uVG9XZWJQcm9jZXNzQ2xvc2VkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7
CiAgICAgbV9zdG9yYWdlTWFuYWdlclNldC0+cmVtb3ZlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsK
KyAgICB3ZWJJREJTZXJ2ZXIoc2Vzc2lvbklEKS5yZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb24p
OwogfQogCiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogTmV0d29ya1Byb2Nlc3M6Ondl
YlByb2Nlc3NDb25uZWN0aW9uKFByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNTBh
MTg3ODA0OTVjN2QzNWY5ZDNiZGQ0YjAyMDAyNTlhNTVhNTJlNS4uOGM5ZGI1ODU2Nzg2MzlkYTAw
NmI2MzQ0YTUzZTYwYzgyMDcyNGI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjcwLDcgKzI3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFNlc3Npb25Jc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oUEFMOjpTZXNzaW9uSUQsIGJvb2wp
OwogICAgIGJvb2wgc2Vzc2lvbklzQ29udHJvbGxlZEJ5QXV0b21hdGlvbihQQUw6OlNlc3Npb25J
RCkgY29uc3Q7CiAKLSAgICB2b2lkIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoSVBDOjpD
b25uZWN0aW9uJik7CisgICAgdm9pZCBjb25uZWN0aW9uVG9XZWJQcm9jZXNzQ2xvc2VkKElQQzo6
Q29ubmVjdGlvbiYsIFBBTDo6U2Vzc2lvbklEKTsKICAgICB2b2lkIGdldExvY2FsU3RvcmFnZU9y
aWdpbkRldGFpbHMoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9y
PExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlcjo6T3JpZ2luRGV0YWlscz4mJik+JiYpOwogCiAj
aWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ2NmNkZTk5Y2VkYTQxYWIzZDEyNWIwMjUy
YmEyOWM2YTkxZjI4NmMuLmM1OWIxYTM2ZTZkM2M2N2QxMTY5NzY5ZDhiZTEwZWIxYmJlODU0MmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTMyLDggKzkzMiw2IEBACiAJCTRGNjAxNDMyMTU1QzVBQTIwMDFGQkRFMCAvKiBCbG9ja2lu
Z1Jlc3BvbnNlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0RjYwMTQzMDE1NUM1QTMyMDAxRkJERTAgLyogQmxvY2tpbmdSZXNwb25zZU1hcC5oICov
OyB9OwogCQk1MTA1MjM3NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMDUyMzczMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJN
ZXNzYWdlcy5oICovOyB9OwogCQk1MTA1MjM3NTFDNzNEMzhGMDA3OTkzQ0IgLyogV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwotCQk1MTA1MjM3
OTFDNzNEQTc3MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
MDUyMzc3MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OwotCQk1MTA1MjM3QTFDNzNEQTc3MDA3OTkzQ0IgLyogV2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDUyMzc4MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oICovOyB9OwogCQk1MTA2RDdDNDE4QkRCRTczMDAwQUIx
NjYgLyogQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwNkQ3QzAxOEJEQkU3MzAwMEFCMTY2IC8qIENvbnRleHRN
ZW51Q29udGV4dERhdGEuaCAqLzsgfTsKIAkJNTEwQUZGQkExNjU0MjA0ODAwMUJBMDVFIC8qIFdl
YlJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTBBRkZCODE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCAq
LzsgfTsKIAkJNTEwRjU5MTAxRERFMjk2OTAwNDEyRkY1IC8qIF9XS0ljb25Mb2FkaW5nRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDNC
MjVFMUREQ0RGRDEwMDE0RkFDNiAvKiBfV0tJY29uTG9hZGluZ0RlbGVnYXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyOTUsNiArMTI5Myw4
IEBACiAJCTkzMjYxMTYxMjE0MDU0RjQwMDA4MDZFNyAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTI4
OEREMjE0MDRENkMwMEVCQkEzMyAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCAqLzsgfTsK
IAkJOTMzREY4MkUxQjNCQzA5MDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0RG
ODJEMUIzQkMwOTAwMEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVyLmggKi87
IH07CiAJCTkzM0U4MzU1MjNBMDdDMDYwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0U4MzUzMjNBMDdCRjgw
MERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIuaCAqLzsgfTsKKwkJOTMzRTgzNUEyM0ExQUUyODAwREVG
Mjg5IC8qIFdlYklEQlNlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5MzNFODM1OTIzQTFBREY1MDBERUYyODkgLyogV2ViSURCU2Vy
dmVyTWVzc2FnZXMuaCAqLzsgfTsKKwkJOTMzRTgzNUIyM0ExQjc1MDAwREVGMjg5IC8qIFdlYklE
QlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MzNFODM1ODIzQTFBREY1MDBERUYyODkgLyogV2ViSURCU2VydmVy
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJOTM0QjcyNDQxOUY1QjlCRTAwQUU5NkQ2IC8q
IFdLQWN0aW9uTWVudUl0ZW1UeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTM0QjcyNDMxOUY1QjlCRTAwQUU5NkQ2IC8qIFdLQWN0aW9uTWVudUl0
ZW1UeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTkzNTZGMkRDMjE1MkI2QjUwMEU2RDVERiAvKiBXZWJTV0NsaWVudENvbm5lY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0E1MzAyMUY0
NzkzQjIwMERDREMwQSAvKiBXZWJTV0NsaWVudENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJOTM1NkYy
REQyMTUyQjZGNjAwRTZENURGIC8qIFdlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCQTA0RTAyMTUxQURGNDAwN0Y0
NTVGIC8qIFdlYlNXU2VydmVyQ29ubmVjdGlvbi5oICovOyB9OwpAQCAtNDA0OCw2ICs0MDQ4LDkg
QEAKIAkJOTMzREY4MkYxQjNCQzBCNDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRy
b2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0ltYWdl
UHJldmlld1ZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzNFODM1MzIzQTA3QkY4MDBERUYyODkgLyogV2ViSURCU2VydmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYklEQlNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5MzNFODM1NDIzQTA3QkY5MDBERUYyODkgLyogV2ViSURCU2VydmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYklEQlNlcnZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzM0U4MzU3MjNBMUE4NzIwMERFRjI4OSAvKiBXZWJJ
REJTZXJ2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSURCU2VydmVy
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzNFODM1ODIzQTFB
REY1MDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5j
cHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTkzM0U4MzU5
MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OwogCQk5MzRCNzI0MzE5RjVCOUJFMDBBRTk2RDYgLyogV0tBY3Rp
b25NZW51SXRlbVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQWN0
aW9uTWVudUl0ZW1UeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzVFRUI5
NTEyNzc2MTZEMDAzMzIyQjggLyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzVFRUI5NjEyNzc2MTZEMDAzMzIyQjgg
LyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQwNjQsNyArNDA2Nyw2IEBACiAJCTkzOTFGMjg0MTIxQjM4RjUwMEVCRjdFOCAvKiBX
ZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTM5Mjg4REQyMTQwNEQ2QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMzIC8q
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5MzkyODhFMjIxNDA0RTEwMDBFQkJBMzMgLyogV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTM5NUU2ODkxQkYyQzMzMjAwRjQ5QkNFIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJldmlld0VsZW1lbnRJbmZvLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzOTVFNjhCMUJGMkMzNTIwMEY0OUJDRSAvKiBXS1By
ZXZpZXdFbGVtZW50SW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdLUHJldmlld0VsZW1lbnRJbmZvLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5MzlBRTc2NTEzMTZFOTlDMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjE5LDkgKzc2MjEsOSBAQAog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMzIC8qIFdlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8sCiAJCQkJOTM5Mjg4REQyMTQwNEQ2QzAwRUJCQTMzIC8q
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oICovLAotCQkJCTkzOTI4OEUyMjE0MDRFMTAwMEVC
QkEzMyAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4gKi8sCiAJCQkJOTMz
RTgzNTQyM0EwN0JGOTAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5jcHAgKi8sCiAJCQkJOTMzRTgz
NTMyM0EwN0JGODAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5oICovLAorCQkJCTkzM0U4MzU3MjNB
MUE4NzIwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IEluZGV4ZWREQjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC05MTkzLDYg
KzkxOTUsOCBAQAogCQkJCTUxMDUyMzc4MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0
aW9uVG9DbGllbnRNZXNzYWdlcy5oICovLAogCQkJCTUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAv
KiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUx
MDUyMzczMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdl
cy5oICovLAorCQkJCTkzM0U4MzU4MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTkzM0U4MzU5MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJ
REJTZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCUZFREJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAvKiBX
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJ
CQlGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0
Y2hlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUM4RTJBMzExMjc3ODUyNDAwQkM3QkQwIC8qIFdlYklu
c3BlY3Rvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMDIwMiwxMCArMTAyMDYsMTAgQEAK
IAkJCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUY0NERGRUIyMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzI2MTE2MTIxNDA1NEY0MDAwODA2RTcgLyog
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTA1MjM3QTFD
NzNEQTc3MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxNDEyOTk0MUM2NDI4QkIwMDU5RTcxNCAvKiBXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzc0MUM3M0QzOEIwMDc5OTND
QiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTMzRTgzNTUyM0EwN0MwNjAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTMzRTgzNUEyM0ExQUUyODAwREVGMjg5IC8qIFdlYklEQlNlcnZlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NGNkFCRDEyQzkxRUY5MDA4RjlDMzUgLyogV2ViSW1h
Z2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJ
bnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDgyMTBGNDM3OEQwMDU4QzE1QSAv
KiBXZWJJbnNwZWN0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTE4NzUsOCArMTE4Nzks
OCBAQAogCQkJCUNENzNCQTQ3MTMxQUNDOUEwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MDYxMTJE
NkJBOTEwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYxODIxMkQ2Q0IxRDAwMTJBNzJBIC8qIFdlYkdlb2xv
Y2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTUxMDUyMzc5MUM3M0RBNzcwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwNTIzNzUxQzczRDM4RjAwNzk5
M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk5MzNFODM1QjIzQTFCNzUwMDBERUYyODkgLyogV2ViSURCU2VydmVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFREJEQ0Q2MUU2OEQyMDAwMEE1
OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFDOEUyQTM1MTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNw
ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUNBOEI5NDUxMjdD
ODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNl
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5j
cHAKaW5kZXggOGI1ZjFmMTI3N2UxYTk1ZDFiMTk5YTlhMGU0NmM1MzRmZDZlODY0ZC4uMjA3ZWVl
MDk2OGNmNWQzYmYyMmU0NjczNWI5MjhkZWU5Yjk3MWQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVk
ZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVy
cy5oIgotI2luY2x1ZGUgIldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiV2ViSURCUmVzdWx0LmgiCisjaW5jbHVkZSAiV2ViSURCU2VydmVyTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9JREJDb25uZWN0aW9u
VG9TZXJ2ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lEQkN1cnNvckluZm8uaD4KQEAgLTYxLDcg
KzYxLDYgQEAgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyOjpjcmVhdGUoKQogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIoKQogICAgIDogbV9jb25uZWN0aW9uVG9TZXJ2ZXIoSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSgqdGhpcykpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkVzdGFibGlzaElEQkNvbm5lY3Rpb25Ub1Nl
cnZlcigpLCAwKTsKIH0KIAogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjp+V2ViSURCQ29ubmVj
dGlvblRvU2VydmVyKCkKQEAgLTg1LDEzNyArODQsMTM3IEBAIElEQkNsaWVudDo6SURCQ29ubmVj
dGlvblRvU2VydmVyJiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvcmVDb25uZWN0aW9uVG9T
ZXJ2CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkZWxldGVEYXRhYmFzZShjb25z
dCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpEZWxldGVEYXRhYmFzZShyZXF1ZXN0RGF0YSkpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGVsZXRlRGF0YWJhc2UocmVxdWVzdERhdGEp
KTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om9wZW5EYXRhYmFzZShjb25z
dCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpPcGVuRGF0YWJhc2UocmVxdWVzdERhdGEpKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6Ok9wZW5EYXRhYmFzZShyZXF1ZXN0RGF0YSkpOwog
fQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKIHsKLSAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkFib3J0VHJhbnNhY3Rpb24o
dHJhbnNhY3Rpb25JZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVy
OjpBYm9ydFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3Vy
Y2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdl
czo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlv
bklkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkNvbW1pdFRy
YW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24o
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpEaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VU
cmFuc2FjdGlvbihkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbklkZW50
aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkRpZEZpbmlzaEhhbmRs
aW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIs
IHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRh
LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8pCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpDcmVhdGVPYmplY3RTdG9yZShyZXF1ZXN0RGF0YSwg
aW5mbykpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6Q3JlYXRlT2JqZWN0U3Rv
cmUocmVxdWVzdERhdGEsIGluZm8pKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXI6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwg
Y29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpEZWxldGVPYmplY3RTdG9yZShyZXF1ZXN0RGF0YSwgb2Jq
ZWN0U3RvcmVOYW1lKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpEZWxldGVP
YmplY3RTdG9yZShyZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVOYW1lKSk7CiB9CiAKIHZvaWQgV2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYgcmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBuZXdOYW1lKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6UmVuYW1lT2JqZWN0U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRp
ZmllciwgbmV3TmFtZSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6UmVuYW1l
T2JqZWN0U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgbmV3TmFtZSkp
OwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y2xlYXJPYmplY3RTdG9yZShj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRl
bnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6
OkNsZWFyT2JqZWN0U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllcikpOwor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6Q2xlYXJPYmplY3RTdG9yZShyZXF1ZXN0
RGF0YSwgb2JqZWN0U3RvcmVJZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEs
IGNvbnN0IElEQkluZGV4SW5mbyYgaW5mbykKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJD
b25uZWN0aW9uVG9DbGllbnQ6OkNyZWF0ZUluZGV4KHJlcXVlc3REYXRhLCBpbmZvKSk7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpDcmVhdGVJbmRleChyZXF1ZXN0RGF0YSwgaW5m
bykpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlSW5kZXgoY29u
c3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKQogewotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6RGVsZXRlSW5kZXgocmVxdWVzdERhdGEsIG9iamVjdFN0
b3JlSWRlbnRpZmllciwgaW5kZXhOYW1lKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2Vy
dmVyOjpEZWxldGVJbmRleChyZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRl
eE5hbWUpKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OnJlbmFtZUluZGV4
KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmV3TmFt
ZSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OlJlbmFt
ZUluZGV4KHJlcXVlc3REYXRhLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGluZGV4SWRlbnRpZmll
ciwgbmV3TmFtZSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6UmVuYW1lSW5k
ZXgocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgaW5kZXhJZGVudGlmaWVyLCBu
ZXdOYW1lKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpwdXRPckFkZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleURhdGEmIGtleURh
dGEsIGNvbnN0IElEQlZhbHVlJiB2YWx1ZSwgY29uc3QgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92
ZXJ3cml0ZU1vZGUgbW9kZSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQ6OlB1dE9yQWRkKHJlcXVlc3REYXRhLCBrZXlEYXRhLCB2YWx1ZSwgbW9kZSkpOwor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6UHV0T3JBZGQocmVxdWVzdERhdGEsIGtl
eURhdGEsIHZhbHVlLCBtb2RlKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
OjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJH
ZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6R2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRh
KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpHZXRSZWNvcmQocmVxdWVzdERh
dGEsIGdldFJlY29yZERhdGEpKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmdldEFsbFJlY29yZHMoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJ
REJHZXRBbGxSZWNvcmRzRGF0YSYgZ2V0QWxsUmVjb3Jkc0RhdGEpCiB7Ci0gICAgc2VuZChNZXNz
YWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpHZXRBbGxSZWNvcmRzKHJlcXVlc3REYXRh
LCBnZXRBbGxSZWNvcmRzRGF0YSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6
R2V0QWxsUmVjb3JkcyhyZXF1ZXN0RGF0YSwgZ2V0QWxsUmVjb3Jkc0RhdGEpKTsKIH0KIAogdm9p
ZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRh
JiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiByYW5nZSkKIHsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkdldENvdW50KHJlcXVlc3REYXRh
LCByYW5nZSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6R2V0Q291bnQocmVx
dWVzdERhdGEsIHJhbmdlKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpk
ZWxldGVSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJL
ZXlSYW5nZURhdGEmIHJhbmdlKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6RGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCByYW5nZSkpOworICAgIHNlbmQo
TWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCByYW5nZSkp
OwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6b3BlbkN1cnNvcihjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQkN1cnNvckluZm8mIGluZm8pCiB7
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpPcGVuQ3Vyc29y
KHJlcXVlc3REYXRhLCBpbmZvKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpP
cGVuQ3Vyc29yKHJlcXVlc3REYXRhLCBpbmZvKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjppdGVyYXRlQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0
YSwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmIGRhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdl
czo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpJdGVyYXRlQ3Vyc29yKHJlcXVlc3REYXRhLCBk
YXRhKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpJdGVyYXRlQ3Vyc29yKHJl
cXVlc3REYXRhLCBkYXRhKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpl
c3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
LCBjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mIGluZm8pCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpFc3RhYmxpc2hUcmFuc2FjdGlvbihkYXRhYmFzZUNv
bm5lY3Rpb25JZGVudGlmaWVyLCBpbmZvKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2Vy
dmVyOjpFc3RhYmxpc2hUcmFuc2FjdGlvbihkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBp
bmZvKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkYXRhYmFzZUNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikK
IHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkRhdGFiYXNl
Q29ubmVjdGlvblBlbmRpbmdDbG9zZShkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKSk7Cisg
ICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpEYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5n
Q2xvc2UoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRhdGFi
YXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjpEYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQoZGF0YWJhc2VDb25uZWN0
aW9uSWRlbnRpZmllcikpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGF0YWJh
c2VDb25uZWN0aW9uQ2xvc2VkKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpKTsKIH0KIAog
dm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQo
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpBYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKGRhdGFi
YXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOworICAgIHNl
bmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6QWJvcnRPcGVuQW5kVXBncmFkZU5lZWRlZChkYXRh
YmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbklkZW50aWZpZXIpKTsKIH0KIAog
dm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQo
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgSW5kZXhlZERCOjpDb25uZWN0aW9u
Q2xvc2VkT25CZWhhbGZPZlNlcnZlciBjb25uZWN0aW9uQ2xvc2VkKQogewotICAgIHNlbmQoTWVz
c2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6RGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVu
dChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCByZXF1ZXN0SWRlbnRpZmllciwgY29ubmVj
dGlvbkNsb3NlZCkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6RGlkRmlyZVZl
cnNpb25DaGFuZ2VFdmVudChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCByZXF1ZXN0SWRl
bnRpZmllciwgY29ubmVjdGlvbkNsb3NlZCkpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6b3BlbkRCUmVxdWVzdENhbmNlbGxlZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVx
dWVzdERhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
OjpPcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKHJlcXVlc3REYXRhKSk7CisgICAgc2VuZChNZXNzYWdl
czo6V2ViSURCU2VydmVyOjpPcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKHJlcXVlc3REYXRhKSk7CiB9
CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb25maXJtRGlkQ2xvc2VGcm9tU2Vy
dmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChN
ZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpDb25maXJtRGlkQ2xvc2VGcm9tU2Vy
dmVyKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJJREJTZXJ2ZXI6OkNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoZGF0YWJhc2VDb25uZWN0aW9u
SWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0QWxs
RGF0YWJhc2VOYW1lcyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdp
biwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50
NjRfdCBjYWxsYmFja0lEKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6R2V0QWxsRGF0YWJhc2VOYW1lcyh0b3BPcmlnaW4sIG9wZW5pbmdPcmlnaW4sIGNh
bGxiYWNrSUQpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkdldEFsbERhdGFi
YXNlTmFtZXModG9wT3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBjYWxsYmFja0lEKSk7CiB9CiAKIHZv
aWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJS
ZXN1bHREYXRhJiByZXN1bHQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>