<?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>100404</bug_id>
          
          <creation_ts>2012-10-25 12:11:08 -0700</creation_ts>
          <short_desc>[EFL][WK2] Add Ewk_Popup_Menu API</short_desc>
          <delta_ts>2012-10-25 14:15:43 -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>WebKit EFL</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>
          <dependson>65286</dependson>
          <blocked>100226</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751097</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-25 12:11:08 -0700</bug_when>
    <thetext>We currently have a Ewk_Popup_Menu_Item API but not Ewk_Popup_Menu API. Instead, the popup menu code has been added the Ewk_View which clutters its code. We need to move the popup code out of Ewk_View and into a new Ewk_Popup_Menu class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751131</commentid>
    <comment_count>1</comment_count>
      <attachid>170714</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-25 12:50:16 -0700</bug_when>
    <thetext>Created attachment 170714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751197</commentid>
    <comment_count>2</comment_count>
      <attachid>170714</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 14:15:39 -0700</bug_when>
    <thetext>Comment on attachment 170714
Patch

Clearing flags on attachment: 170714

Committed r132535: &lt;http://trac.webkit.org/changeset/132535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751198</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 14:15:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170714</attachid>
            <date>2012-10-25 12:50:16 -0700</date>
            <delta_ts>2012-10-25 14:15:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>100404_ewk_popup_menu.patch</filename>
            <type>text/plain</type>
            <size>31644</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhZWNmZmY3Li5mMzQ4NTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTIg
QEAKIDIwMTItMTAtMjUgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIEFkZCBFd2tfUG9wdXBfTWVudSBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQwNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgRXdrX1Bv
cHVwX01lbnUgQVBJIHRvIGNvbXBsZXRlIHRoZSBleGlzdGluZworICAgICAgICBFd2tfUG9wdXBf
TWVudV9JdGVtIG9uZS4gVGhpcyB3YXksIHdlIGNhbiBtb3ZlIHRoZQorICAgICAgICBwb3B1cCBt
ZW51IGNvZGUgb3V0IG9mIEV3a19WaWV3LgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHA6CisgICAgICAgIChFd2tWaWV3SW1wbDo6RXdr
Vmlld0ltcGwpOgorICAgICAgICAoRXdrVmlld0ltcGw6On5Fd2tWaWV3SW1wbCk6CisgICAgICAg
IChFd2tWaWV3SW1wbDo6cmVxdWVzdFBvcHVwTWVudSk6CisgICAgICAgIChFd2tWaWV3SW1wbDo6
Y2xvc2VQb3B1cE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBs
Lmg6CisgICAgICAgIChFd2tWaWV3SW1wbCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3BvcHVwX21lbnUuY3BwOiBBZGRlZC4KKyAgICAgICAgKEV3a19Qb3B1cF9NZW51OjpFd2tf
UG9wdXBfTWVudSk6CisgICAgICAgIChFd2tfUG9wdXBfTWVudTo6fkV3a19Qb3B1cF9NZW51KToK
KyAgICAgICAgKEV3a19Qb3B1cF9NZW51OjpjbG9zZSk6CisgICAgICAgIChFd2tfUG9wdXBfTWVu
dTo6aXRlbXMpOgorICAgICAgICAoRXdrX1BvcHVwX01lbnU6OnNlbGVjdGVkSW5kZXgpOgorICAg
ICAgICAoRXdrX1BvcHVwX01lbnU6OnNldFNlbGVjdGVkSW5kZXgpOgorICAgICAgICAoZXdrX3Bv
cHVwX21lbnVfY2xvc2UpOgorICAgICAgICAoZXdrX3BvcHVwX21lbnVfc2VsZWN0ZWRfaW5kZXhf
c2V0KToKKyAgICAgICAgKGV3a19wb3B1cF9tZW51X3NlbGVjdGVkX2luZGV4X2dldCk6CisgICAg
ICAgIChld2tfcG9wdXBfbWVudV9pdGVtc19nZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L2V3a19wb3B1cF9tZW51X3ByaXZhdGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9XZWJQb3B1cE1lbnVQcm94eUVmbC5jcHAuCisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoRXdrX1BvcHVwX01lbnUpOgorICAgICAgICAoRXdrX1BvcHVwX01lbnU6OmNyZWF0
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX3BvcHVwX21lbnUuY3BwOiBBZGRlZC4KKyAgICAgICAgKGNoZWNr
QmFzaWNQb3B1cE1lbnVJdGVtKToKKyAgICAgICAgKHNlbGVjdEl0ZW1BZnRlckRlbGF5ZWQpOgor
ICAgICAgICAoc2hvd1BvcHVwTWVudSk6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYlBvcHVwTWVudVByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51UHJveHlFZmw6OmhpZGVQb3B1cE1lbnUpOgorCisyMDEyLTEwLTI1ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKICAgICAgICAgW0VGTF1b
V0syXSBNb3ZlIG5vbi1BUEkgY2xhc3NlcyBvdXQgb2YgVUlQcm9jZXNzL0FQSS9lZmwKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5MQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDAyODVkNzMuLjgyYTE0YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC01NSw2ICs1NSw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19uYXZpZ2F0aW9uX2RhdGEuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25h
dmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19w
b3B1cF9tZW51LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0u
Y3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Jlc291cmNlLmNwcAogICAgIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a19zZXR0aW5ncy5jcHAKQEAgLTI1MCw2ICsyNTEsNyBAQCBTRVQgKEVXZWJL
aXQyX0hFQURFUlMKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19tYWluLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVO
VF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb24uaCIKKyAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtLmgiCiAgICAgIiR7Q01BS0VfQ1VS
UkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVzb3VyY2UuaCIKICAgICAi
JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5n
cy5oIgpAQCAtMzQ2LDYgKzM0OCw3IEBAIFNFVChFV0syVW5pdFRlc3RzX0JJTkFSSUVTCiAgICAg
dGVzdF9ld2syX2Zhdmljb25fZGF0YWJhc2UKICAgICB0ZXN0X2V3azJfcmVmcHRyX2V2YXNfb2Jq
ZWN0CiAgICAgdGVzdF9ld2syX2ludGVudHMKKyAgICB0ZXN0X2V3azJfcG9wdXBfbWVudQogICAg
IHRlc3RfZXdrMl9zZXR0aW5ncwogICAgIHRlc3RfZXdrMl90ZXh0X2NoZWNrZXIKICAgICB0ZXN0
X2V3azJfdmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RVdlYktpdDIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgK
aW5kZXggMTdhZmIxMS4uYTUyZmM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRVdlYktpdDIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FV2ViS2l0Mi5oCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiZXdrX21haW4uaCIK
ICNpbmNsdWRlICJld2tfbmF2aWdhdGlvbl9kYXRhLmgiCiAjaW5jbHVkZSAiZXdrX25hdmlnYXRp
b25fcG9saWN5X2RlY2lzaW9uLmgiCisjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnUuaCIKICNpbmNs
dWRlICJld2tfcG9wdXBfbWVudV9pdGVtLmgiCiAjaW5jbHVkZSAiZXdrX3Jlc291cmNlLmgiCiAj
aW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKaW5kZXggNmJiMzYxZC4uMDcyN2M4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcApAQCAtMzks
NiArMzksNyBAQAogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNsdWRlICJl
d2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnVf
aXRlbV9wcml2YXRlLmgiCisjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnVfcHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgImV3a19wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3NldHRpbmdzX3ByaXZhdGUuaCIK
ICNpbmNsdWRlICJld2tfdmlldy5oIgpAQCAtMTMwLDE0ICsxMzEsMTQgQEAgUGFzc093blB0cjxF
Y29yZV9JTUZfQ29udGV4dD4gRXdrVmlld0ltcGw6OmNyZWF0ZUlNRkNvbnRleHQoRXdrX1ZpZXdf
U21hcnRfRGF0YSoKIH0KIAogRXdrVmlld0ltcGw6OkV3a1ZpZXdJbXBsKEV2YXNfT2JqZWN0KiB2
aWV3KQotICAgIDogcG9wdXBNZW51UHJveHkoMCkKLSAgICAsIHBvcHVwTWVudUl0ZW1zKDApCiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICwgZXZhc0dsKDApCisgICAgOiBl
dmFzR2woMCkKICAgICAsIGV2YXNHbENvbnRleHQoMCkKICAgICAsIGV2YXNHbFN1cmZhY2UoMCkK
LSNlbmRpZgogICAgICwgbV92aWV3KHZpZXcpCisjZWxzZQorICAgIDogbV92aWV3KHZpZXcpCisj
ZW5kaWYKICAgICAsIG1fc2V0dGluZ3MoRXdrX1NldHRpbmdzOjpjcmVhdGUodGhpcykpCiAgICAg
LCBtX2lucHV0TWV0aG9kQ29udGV4dChjcmVhdGVJTUZDb250ZXh0KHNtYXJ0RGF0YSgpKSkKICAg
ICAsIG1faW5wdXRNZXRob2RDb250ZXh0Rm9jdXNlZChmYWxzZSkKQEAgLTE1NSw5ICsxNTYsNiBA
QCBFd2tWaWV3SW1wbDo6RXdrVmlld0ltcGwoRXZhc19PYmplY3QqIHZpZXcpCiAKIEV3a1ZpZXdJ
bXBsOjp+RXdrVmlld0ltcGwoKQogewotICAgIHZvaWQqIGl0ZW07Ci0gICAgRUlOQV9MSVNUX0ZS
RUUocG9wdXBNZW51SXRlbXMsIGl0ZW0pCi0gICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxFd2tf
UG9wdXBfTWVudV9JdGVtKj4oaXRlbSk7CiB9CiAKIEV3a19WaWV3X1NtYXJ0X0RhdGEqIEV3a1Zp
ZXdJbXBsOjpzbWFydERhdGEoKQpAQCAtODc0LDI3ICs4NzIsMzYgQEAgdm9pZCBFd2tWaWV3SW1w
bDo6aW5mb3JtQ29udGVudHNTaXplQ2hhbmdlKGNvbnN0IEludFNpemUmIHNpemUpCiBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBS
VEwpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fTEVG
VF9UT19SSUdIVCwgTFRSKTsKIAotdm9pZCBFd2tWaWV3SW1wbDo6cmVxdWVzdFBvcHVwTWVudShX
ZWJQb3B1cE1lbnVQcm94eUVmbCogcG9wdXBNZW51LCBjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0
RGlyZWN0aW9uIHRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFZl
Y3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4KQordm9pZCBF
d2tWaWV3SW1wbDo6cmVxdWVzdFBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eUVmbCogcG9wdXBN
ZW51UHJveHksIGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlv
biwgZG91YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0
ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpCiB7CiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSog
c2QgPSBzbWFydERhdGEoKTsKICAgICBBU1NFUlQoc2QtPmFwaSk7CiAKLSAgICBBU1NFUlQocG9w
dXBNZW51KTsKKyAgICBBU1NFUlQocG9wdXBNZW51UHJveHkpOwogCiAgICAgaWYgKCFzZC0+YXBp
LT5wb3B1cF9tZW51X3Nob3cpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChwb3B1cE1lbnVQ
cm94eSkKLSAgICAgICAgZXdrX3ZpZXdfcG9wdXBfbWVudV9jbG9zZShtX3ZpZXcpOwotICAgIHBv
cHVwTWVudVByb3h5ID0gcG9wdXBNZW51OworICAgIGlmIChtX3BvcHVwTWVudSkKKyAgICAgICAg
Y2xvc2VQb3B1cE1lbnUoKTsKKworICAgIG1fcG9wdXBNZW51ID0gRXdrX1BvcHVwX01lbnU6OmNy
ZWF0ZSh0aGlzLCBwb3B1cE1lbnVQcm94eSwgaXRlbXMsIHNlbGVjdGVkSW5kZXgpOworCisgICAg
c2QtPmFwaS0+cG9wdXBfbWVudV9zaG93KHNkLCByZWN0LCBzdGF0aWNfY2FzdDxFd2tfVGV4dF9E
aXJlY3Rpb24+KHRleHREaXJlY3Rpb24pLCBwYWdlU2NhbGVGYWN0b3IsIG1fcG9wdXBNZW51Lmdl
dCgpKTsKK30KKwordm9pZCBFd2tWaWV3SW1wbDo6Y2xvc2VQb3B1cE1lbnUoKQoreworICAgIGlm
ICghbV9wb3B1cE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIEV3a19WaWV3X1NtYXJ0X0Rh
dGEqIHNkID0gc21hcnREYXRhKCk7CisgICAgQVNTRVJUKHNkLT5hcGkpOwogCi0gICAgRWluYV9M
aXN0KiBwb3B1cEl0ZW1zID0gMDsKLSAgICBjb25zdCBzaXplX3Qgc2l6ZSA9IGl0ZW1zLnNpemUo
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgcG9wdXBJ
dGVtcyA9IGVpbmFfbGlzdF9hcHBlbmQocG9wdXBJdGVtcywgRXdrX1BvcHVwX01lbnVfSXRlbTo6
Y3JlYXRlKGl0ZW1zW2ldKS5sZWFrUHRyKCkpOwotICAgIHBvcHVwTWVudUl0ZW1zID0gcG9wdXBJ
dGVtczsKKyAgICBpZiAoc2QtPmFwaS0+cG9wdXBfbWVudV9oaWRlKQorICAgICAgICBzZC0+YXBp
LT5wb3B1cF9tZW51X2hpZGUoc2QpOwogCi0gICAgc2QtPmFwaS0+cG9wdXBfbWVudV9zaG93KHNk
LCByZWN0LCBzdGF0aWNfY2FzdDxFd2tfVGV4dF9EaXJlY3Rpb24+KHRleHREaXJlY3Rpb24pLCBw
YWdlU2NhbGVGYWN0b3IsIHBvcHVwSXRlbXMsIHNlbGVjdGVkSW5kZXgpOworICAgIG1fcG9wdXBN
ZW51LmNsZWFyKCk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXdJbXBsLmgKaW5kZXggNzIyOGY0NS4uNjFhM2JkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oCkBAIC05MSw2ICs5MSw3IEBA
IGNsYXNzIEV3a19JbnRlbnQ7CiBjbGFzcyBFd2tfSW50ZW50X1NlcnZpY2U7CiBjbGFzcyBFd2tf
TmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb247CiBjbGFzcyBFd2tfUmVzb3VyY2U7CitjbGFzcyBF
d2tfUG9wdXBfTWVudTsKIGNsYXNzIEV3a19TZXR0aW5nczsKIGNsYXNzIEV3a19VcmxfUmVxdWVz
dDsKIGNsYXNzIEV3a19VcmxfUmVzcG9uc2U7CkBAIC0xNjMsNiArMTY0LDggQEAgcHVibGljOgog
ICAgIHZvaWQgY2xvc2VQYWdlKCk7CiAKICAgICB2b2lkIHJlcXVlc3RQb3B1cE1lbnUoV2ViS2l0
OjpXZWJQb3B1cE1lbnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBXZWJDb3Jl
OjpUZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBWZWN0b3I8V2Vi
S2l0OjpXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4KTsKKyAgICB2
b2lkIGNsb3NlUG9wdXBNZW51KCk7CisKICAgICB2b2lkIHVwZGF0ZVRleHRJbnB1dFN0YXRlKCk7
CiAKICAgICB2b2lkIHJlcXVlc3RKU0FsZXJ0UG9wdXAoY29uc3QgV0tFaW5hU2hhcmVkU3RyaW5n
JiBtZXNzYWdlKTsKQEAgLTIyOCw5ICsyMzEsNiBAQCBwdWJsaWM6CiAgICAgT3duUHRyPEV3a19C
YWNrX0ZvcndhcmRfTGlzdD4gYmFja0ZvcndhcmRMaXN0OwogICAgIFJlZlB0cjxFd2tfQ29udGV4
dD4gY29udGV4dDsKIAotICAgIFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlFZmwqIHBvcHVwTWVu
dVByb3h5OwotICAgIEVpbmFfTGlzdCogcG9wdXBNZW51SXRlbXM7Ci0KICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgRXZhc19HTCogZXZhc0dsOwogICAgIEV2YXNfR0xfQ29u
dGV4dCogZXZhc0dsQ29udGV4dDsKQEAgLTI3Myw2ICsyNzMsNyBAQCBwcml2YXRlOgogICAgIFdL
UmV0YWluUHRyPFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZj4gbV9jb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyOwogICAgIFdlYkNvcmU6OlRpbWVyPEV3a1ZpZXdJbXBsPiBtX2Rpc3BsYXlU
aW1lcjsKICAgICBXVEY6OlZlY3RvciA8V2ViQ29yZTo6SW50UmVjdD4gbV9kaXJ0eVJlY3RzOwor
ICAgIE93blB0cjxFd2tfUG9wdXBfTWVudT4gbV9wb3B1cE1lbnU7CiAKICAgICB0eXBlZGVmIEhh
c2hNYXA8V0tQYWdlUmVmLCBjb25zdCBFdmFzX09iamVjdCo+IFBhZ2VWaWV3TWFwOwogICAgIHN0
YXRpYyBQYWdlVmlld01hcCBwYWdlVmlld01hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi43NjUxMTRlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuY3BwCkBAIC0wLDAgKzEsMTE1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORworICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnUuaCIKKworI2luY2x1ZGUg
IkV3a1ZpZXdJbXBsLmgiCisjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHlFZmwuaCIKKyNpbmNs
dWRlICJld2tfcG9wdXBfbWVudV9pdGVtX3ByaXZhdGUuaCIKKyNpbmNsdWRlICJld2tfcG9wdXBf
bWVudV9wcml2YXRlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK0V3a19Qb3B1cF9N
ZW51OjpFd2tfUG9wdXBfTWVudShFd2tWaWV3SW1wbCogdmlld0ltcGwsIFdlYlBvcHVwTWVudVBy
b3h5RWZsKiBwb3B1cE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVt
PiYgaXRlbXMsIHVuc2lnbmVkIHNlbGVjdGVkSW5kZXgpCisgICAgOiBtX3ZpZXdJbXBsKHZpZXdJ
bXBsKQorICAgICwgbV9wb3B1cE1lbnVQcm94eShwb3B1cE1lbnVQcm94eSkKKyAgICAsIG1fcG9w
dXBNZW51SXRlbXMoMCkKKyAgICAsIG1fc2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4KQorewor
ICAgIGNvbnN0IHNpemVfdCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBtX3BvcHVwTWVudUl0ZW1zID0gZWluYV9saXN0
X2FwcGVuZChtX3BvcHVwTWVudUl0ZW1zLCBFd2tfUG9wdXBfTWVudV9JdGVtOjpjcmVhdGUoaXRl
bXNbaV0pLmxlYWtQdHIoKSk7Cit9CisKK0V3a19Qb3B1cF9NZW51Ojp+RXdrX1BvcHVwX01lbnUo
KQoreworICAgIHZvaWQqIGl0ZW07CisgICAgRUlOQV9MSVNUX0ZSRUUobV9wb3B1cE1lbnVJdGVt
cywgaXRlbSkKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW0q
PihpdGVtKTsKK30KKwordm9pZCBFd2tfUG9wdXBfTWVudTo6Y2xvc2UoKQoreworICAgIG1fdmll
d0ltcGwtPmNsb3NlUG9wdXBNZW51KCk7Cit9CisKK2NvbnN0IEVpbmFfTGlzdCogRXdrX1BvcHVw
X01lbnU6Oml0ZW1zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wb3B1cE1lbnVJdGVtczsKK30K
KwordW5zaWduZWQgRXdrX1BvcHVwX01lbnU6OnNlbGVjdGVkSW5kZXgoKSBjb25zdAoreworICAg
IHJldHVybiBtX3NlbGVjdGVkSW5kZXg7Cit9CisKK2Jvb2wgRXdrX1BvcHVwX01lbnU6OnNldFNl
bGVjdGVkSW5kZXgodW5zaWduZWQgc2VsZWN0ZWRJbmRleCkKK3sKKyAgICBpZiAoIW1fcG9wdXBN
ZW51UHJveHkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChzZWxlY3RlZEluZGV4
ID49IGVpbmFfbGlzdF9jb3VudChtX3BvcHVwTWVudUl0ZW1zKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKG1fc2VsZWN0ZWRJbmRleCA9PSBzZWxlY3RlZEluZGV4KQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIG1fc2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXg7Cisg
ICAgbV9wb3B1cE1lbnVQcm94eS0+dmFsdWVDaGFuZ2VkKHNlbGVjdGVkSW5kZXgpOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKK0VpbmFfQm9vbCBld2tfcG9wdXBfbWVudV9jbG9zZShFd2tfUG9w
dXBfTWVudSogcG9wdXBNZW51KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChwb3B1cE1lbnUsIGZhbHNlKTsKKworICAgIHBvcHVwTWVudS0+Y2xvc2UoKTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCitFaW5hX0Jvb2wgZXdrX3BvcHVwX21lbnVfc2VsZWN0ZWRfaW5kZXhf
c2V0KEV3a19Qb3B1cF9NZW51KiBwb3B1cE1lbnUsIHVuc2lnbmVkIHNlbGVjdGVkSW5kZXgpCit7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHBvcHVwTWVudSwgZmFsc2UpOwor
CisgICAgcmV0dXJuIHBvcHVwTWVudS0+c2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4KTsK
K30KKwordW5zaWduZWQgZXdrX3BvcHVwX21lbnVfc2VsZWN0ZWRfaW5kZXhfZ2V0KGNvbnN0IEV3
a19Qb3B1cF9NZW51KiBwb3B1cE1lbnUpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKHBvcHVwTWVudSwgMCk7CisKKyAgICByZXR1cm4gcG9wdXBNZW51LT5zZWxlY3RlZElu
ZGV4KCk7Cit9CisKK2NvbnN0IEVpbmFfTGlzdCogZXdrX3BvcHVwX21lbnVfaXRlbXNfZ2V0KGNv
bnN0IEV3a19Qb3B1cF9NZW51KiBwb3B1cE1lbnUpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKHBvcHVwTWVudSwgMCk7CisKKyAgICByZXR1cm4gcG9wdXBNZW51LT5pdGVt
cygpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3BvcHVwX21lbnUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1
cF9tZW51LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRlMTc2OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1
cF9tZW51LmgKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRl
bCBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKKyAqIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAZmlsZSAgICBld2tfcG9wdXBfbWVudS5o
CisgKiBAYnJpZWYgICBEZXNjcmliZXMgdGhlIEV3ayBQb3B1cCBNZW51IEFQSS4KKyAqLworCisj
aWZuZGVmIGV3a19wb3B1cF9tZW51X2gKKyNkZWZpbmUgZXdrX3BvcHVwX21lbnVfaAorCisjaW5j
bHVkZSA8RWluYS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlm
CisKKy8qKiBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBFd2tfUG9wdXBfTWVudSAqLwordHlwZWRl
ZiBzdHJ1Y3QgRXdrX1BvcHVwX01lbnUgRXdrX1BvcHVwX01lbnU7CisKKy8qKgorICogU2VsZWN0
cyBpbmRleCBvZiBjdXJyZW50IHBvcHVwIG1lbnUuCisgKgorICogQHBhcmFtIHBvcHVwX21lbnUg
cG9wdXAgbWVudSBvYmplY3QKKyAqIEBwYXJhbSBpbmRleCBpbmRleCBvZiBpdGVtIHRvIHNlbGVj
dAorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3MsIEBjIEVJTkFfRkFMU0Ug
b24gZmFpbHVyZSAoZS5nLiB0aGUgaW5kZXggaXMgb3V0IG9mIHJhbmdlKQorICovCitFQVBJIEVp
bmFfQm9vbCBld2tfcG9wdXBfbWVudV9zZWxlY3RlZF9pbmRleF9zZXQoRXdrX1BvcHVwX01lbnUg
KnBvcHVwX21lbnUsIHVuc2lnbmVkIGluZGV4KTsKKworLyoqCisgKiBSZXR1cm5zIHRoZSBpbmRl
eCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0gaW4gdGhlIHBvcHVwIG1lbnUuCisgKgor
ICogQHBhcmFtIHBvcHVwX21lbnUgcG9wdXAgbWVudSBvYmplY3QKKyAqCisgKiBAcmV0dXJuIGlu
ZGV4IG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcG9wdXAgaXRlbSBvbiBzdWNjZXNzLCBAYyAw
IG90aGVyd2lzZQorICovCitFQVBJIHVuc2lnbmVkIGV3a19wb3B1cF9tZW51X3NlbGVjdGVkX2lu
ZGV4X2dldChjb25zdCBFd2tfUG9wdXBfTWVudSAqcG9wdXBfbWVudSk7CisKKy8qKgorICogQ2xv
c2VzIGN1cnJlbnQgcG9wdXAgbWVudS4KKyAqCisgKiBUaGUgRXdrX1BvcHVwX01lbnUgb2JqZWN0
IGJlY29tZXMgaW52YWxpZCBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisgKgorICogQHBh
cmFtIHBvcHVwX21lbnUgcG9wdXAgbWVudSBvYmplY3QKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFf
VFJVRSBvbiBzdWNjZXNzLCBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqLworRUFQSSBFaW5h
X0Jvb2wgZXdrX3BvcHVwX21lbnVfY2xvc2UoRXdrX1BvcHVwX01lbnUgKnBvcHVwX21lbnUpOwor
CisvKioKKyAqIFJldHJpZXZlIHRoZSBwb3B1cCBtZW51IGl0ZW1zCisgKgorICogQHBhcmFtIHBv
cHVwX21lbnUgcG9wdXAgbWVudSBvYmplY3QKKyAqCisgKiBAcmV0dXJuIEBjIGxpc3Qgb2YgcG9w
dXAgbWVudSBpdGVtcyBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZQorICovCitFQVBJIGNv
bnN0IEVpbmFfTGlzdCAqZXdrX3BvcHVwX21lbnVfaXRlbXNfZ2V0KGNvbnN0IEV3a19Qb3B1cF9N
ZW51ICpwb3B1cF9tZW51KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmIC8qIGV3a19wb3B1cF9tZW51X2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X3ByaXZhdGUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGFkYzVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfcHJpdmF0ZS5oCkBAIC0w
LDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24K
KyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIEhPTERFUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCisgKiBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgZXdrX3BvcHVwX21lbnVfcHJpdmF0ZV9oCisjZGVmaW5lIGV3a19w
b3B1cF9tZW51X3ByaXZhdGVfaAorCisjaW5jbHVkZSA8RWluYS5oPgorI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKK2NsYXNzIFdlYlBvcHVwSXRlbTsKK2NsYXNzIFdlYlBvcHVwTWVudVByb3h5RWZsOworfQor
CitjbGFzcyBFd2tWaWV3SW1wbDsKKworY2xhc3MgRXdrX1BvcHVwX01lbnUgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a19Qb3B1cF9NZW51PiBjcmVhdGUoRXdrVmlld0ltcGwq
IHZpZXdJbXBsLCBXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5RWZsKiBwb3B1cE1lbnVQcm94eSwg
Y29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiYgaXRlbXMsIHVuc2lnbmVkIHNlbGVj
dGVkSW5kZXgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a19Qb3B1cF9N
ZW51KHZpZXdJbXBsLCBwb3B1cE1lbnVQcm94eSwgaXRlbXMsIHNlbGVjdGVkSW5kZXgpKTsKKyAg
ICB9CisgICAgfkV3a19Qb3B1cF9NZW51KCk7CisKKyAgICB2b2lkIGNsb3NlKCk7CisKKyAgICBj
b25zdCBFaW5hX0xpc3QqIGl0ZW1zKCkgY29uc3Q7CisKKyAgICBib29sIHNldFNlbGVjdGVkSW5k
ZXgodW5zaWduZWQgc2VsZWN0ZWRJbmRleCk7CisgICAgdW5zaWduZWQgc2VsZWN0ZWRJbmRleCgp
IGNvbnN0OworCitwcml2YXRlOgorICAgIEV3a19Qb3B1cF9NZW51KEV3a1ZpZXdJbXBsKiB2aWV3
SW1wbCwgV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUVmbCosIGNvbnN0IFZlY3RvcjxXZWJLaXQ6
OldlYlBvcHVwSXRlbT4mIGl0ZW1zLCB1bnNpZ25lZCBzZWxlY3RlZEluZGV4KTsKKworICAgIEV3
a1ZpZXdJbXBsKiBtX3ZpZXdJbXBsOworICAgIFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlFZmwq
IG1fcG9wdXBNZW51UHJveHk7CisgICAgRWluYV9MaXN0KiBtX3BvcHVwTWVudUl0ZW1zOworICAg
IHVuc2lnbmVkIG1fc2VsZWN0ZWRJbmRleDsKK307CisKKyNlbmRpZiAvLyBld2tfcG9wdXBfbWVu
dV9wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcAppbmRleCA5ZGZmOTBjLi5hZTVjMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC0zOSwxNSArMzksMTIgQEAKICNpbmNsdWRlICJX
S1N0cmluZy5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJQYWdlR3Jv
dXAuaCIKLSNpbmNsdWRlICJXZWJQb3B1cEl0ZW0uaCIKLSNpbmNsdWRlICJXZWJQb3B1cE1lbnVQ
cm94eUVmbC5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiZXdrX2Jh
Y2tfZm9yd2FyZF9saXN0X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfY29udGV4dC5oIgogI2lu
Y2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfZmF2aWNvbl9kYXRh
YmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2ludGVudF9wcml2YXRlLmgiCi0jaW5jbHVk
ZSAiZXdrX3BvcHVwX21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUu
aCIKICNpbmNsdWRlICJld2tfc2V0dGluZ3NfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3
X3ByaXZhdGUuaCIKQEAgLTk3NCw0MSArOTcxLDYgQEAgRWluYV9Cb29sIGV3a192aWV3X3RleHRf
bWF0Y2hlc19jb3VudChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGV4dCwgRXcK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3BvcHVwX21lbnVfY2xv
c2UoRXZhc19PYmplY3QqIGV3a1ZpZXcpCi17Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9S
RVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHNtYXJ0RGF0YS0+YXBpLCBmYWxzZSk7Ci0KLSAgICBpZiAoIWltcGwtPnBvcHVw
TWVudVByb3h5KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpbXBsLT5wb3B1cE1lbnVQ
cm94eSA9IDA7Ci0KLSAgICBpZiAoc21hcnREYXRhLT5hcGktPnBvcHVwX21lbnVfaGlkZSkKLSAg
ICAgICAgc21hcnREYXRhLT5hcGktPnBvcHVwX21lbnVfaGlkZShzbWFydERhdGEpOwotCi0gICAg
dm9pZCogaXRlbTsKLSAgICBFSU5BX0xJU1RfRlJFRShpbXBsLT5wb3B1cE1lbnVJdGVtcywgaXRl
bSkKLSAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW0qPihpdGVt
KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfcG9wdXBfbWVu
dV9zZWxlY3QoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVuc2lnbmVkIGludCBzZWxlY3RlZEluZGV4
KQotewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBm
YWxzZSk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwg
ZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChpbXBsLT5wb3B1cE1l
bnVQcm94eSwgZmFsc2UpOwotCi0gICAgaWYgKHNlbGVjdGVkSW5kZXggPj0gZWluYV9saXN0X2Nv
dW50KGltcGwtPnBvcHVwTWVudUl0ZW1zKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
aW1wbC0+cG9wdXBNZW51UHJveHktPnZhbHVlQ2hhbmdlZChzZWxlY3RlZEluZGV4KTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfbW91c2VfZXZlbnRzX2VuYWJs
ZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxlZCkKIHsKICAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggYWZiOTcxYy4u
YWNkNDM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5o
CkBAIC03OSw2ICs3OSw3IEBACiAjaW5jbHVkZSAiZXdrX2Rvd25sb2FkX2pvYi5oIgogI2luY2x1
ZGUgImV3a19lcnJvci5oIgogI2luY2x1ZGUgImV3a19pbnRlbnQuaCIKKyNpbmNsdWRlICJld2tf
cG9wdXBfbWVudS5oIgogI2luY2x1ZGUgImV3a19yZXNvdXJjZS5oIgogI2luY2x1ZGUgImV3a19z
ZXR0aW5ncy5oIgogI2luY2x1ZGUgImV3a190b3VjaC5oIgpAQCAtMTA0LDcgKzEwNSw3IEBAIHN0
cnVjdCBFd2tfVmlld19TbWFydF9DbGFzcyB7CiAgICAgRXZhc19TbWFydF9DbGFzcyBzYzsgLyoq
PCBhbGwgYnV0ICdkYXRhJyBpcyBmcmVlIHRvIGJlIGNoYW5nZWQuICovCiAgICAgdW5zaWduZWQg
bG9uZyB2ZXJzaW9uOwogCi0gICAgRWluYV9Cb29sICgqcG9wdXBfbWVudV9zaG93KShFd2tfVmll
d19TbWFydF9EYXRhICpzZCwgRWluYV9SZWN0YW5nbGUgcmVjdCwgRXdrX1RleHRfRGlyZWN0aW9u
IHRleHRfZGlyZWN0aW9uLCBkb3VibGUgcGFnZV9zY2FsZV9mYWN0b3IsIEVpbmFfTGlzdCAqaXRl
bXMsIGludCBzZWxlY3RlZF9pbmRleCk7CisgICAgRWluYV9Cb29sICgqcG9wdXBfbWVudV9zaG93
KShFd2tfVmlld19TbWFydF9EYXRhICpzZCwgRWluYV9SZWN0YW5nbGUgcmVjdCwgRXdrX1RleHRf
RGlyZWN0aW9uIHRleHRfZGlyZWN0aW9uLCBkb3VibGUgcGFnZV9zY2FsZV9mYWN0b3IsIEV3a19Q
b3B1cF9NZW51ICptZW51KTsKICAgICBFaW5hX0Jvb2wgKCpwb3B1cF9tZW51X2hpZGUpKEV3a19W
aWV3X1NtYXJ0X0RhdGEgKnNkKTsKIAogICAgIC8vIGV2ZW50IGhhbmRsaW5nOgpAQCAtNjg5LDI3
ICs2OTAsNiBAQCBFQVBJIEVpbmFfQm9vbCBld2tfdmlld190ZXh0X2ZpbmRfaGlnaGxpZ2h0X2Ns
ZWFyKEV2YXNfT2JqZWN0ICpvKTsKIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3RleHRfbWF0Y2hl
c19jb3VudChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqdGV4dCwgRXdrX0ZpbmRfT3B0aW9u
cyBvcHRpb25zLCB1bnNpZ25lZCBtYXhfbWF0Y2hfY291bnQpOwogCiAvKioKLSAqIFNlbGVjdHMg
aW5kZXggb2YgY3VycmVudCBwb3B1cCBtZW51LgotICoKLSAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0
IGNvbnRhaW5zIHBvcHVwIG1lbnUuCi0gKiBAcGFyYW0gaW5kZXggaW5kZXggb2YgaXRlbSB0byBz
ZWxlY3QKLSAqCi0gKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzLCBAYyBFSU5BX0ZB
TFNFIG9uIGZhaWx1cmUgKHByb2JhYmx5Ci0gKiAgICAgICAgIHBvcHVwIG1lbnUgaXMgbm90IHNl
bGVjdGVkIG9yIGluZGV4IGlzIG91dCBvZiByYW5nZSkKLSAqLwotRUFQSSBFaW5hX0Jvb2wgZXdr
X3ZpZXdfcG9wdXBfbWVudV9zZWxlY3QoRXZhc19PYmplY3QgKm8sIHVuc2lnbmVkIGludCBpbmRl
eCk7Ci0KLS8qKgotICogQ2xvc2VzIGN1cnJlbnQgcG9wdXAgbWVudS4KLSAqCi0gKiBAcGFyYW0g
byB2aWV3IG9iamVjdCBjb250YWlucyBwb3B1cCBtZW51LgotICoKLSAqIEByZXR1cm4gQGMgRUlO
QV9UUlVFIG9uIHN1Y2Nlc3MsIEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZSAocHJvYmFibHkKLSAq
ICAgICAgICAgcG9wdXAgbWVudSBpcyBub3Qgc2VsZWN0ZWQpCi0gKi8KLUVBUEkgRWluYV9Cb29s
IGV3a192aWV3X3BvcHVwX21lbnVfY2xvc2UoRXZhc19PYmplY3QgKm8pOwotCi0vKioKICAqIFNl
dHMgd2hldGhlciB0aGUgZXdrX3ZpZXcgc3VwcG9ydHMgdGhlIG1vdXNlIGV2ZW50cyBvciBub3Qu
CiAgKgogICogVGhlIGV3a192aWV3IHdpbGwgc3VwcG9ydCB0aGUgbW91c2UgZXZlbnRzIGlmIEVJ
TkFfVFJVRSBvciBub3Qgc3VwcG9ydCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9wb3B1cF9tZW51LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9wb3B1cF9tZW51LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTAzMzUxCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3Bv
cHVwX21lbnUuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAx
MiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBv
cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQorICAg
IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorICAgIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCisqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2Uu
aCIKKyNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEVudmlyb25tZW50LmgiCisj
aW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxFY29yZS5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgRVdLMlVuaXRUZXN0OworCitleHRlcm4gRVdLMlVuaXRUZXN0RW52aXJvbm1lbnQqIGVudmly
b25tZW50OworCitzdGF0aWMgRXdrX1BvcHVwX01lbnUqIHNfcG9wdXBNZW51ID0gMDsKKworc3Rh
dGljIGlubGluZSB2b2lkIGNoZWNrQmFzaWNQb3B1cE1lbnVJdGVtKEV3a19Qb3B1cF9NZW51X0l0
ZW0qIGl0ZW0sIGNvbnN0IGNoYXIqIHRpdGxlLCBib29sIGVuYWJsZWQpCit7CisgICAgRVhQRUNU
X0VRKEVXS19QT1BVUF9NRU5VX0lURU0sIGV3a19wb3B1cF9tZW51X2l0ZW1fdHlwZV9nZXQoaXRl
bSkpOworICAgIEVYUEVDVF9TVFJFUSh0aXRsZSwgZXdrX3BvcHVwX21lbnVfaXRlbV90ZXh0X2dl
dChpdGVtKSk7CisgICAgRVhQRUNUX0VRKGVuYWJsZWQsIGV3a19wb3B1cF9tZW51X2l0ZW1fZW5h
YmxlZF9nZXQoaXRlbSkpOworfQorCitzdGF0aWMgRWluYV9Cb29sIHNlbGVjdEl0ZW1BZnRlckRl
bGF5ZWQodm9pZCogZGF0YSkKK3sKKyAgICBFWFBFQ1RfVFJVRShld2tfcG9wdXBfbWVudV9zZWxl
Y3RlZF9pbmRleF9zZXQoc3RhdGljX2Nhc3Q8RXdrX1BvcHVwX01lbnUqPihkYXRhKSwgMCkpOwor
ICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7Cit9CisKK3N0YXRpYyBFaW5hX0Jvb2wg
c2hvd1BvcHVwTWVudShFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIEVpbmFfUmVjdGFu
Z2xlLCBFd2tfVGV4dF9EaXJlY3Rpb24sIGRvdWJsZSwgRXdrX1BvcHVwX01lbnUqIHBvcHVwTWVu
dSkKK3sKKyAgICBzX3BvcHVwTWVudSA9IHBvcHVwTWVudTsKKworICAgIEVYUEVDVF9FUSgyLCBl
d2tfcG9wdXBfbWVudV9zZWxlY3RlZF9pbmRleF9nZXQocG9wdXBNZW51KSk7CisKKyAgICBjb25z
dCBFaW5hX0xpc3QqIGxpc3QgPSBld2tfcG9wdXBfbWVudV9pdGVtc19nZXQocG9wdXBNZW51KTsK
KworICAgIEV3a19Qb3B1cF9NZW51X0l0ZW0qIGl0ZW0gPSBzdGF0aWNfY2FzdDxFd2tfUG9wdXBf
TWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAwKSk7CisgICAgY2hlY2tCYXNpY1BvcHVw
TWVudUl0ZW0oaXRlbSwgImZpcnN0IiwgdHJ1ZSk7CisgICAgRVhQRUNUX0VRKEVXS19URVhUX0RJ
UkVDVElPTl9MRUZUX1RPX1JJR0hULCBld2tfcG9wdXBfbWVudV9pdGVtX3RleHRfZGlyZWN0aW9u
X2dldChpdGVtKSk7CisgICAgRVhQRUNUX1NUUkVRKCIiLCBld2tfcG9wdXBfbWVudV9pdGVtX3Rv
b2x0aXBfZ2V0KGl0ZW0pKTsKKyAgICBFWFBFQ1RfU1RSRVEoIiIsIGV3a19wb3B1cF9tZW51X2l0
ZW1fYWNjZXNzaWJpbGl0eV90ZXh0X2dldChpdGVtKSk7CisgICAgRVhQRUNUX0ZBTFNFKGV3a19w
b3B1cF9tZW51X2l0ZW1faXNfbGFiZWxfZ2V0KGl0ZW0pKTsKKyAgICBFWFBFQ1RfRkFMU0UoZXdr
X3BvcHVwX21lbnVfaXRlbV9zZWxlY3RlZF9nZXQoaXRlbSkpOworCisgICAgaXRlbSA9IHN0YXRp
Y19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3QsIDEpKTsKKyAg
ICBjaGVja0Jhc2ljUG9wdXBNZW51SXRlbShpdGVtLCAic2Vjb25kIiwgZmFsc2UpOworICAgIEVY
UEVDVF9GQUxTRShld2tfcG9wdXBfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KGl0ZW0pKTsKKworICAg
IGl0ZW0gPSBzdGF0aWNfY2FzdDxFd2tfUG9wdXBfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChs
aXN0LCAyKSk7CisgICAgY2hlY2tCYXNpY1BvcHVwTWVudUl0ZW0oaXRlbSwgInRoaXJkIiwgdHJ1
ZSk7CisgICAgRVhQRUNUX0VRKEVXS19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBld2tf
cG9wdXBfbWVudV9pdGVtX3RleHRfZGlyZWN0aW9uX2dldChpdGVtKSk7CisgICAgRVhQRUNUX1NU
UkVRKCJ0b29sdGlwIiwgZXdrX3BvcHVwX21lbnVfaXRlbV90b29sdGlwX2dldChpdGVtKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCJhcmlhIiwgZXdrX3BvcHVwX21lbnVfaXRlbV9hY2Nlc3NpYmlsaXR5
X3RleHRfZ2V0KGl0ZW0pKTsKKyAgICBFWFBFQ1RfVFJVRShld2tfcG9wdXBfbWVudV9pdGVtX3Nl
bGVjdGVkX2dldChpdGVtKSk7CisKKyAgICBpdGVtID0gc3RhdGljX2Nhc3Q8RXdrX1BvcHVwX01l
bnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlzdCwgMykpOworICAgIGNoZWNrQmFzaWNQb3B1cE1l
bnVJdGVtKGl0ZW0sICJsYWJlbCIsIGZhbHNlKTsKKyAgICBFWFBFQ1RfVFJVRShld2tfcG9wdXBf
bWVudV9pdGVtX2lzX2xhYmVsX2dldChpdGVtKSk7CisKKyAgICBpdGVtID0gc3RhdGljX2Nhc3Q8
RXdrX1BvcHVwX01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlzdCwgNCkpOworICAgIGNoZWNr
QmFzaWNQb3B1cE1lbnVJdGVtKGl0ZW0sICIgICAgZm9ydGgiLCB0cnVlKTsKKworICAgIGl0ZW0g
PSBzdGF0aWNfY2FzdDxFd2tfUG9wdXBfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCA1
KSk7CisgICAgRVhQRUNUX0VRKEVXS19QT1BVUF9NRU5VX1VOS05PV04sIGV3a19wb3B1cF9tZW51
X2l0ZW1fdHlwZV9nZXQoaXRlbSkpOworICAgIEVYUEVDVF9TVFJFUSgwLCBld2tfcG9wdXBfbWVu
dV9pdGVtX3RleHRfZ2V0KGl0ZW0pKTsKKworICAgIGVjb3JlX3RpbWVyX2FkZCgwLCBzZWxlY3RJ
dGVtQWZ0ZXJEZWxheWVkLCBwb3B1cE1lbnUpOworICAgIHJldHVybiB0cnVlOworfQorCitURVNU
X0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3BvcHVwX21lbnVfc2VsZWN0X2l0ZW0pCit7CisgICAg
Y29uc3QgY2hhciogc2VsZWN0SFRNTCA9CisgICAgICAgICI8IWRvY3R5cGUgaHRtbD48Ym9keT48
c2VsZWN0IG9uY2hhbmdlPVwiZG9jdW1lbnQudGl0bGU9dGhpcy52YWx1ZTtcIj4iCisgICAgICAg
ICI8b3B0aW9uPmZpcnN0PC9vcHRpb24+PG9wdGlvbiBkaXNhYmxlZD5zZWNvbmQ8L29wdGlvbj48
b3B0aW9uIHNlbGVjdGVkIGRpcj1cInJ0bFwiIHRpdGxlPVwidG9vbHRpcFwiIGFyaWEtbGFiZWw9
XCJhcmlhXCI+dGhpcmQ8L29wdGlvbj4iCisgICAgICAgICI8b3B0Z3JvdXAgbGFiZWw9XCJsYWJl
bFwiPjxvcHRpb24+Zm9ydGg8L29wdGlvbj48L29wdGdyb3VwPiIKKyAgICAgICAgIjwvc2VsZWN0
PjwvYm9keT4iOworCisgICAgZXdrVmlld0NsYXNzKCktPnBvcHVwX21lbnVfc2hvdyA9IHNob3dQ
b3B1cE1lbnU7CisKKyAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXcoKSwgc2Vs
ZWN0SFRNTCwgImZpbGU6Ly8vIiwgMCk7CisgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsTG9hZEZp
bmlzaGVkKCkpOworICAgIG1vdXNlQ2xpY2soMzAsIDIwKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0
VW50aWxUaXRsZUNoYW5nZWRUbygiZmlyc3QiKSk7CisKKyAgICBBU1NFUlRfVFJVRShzX3BvcHVw
TWVudSk7CisgICAgRVhQRUNUX1RSVUUoZXdrX3BvcHVwX21lbnVfY2xvc2Uoc19wb3B1cE1lbnUp
KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L3Rlc3RfZXdrMl92aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rl
c3RzL3Rlc3RfZXdrMl92aWV3LmNwcAppbmRleCA4ZGZlOTY2Li4yNzZiZTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2sy
X3ZpZXcuY3BwCkBAIC0yMDEsNzYgKzIwMSw2IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBl
d2tfdmlld19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdCkKICAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19kZWwod2ViVmlldygpLCAiZm9ybSxzdWJtaXNzaW9uLHJlcXVlc3QiLCBvbkZvcm1B
Ym91dFRvQmVTdWJtaXR0ZWQpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tCYXNpY1Bv
cHVwTWVudUl0ZW0oRXdrX1BvcHVwX01lbnVfSXRlbSogaXRlbSwgY29uc3QgY2hhciogdGl0bGUs
IGJvb2wgZW5hYmxlZCkKLXsKLSAgICBFWFBFQ1RfRVEoRVdLX1BPUFVQX01FTlVfSVRFTSwgZXdr
X3BvcHVwX21lbnVfaXRlbV90eXBlX2dldChpdGVtKSk7Ci0gICAgRVhQRUNUX1NUUkVRKHRpdGxl
LCBld2tfcG9wdXBfbWVudV9pdGVtX3RleHRfZ2V0KGl0ZW0pKTsKLSAgICBFWFBFQ1RfRVEoZW5h
YmxlZCwgZXdrX3BvcHVwX21lbnVfaXRlbV9lbmFibGVkX2dldChpdGVtKSk7Ci19Ci0KLXN0YXRp
YyBFaW5hX0Jvb2wgc2VsZWN0SXRlbUFmdGVyRGVsYXllZCh2b2lkKiBkYXRhKQotewotICAgIEVY
UEVDVF9UUlVFKGV3a192aWV3X3BvcHVwX21lbnVfc2VsZWN0KHN0YXRpY19jYXN0PEV2YXNfT2Jq
ZWN0Kj4oZGF0YSksIDApKTsKLSAgICByZXR1cm4gRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwotfQot
Ci1zdGF0aWMgRWluYV9Cb29sIHNob3dQb3B1cE1lbnUoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21h
cnREYXRhLCBFaW5hX1JlY3RhbmdsZSwgRXdrX1RleHRfRGlyZWN0aW9uLCBkb3VibGUsIEVpbmFf
TGlzdCogbGlzdCwgaW50IHNlbGVjdGVkSW5kZXgpCi17Ci0gICAgRVhQRUNUX0VRKDIsIHNlbGVj
dGVkSW5kZXgpOwotCi0gICAgRXdrX1BvcHVwX01lbnVfSXRlbSogaXRlbSA9IHN0YXRpY19jYXN0
PEV3a19Qb3B1cF9NZW51X0l0ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3QsIDApKTsKLSAgICBjaGVj
a0Jhc2ljUG9wdXBNZW51SXRlbShpdGVtLCAiZmlyc3QiLCB0cnVlKTsKLSAgICBFWFBFQ1RfRVEo
RVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsIGV3a19wb3B1cF9tZW51X2l0ZW1fdGV4
dF9kaXJlY3Rpb25fZ2V0KGl0ZW0pKTsKLSAgICBFWFBFQ1RfU1RSRVEoIiIsIGV3a19wb3B1cF9t
ZW51X2l0ZW1fdG9vbHRpcF9nZXQoaXRlbSkpOwotICAgIEVYUEVDVF9TVFJFUSgiIiwgZXdrX3Bv
cHVwX21lbnVfaXRlbV9hY2Nlc3NpYmlsaXR5X3RleHRfZ2V0KGl0ZW0pKTsKLSAgICBFWFBFQ1Rf
RkFMU0UoZXdrX3BvcHVwX21lbnVfaXRlbV9pc19sYWJlbF9nZXQoaXRlbSkpOwotICAgIEVYUEVD
VF9GQUxTRShld2tfcG9wdXBfbWVudV9pdGVtX3NlbGVjdGVkX2dldChpdGVtKSk7Ci0KLSAgICBp
dGVtID0gc3RhdGljX2Nhc3Q8RXdrX1BvcHVwX01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlz
dCwgMSkpOwotICAgIGNoZWNrQmFzaWNQb3B1cE1lbnVJdGVtKGl0ZW0sICJzZWNvbmQiLCBmYWxz
ZSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGV3a19wb3B1cF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQoaXRl
bSkpOwotCi0gICAgaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW0qPihlaW5h
X2xpc3RfbnRoKGxpc3QsIDIpKTsKLSAgICBjaGVja0Jhc2ljUG9wdXBNZW51SXRlbShpdGVtLCAi
dGhpcmQiLCB0cnVlKTsKLSAgICBFWFBFQ1RfRVEoRVdLX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RP
X0xFRlQsIGV3a19wb3B1cF9tZW51X2l0ZW1fdGV4dF9kaXJlY3Rpb25fZ2V0KGl0ZW0pKTsKLSAg
ICBFWFBFQ1RfU1RSRVEoInRvb2x0aXAiLCBld2tfcG9wdXBfbWVudV9pdGVtX3Rvb2x0aXBfZ2V0
KGl0ZW0pKTsKLSAgICBFWFBFQ1RfU1RSRVEoImFyaWEiLCBld2tfcG9wdXBfbWVudV9pdGVtX2Fj
Y2Vzc2liaWxpdHlfdGV4dF9nZXQoaXRlbSkpOwotICAgIEVYUEVDVF9UUlVFKGV3a19wb3B1cF9t
ZW51X2l0ZW1fc2VsZWN0ZWRfZ2V0KGl0ZW0pKTsKLQotICAgIGl0ZW0gPSBzdGF0aWNfY2FzdDxF
d2tfUG9wdXBfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAzKSk7Ci0gICAgY2hlY2tC
YXNpY1BvcHVwTWVudUl0ZW0oaXRlbSwgImxhYmVsIiwgZmFsc2UpOwotICAgIEVYUEVDVF9UUlVF
KGV3a19wb3B1cF9tZW51X2l0ZW1faXNfbGFiZWxfZ2V0KGl0ZW0pKTsKLQotICAgIGl0ZW0gPSBz
dGF0aWNfY2FzdDxFd2tfUG9wdXBfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCA0KSk7
Ci0gICAgY2hlY2tCYXNpY1BvcHVwTWVudUl0ZW0oaXRlbSwgIiAgICBmb3J0aCIsIHRydWUpOwot
Ci0gICAgaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW0qPihlaW5hX2xpc3Rf
bnRoKGxpc3QsIDUpKTsKLSAgICBFWFBFQ1RfRVEoRVdLX1BPUFVQX01FTlVfVU5LTk9XTiwgZXdr
X3BvcHVwX21lbnVfaXRlbV90eXBlX2dldChpdGVtKSk7Ci0gICAgRVhQRUNUX1NUUkVRKDAsIGV3
a19wb3B1cF9tZW51X2l0ZW1fdGV4dF9nZXQoaXRlbSkpOwotCi0gICAgZWNvcmVfdGltZXJfYWRk
KDAsIHNlbGVjdEl0ZW1BZnRlckRlbGF5ZWQsIHNtYXJ0RGF0YS0+c2VsZik7Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld19wb3B1cF9tZW51
X3NlbGVjdCkKLXsKLSAgICBjb25zdCBjaGFyKiBzZWxlY3RIVE1MID0KLSAgICAgICAgIjwhZG9j
dHlwZSBodG1sPjxib2R5PjxzZWxlY3Qgb25jaGFuZ2U9XCJkb2N1bWVudC50aXRsZT10aGlzLnZh
bHVlO1wiPiIKLSAgICAgICAgIjxvcHRpb24+Zmlyc3Q8L29wdGlvbj48b3B0aW9uIGRpc2FibGVk
PnNlY29uZDwvb3B0aW9uPjxvcHRpb24gc2VsZWN0ZWQgZGlyPVwicnRsXCIgdGl0bGU9XCJ0b29s
dGlwXCIgYXJpYS1sYWJlbD1cImFyaWFcIj50aGlyZDwvb3B0aW9uPiIKLSAgICAgICAgIjxvcHRn
cm91cCBsYWJlbD1cImxhYmVsXCI+PG9wdGlvbj5mb3J0aDwvb3B0aW9uPjwvb3B0Z3JvdXA+Igot
ICAgICAgICAiPC9zZWxlY3Q+PC9ib2R5PiI7Ci0KLSAgICBld2tWaWV3Q2xhc3MoKS0+cG9wdXBf
bWVudV9zaG93ID0gc2hvd1BvcHVwTWVudTsKLQotICAgIGV3a192aWV3X2h0bWxfc3RyaW5nX2xv
YWQod2ViVmlldygpLCBzZWxlY3RIVE1MLCAiZmlsZTovLy8iLCAwKTsKLSAgICBBU1NFUlRfVFJV
RSh3YWl0VW50aWxMb2FkRmluaXNoZWQoKSk7Ci0gICAgbW91c2VDbGljaygzMCwgMjApOwotICAg
IEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJmaXJzdCIpKTsKLQotICAgIEVY
UEVDVF9UUlVFKGV3a192aWV3X3BvcHVwX21lbnVfY2xvc2Uod2ViVmlldygpKSk7Ci0gICAgRVhQ
RUNUX0ZBTFNFKGV3a192aWV3X3BvcHVwX21lbnVfc2VsZWN0KHdlYlZpZXcoKSwgMCkpOwotfQot
CiBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KQogewogICAg
IEV3a19TZXR0aW5ncyogc2V0dGluZ3MgPSBld2tfdmlld19zZXR0aW5nc19nZXQod2ViVmlldygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUG9wdXBNZW51
UHJveHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQb3B1cE1lbnVQ
cm94eUVmbC5jcHAKaW5kZXggMWIzZGVjOS4uZjViMTA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQb3B1cE1lbnVQcm94eUVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQb3B1cE1lbnVQcm94eUVmbC5jcHAKQEAgLTQ5LDcg
KzQ5LDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUVmbDo6c2hvd1BvcHVwTWVudShjb25zdCBJ
bnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHQKIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94
eUVmbDo6aGlkZVBvcHVwTWVudSgpCiB7Ci0gICAgZXdrX3ZpZXdfcG9wdXBfbWVudV9jbG9zZSht
X3ZpZXdJbXBsLT52aWV3KCkpOworICAgIG1fdmlld0ltcGwtPmNsb3NlUG9wdXBNZW51KCk7CiB9
CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlFZmw6OnZhbHVlQ2hhbmdlZChpbnQgbmV3U2VsZWN0
ZWRJbmRleCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>