<?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>4945</bug_id>
          
          <creation_ts>2005-09-11 22:03:32 -0700</creation_ts>
          <short_desc>event init calls should not do anything if the event has already been dispatched</short_desc>
          <delta_ts>2019-02-06 09:03:28 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19431</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-11 22:03:32 -0700</bug_when>
    <thetext>The DOM specification says that event init calls should not do anything if the event has already been 
dispatched.

I have a patch that addresses this on my other computer; I&apos;ll attach it to this bug ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21669</commentid>
    <comment_count>1</comment_count>
      <attachid>4282</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-09 21:36:31 -0700</bug_when>
    <thetext>Created attachment 4282
patch that fixes this and does other cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21673</commentid>
    <comment_count>2</comment_count>
      <attachid>4282</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-10-09 21:45:45 -0700</bug_when>
    <thetext>Comment on attachment 4282
patch that fixes this and does other cleanup

r=me, ensure it&apos;s all non-leaky and  performant, etc. etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502975</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:28 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4282</attachid>
            <date>2005-10-09 21:36:31 -0700</date>
            <delta_ts>2005-10-09 21:45:45 -0700</delta_ts>
            <desc>patch that fixes this and does other cleanup</desc>
            <filename>EventPatch.txt</filename>
            <type>text/plain</type>
            <size>21911</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjM5CmRpZmYgLXAgLXUgLXIxLjM5IGtodG1sL3htbC9kb20yX2V2ZW50
c2ltcGwuY3BwCi0tLSBraHRtbC94bWwvZG9tMl9ldmVudHNpbXBsLmNwcAkzIE9jdCAyMDA1IDIx
OjEyOjUwIC0wMDAwCTEuMzkKKysrIGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwCTggT2N0
IDIwMDUgMTc6NTA6MjMgLTAwMDAKQEAgLTI1LDgzICsyNSw2MCBAQAogI2luY2x1ZGUgInhtbC9k
b20yX2V2ZW50c2ltcGwuaCIKIAogI2luY2x1ZGUgImRvbS9kb20yX2V2ZW50cy5oIgotI2luY2x1
ZGUgInhtbC9kb21fc3RyaW5naW1wbC5oIgotI2luY2x1ZGUgInhtbC9kb21fbm9kZWltcGwuaCIK
ICNpbmNsdWRlICJ4bWwvZG9tX2RvY2ltcGwuaCIKICNpbmNsdWRlICJ4bWwvZG9tMl92aWV3c2lt
cGwuaCIKICNpbmNsdWRlICJ4bWwvRXZlbnROYW1lcy5oIgotI2luY2x1ZGUgInJlbmRlcmluZy9y
ZW5kZXJfb2JqZWN0LmgiCiAjaW5jbHVkZSAicmVuZGVyaW5nL3JlbmRlcl9sYXllci5oIgogCi0j
aW5jbHVkZSA8a2RlYnVnLmg+Ci0KIHVzaW5nIGtodG1sOjpSZW5kZXJPYmplY3Q7Ci0KLXVzaW5n
IG5hbWVzcGFjZSBET006OkV2ZW50TmFtZXM7Cit1c2luZyBraHRtbDo6UmVuZGVyTGF5ZXI7CiAK
IG5hbWVzcGFjZSBET00gewogCi1FdmVudEltcGw6OkV2ZW50SW1wbCgpCi17Ci0gICAgbV9jYW5C
dWJibGUgPSBmYWxzZTsKLSAgICBtX2NhbmNlbGFibGUgPSBmYWxzZTsKLQotICAgIG1fcHJvcGFn
YXRpb25TdG9wcGVkID0gZmFsc2U7Ci0gICAgbV9kZWZhdWx0UHJldmVudGVkID0gZmFsc2U7Ci0g
ICAgbV9jYW5jZWxCdWJibGUgPSBmYWxzZTsKLSAgICBtX2N1cnJlbnRUYXJnZXQgPSAwOwotICAg
IG1fZXZlbnRQaGFzZSA9IDA7Ci0gICAgbV90YXJnZXQgPSAwOwotICAgIG1fY3JlYXRlVGltZSA9
IFFEYXRlVGltZTo6Y3VycmVudERhdGVUaW1lKCk7Ci0gICAgbV9kZWZhdWx0SGFuZGxlZCA9IGZh
bHNlOwotfQordXNpbmcgbmFtZXNwYWNlIEV2ZW50TmFtZXM7CiAKLUV2ZW50SW1wbDo6RXZlbnRJ
bXBsKGNvbnN0IEF0b21pY1N0cmluZyAmZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZUFyZywgYm9v
bCBjYW5jZWxhYmxlQXJnKQotICAgIDogbV90eXBlKGV2ZW50VHlwZSkKLXsKLSAgICBtX2NhbkJ1
YmJsZSA9IGNhbkJ1YmJsZUFyZzsKLSAgICBtX2NhbmNlbGFibGUgPSBjYW5jZWxhYmxlQXJnOwot
Ci0gICAgbV9wcm9wYWdhdGlvblN0b3BwZWQgPSBmYWxzZTsKLSAgICBtX2RlZmF1bHRQcmV2ZW50
ZWQgPSBmYWxzZTsKLSAgICBtX2NhbmNlbEJ1YmJsZSA9IGZhbHNlOwotICAgIG1fY3VycmVudFRh
cmdldCA9IDA7Ci0gICAgbV9ldmVudFBoYXNlID0gMDsKLSAgICBtX3RhcmdldCA9IDA7Ci0gICAg
bV9jcmVhdGVUaW1lID0gUURhdGVUaW1lOjpjdXJyZW50RGF0ZVRpbWUoKTsKLSAgICBtX2RlZmF1
bHRIYW5kbGVkID0gZmFsc2U7Ci19Ci0KLUV2ZW50SW1wbDo6fkV2ZW50SW1wbCgpCitzdGF0aWMg
RE9NVGltZVN0YW1wIGN1cnJlbnRUaW1lU3RhbXAoKQogewotICAgIGlmIChtX3RhcmdldCkKLSAg
ICAgICAgbV90YXJnZXQtPmRlcmVmKCk7CisgICAgUURhdGVUaW1lIGN1cnJlbnREYXRlVGltZSA9
IFFEYXRlVGltZTo6Y3VycmVudERhdGVUaW1lKCk7CisgICAgUURhdGVUaW1lIGVwb2NoKFFEYXRl
KDE5NzAsIDEsIDEpLCBRVGltZSgpKTsKKyAgICByZXR1cm4gZXBvY2guc2Vjc1RvKGN1cnJlbnRE
YXRlVGltZSkgKiAxMDAwTEwgKyBjdXJyZW50RGF0ZVRpbWUudGltZSgpLm1zZWMoKTsKIH0KIAot
dm9pZCBFdmVudEltcGw6OnNldFRhcmdldChOb2RlSW1wbCAqX3RhcmdldCkKK0V2ZW50SW1wbDo6
RXZlbnRJbXBsKCkKKyAgICA6IG1fY2FuQnViYmxlKGZhbHNlKQorICAgICwgbV9jYW5jZWxhYmxl
KGZhbHNlKQorICAgICwgbV9wcm9wYWdhdGlvblN0b3BwZWQoZmFsc2UpCisgICAgLCBtX2RlZmF1
bHRQcmV2ZW50ZWQoZmFsc2UpCisgICAgLCBtX2RlZmF1bHRIYW5kbGVkKGZhbHNlKQorICAgICwg
bV9jYW5jZWxCdWJibGUoZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkKKyAgICAsIG1f
ZXZlbnRQaGFzZSgwKQorICAgICwgbV9jcmVhdGVUaW1lKGN1cnJlbnRUaW1lU3RhbXAoKSkKIHsK
LSAgICBpZiAobV90YXJnZXQpCi0gICAgICAgIG1fdGFyZ2V0LT5kZXJlZigpOwotICAgIG1fdGFy
Z2V0ID0gX3RhcmdldDsKLSAgICBpZiAobV90YXJnZXQpCi0gICAgICAgIG1fdGFyZ2V0LT5yZWYo
KTsKIH0KIAotRE9NVGltZVN0YW1wIEV2ZW50SW1wbDo6dGltZVN0YW1wKCkKK0V2ZW50SW1wbDo6
RXZlbnRJbXBsKGNvbnN0IEF0b21pY1N0cmluZyAmZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZUFy
ZywgYm9vbCBjYW5jZWxhYmxlQXJnKQorICAgIDogbV90eXBlKGV2ZW50VHlwZSkKKyAgICAsIG1f
Y2FuQnViYmxlKGNhbkJ1YmJsZUFyZykKKyAgICAsIG1fY2FuY2VsYWJsZShjYW5jZWxhYmxlQXJn
KQorICAgICwgbV9wcm9wYWdhdGlvblN0b3BwZWQoZmFsc2UpCisgICAgLCBtX2RlZmF1bHRQcmV2
ZW50ZWQoZmFsc2UpCisgICAgLCBtX2RlZmF1bHRIYW5kbGVkKGZhbHNlKQorICAgICwgbV9jYW5j
ZWxCdWJibGUoZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkKKyAgICAsIG1fZXZlbnRQ
aGFzZSgwKQorICAgICwgbV9jcmVhdGVUaW1lKGN1cnJlbnRUaW1lU3RhbXAoKSkKIHsKLSAgICBR
RGF0ZVRpbWUgZXBvY2goUURhdGUoMTk3MCwgMSwgMSksIFFUaW1lKDAsIDApKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8RE9NVGltZVN0YW1wPihlcG9jaC5zZWNzVG8obV9jcmVhdGVUaW1lKSkg
KiAxMDAwICsgbV9jcmVhdGVUaW1lLnRpbWUoKS5tc2VjKCk7CiB9CiAKLXZvaWQgRXZlbnRJbXBs
OjpwcmV2ZW50RGVmYXVsdCgpCitFdmVudEltcGw6On5FdmVudEltcGwoKQogewotICAgIGlmICht
X2NhbmNlbGFibGUpCi0JbV9kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTsKIH0KIAogdm9pZCBFdmVu
dEltcGw6OmluaXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcgJmV2ZW50VHlwZUFyZywgYm9vbCBj
YW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZykKIHsKLSAgICAvLyAjIyMgZW5zdXJlIHRo
aXMgaXMgbm90IGNhbGxlZCBhZnRlciB3ZSBoYXZlIGJlZW4gZGlzcGF0Y2hlZCAoYWxzbyBmb3Ig
c3ViY2xhc3NlcykKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CiAKICAg
ICBtX3R5cGUgPSBldmVudFR5cGVBcmc7CiAgICAgbV9jYW5CdWJibGUgPSBjYW5CdWJibGVBcmc7
CkBAIC0xNDYsMjQgKzEyMywxNSBAQCBib29sIEV2ZW50SW1wbDo6aXNXaGVlbEV2ZW50KCkgY29u
c3QKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFVJRXZlbnRJbXBsOjpVSUV2ZW50SW1wbCgp
CisgICAgOiBtX2RldGFpbCgwKQogewotICAgIG1fdmlldyA9IDA7Ci0gICAgbV9kZXRhaWwgPSAw
OwogfQogCiBVSUV2ZW50SW1wbDo6VUlFdmVudEltcGwoY29uc3QgQXRvbWljU3RyaW5nICZldmVu
dFR5cGUsIGJvb2wgY2FuQnViYmxlQXJnLCBib29sIGNhbmNlbGFibGVBcmcsIEFic3RyYWN0Vmll
d0ltcGwgKnZpZXdBcmcsIGludCBkZXRhaWxBcmcpCiAgICAgOiBFdmVudEltcGwoZXZlbnRUeXBl
LCBjYW5CdWJibGVBcmcsIGNhbmNlbGFibGVBcmcpCisgICAgLCBtX3ZpZXcodmlld0FyZykKKyAg
ICAsIG1fZGV0YWlsKGRldGFpbEFyZykKIHsKLSAgICBtX3ZpZXcgPSB2aWV3QXJnOwotICAgIGlm
IChtX3ZpZXcpCi0gICAgICAgIG1fdmlldy0+cmVmKCk7Ci0gICAgbV9kZXRhaWwgPSBkZXRhaWxB
cmc7Ci19Ci0KLVVJRXZlbnRJbXBsOjp+VUlFdmVudEltcGwoKQotewotICAgIGlmIChtX3ZpZXcp
Ci0gICAgICAgIG1fdmlldy0+ZGVyZWYoKTsKIH0KIAogdm9pZCBVSUV2ZW50SW1wbDo6aW5pdFVJ
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlQXJnLApAQCAtMTcyLDE0ICsxNDAsMTIgQEAg
dm9pZCBVSUV2ZW50SW1wbDo6aW5pdFVJRXZlbnQoY29uc3QgQXRvbQogCQkJICAgICAgQWJzdHJh
Y3RWaWV3SW1wbCAqdmlld0FyZywKIAkJCSAgICAgIGludCBkZXRhaWxBcmcpCiB7Ci0gICAgRXZl
bnRJbXBsOjppbml0RXZlbnQodHlwZUFyZyxjYW5CdWJibGVBcmcsY2FuY2VsYWJsZUFyZyk7Cisg
ICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fdmlldykK
LQltX3ZpZXctPmRlcmVmKCk7CisgICAgRXZlbnRJbXBsOjppbml0RXZlbnQodHlwZUFyZyxjYW5C
dWJibGVBcmcsY2FuY2VsYWJsZUFyZyk7CiAKICAgICBtX3ZpZXcgPSB2aWV3QXJnOwotICAgIGlm
IChtX3ZpZXcpCi0JbV92aWV3LT5yZWYoKTsKICAgICBtX2RldGFpbCA9IGRldGFpbEFyZzsKIH0K
IApAQCAtMjgyLDcgKzI0OCw3IEBAIHZvaWQgTW91c2VSZWxhdGVkRXZlbnRJbXBsOjpjb21wdXRl
TGF5ZXIKIAogICAgIG5vZGUtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCktPnVwZGF0ZUxh
eWVyUG9zaXRpb24oKTsKICAgICAKLSAgICBmb3IgKGtodG1sOjpSZW5kZXJMYXllciAqbGF5ZXIg
PSBub2RlLT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOyBsYXllciAhPSBOVUxMOyBsYXll
ciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgIGZvciAoUmVuZGVyTGF5ZXIgKmxheWVyID0gbm9k
ZS0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBh
cmVudCgpKSB7CiAJbV9sYXllclggLT0gbGF5ZXItPnhQb3MoKTsKIAltX2xheWVyWSAtPSBsYXll
ci0+eVBvcygpOwogICAgIH0KQEAgLTMwMSwxMCArMjY3LDggQEAgaW50IE1vdXNlUmVsYXRlZEV2
ZW50SW1wbDo6cGFnZVkoKSBjb25zdAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTW91c2VF
dmVudEltcGw6Ok1vdXNlRXZlbnRJbXBsKCkKKyAgICA6IG1fYnV0dG9uKDApCiB7Ci0gICAgbV9i
dXR0b24gPSAwOwotICAgIG1fcmVsYXRlZFRhcmdldCA9IDA7Ci0gICAgbV9jbGlwYm9hcmQgPSAw
OwogfQogCiBNb3VzZUV2ZW50SW1wbDo6TW91c2VFdmVudEltcGwoY29uc3QgQXRvbWljU3RyaW5n
ICZldmVudFR5cGUsCkBAIC0zMjYsMjIgKzI5MCwxNCBAQCBNb3VzZUV2ZW50SW1wbDo6TW91c2VF
dmVudEltcGwoY29uc3QgQXRvCiAgICAgOiBNb3VzZVJlbGF0ZWRFdmVudEltcGwoZXZlbnRUeXBl
LCBjYW5CdWJibGVBcmcsIGNhbmNlbGFibGVBcmcsIHZpZXdBcmcsIGRldGFpbEFyZywKICAgICAg
ICAgc2NyZWVuWEFyZywgc2NyZWVuWUFyZywgY2xpZW50WEFyZywgY2xpZW50WUFyZywKICAgICAg
ICAgY3RybEtleUFyZywgYWx0S2V5QXJnLCBzaGlmdEtleUFyZywgbWV0YUtleUFyZykKKyAgICAs
IG1fYnV0dG9uKGJ1dHRvbkFyZykKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0
QXJnKQorICAgICwgbV9jbGlwYm9hcmQoY2xpcGJvYXJkQXJnKQogewotICAgIG1fYnV0dG9uID0g
YnV0dG9uQXJnOwotICAgIG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRUYXJnZXRBcmc7Ci0gICAg
aWYgKG1fcmVsYXRlZFRhcmdldCkKLQltX3JlbGF0ZWRUYXJnZXQtPnJlZigpOwotICAgIG1fY2xp
cGJvYXJkID0gY2xpcGJvYXJkQXJnOwotICAgIGlmIChtX2NsaXBib2FyZCkKLQltX2NsaXBib2Fy
ZC0+cmVmKCk7CiB9CiAKIE1vdXNlRXZlbnRJbXBsOjp+TW91c2VFdmVudEltcGwoKQogewotICAg
IGlmIChtX3JlbGF0ZWRUYXJnZXQpCi0JbV9yZWxhdGVkVGFyZ2V0LT5kZXJlZigpOwotICAgIGlm
IChtX2NsaXBib2FyZCkKLQltX2NsaXBib2FyZC0+ZGVyZWYoKTsKIH0KIAogdm9pZCBNb3VzZUV2
ZW50SW1wbDo6aW5pdE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlQXJnLApAQCAt
MzYwLDEwICszMTYsMTAgQEAgdm9pZCBNb3VzZUV2ZW50SW1wbDo6aW5pdE1vdXNlRXZlbnQoY29u
cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgYnV0
dG9uQXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9kZUltcGwgKnJl
bGF0ZWRUYXJnZXRBcmcpCiB7Ci0gICAgVUlFdmVudEltcGw6OmluaXRVSUV2ZW50KHR5cGVBcmcs
Y2FuQnViYmxlQXJnLGNhbmNlbGFibGVBcmcsdmlld0FyZyxkZXRhaWxBcmcpOworICAgIGlmIChk
aXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX3JlbGF0ZWRUYXJnZXQp
Ci0JbV9yZWxhdGVkVGFyZ2V0LT5kZXJlZigpOworICAgIFVJRXZlbnRJbXBsOjppbml0VUlFdmVu
dCh0eXBlQXJnLGNhbkJ1YmJsZUFyZyxjYW5jZWxhYmxlQXJnLHZpZXdBcmcsZGV0YWlsQXJnKTsK
IAogICAgIG1fc2NyZWVuWCA9IHNjcmVlblhBcmc7CiAgICAgbV9zY3JlZW5ZID0gc2NyZWVuWUFy
ZzsKQEAgLTM3NSw4ICszMzEsNiBAQCB2b2lkIE1vdXNlRXZlbnRJbXBsOjppbml0TW91c2VFdmVu
dChjb25zCiAgICAgbV9tZXRhS2V5ID0gbWV0YUtleUFyZzsKICAgICBtX2J1dHRvbiA9IGJ1dHRv
bkFyZzsKICAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0QXJnOwotICAgIGlmICht
X3JlbGF0ZWRUYXJnZXQpCi0JbV9yZWxhdGVkVGFyZ2V0LT5yZWYoKTsKICAgICBjb21wdXRlTGF5
ZXJQb3MoKTsKIH0KIApAQCAtMzg3LDEwICszNDEsMTAgQEAgYm9vbCBNb3VzZUV2ZW50SW1wbDo6
aXNNb3VzZUV2ZW50KCkgY29ucwogCiBib29sIE1vdXNlRXZlbnRJbXBsOjppc0RyYWdFdmVudCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIChtX3R5cGUgPT0gZHJhZ2VudGVyRXZlbnQgfHwgbV90eXBl
ID09IGRyYWdvdmVyRXZlbnQKLSAgICAgICAgICAgIHx8IG1fdHlwZSA9PSBkcmFnbGVhdmVFdmVu
dCB8fCBtX3R5cGUgPT0gZHJvcEV2ZW50IAotICAgICAgICAgICAgfHwgbV90eXBlID09IGRyYWdz
dGFydEV2ZW50IHx8IG1fdHlwZSA9PSBkcmFnRXZlbnQKLSAgICAgICAgICAgIHx8IG1fdHlwZSA9
PSBkcmFnZW5kRXZlbnQpOworICAgIGNvbnN0IEF0b21pY1N0cmluZyAmdCA9IHR5cGUoKTsKKyAg
ICByZXR1cm4gdCA9PSBkcmFnZW50ZXJFdmVudCB8fCB0ID09IGRyYWdvdmVyRXZlbnQgfHwgdCA9
PSBkcmFnbGVhdmVFdmVudAorICAgICAgICB8fCB0ID09IGRyb3BFdmVudAorICAgICAgICB8fCB0
ID09IGRyYWdzdGFydEV2ZW50IHx8IHQgPT0gZHJhZ0V2ZW50IHx8IHQgPT0gZHJhZ2VuZEV2ZW50
OwogfQogCiBpbnQgTW91c2VFdmVudEltcGw6OndoaWNoKCkgY29uc3QKQEAgLTQwNCwxMSArMzU4
LDEwIEBAIGludCBNb3VzZUV2ZW50SW1wbDo6d2hpY2goKSBjb25zdAogLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogS2V5Ym9hcmRFdmVudEltcGw6OktleWJvYXJkRXZl
bnRJbXBsKCkKKyAgOiBtX2tleUV2ZW50KDApCisgICwgbV9rZXlMb2NhdGlvbihLZXlib2FyZEV2
ZW50OjpET01fS0VZX0xPQ0FUSU9OX1NUQU5EQVJEKQorICAsIG1fYWx0R3JhcGhLZXkoZmFsc2Up
CiB7Ci0gIG1fa2V5RXZlbnQgPSAwOwotICBtX2tleUlkZW50aWZpZXIgPSAwOwotICBtX2tleUxv
Y2F0aW9uID0gS2V5Ym9hcmRFdmVudDo6RE9NX0tFWV9MT0NBVElPTl9TVEFOREFSRDsKLSAgbV9h
bHRHcmFwaEtleSA9IGZhbHNlOwogfQogCiBLZXlib2FyZEV2ZW50SW1wbDo6S2V5Ym9hcmRFdmVu
dEltcGwoUUtleUV2ZW50ICprZXksIEFic3RyYWN0Vmlld0ltcGwgKnZpZXcpCkBAIC00MTgsMjgg
KzM3MSwxMSBAQCBLZXlib2FyZEV2ZW50SW1wbDo6S2V5Ym9hcmRFdmVudEltcGwoUUtlCiAgICAg
a2V5LT5zdGF0ZSgpICYgUXQ6OkFsdEJ1dHRvbiwKICAgICBrZXktPnN0YXRlKCkgJiBRdDo6U2hp
ZnRCdXR0b24sCiAgICAga2V5LT5zdGF0ZSgpICYgUXQ6Ok1ldGFCdXR0b24pCisgICwgbV9rZXlF
dmVudChuZXcgUUtleUV2ZW50KCprZXkpKQorICAsIG1fa2V5SWRlbnRpZmllcihET01TdHJpbmco
a2V5LT5rZXlJZGVudGlmaWVyKCkpLmltcGwoKSkKKyAgLCBtX2tleUxvY2F0aW9uKChrZXktPnN0
YXRlKCkgJiBRdDo6S2V5cGFkKSA/IEtleWJvYXJkRXZlbnQ6OkRPTV9LRVlfTE9DQVRJT05fTlVN
UEFEIDogS2V5Ym9hcmRFdmVudDo6RE9NX0tFWV9MT0NBVElPTl9TVEFOREFSRCkKKyAgLCBtX2Fs
dEdyYXBoS2V5KGZhbHNlKQogewotI2lmIEFQUExFX0NIQU5HRVMKLSAgICBtX2tleUV2ZW50ID0g
bmV3IFFLZXlFdmVudCgqa2V5KTsKLSNlbHNlCi0gICAgbV9rZXlFdmVudCA9IG5ldyBRS2V5RXZl
bnQoa2V5LT50eXBlKCksIGtleS0+a2V5KCksIGtleS0+YXNjaWkoKSwga2V5LT5zdGF0ZSgpLCBr
ZXktPnRleHQoKSwga2V5LT5pc0F1dG9SZXBlYXQoKSwga2V5LT5jb3VudCgpKTsKLSNlbmRpZgot
Ci0jaWYgQVBQTEVfQ0hBTkdFUwotICAgIERPTVN0cmluZyBpZGVudGlmaWVyKGtleS0+a2V5SWRl
bnRpZmllcigpKTsKLSAgICBtX2tleUlkZW50aWZpZXIgPSBpZGVudGlmaWVyLmltcGwoKTsKLSAg
ICBtX2tleUlkZW50aWZpZXItPnJlZigpOwotI2Vsc2UKLSAgICBtX2tleUlkZW50aWZpZXIgPSAw
OwotICAgIC8vIG5lZWQgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIGFib3ZlIGZvciBLREUKLSNlbmRp
ZgotCi0gICAgaW50IGtleVN0YXRlID0ga2V5LT5zdGF0ZSgpOwotCi0gICAgbV9hbHRHcmFwaEtl
eSA9IGZhbHNlOyAvLyBhbHRHcmFwaEtleSBpcyBub3Qgc3VwcG9ydGVkIGJ5IFF0LgotICAgIAot
ICAgIC8vIE5vdGU6IHdlIG9ubHkgc3VwcG9ydCB0ZXN0aW5nIGZvciBudW0gcGFkCi0gICAgbV9r
ZXlMb2NhdGlvbiA9IChrZXlTdGF0ZSAmIFF0OjpLZXlwYWQpID8gS2V5Ym9hcmRFdmVudDo6RE9N
X0tFWV9MT0NBVElPTl9OVU1QQUQgOiBLZXlib2FyZEV2ZW50OjpET01fS0VZX0xPQ0FUSU9OX1NU
QU5EQVJEOwogfQogCiBLZXlib2FyZEV2ZW50SW1wbDo6S2V5Ym9hcmRFdmVudEltcGwoY29uc3Qg
QXRvbWljU3RyaW5nICZldmVudFR5cGUsCkBAIC00NTQsMjAgKzM5MCwxNiBAQCBLZXlib2FyZEV2
ZW50SW1wbDo6S2V5Ym9hcmRFdmVudEltcGwoY29uCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBtZXRhS2V5QXJnLCAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIGFsdEdyYXBoS2V5QXJnKQogICA6IFVJRXZlbnRXaXRoS2V5
U3RhdGVJbXBsKGV2ZW50VHlwZSwgY2FuQnViYmxlQXJnLCBjYW5jZWxhYmxlQXJnLCB2aWV3QXJn
LCAwLCBjdHJsS2V5QXJnLCBhbHRLZXlBcmcsIHNoaWZ0S2V5QXJnLCBtZXRhS2V5QXJnKQorICAs
IG1fa2V5RXZlbnQoMCkKKyAgLCBtX2tleUlkZW50aWZpZXIoa2V5SWRlbnRpZmllckFyZy5pbXBs
KCkpCisgICwgbV9rZXlMb2NhdGlvbihrZXlMb2NhdGlvbkFyZykKKyAgLCBtX2FsdEdyYXBoS2V5
KGFsdEdyYXBoS2V5QXJnKQogewotICAgIG1fa2V5RXZlbnQgPSAwOwotICAgIG1fa2V5SWRlbnRp
ZmllciA9IGtleUlkZW50aWZpZXJBcmcuaW1wbCgpOwotICAgIGlmIChtX2tleUlkZW50aWZpZXIp
Ci0gICAgICAgIG1fa2V5SWRlbnRpZmllci0+cmVmKCk7Ci0gICAgbV9rZXlMb2NhdGlvbiA9IGtl
eUxvY2F0aW9uQXJnOwotICAgIG1fYWx0R3JhcGhLZXkgPSBhbHRHcmFwaEtleUFyZzsKIH0KIAog
S2V5Ym9hcmRFdmVudEltcGw6On5LZXlib2FyZEV2ZW50SW1wbCgpCiB7CiAgICAgZGVsZXRlIG1f
a2V5RXZlbnQ7Ci0gICAgaWYgKG1fa2V5SWRlbnRpZmllcikKLSAgICAgICAgbV9rZXlJZGVudGlm
aWVyLT5kZXJlZigpOwogfQogCiB2b2lkIEtleWJvYXJkRXZlbnRJbXBsOjppbml0S2V5Ym9hcmRF
dmVudChjb25zdCBBdG9taWNTdHJpbmcgJnR5cGVBcmcsCkBAIC00ODIsMTMgKzQxNCwxMSBAQCB2
b2lkIEtleWJvYXJkRXZlbnRJbXBsOjppbml0S2V5Ym9hcmRFdmVuCiAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIG1ldGFLZXlBcmcsIAogICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBh
bHRHcmFwaEtleUFyZykKIHsKLSAgICBpZiAobV9rZXlJZGVudGlmaWVyKQotICAgICAgICBtX2tl
eUlkZW50aWZpZXItPmRlcmVmKCk7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0
dXJuOwogCiAgICAgVUlFdmVudEltcGw6OmluaXRVSUV2ZW50KHR5cGVBcmcsIGNhbkJ1YmJsZUFy
ZywgY2FuY2VsYWJsZUFyZywgdmlld0FyZywgMCk7CiAgICAgbV9rZXlJZGVudGlmaWVyID0ga2V5
SWRlbnRpZmllckFyZy5pbXBsKCk7Ci0gICAgaWYgKG1fa2V5SWRlbnRpZmllcikKLSAgICAgICAg
bV9rZXlJZGVudGlmaWVyLT5yZWYoKTsKICAgICBtX2tleUxvY2F0aW9uID0ga2V5TG9jYXRpb25B
cmc7CiAgICAgbV9jdHJsS2V5ID0gY3RybEtleUFyZzsKICAgICBtX3NoaWZ0S2V5ID0gc2hpZnRL
ZXlBcmc7CkBAIC01MDEsNyArNDMxLDcgQEAgaW50IEtleWJvYXJkRXZlbnRJbXBsOjprZXlDb2Rl
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fa2V5RXZlbnQpCiAgICAgICAgIHJldHVybiAwOwotICAg
IGlmIChtX3R5cGUgPT0ga2V5ZG93bkV2ZW50IHx8IG1fdHlwZSA9PSBrZXl1cEV2ZW50KQorICAg
IGlmICh0eXBlKCkgPT0ga2V5ZG93bkV2ZW50IHx8IHR5cGUoKSA9PSBrZXl1cEV2ZW50KQogICAg
ICAgICByZXR1cm4gbV9rZXlFdmVudC0+V2luZG93c0tleUNvZGUoKTsKICAgICByZXR1cm4gY2hh
ckNvZGUoKTsKIH0KQEAgLTUzMywxMiArNDYzLDggQEAgaW50IEtleWJvYXJkRXZlbnRJbXBsOjp3
aGljaCgpIGNvbnN0CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNdXRhdGlvbkV2ZW50SW1w
bDo6TXV0YXRpb25FdmVudEltcGwoKQorICAgIDogbV9hdHRyQ2hhbmdlKDApCiB7Ci0gICAgbV9y
ZWxhdGVkTm9kZSA9IDA7Ci0gICAgbV9wcmV2VmFsdWUgPSAwOwotICAgIG1fbmV3VmFsdWUgPSAw
OwotICAgIG1fYXR0ck5hbWUgPSAwOwotICAgIG1fYXR0ckNoYW5nZSA9IDA7CiB9CiAKIE11dGF0
aW9uRXZlbnRJbXBsOjpNdXRhdGlvbkV2ZW50SW1wbChjb25zdCBBdG9taWNTdHJpbmcgJmV2ZW50
VHlwZSwKQEAgLTU0OSwzMyArNDc1LDEzIEBAIE11dGF0aW9uRXZlbnRJbXBsOjpNdXRhdGlvbkV2
ZW50SW1wbChjb24KIAkJCQkgICAgIGNvbnN0IERPTVN0cmluZyAmbmV3VmFsdWVBcmcsCiAJCQkJ
ICAgICBjb25zdCBET01TdHJpbmcgJmF0dHJOYW1lQXJnLAogCQkJCSAgICAgdW5zaWduZWQgc2hv
cnQgYXR0ckNoYW5nZUFyZykKLQkJICAgICAgOiBFdmVudEltcGwoZXZlbnRUeXBlLGNhbkJ1YmJs
ZUFyZyxjYW5jZWxhYmxlQXJnKQotewotICAgIG1fcmVsYXRlZE5vZGUgPSByZWxhdGVkTm9kZUFy
ZzsKLSAgICBpZiAobV9yZWxhdGVkTm9kZSkKLQltX3JlbGF0ZWROb2RlLT5yZWYoKTsKLSAgICBt
X3ByZXZWYWx1ZSA9IHByZXZWYWx1ZUFyZy5pbXBsKCk7Ci0gICAgaWYgKG1fcHJldlZhbHVlKQot
CW1fcHJldlZhbHVlLT5yZWYoKTsKLSAgICBtX25ld1ZhbHVlID0gbmV3VmFsdWVBcmcuaW1wbCgp
OwotICAgIGlmIChtX25ld1ZhbHVlKQotCW1fbmV3VmFsdWUtPnJlZigpOwotICAgIG1fYXR0ck5h
bWUgPSBhdHRyTmFtZUFyZy5pbXBsKCk7Ci0gICAgaWYgKG1fYXR0ck5hbWUpCi0JbV9hdHRyTmFt
ZS0+cmVmKCk7Ci0gICAgbV9hdHRyQ2hhbmdlID0gYXR0ckNoYW5nZUFyZzsKLX0KLQotTXV0YXRp
b25FdmVudEltcGw6On5NdXRhdGlvbkV2ZW50SW1wbCgpCisgICAgOiBFdmVudEltcGwoZXZlbnRU
eXBlLCBjYW5CdWJibGVBcmcsIGNhbmNlbGFibGVBcmcpCisgICAgLCBtX3JlbGF0ZWROb2RlKHJl
bGF0ZWROb2RlQXJnKQorICAgICwgbV9wcmV2VmFsdWUocHJldlZhbHVlQXJnLmltcGwoKSkKKyAg
ICAsIG1fbmV3VmFsdWUobmV3VmFsdWVBcmcuaW1wbCgpKQorICAgICwgbV9hdHRyTmFtZShhdHRy
TmFtZUFyZy5pbXBsKCkpCisgICAgLCBtX2F0dHJDaGFuZ2UoYXR0ckNoYW5nZUFyZykKIHsKLSAg
ICBpZiAobV9yZWxhdGVkTm9kZSkKLQltX3JlbGF0ZWROb2RlLT5kZXJlZigpOwotICAgIGlmICht
X3ByZXZWYWx1ZSkKLQltX3ByZXZWYWx1ZS0+ZGVyZWYoKTsKLSAgICBpZiAobV9uZXdWYWx1ZSkK
LQltX25ld1ZhbHVlLT5kZXJlZigpOwotICAgIGlmIChtX2F0dHJOYW1lKQotCW1fYXR0ck5hbWUt
PmRlcmVmKCk7CiB9CiAKIHZvaWQgTXV0YXRpb25FdmVudEltcGw6OmluaXRNdXRhdGlvbkV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZUFyZywKQEAgLTU4NywyOSArNDkzLDE1IEBAIHZvaWQg
TXV0YXRpb25FdmVudEltcGw6OmluaXRNdXRhdGlvbkV2ZW4KIAkJCQkJICBjb25zdCBET01TdHJp
bmcgJmF0dHJOYW1lQXJnLAogCQkJCQkgIHVuc2lnbmVkIHNob3J0IGF0dHJDaGFuZ2VBcmcpCiB7
Ci0gICAgRXZlbnRJbXBsOjppbml0RXZlbnQodHlwZUFyZyxjYW5CdWJibGVBcmcsY2FuY2VsYWJs
ZUFyZyk7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYg
KG1fcmVsYXRlZE5vZGUpCi0JbV9yZWxhdGVkTm9kZS0+ZGVyZWYoKTsKLSAgICBpZiAobV9wcmV2
VmFsdWUpCi0JbV9wcmV2VmFsdWUtPmRlcmVmKCk7Ci0gICAgaWYgKG1fbmV3VmFsdWUpCi0JbV9u
ZXdWYWx1ZS0+ZGVyZWYoKTsKLSAgICBpZiAobV9hdHRyTmFtZSkKLQltX2F0dHJOYW1lLT5kZXJl
ZigpOworICAgIEV2ZW50SW1wbDo6aW5pdEV2ZW50KHR5cGVBcmcsY2FuQnViYmxlQXJnLGNhbmNl
bGFibGVBcmcpOwogCiAgICAgbV9yZWxhdGVkTm9kZSA9IHJlbGF0ZWROb2RlQXJnOwotICAgIGlm
IChtX3JlbGF0ZWROb2RlKQotCW1fcmVsYXRlZE5vZGUtPnJlZigpOwogICAgIG1fcHJldlZhbHVl
ID0gcHJldlZhbHVlQXJnLmltcGwoKTsKLSAgICBpZiAobV9wcmV2VmFsdWUpCi0JbV9wcmV2VmFs
dWUtPnJlZigpOwogICAgIG1fbmV3VmFsdWUgPSBuZXdWYWx1ZUFyZy5pbXBsKCk7Ci0gICAgaWYg
KG1fbmV3VmFsdWUpCi0JbV9uZXdWYWx1ZS0+cmVmKCk7CiAgICAgbV9hdHRyTmFtZSA9IGF0dHJO
YW1lQXJnLmltcGwoKTsKLSAgICBpZiAobV9hdHRyTmFtZSkKLQltX2F0dHJOYW1lLT5yZWYoKTsK
ICAgICBtX2F0dHJDaGFuZ2UgPSBhdHRyQ2hhbmdlQXJnOwogfQogCkBAIC02MjIsMjAgKzUxNCwx
MSBAQCBib29sIE11dGF0aW9uRXZlbnRJbXBsOjppc011dGF0aW9uRXZlbnQoCiAKIENsaXBib2Fy
ZEV2ZW50SW1wbDo6Q2xpcGJvYXJkRXZlbnRJbXBsKCkKIHsKLSAgICBtX2NsaXBib2FyZCA9IDA7
CiB9CiAKIENsaXBib2FyZEV2ZW50SW1wbDo6Q2xpcGJvYXJkRXZlbnRJbXBsKGNvbnN0IEF0b21p
Y1N0cmluZyAmZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbCBjYW5jZWxhYmxlQXJn
LCBDbGlwYm9hcmRJbXBsICpjbGlwYm9hcmRBcmcpCiAgICAgOiBFdmVudEltcGwoZXZlbnRUeXBl
LCBjYW5CdWJibGVBcmcsIGNhbmNlbGFibGVBcmcpLCBtX2NsaXBib2FyZChjbGlwYm9hcmRBcmcp
CiB7Ci0gICAgICBpZiAobV9jbGlwYm9hcmQpCi0gICAgICAgICAgbV9jbGlwYm9hcmQtPnJlZigp
OwotfQotCi1DbGlwYm9hcmRFdmVudEltcGw6On5DbGlwYm9hcmRFdmVudEltcGwoKQotewotICAg
IGlmIChtX2NsaXBib2FyZCkKLSAgICAgICAgbV9jbGlwYm9hcmQtPmRlcmVmKCk7CiB9CiAKIGJv
b2wgQ2xpcGJvYXJkRXZlbnRJbXBsOjppc0NsaXBib2FyZEV2ZW50KCkgY29uc3QKQEAgLTY2Nywx
MyArNTUwLDYgQEAgYm9vbCBXaGVlbEV2ZW50SW1wbDo6aXNXaGVlbEV2ZW50KCkgY29ucwogUmVn
aXN0ZXJlZEV2ZW50TGlzdGVuZXI6OlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21p
Y1N0cmluZyAmZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyICpsaXN0ZW5lciwgYm9vbCB1c2VDYXB0
dXJlKQogICAgIDogbV9ldmVudFR5cGUoZXZlbnRUeXBlKSwgbV9saXN0ZW5lcihsaXN0ZW5lciks
IG1fdXNlQ2FwdHVyZSh1c2VDYXB0dXJlKQogewotICAgIGFzc2VydChsaXN0ZW5lcik7Ci0gICAg
bGlzdGVuZXItPnJlZigpOwotfQotCi1SZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcjo6flJlZ2lzdGVy
ZWRFdmVudExpc3RlbmVyKCkKLXsKLSAgICBtX2xpc3RlbmVyLT5kZXJlZigpOwogfQogCiBib29s
IG9wZXJhdG9yPT0oY29uc3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIgJmEsIGNvbnN0IFJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyICZiKQpJbmRleDoga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb20yX2V2
ZW50c2ltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMgpkaWZmIC1wIC11IC1yMS4zMiBr
aHRtbC94bWwvZG9tMl9ldmVudHNpbXBsLmgKLS0tIGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwu
aAkzIE9jdCAyMDA1IDIxOjEyOjUwIC0wMDAwCTEuMzIKKysrIGtodG1sL3htbC9kb20yX2V2ZW50
c2ltcGwuaAk4IE9jdCAyMDA1IDE3OjUwOjIzIC0wMDAwCkBAIC0yNSw5ICsyNSwxMCBAQAogI2lm
bmRlZiBET01fRVZFTlRTSU1QTF9ICiAjZGVmaW5lIERPTV9FVkVOVFNJTVBMX0gKIAotI2luY2x1
ZGUgPHFkYXRldGltZS5oPgogI2luY2x1ZGUgImRvbS9kb21fbm9kZS5oIgorI2luY2x1ZGUgInht
bC9kb21fbm9kZWltcGwuaCIKICNpbmNsdWRlICJ4bWwvZG9tX2F0b21pY3N0cmluZy5oIgorI2lu
Y2x1ZGUgInhtbC9kb20yX3ZpZXdzaW1wbC5oIgogI2luY2x1ZGUgIm1pc2Mvc2hhcmVkLmgiCiAK
IGNsYXNzIEtIVE1MUGFydDsKQEAgLTM4LDEwICszOSw3IEBAIGNsYXNzIFFTdHJpbmdMaXN0Owog
CiBuYW1lc3BhY2UgRE9NIHsKIAotY2xhc3MgQWJzdHJhY3RWaWV3SW1wbDsKLWNsYXNzIERPTVN0
cmluZ0ltcGw7CiBjbGFzcyBFdmVudExpc3RlbmVyOwotY2xhc3MgTm9kZUltcGw7CiBjbGFzcyBD
bGlwYm9hcmRJbXBsOwogCiBjbGFzcyBFdmVudEltcGwgOiBwdWJsaWMga2h0bWw6OlNoYXJlZDxF
dmVudEltcGw+CkBAIC01MiwyNCArNTAsMjQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkV2ZW50
SW1wbCgpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlOyB9Ci0gICAgTm9kZUltcGwgKnRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0
OyB9Ci0gICAgdm9pZCBzZXRUYXJnZXQoTm9kZUltcGwgKnRhcmdldCk7CisgICAgTm9kZUltcGwg
KnRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOyB9CisgICAgdm9pZCBzZXRU
YXJnZXQoTm9kZUltcGwgKnRhcmdldCkgeyBtX3RhcmdldCA9IHRhcmdldDsgfQogICAgIE5vZGVJ
bXBsICpjdXJyZW50VGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50VGFyZ2V0OyB9CiAg
ICAgdm9pZCBzZXRDdXJyZW50VGFyZ2V0KE5vZGVJbXBsICpjdXJyZW50VGFyZ2V0KSB7IG1fY3Vy
cmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7IH0KICAgICB1bnNpZ25lZCBzaG9ydCBldmVudFBo
YXNlKCkgY29uc3QgeyByZXR1cm4gbV9ldmVudFBoYXNlOyB9CiAgICAgdm9pZCBzZXRFdmVudFBo
YXNlKHVuc2lnbmVkIHNob3J0IGV2ZW50UGhhc2UpIHsgbV9ldmVudFBoYXNlID0gZXZlbnRQaGFz
ZTsgfQogICAgIGJvb2wgYnViYmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FuQnViYmxlOyB9CiAg
ICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxhYmxlOyB9Ci0gICAg
RE9NVGltZVN0YW1wIHRpbWVTdGFtcCgpOworICAgIERPTVRpbWVTdGFtcCB0aW1lU3RhbXAoKSB7
IHJldHVybiBtX2NyZWF0ZVRpbWU7IH0KICAgICB2b2lkIHN0b3BQcm9wYWdhdGlvbigpIHsgbV9w
cm9wYWdhdGlvblN0b3BwZWQgPSB0cnVlOyB9Ci0gICAgdm9pZCBwcmV2ZW50RGVmYXVsdCgpOwor
ICAgIHZvaWQgcHJldmVudERlZmF1bHQoKSB7IGlmIChtX2NhbmNlbGFibGUpIG1fZGVmYXVsdFBy
ZXZlbnRlZCA9IHRydWU7IH0KICAgICB2b2lkIGluaXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcg
JmV2ZW50VHlwZUFyZywgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZyk7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNVSUV2ZW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlz
TW91c2VFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc011dGF0aW9uRXZlbnQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEV2ZW50KCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIGlzRHJhZ0V2ZW50KCkgY29uc3Q7ICAgLy8gYSBzdWJzZXQgb2YgbW91c2UgZXZl
bnRzCisgICAgdmlydHVhbCBib29sIGlzRHJhZ0V2ZW50KCkgY29uc3Q7IC8vIGEgc3Vic2V0IG9m
IG1vdXNlIGV2ZW50cwogICAgIHZpcnR1YWwgYm9vbCBpc0NsaXBib2FyZEV2ZW50KCkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIGlzV2hlZWxFdmVudCgpIGNvbnN0OwogCkBAIC04NCw2ICs4Miw5
IEBAIHB1YmxpYzoKICAgICBib29sIGdldENhbmNlbEJ1YmJsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FuY2VsQnViYmxlOyB9CiAKIHByb3RlY3RlZDoKKyAgICBib29sIGRpc3BhdGNoZWQoKSBjb25z
dCB7IHJldHVybiBtX3RhcmdldDsgfQorCitwcml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX3R5
cGU7CiAgICAgYm9vbCBtX2NhbkJ1YmJsZTsKICAgICBib29sIG1fY2FuY2VsYWJsZTsKQEAgLTk1
LDEyICs5NiwxMCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBOb2RlSW1wbCAqbV9jdXJyZW50VGFyZ2V0
OyAvLyByZWYgPiAwIG1haW50YWluZWQgZXh0ZXJuYWxseQogICAgIHVuc2lnbmVkIHNob3J0IG1f
ZXZlbnRQaGFzZTsKLSAgICBOb2RlSW1wbCAqbV90YXJnZXQ7Ci0gICAgUURhdGVUaW1lIG1fY3Jl
YXRlVGltZTsKKyAgICBTaGFyZWRQdHI8Tm9kZUltcGw+IG1fdGFyZ2V0OworICAgIERPTVRpbWVT
dGFtcCBtX2NyZWF0ZVRpbWU7CiB9OwogCi0KLQogY2xhc3MgVUlFdmVudEltcGwgOiBwdWJsaWMg
RXZlbnRJbXBsCiB7CiBwdWJsaWM6CkBAIC0xMTAsOCArMTA5LDcgQEAgcHVibGljOgogCQlib29s
IGNhbmNlbGFibGVBcmcsCiAJCUFic3RyYWN0Vmlld0ltcGwgKnZpZXdBcmcsCiAJCWludCBkZXRh
aWxBcmcpOwotICAgIHZpcnR1YWwgflVJRXZlbnRJbXBsKCk7Ci0gICAgQWJzdHJhY3RWaWV3SW1w
bCAqdmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdmlldzsgfQorICAgIEFic3RyYWN0Vmlld0ltcGwg
KnZpZXcoKSBjb25zdCB7IHJldHVybiBtX3ZpZXcuZ2V0KCk7IH0KICAgICBpbnQgZGV0YWlsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXRhaWw7IH0KICAgICB2b2lkIGluaXRVSUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyAmdHlwZUFyZywKIAkJICAgICBib29sIGNhbkJ1YmJsZUFyZywKQEAgLTEzMSwx
MCArMTI5LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgd2hpY2goKSBjb25zdDsKIAot
cHJvdGVjdGVkOgotICAgIEFic3RyYWN0Vmlld0ltcGwgKm1fdmlldzsKK3ByaXZhdGU6CisgICAg
U2hhcmVkUHRyPEFic3RyYWN0Vmlld0ltcGw+IG1fdmlldzsKICAgICBpbnQgbV9kZXRhaWw7Ci0K
IH07CiAKIGNsYXNzIFVJRXZlbnRXaXRoS2V5U3RhdGVJbXBsIDogcHVibGljIFVJRXZlbnRJbXBs
IHsKQEAgLTIxNSw4ICsyMTIsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgQ2xpcGJv
YXJkSW1wbCAqY2xpcGJvYXJkQXJnPTApOwogICAgIHZpcnR1YWwgfk1vdXNlRXZlbnRJbXBsKCk7
CiAgICAgdW5zaWduZWQgc2hvcnQgYnV0dG9uKCkgY29uc3QgeyByZXR1cm4gbV9idXR0b247IH0K
LSAgICBOb2RlSW1wbCAqcmVsYXRlZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVsYXRlZFRh
cmdldDsgfQotICAgIENsaXBib2FyZEltcGwgKmNsaXBib2FyZCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpcGJvYXJkOyB9CisgICAgTm9kZUltcGwgKnJlbGF0ZWRUYXJnZXQoKSBjb25zdCB7IHJldHVy
biBtX3JlbGF0ZWRUYXJnZXQuZ2V0KCk7IH0KKyAgICBDbGlwYm9hcmRJbXBsICpjbGlwYm9hcmQo
KSBjb25zdCB7IHJldHVybiBtX2NsaXBib2FyZC5nZXQoKTsgfQogICAgIHZvaWQgaW5pdE1vdXNl
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlQXJnLAogCQkJYm9vbCBjYW5CdWJibGVBcmcs
CiAJCQlib29sIGNhbmNlbGFibGVBcmcsCkBAIC0yMzcsOCArMjM0LDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgaW50IHdoaWNoKCkgY29uc3Q7CiBwcml2YXRlOgogICAgIHVuc2lnbmVkIHNob3J0
IG1fYnV0dG9uOwotICAgIE5vZGVJbXBsICptX3JlbGF0ZWRUYXJnZXQ7Ci0gICAgQ2xpcGJvYXJk
SW1wbCAqbV9jbGlwYm9hcmQ7CisgICAgU2hhcmVkUHRyPE5vZGVJbXBsPiBtX3JlbGF0ZWRUYXJn
ZXQ7CisgICAgU2hhcmVkUHRyPENsaXBib2FyZEltcGw+IG1fY2xpcGJvYXJkOwogfTsKIAogCkBA
IC0yNzIsNyArMjY5LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGJvb2wgbWV0YUtleUFy
ZywKICAgICAgICAgICAgICAgICBib29sIGFsdEdyYXBoS2V5QXJnKTsKICAgICAKLSAgICBET01T
dHJpbmcga2V5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fa2V5SWRlbnRpZmllcjsgfQor
ICAgIERPTVN0cmluZyBrZXlJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9rZXlJZGVudGlm
aWVyLmdldCgpOyB9CiAgICAgdW5zaWduZWQga2V5TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2tleUxvY2F0aW9uOyB9CiAgICAgCiAgICAgYm9vbCBhbHRHcmFwaEtleSgpIGNvbnN0IHsgcmV0
dXJuIG1fYWx0R3JhcGhLZXk7IH0KQEAgLTI4Nyw3ICsyODQsNyBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgUUtleUV2ZW50ICptX2tleUV2ZW50OwotICAgIERPTVN0cmluZ0ltcGwgKm1fa2V5
SWRlbnRpZmllcjsKKyAgICBTaGFyZWRQdHI8RE9NU3RyaW5nSW1wbD4gbV9rZXlJZGVudGlmaWVy
OwogICAgIHVuc2lnbmVkIG1fa2V5TG9jYXRpb247CiAgICAgYm9vbCBtX2FsdEdyYXBoS2V5IDog
MTsKIH07CkBAIC0zMDQsMTIgKzMwMSwxMSBAQCBwdWJsaWM6CiAJCSAgICAgIGNvbnN0IERPTVN0
cmluZyAmbmV3VmFsdWVBcmcsCiAJCSAgICAgIGNvbnN0IERPTVN0cmluZyAmYXR0ck5hbWVBcmcs
CiAJCSAgICAgIHVuc2lnbmVkIHNob3J0IGF0dHJDaGFuZ2VBcmcpOwotICAgIH5NdXRhdGlvbkV2
ZW50SW1wbCgpOwogCi0gICAgTm9kZUltcGwgKnJlbGF0ZWROb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9yZWxhdGVkTm9kZTsgfQotICAgIERPTVN0cmluZyBwcmV2VmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX3ByZXZWYWx1ZTsgfQotICAgIERPTVN0cmluZyBuZXdWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmV3VmFsdWU7IH0KLSAgICBET01TdHJpbmcgYXR0ck5hbWUoKSBjb25zdCB7IHJldHVybiBt
X2F0dHJOYW1lOyB9CisgICAgTm9kZUltcGwgKnJlbGF0ZWROb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9yZWxhdGVkTm9kZS5nZXQoKTsgfQorICAgIERPTVN0cmluZyBwcmV2VmFsdWUoKSBjb25zdCB7
IHJldHVybiBtX3ByZXZWYWx1ZS5nZXQoKTsgfQorICAgIERPTVN0cmluZyBuZXdWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbmV3VmFsdWUuZ2V0KCk7IH0KKyAgICBET01TdHJpbmcgYXR0ck5hbWUo
KSBjb25zdCB7IHJldHVybiBtX2F0dHJOYW1lLmdldCgpOyB9CiAgICAgdW5zaWduZWQgc2hvcnQg
YXR0ckNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0ckNoYW5nZTsgfQogICAgIHZvaWQgaW5p
dE11dGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlQXJnLAogCQkJICAgYm9vbCBj
YW5CdWJibGVBcmcsCkBAIC0zMjAsMTEgKzMxNiwxMSBAQCBwdWJsaWM6CiAJCQkgICBjb25zdCBE
T01TdHJpbmcgJmF0dHJOYW1lQXJnLAogCQkJICAgdW5zaWduZWQgc2hvcnQgYXR0ckNoYW5nZUFy
Zyk7CiAgICAgdmlydHVhbCBib29sIGlzTXV0YXRpb25FdmVudCgpIGNvbnN0OwotcHJvdGVjdGVk
OgotICAgIE5vZGVJbXBsICptX3JlbGF0ZWROb2RlOwotICAgIERPTVN0cmluZ0ltcGwgKm1fcHJl
dlZhbHVlOwotICAgIERPTVN0cmluZ0ltcGwgKm1fbmV3VmFsdWU7Ci0gICAgRE9NU3RyaW5nSW1w
bCAqbV9hdHRyTmFtZTsKK3ByaXZhdGU6CisgICAgU2hhcmVkUHRyPE5vZGVJbXBsPiBtX3JlbGF0
ZWROb2RlOworICAgIFNoYXJlZFB0cjxET01TdHJpbmdJbXBsPiBtX3ByZXZWYWx1ZTsKKyAgICBT
aGFyZWRQdHI8RE9NU3RyaW5nSW1wbD4gbV9uZXdWYWx1ZTsKKyAgICBTaGFyZWRQdHI8RE9NU3Ry
aW5nSW1wbD4gbV9hdHRyTmFtZTsKICAgICB1bnNpZ25lZCBzaG9ydCBtX2F0dHJDaGFuZ2U7CiB9
OwogCkBAIC0zMzIsMTIgKzMyOCwxMSBAQCBjbGFzcyBDbGlwYm9hcmRFdmVudEltcGwgOiBwdWJs
aWMgRXZlbnRJCiBwdWJsaWM6CiAgICAgQ2xpcGJvYXJkRXZlbnRJbXBsKCk7CiAgICAgQ2xpcGJv
YXJkRXZlbnRJbXBsKGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZSwgYm9vbCBjYW5CdWJibGVBcmcs
IGJvb2wgY2FuY2VsYWJsZUFyZywgQ2xpcGJvYXJkSW1wbCAqY2xpcGJvYXJkQXJnKTsKLSAgICB+
Q2xpcGJvYXJkRXZlbnRJbXBsKCk7CiAKLSAgICBDbGlwYm9hcmRJbXBsICpjbGlwYm9hcmQoKSBj
b25zdCB7IHJldHVybiBtX2NsaXBib2FyZDsgfQorICAgIENsaXBib2FyZEltcGwgKmNsaXBib2Fy
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcGJvYXJkLmdldCgpOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQ2xpcGJvYXJkRXZlbnQoKSBjb25zdDsKLXByb3RlY3RlZDoKLSAgICBDbGlwYm9hcmRJbXBs
ICptX2NsaXBib2FyZDsKK3ByaXZhdGU6CisgICAgU2hhcmVkUHRyPENsaXBib2FyZEltcGw+IG1f
Y2xpcGJvYXJkOwogfTsKIAogLy8gZXh0ZW5zaW9uOiBtb3VzZSB3aGVlbCBldmVudApAQCAtMzYy
LDE5ICszNTcsMTUgQEAgcHJpdmF0ZToKIGNsYXNzIFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyIHsK
IHB1YmxpYzoKICAgICBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcg
JmV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciAqbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSk7Ci0g
ICAgflJlZ2lzdGVyZWRFdmVudExpc3RlbmVyKCk7CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcg
JmV2ZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXZlbnRUeXBlOyB9Ci0gICAgRXZlbnRMaXN0
ZW5lciAqbGlzdGVuZXIoKSBjb25zdCB7IHJldHVybiBtX2xpc3RlbmVyOyB9CisgICAgRXZlbnRM
aXN0ZW5lciAqbGlzdGVuZXIoKSBjb25zdCB7IHJldHVybiBtX2xpc3RlbmVyLmdldCgpOyB9CiAg
ICAgYm9vbCB1c2VDYXB0dXJlKCkgY29uc3QgeyByZXR1cm4gbV91c2VDYXB0dXJlOyB9CiAKIHBy
aXZhdGU6CiAgICAgQXRvbWljU3RyaW5nIG1fZXZlbnRUeXBlOwotICAgIEV2ZW50TGlzdGVuZXIg
Km1fbGlzdGVuZXI7CisgICAgU2hhcmVkUHRyPEV2ZW50TGlzdGVuZXI+IG1fbGlzdGVuZXI7CiAg
ICAgYm9vbCBtX3VzZUNhcHR1cmU7Ci0KLSAgICBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcihjb25z
dCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciAmKTsKLSAgICBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5l
ciAmb3BlcmF0b3I9KGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyICYpOwogfTsKIAogYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyICYsIGNvbnN0IFJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyICYpOwo=
</data>
<flag name="review"
          id="718"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>