<?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>201991</bug_id>
          
          <creation_ts>2019-09-19 10:23:17 -0700</creation_ts>
          <short_desc>WorkerGlobalScope does not need a SessionID</short_desc>
          <delta_ts>2019-09-19 14:20:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572404</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-19 10:23:17 -0700</bug_when>
    <thetext>WorkerGlobalScope does not need a SessionID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572405</commentid>
    <comment_count>1</comment_count>
      <attachid>379145</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-19 10:24:41 -0700</bug_when>
    <thetext>Created attachment 379145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572480</commentid>
    <comment_count>2</comment_count>
      <attachid>379145</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-19 14:19:28 -0700</bug_when>
    <thetext>Comment on attachment 379145
Patch

Clearing flags on attachment: 379145

Committed r250104: &lt;https://trac.webkit.org/changeset/250104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572481</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-19 14:19:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572482</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-19 14:20:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55533938&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379145</attachid>
            <date>2019-09-19 10:24:41 -0700</date>
            <delta_ts>2019-09-19 14:19:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201991-20190919102439.patch</filename>
            <type>text/plain</type>
            <size>89147</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGJhMmFhODI5NmIzYjJi
NDVmZTM2OWEwMzRhNmE1YmUzYjI1MDUzZS4uOGZjOTIzNjUyNzRiZTI1YTdmNDcxYmZjZGRjNGVm
MTFiYWE5NDY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMSBAQAorMjAxOS0wOS0xOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdvcmtlckdsb2JhbFNjb3Bl
IGRvZXMgbm90IG5lZWQgYSBTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMTk5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlIGRvZXMgbm90IG5lZWQgYSBTZXNz
aW9uSUQsIG5vdyB0aGF0IHdlIGhhdmUgYSBzaW5nbGUgc2Vzc2lvbgorICAgICAgICBwZXIgV2Vi
UHJvY2Vzcy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcml2YXRl
QnJvd3NpbmdTdGF0ZURpZENoYW5nZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6Om1hdGNo
UmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpjb21taXRE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZWdpc3RlclRlbXBvcmFy
eVNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6
OnVucmVnaXN0ZXJUZW1wb3JhcnlTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c3RvcmVSZWdpc3RyYXRpb25zT25EaXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6aGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpoYXNTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbik6CisgICAgICAgICogd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICog
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdv
cmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkRl
ZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
UHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhy
ZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
clRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpt
YWluVGhyZWFkQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjphZGRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNvbnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6bm90aWZ5UmVnaXN0cmF0
aW9uSXNTZXR0bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6
OmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjpub3RpZnlGYWlsZWRGZXRjaGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjplbnN1cmVTV0NsaWVudENvbm5lY3Rpb24pOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6bWF5SGF2ZVNl
cnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJQcm92aWRlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50cyk6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJQcm92aWRlci5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjptYXRjaFJlZ2lz
dHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246Omdl
dFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU1dDbGllbnRDb25uZWN0
aW9uOjp3aGVuUmVnaXN0cmF0aW9uUmVhZHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU1dD
bGllbnRDb25uZWN0aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpyZW1vdmVTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU1dD
bGllbnRDb25uZWN0aW9uOjpkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZSk6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNl
V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6c2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
U1dDbGllbnRDb25uZWN0aW9uOjpzeW5jVGVybWluYXRlV29ya2VyKToKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6ZmluaXNoRmV0
Y2hpbmdTY3JpcHRJblNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb246OnNjaGVkdWxlSm9iKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvV29ya2Vy
U1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6U2VydmljZVdvcmtlclRocmVhZFBy
b3h5KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHkuaDoKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6c2Vzc2lvbklEIGNvbnN0KToKKyAg
ICAgICAgKiB4bWwvRE9NUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhcnNlcjo6
cGFyc2VGcm9tU3RyaW5nKToKKyAgICAgICAgKiB4bWwvRE9NUGFyc2VyLmg6CisgICAgICAgICog
eG1sL0RPTVBhcnNlci5pZGw6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKwog
MjAxOS0wOS0xOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtM
RkNdW0lGQ10gSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUxheW91dCBzaG91bGQgbm90
IG5lZWQgdG8gY2FsbCBMYXlvdXRTdGF0ZTo6ZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggMDQ5MzI3MWYxYWZiOGQxYTBkYjA0ZTM5MGU3MjljNTMyNTFlMTA1MC4uYWFiM2Ew
NjMwOTc3ZTUxMzFhYjY1ZGUxYTg2NmM3MGRiNjY5ZWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NCBAQAorMjAxOS0wOS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFdvcmtlckdsb2JhbFNjb3BlIGRvZXMgbm90IG5lZWQgYSBTZXNzaW9uSUQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTk5MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdvcmtlckdsb2JhbFNjb3Bl
IGRvZXMgbm90IG5lZWQgYSBTZXNzaW9uSUQsIG5vdyB0aGF0IHdlIGhhdmUgYSBzaW5nbGUgc2Vz
c2lvbgorICAgICAgICBwZXIgV2ViUHJvY2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2VydmljZVdvcmtl
ckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6
OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJT
ZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6ZXhp
c3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24pOiBEZWxldGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnVwZGF0ZVRocm90dGxlU3RhdGUpOgorCiAyMDE5LTA5LTE4ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFz
aCAvIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24gSVBDIHNob3VsZCBub3QgbmVlZCB0
byBwYXNzIGEgU2Vzc2lvbklECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmN2M4ZTg1Yzcz
ZDhhYzE2YjJhNGIxM2Y4OGFhMDliMjViZTNjMjAxLi41Njg0M2IxOWYyNmQwZjA2ZmNjM2NjZGZl
OTI0MWY0Y2Y4MmJjNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTUyMDgsNyArNTIw
OCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlc3VtZShSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmljZVdvcmtlckVuYWJsZWQoKSAmJiByZWFzb24gPT0g
UmVhc29uRm9yU3VzcGVuc2lvbjo6UGFnZUNhY2hlKSB7CiAgICAgICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UoIWFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIkRvY3VtZW50cyB3aXRoIGFuIGFjdGl2ZSBz
ZXJ2aWNlIHdvcmtlciBzaG91bGQgbm90IGdvIGludG8gUGFnZUNhY2hlIGluIHRoZSBmaXJzdCBw
bGFjZSIpOwotICAgICAgICBzZXRTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbihTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OnNpbmdsZXRvbigpLmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JT
ZXNzaW9uKHNlc3Npb25JRCgpKSk7CisgICAgICAgIHNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9u
KFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuZXhpc3RpbmdTZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbigpKTsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTUyNzYsMTEgKzUyNzYsNiBAQCB2
b2lkIERvY3VtZW50Ojpwcml2YXRlQnJvd3NpbmdTdGF0ZURpZENoYW5nZShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQpCiAKICAgICBmb3IgKGF1dG8qIGVsZW1lbnQgOiBtX3ByaXZhdGVCcm93c2lu
Z1N0YXRlQ2hhbmdlZEVsZW1lbnRzKQogICAgICAgICBlbGVtZW50LT5wcml2YXRlQnJvd3NpbmdT
dGF0ZURpZENoYW5nZShzZXNzaW9uSUQpOwotCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQot
ICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNlcnZpY2VX
b3JrZXJFbmFibGVkKCkgJiYgbV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbikKLSAgICAgICAgc2V0
U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9u
KCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCkpOwotI2VuZGlm
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlZ2lzdGVyRm9yUHJpdmF0ZUJyb3dzaW5nU3RhdGVDaGFu
Z2VkQ2FsbGJhY2tzKEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDBj
OTEyNTk4MTY5MmU0M2MwODM0NTFkNDc4NWU4ZDhhNDc1NDZkMDIuLjYxNTVhZjdhOWQ4ODkwZTgz
MTg0OTQ3Njc0OWM5MWVjY2Q2MDY3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02ODMsNyAr
NjgzLDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIGNvbXBsZXRlVVJMKGNv
bnN0IFN0cmluZyYpIGNvbnN0IGZpbmFsOwogICAgIFVSTCBjb21wbGV0ZVVSTChjb25zdCBTdHJp
bmcmLCBjb25zdCBVUkwmIGJhc2VVUkxPdmVycmlkZSkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9F
WFBPUlQgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgdXNl
ckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA4NDIyNjIwMDllNmRlZTIwMWY5NWExYTBhZmRm
NTAxYWM0YTgxNDUyLi5mMGU2NTRiNzMwYjlkZTJhNjUwY2NlNTI0Mjg0MjZlMDZjOWMxMjJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTUyLDEw
ICs1Miw2IEBAIGNsYXNzIENvbnNvbGVNZXNzYWdlOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwog
fQogCi1uYW1lc3BhY2UgUEFMIHsKLWNsYXNzIFNlc3Npb25JRDsKLX0KLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC05NSw3ICs5MSw2IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgY29uc3QgVVJMJiB1cmwoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBV
UkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFs
IFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgU3Ry
aW5nIHVzZXJBZ2VudChjb25zdCBVUkwmKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGM3NmI3MDkxZjVmY2RmODc0NjBkYzNiZjUyNzBi
MmRmNDZiNTEzZTYuLjRhNzY1OGQyYzJlMGFhNjRiODExY2ZmNzIyYmZkMjk4YTIzMmQwZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNTM4LDE0ICs1Mzgs
MTMgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6bWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgVVJMJiB1
cmwsIFNXQ2xpZW50Q29ubmVjdGlvbjo6UmVnaXMKICAgICB9CiAKICAgICBhdXRvIG9yaWdpbiA9
ICghbV9mcmFtZS0+aXNNYWluRnJhbWUoKSAmJiBtX2ZyYW1lLT5kb2N1bWVudCgpKSA/IG1fZnJh
bWUtPmRvY3VtZW50KCktPnRvcE9yaWdpbigpLmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YTo6
ZnJvbVVSTCh1cmwpOwotICAgIGF1dG8gc2Vzc2lvbklEID0gbV9mcmFtZS0+cGFnZSgpLT5zZXNz
aW9uSUQoKTsKICAgICBhdXRvJiBwcm92aWRlciA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2lu
Z2xldG9uKCk7Ci0gICAgaWYgKCFwcm92aWRlci5tYXlIYXZlU2VydmljZVdvcmtlclJlZ2lzdGVy
ZWRGb3JPcmlnaW4oc2Vzc2lvbklELCBvcmlnaW4pKSB7CisgICAgaWYgKCFwcm92aWRlci5tYXlI
YXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4ob3JpZ2luKSkgewogICAgICAgICBj
YWxsYmFjayhXVEY6Om51bGxvcHQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0
byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2Vydmlj
ZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgYXV0byYgY29ubmVj
dGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNv
bm5lY3Rpb24oKTsKICAgICBjb25uZWN0aW9uLm1hdGNoUmVnaXN0cmF0aW9uKFdURk1vdmUob3Jp
Z2luKSwgdXJsLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKQEAgLTExMDQsNyArMTEwMyw3IEBA
IHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29uc3QgY2hhciogYnl0ZXMsIHNpemVf
dCBsZW5ndGgpCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChtX2ZyYW1lLT5kb2N1
bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgU2NoZW1lUmVnaXN0cnk6OmNhblNlcnZp
Y2VXb3JrZXJzSGFuZGxlVVJMU2NoZW1lKG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLnByb3Rv
Y29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpKSkKLSAgICAgICAgICAgICAgICBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5zZXRTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbihTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OnNpbmdsZXRvbigpLmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKG1fZnJhbWUtPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKKyAgICAgICAgICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5zZXRTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbihTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OnNpbmdsZXRvbigpLmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7
CiAKICAgICAgICAgICAgIC8vIFdlIGN1cnJlbnRseSB1bnJlZ2lzdGVyIHRoZSB0ZW1wb3Jhcnkg
c2VydmljZSB3b3JrZXIgY2xpZW50IHNpbmNlIHdlIG5vdyByZWdpc3RlcmVkIHRoZSByZWFsIGRv
Y3VtZW50LgogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoZSByZWFsIGRv
Y3VtZW50IHVzZSB0aGUgdGVtcG9yYXJ5IGNsaWVudCBpZGVudGlmaWVyLgpAQCAtMTg3OSw3ICsx
ODc4LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVnaXN0ZXJUZW1wb3JhcnlTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFVSTCYgdXJsKQogICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPnNlc3Np
b25JRCgpCiAgICAgfTsKIAotICAgIGF1dG8mIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uID0gU2Vy
dmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZv
clNlc3Npb24obV90ZW1wb3JhcnlTZXJ2aWNlV29ya2VyQ2xpZW50LT5zZXNzaW9uSUQpOworICAg
IGF1dG8mIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpz
aW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogCiAgICAgLy8gRklYTUU6IENv
bXB1dGUgU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZSBhcHByb3ByaWF0ZWx5LgogICAgIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEgeyB7IHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uLnNl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCksIG1fdGVtcG9yYXJ5U2VydmljZVdvcmtlckNsaWVu
dC0+ZG9jdW1lbnRJZGVudGlmaWVyIH0sIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cs
IFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHVybCB9OwpAQCAtMTkwMSw3ICsx
OTAwLDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6dW5yZWdpc3RlclRlbXBvcmFyeVNlcnZpY2VX
b3JrZXJDbGllbnQoKQogICAgIGlmICghbV90ZW1wb3JhcnlTZXJ2aWNlV29ya2VyQ2xpZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbiA9IFNl
cnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25G
b3JTZXNzaW9uKG1fdGVtcG9yYXJ5U2VydmljZVdvcmtlckNsaWVudC0+c2Vzc2lvbklEKTsKKyAg
ICBhdXRvJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6
c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKICAgICBzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbi51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChtX3RlbXBvcmFyeVNlcnZp
Y2VXb3JrZXJDbGllbnQtPmRvY3VtZW50SWRlbnRpZmllcik7CiAgICAgbV90ZW1wb3JhcnlTZXJ2
aWNlV29ya2VyQ2xpZW50ID0gV1RGOjpudWxsb3B0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggY2IzZmRkNWFhNGI3Y2RkMTc5OTUwMzRiMzE1NjVjOTQ0N2Rm
MTljZi4uODk5MGFmMTgyNzA1MGMzNzg4NWQ4Yjc0NTA2Yjk3OTI3ZjU1MWFjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjUwOCw3ICsyNTA4LDcgQEAgYm9vbCBJbnRl
cm5hbHM6OmlzQW55V29ya2xldEdsb2JhbFNjb3BlQWxpdmUoKSBjb25zdAogU3RyaW5nIEludGVy
bmFsczo6c2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIoY29uc3QgRG9jdW1lbnQmIGRvY3Vt
ZW50KSBjb25zdAogewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICByZXR1cm4gU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmds
ZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihkb2N1bWVudC5zZXNzaW9u
SUQoKSkuc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgZG9jdW1lbnQuaWRlbnRpZmllcigp
IH0udG9TdHJpbmcoKTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIg
eyBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uKCkuc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgZG9jdW1lbnQuaWRlbnRpZmllcigp
IH0udG9TdHJpbmcoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKICAgICBy
ZXR1cm4gU3RyaW5nKCk7CkBAIC00ODc1LDcgKzQ4NzUsNyBAQCB2b2lkIEludGVybmFsczo6c3Rv
cmVSZWdpc3RyYXRpb25zT25EaXNrKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2Up
CiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0
byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2Vydmlj
ZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKGNvbnRleHREb2N1bWVudCgpLT5zZXNzaW9uSUQo
KSk7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xl
dG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKICAgICBjb25uZWN0aW9uLnN0b3JlUmVn
aXN0cmF0aW9uc09uRGlza0ZvclRlc3RpbmcoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgp
IG11dGFibGUgewogICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKICAgICB9KTsKQEAgLTQ5NjEs
NyArNDk2MSw3IEBAIHZvaWQgSW50ZXJuYWxzOjpoYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBIYXNSZWdpc3RyCiAKICAgICBVUkwgcGFyc2VkVVJM
ID0gY29udGV4dERvY3VtZW50KCktPmNvbXBsZXRlVVJMKGNsaWVudFVSTCk7CiAKLSAgICByZXR1
cm4gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbkZvclNlc3Npb24oY29udGV4dERvY3VtZW50KCktPnNlc3Npb25JRCgpKS5tYXRjaFJlZ2lz
dHJhdGlvbihTZWN1cml0eU9yaWdpbkRhdGEgeyBjb250ZXh0RG9jdW1lbnQoKS0+dG9wT3JpZ2lu
KCkuZGF0YSgpIH0sIHBhcnNlZFVSTCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0
byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6
c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKS5tYXRjaFJlZ2lzdHJhdGlvbihT
ZWN1cml0eU9yaWdpbkRhdGEgeyBjb250ZXh0RG9jdW1lbnQoKS0+dG9wT3JpZ2luKCkuZGF0YSgp
IH0sIHBhcnNlZFVSTCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byYmIHJlc3Vs
dCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UucmVzb2x2ZSghIXJlc3VsdCk7CiAgICAgfSk7
CiB9CkBAIC00OTcxLDcgKzQ5NzEsNyBAQCB2b2lkIEludGVybmFsczo6dGVybWluYXRlU2Vydmlj
ZVdvcmtlcihTZXJ2aWNlV29ya2VyJiB3b3JrZXIpCiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0
b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oY29udGV4dERvY3VtZW50KCkt
PnNlc3Npb25JRCgpKS5zeW5jVGVybWluYXRlV29ya2VyKHdvcmtlci5pZGVudGlmaWVyKCkpOwor
ICAgIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5l
Y3Rpb24oKS5zeW5jVGVybWluYXRlV29ya2VyKHdvcmtlci5pZGVudGlmaWVyKCkpOwogfQogCiBi
b29sIEludGVybmFsczo6aGFzU2VydmljZVdvcmtlckNvbm5lY3Rpb24oKQpAQCAtNDk3OSw3ICs0
OTc5LDcgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCkKICAg
ICBpZiAoIWNvbnRleHREb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBy
ZXR1cm4gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5leGlzdGluZ1NlcnZpY2VX
b3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihjb250ZXh0RG9jdW1lbnQoKS0+c2Vzc2lvbklEKCkp
OworICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLmV4aXN0aW5n
U2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGU2
ODYxNmM2ZThiMjhjNWQxNDI5YzdiMGQ3Njg1NWVmMmI1MzIyZmIuLjVlNmExZDJjNDg0MzVkZDVi
ZmM4N2ZlOTk3NjRlYTBlMWQwNzVmZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00NCwxNiArNDQsMTYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUpOwogCi1SZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgVVJMJiB1cmwsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVk
aWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29s
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29j
a2V0UHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK1JlZjxEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBV
UkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tl
dFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKIHsKLSAgICBhdXRvIGNvbnRleHQgPSBhZG9wdFJl
ZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBu
YW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1l
T3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBzZXNzaW9uSUQpKTsKKyAg
ICBhdXRvIGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
KHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25s
aW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
V1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFBy
b3ZpZGVyKSk7CiAgICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3kpCiAgICAgICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyk7CiAgICAgcmV0
dXJuIGNvbnRleHQ7CiB9CiAKLURlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9y
aWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQm
IHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCi0gICAg
OiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblBy
b3h5LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklEKQorRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRl
ZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlv
blByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBXb3JrZXJHbG9i
YWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09u
bGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQ
cm92aWRlcikKICAgICAsIG1fbmFtZShuYW1lKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDI2ZmM2NTJhZDVi
MGRkMGNmNWEwZGYxMzgyYmRlNzE1YjhmNjgxMWIuLjk0MDBmYTc3OWRhZGM5NmVkNzg3MTQ3M2Vh
OTE5NjI1MDQ4NWYxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOwogY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBw
dWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFk
JiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIFBBTDo6U2Vzc2lvbklEKTsKKyAgICBz
dGF0aWMgUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGlj
YXRlZFdvcmtlclRocmVhZCYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKICAgICB2
aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpOwogCiAgICAgY29uc3QgU3RyaW5n
JiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CkBAIC02MSw3ICs2MSw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgdXNpbmcgQmFzZSA9IFdvcmtlckdsb2JhbFNjb3BlOwogCi0gICAg
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBQQUw6OlNlc3Npb25J
RCk7CisgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtl
clRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAog
ICAgIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KICAgICBFeGNlcHRpb25Pcjx2b2lkPiBpbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCA3M2EzZGE0YmFhYWU0OTgxZjdkYjc1YjNh
MTU5OGY4YThkNGRiZWU4Li43ZDVlMjA3YWE0ODVkZjU0MDRiNGIyM2QzYTdkYTU0ZDg0YjY4NTFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC0zOCwxNyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtl
ckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29y
a2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MsIFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3
b3JrZXJEZWJ1Z2dlclByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHks
IHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MsIHNlc3Npb25JRCkKK0RlZGljYXRlZFdvcmtl
clRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVy
UHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1
Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRo
cmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlP
cmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKKyAgICA6IFdvcmtlclRo
cmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNv
ZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dlclByb3h5LCB3b3JrZXJPYmplY3RQ
cm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1l
T3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpCiAg
ICAgLCBtX3dvcmtlck9iamVjdFByb3h5KHdvcmtlck9iamVjdFByb3h5KQogewogfQogCiBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7CiAK
LVJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdp
biwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6
Y3JlYXRlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3Jp
Z2luKSwgdGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCks
IHNlc3Npb25JRCk7CisgICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVh
dGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNP
bmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4p
LCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CiB9
CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpydW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKaW5kZXggN2U2NzMwMWY0
NGMwOWFjMTQ4NTM2Mzc3MTgzZWE4NDFlMDhkYzFlMS4uY2M0OWY5ZTk5NTUwOWQxOGUzMWZkYWZl
ZjEzM2EyZjJkMGE3ZTRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5oCkBAIC01MCwxMSArNTAsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc3Rh
cnQoKSB7IFdvcmtlclRocmVhZDo6c3RhcnQobnVsbHB0cik7IH0KIAogcHJvdGVjdGVkOgotICAg
IFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYg
dG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFBBTDo6U2Vzc2lvbklEKSBvdmVy
cmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29s
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKSBvdmVycmlkZTsK
ICAgICB2b2lkIHJ1bkV2ZW50TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIERlZGlj
YXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYg
dG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVj
dGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncywgUEFMOjpTZXNz
aW9uSUQpOworICAgIERlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVy
UHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25z
dCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRp
bWVGbGFncyk7CiAKICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggM2IzNmRhZmU4NmUxZGQzN2FiZWU0
YTRmMzcwMzUwMDZiNGE0YTRiNy4uMzM2NmZkYmUyMTlmODEzYjBiOTIyMTAzNjQ4YTg1ZmNlMDA5
MzVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIHZv
aWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAKICAgICBib29sIGlzT25saW5lID0gcGxhdGZv
cm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyA/IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBjb250
ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7Ci0gICAgbV9j
b250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCks
IG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25s
aW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fd29ya2VyQ3JlYXRpb25UaW1lLCBtX3J1bnRpbWVGbGFncywgY29udGV4dC0+c2Vzc2lvbklE
KCkpOworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRM
b2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+
dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgbV9ydW50aW1lRmxhZ3MpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2Ny
aXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggOWY3
MmE5MTZiMmNiOGQ0NzIxNTFlMDFlYTc2MjMwNWNiMWJjY2NiMi4uMWU4ZmMwNmJkM2UxMzk1N2Qw
YWIyZmJmNjJlNjE5ZmQ2NDU4YzI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3Bl
Y3RvcjsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlckdsb2JhbFNjb3BlKTsK
IAotV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmIHRocmVh
ZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitXb3JrZXJHbG9i
YWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIpCiAgICAgOiBtX3VybCh1cmwpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
ICAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKQEAgLTc2LDcgKzc2LDYgQEAgV29ya2VyR2xv
YmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgb3JpZ2kKICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRlcihzb2NrZXRQcm92
aWRlcikKICAgICAsIG1fcGVyZm9ybWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCB0aW1l
T3JpZ2luKSkKLSAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKIHsKICNpZiAhRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAgICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25Qcm94eSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZDYwNmU0ZWU2OTQ4
YmUxOWM4ODA4YmE1ZjI5ZjVlNTI1ZjdiYjVlMC4uYmM3MWI1NjY2YzFjMmVjNGU2ZWQ3NzkyNGRk
YWFjZDMyOTFlNzk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIldvcmtlclNjcmlwdENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgogI2luY2x1ZGUg
PG1lbW9yeT4KLSNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMTMyLDEwICsxMzEsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBsb25nIGNy
ZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKSB7IHJldHVybiBtX3VuaXF1ZUlkZW50aWZpZXIrKzsgfQog
Ci0gICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9z
ZXNzaW9uSUQ7IH0KLQogcHJvdGVjdGVkOgotICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29ya2VyVGhyZWFkJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIFBBTDo6U2Vzc2lvbklEKTsKKyAg
ICBXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJv
dmlkZXIqKTsKIAogICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKQEAg
LTIxNCw3ICsyMTEsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxQZXJmb3JtYW5jZT4gbV9wZXJm
b3JtYW5jZTsKICAgICBtdXRhYmxlIFJlZlB0cjxDcnlwdG8+IG1fY3J5cHRvOwogCi0gICAgUEFM
OjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgUmVmUHRyPFdvcmtlckNhY2hlU3RvcmFnZUNv
bm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V29ya2VyTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI+IG1fbWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXI7CiAgICAgdW5zaWduZWQgbG9uZyBtX3VuaXF1ZUlkZW50aWZpZXIgeyAxIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDg1
ODVhNWJmZjkzYjA0NjY1ZGU1MzIxZWQzMmI5MmZmYTk3NmExNzEuLmYyMmNhNTExN2U0ZDJkYjdh
ZDFmYWI0MmRlNmRiOTFlOTY0NzViNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncywgUEFMOjpTZXNzaW9uSUQpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkg
Y29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAppbmRleCA2YmQ1M2ExNmE2MTY0NTc4NzQ0Zjg0MTJmODZiYmUwMjQ0NTM1ZWViLi41
ZTNlMDU0YmY1MmUyYzEwYzExZGVmZjY5YWI3NmU5NzcxZWNiNDVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzIsNyArNzIsNyBA
QCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAg
fHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBk
b3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhy
ZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncywgUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8g
YmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBB
U1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9
IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBhdXRvIHRocmVhZCA9IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFn
ZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2Rl
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmln
aW4sIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzLCBzZXNzaW9uSUQpOworICAg
IGF1dG8gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCBu
YW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCAqdGhpcywg
KnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBkb2N1bWVu
dC50b3BPcmlnaW4oKSwgdGltZU9yaWdpbiwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1l
RmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwogICAgIHRo
cmVhZC0+c3RhcnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaAppbmRleCBlY2VkYjQ4Mzk1NmMxMjFiZjg2ZDA1ZjIyYmFiYTQzODE0YmNkMzA2Li41
Yzc4MzMyZWNhMjkzZWQzNDZmNDIyYzEwNTg0YTgzZTk3NDU4YzFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC00Niw3ICs0Niw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2Vy
IG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1
bnRpbWVGbGFncywgUEFMOjpTZXNzaW9uSUQpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVX
b3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckds
b2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIGJvb2wgaGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5jcHAKaW5kZXggNjg5ZDM5Y2FlYWJmZjYwNjY4ZTRkMjM0OWQxMGU1ZDZjOWE1MTEy
MC4uMTlkMDNhMTE1MzQyN2NjZTIwMzJhYmYyMGIyMjY5MTcyM2UyMGFmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNzQsNyArNzQsNyBAQCB1bnNpZ25lZCBX
b3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKIHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERh
dGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0
b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFMOjpTZXNzaW9uSUQpOworICAg
IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKTsKIAogICAg
IFVSTCBtX3NjcmlwdFVSTDsKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fb3JpZ2luOwpAQCAt
ODgsMTAgKzg4LDkgQEAgcHVibGljOgogICAgIGJvb2wgbV9pc09ubGluZTsKICAgICBSZWY8U2Vj
dXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2lu
OwotICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogfTsKIAotV29ya2VyVGhyZWFkU3Rh
cnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1
cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkKK1dvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFy
dE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQogICAgIDogbV9zY3JpcHRVUkwoc2NyaXB0VVJMLmlz
b2xhdGVkQ29weSgpKQogICAgICwgbV9vcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShtX3Nj
cmlwdFVSTCktPmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9uYW1lKG5hbWUuaXNvbGF0ZWRDb3B5
KCkpCkBAIC0xMDQsMTcgKzEwMywxNiBAQCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cgogICAgICwg
bV9pc09ubGluZShpc09ubGluZSkKICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbi5pc29sYXRl
ZENvcHkoKSkKICAgICAsIG1fdGltZU9yaWdpbih0aW1lT3JpZ2luKQotICAgICwgbV9zZXNzaW9u
SUQoc2Vzc2lvbklELmlzb2xhdGVkQ29weSgpKQogewogfQogCi1Xb3JrZXJUaHJlYWQ6Oldvcmtl
clRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2Fk
ZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2VyRGVidWdnZXJQcm94eSwgV29ya2Vy
UmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1v
ZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBK
U0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkK
K1dvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9h
ZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJE
ZWJ1Z2dlclByb3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHks
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKICAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJM
b2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkKICAgICAsIG1fd29ya2VyRGVidWdnZXJQcm94
eSh3b3JrZXJEZWJ1Z2dlclByb3h5KQogICAgICwgbV93b3JrZXJSZXBvcnRpbmdQcm94eSh3b3Jr
ZXJSZXBvcnRpbmdQcm94eSkKICAgICAsIG1fcnVudGltZUZsYWdzKHJ1bnRpbWVGbGFncykKLSAg
ICAsIG1fc3RhcnR1cERhdGEobWFrZVVuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2Ny
aXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2Rl
LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0b3BPcmlnaW4sIHRpbWVPcmln
aW4sIHNlc3Npb25JRCkpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2VyVGhy
ZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBp
c09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
dG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAg
ICAsIG1faWRiQ29ubmVjdGlvblByb3h5KGNvbm5lY3Rpb25Qcm94eSkKICNlbmRpZgpAQCAtMTcw
LDcgKzE2OCw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgICAgICAv
LyB3aGlsZSBXb3JrZXJUaHJlYWQ6OnN0b3AoKSBpcyBhY2Nlc3NpbmcgaXQuIE5vdGUgdGhhdCBX
b3JrZXJUaHJlYWQ6OnN0b3AoKSBjYW4KICAgICAgICAgLy8gYmUgY2FsbGVkIGJlZm9yZSB3ZSd2
ZSBmaW5pc2hlZCBjcmVhdGluZyB0aGUgV29ya2VyR2xvYmFsU2NvcGUuCiAgICAgICAgIExvY2tI
b2xkZXIgbG9jayhtX3RocmVhZENyZWF0aW9uQW5kV29ya2VyR2xvYmFsU2NvcGVNdXRleCk7Ci0g
ICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0
YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiks
IG1fc3RhcnR1cERhdGEtPm1fbmFtZSwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0
YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFy
dHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1
cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZN
b3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3Jp
Z2luLCBtX3N0YXJ0dXBEYXRhLT5tX3Nlc3Npb25JRCk7CisgICAgICAgIG1fd29ya2VyR2xvYmFs
U2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVS
TCwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFt
ZSwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2Vu
dCwgbV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1f
dG9wT3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luKTsKIAogICAgICAgICBzY3Jp
cHRDb250cm9sbGVyID0gbV93b3JrZXJHbG9iYWxTY29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IDMzNTY0M2I5ODQ3YTYwMWFkYjY1ZjRkYTJm
NTQ4ZmY5Yjc3MTFmZGEuLmNkNmM3OGQ4NWUzM2Q5ZjYwNDQ3ODhmMGM5YmJjNTI1OGMwM2E1NDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMzIsMTAgKzMyLDYgQEAK
ICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
Ci1uYW1lc3BhY2UgUEFMIHsKLWNsYXNzIFNlc3Npb25JRDsKLX0KLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CkBAIC05
MCwxMCArODYsMTAgQEAgcHVibGljOgogICAgIFN0cmluZyBpZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJUaHJlYWQoY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJl
cG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tl
dFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MsIFBBTDo6U2Vzc2lvbklEKTsKKyAgICBXb3Jr
ZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94
eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOwogCiAgICAgLy8gRmFj
dG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbmV3IHdvcmtlciBjb250ZXh0IGZvciB0aGUgdGhy
ZWFkLgotICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFM
OjpTZXNzaW9uSUQpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4pID0gMDsKIAogICAgIC8vIEV4ZWN1dGVzIHRoZSBldmVudCBsb29wIGZvciB0aGUg
d29ya2VyIHRocmVhZC4gRGVyaXZlZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0byBwZXJmb3JtIGFj
dGlvbnMgYmVmb3JlL2FmdGVyIGVudGVyaW5nIHRoZSBldmVudCBsb29wLgogICAgIHZpcnR1YWwg
dm9pZCBydW5FdmVudExvb3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyLmNwcAppbmRleCBiOGNiN2EzZjcyYzk3OTM2M2I5ZGRkMTg0YzcxODBi
ZmE1YjcyYzIzLi4yNjlmMGQ2YzFjOTE5N2IzZjhlYjJkNjA3YWYzYzI3NDUyOWE2YjcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCkBA
IC05Miw3ICs5Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlcjo6dXBkYXRlU3RhdGUoU3RhdGUgc3Rh
dGUpCiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFZl
Y3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJiB0cmFuc2ZlcikKIHsKLSAgICBpZiAo
bV9pc1N0b3BwZWQgfHwgIWNvbnRleHQuc2Vzc2lvbklEKCkuaXNWYWxpZCgpKQorICAgIGlmICht
X2lzU3RvcHBlZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07CiAKICAgICBhdXRvKiBleGVjU3RhdGUgPSBjb250ZXh0LmV4ZWNTdGF0ZSgpOwpAQCAtMTEy
LDEzICsxMTIsMTMgQEAgRXhjZXB0aW9uT3I8dm9pZD4gU2VydmljZVdvcmtlcjo6cG9zdE1lc3Nh
Z2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlMKICAgICBpZiAoaXM8U2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSkKICAgICAgICAgc291cmNlSWRlbnRpZmllciA9
IGRvd25jYXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkudGhyZWFkKCkuaWRl
bnRpZmllcigpOwogICAgIGVsc2UgewotICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2Vydmlj
ZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNl
c3Npb24oY29udGV4dC5zZXNzaW9uSUQoKSk7CisgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBT
ZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9u
KCk7CiAgICAgICAgIHNvdXJjZUlkZW50aWZpZXIgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciB7IGNvbm5lY3Rpb24uc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgZG93bmNhc3Q8
RG9jdW1lbnQ+KGNvbnRleHQpLmlkZW50aWZpZXIoKSB9OwogICAgIH0KIAogICAgIE1lc3NhZ2VX
aXRoTWVzc2FnZVBvcnRzIG1lc3NhZ2UgPSB7IG1lc3NhZ2VEYXRhLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpLCBwb3J0c09yRXhjZXB0aW9uLnJlbGVhc2VSZXR1cm5WYWx1ZSgpIH07Ci0gICAgY2FsbE9u
TWFpblRocmVhZChbc2Vzc2lvbklEID0gY29udGV4dC5zZXNzaW9uSUQoKSwgZGVzdGluYXRpb25J
ZGVudGlmaWVyID0gaWRlbnRpZmllcigpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291
cmNlSWRlbnRpZmllciA9IFdURk1vdmUoc291cmNlSWRlbnRpZmllcildKCkgbXV0YWJsZSB7Ci0g
ICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIGNh
bGxPbk1haW5UaHJlYWQoW2Rlc3RpbmF0aW9uSWRlbnRpZmllciA9IGlkZW50aWZpZXIoKSwgbWVz
c2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZUlkZW50aWZpZXIgPSBXVEZNb3ZlKHNvdXJj
ZUlkZW50aWZpZXIpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2Vy
dmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigp
OwogICAgICAgICBjb25uZWN0aW9uLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKGRlc3RpbmF0
aW9uSWRlbnRpZmllciwgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRpZmllcik7CiAgICAg
fSk7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCA5NDliYmU1ZTNlYWY3
ZjljMzE1ZTkyYTFiOGM2MjAwNDM5MGNhZjAzLi4wM2U4YTFhM2FhMzZmZjM5Y2I4NTNmYzVhMDEx
NWIxNDNiYmU5MjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC02MCw5ICs2MCw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGluZSBTV0NsaWVudENvbm5lY3Rpb24mIG1h
aW5UaHJlYWRDb25uZWN0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3N0YXRpYyBpbmxp
bmUgU1dDbGllbnRDb25uZWN0aW9uJiBtYWluVGhyZWFkQ29ubmVjdGlvbigpCiB7Ci0gICAgcmV0
dXJuIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5l
Y3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJQcm92
aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKIH0KIAogV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKFNlcnZpY2VXb3JrZXJDb250YWluZXIpOwpAQCAtMTI2LDcg
KzEyNiw3IEBAIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xs
ZXIoKSBjb25zdAogdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjphZGRSZWdpc3RyYXRpb24o
Y29uc3QgU3RyaW5nJiByZWxhdGl2ZVNjcmlwdFVSTCwgY29uc3QgUmVnaXN0cmF0aW9uT3B0aW9u
cyYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewogICAgIGF1dG8q
IGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKG1faXNTdG9wcGVk
IHx8ICFjb250ZXh0LT5zZXNzaW9uSUQoKS5pc1ZhbGlkKCkpIHsKKyAgICBpZiAobV9pc1N0b3Bw
ZWQpIHsKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJv
cikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6YWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgcmVsYXRp
dmVTY3JpcHRVUkwsIGNvCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlbW92ZVJlZ2lz
dHJhdGlvbihjb25zdCBVUkwmIHNjb3BlVVJMLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAg
ICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNlc3Npb25JRCgpLmlzVmFsaWQoKSkgeworICAg
IGlmICghY29udGV4dCkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvcikpOwogICAgICAgICBy
ZXR1cm47CkBAIC0yMTcsNyArMjE3LDYgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1
cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJgogICAgIEFT
U0VSVCghbV9pc1N0b3BwZWQpOwogCiAgICAgYXV0byYgY29udGV4dCA9ICpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7Ci0gICAgQVNTRVJUKGNvbnRleHQuc2Vzc2lvbklEKCkuaXNWYWxpZCgpKTsK
IAogICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkBAIC0zODYsNyArMzg1LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JS
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgIG5vdGlm
eUlmRXhpdEVhcmx5LnJlbGVhc2UoKTsKIAogICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWZQdHI8U2VydmljZVdvcmtlckNvbnRh
aW5lcj4odGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBqb2JJZGVudGlmaWVyID0g
am9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHNob3VsZE5vdGlmeVdoZW5S
ZXNvbHZlZF0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7Ci0gICAg
ICAgIGlmIChpc1N0b3BwZWQoKSB8fCAhY29udGV4dC5zZXNzaW9uSUQoKS5pc1ZhbGlkKCkpIHsK
KyAgICAgICAgaWYgKGlzU3RvcHBlZCgpKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkTm90aWZ5
V2hlblJlc29sdmVkID09IFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZDo6WWVzKQogICAgICAgICAg
ICAgICAgIG5vdGlmeVJlZ2lzdHJhdGlvbklzU2V0dGxlZChkYXRhLmtleSk7CiAgICAgICAgICAg
ICByZXR1cm47CkBAIC00MTksOCArNDE4LDggQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpwb3N0TWVzc2FnZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnYKIAog
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpub3RpZnlSZWdpc3RyYXRpb25Jc1NldHRsZWQo
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgcmVnaXN0cmF0aW9uS2V5KQogewot
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3Nlc3Npb25JRCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+c2Vzc2lvbklEKCksIHJlZ2lzdHJhdGlvbktleSA9IHJlZ2lzdHJhdGlvbktleS5pc29sYXRl
ZENvcHkoKV0gewotICAgICAgICBtYWluVGhyZWFkQ29ubmVjdGlvbihzZXNzaW9uSUQpLmRpZFJl
c29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKHJlZ2lzdHJhdGlvbktleSk7CisgICAgY2FsbE9uTWFp
blRocmVhZChbcmVnaXN0cmF0aW9uS2V5ID0gcmVnaXN0cmF0aW9uS2V5Lmlzb2xhdGVkQ29weSgp
XSB7CisgICAgICAgIG1haW5UaHJlYWRDb25uZWN0aW9uKCkuZGlkUmVzb2x2ZVJlZ2lzdHJhdGlv
blByb21pc2UocmVnaXN0cmF0aW9uS2V5KTsKICAgICB9KTsKIH0KIApAQCAtNDc2LDggKzQ3NSw4
IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0
KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uCiAKICAgICBDT05UQUlORVJfUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0OiBTdWNjZXNzZnVseSBmaW5pc2hl
ZCBmZXRjaGluZyBzY3JpcHQgZm9yIGpvYiAlIiBQUkl1NjQsIGpvYi5pZGVudGlmaWVyKCkudG9V
SW50NjQoKSk7CiAKLSAgICBjYWxsT25NYWluVGhyZWFkKFtzZXNzaW9uSUQgPSBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPnNlc3Npb25JRCgpLCBqb2JEYXRhSWRlbnRpZmllciA9IGpvYi5kYXRh
KCkuaWRlbnRpZmllcigpLCByZWdpc3RyYXRpb25LZXkgPSBqb2IuZGF0YSgpLnJlZ2lzdHJhdGlv
bktleSgpLmlzb2xhdGVkQ29weSgpLCBzY3JpcHQgPSBzY3JpcHQuaXNvbGF0ZWRDb3B5KCksIGNv
bnRlbnRTZWN1cml0eVBvbGljeSA9IGNvbnRlbnRTZWN1cml0eVBvbGljeS5pc29sYXRlZENvcHko
KSwgcmVmZXJyZXJQb2xpY3kgPSByZWZlcnJlclBvbGljeS5pc29sYXRlZENvcHkoKV0gewotICAg
ICAgICBtYWluVGhyZWFkQ29ubmVjdGlvbihzZXNzaW9uSUQpLmZpbmlzaEZldGNoaW5nU2NyaXB0
SW5TZXJ2ZXIoeyBqb2JEYXRhSWRlbnRpZmllciwgcmVnaXN0cmF0aW9uS2V5LCBzY3JpcHQsIGNv
bnRlbnRTZWN1cml0eVBvbGljeSwgcmVmZXJyZXJQb2xpY3ksIHsgfSB9KTsKKyAgICBjYWxsT25N
YWluVGhyZWFkKFtqb2JEYXRhSWRlbnRpZmllciA9IGpvYi5kYXRhKCkuaWRlbnRpZmllcigpLCBy
ZWdpc3RyYXRpb25LZXkgPSBqb2IuZGF0YSgpLnJlZ2lzdHJhdGlvbktleSgpLmlzb2xhdGVkQ29w
eSgpLCBzY3JpcHQgPSBzY3JpcHQuaXNvbGF0ZWRDb3B5KCksIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSA9IGNvbnRlbnRTZWN1cml0eVBvbGljeS5pc29sYXRlZENvcHkoKSwgcmVmZXJyZXJQb2xpY3kg
PSByZWZlcnJlclBvbGljeS5pc29sYXRlZENvcHkoKV0geworICAgICAgICBtYWluVGhyZWFkQ29u
bmVjdGlvbigpLmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoeyBqb2JEYXRhSWRlbnRpZmll
ciwgcmVnaXN0cmF0aW9uS2V5LCBzY3JpcHQsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgcmVmZXJy
ZXJQb2xpY3ksIHsgfSB9KTsKICAgICB9KTsKIH0KIApAQCAtNDk5LDggKzQ5OCw4IEBAIHZvaWQg
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29y
a2VySm9iJiBqb2IsIGNvbnN0CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6bm90aWZ5
RmFpbGVkRmV0Y2hpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiBlcnJvcikKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtzZXNzaW9uSUQgPSBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlc3Npb25JRCgpLCBqb2JJZGVudGlmaWVyID0gam9iLmlk
ZW50aWZpZXIoKSwgcmVnaXN0cmF0aW9uS2V5ID0gam9iLmRhdGEoKS5yZWdpc3RyYXRpb25LZXko
KS5pc29sYXRlZENvcHkoKSwgZXJyb3IgPSBlcnJvci5pc29sYXRlZENvcHkoKV0gewotICAgICAg
ICBtYWluVGhyZWFkQ29ubmVjdGlvbihzZXNzaW9uSUQpLmZhaWxlZEZldGNoaW5nU2NyaXB0KGpv
YklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbktleSwgZXJyb3IpOworICAgIGNhbGxPbk1haW5UaHJl
YWQoW2pvYklkZW50aWZpZXIgPSBqb2IuaWRlbnRpZmllcigpLCByZWdpc3RyYXRpb25LZXkgPSBq
b2IuZGF0YSgpLnJlZ2lzdHJhdGlvbktleSgpLmlzb2xhdGVkQ29weSgpLCBlcnJvciA9IGVycm9y
Lmlzb2xhdGVkQ29weSgpXSB7CisgICAgICAgIG1haW5UaHJlYWRDb25uZWN0aW9uKCkuZmFpbGVk
RmV0Y2hpbmdTY3JpcHQoam9iSWRlbnRpZmllciwgcmVnaXN0cmF0aW9uS2V5LCBlcnJvcik7CiAg
ICAgfSk7CiB9CiAKQEAgLTUzNywxMyArNTM2LDEyIEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRh
aW5lcjo6cmVzdW1lKCkKIFNXQ2xpZW50Q29ubmVjdGlvbiYgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6ZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCkKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZXNz
aW9uSUQoKS5pc1ZhbGlkKCkpOwogICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pIHsKICAgICAgICAg
YXV0byYgY29udGV4dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgICAgIGlmIChp
czxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkpCiAgICAgICAgICAgICBtX3N3Q29ubmVjdGlv
biA9ICZkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkuc3dDbGllbnRDb25uZWN0
aW9uKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fc3dDb25uZWN0aW9uID0gJm1haW5U
aHJlYWRDb25uZWN0aW9uKGNvbnRleHQuc2Vzc2lvbklEKCkpOworICAgICAgICAgICAgbV9zd0Nv
bm5lY3Rpb24gPSAmbWFpblRocmVhZENvbm5lY3Rpb24oKTsKICAgICB9CiAgICAgcmV0dXJuICpt
X3N3Q29ubmVjdGlvbjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggNDZhZjc1ODQxYzli
YWI4NDkwZDU3Zjg5ZDI4MGE5MjJmYjRmMGUyZC4uOGM4NWNhNjZiMDQ2NmIxZDMwNjEwODIwZDgw
NzUzNTQ3OWM0NzViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQyLDE1ICs0MiwxNSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUpOwogCi1SZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEmIGRhdGEsIGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK1JlZjxTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3Zp
ZGVyKiBzb2NrZXRQcm92aWRlcikKIHsKLSAgICBhdXRvIHNjb3BlID0gYWRvcHRSZWYoKm5ldyBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgeyBkYXRhLCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRl
bnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwg
Y29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklEIH0pOworICAgIGF1dG8g
c2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRhdGEsIHVy
bCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJl
YWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0
b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyIH0p
OwogICAgIHNjb3BlLT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhj
b250ZW50U2VjdXJpdHlQb2xpY3kpOwogICAgIHJldHVybiBzY29wZTsKIH0KIAotU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdv
cmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKLSAgICA6IFdvcmtlckdsb2JhbFNj
b3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RG
TW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyLCBzZXNzaW9uSUQpCitTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIGNvbnN0IFVS
TCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29y
a2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJv
eHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtlckdsb2JhbFNj
b3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RG
TW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyKQogICAgICwgbV9jb250ZXh0RGF0YShjcm9zc1RocmVhZENvcHkoZGF0YSkpCiAgICAgLCBt
X3JlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqdGhp
cywgbmF2aWdhdG9yKCkuc2VydmljZVdvcmtlcigpLCBXVEZNb3ZlKG1fY29udGV4dERhdGEucmVn
aXN0cmF0aW9uKSkpCiAgICAgLCBtX2NsaWVudHMoU2VydmljZVdvcmtlckNsaWVudHM6OmNyZWF0
ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDNhY2NiMzFhYjA2MjYzOTcwZDJkYmIyY2NhNDA5
YjY4ZDBlOTBkMzMuLjk1NjA3YTVmZDQzZDZmMjQ5MDhmZDFlYzExZjExOTVhZjVkZjgxZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgU2VydmljZVdvcmtlclRo
cmVhZDsKIGNsYXNzIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3Jr
ZXJHbG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlPiBjcmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJM
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIFBBTDo6U2Vzc2lvbklEKTsKKyAgICBzdGF0
aWMgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YSYsIGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgU2VydmljZVdvcmtlclRocmVhZCYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsK
IAogICAgIH5TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoKTsKIApAQCAtNjksNyArNjksNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRTY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmLCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0JiYpOwogCiBwcml2YXRlOgotICAgIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBjb25z
dCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJl
YWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgUEFMOjpTZXNz
aW9uSUQpOworICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFBy
b3ZpZGVyKik7CiAKICAgICBib29sIGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdCB7IHJldHVybiAh
bV9leHRlbmRlZEV2ZW50cy5pc0VtcHR5KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAppbmRleCA3YmJh
YzVjYTQxNDBiM2M3NjgzMWNiYWQ3ZjQzNzZhNGY5YWRkOTUwLi5lZWQyNjZkNTZiOTdlOTFiZDdj
OTQ4MGNiNWMyMzMzNWQ4ZjJlM2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcApAQCAtMzEsNyArMzEsNiBA
QAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1dDbGllbnRDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKLSNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTIsOSArNTEsOSBAQCB2b2lkIFNlcnZpY2VX
b3JrZXJQcm92aWRlcjo6c2V0U2hhcmVkUHJvdmlkZXIoU2VydmljZVdvcmtlclByb3ZpZGVyJiBu
ZXdQcm92aWRlcgogICAgIHNoYXJlZFByb3ZpZGVyID0gJm5ld1Byb3ZpZGVyOwogfQogCi1ib29s
IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9y
T3JpZ2luKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBvcmlnaW4pCitib29sIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6bWF5SGF2ZVNlcnZpY2VXb3Jr
ZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luKQog
ewotICAgIGF1dG8qIGNvbm5lY3Rpb24gPSBleGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9u
Rm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIGF1dG8qIGNvbm5lY3Rpb24gPSBleGlzdGluZ1Nl
cnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAgICAgaWYgKCFjb25uZWN0aW9uKQogICAgICAgICBy
ZXR1cm4gbV9tYXlIYXZlUmVnaXN0ZXJlZFNlcnZpY2VXb3JrZXJzOwogCkBAIC02NSw5ICs2NCw4
IEBAIHZvaWQgU2VydmljZVdvcmtlclByb3ZpZGVyOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnRzKCkKIHsKICAgICBzZXRNYXlIYXZlUmVnaXN0ZXJlZFNlcnZpY2VXb3JrZXJzKCk7CiAgICAg
Zm9yIChhdXRvKiBkb2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkgewotICAgICAg
ICBhdXRvIHNlc3Npb25JRCA9IGRvY3VtZW50LT5zZXNzaW9uSUQoKTsKICAgICAgICAgaWYgKFNj
aGVtZVJlZ2lzdHJ5OjpjYW5TZXJ2aWNlV29ya2Vyc0hhbmRsZVVSTFNjaGVtZShkb2N1bWVudC0+
dXJsKCkucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKQotICAgICAgICAgICAg
ZG9jdW1lbnQtPnNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCZzZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKSk7CisgICAgICAgICAgICBkb2N1bWVudC0+c2V0U2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oJnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCkpOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJQcm92aWRlci5oCmluZGV4IDNlMTQ3NjQzNGNhN2I3ZmQ2MGE4N2E2YTJiOTdkZjM2N2Mx
M2Y1YzAuLjdiODNhYTRlOTBkZGE3MmMwNzI1NWQwYmI4ZWQ0OWViNWJlMjJmMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3Zp
ZGVyLmgKQEAgLTQ0LDkgKzQ0LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBTZXJ2aWNlV29ya2Vy
UHJvdmlkZXImIHNpbmdsZXRvbigpOwogICAgIHN0YXRpYyB2b2lkIHNldFNoYXJlZFByb3ZpZGVy
KFNlcnZpY2VXb3JrZXJQcm92aWRlciYpOwogCi0gICAgYm9vbCBtYXlIYXZlU2VydmljZVdvcmtl
clJlZ2lzdGVyZWRGb3JPcmlnaW4oUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
RGF0YSYpOwotICAgIHZpcnR1YWwgU1dDbGllbnRDb25uZWN0aW9uKiBleGlzdGluZ1NlcnZpY2VX
b3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCkgPSAwOwotICAgIHZpcnR1
YWwgU1dDbGllbnRDb25uZWN0aW9uJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24o
UEFMOjpTZXNzaW9uSUQpID0gMDsKKyAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0
ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKTsKKyAgICB2aXJ0dWFsIFNX
Q2xpZW50Q29ubmVjdGlvbiogZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpID0gMDsK
KyAgICB2aXJ0dWFsIFNXQ2xpZW50Q29ubmVjdGlvbiYgc2VydmljZVdvcmtlckNvbm5lY3Rpb24o
KSA9IDA7CiAKICAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudHMoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uLmNwcAppbmRleCAxOWEyYWI2MGNlZjU1Y2U2ZTZiYTk0MTEyMWMzY2FiNzEz
OWY5NzBmLi40NjE5ZDYyNmEzZjE3OTcxMzg0YjcyN2IyNTk0YzU2MjhjMjEzMzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uLmNwcApAQCAtNDAsOCArNDAsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbihXb3Jr
ZXJHbG9iYWxTY29wZSYgc2NvcGUpCi0gICAgOiBtX3Nlc3Npb25JRChzY29wZS5zZXNzaW9uSUQo
KSkKLSAgICAsIG1fdGhyZWFkKHNjb3BlLnRocmVhZCgpKQorICAgIDogbV90aHJlYWQoc2NvcGUu
dGhyZWFkKCkpCiB7CiB9CiAKQEAgLTY1LDggKzY0LDggQEAgdm9pZCBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb246Om1hdGNoUmVnaXN0cmF0aW9uKFNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdp
biwKICAgICB1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciA9ICsrbV9sYXN0UmVxdWVzdElkZW50
aWZpZXI7CiAgICAgbV9tYXRjaFJlZ2lzdHJhdGlvblJlcXVlc3RzLmFkZChyZXF1ZXN0SWRlbnRp
ZmllciwgV1RGTW92ZShjYWxsYmFjaykpOwogCi0gICAgY2FsbE9uTWFpblRocmVhZChbc2Vzc2lv
bklEID0gbV9zZXNzaW9uSUQsIHRocmVhZCA9IG1fdGhyZWFkLmNvcHlSZWYoKSwgcmVxdWVzdElk
ZW50aWZpZXIsIHRvcE9yaWdpbiA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHRvcE9yaWdpbikp
LCBjbGllbnRVUkwgPSBjcm9zc1RocmVhZENvcHkoY2xpZW50VVJMKV0oKSBtdXRhYmxlIHsKLSAg
ICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9u
KCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgY2Fs
bE9uTWFpblRocmVhZChbdGhyZWFkID0gbV90aHJlYWQuY29weVJlZigpLCByZXF1ZXN0SWRlbnRp
ZmllciwgdG9wT3JpZ2luID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodG9wT3JpZ2luKSksIGNs
aWVudFVSTCA9IGNyb3NzVGhyZWFkQ29weShjbGllbnRVUkwpXSgpIG11dGFibGUgeworICAgICAg
ICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5z
ZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLm1hdGNoUmVnaXN0
cmF0aW9uKFdURk1vdmUodG9wT3JpZ2luKSwgY2xpZW50VVJMLCBbdGhyZWFkID0gV1RGTW92ZSh0
aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAg
ICAgICAgICB0aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlcXVlc3RJZGVudGlm
aWVyLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldIChhdXRvJiBzY29wZSkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICAgICAgYXV0byBjYWxsYmFjayA9IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3Bl
PihzY29wZSkuc3dDbGllbnRDb25uZWN0aW9uKCkubV9tYXRjaFJlZ2lzdHJhdGlvblJlcXVlc3Rz
LnRha2UocmVxdWVzdElkZW50aWZpZXIpOwpAQCAtODEsOCArODAsOCBAQCB2b2lkIFdvcmtlclNX
Q2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhTZWN1cml0eU9yaWdpbkRhdGEmJiB0
b3BPcmlnaW4sCiAgICAgdWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIgPSArK21fbGFzdFJlcXVl
c3RJZGVudGlmaWVyOwogICAgIG1fZ2V0UmVnaXN0cmF0aW9uc1JlcXVlc3RzLmFkZChyZXF1ZXN0
SWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOwogCi0gICAgY2FsbE9uTWFpblRocmVhZChb
c2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIHRocmVhZCA9IG1fdGhyZWFkLmNvcHlSZWYoKSwgcmVx
dWVzdElkZW50aWZpZXIsIHRvcE9yaWdpbiA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHRvcE9y
aWdpbikpLCBjbGllbnRVUkwgPSBjcm9zc1RocmVhZENvcHkoY2xpZW50VVJMKV0oKSBtdXRhYmxl
IHsKLSAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2lu
Z2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7Cisg
ICAgY2FsbE9uTWFpblRocmVhZChbdGhyZWFkID0gbV90aHJlYWQuY29weVJlZigpLCByZXF1ZXN0
SWRlbnRpZmllciwgdG9wT3JpZ2luID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodG9wT3JpZ2lu
KSksIGNsaWVudFVSTCA9IGNyb3NzVGhyZWFkQ29weShjbGllbnRVUkwpXSgpIG11dGFibGUgewor
ICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0
b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLmdldFJl
Z2lzdHJhdGlvbnMoV1RGTW92ZSh0b3BPcmlnaW4pLCBjbGllbnRVUkwsIFt0aHJlYWQgPSBXVEZN
b3ZlKHRocmVhZCksIHJlcXVlc3RJZGVudGlmaWVyXShhdXRvJiYgZGF0YSkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICB0aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlcXVlc3RJZGVu
dGlmaWVyLCBkYXRhID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUoZGF0YSkpXSAoYXV0byYgc2Nv
cGUpIG11dGFibGUgewogICAgICAgICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBkb3duY2FzdDxX
b3JrZXJHbG9iYWxTY29wZT4oc2NvcGUpLnN3Q2xpZW50Q29ubmVjdGlvbigpLm1fZ2V0UmVnaXN0
cmF0aW9uc1JlcXVlc3RzLnRha2UocmVxdWVzdElkZW50aWZpZXIpOwpAQCAtOTcsOCArOTYsOCBA
QCB2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6d2hlblJlZ2lzdHJhdGlvblJlYWR5KGNv
bnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdAogICAgIHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVy
ID0gKyttX2xhc3RSZXF1ZXN0SWRlbnRpZmllcjsKICAgICBtX3doZW5SZWdpc3RyYXRpb25SZWFk
eVJlcXVlc3RzLmFkZChyZXF1ZXN0SWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOwogCi0g
ICAgY2FsbE9uTWFpblRocmVhZChbc2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIHRocmVhZCA9IG1f
dGhyZWFkLmNvcHlSZWYoKSwgcmVxdWVzdElkZW50aWZpZXIsIHRvcE9yaWdpbiA9IHRvcE9yaWdp
bi5pc29sYXRlZENvcHkoKSwgY2xpZW50VVJMID0gY3Jvc3NUaHJlYWRDb3B5KGNsaWVudFVSTCld
KCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNz
aW9uSUQpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RocmVhZCA9IG1fdGhyZWFkLmNvcHlSZWYo
KSwgcmVxdWVzdElkZW50aWZpZXIsIHRvcE9yaWdpbiA9IHRvcE9yaWdpbi5pc29sYXRlZENvcHko
KSwgY2xpZW50VVJMID0gY3Jvc3NUaHJlYWRDb3B5KGNsaWVudFVSTCldKCkgbXV0YWJsZSB7Cisg
ICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAgICAgICAgIGNvbm5lY3Rpb24ud2hlblJl
Z2lzdHJhdGlvblJlYWR5KHRvcE9yaWdpbiwgY2xpZW50VVJMLCBbdGhyZWFkID0gV1RGTW92ZSh0
aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAg
ICAgICAgICB0aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlcXVlc3RJZGVudGlm
aWVyLCByZXN1bHQgPSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShyZXN1bHQpKV0gKGF1dG8mIHNj
b3BlKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBhdXRvIGNhbGxiYWNrID0gZG93bmNhc3Q8
V29ya2VyR2xvYmFsU2NvcGU+KHNjb3BlKS5zd0NsaWVudENvbm5lY3Rpb24oKS5tX3doZW5SZWdp
c3RyYXRpb25SZWFkeVJlcXVlc3RzLnRha2UocmVxdWVzdElkZW50aWZpZXIpOwpAQCAtMTEwLDI0
ICsxMDksMjQgQEAgdm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OndoZW5SZWdpc3RyYXRp
b25SZWFkeShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHQKIAogdm9pZCBXb3JrZXJTV0NsaWVu
dENvbm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIGNhbGxPbk1h
aW5UaHJlYWQoW3Nlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBpZGVudGlmaWVyXSgpIG11dGFibGUg
ewotICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5n
bGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKTsKKyAg
ICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSgpIG11dGFibGUgeworICAgICAgICBhdXRv
JiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNl
V29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLmFkZFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JblNlcnZlcihpZGVudGlmaWVyKTsKICAgICB9KTsKIH0KIAogdm9pZCBXb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNl
cnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewot
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3Nlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBpZGVudGlmaWVy
XSgpIG11dGFibGUgewotICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclBy
b3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vz
c2lvbklEKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSgpIG11dGFibGUgewor
ICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0
b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLnJlbW92
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihpZGVudGlmaWVyKTsKICAgICB9KTsK
IH0KIAogdm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OmRpZFJlc29sdmVSZWdpc3RyYXRp
b25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSkKIHsKLSAg
ICBjYWxsT25NYWluVGhyZWFkKFtzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwga2V5ID0gY3Jvc3NU
aHJlYWRDb3B5KGtleSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBT
ZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9u
Rm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2tleSA9IGNyb3Nz
VGhyZWFkQ29weShrZXkpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0g
U2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlv
bigpOwogICAgICAgICBjb25uZWN0aW9uLmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGtl
eSk7CiAgICAgfSk7CiB9CkBAIC0xMzUsNyArMTM0LDcgQEAgdm9pZCBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb246OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3Jr
ZXIKIHZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdv
cmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbiwgTWVzc2FnZVdpdGhNZXNz
YWdlUG9ydHMmJiBwb3J0cywgY29uc3QgU2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciYg
c291cmNlKQogewogICAgIGNhbGxPbk1haW5UaHJlYWRBbmRXYWl0KFsmXSB7Ci0gICAgICAgIGF1
dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihtX3Nlc3Npb25JRCk7CisgICAgICAgIGF1dG8m
IGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VX
b3JrZXJDb25uZWN0aW9uKCk7CiAgICAgICAgIGNvbm5lY3Rpb24ucG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXIoZGVzdGluYXRpb24sIFdURk1vdmUocG9ydHMpLCBzb3VyY2UpOwogICAgIH0pOwog
fQpAQCAtMTQ0LDcgKzE0Myw3IEBAIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgV29ya2Vy
U1dDbGllbnRDb25uZWN0aW9uOjpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllCiB7CiAgICAgU1dT
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyOwogICAgIGNhbGxPbk1haW5UaHJl
YWRBbmRXYWl0KFsmXSB7Ci0gICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbiht
X3Nlc3Npb25JRCk7CisgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAgICAgICAgIGlk
ZW50aWZpZXIgPSBjb25uZWN0aW9uLnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCk7CiAgICAg
fSk7CiAgICAgcmV0dXJuIGlkZW50aWZpZXI7CkBAIC0xNTgsMTYgKzE1NywxNiBAQCBib29sIFdv
cmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9y
T3JpZ2luKGNvbnN0IFNlYwogCiB2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6c3luY1Rl
cm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAg
IGNhbGxPbk1haW5UaHJlYWQoW3Nlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBpZGVudGlmaWVyXSgp
IG11dGFibGUgewotICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3Zp
ZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lv
bklEKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSgpIG11dGFibGUgeworICAg
ICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24o
KS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLnN5bmNUZXJt
aW5hdGVXb3JrZXIoaWRlbnRpZmllcik7CiAgICAgfSk7CiB9CiAKIHZvaWQgV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlP
cmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudERhdGEmIGRhdGEsIGNv
bnN0IE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChb
c2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIHRvcE9yaWdpbiA9IHRvcE9yaWdpbi5pc29sYXRlZENv
cHkoKSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShkYXRhKSwgaWRlbnRpZmllciwgdXNlckFnZW50
ID0gY3Jvc3NUaHJlYWRDb3B5KHVzZXJBZ2VudCldIHsKLSAgICAgICAgYXV0byYgY29ubmVjdGlv
biA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5l
Y3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdG9wT3Jp
Z2luID0gdG9wT3JpZ2luLmlzb2xhdGVkQ29weSgpLCBkYXRhID0gY3Jvc3NUaHJlYWRDb3B5KGRh
dGEpLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQgPSBjcm9zc1RocmVhZENvcHkodXNlckFnZW50KV0g
eworICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5n
bGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogICAgICAgICBjb25uZWN0aW9uLnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmlnaW4sIGRhdGEsIGlkZW50aWZpZXIsIHVz
ZXJBZ2VudCk7CiAgICAgfSk7CiB9CkBAIC0xNzksOCArMTc4LDggQEAgdm9pZCBXb3JrZXJTV0Ns
aWVudENvbm5lY3Rpb246OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KERvY3VtZW50SWRl
bnRpZmllcikKIAogdm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OmZpbmlzaEZldGNoaW5n
U2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0JiByZXN1bHQpCiB7
Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIHJlc3VsdCA9
IGNyb3NzVGhyZWFkQ29weShyZXN1bHQpXSgpIG11dGFibGUgewotICAgICAgICBhdXRvJiBjb25u
ZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFty
ZXN1bHQgPSBjcm9zc1RocmVhZENvcHkocmVzdWx0KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0
byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2Vydmlj
ZVdvcmtlckNvbm5lY3Rpb24oKTsKICAgICAgICAgY29ubmVjdGlvbi5maW5pc2hGZXRjaGluZ1Nj
cmlwdEluU2VydmVyKHJlc3VsdCk7CiAgICAgfSk7CiB9CkBAIC0xOTYsOCArMTk1LDggQEAgdm9p
ZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogCiB2b2lk
IFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6c2NoZWR1bGVKb2IoRG9jdW1lbnRPcldvcmtlcklk
ZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGRhdGEpCiB7
Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIGlkZW50aWZp
ZXIsIGRhdGEgPSBjcm9zc1RocmVhZENvcHkoZGF0YSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1
dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIGNhbGxPbk1haW5U
aHJlYWQoW2lkZW50aWZpZXIsIGRhdGEgPSBjcm9zc1RocmVhZENvcHkoZGF0YSldKCkgbXV0YWJs
ZSB7CisgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNp
bmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAgICAgICAgIGNvbm5lY3Rpb24u
c2NoZWR1bGVKb2IoaWRlbnRpZmllciwgZGF0YSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9u
LmgKaW5kZXggYzU3ZjRmYTljMzY4Y2JhNzJhZWUwN2IzZGViMWNlMDE2OTRjNDYzMS4uOWVkZmI2
OTdhMTVmMDdlNzI0NTA3MmQ1MzMxOGVkNGMwY2NjYjVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaApA
QCAtNjAsNyArNjAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVKb2JJblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgc2NoZWR1bGVKb2Io
RG9jdW1lbnRPcldvcmtlcklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikg
ZmluYWw7CiAKLSAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBSZWY8V29ya2Vy
VGhyZWFkPiBtX3RocmVhZDsKIAogICAgIHVpbnQ2NF90IG1fbGFzdFJlcXVlc3RJZGVudGlmaWVy
IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCA5YzNmMDQ0YzQyMDI4N2Yw
ZjZkYmYzNTA0NDUyYTNmYzE0OTgwZTBkLi4yMmY3MzkxY2QwNDRlNWJiYWJhZGQ1NWNlOGMyODAx
M2IyZmM5OTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNDUsNyArNDUsNiBA
QAogI2luY2x1ZGUgIldvcmtlck9iamVjdFByb3h5LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGlt
ZUZsYWdzLmg+Ci0jaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogCiB1c2luZyBuYW1lc3BhY2UgUEFMOwpAQCAtNzIsOCArNzEsOCBAQCBw
cml2YXRlOgogLy8gRklYTUU6IFVzZSBhIHZhbGlkIFdvcmtlck9iamVjdFByb3h5CiAvLyBGSVhN
RTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MKIAotU2VydmljZVdvcmtlclRocmVhZDo6U2Vydmlj
ZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFBBTDo6
U2Vzc2lvbklELCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQ
cm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmlu
ZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNy
ZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5
LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCks
IFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGlj
eSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdp
bigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSwgZGF0YS5z
ZXNzaW9uSUQpCitTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0
IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBXb3Jr
ZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2Vy
UHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHks
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtlclRocmVhZChkYXRh
LnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6
SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50
KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRh
dGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0
YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9w
T3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgTW9ub3RvbmljVGltZTo6bm93KCksIGlk
YkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVh
dGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJl
ZCgpKQogewpAQCAtODIsMTAgKzgxLDEwIEBAIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VX
b3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBQCiAKIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6On5TZXJ2aWNlV29ya2VyVGhyZWFkKCkgPSBkZWZhdWx0OwogCi1S
ZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
CitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRv
cE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQogewogICAgIFVOVVNFRF9QQVJBTShu
YW1lKTsKLSAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRh
LCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
KnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5l
Y3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpLCBzZXNzaW9uSUQpOworICAgIHJldHVybiBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX2RhdGEsIHVybCwgV1RGTW92ZShvcmln
aW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCAqdGhpcywgY29udGVudFNlY3Vy
aXR5UG9saWN5LCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdU
Rk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tl
dFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9v
cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggYmFiM2FmMzdiMThiNjdiOGIxY2VmYWEx
Y2RmZTA3Mjk2ZDkxOTJjMC4uMDczY2Q2MjI2MzNiNWI1ZjYxZTNhOTBiNGRjOGYwNjZmN2UzMjFm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApAQCAtNjksMTEgKzY5LDExIEBAIHB1YmxpYzoK
ICAgICBib29sIGRvZXNIYW5kbGVGZXRjaCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9lc0hhbmRsZUZl
dGNoOyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBQQUw6OlNlc3Npb25JRCkgZmluYWw7CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbikgZmluYWw7CiAgICAgdm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAog
cHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIFBBTDo6U2Vzc2lvbklELCBTdHJpbmcmJiB1c2VyQWdl
bnQsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIFN0
cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5
JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCiAg
ICAgYm9vbCBpc1NlcnZpY2VXb3JrZXJUaHJlYWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVl
OyB9CiAgICAgdm9pZCBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuY3BwCmluZGV4IDc5MWQzYTNkZjU5MDVhZTEwMzI1NjE4
YTU1MTE0N2JhZjVlNGVlNjguLjg3Nzk0OGI5OWI1M2RmMDMxY2JlNjRmNmUxYTA1NjdkZGRjMjAy
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1Nl
cnZpY2VXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtMzgsNyArMzgs
NiBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgotI2luY2x1ZGUg
PHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUg
PHd0Zi9SdW5Mb29wLmg+CiAKQEAgLTk1LDEwICs5NCwxMCBAQCBzdGF0aWMgSGFzaFNldDxTZXJ2
aWNlV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2VydmljZVdvcmtlclRocmVhZFByb3hpZXMoKQog
ICAgIHJldHVybiBzZXQ7CiB9CiAKLVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6U2VydmljZVdv
cmtlclRocmVhZFByb3h5KFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24sIGNv
bnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklELCBTdHJpbmcmJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3Jh
Z2VQcm92aWRlciwgU2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBzdG9yYWdl
QmxvY2tpbmdQb2xpY3kpCitTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OlNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uLCBjb25zdCBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgQ2FjaGVT
dG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBTZWN1cml0eU9yaWdpbjo6U3Rv
cmFnZUJsb2NraW5nUG9saWN5IHN0b3JhZ2VCbG9ja2luZ1BvbGljeSkKICAgICA6IG1fcGFnZShj
cmVhdGVQYWdlRm9yU2VydmljZVdvcmtlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSwgZGF0
YSwgc3RvcmFnZUJsb2NraW5nUG9saWN5KSkKICAgICAsIG1fZG9jdW1lbnQoKm1fcGFnZS0+bWFp
bkZyYW1lKCkuZG9jdW1lbnQoKSkKLSAgICAsIG1fc2VydmljZVdvcmtlclRocmVhZChTZXJ2aWNl
V29ya2VyVGhyZWFkOjpjcmVhdGUoZGF0YSwgc2Vzc2lvbklELCBXVEZNb3ZlKHVzZXJBZ2VudCks
ICp0aGlzLCAqdGhpcywgaWRiQ29ubmVjdGlvblByb3h5KG1fZG9jdW1lbnQpLCBtX2RvY3VtZW50
LT5zb2NrZXRQcm92aWRlcigpKSkKKyAgICAsIG1fc2VydmljZVdvcmtlclRocmVhZChTZXJ2aWNl
V29ya2VyVGhyZWFkOjpjcmVhdGUoZGF0YSwgV1RGTW92ZSh1c2VyQWdlbnQpLCAqdGhpcywgKnRo
aXMsIGlkYkNvbm5lY3Rpb25Qcm94eShtX2RvY3VtZW50KSwgbV9kb2N1bWVudC0+c29ja2V0UHJv
dmlkZXIoKSkpCiAgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKGNhY2hlU3RvcmFnZVByb3Zp
ZGVyKQogICAgICwgbV9pbnNwZWN0b3JQcm94eSgqdGhpcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94
eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
clRocmVhZFByb3h5LmgKaW5kZXggMDlhNjQwOTc5NTA2YWI2YzQ0NzdkYjQyZTAwNTYyNmMzZDFm
ZDQzNy4uZGRjYmZkZjVjNmMyODU2YTM0ZTU5MThkN2Y0YWU1ZTQ1OThkOTcxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZFByb3h5LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlRmV0Y2goU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRp
ZmllciwgRmV0Y2hJZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBT
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoUGFnZUNvbmZpZ3VyYXRpb24mJiwgY29uc3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhJiwgUEFMOjpTZXNzaW9uSUQsIFN0cmluZyYmIHVzZXJBZ2VudCwg
Q2FjaGVTdG9yYWdlUHJvdmlkZXImLCBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9s
aWN5KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoUGFnZUNv
bmZpZ3VyYXRpb24mJiwgY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgU3RyaW5nJiYg
dXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYsIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdl
QmxvY2tpbmdQb2xpY3kpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgbmV0d29y
a1N0YXRlQ2hhbmdlZChib29sIGlzT25MaW5lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0
cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBkNzZjMTAyMmFjYzc1Zjk5NWQyZDI3YmNlOGZh
ZDgwYzc4Y2RkMWQ3Li40ZGEyMGE4ZjQxZmI1ZGUyNmRlY2JjMzIwNmJiYzQyMDQyY2MyNTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtMTIw
LDcgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgZmluYWwgeyBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogICAgIFVSTCBjb21wbGV0ZVVS
TChjb25zdCBTdHJpbmcmKSBjb25zdCBmaW5hbDsKLSAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQorICAgIFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklEOyB9CiAgICAgU3RyaW5n
IHVzZXJBZ2VudChjb25zdCBVUkwmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGRpc2FibGVFdmFs
KGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0
IFN0cmluZyYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmNwcAppbmRleCA3MTRhZjI1Mzky
YWFhYTljNjE3NzcyMWFhMTQ3MDc4YTIyM2FjNDA5Li5iNzE0Nzk2MjE4OTYwZTMzMzMxYTY3Mjc4
OTU3MzM5MzI0ZTc2NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmNwcApAQCAtMzQsMTEgKzM0
LDExIEBAIFJlZjxET01QYXJzZXI+IERPTVBhcnNlcjo6Y3JlYXRlKERvY3VtZW50JiBjb250ZXh0
RG9jdW1lbnQpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUGFyc2VyKGNvbnRleHREb2N1
bWVudCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8RG9jdW1lbnQ+PiBET01QYXJzZXI6OnBhcnNl
RnJvbVN0cmluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcm
IHN0cmluZywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkKK0V4Y2VwdGlvbk9yPFJlZjxEb2N1
bWVudD4+IERPTVBhcnNlcjo6cGFyc2VGcm9tU3RyaW5nKERvY3VtZW50JiBjYWxsaW5nRG9jdW1l
bnQsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKQogewog
ICAgIGlmIChjb250ZW50VHlwZSAhPSAidGV4dC9odG1sIiAmJiBjb250ZW50VHlwZSAhPSAidGV4
dC94bWwiICYmIGNvbnRlbnRUeXBlICE9ICJhcHBsaWNhdGlvbi94bWwiICYmIGNvbnRlbnRUeXBl
ICE9ICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiICYmIGNvbnRlbnRUeXBlICE9ICJpbWFnZS9zdmcr
eG1sIikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwotICAgIGF1dG8g
ZG9jdW1lbnQgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29udGV4dC5zZXNz
aW9uSUQoKSwgY29udGVudFR5cGUsIG51bGxwdHIsIFVSTCB7IH0pOworICAgIGF1dG8gZG9jdW1l
bnQgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY2FsbGluZ0RvY3VtZW50LnNl
c3Npb25JRCgpLCBjb250ZW50VHlwZSwgbnVsbHB0ciwgVVJMIHsgfSk7CiAgICAgaWYgKG1fY29u
dGV4dERvY3VtZW50KQogICAgICAgICBkb2N1bWVudC0+c2V0Q29udGV4dERvY3VtZW50KCptX2Nv
bnRleHREb2N1bWVudC5nZXQoKSk7CiAgICAgZG9jdW1lbnQtPnNldENvbnRlbnQoc3RyaW5nKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9ET01QYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9ET01QYXJzZXIuaAppbmRleCA1YjI4M2YzZDM2MWUwOTA3YjAzOTQ1OWE4MDc5OTdj
YWI2ZmQ0ZjcyLi41NTI0MDY4ZjY2ODU5NmE2YTNiOTI2OTA5MzI0N2NiOTk5NjBlMjg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL0RPTVBhcnNlci5oCkBAIC0yNCwxMiArMjQsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBj
bGFzcyBET01QYXJzZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxET01QYXJzZXI+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPERPTVBhcnNlcj4gY3JlYXRlKERvY3VtZW50JiBjb250ZXh0RG9jdW1l
bnQpOwotICAgIEV4Y2VwdGlvbk9yPFJlZjxEb2N1bWVudD4+IHBhcnNlRnJvbVN0cmluZyhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBjb250ZW50
VHlwZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPERvY3VtZW50Pj4gcGFyc2VGcm9tU3RyaW5nKERv
Y3VtZW50JiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAKIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgRE9NUGFyc2VyKERvY3VtZW50JiBjb250ZXh0RG9jdW1lbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbAppbmRleCA1MWQ4MzA5MmEzOTQ3OTEzNjk3YTg3YjVh
M2Y1MDQxODRlYjVkNDExLi45ZDUyNTY1OWQ4ZTlmM2Q2NTMwMDJiMTViZTVkNGI3MzU1YWJjMTM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbApAQCAtMjIsNSArMjIsNSBAQAogICAgIENvbnN0
cnVjdG9yQ2FsbFdpdGg9RG9jdW1lbnQsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
IF0gaW50ZXJmYWNlIERPTVBhcnNlciB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmpl
Y3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIERvY3VtZW50IHBhcnNlRnJvbVN0
cmluZyhET01TdHJpbmcgc3RyaW5nLCBET01TdHJpbmcgY29udGVudFR5cGUpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0LCBDYWxsV2l0aD1Eb2N1bWVudF0gRG9jdW1lbnQgcGFy
c2VGcm9tU3RyaW5nKERPTVN0cmluZyBzdHJpbmcsIERPTVN0cmluZyBjb250ZW50VHlwZSk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNzliZDQ2MTIwM2VkZDI0
NGRlNTdjNjk2MDY0NDZiNjhjMTk2NWM2My4uZDBiNDI0MzFlYTQ2ZTIxNjUyN2E5ZGYwNDYwODk3
ZTNiYmNlYTEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xNzMs
NyArMTczLDcgQEAgRXhjZXB0aW9uT3I8RG9jdW1lbnQqPiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9u
c2VYTUwoKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9jcmVhdGVkRG9j
dW1lbnQpIHsKLSAgICAgICAgYXV0byYgY29udGV4dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CisgICAgICAgIGF1dG8mIGNvbnRleHQgPSBkb3duY2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7CiAKICAgICAgICAgU3RyaW5nIG1pbWVUeXBlID0gcmVzcG9uc2VN
SU1FVHlwZSgpOwogICAgICAgICBib29sIGlzSFRNTCA9IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKG1pbWVUeXBlLCAidGV4dC9odG1sIik7CkBAIC0xOTAsNyArMTkwLDcgQEAgRXhjZXB0
aW9uT3I8RG9jdW1lbnQqPiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VYTUwoKQogICAgICAgICAg
ICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IFhNTERvY3VtZW50OjpjcmVhdGUoY29udGV4dC5z
ZXNzaW9uSUQoKSwgbnVsbHB0ciwgbV91cmwpOwogICAgICAgICAgICAgbV9yZXNwb25zZURvY3Vt
ZW50LT5vdmVycmlkZUxhc3RNb2RpZmllZChtX3Jlc3BvbnNlLmxhc3RNb2RpZmllZCgpKTsKICAg
ICAgICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudC0+c2V0Q29udGVudChtX3Jlc3BvbnNlQnVpbGRl
ci50b1N0cmluZ1ByZXNlcnZlQ2FwYWNpdHkoKSk7Ci0gICAgICAgICAgICBtX3Jlc3BvbnNlRG9j
dW1lbnQtPnNldENvbnRleHREb2N1bWVudChkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkpOwor
ICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50LT5zZXRDb250ZXh0RG9jdW1lbnQoY29udGV4
dCk7CiAgICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQtPnNldFNlY3VyaXR5T3JpZ2luUG9s
aWN5KGNvbnRleHQuc2VjdXJpdHlPcmlnaW5Qb2xpY3koKSk7CiAgICAgICAgICAgICBtX3Jlc3Bv
bnNlRG9jdW1lbnQtPm92ZXJyaWRlTUlNRVR5cGUobWltZVR5cGUpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggYmJhMjU1ZmVmNzJiNzVkMmVkMjk4MGNmNGUzODcz
ZWRhYmRhZmYxNi4uYTYyNDYyZWViOTU4MDU0OGZkYzE0MWRkMTk0NGNjMGYwODk1YjZiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZv
aWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKGNv
bnN0IFNlcnZpY2VXb3JrZXJDb250CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lID0gZnJhbWVMb2FkZXJDbGllbnQuZ2V0KCk7CiAgICAgbV9sb2FkZXJzLmFk
ZChXVEZNb3ZlKGZyYW1lTG9hZGVyQ2xpZW50KSk7CiAKLSAgICBhdXRvIHNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eSA9IFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFn
ZUNvbmZpZ3VyYXRpb24pLCBkYXRhLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQo
KSwgV1RGTW92ZShlZmZlY3RpdmVVc2VyQWdlbnQpLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5j
YWNoZVN0b3JhZ2VQcm92aWRlcigpLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CisgICAgYXV0
byBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgPSBTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OmNy
ZWF0ZShXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSwgZGF0YSwgV1RGTW92ZShlZmZlY3RpdmVV
c2VyQWdlbnQpLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigp
LCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xl
dG9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9ySW5zdGFsbChXVEZNb3ZlKHNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eSkpOwogCiAgICAgTE9HKFNlcnZpY2VXb3JrZXIsICJDb250ZXh0
IHByb2Nlc3MgUElEOiAlaSBjcmVhdGVkIHdvcmtlciB0aHJlYWRcbiIsIGdldEN1cnJlbnRQcm9j
ZXNzSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAppbmRleCBhNDhlYTIzY2U2OGQzYjM4
OTQwMTBhNjQ1NjA3NWFjNDJlODAzZWUzLi45OGI3ODcyYjM1ZDc4MmRkYzYzM2ViMTFlYmE4OGJm
M2U2YjQ2NmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKQEAgLTU0LDE1ICs1NCwxMyBA
QCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcigpCiB7
CiB9CiAKLVdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiYgV2ViU2VydmljZVdvcmtlclByb3Zp
ZGVyOjpzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25J
RCkKK1dlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiYgV2ViU2VydmljZVdvcmtlclByb3ZpZGVy
OjpzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChzZXNzaW9u
SUQsIHNlc3Npb25JRCA9PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CiAg
ICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiB9CiAKLVdlYkNvcmU6OlNXQ2xp
ZW50Q29ubmVjdGlvbiogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpleGlzdGluZ1NlcnZpY2VX
b3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklEKQorV2ViQ29yZTo6
U1dDbGllbnRDb25uZWN0aW9uKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oKQogewotICAgIEFTU0VSVF9VTlVTRUQoc2Vzc2lvbklELCBz
ZXNzaW9uSUQgPT0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwogICAgIGF1
dG8qIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmV4
aXN0aW5nTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgaWYgKCFuZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
aAppbmRleCAyYTExZDIyZWYyMzdhZWMwZThmNmRiOTIzNGZlNzZlZTgxODQ0ZWNmLi4wODhhZWQ5
NTRlOWE5ZDRlZTU5MmY1ZDc1NTI3MjcxNDRhMDUwYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
aApAQCAtNTIsOCArNTIsOCBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBOZXZlckRlc3Ryb3llZDxX
ZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI+OwogICAgIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcigp
OwogCi0gICAgV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uKiBleGlzdGluZ1NlcnZpY2VXb3Jr
ZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCkgZmluYWw7Ci0gICAgV2ViQ29y
ZTo6U1dDbGllbnRDb25uZWN0aW9uJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24o
UEFMOjpTZXNzaW9uSUQpIGZpbmFsOworICAgIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiog
ZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpIGZpbmFsOworICAgIFdlYkNvcmU6OlNX
Q2xpZW50Q29ubmVjdGlvbiYgc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSBmaW5hbDsKIAogICAg
IEhhc2hNYXA8V2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyLCBSZWY8U2VydmljZVdvcmtlckNsaWVu
dEZldGNoPj4gbV9vbmdvaW5nRmV0Y2hUYXNrczsKIH07IC8vIGNsYXNzIFdlYlNlcnZpY2VXb3Jr
ZXJQcm92aWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCAwMjliMjRkNDA5MTZlZmRiNDBkNDUzMTg5ODcwZDJiNDk0NjBiNTRmLi4yNjljNDJm
NGQ1YWM0MWE3ODBiNzZjNjdhZmU0YmZlZGQ5MWJkOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzg4LDggKzc4OCw4IEBAIHZvaWQgV2Vi
UGFnZTo6dXBkYXRlVGhyb3R0bGVTdGF0ZSgpCiAgICAgICAgIG1fdXNlckFjdGl2aXR5LnN0YXJ0
KCk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgUnVuTG9vcDo6bWFpbigpLmRp
c3BhdGNoKFtpc1Rocm90dGxlYWJsZSwgc2Vzc2lvbklEID0gc2Vzc2lvbklEKCldIHsKLSAgICAg
ICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCkp
IHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2lzVGhyb3R0bGVhYmxlXSB7CisgICAg
ICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0
b24oKS5leGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCkpIHsKICAgICAgICAgICAgIGlm
IChpc1Rocm90dGxlYWJsZSAhPSBjb25uZWN0aW9uLT5pc1Rocm90dGxlYWJsZSgpKQogICAgICAg
ICAgICAgICAgIGNvbm5lY3Rpb24tPnVwZGF0ZVRocm90dGxlU3RhdGUoKTsKICAgICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>