<?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>69846</bug_id>
          
          <creation_ts>2011-10-11 08:59:46 -0700</creation_ts>
          <short_desc>[chromium] Add a setSelectionToRange() method to WebWidget.</short_desc>
          <delta_ts>2011-10-12 14:09:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Nico Weber">thakis</assigned_to>
          <cc>asvitkine</cc>
    
    <cc>fishd</cc>
    
    <cc>penghuang</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481657</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 08:59:46 -0700</bug_when>
    <thetext>[chromium] Add a setSelectionOnFocusedFrame() method to WebWidget.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481663</commentid>
    <comment_count>1</comment_count>
      <attachid>110520</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 09:03:41 -0700</bug_when>
    <thetext>Created attachment 110520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481664</commentid>
    <comment_count>2</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 09:04:22 -0700</bug_when>
    <thetext>Hi Darin,

a WebKit API review. The ChangeLog entry should tell you everything you need. I&apos;d love to get this in early this week.

Nico</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481665</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 09:06:04 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481678</commentid>
    <comment_count>4</comment_count>
    <who name="">asvitkine</who>
    <bug_when>2011-10-11 09:31:12 -0700</bug_when>
    <thetext>&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1366
&gt; +                                             int selectionEnd) {

Webkit style: put { on next line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481685</commentid>
    <comment_count>5</comment_count>
      <attachid>110527</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 09:50:11 -0700</bug_when>
    <thetext>Created attachment 110527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481688</commentid>
    <comment_count>6</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 09:52:57 -0700</bug_when>
    <thetext>&gt; Webkit style: put { on next line.

Done, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481847</commentid>
    <comment_count>7</comment_count>
      <attachid>110527</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-11 13:01:06 -0700</bug_when>
    <thetext>Comment on attachment 110527
Patch

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

&gt; Source/WebKit/chromium/public/WebWidget.h:115
&gt; +    virtual void setSelectionOnFocusedFrame(int selectionStart,

nit: WebWidget is not supposed to know about WebFrame.  You can use a WebWidget
that has no concept of frames.  Maybe you want to have this be a method on
WebView, which does know about frames?

next question:  perhaps you should just add a method to WebFrame.  then, use
view-&gt;focusedFrame()-&gt;setSelectionRange(int selectionStart, int selectionEnd).

what are the coordinates of selectionStart and selectionEnd?  should you be
using WebRange to express the range?  It looks like your implementation needs
to construct a WebCore::Range (which WebRange wraps).

i guess my overall suggestion is to consider exposing primitives here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481848</commentid>
    <comment_count>8</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 13:07:32 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 110527 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=110527&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebWidget.h:115
&gt; &gt; +    virtual void setSelectionOnFocusedFrame(int selectionStart,
&gt; 
&gt; nit: WebWidget is not supposed to know about WebFrame.  You can use a WebWidget
&gt; that has no concept of frames.  Maybe you want to have this be a method on
&gt; WebView, which does know about frames?
&gt; 
&gt; next question:  perhaps you should just add a method to WebFrame.  then, use
&gt; view-&gt;focusedFrame()-&gt;setSelectionRange(int selectionStart, int selectionEnd).

Sounds good, will do.

&gt; what are the coordinates of selectionStart and selectionEnd?  should you be
&gt; using WebRange to express the range?  It looks like your implementation needs
&gt; to construct a WebCore::Range (which WebRange wraps).

As far as I understand, WebRange is not constructible from user code (it has a comment saying &quot;read only&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481891</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-11 14:00:00 -0700</bug_when>
    <thetext>(In reply to comment #8)
...
&gt; As far as I understand, WebRange is not constructible from user code (it has a comment saying &quot;read only&quot;).

That could be changed of course :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481991</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-11 15:56:50 -0700</bug_when>
    <thetext>I gave similar feedback in https://bugs.webkit.org/show_bug.cgi?id=69028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482102</commentid>
    <comment_count>11</comment_count>
      <attachid>110618</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 17:49:40 -0700</bug_when>
    <thetext>Created attachment 110618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482103</commentid>
    <comment_count>12</comment_count>
      <attachid>110618</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 17:50:07 -0700</bug_when>
    <thetext>Comment on attachment 110618
Patch

(not for review, just snapshotting)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482116</commentid>
    <comment_count>13</comment_count>
      <attachid>110621</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 18:11:04 -0700</bug_when>
    <thetext>Created attachment 110621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482125</commentid>
    <comment_count>14</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 18:13:35 -0700</bug_when>
    <thetext>I didn&apos;t go the WebRange route because:

1.) This is now consistent with WebFrame::setMarkedText() (switched from start/end to start/length)
2.) Even if I added a WebRange::FromRange() factory method, WebFrame wouldn&apos;t have a good api to convert that back to a &quot;normal&quot; range, which is what WebFrame needs to do its thing. If you&apos;re fine with adding an `AsRange()` method to WebRange (only if WEBKIT_IMPLEMENTATION is defined), then I can use WebRange. Are you? (I guessed &quot;no&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482463</commentid>
    <comment_count>15</comment_count>
      <attachid>110621</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 09:43:04 -0700</bug_when>
    <thetext>Comment on attachment 110621
Patch

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

I suspect we could probably clean up all of these functions that express ranges.
The methods seem overly specific.  If we had the right primitives, we&apos;d probably
be much happier.

R- because of the nit.

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1100
&gt; +PassRefPtr&lt;Range&gt; convertToRange(Frame* frame, unsigned start, unsigned length)

nit: this should be a &apos;static&apos; function.  please move it up to the top of the file so it
does not interrupt the flow of WebFrameImpl methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482610</commentid>
    <comment_count>16</comment_count>
      <attachid>110720</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 12:33:32 -0700</bug_when>
    <thetext>Created attachment 110720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482619</commentid>
    <comment_count>17</comment_count>
      <attachid>110720</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 12:44:21 -0700</bug_when>
    <thetext>Comment on attachment 110720
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:585
&gt; +    virtual operator WTF::PassRefPtr&lt;WebCore::Frame&gt;() const = 0;

We normally cast WebFrame to WebFrameImpl to get at the WebCore::Frame.  There is only one implementation of WebFrame in our system.

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1103
&gt; +        RefPtr&lt;Range&gt; replacementRange = static_cast&lt;PassRefPtr&lt;WebCore::Range&gt; &gt;(range);

is the static_cast really necessary?  won&apos;t it be implicitly invoked?

did you try RefPtr&lt;Range&gt; replacementRange(range) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482631</commentid>
    <comment_count>18</comment_count>
      <attachid>110726</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:00:59 -0700</bug_when>
    <thetext>Created attachment 110726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482632</commentid>
    <comment_count>19</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:01:16 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 110720 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=110720&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebFrame.h:585
&gt; &gt; +    virtual operator WTF::PassRefPtr&lt;WebCore::Frame&gt;() const = 0;
&gt; 
&gt; We normally cast WebFrame to WebFrameImpl to get at the WebCore::Frame.  There is only one implementation of WebFrame in our system.

Done.

&gt; &gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1103
&gt; &gt; +        RefPtr&lt;Range&gt; replacementRange = static_cast&lt;PassRefPtr&lt;WebCore::Range&gt; &gt;(range);
&gt; 
&gt; is the static_cast really necessary?  won&apos;t it be implicitly invoked?

Seems to be necessary.

&gt; did you try RefPtr&lt;Range&gt; replacementRange(range) ?

I tried it ( &quot;A a = b;&quot; is really just syntactic sugar for &quot;A a(b);&quot;, so I would&apos;ve been surprised had it made a difference.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482636</commentid>
    <comment_count>20</comment_count>
      <attachid>110726</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 13:04:03 -0700</bug_when>
    <thetext>Comment on attachment 110726
Patch

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

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1103
&gt; +        RefPtr&lt;Range&gt; replacementRange = static_cast&lt;PassRefPtr&lt;WebCore::Range&gt; &gt;(range);

Ah, what we do elsewhere is this:

  RefPtr&lt;Range&gt; replacementRange = PassRefPtr&lt;Range&gt;(range);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482647</commentid>
    <comment_count>21</comment_count>
      <attachid>110733</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:14:29 -0700</bug_when>
    <thetext>Created attachment 110733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482648</commentid>
    <comment_count>22</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:14:50 -0700</bug_when>
    <thetext>&gt; Ah, what we do elsewhere is this:
&gt; 
&gt;   RefPtr&lt;Range&gt; replacementRange = PassRefPtr&lt;Range&gt;(range);

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482658</commentid>
    <comment_count>23</comment_count>
      <attachid>110735</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:23:10 -0700</bug_when>
    <thetext>Created attachment 110735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482672</commentid>
    <comment_count>24</comment_count>
      <attachid>110735</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 13:51:09 -0700</bug_when>
    <thetext>Comment on attachment 110735
Patch

Thanks for all the revisions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482676</commentid>
    <comment_count>25</comment_count>
      <attachid>110735</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-12 13:53:23 -0700</bug_when>
    <thetext>Comment on attachment 110735
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482686</commentid>
    <comment_count>26</comment_count>
      <attachid>110735</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 14:09:23 -0700</bug_when>
    <thetext>Comment on attachment 110735
Patch

Clearing flags on attachment: 110735

Committed r97301: &lt;http://trac.webkit.org/changeset/97301&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482687</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 14:09:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110520</attachid>
            <date>2011-10-11 09:03:41 -0700</date>
            <delta_ts>2011-10-11 09:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111011090510.patch</filename>
            <type>text/plain</type>
            <size>4837</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uNzYxZGVkMmQ5OTM5ZDA0
YjliZWVkNWEzNWNhZTcxNzhlM2QwODQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNiBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25PbkZvY3VzZWRGcmFt
ZSgpIG1ldGhvZCB0byBXZWJXaWRnZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTg0NgorCisgICAgICAgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGlt
cGxlbWVudCB0aGUgInJlcGxhY2VtZW50IHJhbmdlIiBmZWF0dXJlIG9mIE9TIFgKKyAgICAgICAg
SU1Fcywgc2VlIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy84MjI3MDE4ICh0aGUgY2hh
bmdlIHRvCisgICAgICAgIHJlbmRlcl93aWRnZXQuY2MpLgorICAgICAgICBUaGUgcmVuZGVyZXIg
d2lsbCBzZXQgdGhlIHNlbGVjdGlvbiB0byB0aGUgcmVwbGFjZW1lbnQgcmFuZ2UgYmVmb3JlCisg
ICAgICAgIGNhbGxpbmcgY29uZmlybUNvbXBvc2l0aW9uKCkuIFRoaXMgbWF0Y2hlcyBob3cgV0sy
IGRvZXMgdGhpcywgc2VlCisgICAgICAgIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbSwKKyAgICAgICAgV2ViUGFnZTo6c2V0Q29tcG9zaXRpb24oKS4g
VGhlIGZ1bmN0aW9uIGNvbnZlcnRUb1JhbmdlKCkgd2FzIHRha2VuCisgICAgICAgIGZyb20gdGhl
cmUsIHRvby4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpzZXRT
ZWxlY3Rpb25PbkZvY3VzZWRGcmFtZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvUmFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0U2VsZWN0aW9uT25Gb2N1c2VkRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJW
aWV3SW1wbC5oOgorCiAyMDExLTEwLTEwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgQ0NUaHJlYWRUZXN0LnN0YXJ0
UG9zdEFuZFdhaXRPbkNvbmRpdGlvbiBhcyBmbGFreSBvbiB3aW4gYW5kIG1hYy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKaW5kZXggNDFhZDk2NDUwZjMwOGQxMGVk
MDFhN2ZmZmI0OGE1MjRmN2VhMmJjYy4uM2I5MjZiMmI2ZDVhM2RkMTFjZDNkYjU2ZWQ1ZDM1ZDVh
ZjM0OTdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lk
Z2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAg
LTExMiw2ICsxMTIsOSBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIHRvIGluZm9ybSB0aGUgV2Vi
V2lkZ2V0IHRoYXQgaXQgaGFzIGdhaW5lZCBvciBsb3N0IGtleWJvYXJkIGZvY3VzLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRGb2N1cyhib29sKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxl
Y3Rpb25PbkZvY3VzZWRGcmFtZShpbnQgc2VsZWN0aW9uU3RhcnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWxlY3Rpb25FbmQpIHsgfTsKKwogICAg
IC8vIENhbGxlZCB0byBpbmZvcm0gdGhlIFdlYldpZGdldCBvZiBhIG5ldyBjb21wb3NpdGlvbiB0
ZXh0LgogICAgIC8vIElmIHNlbGVjdGlvblN0YXJ0IGFuZCBzZWxlY3Rpb25FbmQgaGFzIHRoZSBz
YW1lIHZhbHVlLCB0aGVuIGl0IGluZGljYXRlcwogICAgIC8vIHRoZSBpbnB1dCBjYXJldCBwb3Np
dGlvbi4gSWYgdGhlIHRleHQgaXMgZW1wdHksIHRoZW4gdGhlIGV4aXN0aW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZDI1MThlZDBkMGY4YWM4NDUx
MGZjYjYxMWY3MTM0OWI2ZmFhODVlZC4uNmRjYjJjOWE2MzYwMmQ1MGVhNmM3Y2ZlMTVlNzM1ZmY3
ZTkyNjEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApA
QCAtMTM1MCw2ICsxMzUwLDMwIEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldEZvY3VzKGJvb2wgZW5h
YmxlKQogICAgIH0KIH0KIAorUGFzc1JlZlB0cjxSYW5nZT4gY29udmVydFRvUmFuZ2UoRnJhbWUq
IGZyYW1lLCBpbnQgc3RhcnQsIGludCBlbmQpCit7CisgICAgLy8gb3VyIGNyaXRpY2FsIGFzc3Vt
cHRpb24gaXMgdGhhdCB3ZSBhcmUgb25seSBjYWxsZWQgYnkgaW5wdXQgbWV0aG9kcyB0aGF0Cisg
ICAgLy8gY29uY2VudHJhdGUgb24gYSBnaXZlbiBhcmVhIGNvbnRhaW5pbmcgdGhlIHNlbGVjdGlv
bgorICAgIC8vIFdlIGhhdmUgdG8gZG8gdGhpcyBiZWNhdXNlIG9mIHRleHQgZmllbGRzIGFuZCB0
ZXh0YXJlYXMuIFRoZSBET00gZm9yIHRob3NlIGlzIG5vdAorICAgIC8vIGRpcmVjdGx5IGluIHRo
ZSBkb2N1bWVudCBET00sIHNvIHNlcmlhbGl6YXRpb24gaXMgcHJvYmxlbWF0aWMuIE91ciBzb2x1
dGlvbiBpcworICAgIC8vIHRvIHVzZSB0aGUgcm9vdCBlZGl0YWJsZSBlbGVtZW50IG9mIHRoZSBz
ZWxlY3Rpb24gc3RhcnQgYXMgdGhlIHBvc2l0aW9uYWwgYmFzZS4KKyAgICBFbGVtZW50KiBzZWxl
Y3Rpb25Sb290ID0gZnJhbWUtPnNlbGVjdGlvbigpLT5yb290RWRpdGFibGVFbGVtZW50KCk7Cisg
ICAgRWxlbWVudCogc2NvcGUgPSBzZWxlY3Rpb25Sb290ID8gc2VsZWN0aW9uUm9vdCA6IGZyYW1l
LT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICByZXR1cm4gVGV4dEl0ZXJhdG9y
OjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChzY29wZSwgc3RhcnQsIGVuZCAtIHN0YXJ0KTsK
K30KKwordm9pZCBXZWJWaWV3SW1wbDo6c2V0U2VsZWN0aW9uT25Gb2N1c2VkRnJhbWUoaW50IHNl
bGVjdGlvblN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNlbGVjdGlvbkVuZCkgeworICAgIEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdlYkNv
cmVGcmFtZSgpOworICAgIGlmICghZm9jdXNlZCkKKyAgICAgIHJldHVybjsKKworICAgIGlmIChm
b2N1c2VkLT5zZWxlY3Rpb24oKS0+aXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICBSZWZQ
dHI8UmFuZ2U+IHJlcGxhY2VtZW50UmFuZ2UgPSBjb252ZXJ0VG9SYW5nZShmb2N1c2VkLCBzZWxl
Y3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTsKKyAgICAgICAgZm9jdXNlZC0+c2VsZWN0aW9uKCkt
PnNldFNlbGVjdGlvbihWaXNpYmxlU2VsZWN0aW9uKHJlcGxhY2VtZW50UmFuZ2UuZ2V0KCksIFNF
TF9ERUZBVUxUX0FGRklOSVRZKSk7CisgICAgfQorfQorCiBib29sIFdlYlZpZXdJbXBsOjpzZXRD
b21wb3NpdGlvbigKICAgICBjb25zdCBXZWJTdHJpbmcmIHRleHQsCiAgICAgY29uc3QgV2ViVmVj
dG9yPFdlYkNvbXBvc2l0aW9uVW5kZXJsaW5lPiYgdW5kZXJsaW5lcywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IGI3OWUyMTM2ZDdhYzI3YjdlNmRkODA4ZTZm
YmQ3NDU2OTVhYTZmOWIuLjI2MTYzZGMyN2I3ZTVlZDgwZjNjYmFjNWJiMjNlMTQ0MTA3NjRmNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtNDksNiArNDks
NyBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQ
YWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgorI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCkBAIC0xMTAsNiArMTExLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQmKTsKICAgICB2aXJ0dWFs
IHZvaWQgbW91c2VDYXB0dXJlTG9zdCgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1cyhib29s
IGVuYWJsZSk7CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvbk9uRm9jdXNlZEZyYW1lKGlu
dCBzZWxlY3Rpb25TdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNlbGVjdGlvbkVuZCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNldENv
bXBvc2l0aW9uKAogICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHRleHQsCiAgICAgICAgIGNvbnN0
IFdlYlZlY3RvcjxXZWJDb21wb3NpdGlvblVuZGVybGluZT4mIHVuZGVybGluZXMsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110527</attachid>
            <date>2011-10-11 09:50:11 -0700</date>
            <delta_ts>2011-10-11 17:49:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111011095139.patch</filename>
            <type>text/plain</type>
            <size>4837</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uNzYxZGVkMmQ5OTM5ZDA0
YjliZWVkNWEzNWNhZTcxNzhlM2QwODQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNiBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25PbkZvY3VzZWRGcmFt
ZSgpIG1ldGhvZCB0byBXZWJXaWRnZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTg0NgorCisgICAgICAgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGlt
cGxlbWVudCB0aGUgInJlcGxhY2VtZW50IHJhbmdlIiBmZWF0dXJlIG9mIE9TIFgKKyAgICAgICAg
SU1Fcywgc2VlIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy84MjI3MDE4ICh0aGUgY2hh
bmdlIHRvCisgICAgICAgIHJlbmRlcl93aWRnZXQuY2MpLgorICAgICAgICBUaGUgcmVuZGVyZXIg
d2lsbCBzZXQgdGhlIHNlbGVjdGlvbiB0byB0aGUgcmVwbGFjZW1lbnQgcmFuZ2UgYmVmb3JlCisg
ICAgICAgIGNhbGxpbmcgY29uZmlybUNvbXBvc2l0aW9uKCkuIFRoaXMgbWF0Y2hlcyBob3cgV0sy
IGRvZXMgdGhpcywgc2VlCisgICAgICAgIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbSwKKyAgICAgICAgV2ViUGFnZTo6c2V0Q29tcG9zaXRpb24oKS4g
VGhlIGZ1bmN0aW9uIGNvbnZlcnRUb1JhbmdlKCkgd2FzIHRha2VuCisgICAgICAgIGZyb20gdGhl
cmUsIHRvby4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpzZXRT
ZWxlY3Rpb25PbkZvY3VzZWRGcmFtZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvUmFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0U2VsZWN0aW9uT25Gb2N1c2VkRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJW
aWV3SW1wbC5oOgorCiAyMDExLTEwLTEwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgQ0NUaHJlYWRUZXN0LnN0YXJ0
UG9zdEFuZFdhaXRPbkNvbmRpdGlvbiBhcyBmbGFreSBvbiB3aW4gYW5kIG1hYy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKaW5kZXggNDFhZDk2NDUwZjMwOGQxMGVk
MDFhN2ZmZmI0OGE1MjRmN2VhMmJjYy4uNTM1NjA4YTExMTRjZTg1ZTQxOTc3Zjg4Y2YxYjRhODUy
NWJkNDhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lk
Z2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAg
LTExMiw2ICsxMTIsOSBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIHRvIGluZm9ybSB0aGUgV2Vi
V2lkZ2V0IHRoYXQgaXQgaGFzIGdhaW5lZCBvciBsb3N0IGtleWJvYXJkIGZvY3VzLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRGb2N1cyhib29sKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxl
Y3Rpb25PbkZvY3VzZWRGcmFtZShpbnQgc2VsZWN0aW9uU3RhcnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWxlY3Rpb25FbmQpIHsgfQorCiAgICAg
Ly8gQ2FsbGVkIHRvIGluZm9ybSB0aGUgV2ViV2lkZ2V0IG9mIGEgbmV3IGNvbXBvc2l0aW9uIHRl
eHQuCiAgICAgLy8gSWYgc2VsZWN0aW9uU3RhcnQgYW5kIHNlbGVjdGlvbkVuZCBoYXMgdGhlIHNh
bWUgdmFsdWUsIHRoZW4gaXQgaW5kaWNhdGVzCiAgICAgLy8gdGhlIGlucHV0IGNhcmV0IHBvc2l0
aW9uLiBJZiB0aGUgdGV4dCBpcyBlbXB0eSwgdGhlbiB0aGUgZXhpc3RpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBkMjUxOGVkMGQwZjhhYzg0NTEw
ZmNiNjExZjcxMzQ5YjZmYWE4NWVkLi4yMTFkYWU5MjQyMzM4M2FjOTg2MjI5YzdmY2JmNzZkNmE5
YzZmYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBA
IC0xMzUwLDYgKzEzNTAsMzEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0Rm9jdXMoYm9vbCBlbmFi
bGUpCiAgICAgfQogfQogCitQYXNzUmVmUHRyPFJhbmdlPiBjb252ZXJ0VG9SYW5nZShGcmFtZSog
ZnJhbWUsIGludCBzdGFydCwgaW50IGVuZCkKK3sKKyAgICAvLyBvdXIgY3JpdGljYWwgYXNzdW1w
dGlvbiBpcyB0aGF0IHdlIGFyZSBvbmx5IGNhbGxlZCBieSBpbnB1dCBtZXRob2RzIHRoYXQKKyAg
ICAvLyBjb25jZW50cmF0ZSBvbiBhIGdpdmVuIGFyZWEgY29udGFpbmluZyB0aGUgc2VsZWN0aW9u
CisgICAgLy8gV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1c2Ugb2YgdGV4dCBmaWVsZHMgYW5kIHRl
eHRhcmVhcy4gVGhlIERPTSBmb3IgdGhvc2UgaXMgbm90CisgICAgLy8gZGlyZWN0bHkgaW4gdGhl
IGRvY3VtZW50IERPTSwgc28gc2VyaWFsaXphdGlvbiBpcyBwcm9ibGVtYXRpYy4gT3VyIHNvbHV0
aW9uIGlzCisgICAgLy8gdG8gdXNlIHRoZSByb290IGVkaXRhYmxlIGVsZW1lbnQgb2YgdGhlIHNl
bGVjdGlvbiBzdGFydCBhcyB0aGUgcG9zaXRpb25hbCBiYXNlLgorICAgIEVsZW1lbnQqIHNlbGVj
dGlvblJvb3QgPSBmcmFtZS0+c2VsZWN0aW9uKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAg
ICBFbGVtZW50KiBzY29wZSA9IHNlbGVjdGlvblJvb3QgPyBzZWxlY3Rpb25Sb290IDogZnJhbWUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIHJldHVybiBUZXh0SXRlcmF0b3I6
OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKHNjb3BlLCBzdGFydCwgZW5kIC0gc3RhcnQpOwor
fQorCit2b2lkIFdlYlZpZXdJbXBsOjpzZXRTZWxlY3Rpb25PbkZvY3VzZWRGcmFtZShpbnQgc2Vs
ZWN0aW9uU3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2VsZWN0aW9uRW5kKQoreworICAgIEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdlYkNv
cmVGcmFtZSgpOworICAgIGlmICghZm9jdXNlZCkKKyAgICAgIHJldHVybjsKKworICAgIGlmIChm
b2N1c2VkLT5zZWxlY3Rpb24oKS0+aXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICBSZWZQ
dHI8UmFuZ2U+IHJlcGxhY2VtZW50UmFuZ2UgPSBjb252ZXJ0VG9SYW5nZShmb2N1c2VkLCBzZWxl
Y3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTsKKyAgICAgICAgZm9jdXNlZC0+c2VsZWN0aW9uKCkt
PnNldFNlbGVjdGlvbihWaXNpYmxlU2VsZWN0aW9uKHJlcGxhY2VtZW50UmFuZ2UuZ2V0KCksIFNF
TF9ERUZBVUxUX0FGRklOSVRZKSk7CisgICAgfQorfQorCiBib29sIFdlYlZpZXdJbXBsOjpzZXRD
b21wb3NpdGlvbigKICAgICBjb25zdCBXZWJTdHJpbmcmIHRleHQsCiAgICAgY29uc3QgV2ViVmVj
dG9yPFdlYkNvbXBvc2l0aW9uVW5kZXJsaW5lPiYgdW5kZXJsaW5lcywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IGI3OWUyMTM2ZDdhYzI3YjdlNmRkODA4ZTZm
YmQ3NDU2OTVhYTZmOWIuLjI2MTYzZGMyN2I3ZTVlZDgwZjNjYmFjNWJiMjNlMTQ0MTA3NjRmNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtNDksNiArNDks
NyBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQ
YWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgorI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCkBAIC0xMTAsNiArMTExLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQmKTsKICAgICB2aXJ0dWFs
IHZvaWQgbW91c2VDYXB0dXJlTG9zdCgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1cyhib29s
IGVuYWJsZSk7CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvbk9uRm9jdXNlZEZyYW1lKGlu
dCBzZWxlY3Rpb25TdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNlbGVjdGlvbkVuZCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNldENv
bXBvc2l0aW9uKAogICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHRleHQsCiAgICAgICAgIGNvbnN0
IFdlYlZlY3RvcjxXZWJDb21wb3NpdGlvblVuZGVybGluZT4mIHVuZGVybGluZXMsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110618</attachid>
            <date>2011-10-11 17:49:40 -0700</date>
            <delta_ts>2011-10-11 18:11:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111011175110.patch</filename>
            <type>text/plain</type>
            <size>4625</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uYWNiMTIzZDQzMWRkOTc4
NWY5MmFkM2FhY2I4NjYxODViMmZiMGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNiBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb24oKSBtZXRob2QgdG8g
V2ViRnJhbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTg0NgorCisgICAgICAgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCB0aGUgInJl
cGxhY2VtZW50IHJhbmdlIiBmZWF0dXJlIG9mIE9TIFgKKyAgICAgICAgSU1Fcywgc2VlIGh0dHA6
Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy84MjI3MDE4ICh0aGUgY2hhbmdlIHRvCisgICAgICAg
IHJlbmRlcl93aWRnZXQuY2MpLgorICAgICAgICBUaGUgcmVuZGVyZXIgd2lsbCBzZXQgdGhlIHNl
bGVjdGlvbiB0byB0aGUgcmVwbGFjZW1lbnQgcmFuZ2UgYmVmb3JlCisgICAgICAgIGNhbGxpbmcg
Y29uZmlybUNvbXBvc2l0aW9uKCkuIFRoaXMgbWF0Y2hlcyBob3cgV0syIGRvZXMgdGhpcywgc2Vl
CisgICAgICAgIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbSwKKyAgICAgICAgV2ViUGFnZTo6c2V0Q29tcG9zaXRpb24oKS4gVGhlIGZ1bmN0aW9uIGNv
bnZlcnRUb1JhbmdlKCkgd2FzIHRha2VuCisgICAgICAgIGZyb20gdGhlcmUsIHRvby4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJG
cmFtZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6c2V0U2VsZWN0aW9uKToKKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvUmFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0U2VsZWN0aW9uKToKKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisKIDIwMTEtMTAtMTAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBDQ1Ro
cmVhZFRlc3Quc3RhcnRQb3N0QW5kV2FpdE9uQ29uZGl0aW9uIGFzIGZsYWt5IG9uIHdpbiBhbmQg
bWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggMjZmYjY3
ZjY1Y2NkOGFkODg5NTA0NTYzZDhlYTAyYjVjMDg0YWIxMC4uNjg0ZmE0MGVlZWI4M2FjOGExNmM0
OTJmNzBiYzJiODc3YmMzYjAyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
cmFtZS5oCkBAIC0zODIsNiArMzgyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJSYW5n
ZSBtYXJrZWRSYW5nZSgpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rp
b24oaW50IHNlbGVjdGlvblN0YXJ0LCBpbnQgc2VsZWN0aW9uRW5kKSA9IDA7CisKICAgICAvLyBS
ZXR1cm5zIHRoZSBmcmFtZSByZWN0YW5nbGUgaW4gd2luZG93IGNvb3JkaW5hdGUgc3BhY2Ugb2Yg
dGhlIGdpdmVuIHRleHQKICAgICAvLyByYW5nZS4KICAgICB2aXJ0dWFsIGJvb2wgZmlyc3RSZWN0
Rm9yQ2hhcmFjdGVyUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCwgV2Vi
UmVjdCYpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCmluZGV4IDNhZWYzNDRiMWFjODIzNTcxMjA2NTAwOTU4MzUxNGU4NTQyYmM4NDQuLjM2
MzIxOTZiMzI4N2RmYzZlYTVmNGY3NjA4Mzg2ZTBhZThlMGRjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMTA5Nyw2ICsxMDk3LDI2IEBAIFdl
YlJhbmdlIFdlYkZyYW1lSW1wbDo6bWFya2VkUmFuZ2UoKSBjb25zdAogICAgIHJldHVybiBmcmFt
ZSgpLT5lZGl0b3IoKS0+Y29tcG9zaXRpb25SYW5nZSgpOwogfQogCitQYXNzUmVmUHRyPFJhbmdl
PiBjb252ZXJ0VG9SYW5nZShGcmFtZSogZnJhbWUsIGludCBzdGFydCwgaW50IGVuZCkKK3sKKyAg
ICAvLyBvdXIgY3JpdGljYWwgYXNzdW1wdGlvbiBpcyB0aGF0IHdlIGFyZSBvbmx5IGNhbGxlZCBi
eSBpbnB1dCBtZXRob2RzIHRoYXQKKyAgICAvLyBjb25jZW50cmF0ZSBvbiBhIGdpdmVuIGFyZWEg
Y29udGFpbmluZyB0aGUgc2VsZWN0aW9uCisgICAgLy8gV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1
c2Ugb2YgdGV4dCBmaWVsZHMgYW5kIHRleHRhcmVhcy4gVGhlIERPTSBmb3IgdGhvc2UgaXMgbm90
CisgICAgLy8gZGlyZWN0bHkgaW4gdGhlIGRvY3VtZW50IERPTSwgc28gc2VyaWFsaXphdGlvbiBp
cyBwcm9ibGVtYXRpYy4gT3VyIHNvbHV0aW9uIGlzCisgICAgLy8gdG8gdXNlIHRoZSByb290IGVk
aXRhYmxlIGVsZW1lbnQgb2YgdGhlIHNlbGVjdGlvbiBzdGFydCBhcyB0aGUgcG9zaXRpb25hbCBi
YXNlLgorICAgIEVsZW1lbnQqIHNlbGVjdGlvblJvb3QgPSBmcmFtZS0+c2VsZWN0aW9uKCktPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiBzY29wZSA9IHNlbGVjdGlvblJvb3Qg
PyBzZWxlY3Rpb25Sb290IDogZnJhbWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwor
ICAgIHJldHVybiBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKHNjb3Bl
LCBzdGFydCwgZW5kIC0gc3RhcnQpOworfQorCit2b2lkIFdlYkZyYW1lSW1wbDo6c2V0U2VsZWN0
aW9uKGludCBzZWxlY3Rpb25TdGFydCwgaW50IHNlbGVjdGlvbkVuZCkKK3sKKyAgICBpZiAoZnJh
bWUoKS0+c2VsZWN0aW9uKCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKKyAgICAgICAgUmVmUHRy
PFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gY29udmVydFRvUmFuZ2UoZnJhbWUoKSwgc2VsZWN0
aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7CisgICAgICAgIGZyYW1lKCktPnNlbGVjdGlvbigpLT5z
ZXRTZWxlY3Rpb24oVmlzaWJsZVNlbGVjdGlvbihyZXBsYWNlbWVudFJhbmdlLmdldCgpLCBTRUxf
REVGQVVMVF9BRkZJTklUWSkpOworICAgIH0KK30KKwogYm9vbCBXZWJGcmFtZUltcGw6OmZpcnN0
UmVjdEZvckNoYXJhY3RlclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgs
IFdlYlJlY3QmIHJlY3QpIGNvbnN0CiB7CiAgICAgaWYgKChsb2NhdGlvbiArIGxlbmd0aCA8IGxv
Y2F0aW9uKSAmJiAobG9jYXRpb24gKyBsZW5ndGgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaAppbmRleCAwMzhkODY0ZjJhMTg2YjRlZjE4NmY2Nzk3ODg1ZWEyNjIz
NTkyYjVkLi5kNmNjODlkNmFmYmQ4NjJjMTU0YWEzOGY1NzUwYzY2ZDhkNDFhMGQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMzcsNiArMzcsNyBAQAog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAt
MTQ4LDYgKzE0OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdW5tYXJrVGV4dCgpOwog
ICAgIHZpcnR1YWwgYm9vbCBoYXNNYXJrZWRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJS
YW5nZSBtYXJrZWRSYW5nZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rpb24o
aW50IHNlbGVjdGlvblN0YXJ0LCBpbnQgc2VsZWN0aW9uRW5kKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGJvb2wgZmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVu
c2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYpIGNvbnN0OwogICAgIHZpcnR1YWwgc2l6ZV90IGNoYXJh
Y3RlckluZGV4Rm9yUG9pbnQoY29uc3QgV2ViUG9pbnQmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgZXhlY3V0ZUNvbW1hbmQoY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViTm9kZSYgPSBXZWJO
b2RlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110621</attachid>
            <date>2011-10-11 18:11:04 -0700</date>
            <delta_ts>2011-10-12 12:33:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111011181233.patch</filename>
            <type>text/plain</type>
            <size>4675</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uYWNiMTIzZDQzMWRkOTc4
NWY5MmFkM2FhY2I4NjYxODViMmZiMGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNiBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb24oKSBtZXRob2QgdG8g
V2ViRnJhbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTg0NgorCisgICAgICAgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCB0aGUgInJl
cGxhY2VtZW50IHJhbmdlIiBmZWF0dXJlIG9mIE9TIFgKKyAgICAgICAgSU1Fcywgc2VlIGh0dHA6
Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy84MjI3MDE4ICh0aGUgY2hhbmdlIHRvCisgICAgICAg
IHJlbmRlcl93aWRnZXQuY2MpLgorICAgICAgICBUaGUgcmVuZGVyZXIgd2lsbCBzZXQgdGhlIHNl
bGVjdGlvbiB0byB0aGUgcmVwbGFjZW1lbnQgcmFuZ2UgYmVmb3JlCisgICAgICAgIGNhbGxpbmcg
Y29uZmlybUNvbXBvc2l0aW9uKCkuIFRoaXMgbWF0Y2hlcyBob3cgV0syIGRvZXMgdGhpcywgc2Vl
CisgICAgICAgIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbSwKKyAgICAgICAgV2ViUGFnZTo6c2V0Q29tcG9zaXRpb24oKS4gVGhlIGZ1bmN0aW9uIGNv
bnZlcnRUb1JhbmdlKCkgd2FzIHRha2VuCisgICAgICAgIGZyb20gdGhlcmUsIHRvby4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJG
cmFtZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6c2V0U2VsZWN0aW9uKToKKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvUmFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0U2VsZWN0aW9uKToKKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisKIDIwMTEtMTAtMTAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBDQ1Ro
cmVhZFRlc3Quc3RhcnRQb3N0QW5kV2FpdE9uQ29uZGl0aW9uIGFzIGZsYWt5IG9uIHdpbiBhbmQg
bWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggMjZmYjY3
ZjY1Y2NkOGFkODg5NTA0NTYzZDhlYTAyYjVjMDg0YWIxMC4uN2E4OGRjN2U0NjM2ODVjMTA4YTkz
ZWY5M2I3Yjk0ZmEyNWFiM2JkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
cmFtZS5oCkBAIC0zODIsNiArMzgyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJSYW5n
ZSBtYXJrZWRSYW5nZSgpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rp
b24odW5zaWduZWQgc2VsZWN0aW9uU3RhcnQsIHVuc2lnbmVkIHNlbGVjdGlvbkxlbmd0aCkgPSAw
OworCiAgICAgLy8gUmV0dXJucyB0aGUgZnJhbWUgcmVjdGFuZ2xlIGluIHdpbmRvdyBjb29yZGlu
YXRlIHNwYWNlIG9mIHRoZSBnaXZlbiB0ZXh0CiAgICAgLy8gcmFuZ2UuCiAgICAgdmlydHVhbCBi
b29sIGZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25l
ZCBsZW5ndGgsIFdlYlJlY3QmKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCAzYWVmMzQ0YjFhYzgyMzU3MTIwNjUwMDk1ODM1MTRl
ODU0MmJjODQ0Li5mOWIzMTMyNTBjMjFjZjU2MzkyYjc0YjVmOTRiZGQwMDJlYTY2YTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTEwOTcsNiAr
MTA5NywyNiBAQCBXZWJSYW5nZSBXZWJGcmFtZUltcGw6Om1hcmtlZFJhbmdlKCkgY29uc3QKICAg
ICByZXR1cm4gZnJhbWUoKS0+ZWRpdG9yKCktPmNvbXBvc2l0aW9uUmFuZ2UoKTsKIH0KIAorUGFz
c1JlZlB0cjxSYW5nZT4gY29udmVydFRvUmFuZ2UoRnJhbWUqIGZyYW1lLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIC8vIG91ciBjcml0aWNhbCBhc3N1bXB0aW9uIGlz
IHRoYXQgd2UgYXJlIG9ubHkgY2FsbGVkIGJ5IGlucHV0IG1ldGhvZHMgdGhhdAorICAgIC8vIGNv
bmNlbnRyYXRlIG9uIGEgZ2l2ZW4gYXJlYSBjb250YWluaW5nIHRoZSBzZWxlY3Rpb24KKyAgICAv
LyBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSBvZiB0ZXh0IGZpZWxkcyBhbmQgdGV4dGFyZWFz
LiBUaGUgRE9NIGZvciB0aG9zZSBpcyBub3QKKyAgICAvLyBkaXJlY3RseSBpbiB0aGUgZG9jdW1l
bnQgRE9NLCBzbyBzZXJpYWxpemF0aW9uIGlzIHByb2JsZW1hdGljLiBPdXIgc29sdXRpb24gaXMK
KyAgICAvLyB0byB1c2UgdGhlIHJvb3QgZWRpdGFibGUgZWxlbWVudCBvZiB0aGUgc2VsZWN0aW9u
IHN0YXJ0IGFzIHRoZSBwb3NpdGlvbmFsIGJhc2UuCisgICAgRWxlbWVudCogc2VsZWN0aW9uUm9v
dCA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIEVsZW1l
bnQqIHNjb3BlID0gc2VsZWN0aW9uUm9vdCA/IHNlbGVjdGlvblJvb3QgOiBmcmFtZS0+ZG9jdW1l
bnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgcmV0dXJuIFRleHRJdGVyYXRvcjo6cmFuZ2VG
cm9tTG9jYXRpb25BbmRMZW5ndGgoc2NvcGUsIHN0YXJ0LCBsZW5ndGgpOworfQorCit2b2lkIFdl
YkZyYW1lSW1wbDo6c2V0U2VsZWN0aW9uKHVuc2lnbmVkIHNlbGVjdGlvblN0YXJ0LCB1bnNpZ25l
ZCBzZWxlY3Rpb25MZW5ndGgpCit7CisgICAgaWYgKGZyYW1lKCktPnNlbGVjdGlvbigpLT5pc0Nv
bnRlbnRFZGl0YWJsZSgpKSB7CisgICAgICAgIFJlZlB0cjxSYW5nZT4gcmVwbGFjZW1lbnRSYW5n
ZSA9IGNvbnZlcnRUb1JhbmdlKGZyYW1lKCksIHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25MZW5n
dGgpOworICAgICAgICBmcmFtZSgpLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKFZpc2libGVT
ZWxlY3Rpb24ocmVwbGFjZW1lbnRSYW5nZS5nZXQoKSwgU0VMX0RFRkFVTFRfQUZGSU5JVFkpKTsK
KyAgICB9Cit9CisKIGJvb2wgV2ViRnJhbWVJbXBsOjpmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5n
ZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBXZWJSZWN0JiByZWN0KSBjb25z
dAogewogICAgIGlmICgobG9jYXRpb24gKyBsZW5ndGggPCBsb2NhdGlvbikgJiYgKGxvY2F0aW9u
ICsgbGVuZ3RoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5k
ZXggMDM4ZDg2NGYyYTE4NmI0ZWYxODZmNjc5Nzg4NWVhMjYyMzU5MmI1ZC4uZTQzNWVlYjlhNmM0
YTc2MmRlM2I5MjEwNDEwYmQ1NDllMGVkZDlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTE0OCw2ICsxNDksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHVubWFya1RleHQoKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
TWFya2VkVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViUmFuZ2UgbWFya2VkUmFuZ2UoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0aW9uKHVuc2lnbmVkIHNlbGVjdGlvblN0
YXJ0LCB1bnNpZ25lZCBzZWxlY3Rpb25MZW5ndGgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCBmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQg
bGVuZ3RoLCBXZWJSZWN0JikgY29uc3Q7CiAgICAgdmlydHVhbCBzaXplX3QgY2hhcmFjdGVySW5k
ZXhGb3JQb2ludChjb25zdCBXZWJQb2ludCYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBleGVj
dXRlQ29tbWFuZChjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJOb2RlJiA9IFdlYk5vZGUoKSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110720</attachid>
            <date>2011-10-12 12:33:32 -0700</date>
            <delta_ts>2011-10-12 13:00:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111012123503.patch</filename>
            <type>text/plain</type>
            <size>7138</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uMjg2MTAwYzg0YzNkYjIx
OWIwMWNiMTUzMmU2NTIzNTU4NWE2NTJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25Ub1JhbmdlKCkgbWV0
aG9kIHRvIFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk4NDYKKworICAgICAgICBBbHNvIGFkZCBhIG1ldGhvZCB0byBXZWJSYW5nZSB0
byBjcmVhdGUgYSByYW5nZSBnaXZlbiBhIGZyYW1lIGFuZCBhbgorICAgICAgICBpbnRlcnZhbC4K
KworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdGhlICJyZXBsYWNlbWVu
dCByYW5nZSIgZmVhdHVyZSBvZiBPUyBYCisgICAgICAgIElNRXMsIHNlZSBodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvODIyNzAxOCAodGhlIGNoYW5nZSB0bworICAgICAgICByZW5kZXJf
d2lkZ2V0LmNjKS4KKyAgICAgICAgVGhlIHJlbmRlcmVyIHdpbGwgc2V0IHRoZSBzZWxlY3Rpb24g
dG8gdGhlIHJlcGxhY2VtZW50IHJhbmdlIGJlZm9yZQorICAgICAgICBjYWxsaW5nIGNvbmZpcm1D
b21wb3NpdGlvbigpLiBUaGlzIG1hdGNoZXMgaG93IFdLMiBkb2VzIHRoaXMsIHNlZQorICAgICAg
ICBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0sCisg
ICAgICAgIFdlYlBhZ2U6OnNldENvbXBvc2l0aW9uKCkuIFRoZSBmdW5jdGlvbiBjb252ZXJ0VG9S
YW5nZSgpIHdhcyB0YWtlbgorICAgICAgICBmcm9tIHRoZXJlLCB0b28uCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRUb1JhbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTEwLTEwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmls
b3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgQ0NUaHJlYWRUZXN0
LnN0YXJ0UG9zdEFuZFdhaXRPbkNvbmRpdGlvbiBhcyBmbGFreSBvbiB3aW4gYW5kIG1hYy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDI2ZmI2N2Y2NWNjZDhh
ZDg4OTUwNDU2M2Q4ZWEwMmI1YzA4NGFiMTAuLmM4MzNmNzkxYjUxNTA2YjUzMDAxY2Y2YWZlOTc5
ZmQ3M2IyMjQwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApA
QCAtNDAsNiArNDAsMTEgQEAKIAogc3RydWN0IE5QT2JqZWN0OwogCisjaWYgV0VCS0lUX0lNUExF
TUVOVEFUSU9OCituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIEZyYW1lOyB9CituYW1lc3BhY2Ug
V1RGIHsgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NSZWZQdHI7IH0KKyNlbmRpZgor
CiAjaWYgV0VCS0lUX1VTSU5HX1Y4CiBuYW1lc3BhY2UgdjggewogY2xhc3MgQ29udGV4dDsKQEAg
LTM4Miw2ICszODcsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFdlYlJhbmdlIG1hcmtlZFJh
bmdlKCkgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvblRvUmFuZ2Uo
Y29uc3QgV2ViUmFuZ2UmKSA9IDA7CisKICAgICAvLyBSZXR1cm5zIHRoZSBmcmFtZSByZWN0YW5n
bGUgaW4gd2luZG93IGNvb3JkaW5hdGUgc3BhY2Ugb2YgdGhlIGdpdmVuIHRleHQKICAgICAvLyBy
YW5nZS4KICAgICB2aXJ0dWFsIGJvb2wgZmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UodW5zaWdu
ZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYpIGNvbnN0ID0gMDsKQEAgLTU3
NCw2ICs1ODEsMTAgQEAgcHVibGljOgogICAgIC8vIHRleHQgZm9ybS4gVGhpcyBpcyB1c2VkIG9u
bHkgYnkgbGF5b3V0IHRlc3RzLgogICAgIHZpcnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4
dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxzZSkgY29uc3QgPSAwOwogCisjaWYgV0VCS0lUX0lN
UExFTUVOVEFUSU9OCisgICAgdmlydHVhbCBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29y
ZTo6RnJhbWU+KCkgY29uc3QgPSAwOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICB+V2ViRnJh
bWUoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSYW5nZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUmFuZ2UuaAppbmRl
eCA5N2UyZjY1NGRhM2M5ZWY1NWQ0NTVjZjQ0NmViMzJiNmZlNWE3ZWMzLi5iOTI0ODNmZmIyZGFh
MWIzMjVjOTYwN2MxOWVlNmU5NzhjM2QyNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJhbmdlLmgKQEAgLTQwLDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdURiB7IHRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzUmVmUHRyOyB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CitjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYk5vZGU7CiBjbGFzcyBXZWJSYW5nZVByaXZhdGU7
CiBjbGFzcyBXZWJTdHJpbmc7CkBAIC03MCw2ICs3MSw4IEBAIHB1YmxpYzoKICAgICBXRUJLSVRf
RVhQT1JUIFdlYlN0cmluZyB0b0hUTUxUZXh0KCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBX
ZWJTdHJpbmcgdG9QbGFpblRleHQoKSBjb25zdDsKIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IFdlYlJhbmdlIGZyb21HbG9iYWxSYW5nZShXZWJGcmFtZSosIGludCBzdGFydCwgaW50IGxlbmd0
aCk7CisKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICBXZWJSYW5nZShjb25zdCBXVEY6
OlBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+Jik7CiAgICAgV2ViUmFuZ2UmIG9wZXJhdG9yPShj
b25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCAzYWVmMzQ0YjFhYzgyMzU3MTIwNjUw
MDk1ODM1MTRlODU0MmJjODQ0Li44NGI1M2Y5YTJmZWQ1ZmVmNTYxNzQxZDM2ZjA5YTkwMGIzYmNm
NmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAg
LTEwOTcsNiArMTA5NywxNCBAQCBXZWJSYW5nZSBXZWJGcmFtZUltcGw6Om1hcmtlZFJhbmdlKCkg
Y29uc3QKICAgICByZXR1cm4gZnJhbWUoKS0+ZWRpdG9yKCktPmNvbXBvc2l0aW9uUmFuZ2UoKTsK
IH0KIAordm9pZCBXZWJGcmFtZUltcGw6OnNldFNlbGVjdGlvblRvUmFuZ2UoY29uc3QgV2ViUmFu
Z2UmIHJhbmdlKQoreworICAgIGlmIChmcmFtZSgpLT5zZWxlY3Rpb24oKS0+aXNDb250ZW50RWRp
dGFibGUoKSkgeworICAgICAgICBSZWZQdHI8UmFuZ2U+IHJlcGxhY2VtZW50UmFuZ2UgPSBzdGF0
aWNfY2FzdDxQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiA+KHJhbmdlKTsKKyAgICAgICAgZnJh
bWUoKS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihWaXNpYmxlU2VsZWN0aW9uKHJlcGxhY2Vt
ZW50UmFuZ2UuZ2V0KCksIFNFTF9ERUZBVUxUX0FGRklOSVRZKSk7CisgICAgfQorfQorCiBib29s
IFdlYkZyYW1lSW1wbDo6Zmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UodW5zaWduZWQgbG9jYXRp
b24sIHVuc2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYgcmVjdCkgY29uc3QKIHsKICAgICBpZiAoKGxv
Y2F0aW9uICsgbGVuZ3RoIDwgbG9jYXRpb24pICYmIChsb2NhdGlvbiArIGxlbmd0aCkpCkBAIC0x
MjgzLDYgKzEyOTEsMTEgQEAgdm9pZCBXZWJGcmFtZUltcGw6OnNlbGVjdFdvcmRBcm91bmRQb3Np
dGlvbihGcmFtZSogZnJhbWUsIFZpc2libGVQb3NpdGlvbiBwb3MpCiAgICAgfQogfQogCitXZWJG
cmFtZUltcGw6Om9wZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpGcmFtZT4oKSBjb25z
dAoreworICAgIHJldHVybiBmcmFtZSgpOworfQorCiBib29sIFdlYkZyYW1lSW1wbDo6c2VsZWN0
V29yZEFyb3VuZENhcmV0KCkKIHsKICAgICBGcmFtZVNlbGVjdGlvbiogc2VsZWN0aW9uID0gZnJh
bWUoKS0+c2VsZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5oCmluZGV4IDAzOGQ4NjRmMmExODZiNGVmMTg2ZjY3OTc4ODVlYTI2MjM1OTJiNWQuLmIyOGVl
ZjM2MTBjYmJiMWM2YTkxNTRkM2JmYjFjYTg1YmMzZjY0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0xNDgsNiArMTQ5LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1bm1hcmtUZXh0KCk7CiAgICAgdmlydHVhbCBi
b29sIGhhc01hcmtlZFRleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlJhbmdlIG1hcmtlZFJh
bmdlKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvblRvUmFuZ2UoY29uc3Qg
V2ViUmFuZ2UmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZmlyc3RSZWN0Rm9yQ2hhcmFj
dGVyUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYpIGNv
bnN0OwogICAgIHZpcnR1YWwgc2l6ZV90IGNoYXJhY3RlckluZGV4Rm9yUG9pbnQoY29uc3QgV2Vi
UG9pbnQmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgZXhlY3V0ZUNvbW1hbmQoY29uc3QgV2Vi
U3RyaW5nJiwgY29uc3QgV2ViTm9kZSYgPSBXZWJOb2RlKCkpOwpAQCAtMjU4LDYgKzI2MCwxMCBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZWxlY3RXb3JkQXJvdW5kUG9zaXRpb24oV2Vi
Q29yZTo6RnJhbWUqLCBXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24pOwogCisjaWYgV0VCS0lUX0lN
UExFTUVOVEFUSU9OCisgICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkZyYW1l
PigpIGNvbnN0IE9WRVJSSURFOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgY2xhc3MgRGVmZXJy
ZWRTY29wZVN0cmluZ01hdGNoZXM7CiAgICAgZnJpZW5kIGNsYXNzIERlZmVycmVkU2NvcGVTdHJp
bmdNYXRjaGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmFu
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmFuZ2UuY3BwCmluZGV4IDNk
ZDAwMGRmNDM2OTgyMzA5NTA1YWQ0YTQxYTJiZTFjZmVjNDM1ZjAuLjQ0ZTI1YTY4Yzg0Zjk2ZTUx
ZGQ4M2ViZDZlZWJjYWQ4NjY4M2RhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJS
YW5nZS5jcHAKQEAgLTMxLDcgKzMxLDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViUmFuZ2UuaCIKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJSYW5nZS5oIgorI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1
ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViTm9kZS5oIgogI2luY2x1ZGUgIldlYlN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC04Niw2ICs5MCwxNSBAQCBXZWJT
dHJpbmcgV2ViUmFuZ2U6OnRvUGxhaW5UZXh0KCkgY29uc3QKICAgICByZXR1cm4gbV9wcml2YXRl
LT50ZXh0KCk7CiB9CiAKKy8vIHN0YXRpYworV2ViUmFuZ2UgV2ViUmFuZ2U6OmZyb21HbG9iYWxS
YW5nZShXZWJGcmFtZSogZnJhbWUsIGludCBzdGFydCwgaW50IGxlbmd0aCkKK3sKKyAgICBSZWZQ
dHI8V2ViQ29yZTo6RnJhbWU+IHdlYkZyYW1lID0gc3RhdGljX2Nhc3Q8UGFzc1JlZlB0cjxXZWJD
b3JlOjpGcmFtZT4gPigqZnJhbWUpOworICAgIEVsZW1lbnQqIHNlbGVjdGlvblJvb3QgPSB3ZWJG
cmFtZS0+c2VsZWN0aW9uKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiBz
Y29wZSA9IHNlbGVjdGlvblJvb3QgPyBzZWxlY3Rpb25Sb290IDogd2ViRnJhbWUtPmRvY3VtZW50
KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIHJldHVybiBUZXh0SXRlcmF0b3I6OnJhbmdlRnJv
bUxvY2F0aW9uQW5kTGVuZ3RoKHNjb3BlLCBzdGFydCwgbGVuZ3RoKTsKK30KKwogV2ViUmFuZ2U6
OldlYlJhbmdlKGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpSYW5nZT4mIHJhbmdlKQog
ICAgIDogbV9wcml2YXRlKHN0YXRpY19jYXN0PFdlYlJhbmdlUHJpdmF0ZSo+KHJhbmdlLnJlbGVh
c2VSZWYoKSkpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110726</attachid>
            <date>2011-10-12 13:00:59 -0700</date>
            <delta_ts>2011-10-12 13:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111012130231.patch</filename>
            <type>text/plain</type>
            <size>5975</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uMjg2MTAwYzg0YzNkYjIx
OWIwMWNiMTUzMmU2NTIzNTU4NWE2NTJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25Ub1JhbmdlKCkgbWV0
aG9kIHRvIFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk4NDYKKworICAgICAgICBBbHNvIGFkZCBhIG1ldGhvZCB0byBXZWJSYW5nZSB0
byBjcmVhdGUgYSByYW5nZSBnaXZlbiBhIGZyYW1lIGFuZCBhbgorICAgICAgICBpbnRlcnZhbC4K
KworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdGhlICJyZXBsYWNlbWVu
dCByYW5nZSIgZmVhdHVyZSBvZiBPUyBYCisgICAgICAgIElNRXMsIHNlZSBodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvODIyNzAxOCAodGhlIGNoYW5nZSB0bworICAgICAgICByZW5kZXJf
d2lkZ2V0LmNjKS4KKyAgICAgICAgVGhlIHJlbmRlcmVyIHdpbGwgc2V0IHRoZSBzZWxlY3Rpb24g
dG8gdGhlIHJlcGxhY2VtZW50IHJhbmdlIGJlZm9yZQorICAgICAgICBjYWxsaW5nIGNvbmZpcm1D
b21wb3NpdGlvbigpLiBUaGlzIG1hdGNoZXMgaG93IFdLMiBkb2VzIHRoaXMsIHNlZQorICAgICAg
ICBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0sCisg
ICAgICAgIFdlYlBhZ2U6OnNldENvbXBvc2l0aW9uKCkuIFRoZSBmdW5jdGlvbiBjb252ZXJ0VG9S
YW5nZSgpIHdhcyB0YWtlbgorICAgICAgICBmcm9tIHRoZXJlLCB0b28uCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRUb1JhbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTEwLTEwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmls
b3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgQ0NUaHJlYWRUZXN0
LnN0YXJ0UG9zdEFuZFdhaXRPbkNvbmRpdGlvbiBhcyBmbGFreSBvbiB3aW4gYW5kIG1hYy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDI2ZmI2N2Y2NWNjZDhh
ZDg4OTUwNDU2M2Q4ZWEwMmI1YzA4NGFiMTAuLjY4ZDViNTFmZWQ5ZjU2NWU4Y2ViNjkwYjM4NWZk
YjE5ZGVmZjFhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApA
QCAtMzgyLDYgKzM4Miw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViUmFuZ2UgbWFya2Vk
UmFuZ2UoKSBjb25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0aW9uVG9SYW5n
ZShjb25zdCBXZWJSYW5nZSYpID0gMDsKKwogICAgIC8vIFJldHVybnMgdGhlIGZyYW1lIHJlY3Rh
bmdsZSBpbiB3aW5kb3cgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgZ2l2ZW4gdGV4dAogICAgIC8v
IHJhbmdlLgogICAgIHZpcnR1YWwgYm9vbCBmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSh1bnNp
Z25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBXZWJSZWN0JikgY29uc3QgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUmFuZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJhbmdlLmgKaW5kZXggOTdlMmY2NTRkYTNjOWVm
NTVkNDU1Y2Y0NDZlYjMyYjZmZTVhN2VjMy4uYjkyNDgzZmZiMmRhYTFiMzI1Yzk2MDdjMTllZTZl
OTc4YzNkMjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSYW5nZS5oCkBA
IC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXVEYgeyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xh
c3MgUGFzc1JlZlB0cjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgV2ViRnJhbWU7
CiBjbGFzcyBXZWJOb2RlOwogY2xhc3MgV2ViUmFuZ2VQcml2YXRlOwogY2xhc3MgV2ViU3RyaW5n
OwpAQCAtNzAsNiArNzEsOCBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcg
dG9IVE1MVGV4dCgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHRvUGxhaW5U
ZXh0KCkgY29uc3Q7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJSYW5nZSBmcm9tR2xv
YmFsUmFuZ2UoV2ViRnJhbWUqLCBpbnQgc3RhcnQsIGludCBsZW5ndGgpOworCiAjaWYgV0VCS0lU
X0lNUExFTUVOVEFUSU9OCiAgICAgV2ViUmFuZ2UoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNv
cmU6OlJhbmdlPiYpOwogICAgIFdlYlJhbmdlJiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OlJhbmdlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5jcHAKaW5kZXggM2FlZjM0NGIxYWM4MjM1NzEyMDY1MDA5NTgzNTE0ZTg1NDJiYzg0
NC4uYmMwZDA5MzE0ZmM3NmYzMGFmMDBmM2RiMWIwN2EwZjNhMGU1MWYyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0xMDk3LDYgKzEwOTcsMTQg
QEAgV2ViUmFuZ2UgV2ViRnJhbWVJbXBsOjptYXJrZWRSYW5nZSgpIGNvbnN0CiAgICAgcmV0dXJu
IGZyYW1lKCktPmVkaXRvcigpLT5jb21wb3NpdGlvblJhbmdlKCk7CiB9CiAKK3ZvaWQgV2ViRnJh
bWVJbXBsOjpzZXRTZWxlY3Rpb25Ub1JhbmdlKGNvbnN0IFdlYlJhbmdlJiByYW5nZSkKK3sKKyAg
ICBpZiAoZnJhbWUoKS0+c2VsZWN0aW9uKCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKKyAgICAg
ICAgUmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gc3RhdGljX2Nhc3Q8UGFzc1JlZlB0
cjxXZWJDb3JlOjpSYW5nZT4gPihyYW5nZSk7CisgICAgICAgIGZyYW1lKCktPnNlbGVjdGlvbigp
LT5zZXRTZWxlY3Rpb24oVmlzaWJsZVNlbGVjdGlvbihyZXBsYWNlbWVudFJhbmdlLmdldCgpLCBT
RUxfREVGQVVMVF9BRkZJTklUWSkpOworICAgIH0KK30KKwogYm9vbCBXZWJGcmFtZUltcGw6OmZp
cnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5n
dGgsIFdlYlJlY3QmIHJlY3QpIGNvbnN0CiB7CiAgICAgaWYgKChsb2NhdGlvbiArIGxlbmd0aCA8
IGxvY2F0aW9uKSAmJiAobG9jYXRpb24gKyBsZW5ndGgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAwMzhkODY0ZjJhMTg2YjRlZjE4NmY2Nzk3ODg1ZWEy
NjIzNTkyYjVkLi44MWU5N2Y4NTNmMTYyOTFmNjkzNDEyYjYxZDJjOWQ0ZDg4NzFkMTdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMzcsNiArMzcsNyBA
QAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApA
QCAtMTQ4LDYgKzE0OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdW5tYXJrVGV4dCgp
OwogICAgIHZpcnR1YWwgYm9vbCBoYXNNYXJrZWRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBX
ZWJSYW5nZSBtYXJrZWRSYW5nZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rp
b25Ub1JhbmdlKGNvbnN0IFdlYlJhbmdlJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGZp
cnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5n
dGgsIFdlYlJlY3QmKSBjb25zdDsKICAgICB2aXJ0dWFsIHNpemVfdCBjaGFyYWN0ZXJJbmRleEZv
clBvaW50KGNvbnN0IFdlYlBvaW50JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGV4ZWN1dGVD
b21tYW5kKGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IFdlYk5vZGUmID0gV2ViTm9kZSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJhbmdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJhbmdlLmNwcAppbmRleCAzZGQwMDBkZjQzNjk4MjMw
OTUwNWFkNGE0MWEyYmUxY2ZlYzQzNWYwLi4zNDAzODFlODkxODdlMzAyMDBjMDc3Yzk3ZTVhNTk1
NjNhOWU1YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSYW5n
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmFuZ2UuY3BwCkBAIC0z
MSw3ICszMSwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlJhbmdlLmgi
CiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
UmFuZ2UuaCIKKyNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJXZWJGcmFtZUlt
cGwuaCIKICNpbmNsdWRlICJXZWJOb2RlLmgiCiAjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTg2LDYgKzkwLDE1IEBAIFdlYlN0cmluZyBXZWJS
YW5nZTo6dG9QbGFpblRleHQoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZhdGUtPnRleHQoKTsK
IH0KIAorLy8gc3RhdGljCitXZWJSYW5nZSBXZWJSYW5nZTo6ZnJvbUdsb2JhbFJhbmdlKFdlYkZy
YW1lKiBmcmFtZSwgaW50IHN0YXJ0LCBpbnQgbGVuZ3RoKQoreworICAgIFdlYkNvcmU6OkZyYW1l
KiB3ZWJGcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KGZyYW1lKS0+ZnJhbWUoKTsK
KyAgICBFbGVtZW50KiBzZWxlY3Rpb25Sb290ID0gd2ViRnJhbWUtPnNlbGVjdGlvbigpLT5yb290
RWRpdGFibGVFbGVtZW50KCk7CisgICAgRWxlbWVudCogc2NvcGUgPSBzZWxlY3Rpb25Sb290ID8g
c2VsZWN0aW9uUm9vdCA6IHdlYkZyYW1lLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsK
KyAgICByZXR1cm4gVGV4dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChzY29w
ZSwgc3RhcnQsIGxlbmd0aCk7Cit9CisKIFdlYlJhbmdlOjpXZWJSYW5nZShjb25zdCBXVEY6OlBh
c3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+JiByYW5nZSkKICAgICA6IG1fcHJpdmF0ZShzdGF0aWNf
Y2FzdDxXZWJSYW5nZVByaXZhdGUqPihyYW5nZS5yZWxlYXNlUmVmKCkpKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110733</attachid>
            <date>2011-10-12 13:14:29 -0700</date>
            <delta_ts>2011-10-12 13:23:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111012131601.patch</filename>
            <type>text/plain</type>
            <size>5952</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uMjg2MTAwYzg0YzNkYjIx
OWIwMWNiMTUzMmU2NTIzNTU4NWE2NTJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25Ub1JhbmdlKCkgbWV0
aG9kIHRvIFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk4NDYKKworICAgICAgICBBbHNvIGFkZCBhIG1ldGhvZCB0byBXZWJSYW5nZSB0
byBjcmVhdGUgYSByYW5nZSBnaXZlbiBhIGZyYW1lIGFuZCBhbgorICAgICAgICBpbnRlcnZhbC4K
KworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdGhlICJyZXBsYWNlbWVu
dCByYW5nZSIgZmVhdHVyZSBvZiBPUyBYCisgICAgICAgIElNRXMsIHNlZSBodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvODIyNzAxOCAodGhlIGNoYW5nZSB0bworICAgICAgICByZW5kZXJf
d2lkZ2V0LmNjKS4KKyAgICAgICAgVGhlIHJlbmRlcmVyIHdpbGwgc2V0IHRoZSBzZWxlY3Rpb24g
dG8gdGhlIHJlcGxhY2VtZW50IHJhbmdlIGJlZm9yZQorICAgICAgICBjYWxsaW5nIGNvbmZpcm1D
b21wb3NpdGlvbigpLiBUaGlzIG1hdGNoZXMgaG93IFdLMiBkb2VzIHRoaXMsIHNlZQorICAgICAg
ICBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0sCisg
ICAgICAgIFdlYlBhZ2U6OnNldENvbXBvc2l0aW9uKCkuIFRoZSBmdW5jdGlvbiBjb252ZXJ0VG9S
YW5nZSgpIHdhcyB0YWtlbgorICAgICAgICBmcm9tIHRoZXJlLCB0b28uCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRUb1JhbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTEwLTEwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmls
b3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgQ0NUaHJlYWRUZXN0
LnN0YXJ0UG9zdEFuZFdhaXRPbkNvbmRpdGlvbiBhcyBmbGFreSBvbiB3aW4gYW5kIG1hYy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDI2ZmI2N2Y2NWNjZDhh
ZDg4OTUwNDU2M2Q4ZWEwMmI1YzA4NGFiMTAuLjY4ZDViNTFmZWQ5ZjU2NWU4Y2ViNjkwYjM4NWZk
YjE5ZGVmZjFhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApA
QCAtMzgyLDYgKzM4Miw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViUmFuZ2UgbWFya2Vk
UmFuZ2UoKSBjb25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0aW9uVG9SYW5n
ZShjb25zdCBXZWJSYW5nZSYpID0gMDsKKwogICAgIC8vIFJldHVybnMgdGhlIGZyYW1lIHJlY3Rh
bmdsZSBpbiB3aW5kb3cgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgZ2l2ZW4gdGV4dAogICAgIC8v
IHJhbmdlLgogICAgIHZpcnR1YWwgYm9vbCBmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSh1bnNp
Z25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBXZWJSZWN0JikgY29uc3QgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUmFuZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJhbmdlLmgKaW5kZXggOTdlMmY2NTRkYTNjOWVm
NTVkNDU1Y2Y0NDZlYjMyYjZmZTVhN2VjMy4uYjkyNDgzZmZiMmRhYTFiMzI1Yzk2MDdjMTllZTZl
OTc4YzNkMjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSYW5nZS5oCkBA
IC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXVEYgeyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xh
c3MgUGFzc1JlZlB0cjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgV2ViRnJhbWU7
CiBjbGFzcyBXZWJOb2RlOwogY2xhc3MgV2ViUmFuZ2VQcml2YXRlOwogY2xhc3MgV2ViU3RyaW5n
OwpAQCAtNzAsNiArNzEsOCBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcg
dG9IVE1MVGV4dCgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHRvUGxhaW5U
ZXh0KCkgY29uc3Q7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJSYW5nZSBmcm9tR2xv
YmFsUmFuZ2UoV2ViRnJhbWUqLCBpbnQgc3RhcnQsIGludCBsZW5ndGgpOworCiAjaWYgV0VCS0lU
X0lNUExFTUVOVEFUSU9OCiAgICAgV2ViUmFuZ2UoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNv
cmU6OlJhbmdlPiYpOwogICAgIFdlYlJhbmdlJiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OlJhbmdlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5jcHAKaW5kZXggM2FlZjM0NGIxYWM4MjM1NzEyMDY1MDA5NTgzNTE0ZTg1NDJiYzg0
NC4uODgyNjNhYjYyODRiNzZmMmUxYmMzYzNlYTk2ZDM3YjA0OWQyZDA3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0xMDk3LDYgKzEwOTcsMTQg
QEAgV2ViUmFuZ2UgV2ViRnJhbWVJbXBsOjptYXJrZWRSYW5nZSgpIGNvbnN0CiAgICAgcmV0dXJu
IGZyYW1lKCktPmVkaXRvcigpLT5jb21wb3NpdGlvblJhbmdlKCk7CiB9CiAKK3ZvaWQgV2ViRnJh
bWVJbXBsOjpzZXRTZWxlY3Rpb25Ub1JhbmdlKGNvbnN0IFdlYlJhbmdlJiByYW5nZSkKK3sKKyAg
ICBpZiAoZnJhbWUoKS0+c2VsZWN0aW9uKCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKKyAgICAg
ICAgUmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gUGFzc1JlZlB0cjxSYW5nZT4ocmFu
Z2UpOworICAgICAgICBmcmFtZSgpLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKFZpc2libGVT
ZWxlY3Rpb24ocmVwbGFjZW1lbnRSYW5nZS5nZXQoKSwgU0VMX0RFRkFVTFRfQUZGSU5JVFkpKTsK
KyAgICB9Cit9CisKIGJvb2wgV2ViRnJhbWVJbXBsOjpmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5n
ZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBXZWJSZWN0JiByZWN0KSBjb25z
dAogewogICAgIGlmICgobG9jYXRpb24gKyBsZW5ndGggPCBsb2NhdGlvbikgJiYgKGxvY2F0aW9u
ICsgbGVuZ3RoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5k
ZXggMDM4ZDg2NGYyYTE4NmI0ZWYxODZmNjc5Nzg4NWVhMjYyMzU5MmI1ZC4uODFlOTdmODUzZjE2
MjkxZjY5MzQxMmI2MWQyYzlkNGQ4ODcxZDE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTE0OCw2ICsxNDksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHVubWFya1RleHQoKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
TWFya2VkVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViUmFuZ2UgbWFya2VkUmFuZ2UoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0aW9uVG9SYW5nZShjb25zdCBXZWJSYW5n
ZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBmaXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5n
ZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBXZWJSZWN0JikgY29uc3Q7CiAg
ICAgdmlydHVhbCBzaXplX3QgY2hhcmFjdGVySW5kZXhGb3JQb2ludChjb25zdCBXZWJQb2ludCYp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBleGVjdXRlQ29tbWFuZChjb25zdCBXZWJTdHJpbmcm
LCBjb25zdCBXZWJOb2RlJiA9IFdlYk5vZGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJSYW5nZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJSYW5nZS5jcHAKaW5kZXggM2RkMDAwZGY0MzY5ODIzMDk1MDVhZDRhNDFhMmJlMWNmZWM0MzVm
MC4uMzQwMzgxZTg5MTg3ZTMwMjAwYzA3N2M5N2U1YTU5NTYzYTllNWIxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlJhbmdlLmNwcApAQCAtMzEsNyArMzEsMTEgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJSYW5nZS5oIgogCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiVGV4
dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViTm9k
ZS5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CkBAIC04Niw2ICs5MCwxNSBAQCBXZWJTdHJpbmcgV2ViUmFuZ2U6OnRvUGxhaW5UZXh0KCkgY29u
c3QKICAgICByZXR1cm4gbV9wcml2YXRlLT50ZXh0KCk7CiB9CiAKKy8vIHN0YXRpYworV2ViUmFu
Z2UgV2ViUmFuZ2U6OmZyb21HbG9iYWxSYW5nZShXZWJGcmFtZSogZnJhbWUsIGludCBzdGFydCwg
aW50IGxlbmd0aCkKK3sKKyAgICBXZWJDb3JlOjpGcmFtZSogd2ViRnJhbWUgPSBzdGF0aWNfY2Fz
dDxXZWJGcmFtZUltcGwqPihmcmFtZSktPmZyYW1lKCk7CisgICAgRWxlbWVudCogc2VsZWN0aW9u
Um9vdCA9IHdlYkZyYW1lLT5zZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAg
IEVsZW1lbnQqIHNjb3BlID0gc2VsZWN0aW9uUm9vdCA/IHNlbGVjdGlvblJvb3QgOiB3ZWJGcmFt
ZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgcmV0dXJuIFRleHRJdGVyYXRv
cjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoc2NvcGUsIHN0YXJ0LCBsZW5ndGgpOworfQor
CiBXZWJSYW5nZTo6V2ViUmFuZ2UoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdl
PiYgcmFuZ2UpCiAgICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViUmFuZ2VQcml2YXRlKj4o
cmFuZ2UucmVsZWFzZVJlZigpKSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110735</attachid>
            <date>2011-10-12 13:23:10 -0700</date>
            <delta_ts>2011-10-12 14:09:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69846-20111012132442.patch</filename>
            <type>text/plain</type>
            <size>6120</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YTliNmE0MjM2NjczY2I3ODc1NTM5MmFkNWM2M2JhYTdjYjNmZjljMC4uM2FmZmQzNzcyMDUxOTM4
ZmVlMzIzMDc1ZTc5MGE3OWJlZDAxN2Q1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAxMS0xMC0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgYSBzZXRTZWxlY3Rpb25Ub1JhbmdlKCkgbWV0
aG9kIHRvIFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk4NDYKKworICAgICAgICBBbHNvIGFkZCBhIG1ldGhvZCB0byBXZWJSYW5nZSB0
byBjcmVhdGUgYSByYW5nZSBnaXZlbiBhIGZyYW1lIGFuZCBhbgorICAgICAgICBpbnRlcnZhbC4K
KworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdGhlICJyZXBsYWNlbWVu
dCByYW5nZSIgZmVhdHVyZSBvZiBPUyBYCisgICAgICAgIElNRXMsIHNlZSBodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvODIyNzAxOCAodGhlIGNoYW5nZSB0bworICAgICAgICByZW5kZXJf
d2lkZ2V0LmNjKS4KKyAgICAgICAgVGhlIHJlbmRlcmVyIHdpbGwgc2V0IHRoZSBzZWxlY3Rpb24g
dG8gdGhlIHJlcGxhY2VtZW50IHJhbmdlIGJlZm9yZQorICAgICAgICBjYWxsaW5nIGNvbmZpcm1D
b21wb3NpdGlvbigpLiBUaGlzIG1hdGNoZXMgaG93IFdLMiBkb2VzIHRoaXMsIHNlZQorICAgICAg
ICBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0sCisg
ICAgICAgIFdlYlBhZ2U6OnNldENvbXBvc2l0aW9uKCkuIFRoZSBmdW5jdGlvbiBjb252ZXJ0VG9S
YW5nZSgpIHdhcyB0YWtlbgorICAgICAgICBmcm9tIHRoZXJlLCB0b28uCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnNldFNlbGVjdGlvblRvUmFuZ2UpOgorICAgICAg
ICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2V0U2VsZWN0aW9uVG9SYW5nZSk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0U2VsZWN0aW9uVG9SYW5nZSk6CisgICAgICAg
ICogc3JjL1dlYlJhbmdlLmNwcDoKKyAgICAgICAgKFdlYlJhbmdlOjpmcm9tR2xvYmFsUmFuZ2Up
OgorICAgICAgICAqIHNyYy9XZWJSYW5nZS5oOgorICAgICAgICAoV2ViUmFuZ2U6OmZyb21HbG9i
YWxSYW5nZSk6CisKIDIwMTEtMTAtMTAgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBDQ1RocmVhZFRlc3Quc3RhcnRQ
b3N0QW5kV2FpdE9uQ29uZGl0aW9uIGFzIGZsYWt5IG9uIHdpbiBhbmQgbWFjLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggMjZmYjY3ZjY1Y2NkOGFkODg5NTA0
NTYzZDhlYTAyYjVjMDg0YWIxMC4uNjhkNWI1MWZlZDlmNTY1ZThjZWI2OTBiMzg1ZmRiMTlkZWZm
MWE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC0zODIs
NiArMzgyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJSYW5nZSBtYXJrZWRSYW5nZSgp
IGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rpb25Ub1JhbmdlKGNvbnN0
IFdlYlJhbmdlJikgPSAwOworCiAgICAgLy8gUmV0dXJucyB0aGUgZnJhbWUgcmVjdGFuZ2xlIGlu
IHdpbmRvdyBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSBnaXZlbiB0ZXh0CiAgICAgLy8gcmFuZ2Uu
CiAgICAgdmlydHVhbCBib29sIGZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKHVuc2lnbmVkIGxv
Y2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgsIFdlYlJlY3QmKSBjb25zdCA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSYW5nZS5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViUmFuZ2UuaAppbmRleCA5N2UyZjY1NGRhM2M5ZWY1NWQ0NTVj
ZjQ0NmViMzJiNmZlNWE3ZWMzLi5mOWFmN2M3MWU5ZDcxMTc4OTU3ODFmNWJmMDIwM2EwODNiYTMy
NGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSYW5nZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJhbmdlLmgKQEAgLTQwLDYg
KzQwLDcgQEAgbmFtZXNwYWNlIFdURiB7IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBQYXNz
UmVmUHRyOyB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBXZWJGcmFtZTsKIGNsYXNz
IFdlYk5vZGU7CiBjbGFzcyBXZWJSYW5nZVByaXZhdGU7CiBjbGFzcyBXZWJTdHJpbmc7CkBAIC03
MCw2ICs3MSw4IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyB0b0hUTUxU
ZXh0KCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdG9QbGFpblRleHQoKSBj
b25zdDsKIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYlJhbmdlIGZyb21Eb2N1bWVudFJh
bmdlKFdlYkZyYW1lKiwgaW50IHN0YXJ0LCBpbnQgbGVuZ3RoKTsKKwogI2lmIFdFQktJVF9JTVBM
RU1FTlRBVElPTgogICAgIFdlYlJhbmdlKGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpS
YW5nZT4mKTsKICAgICBXZWJSYW5nZSYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpSYW5nZT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCmluZGV4IDNhZWYzNDRiMWFjODIzNTcxMjA2NTAwOTU4MzUxNGU4NTQyYmM4NDQuLjg4
MjYzYWI2Mjg0Yjc2ZjJlMWJjM2MzZWE5NmQzN2IwNDlkMmQwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMTA5Nyw2ICsxMDk3LDE0IEBAIFdl
YlJhbmdlIFdlYkZyYW1lSW1wbDo6bWFya2VkUmFuZ2UoKSBjb25zdAogICAgIHJldHVybiBmcmFt
ZSgpLT5lZGl0b3IoKS0+Y29tcG9zaXRpb25SYW5nZSgpOwogfQogCit2b2lkIFdlYkZyYW1lSW1w
bDo6c2V0U2VsZWN0aW9uVG9SYW5nZShjb25zdCBXZWJSYW5nZSYgcmFuZ2UpCit7CisgICAgaWYg
KGZyYW1lKCktPnNlbGVjdGlvbigpLT5pc0NvbnRlbnRFZGl0YWJsZSgpKSB7CisgICAgICAgIFJl
ZlB0cjxSYW5nZT4gcmVwbGFjZW1lbnRSYW5nZSA9IFBhc3NSZWZQdHI8UmFuZ2U+KHJhbmdlKTsK
KyAgICAgICAgZnJhbWUoKS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihWaXNpYmxlU2VsZWN0
aW9uKHJlcGxhY2VtZW50UmFuZ2UuZ2V0KCksIFNFTF9ERUZBVUxUX0FGRklOSVRZKSk7CisgICAg
fQorfQorCiBib29sIFdlYkZyYW1lSW1wbDo6Zmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UodW5z
aWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYgcmVjdCkgY29uc3QKIHsK
ICAgICBpZiAoKGxvY2F0aW9uICsgbGVuZ3RoIDwgbG9jYXRpb24pICYmIChsb2NhdGlvbiArIGxl
bmd0aCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDAz
OGQ4NjRmMmExODZiNGVmMTg2ZjY3OTc4ODVlYTI2MjM1OTJiNWQuLjgxZTk3Zjg1M2YxNjI5MWY2
OTM0MTJiNjFkMmM5ZDRkODg3MWQxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZyYW1lSW1wbC5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgorI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0xNDgsNiArMTQ5LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCB1bm1hcmtUZXh0KCk7CiAgICAgdmlydHVhbCBib29sIGhhc01hcmtl
ZFRleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlJhbmdlIG1hcmtlZFJhbmdlKCkgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvblRvUmFuZ2UoY29uc3QgV2ViUmFuZ2UmKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UodW5z
aWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCwgV2ViUmVjdCYpIGNvbnN0OwogICAgIHZp
cnR1YWwgc2l6ZV90IGNoYXJhY3RlckluZGV4Rm9yUG9pbnQoY29uc3QgV2ViUG9pbnQmKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgZXhlY3V0ZUNvbW1hbmQoY29uc3QgV2ViU3RyaW5nJiwgY29u
c3QgV2ViTm9kZSYgPSBXZWJOb2RlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUmFuZ2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmFu
Z2UuY3BwCmluZGV4IDNkZDAwMGRmNDM2OTgyMzA5NTA1YWQ0YTQxYTJiZTFjZmVjNDM1ZjAuLmI5
NTNhMTdmMjU1YTIwZWU2YjI4Y2Q1MzNjNGE2MzhmNzc1ZTQ3MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJSYW5nZS5jcHAKQEAgLTMxLDcgKzMxLDExIEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViUmFuZ2UuaCIKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJSYW5nZS5oIgorI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgorI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIK
ICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAt
ODYsNiArOTAsMTUgQEAgV2ViU3RyaW5nIFdlYlJhbmdlOjp0b1BsYWluVGV4dCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+dGV4dCgpOwogfQogCisvLyBzdGF0aWMKK1dlYlJhbmdlIFdl
YlJhbmdlOjpmcm9tRG9jdW1lbnRSYW5nZShXZWJGcmFtZSogZnJhbWUsIGludCBzdGFydCwgaW50
IGxlbmd0aCkKK3sKKyAgICBXZWJDb3JlOjpGcmFtZSogd2ViRnJhbWUgPSBzdGF0aWNfY2FzdDxX
ZWJGcmFtZUltcGwqPihmcmFtZSktPmZyYW1lKCk7CisgICAgRWxlbWVudCogc2VsZWN0aW9uUm9v
dCA9IHdlYkZyYW1lLT5zZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIEVs
ZW1lbnQqIHNjb3BlID0gc2VsZWN0aW9uUm9vdCA/IHNlbGVjdGlvblJvb3QgOiB3ZWJGcmFtZS0+
ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgcmV0dXJuIFRleHRJdGVyYXRvcjo6
cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoc2NvcGUsIHN0YXJ0LCBsZW5ndGgpOworfQorCiBX
ZWJSYW5nZTo6V2ViUmFuZ2UoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiYg
cmFuZ2UpCiAgICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViUmFuZ2VQcml2YXRlKj4ocmFu
Z2UucmVsZWFzZVJlZigpKSkKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>