<?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>25625</bug_id>
          
          <creation_ts>2009-05-07 12:12:52 -0700</creation_ts>
          <short_desc>Implement Image/Option constructors in V8</short_desc>
          <delta_ts>2009-05-10 11:41:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120311</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-07 12:12:52 -0700</bug_when>
    <thetext>This helps us unfork DOMWindow.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120312</commentid>
    <comment_count>1</comment_count>
      <attachid>30108</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-07 12:17:33 -0700</bug_when>
    <thetext>Created attachment 30108
Implement Image/Option constructors in V8, v1

 WebCore/ChangeLog                                  |   12 +++
 WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp   |   60 -------------
 .../v8/custom/V8HTMLImageElementConstructor.cpp    |   73 ++++++++++++++++
 .../v8/custom/V8HTMLOptionElementConstructor.cpp   |   90 ++++++++++++++++++++
 4 files changed, 175 insertions(+), 60 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120317</commentid>
    <comment_count>2</comment_count>
      <attachid>30109</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-07 12:28:15 -0700</bug_when>
    <thetext>Created attachment 30109
Implement Image/Option constructors in V8, v2

 WebCore/ChangeLog                                  |   12 +++
 WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp   |   60 -------------
 .../v8/custom/V8HTMLImageElementConstructor.cpp    |   73 ++++++++++++++++
 .../v8/custom/V8HTMLOptionElementConstructor.cpp   |   90 ++++++++++++++++++++
 4 files changed, 175 insertions(+), 60 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120320</commentid>
    <comment_count>3</comment_count>
      <attachid>30108</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-07 12:28:55 -0700</bug_when>
    <thetext>Comment on attachment 30108
Implement Image/Option constructors in V8, v1

Whoops. Fixing a few boogers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120561</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-10 11:41:45 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/43360.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30108</attachid>
            <date>2009-05-07 12:17:33 -0700</date>
            <delta_ts>2009-05-07 12:28:55 -0700</delta_ts>
            <desc>Implement Image/Option constructors in V8, v1</desc>
            <filename>Implement-Image-Option-constructors-in-V8-v1.patch</filename>
            <type>text/plain</type>
            <size>11055</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">NmJkOWQ3ZjBiZTE3NjExMzBlZGJhZWIwZDI3NzhjYzM5MTIxZGM2OApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTAzMDM2Li42ZGY5NTc4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDA5LTA1LTA3ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NjI1CisgICAg
ICAgIEltcGxlbWVudCBJbWFnZS9PcHRpb24gY29uc3RydWN0b3JzIGluIFY4IGJpbmRpbmdzLgor
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5BTUVEX1BST1BFUlRZX0dFVFRFUik6IFJlbW92ZWQgb2xkIEpTLWJh
c2VkIGNvZGUuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6IEFkZGVkLgorCiAyMDA5LTA1LTA3ICBB
bnRvbnkgU2FyZ2VudCAgPGFzYXJnZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggODFmMTBlMi4uYmFiMTdmMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTY2LDY2ICs1
NjYsNiBAQCBOQU1FRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KQogICAgIGlmICghcmVzdWx0
LklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAotICAgIC8vIExhenkgaW5pdGlh
bGl6YXRpb24gbWFwIGtlZXBzIGdsb2JhbCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGxhemlseQot
ICAgIC8vIGluaXRpYWxpemVkLiBUaGUgdmFsdWUgaXMgdGhlIGNvZGUgdG8gaW5zdGFudGlhdGUg
dGhlIHByb3BlcnR5LgotICAgIC8vIEl0IG11c3QgcmV0dXJuIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0
eSBhZnRlciBpbml0aWFsaXphdGlvbi4KLSAgICBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4gbGF6eUluaXRNYXA7Ci0gICAgaWYgKGxhenlJbml0TWFwLmlzRW1wdHkoKSkgewotICAgICAg
Ly8gIm5ldyBJbWFnZSgpIiBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgd2VsbC1kZWZpbmVkIGluIGEg
c3BlYywgYnV0IFNhZmFyaSwKLSAgICAgIC8vIE9wZXJhLCBhbmQgRmlyZWZveCBhbGwgY29uc2lk
ZXIgaXQgdG8gYWx3YXlzIGNyZWF0ZSBhbiBIVE1MIGltYWdlCi0gICAgICAvLyBlbGVtZW50LCBy
ZWdhcmRsZXNzIG9mIHRoZSBjdXJyZW50IGRvY3R5cGUuCi0gICAgICBsYXp5SW5pdE1hcC5zZXQo
IkltYWdlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgImZ1bmN0aW9uIEltYWdlKCkgeyBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMo
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCcsICdpbWcnKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgfTsgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgSW1hZ2UiKTsKLSAgICAgIGxhenlJbml0TWFwLnNldCgiT3B0aW9uIiwK
LSAgICAgICAgImZ1bmN0aW9uIE9wdGlvbih0ZXh0LCB2YWx1ZSwgZGVmYXVsdFNlbGVjdGVkLCBz
ZWxlY3RlZCkgeyBcCi0gICAgICAgICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdvcHRpb24nKTsgXAotICAgICAgICAgICBpZiAodGV4dCA9PSBudWxsKSByZXR1cm4gb3B0
aW9uOyBcCi0gICAgICAgICAgIG9wdGlvbi50ZXh0ID0gdGV4dDsgXAotICAgICAgICAgICBpZiAo
dmFsdWUgPT0gbnVsbCkgcmV0dXJuIG9wdGlvbjsgXAotICAgICAgICAgICBvcHRpb24udmFsdWUg
PSB2YWx1ZTsgXAotICAgICAgICAgICBpZiAoZGVmYXVsdFNlbGVjdGVkID09IG51bGwpIHJldHVy
biBvcHRpb247IFwKLSAgICAgICAgICAgb3B0aW9uLmRlZmF1bHRTZWxlY3RlZCA9IGRlZmF1bHRT
ZWxlY3RlZDsgXAotICAgICAgICAgICBpZiAoc2VsZWN0ZWQgPT0gbnVsbCkgcmV0dXJuIG9wdGlv
bjsgXAotICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSBzZWxlY3RlZDsgXAotICAgICAgICAg
ICByZXR1cm4gb3B0aW9uOyBcCi0gICAgICAgICB9OyBcCi0gICAgICAgICBPcHRpb24iKTsKLSAg
ICB9Ci0KLSAgICBTdHJpbmcgY29kZSA9IGxhenlJbml0TWFwLmdldChwcm9wTmFtZSk7Ci0gICAg
aWYgKCFjb2RlLmlzRW1wdHkoKSkgewotICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNv
bnRleHQgPSBWOFByb3h5OjpHZXRDb250ZXh0KHdpbmRvdy0+ZnJhbWUoKSk7Ci0gICAgICAgIC8v
IEJhaWwgb3V0IGlmIHdlIGNhbm5vdCBnZXQgdGhlIGNvbnRleHQgZm9yIHRoZSBmcmFtZS4KLSAg
ICAgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7Ci0gIAotICAgICAgICAvLyBzd2l0Y2ggdG8gdGhlIHRhcmdldCBv
YmplY3QncyBlbnZpcm9ubWVudC4KLSAgICAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNv
bnRleHQpOwotCi0gICAgICAgIC8vIFNldCB0aGUgcHJvcGVydHkgbmFtZSB0byB1bmRlZmluZWQg
dG8gbWFrZSBzdXJlIHRoYXQgdGhlCi0gICAgICAgIC8vIHByb3BlcnR5IGV4aXN0cy4gIFRoaXMg
aXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhpcyBnZXR0ZXIKLSAgICAgICAgLy8gbWlnaHQgYmUgY2Fs
bGVkIHdoZW4gZXZhbHVhdGluZyAndmFyIFJhbmdlRXhjZXB0aW9uID0gdmFsdWUnCi0gICAgICAg
IC8vIHRvIGZpZ3VyZSBvdXQgaWYgd2UgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICdSYW5nZUV4Y2Vw
dGlvbicgYmVmb3JlCi0gICAgICAgIC8vIHdlIHNldCBSYW5nZUV4Y2VwdGlvbiB0byB0aGUgbmV3
IHZhbHVlLiAgSW4gdGhhdCBjYXNlLCB3ZSB3aWxsCi0gICAgICAgIC8vIGV2YWx1YXRlICd2YXIg
UmFuZ2VFeGNlcHRpb24gPSB7fScgYW5kIGVudGVyIGFuIGluZmluaXRlIGxvb3AuCi0gICAgICAg
IC8vIFNldHRpbmcgdGhlIHByb3BlcnR5IG5hbWUgdG8gdW5kZWZpbmVkIG9uIHRoZSBnbG9iYWwg
b2JqZWN0Ci0gICAgICAgIC8vIGVuc3VyZXMgdGhhdCB3ZSBkbyBub3QgaGF2ZSB0byBhc2sgdGhp
cyBnZXR0ZXIgdG8gZmlndXJlIG91dAotICAgICAgICAvLyB0aGF0IHdlIGhhdmUgdGhlIHByb3Bl
cnR5LgotICAgICAgICAvLwotICAgICAgICAvLyBUT0RPKGFnZXIpOiBXZSBwcm9iYWJseSBzaG91
bGQgaW1wbGVtZW50IHRoZSBIYXMgbWV0aG9kCi0gICAgICAgIC8vIGZvciB0aGUgaW50ZXJjZXB0
b3IgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBIYXMgbWV0aG9kCi0gICAgICAgIC8vIHRo
YXQgY2FsbHMgR2V0LgotICAgICAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0KG5hbWUsIHY4OjpV
bmRlZmluZWQoKSk7Ci0gICAgICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUo
d2luZG93LT5mcmFtZSgpKTsKLSAgICAgICAgQVNTRVJUKHByb3h5KTsKLQotICAgICAgICByZXR1
cm4gcHJveHktPmV2YWx1YXRlKFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUoY29kZSksIDApOwot
ICAgIH0KLQogICAgIC8vIFNlYXJjaCBuYW1lZCBpdGVtcyBpbiB0aGUgZG9jdW1lbnQuCiAgICAg
RG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1bWVudCgpOwogICAgIGlmIChkb2MpIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0
cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmNj
MjlkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKworI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDQUxMQkFDS19GVU5DX0RFQ0wo
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yKQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxJ
bWFnZUVsZW1lbnQuQ29udHJ1Y3RvciIpOworCisgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2Fs
bCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBj
YW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CisKKyAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lKCktPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1
bWVudCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkltYWdlIGNvbnN0cnVjdG9yIGFzc29j
aWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBWOFByb3h5OjpSRUZFUkVOQ0VfRVJST1Ip
OworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBhZGRlZCB0byB0aGUgRE9NIE5v
ZGUgbWFwLiBPdGhlcndpc2UsIHRoZSBIVE1MSW1hZ2VFbGVtZW50IGluc3RhbmNlCisgICAgLy8g
bWF5IGVuZCB1cCBiZWluZyB0aGUgb25seSBub2RlIGluIHRoZSBtYXAgYW5kIGdldCBnYXJiYWdl
LWNjb2xsZWN0ZWQgcHJlbWF0dXJlbHkuCisgICAgVjhQcm94eTo6Tm9kZVRvVjhPYmplY3QoZG9j
dW1lbnQpOworCisgICAgUmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+IGltYWdlID0gbmV3IEhUTUxJ
bWFnZUVsZW1lbnQoSFRNTE5hbWVzOjppbWdUYWcsIFY4UHJveHk6OnJldHJpZXZlRnJhbWUoKS0+
ZG9jdW1lbnQoKSk7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwKSB7CisgICAgICAgIGltYWdl
LT5zZXRXaWR0aCh0b0ludDMyKGFyZ3NbMF0pKTsKKyAgICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAxKQorICAgICAgICAgICAgaW1hZ2UtPnNldEhlaWdodCh0b0ludDMyKGFyZ3NbMV0pKTsKKyAg
ICB9CisKKyAgICBWOFByb3h5OjpTZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksIFY4Q2xhc3NJ
bmRleDo6VG9JbnQoVjhDbGFzc0luZGV4OjpOT0RFKSwgaW1hZ2UuZ2V0KCkpOworICAgIGltYWdl
LT5yZWYoKTsKKyAgICBWOFByb3h5OjpTZXRKU1dyYXBwZXJGb3JET01Ob2RlKGltYWdlLmdldCgp
LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGFyZ3MuSG9sZGVyKCkpKTsKKyAgICBy
ZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0
cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1l
bnRDb25zdHJ1Y3Rvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJi
ZmY2NwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNp
bmNsdWRlICJUZXh0LmgiCisKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFBy
b3h5LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IpCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uSFRNTE9wdGlvbkVsZW1lbnQuQ29udHJ1Y3RvciIpOworCisgICAg
aWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigi
RE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7
CisKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lKCktPmRv
Y3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
IkltYWdlIGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBW
OFByb3h5OjpSRUZFUkVOQ0VfRVJST1IpOworCisgICAgUmVmUHRyPEhUTUxPcHRpb25FbGVtZW50
PiBvcHRpb24gPSBuZXcgSFRNTE9wdGlvbkVsZW1lbnQoSFRNTE5hbWVzOjpvcHRpb25UYWcsIFY4
UHJveHk6OnJldHJpZXZlRnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisKKyAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKKyAgICBSZWZQdHI8VGV4dD4gdGV4dCA9IGRvY3VtZW50LT5jcmVhdGVUZXh0Tm9k
ZSgiIik7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwKSB7CisgICAgICAgIGlmICghYXJnc1sw
XS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgdGV4dC0+c2V0RGF0YSh0b1dlYkNvcmVT
dHJpbmcoYXJnc1swXSksIGVjKTsKKyAgICAgICAgICAgIGlmICghZWMpCisgICAgICAgICAgICAg
ICAgdGhyb3dFcnJvcihlYyk7CisgICAgICAgIH0KKworICAgICAgICBvcHRpb24tPmFwcGVuZENo
aWxkKHRleHQucmVsZWFzZSgpLCBlYyk7CisgICAgICAgIGlmICghZWMpCisgICAgICAgICAgICB0
aHJvd0Vycm9yKGVjKTsKKworICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDEpIHsKKyAgICAg
ICAgICAgIGlmICghYXJnc1sxXS0+SXNVbmRlZmluZWQoKSkKKyAgICAgICAgICAgICAgICBvcHRp
b24tPnNldFZhbHVlKHRvV2ViQ29yZVN0cmluZyhhcmdzWzFdKSk7CisKKyAgICAgICAgICAgIGlm
IChhcmdzLkxlbmd0aCgpID4gMikgeworICAgICAgICAgICAgICAgIG9wdGlvbi0+c2V0RGVmYXVs
dFNlbGVjdGVkKGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAo
YXJncy5MZW5ndGgoKSA+IDMpCisgICAgICAgICAgICAgICAgICAgIG9wdGlvbi0+c2V0U2VsZWN0
ZWQoYXJnc1szXS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgVjhQcm94eTo6U2V0RE9NV3JhcHBlcihhcmdzLkhvbGRlcigpLCBWOENsYXNz
SW5kZXg6OlRvSW50KFY4Q2xhc3NJbmRleDo6Tk9ERSksIG9wdGlvbi5nZXQoKSk7CisgICAgb3B0
aW9uLT5yZWYoKTsKKyAgICBWOFByb3h5OjpTZXRKU1dyYXBwZXJGb3JET01Ob2RlKG9wdGlvbi5n
ZXQoKSwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhhcmdzLkhvbGRlcigpKSk7Cisg
ICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30109</attachid>
            <date>2009-05-07 12:28:15 -0700</date>
            <delta_ts>2009-05-07 12:54:25 -0700</delta_ts>
            <desc>Implement Image/Option constructors in V8, v2</desc>
            <filename>Implement-Image-Option-constructors-in-V8-v2.patch</filename>
            <type>text/plain</type>
            <size>11054</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">N2E3ZjVlYTExNmE3ZDQ3OTZmMWFkOGNjZjU5MzA1NTA4ZjYyZmFhMQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTAzMDM2Li42ZGY5NTc4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDA5LTA1LTA3ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NjI1CisgICAg
ICAgIEltcGxlbWVudCBJbWFnZS9PcHRpb24gY29uc3RydWN0b3JzIGluIFY4IGJpbmRpbmdzLgor
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5BTUVEX1BST1BFUlRZX0dFVFRFUik6IFJlbW92ZWQgb2xkIEpTLWJh
c2VkIGNvZGUuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6IEFkZGVkLgorCiAyMDA5LTA1LTA3ICBB
bnRvbnkgU2FyZ2VudCAgPGFzYXJnZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggODFmMTBlMi4uYmFiMTdmMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTY2LDY2ICs1
NjYsNiBAQCBOQU1FRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KQogICAgIGlmICghcmVzdWx0
LklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAotICAgIC8vIExhenkgaW5pdGlh
bGl6YXRpb24gbWFwIGtlZXBzIGdsb2JhbCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGxhemlseQot
ICAgIC8vIGluaXRpYWxpemVkLiBUaGUgdmFsdWUgaXMgdGhlIGNvZGUgdG8gaW5zdGFudGlhdGUg
dGhlIHByb3BlcnR5LgotICAgIC8vIEl0IG11c3QgcmV0dXJuIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0
eSBhZnRlciBpbml0aWFsaXphdGlvbi4KLSAgICBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4gbGF6eUluaXRNYXA7Ci0gICAgaWYgKGxhenlJbml0TWFwLmlzRW1wdHkoKSkgewotICAgICAg
Ly8gIm5ldyBJbWFnZSgpIiBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgd2VsbC1kZWZpbmVkIGluIGEg
c3BlYywgYnV0IFNhZmFyaSwKLSAgICAgIC8vIE9wZXJhLCBhbmQgRmlyZWZveCBhbGwgY29uc2lk
ZXIgaXQgdG8gYWx3YXlzIGNyZWF0ZSBhbiBIVE1MIGltYWdlCi0gICAgICAvLyBlbGVtZW50LCBy
ZWdhcmRsZXNzIG9mIHRoZSBjdXJyZW50IGRvY3R5cGUuCi0gICAgICBsYXp5SW5pdE1hcC5zZXQo
IkltYWdlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgImZ1bmN0aW9uIEltYWdlKCkgeyBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMo
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCcsICdpbWcnKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgfTsgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgSW1hZ2UiKTsKLSAgICAgIGxhenlJbml0TWFwLnNldCgiT3B0aW9uIiwK
LSAgICAgICAgImZ1bmN0aW9uIE9wdGlvbih0ZXh0LCB2YWx1ZSwgZGVmYXVsdFNlbGVjdGVkLCBz
ZWxlY3RlZCkgeyBcCi0gICAgICAgICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdvcHRpb24nKTsgXAotICAgICAgICAgICBpZiAodGV4dCA9PSBudWxsKSByZXR1cm4gb3B0
aW9uOyBcCi0gICAgICAgICAgIG9wdGlvbi50ZXh0ID0gdGV4dDsgXAotICAgICAgICAgICBpZiAo
dmFsdWUgPT0gbnVsbCkgcmV0dXJuIG9wdGlvbjsgXAotICAgICAgICAgICBvcHRpb24udmFsdWUg
PSB2YWx1ZTsgXAotICAgICAgICAgICBpZiAoZGVmYXVsdFNlbGVjdGVkID09IG51bGwpIHJldHVy
biBvcHRpb247IFwKLSAgICAgICAgICAgb3B0aW9uLmRlZmF1bHRTZWxlY3RlZCA9IGRlZmF1bHRT
ZWxlY3RlZDsgXAotICAgICAgICAgICBpZiAoc2VsZWN0ZWQgPT0gbnVsbCkgcmV0dXJuIG9wdGlv
bjsgXAotICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSBzZWxlY3RlZDsgXAotICAgICAgICAg
ICByZXR1cm4gb3B0aW9uOyBcCi0gICAgICAgICB9OyBcCi0gICAgICAgICBPcHRpb24iKTsKLSAg
ICB9Ci0KLSAgICBTdHJpbmcgY29kZSA9IGxhenlJbml0TWFwLmdldChwcm9wTmFtZSk7Ci0gICAg
aWYgKCFjb2RlLmlzRW1wdHkoKSkgewotICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNv
bnRleHQgPSBWOFByb3h5OjpHZXRDb250ZXh0KHdpbmRvdy0+ZnJhbWUoKSk7Ci0gICAgICAgIC8v
IEJhaWwgb3V0IGlmIHdlIGNhbm5vdCBnZXQgdGhlIGNvbnRleHQgZm9yIHRoZSBmcmFtZS4KLSAg
ICAgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7Ci0gIAotICAgICAgICAvLyBzd2l0Y2ggdG8gdGhlIHRhcmdldCBv
YmplY3QncyBlbnZpcm9ubWVudC4KLSAgICAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNv
bnRleHQpOwotCi0gICAgICAgIC8vIFNldCB0aGUgcHJvcGVydHkgbmFtZSB0byB1bmRlZmluZWQg
dG8gbWFrZSBzdXJlIHRoYXQgdGhlCi0gICAgICAgIC8vIHByb3BlcnR5IGV4aXN0cy4gIFRoaXMg
aXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhpcyBnZXR0ZXIKLSAgICAgICAgLy8gbWlnaHQgYmUgY2Fs
bGVkIHdoZW4gZXZhbHVhdGluZyAndmFyIFJhbmdlRXhjZXB0aW9uID0gdmFsdWUnCi0gICAgICAg
IC8vIHRvIGZpZ3VyZSBvdXQgaWYgd2UgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICdSYW5nZUV4Y2Vw
dGlvbicgYmVmb3JlCi0gICAgICAgIC8vIHdlIHNldCBSYW5nZUV4Y2VwdGlvbiB0byB0aGUgbmV3
IHZhbHVlLiAgSW4gdGhhdCBjYXNlLCB3ZSB3aWxsCi0gICAgICAgIC8vIGV2YWx1YXRlICd2YXIg
UmFuZ2VFeGNlcHRpb24gPSB7fScgYW5kIGVudGVyIGFuIGluZmluaXRlIGxvb3AuCi0gICAgICAg
IC8vIFNldHRpbmcgdGhlIHByb3BlcnR5IG5hbWUgdG8gdW5kZWZpbmVkIG9uIHRoZSBnbG9iYWwg
b2JqZWN0Ci0gICAgICAgIC8vIGVuc3VyZXMgdGhhdCB3ZSBkbyBub3QgaGF2ZSB0byBhc2sgdGhp
cyBnZXR0ZXIgdG8gZmlndXJlIG91dAotICAgICAgICAvLyB0aGF0IHdlIGhhdmUgdGhlIHByb3Bl
cnR5LgotICAgICAgICAvLwotICAgICAgICAvLyBUT0RPKGFnZXIpOiBXZSBwcm9iYWJseSBzaG91
bGQgaW1wbGVtZW50IHRoZSBIYXMgbWV0aG9kCi0gICAgICAgIC8vIGZvciB0aGUgaW50ZXJjZXB0
b3IgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBIYXMgbWV0aG9kCi0gICAgICAgIC8vIHRo
YXQgY2FsbHMgR2V0LgotICAgICAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0KG5hbWUsIHY4OjpV
bmRlZmluZWQoKSk7Ci0gICAgICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUo
d2luZG93LT5mcmFtZSgpKTsKLSAgICAgICAgQVNTRVJUKHByb3h5KTsKLQotICAgICAgICByZXR1
cm4gcHJveHktPmV2YWx1YXRlKFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUoY29kZSksIDApOwot
ICAgIH0KLQogICAgIC8vIFNlYXJjaCBuYW1lZCBpdGVtcyBpbiB0aGUgZG9jdW1lbnQuCiAgICAg
RG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1bWVudCgpOwogICAgIGlmIChkb2MpIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0
cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmNj
MjlkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKworI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDQUxMQkFDS19GVU5DX0RFQ0wo
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yKQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxJ
bWFnZUVsZW1lbnQuQ29udHJ1Y3RvciIpOworCisgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2Fs
bCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBj
YW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CisKKyAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lKCktPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1
bWVudCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkltYWdlIGNvbnN0cnVjdG9yIGFzc29j
aWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBWOFByb3h5OjpSRUZFUkVOQ0VfRVJST1Ip
OworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBhZGRlZCB0byB0aGUgRE9NIE5v
ZGUgbWFwLiBPdGhlcndpc2UsIHRoZSBIVE1MSW1hZ2VFbGVtZW50IGluc3RhbmNlCisgICAgLy8g
bWF5IGVuZCB1cCBiZWluZyB0aGUgb25seSBub2RlIGluIHRoZSBtYXAgYW5kIGdldCBnYXJiYWdl
LWNjb2xsZWN0ZWQgcHJlbWF0dXJlbHkuCisgICAgVjhQcm94eTo6Tm9kZVRvVjhPYmplY3QoZG9j
dW1lbnQpOworCisgICAgUmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+IGltYWdlID0gbmV3IEhUTUxJ
bWFnZUVsZW1lbnQoSFRNTE5hbWVzOjppbWdUYWcsIFY4UHJveHk6OnJldHJpZXZlRnJhbWUoKS0+
ZG9jdW1lbnQoKSk7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwKSB7CisgICAgICAgIGltYWdl
LT5zZXRXaWR0aCh0b0ludDMyKGFyZ3NbMF0pKTsKKyAgICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAxKQorICAgICAgICAgICAgaW1hZ2UtPnNldEhlaWdodCh0b0ludDMyKGFyZ3NbMV0pKTsKKyAg
ICB9CisKKyAgICBWOFByb3h5OjpTZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksIFY4Q2xhc3NJ
bmRleDo6VG9JbnQoVjhDbGFzc0luZGV4OjpOT0RFKSwgaW1hZ2UuZ2V0KCkpOworICAgIGltYWdl
LT5yZWYoKTsKKyAgICBWOFByb3h5OjpTZXRKU1dyYXBwZXJGb3JET01Ob2RlKGltYWdlLmdldCgp
LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGFyZ3MuSG9sZGVyKCkpKTsKKyAgICBy
ZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0
cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1l
bnRDb25zdHJ1Y3Rvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNh
OWI2OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNp
bmNsdWRlICJUZXh0LmgiCisKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFBy
b3h5LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IpCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uSFRNTE9wdGlvbkVsZW1lbnQuQ29udHJ1Y3RvciIpOworCisgICAg
aWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigi
RE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7
CisKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lKCktPmRv
Y3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
Ik9wdGlvbiBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIiwg
VjhQcm94eTo6UkVGRVJFTkNFX0VSUk9SKTsKKworICAgIFJlZlB0cjxIVE1MT3B0aW9uRWxlbWVu
dD4gb3B0aW9uID0gbmV3IEhUTUxPcHRpb25FbGVtZW50KEhUTUxOYW1lczo6b3B0aW9uVGFnLCBW
OFByb3h5OjpyZXRyaWV2ZUZyYW1lKCktPmRvY3VtZW50KCkpOworCisgICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7CisgICAgUmVmUHRyPFRleHQ+IHRleHQgPSBkb2N1bWVudC0+Y3JlYXRlVGV4dE5v
ZGUoIiIpOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCkgeworICAgICAgICBpZiAoIWFyZ3Nb
MF0tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgICAgIHRleHQtPnNldERhdGEodG9XZWJDb3Jl
U3RyaW5nKGFyZ3NbMF0pLCBlYyk7CisgICAgICAgICAgICBpZiAoZWMpCisgICAgICAgICAgICAg
ICAgdGhyb3dFcnJvcihlYyk7CisgICAgICAgIH0KKworICAgICAgICBvcHRpb24tPmFwcGVuZENo
aWxkKHRleHQucmVsZWFzZSgpLCBlYyk7CisgICAgICAgIGlmIChlYykKKyAgICAgICAgICAgIHRo
cm93RXJyb3IoZWMpOworCisgICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSkgeworICAgICAg
ICAgICAgaWYgKCFhcmdzWzFdLT5Jc1VuZGVmaW5lZCgpKQorICAgICAgICAgICAgICAgIG9wdGlv
bi0+c2V0VmFsdWUodG9XZWJDb3JlU3RyaW5nKGFyZ3NbMV0pKTsKKworICAgICAgICAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPiAyKSB7CisgICAgICAgICAgICAgICAgb3B0aW9uLT5zZXREZWZhdWx0
U2VsZWN0ZWQoYXJnc1syXS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAgICAgIGlmIChh
cmdzLkxlbmd0aCgpID4gMykKKyAgICAgICAgICAgICAgICAgICAgb3B0aW9uLT5zZXRTZWxlY3Rl
ZChhcmdzWzNdLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBWOFByb3h5OjpTZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksIFY4Q2xhc3NJ
bmRleDo6VG9JbnQoVjhDbGFzc0luZGV4OjpOT0RFKSwgb3B0aW9uLmdldCgpKTsKKyAgICBvcHRp
b24tPnJlZigpOworICAgIFY4UHJveHk6OlNldEpTV3JhcHBlckZvckRPTU5vZGUob3B0aW9uLmdl
dCgpLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGFyZ3MuSG9sZGVyKCkpKTsKKyAg
ICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="15120"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>