<?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>208141</bug_id>
          
          <creation_ts>2020-02-24 08:55:17 -0800</creation_ts>
          <short_desc>WebProcessPool does not need a map of service worker processes keyed by domain+session</short_desc>
          <delta_ts>2020-02-25 11:16:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1622185</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-24 08:55:17 -0800</bug_when>
    <thetext>WebProcessPool does not to own a map of service worker processes keyed by domain+session</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622187</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-24 09:00:32 -0800</bug_when>
    <thetext>See related rdar://problem/58285589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622188</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-24 09:00:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/59726655&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622189</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-24 09:01:42 -0800</bug_when>
    <thetext>Title is missing a verb I think</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622191</commentid>
    <comment_count>4</comment_count>
      <attachid>391549</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-24 09:07:22 -0800</bug_when>
    <thetext>Created attachment 391549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622301</commentid>
    <comment_count>5</comment_count>
      <attachid>391549</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-24 13:45:10 -0800</bug_when>
    <thetext>Comment on attachment 391549
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        WebProcessPool does not a map of service worker processes keyed by domain+session

does not need a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622593</commentid>
    <comment_count>6</comment_count>
      <attachid>391649</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-25 07:28:59 -0800</bug_when>
    <thetext>Created attachment 391649
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622687</commentid>
    <comment_count>7</comment_count>
      <attachid>391649</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-25 11:16:38 -0800</bug_when>
    <thetext>Comment on attachment 391649
Patch for landing

Clearing flags on attachment: 391649

Committed r257365: &lt;https://trac.webkit.org/changeset/257365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622688</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-25 11:16:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391549</attachid>
            <date>2020-02-24 09:07:22 -0800</date>
            <delta_ts>2020-02-25 07:28:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208141-20200224180719.patch</filename>
            <type>text/plain</type>
            <size>17412</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc4OWEyNjIyM2I4YTg1NzQ0
OGJlOGQ1NGFmNDczZmY3ZjkzZGVjYzAuLjE0MWExMDc1ZTA2NGU5OThhMmEzZWZjYmMwMGE1Nzg5
YTBlMzliMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDItMjQgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYlByb2Nlc3NQb29sIGRvZXMg
bm90IGEgbWFwIG9mIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3NlcyBrZXllZCBieSBkb21haW4rc2Vz
c2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQg
aXMgbm90IG5lZWRlZCBmb3IgdGhlIFdlYlByb2Nlc3NQb29sIHRvIHF1ZXJ5IHRoZSBzZXJ2aWNl
IHdvcmtlciBwcm9jZXNzIG1hcCBpbiBjYXNlIG9mIGNyZWF0aW9uIG9mIGEgc2VydmljZSB3b3Jr
ZXIgcHJvY2VzcworICAgICAgICBzaW5jZSBOZXR3b3JrIFByb2Nlc3MgaGFzIGFsbCB0aGUgaW5m
b3JtYXRpb24gbmVlZGVkIHRvIGRlY2lkZSB3aGV0aGVyIHRvIGNyZWF0ZSBhIG5ldyBwcm9jZXNz
IG9yIG5vdC4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgaXMgbm93IHRlbGxpbmcgVUlQcm9j
ZXNzIHRvIHRlcm1pbmF0ZSBhIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgYmFzZWQgb24gaXRzIGlk
ZW50aWZpZXIgaW5zdGVhZCBvZiBpdHMgZG9tYWluK3Nlc3Npb24uCisgICAgICAgIFRoaXMgYWxs
b3dzIHJlcGxhY2luZyB0aGUgV2ViUHJvY2Vzc1Bvb2wgc2VydmljZSB3b3JrZXIgcHJvY2VzcyBt
YXAgd2l0aCBhbiBIYXNoU2V0LCB3aGljaCBpcyBib3RoIHNhZmVyIGFuZCBtb3JlIGVmZmljaWVu
dCB0byB1c2UuCisKKyAgICAgICAgTm8gb2JzZXJ2YWJsZSBjaGFuZ2UuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6
c3luY1Rlcm1pbmF0ZVdvcmtlcik6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OnRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3JrZXJQcm9jZXNzZXMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNz
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlbW92ZUZyb21TZXJ2aWNlV29y
a2VyUHJvY2Vzc2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpc2Nvbm5l
Y3RQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZVdlYlBh
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dXBkYXRlU2VydmljZVdvcmtl
clVzZXJBZ2VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp0ZXJtaW5hdGVT
ZXJ2aWNlV29ya2Vycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1cGRhdGVQ
cm9jZXNzQXNzZXJ0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppc1Nl
cnZpY2VXb3JrZXJQYWdlSUQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6c2V0VXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpoYXNTZXJ2aWNlV29ya2VyRm9yZWdyb3VuZEFjdGl2aXR5Rm9yVGVz
dGluZyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpoYXNTZXJ2aWNl
V29ya2VyQmFja2dyb3VuZEFjdGl2aXR5Rm9yVGVzdGluZyBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjp0ZXJtaW5hdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisKIDIwMjAtMDItMjQg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHJ1bnRp
bWUgZmxhZyBkZWRpY2F0ZWQgdG8gV2ViUlRDIGNvZGVjcyBpbiBHUFVQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDM2
OWExNmEwNTc0M2NjMjYzN2MwZmZkZTgwZDkwYmViNDg2NWU5YTEuLmMwZjZjZWIxNGJlNTE3Y2Zj
YTA3OGRhOTc2OTUwMzgwOTQyMTU0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBXZWJT
V1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OnRlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBzZXIKIHZvaWQgV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpzeW5j
VGVybWluYXRlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyKQogewogICAgIGlmICghc2VuZFN5bmMoTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpTeW5jVGVybWluYXRlV29ya2VyKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KSwgTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpTeW5jVGVybWluYXRl
V29ya2VyOjpSZXBseSgpLCAwLCAxMF9zLCBJUEM6OlNlbmRTeW5jT3B0aW9uOjpGb3JjZURpc3Bh
dGNoV2hlbkRlc3RpbmF0aW9uSXNXYWl0aW5nRm9yVW5ib3VuZGVkU3luY1JlcGx5KSkKLSAgICAg
ICAgbV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6VGVybWluYXRlVW5yZXNwb25z
aXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyhyZWdpc3RyYWJsZURvbWFpbigpLCBtX2Nvbm5lY3Rp
b24uc2Vzc2lvbklEKCkpLCAwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNz
KCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6VGVybWluYXRlVW5yZXNwb25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyB7IHdl
YlByb2Nlc3NJZGVudGlmaWVyKCkgfSwgMCk7CiB9CiAKIHZvaWQgV2ViU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVyQ29tcGxldGVkKHVpbnQ2NF90IHJl
cXVlc3RJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4m
IGRhdGEsIGJvb2wgaGFzU2VjdXJpdHlFcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDRiZDIzMmFj
YWQzMWYxYTdiNDg2MTA3NjEyNmE2NGE1ZTU4MmI5N2YuLmQ0N2VmMmE1YTg4MmU3MGM0NzFjNTNi
MzI5MWU4MGQwNWMwZjU1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDM4LDEwICs0MzgsMTIgQEAg
dm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJv
eHlJZGVudGlmaWVyIHBhZ2VJRCwgY28KICAgICBwYWdlLT5sb2dEaWFnbm9zdGljTWVzc2FnZSht
ZXNzYWdlLCBkZXNjcmlwdGlvbiwgc2hvdWxkU2FtcGxlKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5Ojp0ZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgZG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQpCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzZXMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50
aWZpZXIpCiB7Ci0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjph
bGxQcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPnRlcm1pbmF0ZVNlcnZpY2VX
b3JrZXJQcm9jZXNzKGRvbWFpbiwgc2Vzc2lvbklEKTsKKyAgICBpZiAoYXV0byogcHJvY2VzcyA9
IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZpZXIp
KSB7CisgICAgICAgIHByb2Nlc3MtPmRpc2FibGVTZXJ2aWNlV29ya2VycygpOworICAgICAgICBw
cm9jZXNzLT5yZXF1ZXN0VGVybWluYXRpb24oUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpFeGNl
ZWRlZENQVUxpbWl0KTsKKyAgICB9CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlE
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQz
Ml90IHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgK
aW5kZXggMDJiY2NmNTljMjM3ODc4YzA3MzZiNjcyZGU4ZDIzM2U3ZDE4OWQ0MC4uMDAwNGQ4ODhi
ZmVjNGVhMWFiOWEzMzUzM2ZjMTE3Mzc2YmVkNDc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTE3OSw3ICsx
NzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTeW5jQWxsQ29va2llcygpOwogCiAgICAgdm9p
ZCB0ZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHko
V2ViUGFnZVByb3h5SWRlbnRpZmllciwgTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlRl
c3RQcm9jZXNzSW5jb21pbmdTeW5jTWVzc2FnZXNXaGVuV2FpdGluZ0ZvclN5bmNSZXBseURlbGF5
ZWRSZXBseSYmKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzZXMoV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgUEFMOjpTZXNzaW9uSUQpOwor
ICAgIHZvaWQgdGVybWluYXRlVW5yZXNwb25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyhXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAKICAgICBQcm9jZXNzVGhyb3R0bGVyJiB0aHJvdHRs
ZXIoKSB7IHJldHVybiBtX3Rocm90dGxlcjsgfQogICAgIHZvaWQgdXBkYXRlUHJvY2Vzc0Fzc2Vy
dGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ5MDU5ODI2ZTZjOTM0
ODYzMDExMmYzMTMwZTRmNDQxZTYzZWY5NDMuLjM1ZmQwYzQwNDFlNGMyMWQwNzUyYjBjOTQ3ZmIw
Mjg0NWQxZTFjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDcgKzMx
LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciBOb3RS
ZWZDb3VudGVkIHsKICAgICBEaWRTeW5jQWxsQ29va2llcygpCiAKICAgICBUZXN0UHJvY2Vzc0lu
Y29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoV2ViS2l0OjpXZWJQYWdl
UHJveHlJZGVudGlmaWVyIHBhZ2VJRCkgLT4gKGJvb2wgaGFuZGxlZCkgU3luY2hyb25vdXMKLSAg
ICBUZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKFdlYkNvcmU6OlJl
Z2lzdHJhYmxlRG9tYWluIGRvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklkKQorICAgIFRl
cm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3JrZXJQcm9jZXNzZXMoV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiAKICAgICBTZXRJc0hvbGRpbmdMb2NrZWRG
aWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggYmVlNzgwM2E5MmQzZDUwNzdkYThlZDBkMTQzMjk2
MzdkNGJkZjc5Ni4uNzkyZDEwMGQ5Y2JlYmMzOTQyMWE2M2RlNTFiZWQxYjFmY2Q4ZmQwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNzAyLDEwICs3
MDIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoTmV0d29y
a1Byb2Nlc3NQcm94eSYgbmV0d29ya1Byb2Nlc3NQcgogICAgIGZvciAoYXV0byYgcmVwbHkgOiBw
ZW5kaW5nUmVwbGllcykKICAgICAgICAgbmV3TmV0d29ya1Byb2Nlc3MuZ2V0TmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uKCpyZXBseS5maXJzdCwgV1RGTW92ZShyZXBseS5zZWNvbmQpKTsKIAotI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB3aGlsZSAoIW1fc2VydmljZVdvcmtlclByb2Nl
c3Nlcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5iZWdpbigp
LT52YWx1ZS0+ZGlzYWJsZVNlcnZpY2VXb3JrZXJzKCk7Ci0jZW5kaWYKKyAgICB0ZXJtaW5hdGVT
ZXJ2aWNlV29ya2VycygpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXJ2aWNlV29ya2Vy
UHJvY2Vzc0NyYXNoZWQoV2ViUHJvY2Vzc1Byb3h5JiBwcm94eSkKQEAgLTc0OSwxMyArNzQ2LDYg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm8KICAgICAgICAgd2Vic2l0ZURhdGFTdG9yZSA9IG1f
d2Vic2l0ZURhdGFTdG9yZS5nZXQoKTsKICAgICB9CiAKLSAgICBSZWdpc3RyYWJsZURvbWFpbldp
dGhTZXNzaW9uSUQgcmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEIHsgUmVnaXN0cmFibGVE
b21haW4geyByZWdpc3RyYWJsZURvbWFpbiB9LCBzZXNzaW9uSUQgfTsKLSAgICBpZiAobV9zZXJ2
aWNlV29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKHJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25J
RCkpIHsKLSAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChTZXJ2
aWNlV29ya2VyLCAiZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9j
ZXNzIHByb2Nlc3MgYWxyZWFkeSBjcmVhdGVkIik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBXZWJQcm9jZXNzUHJveHkqIHNlcnZp
Y2VXb3JrZXJQcm9jZXNzUHJveHkgeyBudWxscHRyIH07CiAgICAgaWYgKCFtX3VzZVNlcGFyYXRl
U2VydmljZVdvcmtlclByb2Nlc3MpIHsKICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogbV9w
cm9jZXNzZXMpIHsKQEAgLTc4NCw4ICs3NzQsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjplc3Rh
Ymxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Bybwog
ICAgICAgICBtX3Byb2Nlc3Nlcy5hcHBlbmQoV1RGTW92ZShuZXdQcm9jZXNzUHJveHkpKTsKICAg
ICB9CiAKLSAgICBBU1NFUlQoIW1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5jb250YWlucyhyZWdp
c3RyYWJsZURvbWFpbldpdGhTZXNzaW9uSUQpKTsKLSAgICBtX3NlcnZpY2VXb3JrZXJQcm9jZXNz
ZXMuYWRkKFdURk1vdmUocmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEKSwgbWFrZVdlYWtQ
dHIoc2VydmljZVdvcmtlclByb2Nlc3NQcm94eSkpOworICAgIEFTU0VSVCghbV9zZXJ2aWNlV29y
a2VyUHJvY2Vzc2VzLmNvbnRhaW5zKCpzZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5KSk7CisgICAg
bV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmFkZCgqc2VydmljZVdvcmtlclByb2Nlc3NQcm94eSk7
CiAKICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5LT5lc3RhYmxpc2hTZXJ2aWNlV29ya2Vy
Q29udGV4dChtX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcyA/IG1fc2VydmljZVdvcmtlclByZWZl
cmVuY2VzLnZhbHVlKCkgOiBtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuc3RvcmUo
KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIGlmICghbV9zZXJ2aWNlV29ya2Vy
VXNlckFnZW50LmlzTnVsbCgpKQpAQCAtNzk0LDEwICs3ODQsOCBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0
d29ya1BybwogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdmVGcm9tU2VydmljZVdvcmtlclBy
b2Nlc3NlcyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCiB7Ci0gICAgUmVnaXN0cmFibGVEb21h
aW5XaXRoU2Vzc2lvbklEIGtleSB7IHByb2Nlc3MucmVnaXN0cmFibGVEb21haW4oKSwgcHJvY2Vz
cy53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCkgfTsKLSAgICBBU1NFUlQobV9zZXJ2aWNl
V29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKGtleSkpOwotICAgIEFTU0VSVChtX3NlcnZpY2VXb3Jr
ZXJQcm9jZXNzZXMuZ2V0KGtleSkgPT0gJnByb2Nlc3MpOwotICAgIG1fc2VydmljZVdvcmtlclBy
b2Nlc3Nlcy5yZW1vdmUoa2V5KTsKKyAgICBBU1NFUlQobV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2Vz
LmNvbnRhaW5zKHByb2Nlc3MpKTsKKyAgICBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMucmVtb3Zl
KHByb2Nlc3MpOwogfQogI2VuZGlmCiAKQEAgLTExNjIsMTEgKzExNTAsOCBAQCB2b2lkIFdlYlBy
b2Nlc3NQb29sOjpkaXNjb25uZWN0UHJvY2VzcyhXZWJQcm9jZXNzUHJveHkqIHByb2Nlc3MpCiAg
ICAgbV9iYWNrRm9yd2FyZENhY2hlLT5yZW1vdmVFbnRyaWVzRm9yUHJvY2VzcygqcHJvY2Vzcyk7
CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHByb2Nlc3MtPmlzUnVubmlu
Z1NlcnZpY2VXb3JrZXJzKCkpIHsKLSAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fc2VydmljZVdv
cmtlclByb2Nlc3Nlcy5maW5kKFJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCB7IHByb2Nl
c3MtPnJlZ2lzdHJhYmxlRG9tYWluKCksIHByb2Nlc3MtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXNz
aW9uSUQoKSB9KTsKLSAgICAgICAgaWYgKGl0ZXJhdG9yICE9IG1fc2VydmljZVdvcmtlclByb2Nl
c3Nlcy5lbmQoKSAmJiBpdGVyYXRvci0+dmFsdWUgPT0gcHJvY2VzcykKLSAgICAgICAgICAgIG1f
c2VydmljZVdvcmtlclByb2Nlc3Nlcy5yZW1vdmUoaXRlcmF0b3IpOwotICAgIH0KKyAgICBpZiAo
cHJvY2Vzcy0+aXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSkKKyAgICAgICAgcmVtb3ZlRnJvbVNl
cnZpY2VXb3JrZXJQcm9jZXNzZXMoKnByb2Nlc3MpOwogI2VuZGlmCiAKICAgICBzdGF0aWNfY2Fz
dDxXZWJDb250ZXh0U3VwcGxlbWVudCo+KHN1cHBsZW1lbnQ8V2ViR2VvbG9jYXRpb25NYW5hZ2Vy
UHJveHk+KCkpLT5wcm9jZXNzRGlkQ2xvc2UocHJvY2Vzcyk7CkBAIC0xMjcyLDggKzEyNTcsOCBA
QCBSZWY8V2ViUGFnZVByb3h5PiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlV2ViUGFnZShQYWdlQ2xp
ZW50JiBwYWdlQ2xpZW50LCBSZWY8QVBJOgogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAg
ICBpZiAoIW1fc2VydmljZVdvcmtlclByZWZlcmVuY2VzKSB7CiAgICAgICAgIG1fc2VydmljZVdv
cmtlclByZWZlcmVuY2VzID0gcGFnZS0+cHJlZmVyZW5jZXNTdG9yZSgpOwotICAgICAgICBmb3Ig
KGF1dG8mIHNlcnZpY2VXb3JrZXJQcm9jZXNzIDogbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLnZh
bHVlcygpKQotICAgICAgICAgICAgc2VydmljZVdvcmtlclByb2Nlc3MtPnVwZGF0ZVNlcnZpY2VX
b3JrZXJQcmVmZXJlbmNlc1N0b3JlKCptX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcyk7CisgICAg
ICAgIGZvciAoYXV0byYgc2VydmljZVdvcmtlclByb2Nlc3MgOiBtX3NlcnZpY2VXb3JrZXJQcm9j
ZXNzZXMpCisgICAgICAgICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzcy51cGRhdGVTZXJ2aWNlV29y
a2VyUHJlZmVyZW5jZXNTdG9yZSgqbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMpOwogICAgIH0K
ICAgICBpZiAodXNlckNvbnRlbnRDb250cm9sbGVyKQogICAgICAgICBtX3VzZXJDb250ZW50Q29u
dHJvbGxlcklERm9yU2VydmljZVdvcmtlciA9IHVzZXJDb250ZW50Q29udHJvbGxlci0+aWRlbnRp
ZmllcigpOwpAQCAtMTMwMyw4ICsxMjg4LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dXBkYXRl
U2VydmljZVdvcmtlclVzZXJBZ2VudChjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCkKICAgICBpZiAo
bV9zZXJ2aWNlV29ya2VyVXNlckFnZW50ID09IHVzZXJBZ2VudCkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1fc2VydmljZVdvcmtlclVzZXJBZ2VudCA9IHVzZXJBZ2VudDsKLSAgICBmb3IgKGF1dG8m
IHNlcnZpY2VXb3JrZXJQcm9jZXNzIDogbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLnZhbHVlcygp
KQotICAgICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzcy0+c2V0U2VydmljZVdvcmtlclVzZXJBZ2Vu
dChtX3NlcnZpY2VXb3JrZXJVc2VyQWdlbnQpOworICAgIGZvciAoYXV0byYgc2VydmljZVdvcmtl
clByb2Nlc3MgOiBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMpCisgICAgICAgIHNlcnZpY2VXb3Jr
ZXJQcm9jZXNzLnNldFNlcnZpY2VXb3JrZXJVc2VyQWdlbnQobV9zZXJ2aWNlV29ya2VyVXNlckFn
ZW50KTsKIH0KICNlbmRpZgogCkBAIC0xNzczLDE5ICsxNzU4LDggQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6dGVybWluYXRlU2VydmljZVdvcmtlcnMoKQogewogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKICAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKLSAgICB3aGls
ZSAoIW1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2Vydmlj
ZVdvcmtlclByb2Nlc3Nlcy5iZWdpbigpLT52YWx1ZS0+ZGlzYWJsZVNlcnZpY2VXb3JrZXJzKCk7
Ci0jZW5kaWYKLX0KLQotdm9pZCBXZWJQcm9jZXNzUG9vbDo6dGVybWluYXRlU2VydmljZVdvcmtl
clByb2Nlc3MoY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbiwgY29uc3Qg
UEFMOjpTZXNzaW9uSUQmIHNlc3Npb25JRCkKLXsKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
Ci0gICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyk7Ci0gICAgaWYgKGF1dG8g
cHJvY2VzcyA9IG1ha2VSZWZQdHIobV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmdldCh7IGRvbWFp
biwgc2Vzc2lvbklEIH0pLmdldCgpKSkgewotICAgICAgICBwcm9jZXNzLT5kaXNhYmxlU2Vydmlj
ZVdvcmtlcnMoKTsKLSAgICAgICAgcHJvY2Vzcy0+cmVxdWVzdFRlcm1pbmF0aW9uKFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRDUFVMaW1pdCk7Ci0gICAgfQorICAgIHdoaWxlICht
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuY29tcHV0ZVNpemUoKSkKKyAgICAgICAgbV9zZXJ2aWNl
V29ya2VyUHJvY2Vzc2VzLmJlZ2luKCktPmRpc2FibGVTZXJ2aWNlV29ya2VycygpOwogI2VuZGlm
CiB9CiAKQEAgLTIxMDIsMjMgKzIwNzYsMjMgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVwb3J0
V2ViQ29udGVudENQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVMKIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NBc3NlcnRpb25zKCkKIHsKICAgICBlbnN1
cmVOZXR3b3JrUHJvY2VzcygpLnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24oKTsKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCiAgICAgLy8gQ2hlY2sgb24gbmV4dCBydW4gbG9vcCBzaW5jZSB0aGUg
d2ViIHByb2Nlc3MgcHJveHkgdG9rZW5zIGFyZSBwcm9iYWJseSBiZWluZyB1cGRhdGVkLgogICAg
IGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7
CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47Ci0jaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQotICAgICAgICBmb3IgKGF1dG8mIHNlcnZpY2VXb3JrZXJQcm9jZXNz
IDogbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLnZhbHVlcygpKQotICAgICAgICAgICAgc2Vydmlj
ZVdvcmtlclByb2Nlc3MtPnVwZGF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzQXNzZXJ0aW9uKCk7Ci0j
ZW5kaWYKKyAgICAgICAgZm9yIChhdXRvJiBzZXJ2aWNlV29ya2VyUHJvY2VzcyA6IG1fc2Vydmlj
ZVdvcmtlclByb2Nlc3NlcykKKyAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzLnVwZGF0
ZVNlcnZpY2VXb3JrZXJQcm9jZXNzQXNzZXJ0aW9uKCk7CiAgICAgfSk7CisjZW5kaWYKIH0KIAog
Ym9vbCBXZWJQcm9jZXNzUG9vbDo6aXNTZXJ2aWNlV29ya2VyUGFnZUlEKFdlYlBhZ2VQcm94eUlk
ZW50aWZpZXIgcGFnZUlEKSBjb25zdAogewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAg
ICAvLyBGSVhNRTogVGhpcyBpcyBpbmVmZmljaWVudC4KLSAgICByZXR1cm4gV1RGOjphbnlPZiht
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtwYWdlSURdKGF1dG8mIHByb2Nlc3Mp
IHsKLSAgICAgICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJQYWdlUHJveHkocGFn
ZUlEKTsKKyAgICByZXR1cm4gV1RGOjphbnlPZihtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMsIFtw
YWdlSURdKGF1dG8mIHByb2Nlc3MpIHsKKyAgICAgICAgcmV0dXJuIHByb2Nlc3MuaGFzU2Vydmlj
ZVdvcmtlclBhZ2VQcm94eShwYWdlSUQpOwogICAgIH0pOwogI2VuZGlmCiAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMjQ1MCwyNSArMjQyNCwyMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRVc2VT
ZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGJvb2wgdXNlU2VwYXJhdGVTZXJ2aWNlVwogICAg
IFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJzZXRVc2VTZXBhcmF0
ZVNlcnZpY2VXb3JrZXJQcm9jZXNzOiAodXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcz0l
ZCkiLCB1c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKTsKIAogICAgIG1fdXNlU2VwYXJh
dGVTZXJ2aWNlV29ya2VyUHJvY2VzcyA9IHVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3M7
Ci0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHdoaWxlICghbV9zZXJ2aWNlV29ya2Vy
UHJvY2Vzc2VzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmJl
Z2luKCktPnZhbHVlLT5kaXNhYmxlU2VydmljZVdvcmtlcnMoKTsKLSNlbmRpZgorICAgIHRlcm1p
bmF0ZVNlcnZpY2VXb3JrZXJzKCk7CiAgICAgdGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKIH0K
IAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6Omhhc1Nl
cnZpY2VXb3JrZXJGb3JlZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gV1RGOjphbnlPZihtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtdKGF1
dG8mIHByb2Nlc3MpIHsKLSAgICAgICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJG
b3JlZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7CisgICAgcmV0dXJuIFdURjo6YW55T2YobV9z
ZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLCBbXShhdXRvJiBwcm9jZXNzKSB7CisgICAgICAgIHJldHVy
biBwcm9jZXNzLmhhc1NlcnZpY2VXb3JrZXJGb3JlZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7
CiAgICAgfSk7CiB9CiAKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6Omhhc1NlcnZpY2VXb3JrZXJCYWNr
Z3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gV1RGOjphbnlP
ZihtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtdKGF1dG8mIHByb2Nlc3MpIHsK
LSAgICAgICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJCYWNrZ3JvdW5kQWN0aXZp
dHlGb3JUZXN0aW5nKCk7CisgICAgcmV0dXJuIFdURjo6YW55T2YobV9zZXJ2aWNlV29ya2VyUHJv
Y2Vzc2VzLCBbXShhdXRvJiBwcm9jZXNzKSB7CisgICAgICAgIHJldHVybiBwcm9jZXNzLmhhc1Nl
cnZpY2VXb3JrZXJCYWNrZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7CiAgICAgfSk7CiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDA2MTA1
ODY2ZWYyMDM2ODBmZmVhZjI4NzZjMWVmYWU4MGI3NjgwOGEuLmUxY2JjYjY1NjExMWNhMTQ1ZGJj
ZDNlNjZlMDcwZjg4OWE0NTI4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaApAQCAtMzI3LDcgKzMyNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlbmROZXR3b3Jr
UHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmcoKTsKICAgICB2b2lkIHNlbmRO
ZXR3b3JrUHJvY2Vzc0RpZFJlc3VtZSgpOwogICAgIHZvaWQgdGVybWluYXRlU2VydmljZVdvcmtl
cnMoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGNvbnN0IFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgY29uc3QgUEFMOjpTZXNzaW9uSUQmKTsKIAogICAgIHZv
aWQgc3luY05ldHdvcmtQcm9jZXNzQ29va2llcygpOwogICAgIHZvaWQgc3luY0xvY2FsU3RvcmFn
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spOwpAQCAtNDAxLDcgKzQwMCw3
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgdm9pZCBlc3RhYmxp
c2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NQ
cm94eSYsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIFBBTDo6U2Vzc2lvbklELCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgcmVtb3ZlRnJvbVNlcnZpY2VXb3Jr
ZXJQcm9jZXNzZXMoV2ViUHJvY2Vzc1Byb3h5Jik7Ci0gICAgc2l6ZV90IHNlcnZpY2VXb3JrZXJQ
cm94aWVzQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuc2l6
ZSgpOyB9CisgICAgc2l6ZV90IHNlcnZpY2VXb3JrZXJQcm94aWVzQ291bnQoKSBjb25zdCB7IHJl
dHVybiBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuY29tcHV0ZVNpemUoKTsgfQogICAgIHZvaWQg
c2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyKGJvb2wgYWxsb3dzKSB7
IG1fYWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyID0gYWxsb3dzOyB9CiAg
ICAgYm9vbCBhbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZUZvclNlcnZpY2VXb3JrZXIoKSBjb25zdCB7
IHJldHVybiBtX2FsbG93c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjsgfQogICAg
IHZvaWQgdXBkYXRlU2VydmljZVdvcmtlclVzZXJBZ2VudChjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCk7CkBAIC02MjgsOCArNjI3LDcgQEAgcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzUHJveHkqIG1f
ZHVtbXlQcm9jZXNzUHJveHkgeyBudWxscHRyIH07IC8vIEEgbGlnaHR3ZWlnaHQgV2ViUHJvY2Vz
c1Byb3h5IHdpdGhvdXQgYmFja2luZyBwcm9jZXNzLgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQotICAgIHVzaW5nIFJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCA9IHN0ZDo6cGFp
cjxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQ+OwotICAgIEhhc2hN
YXA8UmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklELCBXZWFrUHRyPFdlYlByb2Nlc3NQcm94
eT4+IG1fc2VydmljZVdvcmtlclByb2Nlc3NlczsKKyAgICBXZWFrSGFzaFNldDxXZWJQcm9jZXNz
UHJveHk+IG1fc2VydmljZVdvcmtlclByb2Nlc3NlczsKICAgICBib29sIG1fd2FpdGluZ0Zvcldv
cmtlckNvbnRleHRQcm9jZXNzQ29ubmVjdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FsbG93
c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlciB7IGZhbHNlIH07CiAgICAgU3RyaW5n
IG1fc2VydmljZVdvcmtlclVzZXJBZ2VudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391649</attachid>
            <date>2020-02-25 07:28:59 -0800</date>
            <delta_ts>2020-02-25 11:16:38 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-208141-20200225162855.patch</filename>
            <type>text/plain</type>
            <size>17577</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzZTAwNTY0YTAzYWQ2NWU1
OWVlZjg5ZTJhNGFkNzdkMGMzYzcwMGEuLjY4NTE2N2IwZjU1NTU1MzEwYTRjZmQ4Zjg1ZDM5MWFi
ZWRiYzRjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDItMjQgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYlByb2Nlc3NQb29sIGRvZXMg
bm90IG5lZWQgYSBtYXAgb2Ygc2VydmljZSB3b3JrZXIgcHJvY2Vzc2VzIGtleWVkIGJ5IGRvbWFp
bitzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDgxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgIEl0IGlzIG5vdCBuZWVkZWQgZm9yIHRoZSBXZWJQcm9jZXNzUG9vbCB0byBxdWVyeSB0aGUg
c2VydmljZSB3b3JrZXIgcHJvY2VzcyBtYXAgaW4gY2FzZSBvZiBjcmVhdGlvbiBvZiBhIHNlcnZp
Y2Ugd29ya2VyIHByb2Nlc3MKKyAgICAgICAgc2luY2UgTmV0d29yayBQcm9jZXNzIGhhcyBhbGwg
dGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZWNpZGUgd2hldGhlciB0byBjcmVhdGUgYSBuZXcg
cHJvY2VzcyBvciBub3QuCisKKyAgICAgICAgTmV0d29yayBwcm9jZXNzIGlzIG5vdyB0ZWxsaW5n
IFVJUHJvY2VzcyB0byB0ZXJtaW5hdGUgYSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGJhc2VkIG9u
IGl0cyBpZGVudGlmaWVyIGluc3RlYWQgb2YgaXRzIGRvbWFpbitzZXNzaW9uLgorICAgICAgICBU
aGlzIGFsbG93cyByZXBsYWNpbmcgdGhlIFdlYlByb2Nlc3NQb29sIHNlcnZpY2Ugd29ya2VyIHBy
b2Nlc3MgbWFwIHdpdGggYW4gSGFzaFNldCwgd2hpY2ggaXMgYm90aCBzYWZlciBhbmQgbW9yZSBl
ZmZpY2llbnQgdG8gdXNlLgorCisgICAgICAgIE5vIG9ic2VydmFibGUgY2hhbmdlLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb246OnN5bmNUZXJtaW5hdGVXb3JrZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
c1Byb3h5Ojp0ZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZW1vdmVGcm9tU2Vy
dmljZVdvcmtlclByb2Nlc3Nlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpk
aXNjb25uZWN0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVh
dGVXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVNlcnZp
Y2VXb3JrZXJVc2VyQWdlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dGVy
bWluYXRlU2VydmljZVdvcmtlcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6aXNTZXJ2aWNlV29ya2VyUGFnZUlEIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnNldFVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aGFzU2VydmljZVdvcmtlckZvcmVncm91bmRBY3Rpdml0
eUZvclRlc3RpbmcgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aGFz
U2VydmljZVdvcmtlckJhY2tncm91bmRBY3Rpdml0eUZvclRlc3RpbmcgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dGVybWluYXRlU2VydmljZVdvcmtlclByb2Nlc3Mp
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorCiAyMDIw
LTAyLTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBBbGxvdyBHUFVQcm9jZXNzIHRvIHNldCB0aGUgQXVkaW9TZXNzaW9uIENhdGVnb3J5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4
IDM2OWExNmEwNTc0M2NjMjYzN2MwZmZkZTgwZDkwYmViNDg2NWU5YTEuLmMwZjZjZWIxNGJlNTE3
Y2ZjYTA3OGRhOTc2OTUwMzgwOTQyMTU0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBX
ZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OnRlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzZXIKIHZvaWQgV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpz
eW5jVGVybWluYXRlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKQogewogICAgIGlmICghc2VuZFN5bmMoTWVzc2FnZXM6OldlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjpTeW5jVGVybWluYXRlV29ya2VyKHNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKSwgTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpTeW5jVGVybWlu
YXRlV29ya2VyOjpSZXBseSgpLCAwLCAxMF9zLCBJUEM6OlNlbmRTeW5jT3B0aW9uOjpGb3JjZURp
c3BhdGNoV2hlbkRlc3RpbmF0aW9uSXNXYWl0aW5nRm9yVW5ib3VuZGVkU3luY1JlcGx5KSkKLSAg
ICAgICAgbV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6VGVybWluYXRlVW5yZXNw
b25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyhyZWdpc3RyYWJsZURvbWFpbigpLCBtX2Nvbm5l
Y3Rpb24uc2Vzc2lvbklEKCkpLCAwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLm5ldHdvcmtQcm9j
ZXNzKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1By
b2Nlc3NQcm94eTo6VGVybWluYXRlVW5yZXNwb25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyB7
IHdlYlByb2Nlc3NJZGVudGlmaWVyKCkgfSwgMCk7CiB9CiAKIHZvaWQgV2ViU1dTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVyQ29tcGxldGVkKHVpbnQ2NF90
IHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YT4mIGRhdGEsIGJvb2wgaGFzU2VjdXJpdHlFcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDRiZDIz
MmFjYWQzMWYxYTdiNDg2MTA3NjEyNmE2NGE1ZTU4MmI5N2YuLmQ0N2VmMmE1YTg4MmU3MGM0NzFj
NTNiMzI5MWU4MGQwNWMwZjU1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDM4LDEwICs0MzgsMTIg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdl
UHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgY28KICAgICBwYWdlLT5sb2dEaWFnbm9zdGljTWVzc2Fn
ZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgc2hvdWxkU2FtcGxlKTsKIH0KIAotdm9pZCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5Ojp0ZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29ya2VyUHJvY2Vzc2Vz
KFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgZG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNl
cnZpY2VXb3JrZXJQcm9jZXNzZXMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lk
ZW50aWZpZXIpCiB7Ci0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29s
OjphbGxQcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPnRlcm1pbmF0ZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzKGRvbWFpbiwgc2Vzc2lvbklEKTsKKyAgICBpZiAoYXV0byogcHJvY2Vz
cyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZp
ZXIpKSB7CisgICAgICAgIHByb2Nlc3MtPmRpc2FibGVTZXJ2aWNlV29ya2VycygpOworICAgICAg
ICBwcm9jZXNzLT5yZXF1ZXN0VGVybWluYXRpb24oUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpF
eGNlZWRlZENQVUxpbWl0KTsKKyAgICB9CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFn
ZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVp
bnQzMl90IHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmgKaW5kZXggMDJiY2NmNTljMjM3ODc4YzA3MzZiNjcyZGU4ZDIzM2U3ZDE4OWQ0MC4uMDAwNGQ4
ODhiZmVjNGVhMWFiOWEzMzUzM2ZjMTE3Mzc2YmVkNDc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTE3OSw3
ICsxNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTeW5jQWxsQ29va2llcygpOwogCiAgICAg
dm9pZCB0ZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVw
bHkoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OlRlc3RQcm9jZXNzSW5jb21pbmdTeW5jTWVzc2FnZXNXaGVuV2FpdGluZ0ZvclN5bmNSZXBseURl
bGF5ZWRSZXBseSYmKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3Jr
ZXJQcm9jZXNzZXMoV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgUEFMOjpTZXNzaW9uSUQp
OworICAgIHZvaWQgdGVybWluYXRlVW5yZXNwb25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyhX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAKICAgICBQcm9jZXNzVGhyb3R0bGVyJiB0aHJv
dHRsZXIoKSB7IHJldHVybiBtX3Rocm90dGxlcjsgfQogICAgIHZvaWQgdXBkYXRlUHJvY2Vzc0Fz
c2VydGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ5MDU5ODI2ZTZj
OTM0ODYzMDExMmYzMTMwZTRmNDQxZTYzZWY5NDMuLjM1ZmQwYzQwNDFlNGMyMWQwNzUyYjBjOTQ3
ZmIwMjg0NWQxZTFjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDcg
KzMxLDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciBO
b3RSZWZDb3VudGVkIHsKICAgICBEaWRTeW5jQWxsQ29va2llcygpCiAKICAgICBUZXN0UHJvY2Vz
c0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoV2ViS2l0OjpXZWJQ
YWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCkgLT4gKGJvb2wgaGFuZGxlZCkgU3luY2hyb25vdXMK
LSAgICBUZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklkKQorICAg
IFRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3JrZXJQcm9jZXNzZXMoV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiAKICAgICBTZXRJc0hvbGRpbmdMb2Nr
ZWRGaWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggMzQyMjYwZjBjNjlhMTdiNDJmMDEyYjdlZGQ1
Mzg2ZmI2NmIyYWU5Ni4uNzkyZDEwMGQ5Y2JlYmMzOTQyMWE2M2RlNTFiZWQxYjFmY2Q4ZmQwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNzAyLDEw
ICs3MDIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoTmV0
d29ya1Byb2Nlc3NQcm94eSYgbmV0d29ya1Byb2Nlc3NQcgogICAgIGZvciAoYXV0byYgcmVwbHkg
OiBwZW5kaW5nUmVwbGllcykKICAgICAgICAgbmV3TmV0d29ya1Byb2Nlc3MuZ2V0TmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKCpyZXBseS5maXJzdCwgV1RGTW92ZShyZXBseS5zZWNvbmQpKTsKIAot
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB3aGlsZSAoIW1fc2VydmljZVdvcmtlclBy
b2Nlc3Nlcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5iZWdp
bigpLT52YWx1ZS0+ZGlzYWJsZVNlcnZpY2VXb3JrZXJzKCk7Ci0jZW5kaWYKKyAgICB0ZXJtaW5h
dGVTZXJ2aWNlV29ya2VycygpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXJ2aWNlV29y
a2VyUHJvY2Vzc0NyYXNoZWQoV2ViUHJvY2Vzc1Byb3h5JiBwcm94eSkKQEAgLTc0OSwxMyArNzQ2
LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rp
b25Ub05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm8KICAgICAgICAgd2Vic2l0ZURhdGFTdG9yZSA9
IG1fd2Vic2l0ZURhdGFTdG9yZS5nZXQoKTsKICAgICB9CiAKLSAgICBSZWdpc3RyYWJsZURvbWFp
bldpdGhTZXNzaW9uSUQgcmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEIHsgUmVnaXN0cmFi
bGVEb21haW4geyByZWdpc3RyYWJsZURvbWFpbiB9LCBzZXNzaW9uSUQgfTsKLSAgICBpZiAobV9z
ZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKHJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Np
b25JRCkpIHsKLSAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChT
ZXJ2aWNlV29ya2VyLCAiZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQ
cm9jZXNzIHByb2Nlc3MgYWxyZWFkeSBjcmVhdGVkIik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBXZWJQcm9jZXNzUHJveHkqIHNl
cnZpY2VXb3JrZXJQcm9jZXNzUHJveHkgeyBudWxscHRyIH07CiAgICAgaWYgKCFtX3VzZVNlcGFy
YXRlU2VydmljZVdvcmtlclByb2Nlc3MpIHsKICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDog
bV9wcm9jZXNzZXMpIHsKQEAgLTc4NCw4ICs3NzQsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpl
c3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1By
bwogICAgICAgICBtX3Byb2Nlc3Nlcy5hcHBlbmQoV1RGTW92ZShuZXdQcm9jZXNzUHJveHkpKTsK
ICAgICB9CiAKLSAgICBBU1NFUlQoIW1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5jb250YWlucyhy
ZWdpc3RyYWJsZURvbWFpbldpdGhTZXNzaW9uSUQpKTsKLSAgICBtX3NlcnZpY2VXb3JrZXJQcm9j
ZXNzZXMuYWRkKFdURk1vdmUocmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEKSwgbWFrZVdl
YWtQdHIoc2VydmljZVdvcmtlclByb2Nlc3NQcm94eSkpOworICAgIEFTU0VSVCghbV9zZXJ2aWNl
V29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKCpzZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5KSk7Cisg
ICAgbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmFkZCgqc2VydmljZVdvcmtlclByb2Nlc3NQcm94
eSk7CiAKICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5LT5lc3RhYmxpc2hTZXJ2aWNlV29y
a2VyQ29udGV4dChtX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcyA/IG1fc2VydmljZVdvcmtlclBy
ZWZlcmVuY2VzLnZhbHVlKCkgOiBtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuc3Rv
cmUoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIGlmICghbV9zZXJ2aWNlV29y
a2VyVXNlckFnZW50LmlzTnVsbCgpKQpAQCAtNzk0LDEwICs3ODQsOCBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Mo
TmV0d29ya1BybwogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdmVGcm9tU2VydmljZVdvcmtl
clByb2Nlc3NlcyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCiB7Ci0gICAgUmVnaXN0cmFibGVE
b21haW5XaXRoU2Vzc2lvbklEIGtleSB7IHByb2Nlc3MucmVnaXN0cmFibGVEb21haW4oKSwgcHJv
Y2Vzcy53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCkgfTsKLSAgICBBU1NFUlQobV9zZXJ2
aWNlV29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKGtleSkpOwotICAgIEFTU0VSVChtX3NlcnZpY2VX
b3JrZXJQcm9jZXNzZXMuZ2V0KGtleSkgPT0gJnByb2Nlc3MpOwotICAgIG1fc2VydmljZVdvcmtl
clByb2Nlc3Nlcy5yZW1vdmUoa2V5KTsKKyAgICBBU1NFUlQobV9zZXJ2aWNlV29ya2VyUHJvY2Vz
c2VzLmNvbnRhaW5zKHByb2Nlc3MpKTsKKyAgICBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMucmVt
b3ZlKHByb2Nlc3MpOwogfQogI2VuZGlmCiAKQEAgLTExNjIsMTEgKzExNTAsOCBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpkaXNjb25uZWN0UHJvY2VzcyhXZWJQcm9jZXNzUHJveHkqIHByb2Nlc3Mp
CiAgICAgbV9iYWNrRm9yd2FyZENhY2hlLT5yZW1vdmVFbnRyaWVzRm9yUHJvY2VzcygqcHJvY2Vz
cyk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHByb2Nlc3MtPmlzUnVu
bmluZ1NlcnZpY2VXb3JrZXJzKCkpIHsKLSAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fc2Vydmlj
ZVdvcmtlclByb2Nlc3Nlcy5maW5kKFJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCB7IHBy
b2Nlc3MtPnJlZ2lzdHJhYmxlRG9tYWluKCksIHByb2Nlc3MtPndlYnNpdGVEYXRhU3RvcmUoKS5z
ZXNzaW9uSUQoKSB9KTsKLSAgICAgICAgaWYgKGl0ZXJhdG9yICE9IG1fc2VydmljZVdvcmtlclBy
b2Nlc3Nlcy5lbmQoKSAmJiBpdGVyYXRvci0+dmFsdWUgPT0gcHJvY2VzcykKLSAgICAgICAgICAg
IG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5yZW1vdmUoaXRlcmF0b3IpOwotICAgIH0KKyAgICBp
ZiAocHJvY2Vzcy0+aXNSdW5uaW5nU2VydmljZVdvcmtlcnMoKSkKKyAgICAgICAgcmVtb3ZlRnJv
bVNlcnZpY2VXb3JrZXJQcm9jZXNzZXMoKnByb2Nlc3MpOwogI2VuZGlmCiAKICAgICBzdGF0aWNf
Y2FzdDxXZWJDb250ZXh0U3VwcGxlbWVudCo+KHN1cHBsZW1lbnQ8V2ViR2VvbG9jYXRpb25NYW5h
Z2VyUHJveHk+KCkpLT5wcm9jZXNzRGlkQ2xvc2UocHJvY2Vzcyk7CkBAIC0xMjcyLDEwICsxMjU3
LDggQEAgUmVmPFdlYlBhZ2VQcm94eT4gV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZVdlYlBhZ2UoUGFn
ZUNsaWVudCYgcGFnZUNsaWVudCwgUmVmPEFQSToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcykgewogICAgICAgICBtX3NlcnZp
Y2VXb3JrZXJQcmVmZXJlbmNlcyA9IHBhZ2UtPnByZWZlcmVuY2VzU3RvcmUoKTsKLSAgICAgICAg
Zm9yIChhdXRvJiBzZXJ2aWNlV29ya2VyUHJvY2VzcyA6IG1fc2VydmljZVdvcmtlclByb2Nlc3Nl
cy52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYgKHNlcnZpY2VXb3JrZXJQcm9jZXNzKQotICAg
ICAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzLT51cGRhdGVTZXJ2aWNlV29ya2VyUHJl
ZmVyZW5jZXNTdG9yZSgqbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMpOwotICAgICAgICB9Cisg
ICAgICAgIGZvciAoYXV0byYgc2VydmljZVdvcmtlclByb2Nlc3MgOiBtX3NlcnZpY2VXb3JrZXJQ
cm9jZXNzZXMpCisgICAgICAgICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzcy51cGRhdGVTZXJ2aWNl
V29ya2VyUHJlZmVyZW5jZXNTdG9yZSgqbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMpOwogICAg
IH0KICAgICBpZiAodXNlckNvbnRlbnRDb250cm9sbGVyKQogICAgICAgICBtX3VzZXJDb250ZW50
Q29udHJvbGxlcklERm9yU2VydmljZVdvcmtlciA9IHVzZXJDb250ZW50Q29udHJvbGxlci0+aWRl
bnRpZmllcigpOwpAQCAtMTMwNSwxMCArMTI4OCw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVw
ZGF0ZVNlcnZpY2VXb3JrZXJVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCiAgICAg
aWYgKG1fc2VydmljZVdvcmtlclVzZXJBZ2VudCA9PSB1c2VyQWdlbnQpCiAgICAgICAgIHJldHVy
bjsKICAgICBtX3NlcnZpY2VXb3JrZXJVc2VyQWdlbnQgPSB1c2VyQWdlbnQ7Ci0gICAgZm9yIChh
dXRvJiBzZXJ2aWNlV29ya2VyUHJvY2VzcyA6IG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy52YWx1
ZXMoKSkgewotICAgICAgICBpZiAoc2VydmljZVdvcmtlclByb2Nlc3MpCi0gICAgICAgICAgICBz
ZXJ2aWNlV29ya2VyUHJvY2Vzcy0+c2V0U2VydmljZVdvcmtlclVzZXJBZ2VudChtX3NlcnZpY2VX
b3JrZXJVc2VyQWdlbnQpOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIHNlcnZpY2VXb3JrZXJQcm9j
ZXNzIDogbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKQorICAgICAgICBzZXJ2aWNlV29ya2VyUHJv
Y2Vzcy5zZXRTZXJ2aWNlV29ya2VyVXNlckFnZW50KG1fc2VydmljZVdvcmtlclVzZXJBZ2VudCk7
CiB9CiAjZW5kaWYKIApAQCAtMTc3NywxOSArMTc1OCw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzKCkKIHsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyk7Ci0gICAgd2hpbGUgKCFt
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3NlcnZpY2VXb3Jr
ZXJQcm9jZXNzZXMuYmVnaW4oKS0+dmFsdWUtPmRpc2FibGVTZXJ2aWNlV29ya2VycygpOwotI2Vu
ZGlmCi19Ci0KLXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJQcm9j
ZXNzKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBkb21haW4sIGNvbnN0IFBBTDo6
U2Vzc2lvbklEJiBzZXNzaW9uSUQpCi17Ci0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAg
IGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwotICAgIGlmIChhdXRvIHByb2Nl
c3MgPSBtYWtlUmVmUHRyKG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5nZXQoeyBkb21haW4sIHNl
c3Npb25JRCB9KS5nZXQoKSkpIHsKLSAgICAgICAgcHJvY2Vzcy0+ZGlzYWJsZVNlcnZpY2VXb3Jr
ZXJzKCk7Ci0gICAgICAgIHByb2Nlc3MtPnJlcXVlc3RUZXJtaW5hdGlvbihQcm9jZXNzVGVybWlu
YXRpb25SZWFzb246OkV4Y2VlZGVkQ1BVTGltaXQpOwotICAgIH0KKyAgICB3aGlsZSAobV9zZXJ2
aWNlV29ya2VyUHJvY2Vzc2VzLmNvbXB1dGVTaXplKCkpCisgICAgICAgIG1fc2VydmljZVdvcmtl
clByb2Nlc3Nlcy5iZWdpbigpLT5kaXNhYmxlU2VydmljZVdvcmtlcnMoKTsKICNlbmRpZgogfQog
CkBAIC0yMTA2LDI1ICsyMDc2LDIzIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlcG9ydFdlYkNv
bnRlbnRDUFVUaW1lKFNlY29uZHMgY3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTCiB2b2lkIFdl
YlByb2Nlc3NQb29sOjp1cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpCiB7CiAgICAgZW5zdXJlTmV0
d29ya1Byb2Nlc3MoKS51cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQogICAgIC8vIENoZWNrIG9uIG5leHQgcnVuIGxvb3Agc2luY2UgdGhlIHdlYiBw
cm9jZXNzIHByb3h5IHRva2VucyBhcmUgcHJvYmFibHkgYmVpbmcgdXBkYXRlZC4KICAgICBjYWxs
T25NYWluUnVuTG9vcChbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gewogICAg
ICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKLSAgICAgICAgZm9yIChhdXRvJiBzZXJ2aWNlV29ya2VyUHJvY2VzcyA6IG1f
c2VydmljZVdvcmtlclByb2Nlc3Nlcy52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYgKHNlcnZp
Y2VXb3JrZXJQcm9jZXNzKQotICAgICAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzLT51
cGRhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbigpOwotICAgICAgICB9Ci0jZW5kaWYK
KyAgICAgICAgZm9yIChhdXRvJiBzZXJ2aWNlV29ya2VyUHJvY2VzcyA6IG1fc2VydmljZVdvcmtl
clByb2Nlc3NlcykKKyAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzLnVwZGF0ZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzQXNzZXJ0aW9uKCk7CiAgICAgfSk7CisjZW5kaWYKIH0KIAogYm9vbCBX
ZWJQcm9jZXNzUG9vbDo6aXNTZXJ2aWNlV29ya2VyUGFnZUlEKFdlYlBhZ2VQcm94eUlkZW50aWZp
ZXIgcGFnZUlEKSBjb25zdAogewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAvLyBG
SVhNRTogVGhpcyBpcyBpbmVmZmljaWVudC4KLSAgICByZXR1cm4gV1RGOjphbnlPZihtX3NlcnZp
Y2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtwYWdlSURdKGF1dG8mIHByb2Nlc3MpIHsKLSAg
ICAgICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJQYWdlUHJveHkocGFnZUlEKTsK
KyAgICByZXR1cm4gV1RGOjphbnlPZihtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMsIFtwYWdlSURd
KGF1dG8mIHByb2Nlc3MpIHsKKyAgICAgICAgcmV0dXJuIHByb2Nlc3MuaGFzU2VydmljZVdvcmtl
clBhZ2VQcm94eShwYWdlSUQpOwogICAgIH0pOwogI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMjQ1NiwyNSArMjQyNCwyMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRVc2VTZXBhcmF0
ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGJvb2wgdXNlU2VwYXJhdGVTZXJ2aWNlVwogICAgIFdFQlBS
T0NFU1NQT09MX1JFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJzZXRVc2VTZXBhcmF0ZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzOiAodXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcz0lZCkiLCB1
c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKTsKIAogICAgIG1fdXNlU2VwYXJhdGVTZXJ2
aWNlV29ya2VyUHJvY2VzcyA9IHVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3M7Ci0jaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHdoaWxlICghbV9zZXJ2aWNlV29ya2VyUHJvY2Vz
c2VzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLmJlZ2luKCkt
PnZhbHVlLT5kaXNhYmxlU2VydmljZVdvcmtlcnMoKTsKLSNlbmRpZgorICAgIHRlcm1pbmF0ZVNl
cnZpY2VXb3JrZXJzKCk7CiAgICAgdGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKIH0KIAogI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6Omhhc1NlcnZpY2VX
b3JrZXJGb3JlZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
V1RGOjphbnlPZihtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtdKGF1dG8mIHBy
b2Nlc3MpIHsKLSAgICAgICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJGb3JlZ3Jv
dW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7CisgICAgcmV0dXJuIFdURjo6YW55T2YobV9zZXJ2aWNl
V29ya2VyUHJvY2Vzc2VzLCBbXShhdXRvJiBwcm9jZXNzKSB7CisgICAgICAgIHJldHVybiBwcm9j
ZXNzLmhhc1NlcnZpY2VXb3JrZXJGb3JlZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7CiAgICAg
fSk7CiB9CiAKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6Omhhc1NlcnZpY2VXb3JrZXJCYWNrZ3JvdW5k
QWN0aXZpdHlGb3JUZXN0aW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gV1RGOjphbnlPZihtX3Nl
cnZpY2VXb3JrZXJQcm9jZXNzZXMudmFsdWVzKCksIFtdKGF1dG8mIHByb2Nlc3MpIHsKLSAgICAg
ICAgcmV0dXJuIHByb2Nlc3MtPmhhc1NlcnZpY2VXb3JrZXJCYWNrZ3JvdW5kQWN0aXZpdHlGb3JU
ZXN0aW5nKCk7CisgICAgcmV0dXJuIFdURjo6YW55T2YobV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2Vz
LCBbXShhdXRvJiBwcm9jZXNzKSB7CisgICAgICAgIHJldHVybiBwcm9jZXNzLmhhc1NlcnZpY2VX
b3JrZXJCYWNrZ3JvdW5kQWN0aXZpdHlGb3JUZXN0aW5nKCk7CiAgICAgfSk7CiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDA2MTA1ODY2ZWYy
MDM2ODBmZmVhZjI4NzZjMWVmYWU4MGI3NjgwOGEuLmUxY2JjYjY1NjExMWNhMTQ1ZGJjZDNlNjZl
MDcwZjg4OWE0NTI4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aApAQCAtMzI3LDcgKzMyNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlbmROZXR3b3JrUHJvY2Vz
c1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmcoKTsKICAgICB2b2lkIHNlbmROZXR3b3Jr
UHJvY2Vzc0RpZFJlc3VtZSgpOwogICAgIHZvaWQgdGVybWluYXRlU2VydmljZVdvcmtlcnMoKTsK
LSAgICB2b2lkIHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGNvbnN0IFdlYkNvcmU6OlJl
Z2lzdHJhYmxlRG9tYWluJiwgY29uc3QgUEFMOjpTZXNzaW9uSUQmKTsKIAogICAgIHZvaWQgc3lu
Y05ldHdvcmtQcm9jZXNzQ29va2llcygpOwogICAgIHZvaWQgc3luY0xvY2FsU3RvcmFnZShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spOwpAQCAtNDAxLDcgKzQwMCw3IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgdm9pZCBlc3RhYmxpc2hXb3Jr
ZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NQcm94eSYs
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgcmVtb3ZlRnJvbVNlcnZpY2VXb3JrZXJQcm9j
ZXNzZXMoV2ViUHJvY2Vzc1Byb3h5Jik7Ci0gICAgc2l6ZV90IHNlcnZpY2VXb3JrZXJQcm94aWVz
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuc2l6ZSgpOyB9
CisgICAgc2l6ZV90IHNlcnZpY2VXb3JrZXJQcm94aWVzQ291bnQoKSBjb25zdCB7IHJldHVybiBt
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuY29tcHV0ZVNpemUoKTsgfQogICAgIHZvaWQgc2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyKGJvb2wgYWxsb3dzKSB7IG1fYWxs
b3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyID0gYWxsb3dzOyB9CiAgICAgYm9v
bCBhbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZUZvclNlcnZpY2VXb3JrZXIoKSBjb25zdCB7IHJldHVy
biBtX2FsbG93c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjsgfQogICAgIHZvaWQg
dXBkYXRlU2VydmljZVdvcmtlclVzZXJBZ2VudChjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CkBA
IC02MjgsOCArNjI3LDcgQEAgcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzUHJveHkqIG1fZHVtbXlQ
cm9jZXNzUHJveHkgeyBudWxscHRyIH07IC8vIEEgbGlnaHR3ZWlnaHQgV2ViUHJvY2Vzc1Byb3h5
IHdpdGhvdXQgYmFja2luZyBwcm9jZXNzLgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQot
ICAgIHVzaW5nIFJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCA9IHN0ZDo6cGFpcjxXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQ+OwotICAgIEhhc2hNYXA8UmVn
aXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklELCBXZWFrUHRyPFdlYlByb2Nlc3NQcm94eT4+IG1f
c2VydmljZVdvcmtlclByb2Nlc3NlczsKKyAgICBXZWFrSGFzaFNldDxXZWJQcm9jZXNzUHJveHk+
IG1fc2VydmljZVdvcmtlclByb2Nlc3NlczsKICAgICBib29sIG1fd2FpdGluZ0ZvcldvcmtlckNv
bnRleHRQcm9jZXNzQ29ubmVjdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FsbG93c0FueVNT
TENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlciB7IGZhbHNlIH07CiAgICAgU3RyaW5nIG1fc2Vy
dmljZVdvcmtlclVzZXJBZ2VudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>