<?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>56367</bug_id>
          
          <creation_ts>2011-03-15 01:48:08 -0700</creation_ts>
          <short_desc>REGRESSION(r80096): Number type input unexpectedly rounds fractional values</short_desc>
          <delta_ts>2011-03-22 00:43:40 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>data:text/html,&lt;input type=number value=0.55555&gt;</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>inferno</cc>
    
    <cc>jschuh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>367557</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-15 01:48:08 -0700</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=76134

Because the default value of the maximum fractional digits of NSNumberFormatter and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a localized representation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367558</commentid>
    <comment_count>1</comment_count>
      <attachid>85786</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-15 01:54:42 -0700</bug_when>
    <thetext>Created attachment 85786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367564</commentid>
    <comment_count>2</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-03-15 02:03:43 -0700</bug_when>
    <thetext>Attachment 85786 did not build on gtk:
Build output: http://queues.webkit.org/results/8175537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367565</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-03-15 02:05:16 -0700</bug_when>
    <thetext>Attachment 85786 did not build on qt:
Build output: http://queues.webkit.org/results/8179460</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367572</commentid>
    <comment_count>4</comment_count>
      <attachid>85788</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-15 02:12:53 -0700</bug_when>
    <thetext>Created attachment 85788
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367573</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-15 02:15:19 -0700</bug_when>
    <thetext>Attachment 85786 did not build on win:
Build output: http://queues.webkit.org/results/8178487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369929</commentid>
    <comment_count>6</comment_count>
      <attachid>85788</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-18 15:02:22 -0700</bug_when>
    <thetext>Comment on attachment 85788
Patch 2

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

&gt; Source/WebCore/platform/text/LocalizedNumberICU.cpp:83
&gt; +    int32_t digits = static_cast&lt;int32_t&gt;(fractionDigits);
&gt; +    ASSERT(digits &gt;= 0);

Is overflow OK in release builds?  Do we need to early-return here or use min() to make sure it&apos;s &gt;= 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371171</commentid>
    <comment_count>7</comment_count>
      <attachid>86412</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-21 20:22:59 -0700</bug_when>
    <thetext>Created attachment 86412
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371173</commentid>
    <comment_count>8</comment_count>
      <attachid>85788</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-21 20:25:18 -0700</bug_when>
    <thetext>Comment on attachment 85788
Patch 2

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

Thank you for reviewing.

&gt;&gt; Source/WebCore/platform/text/LocalizedNumberICU.cpp:83
&gt;&gt; +    ASSERT(digits &gt;= 0);
&gt; 
&gt; Is overflow OK in release builds?  Do we need to early-return here or use min() to make sure it&apos;s &gt;= 0?

It&apos;s not ok and the &apos;digits&apos; value is clipped at the next line.
I have updated the patch so that it uses std::min().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371217</commentid>
    <comment_count>9</comment_count>
      <attachid>86412</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-21 22:30:46 -0700</bug_when>
    <thetext>Comment on attachment 86412
Patch 3

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

&gt; Source/WebCore/platform/text/LocalizedNumberICU.cpp:84
&gt; +    int32_t digits = static_cast&lt;int32_t&gt;(fractionDigits);
&gt; +    ASSERT(digits &gt;= 0);
&gt; +    formatter-&gt;setMaximumFractionDigits(max(digits, 0));

It seems we should have some sort of fractionDigits &lt; INT_MAX ASSERT at the start of all of these implementations, instead of this one here.

Then this could be just:

statit_cast&lt;int_32t(fractionDigits) or:

int32_t digits =max( static_cast&lt;int32_t&gt;(fractionDigits), 0); if you really want.  As written it seems like only the ICU port cares that this is &lt; INT_MAX which seems wrong (or at least error-prone for ICU vs. non ICU ports.

Can we write a test which uses INT_MAX + 1 fraction digits?  Seems such could be generated from JS... although it would require a 2gb allocation... which seems like it should fail before we get here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371219</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-21 22:31:28 -0700</bug_when>
    <thetext>Should we just add a toInt32() function to MathExtras.h which does this cast and calls CRASH() if it fails?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371221</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-21 22:32:21 -0700</bug_when>
    <thetext>It seems it would be useful to have a safe, overflow-proof, casting convention to use througout webkit.  Maybe the security gents have a suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371235</commentid>
    <comment_count>12</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-21 23:29:59 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 86412 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86412&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/text/LocalizedNumberICU.cpp:84
&gt; &gt; +    int32_t digits = static_cast&lt;int32_t&gt;(fractionDigits);
&gt; &gt; +    ASSERT(digits &gt;= 0);
&gt; &gt; +    formatter-&gt;setMaximumFractionDigits(max(digits, 0));
&gt; 
&gt; It seems we should have some sort of fractionDigits &lt; INT_MAX ASSERT at the start of all of these implementations, instead of this one here.
&gt; 
&gt; Then this could be just:
&gt; 
&gt; statit_cast&lt;int_32t(fractionDigits) or:
&gt; 
&gt; int32_t digits =max( static_cast&lt;int32_t&gt;(fractionDigits), 0); if you really want.  As written it seems like only the ICU port cares that this is &lt; INT_MAX which seems wrong (or at least error-prone for ICU vs. non ICU ports.
&gt; 
&gt; Can we write a test which uses INT_MAX + 1 fraction digits?  Seems such could be generated from JS... although it would require a 2gb allocation... which seems like it should fail before we get here.

We need to set 2G+ string to HTMLInputElement::value to test this code.  I&apos;m afraid it won&apos;t work on 32 bit builds.

I reconsider what we should do for fractionalDigits&gt;INT_MAX, and my conclusion is that we had better pass INT_MAX to setMaximumFractionDigits() rather than 0 and we don&apos;t need ASSERT().
I&apos;ll update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371237</commentid>
    <comment_count>13</comment_count>
      <attachid>86425</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-21 23:33:34 -0700</bug_when>
    <thetext>Created attachment 86425
Patch 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371257</commentid>
    <comment_count>14</comment_count>
      <attachid>86425</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-22 00:39:33 -0700</bug_when>
    <thetext>Comment on attachment 86425
Patch 4

This feels much nicer.  Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371258</commentid>
    <comment_count>15</comment_count>
      <attachid>86425</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-22 00:43:32 -0700</bug_when>
    <thetext>Comment on attachment 86425
Patch 4

Clearing flags on attachment: 86425

Committed r81649: &lt;http://trac.webkit.org/changeset/81649&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371259</commentid>
    <comment_count>16</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-03-22 00:43:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85786</attachid>
            <date>2011-03-15 01:54:42 -0700</date>
            <delta_ts>2011-03-15 02:12:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56367-20110315175441.patch</filename>
            <type>text/plain</type>
            <size>6518</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODExMDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYjY0ZjZhN2E0YzEyM2Mz
OGQ3NGQ0NzEwNzNhMTViNzMwMzllOGI1Li42MTExM2Q5ZmJjMDEwNzk2Y2I3N2QwOWJjMzJjNWZh
NmFiYmJhYzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDMtMTUgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjgwMDk2KTogTnVtYmVyIHR5cGUgaW5w
dXQgdW5leHBlY3RlZGx5IHJvdW5kcyBmcmFjdGlvbmFsIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzNjcKKyAgICAgICAgCisgICAgICAg
IEJlY2F1c2UgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIG1heGltdW0gZnJhY3Rpb25hbCBkaWdp
dHMgb2YgTlNOdW1iZXJGb3JtYXR0ZXIKKyAgICAgICAgYW5kIElDVSBOdW1iZXJGb3JtYXQgaXMg
MywgdGhlIHZhbHVlIDAuNTU1NTUgaXMgcm91bmRlZCB0byAwLjU1NiBpbiBhCisgICAgICAgIGxv
Y2FsaXplZCByZXByZXNlbnRhdGlvbi4gVGhpcyBidWcgYWZmZWN0cyBvbmx5IGluIE1hYyBhbmQg
Q2hyb21pdW0uCisKKyAgICAgICAgVG8gZml4IHRoaXMgYnVnLAorICAgICAgICAgLSBBZGQgIm1h
eGltdW0gZnJhY3Rpb25hbCBkaWdpdHMiIHBhcmFtZXRlciB0byBmb3JtYXRMb2NhbGl6ZWROdW1i
ZXIoKSwgYW5kCisgICAgICAgICAtIE51bWJlcklucHV0VHlwZTo6dmlzaWJsZVZhbHVlIHVzZXMg
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcygpCisgICAgICAgICAg
aW5zdGVhZCBvZiBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSgpLgorCisgICAgICAgIE5vIGF1
dG9tYXRlZCB0ZXN0cyBiZWNhdXNlIHRoZSBiZWhhdmlvciBpcyBsb2NhbGUtZGVwZW5kZW50LiBU
aGlzIGNoYW5nZQorICAgICAgICB1cGRhdGVzIGEgbWFudWFsIHRlc3QuCisKKyAgICAgICAgKiBo
dG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5
cGU6OnZpc2libGVWYWx1ZSk6CisgICAgICAgICAgVXNlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlV2l0aERlY2ltYWxQbGFjZXMoKSBhbmQgcGFzc2luZyBmcmFjdGlvbmFsCisgICAgICAgICAg
cGFydCBsZW5ndGggdG8gZm9ybWF0TG9jYWxpemVkTnVtYmVyKCkuCisgICAgICAgICogbWFudWFs
LXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRtbDoKKyAgICAgICAgICBVcGRhdGUg
dGhlIHRlc3QgdG8gY292ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXIuaDogQWRkIGEgcGFyYW1ldGVyIHRvIGZvcm1hdExvY2FsaXplZE51bWJl
cigpLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmZvcm1hdExvY2FsaXplZE51bWJlcik6IENhbGwgc2V0TWF4aW11bUZy
YWN0aW9uYWxEaWdpdHMoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWRO
dW1iZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRMb2NhbGl6ZWROdW1iZXIpOiBk
aXR0by4KKwogMjAxMS0wMy0xNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjgxMDk0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDMzOTcyNDg5MjMwMzcwNTJjMDlk
Zjg1YzRhOTY3MmUzYTZhMjZmZDMuLmFmMzAzNDUwZDlhMDYwMjg3MTU0MjEyMjc5ZjgxNWE4ZjNj
ZTkwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTIyMyw4
ICsyMjMsOSBAQCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjp2aXNpYmxlVmFsdWUoKSBjb25zdAog
ICAgIGlmIChjdXJyZW50VmFsdWUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gY3VycmVudFZh
bHVlOwogICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1
aWV0X05hTigpOwotICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGN1cnJlbnRWYWx1ZSwg
JmRvdWJsZVZhbHVlKTsKLSAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxpemVkTnVt
YmVyKGRvdWJsZVZhbHVlKTsKKyAgICB1bnNpZ25lZCBkZWNpbWFsUGxhY2U7CisgICAgcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhjdXJyZW50VmFsdWUsICZkb3Vi
bGVWYWx1ZSwgJmRlY2ltYWxQbGFjZSk7CisgICAgU3RyaW5nIGxvY2FsaXplZCA9IGZvcm1hdExv
Y2FsaXplZE51bWJlcihkb3VibGVWYWx1ZSwgZGVjaW1hbFBsYWNlKTsKICAgICByZXR1cm4gbG9j
YWxpemVkLmlzRW1wdHkoKSA/IGN1cnJlbnRWYWx1ZSA6IGxvY2FsaXplZDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRp
b24uaHRtbCBiL1NvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC1udW1iZXItbG9jYWxp
emF0aW9uLmh0bWwKaW5kZXggNDY0N2FhNTdkNDIzODc5MjQxMTM0ZDQxYmYwNDg3NmZjMmNmNTVh
MC4uMjk0MDIyYWM3NmJlNDNlNTBmOGQwZjFhOTQzNjdlN2Y0ZGUzMDFlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRt
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXph
dGlvbi5odG1sCkBAIC0xMiw5ICsxMiw5IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgogCi08cD5PdXRwdXQgdGVzdDogVGhlIGZvbGxvd2luZyB0ZXh0IGZpZWxkIHNob3VsZCBo
YXZlIGEgbG9jYWxpemVkIHJlcHJlc2VudGF0aW9uIGZvciAiLTEyMzQuNTYiLgotZS5nLiAiLTEs
MjM0LjU2IiBmb3IgZW5fVVMgbG9jYWxlLCAiLTEuMjM0LDU2IiBmb3IgZnJfRlIgbG9jYWxlLjwv
cD4KLTxkaXY+PGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPSItMTIzNC41NiIgc3RlcD1hbnk+PC9k
aXY+Cis8cD5PdXRwdXQgdGVzdDogVGhlIGZvbGxvd2luZyB0ZXh0IGZpZWxkIHNob3VsZCBoYXZl
IGEgbG9jYWxpemVkIHJlcHJlc2VudGF0aW9uIGZvciAiLTEyMzQuNTY3OCIuCitlLmcuICItMSwy
MzQuNTY3OCIgZm9yIGVuX1VTIGxvY2FsZSwgIi0xLjIzNCw1Njc4IiBmb3IgZnJfRlIgbG9jYWxl
LjwvcD4KKzxkaXY+PGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPSItMTIzNC41Njc4IiBzdGVwPWFu
eT48L2Rpdj4KIAogPHA+SW5wdXQgdGVzdDogVHlwZSBhIGxvY2FsaXplZCByZXByZXNlbnRhdGlv
biBvZiBhIG51bWJlciBpbnRvIHRoZSBmb2xsb3dpbmcgdGV4dCBmaWVsZC4KIFlvdSdsbCBzZWUg
YW4gZXF1aXZhbGVudCBudW1iZXIgaW4gdGhlIHN0YW5kYXJkIGZvcm1hdCBvbiB0aGUgYm90dG9t
IG9mIHRoZSB0ZXh0IGZpZWxkLjwvcD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxpemVkTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsaXplZE51bWJlci5oCmluZGV4IGQ3MDU0MWYwMDFlY2JkNjE0Y2M0YTdjMWVjN2JmNTRk
Zjk0NDk3MTQuLjAxZDI1NTNlZjI2NWRkNGEyZjFkYmJmNWNkMWM1ZjE1YmYwZDBhZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXIuaApAQCAtNDcs
NyArNDcsOSBAQCBkb3VibGUgcGFyc2VMb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJik7CiAv
LyBjdXJyZW50IGxvY2FsZS4gIElmIGFuIGltcGxlbWVudGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBs
b2NhbGl6ZWQKIC8vIG51bWJlcnMgb3IgdGhlIGlucHV0IHZhbHVlIGlzIE5hTiBvciBJbmZpbml0
aXksIHRoZSBmdW5jdGlvbiBzaG91bGQKIC8vIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCi1TdHJp
bmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSk7CisvLyBmcmFjdGlvbkRpZ2l0cyBpcyB0
aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGZyYWN0aW9uYWwgcGFydHMgb2YgdGhlCisvLyByZXN1
bHRhbnQgc3RyaW5nLgorU3RyaW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGUsIHVuc2ln
bmVkIGZyYWN0aW9uRGlnaXRzKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHAKaW5k
ZXggMTg5MTUxZTY1NzJlZDRhMWZhMDdkYmI5YmNmODc0MjNlNzA4MDQxOC4uNTdmMWYyZjVjYWVh
N2RmNGJmMjE4MTExOGY2MGEzYzUwZTg4ODUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcApAQCAtNzMsMTIgKzczLDE1IEBA
IGRvdWJsZSBwYXJzZUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcmIG51bWJlclN0cmluZykK
ICAgICByZXR1cm4gVV9TVUNDRVNTKHN0YXR1cykgPyBudW1lcmljUmVzdWx0IDogbnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiB9CiAKLVN0cmluZyBmb3JtYXRMb2NhbGl6ZWRO
dW1iZXIoZG91YmxlIG51bWJlcikKK1N0cmluZyBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91Ymxl
IG51bWJlciwgdW5zaWduZWQgZnJhY3Rpb25EaWdpdHMpCiB7CiAgICAgTnVtYmVyRm9ybWF0KiBm
b3JtYXR0ZXIgPSBudW1iZXJGb3JtYXR0ZXIoKTsKICAgICBpZiAoIWZvcm1hdHRlcikKICAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwogICAgIFVuaWNvZGVTdHJpbmcgcmVzdWx0OworICAgIGludDMy
X3QgZGlnaXRzID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oZnJhY3Rpb25EaWdpdHMpOworICAgIEFT
U0VSVChkaWdpdHMgPj0gMCk7CisgICAgZm9ybWF0dGVyLT5zZXRNYXhpbXVtRnJhY3Rpb25EaWdp
dHMoZGlnaXRzID49IDAgPyBkaWdpdHMgOiAwKTsKICAgICBmb3JtYXR0ZXItPmZvcm1hdChudW1i
ZXIsIHJlc3VsdCk7CiAgICAgcmV0dXJuIFN0cmluZyhyZXN1bHQuZ2V0QnVmZmVyKCksIHJlc3Vs
dC5sZW5ndGgoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW0KaW5kZXggOGNmZTIwMDdjNTRkOTdjMjY2NmY4N2Mx
ZjY1MzJkN2U5ODcyYzE5NS4uODI2ZjcwNzc2ZWJhODIyNWEyMzE5Mjk4NjRlMzIxMDU5YzM4NTM0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxpemVk
TnVtYmVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2Fs
aXplZE51bWJlck1hYy5tbQpAQCAtNjUsMTAgKzY1LDEyIEBAIGRvdWJsZSBwYXJzZUxvY2FsaXpl
ZE51bWJlcihjb25zdCBTdHJpbmcmIG51bWJlclN0cmluZykKICAgICByZXR1cm4gW251bWJlciBk
b3VibGVWYWx1ZV07CiB9CiAKLVN0cmluZyBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91YmxlIGlu
cHV0TnVtYmVyKQorU3RyaW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGUgaW5wdXROdW1i
ZXIsIHVuc2lnbmVkIGZyYWN0aW9uRGlnaXRzKQogewogICAgIFJldGFpblB0cjxOU051bWJlcj4g
bnVtYmVyKEFkb3B0TlMsIFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoRG91YmxlOmlucHV0TnVt
YmVyXSk7Ci0gICAgcmV0dXJuIFN0cmluZyhbbnVtYmVyRm9ybWF0dGVyKCkgc3RyaW5nRnJvbU51
bWJlcjpudW1iZXIuZ2V0KCldKTsKKyAgICBSZXRhaW5QdHI8TlNOdW1iZXJGb3JtYXR0ZXI+IGZv
cm1hdHRlciA9IG51bWJlckZvcm1hdHRlcigpOworICAgIFtmb3JtYXR0ZXIuZ2V0KCkgc2V0TWF4
aW11bUZyYWN0aW9uRGlnaXRzOmZyYWN0aW9uRGlnaXRzXTsKKyAgICByZXR1cm4gU3RyaW5nKFtm
b3JtYXR0ZXIuZ2V0KCkgc3RyaW5nRnJvbU51bWJlcjpudW1iZXIuZ2V0KCldKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85788</attachid>
            <date>2011-03-15 02:12:53 -0700</date>
            <delta_ts>2011-03-21 20:25:18 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-56367-20110315181251.patch</filename>
            <type>text/plain</type>
            <size>7180</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODExMjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZmM5NDZkMmVhYWVmODAz
YmIwNjAzYzMwYTg5MjYyMDVhODNjMjY2Li42NjM1MDc0YTNhM2YxZGUxMzVkOTBjZDZiNDAzZjc0
NjA5YmM3ZDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDMtMTUgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjgwMDk2KTogTnVtYmVyIHR5cGUgaW5w
dXQgdW5leHBlY3RlZGx5IHJvdW5kcyBmcmFjdGlvbmFsIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzNjcKKyAgICAgICAgCisgICAgICAg
IEJlY2F1c2UgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIG1heGltdW0gZnJhY3Rpb25hbCBkaWdp
dHMgb2YgTlNOdW1iZXJGb3JtYXR0ZXIKKyAgICAgICAgYW5kIElDVSBOdW1iZXJGb3JtYXQgaXMg
MywgdGhlIHZhbHVlIDAuNTU1NTUgaXMgcm91bmRlZCB0byAwLjU1NiBpbiBhCisgICAgICAgIGxv
Y2FsaXplZCByZXByZXNlbnRhdGlvbi4gVGhpcyBidWcgYWZmZWN0cyBvbmx5IGluIE1hYyBhbmQg
Q2hyb21pdW0uCisKKyAgICAgICAgVG8gZml4IHRoaXMgYnVnLAorICAgICAgICAgLSBBZGQgIm1h
eGltdW0gZnJhY3Rpb25hbCBkaWdpdHMiIHBhcmFtZXRlciB0byBmb3JtYXRMb2NhbGl6ZWROdW1i
ZXIoKSwgYW5kCisgICAgICAgICAtIE51bWJlcklucHV0VHlwZTo6dmlzaWJsZVZhbHVlIHVzZXMg
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcygpCisgICAgICAgICAg
aW5zdGVhZCBvZiBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSgpLgorCisgICAgICAgIE5vIGF1
dG9tYXRlZCB0ZXN0cyBiZWNhdXNlIHRoZSBiZWhhdmlvciBpcyBsb2NhbGUtZGVwZW5kZW50LiBU
aGlzIGNoYW5nZQorICAgICAgICB1cGRhdGVzIGEgbWFudWFsIHRlc3QuCisKKyAgICAgICAgKiBo
dG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5
cGU6OnZpc2libGVWYWx1ZSk6CisgICAgICAgICAgVXNlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlV2l0aERlY2ltYWxQbGFjZXMoKSBhbmQgcGFzc2luZyBmcmFjdGlvbmFsCisgICAgICAgICAg
cGFydCBsZW5ndGggdG8gZm9ybWF0TG9jYWxpemVkTnVtYmVyKCkuCisgICAgICAgICogbWFudWFs
LXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRtbDoKKyAgICAgICAgICBVcGRhdGUg
dGhlIHRlc3QgdG8gY292ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXIuaDogQWRkIGEgcGFyYW1ldGVyIHRvIGZvcm1hdExvY2FsaXplZE51bWJl
cigpLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmZvcm1hdExvY2FsaXplZE51bWJlcik6IENhbGwgc2V0TWF4aW11bUZy
YWN0aW9uYWxEaWdpdHMoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJl
ck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TG9jYWxpemVkTnVtYmVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpmb3JtYXRMb2NhbGl6ZWROdW1iZXIpOiBDYWxsIHNldE1heGltdW1GcmFjdGlv
bmFsRGlnaXRzKCkuCisKIDIwMTEtMDMtMTQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJl
cklucHV0VHlwZS5jcHAKaW5kZXggMzM5NzI0ODkyMzAzNzA1MmMwOWRmODVjNGE5NjcyZTNhNmEy
NmZkMy4uYWYzMDM0NTBkOWEwNjAyODcxNTQyMTIyNzlmODE1YThmM2NlOTA5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcApAQCAtMjIzLDggKzIyMyw5IEBAIFN0cmlu
ZyBOdW1iZXJJbnB1dFR5cGU6OnZpc2libGVWYWx1ZSgpIGNvbnN0CiAgICAgaWYgKGN1cnJlbnRW
YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7CiAgICAgZG91Ymxl
IGRvdWJsZVZhbHVlID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAg
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY3VycmVudFZhbHVlLCAmZG91YmxlVmFsdWUpOwot
ICAgIFN0cmluZyBsb2NhbGl6ZWQgPSBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91YmxlVmFsdWUp
OworICAgIHVuc2lnbmVkIGRlY2ltYWxQbGFjZTsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVy
VHlwZVdpdGhEZWNpbWFsUGxhY2VzKGN1cnJlbnRWYWx1ZSwgJmRvdWJsZVZhbHVlLCAmZGVjaW1h
bFBsYWNlKTsKKyAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRv
dWJsZVZhbHVlLCBkZWNpbWFsUGxhY2UpOwogICAgIHJldHVybiBsb2NhbGl6ZWQuaXNFbXB0eSgp
ID8gY3VycmVudFZhbHVlIDogbG9jYWxpemVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXphdGlvbi5odG1sIGIvU291cmNl
L1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRtbAppbmRl
eCA0NjQ3YWE1N2Q0MjM4NzkyNDExMzRkNDFiZjA0ODc2ZmMyY2Y1NWEwLi4yOTQwMjJhYzc2YmU0
M2U1MGY4ZDBmMWE5NDM2N2U3ZjRkZTMwMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXphdGlvbi5odG1sCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC1udW1iZXItbG9jYWxpemF0aW9uLmh0bWwKQEAgLTEy
LDkgKzEyLDkgQEAKIDxib2R5PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKLTxwPk91dHB1
dCB0ZXN0OiBUaGUgZm9sbG93aW5nIHRleHQgZmllbGQgc2hvdWxkIGhhdmUgYSBsb2NhbGl6ZWQg
cmVwcmVzZW50YXRpb24gZm9yICItMTIzNC41NiIuCi1lLmcuICItMSwyMzQuNTYiIGZvciBlbl9V
UyBsb2NhbGUsICItMS4yMzQsNTYiIGZvciBmcl9GUiBsb2NhbGUuPC9wPgotPGRpdj48aW5wdXQg
dHlwZT1udW1iZXIgdmFsdWU9Ii0xMjM0LjU2IiBzdGVwPWFueT48L2Rpdj4KKzxwPk91dHB1dCB0
ZXN0OiBUaGUgZm9sbG93aW5nIHRleHQgZmllbGQgc2hvdWxkIGhhdmUgYSBsb2NhbGl6ZWQgcmVw
cmVzZW50YXRpb24gZm9yICItMTIzNC41Njc4Ii4KK2UuZy4gIi0xLDIzNC41Njc4IiBmb3IgZW5f
VVMgbG9jYWxlLCAiLTEuMjM0LDU2NzgiIGZvciBmcl9GUiBsb2NhbGUuPC9wPgorPGRpdj48aW5w
dXQgdHlwZT1udW1iZXIgdmFsdWU9Ii0xMjM0LjU2NzgiIHN0ZXA9YW55PjwvZGl2PgogCiA8cD5J
bnB1dCB0ZXN0OiBUeXBlIGEgbG9jYWxpemVkIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyIGlu
dG8gdGhlIGZvbGxvd2luZyB0ZXh0IGZpZWxkLgogWW91J2xsIHNlZSBhbiBlcXVpdmFsZW50IG51
bWJlciBpbiB0aGUgc3RhbmRhcmQgZm9ybWF0IG9uIHRoZSBib3R0b20gb2YgdGhlIHRleHQgZmll
bGQuPC9wPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZWROdW1iZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVy
LmgKaW5kZXggZDcwNTQxZjAwMWVjYmQ2MTRjYzRhN2MxZWM3YmY1NGRmOTQ0OTcxNC4uMDFkMjU1
M2VmMjY1ZGQ0YTJmMWRiYmY1Y2QxYzVmMTViZjBkMGFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlci5oCkBAIC00Nyw3ICs0Nyw5IEBAIGRvdWJs
ZSBwYXJzZUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcmKTsKIC8vIGN1cnJlbnQgbG9jYWxl
LiAgSWYgYW4gaW1wbGVtZW50YXRpb24gZG9lc24ndCBzdXBwb3J0IGxvY2FsaXplZAogLy8gbnVt
YmVycyBvciB0aGUgaW5wdXQgdmFsdWUgaXMgTmFOIG9yIEluZmluaXRpeSwgdGhlIGZ1bmN0aW9u
IHNob3VsZAogLy8gcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4KLVN0cmluZyBmb3JtYXRMb2NhbGl6
ZWROdW1iZXIoZG91YmxlKTsKKy8vIGZyYWN0aW9uRGlnaXRzIGlzIHRoZSBtYXhpbXVtIGxlbmd0
aCBvZiB0aGUgZnJhY3Rpb25hbCBwYXJ0cyBvZiB0aGUKKy8vIHJlc3VsdGFudCBzdHJpbmcuCitT
dHJpbmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSwgdW5zaWduZWQgZnJhY3Rpb25EaWdp
dHMpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcAppbmRleCAxODkxNTFlNjU3MmVk
NGExZmEwN2RiYjliY2Y4NzQyM2U3MDgwNDE4Li41N2YxZjJmNWNhZWE3ZGY0YmYyMTgxMTE4ZjYw
YTNjNTBlODg4NTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsaXplZE51bWJlcklDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXJJQ1UuY3BwCkBAIC03MywxMiArNzMsMTUgQEAgZG91YmxlIHBhcnNlTG9j
YWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYgbnVtYmVyU3RyaW5nKQogICAgIHJldHVybiBVX1NV
Q0NFU1Moc3RhdHVzKSA/IG51bWVyaWNSZXN1bHQgOiBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKIH0KIAotU3RyaW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGUgbnVt
YmVyKQorU3RyaW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGUgbnVtYmVyLCB1bnNpZ25l
ZCBmcmFjdGlvbkRpZ2l0cykKIHsKICAgICBOdW1iZXJGb3JtYXQqIGZvcm1hdHRlciA9IG51bWJl
ckZvcm1hdHRlcigpOwogICAgIGlmICghZm9ybWF0dGVyKQogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CiAgICAgVW5pY29kZVN0cmluZyByZXN1bHQ7CisgICAgaW50MzJfdCBkaWdpdHMgPSBzdGF0
aWNfY2FzdDxpbnQzMl90PihmcmFjdGlvbkRpZ2l0cyk7CisgICAgQVNTRVJUKGRpZ2l0cyA+PSAw
KTsKKyAgICBmb3JtYXR0ZXItPnNldE1heGltdW1GcmFjdGlvbkRpZ2l0cyhkaWdpdHMgPj0gMCA/
IGRpZ2l0cyA6IDApOwogICAgIGZvcm1hdHRlci0+Zm9ybWF0KG51bWJlciwgcmVzdWx0KTsKICAg
ICByZXR1cm4gU3RyaW5nKHJlc3VsdC5nZXRCdWZmZXIoKSwgcmVzdWx0Lmxlbmd0aCgpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVy
Tm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlck5v
bmUuY3BwCmluZGV4IDcyOWYyZjE5NDQyY2EwY2JjOWVmYjZkYjMwMTFkZDk2NGRjZTg1NGQuLmM3
YThlZDI3NDkyZTY2ZGJiNDM4ZTU0YjEwYmNiZDFkYjBkNDhhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcApAQCAtNDIs
NyArNDIsNyBAQCBkb3VibGUgcGFyc2VMb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJikKICAg
ICByZXR1cm4gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiB9CiAKLVN0cmlu
ZyBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91YmxlKQorU3RyaW5nIGZvcm1hdExvY2FsaXplZE51
bWJlcihkb3VibGUsIHVuc2lnbmVkKQogewogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsaXplZE51bWJlck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsaXplZE51bWJlck1h
Yy5tbQppbmRleCA4Y2ZlMjAwN2M1NGQ5N2MyNjY2Zjg3YzFmNjUzMmQ3ZTk4NzJjMTk1Li44MjZm
NzA3NzZlYmE4MjI1YTIzMTkyOTg2NGUzMjEwNTljMzg1MzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxpemVkTnVtYmVyTWFjLm1tCkBAIC02
NSwxMCArNjUsMTIgQEAgZG91YmxlIHBhcnNlTG9jYWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYg
bnVtYmVyU3RyaW5nKQogICAgIHJldHVybiBbbnVtYmVyIGRvdWJsZVZhbHVlXTsKIH0KIAotU3Ry
aW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGUgaW5wdXROdW1iZXIpCitTdHJpbmcgZm9y
bWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSBpbnB1dE51bWJlciwgdW5zaWduZWQgZnJhY3Rpb25E
aWdpdHMpCiB7CiAgICAgUmV0YWluUHRyPE5TTnVtYmVyPiBudW1iZXIoQWRvcHROUywgW1tOU051
bWJlciBhbGxvY10gaW5pdFdpdGhEb3VibGU6aW5wdXROdW1iZXJdKTsKLSAgICByZXR1cm4gU3Ry
aW5nKFtudW1iZXJGb3JtYXR0ZXIoKSBzdHJpbmdGcm9tTnVtYmVyOm51bWJlci5nZXQoKV0pOwor
ICAgIFJldGFpblB0cjxOU051bWJlckZvcm1hdHRlcj4gZm9ybWF0dGVyID0gbnVtYmVyRm9ybWF0
dGVyKCk7CisgICAgW2Zvcm1hdHRlci5nZXQoKSBzZXRNYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZnJh
Y3Rpb25EaWdpdHNdOworICAgIHJldHVybiBTdHJpbmcoW2Zvcm1hdHRlci5nZXQoKSBzdHJpbmdG
cm9tTnVtYmVyOm51bWJlci5nZXQoKV0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86412</attachid>
            <date>2011-03-21 20:22:59 -0700</date>
            <delta_ts>2011-03-21 23:33:29 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-56367-20110322122257.patch</filename>
            <type>text/plain</type>
            <size>7181</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE2MzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYzZjNDUwNjgzNmNjNDE1
YTlmNmQ0NzU3ZTM4YmUwNjBhNDdlZjQ5Li43YmQxYjA5NmIzYjQzN2M2ZjRmYmM5OWIzM2Y1MDU2
Njk2NTgyNTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDMtMTUgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjgwMDk2KTogTnVtYmVyIHR5cGUgaW5w
dXQgdW5leHBlY3RlZGx5IHJvdW5kcyBmcmFjdGlvbmFsIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzNjcKKyAgICAgICAgCisgICAgICAg
IEJlY2F1c2UgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIG1heGltdW0gZnJhY3Rpb25hbCBkaWdp
dHMgb2YgTlNOdW1iZXJGb3JtYXR0ZXIKKyAgICAgICAgYW5kIElDVSBOdW1iZXJGb3JtYXQgaXMg
MywgdGhlIHZhbHVlIDAuNTU1NTUgaXMgcm91bmRlZCB0byAwLjU1NiBpbiBhCisgICAgICAgIGxv
Y2FsaXplZCByZXByZXNlbnRhdGlvbi4gVGhpcyBidWcgYWZmZWN0cyBvbmx5IGluIE1hYyBhbmQg
Q2hyb21pdW0uCisKKyAgICAgICAgVG8gZml4IHRoaXMgYnVnLAorICAgICAgICAgLSBBZGQgIm1h
eGltdW0gZnJhY3Rpb25hbCBkaWdpdHMiIHBhcmFtZXRlciB0byBmb3JtYXRMb2NhbGl6ZWROdW1i
ZXIoKSwgYW5kCisgICAgICAgICAtIE51bWJlcklucHV0VHlwZTo6dmlzaWJsZVZhbHVlIHVzZXMg
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcygpCisgICAgICAgICAg
aW5zdGVhZCBvZiBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSgpLgorCisgICAgICAgIE5vIGF1
dG9tYXRlZCB0ZXN0cyBiZWNhdXNlIHRoZSBiZWhhdmlvciBpcyBsb2NhbGUtZGVwZW5kZW50LiBU
aGlzIGNoYW5nZQorICAgICAgICB1cGRhdGVzIGEgbWFudWFsIHRlc3QuCisKKyAgICAgICAgKiBo
dG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5
cGU6OnZpc2libGVWYWx1ZSk6CisgICAgICAgICAgVXNlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlV2l0aERlY2ltYWxQbGFjZXMoKSBhbmQgcGFzc2luZyBmcmFjdGlvbmFsCisgICAgICAgICAg
cGFydCBsZW5ndGggdG8gZm9ybWF0TG9jYWxpemVkTnVtYmVyKCkuCisgICAgICAgICogbWFudWFs
LXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRtbDoKKyAgICAgICAgICBVcGRhdGUg
dGhlIHRlc3QgdG8gY292ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXIuaDogQWRkIGEgcGFyYW1ldGVyIHRvIGZvcm1hdExvY2FsaXplZE51bWJl
cigpLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmZvcm1hdExvY2FsaXplZE51bWJlcik6IENhbGwgc2V0TWF4aW11bUZy
YWN0aW9uYWxEaWdpdHMoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJl
ck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TG9jYWxpemVkTnVtYmVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpmb3JtYXRMb2NhbGl6ZWROdW1iZXIpOiBDYWxsIHNldE1heGltdW1GcmFjdGlv
bmFsRGlnaXRzKCkuCisKIDIwMTEtMDMtMjEgIFJpayBDYWJhbmllciAgPGNhYmFuaWVyQGFkb2Jl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCAzMzk3MjQ4OTIzMDM3MDUyYzA5ZGY4NWM0
YTk2NzJlM2E2YTI2ZmQzLi5hZjMwMzQ1MGQ5YTA2MDI4NzE1NDIxMjI3OWY4MTVhOGYzY2U5MDky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC0yMjMsOCArMjIz
LDkgQEAgU3RyaW5nIE51bWJlcklucHV0VHlwZTo6dmlzaWJsZVZhbHVlKCkgY29uc3QKICAgICBp
ZiAoY3VycmVudFZhbHVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTsK
ICAgICBkb3VibGUgZG91YmxlVmFsdWUgPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9O
YU4oKTsKLSAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjdXJyZW50VmFsdWUsICZkb3Vi
bGVWYWx1ZSk7Ci0gICAgU3RyaW5nIGxvY2FsaXplZCA9IGZvcm1hdExvY2FsaXplZE51bWJlcihk
b3VibGVWYWx1ZSk7CisgICAgdW5zaWduZWQgZGVjaW1hbFBsYWNlOworICAgIHBhcnNlVG9Eb3Vi
bGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoY3VycmVudFZhbHVlLCAmZG91YmxlVmFs
dWUsICZkZWNpbWFsUGxhY2UpOworICAgIFN0cmluZyBsb2NhbGl6ZWQgPSBmb3JtYXRMb2NhbGl6
ZWROdW1iZXIoZG91YmxlVmFsdWUsIGRlY2ltYWxQbGFjZSk7CiAgICAgcmV0dXJuIGxvY2FsaXpl
ZC5pc0VtcHR5KCkgPyBjdXJyZW50VmFsdWUgOiBsb2NhbGl6ZWQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC1udW1iZXItbG9jYWxpemF0aW9uLmh0
bWwgYi9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXphdGlv
bi5odG1sCmluZGV4IDQ2NDdhYTU3ZDQyMzg3OTI0MTEzNGQ0MWJmMDQ4NzZmYzJjZjU1YTAuLjI5
NDAyMmFjNzZiZTQzZTUwZjhkMGYxYTk0MzY3ZTdmNGRlMzAxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC1udW1iZXItbG9jYWxpemF0aW9uLmh0bWwKKysr
IGIvU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24u
aHRtbApAQCAtMTIsOSArMTIsOSBAQAogPGJvZHk+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
IAotPHA+T3V0cHV0IHRlc3Q6IFRoZSBmb2xsb3dpbmcgdGV4dCBmaWVsZCBzaG91bGQgaGF2ZSBh
IGxvY2FsaXplZCByZXByZXNlbnRhdGlvbiBmb3IgIi0xMjM0LjU2Ii4KLWUuZy4gIi0xLDIzNC41
NiIgZm9yIGVuX1VTIGxvY2FsZSwgIi0xLjIzNCw1NiIgZm9yIGZyX0ZSIGxvY2FsZS48L3A+Ci08
ZGl2PjxpbnB1dCB0eXBlPW51bWJlciB2YWx1ZT0iLTEyMzQuNTYiIHN0ZXA9YW55PjwvZGl2Pgor
PHA+T3V0cHV0IHRlc3Q6IFRoZSBmb2xsb3dpbmcgdGV4dCBmaWVsZCBzaG91bGQgaGF2ZSBhIGxv
Y2FsaXplZCByZXByZXNlbnRhdGlvbiBmb3IgIi0xMjM0LjU2NzgiLgorZS5nLiAiLTEsMjM0LjU2
NzgiIGZvciBlbl9VUyBsb2NhbGUsICItMS4yMzQsNTY3OCIgZm9yIGZyX0ZSIGxvY2FsZS48L3A+
Cis8ZGl2PjxpbnB1dCB0eXBlPW51bWJlciB2YWx1ZT0iLTEyMzQuNTY3OCIgc3RlcD1hbnk+PC9k
aXY+CiAKIDxwPklucHV0IHRlc3Q6IFR5cGUgYSBsb2NhbGl6ZWQgcmVwcmVzZW50YXRpb24gb2Yg
YSBudW1iZXIgaW50byB0aGUgZm9sbG93aW5nIHRleHQgZmllbGQuCiBZb3UnbGwgc2VlIGFuIGVx
dWl2YWxlbnQgbnVtYmVyIGluIHRoZSBzdGFuZGFyZCBmb3JtYXQgb24gdGhlIGJvdHRvbSBvZiB0
aGUgdGV4dCBmaWVsZC48L3A+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsaXplZE51bWJlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGl6ZWROdW1iZXIuaAppbmRleCBkNzA1NDFmMDAxZWNiZDYxNGNjNGE3YzFlYzdiZjU0ZGY5NDQ5
NzE0Li4wMWQyNTUzZWYyNjVkZDRhMmYxZGJiZjVjZDFjNWYxNWJmMGQwYWYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyLmgKQEAgLTQ3LDcgKzQ3
LDkgQEAgZG91YmxlIHBhcnNlTG9jYWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYpOwogLy8gY3Vy
cmVudCBsb2NhbGUuICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQgbG9jYWxp
emVkCiAvLyBudW1iZXJzIG9yIHRoZSBpbnB1dCB2YWx1ZSBpcyBOYU4gb3IgSW5maW5pdGl5LCB0
aGUgZnVuY3Rpb24gc2hvdWxkCiAvLyByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgotU3RyaW5nIGZv
cm1hdExvY2FsaXplZE51bWJlcihkb3VibGUpOworLy8gZnJhY3Rpb25EaWdpdHMgaXMgdGhlIG1h
eGltdW0gbGVuZ3RoIG9mIHRoZSBmcmFjdGlvbmFsIHBhcnRzIG9mIHRoZQorLy8gcmVzdWx0YW50
IHN0cmluZy4KK1N0cmluZyBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91YmxlLCB1bnNpZ25lZCBm
cmFjdGlvbkRpZ2l0cyk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1UuY3BwCmluZGV4IDE4
OTE1MWU2NTcyZWQ0YTFmYTA3ZGJiOWJjZjg3NDIzZTcwODA0MTguLjNmZTIwMDUxNGU5NzIwMmI1
NmI5Yzk4YWFlYTIzMTk4MmRmOTI4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHAKQEAgLTczLDEyICs3MywxNSBAQCBkb3Vi
bGUgcGFyc2VMb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJiBudW1iZXJTdHJpbmcpCiAgICAg
cmV0dXJuIFVfU1VDQ0VTUyhzdGF0dXMpID8gbnVtZXJpY1Jlc3VsdCA6IG51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogfQogCi1TdHJpbmcgZm9ybWF0TG9jYWxpemVkTnVtYmVy
KGRvdWJsZSBudW1iZXIpCitTdHJpbmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSBudW1i
ZXIsIHVuc2lnbmVkIGZyYWN0aW9uRGlnaXRzKQogewogICAgIE51bWJlckZvcm1hdCogZm9ybWF0
dGVyID0gbnVtYmVyRm9ybWF0dGVyKCk7CiAgICAgaWYgKCFmb3JtYXR0ZXIpCiAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKICAgICBVbmljb2RlU3RyaW5nIHJlc3VsdDsKKyAgICBpbnQzMl90IGRp
Z2l0cyA9IHN0YXRpY19jYXN0PGludDMyX3Q+KGZyYWN0aW9uRGlnaXRzKTsKKyAgICBBU1NFUlQo
ZGlnaXRzID49IDApOworICAgIGZvcm1hdHRlci0+c2V0TWF4aW11bUZyYWN0aW9uRGlnaXRzKG1h
eChkaWdpdHMsIDApKTsKICAgICBmb3JtYXR0ZXItPmZvcm1hdChudW1iZXIsIHJlc3VsdCk7CiAg
ICAgcmV0dXJuIFN0cmluZyhyZXN1bHQuZ2V0QnVmZmVyKCksIHJlc3VsdC5sZW5ndGgoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJl
ck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJO
b25lLmNwcAppbmRleCA3MjlmMmYxOTQ0MmNhMGNiYzllZmI2ZGIzMDExZGQ5NjRkY2U4NTRkLi5j
N2E4ZWQyNzQ5MmU2NmRiYjQzOGU1NGIxMGJjYmQxZGIwZDQ4YTMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlck5vbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAKQEAgLTQy
LDcgKzQyLDcgQEAgZG91YmxlIHBhcnNlTG9jYWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYpCiAg
ICAgcmV0dXJuIG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogfQogCi1TdHJp
bmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSkKK1N0cmluZyBmb3JtYXRMb2NhbGl6ZWRO
dW1iZXIoZG91YmxlLCB1bnNpZ25lZCkKIHsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJN
YWMubW0KaW5kZXggOGNmZTIwMDdjNTRkOTdjMjY2NmY4N2MxZjY1MzJkN2U5ODcyYzE5NS4uODI2
ZjcwNzc2ZWJhODIyNWEyMzE5Mjk4NjRlMzIxMDU5YzM4NTM0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxpemVkTnVtYmVyTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsaXplZE51bWJlck1hYy5tbQpAQCAt
NjUsMTAgKzY1LDEyIEBAIGRvdWJsZSBwYXJzZUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcm
IG51bWJlclN0cmluZykKICAgICByZXR1cm4gW251bWJlciBkb3VibGVWYWx1ZV07CiB9CiAKLVN0
cmluZyBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91YmxlIGlucHV0TnVtYmVyKQorU3RyaW5nIGZv
cm1hdExvY2FsaXplZE51bWJlcihkb3VibGUgaW5wdXROdW1iZXIsIHVuc2lnbmVkIGZyYWN0aW9u
RGlnaXRzKQogewogICAgIFJldGFpblB0cjxOU051bWJlcj4gbnVtYmVyKEFkb3B0TlMsIFtbTlNO
dW1iZXIgYWxsb2NdIGluaXRXaXRoRG91YmxlOmlucHV0TnVtYmVyXSk7Ci0gICAgcmV0dXJuIFN0
cmluZyhbbnVtYmVyRm9ybWF0dGVyKCkgc3RyaW5nRnJvbU51bWJlcjpudW1iZXIuZ2V0KCldKTsK
KyAgICBSZXRhaW5QdHI8TlNOdW1iZXJGb3JtYXR0ZXI+IGZvcm1hdHRlciA9IG51bWJlckZvcm1h
dHRlcigpOworICAgIFtmb3JtYXR0ZXIuZ2V0KCkgc2V0TWF4aW11bUZyYWN0aW9uRGlnaXRzOmZy
YWN0aW9uRGlnaXRzXTsKKyAgICByZXR1cm4gU3RyaW5nKFtmb3JtYXR0ZXIuZ2V0KCkgc3RyaW5n
RnJvbU51bWJlcjpudW1iZXIuZ2V0KCldKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86425</attachid>
            <date>2011-03-21 23:33:34 -0700</date>
            <delta_ts>2011-03-22 00:43:32 -0700</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-56367-20110322153332.patch</filename>
            <type>text/plain</type>
            <size>8710</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE2MzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJj
NzlkMDNjM2U5NmE5ODBhYzRkYzQzYmE3MWJjM2U2MWY1ZDZhYTkuLjUyZDk4MDliZTlhMGM4NjI4
OGY5ODg5OTc5N2Q3MzI0MWNmZGExNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTAzLTIxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OKHI4MDA5Nik6IE51bWJlciB0eXBlIGlucHV0IHVuZXhwZWN0ZWRseSByb3VuZHMgZnJhY3Rp
b25hbCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU2MzY3CisKKyAgICAgICAgSW50cm9kdWNlIGNsYW1wVG9JbnRlZ2VyKHVuc2lnbmVkKS4K
KyAgICAgICAgCisgICAgICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAgICAgKGNsYW1wVG9J
bnRlZ2VyKTogQWRkZWQuCisKIDIwMTEtMDMtMjEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9NYXRoRXh0cmFzLmgKaW5kZXggMDQ2YzkyNDcxNzMwOTZjMjEwODkwMGQ4NjRkODBh
MDJjNzYwZmJiOS4uODc5MTQ2NTE2OTRjYmI4ZGMwMWJmNjM5ZjI4OGY0Y2Y5MmE5NmZlOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTIzMyw2ICsyMzMsMTEgQEAg
aW5saW5lIGludCBjbGFtcFRvUG9zaXRpdmVJbnRlZ2VyKGZsb2F0IGQpCiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGludD4oc3RkOjptYXg8ZmxvYXQ+KHN0ZDo6bWluKGQsIG1heEludEFzRmxvYXQp
LCAwKSk7CiB9CiAKK2lubGluZSBpbnQgY2xhbXBUb0ludGVnZXIodW5zaWduZWQgdmFsdWUpCit7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oc3RkOjptaW4odmFsdWUsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpKSkpOworfQorCiAjaWYg
IUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihXSU5TQ1cpICYmICEoQ09NUElMRVIoUlZDVCkg
JiYgKE9TKFNZTUJJQU4pIHx8IFBMQVRGT1JNKEJSRVdNUCkpKQogdXNpbmcgc3RkOjppc2Zpbml0
ZTsKIHVzaW5nIHN0ZDo6aXNpbmY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM2YzQ1MDY4MzZjYzQxNWE5ZjZk
NDc1N2UzOGJlMDYwYTQ3ZWY0OS4uN2JkMWIwOTZiM2I0MzdjNmY0ZmJjOTliMzNmNTA1NjY5NjU4
MjU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDExLTAzLTE1ICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI4MDA5Nik6IE51bWJlciB0eXBlIGlucHV0IHVu
ZXhwZWN0ZWRseSByb3VuZHMgZnJhY3Rpb25hbCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzY3CisgICAgICAgIAorICAgICAgICBCZWNh
dXNlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBtYXhpbXVtIGZyYWN0aW9uYWwgZGlnaXRzIG9m
IE5TTnVtYmVyRm9ybWF0dGVyCisgICAgICAgIGFuZCBJQ1UgTnVtYmVyRm9ybWF0IGlzIDMsIHRo
ZSB2YWx1ZSAwLjU1NTU1IGlzIHJvdW5kZWQgdG8gMC41NTYgaW4gYQorICAgICAgICBsb2NhbGl6
ZWQgcmVwcmVzZW50YXRpb24uIFRoaXMgYnVnIGFmZmVjdHMgb25seSBpbiBNYWMgYW5kIENocm9t
aXVtLgorCisgICAgICAgIFRvIGZpeCB0aGlzIGJ1ZywKKyAgICAgICAgIC0gQWRkICJtYXhpbXVt
IGZyYWN0aW9uYWwgZGlnaXRzIiBwYXJhbWV0ZXIgdG8gZm9ybWF0TG9jYWxpemVkTnVtYmVyKCks
IGFuZAorICAgICAgICAgLSBOdW1iZXJJbnB1dFR5cGU6OnZpc2libGVWYWx1ZSB1c2VzIHBhcnNl
VG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoKQorICAgICAgICAgIGluc3Rl
YWQgb2YgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoKS4KKworICAgICAgICBObyBhdXRvbWF0
ZWQgdGVzdHMgYmVjYXVzZSB0aGUgYmVoYXZpb3IgaXMgbG9jYWxlLWRlcGVuZGVudC4gVGhpcyBj
aGFuZ2UKKyAgICAgICAgdXBkYXRlcyBhIG1hbnVhbCB0ZXN0LgorCisgICAgICAgICogaHRtbC9O
dW1iZXJJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjp2
aXNpYmxlVmFsdWUpOgorICAgICAgICAgIFVzZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZVdp
dGhEZWNpbWFsUGxhY2VzKCkgYW5kIHBhc3NpbmcgZnJhY3Rpb25hbAorICAgICAgICAgIHBhcnQg
bGVuZ3RoIHRvIGZvcm1hdExvY2FsaXplZE51bWJlcigpLgorICAgICAgICAqIG1hbnVhbC10ZXN0
cy9pbnB1dC1udW1iZXItbG9jYWxpemF0aW9uLmh0bWw6CisgICAgICAgICAgVXBkYXRlIHRoZSB0
ZXN0IHRvIGNvdmVyIHRoaXMgY2hhbmdlLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxp
emVkTnVtYmVyLmg6IEFkZCBhIHBhcmFtZXRlciB0byBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoKS4K
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpmb3JtYXRMb2NhbGl6ZWROdW1iZXIpOiBDYWxsIHNldE1heGltdW1GcmFjdGlv
bmFsRGlnaXRzKCkuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZvcm1hdExvY2FsaXplZE51bWJlcik6CisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxpemVkTnVtYmVyTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6Zm9ybWF0TG9jYWxpemVkTnVtYmVyKTogQ2FsbCBzZXRNYXhpbXVtRnJhY3Rpb25hbERp
Z2l0cygpLgorCiAyMDExLTAzLTIxICBSaWsgQ2FiYW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L051bWJlcklucHV0VHlwZS5jcHAKaW5kZXggMzM5NzI0ODkyMzAzNzA1MmMwOWRmODVjNGE5Njcy
ZTNhNmEyNmZkMy4uYWYzMDM0NTBkOWEwNjAyODcxNTQyMTIyNzlmODE1YThmM2NlOTA5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcApAQCAtMjIzLDggKzIyMyw5IEBA
IFN0cmluZyBOdW1iZXJJbnB1dFR5cGU6OnZpc2libGVWYWx1ZSgpIGNvbnN0CiAgICAgaWYgKGN1
cnJlbnRWYWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7CiAgICAg
ZG91YmxlIGRvdWJsZVZhbHVlID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7
Ci0gICAgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY3VycmVudFZhbHVlLCAmZG91YmxlVmFs
dWUpOwotICAgIFN0cmluZyBsb2NhbGl6ZWQgPSBmb3JtYXRMb2NhbGl6ZWROdW1iZXIoZG91Ymxl
VmFsdWUpOworICAgIHVuc2lnbmVkIGRlY2ltYWxQbGFjZTsKKyAgICBwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZVdpdGhEZWNpbWFsUGxhY2VzKGN1cnJlbnRWYWx1ZSwgJmRvdWJsZVZhbHVlLCAm
ZGVjaW1hbFBsYWNlKTsKKyAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxpemVkTnVt
YmVyKGRvdWJsZVZhbHVlLCBkZWNpbWFsUGxhY2UpOwogICAgIHJldHVybiBsb2NhbGl6ZWQuaXNF
bXB0eSgpID8gY3VycmVudFZhbHVlIDogbG9jYWxpemVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXphdGlvbi5odG1sIGIv
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LW51bWJlci1sb2NhbGl6YXRpb24uaHRt
bAppbmRleCA0NjQ3YWE1N2Q0MjM4NzkyNDExMzRkNDFiZjA0ODc2ZmMyY2Y1NWEwLi4yOTQwMjJh
Yzc2YmU0M2U1MGY4ZDBmMWE5NDM2N2U3ZjRkZTMwMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvaW5wdXQtbnVtYmVyLWxvY2FsaXphdGlvbi5odG1sCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC1udW1iZXItbG9jYWxpemF0aW9uLmh0bWwK
QEAgLTEyLDkgKzEyLDkgQEAKIDxib2R5PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKLTxw
Pk91dHB1dCB0ZXN0OiBUaGUgZm9sbG93aW5nIHRleHQgZmllbGQgc2hvdWxkIGhhdmUgYSBsb2Nh
bGl6ZWQgcmVwcmVzZW50YXRpb24gZm9yICItMTIzNC41NiIuCi1lLmcuICItMSwyMzQuNTYiIGZv
ciBlbl9VUyBsb2NhbGUsICItMS4yMzQsNTYiIGZvciBmcl9GUiBsb2NhbGUuPC9wPgotPGRpdj48
aW5wdXQgdHlwZT1udW1iZXIgdmFsdWU9Ii0xMjM0LjU2IiBzdGVwPWFueT48L2Rpdj4KKzxwPk91
dHB1dCB0ZXN0OiBUaGUgZm9sbG93aW5nIHRleHQgZmllbGQgc2hvdWxkIGhhdmUgYSBsb2NhbGl6
ZWQgcmVwcmVzZW50YXRpb24gZm9yICItMTIzNC41Njc4Ii4KK2UuZy4gIi0xLDIzNC41Njc4IiBm
b3IgZW5fVVMgbG9jYWxlLCAiLTEuMjM0LDU2NzgiIGZvciBmcl9GUiBsb2NhbGUuPC9wPgorPGRp
dj48aW5wdXQgdHlwZT1udW1iZXIgdmFsdWU9Ii0xMjM0LjU2NzgiIHN0ZXA9YW55PjwvZGl2Pgog
CiA8cD5JbnB1dCB0ZXN0OiBUeXBlIGEgbG9jYWxpemVkIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVt
YmVyIGludG8gdGhlIGZvbGxvd2luZyB0ZXh0IGZpZWxkLgogWW91J2xsIHNlZSBhbiBlcXVpdmFs
ZW50IG51bWJlciBpbiB0aGUgc3RhbmRhcmQgZm9ybWF0IG9uIHRoZSBib3R0b20gb2YgdGhlIHRl
eHQgZmllbGQuPC9wPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVk
TnVtYmVyLmgKaW5kZXggZDcwNTQxZjAwMWVjYmQ2MTRjYzRhN2MxZWM3YmY1NGRmOTQ0OTcxNC4u
MDFkMjU1M2VmMjY1ZGQ0YTJmMWRiYmY1Y2QxYzVmMTViZjBkMGFmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlci5oCkBAIC00Nyw3ICs0Nyw5IEBA
IGRvdWJsZSBwYXJzZUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcmKTsKIC8vIGN1cnJlbnQg
bG9jYWxlLiAgSWYgYW4gaW1wbGVtZW50YXRpb24gZG9lc24ndCBzdXBwb3J0IGxvY2FsaXplZAog
Ly8gbnVtYmVycyBvciB0aGUgaW5wdXQgdmFsdWUgaXMgTmFOIG9yIEluZmluaXRpeSwgdGhlIGZ1
bmN0aW9uIHNob3VsZAogLy8gcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4KLVN0cmluZyBmb3JtYXRM
b2NhbGl6ZWROdW1iZXIoZG91YmxlKTsKKy8vIGZyYWN0aW9uRGlnaXRzIGlzIHRoZSBtYXhpbXVt
IGxlbmd0aCBvZiB0aGUgZnJhY3Rpb25hbCBwYXJ0cyBvZiB0aGUKKy8vIHJlc3VsdGFudCBzdHJp
bmcuCitTdHJpbmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSwgdW5zaWduZWQgZnJhY3Rp
b25EaWdpdHMpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcAppbmRleCAxODkxNTFl
NjU3MmVkNGExZmEwN2RiYjliY2Y4NzQyM2U3MDgwNDE4Li43YzRiMWNiNGM0ZDhiZDRlMTI3ZDcz
NDVmODAxOTRhNDM3NmQ3MDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1UuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8
bGltaXRzPgogI2luY2x1ZGUgPHVuaWNvZGUvbnVtZm10Lmg+CiAjaW5jbHVkZSA8dW5pY29kZS9w
YXJzZXBvcy5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTczLDEyICs3NCwxMyBAQCBk
b3VibGUgcGFyc2VMb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJiBudW1iZXJTdHJpbmcpCiAg
ICAgcmV0dXJuIFVfU1VDQ0VTUyhzdGF0dXMpID8gbnVtZXJpY1Jlc3VsdCA6IG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogfQogCi1TdHJpbmcgZm9ybWF0TG9jYWxpemVkTnVt
YmVyKGRvdWJsZSBudW1iZXIpCitTdHJpbmcgZm9ybWF0TG9jYWxpemVkTnVtYmVyKGRvdWJsZSBu
dW1iZXIsIHVuc2lnbmVkIGZyYWN0aW9uRGlnaXRzKQogewogICAgIE51bWJlckZvcm1hdCogZm9y
bWF0dGVyID0gbnVtYmVyRm9ybWF0dGVyKCk7CiAgICAgaWYgKCFmb3JtYXR0ZXIpCiAgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKICAgICBVbmljb2RlU3RyaW5nIHJlc3VsdDsKKyAgICBmb3JtYXR0
ZXItPnNldE1heGltdW1GcmFjdGlvbkRpZ2l0cyhjbGFtcFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0
cykpOwogICAgIGZvcm1hdHRlci0+Zm9ybWF0KG51bWJlciwgcmVzdWx0KTsKICAgICByZXR1cm4g
U3RyaW5nKHJlc3VsdC5nZXRCdWZmZXIoKSwgcmVzdWx0Lmxlbmd0aCgpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlck5vbmUuY3BwCmlu
ZGV4IDcyOWYyZjE5NDQyY2EwY2JjOWVmYjZkYjMwMTFkZDk2NGRjZTg1NGQuLmM3YThlZDI3NDky
ZTY2ZGJiNDM4ZTU0YjEwYmNiZDFkYjBkNDhhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcApAQCAtNDIsNyArNDIsNyBA
QCBkb3VibGUgcGFyc2VMb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJikKICAgICByZXR1cm4g
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiB9CiAKLVN0cmluZyBmb3JtYXRM
b2NhbGl6ZWROdW1iZXIoZG91YmxlKQorU3RyaW5nIGZvcm1hdExvY2FsaXplZE51bWJlcihkb3Vi
bGUsIHVuc2lnbmVkKQogewogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsaXplZE51bWJlck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsaXplZE51bWJlck1hYy5tbQppbmRl
eCA4Y2ZlMjAwN2M1NGQ5N2MyNjY2Zjg3YzFmNjUzMmQ3ZTk4NzJjMTk1Li44MjZmNzA3NzZlYmE4
MjI1YTIzMTkyOTg2NGUzMjEwNTljMzg1MzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGl6ZWROdW1iZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxpemVkTnVtYmVyTWFjLm1tCkBAIC02NSwxMCArNjUs
MTIgQEAgZG91YmxlIHBhcnNlTG9jYWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYgbnVtYmVyU3Ry
aW5nKQogICAgIHJldHVybiBbbnVtYmVyIGRvdWJsZVZhbHVlXTsKIH0KIAotU3RyaW5nIGZvcm1h
dExvY2FsaXplZE51bWJlcihkb3VibGUgaW5wdXROdW1iZXIpCitTdHJpbmcgZm9ybWF0TG9jYWxp
emVkTnVtYmVyKGRvdWJsZSBpbnB1dE51bWJlciwgdW5zaWduZWQgZnJhY3Rpb25EaWdpdHMpCiB7
CiAgICAgUmV0YWluUHRyPE5TTnVtYmVyPiBudW1iZXIoQWRvcHROUywgW1tOU051bWJlciBhbGxv
Y10gaW5pdFdpdGhEb3VibGU6aW5wdXROdW1iZXJdKTsKLSAgICByZXR1cm4gU3RyaW5nKFtudW1i
ZXJGb3JtYXR0ZXIoKSBzdHJpbmdGcm9tTnVtYmVyOm51bWJlci5nZXQoKV0pOworICAgIFJldGFp
blB0cjxOU051bWJlckZvcm1hdHRlcj4gZm9ybWF0dGVyID0gbnVtYmVyRm9ybWF0dGVyKCk7Cisg
ICAgW2Zvcm1hdHRlci5nZXQoKSBzZXRNYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZnJhY3Rpb25EaWdp
dHNdOworICAgIHJldHVybiBTdHJpbmcoW2Zvcm1hdHRlci5nZXQoKSBzdHJpbmdGcm9tTnVtYmVy
Om51bWJlci5nZXQoKV0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>