<?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>33156</bug_id>
          
          <creation_ts>2010-01-04 09:10:12 -0800</creation_ts>
          <short_desc>[V8] Generate runtime enabler declarations currently in V8CustomBinding.h.</short_desc>
          <delta_ts>2010-01-04 10:47:38 -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>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>
          
          <blocked>32638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>176718</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-04 09:10:12 -0800</bug_when>
    <thetext>See summary.  Most of the implementations live in V8DOMWindowCustom.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176728</commentid>
    <comment_count>1</comment_count>
      <attachid>45803</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-04 09:39:13 -0800</bug_when>
    <thetext>Created attachment 45803
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176729</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-04 09:41:18 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45803 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176731</commentid>
    <comment_count>3</comment_count>
      <attachid>45803</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-04 09:51:33 -0800</bug_when>
    <thetext>Comment on attachment 45803
patch

ok. Is the perhaps a way to put generation logic into its own Perl function? It doesn&apos;t seem like there is, but I thought I&apos;d ask.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176737</commentid>
    <comment_count>4</comment_count>
      <attachid>45804</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-04 10:21:14 -0800</bug_when>
    <thetext>Created attachment 45804
patch2

Perl code split into its own function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176738</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-04 10:21:56 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45804 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176741</commentid>
    <comment_count>6</comment_count>
      <attachid>45804</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-04 10:36:21 -0800</bug_when>
    <thetext>Comment on attachment 45804
patch2

&gt; +sub GenerateRuntimeEnablerDeclarations

This should be GenerateHeaderRuntimeEnablerDeclarations. Or you could go with GenerateHeaderRuntimeEnabler.

Can fix on landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176745</commentid>
    <comment_count>7</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-04 10:47:38 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/52747</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45803</attachid>
            <date>2010-01-04 09:39:13 -0800</date>
            <delta_ts>2010-01-04 10:21:14 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10216</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mjc0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMDQgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZW5lcmF0ZSBkZWNsYXJhdGlvbnMgZm9yIFY4IHJ1bnRpbWUgZW5hYmxlcnMuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTU2CisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogR2VuZXJhdGUgcnVudGltZSBl
bmFibGVyIGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21CaW5kaW5nLmg6IFJlbW92ZSBtYW51YWwgZGVjbGFyYXRpb25zIG9mIHJ1bnRpbWUgZW5hYmxl
cnMuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwOiBSZW1v
dmUgY2xvc2VDYWxsYmFjaygpLCB3aGljaCBpc24ndCBhY3R1YWxseSBiZWluZyB1c2VkLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorCiAy
MDEwLTAxLTA0ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBUb3IgQXJuZSBWZXN0YsO4LgpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShyZXZpc2lvbiA1Mjc0MCkKKysrIFdl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkK
QEAgLTI4MiwxMSArMjgyLDE3IEBACiBFTkQKICAgICB9CiAKKyAgICBteSBAZW5hYmxlZEF0UnVu
dGltZTsKICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskZGF0YU5vZGUtPmZ1bmN0aW9uc30p
IHsKICAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZTsKKyAgICAg
ICAgbXkgJGF0dHJFeHQgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
OworCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiAke25hbWV9Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwog
RU5ECisgICAgICAgIGlmICgkYXR0ckV4dC0+eyJFbmFibGVkQXRSdW50aW1lIn0pIHsKKyAgICAg
ICAgICAgIHB1c2goQGVuYWJsZWRBdFJ1bnRpbWUsICRmdW5jdGlvbik7CisgICAgICAgIH0KICAg
ICB9CiAgICAgCiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0cmli
dXRlc30pIHsKQEAgLTMwNCw3ICszMTAsMjQgQEAKICAgc3RhdGljIHZvaWQgJHtuYW1lfUFjY2Vz
c29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVl
PiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbyk7CiBFTkQKICAgICAgICAgfQor
ICAgICAgICBpZiAoJGF0dHJFeHQtPnsiRW5hYmxlZEF0UnVudGltZSJ9KSB7CisgICAgICAgICAg
ICBwdXNoKEBlbmFibGVkQXRSdW50aW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgfQogICAgIH0K
KyAgICAKKyAgICBmb3JlYWNoIG15ICRydW50aW1lX2F0dHIgKEBlbmFibGVkQXRSdW50aW1lKSB7
CisgICAgICAgIG15ICRlbmFibGVkQXRSdW50aW1lQ29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0
ZUNvbmRpdGlvbmFsU3RyaW5nKCRydW50aW1lX2F0dHItPnNpZ25hdHVyZSk7CisgICAgICAgIG15
ICRlbmFibGVyID0gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJHJ1bnRpbWVfYXR0ci0+c2ln
bmF0dXJlLT5uYW1lKTsKKyAgICAgICAgaWYgKCRlbmFibGVkQXRSdW50aW1lQ29uZGl0aW9uYWxT
dHJpbmcpIHsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJcbiNpZiAke2VuYWJs
ZWRBdFJ1bnRpbWVDb25kaXRpb25hbFN0cmluZ31cbiIpOworICAgICAgICB9CisgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKKyAgc3RhdGljIGJvb2wgJHtlbmFibGVyfUVuYWJs
ZWQoKTsKK0VORAorICAgICAgICBpZiAoJGVuYWJsZWRBdFJ1bnRpbWVDb25kaXRpb25hbFN0cmlu
ZykgeworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNlbmRpZlxuIik7CisgICAg
ICAgIH0KKyAgICB9CiAKICAgICBHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwoJGRhdGFOb2RlKTsK
IApAQCAtMTYxMCwxMCArMTYzMywxMCBAQAogICAgIAogICAgICMgU2V0dXAgdGhlIGVuYWJsZS1h
dC1ydW50aW1lIGF0dHJzIGlmIHdlIGhhdmUgdGhlbQogICAgIGZvcmVhY2ggbXkgJHJ1bnRpbWVf
YXR0ciAoQGVuYWJsZWRBdFJ1bnRpbWUpIHsKLSAgICAgICAgJGVuYWJsZV9mdW5jdGlvbiA9ICRp
bnRlcmZhY2VOYW1lIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJHJ1bnRpbWVfYXR0ci0+
c2lnbmF0dXJlLT5uYW1lKTsKKyAgICAgICAgJGVuYWJsZV9mdW5jdGlvbiA9ICRpbnRlcmZhY2VO
YW1lIC4gIjo6IiAuICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRydW50aW1lX2F0dHItPnNp
Z25hdHVyZS0+bmFtZSk7CiAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmluZyA9IEdlbmVyYXRl
Q29uZGl0aW9uYWxTdHJpbmcoJHJ1bnRpbWVfYXR0ci0+c2lnbmF0dXJlKTsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJcbiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGNvbmRp
dGlvbmFsU3RyaW5nOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoVjhDdXN0
b206OnY4JHtlbmFibGVfZnVuY3Rpb259RW5hYmxlZCgpKSB7XG4iKTsKKyAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgaWYgKFY4JHtlbmFibGVfZnVuY3Rpb259RW5hYmxlZCgpKSB7XG4i
KTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHN0YXRpYyBjb25zdCBCYXRj
aGVkQXR0cmlidXRlIGF0dHJEYXRhID1cXFxuIik7CiAgICAgICAgIEdlbmVyYXRlU2luZ2xlQmF0
Y2hlZEF0dHJpYnV0ZSgkaW50ZXJmYWNlTmFtZSwgJHJ1bnRpbWVfYXR0ciwgIjsiLCAiICAgICIp
OwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwpAQCAtMTY1Myw4ICsxNjc2LDgg
QEAKICAgICAgICAgbXkgJGNvbmRpdGlvbmFsID0gIiI7CiAgICAgICAgIGlmICgkYXR0ckV4dC0+
eyJFbmFibGVkQXRSdW50aW1lIn0pIHsKICAgICAgICAgICAgICMgT25seSBjYWxsIFNldCgpL1Nl
dEFjY2Vzc29yKCkgaWYgdGhpcyBtZXRob2Qgc2hvdWxkIGJlIGVuYWJsZWQKLSAgICAgICAgICAg
ICRlbmFibGVfZnVuY3Rpb24gPSAkaW50ZXJmYWNlTmFtZSAuICRjb2RlR2VuZXJhdG9yLT5XS191
Y2ZpcnN0KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lKTsKLSAgICAgICAgICAgICRjb25kaXRp
b25hbCA9ICJpZiAoVjhDdXN0b206OnY4JHtlbmFibGVfZnVuY3Rpb259RW5hYmxlZCgpKVxuIjsK
KyAgICAgICAgICAgICRlbmFibGVfZnVuY3Rpb24gPSAkaW50ZXJmYWNlTmFtZSAuICI6OiIgLiAk
Y29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSk7Cisg
ICAgICAgICAgICAkY29uZGl0aW9uYWwgPSAiaWYgKFY4JHtlbmFibGVfZnVuY3Rpb259RW5hYmxl
ZCgpKVxuIjsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgkYXR0ckV4dC0+eyJEb05vdENoZWNr
RG9tYWluU2VjdXJpdHkifSAmJgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAkocmV2aXNpb24gNTI3NDApCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1MSwyNyArMjUxLDI3IEBACiAgICAgcmV0dXJuIFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0
b3IoVjhDbGFzc0luZGV4OjpBVURJTywgd2luZG93KTsKIH0KIAotQUNDRVNTT1JfUlVOVElNRV9F
TkFCTEVSKERPTVdpbmRvd0F1ZGlvKQorYm9vbCBWOERPTVdpbmRvdzo6QXVkaW9FbmFibGVkKCkK
IHsKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OmlzQXZhaWxhYmxlKCk7CiB9CiAKLUFDQ0VTU09S
X1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dIVE1MTWVkaWFFbGVtZW50KQorYm9vbCBWOERPTVdp
bmRvdzo6SFRNTE1lZGlhRWxlbWVudEVuYWJsZWQoKQogewogICAgIHJldHVybiBNZWRpYVBsYXll
cjo6aXNBdmFpbGFibGUoKTsKIH0KIAotQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRv
d0hUTUxBdWRpb0VsZW1lbnQpCitib29sIFY4RE9NV2luZG93OjpIVE1MQXVkaW9FbGVtZW50RW5h
YmxlZCgpCiB7CiAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjppc0F2YWlsYWJsZSgpOwogfQogCi1B
Q0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93SFRNTFZpZGVvRWxlbWVudCkKK2Jvb2wg
VjhET01XaW5kb3c6OkhUTUxWaWRlb0VsZW1lbnRFbmFibGVkKCkKIHsKICAgICByZXR1cm4gTWVk
aWFQbGF5ZXI6OmlzQXZhaWxhYmxlKCk7CiB9CiAKLUFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihE
T01XaW5kb3dNZWRpYUVycm9yKQorYm9vbCBWOERPTVdpbmRvdzo6TWVkaWFFcnJvckVuYWJsZWQo
KQogewogICAgIHJldHVybiBNZWRpYVBsYXllcjo6aXNBdmFpbGFibGUoKTsKIH0KQEAgLTI3OSw0
NyArMjc5LDQ3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShTSEFSRURfV09SS0VSUykKLUFDQ0VT
U09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dTaGFyZWRXb3JrZXIpCitib29sIFY4RE9NV2lu
ZG93OjpTaGFyZWRXb3JrZXJFbmFibGVkKCkKIHsKICAgICByZXR1cm4gU2hhcmVkV29ya2VyUmVw
b3NpdG9yeTo6aXNBdmFpbGFibGUoKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQl9TT0NL
RVRTKQotQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd1dlYlNvY2tldCkKK2Jvb2wg
VjhET01XaW5kb3c6OldlYlNvY2tldEVuYWJsZWQoKQogewogICAgIHJldHVybiBXZWJTb2NrZXQ6
OmlzQXZhaWxhYmxlKCk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKLUFDQ0VT
U09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dPcGVuRGF0YWJhc2UpCitib29sIFY4RE9NV2lu
ZG93OjpPcGVuRGF0YWJhc2VFbmFibGVkKCkKIHsKICAgICByZXR1cm4gV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6ZGF0YWJhc2VFbmFibGVkKCk7CiB9CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKLUFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dMb2Nh
bFN0b3JhZ2UpCitib29sIFY4RE9NV2luZG93OjpMb2NhbFN0b3JhZ2VFbmFibGVkKCkKIHsKICAg
ICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6bG9jYWxTdG9yYWdlRW5hYmxlZCgpOwog
fQogCi1BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93U2Vzc2lvblN0b3JhZ2UpCiti
b29sIFY4RE9NV2luZG93OjpTZXNzaW9uU3RvcmFnZUVuYWJsZWQoKQogewogICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXNzaW9uU3RvcmFnZUVuYWJsZWQoKTsKIH0KICNlbmRp
ZgogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCi1BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIo
RE9NV2luZG93V2Via2l0Tm90aWZpY2F0aW9ucykKK2Jvb2wgVjhET01XaW5kb3c6OldlYmtpdE5v
dGlmaWNhdGlvbnNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6bm90aWZpY2F0aW9uc0VuYWJsZWQoKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKE9GRkxJ
TkVfV0VCX0FQUExJQ0FUSU9OUykKLUFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dB
cHBsaWNhdGlvbkNhY2hlKQorYm9vbCBWOERPTVdpbmRvdzo6QXBwbGljYXRpb25DYWNoZUVuYWJs
ZWQoKQogewogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjphcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZCgpOwogfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3Jr
ZXJDb250ZXh0Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiA1Mjc0MCkKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQotQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKFdvcmtlckNvbnRleHRX
ZWJraXROb3RpZmljYXRpb25zKQorYm9vbCBWOFdvcmtlckNvbnRleHQ6OldlYmtpdE5vdGlmaWNh
dGlvbnNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6bm90
aWZpY2F0aW9uc0VuYWJsZWQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tQmluZGluZy5oCShyZXZpc2lvbiA1Mjc0MCkKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2
OCw2IEBACiAgICAgYm9vbCBWOEN1c3RvbTo6djgjI05BTUUjI0luZGV4ZWRTZWN1cml0eUNoZWNr
KHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBob3N0LCBcCiAgICAgICAgIHVpbnQzMl90IGluZGV4LCB2
ODo6QWNjZXNzVHlwZSB0eXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRhKQogCi0jZGVmaW5l
IEFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihOQU1FKSBib29sIFY4Q3VzdG9tOjp2OCMjTkFNRSMj
RW5hYmxlZCgpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIERPTVdpbmRvdzsK
QEAgLTIyNCwxNiArMjIyLDYgQEAKICAgICBzdGF0aWMgYm9vbCB2OCMjTkFNRSMjSW5kZXhlZFNl
Y3VyaXR5Q2hlY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIFwKICAgICAgICAgdWludDMy
X3QgaW5kZXgsIHY4OjpBY2Nlc3NUeXBlIHR5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRhdGEp
CiAKLSNkZWZpbmUgREVDTEFSRV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoTkFNRSkgc3RhdGlj
IGJvb2wgdjgjI05BTUUjI0VuYWJsZWQoKQotCi0jaWYgRU5BQkxFKFZJREVPKQotICAgICAgICBE
RUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dBdWRpbyk7Ci0gICAgICAg
IERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd0hUTUxNZWRpYUVsZW1l
bnQpOwotICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dI
VE1MQXVkaW9FbGVtZW50KTsKLSAgICAgICAgREVDTEFSRV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJM
RVIoRE9NV2luZG93SFRNTFZpZGVvRWxlbWVudCk7Ci0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1Jf
UlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd01lZGlhRXJyb3IpOwotI2VuZGlmCi0KICAgICAgICAg
REVDTEFSRV9OQU1FRF9BQ0NFU1NfQ0hFQ0soTG9jYXRpb24pOwogICAgICAgICBERUNMQVJFX0lO
REVYRURfQUNDRVNTX0NIRUNLKEhpc3RvcnkpOwogCkBAIC0zMjgsMTMgKzMxNiw3IEBACiAgICAg
ICAgIERFQ0xBUkVfTkFNRURfUFJPUEVSVFlfR0VUVEVSKERhdGFHcmlkQ29sdW1uTGlzdCk7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICAgICAgREVDTEFSRV9BQ0NFU1NPUl9S
VU5USU1FX0VOQUJMRVIoRE9NV2luZG93T3BlbkRhdGFiYXNlKTsKLSNlbmRpZgotCiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQotICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxF
UihET01XaW5kb3dMb2NhbFN0b3JhZ2UpOwotICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJ
TUVfRU5BQkxFUihET01XaW5kb3dTZXNzaW9uU3RvcmFnZSk7CiAgICAgICAgIERFQ0xBUkVfSU5E
RVhFRF9QUk9QRVJUWV9HRVRURVIoU3RvcmFnZSk7CiAgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9Q
Uk9QRVJUWV9TRVRURVIoU3RvcmFnZSk7CiAgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJU
WV9ERUxFVEVSKFN0b3JhZ2UpOwpAQCAtMzQ2LDI4ICszMjgsMTQgQEAKIAogI2lmIEVOQUJMRShX
T1JLRVJTKQogICAgICAgICBERUNMQVJFX0NBTExCQUNLKFdvcmtlckNvbnN0cnVjdG9yKTsKLQot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJ
TUVfRU5BQkxFUihXb3JrZXJDb250ZXh0V2Via2l0Tm90aWZpY2F0aW9ucyk7CiAjZW5kaWYKLSNl
bmRpZiAvLyBFTkFCTEUoV09SS0VSUykKIAotI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNB
VElPTlMpCi0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRv
d0FwcGxpY2F0aW9uQ2FjaGUpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUlMp
CiAgICAgICAgIERFQ0xBUkVfQ0FMTEJBQ0soU2hhcmVkV29ya2VyQ29uc3RydWN0b3IpOwotICAg
ICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dTaGFyZWRXb3Jr
ZXIpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICAgICAgREVDTEFS
RV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93V2Via2l0Tm90aWZpY2F0aW9ucyk7
Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKICAgICAgICAgREVDTEFSRV9DQUxM
QkFDSyhXZWJTb2NrZXRDb25zdHJ1Y3Rvcik7Ci0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVO
VElNRV9FTkFCTEVSKERPTVdpbmRvd1dlYlNvY2tldCk7CiAjZW5kaWYKIAogI3VuZGVmIERFQ0xB
UkVfSU5ERVhFRF9BQ0NFU1NfQ0hFQ0sKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V2ViU29ja2V0Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAJKHJldmlzaW9uIDUyNzQwKQorKysgV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDcsMTUgKzE0Nyw2IEBACiAgICAgcmV0dXJuIHY4Qm9vbGVhbihyZXQpOwogfQogCi12
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJTb2NrZXQ6OmNsb3NlQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5XZWJTb2NrZXQuY2xvc2Uo
KSIpOwotICAgIFdlYlNvY2tldCogd2ViU29ja2V0ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9O
YXRpdmVPYmplY3Q8V2ViU29ja2V0PihWOENsYXNzSW5kZXg6OldFQlNPQ0tFVCwgYXJncy5Ib2xk
ZXIoKSk7Ci0KLSAgICB3ZWJTb2NrZXQtPmNsb3NlKCk7Ci0gICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKLX0KLQogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmICAvLyBFTkFCTEUo
V0VCX1NPQ0tFVFMpCg==
</data>
<flag name="review"
          id="27937"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="27938"
          type_id="3"
          status="-"
          setter="japhet"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45804</attachid>
            <date>2010-01-04 10:21:14 -0800</date>
            <delta_ts>2010-01-04 10:36:20 -0800</delta_ts>
            <desc>patch2</desc>
            <filename>patch2.txt</filename>
            <type>text/plain</type>
            <size>10563</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mjc0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMDQgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZW5lcmF0ZSBkZWNsYXJhdGlvbnMgZm9yIFY4IHJ1bnRpbWUgZW5hYmxlcnMuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTU2CisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogR2VuZXJhdGUgcnVudGltZSBl
bmFibGVyIGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21CaW5kaW5nLmg6IFJlbW92ZSBtYW51YWwgZGVjbGFyYXRpb25zIG9mIHJ1bnRpbWUgZW5hYmxl
cnMuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwOiBSZW1v
dmUgY2xvc2VDYWxsYmFjaygpLCB3aGljaCBpc24ndCBhY3R1YWxseSBiZWluZyB1c2VkLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorCiAy
MDEwLTAxLTA0ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBUb3IgQXJuZSBWZXN0YsO4LgpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShyZXZpc2lvbiA1Mjc0MCkKKysrIFdl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkK
QEAgLTI4MiwxMSArMjgyLDE3IEBACiBFTkQKICAgICB9CiAKKyAgICBteSBAZW5hYmxlZEF0UnVu
dGltZTsKICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskZGF0YU5vZGUtPmZ1bmN0aW9uc30p
IHsKICAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZTsKKyAgICAg
ICAgbXkgJGF0dHJFeHQgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
OworCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiAke25hbWV9Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwog
RU5ECisgICAgICAgIGlmICgkYXR0ckV4dC0+eyJFbmFibGVkQXRSdW50aW1lIn0pIHsKKyAgICAg
ICAgICAgIHB1c2goQGVuYWJsZWRBdFJ1bnRpbWUsICRmdW5jdGlvbik7CisgICAgICAgIH0KICAg
ICB9CiAgICAgCiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0cmli
dXRlc30pIHsKQEAgLTMwNCw4ICszMTAsMTIgQEAKICAgc3RhdGljIHZvaWQgJHtuYW1lfUFjY2Vz
c29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVl
PiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbyk7CiBFTkQKICAgICAgICAgfQor
ICAgICAgICBpZiAoJGF0dHJFeHQtPnsiRW5hYmxlZEF0UnVudGltZSJ9KSB7CisgICAgICAgICAg
ICBwdXNoKEBlbmFibGVkQXRSdW50aW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgfQogICAgIH0K
IAorICAgIEdlbmVyYXRlUnVudGltZUVuYWJsZXJEZWNsYXJhdGlvbnMoQGVuYWJsZWRBdFJ1bnRp
bWUpOwogICAgIEdlbmVyYXRlSGVhZGVyQ3VzdG9tQ2FsbCgkZGF0YU5vZGUpOwogCiAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgPDxFTkQpOwpAQCAtMzI0LDYgKzMzNCwyNSBAQAogICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICIjZW5kaWYgLy8gJHtjb25kaXRpb25hbFN0cmluZ31cblxuIikgaWYg
JGNvbmRpdGlvbmFsU3RyaW5nOwogfQogCitzdWIgR2VuZXJhdGVSdW50aW1lRW5hYmxlckRlY2xh
cmF0aW9ucworeworICAgIG15IEBlbmFibGVkQXRSdW50aW1lID0gQF87CisgICAgCisgICAgZm9y
ZWFjaCBteSAkcnVudGltZV9hdHRyIChAZW5hYmxlZEF0UnVudGltZSkgeworICAgICAgICBteSAk
ZW5hYmxlZEF0UnVudGltZUNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVDb25kaXRpb25hbFN0
cmluZygkcnVudGltZV9hdHRyLT5zaWduYXR1cmUpOworICAgICAgICBteSAkZW5hYmxlciA9ICRj
b2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRydW50aW1lX2F0dHItPnNpZ25hdHVyZS0+bmFtZSk7
CisgICAgICAgIGlmICgkZW5hYmxlZEF0UnVudGltZUNvbmRpdGlvbmFsU3RyaW5nKSB7CisgICAg
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG4jaWYgJHtlbmFibGVkQXRSdW50aW1lQ29u
ZGl0aW9uYWxTdHJpbmd9XG4iKTsKKyAgICAgICAgfQorICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCA8PEVORCk7CisgIHN0YXRpYyBib29sICR7ZW5hYmxlcn1FbmFibGVkKCk7CitFTkQKKyAg
ICAgICAgaWYgKCRlbmFibGVkQXRSdW50aW1lQ29uZGl0aW9uYWxTdHJpbmcpIHsKKyAgICAgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIjZW5kaWZcbiIpOworICAgICAgICB9CisgICAgfQor
fQorCiBzdWIgR2VuZXJhdGVIZWFkZXJDdXN0b21DYWxsCiB7CiAgICAgbXkgJGRhdGFOb2RlID0g
c2hpZnQ7CkBAIC0xNjEwLDEwICsxNjM5LDEwIEBACiAgICAgCiAgICAgIyBTZXR1cCB0aGUgZW5h
YmxlLWF0LXJ1bnRpbWUgYXR0cnMgaWYgd2UgaGF2ZSB0aGVtCiAgICAgZm9yZWFjaCBteSAkcnVu
dGltZV9hdHRyIChAZW5hYmxlZEF0UnVudGltZSkgewotICAgICAgICAkZW5hYmxlX2Z1bmN0aW9u
ID0gJGludGVyZmFjZU5hbWUgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkcnVudGltZV9h
dHRyLT5zaWduYXR1cmUtPm5hbWUpOworICAgICAgICAkZW5hYmxlX2Z1bmN0aW9uID0gJGludGVy
ZmFjZU5hbWUgLiAiOjoiIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJHJ1bnRpbWVfYXR0
ci0+c2lnbmF0dXJlLT5uYW1lKTsKICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2Vu
ZXJhdGVDb25kaXRpb25hbFN0cmluZygkcnVudGltZV9hdHRyLT5zaWduYXR1cmUpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIlxuI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAk
Y29uZGl0aW9uYWxTdHJpbmc7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChW
OEN1c3RvbTo6djgke2VuYWJsZV9mdW5jdGlvbn1FbmFibGVkKCkpIHtcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoVjgke2VuYWJsZV9mdW5jdGlvbn1FbmFibGVkKCkp
IHtcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgc3RhdGljIGNvbnN0
IEJhdGNoZWRBdHRyaWJ1dGUgYXR0ckRhdGEgPVxcXG4iKTsKICAgICAgICAgR2VuZXJhdGVTaW5n
bGVCYXRjaGVkQXR0cmlidXRlKCRpbnRlcmZhY2VOYW1lLCAkcnVudGltZV9hdHRyLCAiOyIsICIg
ICAgIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CkBAIC0xNjUzLDggKzE2
ODIsOCBAQAogICAgICAgICBteSAkY29uZGl0aW9uYWwgPSAiIjsKICAgICAgICAgaWYgKCRhdHRy
RXh0LT57IkVuYWJsZWRBdFJ1bnRpbWUifSkgewogICAgICAgICAgICAgIyBPbmx5IGNhbGwgU2V0
KCkvU2V0QWNjZXNzb3IoKSBpZiB0aGlzIG1ldGhvZCBzaG91bGQgYmUgZW5hYmxlZAotICAgICAg
ICAgICAgJGVuYWJsZV9mdW5jdGlvbiA9ICRpbnRlcmZhY2VOYW1lIC4gJGNvZGVHZW5lcmF0b3It
PldLX3VjZmlyc3QoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUpOwotICAgICAgICAgICAgJGNv
bmRpdGlvbmFsID0gImlmIChWOEN1c3RvbTo6djgke2VuYWJsZV9mdW5jdGlvbn1FbmFibGVkKCkp
XG4iOworICAgICAgICAgICAgJGVuYWJsZV9mdW5jdGlvbiA9ICRpbnRlcmZhY2VOYW1lIC4gIjo6
IiAuICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1l
KTsKKyAgICAgICAgICAgICRjb25kaXRpb25hbCA9ICJpZiAoVjgke2VuYWJsZV9mdW5jdGlvbn1F
bmFibGVkKCkpXG4iOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90
Q2hlY2tEb21haW5TZWN1cml0eSJ9ICYmCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCShyZXZpc2lvbiA1Mjc0MCkKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUxLDI3ICsyNTEsMjcgQEAKICAgICByZXR1cm4gVjhET01XcmFwcGVyOjpnZXRDb25z
dHJ1Y3RvcihWOENsYXNzSW5kZXg6OkFVRElPLCB3aW5kb3cpOwogfQogCi1BQ0NFU1NPUl9SVU5U
SU1FX0VOQUJMRVIoRE9NV2luZG93QXVkaW8pCitib29sIFY4RE9NV2luZG93OjpBdWRpb0VuYWJs
ZWQoKQogewogICAgIHJldHVybiBNZWRpYVBsYXllcjo6aXNBdmFpbGFibGUoKTsKIH0KIAotQUND
RVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd0hUTUxNZWRpYUVsZW1lbnQpCitib29sIFY4
RE9NV2luZG93OjpIVE1MTWVkaWFFbGVtZW50RW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIE1lZGlh
UGxheWVyOjppc0F2YWlsYWJsZSgpOwogfQogCi1BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9N
V2luZG93SFRNTEF1ZGlvRWxlbWVudCkKK2Jvb2wgVjhET01XaW5kb3c6OkhUTUxBdWRpb0VsZW1l
bnRFbmFibGVkKCkKIHsKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OmlzQXZhaWxhYmxlKCk7CiB9
CiAKLUFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dIVE1MVmlkZW9FbGVtZW50KQor
Ym9vbCBWOERPTVdpbmRvdzo6SFRNTFZpZGVvRWxlbWVudEVuYWJsZWQoKQogewogICAgIHJldHVy
biBNZWRpYVBsYXllcjo6aXNBdmFpbGFibGUoKTsKIH0KIAotQUNDRVNTT1JfUlVOVElNRV9FTkFC
TEVSKERPTVdpbmRvd01lZGlhRXJyb3IpCitib29sIFY4RE9NV2luZG93OjpNZWRpYUVycm9yRW5h
YmxlZCgpCiB7CiAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjppc0F2YWlsYWJsZSgpOwogfQpAQCAt
Mjc5LDQ3ICsyNzksNDcgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQot
QUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd1NoYXJlZFdvcmtlcikKK2Jvb2wgVjhE
T01XaW5kb3c6OlNoYXJlZFdvcmtlckVuYWJsZWQoKQogewogICAgIHJldHVybiBTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSgpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCi1BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93V2ViU29ja2V0KQor
Ym9vbCBWOERPTVdpbmRvdzo6V2ViU29ja2V0RW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIFdlYlNv
Y2tldDo6aXNBdmFpbGFibGUoKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQot
QUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd09wZW5EYXRhYmFzZSkKK2Jvb2wgVjhE
T01XaW5kb3c6Ok9wZW5EYXRhYmFzZUVuYWJsZWQoKQogewogICAgIHJldHVybiBXZWJDb3JlOjpS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkYXRhYmFzZUVuYWJsZWQoKTsKIH0KICNlbmRpZgogCiAj
aWYgRU5BQkxFKERPTV9TVE9SQUdFKQotQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRv
d0xvY2FsU3RvcmFnZSkKK2Jvb2wgVjhET01XaW5kb3c6OkxvY2FsU3RvcmFnZUVuYWJsZWQoKQog
ewogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpsb2NhbFN0b3JhZ2VFbmFibGVk
KCk7CiB9CiAKLUFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dTZXNzaW9uU3RvcmFn
ZSkKK2Jvb2wgVjhET01XaW5kb3c6OlNlc3Npb25TdG9yYWdlRW5hYmxlZCgpCiB7CiAgICAgcmV0
dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNlc3Npb25TdG9yYWdlRW5hYmxlZCgpOwogfQog
I2VuZGlmCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLUFDQ0VTU09SX1JVTlRJTUVfRU5B
QkxFUihET01XaW5kb3dXZWJraXROb3RpZmljYXRpb25zKQorYm9vbCBWOERPTVdpbmRvdzo6V2Vi
a2l0Tm90aWZpY2F0aW9uc0VuYWJsZWQoKQogewogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpub3RpZmljYXRpb25zRW5hYmxlZCgpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQotQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdp
bmRvd0FwcGxpY2F0aW9uQ2FjaGUpCitib29sIFY4RE9NV2luZG93OjpBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKCk7CiB9CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckNvbnRleHRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDUyNzQwKQorKysg
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCi1BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoV29ya2VyQ29u
dGV4dFdlYmtpdE5vdGlmaWNhdGlvbnMpCitib29sIFY4V29ya2VyQ29udGV4dDo6V2Via2l0Tm90
aWZpY2F0aW9uc0VuYWJsZWQoKQogewogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojpub3RpZmljYXRpb25zRW5hYmxlZCgpOwogfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21CaW5kaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgJKHJldmlzaW9uIDUyNzQwKQorKysgV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTY4
LDggKzY4LDYgQEAKICAgICBib29sIFY4Q3VzdG9tOjp2OCMjTkFNRSMjSW5kZXhlZFNlY3VyaXR5
Q2hlY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIFwKICAgICAgICAgdWludDMyX3QgaW5k
ZXgsIHY4OjpBY2Nlc3NUeXBlIHR5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRhdGEpCiAKLSNk
ZWZpbmUgQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKE5BTUUpIGJvb2wgVjhDdXN0b206OnY4IyNO
QU1FIyNFbmFibGVkKCkKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRE9NV2lu
ZG93OwpAQCAtMjI0LDE2ICsyMjIsNiBAQAogICAgIHN0YXRpYyBib29sIHY4IyNOQU1FIyNJbmRl
eGVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwgXAogICAgICAgICB1
aW50MzJfdCBpbmRleCwgdjg6OkFjY2Vzc1R5cGUgdHlwZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g
ZGF0YSkKIAotI2RlZmluZSBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihOQU1FKSBz
dGF0aWMgYm9vbCB2OCMjTkFNRSMjRW5hYmxlZCgpCi0KLSNpZiBFTkFCTEUoVklERU8pCi0gICAg
ICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd0F1ZGlvKTsKLSAg
ICAgICAgREVDTEFSRV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93SFRNTE1lZGlh
RWxlbWVudCk7Ci0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdp
bmRvd0hUTUxBdWRpb0VsZW1lbnQpOwotICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVf
RU5BQkxFUihET01XaW5kb3dIVE1MVmlkZW9FbGVtZW50KTsKLSAgICAgICAgREVDTEFSRV9BQ0NF
U1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93TWVkaWFFcnJvcik7Ci0jZW5kaWYKLQogICAg
ICAgICBERUNMQVJFX05BTUVEX0FDQ0VTU19DSEVDSyhMb2NhdGlvbik7CiAgICAgICAgIERFQ0xB
UkVfSU5ERVhFRF9BQ0NFU1NfQ0hFQ0soSGlzdG9yeSk7CiAKQEAgLTMyOCwxMyArMzE2LDcgQEAK
ICAgICAgICAgREVDTEFSRV9OQU1FRF9QUk9QRVJUWV9HRVRURVIoRGF0YUdyaWRDb2x1bW5MaXN0
KTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQotICAgICAgICBERUNMQVJFX0FDQ0VT
U09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dPcGVuRGF0YWJhc2UpOwotI2VuZGlmCi0KICNp
ZiBFTkFCTEUoRE9NX1NUT1JBR0UpCi0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9F
TkFCTEVSKERPTVdpbmRvd0xvY2FsU3RvcmFnZSk7Ci0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1Jf
UlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd1Nlc3Npb25TdG9yYWdlKTsKICAgICAgICAgREVDTEFS
RV9JTkRFWEVEX1BST1BFUlRZX0dFVFRFUihTdG9yYWdlKTsKICAgICAgICAgREVDTEFSRV9JTkRF
WEVEX1BST1BFUlRZX1NFVFRFUihTdG9yYWdlKTsKICAgICAgICAgREVDTEFSRV9JTkRFWEVEX1BS
T1BFUlRZX0RFTEVURVIoU3RvcmFnZSk7CkBAIC0zNDYsMjggKzMyOCwxNCBAQAogCiAjaWYgRU5B
QkxFKFdPUktFUlMpCiAgICAgICAgIERFQ0xBUkVfQ0FMTEJBQ0soV29ya2VyQ29uc3RydWN0b3Ip
OwotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCi0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1Jf
UlVOVElNRV9FTkFCTEVSKFdvcmtlckNvbnRleHRXZWJraXROb3RpZmljYXRpb25zKTsKICNlbmRp
ZgotI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQogCi0jaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQ
UExJQ0FUSU9OUykKLSAgICAgICAgREVDTEFSRV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9N
V2luZG93QXBwbGljYXRpb25DYWNoZSk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShTSEFSRURfV09S
S0VSUykKICAgICAgICAgREVDTEFSRV9DQUxMQkFDSyhTaGFyZWRXb3JrZXJDb25zdHJ1Y3Rvcik7
Ci0gICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd1NoYXJl
ZFdvcmtlcik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotICAgICAgICBE
RUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dXZWJraXROb3RpZmljYXRp
b25zKTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgICAgICBERUNMQVJF
X0NBTExCQUNLKFdlYlNvY2tldENvbnN0cnVjdG9yKTsKLSAgICAgICAgREVDTEFSRV9BQ0NFU1NP
Ul9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93V2ViU29ja2V0KTsKICNlbmRpZgogCiAjdW5kZWYg
REVDTEFSRV9JTkRFWEVEX0FDQ0VTU19DSEVDSwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcAkocmV2aXNpb24gNTI3NDApCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0NywxNSArMTQ3LDYgQEAKICAgICByZXR1cm4gdjhCb29sZWFuKHJldCk7CiB9
CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6Y2xvc2VDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQotewotICAgIElOQ19TVEFUUygiRE9NLldlYlNvY2tldC5j
bG9zZSgpIik7Ci0gICAgV2ViU29ja2V0KiB3ZWJTb2NrZXQgPSBWOERPTVdyYXBwZXI6OmNvbnZl
cnRUb05hdGl2ZU9iamVjdDxXZWJTb2NrZXQ+KFY4Q2xhc3NJbmRleDo6V0VCU09DS0VULCBhcmdz
LkhvbGRlcigpKTsKLQotICAgIHdlYlNvY2tldC0+Y2xvc2UoKTsKLSAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwotfQotCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgIC8vIEVO
QUJMRShXRUJfU09DS0VUUykK
</data>
<flag name="review"
          id="27939"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="27940"
          type_id="3"
          status="-"
          setter="japhet"
    />
          </attachment>
      

    </bug>

</bugzilla>