<?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>26140</bug_id>
          
          <creation_ts>2009-06-02 10:43:23 -0700</creation_ts>
          <short_desc>Implement onreadystatechange event handler for Documents</short_desc>
          <delta_ts>2010-10-13 16:11:12 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>simonjam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124014</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-06-02 10:43:23 -0700</bug_when>
    <thetext>We should implement the onreadystatechange event handler for Documents from HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291350</commentid>
    <comment_count>1</comment_count>
      <attachid>70177</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-07 17:37:45 -0700</bug_when>
    <thetext>Created attachment 70177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291462</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-07 23:14:20 -0700</bug_when>
    <thetext>The test case looks quite weak. You may want to check the test cases we have for readystatechange in XMLHttpRequest - I suspect that this may give ideas of what to test.

My understanding is that this has been supported by MSIE for a long time, and Firefox 4 also has it now. With this history, there must be lots of non-trivial cases to check for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292778</commentid>
    <comment_count>3</comment_count>
      <attachid>70499</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-11 17:20:52 -0700</bug_when>
    <thetext>Created attachment 70499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292780</commentid>
    <comment_count>4</comment_count>
      <attachid>70499</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-11 17:23:57 -0700</bug_when>
    <thetext>Comment on attachment 70499
Patch

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

&gt; WebCore/dom/Document.cpp:1900
&gt; -void Document::implicitOpen()
&gt; +void Document::implicitOpen(bool removeExistingEventListeners)
&gt;  {
&gt;      cancelParsing();
&gt;  
&gt; +    if (removeExistingEventListeners)
&gt; +        removeAllEventListeners();

Why is adding a boolean better than calling removeAllEventListeners in Document::open?

&gt; WebCore/dom/Document.h:536
&gt; -    void implicitOpen();
&gt; +    void implicitOpen(bool removeExistingEventListeners);

This seems like a poor change. Normally if we are just passing in a boolean constant we use an enum instead so it’s named and can be understood at the call site. But in this case, it seems the caller can just call removeAllEventListeners.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292784</commentid>
    <comment_count>5</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-11 17:31:32 -0700</bug_when>
    <thetext>Thanks for the quick reply!

(In reply to comment #4)
&gt; (From update of attachment 70499 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=70499&amp;action=review
&gt; 
&gt; &gt; WebCore/dom/Document.cpp:1900
&gt; &gt; -void Document::implicitOpen()
&gt; &gt; +void Document::implicitOpen(bool removeExistingEventListeners)
&gt; &gt;  {
&gt; &gt;      cancelParsing();
&gt; &gt;  
&gt; &gt; +    if (removeExistingEventListeners)
&gt; &gt; +        removeAllEventListeners();
&gt; 
&gt; Why is adding a boolean better than calling removeAllEventListeners in Document::open?

The spec for document.open() says to cancel parsing before removing event listeners. I don&apos;t know how critical the order is here though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292813</commentid>
    <comment_count>6</comment_count>
      <attachid>70507</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-11 18:28:42 -0700</bug_when>
    <thetext>Created attachment 70507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292816</commentid>
    <comment_count>7</comment_count>
      <attachid>70507</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-11 18:33:07 -0700</bug_when>
    <thetext>Comment on attachment 70507
Patch

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

&gt; WebCore/dom/Document.cpp:990
&gt; +    dispatchEvent(Event::create(eventNames().readystatechangeEvent, false, false));

Does this really dispatch synchronously?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292850</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-11 20:34:47 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The spec for document.open() says to cancel parsing before removing event listeners. I don&apos;t know how critical the order is here though.

I don’t imagine there is anything detectable about the order, but I could be wrong. If there is something detectable we should write a test case demonstrating it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292999</commentid>
    <comment_count>9</comment_count>
      <attachid>70543</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 11:14:04 -0700</bug_when>
    <thetext>Created attachment 70543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293000</commentid>
    <comment_count>10</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 11:14:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 70507 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=70507&amp;action=review
&gt; 
&gt; &gt; WebCore/dom/Document.cpp:990
&gt; &gt; +    dispatchEvent(Event::create(eventNames().readystatechangeEvent, false, false));
&gt; 
&gt; Does this really dispatch synchronously?

Yeah, it says &quot;fire a new event&quot; as opposed to &quot;queue a task to fire...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293001</commentid>
    <comment_count>11</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 11:15:29 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; The spec for document.open() says to cancel parsing before removing event listeners. I don&apos;t know how critical the order is here though.
&gt; 
&gt; I don’t imagine there is anything detectable about the order, but I could be wrong. If there is something detectable we should write a test case demonstrating it.

Yeah, I can&apos;t figure out any way for it to matter, so I moved it to open().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293016</commentid>
    <comment_count>12</comment_count>
      <attachid>70543</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-12 11:45:10 -0700</bug_when>
    <thetext>Comment on attachment 70543
Patch

I’d like to see even more test cases, but this seems OK to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293026</commentid>
    <comment_count>13</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 11:57:57 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 70543 [details])
&gt; I’d like to see even more test cases, but this seems OK to land.

I&apos;ll gladly add more, but I&apos;m not really sure what other cases to cover. I&apos;m still new, so I could use some ideas for additional test cases if you have them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293036</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-12 12:10:53 -0700</bug_when>
    <thetext>&gt; I&apos;ll gladly add more, but I&apos;m not really sure what other cases to cover. I&apos;m still new, so I could use some ideas for additional test cases if you have them.

In particular, I&apos;d like to see some test cases around the synchroniscity of the event dispatch.  Also, you might consider what the readystate / event handlers look like some strange execution contexts, like after a document.write inside an &lt;iframe src=&quot;about:blank&quot; onload=&quot;...&quot;&gt; handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293130</commentid>
    <comment_count>15</comment_count>
      <attachid>70566</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 15:05:42 -0700</bug_when>
    <thetext>Created attachment 70566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293133</commentid>
    <comment_count>16</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-12 15:06:50 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; I&apos;ll gladly add more, but I&apos;m not really sure what other cases to cover. I&apos;m still new, so I could use some ideas for additional test cases if you have them.
&gt; 
&gt; In particular, I&apos;d like to see some test cases around the synchroniscity of the event dispatch.  Also, you might consider what the readystate / event handlers look like some strange execution contexts, like after a document.write inside an &lt;iframe src=&quot;about:blank&quot; onload=&quot;...&quot;&gt; handler.

Alright, I added 3 more cases:
- Make sure event is synchronous.
- IFrame onload.
- Parent document destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293212</commentid>
    <comment_count>17</comment_count>
      <attachid>70566</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-12 17:24:10 -0700</bug_when>
    <thetext>Comment on attachment 70566
Patch

Rejecting patch 70566 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;build-and-test&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--test&apos;, &apos;--quiet&apos;, &apos;--non-interactive&apos;]&quot; exit_code: 2
Last 500 characters of output:
s successful.
Files=14, Tests=304,  1 wallclock secs ( 0.74 cusr +  0.18 csys =  0.92 CPU)
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Projects/CommitQueue/LayoutTests
Testing 21535 test cases.
http/tests/appcache/fail-on-update-2.html -&gt; failed

Exiting early after 1 failures. 20546 tests run.
442.93s total testing time

20545 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
32 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/4385001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293576</commentid>
    <comment_count>18</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-10-13 11:52:39 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 70566 [details])
&gt; http/tests/appcache/fail-on-update-2.html -&gt; failed

I synced and reran this locally on Mac and Linux. I can&apos;t reproduce it. Looking at the test, it doesn&apos;t look like it should be sensitive to anything I changed. Is there any chance this is flakiness?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293589</commentid>
    <comment_count>19</comment_count>
      <attachid>70566</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 12:14:08 -0700</bug_when>
    <thetext>Comment on attachment 70566
Patch

I suspect it&apos;s just a flaky test, not your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293590</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-13 12:17:41 -0700</bug_when>
    <thetext>Is there any evidence of flakiness on the Chromium dashboard or elsewhere? The dashboard doesn&apos;t open for me, freezing the browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293795</commentid>
    <comment_count>21</comment_count>
      <attachid>70566</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-13 16:11:06 -0700</bug_when>
    <thetext>Comment on attachment 70566
Patch

Clearing flags on attachment: 70566

Committed r69710: &lt;http://trac.webkit.org/changeset/69710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293796</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-13 16:11:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70177</attachid>
            <date>2010-10-07 17:37:45 -0700</date>
            <delta_ts>2010-10-11 17:20:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26140-20101007173744.patch</filename>
            <type>text/plain</type>
            <size>5165</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2FmYjczZmU1ZTlkMzIwZTc2NTQ3ZTJhZTRjYmRhNzIxOGM0ZTNjLi5kZDRlN2Uy
YTE2MWU2ODk3NzhkNmYwNDg0YmM0NjZjNzVjOTM3YjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMDcgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFuZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sOgorCiAyMDEwLTEwLTA3ICBKaWFuIExpICA8
amlhbmxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVj
dGVkLnR4dAppbmRleCA2MDQ2MDYzODg2MWI2MzAxODJlODcxNTEzMjA5YzhhZTA2MTQ5ODVmLi4w
M2E2MGIzZDdlZTBkMGU3MWRjZDdlMzlkMDE2OGZmOWQ2MjRlNDcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4dApAQCAt
MSw5ICsxLDExIEBACiBUZXN0cyB0aGF0IHRoZSBkb2N1bWVudCdzIHJlYWR5U3RhdGUgaXMgc2V0
IHByb3Blcmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1cmluZyBsb2FkLgogUEFTUyBkb2N1bWVudC5y
ZWFkeVN0YXRlIGlzICJsb2FkaW5nIgogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJsb2Fk
aW5nIgorUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzIGV4cGVjdGVkU3RhdGVzW25leHRFeHBl
Y3RlZFN0YXRlXQogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJpbnRlcmFjdGl2ZSIKIFBB
U1MgZG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAiaW50ZXJhY3RpdmUiCiBQQVNTIGRvY3VtZW50LnJl
YWR5U3RhdGUgaXMgImludGVyYWN0aXZlIgorUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzIGV4
cGVjdGVkU3RhdGVzW25leHRFeHBlY3RlZFN0YXRlXQogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRl
IGlzICJjb21wbGV0ZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sCmluZGV4IDQ3NTFhYTc4
ZTVhOWFkNDQwM2Y5ZDMxNzMxOTg4ZmZiZmU2NjJlMTYuLjM5NmYzMGU4YmM3NGI4M2JlN2E4MTI2
MWRlMGNiMGJiYmY2NjkzOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3Vt
ZW50L3JlYWR5c3RhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9y
ZWFkeXN0YXRlLmh0bWwKQEAgLTIyLDYgKzIyLDEzIEBAIFRlc3RzIHRoYXQgdGhlIGRvY3VtZW50
J3MgcmVhZHlTdGF0ZSBpcyBzZXQgcHJvcGVybHkgYXQgdmFyaW91cyBwaGFzZXMgZHVyaW5nIGxv
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGls
ZChlbCk7CiAgIH0sIGZhbHNlKTsKIAorICB2YXIgZXhwZWN0ZWRTdGF0ZXMgPSBbImludGVyYWN0
aXZlIiwgImNvbXBsZXRlIl07CisgIHZhciBuZXh0RXhwZWN0ZWRTdGF0ZSA9IDA7CisgIGRvY3Vt
ZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIHNob3VsZEJlKCJkb2N1
bWVudC5yZWFkeVN0YXRlIiwgImV4cGVjdGVkU3RhdGVzW25leHRFeHBlY3RlZFN0YXRlXSIpOwor
ICAgICsrbmV4dEV4cGVjdGVkU3RhdGU7CisgIH0KKwogICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZWI4MjAxYTAyMWY3NWZjODVhYzY0MzhhMGE1ZjY0Nzkx
OGZlMTc3Li5lYzUxOGYzOTZiOGY2ODExYWYyMDE0N2YxZTdhZmFmOTAyM2YxOTg2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTEwLTA3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBs
ZW1lbnQgb25yZWFkeXN0YXRlY2hhbmdlIGV2ZW50IGhhbmRsZXIgZm9yIERvY3VtZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYxNDAKKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwKKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0UmVhZHlT
dGF0ZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50
LmlkbDoKKwogMjAxMC0xMC0wNyAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBjMzExY2EyNmZiOTBh
ODlmODE5MjcyNTgzOWRlNWIzMTBmNTk2YWUwLi41MjU5NjA5YTQxYTUzMTVmZTA3Mjc3NDUwZmNi
YzA2MjhmZDVkOGM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC05ODQsOCArOTg0LDggQEAgU3RyaW5nIERvY3Vt
ZW50OjpyZWFkeVN0YXRlKCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6c2V0UmVhZHlTdGF0ZShS
ZWFkeVN0YXRlIHJlYWR5U3RhdGUpCiB7Ci0gICAgLy8gRklYTUU6IEZpcmUgdGhlIHJlYWR5c3Rh
dGVjaGFuZ2UgZXZlbnQgb24gdGhpcyBEb2N1bWVudC4KICAgICBtX3JlYWR5U3RhdGUgPSByZWFk
eVN0YXRlOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVh
ZHlzdGF0ZWNoYW5nZUV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAogU3RyaW5nIERvY3VtZW50
OjplbmNvZGluZygpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBjZjEwYjQ5MTdjY2IyODBkMTIyODBhNjNmYzIx
Mjk4ZjE2YWI5YzkyLi43ZTlkZjdjZDAzN2VkNTdmYmZmNmY4MzNhYmU3YTkyZmY4NDJhNmQ1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKQEAgLTI1Niw2ICsyNTYsNyBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihlcnJvcik7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihmb2N1cyk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKKyAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlYWR5c3RhdGVjaGFuZ2UpOwogCiAg
ICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGJlZm9yZWN1dCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggZTU1MWY4ODE0NDZjNzljMGIxOGE2MTc5YTgy
NGRjNDY0Yzk1NDczNC4uNDI2ZTljZmViOWQxNGUzYTdjYWI2ZTFmYzAxZTQzNjgxYjZiNmU5OCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbApAQCAtMjc4LDYgKzI3OCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbm1vdXNlb3ZlcjsKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbm1vdXNldXA7CiAgICAgICAgIGF0dHJp
YnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25tb3VzZXdoZWVsOworICAgICAgICBhdHRy
aWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKICAgICAg
ICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnNjcm9sbDsKICAgICAgICAg
YXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnNlbGVjdDsKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnN1Ym1pdDsKQEAgLTI5Nyw3ICsyOTgs
NiBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb25wbGF5aW5nOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVu
dExpc3RlbmVyIG9ucHJvZ3Jlc3M7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2
ZW50TGlzdGVuZXIgb25yYXRlY2hhbmdlOwotICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVt
XSBFdmVudExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKICAgICAgICAgLy8gYXR0cmlidXRl
IFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnNlZWtlZDsKICAgICAgICAgLy8gYXR0cmlidXRl
IFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnNlZWtpbmc7CiAgICAgICAgIC8vIGF0dHJpYnV0
ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25zaG93Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70499</attachid>
            <date>2010-10-11 17:20:52 -0700</date>
            <delta_ts>2010-10-11 18:28:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26140-20101011172051.patch</filename>
            <type>text/plain</type>
            <size>8942</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2NzlmOTQwMWM5YWYyMGZhYzc2M2I4ODA5NGRmNzlkZTU2NzA5MGY1Li5iMWY1MDk1
OGJlYTAzYTBhY2RiYmZmMmIyMTE5YzIzODVhNWVlZDFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMTEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFuZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sOgorCiAyMDEwLTEwLTExICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmViYXNlbGluZSBTVkcgZXhwZWN0YXRp
b25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRl
LWV4cGVjdGVkLnR4dAppbmRleCA2MDQ2MDYzODg2MWI2MzAxODJlODcxNTEzMjA5YzhhZTA2MTQ5
ODVmLi41OWY1ODQ3OWM0MzQxZjBkYjdlMTVhZmNiMzEyMTNmNWNhYzdlY2Y2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4
dApAQCAtMSw5ICsxLDE2IEBACiBUZXN0cyB0aGF0IHRoZSBkb2N1bWVudCdzIHJlYWR5U3RhdGUg
aXMgc2V0IHByb3Blcmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1cmluZyBsb2FkLgogUEFTUyBkb2N1
bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFTUyBkb2N1bWVudC5vbnJlYWR5c3RhdGVj
aGFuZ2UgaXMgbnVsbAogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFT
UyBzdWJkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFTUyBzdWJkb2N1bWVudC5y
ZWFkeVN0YXRlIGlzICJjb21wbGV0ZSIKK1BBU1MgaHRtbERvY3VtZW50LnJlYWR5U3RhdGUgaXMg
ImxvYWRpbmciCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV4cGVjdGVkU3RhdGVz
W25leHRFeHBlY3RlZFN0YXRlXQogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJpbnRlcmFj
dGl2ZSIKIFBBU1MgZG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAiaW50ZXJhY3RpdmUiCiBQQVNTIGRv
Y3VtZW50LnJlYWR5U3RhdGUgaXMgImludGVyYWN0aXZlIgorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBleHBlY3RlZFN0YXRlc1tuZXh0RXhwZWN0ZWRTdGF0ZV0KK1BBU1MgbmV4dEV4
cGVjdGVkU3RhdGUgaXMgZXhwZWN0ZWRTdGF0ZXMubGVuZ3RoCiBQQVNTIGRvY3VtZW50LnJlYWR5
U3RhdGUgaXMgImNvbXBsZXRlIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwKaW5kZXggNDc1
MWFhNzhlNWE5YWQ0NDAzZjlkMzE3MzE5ODhmZmJmZTY2MmUxNi4uNTc2ZmZjNzdjNDlhMTBlZDNi
ODA1NzNmOTZmNDRiMDZmZmYyNWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3Vt
ZW50L3JlYWR5c3RhdGUuaHRtbApAQCAtNCwxNCArNCwxNiBAQAogPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgogPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQucmVhZHlT
dGF0ZScsICdjb21wbGV0ZScpO2ZpbmlzaEpTVGVzdCgpOyI+Cis8Ym9keSBvbmxvYWQ9ImFsbERv
bmUoKSI+CiBUZXN0cyB0aGF0IHRoZSBkb2N1bWVudCdzIHJlYWR5U3RhdGUgaXMgc2V0IHByb3Bl
cmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1cmluZyBsb2FkLgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiA8c2NyaXB0IGRlZmVyIHNyYz0iZGF0YTp0ZXh0L2phdmFzY3JpcHQsc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5yZWFkeVN0YXRlJywgJ2ludGVyYWN0aXZlJyk7Ij48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJkYXRhOnRleHQvamF2YXNjcmlwdCxzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2RvY3VtZW50LnJlYWR5U3RhdGUnLCAnbG9hZGluZycpOyI+PC9zY3JpcHQ+Cis8aWZyYW1l
IHNyYz0iZG9lcy1ub3QtZXhpc3QuaHRtbCI+PC9pZnJhbWU+CiA8c2NyaXB0PgogICB2YXIganNU
ZXN0SXNBc3luYyA9IHRydWU7CiAKKyAgc2hvdWxkQmUoImRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNo
YW5nZSIsICJudWxsIik7CiAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQucmVhZHlT
dGF0ZSIsICJsb2FkaW5nIik7CiAKICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u
dGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewpAQCAtMjIsNiArMjQsMzEgQEAgVGVzdHMgdGhhdCB0
aGUgZG9jdW1lbnQncyByZWFkeVN0YXRlIGlzIHNldCBwcm9wZXJseSBhdCB2YXJpb3VzIHBoYXNl
cyBkdXJpbmcgbG8KICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBd
LmFwcGVuZENoaWxkKGVsKTsKICAgfSwgZmFsc2UpOwogCisgIHZhciBleHBlY3RlZFN0YXRlcyA9
IFsiaW50ZXJhY3RpdmUiLCAiY29tcGxldGUiXTsKKyAgdmFyIG5leHRFeHBlY3RlZFN0YXRlID0g
MDsKKyAgZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUiLCAiZXhwZWN0ZWRTdGF0ZXNbbmV4
dEV4cGVjdGVkU3RhdGVdIik7CisgICAgKytuZXh0RXhwZWN0ZWRTdGF0ZTsKKyAgfQorCisgIHZh
ciBzdWJkb2N1bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVsw
XS5jb250ZW50RG9jdW1lbnQ7CisgIHN1YmRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1
bmN0aW9uKGV2ZW50KSB7CisgICAgdGVzdEZhaWxlZCgic2hvdWxkIG5vdCBoYXZlIGJlZW4gbm90
aWZpZWQgb2Ygc3ViZG9jdW1lbnQgc3RhdGUgY2hhbmdlIHRvICIgKyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSk7CisgIH0KKyAgc3ViZG9jdW1lbnQub3BlbigpOworICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN1YmRvY3VtZW50LnJlYWR5U3RhdGUiLCAibG9hZGluZyIpOworICBzdWJkb2N1bWVu
dC5jbG9zZSgpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmRvY3VtZW50LnJlYWR5U3Rh
dGUiLCAiY29tcGxldGUiKTsKKworICB2YXIgaHRtbERvY3VtZW50ID0gZG9jdW1lbnQuaW1wbGVt
ZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCk7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
aHRtbERvY3VtZW50LnJlYWR5U3RhdGUiLCAibG9hZGluZyIpOworCisgIGZ1bmN0aW9uIGFsbERv
bmUoKSB7CisgICAgc2hvdWxkQmUoJ25leHRFeHBlY3RlZFN0YXRlJywgJ2V4cGVjdGVkU3RhdGVz
Lmxlbmd0aCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQucmVhZHlTdGF0
ZScsICdjb21wbGV0ZScpOworICAgIGZpbmlzaEpTVGVzdCgpOworICB9CisKICAgdmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBjYWQ1MzNmOGRlNGY3MDQ1ZWZm
NDExNjdhYzE2MmZjNzE2ZWRkNC4uMzk4NjBmZmViZjE2ZGI1NzVjM2E5YTA5MDYzYTIxN2RkYzg3
YThmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMC0xMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmph
bUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wbGVtZW50IG9ucmVhZHlzdGF0ZWNoYW5nZSBldmVudCBoYW5kbGVyIGZvciBE
b2N1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI2MTQwCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1s
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNldFJlYWR5U3RhdGUpOiBGaXJlIHJlYWR5c3RhdGVjaGFuZ2VldmVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpvcGVuKTogSGFuZGxlIGltcGxpY2l0T3BlbigpIGludGVyZmFj
ZSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRPcGVuKTogT3B0
aW9uYWxseSByZW1vdmUgYWxsIGV2ZW50IGhhbmRsZXJzLiBOZWVkZWQgZm9yIGRvY3VtZW50Lm9w
ZW4oKS4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIHJlYWR5c3RhdGVjaGFuZ2UgZXZl
bnQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDogRGl0dG8uCisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyOjpi
ZWdpbik6IEhhbmRsZSBpbXBsaWNpdE9wZW4oKSBpbnRlcmZhY2UgY2hhbmdlLgorCiAyMDEwLTEw
LTExICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QW5kZXJzIENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGYyM2VhN2I3YzUzMTlmM2JjZWU1NTQ3MWZl
N2Q4ZjFhYTI0MjNhYzkuLmQ2ODdmZTYxMTgwNTA1ZWM0MmFjNWUyYmFhNDVhNzMwOThiMTVhNDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTk4NCw4ICs5ODQsMTAgQEAgU3RyaW5nIERvY3VtZW50OjpyZWFkeVN0
YXRlKCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6c2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlIHJl
YWR5U3RhdGUpCiB7Ci0gICAgLy8gRklYTUU6IEZpcmUgdGhlIHJlYWR5c3RhdGVjaGFuZ2UgZXZl
bnQgb24gdGhpcyBEb2N1bWVudC4KKyAgICBpZiAocmVhZHlTdGF0ZSA9PSBtX3JlYWR5U3RhdGUp
CisgICAgICAgIHJldHVybjsKICAgICBtX3JlYWR5U3RhdGUgPSByZWFkeVN0YXRlOworICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVhZHlzdGF0ZWNoYW5nZUV2
ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAogU3RyaW5nIERvY3VtZW50OjplbmNvZGluZygpIGNv
bnN0CkBAIC0xODYxLDcgKzE4NjMsNyBAQCB2b2lkIERvY3VtZW50OjpvcGVuKERvY3VtZW50KiBv
d25lckRvY3VtZW50KQogICAgICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPnN0b3BBbGxMb2Fk
ZXJzKCk7CiAgICAgfQogCi0gICAgaW1wbGljaXRPcGVuKCk7CisgICAgaW1wbGljaXRPcGVuKHRy
dWUpOwogCiAgICAgaWYgKERPTVdpbmRvdyogZG9tV2luZG93ID0gdGhpcy0+ZG9tV2luZG93KCkp
CiAgICAgICAgIGRvbVdpbmRvdy0+cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKQEAgLTE4OTAs
MTAgKzE4OTIsMTMgQEAgdm9pZCBEb2N1bWVudDo6Y2FuY2VsUGFyc2luZygpCiAgICAgfQogfQog
Ci12b2lkIERvY3VtZW50OjppbXBsaWNpdE9wZW4oKQordm9pZCBEb2N1bWVudDo6aW1wbGljaXRP
cGVuKGJvb2wgcmVtb3ZlRXhpc3RpbmdFdmVudExpc3RlbmVycykKIHsKICAgICBjYW5jZWxQYXJz
aW5nKCk7CiAKKyAgICBpZiAocmVtb3ZlRXhpc3RpbmdFdmVudExpc3RlbmVycykKKyAgICAgICAg
cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKKwogICAgIHJlbW92ZUNoaWxkcmVuKCk7CiAKICAg
ICBzZXRDb21wYXRpYmlsaXR5TW9kZShOb1F1aXJrc01vZGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggY2YxMGI0OTE3
Y2NiMjgwZDEyMjgwYTYzZmMyMTI5OGYxNmFiOWM5Mi4uZmJkN2M5MTA1ZWQ2MDAxNGUyMjRjMGE3
MmU4NjBmMWQ1ZmUwNGJlZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0yNTYsNiArMjU2LDcgQEAgcHVibGljOgogICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwogICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIobG9hZCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFk
eXN0YXRlY2hhbmdlKTsKIAogICAgIC8vIFdlYktpdCBleHRlbnNpb25zCiAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVjdXQpOwpAQCAtNTMyLDcgKzUzMyw3IEBAIHB1
YmxpYzoKICAgICBib29sIHZpc3VhbGx5T3JkZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFs
bHlPcmRlcmVkOyB9CiAKICAgICB2b2lkIG9wZW4oRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQgPSAw
KTsKLSAgICB2b2lkIGltcGxpY2l0T3BlbigpOworICAgIHZvaWQgaW1wbGljaXRPcGVuKGJvb2wg
cmVtb3ZlRXhpc3RpbmdFdmVudExpc3RlbmVycyk7CiAgICAgdm9pZCBjbG9zZSgpOwogICAgIHZv
aWQgaW1wbGljaXRDbG9zZSgpOwogICAgIHZvaWQgY2FuY2VsUGFyc2luZygpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmlu
ZGV4IGU1NTFmODgxNDQ2Yzc5YzBiMThhNjE3OWE4MjRkYzQ2NGM5NTQ3MzQuLjQyNmU5Y2ZlYjlk
MTRlM2E3Y2FiNmUxZmMwMWU0MzY4MWI2YjZlOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTI3OCw2ICsyNzgs
NyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlz
dGVuZXIgb25tb3VzZW92ZXI7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlz
dGVuZXIgb25tb3VzZXVwOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3Rl
bmVyIG9ubW91c2V3aGVlbDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2
ZW50TGlzdGVuZXIgb25zY3JvbGw7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb25zZWxlY3Q7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlz
dGVuZXIgb25zdWJtaXQ7CkBAIC0yOTcsNyArMjk4LDYgQEAgbW9kdWxlIGNvcmUgewogICAgICAg
ICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucGxheWluZzsKICAgICAg
ICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnByb2dyZXNzOwogICAg
ICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucmF0ZWNoYW5nZTsK
LSAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJlYWR5c3Rh
dGVjaGFuZ2U7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b25zZWVrZWQ7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b25zZWVraW5nOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVy
IG9uc2hvdzsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcCBi
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcAppbmRleCA1YjAzY2Q3OTQ5ZGYzMDI1
M2Y0NTMyY2JjMzU0M2NhODZkNzRjMTE4Li5mOGNmNmVlMmZlN2EwY2ZjNzRlN2EwY2U4YWQxZmI4
MTdiNzUwYjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAK
KysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwCkBAIC0xMzksNyArMTM5LDcg
QEAgdm9pZCBEb2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgS1VSTCYgdXJsLCBib29sIGRpc3Bh
dGNoLCBTZWN1cml0eU9yaWdpbiogb3JpZ2kKIAogICAgIG1fZnJhbWUtPmxvYWRlcigpLT5kaWRC
ZWdpbkRvY3VtZW50KGRpc3BhdGNoKTsKIAotICAgIGRvY3VtZW50LT5pbXBsaWNpdE9wZW4oKTsK
KyAgICBkb2N1bWVudC0+aW1wbGljaXRPcGVuKGZhbHNlKTsKIAogICAgIGlmIChtX2ZyYW1lLT52
aWV3KCkgJiYgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5oYXNIVE1MVmlldygpKQogICAg
ICAgICBtX2ZyYW1lLT52aWV3KCktPnNldENvbnRlbnRzU2l6ZShJbnRTaXplKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70507</attachid>
            <date>2010-10-11 18:28:42 -0700</date>
            <delta_ts>2010-10-12 11:13:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26140-20101011182841.patch</filename>
            <type>text/plain</type>
            <size>9411</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2NzlmOTQwMWM5YWYyMGZhYzc2M2I4ODA5NGRmNzlkZTU2NzA5MGY1Li5iMWY1MDk1
OGJlYTAzYTBhY2RiYmZmMmIyMTE5YzIzODVhNWVlZDFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMTEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFuZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sOgorCiAyMDEwLTEwLTExICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmViYXNlbGluZSBTVkcgZXhwZWN0YXRp
b25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRl
LWV4cGVjdGVkLnR4dAppbmRleCA2MDQ2MDYzODg2MWI2MzAxODJlODcxNTEzMjA5YzhhZTA2MTQ5
ODVmLi41OWY1ODQ3OWM0MzQxZjBkYjdlMTVhZmNiMzEyMTNmNWNhYzdlY2Y2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4cGVjdGVkLnR4
dApAQCAtMSw5ICsxLDE2IEBACiBUZXN0cyB0aGF0IHRoZSBkb2N1bWVudCdzIHJlYWR5U3RhdGUg
aXMgc2V0IHByb3Blcmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1cmluZyBsb2FkLgogUEFTUyBkb2N1
bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFTUyBkb2N1bWVudC5vbnJlYWR5c3RhdGVj
aGFuZ2UgaXMgbnVsbAogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFT
UyBzdWJkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJsb2FkaW5nIgorUEFTUyBzdWJkb2N1bWVudC5y
ZWFkeVN0YXRlIGlzICJjb21wbGV0ZSIKK1BBU1MgaHRtbERvY3VtZW50LnJlYWR5U3RhdGUgaXMg
ImxvYWRpbmciCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV4cGVjdGVkU3RhdGVz
W25leHRFeHBlY3RlZFN0YXRlXQogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJpbnRlcmFj
dGl2ZSIKIFBBU1MgZG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAiaW50ZXJhY3RpdmUiCiBQQVNTIGRv
Y3VtZW50LnJlYWR5U3RhdGUgaXMgImludGVyYWN0aXZlIgorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBleHBlY3RlZFN0YXRlc1tuZXh0RXhwZWN0ZWRTdGF0ZV0KK1BBU1MgbmV4dEV4
cGVjdGVkU3RhdGUgaXMgZXhwZWN0ZWRTdGF0ZXMubGVuZ3RoCiBQQVNTIGRvY3VtZW50LnJlYWR5
U3RhdGUgaXMgImNvbXBsZXRlIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwKaW5kZXggNDc1
MWFhNzhlNWE5YWQ0NDAzZjlkMzE3MzE5ODhmZmJmZTY2MmUxNi4uNTc2ZmZjNzdjNDlhMTBlZDNi
ODA1NzNmOTZmNDRiMDZmZmYyNWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3Vt
ZW50L3JlYWR5c3RhdGUuaHRtbApAQCAtNCwxNCArNCwxNiBAQAogPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgogPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQucmVhZHlT
dGF0ZScsICdjb21wbGV0ZScpO2ZpbmlzaEpTVGVzdCgpOyI+Cis8Ym9keSBvbmxvYWQ9ImFsbERv
bmUoKSI+CiBUZXN0cyB0aGF0IHRoZSBkb2N1bWVudCdzIHJlYWR5U3RhdGUgaXMgc2V0IHByb3Bl
cmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1cmluZyBsb2FkLgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiA8c2NyaXB0IGRlZmVyIHNyYz0iZGF0YTp0ZXh0L2phdmFzY3JpcHQsc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5yZWFkeVN0YXRlJywgJ2ludGVyYWN0aXZlJyk7Ij48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJkYXRhOnRleHQvamF2YXNjcmlwdCxzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2RvY3VtZW50LnJlYWR5U3RhdGUnLCAnbG9hZGluZycpOyI+PC9zY3JpcHQ+Cis8aWZyYW1l
IHNyYz0iZG9lcy1ub3QtZXhpc3QuaHRtbCI+PC9pZnJhbWU+CiA8c2NyaXB0PgogICB2YXIganNU
ZXN0SXNBc3luYyA9IHRydWU7CiAKKyAgc2hvdWxkQmUoImRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNo
YW5nZSIsICJudWxsIik7CiAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQucmVhZHlT
dGF0ZSIsICJsb2FkaW5nIik7CiAKICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u
dGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewpAQCAtMjIsNiArMjQsMzEgQEAgVGVzdHMgdGhhdCB0
aGUgZG9jdW1lbnQncyByZWFkeVN0YXRlIGlzIHNldCBwcm9wZXJseSBhdCB2YXJpb3VzIHBoYXNl
cyBkdXJpbmcgbG8KICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBd
LmFwcGVuZENoaWxkKGVsKTsKICAgfSwgZmFsc2UpOwogCisgIHZhciBleHBlY3RlZFN0YXRlcyA9
IFsiaW50ZXJhY3RpdmUiLCAiY29tcGxldGUiXTsKKyAgdmFyIG5leHRFeHBlY3RlZFN0YXRlID0g
MDsKKyAgZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUiLCAiZXhwZWN0ZWRTdGF0ZXNbbmV4
dEV4cGVjdGVkU3RhdGVdIik7CisgICAgKytuZXh0RXhwZWN0ZWRTdGF0ZTsKKyAgfQorCisgIHZh
ciBzdWJkb2N1bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVsw
XS5jb250ZW50RG9jdW1lbnQ7CisgIHN1YmRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1
bmN0aW9uKGV2ZW50KSB7CisgICAgdGVzdEZhaWxlZCgic2hvdWxkIG5vdCBoYXZlIGJlZW4gbm90
aWZpZWQgb2Ygc3ViZG9jdW1lbnQgc3RhdGUgY2hhbmdlIHRvICIgKyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSk7CisgIH0KKyAgc3ViZG9jdW1lbnQub3BlbigpOworICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN1YmRvY3VtZW50LnJlYWR5U3RhdGUiLCAibG9hZGluZyIpOworICBzdWJkb2N1bWVu
dC5jbG9zZSgpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmRvY3VtZW50LnJlYWR5U3Rh
dGUiLCAiY29tcGxldGUiKTsKKworICB2YXIgaHRtbERvY3VtZW50ID0gZG9jdW1lbnQuaW1wbGVt
ZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCk7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
aHRtbERvY3VtZW50LnJlYWR5U3RhdGUiLCAibG9hZGluZyIpOworCisgIGZ1bmN0aW9uIGFsbERv
bmUoKSB7CisgICAgc2hvdWxkQmUoJ25leHRFeHBlY3RlZFN0YXRlJywgJ2V4cGVjdGVkU3RhdGVz
Lmxlbmd0aCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQucmVhZHlTdGF0
ZScsICdjb21wbGV0ZScpOworICAgIGZpbmlzaEpTVGVzdCgpOworICB9CisKICAgdmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBjYWQ1MzNmOGRlNGY3MDQ1ZWZm
NDExNjdhYzE2MmZjNzE2ZWRkNC4uMzk4NjBmZmViZjE2ZGI1NzVjM2E5YTA5MDYzYTIxN2RkYzg3
YThmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMC0xMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmph
bUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wbGVtZW50IG9ucmVhZHlzdGF0ZWNoYW5nZSBldmVudCBoYW5kbGVyIGZvciBE
b2N1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI2MTQwCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1s
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNldFJlYWR5U3RhdGUpOiBGaXJlIHJlYWR5c3RhdGVjaGFuZ2VldmVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpvcGVuKTogSGFuZGxlIGltcGxpY2l0T3BlbigpIGludGVyZmFj
ZSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRPcGVuKTogT3B0
aW9uYWxseSByZW1vdmUgYWxsIGV2ZW50IGhhbmRsZXJzLiBOZWVkZWQgZm9yIGRvY3VtZW50Lm9w
ZW4oKS4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIHJlYWR5c3RhdGVjaGFuZ2UgZXZl
bnQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDogRGl0dG8uCisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyOjpi
ZWdpbik6IEhhbmRsZSBpbXBsaWNpdE9wZW4oKSBpbnRlcmZhY2UgY2hhbmdlLgorCiAyMDEwLTEw
LTExICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QW5kZXJzIENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGYyM2VhN2I3YzUzMTlmM2JjZWU1NTQ3MWZl
N2Q4ZjFhYTI0MjNhYzkuLmE5MjcyZjRiOTRhOGQ4YzQ5YTM4YjEyOTYwZDg4YzA3M2FiYjM3OGIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTk4NCw4ICs5ODQsMTAgQEAgU3RyaW5nIERvY3VtZW50OjpyZWFkeVN0
YXRlKCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6c2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlIHJl
YWR5U3RhdGUpCiB7Ci0gICAgLy8gRklYTUU6IEZpcmUgdGhlIHJlYWR5c3RhdGVjaGFuZ2UgZXZl
bnQgb24gdGhpcyBEb2N1bWVudC4KKyAgICBpZiAocmVhZHlTdGF0ZSA9PSBtX3JlYWR5U3RhdGUp
CisgICAgICAgIHJldHVybjsKICAgICBtX3JlYWR5U3RhdGUgPSByZWFkeVN0YXRlOworICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVhZHlzdGF0ZWNoYW5nZUV2
ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAogU3RyaW5nIERvY3VtZW50OjplbmNvZGluZygpIGNv
bnN0CkBAIC0xODYxLDcgKzE4NjMsNyBAQCB2b2lkIERvY3VtZW50OjpvcGVuKERvY3VtZW50KiBv
d25lckRvY3VtZW50KQogICAgICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPnN0b3BBbGxMb2Fk
ZXJzKCk7CiAgICAgfQogCi0gICAgaW1wbGljaXRPcGVuKCk7CisgICAgaW1wbGljaXRPcGVuKFJl
bW92ZUV4aXN0aW5nRXZlbnRMaXN0ZW5lcnMpOwogCiAgICAgaWYgKERPTVdpbmRvdyogZG9tV2lu
ZG93ID0gdGhpcy0+ZG9tV2luZG93KCkpCiAgICAgICAgIGRvbVdpbmRvdy0+cmVtb3ZlQWxsRXZl
bnRMaXN0ZW5lcnMoKTsKQEAgLTE4OTAsMTAgKzE4OTIsMTMgQEAgdm9pZCBEb2N1bWVudDo6Y2Fu
Y2VsUGFyc2luZygpCiAgICAgfQogfQogCi12b2lkIERvY3VtZW50OjppbXBsaWNpdE9wZW4oKQor
dm9pZCBEb2N1bWVudDo6aW1wbGljaXRPcGVuKEV4aXN0aW5nRXZlbnRMaXN0ZW5lcnNGbGFnIGV4
aXN0aW5nRXZlbnRMaXN0ZW5lcnNGbGFnKQogewogICAgIGNhbmNlbFBhcnNpbmcoKTsKIAorICAg
IGlmIChleGlzdGluZ0V2ZW50TGlzdGVuZXJzRmxhZyA9PSBSZW1vdmVFeGlzdGluZ0V2ZW50TGlz
dGVuZXJzKQorICAgICAgICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOworCiAgICAgcmVtb3Zl
Q2hpbGRyZW4oKTsKIAogICAgIHNldENvbXBhdGliaWxpdHlNb2RlKE5vUXVpcmtzTW9kZSk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBjZjEwYjQ5MTdjY2IyODBkMTIyODBhNjNmYzIxMjk4ZjE2YWI5YzkyLi4zMTZhNDZl
NjAzYjM5MDA1M2ZlNzUwM2NmMjQxMDU2NDA1M2YzNTM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE4NSw2ICsxODUs
OCBAQCBlbnVtIFBhZ2VzaG93RXZlbnRQZXJzaXN0ZW5jZSB7CiAKIGVudW0gU3R5bGVTZWxlY3Rv
clVwZGF0ZUZsYWcgeyBSZWNhbGNTdHlsZUltbWVkaWF0ZWx5LCBEZWZlclJlY2FsY1N0eWxlIH07
CiAKK2VudW0gRXhpc3RpbmdFdmVudExpc3RlbmVyc0ZsYWcgeyBSZW1vdmVFeGlzdGluZ0V2ZW50
TGlzdGVuZXJzLCBLZWVwRXhpc3RpbmdFdmVudExpc3RlbmVycyB9OworCiBjbGFzcyBEb2N1bWVu
dCA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGNyZWF0ZShGcmFtZSog
ZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKQEAgLTI1Niw2ICsyNTgsNyBAQCBwdWJsaWM6CiAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7CiAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihmb2N1cyk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihsb2FkKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlYWR5
c3RhdGVjaGFuZ2UpOwogCiAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZWN1dCk7CkBAIC01MzIsNyArNTM1LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgdmlzdWFsbHlPcmRlcmVkKCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxs
eU9yZGVyZWQ7IH0KIAogICAgIHZvaWQgb3BlbihEb2N1bWVudCogb3duZXJEb2N1bWVudCA9IDAp
OwotICAgIHZvaWQgaW1wbGljaXRPcGVuKCk7CisgICAgdm9pZCBpbXBsaWNpdE9wZW4oRXhpc3Rp
bmdFdmVudExpc3RlbmVyc0ZsYWcpOwogICAgIHZvaWQgY2xvc2UoKTsKICAgICB2b2lkIGltcGxp
Y2l0Q2xvc2UoKTsKICAgICB2b2lkIGNhbmNlbFBhcnNpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCBlNTUx
Zjg4MTQ0NmM3OWMwYjE4YTYxNzlhODI0ZGM0NjRjOTU0NzM0Li40MjZlOWNmZWI5ZDE0ZTNhN2Nh
YjZlMWZjMDFlNDM2ODFiNmI2ZTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5p
ZGwKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0yNzgsNiArMjc4LDcgQEAgbW9k
dWxlIGNvcmUgewogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9u
bW91c2VvdmVyOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9u
bW91c2V1cDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbm1v
dXNld2hlZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25y
ZWFkeXN0YXRlY2hhbmdlOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3Rl
bmVyIG9uc2Nyb2xsOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVy
IG9uc2VsZWN0OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9u
c3VibWl0OwpAQCAtMjk3LDcgKzI5OCw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnBsYXlpbmc7CiAgICAgICAgIC8vIGF0
dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25wcm9ncmVzczsKICAgICAgICAgLy8g
YXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJhdGVjaGFuZ2U7Ci0gICAgICAg
IC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25yZWFkeXN0YXRlY2hhbmdl
OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uc2Vla2Vk
OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uc2Vla2lu
ZzsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnNob3c7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAgYi9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXggNWIwM2NkNzk0OWRmMzAyNTNmNDUzMmNi
YzM1NDNjYTg2ZDc0YzExOC4uODYwN2Q4ZmZkYWJhNGNlZDRiNjBjODBkNTg1MjU1YTA5MmQ4NTlm
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
RG9jdW1lbnRXcml0ZXI6OmJlZ2luKGNvbnN0IEtVUkwmIHVybCwgYm9vbCBkaXNwYXRjaCwgU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpCiAKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+ZGlkQmVnaW5Eb2N1
bWVudChkaXNwYXRjaCk7CiAKLSAgICBkb2N1bWVudC0+aW1wbGljaXRPcGVuKCk7CisgICAgZG9j
dW1lbnQtPmltcGxpY2l0T3BlbihLZWVwRXhpc3RpbmdFdmVudExpc3RlbmVycyk7CiAKICAgICBp
ZiAobV9mcmFtZS0+dmlldygpICYmIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+aGFzSFRN
TFZpZXcoKSkKICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDb250ZW50c1NpemUoSW50U2l6
ZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70543</attachid>
            <date>2010-10-12 11:14:04 -0700</date>
            <delta_ts>2010-10-12 15:05:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26140-20101012111401.patch</filename>
            <type>text/plain</type>
            <size>7467</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYzljOGI1M2YwYjJjZjI3OGE2ZTg5NTQ0MjNhYjRmY2UxYTVmNDJjLi44NmQ2YTI3
NzE2ZjkxODI1NThiZmUzY2ZjMjQ0MDZiODY3NzY4NjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMTIgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFuZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sOgorCiAyMDEwLTEwLTEyICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lZCBhIGZh
aWxpbmcgdGVzdHMuIFVuc2tpcHBlZCBlZGl0aW5nIHRlc3RzIHRoYXQgYXJlIHBhc3NpbmcgYW5k
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhw
ZWN0ZWQudHh0CmluZGV4IDYwNDYwNjM4ODYxYjYzMDE4MmU4NzE1MTMyMDljOGFlMDYxNDk4NWYu
LjU5ZjU4NDc5YzQzNDFmMGRiN2UxNWFmY2IzMTIxM2Y1Y2FjN2VjZjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDkgKzEsMTYgQEAKIFRlc3RzIHRoYXQgdGhlIGRvY3VtZW50J3MgcmVhZHlTdGF0ZSBpcyBz
ZXQgcHJvcGVybHkgYXQgdmFyaW91cyBwaGFzZXMgZHVyaW5nIGxvYWQuCiBQQVNTIGRvY3VtZW50
LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIGRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5n
ZSBpcyBudWxsCiBQQVNTIGRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIHN1
YmRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIHN1YmRvY3VtZW50LnJlYWR5
U3RhdGUgaXMgImNvbXBsZXRlIgorUEFTUyBodG1sRG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAibG9h
ZGluZyIKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXhwZWN0ZWRTdGF0ZXNbbmV4
dEV4cGVjdGVkU3RhdGVdCiBQQVNTIGRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImludGVyYWN0aXZl
IgogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJpbnRlcmFjdGl2ZSIKIFBBU1MgZG9jdW1l
bnQucmVhZHlTdGF0ZSBpcyAiaW50ZXJhY3RpdmUiCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV4cGVjdGVkU3RhdGVzW25leHRFeHBlY3RlZFN0YXRlXQorUEFTUyBuZXh0RXhwZWN0
ZWRTdGF0ZSBpcyBleHBlY3RlZFN0YXRlcy5sZW5ndGgKIFBBU1MgZG9jdW1lbnQucmVhZHlTdGF0
ZSBpcyAiY29tcGxldGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUuaHRtbAppbmRleCA0NzUxYWE3
OGU1YTlhZDQ0MDNmOWQzMTczMTk4OGZmYmZlNjYyZTE2Li45MjJmNzVkMWJmNzY5ZTEwMTA3Nzgy
NmM2OTRiN2E5ZmI2MjQwYTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1
bWVudC9yZWFkeXN0YXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQv
cmVhZHlzdGF0ZS5odG1sCkBAIC00LDE0ICs0LDE2IEBACiA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CiA8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
LTxib2R5IG9ubG9hZD0ic2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5yZWFkeVN0YXRl
JywgJ2NvbXBsZXRlJyk7ZmluaXNoSlNUZXN0KCk7Ij4KKzxib2R5IG9ubG9hZD0iYWxsRG9uZSgp
Ij4KIFRlc3RzIHRoYXQgdGhlIGRvY3VtZW50J3MgcmVhZHlTdGF0ZSBpcyBzZXQgcHJvcGVybHkg
YXQgdmFyaW91cyBwaGFzZXMgZHVyaW5nIGxvYWQuCiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
IDxzY3JpcHQgZGVmZXIgc3JjPSJkYXRhOnRleHQvamF2YXNjcmlwdCxzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2RvY3VtZW50LnJlYWR5U3RhdGUnLCAnaW50ZXJhY3RpdmUnKTsiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9ImRhdGE6dGV4dC9qYXZhc2NyaXB0LHNob3VsZEJlRXF1YWxUb1N0cmluZygn
ZG9jdW1lbnQucmVhZHlTdGF0ZScsICdsb2FkaW5nJyk7Ij48L3NjcmlwdD4KKzxpZnJhbWUgc3Jj
PSJkb2VzLW5vdC1leGlzdC5odG1sIj48L2lmcmFtZT4KIDxzY3JpcHQ+CiAgIHZhciBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKIAorICBzaG91bGRCZSgiZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdl
IiwgIm51bGwiKTsKICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5yZWFkeVN0YXRl
IiwgImxvYWRpbmciKTsKIAogICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50
TG9hZGVkIiwgZnVuY3Rpb24oKSB7CkBAIC0yMiw2ICsyNCwzMSBAQCBUZXN0cyB0aGF0IHRoZSBk
b2N1bWVudCdzIHJlYWR5U3RhdGUgaXMgc2V0IHByb3Blcmx5IGF0IHZhcmlvdXMgcGhhc2VzIGR1
cmluZyBsbwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBw
ZW5kQ2hpbGQoZWwpOwogICB9LCBmYWxzZSk7CiAKKyAgdmFyIGV4cGVjdGVkU3RhdGVzID0gWyJp
bnRlcmFjdGl2ZSIsICJjb21wbGV0ZSJdOworICB2YXIgbmV4dEV4cGVjdGVkU3RhdGUgPSAwOwor
ICBkb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihldmVudCkgeworICAgIHNo
b3VsZEJlKCJldmVudC50YXJnZXQucmVhZHlTdGF0ZSIsICJleHBlY3RlZFN0YXRlc1tuZXh0RXhw
ZWN0ZWRTdGF0ZV0iKTsKKyAgICArK25leHRFeHBlY3RlZFN0YXRlOworICB9CisKKyAgdmFyIHN1
YmRvY3VtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLmNv
bnRlbnREb2N1bWVudDsKKyAgc3ViZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICB0ZXN0RmFpbGVkKCJzaG91bGQgbm90IGhhdmUgYmVlbiBub3RpZmll
ZCBvZiBzdWJkb2N1bWVudCBzdGF0ZSBjaGFuZ2UgdG8gIiArIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlKTsKKyAgfQorICBzdWJkb2N1bWVudC5vcGVuKCk7CisgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygic3ViZG9jdW1lbnQucmVhZHlTdGF0ZSIsICJsb2FkaW5nIik7CisgIHN1YmRvY3VtZW50LmNs
b3NlKCk7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZG9jdW1lbnQucmVhZHlTdGF0ZSIs
ICJjb21wbGV0ZSIpOworCisgIHZhciBodG1sRG9jdW1lbnQgPSBkb2N1bWVudC5pbXBsZW1lbnRh
dGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoKTsKKyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJodG1s
RG9jdW1lbnQucmVhZHlTdGF0ZSIsICJsb2FkaW5nIik7CisKKyAgZnVuY3Rpb24gYWxsRG9uZSgp
IHsKKyAgICBzaG91bGRCZSgibmV4dEV4cGVjdGVkU3RhdGUiLCAiZXhwZWN0ZWRTdGF0ZXMubGVu
Z3RoIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5yZWFkeVN0YXRlIiwg
ImNvbXBsZXRlIik7CisgICAgZmluaXNoSlNUZXN0KCk7CisgIH0KKwogICB2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZDE0YzdhYTIyYWUzMGM3MTkyOTYyNTU5
NmQ3ZWVkYzk1YzNiZWI3Li4yMmU2ZDBhYjVmMTY4ZTlkOWI5OTIxZWE4NjE4ODYxZDVhZDY4ZGQy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDEwLTEwLTEyICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBsZW1lbnQgb25yZWFkeXN0YXRlY2hhbmdlIGV2ZW50IGhhbmRsZXIgZm9yIERvY3Vt
ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYx
NDAKKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwKKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
c2V0UmVhZHlTdGF0ZSk6IEZpcmUgcmVhZHlzdGF0ZWNoYW5nZWV2ZW50LgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6Om9wZW4pOiBDbGVhciBldmVudCBsaXN0ZW5lcnMuCisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6IEFkZCByZWFkeXN0YXRlY2hhbmdlIGV2ZW50LgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5pZGw6IERpdHRvLgorCiAyMDEwLTEwLTEyICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IGYyM2VhN2I3YzUzMTlmM2JjZWU1NTQ3MWZlN2Q4ZjFhYTI0MjNhYzkuLmRhNmExZjgw
ODE5MDRiMmEzN2RjY2U1Y2JhZWRlNDE0NWJkYmQyNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTk4NCw4ICs5
ODQsMTAgQEAgU3RyaW5nIERvY3VtZW50OjpyZWFkeVN0YXRlKCkgY29uc3QKIAogdm9pZCBEb2N1
bWVudDo6c2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlIHJlYWR5U3RhdGUpCiB7Ci0gICAgLy8gRklY
TUU6IEZpcmUgdGhlIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgb24gdGhpcyBEb2N1bWVudC4KKyAg
ICBpZiAocmVhZHlTdGF0ZSA9PSBtX3JlYWR5U3RhdGUpCisgICAgICAgIHJldHVybjsKICAgICBt
X3JlYWR5U3RhdGUgPSByZWFkeVN0YXRlOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkucmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0K
IAogU3RyaW5nIERvY3VtZW50OjplbmNvZGluZygpIGNvbnN0CkBAIC0xODYxLDYgKzE4NjMsNyBA
QCB2b2lkIERvY3VtZW50OjpvcGVuKERvY3VtZW50KiBvd25lckRvY3VtZW50KQogICAgICAgICAg
ICAgbV9mcmFtZS0+bG9hZGVyKCktPnN0b3BBbGxMb2FkZXJzKCk7CiAgICAgfQogCisgICAgcmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKICAgICBpbXBsaWNpdE9wZW4oKTsKIAogICAgIGlmIChE
T01XaW5kb3cqIGRvbVdpbmRvdyA9IHRoaXMtPmRvbVdpbmRvdygpKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggY2YxMGI0
OTE3Y2NiMjgwZDEyMjgwYTYzZmMyMTI5OGYxNmFiOWM5Mi4uN2U5ZGY3Y2QwMzdlZDU3ZmJmZjZm
ODMzYWJlN2E5MmZmODQyYTZkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAor
KysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0yNTYsNiArMjU2LDcgQEAgcHVibGljOgog
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwogICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIobG9hZCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihy
ZWFkeXN0YXRlY2hhbmdlKTsKIAogICAgIC8vIFdlYktpdCBleHRlbnNpb25zCiAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVjdXQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGU1NTFm
ODgxNDQ2Yzc5YzBiMThhNjE3OWE4MjRkYzQ2NGM5NTQ3MzQuLjQyNmU5Y2ZlYjlkMTRlM2E3Y2Fi
NmUxZmMwMWU0MzY4MWI2YjZlOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTI3OCw2ICsyNzgsNyBAQCBtb2R1
bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25t
b3VzZW92ZXI7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25t
b3VzZXVwOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ubW91
c2V3aGVlbDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJl
YWR5c3RhdGVjaGFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVu
ZXIgb25zY3JvbGw7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b25zZWxlY3Q7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25z
dWJtaXQ7CkBAIC0yOTcsNyArMjk4LDYgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICAvLyBhdHRy
aWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucGxheWluZzsKICAgICAgICAgLy8gYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnByb2dyZXNzOwogICAgICAgICAvLyBh
dHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucmF0ZWNoYW5nZTsKLSAgICAgICAg
Ly8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJlYWR5c3RhdGVjaGFuZ2U7
CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25zZWVrZWQ7
CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25zZWVraW5n
OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uc2hvdzsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70566</attachid>
            <date>2010-10-12 15:05:42 -0700</date>
            <delta_ts>2010-10-13 16:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26140-20101012150535.patch</filename>
            <type>text/plain</type>
            <size>9590</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYzljOGI1M2YwYjJjZjI3OGE2ZTg5NTQ0MjNhYjRmY2UxYTVmNDJjLi44NmQ2YTI3
NzE2ZjkxODI1NThiZmUzY2ZjMjQ0MDZiODY3NzY4NjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMTIgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFuZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sOgorCiAyMDEwLTEwLTEyICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lZCBhIGZh
aWxpbmcgdGVzdHMuIFVuc2tpcHBlZCBlZGl0aW5nIHRlc3RzIHRoYXQgYXJlIHBhc3NpbmcgYW5k
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhw
ZWN0ZWQudHh0CmluZGV4IDYwNDYwNjM4ODYxYjYzMDE4MmU4NzE1MTMyMDljOGFlMDYxNDk4NWYu
LmRhYThkOWYzMzlhODEyYzE3YmQ3NTllNmE0YTJjNGViMjQyNDk0ZDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3JlYWR5c3RhdGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDkgKzEsMjQgQEAKIFRlc3RzIHRoYXQgdGhlIGRvY3VtZW50J3MgcmVhZHlTdGF0ZSBpcyBz
ZXQgcHJvcGVybHkgYXQgdmFyaW91cyBwaGFzZXMgZHVyaW5nIGxvYWQuCiBQQVNTIGRvY3VtZW50
LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIGRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5n
ZSBpcyBudWxsCiBQQVNTIGRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIHN1
YmRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIHN1YmRvY3VtZW50LnJlYWR5
U3RhdGUgaXMgImNvbXBsZXRlIgorUEFTUyBodG1sRG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAibG9h
ZGluZyIKK1BBU1MgZHluYW1pY0lmcmFtZS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAi
Y29tcGxldGUiCitQQVNTIGR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50Lm9ucmVhZHlzdGF0
ZWNoYW5nZSBpcyBudWxsCitQQVNTIGR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50LnJlYWR5
U3RhdGUgaXMgImxvYWRpbmciCitQQVNTIGR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50LnJl
YWR5U3RhdGUgaXMgZXhwZWN0ZWREeW5hbWljU3RhdGVzW25leHRFeHBlY3RlZER5bmFtaWNTdGF0
ZV0KK1BBU1MgZHluYW1pY0lmcmFtZS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZSBpcyBleHBl
Y3RlZER5bmFtaWNTdGF0ZXNbbmV4dEV4cGVjdGVkRHluYW1pY1N0YXRlXQorUEFTUyBkeW5hbWlj
SWZyYW1lLmNvbnRlbnREb2N1bWVudC5yZWFkeVN0YXRlIGlzICJjb21wbGV0ZSIKK1BBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXhwZWN0ZWRTdGF0ZXNbbmV4dEV4cGVjdGVkU3RhdGVd
CiBQQVNTIGRvY3VtZW50LnJlYWR5U3RhdGUgaXMgImludGVyYWN0aXZlIgorUEFTUyByZWFkeVN0
YXRlQ2hhbmdlRmlyZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5yZWFkeVN0YXRlIGlzICJpbnRl
cmFjdGl2ZSIKIFBBU1MgZG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAiaW50ZXJhY3RpdmUiCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV4cGVjdGVkU3RhdGVzW25leHRFeHBlY3RlZFN0
YXRlXQorUEFTUyBuZXh0RXhwZWN0ZWRTdGF0ZSBpcyBleHBlY3RlZFN0YXRlcy5sZW5ndGgKK1BB
U1MgbmV4dEV4cGVjdGVkRHluYW1pY1N0YXRlIGlzIGV4cGVjdGVkRHluYW1pY1N0YXRlcy5sZW5n
dGgKIFBBU1MgZG9jdW1lbnQucmVhZHlTdGF0ZSBpcyAiY29tcGxldGUiCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rv
Y3VtZW50L3JlYWR5c3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L3Jl
YWR5c3RhdGUuaHRtbAppbmRleCA0NzUxYWE3OGU1YTlhZDQ0MDNmOWQzMTczMTk4OGZmYmZlNjYy
ZTE2Li41Nzg4NThjYWYzNWZhNGRlNzdlNGMxZGJiYmVmOGE2OGMzOTZkMzdlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9yZWFkeXN0YXRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvcmVhZHlzdGF0ZS5odG1sCkBAIC00LDE0ICs0LDE2
IEBACiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdkb2N1bWVudC5yZWFkeVN0YXRlJywgJ2NvbXBsZXRlJyk7ZmluaXNoSlNUZXN0KCk7
Ij4KKzxib2R5IG9ubG9hZD0iYWxsRG9uZSgpIj4KIFRlc3RzIHRoYXQgdGhlIGRvY3VtZW50J3Mg
cmVhZHlTdGF0ZSBpcyBzZXQgcHJvcGVybHkgYXQgdmFyaW91cyBwaGFzZXMgZHVyaW5nIGxvYWQu
CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgZGVmZXIgc3JjPSJkYXRhOnRleHQv
amF2YXNjcmlwdCxzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LnJlYWR5U3RhdGUnLCAn
aW50ZXJhY3RpdmUnKTsiPjwvc2NyaXB0PgorPHNjcmlwdCBkZWZlciBzcmM9ImRhdGE6dGV4dC9q
YXZhc2NyaXB0LHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQucmVhZHlTdGF0ZScsICdp
bnRlcmFjdGl2ZScpO3Nob3VsZEJlVHJ1ZSgncmVhZHlTdGF0ZUNoYW5nZUZpcmVkJyk7Ij48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJkYXRhOnRleHQvamF2YXNjcmlwdCxzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2RvY3VtZW50LnJlYWR5U3RhdGUnLCAnbG9hZGluZycpOyI+PC9zY3JpcHQ+Cis8aWZy
YW1lIHNyYz0iZG9lcy1ub3QtZXhpc3QuaHRtbCI+PC9pZnJhbWU+CiA8c2NyaXB0PgogICB2YXIg
anNUZXN0SXNBc3luYyA9IHRydWU7CiAKKyAgc2hvdWxkQmUoImRvY3VtZW50Lm9ucmVhZHlzdGF0
ZWNoYW5nZSIsICJudWxsIik7CiAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQucmVh
ZHlTdGF0ZSIsICJsb2FkaW5nIik7CiAKICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9N
Q29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewpAQCAtMjIsNiArMjQsNjAgQEAgVGVzdHMgdGhh
dCB0aGUgZG9jdW1lbnQncyByZWFkeVN0YXRlIGlzIHNldCBwcm9wZXJseSBhdCB2YXJpb3VzIHBo
YXNlcyBkdXJpbmcgbG8KICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcp
WzBdLmFwcGVuZENoaWxkKGVsKTsKICAgfSwgZmFsc2UpOwogCisgIHZhciBleHBlY3RlZFN0YXRl
cyA9IFsiaW50ZXJhY3RpdmUiLCAiY29tcGxldGUiXTsKKyAgdmFyIG5leHRFeHBlY3RlZFN0YXRl
ID0gMDsKKyAgdmFyIHJlYWR5U3RhdGVDaGFuZ2VGaXJlZCA9IGZhbHNlOworICBkb2N1bWVudC5v
bnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihldmVudCkgeworICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSIsICJleHBlY3RlZFN0YXRlc1tuZXh0RXhwZWN0ZWRTdGF0ZV0i
KTsKKyAgICArK25leHRFeHBlY3RlZFN0YXRlOworICAgIHJlYWR5U3RhdGVDaGFuZ2VGaXJlZCA9
IHRydWU7CisgIH0KKworICBmdW5jdGlvbiByZWFkeVN0YXRlU2hvdWxkTm90Q2hhbmdlKGV2ZW50
KSB7CisgICAgdGVzdEZhaWxlZCgic2hvdWxkIG5vdCBoYXZlIGJlZW4gbm90aWZpZWQgb2Ygc3Vi
ZG9jdW1lbnQgc3RhdGUgY2hhbmdlIHRvICIgKyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSk7Cisg
IH0KKworICB2YXIgc3ViZG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
aWZyYW1lJylbMF0uY29udGVudERvY3VtZW50OworICBzdWJkb2N1bWVudC5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSByZWFkeVN0YXRlU2hvdWxkTm90Q2hhbmdlOworICBzdWJkb2N1bWVudC5vcGVuKCk7
CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZG9jdW1lbnQucmVhZHlTdGF0ZSIsICJsb2Fk
aW5nIik7CisgIHN1YmRvY3VtZW50LmNsb3NlKCk7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c3ViZG9jdW1lbnQucmVhZHlTdGF0ZSIsICJjb21wbGV0ZSIpOworCisgIHZhciBodG1sRG9jdW1l
bnQgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoKTsKKyAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJodG1sRG9jdW1lbnQucmVhZHlTdGF0ZSIsICJsb2FkaW5nIik7
CisKKyAgdmFyIGV4cGVjdGVkRHluYW1pY1N0YXRlcyA9IFsiaW50ZXJhY3RpdmUiLCAiY29tcGxl
dGUiXTsKKyAgdmFyIG5leHRFeHBlY3RlZER5bmFtaWNTdGF0ZSA9IDA7CisgIHZhciBkeW5hbWlj
SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgIGR5bmFtaWNJZnJh
bWUuc2V0QXR0cmlidXRlKCJzcmMiLCAiYWJvdXQ6YmxhbmsiKTsKKyAgZHluYW1pY0lmcmFtZS5z
ZXRBdHRyaWJ1dGUoIm9ubG9hZCIsICJwYXJlbnQuZHluYW1pY0lmcmFtZUxvYWRlZCgpIik7Cisg
IHN1YmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZHluYW1pY0lmcmFtZSk7CisgIGZ1bmN0aW9u
IGR5bmFtaWNJZnJhbWVMb2FkZWQoKSB7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkeW5h
bWljSWZyYW1lLmNvbnRlbnREb2N1bWVudC5yZWFkeVN0YXRlIiwgImNvbXBsZXRlIik7CisgICAg
ZHluYW1pY0lmcmFtZS5jb250ZW50RG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gcmVhZHlT
dGF0ZVNob3VsZE5vdENoYW5nZTsKKyAgICBkeW5hbWljSWZyYW1lLmNvbnRlbnREb2N1bWVudC5v
cGVuKCk7CisgICAgc2hvdWxkQmUoImR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50Lm9ucmVh
ZHlzdGF0ZWNoYW5nZSIsICJudWxsIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkeW5h
bWljSWZyYW1lLmNvbnRlbnREb2N1bWVudC5yZWFkeVN0YXRlIiwgImxvYWRpbmciKTsKKyAgICBk
eW5hbWljSWZyYW1lLmNvbnRlbnREb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlv
bigpIHsKKyAgICAgIHNob3VsZEJlKCJkeW5hbWljSWZyYW1lLmNvbnRlbnREb2N1bWVudC5yZWFk
eVN0YXRlIiwgImV4cGVjdGVkRHluYW1pY1N0YXRlc1tuZXh0RXhwZWN0ZWREeW5hbWljU3RhdGVd
Iik7CisgICAgICArK25leHRFeHBlY3RlZER5bmFtaWNTdGF0ZTsKKyAgICB9CisgICAgZHluYW1p
Y0lmcmFtZS5jb250ZW50RG9jdW1lbnQuY2xvc2UoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGUiLCAiY29tcGxldGUi
KTsKKworICAgIGR5bmFtaWNJZnJhbWUuY29udGVudERvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5n
ZSA9IHJlYWR5U3RhdGVTaG91bGROb3RDaGFuZ2U7CisgICAgc3ViZG9jdW1lbnQub3BlbigpOwor
ICAgIHN1YmRvY3VtZW50LmNsb3NlKCk7CisgIH0KKworICBmdW5jdGlvbiBhbGxEb25lKCkgewor
ICAgIHNob3VsZEJlKCJuZXh0RXhwZWN0ZWRTdGF0ZSIsICJleHBlY3RlZFN0YXRlcy5sZW5ndGgi
KTsKKyAgICBzaG91bGRCZSgibmV4dEV4cGVjdGVkRHluYW1pY1N0YXRlIiwgImV4cGVjdGVkRHlu
YW1pY1N0YXRlcy5sZW5ndGgiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LnJlYWR5U3RhdGUiLCAiY29tcGxldGUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgfQorCiAg
IHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkMTRjN2FhMjJh
ZTMwYzcxOTI5NjI1NTk2ZDdlZWRjOTVjM2JlYjcuLjIyZTZkMGFiNWYxNjhlOWQ5Yjk5MjFlYTg2
MTg4NjFkNWFkNjhkZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTAtMTIgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBvbnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgaGFu
ZGxlciBmb3IgRG9jdW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNjE0MAorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0RvY3VtZW50L3JlYWR5
c3RhdGUuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRSZWFkeVN0YXRlKTogRmlyZSByZWFkeXN0YXRlY2hhbmdlZXZlbnQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6b3Blbik6IENsZWFyIGV2ZW50IGxpc3RlbmVy
cy4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQu
CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDogRGl0dG8uCisKIDIwMTAtMTAtMTIgIFNhbSBX
ZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2Fy
bHNzb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKaW5kZXggZjIzZWE3YjdjNTMxOWYzYmNlZTU1NDcxZmU3ZDhmMWFhMjQy
M2FjOS4uZGE2YTFmODA4MTkwNGIyYTM3ZGNjZTVjYmFlZGU0MTQ1YmRiZDI1MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtOTg0LDggKzk4NCwxMCBAQCBTdHJpbmcgRG9jdW1lbnQ6OnJlYWR5U3RhdGUoKSBjb25z
dAogCiB2b2lkIERvY3VtZW50OjpzZXRSZWFkeVN0YXRlKFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkK
IHsKLSAgICAvLyBGSVhNRTogRmlyZSB0aGUgcmVhZHlzdGF0ZWNoYW5nZSBldmVudCBvbiB0aGlz
IERvY3VtZW50LgorICAgIGlmIChyZWFkeVN0YXRlID09IG1fcmVhZHlTdGF0ZSkKKyAgICAgICAg
cmV0dXJuOwogICAgIG1fcmVhZHlTdGF0ZSA9IHJlYWR5U3RhdGU7CisgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5yZWFkeXN0YXRlY2hhbmdlRXZlbnQsIGZhbHNl
LCBmYWxzZSkpOwogfQogCiBTdHJpbmcgRG9jdW1lbnQ6OmVuY29kaW5nKCkgY29uc3QKQEAgLTE4
NjEsNiArMTg2Myw3IEBAIHZvaWQgRG9jdW1lbnQ6Om9wZW4oRG9jdW1lbnQqIG93bmVyRG9jdW1l
bnQpCiAgICAgICAgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+c3RvcEFsbExvYWRlcnMoKTsKICAg
ICB9CiAKKyAgICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogICAgIGltcGxpY2l0T3Blbigp
OwogCiAgICAgaWYgKERPTVdpbmRvdyogZG9tV2luZG93ID0gdGhpcy0+ZG9tV2luZG93KCkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBjZjEwYjQ5MTdjY2IyODBkMTIyODBhNjNmYzIxMjk4ZjE2YWI5YzkyLi43ZTlkZjdj
ZDAzN2VkNTdmYmZmNmY4MzNhYmU3YTkyZmY4NDJhNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTI1Niw2ICsyNTYs
NyBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7
CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihmb2N1cyk7CiAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHJlYWR5c3RhdGVjaGFuZ2UpOwogCiAgICAgLy8gV2ViS2l0IGV4dGVuc2lv
bnMKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZWN1dCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5p
ZGwKaW5kZXggZTU1MWY4ODE0NDZjNzljMGIxOGE2MTc5YTgyNGRjNDY0Yzk1NDczNC4uNDI2ZTlj
ZmViOWQxNGUzYTdjYWI2ZTFmYzAxZTQzNjgxYjZiNmU5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMjc4LDYg
KzI3OCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbm1vdXNlb3ZlcjsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbm1vdXNldXA7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb25tb3VzZXdoZWVsOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVu
dExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51
bV0gRXZlbnRMaXN0ZW5lciBvbnNjcm9sbDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0g
RXZlbnRMaXN0ZW5lciBvbnNlbGVjdDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbnN1Ym1pdDsKQEAgLTI5Nyw3ICsyOTgsNiBAQCBtb2R1bGUgY29yZSB7CiAg
ICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25wbGF5aW5nOwog
ICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucHJvZ3Jlc3M7
CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25yYXRlY2hh
bmdlOwotICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ucmVh
ZHlzdGF0ZWNoYW5nZTsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbnNlZWtlZDsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbnNlZWtpbmc7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlz
dGVuZXIgb25zaG93Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>