<?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>139090</bug_id>
          
          <creation_ts>2014-11-28 05:47:06 -0800</creation_ts>
          <short_desc>[GTK] Add API to handle beforeunload events</short_desc>
          <delta_ts>2015-12-09 05:33:21 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>lantw44</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1051241</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-28 05:47:06 -0800</bug_when>
    <thetext>beforeunload is fired when a page is about to be closed, to ask the user for confirmation. This happens when reloading a page, when navigation to another page or when the page is closed by a user action (a tab or window closed). In the first two cases, the event is automatically fired by WebCore, but in the case of a user action we need additional API to ensure the event is fired before the page is closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051242</commentid>
    <comment_count>1</comment_count>
      <attachid>242264</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-28 05:59:57 -0800</bug_when>
    <thetext>Created attachment 242264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059854</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-01-08 09:56:47 -0800</bug_when>
    <thetext>Don&apos;t forget to set mnemonics on the buttons: &quot;_Stay on Page&quot; and &quot;_Leave Page&quot; seem good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137479</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-10-29 01:51:16 -0700</bug_when>
    <thetext>Ping reviewers. I know this is a so annoying web feature, we can add a setting and disable it by default, so that apps need to explicitly enable it if they really want to irritate their users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137505</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-10-29 05:06:17 -0700</bug_when>
    <thetext>I think, based on the complaints I&apos;ve heard from users, we should just have it enabled by default. I don&apos;t think many sites take advantage of this to create unnecessary &quot;are you sure you want to leave&quot; messages nowadays, except when the departure would cause some form of data loss (e.g. imgur uploads), and the proper solution to that is to add a &quot;prevent this site from showing additional dialogs&quot; button, anyway.

Anyway, I don&apos;t see anything to improve about the patch. I suspect that apps are not going to use the try_close() API and will wind up not executing the handlers even if they want to, but that&apos;s a consequence of the existing API....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137506</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-10-29 05:07:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think, based on the complaints I&apos;ve heard from users, we should just have
&gt; it enabled by default.

Anyway that doesn&apos;t matter for this bug, since you are just adding try_close(); we&apos;ll decide how to use it in Epiphany.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147671</commentid>
    <comment_count>6</comment_count>
      <attachid>242264</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2015-12-09 03:14:35 -0800</bug_when>
    <thetext>Comment on attachment 242264
Patch

LGTM, pretty straight-forward</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147733</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-12-09 05:33:21 -0800</bug_when>
    <thetext>Committed r193826: &lt;http://trac.webkit.org/changeset/193826&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242264</attachid>
            <date>2014-11-28 05:59:57 -0800</date>
            <delta_ts>2015-12-09 03:14:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-onbeforeunload.diff</filename>
            <type>text/plain</type>
            <size>23453</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4YzQwYTFlLi5lMDY5MDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTQtMTEtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gaGFuZGxlIGJlZm9yZXVubG9hZCBldmVudHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTA5MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGJlZm9yZXVu
bG9hZCBpcyBmaXJlZCB3aGVuIGEgcGFnZSBpcyBhYm91dCB0byBiZSBjbG9zZWQsIHRvIGFzawor
ICAgICAgICB0aGUgdXNlciBmb3IgY29uZmlybWF0aW9uLiBUaGlzIGhhcHBlbnMgd2hlbiByZWxv
YWRpbmcgYSBwYWdlLAorICAgICAgICB3aGVuIG5hdmlnYXRpb24gdG8gYW5vdGhlciBwYWdlIG9y
IHdoZW4gdGhlIHBhZ2UgaXMgY2xvc2VkIGJ5IGEKKyAgICAgICAgdXNlciBhY3Rpb24gKGEgdGFi
IG9yIHdpbmRvdyBjbG9zZWQpLiBJbiB0aGUgZmlyc3QgdHdvIGNhc2VzLCB0aGUKKyAgICAgICAg
ZXZlbnQgaXMgYXV0b21hdGljYWxseSBmaXJlZCBieSBXZWJDb3JlLCBidXQgaW4gdGhlIGNhc2Ug
b2YgYSB1c2VyCisgICAgICAgIGFjdGlvbiB3ZSBuZWVkIGFkZGl0aW9uYWwgQVBJIHRvIGVuc3Vy
ZSB0aGUgZXZlbnQgaXMgZmlyZWQgYmVmb3JlCisgICAgICAgIHRoZSBwYWdlIGlzIGNsb3NlZC4g
QSBuZXcgc2NyaXB0IGRpYWxvZyB0eXBlIGhhcyBiZWVuIGFkZGVkIHRvCisgICAgICAgIGhhbmRs
ZSBiZWZvcmV1bmxvYWQgZXZlbnRzIGFuZCB3ZWJraXRfd2ViX3ZpZXdfdHJ5X2Nsb3NlKCkgdG8K
KyAgICAgICAgYWxsb3cgYXBwbGljYXRpb25zIHRvIHRyeSB0byBjbG9zZSB0aGUgcGFnZS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZy5jcHA6CisgICAg
ICAgICh3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25maXJtZWQpOiBCZWZvcmVV
bmxvYWRDb25maXJtCisgICAgICAgIGRpYWxvZ3MgY2FuIGFsc28gYmUgY29uZmlybWVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZy5oOiBBZGQKKyAgICAg
ICAgV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNIHNjcmlwdCBkaWFs
b2cgdHlwZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHA6
IEltcGxlbWVudAorICAgICAgICBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBhbmQg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3Q3JlYXRlSmF2YVNj
cmlwdERpYWxvZyk6IEFkZCBzZWNvbmRhcnlUZXh0IG9wdGlvbmFsCisgICAgICAgIHBhcmFtZXRl
ciBmb3IgQmVmb3JlVW5sb2FkQ29uZmlybSBkaWFsb2dzLiBEbyBub3Qgc2V0IHRoZSBkZWZhdWx0
CisgICAgICAgIHJlc3BvbnNlIGlmIHRoZSBkaWFsb2cgd2FzIGNyZWF0ZWQgd2l0aG91dCBidXR0
b25zLgorICAgICAgICAod2Via2l0V2ViVmlld1NjcmlwdERpYWxvZyk6IEhhbmRsZQorICAgICAg
ICBXRUJLSVRfU0NSSVBUX0RJQUxPR19CRUZPUkVfVU5MT0FEX0NPTkZJUk0gc2NyaXB0IGRpYWxv
ZyB0eXBlIHRvCisgICAgICAgIGNyZWF0ZSBhIG1lc3NhZ2UgZGlhbG9nIGZvciBiZWZvcmV1bmxv
cyBldmVudHMuCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IFVwZGF0ZSBk
b2N1bWVudGF0aW9uIG9mCisgICAgICAgIFdlYktpdFdlYlZpZXc6OmNsb3NlIGFuZCBXZWJLaXRX
ZWJWaWV3OjpzY3JpcHQtZGlhbG9nLgorICAgICAgICAod2Via2l0V2ViVmlld1J1bkphdmFTY3Jp
cHRCZWZvcmVVbmxvYWRDb25maXJtKTogRW1pdCBXZWJLaXRXZWJWaWV3OjpzY3JpcHQtZGlhbG9n
LgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3RyeV9jbG9zZSk6IFRyeSB0byBjbG9zZSB0aGUg
cGFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OiBBZGQgbmV3
IHN5bWJvbC4KKwogMjAxNC0xMS0yNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAbmF2ZXJjb3Jw
LmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgRV9EYnVzIGRlcGVuZGVuY3kKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2cu
Y3BwCmluZGV4IDg2MzY2NWQuLjlhMjdiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nLmNwcApAQCAtNzIsMTcgKzcy
LDE3IEBAIGNvbnN0IGNoYXIqIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9tZXNzYWdlKFdlYktp
dFNjcmlwdERpYWxvZyogZGlhbG9nKQogICogQGRpYWxvZzogYSAjV2ViS2l0U2NyaXB0RGlhbG9n
CiAgKiBAY29uZmlybWVkOiB3aGV0aGVyIHVzZXIgY29uZmlybWVkIHRoZSBkaWFsb2cKICAqCi0g
KiBUaGlzIG1ldGhvZCBpcyB1c2VkIGZvciAlV0VCS0lUX1NDUklQVF9ESUFMT0dfQ09ORklSTSBk
aWFsb2dzIHdoZW4KKyAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgZm9yICVXRUJLSVRfU0NSSVBUX0RJ
QUxPR19DT05GSVJNIGFuZCAlV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05G
SVJNIGRpYWxvZ3Mgd2hlbgogICogI1dlYktpdFdlYlZpZXc6OnNjcmlwdC1kaWFsb2cgc2lnbmFs
IGlzIGVtaXR0ZWQgdG8gc2V0IHdoZXRoZXIgdGhlIHVzZXIKICAqIGNvbmZpcm1lZCB0aGUgZGlh
bG9nIG9yIG5vdC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgI1dlYktpdFdlYlZpZXc6
OnNjcmlwdC1kaWFsb2cKLSAqIHNpZ25hbCBzZXRzICVUUlVFIHdoZW4gdGhlIE9LIGJ1dHRvbiBp
cyBjbGlja2VkIGFuZCAlRkFMU0Ugb3RoZXJ3aXNlLgorICogc2lnbmFsIHNldHMgJVRSVUUgd2hl
biB0aGUgT0sgb3IgU3RheSBidXR0b25zIGFyZSBjbGlja2VkIGFuZCAlRkFMU0Ugb3RoZXJ3aXNl
LgogICogSXQncyBhbiBlcnJvciB0byB1c2UgdGhpcyBtZXRob2Qgd2l0aCBhICNXZWJLaXRTY3Jp
cHREaWFsb2cgdGhhdCBpcyBub3Qgb2YgdHlwZQotICogJVdFQktJVF9TQ1JJUFRfRElBTE9HX0NP
TkZJUk0uCisgKiAlV0VCS0lUX1NDUklQVF9ESUFMT0dfQ09ORklSTSBvciAlV0VCS0lUX1NDUklQ
VF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNCiAgKi8KIHZvaWQgd2Via2l0X3NjcmlwdF9k
aWFsb2dfY29uZmlybV9zZXRfY29uZmlybWVkKFdlYktpdFNjcmlwdERpYWxvZyogZGlhbG9nLCBn
Ym9vbGVhbiBjb25maXJtZWQpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChkaWFsb2cpOwotICAg
IGdfcmV0dXJuX2lmX2ZhaWwoZGlhbG9nLT50eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NP
TkZJUk0pOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoZGlhbG9nLT50eXBlID09IFdFQktJVF9TQ1JJ
UFRfRElBTE9HX0NPTkZJUk0gfHwgZGlhbG9nLT50eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9H
X0JFRk9SRV9VTkxPQURfQ09ORklSTSk7CiAKICAgICBkaWFsb2ctPmNvbmZpcm1lZCA9IGNvbmZp
cm1lZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNjcmlwdERpYWxvZy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0U2NyaXB0RGlhbG9nLmgKaW5kZXggY2Y4ODUzNS4uNGZmNzJiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nLmgKQEAg
LTQxLDEzICs0MSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0U2NyaXB0RGlhbG9nIFdlYktp
dFNjcmlwdERpYWxvZzsKICAqIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlci4KICAqIEBXRUJLSVRf
U0NSSVBUX0RJQUxPR19QUk9NUFQ6IFByb21wdCBzY3JpcHQgZGlhbG9nLCB1c2VkIHRvIGFzawog
ICogaW5mb3JtYXRpb24gdG8gdGhlIHVzZXIuCisgKiBAV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVG
T1JFX1VOTE9BRF9DT05GSVJNOiBCZWZvcmUgdW5sb2FkIGNvbmZpcm0gZGlhbG9nLAorICogdXNl
ZCB0byBhc2sgY29uZmlybWF0aW9uIHRvIGxlYXZlIHRoZSBjdXJyZW50IHBhZ2UgdG8gdGhlIHVz
ZXIuIFNpbmNlIDIuOAogICoKICAqIEVudW0gdmFsdWVzIHVzZWQgZm9yIGRldGVybWluaW5nIHRo
ZSB0eXBlIG9mICNXZWJLaXRTY3JpcHREaWFsb2cKICAqLwogdHlwZWRlZiBlbnVtIHsKICAgICBX
RUJLSVRfU0NSSVBUX0RJQUxPR19BTEVSVCwKICAgICBXRUJLSVRfU0NSSVBUX0RJQUxPR19DT05G
SVJNLAotICAgIFdFQktJVF9TQ1JJUFRfRElBTE9HX1BST01QVAorICAgIFdFQktJVF9TQ1JJUFRf
RElBTE9HX1BST01QVCwKKyAgICBXRUJLSVRfU0NSSVBUX0RJQUxPR19CRUZPUkVfVU5MT0FEX0NP
TkZJUk0KIH0gV2ViS2l0U2NyaXB0RGlhbG9nVHlwZTsKIAogV0VCS0lUX0FQSSBHVHlwZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3Bw
CmluZGV4IDlkNmE4ZWMuLjA5YTdkYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKQEAgLTgyLDYgKzgyLDEzIEBAIHByaXZh
dGU6CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFN0cmluZzo6ZnJvbVVURjgocmVzdWx0LmRh
dGEoKSkpOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25m
aXJtUGFuZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgV2ViRnJhbWVQcm94eSopIG92ZXJyaWRlCisgICAgeworICAgICAgICBy
ZXR1cm4gd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRCZWZvcmVVbmxvYWRDb25maXJtKG1fd2Vi
VmlldywgbWVzc2FnZS51dGY4KCkpOworICAgIH0KKwogICAgIHZpcnR1YWwgdm9pZCBtb3VzZURp
ZE1vdmVPdmVyRWxlbWVudChXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpE
YXRhJiBkYXRhLCBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVycywgQVBJOjpPYmplY3QqKSBv
dmVycmlkZQogICAgIHsKICAgICAgICAgd2Via2l0V2ViVmlld01vdXNlVGFyZ2V0Q2hhbmdlZCht
X3dlYlZpZXcsIGRhdGEsIHRvR2RrTW9kaWZpZXJzKG1vZGlmaWVycykpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA5ODYy
ZmFlLi4wNTg3YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMzAwLDE0ICszMDAsMTcgQEAgc3RhdGljIEd0a1dpZGdl
dCogd2Via2l0V2ViVmlld0NyZWF0ZShXZWJLaXRXZWJWaWV3KiwgV2ViS2l0TmF2aWdhdGlvbkFj
dGlvbiopCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRpYyBHdGtXaWRnZXQqIHdlYmtp
dFdlYlZpZXdDcmVhdGVKYXZhU2NyaXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEd0
a01lc3NhZ2VUeXBlIHR5cGUsIEd0a0J1dHRvbnNUeXBlIGJ1dHRvbnMsIGludCBkZWZhdWx0UmVz
cG9uc2UsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCitzdGF0aWMgR3RrV2lkZ2V0KiB3ZWJraXRXZWJW
aWV3Q3JlYXRlSmF2YVNjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHdGtNZXNz
YWdlVHlwZSB0eXBlLCBHdGtCdXR0b25zVHlwZSBidXR0b25zLCBpbnQgZGVmYXVsdFJlc3BvbnNl
LCBjb25zdCBjaGFyKiBwcmltYXJ5VGV4dCwgY29uc3QgY2hhciogc2Vjb25kYXJ5VGV4dCA9IG51
bGxwdHIpCiB7CiAgICAgR3RrV2lkZ2V0KiBwYXJlbnQgPSBndGtfd2lkZ2V0X2dldF90b3BsZXZl
bChHVEtfV0lER0VUKHdlYlZpZXcpKTsKLSAgICBHdGtXaWRnZXQqIGRpYWxvZyA9IGd0a19tZXNz
YWdlX2RpYWxvZ19uZXcod2lkZ2V0SXNPbnNjcmVlblRvcGxldmVsV2luZG93KHBhcmVudCkgPyBH
VEtfV0lORE9XKHBhcmVudCkgOiAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHVEtfRElBTE9HX0RFU1RST1lfV0lUSF9QQVJFTlQsIHR5cGUsIGJ1dHRv
bnMsICIlcyIsIG1lc3NhZ2UpOworICAgIEd0a1dpZGdldCogZGlhbG9nID0gZ3RrX21lc3NhZ2Vf
ZGlhbG9nX25ldyh3aWRnZXRJc09uc2NyZWVuVG9wbGV2ZWxXaW5kb3cocGFyZW50KSA/IEdUS19X
SU5ET1cocGFyZW50KSA6IG51bGxwdHIsCisgICAgICAgIEdUS19ESUFMT0dfREVTVFJPWV9XSVRI
X1BBUkVOVCwgdHlwZSwgYnV0dG9ucywgIiVzIiwgcHJpbWFyeVRleHQpOworICAgIGlmIChzZWNv
bmRhcnlUZXh0KQorICAgICAgICBndGtfbWVzc2FnZV9kaWFsb2dfZm9ybWF0X3NlY29uZGFyeV90
ZXh0KEdUS19NRVNTQUdFX0RJQUxPRyhkaWFsb2cpLCAiJXMiLCBzZWNvbmRhcnlUZXh0KTsKICAg
ICBHVW5pcXVlUHRyPGNoYXI+IHRpdGxlKGdfc3RyZHVwX3ByaW50ZigiSmF2YVNjcmlwdCAtICVz
Iiwgd2Via2l0X3dlYl92aWV3X2dldF91cmkod2ViVmlldykpKTsKICAgICBndGtfd2luZG93X3Nl
dF90aXRsZShHVEtfV0lORE9XKGRpYWxvZyksIHRpdGxlLmdldCgpKTsKLSAgICBndGtfZGlhbG9n
X3NldF9kZWZhdWx0X3Jlc3BvbnNlKEdUS19ESUFMT0coZGlhbG9nKSwgZGVmYXVsdFJlc3BvbnNl
KTsKKyAgICBpZiAoYnV0dG9ucyAhPSBHVEtfQlVUVE9OU19OT05FKQorICAgICAgICBndGtfZGlh
bG9nX3NldF9kZWZhdWx0X3Jlc3BvbnNlKEdUS19ESUFMT0coZGlhbG9nKSwgZGVmYXVsdFJlc3Bv
bnNlKTsKIAogICAgIHJldHVybiBkaWFsb2c7CiB9CkBAIC0zMjUsNyArMzI4LDcgQEAgc3RhdGlj
IGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViS2l0U2NyaXB0RGkKICAgICAgICAgZGlhbG9nID0gd2Via2l0V2ViVmlld0NyZWF0ZUph
dmFTY3JpcHREaWFsb2cod2ViVmlldywgR1RLX01FU1NBR0VfUVVFU1RJT04sIEdUS19CVVRUT05T
X09LX0NBTkNFTCwgR1RLX1JFU1BPTlNFX09LLCBzY3JpcHREaWFsb2ctPm1lc3NhZ2UuZGF0YSgp
KTsKICAgICAgICAgc2NyaXB0RGlhbG9nLT5jb25maXJtZWQgPSBndGtfZGlhbG9nX3J1bihHVEtf
RElBTE9HKGRpYWxvZykpID09IEdUS19SRVNQT05TRV9PSzsKICAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBXRUJLSVRfU0NSSVBUX0RJQUxPR19QUk9NUFQ6CisgICAgY2FzZSBXRUJLSVRfU0NSSVBU
X0RJQUxPR19QUk9NUFQ6IHsKICAgICAgICAgZGlhbG9nID0gd2Via2l0V2ViVmlld0NyZWF0ZUph
dmFTY3JpcHREaWFsb2cod2ViVmlldywgR1RLX01FU1NBR0VfUVVFU1RJT04sIEdUS19CVVRUT05T
X09LX0NBTkNFTCwgR1RLX1JFU1BPTlNFX09LLCBzY3JpcHREaWFsb2ctPm1lc3NhZ2UuZGF0YSgp
KTsKICAgICAgICAgR3RrV2lkZ2V0KiBlbnRyeSA9IGd0a19lbnRyeV9uZXcoKTsKICAgICAgICAg
Z3RrX2VudHJ5X3NldF90ZXh0KEdUS19FTlRSWShlbnRyeSksIHNjcmlwdERpYWxvZy0+ZGVmYXVs
dFRleHQuZGF0YSgpKTsKQEAgLTMzNiw2ICszMzksMTQgQEAgc3RhdGljIGdib29sZWFuIHdlYmtp
dFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0
RGkKICAgICAgICAgICAgIHNjcmlwdERpYWxvZy0+dGV4dCA9IGd0a19lbnRyeV9nZXRfdGV4dChH
VEtfRU5UUlkoZW50cnkpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgV0VCS0lU
X1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNOgorICAgICAgICBkaWFsb2cgPSB3
ZWJraXRXZWJWaWV3Q3JlYXRlSmF2YVNjcmlwdERpYWxvZyh3ZWJWaWV3LCBHVEtfTUVTU0FHRV9R
VUVTVElPTiwgR1RLX0JVVFRPTlNfTk9ORSwgR1RLX1JFU1BPTlNFX09LLAorICAgICAgICAgICAg
XygiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxlYXZlIHRoaXMgcGFnZT8iKSwgc2NyaXB0RGlh
bG9nLT5tZXNzYWdlLmRhdGEoKSk7CisgICAgICAgIGd0a19kaWFsb2dfYWRkX2J1dHRvbnMoR1RL
X0RJQUxPRyhkaWFsb2cpLCBfKCJTdGF5IG9uIFBhZ2UiKSwgR1RLX1JFU1BPTlNFX0NMT1NFLCBf
KCJMZWF2ZSBQYWdlIiksIEdUS19SRVNQT05TRV9PSywgbnVsbHB0cik7CisgICAgICAgIGd0a19k
aWFsb2dfc2V0X2RlZmF1bHRfcmVzcG9uc2UoR1RLX0RJQUxPRyhkaWFsb2cpLCBHVEtfUkVTUE9O
U0VfT0spOworICAgICAgICBzY3JpcHREaWFsb2ctPmNvbmZpcm1lZCA9IGd0a19kaWFsb2dfcnVu
KEdUS19ESUFMT0coZGlhbG9nKSkgPT0gR1RLX1JFU1BPTlNFX09LOworICAgICAgICBicmVhazsK
KyAgICB9CiAKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3koZGlhbG9nKTsKIApAQCAtMTA3MiwxMCAr
MTA4MywxMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRX
ZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKIAogICAgIC8qKgogICAgICAqIFdlYktpdFdlYlZp
ZXc6OmNsb3NlOgotICAgICAqIEB3ZWJWaWV3OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2gg
dGhlIHNpZ25hbCBpcyBlbWl0dGVkCisgICAgICogQHdlYl92aWV3OiB0aGUgI1dlYktpdFdlYlZp
ZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCiAgICAgICoKICAgICAgKiBFbWl0dGVk
IHdoZW4gY2xvc2luZyBhICNXZWJLaXRXZWJWaWV3IGlzIHJlcXVlc3RlZC4gVGhpcyBvY2N1cnMg
d2hlbiBhCi0gICAgICogY2FsbCBpcyBtYWRlIGZyb20gSmF2YVNjcmlwdCdzIDxmdW5jdGlvbj53
aW5kb3cuY2xvc2U8L2Z1bmN0aW9uPiBmdW5jdGlvbi4KKyAgICAgKiBjYWxsIGlzIG1hZGUgZnJv
bSBKYXZhU2NyaXB0J3MgPGZ1bmN0aW9uPndpbmRvdy5jbG9zZTwvZnVuY3Rpb24+IGZ1bmN0aW9u
IG9yCisgICAgICogYWZ0ZXIgdHJ5aW5nIHRvIGNsb3NlIHRoZSBAd2ViX3ZpZXcgd2l0aCB3ZWJr
aXRfd2ViX3ZpZXdfdHJ5X2Nsb3NlKCkuCiAgICAgICogSXQgaXMgdGhlIG93bmVyJ3MgcmVzcG9u
c2liaWxpdHkgdG8gaGFuZGxlIHRoaXMgc2lnbmFsIHRvIGhpZGUgb3IKICAgICAgKiBkZXN0cm95
IHRoZSAjV2ViS2l0V2ViVmlldywgaWYgbmVjZXNzYXJ5LgogICAgICAqLwpAQCAtMTA5NCw3ICsx
MTA2LDggQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0V2Vi
Vmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICogQGRpYWxvZzogdGhlICNXZWJLaXRTY3Jp
cHREaWFsb2cgdG8gc2hvdwogICAgICAqCiAgICAgICogRW1pdHRlZCB3aGVuIEphdmFTY3JpcHQg
Y29kZSBjYWxscyA8ZnVuY3Rpb24+d2luZG93LmFsZXJ0PC9mdW5jdGlvbj4sCi0gICAgICogPGZ1
bmN0aW9uPndpbmRvdy5jb25maXJtPC9mdW5jdGlvbj4gb3IgPGZ1bmN0aW9uPndpbmRvdy5wcm9t
cHQ8L2Z1bmN0aW9uPi4KKyAgICAgKiA8ZnVuY3Rpb24+d2luZG93LmNvbmZpcm08L2Z1bmN0aW9u
PiBvciA8ZnVuY3Rpb24+d2luZG93LnByb21wdDwvZnVuY3Rpb24+LAorICAgICAqIG9yIHdoZW4g
PGZ1bmN0aW9uPm9uYmVmb3JldW5sb2FkPC9mdW5jdGlvbj4gZXZlbnQgaXMgZmlyZWQuCiAgICAg
ICogVGhlIEBkaWFsb2cgcGFyYW1ldGVyIHNob3VsZCBiZSB1c2VkIHRvIGJ1aWxkIHRoZSBkaWFs
b2cuCiAgICAgICogSWYgdGhlIHNpZ25hbCBpcyBub3QgaGFuZGxlZCBhIGRpZmZlcmVudCBkaWFs
b2cgd2lsbCBiZSBidWlsdCBhbmQgc2hvd24gZGVwZW5kaW5nCiAgICAgICogb24gdGhlIGRpYWxv
ZyB0eXBlOgpAQCAtMTEwOSw2ICsxMTIyLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3
X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICogICVX
RUJLSVRfU0NSSVBUX0RJQUxPR19QUk9NUFQ6IG1lc3NhZ2UgZGlhbG9nIHdpdGggT0sgYW5kIENh
bmNlbCBidXR0b25zIGFuZAogICAgICAqICBhIHRleHQgZW50cnkgd2l0aCB0aGUgZGVmYXVsdCB0
ZXh0LgogICAgICAqIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAqIDxsaXN0aXRlbT48cGFyYT4K
KyAgICAgKiAgJVdFQktJVF9TQ1JJUFRfRElBTE9HX0JFRk9SRV9VTkxPQURfQ09ORklSTTogbWVz
c2FnZSBkaWFsb2cgd2l0aCBTdGF5IGFuZCBMZWF2ZSBidXR0b25zLgorICAgICAqIDwvcGFyYT48
L2xpc3RpdGVtPgogICAgICAqIDwvaXRlbWl6ZWRsaXN0PgogICAgICAqCiAgICAgICogUmV0dXJu
czogJVRSVUUgdG8gc3RvcCBvdGhlciBoYW5kbGVycyBmcm9tIGJlaW5nIGludm9rZWQgZm9yIHRo
ZSBldmVudC4KQEAgLTE3MzksNiArMTc1NSwxNCBAQCBDU3RyaW5nIHdlYmtpdFdlYlZpZXdSdW5K
YXZhU2NyaXB0UHJvbXB0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IENTdHJpbmcmCiAg
ICAgcmV0dXJuIGRpYWxvZy50ZXh0OwogfQogCitib29sIHdlYmtpdFdlYlZpZXdSdW5KYXZhU2Ny
aXB0QmVmb3JlVW5sb2FkQ29uZmlybShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBDU3Ry
aW5nJiBtZXNzYWdlKQoreworICAgIFdlYktpdFNjcmlwdERpYWxvZyBkaWFsb2coV0VCS0lUX1ND
UklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNLCBtZXNzYWdlKTsKKyAgICBnYm9vbGVh
biByZXR1cm5WYWx1ZTsKKyAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIHNpZ25hbHNbU0NSSVBU
X0RJQUxPR10sIDAsICZkaWFsb2csICZyZXR1cm5WYWx1ZSk7CisgICAgcmV0dXJuIGRpYWxvZy5j
b25maXJtZWQ7Cit9CisKIHZvaWQgd2Via2l0V2ViVmlld01ha2VQb2xpY3lEZWNpc2lvbihXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRQb2xpY3lEZWNpc2lvblR5cGUgdHlwZSwgV2ViS2l0
UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQogewogICAgIGdib29sZWFuIHJldHVyblZhbHVlOwpA
QCAtMjA5Miw2ICsyMTE2LDIzIEBAIFdlYktpdFVzZXJDb250ZW50TWFuYWdlciogd2Via2l0X3dl
Yl92aWV3X2dldF91c2VyX2NvbnRlbnRfbWFuYWdlcihXZWJLaXRXZWJWaWV3CiB9CiAKIC8qKgor
ICogd2Via2l0X3dlYl92aWV3X3RyeV9jbG9zZToKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2Vi
VmlldworICoKKyAqIFRyaWVzIHRvIGNsb3NlIHRoZSBAd2ViX3ZpZXcuIFRoaXMgd2lsbCBmaXJl
IHRoZSBvbmJlZm9yZXVubG9hZCBldmVudAorICogdG8gYXNrIHRoZSB1c2VyIGZvciBjb25maXJt
YXRpb24gdG8gY2xvc2UgdGhlIHBhZ2UuIElmIHRoZXJlIGlzbid0IGFuCisgKiBvbmJlZm9yZXVu
bG9hZCBldmVudCBoYW5kbGVyIG9yIHRoZSB1c2VyIGNvbmZpcm1zIHRvIGNsb3NlIHRoZSBwYWdl
LAorICogdGhlICNXZWJLaXRXZWJWaWV3OjpjbG9zZSBzaWduYWwgaXMgZW1pdHRlZCwgb3RoZXJ3
aXNlIG5vdGhpbmcgaGFwcGVucy4KKyAqCisgKiBTaW5jZTogMi44CisgKi8KK3ZvaWQgd2Via2l0
X3dlYl92aWV3X3RyeV9jbG9zZShXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3KQoreworICAgIGdfcmV0
dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKyAgICBnZXRQYWdlKHdl
YlZpZXcpLT50cnlDbG9zZSgpOworfQorCisvKioKICAqIHdlYmtpdF93ZWJfdmlld19sb2FkX3Vy
aToKICAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldwogICogQHVyaTogYW4gVVJJIHN0cmlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5o
CmluZGV4IGYzZjA1OWMuLmNkYzhkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTI2OCw2ICsyNjgsOSBAQCBXRUJLSVRfQVBJ
IFdlYktpdFdlYkNvbnRleHQgKgogd2Via2l0X3dlYl92aWV3X2dldF9jb250ZXh0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcpOwog
CiBXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld190cnlfY2xvc2UgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsKKwor
V0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdfbG9hZF91cmkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdj
aGFyICAgICAgICAgICAgICAgKnVyaSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGU3OTY3NzQuLjg2
MjJiYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlld1ByaXZhdGUuaApAQCAtNDIsNiArNDIsNyBAQCB2b2lkIHdlYmtpdFdlYlZp
ZXdDbG9zZVBhZ2UoV2ViS2l0V2ViVmlldyopOwogdm9pZCB3ZWJraXRXZWJWaWV3UnVuSmF2YVNj
cmlwdEFsZXJ0KFdlYktpdFdlYlZpZXcqLCBjb25zdCBDU3RyaW5nJiBtZXNzYWdlKTsKIGJvb2wg
d2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRDb25maXJtKFdlYktpdFdlYlZpZXcqLCBjb25zdCBD
U3RyaW5nJiBtZXNzYWdlKTsKIENTdHJpbmcgd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRQcm9t
cHQoV2ViS2l0V2ViVmlldyosIGNvbnN0IENTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IENTdHJpbmcm
IGRlZmF1bHRUZXh0KTsKK2Jvb2wgd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRCZWZvcmVVbmxv
YWRDb25maXJtKFdlYktpdFdlYlZpZXcqLCBjb25zdCBDU3RyaW5nJiBtZXNzYWdlKTsKIHZvaWQg
d2Via2l0V2ViVmlld01ha2VQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3KiwgV2ViS2l0
UGVybWlzc2lvblJlcXVlc3QqKTsKIHZvaWQgd2Via2l0V2ViVmlld01ha2VQb2xpY3lEZWNpc2lv
bihXZWJLaXRXZWJWaWV3KiwgV2ViS2l0UG9saWN5RGVjaXNpb25UeXBlLCBXZWJLaXRQb2xpY3lE
ZWNpc2lvbiopOwogdm9pZCB3ZWJraXRXZWJWaWV3TW91c2VUYXJnZXRDaGFuZ2VkKFdlYktpdFdl
YlZpZXcqLCBjb25zdCBXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmLCB1bnNpZ25lZCBt
b2RpZmllcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
ZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggYmU0ZmYzYy4uNmViY2Fl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CkBAIC0xNTEsNiArMTUxLDcgQEAgd2Via2l0
X3dlYl92aWV3X25ld193aXRoX3NldHRpbmdzCiB3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfdXNl
cl9jb250ZW50X21hbmFnZXIKIHdlYmtpdF93ZWJfdmlld19nZXRfY29udGV4dAogd2Via2l0X3dl
Yl92aWV3X2dldF91c2VyX2NvbnRlbnRfbWFuYWdlcgord2Via2l0X3dlYl92aWV3X3RyeV9jbG9z
ZQogd2Via2l0X3dlYl92aWV3X2xvYWRfdXJpCiB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9odG1sCiB3
ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA4MTA4ZjUuLjRiMDQyMDkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxNC0xMS0yOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS10gQWRkIEFQSSB0byBoYW5kbGUgYmVmb3JldW5sb2FkIGV2ZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDkwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jOgorICAgICAgICAoYnJvd3NlcldpbmRvd0NvbnN0cnVj
dGVkKToKKyAgICAgICAgKGJyb3dzZXJXaW5kb3dEZWxldGVFdmVudCk6CisgICAgICAgIChicm93
c2VyX3dpbmRvd19jbGFzc19pbml0KToKKyAgICAgICAgSGFuZGxlIGRlbGV0ZS1ldmVudCB0byBw
cmV2ZW50IHRoZSB3aW5kb3cgZnJvbSBiZWluZyBjbG9zZWQgd2hlbgorICAgICAgICB0aGUgcGFn
ZSBoYXMgYmVmb3JldW5sb2FkIGhhbmRsZXJzLiBVc2UKKyAgICAgICAgd2Via2l0X3dlYl92aWV3
X3RyeV9jbG9zZSgpIHdoZW4gdGhlIHdpbmRvdyBpcyByZXF1ZXN0ZWQgdG8gYmUKKyAgICAgICAg
Y2xvc2VkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mkd0ay9UZXN0VUlD
bGllbnQuY3BwOgorICAgICAgICAodGVzdFdlYlZpZXdKYXZhU2NyaXB0RGlhbG9ncyk6CisgICAg
ICAgIEFkZCBhIHRlc3QgY2FzZSBmb3IgdGhlIFdFQktJVF9TQ1JJUFRfRElBTE9HX0JFRk9SRV9V
TkxPQURfQ09ORklSTQorICAgICAgICBzY3JpcHQgZGlhbG9nIHR5cGUuCisKIDIwMTQtMTEtMjcg
IFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQG5hdmVyY29ycC5jb20+CiAKICAgICAgICAgW0VGTF0g
UmVtb3ZlIEVfRGJ1cyBkZXBlbmRlbmN5CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9n
dGsvQnJvd3NlcldpbmRvdy5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cu
YwppbmRleCA5M2FkZmI0Li44YzhmNDUwIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9n
dGsvQnJvd3NlcldpbmRvdy5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2lu
ZG93LmMKQEAgLTc5OSw2ICs3OTksNyBAQCBzdGF0aWMgdm9pZCBicm93c2VyV2luZG93Q29uc3Ry
dWN0ZWQoR09iamVjdCAqZ09iamVjdCkKICAgICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2Vi
VmlldywgIm5vdGlmeTo6ZXN0aW1hdGVkLWxvYWQtcHJvZ3Jlc3MiLCBHX0NBTExCQUNLKHdlYlZp
ZXdMb2FkUHJvZ3Jlc3NDaGFuZ2VkKSwgd2luZG93KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdp
bmRvdy0+d2ViVmlldywgIm5vdGlmeTo6dGl0bGUiLCBHX0NBTExCQUNLKHdlYlZpZXdUaXRsZUNo
YW5nZWQpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2luZG93LT53ZWJWaWV3LCAi
Y3JlYXRlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Q3JlYXRlKSwgd2luZG93KTsKKyAgICBnX3NpZ25h
bF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywgImNsb3NlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Q2xv
c2UpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2luZG93LT53ZWJWaWV3LCAibG9h
ZC1mYWlsZWQiLCBHX0NBTExCQUNLKHdlYlZpZXdMb2FkRmFpbGVkKSwgd2luZG93KTsKICAgICBn
X3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywgImRlY2lkZS1wb2xpY3kiLCBHX0NBTExC
QUNLKHdlYlZpZXdEZWNpZGVQb2xpY3kpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
d2luZG93LT53ZWJWaWV3LCAicGVybWlzc2lvbi1yZXF1ZXN0IiwgR19DQUxMQkFDSyh3ZWJWaWV3
RGVjaWRlUGVybWlzc2lvblJlcXVlc3QpLCB3aW5kb3cpOwpAQCAtODQ2LDYgKzg0NywxMyBAQCBz
dGF0aWMgdm9pZCBicm93c2VyV2luZG93Q29uc3RydWN0ZWQoR09iamVjdCAqZ09iamVjdCkKICAg
ICBndGtfd2lkZ2V0X3Nob3coR1RLX1dJREdFVCh3aW5kb3ctPndlYlZpZXcpKTsKIH0KIAorc3Rh
dGljIGdib29sZWFuIGJyb3dzZXJXaW5kb3dEZWxldGVFdmVudChHdGtXaWRnZXQgKndpZGdldCwg
R2RrRXZlbnRBbnkqIGV2ZW50KQoreworICAgIEJyb3dzZXJXaW5kb3cgKndpbmRvdyA9IEJST1dT
RVJfV0lORE9XKHdpZGdldCk7CisgICAgd2Via2l0X3dlYl92aWV3X3RyeV9jbG9zZSh3aW5kb3ct
PndlYlZpZXcpOworICAgIHJldHVybiBUUlVFOworfQorCiBzdGF0aWMgdm9pZCBicm93c2VyX3dp
bmRvd19jbGFzc19pbml0KEJyb3dzZXJXaW5kb3dDbGFzcyAqa2xhc3MpCiB7CiAgICAgR09iamVj
dENsYXNzICpnb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhrbGFzcyk7CkBAIC04NTUsNiAr
ODYzLDkgQEAgc3RhdGljIHZvaWQgYnJvd3Nlcl93aW5kb3dfY2xhc3NfaW5pdChCcm93c2VyV2lu
ZG93Q2xhc3MgKmtsYXNzKQogICAgIGdvYmplY3RDbGFzcy0+c2V0X3Byb3BlcnR5ID0gYnJvd3Nl
cldpbmRvd1NldFByb3BlcnR5OwogICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSBicm93c2Vy
V2luZG93RmluYWxpemU7CiAKKyAgICBHdGtXaWRnZXRDbGFzcyAqd2lkZ2V0Q2xhc3MgPSBHVEtf
V0lER0VUX0NMQVNTKGtsYXNzKTsKKyAgICB3aWRnZXRDbGFzcy0+ZGVsZXRlX2V2ZW50ID0gYnJv
d3NlcldpbmRvd0RlbGV0ZUV2ZW50OworCiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9w
ZXJ0eShnb2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
Uk9QX1ZJRVcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3Nw
ZWNfb2JqZWN0KCJ2aWV3IiwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mkd0ay9UZXN0VUlDbGllbnQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyR3RrL1Rlc3RVSUNsaWVudC5jcHAKaW5kZXggZGE3NzQ1NC4uNmRkMDk2YyAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RVSUNsaWVudC5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RVSUNsaWVu
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGtBbGVydERpYWxvZ01l
c3NhZ2UgPSAiV2ViS2l0R1RLKyBhbGVydCBkaWFsb2cgbWVzc2FnZSI7CiBzdGF0aWMgY29uc3Qg
Y2hhcioga0NvbmZpcm1EaWFsb2dNZXNzYWdlID0gIldlYktpdEdUSysgY29uZmlybSBkaWFsb2cg
bWVzc2FnZSI7CiBzdGF0aWMgY29uc3QgY2hhcioga1Byb21wdERpYWxvZ01lc3NhZ2UgPSAiV2Vi
S2l0R1RLKyBwcm9tcHQgZGlhbG9nIG1lc3NhZ2UiOwogc3RhdGljIGNvbnN0IGNoYXIqIGtQcm9t
cHREaWFsb2dSZXR1cm5lZFRleHQgPSAiV2ViS2l0R1RLKyBwcm9tcHQgZGlhbG9nIHJldHVybmVk
IHRleHQiOworc3RhdGljIGNvbnN0IGNoYXIqIGtCZWZvcmVVbmxvYWRDb25maXJtRGlhbG9nTWVz
c2FnZSA9ICJXZWJLaXRHVEsrIGJlZm9yZXVubG9hZCBkaWFsb2cgbWVzc2FnZSI7CiAKIGNsYXNz
IFVJQ2xpZW50VGVzdDogcHVibGljIFdlYlZpZXdUZXN0IHsKIHB1YmxpYzoKQEAgLTE0Niw2ICsx
NDcsOSBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2UgV0VCS0lUX1NDUklQVF9ESUFMT0dfUFJPTVBU
OgogICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9t
ZXNzYWdlKGRpYWxvZyksID09LCBrUHJvbXB0RGlhbG9nUmV0dXJuZWRUZXh0KTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFdFQktJVF9TQ1JJUFRfRElBTE9HX0JFRk9SRV9VTkxP
QURfQ09ORklSTToKKyAgICAgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCiAgICAgICAgIGdfbWFpbl9sb29wX3F1aXQobV9tYWlu
TG9vcCk7CkBAIC0xNjUsNiArMTY5LDEzIEBAIHB1YmxpYzoKICAgICAgICAgd2Via2l0X3Njcmlw
dF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywga1Byb21wdERpYWxvZ1JldHVybmVkVGV4
dCk7CiAgICAgfQogCisgICAgdm9pZCBzY3JpcHRCZWZvcmVVbmxvYWRDb25maXJtKFdlYktpdFNj
cmlwdERpYWxvZyogZGlhbG9nKQorICAgIHsKKyAgICAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtp
dF9zY3JpcHRfZGlhbG9nX2dldF9tZXNzYWdlKGRpYWxvZyksID09LCBrQmVmb3JlVW5sb2FkQ29u
ZmlybURpYWxvZ01lc3NhZ2UpOworICAgICAgICBtX3NjcmlwdERpYWxvZ0NvbmZpcm1lZCA9IHRy
dWU7CisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2NvbmZpcm1fc2V0X2NvbmZpcm1lZChk
aWFsb2csIG1fc2NyaXB0RGlhbG9nQ29uZmlybWVkKTsKKyAgICB9CisKICAgICBzdGF0aWMgZ2Jv
b2xlYW4gc2NyaXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRTY3JpcHREaWFsb2cqIGRp
YWxvZywgVUlDbGllbnRUZXN0KiB0ZXN0KQogICAgIHsKICAgICAgICAgc3dpdGNoICh3ZWJraXRf
c2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUoZGlhbG9nKSkgewpAQCAtMTc3LDYgKzE4OCw5
IEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBXRUJLSVRfU0NSSVBUX0RJQUxPR19QUk9NUFQ6CiAg
ICAgICAgICAgICB0ZXN0LT5zY3JpcHRQcm9tcHQoZGlhbG9nKTsKICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFdFQktJVF9TQ1JJUFRfRElBTE9HX0JFRk9SRV9VTkxPQURfQ09ORklS
TToKKyAgICAgICAgICAgIHRlc3QtPnNjcmlwdEJlZm9yZVVubG9hZENvbmZpcm0oZGlhbG9nKTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIFRSVUU7CkBA
IC0yMjMsNiArMjM3LDE5IEBAIHB1YmxpYzoKICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlz
Y29ubmVjdF9tYXRjaGVkKG1fd2ViVmlldywgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgMCwg
MCwgdGhpcyk7CiAgICAgfQogCisgICAgc3RhdGljIHZvaWQgdHJ5V2ViVmlld0Nsb3NlQ2FsbGJh
Y2soVUlDbGllbnRUZXN0KiB0ZXN0KQorICAgIHsKKyAgICAgICAgZ19tYWluX2xvb3BfcXVpdCh0
ZXN0LT5tX21haW5Mb29wKTsKKyAgICB9CisKKyAgICB2b2lkIHRyeUNsb3NlQW5kV2FpdFVudGls
Q2xvc2VkKCkKKyAgICB7CisgICAgICAgIGd1bG9uZyBoYW5kbGVyID0gZ19zaWduYWxfY29ubmVj
dF9zd2FwcGVkKG1fd2ViVmlldywgImNsb3NlIiwgR19DQUxMQkFDSyh0cnlXZWJWaWV3Q2xvc2VD
YWxsYmFjayksIHRoaXMpOworICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfdHJ5X2Nsb3NlKG1fd2Vi
Vmlldyk7CisgICAgICAgIGdfbWFpbl9sb29wX3J1bihtX21haW5Mb29wKTsKKyAgICAgICAgZ19z
aWduYWxfaGFuZGxlcl9kaXNjb25uZWN0KG1fd2ViVmlldywgaGFuZGxlcik7CisgICAgfQorCiAg
ICAgdm9pZCB3YWl0VW50aWxNYWluTG9vcEZpbmlzaGVzKCkKICAgICB7CiAgICAgICAgIGdfbWFp
bl9sb29wX3J1bihtX21haW5Mb29wKTsKQEAgLTQ2MSwyNCArNDg4LDYwIEBAIHN0YXRpYyB2b2lk
IHRlc3RXZWJWaWV3SmF2YVNjcmlwdERpYWxvZ3MoVUlDbGllbnRUZXN0KiB0ZXN0LCBnY29uc3Rw
b2ludGVyKQogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBqc0FsZXJ0Rm9ybWF0ID0gImFsZXJ0KCcl
cycpIjsKICAgICBzdGF0aWMgY29uc3QgY2hhcioganNDb25maXJtRm9ybWF0ID0gImRvIHsgY29u
ZmlybWVkID0gY29uZmlybSgnJXMnKTsgfSB3aGlsZSAoIWNvbmZpcm1lZCk7IGFsZXJ0KCdjb25m
aXJtZWQnKTsiOwogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBqc1Byb21wdEZvcm1hdCA9ICJhbGVy
dChwcm9tcHQoJyVzJywgJ2RlZmF1bHQnKSk7IjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogaHRt
bE9uQmVmb3JlVW5sb2FkRm9ybWF0ID0KKyAgICAgICAgIjxodG1sPjxib2R5IG9uYmVmb3JldW5s
b2FkPVwicmV0dXJuIGJlZm9yZVVubG9hZEhhbmRsZXIoKTtcIj48c2NyaXB0PmZ1bmN0aW9uIGJl
Zm9yZVVubG9hZEhhbmRsZXIoKSB7IHJldHVybiBcIiVzXCI7IH08L3NjcmlwdD48L2JvZHk+PC9o
dG1sPiI7CiAKICAgICB0ZXN0LT5tX3NjcmlwdERpYWxvZ1R5cGUgPSBXRUJLSVRfU0NSSVBUX0RJ
QUxPR19BTEVSVDsKICAgICBHVW5pcXVlUHRyPGNoYXI+IGFsZXJ0RGlhbG9nTWVzc2FnZShnX3N0
cmR1cF9wcmludGYoanNBbGVydEZvcm1hdCwga0FsZXJ0RGlhbG9nTWVzc2FnZSkpOwogICAgIEdV
bmlxdWVQdHI8Y2hhcj4gYWxlcnRIVE1MKGdfc3RyZHVwX3ByaW50ZihodG1sT25Mb2FkRm9ybWF0
LCBhbGVydERpYWxvZ01lc3NhZ2UuZ2V0KCkpKTsKICAgICB0ZXN0LT5sb2FkSHRtbChhbGVydEhU
TUwuZ2V0KCksIDApOwogICAgIHRlc3QtPndhaXRVbnRpbE1haW5Mb29wRmluaXNoZXMoKTsKKyAg
ICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKHRlc3QtPm1fd2ViVmlldyk7CisgICAgdGVz
dC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CiAKICAgICB0ZXN0LT5tX3NjcmlwdERpYWxvZ1R5
cGUgPSBXRUJLSVRfU0NSSVBUX0RJQUxPR19DT05GSVJNOwogICAgIEdVbmlxdWVQdHI8Y2hhcj4g
Y29uZmlybURpYWxvZ01lc3NhZ2UoZ19zdHJkdXBfcHJpbnRmKGpzQ29uZmlybUZvcm1hdCwga0Nv
bmZpcm1EaWFsb2dNZXNzYWdlKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBjb25maXJtSFRNTChn
X3N0cmR1cF9wcmludGYoaHRtbE9uTG9hZEZvcm1hdCwgY29uZmlybURpYWxvZ01lc3NhZ2UuZ2V0
KCkpKTsKICAgICB0ZXN0LT5sb2FkSHRtbChjb25maXJtSFRNTC5nZXQoKSwgMCk7CiAgICAgdGVz
dC0+d2FpdFVudGlsTWFpbkxvb3BGaW5pc2hlcygpOworICAgIHdlYmtpdF93ZWJfdmlld19zdG9w
X2xvYWRpbmcodGVzdC0+bV93ZWJWaWV3KTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNo
ZWQoKTsKIAogICAgIHRlc3QtPm1fc2NyaXB0RGlhbG9nVHlwZSA9IFdFQktJVF9TQ1JJUFRfRElB
TE9HX1BST01QVDsKICAgICBHVW5pcXVlUHRyPGNoYXI+IHByb21wdERpYWxvZ01lc3NhZ2UoZ19z
dHJkdXBfcHJpbnRmKGpzUHJvbXB0Rm9ybWF0LCBrUHJvbXB0RGlhbG9nTWVzc2FnZSkpOwogICAg
IEdVbmlxdWVQdHI8Y2hhcj4gcHJvbXB0SFRNTChnX3N0cmR1cF9wcmludGYoaHRtbE9uTG9hZEZv
cm1hdCwgcHJvbXB0RGlhbG9nTWVzc2FnZS5nZXQoKSkpOwogICAgIHRlc3QtPmxvYWRIdG1sKHBy
b21wdEhUTUwuZ2V0KCksIDApOwogICAgIHRlc3QtPndhaXRVbnRpbE1haW5Mb29wRmluaXNoZXMo
KTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKHRlc3QtPm1fd2ViVmlldyk7Cisg
ICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisKKyAgICB0ZXN0LT5tX3NjcmlwdERp
YWxvZ1R5cGUgPSBXRUJLSVRfU0NSSVBUX0RJQUxPR19CRUZPUkVfVU5MT0FEX0NPTkZJUk07Cisg
ICAgR1VuaXF1ZVB0cjxjaGFyPiBiZWZvcmVVbmxvYWREaWFsb2dIVE1MKGdfc3RyZHVwX3ByaW50
ZihodG1sT25CZWZvcmVVbmxvYWRGb3JtYXQsIGtCZWZvcmVVbmxvYWRDb25maXJtRGlhbG9nTWVz
c2FnZSkpOworICAgIHRlc3QtPmxvYWRIdG1sKGJlZm9yZVVubG9hZERpYWxvZ0hUTUwuZ2V0KCks
IG51bGxwdHIpOworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworCisgICAgLy8g
UmVsb2FkIHNob3VsZCB0cmlnZ2VyIG9uYmVmb3JldW5sb2FkLgorI2lmIDAKKyAgICAvLyBGSVhN
RTogcmVsb2FkaW5nIEhUTUwgZGF0YSBkb2Vzbid0IGVtaXQgZmluaXNoZWQgbG9hZCBldmVudC4K
KyAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTA4
OS4KKyAgICB0ZXN0LT5tX3NjcmlwdERpYWxvZ0NvbmZpcm1lZCA9IGZhbHNlOworICAgIHdlYmtp
dF93ZWJfdmlld19yZWxvYWQodGVzdC0+bV93ZWJWaWV3KTsKKyAgICB0ZXN0LT53YWl0VW50aWxM
b2FkRmluaXNoZWQoKTsKKyAgICBnX2Fzc2VydCh0ZXN0LT5tX3NjcmlwdERpYWxvZ0NvbmZpcm1l
ZCk7CisjZW5kaWYKKworICAgIC8vIE5hdmlnYXRpb24gc2hvdWxkIHRyaWdnZXIgb25iZWZvcmV1
bmxvYWQuCisgICAgdGVzdC0+bV9zY3JpcHREaWFsb2dDb25maXJtZWQgPSBmYWxzZTsKKyAgICB0
ZXN0LT5sb2FkSHRtbCgiPGh0bWw+PC9odG1sPiIsIG51bGxwdHIpOworICAgIHRlc3QtPndhaXRV
bnRpbExvYWRGaW5pc2hlZCgpOworICAgIGdfYXNzZXJ0KHRlc3QtPm1fc2NyaXB0RGlhbG9nQ29u
ZmlybWVkKTsKKworICAgIC8vIFRyeSBjbG9zZSBzaG91bGQgdHJpZ2dlciBvbmJlZm9yZXVubG9h
ZC4KKyAgICB0ZXN0LT5tX3NjcmlwdERpYWxvZ0NvbmZpcm1lZCA9IGZhbHNlOworICAgIHRlc3Qt
PmxvYWRIdG1sKGJlZm9yZVVubG9hZERpYWxvZ0hUTUwuZ2V0KCksIG51bGxwdHIpOworICAgIHRl
c3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIHRlc3QtPnRyeUNsb3NlQW5kV2FpdFVu
dGlsQ2xvc2VkKCk7CisgICAgZ19hc3NlcnQodGVzdC0+bV9zY3JpcHREaWFsb2dDb25maXJtZWQp
OwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1dpbmRvd1Byb3BlcnRpZXMoVUlDbGllbnRU
ZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQo=
</data>
<flag name="review"
          id="267143"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>