<?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>190654</bug_id>
          
          <creation_ts>2018-10-16 16:57:03 -0700</creation_ts>
          <short_desc>Update more DOMWindow getters to return references instead of raw pointers</short_desc>
          <delta_ts>2018-10-17 11:12:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1469956</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-16 16:57:03 -0700</bug_when>
    <thetext>Update more DOMWindow getters to return references instead of raw pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470010</commentid>
    <comment_count>1</comment_count>
      <attachid>352539</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-16 19:33:11 -0700</bug_when>
    <thetext>Created attachment 352539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470203</commentid>
    <comment_count>2</comment_count>
      <attachid>352539</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-17 11:06:12 -0700</bug_when>
    <thetext>Comment on attachment 352539
Patch

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

&gt; Source/WebCore/dom/Document.cpp:2836
&gt; +    return &amp;window-&gt;location();

one liner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470208</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-17 11:11:24 -0700</bug_when>
    <thetext>Committed r237228: &lt;https://trac.webkit.org/changeset/237228&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470209</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-17 11:12:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/45344354&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352539</attachid>
            <date>2018-10-16 19:33:11 -0700</date>
            <delta_ts>2018-10-17 11:11:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190654-20181016193311.patch</filename>
            <type>text/plain</type>
            <size>22047</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBmNzVjY2U2ZDU0YTVm
NjM2NmFlZDU4N2NlNTU3OGVmNjE0NjJhNC4uMjhiYjBiNTM3Yzk4YzQ1MmQwMTJmNTczYjI0YmE0
NTA2MzFiMzlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE4LTEwLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIG1vcmUgRE9NV2lu
ZG93IGdldHRlcnMgdG8gcmV0dXJuIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiByYXcgcG9pbnRlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBt
b3JlIERPTVdpbmRvdyBnZXR0ZXJzIHRvIHJldHVybiByZWZlcmVuY2VzIGluc3RlYWQgb2YgcmF3
IHBvaW50ZXJzLCBzaW5jZSB0aGV5CisgICAgICAgIGNhbiBubyBsb25nZXIgcmV0dXJuIG51bGwg
YWZ0ZXIgcmVjZW50IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dh
bWVwYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5hdmlnYXRvckdhbWVwYWRGcm9t
RE9NV2luZG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6aGVhcFNuYXBzaG90KToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxvY2F0aW9u
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaXNwYXRjaFBvcHN0YXRlRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6
dGltZVN0YW1wRm9yQmluZGluZ3MgY29uc3QpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpsb2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6aGlzdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNyeXB0byBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxvY2F0aW9uYmFyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6bWVudWJhcik6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnBlcnNvbmFsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xs
YmFycyk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnN0YXR1c2Jhcik6CisgICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6OnRvb2xiYXIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjphcHBsaWNhdGlvbkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6bmF2
aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cGVyZm9ybWFuY2UgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpub3dUaW1lc3RhbXAgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpsb2NhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnZpc3VhbFZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6
c3R5bGVNZWRpYSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZUxheW91
dFZpZXdwb3J0KToKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SGlzdG9yeTo6c3RhdGVPYmplY3RBZGRlZCk6CisgICAgICAgICogcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6
Y3JlYXRlVGltZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVyZm9ybWFu
Y2VPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9k
ZWxWaWRlb0VsZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
bFZpZGVvRWxlbWVudDo6cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKToKKwogMjAxOC0xMC0xNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5j
ZSBzaG91bGQgbm90IGJlY29tZSBudWxsIGFmdGVyIHRoZSB3aW5kb3cgbG9zZXMgaXRzIGJyb3dz
aW5nIGNvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9H
YW1lcGFkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBh
ZE1hbmFnZXIuY3BwCmluZGV4IDNkMzBlYzdhNTlmMjQyYzQ1NmQ1NGM1NzllMmIxOTU5OTBmNDFh
NmUuLjlmNzI0OTY5NThlOGM5NzVmM2Q5NWM4MWVhMWFkYjY5YTA1YjAxMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRNYW5hZ2VyLmNwcApAQCAtNDMs
MTEgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgTmF2aWdhdG9yR2FtZXBh
ZCogbmF2aWdhdG9yR2FtZXBhZEZyb21ET01XaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiB7Ci0g
ICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IgPSB3aW5kb3ctPm5hdmlnYXRvcigpOwotICAgIGlmICgh
bmF2aWdhdG9yKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIHJldHVybiBOYXZpZ2F0
b3JHYW1lcGFkOjpmcm9tKG5hdmlnYXRvcik7CisgICAgcmV0dXJuIE5hdmlnYXRvckdhbWVwYWQ6
OmZyb20oJndpbmRvdy0+bmF2aWdhdG9yKCkpOwogfQogCiBHYW1lcGFkTWFuYWdlciYgR2FtZXBh
ZE1hbmFnZXI6OnNpbmdsZXRvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggZmZlZWJiMTYyZDNkYjQ0ZTYwN2VhNDNlZWU5ZTli
MTM1MzhhODYyOC4uMzNiODhjYTllYWE1NGRmNzFhMmMyZmI4ZjM1OGE5OTdjYWEwNzk3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApA
QCAtMzEyLDggKzMxMiw4IEBAIGJvb2wgSlNET01XaW5kb3c6OmRlbGV0ZVByb3BlcnR5QnlJbmRl
eChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQKIHZvaWQgSlNET01XaW5k
b3c6OmhlYXBTbmFwc2hvdChKU0NlbGwqIGNlbGwsIEhlYXBTbmFwc2hvdEJ1aWxkZXImIGJ1aWxk
ZXIpCiB7CiAgICAgSlNET01XaW5kb3cqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNET01XaW5kb3cq
PihjZWxsKTsKLSAgICBpZiAoYXV0byogbG9jYXRpb24gPSB0aGlzT2JqZWN0LT53cmFwcGVkKCku
bG9jYXRpb24oKSkKLSAgICAgICAgYnVpbGRlci5zZXRMYWJlbEZvckNlbGwoY2VsbCwgbG9jYXRp
b24tPmhyZWYoKSk7CisgICAgYXV0byYgbG9jYXRpb24gPSB0aGlzT2JqZWN0LT53cmFwcGVkKCku
bG9jYXRpb24oKTsKKyAgICBidWlsZGVyLnNldExhYmVsRm9yQ2VsbChjZWxsLCBsb2NhdGlvbi5o
cmVmKCkpOwogCiAgICAgQmFzZTo6aGVhcFNuYXBzaG90KGNlbGwsIGJ1aWxkZXIpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNTgyYzM5NDI3M2FhZTFhNDlkODZiMDVlMjJkZGFhZWM1
NjFlODNlNi4uN2VjZGIxMTNjOTQzOWRmNzVmYmI2MWY2ZWE3Y2I1MzA3OWJjYmNhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yODMzLDcgKzI4MzMsNyBAQCBMb2NhdGlvbiogRG9jdW1l
bnQ6OmxvY2F0aW9uKCkgY29uc3QKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKLSAgICByZXR1cm4gd2luZG93LT5sb2NhdGlvbigpOworICAgIHJldHVybiAmd2lu
ZG93LT5sb2NhdGlvbigpOwogfQogCiBIVE1MSGVhZEVsZW1lbnQqIERvY3VtZW50OjpoZWFkKCkK
QEAgLTYxMTEsNyArNjExMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVIYXNoY2hhbmdlRXZl
bnQoY29uc3QgU3RyaW5nJiBvbGRVUkwsIGNvbnN0IFN0cmluZyYgbmV3VVJMCiAKIHZvaWQgRG9j
dW1lbnQ6OmRpc3BhdGNoUG9wc3RhdGVFdmVudChSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiYmIHN0YXRlT2JqZWN0KQogewotICAgIGRpc3BhdGNoV2luZG93RXZlbnQoUG9wU3RhdGVFdmVu
dDo6Y3JlYXRlKFdURk1vdmUoc3RhdGVPYmplY3QpLCBtX2RvbVdpbmRvdyA/IG1fZG9tV2luZG93
LT5oaXN0b3J5KCkgOiBudWxscHRyKSk7CisgICAgZGlzcGF0Y2hXaW5kb3dFdmVudChQb3BTdGF0
ZUV2ZW50OjpjcmVhdGUoV1RGTW92ZShzdGF0ZU9iamVjdCksIG1fZG9tV2luZG93ID8gJm1fZG9t
V2luZG93LT5oaXN0b3J5KCkgOiBudWxscHRyKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZE1l
ZGlhQ2FuU3RhcnRMaXN0ZW5lcihNZWRpYUNhblN0YXJ0TGlzdGVuZXIqIGxpc3RlbmVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudC5jcHAKaW5kZXggMzM4OGQzNzZjYjlhNDdlZjRjNjRmODNhMTk4M2NlNDZjNDY4ZWNh
Zi4uNTMwNjJkZjFhYmE3YTI3NjJjNjQxMDE0Y2U1ZDYxZWM5YjQxZTE4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnQuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgRE9NSGlnaFJlc1RpbWVTdGFtcCBFdmVudDo6dGlt
ZVN0YW1wRm9yQmluZGluZ3MoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICBp
ZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpKQogICAgICAgICBwZXJmb3JtYW5jZSA9
ICZkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkucGVyZm9ybWFuY2UoKTsKICAg
ICBlbHNlIGlmIChhdXRvKiB3aW5kb3cgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuZG9t
V2luZG93KCkpCi0gICAgICAgIHBlcmZvcm1hbmNlID0gd2luZG93LT5wZXJmb3JtYW5jZSgpOwor
ICAgICAgICBwZXJmb3JtYW5jZSA9ICZ3aW5kb3ctPnBlcmZvcm1hbmNlKCk7CiAKICAgICBpZiAo
IXBlcmZvcm1hbmNlKQogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggZGExNzEwMmQ1YWJmM2Q1
NGMzNjIzZThkM2ZkY2QxZDYwNDVjY2RiYy4uZGEzNDE2ZTdkZDIwYWNhZDEzM2IzMWRlMmU0NWEx
OWViOTE2Y2M1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlci5jcHAKQEAgLTYyMyw4ICs2MjMsOCBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2VjdXJp
dHlDaAogICAgICAgICBpZiAob3B0aW9ucygpLmluaXRpYXRvckNvbnRleHQgPT0gSW5pdGlhdG9y
Q29udGV4dDo6V29ya2VyKQogICAgICAgICAgICAgZmluaXNoZWRUaW1pbmdGb3JXb3JrZXJMb2Fk
KHJlc291cmNlVGltaW5nKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoZG9jdW1l
bnQoKS5kb21XaW5kb3coKSAmJiBkb2N1bWVudCgpLmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgp
KQotICAgICAgICAgICAgICAgIGRvY3VtZW50KCkuZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkt
PmFkZFJlc291cmNlVGltaW5nKFdURk1vdmUocmVzb3VyY2VUaW1pbmcpKTsKKyAgICAgICAgICAg
IGlmIChhdXRvKiB3aW5kb3cgPSBkb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAgICAgICAg
ICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5hZGRSZXNvdXJjZVRpbWluZyhXVEZNb3ZlKHJlc291
cmNlVGltaW5nKSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmNwcAppbmRleCA2YTlhZThhNWM0MTI4
OTE0MDU0Y2Y3ZWRiNTFkY2NmY2YyN2I1OGNjLi5iOTI2MGYxNjA3Y2E4Zjc3YmVlNTBkYWRmY2E2
NDNjOGU4ZDQ3NjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VU
aW1pbmdJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uY3BwCkBAIC03NiwxNCArNzYsMTQgQEAgdm9pZCBSZXNvdXJjZVRp
bWluZ0luZm9ybWF0aW9uOjphZGRSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3Vy
Y2UsIERvY3UKICAgICB9CiAgICAgaWYgKCFpbml0aWF0b3JEb2N1bWVudCkKICAgICAgICAgcmV0
dXJuOwotICAgIGlmICghaW5pdGlhdG9yRG9jdW1lbnQtPmRvbVdpbmRvdygpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFpbml0aWF0b3JEb2N1bWVudC0+ZG9tV2luZG93KCktPnBlcmZvcm1h
bmNlKCkpCisKKyAgICBhdXRvKiBpbml0aWF0b3JXaW5kb3cgPSBpbml0aWF0b3JEb2N1bWVudC0+
ZG9tV2luZG93KCk7CisgICAgaWYgKCFpbml0aWF0b3JXaW5kb3cpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHJlc291cmNlVGltaW5nLm92ZXJyaWRlSW5pdGlhdG9yTmFtZShpbmZvLm5hbWUpOwog
Ci0gICAgaW5pdGlhdG9yRG9jdW1lbnQtPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRS
ZXNvdXJjZVRpbWluZyhXVEZNb3ZlKHJlc291cmNlVGltaW5nKSk7CisgICAgaW5pdGlhdG9yV2lu
ZG93LT5wZXJmb3JtYW5jZSgpLmFkZFJlc291cmNlVGltaW5nKFdURk1vdmUocmVzb3VyY2VUaW1p
bmcpKTsKIAogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAppbmRleCBlYzkyNmI3MDFhNDBmNGVjYzk3MTA0NTZiMGNjYWJlYTliNjkzMDI3Li43ZjNi
YWQ0MTVjYWQ2ODg0NDk0MTdiMDVkNzI1Yzg0NTQxODc3MjgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCkBAIC02MzUsNjcgKzYzNSw2NyBAQCBpbnQgRE9NV2luZG93OjpvcmllbnRhdGlv
bigpIGNvbnN0CiAKICNlbmRpZgogCi1TY3JlZW4qIERPTVdpbmRvdzo6c2NyZWVuKCkKK1NjcmVl
biYgRE9NV2luZG93OjpzY3JlZW4oKQogewogICAgIGlmICghbV9zY3JlZW4pCiAgICAgICAgIG1f
c2NyZWVuID0gU2NyZWVuOjpjcmVhdGUoKnRoaXMpOwotICAgIHJldHVybiBtX3NjcmVlbi5nZXQo
KTsKKyAgICByZXR1cm4gKm1fc2NyZWVuOwogfQogCi1IaXN0b3J5KiBET01XaW5kb3c6Omhpc3Rv
cnkoKQorSGlzdG9yeSYgRE9NV2luZG93OjpoaXN0b3J5KCkKIHsKICAgICBpZiAoIW1faGlzdG9y
eSkKICAgICAgICAgbV9oaXN0b3J5ID0gSGlzdG9yeTo6Y3JlYXRlKCp0aGlzKTsKLSAgICByZXR1
cm4gbV9oaXN0b3J5LmdldCgpOworICAgIHJldHVybiAqbV9oaXN0b3J5OwogfQogCi1DcnlwdG8q
IERPTVdpbmRvdzo6Y3J5cHRvKCkgY29uc3QKK0NyeXB0byYgRE9NV2luZG93OjpjcnlwdG8oKSBj
b25zdAogewogICAgIGlmICghbV9jcnlwdG8pCiAgICAgICAgIG1fY3J5cHRvID0gQ3J5cHRvOjpj
cmVhdGUoZG9jdW1lbnQoKSk7Ci0gICAgcmV0dXJuIG1fY3J5cHRvLmdldCgpOworICAgIHJldHVy
biAqbV9jcnlwdG87CiB9CiAKLUJhclByb3AqIERPTVdpbmRvdzo6bG9jYXRpb25iYXIoKQorQmFy
UHJvcCYgRE9NV2luZG93Ojpsb2NhdGlvbmJhcigpCiB7CiAgICAgaWYgKCFtX2xvY2F0aW9uYmFy
KQogICAgICAgICBtX2xvY2F0aW9uYmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9w
OjpMb2NhdGlvbmJhcik7Ci0gICAgcmV0dXJuIG1fbG9jYXRpb25iYXIuZ2V0KCk7CisgICAgcmV0
dXJuICptX2xvY2F0aW9uYmFyOwogfQogCi1CYXJQcm9wKiBET01XaW5kb3c6Om1lbnViYXIoKQor
QmFyUHJvcCYgRE9NV2luZG93OjptZW51YmFyKCkKIHsKICAgICBpZiAoIW1fbWVudWJhcikKICAg
ICAgICAgbV9tZW51YmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpNZW51YmFy
KTsKLSAgICByZXR1cm4gbV9tZW51YmFyLmdldCgpOworICAgIHJldHVybiAqbV9tZW51YmFyOwog
fQogCi1CYXJQcm9wKiBET01XaW5kb3c6OnBlcnNvbmFsYmFyKCkKK0JhclByb3AmIERPTVdpbmRv
dzo6cGVyc29uYWxiYXIoKQogewogICAgIGlmICghbV9wZXJzb25hbGJhcikKICAgICAgICAgbV9w
ZXJzb25hbGJhciA9IEJhclByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJvcDo6UGVyc29uYWxiYXIp
OwotICAgIHJldHVybiBtX3BlcnNvbmFsYmFyLmdldCgpOworICAgIHJldHVybiAqbV9wZXJzb25h
bGJhcjsKIH0KIAotQmFyUHJvcCogRE9NV2luZG93OjpzY3JvbGxiYXJzKCkKK0JhclByb3AmIERP
TVdpbmRvdzo6c2Nyb2xsYmFycygpCiB7CiAgICAgaWYgKCFtX3Njcm9sbGJhcnMpCiAgICAgICAg
IG1fc2Nyb2xsYmFycyA9IEJhclByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJvcDo6U2Nyb2xsYmFy
cyk7Ci0gICAgcmV0dXJuIG1fc2Nyb2xsYmFycy5nZXQoKTsKKyAgICByZXR1cm4gKm1fc2Nyb2xs
YmFyczsKIH0KIAotQmFyUHJvcCogRE9NV2luZG93OjpzdGF0dXNiYXIoKQorQmFyUHJvcCYgRE9N
V2luZG93OjpzdGF0dXNiYXIoKQogewogICAgIGlmICghbV9zdGF0dXNiYXIpCiAgICAgICAgIG1f
c3RhdHVzYmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpTdGF0dXNiYXIpOwot
ICAgIHJldHVybiBtX3N0YXR1c2Jhci5nZXQoKTsKKyAgICByZXR1cm4gKm1fc3RhdHVzYmFyOwog
fQogCi1CYXJQcm9wKiBET01XaW5kb3c6OnRvb2xiYXIoKQorQmFyUHJvcCYgRE9NV2luZG93Ojp0
b29sYmFyKCkKIHsKICAgICBpZiAoIW1fdG9vbGJhcikKICAgICAgICAgbV90b29sYmFyID0gQmFy
UHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpUb29sYmFyKTsKLSAgICByZXR1cm4gbV90b29s
YmFyLmdldCgpOworICAgIHJldHVybiAqbV90b29sYmFyOwogfQogCiBQYWdlQ29uc29sZUNsaWVu
dCogRE9NV2luZG93Ojpjb25zb2xlKCkgY29uc3QKQEAgLTcwNyw0NyArNzA3LDQ3IEBAIFBhZ2VD
b25zb2xlQ2xpZW50KiBET01XaW5kb3c6OmNvbnNvbGUoKSBjb25zdAogICAgIHJldHVybiBmcmFt
ZS0+cGFnZSgpID8gJmZyYW1lLT5wYWdlKCktPmNvbnNvbGUoKSA6IG51bGxwdHI7CiB9CiAKLURP
TUFwcGxpY2F0aW9uQ2FjaGUqIERPTVdpbmRvdzo6YXBwbGljYXRpb25DYWNoZSgpCitET01BcHBs
aWNhdGlvbkNhY2hlJiBET01XaW5kb3c6OmFwcGxpY2F0aW9uQ2FjaGUoKQogewogICAgIGlmICgh
bV9hcHBsaWNhdGlvbkNhY2hlKQogICAgICAgICBtX2FwcGxpY2F0aW9uQ2FjaGUgPSBET01BcHBs
aWNhdGlvbkNhY2hlOjpjcmVhdGUoKnRoaXMpOwotICAgIHJldHVybiBtX2FwcGxpY2F0aW9uQ2Fj
aGUuZ2V0KCk7CisgICAgcmV0dXJuICptX2FwcGxpY2F0aW9uQ2FjaGU7CiB9CiAKLU5hdmlnYXRv
ciogRE9NV2luZG93OjpuYXZpZ2F0b3IoKQorTmF2aWdhdG9yJiBET01XaW5kb3c6Om5hdmlnYXRv
cigpCiB7CiAgICAgaWYgKCFtX25hdmlnYXRvcikKICAgICAgICAgbV9uYXZpZ2F0b3IgPSBOYXZp
Z2F0b3I6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzKTsKIAotICAgIHJl
dHVybiBtX25hdmlnYXRvci5nZXQoKTsKKyAgICByZXR1cm4gKm1fbmF2aWdhdG9yOwogfQogCi1Q
ZXJmb3JtYW5jZSogRE9NV2luZG93OjpwZXJmb3JtYW5jZSgpIGNvbnN0CitQZXJmb3JtYW5jZSYg
RE9NV2luZG93OjpwZXJmb3JtYW5jZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3BlcmZvcm1hbmNl
KSB7CiAgICAgICAgIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiA9IGRvY3VtZW50KCkgJiYgZG9j
dW1lbnQoKS0+bG9hZGVyKCkgPyBkb2N1bWVudCgpLT5sb2FkZXIoKS0+dGltaW5nKCkucmVmZXJl
bmNlTW9ub3RvbmljVGltZSgpIDogTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fcGVy
Zm9ybWFuY2UgPSBQZXJmb3JtYW5jZTo6Y3JlYXRlKGRvY3VtZW50KCksIHRpbWVPcmlnaW4pOwog
ICAgIH0KLSAgICByZXR1cm4gbV9wZXJmb3JtYW5jZS5nZXQoKTsKKyAgICByZXR1cm4gKm1fcGVy
Zm9ybWFuY2U7CiB9CiAKIGRvdWJsZSBET01XaW5kb3c6Om5vd1RpbWVzdGFtcCgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIHBlcmZvcm1hbmNlKCkgPyBwZXJmb3JtYW5jZSgpLT5ub3coKSAvIDEwMDAg
OiAwOworICAgIHJldHVybiBwZXJmb3JtYW5jZSgpLm5vdygpIC8gMTAwMC47CiB9CiAKLUxvY2F0
aW9uKiBET01XaW5kb3c6OmxvY2F0aW9uKCkKK0xvY2F0aW9uJiBET01XaW5kb3c6OmxvY2F0aW9u
KCkKIHsKICAgICBpZiAoIW1fbG9jYXRpb24pCiAgICAgICAgIG1fbG9jYXRpb24gPSBMb2NhdGlv
bjo6Y3JlYXRlKCp0aGlzKTsKLSAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKKyAgICByZXR1
cm4gKm1fbG9jYXRpb247CiB9CiAKLVZpc3VhbFZpZXdwb3J0KiBET01XaW5kb3c6OnZpc3VhbFZp
ZXdwb3J0KCkKK1Zpc3VhbFZpZXdwb3J0JiBET01XaW5kb3c6OnZpc3VhbFZpZXdwb3J0KCkKIHsK
ICAgICBpZiAoIW1fdmlzdWFsVmlld3BvcnQpCiAgICAgICAgIG1fdmlzdWFsVmlld3BvcnQgPSBW
aXN1YWxWaWV3cG9ydDo6Y3JlYXRlKCp0aGlzKTsKLSAgICByZXR1cm4gbV92aXN1YWxWaWV3cG9y
dC5nZXQoKTsKKyAgICByZXR1cm4gKm1fdmlzdWFsVmlld3BvcnQ7CiB9CiAKICNpZiBFTkFCTEUo
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKQpAQCAtMTQzMywxMSArMTQzMywxMSBAQCBEb2N1bWVudCog
RE9NV2luZG93Ojpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50
PihDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
IH0KIAotUmVmUHRyPFN0eWxlTWVkaWE+IERPTVdpbmRvdzo6c3R5bGVNZWRpYSgpCitTdHlsZU1l
ZGlhJiBET01XaW5kb3c6OnN0eWxlTWVkaWEoKQogewogICAgIGlmICghbV9tZWRpYSkKICAgICAg
ICAgbV9tZWRpYSA9IFN0eWxlTWVkaWE6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgcmV0dXJuIG1fbWVk
aWE7CisgICAgcmV0dXJuICptX21lZGlhOwogfQogCiBSZWY8Q1NTU3R5bGVEZWNsYXJhdGlvbj4g
RE9NV2luZG93OjpnZXRDb21wdXRlZFN0eWxlKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmlu
ZyYgcHNldWRvRWx0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNjU4NzNhNDA2
YTUwOTc5NTVjZWNhMmY2Y2VmMTE4MGMxMjE1ZjNiZC4uZGE1OTI5ZTcyMjhhNTA0ODM4N2I4Mjk2
Njc0MjBhMWE3NWQ4MmUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0xMzEsMjAgKzEz
MSwyMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY2FuU2hvd01vZGFsRGlhbG9nKGNvbnN0
IEZyYW1lJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZShib29sKTsKIAotICAgIFNjcmVlbiogc2NyZWVuKCk7Ci0gICAgSGlzdG9yeSogaGlz
dG9yeSgpOwotICAgIENyeXB0byogY3J5cHRvKCkgY29uc3Q7Ci0gICAgQmFyUHJvcCogbG9jYXRp
b25iYXIoKTsKLSAgICBCYXJQcm9wKiBtZW51YmFyKCk7Ci0gICAgQmFyUHJvcCogcGVyc29uYWxi
YXIoKTsKLSAgICBCYXJQcm9wKiBzY3JvbGxiYXJzKCk7Ci0gICAgQmFyUHJvcCogc3RhdHVzYmFy
KCk7Ci0gICAgQmFyUHJvcCogdG9vbGJhcigpOwotICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7
CisgICAgU2NyZWVuJiBzY3JlZW4oKTsKKyAgICBIaXN0b3J5JiBoaXN0b3J5KCk7CisgICAgQ3J5
cHRvJiBjcnlwdG8oKSBjb25zdDsKKyAgICBCYXJQcm9wJiBsb2NhdGlvbmJhcigpOworICAgIEJh
clByb3AmIG1lbnViYXIoKTsKKyAgICBCYXJQcm9wJiBwZXJzb25hbGJhcigpOworICAgIEJhclBy
b3AmIHNjcm9sbGJhcnMoKTsKKyAgICBCYXJQcm9wJiBzdGF0dXNiYXIoKTsKKyAgICBCYXJQcm9w
JiB0b29sYmFyKCk7CisgICAgTmF2aWdhdG9yJiBuYXZpZ2F0b3IoKTsKICAgICBOYXZpZ2F0b3Iq
IG9wdGlvbmFsTmF2aWdhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7IH0K
LSAgICBOYXZpZ2F0b3IqIGNsaWVudEluZm9ybWF0aW9uKCkgeyByZXR1cm4gbmF2aWdhdG9yKCk7
IH0KKyAgICBOYXZpZ2F0b3ImIGNsaWVudEluZm9ybWF0aW9uKCkgeyByZXR1cm4gbmF2aWdhdG9y
KCk7IH0KIAotICAgIExvY2F0aW9uKiBsb2NhdGlvbigpOworICAgIExvY2F0aW9uJiBsb2NhdGlv
bigpOwogICAgIHZvaWQgc2V0TG9jYXRpb24oRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdp
bmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgbG9jYXRpb24sIFNldExvY2F0aW9uTG9j
a2luZyA9IExvY2tIaXN0b3J5QmFzZWRPbkdlc3R1cmVTdGF0ZSk7CiAKICAgICBET01TZWxlY3Rp
b24qIGdldFNlbGVjdGlvbigpOwpAQCAtMjA5LDcgKzIwOSw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IENTU09NIFZpZXcgTW9kdWxlCiAKLSAgICBSZWZQdHI8U3R5bGVNZWRpYT4gc3R5bGVNZWRpYSgp
OworICAgIFN0eWxlTWVkaWEmIHN0eWxlTWVkaWEoKTsKIAogICAgIC8vIERPTSBMZXZlbCAyIFN0
eWxlIEludGVyZmFjZQogCkBAIC0yNDUsNyArMjQ1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVz
aXplQnkoZmxvYXQgeCwgZmxvYXQgeSkgY29uc3Q7CiAgICAgdm9pZCByZXNpemVUbyhmbG9hdCB3
aWR0aCwgZmxvYXQgaGVpZ2h0KSBjb25zdDsKIAotICAgIFZpc3VhbFZpZXdwb3J0KiB2aXN1YWxW
aWV3cG9ydCgpOworICAgIFZpc3VhbFZpZXdwb3J0JiB2aXN1YWxWaWV3cG9ydCgpOwogCiAgICAg
Ly8gVGltZXJzCiAgICAgRXhjZXB0aW9uT3I8aW50PiBzZXRUaW1lb3V0KEpTQzo6RXhlY1N0YXRl
Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0LCBWZWN0b3I8
SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPj4mJiBhcmd1bWVudHMpOwpAQCAtMjg2LDcgKzI4Niw3
IEBAIHB1YmxpYzoKICAgICBTdG9yYWdlKiBvcHRpb25hbFNlc3Npb25TdG9yYWdlKCkgY29uc3Qg
eyByZXR1cm4gbV9zZXNzaW9uU3RvcmFnZS5nZXQoKTsgfQogICAgIFN0b3JhZ2UqIG9wdGlvbmFs
TG9jYWxTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbFN0b3JhZ2UuZ2V0KCk7IH0KIAot
ICAgIERPTUFwcGxpY2F0aW9uQ2FjaGUqIGFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICBET01BcHBs
aWNhdGlvbkNhY2hlJiBhcHBsaWNhdGlvbkNhY2hlKCk7CiAgICAgRE9NQXBwbGljYXRpb25DYWNo
ZSogb3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlv
bkNhY2hlLmdldCgpOyB9CiAKICAgICBDdXN0b21FbGVtZW50UmVnaXN0cnkqIGN1c3RvbUVsZW1l
bnRSZWdpc3RyeSgpIHsgcmV0dXJuIG1fY3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmdldCgpOyB9CkBA
IC0zMDIsNyArMzAyLDcgQEAgcHVibGljOgogICAgIGludCBvcmllbnRhdGlvbigpIGNvbnN0Owog
I2VuZGlmCiAKLSAgICBQZXJmb3JtYW5jZSogcGVyZm9ybWFuY2UoKSBjb25zdDsKKyAgICBQZXJm
b3JtYW5jZSYgcGVyZm9ybWFuY2UoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBkb3VibGUg
bm93VGltZXN0YW1wKCkgY29uc3Q7CiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKaW5kZXggMDc0YjkzODhjZmZjMThhYjI3NDMxNmM2ODNhNmI4MDlmOTdlYmMz
Mi4uMGE5N2Y3MDEzM2NjMjcwYTAxYmQyZDYzNWI3YjgyZmM2NWUxYjNkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcApAQCAtMTcxMCwxMCArMTcxMCw4IEBAIHZvaWQgRnJhbWVWaWV3Ojp1
cGRhdGVMYXlvdXRWaWV3cG9ydCgpCiAgICAgICAgICAgICBzZXRMYXlvdXRWaWV3cG9ydE92ZXJy
aWRlUmVjdChMYXlvdXRSZWN0KG5ld09yaWdpbiwgbV9sYXlvdXRWaWV3cG9ydE92ZXJyaWRlUmVj
dC52YWx1ZSgpLnNpemUoKSkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChmcmFtZSgpLnNldHRp
bmdzKCkudmlzdWFsVmlld3BvcnRBUElFbmFibGVkKCkpIHsKLSAgICAgICAgICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoVmlzdWFsVmlld3BvcnQqIHZpc3VhbFZpZXdwb3J0ID0gZG9jdW1lbnQtPmRvbVdpbmRvdygp
LT52aXN1YWxWaWV3cG9ydCgpKQotICAgICAgICAgICAgICAgICAgICB2aXN1YWxWaWV3cG9ydC0+
dXBkYXRlKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYXV0byogd2luZG93ID0g
ZnJhbWUoKS53aW5kb3coKSkKKyAgICAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0
KCkudXBkYXRlKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE3MjQs
MTAgKzE3MjIsOCBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlTGF5b3V0Vmlld3BvcnQoKQogICAg
ICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgImxheW91dFZpZXdwb3J0
IGNoYW5nZWQgdG8gIiA8PCBsYXlvdXRWaWV3cG9ydFJlY3QoKSk7CiAgICAgfQogICAgIGlmIChm
cmFtZSgpLnNldHRpbmdzKCkudmlzdWFsVmlld3BvcnRBUElFbmFibGVkKCkpIHsKLSAgICAgICAg
aWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkgewotICAgICAgICAg
ICAgaWYgKFZpc3VhbFZpZXdwb3J0KiB2aXN1YWxWaWV3cG9ydCA9IGRvY3VtZW50LT5kb21XaW5k
b3coKS0+dmlzdWFsVmlld3BvcnQoKSkKLSAgICAgICAgICAgICAgICB2aXN1YWxWaWV3cG9ydC0+
dXBkYXRlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGZyYW1lKCku
d2luZG93KCkpCisgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0KCkudXBkYXRlKCk7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmNwcAppbmRleCA3ZDgwYzFmM2E4MzhkOGQy
OWRiMTZiNWFlYjcwMTVlOWVhNDg0ZGQ4Li5mZDE5MjFkMjM3NGU5MzFiODVhOTE3MjVkMDNiNjJj
MzQ1NTRkNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAKQEAgLTIwOCwyMyArMjA4LDE5IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEhpc3Rvcnk6OnN0YXRlT2JqZWN0QWRkZWQoUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhCiAgICAgaWYgKCFhbGxvd1NhbmRib3hFeGNlcHRpb24g
JiYgIWRvY3VtZW50U2VjdXJpdHlPcmlnaW4uY2FuUmVxdWVzdChmdWxsVVJMKSAmJiAoZnVsbFVS
TC5wYXRoKCkgIT0gZG9jdW1lbnRVUkwucGF0aCgpIHx8IGZ1bGxVUkwucXVlcnkoKSAhPSBkb2N1
bWVudFVSTC5xdWVyeSgpKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZUJsb2NrZWRVUkxTZWN1cml0
eUVycm9yV2l0aE1lc3NhZ2VTdWZmaXgoIlBhdGhzIGFuZCBmcmFnbWVudHMgbXVzdCBtYXRjaCBm
b3IgYSBzYW5kYm94ZWQgZG9jdW1lbnQuIik7CiAKLSAgICBEb2N1bWVudCogbWFpbkRvY3VtZW50
ID0gZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKLSAgICBIaXN0b3J5KiBt
YWluSGlzdG9yeSA9IG51bGxwdHI7Ci0gICAgaWYgKG1haW5Eb2N1bWVudCkgewotICAgICAgICBp
ZiAoYXV0byogbWFpbkRPTVdpbmRvdyA9IG1haW5Eb2N1bWVudC0+ZG9tV2luZG93KCkpCi0gICAg
ICAgICAgICBtYWluSGlzdG9yeSA9IG1haW5ET01XaW5kb3ctPmhpc3RvcnkoKTsKLSAgICB9Ci0K
LSAgICBpZiAoIW1haW5IaXN0b3J5KQorICAgIGF1dG8qIG1haW5XaW5kb3cgPSBmcmFtZS0+cGFn
ZSgpLT5tYWluRnJhbWUoKS53aW5kb3coKTsKKyAgICBpZiAoIW1haW5XaW5kb3cpCiAgICAgICAg
IHJldHVybiB7IH07CiAKKyAgICBhdXRvJiBtYWluSGlzdG9yeSA9IG1haW5XaW5kb3ctPmhpc3Rv
cnkoKTsKKwogICAgIFdhbGxUaW1lIGN1cnJlbnRUaW1lc3RhbXAgPSBXYWxsVGltZTo6bm93KCk7
Ci0gICAgaWYgKGN1cnJlbnRUaW1lc3RhbXAgLSBtYWluSGlzdG9yeS0+bV9jdXJyZW50U3RhdGVP
YmplY3RUaW1lU3BhblN0YXJ0ID4gc3RhdGVPYmplY3RUaW1lU3BhbikgewotICAgICAgICBtYWlu
SGlzdG9yeS0+bV9jdXJyZW50U3RhdGVPYmplY3RUaW1lU3BhblN0YXJ0ID0gY3VycmVudFRpbWVz
dGFtcDsKLSAgICAgICAgbWFpbkhpc3RvcnktPm1fY3VycmVudFN0YXRlT2JqZWN0VGltZVNwYW5P
YmplY3RzQWRkZWQgPSAwOworICAgIGlmIChjdXJyZW50VGltZXN0YW1wIC0gbWFpbkhpc3Rvcnku
bV9jdXJyZW50U3RhdGVPYmplY3RUaW1lU3BhblN0YXJ0ID4gc3RhdGVPYmplY3RUaW1lU3Bhbikg
eworICAgICAgICBtYWluSGlzdG9yeS5tX2N1cnJlbnRTdGF0ZU9iamVjdFRpbWVTcGFuU3RhcnQg
PSBjdXJyZW50VGltZXN0YW1wOworICAgICAgICBtYWluSGlzdG9yeS5tX2N1cnJlbnRTdGF0ZU9i
amVjdFRpbWVTcGFuT2JqZWN0c0FkZGVkID0gMDsKICAgICB9CiAgICAgCi0gICAgaWYgKG1haW5I
aXN0b3J5LT5tX2N1cnJlbnRTdGF0ZU9iamVjdFRpbWVTcGFuT2JqZWN0c0FkZGVkID49IHBlclN0
YXRlT2JqZWN0VGltZVNwYW5MaW1pdCkgeworICAgIGlmIChtYWluSGlzdG9yeS5tX2N1cnJlbnRT
dGF0ZU9iamVjdFRpbWVTcGFuT2JqZWN0c0FkZGVkID49IHBlclN0YXRlT2JqZWN0VGltZVNwYW5M
aW1pdCkgewogICAgICAgICBpZiAoc3RhdGVPYmplY3RUeXBlID09IFN0YXRlT2JqZWN0VHlwZTo6
UmVwbGFjZSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTZWN1cml0eUVycm9yLCBT
dHJpbmc6OmZvcm1hdCgiQXR0ZW1wdCB0byB1c2UgaGlzdG9yeS5yZXBsYWNlU3RhdGUoKSBtb3Jl
IHRoYW4gJXUgdGltZXMgcGVyICVmIHNlY29uZHMiLCBwZXJTdGF0ZU9iamVjdFRpbWVTcGFuTGlt
aXQsIHN0YXRlT2JqZWN0VGltZVNwYW4uc2Vjb25kcygpKSB9OwogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgU2VjdXJpdHlFcnJvciwgU3RyaW5nOjpmb3JtYXQoIkF0dGVtcHQgdG8gdXNlIGhp
c3RvcnkucHVzaFN0YXRlKCkgbW9yZSB0aGFuICV1IHRpbWVzIHBlciAlZiBzZWNvbmRzIiwgcGVy
U3RhdGVPYmplY3RUaW1lU3BhbkxpbWl0LCBzdGF0ZU9iamVjdFRpbWVTcGFuLnNlY29uZHMoKSkg
fTsKQEAgLTI0MCw3ICsyMzYsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIaXN0b3J5OjpzdGF0ZU9i
amVjdEFkZGVkKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgZGF0YQogICAgIHBheWxv
YWRTaXplICs9IHVybFNpemU7CiAgICAgcGF5bG9hZFNpemUgKz0gZGF0YSA/IGRhdGEtPmRhdGEo
KS5zaXplKCkgOiAwOwogCi0gICAgQ2hlY2tlZDx1aW50NjRfdD4gbmV3VG90YWxVc2FnZSA9IG1h
aW5IaXN0b3J5LT5tX3RvdGFsU3RhdGVPYmplY3RVc2FnZTsKKyAgICBDaGVja2VkPHVpbnQ2NF90
PiBuZXdUb3RhbFVzYWdlID0gbWFpbkhpc3RvcnkubV90b3RhbFN0YXRlT2JqZWN0VXNhZ2U7CiAK
ICAgICBpZiAoc3RhdGVPYmplY3RUeXBlID09IFN0YXRlT2JqZWN0VHlwZTo6UmVwbGFjZSkKICAg
ICAgICAgbmV3VG90YWxVc2FnZSAtPSBtX21vc3RSZWNlbnRTdGF0ZU9iamVjdFVzYWdlOwpAQCAt
MjU0LDggKzI1MCw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhpc3Rvcnk6OnN0YXRlT2JqZWN0QWRk
ZWQoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhCiAKICAgICBtX21vc3RSZWNl
bnRTdGF0ZU9iamVjdFVzYWdlID0gcGF5bG9hZFNpemUudW5zYWZlR2V0KCk7CiAKLSAgICBtYWlu
SGlzdG9yeS0+bV90b3RhbFN0YXRlT2JqZWN0VXNhZ2UgPSBuZXdUb3RhbFVzYWdlLnVuc2FmZUdl
dCgpOwotICAgICsrbWFpbkhpc3RvcnktPm1fY3VycmVudFN0YXRlT2JqZWN0VGltZVNwYW5PYmpl
Y3RzQWRkZWQ7CisgICAgbWFpbkhpc3RvcnkubV90b3RhbFN0YXRlT2JqZWN0VXNhZ2UgPSBuZXdU
b3RhbFVzYWdlLnVuc2FmZUdldCgpOworICAgICsrbWFpbkhpc3RvcnkubV9jdXJyZW50U3RhdGVP
YmplY3RUaW1lU3Bhbk9iamVjdHNBZGRlZDsKIAogICAgIGlmICghdXJsU3RyaW5nLmlzRW1wdHko
KSkKICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVVSTEZvclB1c2hPclJlcGxhY2VT
dGF0ZShmdWxsVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZl
ci5jcHAKaW5kZXggNzk3ZWE0N2JlMTQ1YzJjM2U5NzcxMTY3YWZhN2NlY2FlMjQ1OGYwYi4uNDE4
YTg5N2EwNWY1Y2Q3YWRhMzU3YTQ0MmViMzBmYzllZmVmOWUwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKQEAgLTIzNiwxMCArMjM2LDggQEAgYm9v
bCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlVGltZXN0YW1wKERPTUhpZ2hSZXNUaW1lU3Rh
bXAmIHRpbWVzdGFtcCkgY29uc3QKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsK
ICAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PigqY29udGV4dCk7CiAgICAg
aWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LmRvbVdpbmRvdygpKSB7Ci0gICAgICAgIGlmIChh
dXRvKiBwZXJmb3JtYW5jZSA9IHdpbmRvdy0+cGVyZm9ybWFuY2UoKSkgewotICAgICAgICAgICAg
dGltZXN0YW1wID0gcGVyZm9ybWFuY2UtPm5vdygpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIH0KKyAgICAgICAgdGltZXN0YW1wID0gIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5u
b3coKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDg0OTY0
MWM2MGZlOTZiMzAxNDgxODMyOWJhYjA2MWI1ZTk0MDVjY2MuLjExZTU5NDk0MDc2NGQwYjJjMzVi
YWRhM2MwZjkyZjMxNDc4YWUxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBQZXJmb3JtYW5jZU9ic2VydmVyOjpQZXJm
b3JtYW5jZU9ic2VydmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbgog
ICAgIGlmIChpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKICAgICAgICAg
YXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk7CiAgICAgICAgIGlmIChET01XaW5kb3cqIHdpbmRvdyA9IGRvY3VtZW50LmRvbVdpbmRvdygp
KQotICAgICAgICAgICAgbV9wZXJmb3JtYW5jZSA9IHdpbmRvdy0+cGVyZm9ybWFuY2UoKTsKKyAg
ICAgICAgICAgIG1fcGVyZm9ybWFuY2UgPSAmd2luZG93LT5wZXJmb3JtYW5jZSgpOwogICAgIH0g
ZWxzZSBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7
CiAgICAgICAgIGF1dG8mIHdvcmtlckdsb2JhbFNjb3BlID0gZG93bmNhc3Q8V29ya2VyR2xvYmFs
U2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogICAgICAgICBtX3BlcmZvcm1hbmNlID0g
Jndvcmtlckdsb2JhbFNjb3BlLnBlcmZvcm1hbmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9F
bGVtZW50Lm1tCmluZGV4IGRlMDkyYTYwMjAyYTZlNGJjOTU0YjNkZTdiY2VkZTkwNzZmYjJlNWIu
LjAzMjYyMDQ0YzNiZjA4ZTdmNDJiZmVkZGVhNWFlNjY0MWUxMWU0M2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVt
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVl
bk1vZGVsVmlkZW9FbGVtZW50Lm1tCkBAIC0xNTAsMTAgKzE1MCw4IEBAIHZvaWQgVmlkZW9GdWxs
c2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQ6OnJlcXVlc3RGdWxsc2NyZWVuTW9kZShIVE1MTWVkaWFF
bGVtZW50RW51CiAKICAgICBpZiAobV92aWRlb0VsZW1lbnQgJiYgZmluaXNoZWRXaXRoTWVkaWEg
JiYgbW9kZSA9PSBNZWRpYVBsYXllckVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSkgewog
ICAgICAgICBpZiAobV92aWRlb0VsZW1lbnQtPmRvY3VtZW50KCkuaXNNZWRpYURvY3VtZW50KCkp
IHsKLSAgICAgICAgICAgIGlmIChET01XaW5kb3cqIHdpbmRvdyA9IG1fdmlkZW9FbGVtZW50LT5k
b2N1bWVudCgpLmRvbVdpbmRvdygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKEhpc3RvcnkqIGhp
c3RvcnkgPSB3aW5kb3ctPmhpc3RvcnkoKSkKLSAgICAgICAgICAgICAgICAgICAgaGlzdG9yeS0+
YmFjaygpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGF1dG8qIHdpbmRvdyA9IG1f
dmlkZW9FbGVtZW50LT5kb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAgICAgICAgICAgIHdp
bmRvdy0+aGlzdG9yeSgpLmJhY2soKTsKICAgICAgICAgfQogICAgIH0KIH0K
</data>
<flag name="review"
          id="369821"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>