<?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>85282</bug_id>
          
          <creation_ts>2012-05-01 07:42:39 -0700</creation_ts>
          <short_desc>Extra line-breaks added when copying from source.</short_desc>
          <delta_ts>2012-05-08 02:48:17 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>dcheng</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>613382</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 07:42:39 -0700</bug_when>
    <thetext>What steps will reproduce the problem?
1. View a page&apos;s source.
2. Select and copy source code.
3. Paste source code into a text editor.

What is the expected result?
The text to be pasted as normal.

What happens instead?
An additional one or two line-breaks are inserted between each line.

Upstreaming http://code.google.com/p/chromium/issues/detail?id=91377

The issue is caused by the replaceNewlinesWithWindowsStyleNewlines() implementation, which replaces ALL \n&apos;s by \r\n, so that &quot;\r\n&quot; turns into &quot;\r\r\n&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613386</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 07:48:05 -0700</bug_when>
    <thetext>Where are we calling replaceNewlinesWithWindowsStyleNewlines()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613389</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 07:51:31 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Where are we calling replaceNewlinesWithWindowsStyleNewlines()?

In Pasteboard::writeSelection() and Pasteboard::writePlainText().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613396</commentid>
    <comment_count>3</comment_count>
      <attachid>139628</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 07:57:53 -0700</bug_when>
    <thetext>Created attachment 139628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613399</commentid>
    <comment_count>4</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 07:59:55 -0700</bug_when>
    <thetext>Is there any workable way to test this, by the way? A test involving event.clipboardData.get/setData() did not seem to show any difference, getData() returning the data passed into setData() intact (all combinations of \r&apos;s and \n&apos;s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613402</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 08:06:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Is there any workable way to test this, by the way? A test involving event.clipboardData.get/setData() did not seem to show any difference, getData() returning the data passed into setData() intact (all combinations of \r&apos;s and \n&apos;s).

That&apos;s odd. Could you investigate which function is generating text with \r\n?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613410</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 08:21:42 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Is there any workable way to test this, by the way? A test involving event.clipboardData.get/setData() did not seem to show any difference, getData() returning the data passed into setData() intact (all combinations of \r&apos;s and \n&apos;s).
&gt; 
&gt; That&apos;s odd. Could you investigate which function is generating text with \r\n?

I&apos;m not quite clear on what you mean. I was talking about my test that tried to handle a text with \r, \n, \r\n, \r\r\n etc. The original copied text in the browser may or may not contain \r\n.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613428</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 08:49:33 -0700</bug_when>
    <thetext>Did you try execCommand(&apos;copy&apos;) and then execCommand(&apos;paste&apos;)? (only works in DRT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613459</commentid>
    <comment_count>8</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-01 09:30:04 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Did you try execCommand(&apos;copy&apos;) and then execCommand(&apos;paste&apos;)? (only works in DRT)

I&apos;m not sure how I can execCommand(&apos;copy&apos;) different CR/LF sequences other than the way I&apos;ve come up with: preElement.textContent = &quot;Test1\r\nTest2\rTest3\n...&quot;.replace(/[\\]r/g, &quot;\r&quot;).replace(/[\\]n/g, &quot;\n&quot;);
then copy and paste it.

Here is the result (after execCommand(&quot;paste&quot;) for the copied char sequences):

Both versions (original/fixed) of code do this:
\r -&gt; \n
\n -&gt; \n
\r\n -&gt; \n
\r\r\n -&gt; \n\n
\r\n\r\n -&gt; \n\n

Either textContent setter fixes the thing in place, or the &quot;paste&quot; call somehow fixes the result, because other applications get this copied content wrong (with duplicated newlines).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613471</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 09:38:22 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Either textContent setter fixes the thing in place, or the &quot;paste&quot; call somehow fixes the result, because other applications get this copied content wrong (with duplicated newlines).

It&apos;s textContent appears to preserve \r so it&apos;s probably the paste call. Can&apos;t you get the original text out of dataTransfer on paste event?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614130</commentid>
    <comment_count>10</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-02 02:48:04 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Either textContent setter fixes the thing in place, or the &quot;paste&quot; call somehow fixes the result, because other applications get this copied content wrong (with duplicated newlines).
&gt; 
&gt; It&apos;s textContent appears to preserve \r so it&apos;s probably the paste call. Can&apos;t you get the original text out of dataTransfer on paste event?

OK, got it sorted out. Also, marking this as a Windows-only bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614374</commentid>
    <comment_count>11</comment_count>
      <attachid>139832</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-02 09:50:27 -0700</bug_when>
    <thetext>Created attachment 139832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614378</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 09:52:27 -0700</bug_when>
    <thetext>Attachment 139832 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/edit...&quot; exit_code: 1
LayoutTests/platform/gtk/test_expectations.txt:496:  More specific entry on line 328 overrides line 496 fast/workers/storage/use-same-database-in-page-and-workers.html  [test/expectations] [5]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615025</commentid>
    <comment_count>13</comment_count>
      <attachid>139832</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-02 23:06:12 -0700</bug_when>
    <thetext>Comment on attachment 139832
Patch

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

r- due to nits.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the long description.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Test: editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html

Please add this test to LayoutTests/platform/win/editing/pasteboard instead so that you don&apos;t have to add them to Skipped lists.

&gt; Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp:48
&gt;  void replaceNewlinesWithWindowsStyleNewlines(String&amp; str)

Is there anyway we can share this function with Windows port?

&gt; Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp:54
&gt; +    int index = 0;
&gt; +    int strLength = static_cast&lt;int&gt;(str.length());

We should probably use size_t for these two variables.

&gt; Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp:306
&gt; +    int index = 0;
&gt; +    int strLength = static_cast&lt;int&gt;(str.length());

Ditto.

&gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:1
&gt; +&lt;html&gt;

Missing DOCTYPE.

&gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:9
&gt; +  var data = event.clipboardData.getData(&apos;text/plain&apos;);
&gt; +  document.getElementById(&quot;result&quot;).textContent += data.replace(/\r/g, &quot;\\r&quot;).replace(/\n/g, &quot;\\n&quot;);
&gt; +  event.preventDefault();

Please use 4-space indentation.

&gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:22
&gt; +  var selection = window.getSelection();

I don&apos;t think this variable is buying us anything.

&gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:25
&gt; +  selection.addRange(range);

s/selection/getSelection()/

&gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:27
&gt; +  selection.removeAllRanges();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615145</commentid>
    <comment_count>14</comment_count>
      <attachid>139980</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-03 03:48:00 -0700</bug_when>
    <thetext>Created attachment 139980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615158</commentid>
    <comment_count>15</comment_count>
      <attachid>139982</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-03 04:23:29 -0700</bug_when>
    <thetext>Created attachment 139982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615159</commentid>
    <comment_count>16</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-03 04:26:04 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 139832 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139832&amp;action=review
&gt; 
&gt; r- due to nits.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; 
&gt; This line should appear before the long description.

Fixed.

&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        Test: editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html
&gt; 
&gt; Please add this test to LayoutTests/platform/win/editing/pasteboard instead so that you don&apos;t have to add them to Skipped lists.

Done.

&gt; &gt; Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp:48
&gt; &gt;  void replaceNewlinesWithWindowsStyleNewlines(String&amp; str)
&gt; 
&gt; Is there anyway we can share this function with Windows port?

As discussed in chat, this requires a separate change.

&gt; &gt; Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp:54
&gt; &gt; +    int index = 0;
&gt; &gt; +    int strLength = static_cast&lt;int&gt;(str.length());
&gt; 
&gt; We should probably use size_t for these two variables.

This snippet was copied from the replace() function defined in RegularExpression.cpp, but I decided to stick with unsigned, since it is the exact type used by class String for indexing and length().

&gt; &gt; Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp:306
&gt; &gt; +    int index = 0;
&gt; &gt; +    int strLength = static_cast&lt;int&gt;(str.length());
&gt; 
&gt; Ditto.

Same as above.

&gt; &gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:1
&gt; &gt; +&lt;html&gt;
&gt; 
&gt; Missing DOCTYPE.

Added.

&gt; &gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:9
&gt; &gt; +  var data = event.clipboardData.getData(&apos;text/plain&apos;);
&gt; &gt; +  document.getElementById(&quot;result&quot;).textContent += data.replace(/\r/g, &quot;\\r&quot;).replace(/\n/g, &quot;\\n&quot;);
&gt; &gt; +  event.preventDefault();
&gt; 
&gt; Please use 4-space indentation.

Fixed.

&gt; &gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:22
&gt; &gt; +  var selection = window.getSelection();
&gt; 
&gt; I don&apos;t think this variable is buying us anything.

Fixed.

&gt; &gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:25
&gt; &gt; +  selection.addRange(range);
&gt; 
&gt; s/selection/getSelection()/

Fixed.

&gt; &gt; LayoutTests/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:27
&gt; &gt; +  selection.removeAllRanges();
&gt; 
&gt; Ditto.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617535</commentid>
    <comment_count>17</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-07 05:21:10 -0700</bug_when>
    <thetext>@reviewers: ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618443</commentid>
    <comment_count>18</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-08 02:48:17 -0700</bug_when>
    <thetext>Committed r116408: &lt;http://trac.webkit.org/changeset/116408&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139628</attachid>
            <date>2012-05-01 07:57:53 -0700</date>
            <delta_ts>2012-05-02 09:50:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85282-20120501185751.patch</filename>
            <type>text/plain</type>
            <size>2903</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg4NDViZWM0NDMxM2M3
ZWI1NTFlMDllY2YwM2IwYjFmNzIzYzc2MS4uZmMxZDFmNWFlZDM2YzYwMmFhNDk3NDIwZjgxZTU5
ZGE4NjBmZjU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAxICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXh0cmEgbGlu
ZS1icmVha3MgYWRkZWQgd2hlbiBjb3B5aW5nIGZyb20gc291cmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcGxhY2VOZXds
aW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyk6IFRlc3QgZm9yIFxuIG5vdCBwcmVjZWRlZCBi
eSBcci4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcGxhY2VOZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5l
cyk6IERpdHRvLgorCiAyMDEyLTA0LTMwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbQ2hyb21pdW0vV2luZG93c10gQWRkIExvY2FsaXplZERhdGVXaW4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZFV0aWxp
dGllc0Nocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcAppbmRleCA2MmNmOTljZTBkNDZlNmIzM2RmYTU1OWNl
MTExMDA0NmQyNmYzZDk2Li4xNTA0ZTJiODMxMzlmMDkzZWM4M2ViMDFjYmQyYmUxNGQ3MDBkNmQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRV
dGlsaXRpZXNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwCkBAIC0zNSw2ICszNSwxMCBAQAogI2lu
Y2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCisjaWYg
T1MoV0lORE9XUykKKyNpbmNsdWRlICJSZWd1bGFyRXhwcmVzc2lvbi5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzdGVib2FyZFByaXZhdGU6OkNsaXBib2FyZEJ1ZmZlciBj
dXJyZW50UGFzdGVib2FyZEJ1ZmZlcigpCkBAIC00Nyw5ICs1MSw5IEBAIFBhc3RlYm9hcmRQcml2
YXRlOjpDbGlwYm9hcmRCdWZmZXIgY3VycmVudFBhc3RlYm9hcmRCdWZmZXIoKQogI2lmIE9TKFdJ
TkRPV1MpCiB2b2lkIHJlcGxhY2VOZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyhTdHJp
bmcmIHN0cikKIHsKLSAgICBzdGF0aWMgY29uc3QgVUNoYXIgTmV3bGluZSA9ICdcbic7CiAgICAg
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdpbmRvd3NOZXdsaW5lKCJcclxuIik7Ci0gICAgc3Ry
LnJlcGxhY2UoTmV3bGluZSwgV2luZG93c05ld2xpbmUpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoUmVndWxhckV4cHJlc3Npb24sIHNpbmdsZU5ld0xpbmUsICgiKD88IVxyKVxuIiwgVGV4dENh
c2VTZW5zaXRpdmUpKTsKKyAgICByZXBsYWNlKHN0ciwgc2luZ2xlTmV3TGluZSwgV2luZG93c05l
d2xpbmUpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKaW5kZXggZDYxYzAxNDMyNGFkNjZlYzcxYmJh
Y2M0ODJkMGJiNzc2NjFjMjIxZi4uYTNkNDJjYzUxNTY2YWE0ZjdjMzU0ZjZiMmYzNTQ2NmNmNmU3
NDMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0
aWxpdGllc1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2Fy
ZFV0aWxpdGllc1dpbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50
RnJhZ21lbnQuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVndWxhckV4cHJlc3Np
b24uaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKICNp
bmNsdWRlIDxzaGxvYmouaD4KQEAgLTI5OCw5ICsyOTksOSBAQCB2b2lkIG1hcmt1cFRvQ0ZIVE1M
KGNvbnN0IFN0cmluZyYgbWFya3VwLCBjb25zdCBTdHJpbmcmIHNyY1VSTCwgVmVjdG9yPGNoYXI+
JiByZQogCiB2b2lkIHJlcGxhY2VOZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyhTdHJp
bmcmIHN0cikKIHsKLSAgICBzdGF0aWMgY29uc3QgVUNoYXIgTmV3bGluZSA9ICdcbic7CiAgICAg
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdpbmRvd3NOZXdsaW5lKCJcclxuIik7Ci0gICAgc3Ry
LnJlcGxhY2UoTmV3bGluZSwgV2luZG93c05ld2xpbmUpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoUmVndWxhckV4cHJlc3Npb24sIHNpbmdsZU5ld0xpbmUsICgiKD88IVxyKVxuIiwgVGV4dENh
c2VTZW5zaXRpdmUpKTsKKyAgICByZXBsYWNlKHN0ciwgc2luZ2xlTmV3TGluZSwgV2luZG93c05l
d2xpbmUpOwogfQogCiB2b2lkIHJlcGxhY2VOQlNQV2l0aFNwYWNlKFN0cmluZyYgc3RyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139832</attachid>
            <date>2012-05-02 09:50:27 -0700</date>
            <delta_ts>2012-05-03 03:47:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85282-20120502205025.patch</filename>
            <type>text/plain</type>
            <size>14005</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3N2UzZWNkMmMzZTU3
NGI3OTQ1NzgxNzcxMWQ3OWQ5MzU3YjA1NC4uNWI4NzUyNzUwMGRjYjIwN2FjNDhiMDI1YWExMmI2
NzZhODVhM2RkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTAyICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXh0cmEgbGlu
ZS1icmVha3MgYWRkZWQgd2hlbiBjb3B5aW5nIGZyb20gc291cmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIKKworICAgICAgICBUaGUgY29k
ZSB1c2VkIHRvIHJlcGxhY2UgYW55IFxuIGJ5IFxyXG4sIGV2ZW4gdGhlIG9uZSB0aGF0IGhhZCBh
IHByZWNlZGluZyBcciwgcmVzdWx0aW5nIGluIFxyXHJcbi4KKyAgICAgICAgVGhpcyBjaGFuZ2Ug
aW50cm9kdWNlcyBhIGNoZWNrIGZvciB0aGUgcHJlY2VkaW5nIFxyIHdoZW4gcmVwbGFjaW5nIFxu
J3MuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3Jj
cmxmLXdpbi5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRVdGls
aXRpZXNDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBsYWNlTmV3bGluZXNXaXRo
V2luZG93c1N0eWxlTmV3bGluZXMpOiBDaGVjayBmb3IgXHIgcHJlY2VkaW5nIFxuIHdoZW4gcmVw
bGFjaW5nIGJ5IFxyXG4uCisgICAgICAgICogcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGll
c1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBsYWNlTmV3bGluZXNXaXRoV2luZG93c1N0
eWxlTmV3bGluZXMpOiBEaXR0by4KKwogMjAxMi0wNS0wMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW5ub3QgcmVhZCBw
cm9wZXJ0eSAnbGVuZ3RoJyBvZiB1bmRlZmluZWQgVGV4dEVkaXRvck1vZGVsLmpzOjQ2NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkVXRpbGl0
aWVzQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJv
YXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwCmluZGV4IDYyY2Y5OWNlMGQ0NmU2YjMzZGZhNTU5Y2Ux
MTEwMDQ2ZDI2ZjNkOTYuLjQ5ZjJhYTNiMTZlZmE2N2VkN2Y3YTAwYzc2MmEzODdhNGQxYWJhODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZFV0
aWxpdGllc0Nocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRVdGlsaXRpZXNDaHJvbWl1bS5jcHAKQEAgLTQ3LDkgKzQ3LDIwIEBAIFBhc3Rl
Ym9hcmRQcml2YXRlOjpDbGlwYm9hcmRCdWZmZXIgY3VycmVudFBhc3RlYm9hcmRCdWZmZXIoKQog
I2lmIE9TKFdJTkRPV1MpCiB2b2lkIHJlcGxhY2VOZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXds
aW5lcyhTdHJpbmcmIHN0cikKIHsKLSAgICBzdGF0aWMgY29uc3QgVUNoYXIgTmV3bGluZSA9ICdc
bic7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdpbmRvd3NOZXdsaW5lKCJcclxuIik7
Ci0gICAgc3RyLnJlcGxhY2UoTmV3bGluZSwgV2luZG93c05ld2xpbmUpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCB3aW5kb3dzTmV3bGluZSwgKCJcclxuIikpOworICAgIGNvbnN0
IHN0YXRpYyBpbnQgd2luZG93c05ld2xpbmVMZW5ndGggPSB3aW5kb3dzTmV3bGluZS5sZW5ndGgo
KTsKKworICAgIGludCBpbmRleCA9IDA7CisgICAgaW50IHN0ckxlbmd0aCA9IHN0YXRpY19jYXN0
PGludD4oc3RyLmxlbmd0aCgpKTsKKyAgICB3aGlsZSAoaW5kZXggPCBzdHJMZW5ndGgpIHsKKyAg
ICAgICAgaWYgKHN0cltpbmRleF0gIT0gJ1xuJyB8fCAoaW5kZXggPiAwICYmIHN0cltpbmRleCAt
IDFdID09ICdccicpKSB7CisgICAgICAgICAgICArK2luZGV4OworICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KKyAgICAgICAgc3RyLnJlcGxhY2UoaW5kZXgsIDEsIHdpbmRvd3NOZXds
aW5lKTsKKyAgICAgICAgc3RyTGVuZ3RoID0gc3RhdGljX2Nhc3Q8aW50PihzdHIubGVuZ3RoKCkp
OworICAgICAgICBpbmRleCArPSB3aW5kb3dzTmV3bGluZUxlbmd0aDsKKyAgICB9CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0
aWxpdGllc1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRp
bGl0aWVzV2luLmNwcAppbmRleCBkNjFjMDE0MzI0YWQ2NmVjNzFiYmFjYzQ4MmQwYmI3NzY2MWMy
MjFmLi5mZGEzYjVlYjhhZTMxYzhhYzdjMDAzMWU1OTEzMTIwNjUxODUwMmFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2lu
Y2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlRl
eHRFbmNvZGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgogI2luY2x1ZGUgPHNobG9iai5oPgpA
QCAtMjk4LDkgKzI5OSwyMCBAQCB2b2lkIG1hcmt1cFRvQ0ZIVE1MKGNvbnN0IFN0cmluZyYgbWFy
a3VwLCBjb25zdCBTdHJpbmcmIHNyY1VSTCwgVmVjdG9yPGNoYXI+JiByZQogCiB2b2lkIHJlcGxh
Y2VOZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyhTdHJpbmcmIHN0cikKIHsKLSAgICBz
dGF0aWMgY29uc3QgVUNoYXIgTmV3bGluZSA9ICdcbic7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIq
IGNvbnN0IFdpbmRvd3NOZXdsaW5lKCJcclxuIik7Ci0gICAgc3RyLnJlcGxhY2UoTmV3bGluZSwg
V2luZG93c05ld2xpbmUpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB3aW5kb3dz
TmV3bGluZSwgKCJcclxuIikpOworICAgIGNvbnN0IHN0YXRpYyBpbnQgd2luZG93c05ld2xpbmVM
ZW5ndGggPSB3aW5kb3dzTmV3bGluZS5sZW5ndGgoKTsKKworICAgIGludCBpbmRleCA9IDA7Cisg
ICAgaW50IHN0ckxlbmd0aCA9IHN0YXRpY19jYXN0PGludD4oc3RyLmxlbmd0aCgpKTsKKyAgICB3
aGlsZSAoaW5kZXggPCBzdHJMZW5ndGgpIHsKKyAgICAgICAgaWYgKHN0cltpbmRleF0gIT0gJ1xu
JyB8fCAoaW5kZXggPiAwICYmIHN0cltpbmRleCAtIDFdID09ICdccicpKSB7CisgICAgICAgICAg
ICArK2luZGV4OworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgc3Ry
LnJlcGxhY2UoaW5kZXgsIDEsIHdpbmRvd3NOZXdsaW5lKTsKKyAgICAgICAgc3RyTGVuZ3RoID0g
c3RhdGljX2Nhc3Q8aW50PihzdHIubGVuZ3RoKCkpOworICAgICAgICBpbmRleCArPSB3aW5kb3dz
TmV3bGluZUxlbmd0aDsKKyAgICB9CiB9CiAKIHZvaWQgcmVwbGFjZU5CU1BXaXRoU3BhY2UoU3Ry
aW5nJiBzdHIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggM2VmMGI0YTdhYjQxYjQyOTZjMzRiMzRmMzcxMjRmZTMwMThjMTJh
NC4uNmY3ZGQ1OWU4NzBiYzBmZWY4ODU2YjJkYjYwM2Q3YTg2NjM5NDBlZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTA1LTAyICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgRXh0cmEgbGluZS1icmVha3MgYWRkZWQgd2hlbiBjb3B5aW5nIGZy
b20gc291cmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODUyODIKKworICAgICAgICBUaGlzIHRlc3Qgc2hvdWxkIHJ1biBvbmx5IG9uIFdpbmRvd3Ms
IHNvIGl0IGlzIHNraXBwZWQgb24gb3RoZXIgT1Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNy
bGYtaXNudC10cmFuc2xhdGVkLXRvLWNyY3JsZi13aW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10
by1jcmNybGYtd2luLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay13azIvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
cXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisKIDIwMTItMDUtMDIgIFpvbHRhbiBBcnZhaSAgPHphcnZhaUBpbmYudS1zemVnZWQuaHU+CiAK
ICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZywgc2tpcHBpbmcgZmFpbGluZyB0ZXN0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxm
LWlzbnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFuc2xhdGVkLXRvLWNyY3Js
Zi13aW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiODU5ODE4ZThmYjgxY2ZiOWRkMjllYjMy
ZDQyNDgyNjJmZjE1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdCByZXF1aXJlcyBEUlQuIEl0IHZlcmlm
aWVzIHRoYXQgb24gV2luZG93cyBvbmx5IFxuJ3Mgbm90IHByZWNlZGVkIGJ5IFxyIGFyZSB0cmFu
c2xhdGVkIGludG8gXHJcbiBieSBQYXN0ZWJvYXJkLgorCitTb3VyY2U6CitcbkxpbmUxXHJMaW5l
MlxuTGluZTNcclxuTGluZTRcclxyXG5MaW5lNVxyXG5cclxuXG4KK1Jlc3VsdDoKK1xyXG5MaW5l
MVxyTGluZTJcclxuTGluZTNcclxuTGluZTRcclxyXG5MaW5lNVxyXG5cclxuXHJcbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRy
YW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBmMjk3MmNiZDZiNmYzYzE5OGYxMDYyMTU3ZTYwNjQ5YWJjNjMwNGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlz
bnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGhhbmRsZVBhc3RlKGV2ZW50KQoreworICB2
YXIgZGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpOworICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikudGV4dENvbnRlbnQgKz0gZGF0YS5yZXBs
YWNlKC9cci9nLCAiXFxyIikucmVwbGFjZSgvXG4vZywgIlxcbiIpOworICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgaWYgKCF3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgcmV0dXJuOworICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCisgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcign
cGFzdGUnLCBoYW5kbGVQYXN0ZSk7CisgIHZhciBzb3VyY2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3NvdXJjZScpOworICB2YXIgb3JpZ2luYWxTb3VyY2UgPSBzb3VyY2VFbGVt
ZW50LnRleHRDb250ZW50OworICBzb3VyY2VFbGVtZW50LnRleHRDb250ZW50ID0gb3JpZ2luYWxT
b3VyY2UucmVwbGFjZSgvW1xcXXIvZywgIlxyIikucmVwbGFjZSgvW1xcXW4vZywgIlxuIik7Cisg
IHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisgIHZhciByYW5nZSA9IGRv
Y3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgIHJhbmdlLnNlbGVjdE5vZGUoc291cmNlRWxlbWVudCk7
CisgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CisgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdj
b3B5Jyk7CisgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgc291cmNlRWxlbWVudC50
ZXh0Q29udGVudCA9IG9yaWdpbmFsU291cmNlOworCisgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdw
YXN0ZScpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSIgY29udGVudGVk
aXRhYmxlPSJ0cnVlIj4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHJlcXVpcmVzIERS
VC4gSXQgdmVyaWZpZXMgdGhhdCBvbiBXaW5kb3dzIG9ubHkgXG4ncyBub3QgcHJlY2VkZWQgYnkg
XHIgYXJlIHRyYW5zbGF0ZWQgaW50byBcclxuIGJ5IFBhc3RlYm9hcmQuPC9wPgorPGRpdj5Tb3Vy
Y2U6PC9kaXY+Cis8cHJlIGlkPSJzb3VyY2UiPlxuTGluZTFcckxpbmUyXG5MaW5lM1xyXG5MaW5l
NFxyXHJcbkxpbmU1XHJcblxyXG5cbjwvcHJlPgorPGRpdj5SZXN1bHQ6PC9kaXY+Cis8ZGl2IGlk
PSJyZXN1bHQiIC8+Cis8L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDA0MjUyZDY2N2Q0
ZTA0MWU0MTVhY2I3MTA2Mjc4ODkwODg4YTg3YTIuLjNhY2M0NDM0YzQ2M2RkZTJhNGNhZTRiMjYy
ZjExZjNhZTBjZDM0M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTM3MDIsMyArMzcwMiw2IEBAIEJVR1dLODUxNzQg
OiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwgPSBURVhUCiAKIEJVR1dLODUxMjAgOiBm
YXN0L2pzL3RvU3RyaW5nLW51bWJlci5odG1sID0gVEVYVAogQlVHV0s4NTM1MyBXSU4gOiBodHRw
L3Rlc3RzL2xvYWRpbmcvcGRmLWNvbW1pdC1sb2FkLWNhbGxiYWNrcy5odG1sID0gVEVYVAorCisv
LyBXaW5kb3dzLW9ubHkgdGVzdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1MjgyCitCVUdXSzg1MjgyIE1BQyBMSU5VWCBTS0lQIDogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sID0gRkFJTApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCA4OWNmYmI4MGVhYzI3YTZjODA1M2M1MWZjNDI0
N2NlMDYzZjkyNGU1Li4yOWRhODdmNGQwOGJlZTcwN2Y5YjkwZDY4YzhmYWE4MTBjMDNlODI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMjE2NywzICsyMTY3LDYgQEAgZmFzdC9ib3gt
c2hhZG93L3NoYWRvdy1idWZmZXItcGFydGlhbC5odG1sCiBmYXN0L2Jsb2NrL2xpbmVib3hjb250
YWluL2Jsb2NrLWZvbnQuaHRtbAogZmFzdC9ibG9jay9saW5lYm94Y29udGFpbi9ibG9jay1nbHlw
aHMuaHRtbAogZmFzdC9ibG9jay9saW5lYm94Y29udGFpbi9mb250Lmh0bWwKKworIyBXaW5kb3dz
LW9ubHkgdGVzdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1Mjgy
CitlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10by1jcmNy
bGYtd2luLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4
cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlv
bnMudHh0CmluZGV4IGJjNmFhYTYxZDAwMDg5YTU1NGQwZTBiODFhMDQxOGIxNzgxZjczMjcuLjAy
ZmRhMWVjNTgwODlhYWNiZWEyYmZjN2VmOWZkYTgzMzQxZmRmMTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMjcyLDYgKzI3Miw5IEBA
IEJVR1dLRUZMIFNLSVAgOiBodHRwL3Rlc3RzL21pc2MvbGluay1yZWwtcHJlZmV0Y2gtYW5kLXN1
YnJlc291cmNlLmh0bWwgPSBGQUlMCiBCVUdXS0VGTCBTS0lQIDogaHR0cC90ZXN0cy9taXNjL3By
ZWZldGNoLXB1cnBvc2UuaHRtbCA9IEZBSUwKIEJVR1dLRUZMIFNLSVAgOiBsb2FkZXIvcmVsb2Fk
LXN1YnJlc291cmNlLXdoZW4tdHlwZS1jaGFuZ2VzLmh0bWwgPSBGQUlMCiAKKy8vIFdpbmRvd3Mt
b25seSB0ZXN0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIK
K0JVR1dLODUyODIgU0tJUCA6IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10
cmFuc2xhdGVkLXRvLWNyY3JsZi13aW4uaHRtbCA9IEZBSUwKKwogQlVHV0s4NDc1OSA6IGlldGVz
dGNlbnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVtbi1jb250YWluaW5nLWJsb2NrLTAwMS5odG0g
PSBJTUFHRQogQlVHV0s4NDc2MCA6IGlldGVzdGNlbnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVt
bi1jb250YWluaW5nLWJsb2NrLTAwMi5odG0gPSBJTUFHRQogQlVHV0s4NDc2MSA6IGlldGVzdGNl
bnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVtbi1maWxsaW5nLTAwMS5odG0gPSBJTUFHRQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrLXdrMi9Ta2lwcGVkCmluZGV4IGJkZTAwYzY0ZTZkMDRhMjJlNTk0NGE5
MTVlZjEyNDlmZjM1M2RhNzQuLmUxNGI3M2I3M2MyYzNkODNkNzc3ODI3ZDZjNDUyOTI5NGMyOWUx
MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1NraXBwZWQKQEAgLTM0Niw2ICszNDYsOSBA
QCBodHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxv
d2VkLXdpdGgtY3JlZGVudGlhbHMuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDAzNjEKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLXNlbGVj
dGlvbi1kaXNhYmxlZC5odG1sCiAKKyMgV2luZG93cy1vbmx5IHRlc3Q6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTI4MgorZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rp
bmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sCisKICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKICMgVEVTVFMgRkFJTElORwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMzkz
ZjQzOGJjY2JmMTdmOTIzNTk5ZGU4MjhjN2RlZDg2YzNiNWFhZS4uNjhkMzM1NTE5MGFjZGIzNWVj
YmZjYTllZmNhYmE1ZThiMTdlM2M5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
dGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0yODAsNiArMjgwLDkgQEAgQlVHV0tHVEsgU0tJUCA6
IHdlYmludGVudHMgPSBGQUlMCiAvLyBQb2ludGVyIExvY2sgaXMgbm90IGltcGxlbWVudGVkLgog
QlVHV0tHVEsgU0tJUCA6IHBvaW50ZXItbG9jayA9IEZBSUwKIAorLy8gV2luZG93cy1vbmx5IHRl
c3Q6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTI4MgorQlVHV0s4
NTI4MiBTS0lQIDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0
ZWQtdG8tY3JjcmxmLXdpbi5odG1sID0gRkFJTAorCiAvLyBCYXR0ZXJ5IFN0YXR1cyBBUEkgc3Vw
cG9ydCBub3QgeWV0LgogQlVHV0s2MjY5OCA6IGJhdHRlcnlzdGF0dXMgPSBGQUlMCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMDI3MWVmZjIzMDdjMGViZDBmZDgwZmFkM2QwYmE3NGI0
YzcyNzdkMC4uYjQ5YjYwM2M0NGY4NDY3MDgxODI1NWNhNGU1ZjYwODNhYjQwMjVlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTgwNCwzICs4MDQsNiBAQCBpbnNwZWN0b3IvZGVidWdn
ZXIvbGlua2lmaWVyLmh0bWwKICMgc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUt
ZGlzYWJsZWQuaHRtbCBpcyBhc3NlcnRpbmcgaW4gbWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdy
YW1tYXJJblJhbmdlcygpCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTI3Mwogc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUtZGlzYWJsZWQuaHRt
bAorCisjIFdpbmRvd3Mtb25seSB0ZXN0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODUyODIKK2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFu
c2xhdGVkLXRvLWNyY3JsZi13aW4uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggYmQzZGU1ZTM4OTY5Njc4MmVmODUyODRkMWJkZmE0
NjFiNTZmZTRlOS4uNTlhMTg0MDMwMjk4MzI4MjMyYjA1MjBjYmU1ZTc1ZDIzMGE5MGNmYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0z
NTMsMyArMzUzLDYgQEAgQlVHV0s4NDc3OCA6IGlldGVzdGNlbnRlci9jc3MzL211bHRpY29sdW1u
L2NvbHVtbi13aWR0aC1uZWdhdGl2ZS0wMDEuaHRtID0gSU1BR0UKIAogLy8gRmFpbHMgYWZ0ZXIg
cjExNTM3OQogQlVHV0s4NTAzOCA6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1pbml0aWF0b3IuaHRtbCA9IFRFWFQgVElNRU9VVAorCisvLyBXaW5kb3dzLW9ubHkgdGVzdDog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MjgyCitCVUdXSzg1Mjgy
IFNLSVAgOiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10
by1jcmNybGYtd2luLmh0bWwgPSBGQUlMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAzMmYw
MGQyN2U3NTIxNDE4OGNkOTg0Y2ZjNjkwY2I1YjU2ZmFlM2E5Li5mN2RiM2E4OTdiNDFjZjgzMzgz
ZGJkOGQyNDAwYzNhODYxMDZiMzA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTYzLDYg
KzYzLDkgQEAgZmFzdC9sb2FkZXIvc3RvcC1wcm92aXNpb25hbC1sb2Fkcy5odG1sCiAjIGV4Y2Vw
dGlvbnMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZXhwZWN0ZWQKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuZHJhd0ltYWdlLm91dHNpZGVzb3VyY2UuaHRtbAogCisjIFdpbmRvd3Mtb25seSB0ZXN0OiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIKK2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFuc2xhdGVkLXRvLWNyY3JsZi13aW4uaHRtbAor
CiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSAjCiAjICAgICAgIERpc2FibGVkIGZlYXR1cmVzLiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC90ZXN0
X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKaW5kZXggMmE1NmZlZWUyNjE1NGI0N2MyMjE3Y2YzNzc1OTllYjA4ODg4NmY4Ny4u
YzRkM2NjODMxY2Q1YTQ0OTIyMTdjYjU0YTA4ZjNiZDM0ZGM5OGI0NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtNTksMyArNTksNiBAQCBC
VUdXSzg1MjAzIDogaWV0ZXN0Y2VudGVyL2NzczMvbXVsdGljb2x1bW4vY29sdW1uLXdpZHRoLWFw
cGxpZXMtdG8tMDA2Lmh0bSA9IElNQQogQlVHV0s4NTIwMyA6IGlldGVzdGNlbnRlci9jc3MzL211
bHRpY29sdW1uL2NvbHVtbi13aWR0aC1hcHBsaWVzLXRvLTAwOC5odG0gPSBJTUFHRQogQlVHV0s4
NTIwMyA6IGlldGVzdGNlbnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVtbi13aWR0aC1wZXJjZW50
YWdlLTAwMS5odG0gPSBJTUFHRQogQlVHV0s4NTIwMyA6IGlldGVzdGNlbnRlci9jc3MzL211bHRp
Y29sdW1uL2NvbHVtbi1jb250YWluaW5nLWJsb2NrLTAwMy5odG0gPSBJTUFHRQorCisvLyBXaW5k
b3dzLW9ubHkgdGVzdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1
MjgyCitCVUdXSzg1MjgyIFNLSVAgOiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlz
bnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLmh0bWwgPSBGQUlMCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139980</attachid>
            <date>2012-05-03 03:48:00 -0700</date>
            <delta_ts>2012-05-03 04:23:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85282-20120503144758.patch</filename>
            <type>text/plain</type>
            <size>6723</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3N2UzZWNkMmMzZTU3
NGI3OTQ1NzgxNzcxMWQ3OWQ5MzU3YjA1NC4uZjYwOWRiOWQ3NGFhYzdhYTM1MjQ0ZTQ5YmNiNDUw
ZmY3YzUzZTJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXh0cmEgbGlu
ZS1icmVha3MgYWRkZWQgd2hlbiBjb3B5aW5nIGZyb20gc291cmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29kZSB1c2VkIHRvIHJlcGxhY2Ug
YW55IFxuIGJ5IFxyXG4sIGV2ZW4gdGhlIG9uZSB0aGF0IGhhZCBhIHByZWNlZGluZyBcciwgcmVz
dWx0aW5nIGluIFxyXHJcbi4KKyAgICAgICAgVGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBhIGNoZWNr
IGZvciB0aGUgcHJlY2VkaW5nIFxyIHdoZW4gcmVwbGFjaW5nIFxuJ3MuCisKKyAgICAgICAgVGVz
dDogcGxhdGZvcm0vd2luL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFu
c2xhdGVkLXRvLWNyY3JsZi13aW4uaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
Q2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwbGFj
ZU5ld2xpbmVzV2l0aFdpbmRvd3NTdHlsZU5ld2xpbmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcGxhY2VO
ZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyk6CisKIDIwMTItMDUtMDIgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
Q2Fubm90IHJlYWQgcHJvcGVydHkgJ2xlbmd0aCcgb2YgdW5kZWZpbmVkIFRleHRFZGl0b3JNb2Rl
bC5qczo0NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Ns
aXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0NsaXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcAppbmRleCA2MmNmOTljZTBkNDZl
NmIzM2RmYTU1OWNlMTExMDA0NmQyNmYzZDk2Li5hZmMwOWM3ZDBmNzVlZjYwYmNhOTI1ZDQzYTE4
MmNmZDA4ZWIwMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRVdGlsaXRpZXNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwCkBAIC00Nyw5ICs0
NywyMCBAQCBQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyIGN1cnJlbnRQYXN0ZWJv
YXJkQnVmZmVyKCkKICNpZiBPUyhXSU5ET1dTKQogdm9pZCByZXBsYWNlTmV3bGluZXNXaXRoV2lu
ZG93c1N0eWxlTmV3bGluZXMoU3RyaW5nJiBzdHIpCiB7Ci0gICAgc3RhdGljIGNvbnN0IFVDaGFy
IE5ld2xpbmUgPSAnXG4nOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXaW5kb3dzTmV3
bGluZSgiXHJcbiIpOwotICAgIHN0ci5yZXBsYWNlKE5ld2xpbmUsIFdpbmRvd3NOZXdsaW5lKTsK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgd2luZG93c05ld2xpbmUsICgiXHJcbiIp
KTsKKyAgICBjb25zdCBzdGF0aWMgaW50IHdpbmRvd3NOZXdsaW5lTGVuZ3RoID0gd2luZG93c05l
d2xpbmUubGVuZ3RoKCk7CisKKyAgICBpbnQgaW5kZXggPSAwOworICAgIHNpemVfdCBzdHJMZW5n
dGggPSBzdHIubGVuZ3RoKCk7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyTGVuZ3RoKSB7CisgICAg
ICAgIGlmIChzdHJbaW5kZXhdICE9ICdcbicgfHwgKGluZGV4ID4gMCAmJiBzdHJbaW5kZXggLSAx
XSA9PSAnXHInKSkgeworICAgICAgICAgICAgKytpbmRleDsKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisgICAgICAgIHN0ci5yZXBsYWNlKGluZGV4LCAxLCB3aW5kb3dzTmV3bGlu
ZSk7CisgICAgICAgIHN0ckxlbmd0aCA9IHN0ci5sZW5ndGgoKTsKKyAgICAgICAgaW5kZXggKz0g
d2luZG93c05ld2xpbmVMZW5ndGg7CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKaW5kZXgg
ZDYxYzAxNDMyNGFkNjZlYzcxYmJhY2M0ODJkMGJiNzc2NjFjMjIxZi4uMDkzNTBjNWJiYjNmZTky
YWVlNmU4OGNlNWIwNGFlYzI5ZmQ5YTgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKQEAgLTI5OCw5ICsyOTgsMjAg
QEAgdm9pZCBtYXJrdXBUb0NGSFRNTChjb25zdCBTdHJpbmcmIG1hcmt1cCwgY29uc3QgU3RyaW5n
JiBzcmNVUkwsIFZlY3RvcjxjaGFyPiYgcmUKIAogdm9pZCByZXBsYWNlTmV3bGluZXNXaXRoV2lu
ZG93c1N0eWxlTmV3bGluZXMoU3RyaW5nJiBzdHIpCiB7Ci0gICAgc3RhdGljIGNvbnN0IFVDaGFy
IE5ld2xpbmUgPSAnXG4nOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXaW5kb3dzTmV3
bGluZSgiXHJcbiIpOwotICAgIHN0ci5yZXBsYWNlKE5ld2xpbmUsIFdpbmRvd3NOZXdsaW5lKTsK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgd2luZG93c05ld2xpbmUsICgiXHJcbiIp
KTsKKyAgICBjb25zdCBzdGF0aWMgaW50IHdpbmRvd3NOZXdsaW5lTGVuZ3RoID0gd2luZG93c05l
d2xpbmUubGVuZ3RoKCk7CisKKyAgICBpbnQgaW5kZXggPSAwOworICAgIHNpemVfdCBzdHJMZW5n
dGggPSBzdHIubGVuZ3RoKCk7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyTGVuZ3RoKSB7CisgICAg
ICAgIGlmIChzdHJbaW5kZXhdICE9ICdcbicgfHwgKGluZGV4ID4gMCAmJiBzdHJbaW5kZXggLSAx
XSA9PSAnXHInKSkgeworICAgICAgICAgICAgKytpbmRleDsKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisgICAgICAgIHN0ci5yZXBsYWNlKGluZGV4LCAxLCB3aW5kb3dzTmV3bGlu
ZSk7CisgICAgICAgIHN0ckxlbmd0aCA9IHN0ci5sZW5ndGgoKTsKKyAgICAgICAgaW5kZXggKz0g
d2luZG93c05ld2xpbmVMZW5ndGg7CisgICAgfQogfQogCiB2b2lkIHJlcGxhY2VOQlNQV2l0aFNw
YWNlKFN0cmluZyYgc3RyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlZjBiNGE3YWI0MWI0Mjk2YzM0YjM0ZjM3MTI0ZmUz
MDE4YzEyYTQuLjgxYjNmODdmMzg3ZTMwMWRhZTcxYmEzZDRiZjc0ODZlNGVhZjM3MjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0wMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEV4dHJhIGxpbmUtYnJlYWtzIGFkZGVkIHdoZW4gY29w
eWluZyBmcm9tIHNvdXJjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1MjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1p
c250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJh
bnNsYXRlZC10by1jcmNybGYtd2luLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTAyICBab2x0YW4g
QXJ2YWkgIDx6YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdl
ZCBnYXJkZW5pbmcsIHNraXBwaW5nIGZhaWxpbmcgdGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFu
c2xhdGVkLXRvLWNyY3JsZi13aW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFuc2xhdGVkLXRvLWNy
Y3JsZi13aW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiODU5ODE4ZThmYjgxY2ZiOWRkMjll
YjMyZDQyNDgyNjJmZjE1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8t
Y3JjcmxmLXdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGlzIHRlc3QgcmVxdWly
ZXMgRFJULiBJdCB2ZXJpZmllcyB0aGF0IG9uIFdpbmRvd3Mgb25seSBcbidzIG5vdCBwcmVjZWRl
ZCBieSBcciBhcmUgdHJhbnNsYXRlZCBpbnRvIFxyXG4gYnkgUGFzdGVib2FyZC4KKworU291cmNl
OgorXG5MaW5lMVxyTGluZTJcbkxpbmUzXHJcbkxpbmU0XHJcclxuTGluZTVcclxuXHJcblxuCitS
ZXN1bHQ6CitcclxuTGluZTFcckxpbmUyXHJcbkxpbmUzXHJcbkxpbmU0XHJcclxuTGluZTVcclxu
XHJcblxyXG4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3Js
Zi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZGRjMjQ2
ZmNlN2JhMzBmMDA2YWE4MmRkYzhkODU2N2RkYzg3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250
LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGhhbmRsZVBhc3Rl
KGV2ZW50KQoreworICAgIHZhciBkYXRhID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0
ZXh0L3BsYWluJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLnRleHRD
b250ZW50ICs9IGRhdGEucmVwbGFjZSgvXHIvZywgIlxcciIpLnJlcGxhY2UoL1xuL2csICJcXG4i
KTsKKyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJu
OworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICBk
b2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ3Bhc3RlJywgaGFuZGxlUGFzdGUpOworICAg
IHZhciBzb3VyY2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NvdXJjZScpOwor
ICAgIHZhciBvcmlnaW5hbFNvdXJjZSA9IHNvdXJjZUVsZW1lbnQudGV4dENvbnRlbnQ7CisgICAg
c291cmNlRWxlbWVudC50ZXh0Q29udGVudCA9IG9yaWdpbmFsU291cmNlLnJlcGxhY2UoL1tcXF1y
L2csICJcciIpLnJlcGxhY2UoL1tcXF1uL2csICJcbiIpOworCisgICAgdmFyIHJhbmdlID0gZG9j
dW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZWxlY3ROb2RlKHNvdXJjZUVsZW1lbnQp
OworICAgIGdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgnY29weScpOworICAgIGdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOwor
ICAgIHNvdXJjZUVsZW1lbnQudGV4dENvbnRlbnQgPSBvcmlnaW5hbFNvdXJjZTsKKworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdwYXN0ZScpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IHJlcXVpcmVzIERSVC4gSXQgdmVyaWZpZXMgdGhhdCBvbiBXaW5kb3dzIG9ubHkg
XG4ncyBub3QgcHJlY2VkZWQgYnkgXHIgYXJlIHRyYW5zbGF0ZWQgaW50byBcclxuIGJ5IFBhc3Rl
Ym9hcmQuPC9wPgorPGRpdj5Tb3VyY2U6PC9kaXY+Cis8cHJlIGlkPSJzb3VyY2UiPlxuTGluZTFc
ckxpbmUyXG5MaW5lM1xyXG5MaW5lNFxyXHJcbkxpbmU1XHJcblxyXG5cbjwvcHJlPgorPGRpdj5S
ZXN1bHQ6PC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiIC8+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139982</attachid>
            <date>2012-05-03 04:23:29 -0700</date>
            <delta_ts>2012-05-07 09:07:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85282-20120503152327.patch</filename>
            <type>text/plain</type>
            <size>6747</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3N2UzZWNkMmMzZTU3
NGI3OTQ1NzgxNzcxMWQ3OWQ5MzU3YjA1NC4uZjYwOWRiOWQ3NGFhYzdhYTM1MjQ0ZTQ5YmNiNDUw
ZmY3YzUzZTJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXh0cmEgbGlu
ZS1icmVha3MgYWRkZWQgd2hlbiBjb3B5aW5nIGZyb20gc291cmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUyODIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29kZSB1c2VkIHRvIHJlcGxhY2Ug
YW55IFxuIGJ5IFxyXG4sIGV2ZW4gdGhlIG9uZSB0aGF0IGhhZCBhIHByZWNlZGluZyBcciwgcmVz
dWx0aW5nIGluIFxyXHJcbi4KKyAgICAgICAgVGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBhIGNoZWNr
IGZvciB0aGUgcHJlY2VkaW5nIFxyIHdoZW4gcmVwbGFjaW5nIFxuJ3MuCisKKyAgICAgICAgVGVz
dDogcGxhdGZvcm0vd2luL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNybGYtaXNudC10cmFu
c2xhdGVkLXRvLWNyY3JsZi13aW4uaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
Q2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwbGFj
ZU5ld2xpbmVzV2l0aFdpbmRvd3NTdHlsZU5ld2xpbmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcGxhY2VO
ZXdsaW5lc1dpdGhXaW5kb3dzU3R5bGVOZXdsaW5lcyk6CisKIDIwMTItMDUtMDIgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
Q2Fubm90IHJlYWQgcHJvcGVydHkgJ2xlbmd0aCcgb2YgdW5kZWZpbmVkIFRleHRFZGl0b3JNb2Rl
bC5qczo0NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Ns
aXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0NsaXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmNwcAppbmRleCA2MmNmOTljZTBkNDZl
NmIzM2RmYTU1OWNlMTExMDA0NmQyNmYzZDk2Li5jOGY5MDM1ZTQzYWI5NjY4ODBhM2FlYjIzNzU2
MmRhYWE3MmQ5Y2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRVdGlsaXRpZXNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uY3BwCkBAIC00Nyw5ICs0
NywyMCBAQCBQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyIGN1cnJlbnRQYXN0ZWJv
YXJkQnVmZmVyKCkKICNpZiBPUyhXSU5ET1dTKQogdm9pZCByZXBsYWNlTmV3bGluZXNXaXRoV2lu
ZG93c1N0eWxlTmV3bGluZXMoU3RyaW5nJiBzdHIpCiB7Ci0gICAgc3RhdGljIGNvbnN0IFVDaGFy
IE5ld2xpbmUgPSAnXG4nOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXaW5kb3dzTmV3
bGluZSgiXHJcbiIpOwotICAgIHN0ci5yZXBsYWNlKE5ld2xpbmUsIFdpbmRvd3NOZXdsaW5lKTsK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgd2luZG93c05ld2xpbmUsICgiXHJcbiIp
KTsKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgd2luZG93c05ld2xpbmVMZW5ndGggPSB3aW5k
b3dzTmV3bGluZS5sZW5ndGgoKTsKKworICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICB1bnNp
Z25lZCBzdHJMZW5ndGggPSBzdHIubGVuZ3RoKCk7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyTGVu
Z3RoKSB7CisgICAgICAgIGlmIChzdHJbaW5kZXhdICE9ICdcbicgfHwgKGluZGV4ID4gMCAmJiBz
dHJbaW5kZXggLSAxXSA9PSAnXHInKSkgeworICAgICAgICAgICAgKytpbmRleDsKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIHN0ci5yZXBsYWNlKGluZGV4LCAxLCB3
aW5kb3dzTmV3bGluZSk7CisgICAgICAgIHN0ckxlbmd0aCA9IHN0ci5sZW5ndGgoKTsKKyAgICAg
ICAgaW5kZXggKz0gd2luZG93c05ld2xpbmVMZW5ndGg7CisgICAgfQogfQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dp
bi5jcHAKaW5kZXggZDYxYzAxNDMyNGFkNjZlYzcxYmJhY2M0ODJkMGJiNzc2NjFjMjIxZi4uZDhk
NzdmMzE5NmRhOGFlYTY4ZmNjYWQwYzFjZTYzNDA0OWUxN2YzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKQEAgLTI5
OCw5ICsyOTgsMjAgQEAgdm9pZCBtYXJrdXBUb0NGSFRNTChjb25zdCBTdHJpbmcmIG1hcmt1cCwg
Y29uc3QgU3RyaW5nJiBzcmNVUkwsIFZlY3RvcjxjaGFyPiYgcmUKIAogdm9pZCByZXBsYWNlTmV3
bGluZXNXaXRoV2luZG93c1N0eWxlTmV3bGluZXMoU3RyaW5nJiBzdHIpCiB7Ci0gICAgc3RhdGlj
IGNvbnN0IFVDaGFyIE5ld2xpbmUgPSAnXG4nOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBXaW5kb3dzTmV3bGluZSgiXHJcbiIpOwotICAgIHN0ci5yZXBsYWNlKE5ld2xpbmUsIFdpbmRv
d3NOZXdsaW5lKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgd2luZG93c05ld2xp
bmUsICgiXHJcbiIpKTsKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgd2luZG93c05ld2xpbmVM
ZW5ndGggPSB3aW5kb3dzTmV3bGluZS5sZW5ndGgoKTsKKworICAgIHVuc2lnbmVkIGluZGV4ID0g
MDsKKyAgICB1bnNpZ25lZCBzdHJMZW5ndGggPSBzdHIubGVuZ3RoKCk7CisgICAgd2hpbGUgKGlu
ZGV4IDwgc3RyTGVuZ3RoKSB7CisgICAgICAgIGlmIChzdHJbaW5kZXhdICE9ICdcbicgfHwgKGlu
ZGV4ID4gMCAmJiBzdHJbaW5kZXggLSAxXSA9PSAnXHInKSkgeworICAgICAgICAgICAgKytpbmRl
eDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIHN0ci5yZXBsYWNl
KGluZGV4LCAxLCB3aW5kb3dzTmV3bGluZSk7CisgICAgICAgIHN0ckxlbmd0aCA9IHN0ci5sZW5n
dGgoKTsKKyAgICAgICAgaW5kZXggKz0gd2luZG93c05ld2xpbmVMZW5ndGg7CisgICAgfQogfQog
CiB2b2lkIHJlcGxhY2VOQlNQV2l0aFNwYWNlKFN0cmluZyYgc3RyKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlZjBiNGE3
YWI0MWI0Mjk2YzM0YjM0ZjM3MTI0ZmUzMDE4YzEyYTQuLjgxYjNmODdmMzg3ZTMwMWRhZTcxYmEz
ZDRiZjc0ODZlNGVhZjM3MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0wMyAgQWxl
eGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEV4dHJhIGxp
bmUtYnJlYWtzIGFkZGVkIHdoZW4gY29weWluZyBmcm9tIHNvdXJjZS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MjgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNsYXRlZC10by1jcmNybGYtd2luLmh0bWw6IEFkZGVk
LgorCiAyMDEyLTA1LTAyICBab2x0YW4gQXJ2YWkgIDx6YXJ2YWlAaW5mLnUtc3plZ2VkLmh1Pgog
CiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXBwaW5nIGZhaWxpbmcgdGVz
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0aW5nLWNybGYtaXNudC10cmFuc2xhdGVkLXRvLWNyY3JsZi13aW4tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0aW5nLWNy
bGYtaXNudC10cmFuc2xhdGVkLXRvLWNyY3JsZi13aW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNiODU5ODE4ZThmYjgxY2ZiOWRkMjllYjMyZDQyNDgyNjJmZjE1OWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rpbmct
Y3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2IEBACitUaGlzIHRlc3QgcmVxdWlyZXMgRFJULiBJdCB2ZXJpZmllcyB0aGF0IG9uIFdpbmRv
d3Mgb25seSBcbidzIG5vdCBwcmVjZWRlZCBieSBcciBhcmUgdHJhbnNsYXRlZCBpbnRvIFxyXG4g
YnkgUGFzdGVib2FyZC4KKworU291cmNlOgorXG5MaW5lMVxyTGluZTJcbkxpbmUzXHJcbkxpbmU0
XHJcclxuTGluZTVcclxuXHJcblxuCitSZXN1bHQ6CitcclxuTGluZTFcckxpbmUyXHJcbkxpbmUz
XHJcbkxpbmU0XHJcclxuTGluZTVcclxuXHJcblxyXG4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGluZy1jcmxmLWlzbnQtdHJhbnNs
YXRlZC10by1jcmNybGYtd2luLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU4ZGRjMjQ2ZmNlN2JhMzBmMDA2YWE4MmRkYzhkODU2N2RkYzg3NzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RpbmctY3JsZi1pc250LXRyYW5zbGF0ZWQtdG8tY3JjcmxmLXdpbi5odG1sCkBA
IC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIGhhbmRsZVBhc3RlKGV2ZW50KQoreworICAgIHZhciBkYXRhID0gZXZlbnQu
Y2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLnRleHRDb250ZW50ICs9IGRhdGEucmVwbGFjZSgvXHIvZywgIlxc
ciIpLnJlcGxhY2UoL1xuL2csICJcXG4iKTsKKyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisKKyAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ3Bh
c3RlJywgaGFuZGxlUGFzdGUpOworICAgIHZhciBzb3VyY2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3NvdXJjZScpOworICAgIHZhciBvcmlnaW5hbFNvdXJjZSA9IHNvdXJjZUVs
ZW1lbnQudGV4dENvbnRlbnQ7CisgICAgc291cmNlRWxlbWVudC50ZXh0Q29udGVudCA9IG9yaWdp
bmFsU291cmNlLnJlcGxhY2UoL1tcXF1yL2csICJcciIpLnJlcGxhY2UoL1tcXF1uL2csICJcbiIp
OworCisgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5z
ZWxlY3ROb2RlKHNvdXJjZUVsZW1lbnQpOworICAgIGdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJh
bmdlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpOworICAgIGdldFNlbGVjdGlv
bigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHNvdXJjZUVsZW1lbnQudGV4dENvbnRlbnQgPSBv
cmlnaW5hbFNvdXJjZTsKKworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdwYXN0ZScpOworfQor
PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSIgY29udGVudGVkaXRhYmxlPSJ0cnVl
Ij4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHJlcXVpcmVzIERSVC4gSXQgdmVyaWZp
ZXMgdGhhdCBvbiBXaW5kb3dzIG9ubHkgXG4ncyBub3QgcHJlY2VkZWQgYnkgXHIgYXJlIHRyYW5z
bGF0ZWQgaW50byBcclxuIGJ5IFBhc3RlYm9hcmQuPC9wPgorPGRpdj5Tb3VyY2U6PC9kaXY+Cis8
cHJlIGlkPSJzb3VyY2UiPlxuTGluZTFcckxpbmUyXG5MaW5lM1xyXG5MaW5lNFxyXHJcbkxpbmU1
XHJcblxyXG5cbjwvcHJlPgorPGRpdj5SZXN1bHQ6PC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiIC8+
Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="review"
          id="145728"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>