<?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>144545</bug_id>
          
          <creation_ts>2015-05-03 06:20:04 -0700</creation_ts>
          <short_desc>Add backed intrinsics to private functions exposed with private symbols in global object</short_desc>
          <delta_ts>2015-05-04 17:39:05 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1091211</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-03 06:20:04 -0700</bug_when>
    <thetext>Add backed intrinsics to private functions exposed with private symbols in global object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091212</commentid>
    <comment_count>1</comment_count>
      <attachid>252267</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-03 06:21:34 -0700</bug_when>
    <thetext>Created attachment 252267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091393</commentid>
    <comment_count>2</comment_count>
      <attachid>252267</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-04 08:56:35 -0700</bug_when>
    <thetext>Comment on attachment 252267
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=252267&amp;action=review

Looks fine.

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:430
&gt; -    JSFunction* privateFuncAbs = JSFunction::create(vm, this, 0, String(), globalPrivateFuncAbs);
&gt; -    JSFunction* privateFuncFloor = JSFunction::create(vm, this, 0, String(), globalPrivateFuncFloor);
&gt; +    JSFunction* privateFuncAbs = JSFunction::create(vm, this, 1, String(), mathProtoFuncAbs, AbsIntrinsic);
&gt; +    JSFunction* privateFuncFloor = JSFunction::create(vm, this, 1, String(), mathProtoFuncFloor, FloorIntrinsic);

There are irritating inconsistencies here. Why do these functions use String(), but log uses vm.propertyNames-&gt;emptyIdentifier.string()? Why are some lengths 0 and other 1 for otherwise identical functions?

Besides the change mentioned in change log, this also changes length from 0 to 1. Can we add a test case covering this? Or just wait and do it in a different patch? If it’s right for abs, then it must be right for isFinite as well, for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091561</commentid>
    <comment_count>3</comment_count>
      <attachid>252267</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-04 15:47:56 -0700</bug_when>
    <thetext>Comment on attachment 252267
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=252267&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:430
&gt;&gt; +    JSFunction* privateFuncFloor = JSFunction::create(vm, this, 1, String(), mathProtoFuncFloor, FloorIntrinsic);
&gt; 
&gt; There are irritating inconsistencies here. Why do these functions use String(), but log uses vm.propertyNames-&gt;emptyIdentifier.string()? Why are some lengths 0 and other 1 for otherwise identical functions?
&gt; 
&gt; Besides the change mentioned in change log, this also changes length from 0 to 1. Can we add a test case covering this? Or just wait and do it in a different patch? If it’s right for abs, then it must be right for isFinite as well, for example.

Yeah! Strictly speaking, these length should be 1. However, fixing it would have no effect on the rest of the JSC. Because nobody looks up the length of private functions.
In this patch, I&apos;ve just fixed the length of touched private functions. But seeing the other functions, there is a lot of inconsistency about it.

So in this patch, to keep the patch simle, I&apos;ll just fix intrinsic related issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091626</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-04 17:39:05 -0700</bug_when>
    <thetext>Committed r183785: &lt;http://trac.webkit.org/changeset/183785&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252267</attachid>
            <date>2015-05-03 06:21:34 -0700</date>
            <delta_ts>2015-05-04 08:56:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144545-20150503222020.patch</filename>
            <type>text/plain</type>
            <size>5999</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NzU2MzgyMTE3NWJlMWE2MDQ2ZGY0MTdkODBlYjBkZGJkMTgyNmY0Li4zOTQzMmMyZWMzNzE5ZDZh
OTNmODkxNTYyMTc5Y2M4Y2YzYTY4NzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxNS0wNS0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBBZGQgYmFja2VkIGludHJpbnNpY3MgdG8gcHJpdmF0ZSBmdW5jdGlv
bnMgZXhwb3NlZCB3aXRoIHByaXZhdGUgc3ltYm9scyBpbiBnbG9iYWwgb2JqZWN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ1NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXRoLmFicyBhbmQgTWF0
aC5mbG9vciBoYXZlIEFTTSBpbnRyaW5zaWNzIEFuZCBpdCBpcyBmdXJ0aGVyIGFjY2VsZXJhdGVk
IGluIERGRy9GVEwgbGF5ZXJzLgorICAgICAgICBUaGlzIHBhdGNoIGFkZHMgaW50cmluc2ljIHRv
IHByaXZhdGUgZnVuY3Rpb25zIGV4cG9zZWQgd2l0aCBwcml2YXRlIHN5bWJvbHMgaW4gZ2xvYmFs
IG9iamVjdCwKKyAgICAgICAgQGZsb29yIGFuZCBAYWJzLgorCisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6Z2xvYmFsUHJpdmF0ZUZ1bmNBYnMpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpnbG9i
YWxQcml2YXRlRnVuY0Zsb29yKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL01hdGhPYmpl
Y3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5oOgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJheS1mcm9tLWFicy1hbmQtZmxvb3IuanM6IEFkZGVkLgorICAgICAgICAodGFy
Z2V0MSk6CisgICAgICAgICh0YXJnZXQyKToKKyAgICAgICAgKHRhcmdldDMpOgorCiAyMDE1LTA1
LTAxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgVHlwZU9mIHNo
b3VsZCBiZSBmYXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYwZDNj
OS4uYjM2MDMxMTdkMmNlYTgzMjA2MGY4ZTNjMWZhMTdjNjkwMmUzYTIzNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNDI2LDgg
KzQyNiw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIAogICAgIEpT
RnVuY3Rpb24qIGJ1aWx0aW5Mb2cgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIHZt
LnByb3BlcnR5TmFtZXMtPmVtcHR5SWRlbnRpZmllci5zdHJpbmcoKSwgZ2xvYmFsRnVuY0J1aWx0
aW5Mb2cpOwogCi0gICAgSlNGdW5jdGlvbiogcHJpdmF0ZUZ1bmNBYnMgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBnbG9iYWxQcml2YXRlRnVuY0Ficyk7Ci0gICAg
SlNGdW5jdGlvbiogcHJpdmF0ZUZ1bmNGbG9vciA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhp
cywgMCwgU3RyaW5nKCksIGdsb2JhbFByaXZhdGVGdW5jRmxvb3IpOworICAgIEpTRnVuY3Rpb24q
IHByaXZhdGVGdW5jQWJzID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmco
KSwgbWF0aFByb3RvRnVuY0FicywgQWJzSW50cmluc2ljKTsKKyAgICBKU0Z1bmN0aW9uKiBwcml2
YXRlRnVuY0Zsb29yID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwg
bWF0aFByb3RvRnVuY0Zsb29yLCBGbG9vckludHJpbnNpYyk7CiAgICAgSlNGdW5jdGlvbiogcHJp
dmF0ZUZ1bmNJc0Zpbml0ZSA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3RyaW5n
KCksIGdsb2JhbEZ1bmNJc0Zpbml0ZSk7CiAKICAgICBKU0Z1bmN0aW9uKiBwcml2YXRlRnVuY09i
amVjdEtleXMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBvYmpl
Y3RDb25zdHJ1Y3RvcktleXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IGE0NDk1YTEyZWNhODRm
YTdhOTI3NjJjOGI3NDA1NjFmNWQwZjY3YmYuLjk5ZDg0ZDQ3YTc2NjE4YTY3NGI4ZDllZTFiZmEx
MjI4NjhlZWUyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTc1OSwxNiArNzU5LDYgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jVGhyb3dUeXBlRXJyb3IoRXhlY1N0
YXRlKiBleGVjKQogICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogfQogCi1FbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbFByaXZhdGVGdW5jQWJzKEV4ZWNTdGF0ZSog
ZXhlYykKLXsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGZhYnMoZXhlYy0+
YXJndW1lbnQoMCkudG9OdW1iZXIoZXhlYykpKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZ2xvYmFsUHJpdmF0ZUZ1bmNGbG9vcihFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihmbG9vcihleGVjLT5hcmd1bWVudCgwKS50
b051bWJlcihleGVjKSkpKTsKLX0KLQogY2xhc3MgR2xvYmFsRnVuY1Byb3RvR2V0dGVyRnVuY3Rv
ciB7CiBwdWJsaWM6CiAgICAgR2xvYmFsRnVuY1Byb3RvR2V0dGVyRnVuY3RvcihKU09iamVjdCog
dGhpc09iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
dGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5j
cHAKaW5kZXggNjlhZjQyYmIwYmU5NmNlOGJlY2E3NmM2ZjRjNTFkZGI0YWM5ZTgxNy4uOGU3ZDYz
MjkyOTRiM2MyOGE1M2IxMjIyYWY5NGIyMDE0Y2M4YWIyMyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKIAogU1RBVElD
X0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKE1hdGhPYmplY3QpOwogCi1FbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBYnMoRXhlY1N0YXRlKik7CiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBQ29zKEV4ZWNTdGF0ZSopOwog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jQUNvc2goRXhlY1N0YXRl
Kik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBU2luKEV4ZWNT
dGF0ZSopOwpAQCAtNTEsNyArNTAsNiBAQAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBt
YXRoUHJvdG9GdW5jQ29zaChFeGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgbWF0aFByb3RvRnVuY0V4cChFeGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgbWF0aFByb3RvRnVuY0V4cG0xKEV4ZWNTdGF0ZSopOwotRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jRmxvb3IoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNGcm91bmQoRXhlY1N0YXRlKik7CiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNIeXBvdChFeGVjU3RhdGUqKTsKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWF0aFByb3RvRnVuY0xvZyhFeGVjU3RhdGUqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAppbmRleCBmYjdkOTI4
MjM4MjliNjJjM2IzMTg4MTI0ZTIzZTdkYzkwMDViMTVlLi45ZDFjMTgxYzBmMWVmYWEyMGIzNWY3
ZTg1ZDhkZmFkYmZmNDYzNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0
aE9iamVjdC5oCkBAIC01MSw2ICs1MSw5IEBAIGNsYXNzIE1hdGhPYmplY3QgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0Kik7CiB9OwogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNB
YnMoRXhlY1N0YXRlKik7CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1
bmNGbG9vcihFeGVjU3RhdGUqKTsKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBN
YXRoT2JqZWN0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyYXktZnJvbS1hYnMtYW5kLWZsb29yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJheS1mcm9tLWFicy1hbmQtZmxvb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJiYjQ4
YTE1Mjc3NTQ1NWVkZmVkNGZlNDJiZmMzODg4YTRlZTM4ZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyYXktZnJvbS1hYnMtYW5kLWZsb29y
LmpzCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIHRhcmdldDEoKSB7CisgICAgcmV0dXJuIEFy
cmF5LmZyb20oeworICAgICAgICBsZW5ndGg6IDUsCisgICAgICAgIDA6IDAsCisgICAgICAgIDE6
IDAsCisgICAgICAgIDI6IDAsCisgICAgICAgIDM6IDAsCisgICAgICAgIDQ6IDAKKyAgICB9KTsK
K30KK25vSW5saW5lKHRhcmdldDEpOworCitmdW5jdGlvbiB0YXJnZXQyKCkgeworICAgIHJldHVy
biBBcnJheS5mcm9tKHsKKyAgICAgICAgbGVuZ3RoOiA1LjQsCisgICAgICAgIDA6IDAsCisgICAg
ICAgIDE6IDAsCisgICAgICAgIDI6IDAsCisgICAgICAgIDM6IDAsCisgICAgICAgIDQ6IDAKKyAg
ICB9KTsKK30KK25vSW5saW5lKHRhcmdldDIpOworCitmdW5jdGlvbiB0YXJnZXQzKCkgeworICAg
IHJldHVybiBBcnJheS5mcm9tKHsKKyAgICAgICAgbGVuZ3RoOiAtNS40LAorICAgICAgICAwOiAw
LAorICAgICAgICAxOiAwLAorICAgICAgICAyOiAwLAorICAgICAgICAzOiAwLAorICAgICAgICA0
OiAwCisgICAgfSk7Cit9Citub0lubGluZSh0YXJnZXQzKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKQorICAgIHRhcmdldDEoKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7
ICsraSkKKyAgICB0YXJnZXQyKCk7Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisg
ICAgdGFyZ2V0MygpOwo=
</data>
<flag name="review"
          id="277107"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>