<?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>196468</bug_id>
          
          <creation_ts>2019-04-01 15:26:33 -0700</creation_ts>
          <short_desc>WebSocketHandshake should not know about a Document</short_desc>
          <delta_ts>2019-04-17 11:52:11 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1523095</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-01 15:26:33 -0700</bug_when>
    <thetext>WebSocketHandshake should not know about a Document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523098</commentid>
    <comment_count>1</comment_count>
      <attachid>366430</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-01 15:30:13 -0700</bug_when>
    <thetext>Created attachment 366430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528202</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-17 11:50:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/r244391</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528205</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-17 11:52:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/49986136&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366430</attachid>
            <date>2019-04-01 15:30:13 -0700</date>
            <delta_ts>2019-04-17 11:24:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196468-20190401153012.patch</filename>
            <type>text/plain</type>
            <size>14770</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MzcxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE5LTA0LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViU29ja2V0
SGFuZHNoYWtlIHNob3VsZCBub3Qga25vdyBhYm91dCBhIERvY3VtZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY0NjgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJJ2xsIG5lZWQgdG8gbW92ZSBXZWJT
b2NrZXRIYW5kc2hha2UgdG8gdGhlIE5ldHdvcmtQcm9jZXNzIGZvciByZGFyOi8vcHJvYmxlbS80
NjI4NzAyOAorICAgICAgICBJdCBjdXJyZW50bHkgdXNlcyB0aGUgRG9jdW1lbnQgcG9pbnRlciBm
b3IgMyB0aGluZ3M6CisgICAgICAgIDEuIFRvIGdldCB0aGUgdXNlciBhZ2VudCwgd2hpY2ggd2Ug
Y2FuIHBhc3MgaW4gYXMgYSBjcmVhdGlvbiBwYXJhbWV0ZXIuCisgICAgICAgIDIuIFRvIGdldCB0
aGUgb3JpZ2luLCB3aGljaCB3ZSBjYW4gYWxzbyBwYXNzIGluIGFzIGEgY3JlYXRpb24gcGFyYW1l
dGVyLgorICAgICAgICAzLiBUbyBnZXQgY29va2llcyBmb3IgdGhlIHdlYiBpbnNwZWN0b3IuICBX
ZSBjYW4gcGFzcyBpbiBhIGZ1bmN0b3IgaW5zdGVhZCBhbmQgaGF2ZSB0aGUgaW5zcGVjdG9yIHBy
b3ZpZGUgY29va2llcyBpdHNlbGYuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpj
b25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpc2Nvbm5lY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNvY2tldFN0cmVh
bSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbGllbnRIYW5kc2hha2VS
ZXF1ZXN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5o
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZG9jdW1lbnQpOgorICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtlOjpXZWJTb2NrZXRIYW5kc2hha2UpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2hha2VNZXNzYWdlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldEhhbmRzaGFrZTo6Y2xpZW50SGFuZHNo
YWtlUmVxdWVzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRIYW5kc2hha2U6
OmNsaWVudE9yaWdpbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2Nr
ZXRIYW5kc2hha2U6OmNsaWVudEhhbmRzaGFrZUNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldEhhbmRzaGFrZTo6
Y2xlYXJEb2N1bWVudCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldEhhbmRzaGFrZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
TmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6ZW5hYmxlKToKKwogMjAxOS0wNC0wMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbmFibGUgdG8gY29weSBhbmQgcGFzdGUgYSBQREYgZnJvbSBO
b3RlcyBpbnRvIE1haWwgY29tcG9zZSBib2R5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCShyZXZpc2lvbiAy
NDM1NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDcgKzg2LDYgQEAgdm9pZCBXZWJTb2NrZXRD
aGFubmVsOjpjb25uZWN0KGNvbnN0IFVSTAogICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hh
bm5lbCAlcCBjb25uZWN0KCkiLCB0aGlzKTsKIAogICAgIFVSTCB1cmwgPSByZXF1ZXN0ZWRVUkw7
Ci0gICAgYm9vbCBhbGxvd0Nvb2tpZXMgPSB0cnVlOwogI2lmIEVOQUJMRShDT05URU5UX0VYVEVO
U0lPTlMpCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBtX2RvY3VtZW50LT5wYWdlKCkpIHsKICAgICAg
ICAgaWYgKGF1dG8qIGRvY3VtZW50TG9hZGVyID0gbV9kb2N1bWVudC0+bG9hZGVyKCkpIHsKQEAg
LTEwNiwxNCArMTA1LDE3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdChjb25zdCBV
UkwKICAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmRpZFVwZ3JhZGVVUkwoKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChyZXN1bHRzLnN1bW1hcnkuYmxvY2tlZENvb2tpZXMp
Ci0gICAgICAgICAgICAgICAgYWxsb3dDb29raWVzID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
bV9hbGxvd0Nvb2tpZXMgPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgogICAgIAog
ICAgIEFTU0VSVCghbV9oYW5kbGUpOwogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwotICAgIG1f
aGFuZHNoYWtlID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJTb2NrZXRIYW5kc2hha2U+KHVybCwgcHJv
dG9jb2wsIG1fZG9jdW1lbnQuZ2V0KCksIGFsbG93Q29va2llcyk7CisgICAgCisgICAgU3RyaW5n
IHVzZXJBZ2VudCA9IG1fZG9jdW1lbnQtPnVzZXJBZ2VudChtX2RvY3VtZW50LT51cmwoKSk7Cisg
ICAgU3RyaW5nIGNsaWVudE9yaWdpbiA9IG1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkudG9T
dHJpbmcoKTsKKyAgICBtX2hhbmRzaGFrZSA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViU29ja2V0SGFu
ZHNoYWtlPih1cmwsIHByb3RvY29sLCB1c2VyQWdlbnQsIGNsaWVudE9yaWdpbiwgbV9hbGxvd0Nv
b2tpZXMpOwogICAgIG1faGFuZHNoYWtlLT5yZXNldCgpOwogICAgIGlmIChtX2RlZmxhdGVGcmFt
ZXIuY2FuRGVmbGF0ZSgpKQogICAgICAgICBtX2hhbmRzaGFrZS0+YWRkRXh0ZW5zaW9uUHJvY2Vz
c29yKG1fZGVmbGF0ZUZyYW1lci5jcmVhdGVFeHRlbnNpb25Qcm9jZXNzb3IoKSk7CkBAIC0yNDcs
OCArMjQ5LDYgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaXNjb25uZWN0KCkKICAgICBMT0co
TmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlzY29ubmVjdCgpIiwgdGhpcyk7CiAgICAg
aWYgKG1faWRlbnRpZmllciAmJiBtX2RvY3VtZW50KQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KG1fZG9jdW1lbnQuZ2V0KCksIG1faWRlbnRpZmll
cik7Ci0gICAgaWYgKG1faGFuZHNoYWtlKQotICAgICAgICBtX2hhbmRzaGFrZS0+Y2xlYXJEb2N1
bWVudCgpOwogICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKICAgICBtX2RvY3VtZW50ID0gbnVsbHB0
cjsKICAgICBpZiAobV9oYW5kbGUpCkBAIC0yNzMsMTAgKzI3MywxOCBAQCB2b2lkIFdlYlNvY2tl
dENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlCiAgICAgQVNTRVJUKCZoYW5kbGUgPT0gbV9oYW5k
bGUpOwogICAgIGlmICghbV9kb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2lk
ZW50aWZpZXIgJiYgVU5MSUtFTFkoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVu
ZHMoKSkpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRXZWJTb2Nr
ZXRIYW5kc2hha2VSZXF1ZXN0KG1fZG9jdW1lbnQuZ2V0KCksIG1faWRlbnRpZmllciwgbV9oYW5k
c2hha2UtPmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoKSk7CisgICAgaWYgKG1faWRlbnRpZmllciAm
JiBVTkxJS0VMWShJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSkgewor
ICAgICAgICBhdXRvIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlID0gW2RvY3VtZW50ID0g
bV9kb2N1bWVudF0gKGNvbnN0IFVSTCYgdXJsKSAtPiBTdHJpbmcgeworICAgICAgICAgICAgaWYg
KCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5wYWdlKCktPmNvb2tpZUphcigpLmNv
b2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKCpkb2N1bWVudCwgdXJsKTsKKyAgICAgICAgfTsK
KyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRz
aGFrZVJlcXVlc3QobV9kb2N1bWVudC5nZXQoKSwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+
Y2xpZW50SGFuZHNoYWtlUmVxdWVzdChXVEZNb3ZlKGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZh
bHVlKSkpOworICAgIH0KICAgICBhdXRvIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS0+
Y2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpOwotICAgIGF1dG8gY29va2llUmVxdWVzdEhlYWRlckZp
ZWxkUHJveHkgPSBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlQ29va2llUmVxdWVzdEhlYWRl
ckZpZWxkUHJveHkoKTsKKyAgICBPcHRpb25hbDxDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94
eT4gY29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHk7CisgICAgaWYgKG1fYWxsb3dDb29raWVz
KQorICAgICAgICBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eSA9IENvb2tpZUphcjo6Y29v
a2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkoKm1fZG9jdW1lbnQsIG1faGFuZHNoYWtlLT5odHRw
VVJMRm9yQXV0aGVudGljYXRpb25BbmRDb29raWVzKCkpOwogICAgIGhhbmRsZS5zZW5kSGFuZHNo
YWtlKFdURk1vdmUoaGFuZHNoYWtlTWVzc2FnZSksIFdURk1vdmUoY29va2llUmVxdWVzdEhlYWRl
ckZpZWxkUHJveHkpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYm9v
bCBzdWNjZXNzLCBib29sIGRpZEFjY2Vzc1NlY3VyZUNvb2tpZXMpIHsKICAgICAgICAgaWYgKCFz
dWNjZXNzKQogICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGhhbmRz
aGFrZS4iKTsKQEAgLTgzNSw5ICs4NDMsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRG
cmFtZShXZWJTb2NrCiAgICAgbV9oYW5kbGUtPnNlbmREYXRhKGZyYW1lRGF0YS5kYXRhKCksIGZy
YW1lRGF0YS5zaXplKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotUmVzb3Vy
Y2VSZXF1ZXN0IFdlYlNvY2tldENoYW5uZWw6OmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoKQorUmVz
b3VyY2VSZXF1ZXN0IFdlYlNvY2tldENoYW5uZWw6OmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVu
Y3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYmIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVl
KQogewotICAgIHJldHVybiBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlUmVxdWVzdCgpOwor
ICAgIHJldHVybiBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlUmVxdWVzdChXVEZNb3ZlKGNv
b2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIFdlYlNvY2tldENoYW5uZWw6OnNlcnZlckhhbmRzaGFrZVJlc3BvbnNlKCkgY29uc3QKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaAkocmV2aXNpb24gMjQzNTY2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDEzICsx
MTcsMTUgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1faWRlbnRpZmllcjsgfQogICAgIGJvb2wgaGFzQ3JlYXRlZEhhbmRzaGFrZSgpIHsgcmV0
dXJuICEhbV9oYW5kc2hha2U7IH0KLSAgICBSZXNvdXJjZVJlcXVlc3QgY2xpZW50SGFuZHNoYWtl
UmVxdWVzdCgpOworICAgIFJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KEZ1
bmN0aW9uPFN0cmluZyhjb25zdCBVUkwmKT4mJiBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1
ZSk7CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgc2VydmVySGFuZHNoYWtlUmVzcG9uc2Uo
KSBjb25zdDsKICAgICBXZWJTb2NrZXRIYW5kc2hha2U6Ok1vZGUgaGFuZHNoYWtlTW9kZSgpIGNv
bnN0OwogCiAgICAgdXNpbmcgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPjo6cmVmOwogICAg
IHVzaW5nIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hhbm5lbD46OmRlcmVmOwogCisgICAgRG9jdW1l
bnQqIGRvY3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsgfQorICAgIAogcHJvdGVj
dGVkOgogICAgIHZvaWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBvdmVycmlkZSB7
IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3Zl
cnJpZGUgeyBkZXJlZigpOyB9CkBAIC0yMDMsNiArMjA1LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fc3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fY2xvc2luZyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3JlY2VpdmVkQ2xvc2luZ0hhbmRzaGFrZSB7IGZhbHNlIH07CisgICAgYm9vbCBt
X2FsbG93Q29va2llcyB7IHRydWUgfTsKICAgICBUaW1lciBtX2Nsb3NpbmdUaW1lcjsKICAgICBi
b29sIG1fY2xvc2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2hvdWxkRGlzY2FyZFJlY2VpdmVk
RGF0YSB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAkocmV2aXNpb24gMjQzNTY2KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgIkNvb2tpZS5o
IgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiSFRUUEhlYWRlck1hcC5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1
ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC0xMTksMTIgKzExOCwxMyBAQCBTdHJpbmcgV2ViU29ja2V0
SGFuZHNoYWtlOjpnZXRFeHBlY3RlZFdlCiAgICAgcmV0dXJuIGJhc2U2NEVuY29kZShoYXNoLmRh
dGEoKSwgU0hBMTo6aGFzaFNpemUpOwogfQogCi1XZWJTb2NrZXRIYW5kc2hha2U6OldlYlNvY2tl
dEhhbmRzaGFrZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCwgRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sIGFsbG93Q29va2llcykKK1dlYlNvY2tldEhhbmRzaGFrZTo6V2Vi
U29ja2V0SGFuZHNoYWtlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBjbGllbnRPcmlnaW4sIGJvb2wg
YWxsb3dDb29raWVzKQogICAgIDogbV91cmwodXJsKQogICAgICwgbV9jbGllbnRQcm90b2NvbChw
cm90b2NvbCkKICAgICAsIG1fc2VjdXJlKG1fdXJsLnByb3RvY29sSXMoIndzcyIpKQotICAgICwg
bV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiAgICAgLCBtX21vZGUoSW5jb21wbGV0
ZSkKKyAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKKyAgICAsIG1fY2xpZW50T3JpZ2luKGNs
aWVudE9yaWdpbikKICAgICAsIG1fYWxsb3dDb29raWVzKGFsbG93Q29va2llcykKIHsKICAgICBt
X3NlY1dlYlNvY2tldEtleSA9IGdlbmVyYXRlU2VjV2ViU29ja2V0S2V5KCk7CkBAIC0xNjQsMTEg
KzE2NCw2IEBAIGJvb2wgV2ViU29ja2V0SGFuZHNoYWtlOjpzZWN1cmUoKSBjb25zdAogICAgIHJl
dHVybiBtX3NlY3VyZTsKIH0KIAotU3RyaW5nIFdlYlNvY2tldEhhbmRzaGFrZTo6Y2xpZW50T3Jp
Z2luKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS50
b1N0cmluZygpOwotfQotCiBTdHJpbmcgV2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRMb2NhdGlv
bigpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwpAQCAtMTkyLDcgKzE4Nyw3
IEBAIENTdHJpbmcgV2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2gKICAgICBmaWVsZHMu
YXBwZW5kKCJVcGdyYWRlOiB3ZWJzb2NrZXQiKTsKICAgICBmaWVsZHMuYXBwZW5kKCJDb25uZWN0
aW9uOiBVcGdyYWRlIik7CiAgICAgZmllbGRzLmFwcGVuZCgiSG9zdDogIiArIGhvc3ROYW1lKG1f
dXJsLCBtX3NlY3VyZSkpOwotICAgIGZpZWxkcy5hcHBlbmQoIk9yaWdpbjogIiArIGNsaWVudE9y
aWdpbigpKTsKKyAgICBmaWVsZHMuYXBwZW5kKCJPcmlnaW46ICIgKyBtX2NsaWVudE9yaWdpbik7
CiAgICAgaWYgKCFtX2NsaWVudFByb3RvY29sLmlzRW1wdHkoKSkKICAgICAgICAgZmllbGRzLmFw
cGVuZCgiU2VjLVdlYlNvY2tldC1Qcm90b2NvbDogIiArIG1fY2xpZW50UHJvdG9jb2wpOwogCkBA
IC0yMTMsNyArMjA4LDcgQEAgQ1N0cmluZyBXZWJTb2NrZXRIYW5kc2hha2U6OmNsaWVudEhhbmRz
aAogICAgICAgICBmaWVsZHMuYXBwZW5kKCJTZWMtV2ViU29ja2V0LUV4dGVuc2lvbnM6ICIgKyBl
eHRlbnNpb25WYWx1ZSk7CiAKICAgICAvLyBBZGQgYSBVc2VyLUFnZW50IGhlYWRlci4KLSAgICBm
aWVsZHMuYXBwZW5kKCJVc2VyLUFnZW50OiAiICsgbV9kb2N1bWVudC0+dXNlckFnZW50KG1fZG9j
dW1lbnQtPnVybCgpKSk7CisgICAgZmllbGRzLmFwcGVuZChtYWtlU3RyaW5nKCJVc2VyLUFnZW50
OiAiLCBtX3VzZXJBZ2VudCkpOwogCiAgICAgLy8gRmllbGRzIGluIHRoZSBoYW5kc2hha2UgYXJl
IHNlbnQgYnkgdGhlIGNsaWVudCBpbiBhIHJhbmRvbSBvcmRlcjsgdGhlCiAgICAgLy8gb3JkZXIg
aXMgbm90IG1lYW5pbmdmdWwuICBUaHVzLCBpdCdzIG9rIHRvIHNlbmQgdGhlIG9yZGVyIHdlIGNv
bnN0cnVjdGVkCkBAIC0yMjksNyArMjI0LDcgQEAgQ1N0cmluZyBXZWJTb2NrZXRIYW5kc2hha2U6
OmNsaWVudEhhbmRzaAogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCkudXRmOCgpOwogfQog
Ci1SZXNvdXJjZVJlcXVlc3QgV2ViU29ja2V0SGFuZHNoYWtlOjpjbGllbnRIYW5kc2hha2VSZXF1
ZXN0KCkgY29uc3QKK1Jlc291cmNlUmVxdWVzdCBXZWJTb2NrZXRIYW5kc2hha2U6OmNsaWVudEhh
bmRzaGFrZVJlcXVlc3QoRnVuY3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYmIGNvb2tpZVJlcXVl
c3RIZWFkZXJGaWVsZFZhbHVlKSBjb25zdAogewogICAgIC8vIEtlZXAgdGhlIGZvbGxvd2luZyBj
b25zaXN0ZW50IHdpdGggY2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpLgogICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0KG1fdXJsKTsKQEAgLTIzNywxNCArMjMyLDEzIEBAIFJlc291cmNlUmVxdWVz
dCBXZWJTb2NrZXRIYW5kc2hha2U6OmNsaWUKIAogICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpDb25uZWN0aW9uLCAiVXBncmFkZSIpOwogICAgIHJlcXVlc3Qu
c2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpIb3N0LCBob3N0TmFtZShtX3VybCwg
bV9zZWN1cmUpKTsKLSAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFt
ZTo6T3JpZ2luLCBjbGllbnRPcmlnaW4oKSk7CisgICAgcmVxdWVzdC5zZXRIVFRQSGVhZGVyRmll
bGQoSFRUUEhlYWRlck5hbWU6Ok9yaWdpbiwgbV9jbGllbnRPcmlnaW4pOwogICAgIGlmICghbV9j
bGllbnRQcm90b2NvbC5pc0VtcHR5KCkpCiAgICAgICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpTZWNXZWJTb2NrZXRQcm90b2NvbCwgbV9jbGllbnRQcm90b2Nv
bCk7CiAKICAgICBVUkwgdXJsID0gaHR0cFVSTEZvckF1dGhlbnRpY2F0aW9uQW5kQ29va2llcygp
OwotICAgIGlmIChtX2FsbG93Q29va2llcyAmJiBtX2RvY3VtZW50ICYmIG1fZG9jdW1lbnQtPnBh
Z2UoKSkgewotICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpOwotICAgICAgICBTdHJp
bmcgY29va2llID0gbV9kb2N1bWVudC0+cGFnZSgpLT5jb29raWVKYXIoKS5jb29raWVSZXF1ZXN0
SGVhZGVyRmllbGRWYWx1ZSgqbV9kb2N1bWVudCwgdXJsKTsKKyAgICBpZiAobV9hbGxvd0Nvb2tp
ZXMpIHsKKyAgICAgICAgU3RyaW5nIGNvb2tpZSA9IGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZh
bHVlKHVybCk7CiAgICAgICAgIGlmICghY29va2llLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJl
cXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb29raWUsIGNvb2tpZSk7
CiAgICAgfQpAQCAtMjU5LDI5ICsyNTMsMTcgQEAgUmVzb3VyY2VSZXF1ZXN0IFdlYlNvY2tldEhh
bmRzaGFrZTo6Y2xpZQogICAgICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVh
ZGVyTmFtZTo6U2VjV2ViU29ja2V0RXh0ZW5zaW9ucywgZXh0ZW5zaW9uVmFsdWUpOwogCiAgICAg
Ly8gQWRkIGEgVXNlci1BZ2VudCBoZWFkZXIuCi0gICAgcmVxdWVzdC5zZXRIVFRQVXNlckFnZW50
KG1fZG9jdW1lbnQtPnVzZXJBZ2VudChtX2RvY3VtZW50LT51cmwoKSkpOworICAgIHJlcXVlc3Qu
c2V0SFRUUFVzZXJBZ2VudChtX3VzZXJBZ2VudCk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKIH0K
IAotT3B0aW9uYWw8Q29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHk+IFdlYlNvY2tldEhhbmRz
aGFrZTo6Y2xpZW50SGFuZHNoYWtlQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkoKSBjb25z
dAotewotICAgIGlmICghbV9kb2N1bWVudCB8fCAhbV9hbGxvd0Nvb2tpZXMpCi0gICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIENvb2tpZUphcjo6Y29va2llUmVxdWVzdEhl
YWRlckZpZWxkUHJveHkoKm1fZG9jdW1lbnQsIGh0dHBVUkxGb3JBdXRoZW50aWNhdGlvbkFuZENv
b2tpZXMoKSk7Ci19Ci0KIHZvaWQgV2ViU29ja2V0SGFuZHNoYWtlOjpyZXNldCgpCiB7CiAgICAg
bV9tb2RlID0gSW5jb21wbGV0ZTsKICAgICBtX2V4dGVuc2lvbkRpc3BhdGNoZXIucmVzZXQoKTsK
IH0KIAotdm9pZCBXZWJTb2NrZXRIYW5kc2hha2U6OmNsZWFyRG9jdW1lbnQoKQotewotICAgIG1f
ZG9jdW1lbnQgPSBudWxscHRyOwotfQotCiBpbnQgV2ViU29ja2V0SGFuZHNoYWtlOjpyZWFkU2Vy
dmVySGFuZHNoYWtlKGNvbnN0IGNoYXIqIGhlYWRlciwgc2l6ZV90IGxlbikKIHsKICAgICBtX21v
ZGUgPSBJbmNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAkocmV2aXNpb24gMjQzNTY2KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKIGNsYXNzIFdlYlNvY2tl
dEhhbmRzaGFrZSB7CkBAIC00OSw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBlbnVtIE1vZGUgewog
ICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxlZCwgQ29ubmVjdGVkCiAgICAgfTsKLSAg
ICBXZWJTb2NrZXRIYW5kc2hha2UoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCwg
RG9jdW1lbnQqLCBib29sIGFsbG93Q29va2llcyk7CisgICAgV2ViU29ja2V0SGFuZHNoYWtlKGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBjb25zdCBTdHJpbmcmIGNsaWVudE9yaWdpbiwgYm9vbCBhbGxvd0Nvb2tpZXMpOwogICAgIH5X
ZWJTb2NrZXRIYW5kc2hha2UoKTsKIAogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3Q7CkBAIC02
MiwxNSArNjEsMTIgQEAgcHVibGljOgogCiAgICAgYm9vbCBzZWN1cmUoKSBjb25zdDsKIAotICAg
IFN0cmluZyBjbGllbnRPcmlnaW4oKSBjb25zdDsKICAgICBTdHJpbmcgY2xpZW50TG9jYXRpb24o
KSBjb25zdDsKIAogICAgIENTdHJpbmcgY2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpIGNvbnN0Owot
ICAgIFJlc291cmNlUmVxdWVzdCBjbGllbnRIYW5kc2hha2VSZXF1ZXN0KCkgY29uc3Q7Ci0gICAg
T3B0aW9uYWw8Q29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHk+IGNsaWVudEhhbmRzaGFrZUNv
b2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5KCkgY29uc3Q7CisgICAgUmVzb3VyY2VSZXF1ZXN0
IGNsaWVudEhhbmRzaGFrZVJlcXVlc3QoRnVuY3Rpb248U3RyaW5nKGNvbnN0IFVSTCYpPiYmIGNv
b2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKSBjb25zdDsKIAogICAgIHZvaWQgcmVzZXQoKTsK
LSAgICB2b2lkIGNsZWFyRG9jdW1lbnQoKTsKIAogICAgIGludCByZWFkU2VydmVySGFuZHNoYWtl
KGNvbnN0IGNoYXIqIGhlYWRlciwgc2l6ZV90IGxlbik7CiAgICAgTW9kZSBtb2RlKCkgY29uc3Q7
CkBAIC0xMDEsOSArOTcsMTAgQEAgcHJpdmF0ZToKICAgICBVUkwgbV91cmw7CiAgICAgU3RyaW5n
IG1fY2xpZW50UHJvdG9jb2w7CiAgICAgYm9vbCBtX3NlY3VyZTsKLSAgICBXZWFrUHRyPERvY3Vt
ZW50PiBtX2RvY3VtZW50OwogCiAgICAgTW9kZSBtX21vZGU7CisgICAgU3RyaW5nIG1fdXNlckFn
ZW50OworICAgIFN0cmluZyBtX2NsaWVudE9yaWdpbjsKICAgICBib29sIG1fYWxsb3dDb29raWVz
OwogCiAgICAgUmVzb3VyY2VSZXNwb25zZSBtX3NlcnZlckhhbmRzaGFrZVJlc3BvbnNlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yTmV0d29ya0FnZW50LmNwcAkocmV2aXNpb24gMjQzNTY2KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MTQsNyArODE0LDEyIEBAIHZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjplbmFibGUo
KQogCiAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyID0gY2hhbm5lbC0+aWRlbnRpZmll
cigpOwogICAgICAgICAgICAgZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIsIHdlYlNvY2tl
dC0+dXJsKCkpOwotICAgICAgICAgICAgd2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0
KGlkZW50aWZpZXIsIGNoYW5uZWwtPmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoKSk7CisgICAgICAg
ICAgICBhdXRvIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlID0gW2RvY3VtZW50ID0gbWFr
ZVdlYWtQdHIoY2hhbm5lbC0+ZG9jdW1lbnQoKSldIChjb25zdCBVUkwmIHVybCkgLT4gU3RyaW5n
IHsKKyAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cGFnZSgpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgICAgIHJldHVybiBk
b2N1bWVudC0+cGFnZSgpLT5jb29raWVKYXIoKS5jb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1
ZSgqZG9jdW1lbnQsIHVybCk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgd2lsbFNlbmRX
ZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KGlkZW50aWZpZXIsIGNoYW5uZWwtPmNsaWVudEhhbmRz
aGFrZVJlcXVlc3QoV1RGTW92ZShjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZSkpKTsKIAog
ICAgICAgICAgICAgaWYgKGNoYW5uZWwtPmhhbmRzaGFrZU1vZGUoKSA9PSBXZWJTb2NrZXRIYW5k
c2hha2U6OkNvbm5lY3RlZCkKICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlV2ViU29ja2V0SGFu
ZHNoYWtlUmVzcG9uc2UoaWRlbnRpZmllciwgY2hhbm5lbC0+c2VydmVySGFuZHNoYWtlUmVzcG9u
c2UoKSk7Cg==
</data>
<flag name="review"
          id="382818"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>