<?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>139647</bug_id>
          
          <creation_ts>2014-12-15 09:54:48 -0800</creation_ts>
          <short_desc>Purge PassRefPtr from FocusEvent code.</short_desc>
          <delta_ts>2014-12-15 11:16:24 -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>UI Events</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1055645</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-15 09:54:48 -0800</bug_when>
    <thetext>Convert FocusEvent related code from using PassRefPtr to RefPtr/RefPtr&amp;&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055660</commentid>
    <comment_count>1</comment_count>
      <attachid>243299</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-15 10:13:55 -0800</bug_when>
    <thetext>Created attachment 243299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055672</commentid>
    <comment_count>2</comment_count>
      <attachid>243299</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-15 11:16:21 -0800</bug_when>
    <thetext>Comment on attachment 243299
Patch

Clearing flags on attachment: 243299

Committed r177293: &lt;http://trac.webkit.org/changeset/177293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055673</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-15 11:16:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243299</attachid>
            <date>2014-12-15 10:13:55 -0800</date>
            <delta_ts>2014-12-15 11:16:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139647.diff</filename>
            <type>text/plain</type>
            <size>19831</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMThkMmE1Yy4uMzY1ODJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0xMi0xNSAg
QW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUHVyZ2UgUGFzc1Jl
ZlB0ciBmcm9tIEZvY3VzRXZlbnQgY29kZS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzEzOTY0Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBSZWZQdHI6OmNvcHlSZWYoKSB0byB1c2Ugd2hlbiBwYXNzaW5nIGEgUmVmUHRyIHRv
IGEgUmVmUHRyJiYgd2l0aG91dAorICAgICAgICB0cmFuc2ZlcnJpbmcgdGhlIG93bmVyc2hpcC4K
KworICAgICAgICAqIHd0Zi9SZWZQdHIuaDoKKwogMjAxNC0xMi0xNCAgQW5kcmVhcyBLbGluZyAg
PGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgZm9sbG93LXVwIHR3ZWFrcyBzdWdn
ZXN0ZWQgYnkgRGFyaW4gb24gYnVnIDEzOTU4Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1JlZlB0ci5oIGIvU291cmNlL1dURi93dGYvUmVmUHRyLmgKaW5kZXggNzZkNjFmNC4uOTU0OWJl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmUHRyLmgKKysrIGIvU291cmNlL1dURi93
dGYvUmVmUHRyLmgKQEAgLTg4LDYgKzg4LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAg
c3RhdGljIFQqIGhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8VCo+KC0xKTsgfQogCisgICAgICAgIFJlZlB0ciBjb3B5UmVmKCkgV0FSTl9VTlVTRURfUkVU
VVJOIHsgcmV0dXJuIFJlZlB0cihtX3B0cik7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIFQq
IG1fcHRyOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY0ZmU1Ny4uNmU0MmI1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTEyLTE1ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFw
cGxlLmNvbT4KKworICAgICAgICBQdXJnZSBQYXNzUmVmUHRyIGZyb20gRm9jdXNFdmVudCBjb2Rl
LgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTM5NjQ3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnZlcnQgRm9jdXNFdmVudC1yZWxh
dGVkIGNvZGUgZnJvbSB1c2luZyBQYXNzUmVmUHRyIHRvIHVzaW5nIFJlZlB0ciYmIGluc3RlYWQu
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNldEZvY3VzZWRFbGVtZW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpkaXNwYXRjaEZvY3VzSW5FdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmRpc3BhdGNoQmx1ckV2ZW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZv
Y3VzRXZlbnQpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRpc3BhdGNoRXZlbnRzT25X
aW5kb3dBbmRGb2N1c2VkRWxlbWVudCk6CisKIDIwMTQtMTItMTQgIEFuZHJlYXMgS2xpbmcgIDxh
a2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEV2ZW50IGNvbnN0cnVjdGlvbiBoZWxwZXJzIHNo
b3VsZCByZXR1cm4gUmVmIGluc3RlYWQgb2YgUGFzc1JlZlB0ci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IGQ2NDY4MDYuLjJlZGJlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MzQ1Miw3ICszNDUyLDcgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQoUGFzc1Jl
ZlB0cjxFbGVtZW50PiBwcnBOZXdGb2N1c2VkRWxlbWVudCwgRm9jdXMKICAgICAgICAgfQogCiAg
ICAgICAgIC8vIERpc3BhdGNoIHRoZSBibHVyIGV2ZW50IGFuZCBsZXQgdGhlIG5vZGUgZG8gYW55
IG90aGVyIGJsdXIgcmVsYXRlZCBhY3Rpdml0aWVzIChpbXBvcnRhbnQgZm9yIHRleHQgZmllbGRz
KQotICAgICAgICBvbGRGb2N1c2VkRWxlbWVudC0+ZGlzcGF0Y2hCbHVyRXZlbnQobmV3Rm9jdXNl
ZEVsZW1lbnQpOworICAgICAgICBvbGRGb2N1c2VkRWxlbWVudC0+ZGlzcGF0Y2hCbHVyRXZlbnQo
bmV3Rm9jdXNlZEVsZW1lbnQuY29weVJlZigpKTsKIAogICAgICAgICBpZiAobV9mb2N1c2VkRWxl
bWVudCkgewogICAgICAgICAgICAgLy8gaGFuZGxlciBzaGlmdGVkIGZvY3VzCkBAIC0zNDYwLDEw
ICszNDYwLDEwIEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVtZW50KFBhc3NSZWZQdHI8
RWxlbWVudD4gcHJwTmV3Rm9jdXNlZEVsZW1lbnQsIEZvY3VzCiAgICAgICAgICAgICBuZXdGb2N1
c2VkRWxlbWVudCA9IG51bGxwdHI7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIG9sZEZv
Y3VzZWRFbGVtZW50LT5kaXNwYXRjaEZvY3VzT3V0RXZlbnQoZXZlbnROYW1lcygpLmZvY3Vzb3V0
RXZlbnQsIG5ld0ZvY3VzZWRFbGVtZW50KTsgLy8gRE9NIGxldmVsIDMgbmFtZSBmb3IgdGhlIGJ1
YmJsaW5nIGJsdXIgZXZlbnQuCisgICAgICAgIG9sZEZvY3VzZWRFbGVtZW50LT5kaXNwYXRjaEZv
Y3VzT3V0RXZlbnQoZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQsIG5ld0ZvY3VzZWRFbGVtZW50
LmNvcHlSZWYoKSk7IC8vIERPTSBsZXZlbCAzIG5hbWUgZm9yIHRoZSBidWJibGluZyBibHVyIGV2
ZW50LgogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbW92ZSBmaXJpbmcgRE9NRm9jdXNP
dXRFdmVudCBldmVudCB3aGVuIHdlIGFyZSBzdXJlIG5vIGNvbnRlbnQgZGVwZW5kcwogICAgICAg
ICAvLyBvbiBpdCwgcHJvYmFibHkgd2hlbiA8cmRhcjovL3Byb2JsZW0vODUwMzk1OD4gaXMgcmVz
b2x2ZWQuCi0gICAgICAgIG9sZEZvY3VzZWRFbGVtZW50LT5kaXNwYXRjaEZvY3VzT3V0RXZlbnQo
ZXZlbnROYW1lcygpLkRPTUZvY3VzT3V0RXZlbnQsIG5ld0ZvY3VzZWRFbGVtZW50KTsgLy8gRE9N
IGxldmVsIDIgbmFtZSBmb3IgY29tcGF0aWJpbGl0eS4KKyAgICAgICAgb2xkRm9jdXNlZEVsZW1l
bnQtPmRpc3BhdGNoRm9jdXNPdXRFdmVudChldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudCwg
bmV3Rm9jdXNlZEVsZW1lbnQuY29weVJlZigpKTsgLy8gRE9NIGxldmVsIDIgbmFtZSBmb3IgY29t
cGF0aWJpbGl0eS4KIAogICAgICAgICBpZiAobV9mb2N1c2VkRWxlbWVudCkgewogICAgICAgICAg
ICAgLy8gaGFuZGxlciBzaGlmdGVkIGZvY3VzCkBAIC0zNDkyLDcgKzM0OTIsNyBAQCBib29sIERv
Y3VtZW50OjpzZXRGb2N1c2VkRWxlbWVudChQYXNzUmVmUHRyPEVsZW1lbnQ+IHBycE5ld0ZvY3Vz
ZWRFbGVtZW50LCBGb2N1cwogICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gbmV3Rm9jdXNlZEVs
ZW1lbnQ7CiAKICAgICAgICAgLy8gRGlzcGF0Y2ggdGhlIGZvY3VzIGV2ZW50IGFuZCBsZXQgdGhl
IG5vZGUgZG8gYW55IG90aGVyIGZvY3VzIHJlbGF0ZWQgYWN0aXZpdGllcyAoaW1wb3J0YW50IGZv
ciB0ZXh0IGZpZWxkcykKLSAgICAgICAgbV9mb2N1c2VkRWxlbWVudC0+ZGlzcGF0Y2hGb2N1c0V2
ZW50KG9sZEZvY3VzZWRFbGVtZW50LCBkaXJlY3Rpb24pOworICAgICAgICBtX2ZvY3VzZWRFbGVt
ZW50LT5kaXNwYXRjaEZvY3VzRXZlbnQob2xkRm9jdXNlZEVsZW1lbnQuY29weVJlZigpLCBkaXJl
Y3Rpb24pOwogCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0ZvY3VzZWRFbGVt
ZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAgLTM1MDAsNyAr
MzUwMCw3IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVtZW50KFBhc3NSZWZQdHI8RWxl
bWVudD4gcHJwTmV3Rm9jdXNlZEVsZW1lbnQsIEZvY3VzCiAgICAgICAgICAgICBnb3RvIFNldEZv
Y3VzZWROb2RlRG9uZTsKICAgICAgICAgfQogCi0gICAgICAgIG1fZm9jdXNlZEVsZW1lbnQtPmRp
c3BhdGNoRm9jdXNJbkV2ZW50KGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQsIG9sZEZvY3VzZWRF
bGVtZW50KTsgLy8gRE9NIGxldmVsIDMgYnViYmxpbmcgZm9jdXMgZXZlbnQuCisgICAgICAgIG1f
Zm9jdXNlZEVsZW1lbnQtPmRpc3BhdGNoRm9jdXNJbkV2ZW50KGV2ZW50TmFtZXMoKS5mb2N1c2lu
RXZlbnQsIG9sZEZvY3VzZWRFbGVtZW50LmNvcHlSZWYoKSk7IC8vIERPTSBsZXZlbCAzIGJ1YmJs
aW5nIGZvY3VzIGV2ZW50LgogCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0Zv
Y3VzZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAg
LTM1MTAsNyArMzUxMCw3IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVtZW50KFBhc3NS
ZWZQdHI8RWxlbWVudD4gcHJwTmV3Rm9jdXNlZEVsZW1lbnQsIEZvY3VzCiAKICAgICAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCByZW1vdmUgZmlyaW5nIERPTUZvY3VzSW5FdmVudCBldmVudCB3aGVu
IHdlIGFyZSBzdXJlIG5vIGNvbnRlbnQgZGVwZW5kcwogICAgICAgICAvLyBvbiBpdCwgcHJvYmFi
bHkgd2hlbiA8cmRhcjovL3Byb2JsZW0vODUwMzk1OD4gaXMgbS4KLSAgICAgICAgbV9mb2N1c2Vk
RWxlbWVudC0+ZGlzcGF0Y2hGb2N1c0luRXZlbnQoZXZlbnROYW1lcygpLkRPTUZvY3VzSW5FdmVu
dCwgb2xkRm9jdXNlZEVsZW1lbnQpOyAvLyBET00gbGV2ZWwgMiBmb3IgY29tcGF0aWJpbGl0eS4K
KyAgICAgICAgbV9mb2N1c2VkRWxlbWVudC0+ZGlzcGF0Y2hGb2N1c0luRXZlbnQoZXZlbnROYW1l
cygpLkRPTUZvY3VzSW5FdmVudCwgb2xkRm9jdXNlZEVsZW1lbnQuY29weVJlZigpKTsgLy8gRE9N
IGxldmVsIDIgZm9yIGNvbXBhdGliaWxpdHkuCiAKICAgICAgICAgaWYgKG1fZm9jdXNlZEVsZW1l
bnQgIT0gbmV3Rm9jdXNlZEVsZW1lbnQpIHsKICAgICAgICAgICAgIC8vIGhhbmRsZXIgc2hpZnRl
ZCBmb2N1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDk4Nzk0MzcuLjNlYjcyYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKQEAgLTE5OTIsMzYgKzE5OTIsMzQgQEAgdm9pZCBFbGVtZW50Ojpi
bHVyKCkKICAgICB9CiB9CiAKLXZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RWxlbWVudD4gb2xkRm9jdXNl
ZEVsZW1lbnQpCit2b2lkIEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1c2VkRWxlbWVudCkK
IHsKICAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3BhdGNo
Rm9yYmlkZGVuKCkpOwogICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3Vz
aW5FdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZvY3VzSW5FdmVudCk7Ci0g
ICAgZGlzcGF0Y2hTY29wZWRFdmVudChGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVl
LCBmYWxzZSwgZG9jdW1lbnQoKS5kZWZhdWx0VmlldygpLCAwLCBvbGRGb2N1c2VkRWxlbWVudCkp
OworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnQoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwg
dHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCkuZGVmYXVsdFZpZXcoKSwgMCwgV1RGOjptb3ZlKG9sZEZv
Y3VzZWRFbGVtZW50KSkpOwogfQogCi12b2lkIEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNPdXRFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFbGVtZW50PiBuZXdG
b2N1c2VkRWxlbWVudCkKK3ZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVudD4mJiBuZXdGb2N1c2VkRWxl
bWVudCkKIHsKICAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERp
c3BhdGNoRm9yYmlkZGVuKCkpOwogICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LmZvY3Vzb3V0RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c091dEV2
ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50KEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudFR5
cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLmRlZmF1bHRWaWV3KCksIDAsIG5ld0ZvY3VzZWRF
bGVtZW50KSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudChGb2N1c0V2ZW50OjpjcmVhdGUoZXZl
bnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS5kZWZhdWx0VmlldygpLCAwLCBXVEY6Om1v
dmUobmV3Rm9jdXNlZEVsZW1lbnQpKSk7CiB9CiAKLXZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1
c0V2ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4gb2xkRm9jdXNlZEVsZW1lbnQsIEZvY3VzRGlyZWN0
aW9uKQordm9pZCBFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYg
b2xkRm9jdXNlZEVsZW1lbnQsIEZvY3VzRGlyZWN0aW9uKQogewogICAgIGlmIChkb2N1bWVudCgp
LnBhZ2UoKSkKICAgICAgICAgZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmVs
ZW1lbnREaWRGb2N1cyh0aGlzKTsKIAotICAgIFJlZlB0cjxGb2N1c0V2ZW50PiBldmVudCA9IEZv
Y3VzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlLCBk
b2N1bWVudCgpLmRlZmF1bHRWaWV3KCksIDAsIG9sZEZvY3VzZWRFbGVtZW50KTsKLSAgICBFdmVu
dERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQodGhpcywgZXZlbnQucmVsZWFzZSgpKTsKKyAgICBF
dmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQodGhpcywgRm9jdXNFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5mb2N1c0V2ZW50LCBmYWxzZSwgZmFsc2UsIGRvY3VtZW50KCkuZGVmYXVsdFZp
ZXcoKSwgMCwgV1RGOjptb3ZlKG9sZEZvY3VzZWRFbGVtZW50KSkpOwogfQogCi12b2lkIEVsZW1l
bnQ6OmRpc3BhdGNoQmx1ckV2ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4gbmV3Rm9jdXNlZEVsZW1l
bnQpCit2b2lkIEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50KFJlZlB0cjxFbGVtZW50PiYmIG5l
d0ZvY3VzZWRFbGVtZW50KQogewogICAgIGlmIChkb2N1bWVudCgpLnBhZ2UoKSkKICAgICAgICAg
ZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmVsZW1lbnREaWRCbHVyKHRoaXMp
OwogCi0gICAgUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50ID0gRm9jdXNFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSwgZG9jdW1lbnQoKS5kZWZhdWx0Vmll
dygpLCAwLCBuZXdGb2N1c2VkRWxlbWVudCk7Ci0gICAgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRj
aEV2ZW50KHRoaXMsIGV2ZW50LnJlbGVhc2UoKSk7CisgICAgRXZlbnREaXNwYXRjaGVyOjpkaXNw
YXRjaEV2ZW50KHRoaXMsIEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYmx1ckV2ZW50
LCBmYWxzZSwgZmFsc2UsIGRvY3VtZW50KCkuZGVmYXVsdFZpZXcoKSwgMCwgV1RGOjptb3ZlKG5l
d0ZvY3VzZWRFbGVtZW50KSkpOwogfQogCiB2b2lkIEVsZW1lbnQ6Om1lcmdlV2l0aE5leHRUZXh0
Tm9kZShUZXh0JiBub2RlLCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4
IGFkNDYwNWIuLmRlNDUwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTMyLDEwICs1MzIsMTAg
QEAgcHVibGljOgogICAgIGJvb2wgZGlzcGF0Y2hXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYpOwogICAgIGJvb2wgZGlzcGF0Y2hLZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJv
YXJkRXZlbnQmKTsKICAgICB2b2lkIGRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soRXZlbnQqIHVuZGVy
bHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tNb3VzZUV2ZW50T3B0aW9ucyA9IFNlbmROb0V2ZW50
cywgU2ltdWxhdGVkQ2xpY2tWaXN1YWxPcHRpb25zID0gU2hvd1ByZXNzZWRMb29rKTsKLSAgICB2
b2lkIGRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQ
YXNzUmVmUHRyPEVsZW1lbnQ+IG9sZEZvY3VzZWRFbGVtZW50KTsKLSAgICB2b2lkIGRpc3BhdGNo
Rm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxF
bGVtZW50PiBuZXdGb2N1c2VkRWxlbWVudCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRm9j
dXNFdmVudChQYXNzUmVmUHRyPEVsZW1lbnQ+IG9sZEZvY3VzZWRFbGVtZW50LCBGb2N1c0RpcmVj
dGlvbik7Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50KFBhc3NSZWZQdHI8RWxl
bWVudD4gbmV3Rm9jdXNlZEVsZW1lbnQpOworICAgIHZvaWQgZGlzcGF0Y2hGb2N1c0luRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFbGVtZW50PiYmIG9sZEZvY3Vz
ZWRFbGVtZW50KTsKKyAgICB2b2lkIGRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEVsZW1lbnQ+JiYgbmV3Rm9jdXNlZEVsZW1lbnQpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvY3VzRXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYgb2xk
Rm9jdXNlZEVsZW1lbnQsIEZvY3VzRGlyZWN0aW9uKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hCbHVyRXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYgbmV3Rm9jdXNlZEVsZW1lbnQpOwogCiAgICAg
dmlydHVhbCBib29sIHdpbGxSZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVu
dC5jcHAKaW5kZXggZDFhYWExZS4uNGRkNzQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNw
cApAQCAtNDksOSArNDksOSBAQCBGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKIHsKIH0KIAotRm9j
dXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnVi
YmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQg
ZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQotICAgIDogVUlF
dmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKLSAgICAsIG1f
cmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQorRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFJl
ZlB0cjxBYnN0cmFjdFZpZXc+JiYgdmlldywgaW50IGRldGFpbCwgUmVmUHRyPEV2ZW50VGFyZ2V0
PiYmIHJlbGF0ZWRUYXJnZXQpCisgICAgOiBVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2Vs
YWJsZSwgV1RGOjptb3ZlKHZpZXcpLCBkZXRhaWwpCisgICAgLCBtX3JlbGF0ZWRUYXJnZXQoV1RG
Ojptb3ZlKHJlbGF0ZWRUYXJnZXQpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaAppbmRl
eCA3ZTg0ZGQ4Li5lODI1ODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNF
dmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmgKQEAgLTQ2LDkgKzQ2
LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGb2N1c0V2ZW50KTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8
QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiBy
ZWxhdGVkVGFyZ2V0KQorICAgIHN0YXRpYyBSZWY8Rm9jdXNFdmVudD4gY3JlYXRlKGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUmVmUHRy
PEFic3RyYWN0Vmlldz4mJiB2aWV3LCBpbnQgZGV0YWlsLCBSZWZQdHI8RXZlbnRUYXJnZXQ+JiYg
cmVsYXRlZFRhcmdldCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZvY3Vz
RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHJlbGF0ZWRU
YXJnZXQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRm9jdXNFdmVudCh0eXBlLCBj
YW5CdWJibGUsIGNhbmNlbGFibGUsIFdURjo6bW92ZSh2aWV3KSwgZGV0YWlsLCBXVEY6Om1vdmUo
cmVsYXRlZFRhcmdldCkpKTsKICAgICB9CiAKICAgICBzdGF0aWMgUmVmPEZvY3VzRXZlbnQ+IGNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEZvY3VzRXZlbnRJbml0JiBpbml0
aWFsaXplcikKQEAgLTU3LDEzICs1NywxMyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVh
bCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
cmVsYXRlZFRhcmdldC5nZXQoKTsgfQotICAgIHZvaWQgc2V0UmVsYXRlZFRhcmdldChQYXNzUmVm
UHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0
ZWRUYXJnZXQ7IH0KKyAgICB2b2lkIHNldFJlbGF0ZWRUYXJnZXQoUmVmUHRyPEV2ZW50VGFyZ2V0
PiYmIHJlbGF0ZWRUYXJnZXQpIHsgbV9yZWxhdGVkVGFyZ2V0ID0gV1RGOjptb3ZlKHJlbGF0ZWRU
YXJnZXQpOyB9CiAKICAgICB2aXJ0dWFsIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgRm9jdXNFdmVudCgpOwotICAgIEZvY3Vz
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCwgUGFzc1JlZlB0cjxFdmVudFRh
cmdldD4pOworICAgIEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNh
bkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBSZWZQdHI8QWJzdHJhY3RWaWV3PiYmLCBpbnQsIFJl
ZlB0cjxFdmVudFRhcmdldD4mJik7CiAgICAgRm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IEZvY3VzRXZlbnRJbml0Jik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1
c0V2ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAyMmMxNjM2Li5mZGQ4YzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTUwMCw5ICs1MDAs
OSBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlU2hhZG93
VHJlZUNvbnRhaW5zKGNvbnN0IE5vZGUmIG5vZAogICAgIHJldHVybiBtX3ZhbGlkYXRpb25NZXNz
YWdlICYmIG1fdmFsaWRhdGlvbk1lc3NhZ2UtPnNoYWRvd1RyZWVDb250YWlucyhub2RlKTsKIH0K
IAotdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChQYXNzUmVm
UHRyPEVsZW1lbnQ+IG5ld0ZvY3VzZWRFbGVtZW50KQordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50OjpkaXNwYXRjaEJsdXJFdmVudChSZWZQdHI8RWxlbWVudD4mJiBuZXdGb2N1c2VkRWxlbWVu
dCkKIHsKLSAgICBIVE1MRWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQobmV3Rm9jdXNlZEVsZW1l
bnQpOworICAgIEhUTUxFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChXVEY6Om1vdmUobmV3Rm9j
dXNlZEVsZW1lbnQpKTsKICAgICBoaWRlVmlzaWJsZVZhbGlkYXRpb25NZXNzYWdlKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggZWY2
MDQxNS4uN2IwMGQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoUGFzc1JlZlB0cjxFbGVtZW50PiBuZXdGb2N1c2VkRWxl
bWVudCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50KFJlZlB0
cjxFbGVtZW50PiYmIG5ld0ZvY3VzZWRFbGVtZW50KSBvdmVycmlkZTsKIAogICAgIC8vIFRoaXMg
bXVzdCBiZSBjYWxsZWQgYW55IHRpbWUgdGhlIHJlc3VsdCBvZiB3aWxsVmFsaWRhdGUoKSBoYXMg
Y2hhbmdlZC4KICAgICB2b2lkIHNldE5lZWRzV2lsbFZhbGlkYXRlQ2hlY2soKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggOGM1YzMzYS4uMmY1NTdjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTk0NSwyMyAr
OTQ1LDIzIEBAIGludCBIVE1MU2VsZWN0RWxlbWVudDo6bGlzdFRvT3B0aW9uSW5kZXgoaW50IGxp
c3RJbmRleCkgY29uc3QKICAgICByZXR1cm4gb3B0aW9uSW5kZXg7CiB9CiAKLXZvaWQgSFRNTFNl
bGVjdEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNFdmVudChQYXNzUmVmUHRyPEVsZW1lbnQ+IG9sZEZv
Y3VzZWRFbGVtZW50LCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCit2b2lkIEhUTUxTZWxlY3RF
bGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNlZEVs
ZW1lbnQsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKICAgICAvLyBTYXZlIHRoZSBzZWxl
Y3Rpb24gc28gaXQgY2FuIGJlIGNvbXBhcmVkIHRvIHRoZSBuZXcgc2VsZWN0aW9uIHdoZW4KICAg
ICAvLyBkaXNwYXRjaGluZyBjaGFuZ2UgZXZlbnRzIGR1cmluZyBibHVyIGV2ZW50IGRpc3BhdGNo
LgogICAgIGlmICh1c2VzTWVudUxpc3QoKSkKICAgICAgICAgc2F2ZUxhc3RTZWxlY3Rpb24oKTsK
LSAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpkaXNwYXRjaEZvY3VzRXZlbnQo
b2xkRm9jdXNlZEVsZW1lbnQsIGRpcmVjdGlvbik7CisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVu
dFdpdGhTdGF0ZTo6ZGlzcGF0Y2hGb2N1c0V2ZW50KFdURjo6bW92ZShvbGRGb2N1c2VkRWxlbWVu
dCksIGRpcmVjdGlvbik7CiB9CiAKLXZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmRpc3BhdGNoQmx1
ckV2ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4gbmV3Rm9jdXNlZEVsZW1lbnQpCit2b2lkIEhUTUxT
ZWxlY3RFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChSZWZQdHI8RWxlbWVudD4mJiBuZXdGb2N1
c2VkRWxlbWVudCkKIHsKICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gZmlyZSBjaGFuZ2UgZXZlbnRz
IGhlcmUgZm9yIG1lbnUgbGlzdHMsIGJlY2F1c2Ugd2UgZmlyZQogICAgIC8vIGNoYW5nZSBldmVu
dHMgZm9yIGxpc3QgYm94ZXMgd2hlbmV2ZXIgdGhlIHNlbGVjdGlvbiBjaGFuZ2UgaXMgYWN0dWFs
bHkgbWFkZS4KICAgICAvLyBUaGlzIG1hdGNoZXMgb3RoZXIgYnJvd3NlcnMnIGJlaGF2aW9yLgog
ICAgIGlmICh1c2VzTWVudUxpc3QoKSkKICAgICAgICAgZGlzcGF0Y2hDaGFuZ2VFdmVudEZvck1l
bnVMaXN0KCk7Ci0gICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGlzcGF0Y2hC
bHVyRXZlbnQobmV3Rm9jdXNlZEVsZW1lbnQpOworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGU6OmRpc3BhdGNoQmx1ckV2ZW50KFdURjo6bW92ZShuZXdGb2N1c2VkRWxlbWVudCkp
OwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpkZXNlbGVjdEl0ZW1zV2l0aG91dFZhbGlk
YXRpb24oSFRNTEVsZW1lbnQqIGV4Y2x1ZGVFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5oCmluZGV4IDRiMjViOTMuLjA3ZWZlOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKQEAgLTEyMiw4ICsxMjIsOCBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdCBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0IG92ZXJy
aWRlOwogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRm9jdXNFdmVudChQYXNzUmVmUHRyPEVs
ZW1lbnQ+IG9sZEZvY3VzZWRFbGVtZW50LCBGb2N1c0RpcmVjdGlvbikgb3ZlcnJpZGUgZmluYWw7
Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4g
bmV3Rm9jdXNlZEVsZW1lbnQpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaEZvY3VzRXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNlZEVsZW1lbnQsIEZvY3Vz
RGlyZWN0aW9uKSBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVy
RXZlbnQoUmVmUHRyPEVsZW1lbnQ+JiYgbmV3Rm9jdXNlZEVsZW1lbnQpIG92ZXJyaWRlIGZpbmFs
OwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggNGI2ZjdkMS4uY2YwNTAyMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAK
QEAgLTg3LDIwICs4NywyMCBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG8oQ29udAogICAgIHJldHVybiBJ
bnNlcnRpb25Eb25lOwogfQogCi12b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpkaXNw
YXRjaEZvY3VzRXZlbnQoUGFzc1JlZlB0cjxFbGVtZW50PiBvbGRGb2N1c2VkRWxlbWVudCwgRm9j
dXNEaXJlY3Rpb24gZGlyZWN0aW9uKQordm9pZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6
ZGlzcGF0Y2hGb2N1c0V2ZW50KFJlZlB0cjxFbGVtZW50PiYmIG9sZEZvY3VzZWRFbGVtZW50LCBG
b2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgaWYgKHN1cHBvcnRzUGxhY2Vob2xkZXIo
KSkKICAgICAgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KCk7CiAgICAgaGFuZGxlRm9j
dXNFdmVudChvbGRGb2N1c2VkRWxlbWVudC5nZXQoKSwgZGlyZWN0aW9uKTsKLSAgICBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpkaXNwYXRjaEZvY3VzRXZlbnQob2xkRm9jdXNlZEVs
ZW1lbnQsIGRpcmVjdGlvbik7CisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6
ZGlzcGF0Y2hGb2N1c0V2ZW50KFdURjo6bW92ZShvbGRGb2N1c2VkRWxlbWVudCksIGRpcmVjdGlv
bik7CiB9CiAKLXZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2
ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4gbmV3Rm9jdXNlZEVsZW1lbnQpCit2b2lkIEhUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChSZWZQdHI8RWxlbWVudD4mJiBu
ZXdGb2N1c2VkRWxlbWVudCkKIHsKICAgICBpZiAoc3VwcG9ydHNQbGFjZWhvbGRlcigpKQogICAg
ICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKTsKICAgICBoYW5kbGVCbHVyRXZlbnQo
KTsKLSAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpkaXNwYXRjaEJsdXJFdmVu
dChuZXdGb2N1c2VkRWxlbWVudCk7CisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0
ZTo6ZGlzcGF0Y2hCbHVyRXZlbnQoV1RGOjptb3ZlKG5ld0ZvY3VzZWRFbGVtZW50KSk7CiB9CiAK
IHZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEVkaXRJbm5lclRleHRWYWx1ZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgK
aW5kZXggYWY1ZmU3My4uMmNlYTFiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTI2LDggKzEyNiw4IEBAIHByaXZhdGU6CiAg
ICAgaW50IGNvbXB1dGVTZWxlY3Rpb25FbmQoKSBjb25zdDsKICAgICBUZXh0RmllbGRTZWxlY3Rp
b25EaXJlY3Rpb24gY29tcHV0ZVNlbGVjdGlvbkRpcmVjdGlvbigpIGNvbnN0OwogCi0gICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRm9jdXNFdmVudChQYXNzUmVmUHRyPEVsZW1lbnQ+IG9sZEZvY3Vz
ZWRFbGVtZW50LCBGb2N1c0RpcmVjdGlvbikgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoQmx1ckV2ZW50KFBhc3NSZWZQdHI8RWxlbWVudD4gbmV3Rm9jdXNlZEVsZW1l
bnQpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvY3VzRXZlbnQo
UmVmUHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNlZEVsZW1lbnQsIEZvY3VzRGlyZWN0aW9uKSBvdmVy
cmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoUmVmUHRyPEVs
ZW1lbnQ+JiYgbmV3Rm9jdXNlZEVsZW1lbnQpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwg
Ym9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIHVuc2lnbmVkIGluZGV4Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRleCBkYmM3OTNhLi4x
NDM2NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC0xMjcs
MTAgKzEyNywxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZGlzcGF0Y2hFdmVudHNPbldpbmRvd0Fu
ZEZvY3VzZWRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgYgogICAgIH0KIAogICAgIGlmICgh
Zm9jdXNlZCAmJiBkb2N1bWVudC0+Zm9jdXNlZEVsZW1lbnQoKSkKLSAgICAgICAgZG9jdW1lbnQt
PmZvY3VzZWRFbGVtZW50KCktPmRpc3BhdGNoQmx1ckV2ZW50KDApOworICAgICAgICBkb2N1bWVu
dC0+Zm9jdXNlZEVsZW1lbnQoKS0+ZGlzcGF0Y2hCbHVyRXZlbnQobnVsbHB0cik7CiAgICAgZG9j
dW1lbnQtPmRpc3BhdGNoV2luZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShmb2N1c2VkID8gZXZlbnRO
YW1lcygpLmZvY3VzRXZlbnQgOiBldmVudE5hbWVzKCkuYmx1ckV2ZW50LCBmYWxzZSwgZmFsc2Up
KTsKICAgICBpZiAoZm9jdXNlZCAmJiBkb2N1bWVudC0+Zm9jdXNlZEVsZW1lbnQoKSkKLSAgICAg
ICAgZG9jdW1lbnQtPmZvY3VzZWRFbGVtZW50KCktPmRpc3BhdGNoRm9jdXNFdmVudCgwLCBGb2N1
c0RpcmVjdGlvbk5vbmUpOworICAgICAgICBkb2N1bWVudC0+Zm9jdXNlZEVsZW1lbnQoKS0+ZGlz
cGF0Y2hGb2N1c0V2ZW50KG51bGxwdHIsIEZvY3VzRGlyZWN0aW9uTm9uZSk7CiB9CiAKIHN0YXRp
YyBpbmxpbmUgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKEVsZW1lbnQmIGVsZW1lbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>