<?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>65835</bug_id>
          
          <creation_ts>2011-08-07 17:59:45 -0700</creation_ts>
          <short_desc>Need a way to selectively use hixie-76 for websocket connections depending on destination and/or origin</short_desc>
          <delta_ts>2011-09-06 15:40: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Denis Lagno">dilmah</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>ian</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>447785</commentid>
    <comment_count>0</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-07 17:59:45 -0700</bug_when>
    <thetext>Recently chromium switched to using HiBy-10 as its websocket protocol.
However there may be critical consumers still retarding at hixie-76.
Need a way to specify in settings that websocket connections destined to given urls should use hixie-76 instead of hiby-10 (as for all other destinations).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447788</commentid>
    <comment_count>1</comment_count>
      <attachid>103192</attachid>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-07 18:06:15 -0700</bug_when>
    <thetext>Created attachment 103192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447818</commentid>
    <comment_count>2</comment_count>
      <attachid>103192</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-08-07 19:42:06 -0700</bug_when>
    <thetext>Comment on attachment 103192
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

You need to justify the reason why you don&apos;t add a new test.

&gt; Source/WebCore/page/Settings.cpp:810
&gt; +    KURL tmp(url);

We usually avoid using abbreviated words. See &quot;Names&quot; section of &lt;http://www.webkit.org/coding/coding-style.html&gt;.

&gt; Source/WebCore/page/Settings.h:566
&gt; +        HashMap&lt;AtomicString, bool&gt; m_hixie76WebSocketProtocolExceptionList;

I think this line should be moved somewhere else because it divides the bit field into two sections.

Why AtomicString? I think String is better because we may compare it with any arbitrary URLs.

&gt; Source/WebCore/websockets/WebSocketChannel.cpp:115
&gt; +    ASSERT(m_handle); // Hixie76 vs HiBy decision is not made before connect() call.

This assumption conflicts with what I&apos;m working on; the protocol decision must be available after WebSocketChannel construction (not after connect()), because we need to check the value of subprotocols (provided in JavaScript&apos;s WebSocket constructor) before the actual connection is attempted.

You probably need to move the &quot;url&quot; argument from connect() to WebSocketChannel constructor. See also: bug 65367

Typo: &quot;HiBy&quot; -&gt; &quot;HyBi&quot;

&gt; Source/WebKit/chromium/src/WebSettingsImpl.cpp:453
&gt; +    UNUSED_PARAM(origin_list);

origin_list -&gt; url</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448113</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-08 11:06:34 -0700</bug_when>
    <thetext>Hi dilmah :-)

If these consumers are so critical that Chromium cannot ignore them, perhaps we should hardcode them in WebCore to benefit all other ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449247</commentid>
    <comment_count>4</comment_count>
      <attachid>103506</attachid>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-10 11:02:28 -0700</bug_when>
    <thetext>Created attachment 103506
this patch is against  http://svn.webkit.org/repository/webkit/branches/chromium/835/

This patch is against branch http://svn.webkit.org/repository/webkit/branches/chromium/835/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449250</commentid>
    <comment_count>5</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-10 11:03:46 -0700</bug_when>
    <thetext>
(In reply to comment #3)
&gt; Hi dilmah :-)
&gt; 
&gt; If these consumers are so critical that Chromium cannot ignore them, perhaps we should hardcode them in WebCore to benefit all other ports?

Hi Lex :)

The consumer I keep in mind when preparing this patch is experimental feature on ChromeOS which provides local websocket-to-TCP proxy.  Its address is 127.0.0.1 and hardcoding it benefits nothing to other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449263</commentid>
    <comment_count>6</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-08-10 11:35:21 -0700</bug_when>
    <thetext>Why can&apos;t we just fix the proxy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449559</commentid>
    <comment_count>7</comment_count>
      <attachid>103506</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-08-10 19:15:38 -0700</bug_when>
    <thetext>Comment on attachment 103506
this patch is against  http://svn.webkit.org/repository/webkit/branches/chromium/835/

Looks good to me, provided that this is temporary workaround and applies only to Chromium M14 branch. (note: I&apos;m not a WebKit reviewer)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449594</commentid>
    <comment_count>8</comment_count>
      <attachid>103506</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-10 22:11:42 -0700</bug_when>
    <thetext>Comment on attachment 103506
this patch is against  http://svn.webkit.org/repository/webkit/branches/chromium/835/

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

I&apos;ll make a review pass, but as this seems to not be landing on trunk, I&apos;ll leave it up to someone from Chromium land to give final review.

1. Normally, no patches can be landed without a ChangeLog: &lt;http://www.webkit.org/coding/contributing.html&gt;.
2. It&apos;s unclear to me if you could hardcode 127.0.0.1 for the branch.
3. I think that the patch has a wrong root (it should be above Source).

&gt; WebCore/page/Settings.h:445
&gt; +        void addHixie76WebSocketProtocolException(KURL url);

Should be &quot;const KURL&amp;&quot;, and argument should be unnamed, as it doesn&apos;t add any information.

&gt; WebCore/page/Settings.h:447
&gt; +        bool useHixie76WebSocketProtocol(KURL url);

Ditto.

&gt; WebCore/page/Settings.h:575
&gt; +        HashMap&lt;String, bool&gt; m_hixie76WebSocketProtocolExceptionList;

Why not HashSet?

&gt; WebCore/page/Settings.cpp:802
&gt; +    url.setPath(String());
&gt; +    url.setQuery(String());
&gt; +    url.setUser(String());
&gt; +    url.setPass(String());
&gt; +    url.removeFragmentIdentifier();

Perhaps you want SecurityOrigin(url).toString()? Not sure - this kind of exception is not pretty either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449695</commentid>
    <comment_count>9</comment_count>
      <attachid>103602</attachid>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 04:54:24 -0700</bug_when>
    <thetext>Created attachment 103602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449698</commentid>
    <comment_count>10</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 05:04:03 -0700</bug_when>
    <thetext>
(In reply to comment #8)
&gt; (From update of attachment 103506 [details])
&gt; 1. Normally, no patches can be landed without a ChangeLog: &lt;http://www.webkit.org/coding/contributing.html&gt;.

done

&gt; 3. I think that the patch has a wrong root (it should be above Source).

done

&gt; &gt; WebCore/page/Settings.h:445
&gt; &gt; +        void addHixie76WebSocketProtocolException(KURL url);
&gt; 
&gt; Should be &quot;const KURL&amp;&quot;, and argument should be unnamed, as it doesn&apos;t add any information.

argument name fixed.  As for type: if passed as const reference then this method must copy its argument into temporary local immediately upon entering method.  It is equivalent to just passing by value -- and it is simpler and more straightforward.

&gt; &gt; WebCore/page/Settings.h:447
&gt; &gt; +        bool useHixie76WebSocketProtocol(KURL url);
&gt; 
&gt; Ditto.

done

&gt; &gt; WebCore/page/Settings.h:575
&gt; &gt; +        HashMap&lt;String, bool&gt; m_hixie76WebSocketProtocolExceptionList;
&gt; 
&gt; Why not HashSet?

done

&gt; &gt; WebCore/page/Settings.cpp:802
&gt; &gt; +    url.setPath(String());
&gt; &gt; +    url.setQuery(String());
&gt; &gt; +    url.setUser(String());
&gt; &gt; +    url.setPass(String());
&gt; &gt; +    url.removeFragmentIdentifier();
&gt; 
&gt; Perhaps you want SecurityOrigin(url).toString()? Not sure - this kind of exception is not pretty either way.

SecurityOrigin is too heavyweight for this purpose.  Also its usage here misleads reader because we do not really treat url as security origin (also I doubt if security origin can be of &quot;ws://&quot; scheme).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449707</commentid>
    <comment_count>11</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 05:23:41 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why can&apos;t we just fix the proxy?

it is fixed.  But that fix was written in a rush and it is not well-tested and it is too risky to land it on release branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449807</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-11 08:58:11 -0700</bug_when>
    <thetext>&gt; As for type: if passed as const reference then this method must copy its argument into
&gt; temporary local immediately upon entering method.  It is equivalent to just passing by
&gt; value -- and it is simpler and more straightforward.

Yes, I know this argument. The costs of this approach are:
- frequent changing of function signatures when implementation changes;
- some code bloat, as caller becomes responsible for copying in the value;
- and confusing code - you start changing argument value inside function body, which can be unexpected by readers.

Expanding on the last cost, you lose an opportunity to use a speaking variable name. In this example, you just call both original and stripped url a &quot;url&quot;, while you could name the stripped one in a way that explains what exactly remains in it, and/or what&apos;s the purpose of stripping.

For WebKit, it&apos;s pretty much universal coding style. We just pass strings and kurls by reference, and doing it differently without strong support in the form of performance numbers is frowned upon.

Not a big deal for temporary branch only code. CC&apos;ing Adam, who might suggest a better alternative for stripping an URL like this, and would be a good reviewer for this patch in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449845</commentid>
    <comment_count>13</comment_count>
      <attachid>103602</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-11 09:55:54 -0700</bug_when>
    <thetext>Comment on attachment 103602
Patch

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

&gt; Source/WebCore/page/Settings.cpp:797
&gt; +void Settings::addHixie76WebSocketProtocolException(KURL url)

Yeah, we usually pass KURLs by const reference.  That makes it easier to read the code because it&apos;s consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450169</commentid>
    <comment_count>14</comment_count>
      <attachid>103707</attachid>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 17:01:14 -0700</bug_when>
    <thetext>Created attachment 103707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450170</commentid>
    <comment_count>15</comment_count>
      <attachid>103708</attachid>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 17:05:01 -0700</bug_when>
    <thetext>Created attachment 103708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450171</commentid>
    <comment_count>16</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-11 17:05:43 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/page/Settings.cpp:797
&gt; &gt; +void Settings::addHixie76WebSocketProtocolException(KURL url)
&gt; 
&gt; Yeah, we usually pass KURLs by const reference.  That makes it easier to read the code because it&apos;s consistent.

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450701</commentid>
    <comment_count>17</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-12 15:19:51 -0700</bug_when>
    <thetext>so what&apos;s the resolution on this?  Can it be committed?

I am not a webkit committer, can Adam or Kitamura land it on http://svn.webkit.org/repository/webkit/branches/chromium/835/ ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450705</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-12 15:28:17 -0700</bug_when>
    <thetext>&gt; so what&apos;s the resolution on this?  Can it be committed?

To confirm my understanding, you only want this landed on the chromium/835 branch?  I can do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450712</commentid>
    <comment_count>19</comment_count>
    <who name="Denis Lagno">dilmah</who>
    <bug_when>2011-08-12 15:40:04 -0700</bug_when>
    <thetext>
&gt; To confirm my understanding, you only want this landed on the chromium/835 branch?  I can do that.

yes.  It is for M14 branch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450734</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-12 15:59:24 -0700</bug_when>
    <thetext>Done: http://trac.webkit.org/changeset/93008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462934</commentid>
    <comment_count>21</comment_count>
      <attachid>103708</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-06 15:40:28 -0700</bug_when>
    <thetext>Comment on attachment 103708
Patch

Cleared review? from attachment 103708 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103192</attachid>
            <date>2011-08-07 18:06:15 -0700</date>
            <delta_ts>2011-08-10 11:02:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65835-20110808050612.patch</filename>
            <type>text/plain</type>
            <size>7539</size>
            <attacher name="Denis Lagno">dilmah</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyNTc1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMDcgIERlbmlzIExh
Z25vICA8ZGlsbWFoQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIGEgd2F5IHRvIHNlbGVj
dGl2ZWx5IHVzZSBoaXhpZS03NiBmb3Igd2Vic29ja2V0IGNvbm5lY3Rpb25zIGRlcGVuZGluZyBv
biBkZXN0aW5hdGlvbiBhbmQvb3Igb3JpZ2luCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlSGl4aWU3
NldlYlNvY2tldFByb3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjphZGRIaXhp
ZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGlu
Z3M6OnVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVsKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnVzZUhpeGllNzZQcm90b2NvbCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjb25uZWN0KToKKwogMjAxMS0wOC0wNyAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgRGlzdHJpYnV0
aW9uIGZpeCBmb3IgR1RLKy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lv
biA5MjU3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03OTgsNCArNzk4LDM5IEBAIHZvaWQgU2V0dGluZ3M6OnNldFRpbGVkQmFja2luZ1N0
b3JlRW5hYmwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQordm9pZCBTZXR0
aW5nczo6c2V0VXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKGJvb2wgZmxhZykKK3sKKyAgICBt
X3VzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCA9IGZsYWc7CisgICAgbV9oaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFeGNlcHRpb25MaXN0LmNsZWFyKCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OmFk
ZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbihjb25zdCBLVVJMJiB1cmwpCit7Cisg
ICAgS1VSTCB0bXAodXJsKTsKKyAgICB0bXAuc2V0UGF0aChTdHJpbmcoKSk7CisgICAgdG1wLnNl
dFF1ZXJ5KFN0cmluZygpKTsKKyAgICB0bXAuc2V0VXNlcihTdHJpbmcoKSk7CisgICAgdG1wLnNl
dFBhc3MoU3RyaW5nKCkpOworICAgIHRtcC5yZW1vdmVGcmFnbWVudElkZW50aWZpZXIoKTsKKyAg
ICBpZiAodG1wLmlzVmFsaWQoKSkKKyAgICAgICAgbV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
eGNlcHRpb25MaXN0LnNldCh0bXAuc3RyaW5nKCksIHRydWUpOworfQorCitib29sIFNldHRpbmdz
Ojp1c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woY29uc3QgS1VSTCYgdXJsKQoreworICAgIGlm
IChtX3VzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCkKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgaWYgKG1faGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uTGlzdC5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBLVVJMIHRtcCh1cmwpOworICAgIHRtcC5zZXRQ
YXRoKFN0cmluZygpKTsKKyAgICB0bXAuc2V0UXVlcnkoU3RyaW5nKCkpOworICAgIHRtcC5zZXRV
c2VyKFN0cmluZygpKTsKKyAgICB0bXAuc2V0UGFzcyhTdHJpbmcoKSk7CisgICAgdG1wLnJlbW92
ZUZyYWdtZW50SWRlbnRpZmllcigpOworICAgIHJldHVybiAobV9oaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFeGNlcHRpb25MaXN0LmZpbmQodG1wLnN0cmluZygpKSAhPSBtX2hpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEV4Y2VwdGlvbkxpc3QuZW5kKCkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDkyNTc1KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Mzks
OCArNDM5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBzY3JvbGxBbmlt
YXRvckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbEFuaW1hdG9yRW5hYmxlZDsgfQog
I2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgICAgICB2b2lkIHNldFVzZUhpeGll
NzZXZWJTb2NrZXRQcm90b2NvbChib29sIGZsYWcpIHsgbV91c2VIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2wgPSBmbGFnOyB9Ci0gICAgICAgIGJvb2wgdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29s
KCkgeyByZXR1cm4gbV91c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2w7IH0KKyAgICAgICAgdm9p
ZCBzZXRVc2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woYm9vbCBmbGFnKTsKKyAgICAgICAgdm9p
ZCBhZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgS1VSTCYpOworICAg
ICAgICAvLyBBbnN3ZXJzIHdoZXRoZXIgaGl4aWUtNzYgc2hvdWxkIGJlIHVzZWQgZm9yIGdpdmVu
IHdlYnNvY2tldCBVUkwuCisgICAgICAgIGJvb2wgdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29s
KGNvbnN0IEtVUkwmKTsKICNlbmRpZgogCiAgICAgICAgIHZvaWQgc2V0TWVkaWFQbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUoYm9vbCBmbGFnKSB7IG1fbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUgPSBmbGFnOyB9OwpAQCAtNTYxLDYgKzU2Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKICAgICAgICAgYm9vbCBtX3VzZUhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbCA6IDE7CisgICAgICAgIEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBib29sPiBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbkxpc3Q7CiAjZW5kaWYK
ICAgICAgICAgYm9vbCBtX21lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIDogMTsKICAg
ICAgICAgYm9vbCBtX21lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUgOiAxOwpJbmRleDogU291cmNl
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCShyZXZpc2lvbiA5
MjU3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMSw5ICsxMDEsNiBAQCBXZWJTb2NrZXRDaGFubmVsOjpXZWJT
b2NrZXRDaGFubmVsKFNjcmlwCiB7CiAgICAgQVNTRVJUKG1fY29udGV4dC0+aXNEb2N1bWVudCgp
KTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fY29u
dGV4dCk7Ci0gICAgaWYgKFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50LT5zZXR0aW5ncygp
KQotICAgICAgICBtX3VzZUhpeGllNzZQcm90b2NvbCA9IHNldHRpbmdzLT51c2VIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2woKTsKLQogICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2Uo
KSkKICAgICAgICAgbV9pZGVudGlmaWVyID0gcGFnZS0+cHJvZ3Jlc3MoKS0+Y3JlYXRlVW5pcXVl
SWRlbnRpZmllcigpOwogfQpAQCAtMTE1LDYgKzExMiw3IEBAIFdlYlNvY2tldENoYW5uZWw6On5X
ZWJTb2NrZXRDaGFubmVsKCkKIAogYm9vbCBXZWJTb2NrZXRDaGFubmVsOjp1c2VIaXhpZTc2UHJv
dG9jb2woKQogeworICAgIEFTU0VSVChtX2hhbmRsZSk7IC8vIEhpeGllNzYgdnMgSGlCeSBkZWNp
c2lvbiBpcyBub3QgbWFkZSBiZWZvcmUgY29ubmVjdCgpIGNhbGwuCiAgICAgcmV0dXJuIG1fdXNl
SGl4aWU3NlByb3RvY29sOwogfQogCkBAIC0xMjMsNiArMTIxLDkgQEAgdm9pZCBXZWJTb2NrZXRD
aGFubmVsOjpjb25uZWN0KGNvbnN0IEtVUgogICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hh
bm5lbCAlcCBjb25uZWN0IiwgdGhpcyk7CiAgICAgQVNTRVJUKCFtX2hhbmRsZSk7CiAgICAgQVNT
RVJUKCFtX3N1c3BlbmRlZCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8
RG9jdW1lbnQqPihtX2NvbnRleHQpOworICAgIGlmIChTZXR0aW5ncyogc2V0dGluZ3MgPSBkb2N1
bWVudC0+c2V0dGluZ3MoKSkKKyAgICAgICAgbV91c2VIaXhpZTc2UHJvdG9jb2wgPSBzZXR0aW5n
cy0+dXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKHVybCk7CiAgICAgbV9oYW5kc2hha2UgPSBh
ZG9wdFB0cihuZXcgV2ViU29ja2V0SGFuZHNoYWtlKHVybCwgcHJvdG9jb2wsIG1fY29udGV4dCwg
bV91c2VIaXhpZTc2UHJvdG9jb2wpKTsKICAgICBtX2hhbmRzaGFrZS0+cmVzZXQoKTsKICAgICBp
ZiAobV9pZGVudGlmaWVyKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDkyNTc1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wOC0wNyAgRGVuaXMgTGFnbm8gIDxkaWxtYWhAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE5lZWQgYSB3YXkgdG8gc2VsZWN0aXZlbHkgdXNlIGhpeGll
LTc2IGZvciB3ZWJzb2NrZXQgY29ubmVjdGlvbnMgZGVwZW5kaW5nIG9uIGRlc3RpbmF0aW9uIGFu
ZC9vciBvcmlnaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY1ODM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjphZGRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFeGNlcHRpb24pOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDoK
KwogMjAxMS0wOC0wNSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gQWNjZWxlcmF0ZWQgY2FudmFzIGJyZWFrcyB3aGVuIG1vdmluZyBj
YW52YXNlcyBvciByZXNvdXJjZXMgYmV0d2VlbiBQYWdlcwpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShyZXZpc2lvbiA5MjU3NSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEyNyw2ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZFByaW50
QmFja2dyb3VuZHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxB
bmltYXRvcihib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2ViVVJMJikgPSAwOwogCiBwcm90ZWN0ZWQ6
CiAgICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTZXR0aW5nc0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDkyNTc1KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDQ1LDQgKzQ0NSwxMyBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0SGl4aWU3NldlYlNvY2tl
CiAjZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OmFkZEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJVUkwmIHVybCkKK3sKKyNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCisgICAgbV9zZXR0aW5ncy0+YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0
aW9uKHVybCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShvcmlnaW5fbGlzdCk7CisjZW5kaWYK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTZXR0aW5nc0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gOTI1NzUpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTIw
LDYgKzEyMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkUHJpbnRCYWNr
Z3JvdW5kcyhib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3Io
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJs
ZWQoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4
Y2VwdGlvbihjb25zdCBXZWJVUkwmKTsKIAogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpTZXR0aW5n
cyogbV9zZXR0aW5nczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103506</attachid>
            <date>2011-08-10 11:02:28 -0700</date>
            <delta_ts>2011-08-11 04:54:10 -0700</delta_ts>
            <desc>this patch is against  http://svn.webkit.org/repository/webkit/branches/chromium/835/</desc>
            <filename>wkbrdif</filename>
            <type>text/plain</type>
            <size>4917</size>
            <attacher name="Denis Lagno">dilmah</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDky
Nzc1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NDUsNCArNDQ1LDEyIEBACiAjZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5n
c0ltcGw6OmFkZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJVUkwm
IHVybCkgeworI2lmIEVOQUJMRShXRUJfU09DS0VUUykKKyAgICBtX3NldHRpbmdzLT5hZGRIaXhp
ZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24odXJsKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHVybCk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDkyNzc1KQorKysgV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYg
KzEyMCw3IEBACiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKGJvb2wpOwor
ICAgIHZpcnR1YWwgdm9pZCBhZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29u
c3QgV2ViVVJMJik7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGlu
Z3M7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShyZXZpc2lvbiA5Mjc3
NSkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI3LDYgKzEyNyw3IEBACiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZFByaW50QmFj
a2dyb3VuZHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmlt
YXRvcihib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2ViVVJMJikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAg
ICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gOTI3NzUpCisrKyBX
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsOCBAQAog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0hhc2guaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQzOSw4ICs0NDEsMTAgQEAKICAgICAgICAgYm9vbCBzY3JvbGxBbmltYXRvckVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX3Njcm9sbEFuaW1hdG9yRW5hYmxlZDsgfQogI2VuZGlmCiAjaWYgRU5B
QkxFKFdFQl9TT0NLRVRTKQotICAgICAgICB2b2lkIHNldFVzZUhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbChib29sIGZsYWcpIHsgbV91c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2wgPSBmbGFnOyB9
Ci0gICAgICAgIGJvb2wgdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKCkgeyByZXR1cm4gbV91
c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2w7IH0KKyAgICAgICAgdm9pZCBzZXRVc2VIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2woYm9vbCBmbGFnKSB7IG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sID0gZmxhZzsgbV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb25MaXN0LmNsZWFy
KCk7IH0KKyAgICAgICAgdm9pZCBhZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24o
S1VSTCB1cmwpOworICAgICAgICAvLyBBbnN3ZXJzIHdoZXRoZXIgaGl4aWUtNzYgc2hvdWxkIGJl
IHVzZWQgZm9yIGdpdmVuIHdlYnNvY2tldCBVUkwuCisgICAgICAgIGJvb2wgdXNlSGl4aWU3Nldl
YlNvY2tldFByb3RvY29sKEtVUkwgdXJsKTsKICNlbmRpZgogCiAgICAgICAgIHZvaWQgc2V0TWVk
aWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoYm9vbCBmbGFnKSB7IG1fbWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmbGFnOyB9OwpAQCAtNTY3LDYgKzU3MSw5IEBACiAKICAg
ICAgICAgVGltZXI8U2V0dGluZ3M+IG1fbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXI7CiAg
ICAgICAgIHZvaWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJlZChUaW1lcjxTZXR0
aW5ncz4qKTsKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgICAgIEhhc2hNYXA8U3RyaW5n
LCBib29sPiBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbkxpc3Q7CisjZW5kaWYK
IAogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgICAgIHN0YXRpYyBib29sIGdBVkZvdW5kYXRp
b25FbmFibGVkOwpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA5Mjc3NSkKKysrIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5Myw0ICs3OTMsMjkgQEAKICNl
bmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQordm9pZCBTZXR0aW5nczo6YWRkSGl4
aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKEtVUkwgdXJsKSB7CisgICAgdXJsLnNldFBh
dGgoU3RyaW5nKCkpOworICAgIHVybC5zZXRRdWVyeShTdHJpbmcoKSk7CisgICAgdXJsLnNldFVz
ZXIoU3RyaW5nKCkpOworICAgIHVybC5zZXRQYXNzKFN0cmluZygpKTsKKyAgICB1cmwucmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVyKCk7CisgICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYgKHVybC5wcm90
b2NvbElzKCJ3cyIpIHx8IHVybC5wcm90b2NvbElzKCJ3c3MiKSkpCisgICAgICAgIG1faGl4aWU3
NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uTGlzdC5zZXQodXJsLnN0cmluZygpLCB0cnVlKTsK
K30KKworYm9vbCBTZXR0aW5nczo6dXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKEtVUkwgdXJs
KSB7CisgICAgaWYgKG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICBpZiAobV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb25MaXN0
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVybC5zZXRQYXRoKFN0cmlu
ZygpKTsKKyAgICB1cmwuc2V0UXVlcnkoU3RyaW5nKCkpOworICAgIHVybC5zZXRVc2VyKFN0cmlu
ZygpKTsKKyAgICB1cmwuc2V0UGFzcyhTdHJpbmcoKSk7CisgICAgdXJsLnJlbW92ZUZyYWdtZW50
SWRlbnRpZmllcigpOworICAgIHJldHVybiAobV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNl
cHRpb25MaXN0LmZpbmQodXJsLnN0cmluZygpKSAhPSBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEV4Y2VwdGlvbkxpc3QuZW5kKCkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHJldmlzaW9u
IDkyNzc1KQorKysgV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDIsNyArMTAyLDcgQEAKICAgICBBU1NFUlQobV9jb250ZXh0LT5pc0Rv
Y3VtZW50KCkpOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50
Kj4obV9jb250ZXh0KTsKICAgICBpZiAoU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQtPnNl
dHRpbmdzKCkpCi0gICAgICAgIG1fdXNlSGl4aWU3NlByb3RvY29sID0gc2V0dGluZ3MtPnVzZUhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbCgpOworICAgICAgICBtX3VzZUhpeGllNzZQcm90b2NvbCA9
IHNldHRpbmdzLT51c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2wodXJsKTsKICAgICBtX2hhbmRz
aGFrZSA9IGFkb3B0UHRyKG5ldyBXZWJTb2NrZXRIYW5kc2hha2UodXJsLCBwcm90b2NvbCwgY29u
dGV4dCwgbV91c2VIaXhpZTc2UHJvdG9jb2wpKTsKIAogICAgIGlmIChQYWdlKiBwYWdlID0gZG9j
dW1lbnQtPnBhZ2UoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103602</attachid>
            <date>2011-08-11 04:54:24 -0700</date>
            <delta_ts>2011-08-11 17:01:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65835-20110811155421.patch</filename>
            <type>text/plain</type>
            <size>7179</size>
            <attacher name="Denis Lagno">dilmah</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyODM3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDgtMTEgIERlbmlzIExh
Z25vICA8ZGlsbWFoQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIGEgd2F5IHRvIHNlbGVj
dGl2ZWx5IHVzZSBoaXhpZS03NiBmb3Igd2Vic29ja2V0IGNvbm5lY3Rpb25zIGRlcGVuZGluZyBv
biBkZXN0aW5hdGlvbiBhbmQvb3Igb3JpZ2luCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YgYW5kIFl1dGEgS2l0YW11cmEuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAo
YmVjYXVzZSBpdCBpcyB0ZW1wb3Jhcnkgc29sdXRpb24gZm9yIHRyYW5zaWVudCBwZXJpb2QgYmV0
d2VlbiBoaXhpZS03NiBhbmQgaHliaS1OTikuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjphZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnVzZUhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldFVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCk6CisgICAgICAg
ICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorCiAyMDExLTA4LTA5ICBBbmRyZXkg
S29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
YXNzZXJ0aW9uIGZhaWx1cmUgaW4gSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpiaW5kIHdo
ZW4gb3BlbmluZyBpbnNwZWN0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZp
c2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OTMsNCArNzkzLDMyIEBAIHZvaWQgU2V0dGluZ3M6OnNldFRpbGVkQmFja2lu
Z1N0b3JlRW5hYmwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQordm9pZCBT
ZXR0aW5nczo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKEtVUkwgdXJsKQor
eworICAgIHVybC5zZXRQYXRoKFN0cmluZygpKTsKKyAgICB1cmwuc2V0UXVlcnkoU3RyaW5nKCkp
OworICAgIHVybC5zZXRVc2VyKFN0cmluZygpKTsKKyAgICB1cmwuc2V0UGFzcyhTdHJpbmcoKSk7
CisgICAgdXJsLnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcigpOworICAgIGlmICh1cmwuaXNWYWxp
ZCgpICYmICh1cmwucHJvdG9jb2xJcygid3MiKSB8fCB1cmwucHJvdG9jb2xJcygid3NzIikpKQor
ICAgICAgICBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbkxpc3QuYWRkKHVybC5z
dHJpbmcoKSk7Cit9CisKK2Jvb2wgU2V0dGluZ3M6OnVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgaWYgKG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobV9oaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFeGNlcHRpb25MaXN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IEtVUkwgdG1wKHVybCk7CisgICAgdG1wLnNldFBhdGgoU3RyaW5nKCkpOworICAgIHRtcC5zZXRR
dWVyeShTdHJpbmcoKSk7CisgICAgdG1wLnNldFVzZXIoU3RyaW5nKCkpOworICAgIHRtcC5zZXRQ
YXNzKFN0cmluZygpKTsKKyAgICB0bXAucmVtb3ZlRnJhZ21lbnRJZGVudGlmaWVyKCk7CisgICAg
cmV0dXJuIG1faGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uTGlzdC5jb250YWlucyh0
bXAuc3RyaW5nKCkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDkyNzc3KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiwxMSBAQAogI2luY2x1
ZGUgIktVUkwuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDM5LDggKzQ0MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2Ny
b2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxBbmltYXRvckVuYWJs
ZWQ7IH0KICNlbmRpZgogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICAgICAgdm9pZCBzZXRV
c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woYm9vbCBmbGFnKSB7IG1fdXNlSGl4aWU3NldlYlNv
Y2tldFByb3RvY29sID0gZmxhZzsgfQotICAgICAgICBib29sIHVzZUhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbCgpIHsgcmV0dXJuIG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sOyB9CisgICAg
ICAgIHZvaWQgc2V0VXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKGJvb2wgZmxhZykgeyBtX3Vz
ZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCA9IGZsYWc7IG1faGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRXhjZXB0aW9uTGlzdC5jbGVhcigpOyB9CisgICAgICAgIHZvaWQgYWRkSGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRXhjZXB0aW9uKEtVUkwpOworICAgICAgICAvLyBBbnN3ZXJzIHdoZXRoZXIg
aGl4aWUtNzYgc2hvdWxkIGJlIHVzZWQgZm9yIGdpdmVuIHdlYnNvY2tldCBVUkwuCisgICAgICAg
IGJvb2wgdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKGNvbnN0IEtVUkwmKTsKICNlbmRpZgog
CiAgICAgICAgIHZvaWQgc2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoYm9vbCBm
bGFnKSB7IG1fbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmbGFnOyB9OwpAQCAt
NTY3LDYgKzU3Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBUaW1lcjxTZXR0
aW5ncz4gbV9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lcjsKICAgICAgICAgdm9pZCBsb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOworI2lmIEVO
QUJMRShXRUJfU09DS0VUUykKKyAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1faGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRXhjZXB0aW9uTGlzdDsKKyNlbmRpZgogCiAjaWYgVVNFKEFWRk9VTkRBVElP
TikKICAgICAgICAgc3RhdGljIGJvb2wgZ0FWRm91bmRhdGlvbkVuYWJsZWQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHJldmlzaW9u
IDkyNzc3KQorKysgU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDcgKzEwMiw3IEBAIFdlYlNvY2tldENoYW5uZWw6Oldl
YlNvY2tldENoYW5uZWwoU2NyaXAKICAgICBBU1NFUlQobV9jb250ZXh0LT5pc0RvY3VtZW50KCkp
OwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9jb250
ZXh0KTsKICAgICBpZiAoU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQtPnNldHRpbmdzKCkp
Ci0gICAgICAgIG1fdXNlSGl4aWU3NlByb3RvY29sID0gc2V0dGluZ3MtPnVzZUhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbCgpOworICAgICAgICBtX3VzZUhpeGllNzZQcm90b2NvbCA9IHNldHRpbmdz
LT51c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2wodXJsKTsKICAgICBtX2hhbmRzaGFrZSA9IGFk
b3B0UHRyKG5ldyBXZWJTb2NrZXRIYW5kc2hha2UodXJsLCBwcm90b2NvbCwgY29udGV4dCwgbV91
c2VIaXhpZTc2UHJvdG9jb2wpKTsKIAogICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBh
Z2UoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5MjgzNykKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDgtMTEgIERlbmlzIExhZ25vICA8ZGlsbWFoQGNocm9taXVtLm9yZz4K
KworICAgICAgICBOZWVkIGEgd2F5IHRvIHNlbGVjdGl2ZWx5IHVzZSBoaXhpZS03NiBmb3Igd2Vi
c29ja2V0IGNvbm5lY3Rpb25zIGRlcGVuZGluZyBvbiBkZXN0aW5hdGlvbiBhbmQvb3Igb3JpZ2lu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTgzNQor
CisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YgYW5kIFl1dGEgS2l0YW11
cmEuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMvV2Vi
U2V0dGluZ3NJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjphZGRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24pOgorICAgICAgICAqIHNyYy9XZWJTZXR0
aW5nc0ltcGwuaDoKKwogMjAxMS0wNy0yNiAgQnJldHQgV2lsc29uICA8YnJldHR3QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBDYW5jZWwgdGhlIGxvYWQgd2hlbiBhbiBhc3NvY2lhdGVkIFVSTCBs
b2FkZXIgZ29lcyBvdXQgb2Ygc2NvcGUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9uIDkyNzc3KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEy
Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5k
cyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJv
b2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5h
YmxlZChib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJVUkwmKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2Vi
U2V0dGluZ3MoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRp
bmdzSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U2V0dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gOTI3NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUsNCArNDQ1
LDEzIEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRIaXhpZTc2V2ViU29ja2UKICNlbmRpZgog
fQogCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhj
ZXB0aW9uKGNvbnN0IFdlYlVSTCYgdXJsKQoreworI2lmIEVOQUJMRShXRUJfU09DS0VUUykKKyAg
ICBtX3NldHRpbmdzLT5hZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24odXJsKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHVybCk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5n
c0ltcGwuaAkocmV2aXNpb24gOTI3NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyhib29sKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoYm9vbCk7CiAgICAgdmlydHVh
bCB2b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoYm9vbCk7CisgICAgdmly
dHVhbCB2b2lkIGFkZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJV
UkwmKTsKIAogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103707</attachid>
            <date>2011-08-11 17:01:14 -0700</date>
            <delta_ts>2011-08-11 17:04:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65835-20110812040112.patch</filename>
            <type>text/plain</type>
            <size>7213</size>
            <attacher name="Denis Lagno">dilmah</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyODM3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDgtMTEgIERlbmlzIExh
Z25vICA8ZGlsbWFoQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIGEgd2F5IHRvIHNlbGVj
dGl2ZWx5IHVzZSBoaXhpZS03NiBmb3Igd2Vic29ja2V0IGNvbm5lY3Rpb25zIGRlcGVuZGluZyBv
biBkZXN0aW5hdGlvbiBhbmQvb3Igb3JpZ2luCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YgYW5kIFl1dGEgS2l0YW11cmEuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAo
YmVjYXVzZSBpdCBpcyB0ZW1wb3Jhcnkgc29sdXRpb24gZm9yIHRyYW5zaWVudCBwZXJpb2QgYmV0
d2VlbiBoaXhpZS03NiBhbmQgaHliaS1OTikuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjphZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnVzZUhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldFVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCk6CisgICAgICAg
ICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorCiAyMDExLTA4LTA5ICBBbmRyZXkg
S29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
YXNzZXJ0aW9uIGZhaWx1cmUgaW4gSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpiaW5kIHdo
ZW4gb3BlbmluZyBpbnNwZWN0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZp
c2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OTMsNCArNzkzLDMzIEBAIHZvaWQgU2V0dGluZ3M6OnNldFRpbGVkQmFja2lu
Z1N0b3JlRW5hYmwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQordm9pZCBT
ZXR0aW5nczo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKGNvbnN0IEtVUkwm
IHVybCkKK3sKKyAgICBLVVJMIHRtcCh1cmwpOworICAgIHRtcC5zZXRQYXRoKFN0cmluZygpKTsK
KyAgICB0bXAuc2V0UXVlcnkoU3RyaW5nKCkpOworICAgIHRtcC5zZXRVc2VyKFN0cmluZygpKTsK
KyAgICB0bXAuc2V0UGFzcyhTdHJpbmcoKSk7CisgICAgdG1wLnJlbW92ZUZyYWdtZW50SWRlbnRp
ZmllcigpOworICAgIGlmICh0bXAuaXNWYWxpZCgpICYmICh0bXAucHJvdG9jb2xJcygid3MiKSB8
fCB0bXAucHJvdG9jb2xJcygid3NzIikpKQorICAgICAgICBtX2hpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEV4Y2VwdGlvbkxpc3QuYWRkKHRtcC5zdHJpbmcoKSk7Cit9CisKK2Jvb2wgU2V0dGluZ3M6
OnVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgaWYg
KG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBpZiAobV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb25MaXN0LmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEtVUkwgdG1wKHVybCk7CisgICAgdG1wLnNldFBh
dGgoU3RyaW5nKCkpOworICAgIHRtcC5zZXRRdWVyeShTdHJpbmcoKSk7CisgICAgdG1wLnNldFVz
ZXIoU3RyaW5nKCkpOworICAgIHRtcC5zZXRQYXNzKFN0cmluZygpKTsKKyAgICB0bXAucmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVyKCk7CisgICAgcmV0dXJuIG1faGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRXhjZXB0aW9uTGlzdC5jb250YWlucyh0bXAuc3RyaW5nKCkpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9u
IDkyNzc3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMiw4ICszMiwxMSBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDM5LDggKzQ0MiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY3JvbGxBbmltYXRvckVuYWJsZWQ7IH0KICNlbmRpZgogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKLSAgICAgICAgdm9pZCBzZXRVc2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woYm9v
bCBmbGFnKSB7IG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sID0gZmxhZzsgfQotICAgICAg
ICBib29sIHVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCgpIHsgcmV0dXJuIG1fdXNlSGl4aWU3
NldlYlNvY2tldFByb3RvY29sOyB9CisgICAgICAgIHZvaWQgc2V0VXNlSGl4aWU3NldlYlNvY2tl
dFByb3RvY29sKGJvb2wgZmxhZykgeyBtX3VzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCA9IGZs
YWc7IG1faGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uTGlzdC5jbGVhcigpOyB9Cisg
ICAgICAgIHZvaWQgYWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKGNvbnN0IEtV
UkwmKTsKKyAgICAgICAgLy8gQW5zd2VycyB3aGV0aGVyIGhpeGllLTc2IHNob3VsZCBiZSB1c2Vk
IGZvciBnaXZlbiB3ZWJzb2NrZXQgVVJMLgorICAgICAgICBib29sIHVzZUhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbChjb25zdCBLVVJMJik7CiAjZW5kaWYKIAogICAgICAgICB2b2lkIHNldE1lZGlh
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKGJvb2wgZmxhZykgeyBtX21lZGlhUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlID0gZmxhZzsgfTsKQEAgLTU2Nyw2ICs1NzIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fbG9hZHNJbWFnZXNBdXRv
bWF0aWNhbGx5VGltZXI7CiAgICAgICAgIHZvaWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGlt
ZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAg
ICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbkxp
c3Q7CisjZW5kaWYKIAogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgICAgIHN0YXRpYyBib29s
IGdBVkZvdW5kYXRpb25FbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCShyZXZpc2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
Miw3ICsxMDIsNyBAQCBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVsKFNjcmlwCiAg
ICAgQVNTRVJUKG1fY29udGV4dC0+aXNEb2N1bWVudCgpKTsKICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fY29udGV4dCk7CiAgICAgaWYgKFNldHRpbmdz
KiBzZXR0aW5ncyA9IGRvY3VtZW50LT5zZXR0aW5ncygpKQotICAgICAgICBtX3VzZUhpeGllNzZQ
cm90b2NvbCA9IHNldHRpbmdzLT51c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woKTsKKyAgICAg
ICAgbV91c2VIaXhpZTc2UHJvdG9jb2wgPSBzZXR0aW5ncy0+dXNlSGl4aWU3NldlYlNvY2tldFBy
b3RvY29sKHVybCk7CiAgICAgbV9oYW5kc2hha2UgPSBhZG9wdFB0cihuZXcgV2ViU29ja2V0SGFu
ZHNoYWtlKHVybCwgcHJvdG9jb2wsIGNvbnRleHQsIG1fdXNlSGl4aWU3NlByb3RvY29sKSk7CiAK
ICAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTI4MzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA4LTExICBE
ZW5pcyBMYWdubyAgPGRpbG1haEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCBhIHdheSB0
byBzZWxlY3RpdmVseSB1c2UgaGl4aWUtNzYgZm9yIHdlYnNvY2tldCBjb25uZWN0aW9ucyBkZXBl
bmRpbmcgb24gZGVzdGluYXRpb24gYW5kL29yIG9yaWdpbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4MzUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292IGFuZCBZdXRhIEtpdGFtdXJhLgorCisgICAgICAgICogcHVibGlj
L1dlYlNldHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29s
RXhjZXB0aW9uKToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisKIDIwMTEtMDct
MjYgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2FuY2Vs
IHRoZSBsb2FkIHdoZW4gYW4gYXNzb2NpYXRlZCBVUkwgbG9hZGVyIGdvZXMgb3V0IG9mIHNjb3Bl
LgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShy
ZXZpc2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRp
bmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmltYXRvcihib29sKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBhZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2Vi
VVJMJikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlz
aW9uIDkyNzc3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ1LDQgKzQ0NSwxMyBAQCB2b2lkIFdlYlNldHRpbmdz
SW1wbDo6c2V0SGl4aWU3NldlYlNvY2tlCiAjZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0lt
cGw6OmFkZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJVUkwmIHVy
bCkKK3sKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgbV9zZXR0aW5ncy0+YWRkSGl4aWU3
NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKHVybCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TSh1cmwpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDkyNzc3
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyMCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJs
ZVNjcm9sbEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBhZGRIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2ViVVJMJik7CiAKIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103708</attachid>
            <date>2011-08-11 17:05:01 -0700</date>
            <delta_ts>2011-09-06 15:40:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65835-20110812040458.patch</filename>
            <type>text/plain</type>
            <size>7213</size>
            <attacher name="Denis Lagno">dilmah</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyODM3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDgtMTEgIERlbmlzIExh
Z25vICA8ZGlsbWFoQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIGEgd2F5IHRvIHNlbGVj
dGl2ZWx5IHVzZSBoaXhpZS03NiBmb3Igd2Vic29ja2V0IGNvbm5lY3Rpb25zIGRlcGVuZGluZyBv
biBkZXN0aW5hdGlvbiBhbmQvb3Igb3JpZ2luCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YgYW5kIFl1dGEgS2l0YW11cmEuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAo
YmVjYXVzZSBpdCBpcyB0ZW1wb3Jhcnkgc29sdXRpb24gZm9yIHRyYW5zaWVudCBwZXJpb2QgYmV0
d2VlbiBoaXhpZS03NiBhbmQgaHliaS1OTikuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjphZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnVzZUhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldFVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCk6CisgICAgICAg
ICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorCiAyMDExLTA4LTA5ICBBbmRyZXkg
S29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
YXNzZXJ0aW9uIGZhaWx1cmUgaW4gSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpiaW5kIHdo
ZW4gb3BlbmluZyBpbnNwZWN0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZp
c2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OTMsNCArNzkzLDMzIEBAIHZvaWQgU2V0dGluZ3M6OnNldFRpbGVkQmFja2lu
Z1N0b3JlRW5hYmwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQordm9pZCBT
ZXR0aW5nczo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKGNvbnN0IEtVUkwm
IHVybCkKK3sKKyAgICBLVVJMIHRtcCh1cmwpOworICAgIHRtcC5zZXRQYXRoKFN0cmluZygpKTsK
KyAgICB0bXAuc2V0UXVlcnkoU3RyaW5nKCkpOworICAgIHRtcC5zZXRVc2VyKFN0cmluZygpKTsK
KyAgICB0bXAuc2V0UGFzcyhTdHJpbmcoKSk7CisgICAgdG1wLnJlbW92ZUZyYWdtZW50SWRlbnRp
ZmllcigpOworICAgIGlmICh0bXAuaXNWYWxpZCgpICYmICh0bXAucHJvdG9jb2xJcygid3MiKSB8
fCB0bXAucHJvdG9jb2xJcygid3NzIikpKQorICAgICAgICBtX2hpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEV4Y2VwdGlvbkxpc3QuYWRkKHRtcC5zdHJpbmcoKSk7Cit9CisKK2Jvb2wgU2V0dGluZ3M6
OnVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgaWYg
KG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBpZiAobV9oaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb25MaXN0LmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEtVUkwgdG1wKHVybCk7CisgICAgdG1wLnNldFBh
dGgoU3RyaW5nKCkpOworICAgIHRtcC5zZXRRdWVyeShTdHJpbmcoKSk7CisgICAgdG1wLnNldFVz
ZXIoU3RyaW5nKCkpOworICAgIHRtcC5zZXRQYXNzKFN0cmluZygpKTsKKyAgICB0bXAucmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVyKCk7CisgICAgcmV0dXJuIG1faGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRXhjZXB0aW9uTGlzdC5jb250YWlucyh0bXAuc3RyaW5nKCkpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9u
IDkyNzc3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMiw4ICszMiwxMSBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDM5LDggKzQ0MiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY3JvbGxBbmltYXRvckVuYWJsZWQ7IH0KICNlbmRpZgogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKLSAgICAgICAgdm9pZCBzZXRVc2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woYm9v
bCBmbGFnKSB7IG1fdXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29sID0gZmxhZzsgfQotICAgICAg
ICBib29sIHVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCgpIHsgcmV0dXJuIG1fdXNlSGl4aWU3
NldlYlNvY2tldFByb3RvY29sOyB9CisgICAgICAgIHZvaWQgc2V0VXNlSGl4aWU3NldlYlNvY2tl
dFByb3RvY29sKGJvb2wgZmxhZykgeyBtX3VzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCA9IGZs
YWc7IG1faGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uTGlzdC5jbGVhcigpOyB9Cisg
ICAgICAgIHZvaWQgYWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKGNvbnN0IEtV
UkwmKTsKKyAgICAgICAgLy8gQW5zd2VycyB3aGV0aGVyIGhpeGllLTc2IHNob3VsZCBiZSB1c2Vk
IGZvciBnaXZlbiB3ZWJzb2NrZXQgVVJMLgorICAgICAgICBib29sIHVzZUhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbChjb25zdCBLVVJMJik7CiAjZW5kaWYKIAogICAgICAgICB2b2lkIHNldE1lZGlh
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKGJvb2wgZmxhZykgeyBtX21lZGlhUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlID0gZmxhZzsgfTsKQEAgLTU2Nyw2ICs1NzIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fbG9hZHNJbWFnZXNBdXRv
bWF0aWNhbGx5VGltZXI7CiAgICAgICAgIHZvaWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGlt
ZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAg
ICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2hpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbkxp
c3Q7CisjZW5kaWYKIAogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgICAgIHN0YXRpYyBib29s
IGdBVkZvdW5kYXRpb25FbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCShyZXZpc2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
Miw3ICsxMDIsNyBAQCBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVsKFNjcmlwCiAg
ICAgQVNTRVJUKG1fY29udGV4dC0+aXNEb2N1bWVudCgpKTsKICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fY29udGV4dCk7CiAgICAgaWYgKFNldHRpbmdz
KiBzZXR0aW5ncyA9IGRvY3VtZW50LT5zZXR0aW5ncygpKQotICAgICAgICBtX3VzZUhpeGllNzZQ
cm90b2NvbCA9IHNldHRpbmdzLT51c2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2woKTsKKyAgICAg
ICAgbV91c2VIaXhpZTc2UHJvdG9jb2wgPSBzZXR0aW5ncy0+dXNlSGl4aWU3NldlYlNvY2tldFBy
b3RvY29sKHVybCk7CiAgICAgbV9oYW5kc2hha2UgPSBhZG9wdFB0cihuZXcgV2ViU29ja2V0SGFu
ZHNoYWtlKHVybCwgcHJvdG9jb2wsIGNvbnRleHQsIG1fdXNlSGl4aWU3NlByb3RvY29sKSk7CiAK
ICAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTI4MzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA4LTExICBE
ZW5pcyBMYWdubyAgPGRpbG1haEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCBhIHdheSB0
byBzZWxlY3RpdmVseSB1c2UgaGl4aWUtNzYgZm9yIHdlYnNvY2tldCBjb25uZWN0aW9ucyBkZXBl
bmRpbmcgb24gZGVzdGluYXRpb24gYW5kL29yIG9yaWdpbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4MzUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292IGFuZCBZdXRhIEtpdGFtdXJhLgorCisgICAgICAgICogcHVibGlj
L1dlYlNldHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6YWRkSGl4aWU3NldlYlNvY2tldFByb3RvY29s
RXhjZXB0aW9uKToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisKIDIwMTEtMDct
MjYgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2FuY2Vs
IHRoZSBsb2FkIHdoZW4gYW4gYXNzb2NpYXRlZCBVUkwgbG9hZGVyIGdvZXMgb3V0IG9mIHNjb3Bl
LgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShy
ZXZpc2lvbiA5Mjc3NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRp
bmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmltYXRvcihib29sKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHNldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBhZGRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2Vi
VVJMJikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlz
aW9uIDkyNzc3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ1LDQgKzQ0NSwxMyBAQCB2b2lkIFdlYlNldHRpbmdz
SW1wbDo6c2V0SGl4aWU3NldlYlNvY2tlCiAjZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0lt
cGw6OmFkZEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEV4Y2VwdGlvbihjb25zdCBXZWJVUkwmIHVy
bCkKK3sKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgbV9zZXR0aW5ncy0+YWRkSGl4aWU3
NldlYlNvY2tldFByb3RvY29sRXhjZXB0aW9uKHVybCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TSh1cmwpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDkyNzc3
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyMCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJs
ZVNjcm9sbEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBhZGRIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2xFeGNlcHRpb24oY29uc3QgV2ViVVJMJik7CiAKIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>