<?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>45555</bug_id>
          
          <creation_ts>2010-09-10 11:56:28 -0700</creation_ts>
          <short_desc>Speed up deserialisation of strings</short_desc>
          <delta_ts>2010-09-10 13:02:49 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>277346</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-10 11:56:28 -0700</bug_when>
    <thetext>Speed up deserialisation of strings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277357</commentid>
    <comment_count>1</comment_count>
      <attachid>67220</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-10 12:05:13 -0700</bug_when>
    <thetext>Created attachment 67220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277360</commentid>
    <comment_count>2</comment_count>
      <attachid>67220</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-10 12:13:06 -0700</bug_when>
    <thetext>Comment on attachment 67220
Patch

&gt; +        UString m_ident;
&gt; +        JSValue m_string;

These are confusing names. The string is named &quot;ident&quot; (unnecessary abbreviation), and the JSValue is named string! How about naming one thing m_string and the other m_stringAsJSValue or m_stringWrappedInJSValue or something like that.

Also, I think the function name jsString is not so great, but I don’t have a better suggestion. Maybe something with the word &quot;wrap&quot; in it.

&gt; -    bool readStringData(Identifier&amp; ident)
&gt; +    bool readStringData(CachedString*&amp; ident)

You should name this string, not ident.

&gt; -    bool readStringData(Identifier&amp; ident, bool&amp; wasTerminator)
&gt; +    bool readStringData(CachedString*&amp; ident, bool&amp; wasTerminator)

And this.

&gt; -            Identifier ident;
&gt; +            CachedString* ident;

And this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277361</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-10 12:13:51 -0700</bug_when>
    <thetext>Attachment 67220 did not build on qt:
Build output: http://queues.webkit.org/results/3908359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277365</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-10 12:24:03 -0700</bug_when>
    <thetext>Attachment 67220 did not build on mac:
Build output: http://queues.webkit.org/results/3955350</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277379</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-10 12:53:11 -0700</bug_when>
    <thetext>Committed r67222: &lt;http://trac.webkit.org/changeset/67222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277391</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-10 13:02:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67222 might have broken Qt Linux Release minimal</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67220</attachid>
            <date>2010-09-10 12:05:13 -0700</date>
            <delta_ts>2010-09-10 12:13:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45555-20100910120512.patch</filename>
            <type>text/plain</type>
            <size>7956</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTE3MjhmMjlhNWExNjIxYjhlYmNmNzFhMGVjM2Y2NjZkMzdjN2FmMi4uY2U5MmE1MzAxZWFlMzE0
MWI0MmRlYTUyMmJlMTQ0YWNmZGYxYzk0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wOS0xMCAgT2xp
dmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWVkIHVwIGRlc2VyaWFsaXNhdGlvbiBvZiBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTU1NQor
CisgICAgICAgIFJhdGhlciB0aGFuIGJ1aWxkaW5nIGEgbGlzdCBvZiBJZGVudGlmaWVycyBmb3Ig
dGhlIHN0cmluZyBwb29sCisgICAgICAgIHdlIG5vdyBidWlsZCBhIGxpc3Qgb2YgYSB0dXBsZSBv
ZiBVU3RyaW5nIGFuZCBKU1N0cmluZyouICBUaGlzCisgICAgICAgIGRvZXNuJ3QgaHVydCB0aGUg
cHJvcGVydHkgbmFtZSBjYXNlIGFzIHVzdHJpbmctPmlkZW50aWZpZXIgY29udmVyc2lvbgorICAg
ICAgICBpcyBlc3NlbnRpYWxseSBmcmVlIGlmIHRoZSB1c3RyaW5nIGhhcyBhbHJlYWR5IGJlZW4g
Y29udmVydGVkIHRvCisgICAgICAgIGFuIElkZW50aWZpZXIsIGJ1dCBzYXZlcyBhbiB1bm5lY2Vz
c2FyeSBJZGVudGlmaWVyIGNyZWF0aW9uIGZvcgorICAgICAgICBzdHJpbmdzIHdlIG9ubHkgZXZl
ciB1c2UgdG8gY3JlYXRlIEpTU3RyaW5ncy4gIFdlIGFsc28gcmVkdWNlCisgICAgICAgIEdDIHBy
ZXNzdXJlIGZvciBkdXBsaWNhdGUgc3RyaW5ncyBieSBjYWNoaW5nIHRoZSBKU1N0cmluZ3MuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OkNhY2hlZFN0cmluZzo6Q2FjaGVkU3RyaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpDYWNoZWRTdHJpbmc6Ompz
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpDYWNoZWRTdHJp
bmc6OnVzdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRT
dHJpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpwdXRQcm9w
ZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEZpbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRUZXJtaW5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6ZGVzZXJpYWxpemUpOgorCiAyMDEwLTA5
LTEwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCmluZGV4IGZhOGExZWQ4NTRkODBmOGM4MGVlYzg0YzZlNDI0OThkMmYy
MjQwOTYuLjI1MGM4ODI2OWRlYWUyZDBjNWMwMzAxZTQ0NjFiOGE3NTJjMDU2MDMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTc2Miw2ICs3
NjIsMjUgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKKyAgICBzdHJ1Y3QgQ2FjaGVkU3Ry
aW5nIHsKKyAgICAgICAgQ2FjaGVkU3RyaW5nKGNvbnN0IFVTdHJpbmcmIGlkKQorICAgICAgICAg
ICAgOiBtX2lkZW50KGlkKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBKU1ZhbHVl
IGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFt
X3N0cmluZykKKyAgICAgICAgICAgICAgICBtX3N0cmluZyA9IEpTQzo6anNTdHJpbmcoZXhlYywg
bV9pZGVudCk7CisgICAgICAgICAgICByZXR1cm4gbV9zdHJpbmc7CisgICAgICAgIH0KKyAgICAg
ICAgY29uc3QgVVN0cmluZyYgdXN0cmluZygpIHsgcmV0dXJuIG1faWRlbnQ7IH0KKworICAgIHBy
aXZhdGU6CisgICAgICAgIFVTdHJpbmcgbV9pZGVudDsKKyAgICAgICAgSlNWYWx1ZSBtX3N0cmlu
ZzsKKyAgICB9OworCiAgICAgQ2xvbmVEZXNlcmlhbGl6ZXIoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGJ1ZmZlcikK
ICAgICAgICAgOiBDbG9uZUJhc2UoZXhlYykKICAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9i
YWxPYmplY3QpCkBAIC05MDMsMTMgKzkyMiwxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAKLSAgICBib29sIHJlYWRTdHJpbmdEYXRhKElkZW50aWZpZXImIGlkZW50
KQorICAgIGJvb2wgcmVhZFN0cmluZ0RhdGEoQ2FjaGVkU3RyaW5nKiYgaWRlbnQpCiAgICAgewog
ICAgICAgICBib29sIHNjcmF0Y2g7CiAgICAgICAgIHJldHVybiByZWFkU3RyaW5nRGF0YShpZGVu
dCwgc2NyYXRjaCk7CiAgICAgfQogCi0gICAgYm9vbCByZWFkU3RyaW5nRGF0YShJZGVudGlmaWVy
JiBpZGVudCwgYm9vbCYgd2FzVGVybWluYXRvcikKKyAgICBib29sIHJlYWRTdHJpbmdEYXRhKENh
Y2hlZFN0cmluZyomIGlkZW50LCBib29sJiB3YXNUZXJtaW5hdG9yKQogICAgIHsKICAgICAgICAg
aWYgKG1fZmFpbGVkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTMwLDcgKzk0OSw3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgZmFpbCgpOwogICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlkZW50ID0gbV9jb25zdGFu
dFBvb2xbaW5kZXhdOworICAgICAgICAgICAgaWRlbnQgPSAmbV9jb25zdGFudFBvb2xbaW5kZXhd
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAgICAgVVN0cmluZyBz
dHI7CkBAIC05MzgsOCArOTU3LDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGZhaWwoKTsKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICBpZGVudCA9IElkZW50
aWZpZXIobV9leGVjLCBzdHIpOwotICAgICAgICBtX2NvbnN0YW50UG9vbC5hcHBlbmQoaWRlbnQp
OworICAgICAgICBtX2NvbnN0YW50UG9vbC5hcHBlbmQoc3RyKTsKKyAgICAgICAgaWRlbnQgPSAm
bV9jb25zdGFudFBvb2wubGFzdCgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAg
LTk1OCwyNCArOTc3LDI0IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBhcnJheS0+cHV0KG1fZXhl
YywgaW5kZXgsIHZhbHVlKTsKICAgICB9CiAKLSAgICB2b2lkIHB1dFByb3BlcnR5KEpTT2JqZWN0
KiBvYmplY3QsIElkZW50aWZpZXImIHByb3BlcnR5LCBKU1ZhbHVlIHZhbHVlKQorICAgIHZvaWQg
cHV0UHJvcGVydHkoSlNPYmplY3QqIG9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHks
IEpTVmFsdWUgdmFsdWUpCiAgICAgewogICAgICAgICBvYmplY3QtPnB1dERpcmVjdChwcm9wZXJ0
eSwgdmFsdWUpOwogICAgIH0KIAogICAgIGJvb2wgcmVhZEZpbGUoUmVmUHRyPEZpbGU+JiBmaWxl
KQogICAgIHsKLSAgICAgICAgSWRlbnRpZmllciBwYXRoOworICAgICAgICBDYWNoZWRTdHJpbmcq
IHBhdGg7CiAgICAgICAgIGlmICghcmVhZFN0cmluZ0RhdGEocGF0aCkpCiAgICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgSWRlbnRpZmllciB1cmw7CisgICAgICAgIENhY2hlZFN0cmluZyog
dXJsOwogICAgICAgICBpZiAoIXJlYWRTdHJpbmdEYXRhKHVybCkpCiAgICAgICAgICAgICByZXR1
cm4gMDsKLSAgICAgICAgSWRlbnRpZmllciB0eXBlOworICAgICAgICBDYWNoZWRTdHJpbmcqIHR5
cGU7CiAgICAgICAgIGlmICghcmVhZFN0cmluZ0RhdGEodHlwZSkpCiAgICAgICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgaWYgKG1faXNET01HbG9iYWxPYmplY3QpCi0gICAgICAgICAgICBmaWxl
ID0gRmlsZTo6Y3JlYXRlKFN0cmluZyhwYXRoLnVzdHJpbmcoKS5pbXBsKCkpLCBLVVJMKEtVUkwo
KSwgU3RyaW5nKHVybC51c3RyaW5nKCkuaW1wbCgpKSksIFN0cmluZyh0eXBlLnVzdHJpbmcoKS5p
bXBsKCkpKTsKKyAgICAgICAgICAgIGZpbGUgPSBGaWxlOjpjcmVhdGUoU3RyaW5nKHBhdGgtPnVz
dHJpbmcoKS5pbXBsKCkpLCBLVVJMKEtVUkwoKSwgU3RyaW5nKHVybC0+dXN0cmluZygpLmltcGwo
KSkpLCBTdHJpbmcodHlwZS0+dXN0cmluZygpLmltcGwoKSkpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTEwNjEsMTAgKzEwODAsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IHJldHVybiB0b0pTKG1fZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2ds
b2JhbE9iamVjdCksIHJlc3VsdC5nZXQoKSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBCbG9i
VGFnOiB7Ci0gICAgICAgICAgICBJZGVudGlmaWVyIHVybDsKKyAgICAgICAgICAgIENhY2hlZFN0
cmluZyogdXJsOwogICAgICAgICAgICAgaWYgKCFyZWFkU3RyaW5nRGF0YSh1cmwpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICBJZGVudGlmaWVyIHR5cGU7
CisgICAgICAgICAgICBDYWNoZWRTdHJpbmcqIHR5cGU7CiAgICAgICAgICAgICBpZiAoIXJlYWRT
dHJpbmdEYXRhKHR5cGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSA9IDA7CkBAIC0xMDcyLDI0ICsxMDkxLDI2
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICAgICAg
ICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4ganNO
dWxsKCk7Ci0gICAgICAgICAgICByZXR1cm4gdG9KUyhtX2V4ZWMsIHN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBCbG9iOjpjcmVhdGUoS1VSTChLVVJMKCks
IHVybC51c3RyaW5nKCkuaW1wbCgpKSwgU3RyaW5nKHR5cGUudXN0cmluZygpLmltcGwoKSksIHNp
emUpKTsKKyAgICAgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQgPSBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgICAgICAgICAg
QVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworICAgICAgICAgICAgcmV0dXJuIHRvSlMo
bV9leGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0KSwg
QmxvYjo6Y3JlYXRlKEtVUkwoS1VSTCgpLCB1cmwtPnVzdHJpbmcoKS5pbXBsKCkpLCBTdHJpbmco
dHlwZS0+dXN0cmluZygpLmltcGwoKSksIHNpemUpKTsKICAgICAgICAgfQogICAgICAgICBjYXNl
IFN0cmluZ1RhZzogewotICAgICAgICAgICAgSWRlbnRpZmllciBpZGVudDsKLSAgICAgICAgICAg
IGlmICghcmVhZFN0cmluZ0RhdGEoaWRlbnQpKQorICAgICAgICAgICAgQ2FjaGVkU3RyaW5nKiBj
YWNoZWRTdHJpbmc7CisgICAgICAgICAgICBpZiAoIXJlYWRTdHJpbmdEYXRhKGNhY2hlZFN0cmlu
ZykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgIHJldHVy
biBqc1N0cmluZyhtX2V4ZWMsIGlkZW50LnVzdHJpbmcoKSk7CisgICAgICAgICAgICByZXR1cm4g
Y2FjaGVkU3RyaW5nLT5qc1N0cmluZyhtX2V4ZWMpOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
RW1wdHlTdHJpbmdUYWc6CiAgICAgICAgICAgICByZXR1cm4ganNFbXB0eVN0cmluZygmbV9leGVj
LT5nbG9iYWxEYXRhKCkpOwogICAgICAgICBjYXNlIFJlZ0V4cFRhZzogewotICAgICAgICAgICAg
SWRlbnRpZmllciBwYXR0ZXJuOworICAgICAgICAgICAgQ2FjaGVkU3RyaW5nKiBwYXR0ZXJuOwog
ICAgICAgICAgICAgaWYgKCFyZWFkU3RyaW5nRGF0YShwYXR0ZXJuKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgSWRlbnRpZmllciBmbGFnczsKKyAgICAg
ICAgICAgIENhY2hlZFN0cmluZyogZmxhZ3M7CiAgICAgICAgICAgICBpZiAoIXJlYWRTdHJpbmdE
YXRhKGZsYWdzKSkKICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAg
ICAgUmVmUHRyPFJlZ0V4cD4gcmVnRXhwID0gUmVnRXhwOjpjcmVhdGUoJm1fZXhlYy0+Z2xvYmFs
RGF0YSgpLCBwYXR0ZXJuLnVzdHJpbmcoKSwgZmxhZ3MudXN0cmluZygpKTsKKyAgICAgICAgICAg
IFJlZlB0cjxSZWdFeHA+IHJlZ0V4cCA9IFJlZ0V4cDo6Y3JlYXRlKCZtX2V4ZWMtPmdsb2JhbERh
dGEoKSwgcGF0dGVybi0+dXN0cmluZygpLCBmbGFncy0+dXN0cmluZygpKTsKICAgICAgICAgICAg
IHJldHVybiBuZXcgKG1fZXhlYykgUmVnRXhwT2JqZWN0KG1fZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBtX2dsb2JhbE9iamVjdC0+cmVnRXhwU3RydWN0dXJlKCksIHJlZ0V4cCk7IAogICAg
ICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CkBAIC0xMTAzLDcgKzExMjQsNyBAQCBwcml2YXRlOgog
ICAgIGNvbnN0IHVpbnQ4X3QqIG1fcHRyOwogICAgIGNvbnN0IHVpbnQ4X3QqIG1fZW5kOwogICAg
IHVuc2lnbmVkIG1fdmVyc2lvbjsKLSAgICBWZWN0b3I8SWRlbnRpZmllcj4gbV9jb25zdGFudFBv
b2w7CisgICAgVmVjdG9yPENhY2hlZFN0cmluZz4gbV9jb25zdGFudFBvb2w7CiB9OwogCiBKU1Zh
bHVlIENsb25lRGVzZXJpYWxpemVyOjpkZXNlcmlhbGl6ZSgpCkBAIC0xMTkyLDcgKzEyMTMsNyBA
QCBKU1ZhbHVlIENsb25lRGVzZXJpYWxpemVyOjpkZXNlcmlhbGl6ZSgpCiAgICAgICAgICAgICAg
ICAgdGlja0NvdW50ID0gdGlja3NVbnRpbE5leHRDaGVjaygpOwogICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICBJZGVudGlmaWVyIGlkZW50OworICAgICAgICAgICAgQ2FjaGVkU3RyaW5nKiBp
ZGVudDsKICAgICAgICAgICAgIGJvb2wgd2FzVGVybWluYXRvciA9IGZhbHNlOwogICAgICAgICAg
ICAgaWYgKCFyZWFkU3RyaW5nRGF0YShpZGVudCwgd2FzVGVybWluYXRvcikpIHsKICAgICAgICAg
ICAgICAgICBpZiAoIXdhc1Rlcm1pbmF0b3IpCkBAIC0xMjA1LDExICsxMjI2LDExIEBAIEpTVmFs
dWUgQ2xvbmVEZXNlcmlhbGl6ZXI6OmRlc2VyaWFsaXplKCkKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgaWYgKEpTVmFsdWUgdGVybWluYWwgPSByZWFkVGVybWluYWwoKSkgewotICAgICAg
ICAgICAgICAgIHB1dFByb3BlcnR5KG91dHB1dE9iamVjdFN0YWNrLmxhc3QoKSwgaWRlbnQsIHRl
cm1pbmFsKTsKKyAgICAgICAgICAgICAgICBwdXRQcm9wZXJ0eShvdXRwdXRPYmplY3RTdGFjay5s
YXN0KCksIElkZW50aWZpZXIobV9leGVjLCBpZGVudC0+dXN0cmluZygpKSwgdGVybWluYWwpOwog
ICAgICAgICAgICAgICAgIGdvdG8gb2JqZWN0U3RhcnRWaXNpdE1lbWJlcjsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIHN0YXRlU3RhY2suYXBwZW5kKE9iamVjdEVuZFZpc2l0TWVtYmVyKTsK
LSAgICAgICAgICAgIHByb3BlcnR5TmFtZVN0YWNrLmFwcGVuZChpZGVudCk7CisgICAgICAgICAg
ICBwcm9wZXJ0eU5hbWVTdGFjay5hcHBlbmQoSWRlbnRpZmllcihtX2V4ZWMsIGlkZW50LT51c3Ry
aW5nKCkpKTsKICAgICAgICAgICAgIGdvdG8gc3RhdGVVbmtub3duOwogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgT2JqZWN0RW5kVmlzaXRNZW1iZXI6IHsK
</data>
<flag name="review"
          id="56467"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>