<?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>139583</bug_id>
          
          <creation_ts>2014-12-12 06:35:47 -0800</creation_ts>
          <short_desc>[GTK] Use API::LoaderClient instead of WKPageLoaderClient</short_desc>
          <delta_ts>2014-12-15 05:40:50 -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>berto</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1054826</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-12 06:35:47 -0800</bug_when>
    <thetext>It simplifies the code and it will make easier to implement new loader client methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054827</commentid>
    <comment_count>1</comment_count>
      <attachid>243197</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-12 06:37:25 -0800</bug_when>
    <thetext>Created attachment 243197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054828</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-12 06:39:23 -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>1055597</commentid>
    <comment_count>3</comment_count>
      <attachid>243197</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-12-15 04:31:40 -0800</bug_when>
    <thetext>Comment on attachment 243197
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055607</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-15 05:40:50 -0800</bug_when>
    <thetext>Committed r177278: &lt;http://trac.webkit.org/changeset/177278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243197</attachid>
            <date>2014-12-12 06:37:25 -0800</date>
            <delta_ts>2014-12-15 04:31:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-loader-client.diff</filename>
            <type>text/plain</type>
            <size>14589</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ODI0YzYyLi5mZGJlNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTQtMTItMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFVzZSBBUEk6OkxvYWRlckNsaWVudCBpbnN0ZWFkIG9mIFdLUGFn
ZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM5NTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSXQgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgaXQgd2lsbCBtYWtlIGVhc2llciB0byBp
bXBsZW1lbnQgbmV3CisgICAgICAgIGxvYWRlciBjbGllbnQgbWV0aG9kcy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdC5jcHA6CisgICAgICAgICh3
ZWJraXRCYWNrRm9yd2FyZExpc3RDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRCYWNrRm9yd2FyZExpc3RQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKExvYWRlckNsaWVudDo6TG9h
ZGVyQ2xpZW50KToKKyAgICAgICAgKGF0dGFjaExvYWRlckNsaWVudFRvVmlldyk6CisgICAgICAg
IChkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKGRp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTogRGVsZXRl
ZC4KKyAgICAgICAgKGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZSk6IERl
bGV0ZWQuCisgICAgICAgIChkaWRDb21taXRMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAg
ICAoZGlkRmluaXNoTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKGRpZEZhaWxMb2Fk
V2l0aEVycm9yRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAoZGlkRGlzcGxheUluc2VjdXJl
Q29udGVudEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKGRpZFJ1bkluc2VjdXJlQ29udGVu
dEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCk6
IERlbGV0ZWQuCisgICAgICAgIChkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VJbkZy
YW1lKTogRGVsZXRlZC4KKyAgICAgICAgKHByb2Nlc3NEaWRDcmFzaCk6IERlbGV0ZWQuCisKIDIw
MTQtMTItMTEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIFdlYktpdE5vdGlmaWNhdGlvbiBpcyBkZWZpbmVkIHR3aWNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRCYWNrRm9yd2FyZExp
c3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0Zvcndh
cmRMaXN0LmNwcAppbmRleCA2Y2JkZGM4Li5lMmE2YWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRCYWNrRm9yd2FyZExpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdC5jcHAK
QEAgLTEyOCwyMCArMTI4LDE4IEBAIFdlYktpdEJhY2tGb3J3YXJkTGlzdCogd2Via2l0QmFja0Zv
cndhcmRMaXN0Q3JlYXRlKFdlYkJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhCiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKLXZvaWQgd2Via2l0QmFja0ZvcndhcmRMaXN0Q2hhbmdlZChXZWJLaXRCYWNr
Rm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogd2Vi
QWRkZWRJdGVtLCBBUEk6OkFycmF5KiB3ZWJSZW1vdmVkSXRlbXMpCit2b2lkIHdlYmtpdEJhY2tG
b3J3YXJkTGlzdENoYW5nZWQoV2ViS2l0QmFja0ZvcndhcmRMaXN0KiBiYWNrRm9yd2FyZExpc3Qs
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHdlYkFkZGVkSXRlbSwgVmVjdG9yPFJlZlB0cjxXZWJC
YWNrRm9yd2FyZExpc3RJdGVtPj4gd2ViUmVtb3ZlZEl0ZW1zKQogewogICAgIFdlYktpdEJhY2tG
b3J3YXJkTGlzdEl0ZW0qIGFkZGVkSXRlbSA9IHdlYmtpdEJhY2tGb3J3YXJkTGlzdEdldE9yQ3Jl
YXRlSXRlbShiYWNrRm9yd2FyZExpc3QsIHdlYkFkZGVkSXRlbSk7Ci0gICAgR0xpc3QqIHJlbW92
ZWRJdGVtcyA9IDA7CisgICAgR0xpc3QqIHJlbW92ZWRJdGVtcyA9IG51bGxwdHI7CiAKLSAgICBz
aXplX3QgcmVtb3ZlZEl0ZW1zU2l6ZSA9IHdlYlJlbW92ZWRJdGVtcyA/IHdlYlJlbW92ZWRJdGVt
cy0+c2l6ZSgpIDogMDsKICAgICBXZWJLaXRCYWNrRm9yd2FyZExpc3RQcml2YXRlKiBwcml2ID0g
YmFja0ZvcndhcmRMaXN0LT5wcml2OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVtb3Zl
ZEl0ZW1zU2l6ZTsgKytpKSB7Ci0gICAgICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHdlYkl0
ZW0gPSBzdGF0aWNfY2FzdDxXZWJCYWNrRm9yd2FyZExpc3RJdGVtKj4od2ViUmVtb3ZlZEl0ZW1z
LT5hdChpKSk7Ci0gICAgICAgIHJlbW92ZWRJdGVtcyA9IGdfbGlzdF9wcmVwZW5kKHJlbW92ZWRJ
dGVtcywgZ19vYmplY3RfcmVmKEdfT0JKRUNUKHByaXYtPml0ZW1zTWFwLmdldCh3ZWJJdGVtKS5n
ZXQoKSkpKTsKLSAgICAgICAgcHJpdi0+aXRlbXNNYXAucmVtb3ZlKHdlYkl0ZW0pOworICAgIGZv
ciAoY29uc3QgYXV0byYgd2ViSXRlbSA6IHdlYlJlbW92ZWRJdGVtcykgeworICAgICAgICByZW1v
dmVkSXRlbXMgPSBnX2xpc3RfcHJlcGVuZChyZW1vdmVkSXRlbXMsIGdfb2JqZWN0X3JlZihwcml2
LT5pdGVtc01hcC5nZXQod2ViSXRlbS5nZXQoKSkuZ2V0KCkpKTsKKyAgICAgICAgcHJpdi0+aXRl
bXNNYXAucmVtb3ZlKHdlYkl0ZW0uZ2V0KCkpOwogICAgIH0KIAotICAgIGdfc2lnbmFsX2VtaXQo
YmFja0ZvcndhcmRMaXN0LCBzaWduYWxzW0NIQU5HRURdLCAwLCBhZGRlZEl0ZW0sIHJlbW92ZWRJ
dGVtcywgTlVMTCk7CisgICAgZ19zaWduYWxfZW1pdChiYWNrRm9yd2FyZExpc3QsIHNpZ25hbHNb
Q0hBTkdFRF0sIDAsIGFkZGVkSXRlbSwgcmVtb3ZlZEl0ZW1zLCBudWxscHRyKTsKICAgICBnX2xp
c3RfZnJlZV9mdWxsKHJlbW92ZWRJdGVtcywgc3RhdGljX2Nhc3Q8R0Rlc3Ryb3lOb3RpZnk+KGdf
b2JqZWN0X3VucmVmKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdFByaXZhdGUuaAppbmRleCBl
ZjkwNTJkLi44YjMyOTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRCYWNrRm9yd2FyZExpc3RQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oCkBAIC0zMiw2
ICszMiw2IEBACiBXZWJLaXRCYWNrRm9yd2FyZExpc3QqIHdlYmtpdEJhY2tGb3J3YXJkTGlzdENy
ZWF0ZShXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdCopOwogV2ViS2l0QmFja0ZvcndhcmRMaXN0
SXRlbSogd2Via2l0QmFja0ZvcndhcmRMaXN0SXRlbUdldE9yQ3JlYXRlKFdlYktpdDo6V2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSopOwogV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB3ZWJr
aXRCYWNrRm9yd2FyZExpc3RJdGVtR2V0SXRlbShXZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtKik7
Ci12b2lkIHdlYmtpdEJhY2tGb3J3YXJkTGlzdENoYW5nZWQoV2ViS2l0QmFja0ZvcndhcmRMaXN0
KiwgV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB3ZWJBZGRlZEl0ZW0sIEFQSTo6QXJy
YXkqIHdlYlJlbW92ZWRJdGVtcyk7Cit2b2lkIHdlYmtpdEJhY2tGb3J3YXJkTGlzdENoYW5nZWQo
V2ViS2l0QmFja0ZvcndhcmRMaXN0KiwgV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB3
ZWJBZGRlZEl0ZW0sIFZlY3RvcjxSZWZQdHI8V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVt
Pj4pOwogCiAjZW5kaWYgLy8gV2ViS2l0QmFja0ZvcndhcmRMaXN0UHJpdmF0ZV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRMb2FkZXJDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TG9hZGVyQ2xpZW50
LmNwcAppbmRleCBjOTllZmE3Li4yMDIyYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdExvYWRlckNsaWVudC5jcHAKQEAgLTIxLDYgKzIx
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRMb2FkZXJDbGllbnQu
aCIKIAorI2luY2x1ZGUgIkFQSUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYktpdEJhY2tG
b3J3YXJkTGlzdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlLmgiCkBAIC0zMiwxMzUgKzMzLDk1IEBACiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB2
b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVm
IGZyYW1lLCBXS1R5cGVSZWYgLyogdXNlckRhdGEgKi8sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
Ci17Ci0gICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICB3ZWJraXRXZWJWaWV3TG9hZENoYW5nZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudElu
Zm8pLCBXRUJLSVRfTE9BRF9TVEFSVEVEKTsKLX0KLQotc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVNl
cnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1l
UmVmIGZyYW1lLCBXS1R5cGVSZWYgLyogdXNlckRhdGEgKi8sIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCi17Ci0gICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICB3ZWJraXRXZWJWaWV3TG9hZENoYW5nZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVu
dEluZm8pLCBXRUJLSVRfTE9BRF9SRURJUkVDVEVEKTsKLX0KLQotc3RhdGljIHZvaWQgZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBm
cmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmIC8qIHVzZXJEYXRhICovLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQotewotICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJv
ciA9IHRvSW1wbChlcnJvciktPnBsYXRmb3JtRXJyb3IoKTsKLSAgICBHVW5pcXVlUHRyPEdFcnJv
cj4gd2ViRXJyb3IoZ19lcnJvcl9uZXdfbGl0ZXJhbChnX3F1YXJrX2Zyb21fc3RyaW5nKHJlc291
cmNlRXJyb3IuZG9tYWluKCkudXRmOCgpLmRhdGEoKSksCi0gICAgICAgIHRvV2ViS2l0RXJyb3Io
cmVzb3VyY2VFcnJvci5lcnJvckNvZGUoKSksIHJlc291cmNlRXJyb3IubG9jYWxpemVkRGVzY3Jp
cHRpb24oKS51dGY4KCkuZGF0YSgpKSk7Ci0gICAgaWYgKHJlc291cmNlRXJyb3IudGxzRXJyb3Jz
KCkpIHsKLSAgICAgICAgd2Via2l0V2ViVmlld0xvYWRGYWlsZWRXaXRoVExTRXJyb3JzKFdFQktJ
VF9XRUJfVklFVyhjbGllbnRJbmZvKSwgcmVzb3VyY2VFcnJvci5mYWlsaW5nVVJMKCkudXRmOCgp
LmRhdGEoKSwgd2ViRXJyb3IuZ2V0KCksCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxHVGxzQ2Vy
dGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSksIHJlc291cmNlRXJyb3Iu
Y2VydGlmaWNhdGUoKSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHdlYmtpdFdlYlZpZXdMb2FkRmFp
bGVkKFdFQktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSwgV0VCS0lUX0xPQURfU1RBUlRFRCwgcmVz
b3VyY2VFcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJyb3IuZ2V0KCkpOwot
fQotCi1zdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1l
UmVmIGZyYW1lLCBXS1R5cGVSZWYgLyogdXNlckRhdGEgKi8sIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCi17Ci0gICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICB3ZWJraXRXZWJWaWV3TG9hZENoYW5nZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVu
dEluZm8pLCBXRUJLSVRfTE9BRF9DT01NSVRURUQpOwotfQotCi1zdGF0aWMgdm9pZCBkaWRGaW5p
c2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgLyog
dXNlckRhdGEgKi8sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgaWYgKCFXS0ZyYW1l
SXNNYWluRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1cm47Ci0KLSAgICB3ZWJraXRXZWJWaWV3
TG9hZENoYW5nZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCBXRUJLSVRfTE9BRF9GSU5J
U0hFRCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQ
YWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5cGVSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJh
bWUpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJj
ZUVycm9yID0gdG9JbXBsKGVycm9yKS0+cGxhdGZvcm1FcnJvcigpOwotICAgIEdVbmlxdWVQdHI8
R0Vycm9yPiB3ZWJFcnJvcihnX2Vycm9yX25ld19saXRlcmFsKGdfcXVhcmtfZnJvbV9zdHJpbmco
cmVzb3VyY2VFcnJvci5kb21haW4oKS51dGY4KCkuZGF0YSgpKSwKLSAgICAgICAgdG9XZWJLaXRF
cnJvcihyZXNvdXJjZUVycm9yLmVycm9yQ29kZSgpKSwgcmVzb3VyY2VFcnJvci5sb2NhbGl6ZWRE
ZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpKTsKLSAgICB3ZWJraXRXZWJWaWV3TG9hZEZhaWxl
ZChXRUJLSVRfV0VCX1ZJRVcoY2xpZW50SW5mbyksIFdFQktJVF9MT0FEX0NPTU1JVFRFRCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZUVycm9yLmZhaWxpbmdVUkwoKS51dGY4
KCkuZGF0YSgpLCB3ZWJFcnJvci5nZXQoKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRpZERpc3BsYXlJ
bnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiAv
KiB1c2VyRGF0YSAqLywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKLXsKLSAgICB3ZWJraXRXZWJW
aWV3SW5zZWN1cmVDb250ZW50RGV0ZWN0ZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCBX
RUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9ESVNQTEFZRUQpOwotfQotCi1zdGF0aWMgdm9pZCBkaWRS
dW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJl
ZiAvKiB1c2VyRGF0YSAqLywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKLXsKLSAgICB3ZWJraXRX
ZWJWaWV3SW5zZWN1cmVDb250ZW50RGV0ZWN0ZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8p
LCBXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9SVU4pOwotfQotCi1zdGF0aWMgdm9pZCBkaWRDaGFu
Z2VCYWNrRm9yd2FyZExpc3QoV0tQYWdlUmVmLCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgYWRk
ZWRJdGVtLCBXS0FycmF5UmVmIHJlbW92ZWRJdGVtcywgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
LXsKLSAgICB3ZWJraXRCYWNrRm9yd2FyZExpc3RDaGFuZ2VkKHdlYmtpdF93ZWJfdmlld19nZXRf
YmFja19mb3J3YXJkX2xpc3QoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pKSwgdG9JbXBsKGFk
ZGVkSXRlbSksIHRvSW1wbChyZW1vdmVkSXRlbXMpKTsKLX0KLQotc3RhdGljIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYs
IFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pCi17Ci0gICAgd2Via2l0V2ViVmlld0hhbmRsZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKFdFQktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSwgdG9JbXBsKGF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChX
S1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgd2Via2l0V2ViVmlld1dl
YlByb2Nlc3NDcmFzaGVkKFdFQktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSk7Ci19CitjbGFzcyBM
b2FkZXJDbGllbnQgOiBwdWJsaWMgQVBJOjpMb2FkZXJDbGllbnQgeworcHVibGljOgorICAgIGV4
cGxpY2l0IExvYWRlckNsaWVudChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQorICAgICAgICA6IG1f
d2ViVmlldyh3ZWJWaWV3KQorICAgIHsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkq
IGZyYW1lLCB1aW50NjRfdCAvKiBuYXZpZ2F0aW9uSUQgKi8sIEFQSTo6T2JqZWN0KiAvKiB1c2Vy
RGF0YSAqLykgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGlmICghZnJhbWUtPmlzTWFpbkZyYW1l
KCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHdlYmtpdFdlYlZpZXdMb2FkQ2hhbmdl
ZChtX3dlYlZpZXcsIFdFQktJVF9MT0FEX1NUQVJURUQpOworICAgIH0KKworICAgIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV2ViUGFnZVBy
b3h5KiwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IC8qIG5hdmlnYXRpb25JRCAqLywg
QVBJOjpPYmplY3QqIC8qIHVzZXJEYXRhICovKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgaWYg
KCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgd2Vi
a2l0V2ViVmlld0xvYWRDaGFuZ2VkKG1fd2ViVmlldywgV0VCS0lUX0xPQURfUkVESVJFQ1RFRCk7
CisgICAgfQorCisgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJh
bWUoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IC8qIG5hdmln
YXRpb25JRCAqLywgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvciwgQVBJOjpPYmpl
Y3QqIC8qIHVzZXJEYXRhICovKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgaWYgKCFmcmFtZS0+
aXNNYWluRnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgR1VuaXF1ZVB0cjxH
RXJyb3I+IGVycm9yKGdfZXJyb3JfbmV3X2xpdGVyYWwoZ19xdWFya19mcm9tX3N0cmluZyhyZXNv
dXJjZUVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCkpLAorICAgICAgICAgICAgdG9XZWJLaXRF
cnJvcihyZXNvdXJjZUVycm9yLmVycm9yQ29kZSgpKSwgcmVzb3VyY2VFcnJvci5sb2NhbGl6ZWRE
ZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICAgICAgaWYgKHJlc291cmNlRXJyb3Iu
dGxzRXJyb3JzKCkpIHsKKyAgICAgICAgICAgIHdlYmtpdFdlYlZpZXdMb2FkRmFpbGVkV2l0aFRM
U0Vycm9ycyhtX3dlYlZpZXcsIHJlc291cmNlRXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRh
KCksIGVycm9yLmdldCgpLAorICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSwgcmVzb3VyY2VFcnJvci5jZXJ0
aWZpY2F0ZSgpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB3ZWJraXRXZWJWaWV3TG9h
ZEZhaWxlZChtX3dlYlZpZXcsIFdFQktJVF9MT0FEX1NUQVJURUQsIHJlc291cmNlRXJyb3IuZmFp
bGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIGVycm9yLmdldCgpKTsKKyAgICB9CisKKyAgICB2b2lk
IGRpZENvbW1pdExvYWRGb3JGcmFtZShXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiBmcmFt
ZSwgdWludDY0X3QgLyogbmF2aWdhdGlvbklEICovLCBBUEk6Ok9iamVjdCogLyogdXNlckRhdGEg
Ki8pIG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAoIWZyYW1lLT5pc01haW5GcmFtZSgpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB3ZWJraXRXZWJWaWV3TG9hZENoYW5nZWQobV93
ZWJWaWV3LCBXRUJLSVRfTE9BRF9DT01NSVRURUQpOworICAgIH0KKworICAgIHZvaWQgZGlkRmlu
aXNoTG9hZEZvckZyYW1lKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIGZyYW1lLCB1aW50
NjRfdCAvKiBuYXZpZ2F0aW9uSUQgKi8sIEFQSTo6T2JqZWN0KiAvKiB1c2VyRGF0YSAqLykgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIGlmICghZnJhbWUtPmlzTWFpbkZyYW1lKCkpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIHdlYmtpdFdlYlZpZXdMb2FkQ2hhbmdlZChtX3dlYlZpZXcs
IFdFQktJVF9MT0FEX0ZJTklTSEVEKTsKKyAgICB9CisKKyAgICB2b2lkIGRpZEZhaWxMb2FkV2l0
aEVycm9yRm9yRnJhbWUoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2
NF90IC8qIG5hdmlnYXRpb25JRCAqLywgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJv
ciwgQVBJOjpPYmplY3QqIC8qIHVzZXJEYXRhICovKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAg
aWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
R1VuaXF1ZVB0cjxHRXJyb3I+IGVycm9yKGdfZXJyb3JfbmV3X2xpdGVyYWwoZ19xdWFya19mcm9t
X3N0cmluZyhyZXNvdXJjZUVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCkpLAorICAgICAgICAg
ICAgdG9XZWJLaXRFcnJvcihyZXNvdXJjZUVycm9yLmVycm9yQ29kZSgpKSwgcmVzb3VyY2VFcnJv
ci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICAgICAgd2Via2l0
V2ViVmlld0xvYWRGYWlsZWQobV93ZWJWaWV3LCBXRUJLSVRfTE9BRF9DT01NSVRURUQsIHJlc291
cmNlRXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIGVycm9yLmdldCgpKTsKKyAgICB9
CisKKyAgICB2b2lkIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXZWJQYWdlUHJv
eHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPYmplY3QqIC8qIHVzZXJEYXRhICovKSBvdmVycmlk
ZQorICAgIHsKKyAgICAgICAgd2Via2l0V2ViVmlld0luc2VjdXJlQ29udGVudERldGVjdGVkKG1f
d2ViVmlldywgV0VCS0lUX0lOU0VDVVJFX0NPTlRFTlRfRElTUExBWUVEKTsKKyAgICB9CisKKyAg
ICB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lKFdlYlBhZ2VQcm94eSosIFdlYkZy
YW1lUHJveHkqLCBBUEk6Ok9iamVjdCogLyogdXNlckRhdGEgKi8pIG92ZXJyaWRlCisgICAgewor
ICAgICAgICB3ZWJraXRXZWJWaWV3SW5zZWN1cmVDb250ZW50RGV0ZWN0ZWQobV93ZWJWaWV3LCBX
RUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9SVU4pOworICAgIH0KKworICAgIHZvaWQgZGlkQ2hhbmdl
QmFja0ZvcndhcmRMaXN0KFdlYlBhZ2VQcm94eSosIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGFk
ZGVkSXRlbSwgVmVjdG9yPFJlZlB0cjxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPj4gcmVtb3ZlZEl0
ZW1zKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgd2Via2l0QmFja0ZvcndhcmRMaXN0Q2hhbmdl
ZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tfZm9yd2FyZF9saXN0KG1fd2ViVmlldyksIGFkZGVk
SXRlbSwgcmVtb3ZlZEl0ZW1zKTsKKyAgICB9CisKKyAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVy
cmlkZQorICAgIHsKKyAgICAgICAgd2Via2l0V2ViVmlld0hhbmRsZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKG1fd2ViVmlldywgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOworICAgIH0KKworICAg
IHZvaWQgcHJvY2Vzc0RpZENyYXNoKFdlYlBhZ2VQcm94eSopIG92ZXJyaWRlCisgICAgeworICAg
ICAgICB3ZWJraXRXZWJWaWV3V2ViUHJvY2Vzc0NyYXNoZWQobV93ZWJWaWV3KTsKKyAgICB9CisK
KyAgICBXZWJLaXRXZWJWaWV3KiBtX3dlYlZpZXc7Cit9OwogCiB2b2lkIGF0dGFjaExvYWRlckNs
aWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewotICAgIFdLUGFnZUxvYWRlckNs
aWVudFYzIHdrTG9hZGVyQ2xpZW50ID0gewotICAgICAgICB7Ci0gICAgICAgICAgICAzLCAvLyB2
ZXJzaW9uCi0gICAgICAgICAgICB3ZWJWaWV3LCAvLyBjbGllbnRJbmZvCi0gICAgICAgIH0sCi0g
ICAgICAgIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUsCi0gICAgICAgIGRpZFJlY2Vp
dmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lLAotICAgICAgICBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUsCi0gICAgICAgIGRpZENvbW1pdExv
YWRGb3JGcmFtZSwKLSAgICAgICAgMCwgLy8gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUK
LSAgICAgICAgZGlkRmluaXNoTG9hZEZvckZyYW1lLAotICAgICAgICBkaWRGYWlsTG9hZFdpdGhF
cnJvckZvckZyYW1lLAotICAgICAgICAwLCAvLyBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9y
RnJhbWUKLSAgICAgICAgMCwgLy8gZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUsCi0gICAgICAgIDAs
IC8vIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUKLSAgICAgICAgMCwgLy8gZGlkRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUKLSAgICAgICAgMCwgLy8gZGlkUmVtb3ZlRnJhbWVGcm9t
SGllcmFyY2h5Ci0gICAgICAgIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSwKLSAg
ICAgICAgZGlkUnVuSW5zZWN1cmVDb250ZW50Rm9yRnJhbWUsCi0gICAgICAgIDAsIC8vIGNhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VJbkZyYW1lCi0gICAgICAgIGRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUsCi0gICAgICAgIDAsIC8vIGRpZFN0YXJ0
UHJvZ3Jlc3MKLSAgICAgICAgMCwgLy8gZGlkQ2hhbmdlUHJvZ3Jlc3MsCi0gICAgICAgIDAsIC8v
IGRpZEZpbmlzaFByb2dyZXNzCi0gICAgICAgIDAsIC8vIGRpZEJlY29tZVVucmVzcG9uc2l2ZQot
ICAgICAgICAwLCAvLyBkaWRCZWNvbWVSZXNwb25zaXZlCi0gICAgICAgIHByb2Nlc3NEaWRDcmFz
aCwKLSAgICAgICAgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0LAotICAgICAgICAwLCAvLyBzaG91
bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbQotICAgICAgICAwLCAvLyBkaWRGYWlsVG9Jbml0aWFs
aXplUGx1Z2luCi0gICAgICAgIDAsIC8vIGRpZERldGVjdFhTU0ZvckZyYW1lCi0gICAgICAgIDAs
IC8vIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lCi0gICAgICAgIDAsIC8v
IHdpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbQotICAgICAgICAwLCAvLyBpbnRlcmFjdGlvbk9j
Y3VycmVkV2hpbGVQcm9jZXNzVW5yZXNwb25zaXZlCi0gICAgICAgIDAsIC8vIHBsdWdpbkRpZEZh
aWxfZGVwcmVjYXRlZEZvclVzZVdpdGhWMQotICAgICAgICAwLCAvLyBkaWRSZWNlaXZlSW50ZW50
Rm9yRnJhbWUKLSAgICAgICAgMCwgLy8gcmVnaXN0ZXJJbnRlbnRTZXJ2aWNlRm9yRnJhbWUKLSAg
ICAgICAgMCwgLy8gZGlkTGF5b3V0Ci0gICAgICAgIDAsIC8vIHBsdWdpbkxvYWRQb2xpY3lfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMgotICAgICAgICAwLCAvLyBwbHVnaW5EaWRGYWlsCi0gICAgICAg
IDAsIC8vIHBsdWdpbkxvYWRQb2xpY3kKLSAgICB9OwotICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0
b0FQSSh3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmll
dykpKTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdrUGFnZSwgJndrTG9hZGVyQ2xp
ZW50LmJhc2UpOworICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYmtpdFdlYlZpZXdCYXNlR2V0
UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSk7CisgICAgcGFnZS0+c2V0TG9hZGVy
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8TG9hZGVyQ2xpZW50Pih3ZWJWaWV3KSk7CiB9CiAK
</data>
<flag name="review"
          id="268054"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>