<?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>48195</bug_id>
          
          <creation_ts>2010-10-23 14:55:41 -0700</creation_ts>
          <short_desc>REGRESSION: window.print in onload doesn&apos;t fire if there&apos;s an img</short_desc>
          <delta_ts>2010-11-11 22:56:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Larson (Google)">mal</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298463</commentid>
    <comment_count>0</comment_count>
      <attachid>71653</attachid>
    <who name="Mark Larson (Google)">mal</who>
    <bug_when>2010-10-23 14:55:41 -0700</bug_when>
    <thetext>Created attachment 71653
Simple test case

See the attached printtes.html file.

Relevant body:
&lt;body onload=&quot;window.print()&quot;&gt;
&lt;img src=&quot;http://code.google.com/p/chromium/logo?cct=1287781185&quot;&gt;
&lt;H1&gt;Hello, world.&lt;/h1&gt;
&lt;/body&gt;

If you load that in any Chromium build after r58142 (webkit rev 66547), no print dialog comes up. 

If you remove the &lt;img&gt; tag, the print dialog displays.

I found that Chromium 57968 (webkit 66396, 30 Aug) works as expected. I&apos;m guessing this is related to the HTML5 parser. 

This regression breaks Print All from Gmail in Chrome 7 (517), and I&apos;d like to get an update out in the next couple of weeks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298492</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-23 17:12:45 -0700</bug_when>
    <thetext>This bug isn&apos;t unique to Chromium, so it shouldn&apos;t have [chromium] in title. Removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306713</commentid>
    <comment_count>2</comment_count>
      <attachid>73359</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-09 04:53:51 -0800</bug_when>
    <thetext>Created attachment 73359
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306720</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-09 04:56:55 -0800</bug_when>
    <thetext>Attachment 73359 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/loader/DocumentLoader.cpp&apos;, u&apos;WebCore/loader/DocumentLoader.h&apos;, u&apos;WebCore/loader/FrameLoader.cpp&apos;, u&apos;WebCore/manual-tests/print-onload-with-image.html&apos;, u&apos;WebCore/page/DOMWindow.cpp&apos;, u&apos;WebCore/page/DOMWindow.h&apos;]&quot; exit_code: 1
WebCore/manual-tests/print-onload-with-image.html:1:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 13 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306722</commentid>
    <comment_count>4</comment_count>
      <attachid>73362</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-09 04:59:16 -0800</bug_when>
    <thetext>Created attachment 73362
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306723</commentid>
    <comment_count>5</comment_count>
      <attachid>73363</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-09 05:00:29 -0800</bug_when>
    <thetext>Created attachment 73363
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306727</commentid>
    <comment_count>6</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-09 05:04:37 -0800</bug_when>
    <thetext>Sorry for spamming patches. I&apos;ve just made minor fixes.

I think this issue was introduced in https://bugs.webkit.org/show_bug.cgi?id=43658 and Darin has already mentioned the possibility of this issue. Sorry for my wrong review and thanks Darin for mentioning the issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307172</commentid>
    <comment_count>7</comment_count>
      <attachid>73363</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-11-09 22:51:38 -0800</bug_when>
    <thetext>Comment on attachment 73363
Patch v3

I&apos;m not an expert here, but this patch looks reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307174</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-09 23:03:23 -0800</bug_when>
    <thetext>&gt; I&apos;m not an expert here, but this patch looks reasonable.

Generally, that would mean a need to wait for an expert, wouldn&apos;t it? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307183</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-11-09 23:25:43 -0800</bug_when>
    <thetext>&gt; Generally, that would mean a need to wait for an expert, wouldn&apos;t it? :)

If you&apos;re interested in reviewing the patch, please be my guest.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307187</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-09 23:36:35 -0800</bug_when>
    <thetext>Unfortunately, I have no idea about how window.print works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307195</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-11-09 23:49:47 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Unfortunately, I have no idea about how window.print works.

Do you know who a good expert to ask would be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307216</commentid>
    <comment_count>12</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-10 00:35:32 -0800</bug_when>
    <thetext>Thanks for reviewing and comments. All changes in my patch are suggested by Darin in Bug 43658 (if I didn&apos;t misread his comments), so it would be great if Darin has a chance to see my change. I&apos;ll wait for a few days anyway :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307368</commentid>
    <comment_count>13</comment_count>
      <attachid>73363</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-10 08:59:24 -0800</bug_when>
    <thetext>Comment on attachment 73363
Patch v3

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

&gt; WebCore/loader/DocumentLoader.cpp:312
&gt; +void DocumentLoader::printWhenFinishedLoading()

It was much better to have this deferred print capability in a higher level class, DOMWindow I believe. While I applaud the desire to do the printing at the right time, this should be done by having an appropriate hook to say the document is done loading, not by building the print function directly into DocumentLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307381</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-10 09:26:09 -0800</bug_when>
    <thetext>I agree with Darin, printing from DocumentLoader seems like bad abstraction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307414</commentid>
    <comment_count>15</comment_count>
      <attachid>73363</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-11-10 10:32:36 -0800</bug_when>
    <thetext>Comment on attachment 73363
Patch v3

Okiedokes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307723</commentid>
    <comment_count>16</comment_count>
      <attachid>73580</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-10 21:24:57 -0800</bug_when>
    <thetext>Created attachment 73580
Patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307724</commentid>
    <comment_count>17</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-10 21:26:35 -0800</bug_when>
    <thetext>Thanks Darin and Eric for your suggestion. I&apos;ve updated my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307728</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-10 21:58:59 -0800</bug_when>
    <thetext>Attachment 73580 did not build on chromium:
Build output: http://queues.webkit.org/results/5621011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307734</commentid>
    <comment_count>19</comment_count>
      <attachid>73581</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-10 22:35:57 -0800</bug_when>
    <thetext>Created attachment 73581
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307901</commentid>
    <comment_count>20</comment_count>
      <attachid>73581</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-11 07:29:52 -0800</bug_when>
    <thetext>Comment on attachment 73581
Patch v5

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

Looks like a good approach. I have a couple of reservations with the patch.

&gt; WebCore/loader/DocumentLoader.cpp:360
&gt; +    bool oldIsLoading = m_loading;

A better name for this local variable is “wasLoading”.

&gt; WebCore/page/DOMWindow.cpp:898
&gt;      if (m_frame-&gt;loader()-&gt;isLoading()) {
&gt; -        m_printDeferred = true;
&gt; +        m_shouldPrintWhenFinishedLoading = true;
&gt;          return;
&gt;      }

It’s not good that the deferral mechanism uses FrameLoader’s definition of isLoading, but the actual trigger for printing uses the DocumentLoader definition. Is there a way to make the two of them consistent?

&gt; WebCore/page/DOMWindow.cpp:1573
&gt; +    if (m_shouldPrintWhenFinishedLoading)
&gt; +        print();

I think we should set m_shouldPrintWhenFinishedLoading to false here, even though we don’t have to. That could prevent double printing if something goes wrong elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308391</commentid>
    <comment_count>21</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-11 22:52:10 -0800</bug_when>
    <thetext>Committed r71892: &lt;http://trac.webkit.org/changeset/71892&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308392</commentid>
    <comment_count>22</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-11-11 22:56:51 -0800</bug_when>
    <thetext>Thanks for the great comments! I&apos;ve landed the change with fixes.

&gt; It’s not good that the deferral mechanism uses FrameLoader’s definition of isLoading, but the actual trigger for printing uses the DocumentLoader definition. Is there a way to make the two of them consistent?

We can use m_frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;isLoading() instead of m_frame-&gt;loader()-&gt;isLoading() in DOMWindow.cpp so we explicitly use DocumentLoader.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>71653</attachid>
            <date>2010-10-23 14:55:41 -0700</date>
            <delta_ts>2010-10-23 14:55:41 -0700</delta_ts>
            <desc>Simple test case</desc>
            <filename>printtest.html</filename>
            <type>text/html</type>
            <size>258</size>
            <attacher name="Mark Larson (Google)">mal</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQo8dGl0bGU+UHJpbnQgVGVzdDwvdGl0bGU+DQo8L2hl
YWQ+DQo8Ym9keSBvbmxvYWQ9IndpbmRvdy5wcmludCgpIj4NCjxpbWcgc3JjPSJodHRwOi8vY29k
ZS5nb29nbGUuY29tL3AvY2hyb21pdW0vbG9nbz9jY3Q9MTI4Nzc4MTE4NSI+DQo8SDE+SGVsbG8s
IHdvcmxkLjwvaDE+DQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73359</attachid>
            <date>2010-11-09 04:53:51 -0800</date>
            <delta_ts>2010-11-09 04:59:11 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-48195-20101109045349.patch</filename>
            <type>text/plain</type>
            <size>7288</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQyZjQyZjYzNjQ3YjA0NmVkZDQ4MGQ5ODFiM2Q0MDFiNjRlMjBjMC4uMDZhYzY1MDliOGI5NmQ4
MDljMGYxYzdkZjI2ZjM2YTM2N2VmYzQxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMS0wOSAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IHdpbmRvdy5wcmludCBp
biBvbmxvYWQgZG9lc24ndCBmaXJlIGlmIHRoZXJlJ3MgYW4gaW1nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5NQorCisgICAgICAgIFRoaXMgaXNz
dWUgd2FzIGludHJvZHVjZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNjU4CisgICAgICAgIFRoaXMgaGFwcGVucyBiZWNhdXNlIEZyYW1lTG9h
ZGVyOjppc0xvYWRpbmcoKSBpcyBmYWxzZSB3aGlsZSBhbgorICAgICAgICBpbWFnZSBpcyBzdGls
bCBsb2FkaW5nLiBOb3csIHdpbmRvdy5wcmludCgpIGhhcHBlbnMgYWZ0ZXIgYWxsCisgICAgICAg
IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCisgICAgICAgIEkgYWxzbyBjaGFuZ2VkIHRoZSBwb3Np
dGlvbiBhbmQgdGhlIG5hbWUgb2YgYSBtZW1iZXIgdmFyaWFibGUgYXMKKyAgICAgICAgRGFyaW4g
c3VnZ2VzdGVkIGluIEJ1ZyA0MzY1OC4KKworICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IGFz
IERSVCBkb2Vzbid0IHN1cHBvcnQgd2luZG93LnByaW50KCkgeWV0LgorCisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjpEb2N1bWVudExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cHJp
bnRXaGVuRmluaXNoZWRMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
Ojp1cGRhdGVMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmZpbmlzaGVkTG9hZGluZyk6CisgICAgICAgICogbWFudWFsLXRlc3RzL3ByaW50LW9u
bG9hZC13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6RE9NV2luZG93KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6cHJpbnQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisK
IDIwMTAtMTEtMDkgIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CmluZGV4IDE5YTU1ZWZiMDc5MmQ2ZWQyYTEyMTE3YjU5NzdhZGZlMGRmNzk0M2MuLjk3MzExODRh
MzIyZDdlNDI5MjEzN2U4NjAxYmJiZWZjYWZlODk0MTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNl
TG9hZGVyLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC04OCw2ICs4
OSw3IEBAIERvY3VtZW50TG9hZGVyOjpEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmCiAgICAgLCBtX3N0b3BSZWNvcmRpbmdSZXNw
b25zZXMoZmFsc2UpCiAgICAgLCBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIodGhp
cywgJkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeShmYWxzZSkKKyAgICAsIG1fc2hv
dWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKGZhbHNlKQogI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0KGFkb3B0UHRyKG5l
dyBBcHBsaWNhdGlvbkNhY2hlSG9zdCh0aGlzKSkpCiAjZW5kaWYKQEAgLTMwNyw2ICszMDksMjMg
QEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0YShjb25zdCBjaGFyKiBieXRlcywgaW50
IGxlbmd0aCkKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmFkZERhdGEoYnl0ZXMs
IGxlbmd0aCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnRMb2FkZXI6OnByaW50V2hlbkZpbmlzaGVkTG9h
ZGluZygpCit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdl
KiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKGlzTG9hZGluZygpKSB7CisgICAgICAgIG1fc2hvdWxkUHJpbnRXaGVuRmlu
aXNoZWRMb2FkaW5nID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX3Nob3Vs
ZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZyA9IGZhbHNlOworICAgIHBhZ2UtPmNocm9tZSgpLT5w
cmludChtX2ZyYW1lKTsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNzaXZl
TG9hZChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogewogICAgIHJldHVybiAhZnJhbWVM
b2FkZXIoKS0+aXNSZXBsYWNpbmcoKSB8fCBNSU1FVHlwZSA9PSAidGV4dC9odG1sIjsKQEAgLTM1
Niw3ICszNzUsMTEgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6dXBkYXRlTG9hZGluZygpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgQVNTRVJUKHRoaXMgPT0gZnJhbWVMb2FkZXIoKS0+YWN0
aXZlRG9jdW1lbnRMb2FkZXIoKSk7Ci0gICAgc2V0TG9hZGluZyhmcmFtZUxvYWRlcigpLT5pc0xv
YWRpbmcoKSk7CisgICAgYm9vbCBpc0xvYWRpbmcgPSBmcmFtZUxvYWRlcigpLT5pc0xvYWRpbmco
KTsKKyAgICBzZXRMb2FkaW5nKGlzTG9hZGluZyk7CisKKyAgICBpZiAobV9zaG91bGRQcmludFdo
ZW5GaW5pc2hlZExvYWRpbmcpCisgICAgICAgIHByaW50V2hlbkZpbmlzaGVkTG9hZGluZygpOwog
fQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXRGcmFtZShGcmFtZSogZnJhbWUpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuaAppbmRleCBlMWY3NWVkZTE0Y2JhNzYwYWRjN2ZkZTM1Y2UxNmQyMWNjYWEy
MDIyLi5lZmQzODFlOWI0ODM4MGRjNzRmNmIyM2E4NGNmNGNkZjhkOWQ5M2ZlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKQEAgLTIyMiw2ICsyMjIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIEFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlvbkNhY2hlSG9zdCgpIGNvbnN0
IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZUhvc3QuZ2V0KCk7IH0KICNlbmRpZgogCisgICAg
ICAgIHZvaWQgcHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKCk7CisKICAgICBwcm90ZWN0ZWQ6CiAg
ICAgICAgIERvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0
aXR1dGVEYXRhJik7CiAKQEAgLTMxMCw2ICszMTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgRG9jdW1lbnRMb2FkVGltaW5nIG1fZG9jdW1lbnRMb2FkVGltaW5nOwogCisgICAg
ICAgIGJvb2wgbV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRpbmc7CisKICNpZiBFTkFCTEUo
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogICAgICAgICBmcmllbmQgY2xhc3MgQXBwbGljYXRp
b25DYWNoZUhvc3Q7ICAvLyBmb3Igc3Vic3RpdHV0ZSByZXNvdXJjZSBkZWxpdmVyeQogICAgICAg
ICBPd25QdHI8QXBwbGljYXRpb25DYWNoZUhvc3Q+IG1fYXBwbGljYXRpb25DYWNoZUhvc3Q7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZWQ5ODhkZDAyMDBlMmMwZTU0YmFkODc4ODg0ODM3OGNj
MGZhYjg1Zi4uYmZkNDkxMjY4YmJmMDU2ZWRkZmVlMDQ3MjQ5MWYyYzVkYTRjMmMyYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcApAQCAtMjE2NywxMCArMjE2Nyw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmZpbmlzaGVkTG9hZGluZygpCiAgICAgZGwtPnNldFByaW1hcnlMb2FkQ29tcGxldGUodHJ1ZSk7
CiAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShkbC5nZXQoKSk7CiAg
ICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKLQotICAgIERPTVdpbmRvdyogd2luZG93ID0gbV9mcmFt
ZS0+ZXhpc3RpbmdET01XaW5kb3coKTsKLSAgICBpZiAod2luZG93ICYmIHdpbmRvdy0+cHJpbnRE
ZWZlcnJlZCgpKQotICAgICAgICB3aW5kb3ctPnByaW50KCk7CiB9CiAKIGJvb2wgRnJhbWVMb2Fk
ZXI6OmlzSG9zdGVkQnlPYmplY3RFbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0bWwgYi9XZWJDb3JlL21hbnVh
bC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhODI3MWQx
MzNkMjAwNDlhY2FhOWRkMDhhZTdhZGMyMGY0ZmNlODQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEs
MTMgQEAKKzxodG1sPg0KKzxoZWFkPg0KKzxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNv
bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQorPHRpdGxlPlByaW50IFRlc3Q8L3Rp
dGxlPg0KKzwvaGVhZD4NCis8Ym9keSBvbmxvYWQ9IndpbmRvdy5wcmludCgpIj4NCis8aW1nIHNy
Yz0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2xvZ28/Y2N0PTEyODc3ODExODUi
Pg0KKzxIMT5IZWxsbywgd29ybGQuPC9oMT4NCis8cD4NCitUaGlzIHdlYnBhZ2Ugc2hvdWxkIHBv
cCB1cCBhIHByaW50IGRpYWxvZy4NCis8L3A+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IDg3NzlhYWFiNDg1ZDU4ZGJkODgwMTAwNzQ0MWJjMTk3YzI4OTE3ZDAuLjFmN2Mz
ZmE5NDY0MjhiNGI4YjJhNGFkZDZjZjkyY2U3OGMwOTU0ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0z
OTIsOCArMzkyLDcgQEAgYm9vbCBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyhjb25z
dCBGcmFtZSogZnJhbWUpCiB9CiAKIERPTVdpbmRvdzo6RE9NV2luZG93KEZyYW1lKiBmcmFtZSkK
LSAgICA6IG1fcHJpbnREZWZlcnJlZChmYWxzZSksCi0gICAgICBtX2ZyYW1lKGZyYW1lKQorICAg
IDogbV9mcmFtZShmcmFtZSkKIHsKIH0KIApAQCAtODg4LDE2ICs4ODcsOCBAQCB2b2lkIERPTVdp
bmRvdzo6cHJpbnQoKQogICAgIGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGlmIChtX2ZyYW1lLT5sb2FkZXIoKS0+aXNMb2FkaW5nKCkpIHsKLSAgICAg
ICAgbV9wcmludERlZmVycmVkID0gdHJ1ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBt
X3ByaW50RGVmZXJyZWQgPSBmYWxzZTsKLSAgICBwYWdlLT5jaHJvbWUoKS0+cHJpbnQobV9mcmFt
ZSk7CisgICAgaWYgKERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+
YWN0aXZlRG9jdW1lbnRMb2FkZXIoKSkKKyAgICAgICAgbG9hZGVyLT5wcmludFdoZW5GaW5pc2hl
ZExvYWRpbmcoKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDIx
NTY3OTFhOWNjMzVlODBlN2ZkYWRjZWI2MDRmYjdjY2VhM2FhZTYuLmFkNzczZmE5NjZjMGM0OTk3
MWNlNGJiMTFjOTBlZDlhY2M3MmJkNTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTkxLDcgKzkxLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIERPTVdpbmRvdyogdG9ET01XaW5kb3co
KSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwogCi0gICAgICAgIGJvb2wgcHJpbnRE
ZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbnREZWZlcnJlZDsgfQogICAgICAgICBGcmFt
ZSogZnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lOyB9CiAgICAgICAgIHZvaWQgZGlzY29u
bmVjdEZyYW1lKCk7CiAKQEAgLTQxMCw3ICs0MDksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zZWN1cml0eU9yaWdpbjsKICAgICAgICAg
S1VSTCBtX3VybDsKIAotICAgICAgICBib29sIG1fcHJpbnREZWZlcnJlZDsKICAgICAgICAgRnJh
bWUqIG1fZnJhbWU7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNjcmVlbj4gbV9zY3JlZW47CiAg
ICAgICAgIG11dGFibGUgUmVmUHRyPERPTVNlbGVjdGlvbj4gbV9zZWxlY3Rpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73362</attachid>
            <date>2010-11-09 04:59:16 -0800</date>
            <delta_ts>2010-11-09 05:00:23 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-48195-20101109045914.patch</filename>
            <type>text/plain</type>
            <size>7192</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQyZjQyZjYzNjQ3YjA0NmVkZDQ4MGQ5ODFiM2Q0MDFiNjRlMjBjMC4uMDZhYzY1MDliOGI5NmQ4
MDljMGYxYzdkZjI2ZjM2YTM2N2VmYzQxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMS0wOSAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IHdpbmRvdy5wcmludCBp
biBvbmxvYWQgZG9lc24ndCBmaXJlIGlmIHRoZXJlJ3MgYW4gaW1nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5NQorCisgICAgICAgIFRoaXMgaXNz
dWUgd2FzIGludHJvZHVjZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNjU4CisgICAgICAgIFRoaXMgaGFwcGVucyBiZWNhdXNlIEZyYW1lTG9h
ZGVyOjppc0xvYWRpbmcoKSBpcyBmYWxzZSB3aGlsZSBhbgorICAgICAgICBpbWFnZSBpcyBzdGls
bCBsb2FkaW5nLiBOb3csIHdpbmRvdy5wcmludCgpIGhhcHBlbnMgYWZ0ZXIgYWxsCisgICAgICAg
IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCisgICAgICAgIEkgYWxzbyBjaGFuZ2VkIHRoZSBwb3Np
dGlvbiBhbmQgdGhlIG5hbWUgb2YgYSBtZW1iZXIgdmFyaWFibGUgYXMKKyAgICAgICAgRGFyaW4g
c3VnZ2VzdGVkIGluIEJ1ZyA0MzY1OC4KKworICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IGFz
IERSVCBkb2Vzbid0IHN1cHBvcnQgd2luZG93LnByaW50KCkgeWV0LgorCisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjpEb2N1bWVudExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cHJp
bnRXaGVuRmluaXNoZWRMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
Ojp1cGRhdGVMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmZpbmlzaGVkTG9hZGluZyk6CisgICAgICAgICogbWFudWFsLXRlc3RzL3ByaW50LW9u
bG9hZC13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6RE9NV2luZG93KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6cHJpbnQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisK
IDIwMTAtMTEtMDkgIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CmluZGV4IDE5YTU1ZWZiMDc5MmQ2ZWQyYTEyMTE3YjU5NzdhZGZlMGRmNzk0M2MuLjg2YThiYjBi
YzgwNTgyMmZiNjgxY2MyODkwYTY2MTg2MDA1MmI3NjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNl
TG9hZGVyLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC04OCw2ICs4
OSw3IEBAIERvY3VtZW50TG9hZGVyOjpEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmCiAgICAgLCBtX3N0b3BSZWNvcmRpbmdSZXNw
b25zZXMoZmFsc2UpCiAgICAgLCBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIodGhp
cywgJkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeShmYWxzZSkKKyAgICAsIG1fc2hv
dWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKGZhbHNlKQogI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0KGFkb3B0UHRyKG5l
dyBBcHBsaWNhdGlvbkNhY2hlSG9zdCh0aGlzKSkpCiAjZW5kaWYKQEAgLTMwNyw2ICszMDksMjMg
QEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0YShjb25zdCBjaGFyKiBieXRlcywgaW50
IGxlbmd0aCkKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmFkZERhdGEoYnl0ZXMs
IGxlbmd0aCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnRMb2FkZXI6OnByaW50V2hlbkZpbmlzaGVkTG9h
ZGluZygpCit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdl
KiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKGlzTG9hZGluZygpKSB7CisgICAgICAgIG1fc2hvdWxkUHJpbnRXaGVuRmlu
aXNoZWRMb2FkaW5nID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX3Nob3Vs
ZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZyA9IGZhbHNlOworICAgIHBhZ2UtPmNocm9tZSgpLT5w
cmludChtX2ZyYW1lKTsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNzaXZl
TG9hZChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogewogICAgIHJldHVybiAhZnJhbWVM
b2FkZXIoKS0+aXNSZXBsYWNpbmcoKSB8fCBNSU1FVHlwZSA9PSAidGV4dC9odG1sIjsKQEAgLTM1
Nyw2ICszNzYsOSBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkKICAgICB9
CiAgICAgQVNTRVJUKHRoaXMgPT0gZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIo
KSk7CiAgICAgc2V0TG9hZGluZyhmcmFtZUxvYWRlcigpLT5pc0xvYWRpbmcoKSk7CisKKyAgICBp
ZiAobV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRpbmcpCisgICAgICAgIHByaW50V2hlbkZp
bmlzaGVkTG9hZGluZygpOwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXRGcmFtZShGcmFt
ZSogZnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCBlMWY3NWVkZTE0Y2JhNzYwYWRj
N2ZkZTM1Y2UxNmQyMWNjYWEyMDIyLi5lZmQzODFlOWI0ODM4MGRjNzRmNmIyM2E4NGNmNGNkZjhk
OWQ5M2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTIyMiw2ICsyMjIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlv
bkNhY2hlSG9zdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZUhvc3QuZ2V0KCk7
IH0KICNlbmRpZgogCisgICAgICAgIHZvaWQgcHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKCk7CisK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIERvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7CiAKQEAgLTMxMCw2ICszMTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRG9jdW1lbnRMb2FkVGltaW5nIG1fZG9jdW1lbnRM
b2FkVGltaW5nOwogCisgICAgICAgIGJvb2wgbV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRp
bmc7CisKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogICAgICAgICBmcmll
bmQgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3Q7ICAvLyBmb3Igc3Vic3RpdHV0ZSByZXNvdXJj
ZSBkZWxpdmVyeQogICAgICAgICBPd25QdHI8QXBwbGljYXRpb25DYWNoZUhvc3Q+IG1fYXBwbGlj
YXRpb25DYWNoZUhvc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZWQ5ODhkZDAyMDBlMmMw
ZTU0YmFkODc4ODg0ODM3OGNjMGZhYjg1Zi4uYmZkNDkxMjY4YmJmMDU2ZWRkZmVlMDQ3MjQ5MWYy
YzVkYTRjMmMyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjE2NywxMCArMjE2Nyw2IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZygpCiAgICAgZGwtPnNldFByaW1hcnlM
b2FkQ29tcGxldGUodHJ1ZSk7CiAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkTG9hZE1haW5SZXNv
dXJjZShkbC5nZXQoKSk7CiAgICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKLQotICAgIERPTVdpbmRv
dyogd2luZG93ID0gbV9mcmFtZS0+ZXhpc3RpbmdET01XaW5kb3coKTsKLSAgICBpZiAod2luZG93
ICYmIHdpbmRvdy0+cHJpbnREZWZlcnJlZCgpKQotICAgICAgICB3aW5kb3ctPnByaW50KCk7CiB9
CiAKIGJvb2wgRnJhbWVMb2FkZXI6OmlzSG9zdGVkQnlPYmplY3RFbGVtZW50KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0
bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhhODI3MWQxMzNkMjAwNDlhY2FhOWRkMDhhZTdhZGMyMGY0ZmNlODQKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFn
ZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPg0KKzxoZWFkPg0KKzxtZXRhIGh0dHAtZXF1
aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQorPHRp
dGxlPlByaW50IFRlc3Q8L3RpdGxlPg0KKzwvaGVhZD4NCis8Ym9keSBvbmxvYWQ9IndpbmRvdy5w
cmludCgpIj4NCis8aW1nIHNyYz0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2xv
Z28/Y2N0PTEyODc3ODExODUiPg0KKzxIMT5IZWxsbywgd29ybGQuPC9oMT4NCis8cD4NCitUaGlz
IHdlYnBhZ2Ugc2hvdWxkIHBvcCB1cCBhIHByaW50IGRpYWxvZy4NCis8L3A+DQorPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDg3NzlhYWFiNDg1ZDU4ZGJkODgwMTAwNzQ0MWJj
MTk3YzI4OTE3ZDAuLjFmN2MzZmE5NDY0MjhiNGI4YjJhNGFkZDZjZjkyY2U3OGMwOTU0ZDQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCkBAIC0zOTIsOCArMzkyLDcgQEAgYm9vbCBET01XaW5kb3c6OmNhblNob3dN
b2RhbERpYWxvZ05vdyhjb25zdCBGcmFtZSogZnJhbWUpCiB9CiAKIERPTVdpbmRvdzo6RE9NV2lu
ZG93KEZyYW1lKiBmcmFtZSkKLSAgICA6IG1fcHJpbnREZWZlcnJlZChmYWxzZSksCi0gICAgICBt
X2ZyYW1lKGZyYW1lKQorICAgIDogbV9mcmFtZShmcmFtZSkKIHsKIH0KIApAQCAtODg4LDE2ICs4
ODcsOCBAQCB2b2lkIERPTVdpbmRvdzo6cHJpbnQoKQogICAgIGlmICghbV9mcmFtZSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAo
IXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2ZyYW1lLT5sb2FkZXIoKS0+aXNM
b2FkaW5nKCkpIHsKLSAgICAgICAgbV9wcmludERlZmVycmVkID0gdHJ1ZTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLSAgICBtX3ByaW50RGVmZXJyZWQgPSBmYWxzZTsKLSAgICBwYWdlLT5jaHJv
bWUoKS0+cHJpbnQobV9mcmFtZSk7CisgICAgaWYgKERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBt
X2ZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKSkKKyAgICAgICAgbG9hZGVy
LT5wcmludFdoZW5GaW5pc2hlZExvYWRpbmcoKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OnN0b3Ao
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCmluZGV4IDIxNTY3OTFhOWNjMzVlODBlN2ZkYWRjZWI2MDRmYjdjY2VhM2FhZTYu
LmFkNzczZmE5NjZjMGM0OTk3MWNlNGJiMTFjOTBlZDlhY2M3MmJkNTYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAg
LTkxLDcgKzkxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIERPTVdp
bmRvdyogdG9ET01XaW5kb3coKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwogCi0g
ICAgICAgIGJvb2wgcHJpbnREZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbnREZWZlcnJl
ZDsgfQogICAgICAgICBGcmFtZSogZnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lOyB9CiAg
ICAgICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKQEAgLTQxMCw3ICs0MDksNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zZWN1cml0
eU9yaWdpbjsKICAgICAgICAgS1VSTCBtX3VybDsKIAotICAgICAgICBib29sIG1fcHJpbnREZWZl
cnJlZDsKICAgICAgICAgRnJhbWUqIG1fZnJhbWU7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNj
cmVlbj4gbV9zY3JlZW47CiAgICAgICAgIG11dGFibGUgUmVmUHRyPERPTVNlbGVjdGlvbj4gbV9z
ZWxlY3Rpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73363</attachid>
            <date>2010-11-09 05:00:29 -0800</date>
            <delta_ts>2010-11-10 21:24:51 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-48195-20101109050027.patch</filename>
            <type>text/plain</type>
            <size>7179</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQyZjQyZjYzNjQ3YjA0NmVkZDQ4MGQ5ODFiM2Q0MDFiNjRlMjBjMC4uMDZhYzY1MDliOGI5NmQ4
MDljMGYxYzdkZjI2ZjM2YTM2N2VmYzQxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMS0wOSAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IHdpbmRvdy5wcmludCBp
biBvbmxvYWQgZG9lc24ndCBmaXJlIGlmIHRoZXJlJ3MgYW4gaW1nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5NQorCisgICAgICAgIFRoaXMgaXNz
dWUgd2FzIGludHJvZHVjZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNjU4CisgICAgICAgIFRoaXMgaGFwcGVucyBiZWNhdXNlIEZyYW1lTG9h
ZGVyOjppc0xvYWRpbmcoKSBpcyBmYWxzZSB3aGlsZSBhbgorICAgICAgICBpbWFnZSBpcyBzdGls
bCBsb2FkaW5nLiBOb3csIHdpbmRvdy5wcmludCgpIGhhcHBlbnMgYWZ0ZXIgYWxsCisgICAgICAg
IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCisgICAgICAgIEkgYWxzbyBjaGFuZ2VkIHRoZSBwb3Np
dGlvbiBhbmQgdGhlIG5hbWUgb2YgYSBtZW1iZXIgdmFyaWFibGUgYXMKKyAgICAgICAgRGFyaW4g
c3VnZ2VzdGVkIGluIEJ1ZyA0MzY1OC4KKworICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IGFz
IERSVCBkb2Vzbid0IHN1cHBvcnQgd2luZG93LnByaW50KCkgeWV0LgorCisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjpEb2N1bWVudExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cHJp
bnRXaGVuRmluaXNoZWRMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
Ojp1cGRhdGVMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmZpbmlzaGVkTG9hZGluZyk6CisgICAgICAgICogbWFudWFsLXRlc3RzL3ByaW50LW9u
bG9hZC13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6RE9NV2luZG93KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6cHJpbnQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisK
IDIwMTAtMTEtMDkgIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CmluZGV4IDE5YTU1ZWZiMDc5MmQ2ZWQyYTEyMTE3YjU5NzdhZGZlMGRmNzk0M2MuLjg2YThiYjBi
YzgwNTgyMmZiNjgxY2MyODkwYTY2MTg2MDA1MmI3NjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNl
TG9hZGVyLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC04OCw2ICs4
OSw3IEBAIERvY3VtZW50TG9hZGVyOjpEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmCiAgICAgLCBtX3N0b3BSZWNvcmRpbmdSZXNw
b25zZXMoZmFsc2UpCiAgICAgLCBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIodGhp
cywgJkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeShmYWxzZSkKKyAgICAsIG1fc2hv
dWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKGZhbHNlKQogI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0KGFkb3B0UHRyKG5l
dyBBcHBsaWNhdGlvbkNhY2hlSG9zdCh0aGlzKSkpCiAjZW5kaWYKQEAgLTMwNyw2ICszMDksMjMg
QEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0YShjb25zdCBjaGFyKiBieXRlcywgaW50
IGxlbmd0aCkKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmFkZERhdGEoYnl0ZXMs
IGxlbmd0aCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnRMb2FkZXI6OnByaW50V2hlbkZpbmlzaGVkTG9h
ZGluZygpCit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdl
KiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKGlzTG9hZGluZygpKSB7CisgICAgICAgIG1fc2hvdWxkUHJpbnRXaGVuRmlu
aXNoZWRMb2FkaW5nID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX3Nob3Vs
ZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZyA9IGZhbHNlOworICAgIHBhZ2UtPmNocm9tZSgpLT5w
cmludChtX2ZyYW1lKTsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNzaXZl
TG9hZChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogewogICAgIHJldHVybiAhZnJhbWVM
b2FkZXIoKS0+aXNSZXBsYWNpbmcoKSB8fCBNSU1FVHlwZSA9PSAidGV4dC9odG1sIjsKQEAgLTM1
Nyw2ICszNzYsOSBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkKICAgICB9
CiAgICAgQVNTRVJUKHRoaXMgPT0gZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIo
KSk7CiAgICAgc2V0TG9hZGluZyhmcmFtZUxvYWRlcigpLT5pc0xvYWRpbmcoKSk7CisKKyAgICBp
ZiAobV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRpbmcpCisgICAgICAgIHByaW50V2hlbkZp
bmlzaGVkTG9hZGluZygpOwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXRGcmFtZShGcmFt
ZSogZnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCBlMWY3NWVkZTE0Y2JhNzYwYWRj
N2ZkZTM1Y2UxNmQyMWNjYWEyMDIyLi5lZmQzODFlOWI0ODM4MGRjNzRmNmIyM2E4NGNmNGNkZjhk
OWQ5M2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTIyMiw2ICsyMjIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlv
bkNhY2hlSG9zdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZUhvc3QuZ2V0KCk7
IH0KICNlbmRpZgogCisgICAgICAgIHZvaWQgcHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKCk7CisK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIERvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7CiAKQEAgLTMxMCw2ICszMTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRG9jdW1lbnRMb2FkVGltaW5nIG1fZG9jdW1lbnRM
b2FkVGltaW5nOwogCisgICAgICAgIGJvb2wgbV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRp
bmc7CisKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogICAgICAgICBmcmll
bmQgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3Q7ICAvLyBmb3Igc3Vic3RpdHV0ZSByZXNvdXJj
ZSBkZWxpdmVyeQogICAgICAgICBPd25QdHI8QXBwbGljYXRpb25DYWNoZUhvc3Q+IG1fYXBwbGlj
YXRpb25DYWNoZUhvc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZWQ5ODhkZDAyMDBlMmMw
ZTU0YmFkODc4ODg0ODM3OGNjMGZhYjg1Zi4uYmZkNDkxMjY4YmJmMDU2ZWRkZmVlMDQ3MjQ5MWYy
YzVkYTRjMmMyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjE2NywxMCArMjE2Nyw2IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZygpCiAgICAgZGwtPnNldFByaW1hcnlM
b2FkQ29tcGxldGUodHJ1ZSk7CiAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkTG9hZE1haW5SZXNv
dXJjZShkbC5nZXQoKSk7CiAgICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKLQotICAgIERPTVdpbmRv
dyogd2luZG93ID0gbV9mcmFtZS0+ZXhpc3RpbmdET01XaW5kb3coKTsKLSAgICBpZiAod2luZG93
ICYmIHdpbmRvdy0+cHJpbnREZWZlcnJlZCgpKQotICAgICAgICB3aW5kb3ctPnByaW50KCk7CiB9
CiAKIGJvb2wgRnJhbWVMb2FkZXI6OmlzSG9zdGVkQnlPYmplY3RFbGVtZW50KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0
bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRkMzRhMTEyOWU0NDBmNzg5ODhlMWJhZjM5YjdlMTU1ZDI4ZGQwZGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFn
ZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2
PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgorPHRpdGxl
PlByaW50IFRlc3Q8L3RpdGxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ3aW5kb3cucHJpbnQo
KSI+Cis8aW1nIHNyYz0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2xvZ28/Y2N0
PTEyODc3ODExODUiPgorPEgxPkhlbGxvLCB3b3JsZC48L2gxPgorPHA+CitUaGlzIHdlYnBhZ2Ug
c2hvdWxkIHBvcCB1cCBhIHByaW50IGRpYWxvZy4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKaW5kZXggODc3OWFhYWI0ODVkNThkYmQ4ODAxMDA3NDQxYmMxOTdjMjg5MTdkMC4u
MWY3YzNmYTk0NjQyOGI0YjhiMmE0YWRkNmNmOTJjZTc4YzA5NTRkNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
QEAgLTM5Miw4ICszOTIsNyBAQCBib29sIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nTm93
KGNvbnN0IEZyYW1lKiBmcmFtZSkKIH0KIAogRE9NV2luZG93OjpET01XaW5kb3coRnJhbWUqIGZy
YW1lKQotICAgIDogbV9wcmludERlZmVycmVkKGZhbHNlKSwKLSAgICAgIG1fZnJhbWUoZnJhbWUp
CisgICAgOiBtX2ZyYW1lKGZyYW1lKQogewogfQogCkBAIC04ODgsMTYgKzg4Nyw4IEBAIHZvaWQg
RE9NV2luZG93OjpwcmludCgpCiAgICAgaWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm47CiAK
LSAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOwotICAgIGlmICghcGFnZSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgaWYgKG1fZnJhbWUtPmxvYWRlcigpLT5pc0xvYWRpbmcoKSkgewot
ICAgICAgICBtX3ByaW50RGVmZXJyZWQgPSB0cnVlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIG1fcHJpbnREZWZlcnJlZCA9IGZhbHNlOwotICAgIHBhZ2UtPmNocm9tZSgpLT5wcmludCht
X2ZyYW1lKTsKKyAgICBpZiAoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IG1fZnJhbWUtPmxvYWRl
cigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpKQorICAgICAgICBsb2FkZXItPnByaW50V2hlbkZp
bmlzaGVkTG9hZGluZygpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6c3RvcCgpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5k
ZXggMjE1Njc5MWE5Y2MzNWU4MGU3ZmRhZGNlYjYwNGZiN2NjZWEzYWFlNi4uYWQ3NzNmYTk2NmMw
YzQ5OTcxY2U0YmIxMWM5MGVkOWFjYzcyYmQ1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtOTEsNyArOTEsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgRE9NV2luZG93KiB0b0RPTVdp
bmRvdygpIHsgcmV0dXJuIHRoaXM7IH0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CiAKLSAgICAgICAgYm9vbCBw
cmludERlZmVycmVkKCkgY29uc3QgeyByZXR1cm4gbV9wcmludERlZmVycmVkOyB9CiAgICAgICAg
IEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWU7IH0KICAgICAgICAgdm9pZCBk
aXNjb25uZWN0RnJhbWUoKTsKIApAQCAtNDEwLDcgKzQwOSw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3NlY3VyaXR5T3JpZ2luOwogICAg
ICAgICBLVVJMIG1fdXJsOwogCi0gICAgICAgIGJvb2wgbV9wcmludERlZmVycmVkOwogICAgICAg
ICBGcmFtZSogbV9mcmFtZTsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U2NyZWVuPiBtX3NjcmVl
bjsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8RE9NU2VsZWN0aW9uPiBtX3NlbGVjdGlvbjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73580</attachid>
            <date>2010-11-10 21:24:57 -0800</date>
            <delta_ts>2010-11-10 22:35:50 -0800</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-48195-20101110212455.patch</filename>
            <type>text/plain</type>
            <size>5518</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjQ0ZTAwZDhiYmNhNzMxMWVjMDQ4OGVkODA0ZDNjM2ZkYzA3Y2U3Zi4uYmQ2MDdlZjkzOTc1ZWQz
MTg4ZmQ3OGQ0MTRiMmEyMDAzOGY5NDAzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0xMS0xMCAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IHdpbmRvdy5wcmludCBp
biBvbmxvYWQgZG9lc24ndCBmaXJlIGlmIHRoZXJlJ3MgYW4gaW1nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5NQorCisgICAgICAgIFRoaXMgaXNz
dWUgd2FzIGludHJvZHVjZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNjU4CisgICAgICAgIFRoaXMgaGFwcGVucyBiZWNhdXNlIEZyYW1lTG9h
ZGVyOjppc0xvYWRpbmcoKSBpcyBmYWxzZSB3aGlsZSBhbgorICAgICAgICBpbWFnZSBpcyBzdGls
bCBsb2FkaW5nLiBOb3csIHdpbmRvdy5wcmludCgpIGhhcHBlbnMgYWZ0ZXIgYWxsCisgICAgICAg
IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCisgICAgICAgIEFsc28gY2hhbmdlZCB0aGUgbmFtZSBv
ZiBhIG1lbWJlciB2YXJpYWJsZSBhcyBEYXJpbiBzdWdnZXN0ZWQgaW4gQnVnIDQzNjU4LgorCisg
ICAgICAgIEFkZGVkIGEgbWFudWFsIHRlc3QgYXMgRFJUIGRvZXNuJ3Qgc3VwcG9ydCB3aW5kb3cu
cHJpbnQoKSB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OkRvY3VtZW50TG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKToKKyAgICAgICAgKiBsb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OkRPTVdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnByaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZmluaXNoZWRM
b2FkaW5nKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorCiAyMDEwLTEwLTE1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggN2U0YjFkOTA0YjE2
MTA4YTMwYjljYTM3NDMyZjQ2YzIzMGU5YTM2ZS4uNWVjZDcwODE5NTQ3NzU5NWFiOTkzNjgzNWJk
NTIxM2Y3ZWEzZjg0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzU2LDcgKzM1
NiwxMyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBBU1NFUlQodGhpcyA9PSBmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1
bWVudExvYWRlcigpKTsKKyAgICBib29sIG9sZElzTG9hZGluZyA9IG1fbG9hZGluZzsKICAgICBz
ZXRMb2FkaW5nKGZyYW1lTG9hZGVyKCktPmlzTG9hZGluZygpKTsKKworICAgIGlmIChvbGRJc0xv
YWRpbmcgJiYgIW1fbG9hZGluZykgeworICAgICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBt
X2ZyYW1lLT5leGlzdGluZ0RPTVdpbmRvdygpKQorICAgICAgICAgICAgd2luZG93LT5maW5pc2hl
ZExvYWRpbmcoKTsKKyAgICB9CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnNldEZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBjNDhjYTMwMzJmMDZjMzMzMjNl
MDhlMDJlNjNhMWIzN2QwZDQ3YjIyLi4xZjZiNjA0NWI1NTk5NmI3ZWMwMzIxYjYyOTc0N2ExOGM1
NDJmZjQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMTc2LDEwICsyMTc2LDYgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nKCkKICAgICBkbC0+c2V0UHJpbWFyeUxvYWRD
b21wbGV0ZSh0cnVlKTsKICAgICBtX2NsaWVudC0+ZGlzcGF0Y2hEaWRMb2FkTWFpblJlc291cmNl
KGRsLmdldCgpKTsKICAgICBjaGVja0xvYWRDb21wbGV0ZSgpOwotCi0gICAgRE9NV2luZG93KiB3
aW5kb3cgPSBtX2ZyYW1lLT5leGlzdGluZ0RPTVdpbmRvdygpOwotICAgIGlmICh3aW5kb3cgJiYg
d2luZG93LT5wcmludERlZmVycmVkKCkpCi0gICAgICAgIHdpbmRvdy0+cHJpbnQoKTsKIH0KIAog
Ym9vbCBGcmFtZUxvYWRlcjo6aXNIb3N0ZWRCeU9iamVjdEVsZW1lbnQoKSBjb25zdApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvcHJpbnQtb25sb2FkLXdpdGgtaW1hZ2UuaHRtbCBi
L1dlYkNvcmUvbWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGQzNGExMTI5ZTQ0MGY3ODk4OGUxYmFmMzliN2UxNTVkMjhkZDBkYwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9Q29u
dGVudC1UeXBlIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cis8dGl0bGU+UHJp
bnQgVGVzdDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9IndpbmRvdy5wcmludCgpIj4K
KzxpbWcgc3JjPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vbG9nbz9jY3Q9MTI4
Nzc4MTE4NSI+Cis8SDE+SGVsbG8sIHdvcmxkLjwvaDE+Cis8cD4KK1RoaXMgd2VicGFnZSBzaG91
bGQgcG9wIHVwIGEgcHJpbnQgZGlhbG9nLgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAppbmRleCA4Nzc5YWFhYjQ4NWQ1OGRiZDg4MDEwMDc0NDFiYzE5N2MyODkxN2QwLi5kOTk3
MmE3YzQ3NTlmOWUxNDIxNTczYTk5YTJhYWQwZmI2MjRkMmI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAt
MzkyLDggKzM5Miw4IEBAIGJvb2wgRE9NV2luZG93OjpjYW5TaG93TW9kYWxEaWFsb2dOb3coY29u
c3QgRnJhbWUqIGZyYW1lKQogfQogCiBET01XaW5kb3c6OkRPTVdpbmRvdyhGcmFtZSogZnJhbWUp
Ci0gICAgOiBtX3ByaW50RGVmZXJyZWQoZmFsc2UpLAotICAgICAgbV9mcmFtZShmcmFtZSkKKyAg
ICA6IG1fc2hvdWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKGZhbHNlKQorICAgICwgbV9mcmFt
ZShmcmFtZSkKIHsKIH0KIApAQCAtODkzLDEwICs4OTMsMTAgQEAgdm9pZCBET01XaW5kb3c6OnBy
aW50KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fZnJhbWUtPmxvYWRlcigpLT5pc0xv
YWRpbmcoKSkgewotICAgICAgICBtX3ByaW50RGVmZXJyZWQgPSB0cnVlOworICAgICAgICBtX3No
b3VsZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZyA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAg
ICB9Ci0gICAgbV9wcmludERlZmVycmVkID0gZmFsc2U7CisgICAgbV9zaG91bGRQcmludFdoZW5G
aW5pc2hlZExvYWRpbmcgPSBmYWxzZTsKICAgICBwYWdlLT5jaHJvbWUoKS0+cHJpbnQobV9mcmFt
ZSk7CiB9CiAKQEAgLTE1NjcsNiArMTU2NywxMiBAQCB2b2lkIERPTVdpbmRvdzo6cmVsZWFzZUV2
ZW50cygpCiAgICAgLy8gTm90IGltcGxlbWVudGVkLgogfQogCit2b2lkIERPTVdpbmRvdzo6Zmlu
aXNoZWRMb2FkaW5nKCkKK3sKKyAgICBpZiAobV9zaG91bGRQcmludFdoZW5GaW5pc2hlZExvYWRp
bmcpCisgICAgICAgIHByaW50KCk7Cit9CisKIEV2ZW50VGFyZ2V0RGF0YSogRE9NV2luZG93Ojpl
dmVudFRhcmdldERhdGEoKQogewogICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgKaW5kZXggMjE1Njc5MWE5Y2MzNWU4MGU3ZmRhZGNlYjYwNGZiN2NjZWEzYWFlNi4uZDg3YTM4
NmMwYWExODQ2ZDNiYmQxYzUxZjMxODk2ODVhY2E5NjlmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtOTEsNyAr
OTEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgRE9NV2luZG93KiB0
b0RPTVdpbmRvdygpIHsgcmV0dXJuIHRoaXM7IH0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CiAKLSAgICAgICAg
Ym9vbCBwcmludERlZmVycmVkKCkgY29uc3QgeyByZXR1cm4gbV9wcmludERlZmVycmVkOyB9CiAg
ICAgICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWU7IH0KICAgICAgICAg
dm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIApAQCAtMzY2LDYgKzM2NSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAgICAgICAgIHZvaWQgcmVs
ZWFzZUV2ZW50cygpOwogCisgICAgICAgIHZvaWQgZmluaXNoZWRMb2FkaW5nKCk7CisKICAgICAg
ICAgLy8gVGhlc2UgbWV0aG9kcyBhcmUgdXNlZCBmb3IgR0MgbWFya2luZy4gU2VlIEpTRE9NV2lu
ZG93OjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJikgaW4KICAgICAgICAgLy8gSlNET01XaW5kb3dD
dXN0b20uY3BwLgogICAgICAgICBTY3JlZW4qIG9wdGlvbmFsU2NyZWVuKCkgY29uc3QgeyByZXR1
cm4gbV9zY3JlZW4uZ2V0KCk7IH0KQEAgLTQxMCw3ICs0MTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zZWN1cml0eU9yaWdpbjsKICAg
ICAgICAgS1VSTCBtX3VybDsKIAotICAgICAgICBib29sIG1fcHJpbnREZWZlcnJlZDsKKyAgICAg
ICAgYm9vbCBtX3Nob3VsZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZzsKICAgICAgICAgRnJhbWUq
IG1fZnJhbWU7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNjcmVlbj4gbV9zY3JlZW47CiAgICAg
ICAgIG11dGFibGUgUmVmUHRyPERPTVNlbGVjdGlvbj4gbV9zZWxlY3Rpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73581</attachid>
            <date>2010-11-10 22:35:57 -0800</date>
            <delta_ts>2010-11-11 07:29:52 -0800</delta_ts>
            <desc>Patch v5</desc>
            <filename>bug-48195-20101110223555.patch</filename>
            <type>text/plain</type>
            <size>5732</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjQ0ZTAwZDhiYmNhNzMxMWVjMDQ4OGVkODA0ZDNjM2ZkYzA3Y2U3Zi4uYmQ2MDdlZjkzOTc1ZWQz
MTg4ZmQ3OGQ0MTRiMmEyMDAzOGY5NDAzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0xMS0xMCAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IHdpbmRvdy5wcmludCBp
biBvbmxvYWQgZG9lc24ndCBmaXJlIGlmIHRoZXJlJ3MgYW4gaW1nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5NQorCisgICAgICAgIFRoaXMgaXNz
dWUgd2FzIGludHJvZHVjZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNjU4CisgICAgICAgIFRoaXMgaGFwcGVucyBiZWNhdXNlIEZyYW1lTG9h
ZGVyOjppc0xvYWRpbmcoKSBpcyBmYWxzZSB3aGlsZSBhbgorICAgICAgICBpbWFnZSBpcyBzdGls
bCBsb2FkaW5nLiBOb3csIHdpbmRvdy5wcmludCgpIGhhcHBlbnMgYWZ0ZXIgYWxsCisgICAgICAg
IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCisgICAgICAgIEFsc28gY2hhbmdlZCB0aGUgbmFtZSBv
ZiBhIG1lbWJlciB2YXJpYWJsZSBhcyBEYXJpbiBzdWdnZXN0ZWQgaW4gQnVnIDQzNjU4LgorCisg
ICAgICAgIEFkZGVkIGEgbWFudWFsIHRlc3QgYXMgRFJUIGRvZXNuJ3Qgc3VwcG9ydCB3aW5kb3cu
cHJpbnQoKSB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OkRvY3VtZW50TG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKToKKyAgICAgICAgKiBsb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OkRPTVdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnByaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZmluaXNoZWRM
b2FkaW5nKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorCiAyMDEwLTEwLTE1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggN2U0YjFkOTA0YjE2
MTA4YTMwYjljYTM3NDMyZjQ2YzIzMGU5YTM2ZS4uN2YxNmVmMDg1Mzg1MGNkMTc1ZGY2ZGMzZjM0
NTk2OGE1YTQxNTg2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJD
YWNoZWRQYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
UGFyc2VyLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTM1Niw3ICszNTcsMTMgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6dXBkYXRlTG9hZGluZygpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgQVNTRVJUKHRoaXMgPT0gZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKSk7
CisgICAgYm9vbCBvbGRJc0xvYWRpbmcgPSBtX2xvYWRpbmc7CiAgICAgc2V0TG9hZGluZyhmcmFt
ZUxvYWRlcigpLT5pc0xvYWRpbmcoKSk7CisKKyAgICBpZiAob2xkSXNMb2FkaW5nICYmICFtX2xv
YWRpbmcpIHsKKyAgICAgICAgaWYgKERPTVdpbmRvdyogd2luZG93ID0gbV9mcmFtZS0+ZXhpc3Rp
bmdET01XaW5kb3coKSkKKyAgICAgICAgICAgIHdpbmRvdy0+ZmluaXNoZWRMb2FkaW5nKCk7Cisg
ICAgfQogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXRGcmFtZShGcmFtZSogZnJhbWUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYzQ4Y2EzMDMyZjA2YzMzMzIzZTA4ZTAyZTYzYTFiMzdk
MGQ0N2IyMi4uMWY2YjYwNDViNTU5OTZiN2VjMDMyMWI2Mjk3NDdhMThjNTQyZmY0MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcApAQCAtMjE3NiwxMCArMjE3Niw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmZpbmlzaGVkTG9hZGluZygpCiAgICAgZGwtPnNldFByaW1hcnlMb2FkQ29tcGxldGUodHJ1ZSk7
CiAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShkbC5nZXQoKSk7CiAg
ICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKLQotICAgIERPTVdpbmRvdyogd2luZG93ID0gbV9mcmFt
ZS0+ZXhpc3RpbmdET01XaW5kb3coKTsKLSAgICBpZiAod2luZG93ICYmIHdpbmRvdy0+cHJpbnRE
ZWZlcnJlZCgpKQotICAgICAgICB3aW5kb3ctPnByaW50KCk7CiB9CiAKIGJvb2wgRnJhbWVMb2Fk
ZXI6OmlzSG9zdGVkQnlPYmplY3RFbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bWFudWFsLXRlc3RzL3ByaW50LW9ubG9hZC13aXRoLWltYWdlLmh0bWwgYi9XZWJDb3JlL21hbnVh
bC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkMzRhMTEy
OWU0NDBmNzg5ODhlMWJhZjM5YjdlMTU1ZDI4ZGQwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL21hbnVhbC10ZXN0cy9wcmludC1vbmxvYWQtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEs
MTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgorPHRpdGxlPlByaW50IFRlc3Q8L3RpdGxl
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ3aW5kb3cucHJpbnQoKSI+Cis8aW1nIHNyYz0iaHR0
cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2xvZ28/Y2N0PTEyODc3ODExODUiPgorPEgx
PkhlbGxvLCB3b3JsZC48L2gxPgorPHA+CitUaGlzIHdlYnBhZ2Ugc2hvdWxkIHBvcCB1cCBhIHBy
aW50IGRpYWxvZy4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggODc3
OWFhYWI0ODVkNThkYmQ4ODAxMDA3NDQxYmMxOTdjMjg5MTdkMC4uZDk5NzJhN2M0NzU5ZjllMTQy
MTU3M2E5OWEyYWFkMGZiNjI0ZDJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTM5Miw4ICszOTIsOCBA
QCBib29sIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nTm93KGNvbnN0IEZyYW1lKiBmcmFt
ZSkKIH0KIAogRE9NV2luZG93OjpET01XaW5kb3coRnJhbWUqIGZyYW1lKQotICAgIDogbV9wcmlu
dERlZmVycmVkKGZhbHNlKSwKLSAgICAgIG1fZnJhbWUoZnJhbWUpCisgICAgOiBtX3Nob3VsZFBy
aW50V2hlbkZpbmlzaGVkTG9hZGluZyhmYWxzZSkKKyAgICAsIG1fZnJhbWUoZnJhbWUpCiB7CiB9
CiAKQEAgLTg5MywxMCArODkzLDEwIEBAIHZvaWQgRE9NV2luZG93OjpwcmludCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIGlmIChtX2ZyYW1lLT5sb2FkZXIoKS0+aXNMb2FkaW5nKCkpIHsKLSAg
ICAgICAgbV9wcmludERlZmVycmVkID0gdHJ1ZTsKKyAgICAgICAgbV9zaG91bGRQcmludFdoZW5G
aW5pc2hlZExvYWRpbmcgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG1fcHJp
bnREZWZlcnJlZCA9IGZhbHNlOworICAgIG1fc2hvdWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5n
ID0gZmFsc2U7CiAgICAgcGFnZS0+Y2hyb21lKCktPnByaW50KG1fZnJhbWUpOwogfQogCkBAIC0x
NTY3LDYgKzE1NjcsMTIgQEAgdm9pZCBET01XaW5kb3c6OnJlbGVhc2VFdmVudHMoKQogICAgIC8v
IE5vdCBpbXBsZW1lbnRlZC4KIH0KIAordm9pZCBET01XaW5kb3c6OmZpbmlzaGVkTG9hZGluZygp
Cit7CisgICAgaWYgKG1fc2hvdWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKQorICAgICAgICBw
cmludCgpOworfQorCiBFdmVudFRhcmdldERhdGEqIERPTVdpbmRvdzo6ZXZlbnRUYXJnZXREYXRh
KCkKIHsKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDIxNTY3
OTFhOWNjMzVlODBlN2ZkYWRjZWI2MDRmYjdjY2VhM2FhZTYuLmQ4N2EzODZjMGFhMTg0NmQzYmJk
MWM1MWYzMTg5Njg1YWNhOTY5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTkxLDcgKzkxLDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIERPTVdpbmRvdyogdG9ET01XaW5kb3coKSB7
IHJldHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwogCi0gICAgICAgIGJvb2wgcHJpbnREZWZl
cnJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbnREZWZlcnJlZDsgfQogICAgICAgICBGcmFtZSog
ZnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lOyB9CiAgICAgICAgIHZvaWQgZGlzY29ubmVj
dEZyYW1lKCk7CiAKQEAgLTM2Niw2ICszNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgY2FwdHVyZUV2ZW50cygpOwogICAgICAgICB2b2lkIHJlbGVhc2VFdmVudHMoKTsK
IAorICAgICAgICB2b2lkIGZpbmlzaGVkTG9hZGluZygpOworCiAgICAgICAgIC8vIFRoZXNlIG1l
dGhvZHMgYXJlIHVzZWQgZm9yIEdDIG1hcmtpbmcuIFNlZSBKU0RPTVdpbmRvdzo6bWFya0NoaWxk
cmVuKE1hcmtTdGFjayYpIGluCiAgICAgICAgIC8vIEpTRE9NV2luZG93Q3VzdG9tLmNwcC4KICAg
ICAgICAgU2NyZWVuKiBvcHRpb25hbFNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVuLmdl
dCgpOyB9CkBAIC00MTAsNyArNDExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG1fc2VjdXJpdHlPcmlnaW47CiAgICAgICAgIEtVUkwgbV91
cmw7CiAKLSAgICAgICAgYm9vbCBtX3ByaW50RGVmZXJyZWQ7CisgICAgICAgIGJvb2wgbV9zaG91
bGRQcmludFdoZW5GaW5pc2hlZExvYWRpbmc7CiAgICAgICAgIEZyYW1lKiBtX2ZyYW1lOwogICAg
ICAgICBtdXRhYmxlIFJlZlB0cjxTY3JlZW4+IG1fc2NyZWVuOwogICAgICAgICBtdXRhYmxlIFJl
ZlB0cjxET01TZWxlY3Rpb24+IG1fc2VsZWN0aW9uOwo=
</data>
<flag name="review"
          id="64036"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>