<?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>44803</bug_id>
          
          <creation_ts>2010-08-27 16:09:51 -0700</creation_ts>
          <short_desc>Decompose computing an element&apos;s computed language</short_desc>
          <delta_ts>2010-09-02 00:53:13 -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>All</rep_platform>
          <op_sys>Windows 2000</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="Ilya Sherman">isherman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>isherman</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270793</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-27 16:09:51 -0700</bug_when>
    <thetext>Decompose computing an element&apos;s computed language</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270794</commentid>
    <comment_count>1</comment_count>
      <attachid>65781</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-27 16:12:05 -0700</bug_when>
    <thetext>Created attachment 65781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270844</commentid>
    <comment_count>2</comment_count>
      <attachid>65781</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-27 17:28:33 -0700</bug_when>
    <thetext>Comment on attachment 65781
Patch

This is not just refactoring code. You&apos;re creating chromium API.

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270867</commentid>
    <comment_count>3</comment_count>
      <attachid>65798</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-27 18:11:45 -0700</bug_when>
    <thetext>Created attachment 65798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270868</commentid>
    <comment_count>4</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-27 18:12:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 65781 [details])
&gt; This is not just refactoring code. You&apos;re creating chromium API.
&gt; 
&gt; Why?

Clarified in the ChangeLogs -- want this for Chromium autofill i18n :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270871</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-27 18:25:48 -0700</bug_when>
    <thetext>I think this looks sane.  I think Darin F. should sign off on the API addition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270933</commentid>
    <comment_count>6</comment_count>
      <attachid>65798</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-08-27 23:17:31 -0700</bug_when>
    <thetext>Comment on attachment 65798
Patch

WebKit/chromium/public/WebElement.h:59
 +          WEBKIT_API WebString computeInheritedLang() const;
for the API at least, i recommend spelling out Language.  you should also break
this method apart from the others and add a comment describing what it does.
it isn&apos;t obvious what this method does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271121</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-28 22:43:23 -0700</bug_when>
    <thetext>&gt; for the API at least, i recommend spelling out Language.

I think that it should be spelled out in internal function names, too.

But also, I don&apos;t think that &quot;computedInheritedLanguage&quot; is the right name - this function also takes node&apos;s own style into account.

+    // The language property is inherited, so we iterate over the parents to
+    // find the first language.

This is a very short comment, no need to split it into two lines.

I&apos;m not sure how much benefit an API function provides over querying an element style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271523</commentid>
    <comment_count>8</comment_count>
      <attachid>65933</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-30 11:41:10 -0700</bug_when>
    <thetext>Created attachment 65933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271539</commentid>
    <comment_count>9</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-08-30 11:56:25 -0700</bug_when>
    <thetext>Updated API style per Darin&apos;s suggestions


(In reply to comment #7)
&gt; &gt; for the API at least, i recommend spelling out Language.
&gt; 
&gt; I think that it should be spelled out in internal function names, too.

I&apos;m fuzzy on the style expectations for WebKit -- if it is labelled as &quot;lang&quot; elsewhere in the codebase, is it more important to be consistent with that or to gradually transition toward the spelled out version?  All of the instances I have seen elsewhere in the codebase label it just as &quot;lang&quot;, though this might just be a biased sample on my part.

&gt; 
&gt; But also, I don&apos;t think that &quot;computedInheritedLanguage&quot; is the right name - this function also takes node&apos;s own style into account.

I&apos;m wide open to suggestions :)

&gt; 
&gt; +    // The language property is inherited, so we iterate over the parents to
&gt; +    // find the first language.
&gt; 
&gt; This is a very short comment, no need to split it into two lines.

Fixed.  In general, what line width should I aim for?  My emacs is currently set to 80-col for work with chromium, so that&apos;s what I&apos;ve been defaulting to... but I have noticed that WebKit lines tend to be much longer.

&gt; 
&gt; I&apos;m not sure how much benefit an API function provides over querying an element style.

AFAICT, there is no way to query an element&apos;s style to ask for its language -- only to query whether the language is some predetermined string.  For chromium i18n, we need some API -- though not necessarily this one -- to directly query an element&apos;s language.  It also makes some sense for this API to be exported via the DOM rather than CSS, as language codes are part of the HTML specification :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272739</commentid>
    <comment_count>10</comment_count>
      <attachid>66197</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-09-01 04:23:04 -0700</bug_when>
    <thetext>Created attachment 66197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272740</commentid>
    <comment_count>11</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-09-01 04:33:30 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Updated API style per Darin&apos;s suggestions
&gt; 
&gt; 
&gt; (In reply to comment #7)
&gt; &gt; &gt; for the API at least, i recommend spelling out Language.
&gt; &gt; 
&gt; &gt; I think that it should be spelled out in internal function names, too.
&gt; 
&gt; I&apos;m fuzzy on the style expectations for WebKit -- if it is labelled as &quot;lang&quot; elsewhere in the codebase, is it more important to be consistent with that or to gradually transition toward the spelled out version?  All of the instances I have seen elsewhere in the codebase label it just as &quot;lang&quot;, though this might just be a biased sample on my part.
&gt; 

Per conversation on IRC, &quot;language&quot; makes sense here but not elsewhere because we are not referring to the tag name or to the CSS property.  Patch updated correspondingly.

&gt; &gt; I&apos;m not sure how much benefit an API function provides over querying an element style.
&gt; 
&gt; AFAICT, there is no way to query an element&apos;s style to ask for its language -- only to query whether the language is some predetermined string.  For chromium i18n, we need some API -- though not necessarily this one -- to directly query an element&apos;s language.  It also makes some sense for this API to be exported via the DOM rather than CSS, as language codes are part of the HTML specification :)

Alexey suggested that the value of the &quot;lang&quot; attribute can be accessed by JS via &quot;document.defaultView.getComputedStyle(document.body, null).getPropertyValue(&quot;lang&quot;)&quot;; and so we should be able to do something similar.  However, when I investigated this I found that |getComputedStyle| in JS does not include the &quot;lang&quot; attribute.  That seems like a bug which we should fix.

My sense is that this patch is a good first step in that direction, but perhaps the function should live elsewhere.  Thoughts?  Suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272743</commentid>
    <comment_count>12</comment_count>
      <attachid>66199</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-09-01 04:44:59 -0700</bug_when>
    <thetext>Created attachment 66199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272744</commentid>
    <comment_count>13</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-01 04:45:09 -0700</bug_when>
    <thetext>Attachment 66197 did not build on qt:
Build output: http://queues.webkit.org/results/3970017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272748</commentid>
    <comment_count>14</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-09-01 04:54:34 -0700</bug_when>
    <thetext>(In reply to comment #13)
Update patch should build.

(In reply to comment #11)
&gt; Alexey suggested that the value of the &quot;lang&quot; attribute can be accessed by JS via &quot;document.defaultView.getComputedStyle(document.body, null).getPropertyValue(&quot;lang&quot;)&quot;; and so we should be able to do something similar.  However, when I investigated this I found that |getComputedStyle| in JS does not include the &quot;lang&quot; attribute.  That seems like a bug which we should fix.

I take it back, I don&apos;t think this is a bug -- &quot;lang&quot; is a CSS selector, not a property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273041</commentid>
    <comment_count>15</comment_count>
      <attachid>66199</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-09-01 14:48:41 -0700</bug_when>
    <thetext>Comment on attachment 66199
Patch

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

&gt; WebKit/chromium/public/WebElement.h:61
&gt; +        // Returns the language code specified for the current node.  This
nit: &quot;the current node&quot; -&gt; &quot;this element&quot;

The Chromium API changes LGTM save for the nit above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273043</commentid>
    <comment_count>16</comment_count>
      <attachid>66280</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-09-01 14:56:44 -0700</bug_when>
    <thetext>Created attachment 66280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273091</commentid>
    <comment_count>17</comment_count>
      <attachid>66280</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-01 16:13:38 -0700</bug_when>
    <thetext>Comment on attachment 66280
Patch

Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273244</commentid>
    <comment_count>18</comment_count>
      <attachid>66280</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-02 00:53:07 -0700</bug_when>
    <thetext>Comment on attachment 66280
Patch

Clearing flags on attachment: 66280

Committed r66647: &lt;http://trac.webkit.org/changeset/66647&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273245</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-02 00:53:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65781</attachid>
            <date>2010-08-27 16:12:05 -0700</date>
            <delta_ts>2010-08-27 18:11:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100827161204.patch</filename>
            <type>text/plain</type>
            <size>6013</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2ZhNjAxM2IyODcxMmQzYThjMTM3OTA2YzkzZTk3ODE4NjMwMjM3OC4uMGQ3MzQxYzhjMWU5ZWQ3
MjAzMGRhN2UxOWFlMTE0NWIxNGE3YjdkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOC0yNyAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvbXBvc2UgY29tcHV0aW5nIGFuIGVsZW1lbnQn
cyBjb21wdXRlZCBsYW5ndWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDQ4MDMKKworICAgICAgICBObyBuZXcgdGVzdHMgLS0ganVzdCByZWZhY3Rv
cmluZyBjb2RlLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNl
bGVjdG9yKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpjb21wdXRlZExhbmcpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisKIDIwMTAt
MDgtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBBdHRlbXB0
IHRvIGZpeCB0aGUgV2luZG93cyBidWlsZC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXgg
MGJhNjNlMDdjNDQwMmJmZTVmMzBlYzJiZjlkMjE0MWE0Yjg1MGJkNC4uNWI4N2U1ODY1NDM4MTdh
ZDQ0ZDdiYzdmM2ViZDc1YmRiNWIyYTE4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAg
LTI2MjAsMjIgKzI2MjAsNyBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tl
cjo6Y2hlY2tPbmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0xhbmc6IHsKLSAgICAgICAgICAgICAgICBOb2RlKiBu
ID0gZTsKLSAgICAgICAgICAgICAgICBBdG9taWNTdHJpbmcgdmFsdWU7Ci0gICAgICAgICAgICAg
ICAgLy8gVGhlIGxhbmd1YWdlIHByb3BlcnR5IGlzIGluaGVyaXRlZCwgc28gd2UgaXRlcmF0ZSBv
dmVyIHRoZSBwYXJlbnRzCi0gICAgICAgICAgICAgICAgLy8gdG8gZmluZCB0aGUgZmlyc3QgbGFu
Z3VhZ2UuCi0gICAgICAgICAgICAgICAgd2hpbGUgKG4gJiYgdmFsdWUuaXNOdWxsKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gU3BlYzogeG1sOmxhbmcgdGFrZXMgcHJlY2VkZW5jZSAtLSBodHRwOi8v
d3d3LnczLm9yZy9UUi94aHRtbDEvI0NfNwotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUg
PSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obiktPmZhc3RHZXRBdHRyaWJ1dGUoWE1MTmFtZXM6Omxh
bmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pc051bGwoKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihu
KS0+ZmFzdEdldEF0dHJpYnV0ZShsYW5nQXR0cik7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAobi0+aXNEb2N1bWVudE5vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNo
ZWNraW5nIHRoZSBNSU1FIGNvbnRlbnQtbGFuZ3VhZ2UKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZhbHVlID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihuKS0+Y29udGVudExhbmd1YWdlKCk7Ci0K
LSAgICAgICAgICAgICAgICAgICAgbiA9IG4tPnBhcmVudCgpOwotICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBBdG9taWNTdHJpbmcgdmFsdWUgPSBlLT5jb21wdXRlZExhbmcoKTsK
ICAgICAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFyZ3VtZW50ID0gc2VsLT5hcmd1
bWVudCgpOwogICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkgfHwgIXZhbHVlLnN0
YXJ0c1dpdGgoYXJndW1lbnQsIGZhbHNlKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCmluZGV4IDc1MDI4NjRlN2VlMTJkYTk2YTg1ZDY5N2NlZTM5ZTI5MjY3NDk5OGQuLjRlM2Nl
ZWQzY2NmNzUxZGMzOGVhNTQ2NWJjN2NjNjZjNjM5OWU1YTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xNDIwLDYg
KzE0MjAsMjkgQEAgUmVuZGVyU3R5bGUqIEVsZW1lbnQ6OmNvbXB1dGVkU3R5bGUoUHNldWRvSWQg
cHNldWRvRWxlbWVudFNwZWNpZmllcikKICAgICByZXR1cm4gcHNldWRvRWxlbWVudFNwZWNpZmll
ciA/IGRhdGEtPm1fY29tcHV0ZWRTdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUocHNldWRvRWxl
bWVudFNwZWNpZmllcikgOiBkYXRhLT5tX2NvbXB1dGVkU3R5bGUuZ2V0KCk7CiB9CiAKK0F0b21p
Y1N0cmluZyBFbGVtZW50Ojpjb21wdXRlZExhbmcoKSBjb25zdAoreworICAgIGNvbnN0IE5vZGUq
IG4gPSB0aGlzOworICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKKyAgICAvLyBUaGUgbGFuZ3VhZ2Ug
cHJvcGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMgdG8K
KyAgICAvLyBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KKyAgICB3aGlsZSAobiAmJiB2YWx1ZS5p
c051bGwoKSkgeworICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAg
ICAvLyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3Jn
L1RSL3hodG1sMS8jQ183CisgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IEVs
ZW1lbnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOworICAgICAg
ICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgICAgIHZhbHVlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgRWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bGFu
Z0F0dHIpOworICAgICAgICB9IGVsc2UgaWYgKG4tPmlzRG9jdW1lbnROb2RlKCkpIHsKKyAgICAg
ICAgICAgIC8vIGNoZWNraW5nIHRoZSBNSU1FIGNvbnRlbnQtbGFuZ3VhZ2UKKyAgICAgICAgICAg
IHZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQqPihuKS0+Y29udGVudExhbmd1YWdl
KCk7CisgICAgICAgIH0KKworICAgICAgICBuID0gbi0+cGFyZW50KCk7CisgICAgfQorCisgICAg
cmV0dXJuIHZhbHVlOworfQorCiB2b2lkIEVsZW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVw
ZGF0ZSgpCiB7CiAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNTcwZWUwYTNjYjE3ZWJh
Yjc2YjcxOGYxZDliNjNlZWYyZmQwMmRkNi4uNzk4YTdkNzI2OWQwMjMyOWI0Zjk0MGJjNjU4YWVi
M2M4ZDZjN2Y3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtMjE4LDYgKzIxOCw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRl
clN0eWxlKiBjb21wdXRlZFN0eWxlKFBzZXVkb0lkID0gTk9QU0VVRE8pOwogCisgICAgQXRvbWlj
U3RyaW5nIGNvbXB1dGVkTGFuZygpIGNvbnN0OworCiAgICAgdm9pZCBkaXNwYXRjaEF0dHJSZW1v
dmFsRXZlbnQoQXR0cmlidXRlKik7CiAgICAgdm9pZCBkaXNwYXRjaEF0dHJBZGRpdGlvbkV2ZW50
KEF0dHJpYnV0ZSopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkMjY0MjkxNTkzNGM2NThiMWMyZWViYTQ4
MTBkOWQ0ZDA4YmRkZWJlLi5iMGI3MTcyODVjNTNhNGZjYzljZTIzMzRmOTFkMzM0ZWYxNGI5MTVk
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0yNyAgSWx5YSBTaGVybWFu
ICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBEZWNvbXBvc2UgY29tcHV0aW5nIGFuIGVsZW1lbnQncyBjb21wdXRl
ZCBsYW5ndWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDQ4MDMKKworICAgICAgICAqIHB1YmxpYy9XZWJFbGVtZW50Lmg6CisgICAgICAgICogc3Jj
L1dlYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50Ojpjb21wdXRlZExh
bmcpOgorCiAyMDEwLTA4LTI3ICBNaWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJFbGVtZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkVsZW1lbnQuaAppbmRleCAxNmE4MmQ4Y2JhNjg2NWNjMmFhNDk3M2VjZDg3NWEwOTNiMTc0MDU5
Li40YWZiZjQ0MDI5NDczZGVmODQ0Njg4ZmFlMTUzMDJkYTE3YzI3YTY2IDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkVsZW1lbnQuaApAQCAtNTYsNiArNTYsNyBAQCBjbGFzcyBXZWJOYW1lZE5vZGVN
YXA7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIGdldEF0dHJpYnV0ZShjb25zdCBXZWJT
dHJpbmcmKSBjb25zdDsKICAgICAgICAgV0VCS0lUX0FQSSBib29sIHNldEF0dHJpYnV0ZShjb25z
dCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYgdmFsdWUpOwogICAgICAgICBXRUJL
SVRfQVBJIFdlYk5hbWVkTm9kZU1hcCBhdHRyaWJ1dGVzKCkgY29uc3Q7CisgICAgICAgIFdFQktJ
VF9BUEkgV2ViU3RyaW5nIGNvbXB1dGVkTGFuZygpIGNvbnN0OwogICAgICAgICBXRUJLSVRfQVBJ
IFdlYlN0cmluZyBpbm5lclRleHQoKSBjb25zdDsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElP
TgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKaW5kZXggZjQ1Y2JhOWZhODg3MTdmZTAzMjFl
ZThkM2FjZGJmYTk1YTZmNDc0ZC4uODNjYWNjNmFmOTIzYmMzZWYwOWYxZGZlMWU2YmEwYmQxZTE2
MzI2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwCkBAIC04MCw2ICs4MCwxMSBAQCBX
ZWJOYW1lZE5vZGVNYXAgV2ViRWxlbWVudDo6YXR0cmlidXRlcygpIGNvbnN0CiAgICAgcmV0dXJu
IFdlYk5hbWVkTm9kZU1hcChtX3ByaXZhdGUtPmF0dHJpYnV0ZXMoKSk7CiB9CiAKK1dlYlN0cmlu
ZyBXZWJFbGVtZW50Ojpjb21wdXRlZExhbmcoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJp
bmcoY29uc3RVbndyYXA8RWxlbWVudD4oKS0+Y29tcHV0ZWRMYW5nKCkpOworfQorCiBXZWJTdHJp
bmcgV2ViRWxlbWVudDo6aW5uZXJUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gY29uc3RVbndy
YXA8RWxlbWVudD4oKS0+aW5uZXJUZXh0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65798</attachid>
            <date>2010-08-27 18:11:45 -0700</date>
            <delta_ts>2010-08-30 11:41:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100827181143.patch</filename>
            <type>text/plain</type>
            <size>6246</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGY0MDUyZjBkMWE2YjJlZjljNTU3MThiZjcxNDBjOTVkMjJjNDU0Mi4uMGVhOGZlMzVmODdlYzc4
YTlhMGU2MDNlOGY3NDdkNjRjNTZhNTg5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0yNyAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvbXBvc2UgY29tcHV0aW5nIGFuIGVsZW1lbnQn
cyBpbmhlcml0ZWQgbGFuZ3VhZ2UsIGV4cG9zZSB0aGlzCisgICAgICAgIGNhcGFiaWxpdHkgdG8g
Y2xpZW50cyAoaW4gcGFydGljdWxhciwgZm9yIENocm9taXVtKS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAzCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIC0tIGp1c3QgcmVmYWN0b3JpbmcgKyBleHBvc2luZyBjb2RlLgorCisgICAgICAgICogY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFu
Zyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwogMjAxMC0wOC0yNyAgTWFydGluIFJvYmlu
c29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExv
cGV6LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAwYmE2M2UwN2M0NDAyYmZlNWYzMGVj
MmJmOWQyMTQxYTRiODUwYmQ0Li4zMGM3NmNlZjBmMDc2YmJhZDc5ZjdmNDVmYWUzMjA1N2QwY2E5
N2VkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjYyMCwyMiArMjYyMCw3IEBAIGJv
b2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENT
U1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvTGFuZzogewotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlOwotICAgICAgICAgICAgICAg
IEF0b21pY1N0cmluZyB2YWx1ZTsKLSAgICAgICAgICAgICAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJv
cGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMKLSAgICAg
ICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KLSAgICAgICAgICAgICAg
ICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
bi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGVjOiB4
bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS8j
Q183Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQq
PihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKGxh
bmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuLT5pc0RvY3VtZW50Tm9k
ZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2tpbmcgdGhlIE1JTUUgY29udGVu
dC1sYW5ndWFnZQotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG4pLT5jb250ZW50TGFuZ3VhZ2UoKTsKLQotICAgICAgICAgICAgICAgICAgICBu
ID0gbi0+cGFyZW50KCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEF0b21p
Y1N0cmluZyB2YWx1ZSA9IGUtPmNvbXB1dGVJbmhlcml0ZWRMYW5nKCk7CiAgICAgICAgICAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCA9IHNlbC0+YXJndW1lbnQoKTsKICAgICAg
ICAgICAgICAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8ICF2YWx1ZS5zdGFydHNXaXRoKGFyZ3Vt
ZW50LCBmYWxzZSkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAzOWJm
MzkzN2I5MjM5NmMxM2U4YTM1ZTg5YzA5ZmFiMWYwMzgxZTEyLi5iY2UxYmU0ZWE1Y2I1NTU3MWNm
NzI2YzIxZmYyYTE0MDFmNzA0ZGEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTQyMyw2ICsxNDIzLDI5IEBAIFJl
bmRlclN0eWxlKiBFbGVtZW50Ojpjb21wdXRlZFN0eWxlKFBzZXVkb0lkIHBzZXVkb0VsZW1lbnRT
cGVjaWZpZXIpCiAgICAgcmV0dXJuIHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIgPyBkYXRhLT5tX2Nv
bXB1dGVkU3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIp
IDogZGF0YS0+bV9jb21wdXRlZFN0eWxlLmdldCgpOwogfQogCitBdG9taWNTdHJpbmcgRWxlbWVu
dDo6Y29tcHV0ZUluaGVyaXRlZExhbmcoKSBjb25zdAoreworICAgIGNvbnN0IE5vZGUqIG4gPSB0
aGlzOworICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKKyAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJvcGVy
dHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMgdG8KKyAgICAv
LyBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KKyAgICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwo
KSkgeworICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAvLyBT
cGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RSL3ho
dG1sMS8jQ183CisgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IEVsZW1lbnQq
PihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOworICAgICAgICAgICAg
aWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8
Y29uc3QgRWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bGFuZ0F0dHIp
OworICAgICAgICB9IGVsc2UgaWYgKG4tPmlzRG9jdW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAg
IC8vIGNoZWNraW5nIHRoZSBNSU1FIGNvbnRlbnQtbGFuZ3VhZ2UKKyAgICAgICAgICAgIHZhbHVl
ID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQqPihuKS0+Y29udGVudExhbmd1YWdlKCk7Cisg
ICAgICAgIH0KKworICAgICAgICBuID0gbi0+cGFyZW50KCk7CisgICAgfQorCisgICAgcmV0dXJu
IHZhbHVlOworfQorCiB2b2lkIEVsZW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgp
CiB7CiAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNTcwZWUwYTNjYjE3ZWJhYjc2Yjcx
OGYxZDliNjNlZWYyZmQwMmRkNi4uNjFiYzNmOTdhMTcwY2FlMTJjNzg4MTY2YjcwZmJlNDRmNmY3
Y2ViMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtMjE4LDYgKzIxOCw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlclN0eWxl
KiBjb21wdXRlZFN0eWxlKFBzZXVkb0lkID0gTk9QU0VVRE8pOwogCisgICAgQXRvbWljU3RyaW5n
IGNvbXB1dGVJbmhlcml0ZWRMYW5nKCkgY29uc3Q7CisKICAgICB2b2lkIGRpc3BhdGNoQXR0clJl
bW92YWxFdmVudChBdHRyaWJ1dGUqKTsKICAgICB2b2lkIGRpc3BhdGNoQXR0ckFkZGl0aW9uRXZl
bnQoQXR0cmlidXRlKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGE2NGUxYTk4M2E3OTVlMWJhYzFmNWZh
YjBhMzc3YzhiNzFlMmIwNzIuLmU4MTVmOGFkMDkzNTQ5ZjdmYWVhNzk3OGRiOWIyN2E5Nzk1MDky
NmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA4LTI3ICBJbHlhIFNoZXJt
YW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEV4cG9zaW5nIGNvbXB1dGluZyBhbiBlbGVtZW50J3MgaW5oZXJp
dGVkIGxhbmd1YWdlLCBwZXIgdGhlIERPTSwgaW4gdGhlCisgICAgICAgIENocm9taXVtIEFQSSwg
cHJpbWFyaWx5IGZvciB1c2Ugd2l0aCBhdXRvZmlsbCBpMThuLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4MDMKKworICAgICAgICAqIHB1YmxpYy9X
ZWJFbGVtZW50Lmg6CisgICAgICAgICogc3JjL1dlYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFuZyk6CisKIDIwMTAtMDgtMjcgIEtp
bnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IER1bWl0cnUgRGFuaWxpdWMuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkVsZW1lbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCmluZGV4IDE2
YTgyZDhjYmE2ODY1Y2MyYWE0OTczZWNkODc1YTA5M2IxNzQwNTkuLjFhNDNiMDdjMTIzYWIzMGNk
MGNiZWU2OWZmMzY4M2NmYjIzNDg2NzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRWxlbWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5o
CkBAIC01Niw2ICs1Niw3IEBAIGNsYXNzIFdlYk5hbWVkTm9kZU1hcDsKICAgICAgICAgV0VCS0lU
X0FQSSBXZWJTdHJpbmcgZ2V0QXR0cmlidXRlKGNvbnN0IFdlYlN0cmluZyYpIGNvbnN0OwogICAg
ICAgICBXRUJLSVRfQVBJIGJvb2wgc2V0QXR0cmlidXRlKGNvbnN0IFdlYlN0cmluZyYgbmFtZSwg
Y29uc3QgV2ViU3RyaW5nJiB2YWx1ZSk7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViTmFtZWROb2Rl
TWFwIGF0dHJpYnV0ZXMoKSBjb25zdDsKKyAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgY29t
cHV0ZUluaGVyaXRlZExhbmcoKSBjb25zdDsKICAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcg
aW5uZXJUZXh0KCkgY29uc3Q7CiAKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkVsZW1lbnQuY3BwCmluZGV4IGY0NWNiYTlmYTg4NzE3ZmUwMzIxZWU4ZDNhY2RiZmE5
NWE2ZjQ3NGQuLjc3Y2YzMTdjMjVhYmE2YTM4MjZmMDc0NGQ1YzcxYzg2N2VjNjM2MTIgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcApAQCAtODAsNiArODAsMTEgQEAgV2ViTmFtZWROb2Rl
TWFwIFdlYkVsZW1lbnQ6OmF0dHJpYnV0ZXMoKSBjb25zdAogICAgIHJldHVybiBXZWJOYW1lZE5v
ZGVNYXAobV9wcml2YXRlLT5hdHRyaWJ1dGVzKCkpOwogfQogCitXZWJTdHJpbmcgV2ViRWxlbWVu
dDo6Y29tcHV0ZUluaGVyaXRlZExhbmcoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJpbmco
Y29uc3RVbndyYXA8RWxlbWVudD4oKS0+Y29tcHV0ZUluaGVyaXRlZExhbmcoKSk7Cit9CisKIFdl
YlN0cmluZyBXZWJFbGVtZW50Ojppbm5lclRleHQoKSBjb25zdAogewogICAgIHJldHVybiBjb25z
dFVud3JhcDxFbGVtZW50PigpLT5pbm5lclRleHQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65933</attachid>
            <date>2010-08-30 11:41:10 -0700</date>
            <delta_ts>2010-09-01 04:23:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100830114108.patch</filename>
            <type>text/plain</type>
            <size>6510</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOGNjYzY1NDhjOGNiZjc5NGMwMmNmY2NkODE1ZTQxMTdhZS4uNGJiMDY2MWUzZWNhZDhi
MjM0ODEyYzNkY2FjNzM5MWMyNmI4MTBiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0zMCAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KKworICAgICAgICBEZWNvbXBvc2UgY29tcHV0aW5nIGFuIGVsZW1lbnQncyBp
bmhlcml0ZWQgbGFuZ3VhZ2UsIGV4cG9zZSB0aGlzCisgICAgICAgIGNhcGFiaWxpdHkgdG8gY2xp
ZW50cyAoaW4gcGFydGljdWxhciwgZm9yIENocm9taXVtKS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAzCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IC0tIGp1c3QgcmVmYWN0b3JpbmcgKyBleHBvc2luZyBjb2RlLgorCisgICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFuZyk6
CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwogMjAxMC0wOC0zMCAgRXJpYyBDYXJsc29uICA8
ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0
ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA4NjU3ODQzMjdhYzlmZmFmYTIzNGJi
NThjZjcwN2E1OWQ0NzljNTkxLi4wYjZmOTE5MzZlNWJlYjMyZDg2ZmUxY2MwMDMwZTA4OTIxOTlk
MjEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjYwMSwyMiArMjYwMSw3IEBAIGJv
b2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENT
U1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvTGFuZzogewotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlOwotICAgICAgICAgICAgICAg
IEF0b21pY1N0cmluZyB2YWx1ZTsKLSAgICAgICAgICAgICAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJv
cGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMKLSAgICAg
ICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KLSAgICAgICAgICAgICAg
ICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
bi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGVjOiB4
bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS8j
Q183Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQq
PihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKGxh
bmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuLT5pc0RvY3VtZW50Tm9k
ZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2tpbmcgdGhlIE1JTUUgY29udGVu
dC1sYW5ndWFnZQotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG4pLT5jb250ZW50TGFuZ3VhZ2UoKTsKLQotICAgICAgICAgICAgICAgICAgICBu
ID0gbi0+cGFyZW50KCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEF0b21p
Y1N0cmluZyB2YWx1ZSA9IGUtPmNvbXB1dGVJbmhlcml0ZWRMYW5nKCk7CiAgICAgICAgICAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCA9IHNlbC0+YXJndW1lbnQoKTsKICAgICAg
ICAgICAgICAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8ICF2YWx1ZS5zdGFydHNXaXRoKGFyZ3Vt
ZW50LCBmYWxzZSkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAzOWJm
MzkzN2I5MjM5NmMxM2U4YTM1ZTg5YzA5ZmFiMWYwMzgxZTEyLi40OWViNTA1MTZhMDdlZDY0MGNj
YjM5OTEwNWI5OWYyNjBhMDlkZmI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTQyMyw2ICsxNDIzLDI4IEBAIFJl
bmRlclN0eWxlKiBFbGVtZW50Ojpjb21wdXRlZFN0eWxlKFBzZXVkb0lkIHBzZXVkb0VsZW1lbnRT
cGVjaWZpZXIpCiAgICAgcmV0dXJuIHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIgPyBkYXRhLT5tX2Nv
bXB1dGVkU3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIp
IDogZGF0YS0+bV9jb21wdXRlZFN0eWxlLmdldCgpOwogfQogCitBdG9taWNTdHJpbmcgRWxlbWVu
dDo6Y29tcHV0ZUluaGVyaXRlZExhbmcoKSBjb25zdAoreworICAgIGNvbnN0IE5vZGUqIG4gPSB0
aGlzOworICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKKyAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJvcGVy
dHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMgdG8gZmluZCB0
aGUgZmlyc3QgbGFuZ3VhZ2UuCisgICAgd2hpbGUgKG4gJiYgdmFsdWUuaXNOdWxsKCkpIHsKKyAg
ICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAgLy8gU3BlYzogeG1s
OmxhbmcgdGFrZXMgcHJlY2VkZW5jZSAtLSBodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvI0Nf
NworICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBFbGVtZW50Kj4obiktPmZh
c3RHZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRyKTsKKyAgICAgICAgICAgIGlmICh2YWx1
ZS5pc051bGwoKSkKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IEVs
ZW1lbnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmxhbmdBdHRyKTsKKyAgICAg
ICAgfSBlbHNlIGlmIChuLT5pc0RvY3VtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAvLyBjaGVj
a2luZyB0aGUgTUlNRSBjb250ZW50LWxhbmd1YWdlCisgICAgICAgICAgICB2YWx1ZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IERvY3VtZW50Kj4obiktPmNvbnRlbnRMYW5ndWFnZSgpOworICAgICAgICB9
CisKKyAgICAgICAgbiA9IG4tPnBhcmVudCgpOworICAgIH0KKworICAgIHJldHVybiB2YWx1ZTsK
K30KKwogdm9pZCBFbGVtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQogewogICAg
IGlmIChoYXNSYXJlRGF0YSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDU3MGVlMGEzY2IxN2ViYWI3NmI3MThmMWQ5YjYz
ZWVmMmZkMDJkZDYuLjYxYmMzZjk3YTE3MGNhZTEyYzc4ODE2NmI3MGZiZTQ0ZjZmN2NlYjIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTIxOCw2ICsyMTgsOCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJTdHlsZSogY29tcHV0
ZWRTdHlsZShQc2V1ZG9JZCA9IE5PUFNFVURPKTsKIAorICAgIEF0b21pY1N0cmluZyBjb21wdXRl
SW5oZXJpdGVkTGFuZygpIGNvbnN0OworCiAgICAgdm9pZCBkaXNwYXRjaEF0dHJSZW1vdmFsRXZl
bnQoQXR0cmlidXRlKik7CiAgICAgdm9pZCBkaXNwYXRjaEF0dHJBZGRpdGlvbkV2ZW50KEF0dHJp
YnV0ZSopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5MGQ5NDYwYjA0YjUxYjFhZjJhN2UxZTg5ZjdjYmJm
MDM2ODZlZWExLi5mZDIwMTBlNGNjNDA3MDMxODdiZjQ0YzBjNzk0YWFjYTU0OGE1MzY3IDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wOC0zMCAgSWx5YSBTaGVybWFuICA8aXNo
ZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisK
KyAgICAgICAgRXhwb3NpbmcgY29tcHV0aW5nIGFuIGVsZW1lbnQncyBpbmhlcml0ZWQgbGFuZ3Vh
Z2UsIHBlciB0aGUgRE9NLCBpbiB0aGUKKyAgICAgICAgQ2hyb21pdW0gQVBJIC0tIHByaW1hcmls
eSBmb3IgdXNlIHdpdGggYXV0b2ZpbGwgaTE4bi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRWxlbWVu
dC5oOgorICAgICAgICAqIHNyYy9XZWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RWxlbWVudDo6Y29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKToKKwogMjAxMC0wOC0zMCAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjY2MTk4LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJFbGVtZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAppbmRl
eCAxNmE4MmQ4Y2JhNjg2NWNjMmFhNDk3M2VjZDg3NWEwOTNiMTc0MDU5Li5kZDFkM2FmNjIyZjg0
OTZlZTg3Y2M5Y2E3ZDVjZGU3OGJmNWNiNWQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkVsZW1lbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1l
bnQuaApAQCAtNTgsNiArNTgsMTIgQEAgY2xhc3MgV2ViTmFtZWROb2RlTWFwOwogICAgICAgICBX
RUJLSVRfQVBJIFdlYk5hbWVkTm9kZU1hcCBhdHRyaWJ1dGVzKCkgY29uc3Q7CiAgICAgICAgIFdF
QktJVF9BUEkgV2ViU3RyaW5nIGlubmVyVGV4dCgpIGNvbnN0OwogCisgICAgICAgIC8vIFJldHVy
bnMgdGhlIGxhbmd1YWdlIGNvZGUgc3BlY2lmaWVkIGZvciB0aGUgY3VycmVudCBub2RlLiAgVGhp
cworICAgICAgICAvLyBhdHRyaWJ1dGUgaXMgaW5oZXJpdGVkLCBzbyB0aGUgcmV0dXJuZWQgdmFs
dWUgaXMgZHJhd24gZnJvbSB0aGUKKyAgICAgICAgLy8gY2xvc2VzdCBwYXJlbnQgZWxlbWVudCB0
aGF0IGhhcyB0aGUgbGFuZyBhdHRyaWJ1dGUgc2V0LCBvciBmcm9tIHRoZQorICAgICAgICAvLyBI
VFRQICJDb250ZW50LUxhbmd1YWdlIiBoZWFkZXIgYXMgYSBmYWxsYmFjay4KKyAgICAgICAgV0VC
S0lUX0FQSSBXZWJTdHJpbmcgY29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCkgY29uc3Q7CisKICNp
ZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICAgICAgV2ViRWxlbWVudChjb25zdCBXVEY6OlBh
c3NSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mKTsKICAgICAgICAgV2ViRWxlbWVudCYgb3BlcmF0
b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRWxlbWVudC5jcHAKaW5kZXggZjQ1Y2JhOWZhODg3MTdmZTAzMjFlZThkM2FjZGJmYTk1
YTZmNDc0ZC4uZDk1YmQ3NDgzNTFmMmI4MWY0NzY5YTI5YTUxM2RjZGI3MmJlYTlmYyAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwCkBAIC04NSw2ICs4NSwxMSBAQCBXZWJTdHJpbmcgV2Vi
RWxlbWVudDo6aW5uZXJUZXh0KCkgY29uc3QKICAgICByZXR1cm4gY29uc3RVbndyYXA8RWxlbWVu
dD4oKS0+aW5uZXJUZXh0KCk7CiB9CiAKK1dlYlN0cmluZyBXZWJFbGVtZW50Ojpjb21wdXRlSW5o
ZXJpdGVkTGFuZ3VhZ2UoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJpbmcoY29uc3RVbndy
YXA8RWxlbWVudD4oKS0+Y29tcHV0ZUluaGVyaXRlZExhbmcoKSk7Cit9CisKIFdlYkVsZW1lbnQ6
OldlYkVsZW1lbnQoY29uc3QgUGFzc1JlZlB0cjxFbGVtZW50PiYgZWxlbSkKICAgICA6IFdlYk5v
ZGUoZWxlbSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66197</attachid>
            <date>2010-09-01 04:23:04 -0700</date>
            <delta_ts>2010-09-01 04:44:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100901042302.patch</filename>
            <type>text/plain</type>
            <size>6542</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOGNjYzY1NDhjOGNiZjc5NGMwMmNmY2NkODE1ZTQxMTdhZS4uNGU4NmQ5NTkwNjNkZjFh
MDUxNDRhNzY0MjM4OTk4MzFmNmZmNDI3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0zMCAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbCBhbmQgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBEZWNvbXBvc2Ug
Y29tcHV0aW5nIGFuIGVsZW1lbnQncyBpbmhlcml0ZWQgbGFuZ3VhZ2UsIGV4cG9zZSB0aGlzCisg
ICAgICAgIGNhcGFiaWxpdHkgdG8gY2xpZW50cyAoaW4gcGFydGljdWxhciwgZm9yIENocm9taXVt
KS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAz
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIGp1c3QgcmVmYWN0b3JpbmcgKyBleHBvc2luZyBj
b2RlLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9y
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
Ojpjb21wdXRlSW5oZXJpdGVkTGFuZyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwogMjAx
MC0wOC0zMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRl
eCA4NjU3ODQzMjdhYzlmZmFmYTIzNGJiNThjZjcwN2E1OWQ0NzljNTkxLi4wYjZmOTE5MzZlNWJl
YjMyZDg2ZmUxY2MwMDMwZTA4OTIxOTlkMjEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApA
QCAtMjYwMSwyMiArMjYwMSw3IEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZVNlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTGFuZzogewotICAgICAgICAgICAgICAgIE5vZGUq
IG4gPSBlOwotICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKLSAgICAgICAgICAg
ICAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJvcGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRl
IG92ZXIgdGhlIHBhcmVudHMKLSAgICAgICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBmaXJzdCBs
YW5ndWFnZS4KLSAgICAgICAgICAgICAgICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgewot
ICAgICAgICAgICAgICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6
Ly93d3cudzMub3JnL1RSL3hodG1sMS8jQ183Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1
ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6
bGFuZ0F0dHIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KG4pLT5mYXN0R2V0QXR0cmlidXRlKGxhbmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmIChuLT5pc0RvY3VtZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Y2hlY2tpbmcgdGhlIE1JTUUgY29udGVudC1sYW5ndWFnZQotICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG4pLT5jb250ZW50TGFuZ3VhZ2UoKTsK
LQotICAgICAgICAgICAgICAgICAgICBuID0gbi0+cGFyZW50KCk7Ci0gICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyB2YWx1ZSA9IGUtPmNvbXB1dGVJbmhlcml0
ZWRMYW5nKCk7CiAgICAgICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCA9
IHNlbC0+YXJndW1lbnQoKTsKICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8
ICF2YWx1ZS5zdGFydHNXaXRoKGFyZ3VtZW50LCBmYWxzZSkpCiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAppbmRleCAzOWJmMzkzN2I5MjM5NmMxM2U4YTM1ZTg5YzA5ZmFiMWYwMzgx
ZTEyLi4xODU1MTAxZTdmMTdkMjViM2NkNTZjZGI4MDc5YmM5OWZmMTM2NWU3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtMTQyMyw2ICsxNDIzLDI4IEBAIFJlbmRlclN0eWxlKiBFbGVtZW50Ojpjb21wdXRlZFN0eWxl
KFBzZXVkb0lkIHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpCiAgICAgcmV0dXJuIHBzZXVkb0VsZW1l
bnRTcGVjaWZpZXIgPyBkYXRhLT5tX2NvbXB1dGVkU3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxl
KHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpIDogZGF0YS0+bV9jb21wdXRlZFN0eWxlLmdldCgpOwog
fQogCitBdG9taWNTdHJpbmcgRWxlbWVudDo6Y29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCkgY29u
c3QKK3sKKyAgICBjb25zdCBOb2RlKiBuID0gdGhpczsKKyAgICBBdG9taWNTdHJpbmcgdmFsdWU7
CisgICAgLy8gVGhlIGxhbmd1YWdlIHByb3BlcnR5IGlzIGluaGVyaXRlZCwgc28gd2UgaXRlcmF0
ZSBvdmVyIHRoZSBwYXJlbnRzIHRvIGZpbmQgdGhlIGZpcnN0IGxhbmd1YWdlLgorICAgIHdoaWxl
IChuICYmIHZhbHVlLmlzTnVsbCgpKSB7CisgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkp
IHsKKyAgICAgICAgICAgIC8vIFNwZWM6IHhtbDpsYW5nIHRha2VzIHByZWNlZGVuY2UgLS0gaHR0
cDovL3d3dy53My5vcmcvVFIveGh0bWwxLyNDXzcKKyAgICAgICAgICAgIHZhbHVlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgRWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKFhNTE5hbWVzOjpsYW5n
QXR0cik7CisgICAgICAgICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAg
dmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBFbGVtZW50Kj4obiktPmZhc3RHZXRBdHRyaWJ1dGUo
SFRNTE5hbWVzOjpsYW5nQXR0cik7CisgICAgICAgIH0gZWxzZSBpZiAobi0+aXNEb2N1bWVudE5v
ZGUoKSkgeworICAgICAgICAgICAgLy8gY2hlY2tpbmcgdGhlIE1JTUUgY29udGVudC1sYW5ndWFn
ZQorICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCo+KG4pLT5j
b250ZW50TGFuZ3VhZ2UoKTsKKyAgICAgICAgfQorCisgICAgICAgIG4gPSBuLT5wYXJlbnQoKTsK
KyAgICB9CisKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKIHZvaWQgRWxlbWVudDo6Y2FuY2VsRm9j
dXNBcHBlYXJhbmNlVXBkYXRlKCkKIHsKICAgICBpZiAoaGFzUmFyZURhdGEoKSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA1
NzBlZTBhM2NiMTdlYmFiNzZiNzE4ZjFkOWI2M2VlZjJmZDAyZGQ2Li41YmJkZGMyZTk3NDU4NGU1
ZDMzMTUxMDk4NWM3MDhjZWIyOWYzMjI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0yMTgsNiArMjE4LDggQEAgcHVibGlj
OgogCiAgICAgUmVuZGVyU3R5bGUqIGNvbXB1dGVkU3R5bGUoUHNldWRvSWQgPSBOT1BTRVVETyk7
CiAKKyAgICBBdG9taWNTdHJpbmcgY29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCkgY29uc3Q7CisK
ICAgICB2b2lkIGRpc3BhdGNoQXR0clJlbW92YWxFdmVudChBdHRyaWJ1dGUqKTsKICAgICB2b2lk
IGRpc3BhdGNoQXR0ckFkZGl0aW9uRXZlbnQoQXR0cmlidXRlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDkwZDk0NjBiMDRiNTFiMWFmMmE3ZTFlODlmN2NiYmYwMzY4NmVlYTEuLmZkMjAxMGU0Y2M0MDcw
MzE4N2JmNDRjMGM3OTRhYWNhNTQ4YTUzNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTA4LTMwICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBFeHBvc2luZyBjb21wdXRp
bmcgYW4gZWxlbWVudCdzIGluaGVyaXRlZCBsYW5ndWFnZSwgcGVyIHRoZSBET00sIGluIHRoZQor
ICAgICAgICBDaHJvbWl1bSBBUEkgLS0gcHJpbWFyaWx5IGZvciB1c2Ugd2l0aCBhdXRvZmlsbCBp
MThuLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4
MDMKKworICAgICAgICAqIHB1YmxpYy9XZWJFbGVtZW50Lmg6CisgICAgICAgICogc3JjL1dlYkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVk
TGFuZ3VhZ2UpOgorCiAyMDEwLTA4LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjYxOTguCmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaCBiL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCmluZGV4IDE2YTgyZDhjYmE2ODY1Y2MyYWE0OTcz
ZWNkODc1YTA5M2IxNzQwNTkuLmRkMWQzYWY2MjJmODQ5NmVlODdjYzljYTdkNWNkZTc4YmY1Y2I1
ZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCkBAIC01OCw2ICs1OCwxMiBAQCBj
bGFzcyBXZWJOYW1lZE5vZGVNYXA7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViTmFtZWROb2RlTWFw
IGF0dHJpYnV0ZXMoKSBjb25zdDsKICAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgaW5uZXJU
ZXh0KCkgY29uc3Q7CiAKKyAgICAgICAgLy8gUmV0dXJucyB0aGUgbGFuZ3VhZ2UgY29kZSBzcGVj
aWZpZWQgZm9yIHRoZSBjdXJyZW50IG5vZGUuICBUaGlzCisgICAgICAgIC8vIGF0dHJpYnV0ZSBp
cyBpbmhlcml0ZWQsIHNvIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBkcmF3biBmcm9tIHRoZQorICAg
ICAgICAvLyBjbG9zZXN0IHBhcmVudCBlbGVtZW50IHRoYXQgaGFzIHRoZSBsYW5nIGF0dHJpYnV0
ZSBzZXQsIG9yIGZyb20gdGhlCisgICAgICAgIC8vIEhUVFAgIkNvbnRlbnQtTGFuZ3VhZ2UiIGhl
YWRlciBhcyBhIGZhbGxiYWNrLgorICAgICAgICBXRUJLSVRfQVBJIFdlYlN0cmluZyBjb21wdXRl
SW5oZXJpdGVkTGFuZ3VhZ2UoKSBjb25zdDsKKwogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgog
ICAgICAgICBXZWJFbGVtZW50KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFbGVtZW50
PiYpOwogICAgICAgICBXZWJFbGVtZW50JiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRy
PFdlYkNvcmU6OkVsZW1lbnQ+Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkVsZW1lbnQuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcAppbmRleCBm
NDVjYmE5ZmE4ODcxN2ZlMDMyMWVlOGQzYWNkYmZhOTVhNmY0NzRkLi5kOTViZDc0ODM1MWYyYjgx
ZjQ3NjlhMjlhNTEzZGNkYjcyYmVhOWZjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkVsZW1lbnQuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAK
QEAgLTg1LDYgKzg1LDExIEBAIFdlYlN0cmluZyBXZWJFbGVtZW50Ojppbm5lclRleHQoKSBjb25z
dAogICAgIHJldHVybiBjb25zdFVud3JhcDxFbGVtZW50PigpLT5pbm5lclRleHQoKTsKIH0KIAor
V2ViU3RyaW5nIFdlYkVsZW1lbnQ6OmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFdlYlN0cmluZyhjb25zdFVud3JhcDxFbGVtZW50PigpLT5jb21wdXRlSW5o
ZXJpdGVkTGFuZygpKTsKK30KKwogV2ViRWxlbWVudDo6V2ViRWxlbWVudChjb25zdCBQYXNzUmVm
UHRyPEVsZW1lbnQ+JiBlbGVtKQogICAgIDogV2ViTm9kZShlbGVtKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66199</attachid>
            <date>2010-09-01 04:44:59 -0700</date>
            <delta_ts>2010-09-01 14:56:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100901044458.patch</filename>
            <type>text/plain</type>
            <size>6550</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOGNjYzY1NDhjOGNiZjc5NGMwMmNmY2NkODE1ZTQxMTdhZS4uNGU4NmQ5NTkwNjNkZjFh
MDUxNDRhNzY0MjM4OTk4MzFmNmZmNDI3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0zMCAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbCBhbmQgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBEZWNvbXBvc2Ug
Y29tcHV0aW5nIGFuIGVsZW1lbnQncyBpbmhlcml0ZWQgbGFuZ3VhZ2UsIGV4cG9zZSB0aGlzCisg
ICAgICAgIGNhcGFiaWxpdHkgdG8gY2xpZW50cyAoaW4gcGFydGljdWxhciwgZm9yIENocm9taXVt
KS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAz
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIGp1c3QgcmVmYWN0b3JpbmcgKyBleHBvc2luZyBj
b2RlLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9y
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
Ojpjb21wdXRlSW5oZXJpdGVkTGFuZyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwogMjAx
MC0wOC0zMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRl
eCA4NjU3ODQzMjdhYzlmZmFmYTIzNGJiNThjZjcwN2E1OWQ0NzljNTkxLi5kN2IzMGIzNjdiYWM0
ZTc4ZWIyODQ4YzM3YjE5ODRkMGM2NWVhYWMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApA
QCAtMjYwMSwyMiArMjYwMSw3IEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZVNlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTGFuZzogewotICAgICAgICAgICAgICAgIE5vZGUq
IG4gPSBlOwotICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKLSAgICAgICAgICAg
ICAgICAvLyBUaGUgbGFuZ3VhZ2UgcHJvcGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRl
IG92ZXIgdGhlIHBhcmVudHMKLSAgICAgICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBmaXJzdCBs
YW5ndWFnZS4KLSAgICAgICAgICAgICAgICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgewot
ICAgICAgICAgICAgICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6
Ly93d3cudzMub3JnL1RSL3hodG1sMS8jQ183Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1
ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6
bGFuZ0F0dHIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KG4pLT5mYXN0R2V0QXR0cmlidXRlKGxhbmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmIChuLT5pc0RvY3VtZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Y2hlY2tpbmcgdGhlIE1JTUUgY29udGVudC1sYW5ndWFnZQotICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG4pLT5jb250ZW50TGFuZ3VhZ2UoKTsK
LQotICAgICAgICAgICAgICAgICAgICBuID0gbi0+cGFyZW50KCk7Ci0gICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyB2YWx1ZSA9IGUtPmNvbXB1dGVJbmhlcml0
ZWRMYW5ndWFnZSgpOwogICAgICAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXJndW1l
bnQgPSBzZWwtPmFyZ3VtZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzRW1wdHko
KSB8fCAhdmFsdWUuc3RhcnRzV2l0aChhcmd1bWVudCwgZmFsc2UpKQogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMzliZjM5MzdiOTIzOTZjMTNlOGEzNWU4OWMwOWZhYjFm
MDM4MWUxMi4uMTg1NTEwMWU3ZjE3ZDI1YjNjZDU2Y2RiODA3OWJjOTlmZjEzNjVlNyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKQEAgLTE0MjMsNiArMTQyMywyOCBAQCBSZW5kZXJTdHlsZSogRWxlbWVudDo6Y29tcHV0ZWRT
dHlsZShQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyKQogICAgIHJldHVybiBwc2V1ZG9F
bGVtZW50U3BlY2lmaWVyID8gZGF0YS0+bV9jb21wdXRlZFN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9T
dHlsZShwc2V1ZG9FbGVtZW50U3BlY2lmaWVyKSA6IGRhdGEtPm1fY29tcHV0ZWRTdHlsZS5nZXQo
KTsKIH0KIAorQXRvbWljU3RyaW5nIEVsZW1lbnQ6OmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgp
IGNvbnN0Cit7CisgICAgY29uc3QgTm9kZSogbiA9IHRoaXM7CisgICAgQXRvbWljU3RyaW5nIHZh
bHVlOworICAgIC8vIFRoZSBsYW5ndWFnZSBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQsIHNvIHdlIGl0
ZXJhdGUgb3ZlciB0aGUgcGFyZW50cyB0byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KKyAgICB3
aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgeworICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9k
ZSgpKSB7CisgICAgICAgICAgICAvLyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0t
IGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS8jQ183CisgICAgICAgICAgICB2YWx1ZSA9IHN0
YXRpY19jYXN0PGNvbnN0IEVsZW1lbnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6
bGFuZ0F0dHIpOworICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAg
ICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6bGFuZ0F0dHIpOworICAgICAgICB9IGVsc2UgaWYgKG4tPmlzRG9jdW1l
bnROb2RlKCkpIHsKKyAgICAgICAgICAgIC8vIGNoZWNraW5nIHRoZSBNSU1FIGNvbnRlbnQtbGFu
Z3VhZ2UKKyAgICAgICAgICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQqPihu
KS0+Y29udGVudExhbmd1YWdlKCk7CisgICAgICAgIH0KKworICAgICAgICBuID0gbi0+cGFyZW50
KCk7CisgICAgfQorCisgICAgcmV0dXJuIHZhbHVlOworfQorCiB2b2lkIEVsZW1lbnQ6OmNhbmNl
bEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpCiB7CiAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5k
ZXggNTcwZWUwYTNjYjE3ZWJhYjc2YjcxOGYxZDliNjNlZWYyZmQwMmRkNi4uNWJiZGRjMmU5NzQ1
ODRlNWQzMzE1MTA5ODVjNzA4Y2ViMjlmMzIyOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxl
bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMjE4LDYgKzIxOCw4IEBAIHB1
YmxpYzoKIAogICAgIFJlbmRlclN0eWxlKiBjb21wdXRlZFN0eWxlKFBzZXVkb0lkID0gTk9QU0VV
RE8pOwogCisgICAgQXRvbWljU3RyaW5nIGNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpIGNvbnN0
OworCiAgICAgdm9pZCBkaXNwYXRjaEF0dHJSZW1vdmFsRXZlbnQoQXR0cmlidXRlKik7CiAgICAg
dm9pZCBkaXNwYXRjaEF0dHJBZGRpdGlvbkV2ZW50KEF0dHJpYnV0ZSopOwogCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCA5MGQ5NDYwYjA0YjUxYjFhZjJhN2UxZTg5ZjdjYmJmMDM2ODZlZWExLi5mZDIwMTBlNGNj
NDA3MDMxODdiZjQ0YzBjNzk0YWFjYTU0OGE1MzY3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMC0wOC0zMCAgSWx5YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgRXhwb3NpbmcgY29t
cHV0aW5nIGFuIGVsZW1lbnQncyBpbmhlcml0ZWQgbGFuZ3VhZ2UsIHBlciB0aGUgRE9NLCBpbiB0
aGUKKyAgICAgICAgQ2hyb21pdW0gQVBJIC0tIHByaW1hcmlseSBmb3IgdXNlIHdpdGggYXV0b2Zp
bGwgaTE4bi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ0ODAzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRWxlbWVudC5oOgorICAgICAgICAqIHNyYy9X
ZWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6Y29tcHV0ZUluaGVy
aXRlZExhbmd1YWdlKToKKwogMjAxMC0wOC0zMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY2MTk4
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJFbGVtZW50LmggYi9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAppbmRleCAxNmE4MmQ4Y2JhNjg2NWNjMmFh
NDk3M2VjZDg3NWEwOTNiMTc0MDU5Li5kZDFkM2FmNjIyZjg0OTZlZTg3Y2M5Y2E3ZDVjZGU3OGJm
NWNiNWQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAor
KysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaApAQCAtNTgsNiArNTgsMTIg
QEAgY2xhc3MgV2ViTmFtZWROb2RlTWFwOwogICAgICAgICBXRUJLSVRfQVBJIFdlYk5hbWVkTm9k
ZU1hcCBhdHRyaWJ1dGVzKCkgY29uc3Q7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIGlu
bmVyVGV4dCgpIGNvbnN0OwogCisgICAgICAgIC8vIFJldHVybnMgdGhlIGxhbmd1YWdlIGNvZGUg
c3BlY2lmaWVkIGZvciB0aGUgY3VycmVudCBub2RlLiAgVGhpcworICAgICAgICAvLyBhdHRyaWJ1
dGUgaXMgaW5oZXJpdGVkLCBzbyB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgZHJhd24gZnJvbSB0aGUK
KyAgICAgICAgLy8gY2xvc2VzdCBwYXJlbnQgZWxlbWVudCB0aGF0IGhhcyB0aGUgbGFuZyBhdHRy
aWJ1dGUgc2V0LCBvciBmcm9tIHRoZQorICAgICAgICAvLyBIVFRQICJDb250ZW50LUxhbmd1YWdl
IiBoZWFkZXIgYXMgYSBmYWxsYmFjay4KKyAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgY29t
cHV0ZUluaGVyaXRlZExhbmd1YWdlKCkgY29uc3Q7CisKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJ
T04KICAgICAgICAgV2ViRWxlbWVudChjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RWxl
bWVudD4mKTsKICAgICAgICAgV2ViRWxlbWVudCYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1Jl
ZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJFbGVtZW50LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKaW5k
ZXggZjQ1Y2JhOWZhODg3MTdmZTAzMjFlZThkM2FjZGJmYTk1YTZmNDc0ZC4uOTFmMzEwZGUzMjE2
YmRjNWI2YTMyMjc2MmZhYWYzYTRlZTJlZDk3YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJFbGVtZW50LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQu
Y3BwCkBAIC04NSw2ICs4NSwxMSBAQCBXZWJTdHJpbmcgV2ViRWxlbWVudDo6aW5uZXJUZXh0KCkg
Y29uc3QKICAgICByZXR1cm4gY29uc3RVbndyYXA8RWxlbWVudD4oKS0+aW5uZXJUZXh0KCk7CiB9
CiAKK1dlYlN0cmluZyBXZWJFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKSBjb25z
dAoreworICAgIHJldHVybiBXZWJTdHJpbmcoY29uc3RVbndyYXA8RWxlbWVudD4oKS0+Y29tcHV0
ZUluaGVyaXRlZExhbmd1YWdlKCkpOworfQorCiBXZWJFbGVtZW50OjpXZWJFbGVtZW50KGNvbnN0
IFBhc3NSZWZQdHI8RWxlbWVudD4mIGVsZW0pCiAgICAgOiBXZWJOb2RlKGVsZW0pCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66280</attachid>
            <date>2010-09-01 14:56:44 -0700</date>
            <delta_ts>2010-09-02 00:53:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44803-20100901145643.patch</filename>
            <type>text/plain</type>
            <size>6527</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOGNjYzY1NDhjOGNiZjc5NGMwMmNmY2NkODE1ZTQxMTdhZS4uZGVlNTg1ZTBmYzc0M2Rm
OWEyZGVlNDk3OTExNDBlZWExNDI5OTIyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOS0wMSAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvbXBvc2UgY29tcHV0aW5nIGFuIGVsZW1lbnQn
cyBpbmhlcml0ZWQgbGFuZ3VhZ2UsIGV4cG9zZSB0aGlzCisgICAgICAgIGNhcGFiaWxpdHkgdG8g
Y2xpZW50cyAoaW4gcGFydGljdWxhciwgZm9yIENocm9taXVtKS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODAzCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIC0tIGp1c3QgcmVmYWN0b3JpbmcgKyBleHBvc2luZyBjb2RlLgorCisgICAgICAgICogY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFu
Zyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwogMjAxMC0wOC0zMCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVy
bnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA4NjU3ODQzMjdhYzlmZmFmYTIz
NGJiNThjZjcwN2E1OWQ0NzljNTkxLi5kN2IzMGIzNjdiYWM0ZTc4ZWIyODQ4YzM3YjE5ODRkMGM2
NWVhYWMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjYwMSwyMiArMjYwMSw3IEBA
IGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9y
KENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvTGFuZzogewotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlOwotICAgICAgICAgICAg
ICAgIEF0b21pY1N0cmluZyB2YWx1ZTsKLSAgICAgICAgICAgICAgICAvLyBUaGUgbGFuZ3VhZ2Ug
cHJvcGVydHkgaXMgaW5oZXJpdGVkLCBzbyB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBhcmVudHMKLSAg
ICAgICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KLSAgICAgICAgICAg
ICAgICB3aGlsZSAobiAmJiB2YWx1ZS5pc051bGwoKSkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGVj
OiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1s
MS8jQ183Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PEVsZW1l
bnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhbHVlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRl
KGxhbmdBdHRyKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuLT5pc0RvY3VtZW50
Tm9kZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2tpbmcgdGhlIE1JTUUgY29u
dGVudC1sYW5ndWFnZQotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2Fz
dDxEb2N1bWVudCo+KG4pLT5jb250ZW50TGFuZ3VhZ2UoKTsKLQotICAgICAgICAgICAgICAgICAg
ICBuID0gbi0+cGFyZW50KCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEF0
b21pY1N0cmluZyB2YWx1ZSA9IGUtPmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpOwogICAgICAg
ICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXJndW1lbnQgPSBzZWwtPmFyZ3VtZW50KCk7
CiAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSB8fCAhdmFsdWUuc3RhcnRzV2l0
aChhcmd1bWVudCwgZmFsc2UpKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5k
ZXggMzliZjM5MzdiOTIzOTZjMTNlOGEzNWU4OWMwOWZhYjFmMDM4MWUxMi4uMTg1NTEwMWU3ZjE3
ZDI1YjNjZDU2Y2RiODA3OWJjOTlmZjEzNjVlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE0MjMsNiArMTQyMywy
OCBAQCBSZW5kZXJTdHlsZSogRWxlbWVudDo6Y29tcHV0ZWRTdHlsZShQc2V1ZG9JZCBwc2V1ZG9F
bGVtZW50U3BlY2lmaWVyKQogICAgIHJldHVybiBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyID8gZGF0
YS0+bV9jb21wdXRlZFN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG9FbGVtZW50U3Bl
Y2lmaWVyKSA6IGRhdGEtPm1fY29tcHV0ZWRTdHlsZS5nZXQoKTsKIH0KIAorQXRvbWljU3RyaW5n
IEVsZW1lbnQ6OmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpIGNvbnN0Cit7CisgICAgY29uc3Qg
Tm9kZSogbiA9IHRoaXM7CisgICAgQXRvbWljU3RyaW5nIHZhbHVlOworICAgIC8vIFRoZSBsYW5n
dWFnZSBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQsIHNvIHdlIGl0ZXJhdGUgb3ZlciB0aGUgcGFyZW50
cyB0byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KKyAgICB3aGlsZSAobiAmJiB2YWx1ZS5pc051
bGwoKSkgeworICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAv
LyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RS
L3hodG1sMS8jQ183CisgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IEVsZW1l
bnQqPihuKS0+ZmFzdEdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOworICAgICAgICAg
ICAgaWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgICAgIHZhbHVlID0gc3RhdGljX2Nh
c3Q8Y29uc3QgRWxlbWVudCo+KG4pLT5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bGFuZ0F0
dHIpOworICAgICAgICB9IGVsc2UgaWYgKG4tPmlzRG9jdW1lbnROb2RlKCkpIHsKKyAgICAgICAg
ICAgIC8vIGNoZWNraW5nIHRoZSBNSU1FIGNvbnRlbnQtbGFuZ3VhZ2UKKyAgICAgICAgICAgIHZh
bHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQqPihuKS0+Y29udGVudExhbmd1YWdlKCk7
CisgICAgICAgIH0KKworICAgICAgICBuID0gbi0+cGFyZW50KCk7CisgICAgfQorCisgICAgcmV0
dXJuIHZhbHVlOworfQorCiB2b2lkIEVsZW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0
ZSgpCiB7CiAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
bGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNTcwZWUwYTNjYjE3ZWJhYjc2
YjcxOGYxZDliNjNlZWYyZmQwMmRkNi4uNWJiZGRjMmU5NzQ1ODRlNWQzMzE1MTA5ODVjNzA4Y2Vi
MjlmMzIyOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaApAQCAtMjE4LDYgKzIxOCw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlclN0
eWxlKiBjb21wdXRlZFN0eWxlKFBzZXVkb0lkID0gTk9QU0VVRE8pOwogCisgICAgQXRvbWljU3Ry
aW5nIGNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpIGNvbnN0OworCiAgICAgdm9pZCBkaXNwYXRj
aEF0dHJSZW1vdmFsRXZlbnQoQXR0cmlidXRlKik7CiAgICAgdm9pZCBkaXNwYXRjaEF0dHJBZGRp
dGlvbkV2ZW50KEF0dHJpYnV0ZSopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5MGQ5NDYwYjA0YjUxYjFh
ZjJhN2UxZTg5ZjdjYmJmMDM2ODZlZWExLi5jN2U1MDQ4ZTdhZDFhMzY1MzkzMTQ1YmVlMzFhNjBj
YjQ3NjhhN2JlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wOS0wMSAgSWx5
YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2luZyBjb21wdXRpbmcgYW4gZWxlbWVudCdz
IGluaGVyaXRlZCBsYW5ndWFnZSwgcGVyIHRoZSBET00sIGluIHRoZQorICAgICAgICBDaHJvbWl1
bSBBUEkgLS0gcHJpbWFyaWx5IGZvciB1c2Ugd2l0aCBhdXRvZmlsbCBpMThuLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4MDMKKworICAgICAgICAq
IHB1YmxpYy9XZWJFbGVtZW50Lmg6CisgICAgICAgICogc3JjL1dlYkVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UpOgorCiAy
MDEwLTA4LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjYxOTguCmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRWxlbWVudC5oCmluZGV4IDE2YTgyZDhjYmE2ODY1Y2MyYWE0OTczZWNkODc1YTA5M2IxNzQw
NTkuLjViNmZkNmEzYjE5Y2EzMmUzODczNTk2ZDRlOTg2NGMxOThhMzczZGYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRWxlbWVudC5oCkBAIC01OCw2ICs1OCwxMiBAQCBjbGFzcyBXZWJOYW1lZE5v
ZGVNYXA7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViTmFtZWROb2RlTWFwIGF0dHJpYnV0ZXMoKSBj
b25zdDsKICAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgaW5uZXJUZXh0KCkgY29uc3Q7CiAK
KyAgICAgICAgLy8gUmV0dXJucyB0aGUgbGFuZ3VhZ2UgY29kZSBzcGVjaWZpZWQgZm9yIHRoaXMg
ZWxlbWVudC4gIFRoaXMgYXR0cmlidXRlCisgICAgICAgIC8vIGlzIGluaGVyaXRlZCwgc28gdGhl
IHJldHVybmVkIHZhbHVlIGlzIGRyYXduIGZyb20gdGhlIGNsb3Nlc3QgcGFyZW50CisgICAgICAg
IC8vIGVsZW1lbnQgdGhhdCBoYXMgdGhlIGxhbmcgYXR0cmlidXRlIHNldCwgb3IgZnJvbSB0aGUg
SFRUUAorICAgICAgICAvLyAiQ29udGVudC1MYW5ndWFnZSIgaGVhZGVyIGFzIGEgZmFsbGJhY2su
CisgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIGNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgp
IGNvbnN0OworCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgICAgIFdlYkVsZW1lbnQo
Y29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+Jik7CiAgICAgICAgIFdlYkVs
ZW1lbnQmIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4m
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwCmluZGV4IGY0NWNiYTlmYTg4NzE3ZmUwMzIx
ZWU4ZDNhY2RiZmE5NWE2ZjQ3NGQuLjkxZjMxMGRlMzIxNmJkYzViNmEzMjI3NjJmYWFmM2E0ZWUy
ZWQ5N2MgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcApAQCAtODUsNiArODUsMTEgQEAg
V2ViU3RyaW5nIFdlYkVsZW1lbnQ6OmlubmVyVGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvbnN0
VW53cmFwPEVsZW1lbnQ+KCktPmlubmVyVGV4dCgpOwogfQogCitXZWJTdHJpbmcgV2ViRWxlbWVu
dDo6Y29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV2ViU3Ry
aW5nKGNvbnN0VW53cmFwPEVsZW1lbnQ+KCktPmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpKTsK
K30KKwogV2ViRWxlbWVudDo6V2ViRWxlbWVudChjb25zdCBQYXNzUmVmUHRyPEVsZW1lbnQ+JiBl
bGVtKQogICAgIDogV2ViTm9kZShlbGVtKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>