<?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>138467</bug_id>
          
          <creation_ts>2014-11-06 07:51:08 -0800</creation_ts>
          <short_desc>[GTK] Use API::ContextMenuClient and API::InjectedBundle::PageContextMenuClient classes</short_desc>
          <delta_ts>2015-01-22 00:30:44 -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>
          <dependson>138466</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1046808</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-06 07:51:08 -0800</bug_when>
    <thetext>To simplify the implementation of the context menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046809</commentid>
    <comment_count>1</comment_count>
      <attachid>241108</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-06 08:00:11 -0800</bug_when>
    <thetext>Created attachment 241108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046812</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-06 08:01:06 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047652</commentid>
    <comment_count>3</comment_count>
      <attachid>241108</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-11-10 15:05:12 -0800</bug_when>
    <thetext>Comment on attachment 241108
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063317</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-22 00:30:44 -0800</bug_when>
    <thetext>Committed r178892: &lt;http://trac.webkit.org/changeset/178892&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241108</attachid>
            <date>2014-11-06 08:00:11 -0800</date>
            <delta_ts>2014-11-10 15:05:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-gtk-context-menu-client.diff</filename>
            <type>text/plain</type>
            <size>23407</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxMjA2ZGJjLi4xMWZmMzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEg
QEAKIDIwMTQtMTEtMDYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdIFVzZSBBUEk6OkNvbnRleHRNZW51Q2xpZW50IGFuZCBBUEk6Oklu
amVjdGVkQnVuZGxlOjpQYWdlQ29udGV4dE1lbnVDbGllbnQgY2xhc3NlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NDY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDb250ZXh0TWVudS5jcHA6CisgICAgICAgICh3ZWJraXRDb250ZXh0TWVudVBvcHVsYXRl
KTogQWRkIGEgdmVyc2lvbiB0aGF0IHJlY2VpdmVzIGEgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRl
bURhdGE+Ji4KKyAgICAgICAgKHdlYmtpdENvbnRleHRNZW51Q3JlYXRlKTogQ2hhbmdlIGl0IHRv
IHJlY2VpdmUgYSBjb25zdAorICAgICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
IGluc3RlYWQgb2YgYSBBUEk6OkFycmF5KiBhbmQgYWxzbworICAgICAgICBhZGQgYSBhbm90aGVy
IHZlcnNpb24gdGhhdCByZWNlaXZlcyBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwOgor
ICAgICAgICAoYXR0YWNoQ29udGV4dE1lbnVDbGllbnRUb1ZpZXcpOiBVc2UgYSBjbGFzcyBkZXJp
dmVkIGZyb20KKyAgICAgICAgQVBJOjpDb250ZXh0TWVudUNsaWVudCB0byBpbXBsZW1lbnQgdGhl
IGNvbnRleHQgbWVudSBjbGllbnQuCisgICAgICAgIChnZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRl
eHRNZW51SXRlbS5jcHA6CisgICAgICAgICh3ZWJraXRDb250ZXh0TWVudUl0ZW1DcmVhdGUpOiBD
aGFuZ2UgaXQgdG8gcmVjZWl2ZSBhIGNvbnN0CisgICAgICAgIFdlYkNvbnRleHRNZW51SXRlbURh
dGEmIGFuZCBhZGRlZCBhbm90aGVyIHZlcnNpb24gdGhhdCByZWNlaXZlcyBhCisgICAgICAgIGNv
bnN0IENvbnRleHRNZW51SXRlbSYuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
Q29udGV4dE1lbnVJdGVtUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdENvbnRleHRNZW51UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld1BvcHVsYXRlQ29udGV4dE1l
bnUpOiBSZW1vdmUgdGhlIGNyZWF0aW9uIG9mIGEKKyAgICAgICAgV2ViSGl0VGVzdFJlc3VsdDo6
RGF0YSwgc2luY2UgaXQgcmVjZWl2ZXMgaXQgbm93IGFzIHBhcmFtZXRlci4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJIaXRUZXN0UmVzdWx0LmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYkhpdFRlc3RSZXN1bHRDcmVhdGUpOiBDaGFuZ2UgaXQgdG8gcmVj
ZWl2ZSBhIGNvbnN0CisgICAgICAgIEhpdFRlc3RSZXN1bHQmIGluc3RlYWQgb2YgY29uc3QgSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Ji4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViSGl0VGVzdFJlc3VsdFByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHA6Cisg
ICAgICAgICh3ZWJraXRXZWJQYWdlQ3JlYXRlKTogVXNlIGEgY2xhc3MgZGVyaXZlZCBmcm9tCisg
ICAgICAgIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OlBhZ2VDb250ZXh0TWVudUNsaWVudCB0byBpbXBs
ZW1lbnQgdGhlCisgICAgICAgIGNvbnRleHQgbWVudSBjbGllbnQuCisgICAgICAgIChnZXRDb250
ZXh0TWVudUZyb21EZWZhdWx0TWVudSk6IERlbGV0ZWQuCisKKzIwMTQtMTEtMDYgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAgIEFkZCBBUEk6OkNv
bnRleHRNZW51Q2xpZW50IGFuZCBBUEk6OkluamVjdGVkQnVuZGxlOjpQYWdlQ29udGV4dE1lbnVD
bGllbnQgY2xhc3NlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM4NDY2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdENvbnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdENvbnRleHRNZW51LmNwcAppbmRleCA0NTA3NzYxLi5iZmY4Y2ZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1l
bnUuY3BwCkBAIC03NiwxMyArNzYsMjkgQEAgdm9pZCB3ZWJraXRDb250ZXh0TWVudVBvcHVsYXRl
KFdlYktpdENvbnRleHRNZW51KiBtZW51LCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYKICAgICB9
CiB9CiAKLVdlYktpdENvbnRleHRNZW51KiB3ZWJraXRDb250ZXh0TWVudUNyZWF0ZShBUEk6OkFy
cmF5KiBpdGVtcykKK3ZvaWQgd2Via2l0Q29udGV4dE1lbnVQb3B1bGF0ZShXZWJLaXRDb250ZXh0
TWVudSogbWVudSwgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBjb250ZXh0TWVudUl0
ZW1zKQoreworICAgIGZvciAoR0xpc3QqIGl0ZW0gPSBtZW51LT5wcml2LT5pdGVtczsgaXRlbTsg
aXRlbSA9IGdfbGlzdF9uZXh0KGl0ZW0pKSB7CisgICAgICAgIFdlYktpdENvbnRleHRNZW51SXRl
bSogbWVudUl0ZW0gPSBXRUJLSVRfQ09OVEVYVF9NRU5VX0lURU0oaXRlbS0+ZGF0YSk7CisgICAg
ICAgIGNvbnRleHRNZW51SXRlbXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbURhdGEoQ29udGV4
dE1lbnVJdGVtKHdlYmtpdENvbnRleHRNZW51SXRlbVJlbGVhc2UobWVudUl0ZW0pKSkpOworICAg
IH0KK30KKworV2ViS2l0Q29udGV4dE1lbnUqIHdlYmtpdENvbnRleHRNZW51Q3JlYXRlKGNvbnN0
IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCiB7CiAgICAgV2ViS2l0Q29u
dGV4dE1lbnUqIG1lbnUgPSB3ZWJraXRfY29udGV4dF9tZW51X25ldygpOwotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgaXRlbXMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFdlYkNvbnRleHRN
ZW51SXRlbSogaXRlbSA9IHN0YXRpY19jYXN0PFdlYkNvbnRleHRNZW51SXRlbSo+KGl0ZW1zLT5h
dChpKSk7CisgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDogaXRlbXMpCisgICAgICAgIHdlYmtp
dF9jb250ZXh0X21lbnVfcHJlcGVuZChtZW51LCB3ZWJraXRDb250ZXh0TWVudUl0ZW1DcmVhdGUo
aXRlbSkpOworICAgIG1lbnUtPnByaXYtPml0ZW1zID0gZ19saXN0X3JldmVyc2UobWVudS0+cHJp
di0+aXRlbXMpOworCisgICAgcmV0dXJuIG1lbnU7Cit9CisKK1dlYktpdENvbnRleHRNZW51KiB3
ZWJraXRDb250ZXh0TWVudUNyZWF0ZShjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgaXRl
bXMpCit7CisgICAgV2ViS2l0Q29udGV4dE1lbnUqIG1lbnUgPSB3ZWJraXRfY29udGV4dF9tZW51
X25ldygpOworICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IGl0ZW1zKQogICAgICAgICB3ZWJr
aXRfY29udGV4dF9tZW51X3ByZXBlbmQobWVudSwgd2Via2l0Q29udGV4dE1lbnVJdGVtQ3JlYXRl
KGl0ZW0pKTsKLSAgICB9CiAgICAgbWVudS0+cHJpdi0+aXRlbXMgPSBnX2xpc3RfcmV2ZXJzZSht
ZW51LT5wcml2LT5pdGVtcyk7CiAKICAgICByZXR1cm4gbWVudTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50
LmNwcAppbmRleCBjODE0ZDZhLi4wNWI3MGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCkBA
IC0yMCwzOCArMjAsMzggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRD
b250ZXh0TWVudUNsaWVudC5oIgogCi0jaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1
ZGUgIkFQSUNvbnRleHRNZW51Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAotc3RhdGljIHZvaWQgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRN
ZW51KFdLUGFnZVJlZiwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqLCBXS0hp
dFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQotewotICAgIEdSZWZQdHI8R1ZhcmlhbnQ+IHZhcmlhbnQ7Ci0gICAg
aWYgKHVzZXJEYXRhKSB7Ci0gICAgICAgIEFTU0VSVChXS0dldFR5cGVJRCh1c2VyRGF0YSkgPT0g
V0tTdHJpbmdHZXRUeXBlSUQoKSk7Ci0gICAgICAgIENTdHJpbmcgdXNlckRhdGFTdHJpbmcgPSB0
b0ltcGwoc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KHVzZXJEYXRhKSktPnN0cmluZygpLnV0Zjgo
KTsKLSAgICAgICAgdmFyaWFudCA9IGFkb3B0R1JlZihnX3ZhcmlhbnRfcGFyc2UobnVsbHB0ciwg
dXNlckRhdGFTdHJpbmcuZGF0YSgpLCB1c2VyRGF0YVN0cmluZy5kYXRhKCkgKyB1c2VyRGF0YVN0
cmluZy5sZW5ndGgoKSwgbnVsbHB0ciwgbnVsbHB0cikpOworY2xhc3MgQ29udGV4dE1lbnVDbGll
bnQgZmluYWw6IHB1YmxpYyBBUEk6OkNvbnRleHRNZW51Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBDb250ZXh0TWVudUNsaWVudChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQorICAgICAg
ICA6IG1fd2ViVmlldyh3ZWJWaWV3KQorICAgIHsKICAgICB9Ci0gICAgd2Via2l0V2ViVmlld1Bv
cHVsYXRlQ29udGV4dE1lbnUoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCB0b0ltcGwocHJv
cG9zZWRNZW51KSwgdG9JbXBsKGhpdFRlc3RSZXN1bHQpLCB2YXJpYW50LmdldCgpKTsKLX0KKwor
cHJpdmF0ZToKKyAgICBib29sIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkqLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIHByb3Bvc2VkTWVu
dSwgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiwgY29uc3QgV2ViSGl0VGVzdFJlc3Vs
dDo6RGF0YSYgaGl0VGVzdFJlc3VsdERhdGEsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJp
ZGUKKyAgICB7CisgICAgICAgIEdSZWZQdHI8R1ZhcmlhbnQ+IHZhcmlhbnQ7CisgICAgICAgIGlm
ICh1c2VyRGF0YSkgeworICAgICAgICAgICAgQVNTRVJUKHVzZXJEYXRhLT50eXBlKCkgPT0gQVBJ
OjpPYmplY3Q6OlR5cGU6OlN0cmluZyk7CisgICAgICAgICAgICBDU3RyaW5nIHVzZXJEYXRhU3Ry
aW5nID0gc3RhdGljX2Nhc3Q8QVBJOjpTdHJpbmcqPih1c2VyRGF0YSktPnN0cmluZygpLnV0Zjgo
KTsKKyAgICAgICAgICAgIHZhcmlhbnQgPSBhZG9wdEdSZWYoZ192YXJpYW50X3BhcnNlKG51bGxw
dHIsIHVzZXJEYXRhU3RyaW5nLmRhdGEoKSwgdXNlckRhdGFTdHJpbmcuZGF0YSgpICsgdXNlckRh
dGFTdHJpbmcubGVuZ3RoKCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgfQorICAgICAg
ICB3ZWJraXRXZWJWaWV3UG9wdWxhdGVDb250ZXh0TWVudShtX3dlYlZpZXcsIHByb3Bvc2VkTWVu
dSwgaGl0VGVzdFJlc3VsdERhdGEsIHZhcmlhbnQuZ2V0KCkpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBXZWJLaXRXZWJWaWV3KiBtX3dlYlZpZXc7Cit9OwogCiB2b2lkIGF0
dGFjaENvbnRleHRNZW51Q2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7Ci0g
ICAgV0tQYWdlQ29udGV4dE1lbnVDbGllbnRWMyB3a0NvbnRleHRNZW51Q2xpZW50ID0gewotICAg
ICAgICB7Ci0gICAgICAgICAgICAzLCAvLyB2ZXJzaW9uCi0gICAgICAgICAgICB3ZWJWaWV3LCAv
LyBjbGllbnRJbmZvCi0gICAgICAgIH0sCi0gICAgICAgIDAsIC8vIGdldENvbnRleHRNZW51RnJv
bVByb3Bvc2VkTWVudV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCi0gICAgICAgIDAsIC8vIGN1c3Rv
bUNvbnRleHRNZW51SXRlbVNlbGVjdGVkCi0gICAgICAgIDAsIC8vIGNvbnRleHRNZW51RGlzbWlz
c2VkCi0gICAgICAgIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSwKLSAgICAgICAgMCwg
Ly8gc2hvd0NvbnRleHRNZW51Ci0gICAgICAgIDAsIC8vIGhpZGVDb250ZXh0TWVudQotICAgIH07
Ci0gICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShX
RUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwotICAgIFdLUGFnZVNldFBhZ2VDb250ZXh0
TWVudUNsaWVudCh3a1BhZ2UsICZ3a0NvbnRleHRNZW51Q2xpZW50LmJhc2UpOworICAgIFdlYlBh
Z2VQcm94eSogcGFnZSA9IHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdf
QkFTRSh3ZWJWaWV3KSk7CisgICAgcGFnZS0+c2V0Q29udGV4dE1lbnVDbGllbnQoc3RkOjptYWtl
X3VuaXF1ZTxDb250ZXh0TWVudUNsaWVudD4od2ViVmlldykpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUl0ZW0uY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVJdGVt
LmNwcAppbmRleCBlMmVjOGQzLi42OGE4NGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUl0ZW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51SXRlbS5jcHAKQEAgLTkw
LDIwICs5MCwyNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRDb250ZXh0TWVudUl0ZW1TZXRTdWJNZW51
KFdlYktpdENvbnRleHRNZW51SXRlbSogaXRlbSwgR1JlZlB0cgogICAgICAgICB3ZWJraXRDb250
ZXh0TWVudVNldFBhcmVudEl0ZW0oc3ViTWVudS5nZXQoKSwgaXRlbSk7CiB9CiAKLVdlYktpdENv
bnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVJdGVtQ3JlYXRlKFdlYkNvbnRleHRNZW51
SXRlbSogd2ViSXRlbSkKK1dlYktpdENvbnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVJ
dGVtQ3JlYXRlKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW1EYXRhKQogewogICAg
IFdlYktpdENvbnRleHRNZW51SXRlbSogaXRlbSA9IFdFQktJVF9DT05URVhUX01FTlVfSVRFTShn
X29iamVjdF9uZXcoV0VCS0lUX1RZUEVfQ09OVEVYVF9NRU5VX0lURU0sIE5VTEwpKTsKLSAgICBX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhKiBpdGVtRGF0YSA9IHdlYkl0ZW0tPmRhdGEoKTsKLSAgICBp
dGVtLT5wcml2LT5tZW51SXRlbSA9IHN0ZDo6bWFrZV91bmlxdWU8Q29udGV4dE1lbnVJdGVtPihp
dGVtRGF0YS0+dHlwZSgpLCBpdGVtRGF0YS0+YWN0aW9uKCksIGl0ZW1EYXRhLT50aXRsZSgpLCBp
dGVtRGF0YS0+ZW5hYmxlZCgpLCBpdGVtRGF0YS0+Y2hlY2tlZCgpKTsKLSAgICBjb25zdCBWZWN0
b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIHN1Yk1lbnUgPSBpdGVtRGF0YS0+c3VibWVudSgp
OwotICAgIGlmICghc3ViTWVudS5zaXplKCkpCi0gICAgICAgIHJldHVybiBpdGVtOwotCi0gICAg
VmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHN1Yk1lbnVJdGVtczsKLSAgICBzdWJNZW51SXRl
bXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzdWJNZW51LnNpemUoKSk7Ci0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBzdWJNZW51LnNpemUoKTsgKytpKQotICAgICAgICBzdWJNZW51SXRlbXMu
dW5jaGVja2VkQXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKHN1Yk1lbnVbaV0pLmdl
dCgpKTsKLSAgICB3ZWJraXRDb250ZXh0TWVudUl0ZW1TZXRTdWJNZW51KGl0ZW0sIGFkb3B0R1Jl
Zih3ZWJraXRDb250ZXh0TWVudUNyZWF0ZShBUEk6OkFycmF5OjpjcmVhdGUoV1RGOjptb3ZlKHN1
Yk1lbnVJdGVtcykpLmdldCgpKSkpOworCisgICAgaXRlbS0+cHJpdi0+bWVudUl0ZW0gPSBzdGQ6
Om1ha2VfdW5pcXVlPENvbnRleHRNZW51SXRlbT4oaXRlbURhdGEudHlwZSgpLCBpdGVtRGF0YS5h
Y3Rpb24oKSwgaXRlbURhdGEudGl0bGUoKSwgaXRlbURhdGEuZW5hYmxlZCgpLCBpdGVtRGF0YS5j
aGVja2VkKCkpOworICAgIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgc3Vi
TWVudSA9IGl0ZW1EYXRhLnN1Ym1lbnUoKTsKKyAgICBpZiAoIXN1Yk1lbnUuaXNFbXB0eSgpKQor
ICAgICAgICB3ZWJraXRDb250ZXh0TWVudUl0ZW1TZXRTdWJNZW51KGl0ZW0sIGFkb3B0R1JlZih3
ZWJraXRDb250ZXh0TWVudUNyZWF0ZShzdWJNZW51KSkpOworCisgICAgcmV0dXJuIGl0ZW07Cit9
CisKK1dlYktpdENvbnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVJdGVtQ3JlYXRlKGNv
bnN0IENvbnRleHRNZW51SXRlbSYgY29yZUl0ZW0pCit7CisgICAgV2ViS2l0Q29udGV4dE1lbnVJ
dGVtKiBpdGVtID0gV0VCS0lUX0NPTlRFWFRfTUVOVV9JVEVNKGdfb2JqZWN0X25ldyhXRUJLSVRf
VFlQRV9DT05URVhUX01FTlVfSVRFTSwgTlVMTCkpOworCisgICAgaXRlbS0+cHJpdi0+bWVudUl0
ZW0gPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRleHRNZW51SXRlbT4oY29yZUl0ZW0udHlwZSgpLCBj
b3JlSXRlbS5hY3Rpb24oKSwgY29yZUl0ZW0udGl0bGUoKSwgY29yZUl0ZW0uZW5hYmxlZCgpLCBj
b3JlSXRlbS5jaGVja2VkKCkpOworICAgIGlmIChjb3JlSXRlbS50eXBlKCkgPT0gV2ViQ29yZTo6
U3VibWVudVR5cGUpIHsKKyAgICAgICAgVmVjdG9yPENvbnRleHRNZW51SXRlbT4gc3ViTWVudSA9
IGNvbnRleHRNZW51SXRlbVZlY3Rvcihjb3JlSXRlbS5wbGF0Zm9ybVN1Yk1lbnUoKSk7CisgICAg
ICAgIHdlYmtpdENvbnRleHRNZW51SXRlbVNldFN1Yk1lbnUoaXRlbSwgYWRvcHRHUmVmKHdlYmtp
dENvbnRleHRNZW51Q3JlYXRlKHN1Yk1lbnUpKSk7CisgICAgfQogCiAgICAgcmV0dXJuIGl0ZW07
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRD
b250ZXh0TWVudUl0ZW1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDb250ZXh0TWVudUl0ZW1Qcml2YXRlLmgKaW5kZXggMThmOGMxYS4uN2Q4NWYyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4
dE1lbnVJdGVtUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdENvbnRleHRNZW51SXRlbVByaXZhdGUuaApAQCAtMjAsMTAgKzIwLDEyIEBACiAjaWZu
ZGVmIFdlYktpdENvbnRleHRNZW51SXRlbVByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRDb250ZXh0
TWVudUl0ZW1Qcml2YXRlX2gKIAorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIK
ICNpbmNsdWRlICJXZWJLaXRDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJLaXRQcml2
YXRlLmgiCiAKLVdlYktpdENvbnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVJdGVtQ3Jl
YXRlKFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtKik7CitXZWJLaXRDb250ZXh0TWVudUl0ZW0q
IHdlYmtpdENvbnRleHRNZW51SXRlbUNyZWF0ZShjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51
SXRlbURhdGEmKTsKK1dlYktpdENvbnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVJdGVt
Q3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbSYpOwogR3RrTWVudUl0ZW0qIHdl
YmtpdENvbnRleHRNZW51SXRlbVJlbGVhc2UoV2ViS2l0Q29udGV4dE1lbnVJdGVtKik7CiB2b2lk
IHdlYmtpdENvbnRleHRNZW51SXRlbVNldFN1Yk1lbnVGcm9tR3RrTWVudShXZWJLaXRDb250ZXh0
TWVudUl0ZW0qLCBHdGtNZW51Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVQcml2YXRlLmgKaW5kZXggZGNmZDE2
Yi4uZTBiYWFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0Q29udGV4dE1lbnVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVQcml2YXRlLmgKQEAgLTIwLDExICsyMCwxNCBAQAog
I2lmbmRlZiBXZWJLaXRDb250ZXh0TWVudVByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRDb250ZXh0
TWVudVByaXZhdGVfaAogCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgogI2lu
Y2x1ZGUgIldlYktpdENvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgog
Ci1XZWJLaXRDb250ZXh0TWVudSogd2Via2l0Q29udGV4dE1lbnVDcmVhdGUoQVBJOjpBcnJheSog
aXRlbXMpOworV2ViS2l0Q29udGV4dE1lbnUqIHdlYmtpdENvbnRleHRNZW51Q3JlYXRlKGNvbnN0
IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7CitXZWJLaXRDb250ZXh0
TWVudSogd2Via2l0Q29udGV4dE1lbnVDcmVhdGUoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbT4mKTsKIHZvaWQgd2Via2l0Q29udGV4dE1lbnVQb3B1bGF0ZShXZWJLaXRDb250
ZXh0TWVudSosIFZlY3RvcjxXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0+Jik7Cit2b2lkIHdlYmtp
dENvbnRleHRNZW51UG9wdWxhdGUoV2ViS2l0Q29udGV4dE1lbnUqLCBWZWN0b3I8V2ViS2l0OjpX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYpOwogdm9pZCB3ZWJraXRDb250ZXh0TWVudVNldFBhcmVu
dEl0ZW0oV2ViS2l0Q29udGV4dE1lbnUqLCBXZWJLaXRDb250ZXh0TWVudUl0ZW0qKTsKIFdlYktp
dENvbnRleHRNZW51SXRlbSogd2Via2l0Q29udGV4dE1lbnVHZXRQYXJlbnRJdGVtKFdlYktpdENv
bnRleHRNZW51Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZmE2NzE4My4uMTBkMDMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTE4OTEs
MzAgKzE4OTEsMTcgQEAgc3RhdGljIHZvaWQgY29udGV4dE1lbnVEaXNtaXNzZWQoR3RrTWVudVNo
ZWxsKiwgV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcs
IHNpZ25hbHNbQ09OVEVYVF9NRU5VX0RJU01JU1NFRF0sIDAsIE5VTEwpOwogfQogCi12b2lkIHdl
YmtpdFdlYlZpZXdQb3B1bGF0ZUNvbnRleHRNZW51KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEFQ
STo6QXJyYXkqIHByb3Bvc2VkTWVudSwgV2ViSGl0VGVzdFJlc3VsdCogd2ViSGl0VGVzdFJlc3Vs
dCwgR1ZhcmlhbnQqIHVzZXJEYXRhKQordm9pZCB3ZWJraXRXZWJWaWV3UG9wdWxhdGVDb250ZXh0
TWVudShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4mIHByb3Bvc2VkTWVudSwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYgaGl0
VGVzdFJlc3VsdERhdGEsIEdWYXJpYW50KiB1c2VyRGF0YSkKIHsKICAgICBXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UgPSBXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KTsKICAgICBX
ZWJDb250ZXh0TWVudVByb3h5R3RrKiBjb250ZXh0TWVudVByb3h5ID0gd2Via2l0V2ViVmlld0Jh
c2VHZXRBY3RpdmVDb250ZXh0TWVudVByb3h5KHdlYlZpZXdCYXNlKTsKICAgICBBU1NFUlQoY29u
dGV4dE1lbnVQcm94eSk7CiAKICAgICBHUmVmUHRyPFdlYktpdENvbnRleHRNZW51PiBjb250ZXh0
TWVudSA9IGFkb3B0R1JlZih3ZWJraXRDb250ZXh0TWVudUNyZWF0ZShwcm9wb3NlZE1lbnUpKTsK
LSAgICBpZiAod2ViSGl0VGVzdFJlc3VsdC0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICBpZiAo
aGl0VGVzdFJlc3VsdERhdGEuaXNDb250ZW50RWRpdGFibGUpCiAgICAgICAgIHdlYmtpdFdlYlZp
ZXdDcmVhdGVBbmRBcHBlbmRJbnB1dE1ldGhvZHNNZW51SXRlbSh3ZWJWaWV3LCBjb250ZXh0TWVu
dS5nZXQoKSk7CiAKLSAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIHVzZSBhIGN1c3RvbSBDb250ZXh0
TWVudUNsaWVudCBhdCBzb21lIHBvaW50LCB0aGF0IHdpbGwgcmVjZWl2ZSBhCi0gICAgLy8gY29u
c3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYgdGhhdCB3ZSBjYW4gdXNlIGRpcmVjdGx5IGhlcmUu
Ci0gICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSBkYXRhOwotICAgIGRhdGEuYWJzb2x1dGVJbWFn
ZVVSTCA9IHdlYkhpdFRlc3RSZXN1bHQtPmFic29sdXRlSW1hZ2VVUkwoKTsKLSAgICBkYXRhLmFi
c29sdXRlTGlua1VSTCA9IHdlYkhpdFRlc3RSZXN1bHQtPmFic29sdXRlTGlua1VSTCgpOwotICAg
IGRhdGEuYWJzb2x1dGVNZWRpYVVSTCA9IHdlYkhpdFRlc3RSZXN1bHQtPmFic29sdXRlTWVkaWFV
UkwoKTsKLSAgICBkYXRhLmxpbmtMYWJlbCA9IHdlYkhpdFRlc3RSZXN1bHQtPmxpbmtMYWJlbCgp
OwotICAgIGRhdGEubGlua1RpdGxlID0gd2ViSGl0VGVzdFJlc3VsdC0+bGlua1RpdGxlKCk7Ci0g
ICAgZGF0YS5pc0NvbnRlbnRFZGl0YWJsZSA9IHdlYkhpdFRlc3RSZXN1bHQtPmlzQ29udGVudEVk
aXRhYmxlKCk7Ci0gICAgZGF0YS5lbGVtZW50Qm91bmRpbmdCb3ggPSB3ZWJIaXRUZXN0UmVzdWx0
LT5lbGVtZW50Qm91bmRpbmdCb3goKTsKLSAgICBkYXRhLmlzU2Nyb2xsYmFyID0gd2ViSGl0VGVz
dFJlc3VsdC0+aXNTY3JvbGxiYXIoKTsKLSAgICBkYXRhLmlzU2VsZWN0ZWQgPSB3ZWJIaXRUZXN0
UmVzdWx0LT5pc1NlbGVjdGVkKCk7Ci0KLSAgICBHUmVmUHRyPFdlYktpdEhpdFRlc3RSZXN1bHQ+
IGhpdFRlc3RSZXN1bHQgPSBhZG9wdEdSZWYod2Via2l0SGl0VGVzdFJlc3VsdENyZWF0ZShkYXRh
KSk7CisgICAgR1JlZlB0cjxXZWJLaXRIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gYWRv
cHRHUmVmKHdlYmtpdEhpdFRlc3RSZXN1bHRDcmVhdGUoaGl0VGVzdFJlc3VsdERhdGEpKTsKICAg
ICBHVW5pcXVlUHRyPEdka0V2ZW50PiBjb250ZXh0TWVudUV2ZW50KHdlYmtpdFdlYlZpZXdCYXNl
VGFrZUNvbnRleHRNZW51RXZlbnQod2ViVmlld0Jhc2UpKTsKIAogICAgIGlmICh1c2VyRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3UHJpdmF0ZS5oCmluZGV4IGU3OTY3NzQuLmZjZDQwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApAQCAt
MjcsNiArMjcsNyBAQAogI2lmbmRlZiBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9oCiAjZGVmaW5lIFdl
YktpdFdlYlZpZXdQcml2YXRlX2gKIAorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEu
aCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCkBAIC01Myw3ICs1NCw3IEBAIHZvaWQgd2ViS2l0
V2ViVmlld0RpZFJlY2VpdmVTbmFwc2hvdChXZWJLaXRXZWJWaWV3KiwgdWludDY0X3QgY2FsbGJh
Y2tJRCwgV2ViS2l0CiB2b2lkIHdlYmtpdFdlYlZpZXdSZW1vdmVMb2FkaW5nV2ViUmVzb3VyY2Uo
V2ViS2l0V2ViVmlldyosIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcik7CiBib29sIHdlYmtp
dFdlYlZpZXdFbnRlckZ1bGxTY3JlZW4oV2ViS2l0V2ViVmlldyopOwogYm9vbCB3ZWJraXRXZWJW
aWV3TGVhdmVGdWxsU2NyZWVuKFdlYktpdFdlYlZpZXcqKTsKLXZvaWQgd2Via2l0V2ViVmlld1Bv
cHVsYXRlQ29udGV4dE1lbnUoV2ViS2l0V2ViVmlldyosIEFQSTo6QXJyYXkqIHByb3Bvc2VkTWVu
dSwgV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0KiwgR1ZhcmlhbnQqKTsKK3ZvaWQgd2Via2l0V2Vi
Vmlld1BvcHVsYXRlQ29udGV4dE1lbnUoV2ViS2l0V2ViVmlldyosIGNvbnN0IFZlY3RvcjxXZWJL
aXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBwcm9wb3NlZE1lbnUsIGNvbnN0IFdlYktpdDo6
V2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYsIEdWYXJpYW50Kik7CiB2b2lkIHdlYmtpdFdlYlZpZXdT
dWJtaXRGb3JtUmVxdWVzdChXZWJLaXRXZWJWaWV3KiwgV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1
ZXN0Kik7CiB2b2lkIHdlYmtpdFdlYlZpZXdIYW5kbGVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShX
ZWJLaXRXZWJWaWV3KiwgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kik7CiB2
b2lkIHdlYmtpdFdlYlZpZXdJbnNlY3VyZUNvbnRlbnREZXRlY3RlZChXZWJLaXRXZWJWaWV3Kiwg
V2ViS2l0SW5zZWN1cmVDb250ZW50RXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYkhpdFRlc3RSZXN1bHQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dl
YktpdFdlYkhpdFRlc3RSZXN1bHQuY3BwCmluZGV4IGE4MTY0YjYuLjU1NjI0NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJL
aXRXZWJIaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTEwNiwz
MCArMTA2LDM2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfaGl0X3Rlc3RfcmVzdWx0X2NsYXNz
X2luaXQoV2ViS2l0V2ViSGl0VGVzdFJlc3VsdENsYXNzKiBrCiAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fQ09OU1RS
VUNUX09OTFkpKSk7CiB9CiAKLVdlYktpdFdlYkhpdFRlc3RSZXN1bHQqIHdlYmtpdFdlYkhpdFRl
c3RSZXN1bHRDcmVhdGUoY29uc3QgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0JiBoaXRUZXN0
UmVzdWx0KQorV2ViS2l0V2ViSGl0VGVzdFJlc3VsdCogd2Via2l0V2ViSGl0VGVzdFJlc3VsdENy
ZWF0ZShjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0KQogewogICAgIHVuc2lnbmVk
IGNvbnRleHQgPSBXRUJLSVRfSElUX1RFU1RfUkVTVUxUX0NPTlRFWFRfRE9DVU1FTlQ7Ci0gICAg
aWYgKCFoaXRUZXN0UmVzdWx0LmFic29sdXRlTGlua1VSTCgpLmlzRW1wdHkoKSkKKyAgICBTdHJp
bmcgYWJzb2x1dGVMaW5rVVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKS5zdHJp
bmcoKTsKKyAgICBpZiAoIWFic29sdXRlTGlua1VSTC5pc0VtcHR5KCkpCiAgICAgICAgIGNvbnRl
eHQgfD0gV0VCS0lUX0hJVF9URVNUX1JFU1VMVF9DT05URVhUX0xJTks7Ci0gICAgaWYgKCFoaXRU
ZXN0UmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKS5pc0VtcHR5KCkpCisgICAgU3RyaW5nIGFic29s
dXRlSW1hZ2VVUkwgPSBoaXRUZXN0UmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKS5zdHJpbmcoKTsK
KyAgICBpZiAoIWFic29sdXRlSW1hZ2VVUkwuaXNFbXB0eSgpKQogICAgICAgICBjb250ZXh0IHw9
IFdFQktJVF9ISVRfVEVTVF9SRVNVTFRfQ09OVEVYVF9JTUFHRTsKLSAgICBpZiAoIWhpdFRlc3RS
ZXN1bHQuYWJzb2x1dGVNZWRpYVVSTCgpLmlzRW1wdHkoKSkKKyAgICBTdHJpbmcgYWJzb2x1dGVN
ZWRpYVVSTCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVNZWRpYVVSTCgpLnN0cmluZygpOworICAg
IGlmICghYWJzb2x1dGVNZWRpYVVSTC5pc0VtcHR5KCkpCiAgICAgICAgIGNvbnRleHQgfD0gV0VC
S0lUX0hJVF9URVNUX1JFU1VMVF9DT05URVhUX01FRElBOwotICAgIGlmIChoaXRUZXN0UmVzdWx0
LmNvcmVIaXRUZXN0UmVzdWx0KCkuaXNDb250ZW50RWRpdGFibGUoKSkKKyAgICBpZiAoaGl0VGVz
dFJlc3VsdC5pc0NvbnRlbnRFZGl0YWJsZSgpKQogICAgICAgICBjb250ZXh0IHw9IFdFQktJVF9I
SVRfVEVTVF9SRVNVTFRfQ09OVEVYVF9FRElUQUJMRTsKLSAgICBpZiAoaGl0VGVzdFJlc3VsdC5j
b3JlSGl0VGVzdFJlc3VsdCgpLnNjcm9sbGJhcigpKQorICAgIGlmIChoaXRUZXN0UmVzdWx0LnNj
cm9sbGJhcigpKQogICAgICAgICBjb250ZXh0IHw9IFdFQktJVF9ISVRfVEVTVF9SRVNVTFRfQ09O
VEVYVF9TQ1JPTExCQVI7CiAgICAgaWYgKGhpdFRlc3RSZXN1bHQuaXNTZWxlY3RlZCgpKQogICAg
ICAgICBjb250ZXh0IHw9IFdFQktJVF9ISVRfVEVTVF9SRVNVTFRfQ09OVEVYVF9TRUxFQ1RJT047
CiAKKyAgICBTdHJpbmcgbGlua1RpdGxlID0gaGl0VGVzdFJlc3VsdC50aXRsZURpc3BsYXlTdHJp
bmcoKTsKKyAgICBTdHJpbmcgbGlua0xhYmVsID0gaGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgp
OworCiAgICAgcmV0dXJuIFdFQktJVF9XRUJfSElUX1RFU1RfUkVTVUxUKGdfb2JqZWN0X25ldyhX
RUJLSVRfVFlQRV9XRUJfSElUX1RFU1RfUkVTVUxULAogICAgICAgICAiY29udGV4dCIsIGNvbnRl
eHQsCi0gICAgICAgICJsaW5rLXVyaSIsIGNvbnRleHQgJiBXRUJLSVRfSElUX1RFU1RfUkVTVUxU
X0NPTlRFWFRfTElOSyA/IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCkudXRmOCgpLmRh
dGEoKSA6IG51bGxwdHIsCi0gICAgICAgICJpbWFnZS11cmkiLCBjb250ZXh0ICYgV0VCS0lUX0hJ
VF9URVNUX1JFU1VMVF9DT05URVhUX0lNQUdFID8gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUltYWdl
VVJMKCkudXRmOCgpLmRhdGEoKSA6IG51bGxwdHIsCi0gICAgICAgICJtZWRpYS11cmkiLCBjb250
ZXh0ICYgV0VCS0lUX0hJVF9URVNUX1JFU1VMVF9DT05URVhUX01FRElBID8gaGl0VGVzdFJlc3Vs
dC5hYnNvbHV0ZU1lZGlhVVJMKCkudXRmOCgpLmRhdGEoKSA6IG51bGxwdHIsCi0gICAgICAgICJs
aW5rLXRpdGxlIiwgIWhpdFRlc3RSZXN1bHQubGlua1RpdGxlKCkuaXNFbXB0eSgpID8gaGl0VGVz
dFJlc3VsdC5saW5rVGl0bGUoKS51dGY4KCkuZGF0YSgpIDogbnVsbHB0ciwKLSAgICAgICAgImxp
bmstbGFiZWwiLCAhaGl0VGVzdFJlc3VsdC5saW5rTGFiZWwoKS5pc0VtcHR5KCkgPyBoaXRUZXN0
UmVzdWx0LmxpbmtMYWJlbCgpLnV0ZjgoKS5kYXRhKCkgOiBudWxscHRyLAotICAgICAgICAibm9k
ZSIsIGtpdChoaXRUZXN0UmVzdWx0LmNvcmVIaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWRO
b2RlKCkpLAorICAgICAgICAibGluay11cmkiLCBjb250ZXh0ICYgV0VCS0lUX0hJVF9URVNUX1JF
U1VMVF9DT05URVhUX0xJTksgPyBhYnNvbHV0ZUxpbmtVUkwudXRmOCgpLmRhdGEoKSA6IG51bGxw
dHIsCisgICAgICAgICJpbWFnZS11cmkiLCBjb250ZXh0ICYgV0VCS0lUX0hJVF9URVNUX1JFU1VM
VF9DT05URVhUX0lNQUdFID8gYWJzb2x1dGVJbWFnZVVSTC51dGY4KCkuZGF0YSgpIDogbnVsbHB0
ciwKKyAgICAgICAgIm1lZGlhLXVyaSIsIGNvbnRleHQgJiBXRUJLSVRfSElUX1RFU1RfUkVTVUxU
X0NPTlRFWFRfTUVESUEgPyBhYnNvbHV0ZU1lZGlhVVJMLnV0ZjgoKS5kYXRhKCkgOiBudWxscHRy
LAorICAgICAgICAibGluay10aXRsZSIsICFsaW5rVGl0bGUuaXNFbXB0eSgpID8gbGlua1RpdGxl
LnV0ZjgoKS5kYXRhKCkgOiBudWxscHRyLAorICAgICAgICAibGluay1sYWJlbCIsICFsaW5rTGFi
ZWwuaXNFbXB0eSgpID8gbGlua0xhYmVsLnV0ZjgoKS5kYXRhKCkgOiBudWxscHRyLAorICAgICAg
ICAibm9kZSIsIGtpdChoaXRUZXN0UmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpKSwKICAgICAg
ICAgbnVsbHB0cikpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViSGl0VGVzdFJlc3VsdFByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRX
ZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZS5oCmluZGV4IGU3OGMwNzkuLjY2ZGQ3ZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJL
aXRXZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZS5o
CkBAIC0yMCw5ICsyMCw5IEBACiAjaWZuZGVmIFdlYktpdFdlYkhpdFRlc3RSZXN1bHRQcml2YXRl
X2gKICNkZWZpbmUgV2ViS2l0V2ViSGl0VGVzdFJlc3VsdFByaXZhdGVfaAogCi0jaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViSGl0VGVz
dFJlc3VsdC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgogCi1XZWJLaXRX
ZWJIaXRUZXN0UmVzdWx0KiB3ZWJraXRXZWJIaXRUZXN0UmVzdWx0Q3JlYXRlKGNvbnN0IFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Jik7CitXZWJLaXRXZWJIaXRUZXN0UmVzdWx0
KiB3ZWJraXRXZWJIaXRUZXN0UmVzdWx0Q3JlYXRlKGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1
bHQmKTsKIAogI2VuZGlmIC8vIFdlYktpdFdlYkhpdFRlc3RSZXN1bHRQcml2YXRlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9X
ZWJLaXRXZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcAppbmRleCA3NzM5ZWZlLi5iOTZlNDgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsv
V2ViS2l0V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwCkBAIC0yMjgsMzUgKzIyOCwzNCBAQCBz
dGF0aWMgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZUZyYW1lUmVmLCB1aW50NgogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluamVjdGVk
QnVuZGxlKCktPnBvc3RNZXNzYWdlKFN0cmluZzo6ZnJvbVVURjgoIldlYlBhZ2UuRGlkRmFpbExv
YWRGb3JSZXNvdXJjZSIpLCBJbW11dGFibGVEaWN0aW9uYXJ5OjpjcmVhdGUoV1RGOjptb3ZlKG1l
c3NhZ2UpKS5nZXQoKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdldENvbnRleHRNZW51RnJvbURlZmF1
bHRNZW51KFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIHdrSGl0VGVz
dFJlc3VsdCwgV0tBcnJheVJlZiB3a0RlZmF1bHRNZW51LCBXS0FycmF5UmVmKiB3a05ld01lbnUs
IFdLVHlwZVJlZiogd2tVc2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBH
UmVmUHRyPFdlYktpdENvbnRleHRNZW51PiBjb250ZXh0TWVudSA9IGFkb3B0R1JlZih3ZWJraXRD
b250ZXh0TWVudUNyZWF0ZSh0b0ltcGwod2tEZWZhdWx0TWVudSkpKTsKLSAgICBHUmVmUHRyPFdl
YktpdFdlYkhpdFRlc3RSZXN1bHQ+IHdlYkhpdFRlc3RSZXN1bHQgPSBhZG9wdEdSZWYod2Via2l0
V2ViSGl0VGVzdFJlc3VsdENyZWF0ZSgqdG9JbXBsKHdrSGl0VGVzdFJlc3VsdCkpKTsKLSAgICBn
Ym9vbGVhbiByZXR1cm5WYWx1ZTsKLSAgICBnX3NpZ25hbF9lbWl0KFdFQktJVF9XRUJfUEFHRShj
bGllbnRJbmZvKSwgc2lnbmFsc1tDT05URVhUX01FTlVdLCAwLCBjb250ZXh0TWVudS5nZXQoKSwg
d2ViSGl0VGVzdFJlc3VsdC5nZXQoKSwgJnJldHVyblZhbHVlKTsKLSAgICBpZiAoR1ZhcmlhbnQq
IHVzZXJEYXRhID0gd2Via2l0X2NvbnRleHRfbWVudV9nZXRfdXNlcl9kYXRhKGNvbnRleHRNZW51
LmdldCgpKSkgewotICAgICAgICBHVW5pcXVlUHRyPGdjaGFyPiBkYXRhU3RyaW5nKGdfdmFyaWFu
dF9wcmludCh1c2VyRGF0YSwgVFJVRSkpOwotICAgICAgICAqd2tVc2VyRGF0YSA9IHN0YXRpY19j
YXN0PFdLVHlwZVJlZj4oV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoZGF0YVN0cmluZy5n
ZXQoKSkpOworY2xhc3MgUGFnZUNvbnRleHRNZW51Q2xpZW50IGZpbmFsIDogcHVibGljIEFQSTo6
SW5qZWN0ZWRCdW5kbGU6OlBhZ2VDb250ZXh0TWVudUNsaWVudCB7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgUGFnZUNvbnRleHRNZW51Q2xpZW50KFdlYktpdFdlYlBhZ2UqIHdlYlBhZ2UpCisgICAg
ICAgIDogbV93ZWJQYWdlKHdlYlBhZ2UpCisgICAgewogICAgIH0KIAotICAgIGlmICghcmV0dXJu
VmFsdWUpIHsKLSAgICAgICAgV0tSZXRhaW4od2tEZWZhdWx0TWVudSk7Ci0gICAgICAgICp3a05l
d01lbnUgPSB3a0RlZmF1bHRNZW51OwotICAgICAgICByZXR1cm47Ci0gICAgfQorcHJpdmF0ZToK
KyAgICBib29sIGdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKFdlYlBhZ2UqLCBjb25zdCBX
ZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0LCBjb25zdCBWZWN0b3I8V2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtPiYgZGVmYXVsdE1lbnUsIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgbmV3TWVudSwgUmVmUHRyPEFQSTo6T2JqZWN0PiYgdXNlckRhdGEpIG92ZXJyaWRl
CisgICAgeworICAgICAgICBHUmVmUHRyPFdlYktpdENvbnRleHRNZW51PiBjb250ZXh0TWVudSA9
IGFkb3B0R1JlZih3ZWJraXRDb250ZXh0TWVudUNyZWF0ZShkZWZhdWx0TWVudSkpOworICAgICAg
ICBHUmVmUHRyPFdlYktpdFdlYkhpdFRlc3RSZXN1bHQ+IHdlYkhpdFRlc3RSZXN1bHQgPSBhZG9w
dEdSZWYod2Via2l0V2ViSGl0VGVzdFJlc3VsdENyZWF0ZShoaXRUZXN0UmVzdWx0KSk7CisgICAg
ICAgIGdib29sZWFuIHJldHVyblZhbHVlOworICAgICAgICBnX3NpZ25hbF9lbWl0KG1fd2ViUGFn
ZSwgc2lnbmFsc1tDT05URVhUX01FTlVdLCAwLCBjb250ZXh0TWVudS5nZXQoKSwgd2ViSGl0VGVz
dFJlc3VsdC5nZXQoKSwgJnJldHVyblZhbHVlKTsKKyAgICAgICAgaWYgKEdWYXJpYW50KiB2YXJp
YW50ID0gd2Via2l0X2NvbnRleHRfbWVudV9nZXRfdXNlcl9kYXRhKGNvbnRleHRNZW51LmdldCgp
KSkgeworICAgICAgICAgICAgR1VuaXF1ZVB0cjxnY2hhcj4gZGF0YVN0cmluZyhnX3ZhcmlhbnRf
cHJpbnQodmFyaWFudCwgVFJVRSkpOworICAgICAgICAgICAgdXNlckRhdGEgPSBBUEk6OlN0cmlu
Zzo6Y3JlYXRlRnJvbVVURjhTdHJpbmcoZGF0YVN0cmluZy5nZXQoKSk7CisgICAgICAgIH0KIAot
ICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IGNvbnRleHRNZW51SXRlbXM7Ci0gICAgd2Via2l0
Q29udGV4dE1lbnVQb3B1bGF0ZShjb250ZXh0TWVudS5nZXQoKSwgY29udGV4dE1lbnVJdGVtcyk7
CisgICAgICAgIGlmICghcmV0dXJuVmFsdWUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4gbmV3TWVudUl0ZW1zOwotICAgIG5ld01l
bnVJdGVtcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGNvbnRleHRNZW51SXRlbXMuc2l6ZSgpKTsK
LSAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBjb250ZXh0TWVudUl0ZW1zKQotICAgICAgICBu
ZXdNZW51SXRlbXMudW5jaGVja2VkQXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGl0
ZW0pKTsKKyAgICAgICAgd2Via2l0Q29udGV4dE1lbnVQb3B1bGF0ZShjb250ZXh0TWVudS5nZXQo
KSwgbmV3TWVudSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAotICAgIFJlZlB0cjxB
UEk6OkFycmF5PiBhcnJheSA9IEFQSTo6QXJyYXk6OmNyZWF0ZShXVEY6Om1vdmUobmV3TWVudUl0
ZW1zKSk7Ci0gICAgKndrTmV3TWVudSA9IHRvQVBJKGFycmF5LmdldCgpKTsKLSAgICBXS1JldGFp
bigqd2tOZXdNZW51KTsKLX0KKyAgICBXZWJLaXRXZWJQYWdlKiBtX3dlYlBhZ2U7Cit9OwogCiBz
dGF0aWMgdm9pZCB3ZWJraXRXZWJQYWdlR2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWlu
dCBwcm9wSWQsIEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBhcmFtU3BlYykKIHsKQEAgLTQz
NiwxNCArNDM1LDcgQEAgV2ViS2l0V2ViUGFnZSogd2Via2l0V2ViUGFnZUNyZWF0ZShXZWJQYWdl
KiB3ZWJQYWdlKQogICAgIH07CiAgICAgV0tCdW5kbGVQYWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50
KHRvQVBJKHdlYlBhZ2UpLCAmcmVzb3VyY2VMb2FkQ2xpZW50LmJhc2UpOwogCi0gICAgV0tCdW5k
bGVQYWdlQ29udGV4dE1lbnVDbGllbnRWMCBjb250ZXh0TWVudUNsaWVudCA9IHsKLSAgICAgICAg
ewotICAgICAgICAgICAgMCwgLy8gdmVyc2lvbgotICAgICAgICAgICAgcGFnZSwgLy8gY2xpZW50
SW5mbwotICAgICAgICB9LAotICAgICAgICBnZXRDb250ZXh0TWVudUZyb21EZWZhdWx0TWVudSwK
LSAgICB9OwotICAgIFdLQnVuZGxlUGFnZVNldENvbnRleHRNZW51Q2xpZW50KHRvQVBJKHdlYlBh
Z2UpLCAmY29udGV4dE1lbnVDbGllbnQuYmFzZSk7CisgICAgd2ViUGFnZS0+c2V0SW5qZWN0ZWRC
dW5kbGVDb250ZXh0TWVudUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VDb250ZXh0TWVudUNs
aWVudD4ocGFnZSkpOwogCiAgICAgcmV0dXJuIHBhZ2U7CiB9Cg==
</data>
<flag name="review"
          id="265925"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>