<?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>116935</bug_id>
          
          <creation_ts>2013-05-29 01:19:15 -0700</creation_ts>
          <short_desc>WebSQL forces 16-bit strings</short_desc>
          <delta_ts>2013-06-05 16:36:26 -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>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>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>894761</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-29 01:19:15 -0700</bug_when>
    <thetext>Consider merging https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f

Mobile Gmail should use 100 kB less memory

Previously, string results from WebSQL were always 16 bit strings even if they
could fit into 8 bit strings. This CL tries to create 8 bit strings from sqlite
results when possible.

This CL halves the total number of 16 bit strings retained by Mobile Gmail. It
doesn&apos;t halve the total memory used by 16 bit strings, however, because there
appears to be another source of 16 bit strings that tend to be longer on
average. Even so, this CL appears to be worth about 100 kB of memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894762</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-29 01:19:46 -0700</bug_when>
    <thetext>Also https://chromium.googlesource.com/chromium/blink/+/ce35a544d09e6cb907457535340eb0e9984e57b8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895322</commentid>
    <comment_count>2</comment_count>
      <attachid>203305</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-29 20:47:47 -0700</bug_when>
    <thetext>Created attachment 203305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895326</commentid>
    <comment_count>3</comment_count>
      <attachid>203305</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-29 20:54:26 -0700</bug_when>
    <thetext>Comment on attachment 203305
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Merge chromium ce35a544d09e6cb907457535340eb0e9984e57b8.

Maybe include the full URL so that we can just copy &amp; paste it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895327</commentid>
    <comment_count>4</comment_count>
      <attachid>203305</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-29 20:54:54 -0700</bug_when>
    <thetext>Comment on attachment 203305
Patch

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

I’d love to see an optimized path for the common case where no characters need escaping. It also seems a little strange to put the 8/16 bit case inside the loop.

&gt; Source/WebCore/platform/FileSystem.cpp:84
&gt; +    const StringImpl* stringImpl = inputString.impl();

No reason for const StringImpl, since StringImpl is an immutable class. You should take out the const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895332</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-29 21:11:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I’d love to see an optimized path for the common case where no characters need escaping. It also seems a little strange to put the 8/16 bit case inside the loop.

Is this code really hot enough to justify that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895338</commentid>
    <comment_count>6</comment_count>
      <attachid>203307</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-29 21:33:00 -0700</bug_when>
    <thetext>Created attachment 203307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895345</commentid>
    <comment_count>7</comment_count>
      <attachid>203307</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-05-29 22:07:44 -0700</bug_when>
    <thetext>Comment on attachment 203307
Patch

Attachment 203307 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/665562</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895346</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-29 22:15:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; I’d love to see an optimized path for the common case where no characters need escaping. It also seems a little strange to put the 8/16 bit case inside the loop.
&gt; 
&gt; Is this code really hot enough to justify that?

Probably not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895347</commentid>
    <comment_count>9</comment_count>
      <attachid>203307</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-29 22:17:52 -0700</bug_when>
    <thetext>Comment on attachment 203307
Patch

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

r=me, but it looks like this broke the Windows build

&gt; Source/WTF/wtf/text/StringImpl.cpp:296
&gt; +    unsigned length = lengthOfNullTerminatedString(string);
&gt; +    return StringImpl::create8BitIfPossible(string, length);

I think this would be better without the local variable “length”.

&gt; Source/WTF/wtf/text/WTFString.cpp:60
&gt; +    size_t length = lengthOfNullTerminatedString(str);
&gt; +    m_impl = StringImpl::create(str, length);

I think this would be better without the local variable “length”.

&gt; Source/WebCore/platform/sql/SQLiteStatement.cpp:335
&gt; +        case SQLITE_TEXT: {
&gt; +            const UChar* string = reinterpret_cast&lt;const UChar*&gt;(sqlite3_value_text16(value));
&gt; +            return SQLValue(StringImpl::create8BitIfPossible(string));
&gt; +        }

Why the local variable. Just to keep the source lines shorter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895673</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-30 14:15:38 -0700</bug_when>
    <thetext>Committed r150985: &lt;http://trac.webkit.org/changeset/150985&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895692</commentid>
    <comment_count>11</comment_count>
      <attachid>203385</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-30 15:19:40 -0700</bug_when>
    <thetext>Created attachment 203385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895694</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-30 15:21:23 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; Source/WebCore/platform/sql/SQLiteStatement.cpp:335
&gt; &gt; +        case SQLITE_TEXT: {
&gt; &gt; +            const UChar* string = reinterpret_cast&lt;const UChar*&gt;(sqlite3_value_text16(value));
&gt; &gt; +            return SQLValue(StringImpl::create8BitIfPossible(string));
&gt; &gt; +        }
&gt; 
&gt; Why the local variable. Just to keep the source lines shorter?

That&apos;s probably why the author did it.
In this case I think it is better for WebKit as well. Many nested calls on a single line make things harder to debug.

I fixed the other cases you mentioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896718</commentid>
    <comment_count>13</comment_count>
      <attachid>203649</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-03 20:57:22 -0700</bug_when>
    <thetext>Created attachment 203649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897602</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-05 16:36:26 -0700</bug_when>
    <thetext>Committed r151248: &lt;http://trac.webkit.org/changeset/151248&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203305</attachid>
            <date>2013-05-29 20:47:47 -0700</date>
            <delta_ts>2013-05-30 15:19:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116935-20130529204625.patch</filename>
            <type>text/plain</type>
            <size>3055</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMxNWE5OTc2MzFiOWU0
MjAxMTMwOGQyMTYyZTdhYzQzZDNmZjc5Mi4uOGI4NGUzNWI0ODE4MGUxYjQyYTVmNWY3MDQyMGMy
YjJhM2NjNjAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEzLTA1LTI5ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBzb21l
IDE2Yml0cyBjb252ZXJzaW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE2OTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWVyZ2UgY2hyb21pdW0gY2UzNWE1NDRkMDllNmNiOTA3NDU3NTM1MzQwZWIw
ZTk5ODRlNTdiOC4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL0lucHV0U3RyZWFtUHJlcHJvY2Vz
c29yLmg6CisgICAgICAgICogcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjplbmNvZGVGb3JGaWxlTmFtZSk6CisKKzIwMTMtMDUtMjkgIEJlbmphbWluIFBvdWxhaW4g
IDxicG91bGFpbkBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIGEgc3BlY2lhbCBjYXNlIGZvciBT
ZWxlY3RvckRhdGFMaXN0OjpleGVjdXRlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgc2VsZWN0b3IK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjg5MQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9JbnB1dFN0cmVhbVByZXBy
b2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSW5wdXRTdHJlYW1QcmVwcm9j
ZXNzb3IuaAppbmRleCA2ZjhlZWIwYzdiODA3NzljYTc3NGFkODI1NTFmNzhkMmU0ZDRkODE2Li5m
ZmQ2MzlhYmUwZDkyNzcwMTE5YTkzZmJiNDk3MzBkYjkxZjQ4ZDM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9JbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLmgKQEAgLTMz
LDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBVQ2hhciBrRW5kT2ZG
aWxlTWFya2VyID0gMDsKK2NvbnN0IExDaGFyIGtFbmRPZkZpbGVNYXJrZXIgPSAwOwogCiAvLyBo
dHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9j
ZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KIHRlbXBsYXRlIDx0eXBlbmFtZSBUb2tlbml6ZXI+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDNjZGVjYjg3MDExODcwZTFk
ZTIwZjZlNjY0NjNiMGMwMWRkYWJlMzIuLjQzY2U5N2YxOTk4YTY4ZTkwZmM4YTgxOWMzNDBhMzk2
YWY4MmY4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogCiAjaW5jbHVkZSA8d3RmL0hleE51
bWJlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC03NywyNyArNzgsMjEgQEAgc3RhdGljIGlubGluZSBib29sIHNob3Vs
ZEVzY2FwZVVDaGFyKFVDaGFyIGMpCiAgICAgcmV0dXJuIGMgPiAxMjcgPyBmYWxzZSA6IG5lZWRz
RXNjYXBpbmdbY107CiB9CiAKLVN0cmluZyBlbmNvZGVGb3JGaWxlTmFtZShjb25zdCBTdHJpbmcm
IGlucHV0U3RyKQorU3RyaW5nIGVuY29kZUZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYgaW5wdXRT
dHJpbmcpCiB7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gaW5wdXRTdHIubGVuZ3RoKCk7Ci0gICAg
VmVjdG9yPFVDaGFyLCA1MTI+IGJ1ZmZlcihsZW5ndGggKiAzICsgMSk7Ci0gICAgVUNoYXIqIHAg
PSBidWZmZXIuZGF0YSgpOwotCi0gICAgY29uc3QgVUNoYXIqIHN0ciA9IGlucHV0U3RyLmNoYXJh
Y3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciogc3RyRW5kID0gc3RyICsgbGVuZ3RoOwotCi0gICAg
d2hpbGUgKHN0ciA8IHN0ckVuZCkgewotICAgICAgICBVQ2hhciBjID0gKnN0cisrOwotICAgICAg
ICBpZiAoc2hvdWxkRXNjYXBlVUNoYXIoYykpIHsKLSAgICAgICAgICAgICpwKysgPSAnJSc7Ci0g
ICAgICAgICAgICBwbGFjZUJ5dGVBc0hleChjLCBwKTsKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3Vs
dDsKKyAgICBjb25zdCBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gaW5wdXRTdHJpbmcuaW1wbCgp
OworICAgIHVuc2lnbmVkIGxlbmd0aCA9IGlucHV0U3RyaW5nLmxlbmd0aCgpOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICBVQ2hhciBjaGFyYWN0
ZXIgPSAoKnN0cmluZ0ltcGwpW2ldOworICAgICAgICBpZiAoc2hvdWxkRXNjYXBlVUNoYXIoY2hh
cmFjdGVyKSkgeworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnJScpOworICAgICAgICAgICAg
YXBwZW5kQnl0ZUFzSGV4KGNoYXJhY3RlciwgcmVzdWx0KTsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICAqcCsrID0gYzsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2hhcmFjdGVyKTsK
ICAgICB9CiAKLSAgICBBU1NFUlQocCAtIGJ1ZmZlci5kYXRhKCkgPD0gc3RhdGljX2Nhc3Q8aW50
PihidWZmZXIuc2l6ZSgpKSk7Ci0KLSAgICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5kYXRhKCksIHAg
LSBidWZmZXIuZGF0YSgpKTsKKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKICNp
ZiAhUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203307</attachid>
            <date>2013-05-29 21:33:00 -0700</date>
            <delta_ts>2013-05-30 15:19:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116935-20130529213137.patch</filename>
            <type>text/plain</type>
            <size>5628</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlMGY1YjlmNTgzMTg0OTY3MGI1MmQ3
Mzk2YWExOGM2Y2E1NmNhM2MuLjI4N2NlOWFjOWI2ZWU1ZmQ1YWJlMGI3MWRjNDNkNDRjMjU1MDU4
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDUtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU1FMIGZvcmNlcyAxNi1iaXQgc3RyaW5n
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZ2Ug
Y2hyb21pdW0gNDljOTYzMmFjMTM1ZjZmMDZlNjIzYTdhODFkOWRhMWY2YmI3MTk2Zi4KKyAgICAg
ICAgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5rLysvNDlj
OTYzMmFjMTM1ZjZmMDZlNjIzYTdhODFkOWRhMWY2YmI3MTk2ZgorCisgICAgICAgICogd3RmL3Rl
eHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJ
ZlBvc3NpYmxlKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChX
VEY6Omxlbmd0aE9mTnVsbFRlcm1pbmF0ZWRTdHJpbmcpOgorICAgICAgICAqIHd0Zi90ZXh0L1dU
RlN0cmluZy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZzo6U3RyaW5nKToKKwogMjAxMy0wNS0y
OSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVO
QUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI4NGUzNWI0ODE4
MGUxYjQyYTVmNWY3MDQyMGMyYjJhM2NjNjAwNS4uYzc4YWRlMWEzNTEzZDU4NjJhMjViNzAwNWE1
ZTAwMTY0YzU2N2U3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEzLTA1LTI5ICBC
ZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIFdlYlNRTCBm
b3JjZXMgMTYtYml0IHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1lcmdlIGNocm9taXVtIDQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlk
YTFmNmJiNzE5NmYuCisgICAgICAgIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
aHJvbWl1bS9ibGluay8rLzQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlkYTFmNmJiNzE5NmYK
KworICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50OjpnZXRDb2x1bW5WYWx1ZSk6CisKKzIwMTMtMDUtMjkg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3Zl
IHNvbWUgMTZiaXRzIGNvbnZlcnNpb24uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTY5MzUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdJbXBsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKaW5k
ZXggYjMwNWExN2ZmODRlYjE1ZmI3OWE2ODUzZWIzOWIyZmE1ZGVmYjE3OS4uZGMyNjA0ZTczOWU2
NWM2MTc2NzdiZTQwMWJiYWJmNWUyYWNmMjNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
Y3BwCkBAIC0yOTAsNiArMjkwLDEyIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1w
bDo6Y3JlYXRlOEJpdElmUG9zc2libGUoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsCiAgICAgcmV0
dXJuIHN0cmluZy5yZWxlYXNlKCk7CiB9CiAKK1Bhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5n
SW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoY29uc3QgVUNoYXIqIHN0cmluZykKK3sKKyAgICB1
bnNpZ25lZCBsZW5ndGggPSBsZW5ndGhPZk51bGxUZXJtaW5hdGVkU3RyaW5nKHN0cmluZyk7Cisg
ICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxlKHN0cmluZywgbGVuZ3Ro
KTsKK30KKwogUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGUoY29uc3Qg
TENoYXIqIHN0cmluZykKIHsKICAgICBpZiAoIXN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBs
LmgKaW5kZXggNzMxOWIwYjU2YjVlMDA0NjkzZjA1MTA4MTA4ODg1ZDM2NmY4ZWExZS4uMjFmZjI3
YjE4ODJlMWE1MmM1MDJiN2Y0MjA5Mjg2MmIwNGRlODA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmgKQEAgLTM1OSw2ICszNTksNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
Y3JlYXRlOEJpdElmUG9zc2libGUodmVjdG9yLmRhdGEoKSwgdmVjdG9yLnNpemUoKSk7CiAgICAg
fQorICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBs
PiBjcmVhdGU4Qml0SWZQb3NzaWJsZShjb25zdCBVQ2hhciopOwogCiAgICAgQUxXQVlTX0lOTElO
RSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGUoY29uc3QgY2hhciogcywgdW5z
aWduZWQgbGVuZ3RoKSB7IHJldHVybiBjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KHMpLCBsZW5ndGgpOyB9CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZShjb25zdCBMQ2hhciopOwpAQCAtMTMxMyw2ICsxMzE0
LDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlT3JOZXdsaW5lKFVDaGFyIGMpCiAgICAg
cmV0dXJuIGMgPD0gMHg3RiA/IFdURjo6aXNBU0NJSVNwYWNlKGMpIDogV1RGOjpVbmljb2RlOjpk
aXJlY3Rpb24oYykgPT0gV1RGOjpVbmljb2RlOjpXaGl0ZVNwYWNlTmV1dHJhbDsKIH0KIAordGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB1bnNpZ25lZCBsZW5ndGhPZk51
bGxUZXJtaW5hdGVkU3RyaW5nKGNvbnN0IENoYXJhY3RlclR5cGUqIHN0cmluZykKK3sKKyAgICBB
U1NFUlQoc3RyaW5nKTsKKyAgICBzaXplX3QgbGVuZ3RoID0gMDsKKyAgICB3aGlsZSAoc3RyaW5n
W2xlbmd0aF0pCisgICAgICAgICsrbGVuZ3RoOworCisgICAgUkVMRUFTRV9BU1NFUlQobGVuZ3Ro
IDwgc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpKTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGxlbmd0aCk7Cit9CisKIGlubGluZSBQYXNzUmVmUHRyPFN0cmlu
Z0ltcGw+IFN0cmluZ0ltcGw6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzQVND
SUlMaXRlcmFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5j
cHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKaW5kZXggMzExZWQyNjVkODM0
ZmY4M2E4MmU0NTNmMTY1NjZhNDkyMTEyOTA4MC4uMTc1MzEzM2FkMTk1ODM0YTZmYzNiYWRjNjRi
YzZkY2MwNzI5Y2FjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcApAQCAtNTUsMTUgKzU1
LDkgQEAgU3RyaW5nOjpTdHJpbmcoY29uc3QgVUNoYXIqIHN0cikKIHsKICAgICBpZiAoIXN0cikK
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBzaXplX3QgbGVuID0gMDsKLSAgICB3aGls
ZSAoc3RyW2xlbl0gIT0gVUNoYXIoMCkpCi0gICAgICAgICsrbGVuOwogCi0gICAgaWYgKGxlbiA+
IG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkpCi0gICAgICAgIENSQVNIKCk7Ci0gICAg
Ci0gICAgbV9pbXBsID0gU3RyaW5nSW1wbDo6Y3JlYXRlKHN0ciwgbGVuKTsKKyAgICBzaXplX3Qg
bGVuZ3RoID0gbGVuZ3RoT2ZOdWxsVGVybWluYXRlZFN0cmluZyhzdHIpOworICAgIG1faW1wbCA9
IFN0cmluZ0ltcGw6OmNyZWF0ZShzdHIsIGxlbmd0aCk7CiB9CiAKIC8vIENvbnN0cnVjdCBhIHN0
cmluZyB3aXRoIGxhdGluMSBkYXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlU3RhdGVtZW50LmNwcAppbmRleCAzYzdlOTQ5Yjg2ZGFhNGVlYmFkMGVlYjhlOTI1YzUy
YmQyNDNjNjI2Li42YzczNDZmZDhkYWVlNmZjNmQ1Y2JkNWZhOWU2ZTVlMDk1YTE0MTMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmNwcApAQCAt
MzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIlNRTFZhbHVlLmgiCiAjaW5jbHVkZSA8c3FsaXRlMy5o
PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC0zMjksOCArMzI5LDEwIEBAIFNRTFZhbHVlIFNRTGl0ZVN0YXRlbWVudDo6Z2V0
Q29sdW1uVmFsdWUoaW50IGNvbCkKICAgICAgICAgY2FzZSBTUUxJVEVfRkxPQVQ6CiAgICAgICAg
ICAgICByZXR1cm4gU1FMVmFsdWUoc3FsaXRlM192YWx1ZV9kb3VibGUodmFsdWUpKTsKICAgICAg
ICAgY2FzZSBTUUxJVEVfQkxPQjogICAgICAgLy8gU1FMVmFsdWUgYW5kIEpTIGRvbid0IHJlcHJl
c2VudCBibG9icywgc28gdXNlIFRFWFQgLWNhc2UKLSAgICAgICAgY2FzZSBTUUxJVEVfVEVYVDoK
LSAgICAgICAgICAgIHJldHVybiBTUUxWYWx1ZShTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBVQ2hhcio+KHNxbGl0ZTNfdmFsdWVfdGV4dDE2KHZhbHVlKSkpKTsKKyAgICAgICAgY2FzZSBT
UUxJVEVfVEVYVDogeworICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihzcWxpdGUzX3ZhbHVlX3RleHQxNih2YWx1ZSkpOworICAg
ICAgICAgICAgcmV0dXJuIFNRTFZhbHVlKFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxl
KHN0cmluZykpOworICAgICAgICB9CiAgICAgICAgIGNhc2UgU1FMSVRFX05VTEw6CiAgICAgICAg
ICAgICByZXR1cm4gU1FMVmFsdWUoKTsKICAgICAgICAgZGVmYXVsdDoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203385</attachid>
            <date>2013-05-30 15:19:40 -0700</date>
            <delta_ts>2013-05-30 15:19:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116935-20130530151816.patch</filename>
            <type>text/plain</type>
            <size>7872</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlMGY1YjlmNTgzMTg0OTY3MGI1MmQ3
Mzk2YWExOGM2Y2E1NmNhM2MuLjBmZTc5YjI4Nzk5YTJkMzBlZmZjNTMyZmQzODY5NjFjNDE5ZWY4
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDUtMzAgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU1FMIGZvcmNlcyAxNi1iaXQgc3RyaW5n
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWVyZ2UgY2hy
b21pdW0gNDljOTYzMmFjMTM1ZjZmMDZlNjIzYTdhODFkOWRhMWY2YmI3MTk2Zi4KKyAgICAgICAg
aHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5rLysvNDljOTYz
MmFjMTM1ZjZmMDZlNjIzYTdhODFkOWRhMWY2YmI3MTk2ZgorCisgICAgICAgICogd3RmL3RleHQv
U3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBv
c3NpYmxlKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6
Omxlbmd0aE9mTnVsbFRlcm1pbmF0ZWRTdHJpbmcpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0
cmluZy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZzo6U3RyaW5nKToKKwogMjAxMy0wNS0yOSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJM
RV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE3OTgzZjE3MjRjZTI3
ZmY2NmY5ZTU1NmEwMWQ0NjkxOWFmMmQ2Zi4uODkxZjgwYjg3YjY2OTkwMDdlODYwZmJmODU4ZjM2
ZDNmZmMyZGQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEzLTA1LTMwICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIFdlYlNRTCBmb3Jj
ZXMgMTYtYml0IHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNjkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIE1lcmdlIGNocm9taXVtIDQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlkYTFmNmJi
NzE5NmYuCisgICAgICAgIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
bS9ibGluay8rLzQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlkYTFmNmJiNzE5NmYKKworICAg
ICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1FMaXRlU3RhdGVtZW50OjpnZXRDb2x1bW5WYWx1ZSk6CisKKzIwMTMtMDUtMzAgIEJlbmph
bWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3ZlIHNvbWUg
MTZiaXRzIGNvbnZlcnNpb24uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTY5MzUKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZUV4cG9ydHMu
ZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZUV4cG9ydHMuZGVmCmluZGV4IGIwNDkxYmE4ZjQ5MTk1OTVl
NzhiNGJmODhkODM0NGY4ZDQ3ODk5YjEuLmYwYTg2NTAwOWM2NWI0NTVmODk1YTQxODE0NWE3MmE1
MDFkMjc4MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVFeHBvcnRzLmRlZgorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlRXhwb3J0cy5kZWYKQEAgLTE2Nyw2ICsxNjcsNyBAQCBFWFBPUlRTCiAg
ICAgP2NvbnZlcnRVVEYxNlRvVVRGOEBVbmljb2RlQFdURkBAWUE/QVc0Q29udmVyc2lvblJlc3Vs
dEAxMkBQQVBCX1dQQl9XUEFQQURQQURfTkBaCiAgICAgP2NvbnZlcnRVVEY4VG9VVEYxNkBVbmlj
b2RlQFdURkBAWUE/QVc0Q29udmVyc2lvblJlc3VsdEAxMkBQQVBCRFBCRFBBUEFfV1BBX1dQQV9O
X05AWgogICAgID9jb3B5QmFja2luZ1N0b3JlQEpTT2JqZWN0QEpTQ0BAU0FYUEFWSlNDZWxsQDJA
QUFWQ29weVZpc2l0b3JAMkBAWgorICAgID9jcmVhdGU4Qml0SWZQb3NzaWJsZUBTdHJpbmdJbXBs
QFdURkBAU0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQl9XQFoKICAgICA/
Y3JlYXRlOEJpdElmUG9zc2libGVAU3RyaW5nSW1wbEBXVEZAQFNBP0FWPyRQYXNzUmVmUHRyQFZT
dHJpbmdJbXBsQFdURkBAQDJAUEJfV0lAWgogICAgID9jcmVhdGVASlNGdW5jdGlvbkBKU0NAQFNB
UEFWMTJAUEFWRXhlY1N0YXRlQDJAUEFWSlNHbG9iYWxPYmplY3RAMkBIQUJWU3RyaW5nQFdURkBA
UDZJX0owQFpXNEludHJpbnNpY0AyQDNAWgogICAgID9jcmVhdGVAT3BhcXVlSlNTdHJpbmdAQFNB
P0FWPyRQYXNzUmVmUHRyQFVPcGFxdWVKU1N0cmluZ0BAQFdURkBAQUJWU3RyaW5nQDNAQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0ph
dmFTY3JpcHRDb3JlRXhwb3J0R2VuZXJhdG9yL0phdmFTY3JpcHRDb3JlRXhwb3J0cy5kZWYuaW4g
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0
Q29yZUV4cG9ydEdlbmVyYXRvci9KYXZhU2NyaXB0Q29yZUV4cG9ydHMuZGVmLmluCmluZGV4IDg3
MjFiMmM2YTg1Y2M4ZTNlYjg0ZWQyYTU4NGQxYjM3OTkxY2Q4OTAuLmQyYmQ0ZDhmYjk5YmIyNGE4
MDkyNDllMWQ0MjdmM2NjMGZlYTdkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlRXhwb3J0R2VuZXJhdG9yL0ph
dmFTY3JpcHRDb3JlRXhwb3J0cy5kZWYuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmVFeHBvcnRHZW5lcmF0b3IvSmF2YVNj
cmlwdENvcmVFeHBvcnRzLmRlZi5pbgpAQCAtMTY3LDYgKzE2Nyw3IEBAIEVYUE9SVFMKICAgICA/
Y29udmVydFVURjE2VG9VVEY4QFVuaWNvZGVAV1RGQEBZQT9BVzRDb252ZXJzaW9uUmVzdWx0QDEy
QFBBUEJfV1BCX1dQQVBBRFBBRF9OQFoKICAgICA/Y29udmVydFVURjhUb1VURjE2QFVuaWNvZGVA
V1RGQEBZQT9BVzRDb252ZXJzaW9uUmVzdWx0QDEyQFBBUEJEUEJEUEFQQV9XUEFfV1BBX05fTkBa
CiAgICAgP2NvcHlCYWNraW5nU3RvcmVASlNPYmplY3RASlNDQEBTQVhQQVZKU0NlbGxAMkBBQVZD
b3B5VmlzaXRvckAyQEBaCisgICAgP2NyZWF0ZThCaXRJZlBvc3NpYmxlQFN0cmluZ0ltcGxAV1RG
QEBTQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCX1dAWgogICAgID9jcmVh
dGU4Qml0SWZQb3NzaWJsZUBTdHJpbmdJbXBsQFdURkBAU0E/QVY/JFBhc3NSZWZQdHJAVlN0cmlu
Z0ltcGxAV1RGQEBAMkBQQl9XSUBaCiAgICAgP2NyZWF0ZUBKU0Z1bmN0aW9uQEpTQ0BAU0FQQVYx
MkBQQVZFeGVjU3RhdGVAMkBQQVZKU0dsb2JhbE9iamVjdEAyQEhBQlZTdHJpbmdAV1RGQEBQNklf
SjBAWlc0SW50cmluc2ljQDJAM0BaCiAgICAgP2NyZWF0ZUBPcGFxdWVKU1N0cmluZ0BAU0E/QVY/
JFBhc3NSZWZQdHJAVU9wYXF1ZUpTU3RyaW5nQEBAV1RGQEBBQlZTdHJpbmdAM0BAWgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvU3RyaW5nSW1wbC5jcHAKaW5kZXggYjMwNWExN2ZmODRlYjE1ZmI3OWE2ODUzZWIzOWIy
ZmE1ZGVmYjE3OS4uMzM3YzY5YjRkNjc1MDgwMWM5NDE4YmQzMjliZWVhN2FjYzgyZDYwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC0yOTAsNiArMjkwLDExIEBAIFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoY29uc3QgVUNo
YXIqIGNoYXJhY3RlcnMsCiAgICAgcmV0dXJuIHN0cmluZy5yZWxlYXNlKCk7CiB9CiAKK1Bhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoY29uc3Qg
VUNoYXIqIHN0cmluZykKK3sKKyAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRlOEJpdElmUG9z
c2libGUoc3RyaW5nLCBsZW5ndGhPZk51bGxUZXJtaW5hdGVkU3RyaW5nKHN0cmluZykpOworfQor
CiBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZShjb25zdCBMQ2hhciog
c3RyaW5nKQogewogICAgIGlmICghc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRl
eCA3MzE5YjBiNTZiNWUwMDQ2OTNmMDUxMDgxMDg4ODVkMzY2ZjhlYTFlLi4yMWZmMjdiMTg4MmUx
YTUyYzUwMmI3ZjQyMDkyODYyYjA0ZGU4MDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApA
QCAtMzU5LDYgKzM1OSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBjcmVhdGU4
Qml0SWZQb3NzaWJsZSh2ZWN0b3IuZGF0YSgpLCB2ZWN0b3Iuc2l6ZSgpKTsKICAgICB9CisgICAg
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0
ZThCaXRJZlBvc3NpYmxlKGNvbnN0IFVDaGFyKik7CiAKICAgICBBTFdBWVNfSU5MSU5FIHN0YXRp
YyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZShjb25zdCBjaGFyKiBzLCB1bnNpZ25lZCBs
ZW5ndGgpIHsgcmV0dXJuIGNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyks
IGxlbmd0aCk7IH0KICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gY3JlYXRlKGNvbnN0IExDaGFyKik7CkBAIC0xMzEzLDYgKzEzMTQsMTggQEAg
c3RhdGljIGlubGluZSBib29sIGlzU3BhY2VPck5ld2xpbmUoVUNoYXIgYykKICAgICByZXR1cm4g
YyA8PSAweDdGID8gV1RGOjppc0FTQ0lJU3BhY2UoYykgOiBXVEY6OlVuaWNvZGU6OmRpcmVjdGlv
bihjKSA9PSBXVEY6OlVuaWNvZGU6OldoaXRlU3BhY2VOZXV0cmFsOwogfQogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHVuc2lnbmVkIGxlbmd0aE9mTnVsbFRlcm1p
bmF0ZWRTdHJpbmcoY29uc3QgQ2hhcmFjdGVyVHlwZSogc3RyaW5nKQoreworICAgIEFTU0VSVChz
dHJpbmcpOworICAgIHNpemVfdCBsZW5ndGggPSAwOworICAgIHdoaWxlIChzdHJpbmdbbGVuZ3Ro
XSkKKyAgICAgICAgKytsZW5ndGg7CisKKyAgICBSRUxFQVNFX0FTU0VSVChsZW5ndGggPCBzdGQ6
Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkpOworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4obGVuZ3RoKTsKK30KKwogaW5saW5lIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4g
U3RyaW5nSW1wbDo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAgICBpZiAoaXNBU0NJSUxpdGVy
YWwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAppbmRleCAzMTFlZDI2NWQ4MzRmZjgzYTgy
ZTQ1M2YxNjU2NmE0OTIxMTI5MDgwLi5iZTVhMGMyMzllMjA4OGM5YjY3ZDU2MDRiZTM3ODRlNDU2
NDg4ZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCkBAIC01NSwxNSArNTUsOCBAQCBT
dHJpbmc6OlN0cmluZyhjb25zdCBVQ2hhciogc3RyKQogewogICAgIGlmICghc3RyKQogICAgICAg
ICByZXR1cm47Ci0gICAgICAgIAotICAgIHNpemVfdCBsZW4gPSAwOwotICAgIHdoaWxlIChzdHJb
bGVuXSAhPSBVQ2hhcigwKSkKLSAgICAgICAgKytsZW47CiAKLSAgICBpZiAobGVuID4gbnVtZXJp
Y19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkKLSAgICAgICAgQ1JBU0goKTsKLSAgICAKLSAgICBt
X2ltcGwgPSBTdHJpbmdJbXBsOjpjcmVhdGUoc3RyLCBsZW4pOworICAgIG1faW1wbCA9IFN0cmlu
Z0ltcGw6OmNyZWF0ZShzdHIsIGxlbmd0aE9mTnVsbFRlcm1pbmF0ZWRTdHJpbmcoc3RyKSk7CiB9
CiAKIC8vIENvbnN0cnVjdCBhIHN0cmluZyB3aXRoIGxhdGluMSBkYXRhLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmNwcAppbmRleCAzYzdlOTQ5Yjg2
ZGFhNGVlYmFkMGVlYjhlOTI1YzUyYmQyNDNjNjI2Li42YzczNDZmZDhkYWVlNmZjNmQ1Y2JkNWZh
OWU2ZTVlMDk1YTE0MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlU3RhdGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlU3RhdGVtZW50LmNwcApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIlNRTFZhbHVlLmgi
CiAjaW5jbHVkZSA8c3FsaXRlMy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMjksOCArMzI5LDEwIEBAIFNRTFZhbHVl
IFNRTGl0ZVN0YXRlbWVudDo6Z2V0Q29sdW1uVmFsdWUoaW50IGNvbCkKICAgICAgICAgY2FzZSBT
UUxJVEVfRkxPQVQ6CiAgICAgICAgICAgICByZXR1cm4gU1FMVmFsdWUoc3FsaXRlM192YWx1ZV9k
b3VibGUodmFsdWUpKTsKICAgICAgICAgY2FzZSBTUUxJVEVfQkxPQjogICAgICAgLy8gU1FMVmFs
dWUgYW5kIEpTIGRvbid0IHJlcHJlc2VudCBibG9icywgc28gdXNlIFRFWFQgLWNhc2UKLSAgICAg
ICAgY2FzZSBTUUxJVEVfVEVYVDoKLSAgICAgICAgICAgIHJldHVybiBTUUxWYWx1ZShTdHJpbmco
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHNxbGl0ZTNfdmFsdWVfdGV4dDE2KHZhbHVl
KSkpKTsKKyAgICAgICAgY2FzZSBTUUxJVEVfVEVYVDogeworICAgICAgICAgICAgY29uc3QgVUNo
YXIqIHN0cmluZyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihzcWxpdGUzX3ZhbHVl
X3RleHQxNih2YWx1ZSkpOworICAgICAgICAgICAgcmV0dXJuIFNRTFZhbHVlKFN0cmluZ0ltcGw6
OmNyZWF0ZThCaXRJZlBvc3NpYmxlKHN0cmluZykpOworICAgICAgICB9CiAgICAgICAgIGNhc2Ug
U1FMSVRFX05VTEw6CiAgICAgICAgICAgICByZXR1cm4gU1FMVmFsdWUoKTsKICAgICAgICAgZGVm
YXVsdDoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203649</attachid>
            <date>2013-06-03 20:57:22 -0700</date>
            <delta_ts>2013-06-03 20:57:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116935-20130603205553.patch</filename>
            <type>text/plain</type>
            <size>5193</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTExNDgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA2LTAzICBCZW5qYW1pbiBQb3VsYWluICA8
YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYlNRTCBmb3JjZXMgMTYtYml0IHN0cmlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjkz
NQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIE1lcmdlIGNo
cm9taXVtIDQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlkYTFmNmJiNzE5NmYuCisgICAgICAg
IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9ibGluay8rLzQ5Yzk2
MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlkYTFmNmJiNzE5NmYKKworICAgICAgICAqIHd0Zi90ZXh0
L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQ
b3NzaWJsZSk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RG
OjpsZW5ndGhPZk51bGxUZXJtaW5hdGVkU3RyaW5nKToKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZT
dHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmc6OlN0cmluZyk6CisKIDIwMTMtMDYtMDMg
IFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBOdWtlIFZTMjAw
NSBmaWxlcyBmcm9tIHRoZSB0cmVlLgpJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3Bw
CShyZXZpc2lvbiAxNTExNDgpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOTAsNiArMjkwLDExIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4gU3RyaW5nSW1wbDo6Y3JlYXQKICAgICByZXR1cm4gc3RyaW5nLnJlbGVhc2UoKTsKIH0KIAor
UGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShj
b25zdCBVQ2hhciogc3RyaW5nKQoreworICAgIHJldHVybiBTdHJpbmdJbXBsOjpjcmVhdGU4Qml0
SWZQb3NzaWJsZShzdHJpbmcsIGxlbmd0aE9mTnVsbFRlcm1pbmF0ZWRTdHJpbmcoc3RyaW5nKSk7
Cit9CisKIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlKGNvbnN0IExD
aGFyKiBzdHJpbmcpCiB7CiAgICAgaWYgKCFzdHJpbmcpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi90
ZXh0L1N0cmluZ0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmlu
Z0ltcGwuaAkocmV2aXNpb24gMTUxMTQ4KQorKysgU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1OSw2ICszNTksNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICByZXR1cm4gY3JlYXRlOEJpdElmUG9zc2libGUodmVjdG9yLmRhdGEoKSwgdmVjdG9y
LnNpemUoKSk7CiAgICAgfQorICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1Jl
ZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGU4Qml0SWZQb3NzaWJsZShjb25zdCBVQ2hhciopOwogCiAg
ICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGUoY29u
c3QgY2hhciogcywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBjcmVhdGUocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBMQ2hhcio+KHMpLCBsZW5ndGgpOyB9CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZShjb25zdCBMQ2hhciopOwpA
QCAtMTMxMyw2ICsxMzE0LDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlT3JOZXdsaW5l
KFVDaGEKICAgICByZXR1cm4gYyA8PSAweDdGID8gV1RGOjppc0FTQ0lJU3BhY2UoYykgOiBXVEY6
OlVuaWNvZGU6OmRpcmVjdGlvbihjKSA9PSBXVEY6OlVuaWNvZGU6OldoaXRlU3BhY2VOZXV0cmFs
OwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHVuc2lnbmVk
IGxlbmd0aE9mTnVsbFRlcm1pbmF0ZWRTdHJpbmcoY29uc3QgQ2hhcmFjdGVyVHlwZSogc3RyaW5n
KQoreworICAgIEFTU0VSVChzdHJpbmcpOworICAgIHNpemVfdCBsZW5ndGggPSAwOworICAgIHdo
aWxlIChzdHJpbmdbbGVuZ3RoXSkKKyAgICAgICAgKytsZW5ndGg7CisKKyAgICBSRUxFQVNFX0FT
U0VSVChsZW5ndGggPCBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obGVuZ3RoKTsKK30KKwogaW5saW5lIFBhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAg
ICBpZiAoaXNBU0NJSUxpdGVyYWwoKSkKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAJ
KHJldmlzaW9uIDE1MTE0OCkKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTUsMTUgKzU1LDggQEAgU3RyaW5nOjpTdHJpbmcoY29uc3QgVUNo
YXIqIHN0cikKIHsKICAgICBpZiAoIXN0cikKICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAg
ICBzaXplX3QgbGVuID0gMDsKLSAgICB3aGlsZSAoc3RyW2xlbl0gIT0gVUNoYXIoMCkpCi0gICAg
ICAgICsrbGVuOwogCi0gICAgaWYgKGxlbiA+IG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkpCi0gICAgICAgIENSQVNIKCk7Ci0gICAgCi0gICAgbV9pbXBsID0gU3RyaW5nSW1wbDo6Y3Jl
YXRlKHN0ciwgbGVuKTsKKyAgICBtX2ltcGwgPSBTdHJpbmdJbXBsOjpjcmVhdGUoc3RyLCBsZW5n
dGhPZk51bGxUZXJtaW5hdGVkU3RyaW5nKHN0cikpOwogfQogCiAvLyBDb25zdHJ1Y3QgYSBzdHJp
bmcgd2l0aCBsYXRpbjEgZGF0YS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTE0OCkKKysr
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEzLTA2LTAzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYlNRTCBmb3JjZXMgMTYtYml0IHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjkzNQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIE1lcmdlIGNocm9taXVtIDQ5Yzk2MzJhYzEzNWY2ZjA2
ZTYyM2E3YTgxZDlkYTFmNmJiNzE5NmYuCisgICAgICAgIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9ibGluay8rLzQ5Yzk2MzJhYzEzNWY2ZjA2ZTYyM2E3YTgxZDlk
YTFmNmJiNzE5NmYKKworICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50OjpnZXRDb2x1bW5WYWx1ZSk6CisK
IDIwMTMtMDYtMDMgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBTb21lIEFwcGxlV2luIFZTMjAxMCBob3VzZSBjbGVhbmluZy4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNTExNDgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3Rh
dGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIlNR
TFZhbHVlLmgiCiAjaW5jbHVkZSA8c3FsaXRlMy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMjksOCArMzI5LDEwIEBA
IFNRTFZhbHVlIFNRTGl0ZVN0YXRlbWVudDo6Z2V0Q29sdW1uVmFsdWUKICAgICAgICAgY2FzZSBT
UUxJVEVfRkxPQVQ6CiAgICAgICAgICAgICByZXR1cm4gU1FMVmFsdWUoc3FsaXRlM192YWx1ZV9k
b3VibGUodmFsdWUpKTsKICAgICAgICAgY2FzZSBTUUxJVEVfQkxPQjogICAgICAgLy8gU1FMVmFs
dWUgYW5kIEpTIGRvbid0IHJlcHJlc2VudCBibG9icywgc28gdXNlIFRFWFQgLWNhc2UKLSAgICAg
ICAgY2FzZSBTUUxJVEVfVEVYVDoKLSAgICAgICAgICAgIHJldHVybiBTUUxWYWx1ZShTdHJpbmco
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHNxbGl0ZTNfdmFsdWVfdGV4dDE2KHZhbHVl
KSkpKTsKKyAgICAgICAgY2FzZSBTUUxJVEVfVEVYVDogeworICAgICAgICAgICAgY29uc3QgVUNo
YXIqIHN0cmluZyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihzcWxpdGUzX3ZhbHVl
X3RleHQxNih2YWx1ZSkpOworICAgICAgICAgICAgcmV0dXJuIFNRTFZhbHVlKFN0cmluZ0ltcGw6
OmNyZWF0ZThCaXRJZlBvc3NpYmxlKHN0cmluZykpOworICAgICAgICB9CiAgICAgICAgIGNhc2Ug
U1FMSVRFX05VTEw6CiAgICAgICAgICAgICByZXR1cm4gU1FMVmFsdWUoKTsKICAgICAgICAgZGVm
YXVsdDoK
</data>

          </attachment>
      

    </bug>

</bugzilla>