<?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>112275</bug_id>
          
          <creation_ts>2013-03-13 12:07:41 -0700</creation_ts>
          <short_desc>TextIterator emits LF for a br element inside an empty input element</short_desc>
          <delta_ts>2013-03-15 15:24:46 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Aurimas Liutikas">aurimas</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>leviw</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>854454</commentid>
    <comment_count>0</comment_count>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 12:07:41 -0700</bug_when>
    <thetext>The shadow tree for an input element that is empty is:
&lt;div&gt;&lt;/div&gt;
Once a user enters character &quot;a&quot;, the shadow tree element becomes:
&lt;div&gt;&quot;a&quot;&lt;/div&gt;
Once the user deletes that character, the shadow tree element becomes:
&lt;div&gt;&lt;br&gt;&quot;&quot;&lt;/div&gt;

The call below to plainText returns &quot;\n&quot; after adding and deleting a character:

Node* node = document()-&gt;frame()-&gt;selection()-&gt;selection().rootEditableElement();       
plainText(rangeOfContents(node).get());

This is incorrect as the field is actually empty and &lt;br&gt; is there just to keep input element&apos;s &lt;div&gt; from collapsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854457</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-13 12:11:21 -0700</bug_when>
    <thetext>It&apos;s perfectly fine to emit LF for a br element inside a content editable element. In fact, that&apos;s expected. It&apos;s not okay to emit LF inside an empty input element however since the fact we use shadow DOM to implement input element is an implementation detail and input should never have a LF in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854460</commentid>
    <comment_count>2</comment_count>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 12:13:15 -0700</bug_when>
    <thetext>&quot;\n&quot; is causing a bug in Chrome for Android when using Japanese IME. When we send the keyboard update that there is a \n character for field that is supposed to be only one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854585</commentid>
    <comment_count>3</comment_count>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 13:41:27 -0700</bug_when>
    <thetext>rniwa: Should plainText() function in TextIterator.cpp simply compare each element it is iterating over to see if it is &quot;&lt;br&gt;&quot; and if it is - skip it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854601</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-13 13:56:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; rniwa: Should plainText() function in TextIterator.cpp simply compare each element it is iterating over to see if it is &quot;&lt;br&gt;&quot; and if it is - skip it?

Definitely not. We simply need a logic to skip &lt;br&gt; inside the shadow DOM of an input element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854704</commentid>
    <comment_count>5</comment_count>
      <attachid>193006</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 15:23:34 -0700</bug_when>
    <thetext>Created attachment 193006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854732</commentid>
    <comment_count>6</comment_count>
      <attachid>193011</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 15:39:10 -0700</bug_when>
    <thetext>Created attachment 193011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854742</commentid>
    <comment_count>7</comment_count>
      <attachid>193011</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-13 15:50:40 -0700</bug_when>
    <thetext>Comment on attachment 193011
Patch

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

How can I test TextIterator? Is there a similar LayoutTest somewhere?

&gt; Source/WebCore/editing/TextIterator.cpp:758
&gt;      return r-&gt;isBR();

Should I do a similar check here using node? I am not familiar what RenderObject means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854760</commentid>
    <comment_count>8</comment_count>
      <attachid>193011</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-13 16:02:11 -0700</bug_when>
    <thetext>Comment on attachment 193011
Patch

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

Look at tests inside LayoutTests/editing/text-iterator.

&gt; Source/WebCore/editing/TextIterator.cpp:756
&gt; +        return node-&gt;hasTagName(brTag) &amp;&amp; !node-&gt;isInShadowTree() &amp;&amp; !node-&gt;shadowHost()-&gt;toInputElement();

This is wrong. Being inside a shadow tree doesn&apos;t imply that the shadow tree is inside an input element.

&gt;&gt; Source/WebCore/editing/TextIterator.cpp:758
&gt;&gt;      return r-&gt;isBR();
&gt; 
&gt; Should I do a similar check here using node? I am not familiar what RenderObject means.

Yes. Having a renderer means that the node nor its ancestors don&apos;t have display: none.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855381</commentid>
    <comment_count>9</comment_count>
      <attachid>193167</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 11:51:12 -0700</bug_when>
    <thetext>Created attachment 193167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855392</commentid>
    <comment_count>10</comment_count>
      <attachid>193167</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-14 12:04:05 -0700</bug_when>
    <thetext>Comment on attachment 193167
Patch

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

&gt; Source/WebCore/editing/TextIterator.cpp:753
&gt;      // br elements are represented by a single newline.
&gt;      RenderObject* r = node-&gt;renderer();

While we&apos;re at it, please rename r to renderer, and remove this comment that repeats the self-evident fact.

&gt; Source/WebCore/editing/TextIterator.cpp:755
&gt; +    // Checking if this node is a &lt;br&gt; element within a shadow tree of an input element.

This comment repeats the code. Please remove it.

&gt; Source/WebCore/editing/TextIterator.cpp:756
&gt; +    bool isNodeInsideInputShadowTree = node-&gt;isInShadowTree() &amp;&amp; node-&gt;shadowHost()-&gt;toInputElement();

The boolean shouldn&apos;t be a question. Rename it to nodeIsInsideInputElement.

&gt; LayoutTests/editing/text-iterator/basic-iteration-expected.txt:20
&gt; +PASS range.selectNodeContents(shadow); internals.rangeAsText(range) is &quot;b&quot;
&gt; +PASS range.selectNodeContents(shadow); internals.rangeAsText(range) is &quot;b&quot;
&gt; +PASS range.selectNodeContents(shadow); internals.rangeAsText(range) is &quot;&quot;
&gt; +PASS range.selectNodeContents(shadow); internals.rangeAsText(range) is &quot;\n&quot;

From this output, it&apos;s not obvious why internals.rangeAsText&apos;s return value should be different in all four cases.

&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:35
&gt; +var input = testDocument.body.children[0];

I would prefer doing testDocument.querySelector(&apos;input&apos;) instead.

&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:37
&gt; +var shadow = internals.oldestShadowRoot(input);
&gt; +shouldBe(&apos;range.selectNodeContents(shadow); internals.rangeAsText(range)&apos;, &apos;&quot;b&quot;&apos;);

It would have been better if we called internals.oldestShadowRoot(input) inside shouldBe.

&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:41
&gt; +var mydiv = shadow.childNodes[0];
&gt; +var mybr = document.createElement(&apos;br&apos;);
&gt; +mydiv.appendChild(mybr);

Please don&apos;t use variables names like mydiv and mybr.
Also, it would have been better if we added a helper function to create and append a br element and then called that inside shouldBe.

&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:46
&gt; +testDocument.body.innerHTML = &apos;&lt;div&gt;a&lt;/div&gt;&apos;;
&gt; +var maindiv = testDocument.body.childNodes[0];
&gt; +var shadow = maindiv.webkitCreateShadowRoot();

We should create some helper function to do this and call it inside shouldBe.

&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:49
&gt; +shadow.appendChild(document.createElement(&apos;br&apos;));

This should be called inside shouldBe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855479</commentid>
    <comment_count>11</comment_count>
      <attachid>193182</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 14:09:45 -0700</bug_when>
    <thetext>Created attachment 193182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855480</commentid>
    <comment_count>12</comment_count>
      <attachid>193167</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 14:10:08 -0700</bug_when>
    <thetext>Comment on attachment 193167
Patch

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

&gt;&gt; Source/WebCore/editing/TextIterator.cpp:753
&gt;&gt;      RenderObject* r = node-&gt;renderer();
&gt; 
&gt; While we&apos;re at it, please rename r to renderer, and remove this comment that repeats the self-evident fact.

Done

&gt;&gt; Source/WebCore/editing/TextIterator.cpp:755
&gt;&gt; +    // Checking if this node is a &lt;br&gt; element within a shadow tree of an input element.
&gt; 
&gt; This comment repeats the code. Please remove it.

Done

&gt;&gt; Source/WebCore/editing/TextIterator.cpp:756
&gt;&gt; +    bool isNodeInsideInputShadowTree = node-&gt;isInShadowTree() &amp;&amp; node-&gt;shadowHost()-&gt;toInputElement();
&gt; 
&gt; The boolean shouldn&apos;t be a question. Rename it to nodeIsInsideInputElement.

Done

&gt;&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:35
&gt;&gt; +var input = testDocument.body.children[0];
&gt; 
&gt; I would prefer doing testDocument.querySelector(&apos;input&apos;) instead.

Done

&gt;&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:37
&gt;&gt; +shouldBe(&apos;range.selectNodeContents(shadow); internals.rangeAsText(range)&apos;, &apos;&quot;b&quot;&apos;);
&gt; 
&gt; It would have been better if we called internals.oldestShadowRoot(input) inside shouldBe.

Done

&gt;&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:41
&gt;&gt; +mydiv.appendChild(mybr);
&gt; 
&gt; Please don&apos;t use variables names like mydiv and mybr.
&gt; Also, it would have been better if we added a helper function to create and append a br element and then called that inside shouldBe.

Done

&gt;&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:46
&gt;&gt; +var shadow = maindiv.webkitCreateShadowRoot();
&gt; 
&gt; We should create some helper function to do this and call it inside shouldBe.

Done

&gt;&gt; LayoutTests/editing/text-iterator/script-tests/basic-iteration.js:49
&gt;&gt; +shadow.appendChild(document.createElement(&apos;br&apos;));
&gt; 
&gt; This should be called inside shouldBe.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855550</commentid>
    <comment_count>13</comment_count>
      <attachid>193182</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-14 16:28:06 -0700</bug_when>
    <thetext>Comment on attachment 193182
Patch

Attachment 193182 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17157148

New failing tests:
fast/forms/8250.html
editing/text-iterator/basic-iteration.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855551</commentid>
    <comment_count>14</comment_count>
      <attachid>193182</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 16:28:40 -0700</bug_when>
    <thetext>Comment on attachment 193182
Patch

Attachment 193182 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17156578

New failing tests:
fast/forms/8250.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855552</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-14 16:29:49 -0700</bug_when>
    <thetext>Please investigate the failing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855578</commentid>
    <comment_count>16</comment_count>
      <attachid>193182</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-14 17:00:43 -0700</bug_when>
    <thetext>Comment on attachment 193182
Patch

Attachment 193182 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17222046

New failing tests:
fast/forms/8250.html
editing/text-iterator/basic-iteration.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855624</commentid>
    <comment_count>17</comment_count>
      <attachid>193216</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 18:25:13 -0700</bug_when>
    <thetext>Created attachment 193216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855648</commentid>
    <comment_count>18</comment_count>
      <attachid>193216</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-14 19:32:50 -0700</bug_when>
    <thetext>Comment on attachment 193216
Patch

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

&gt; Source/WebCore/editing/TextIterator.cpp:1139
&gt; +    , m_emitsOriginalText(behavior &amp; TextIteratorEmitsOriginalText)

SimplifiedBackwardsTextIterator doesn&apos;t support TextIteratorEmitsOriginalText. We need to initialize it with false.
r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855659</commentid>
    <comment_count>19</comment_count>
      <attachid>193224</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 20:03:57 -0700</bug_when>
    <thetext>Created attachment 193224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855660</commentid>
    <comment_count>20</comment_count>
      <attachid>193224</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-14 20:09:20 -0700</bug_when>
    <thetext>Comment on attachment 193224
Patch

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

&gt; Source/WebCore/editing/TextIterator.cpp:754
&gt; +    bool nodeIsInsideInputElement = node-&gt;isInShadowTree() &amp;&amp; node-&gt;shadowHost()-&gt;toInputElement();

It seems not ideal that we check this condition first because the vast majority of tests aren&apos;t br.
Given that it&apos;s probably better to check br&apos;ness first as in:
if ((!renderer || !renderer-&gt;isBR()) &amp;&amp; !node-&gt;hasTagName(brTag))
    return false;
return emitsOriginalText || !(node-&gt;isInShadowTree() &amp;&amp; node-&gt;shadowHost()-&gt;toInputElement());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855672</commentid>
    <comment_count>21</comment_count>
      <attachid>193226</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-14 20:53:32 -0700</bug_when>
    <thetext>Created attachment 193226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855674</commentid>
    <comment_count>22</comment_count>
      <attachid>193226</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-14 21:00:43 -0700</bug_when>
    <thetext>Comment on attachment 193226
Patch

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

&gt; Source/WebCore/editing/TextIterator.cpp:755
&gt; +    if ((!renderer || !renderer-&gt;isBR()) &amp;&amp; !node-&gt;hasTagName(brTag))
&gt; +        return false;

Oh oops, sorry I lied. This is not identical :( This behaves differently than the old code when renderer-&gt;isBR() is false and node-&gt;hasTagName(brTag) is true.
We need to do renderer ? !renderer-&gt;isBR() : !node-&gt;hasTagName(brTag) instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856028</commentid>
    <comment_count>23</comment_count>
      <attachid>193321</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-15 09:18:13 -0700</bug_when>
    <thetext>Created attachment 193321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856102</commentid>
    <comment_count>24</comment_count>
      <attachid>193321</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-15 10:55:24 -0700</bug_when>
    <thetext>Comment on attachment 193321
Patch

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

&gt; LayoutTests/editing/text-iterator/basic-iteration-shadowdom.html:44
&gt; +testDocument.body.innerHTML = &apos;&lt;div&gt;a&lt;/div&gt;&apos;;
&gt; +var div = testDocument.body.childNodes[0];
&gt; +shouldBe(&apos;addShadowTreeWithDivElement(div); range.selectNodeContents(internals.oldestShadowRoot(div)); internals.rangeAsText(range)&apos;, &apos;&quot;b&quot;&apos;);
&gt; +
&gt; +shouldBe(&apos;appendBrElement(internals.oldestShadowRoot(div).childNodes[0]); range.selectNodeContents(internals.oldestShadowRoot(div)); internals.rangeAsText(range)&apos;, &apos;&quot;b\\n&quot;&apos;);
&gt; +

We should split this into a separate test so that test cases above can still be ran on ports that don&apos;t enable shadow DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856114</commentid>
    <comment_count>25</comment_count>
      <attachid>193321</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-15 11:06:12 -0700</bug_when>
    <thetext>Comment on attachment 193321
Patch

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

&gt;&gt; LayoutTests/editing/text-iterator/basic-iteration-shadowdom.html:44
&gt;&gt; +
&gt; 
&gt; We should split this into a separate test so that test cases above can still be ran on ports that don&apos;t enable shadow DOM.

Which ones of the four cases above do you think can be run without shadow DOM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856118</commentid>
    <comment_count>26</comment_count>
      <attachid>193321</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-15 11:08:48 -0700</bug_when>
    <thetext>Comment on attachment 193321
Patch

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

&gt;&gt;&gt; LayoutTests/editing/text-iterator/basic-iteration-shadowdom.html:44
&gt;&gt;&gt; +
&gt;&gt; 
&gt;&gt; We should split this into a separate test so that test cases above can still be ran on ports that don&apos;t enable shadow DOM.
&gt; 
&gt; Which ones of the four cases above do you think can be run without shadow DOM?

Everything up to line 40 should work everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856129</commentid>
    <comment_count>27</comment_count>
      <attachid>193321</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-15 11:25:48 -0700</bug_when>
    <thetext>Comment on attachment 193321
Patch

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

&gt;&gt;&gt;&gt; LayoutTests/editing/text-iterator/basic-iteration-shadowdom.html:44
&gt;&gt;&gt;&gt; +
&gt;&gt;&gt; 
&gt;&gt;&gt; We should split this into a separate test so that test cases above can still be ran on ports that don&apos;t enable shadow DOM.
&gt;&gt; 
&gt;&gt; Which ones of the four cases above do you think can be run without shadow DOM?
&gt; 
&gt; Everything up to line 40 should work everywhere.

Doesn&apos;t internals.oldestShadowRoot(input) require shadow DOM support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856148</commentid>
    <comment_count>28</comment_count>
      <attachid>193321</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-15 11:45:39 -0700</bug_when>
    <thetext>Comment on attachment 193321
Patch

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

&gt;&gt;&gt;&gt;&gt; LayoutTests/editing/text-iterator/basic-iteration-shadowdom.html:44
&gt;&gt;&gt;&gt;&gt; +
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; We should split this into a separate test so that test cases above can still be ran on ports that don&apos;t enable shadow DOM.
&gt;&gt;&gt; 
&gt;&gt;&gt; Which ones of the four cases above do you think can be run without shadow DOM?
&gt;&gt; 
&gt;&gt; Everything up to line 40 should work everywhere.
&gt; 
&gt; Doesn&apos;t internals.oldestShadowRoot(input) require shadow DOM support?

No.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856168</commentid>
    <comment_count>29</comment_count>
      <attachid>193346</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-15 12:04:25 -0700</bug_when>
    <thetext>Created attachment 193346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856173</commentid>
    <comment_count>30</comment_count>
      <attachid>193346</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-15 12:07:25 -0700</bug_when>
    <thetext>Comment on attachment 193346
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Test: editing/text-iterator/basic-iteration-shadowdom.html

Please add editing/text-iterator/script-tests/basic-iteration.html here as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856257</commentid>
    <comment_count>31</comment_count>
      <attachid>193370</attachid>
    <who name="Aurimas Liutikas">aurimas</who>
    <bug_when>2013-03-15 13:44:30 -0700</bug_when>
    <thetext>Created attachment 193370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856259</commentid>
    <comment_count>32</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-15 13:49:35 -0700</bug_when>
    <thetext>You can ask for r? and cq? at the same time. Also, once you&apos;ve got r+, you can replace NOBODY (OOPS!) by my name and upload the patch with just cq?. You can do that easily with webkit-patch upload --no-review --request-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856343</commentid>
    <comment_count>33</comment_count>
      <attachid>193370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-15 15:24:40 -0700</bug_when>
    <thetext>Comment on attachment 193370
Patch

Clearing flags on attachment: 193370

Committed r145954: &lt;http://trac.webkit.org/changeset/145954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856345</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-15 15:24:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193006</attachid>
            <date>2013-03-13 15:23:34 -0700</date>
            <delta_ts>2013-03-13 15:39:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130313151931.patch</filename>
            <type>text/plain</type>
            <size>1852</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ0YjAxMWVhYTRjMDkx
OTM0MWYyZDI4NTI4MzBkNjRiMmUzNGQxNy4uMzViZGRkMDM2NTkyYmZkMjQ0Yzc3YmI4NTNjMDQz
MDJhZTZjMWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTEzICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0Bnb29nbGUuY29tPgorCisgICAgICAgIFRleHRJdGVyYXRv
ciBlbWl0cyBMRiBmb3IgYSBiciBlbGVtZW50IGluc2lkZSBhbiBlbXB0eSBpbnB1dCBlbGVtZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIyNzUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUpOgorCiAyMDEz
LTAzLTEyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBhdHRlbXB0ZWQgV2luZG93cyBidWlsZCBmaXggYWZ0ZXIgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMTQ1NTkyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNkZDUuLjc4
NzY2MjdmMzc4OTZjZWJhYzcwM2E0ZDc1NjViMWE3ZDY3YmExMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTk1Niw5ICs5NTYsMTIgQEAgdm9pZCBUZXh0SXRl
cmF0b3I6OnJlcHJlc2VudE5vZGVPZmZzZXRaZXJvKCkKIAogYm9vbCBUZXh0SXRlcmF0b3I6Omhh
bmRsZU5vblRleHROb2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1f
bm9kZSkpCisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZShtX25vZGUpKSB7CisgICAg
ICAgIC8vIENoZWNraW5nIGlmIHRoaXMgbm9kZSBpcyBhIDxicj4gZWxlbWVudCB3aXRoaW4gYSBz
aGFkb3cgdHJlZSBvZiBhbiBpbnB1dCBlbGVtZW50LgorICAgICAgICBpZiAobV9ub2RlLT5pc0lu
U2hhZG93VHJlZSgpICYmIG1fbm9kZS0+c2hhZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBlbWl0Q2hhcmFjdGVyKCdcbicsIG1f
bm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwotICAgIGVsc2UgaWYgKG1fZW1pdHND
aGFyYWN0ZXJzQmV0d2VlbkFsbFZpc2libGVQb3NpdGlvbnMgJiYgbV9ub2RlLT5yZW5kZXJlcigp
ICYmIG1fbm9kZS0+cmVuZGVyZXIoKS0+aXNIUigpKQorICAgIH0gZWxzZSBpZiAobV9lbWl0c0No
YXJhY3RlcnNCZXR3ZWVuQWxsVmlzaWJsZVBvc2l0aW9ucyAmJiBtX25vZGUtPnJlbmRlcmVyKCkg
JiYgbV9ub2RlLT5yZW5kZXJlcigpLT5pc0hSKCkpCiAgICAgICAgIGVtaXRDaGFyYWN0ZXIoJyAn
LCBtX25vZGUtPnBhcmVudE5vZGUoKSwgbV9ub2RlLCAwLCAxKTsKICAgICBlbHNlCiAgICAgICAg
IHJlcHJlc2VudE5vZGVPZmZzZXRaZXJvKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193011</attachid>
            <date>2013-03-13 15:39:10 -0700</date>
            <delta_ts>2013-03-14 11:51:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130313153507.patch</filename>
            <type>text/plain</type>
            <size>1737</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ0YjAxMWVhYTRjMDkx
OTM0MWYyZDI4NTI4MzBkNjRiMmUzNGQxNy4uZTA3ZTlmNTZiMDI1YzFlMzdmNTJkMDhiZmI5NGFl
OGVjMzE1NWI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAzLTEzICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBhIGNoZWNrIHRvIFRleHRJdGVyYXRvcjo6c2hvdWxkRW1pdE5ld0xpbmVOb2Rl
KCkgdG8KKyAgICAgICAgY2hlY2sgaWYgdGhlIG5vZGUgaXMgYSA8YnI+IGVsZW1lbnQgd2l0aGlu
IGEgc2hhZG93IHRyZWUgb2YgYW4gaW5wdXQKKyAgICAgICAgZWxlbWVudC4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEVtaXROZXdsaW5lRm9yTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHROb2RlKToKKwogMjAxMy0wMy0x
MiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgYXR0ZW1wdGVkIFdpbmRvd3MgYnVpbGQgZml4IGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzE0NTU5Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cAppbmRleCBkYTc2YWQ0ZjFkNTYzN2M0Y2VhODE4YjI3MDRiZmZhYjc1ZWZjZGQ1Li5jY2ZhNWU3
MDNmM2U1OGUyNDkyNTM5Yzg2OTMzMGZjMTA3NzcyNjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuY3BwCkBAIC03NTIsOCArNzUyLDkgQEAgc3RhdGljIGJvb2wgc2hvdWxk
RW1pdE5ld2xpbmVGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgLy8gYnIgZWxlbWVudHMgYXJlIHJl
cHJlc2VudGVkIGJ5IGEgc2luZ2xlIG5ld2xpbmUuCiAgICAgUmVuZGVyT2JqZWN0KiByID0gbm9k
ZS0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXIpCi0gICAgICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKGJyVGFnKTsKLSAgICAgICAgCisgICAgICAgIC8vIENoZWNraW5nIGlmIHRoaXMgbm9kZSBp
cyBhIDxicj4gZWxlbWVudCB3aXRoaW4gYSBzaGFkb3cgdHJlZSBvZiBhbiBpbnB1dCBlbGVtZW50
LgorICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZykgJiYgIW5vZGUtPmlzSW5T
aGFkb3dUcmVlKCkgJiYgIW5vZGUtPnNoYWRvd0hvc3QoKS0+dG9JbnB1dEVsZW1lbnQoKTsKKwog
ICAgIHJldHVybiByLT5pc0JSKCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193167</attachid>
            <date>2013-03-14 11:51:12 -0700</date>
            <delta_ts>2013-03-14 18:25:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130314114709.patch</filename>
            <type>text/plain</type>
            <size>5057</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uNDU2OTFlN2FlMDEzYTkyMzI2MTkyMTVlOGEzMWNj
ZWZkNGE0ZTRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgKiBlZGl0
aW5nL1RleHRJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRFbWl0TmV3bGlu
ZUZvck5vZGUpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGdldCByaWQgb2YgaGlkZGVuUGFuZWxz
IGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZh
ZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNkZDUuLjUxY2UzYWRlMDFiMzM3MGRmNzI4
NjRhNmJiNTU4NDYxZDkzODI2MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5jcHAKQEAgLTc1MSwxMCArNzUxLDEzIEBAIHN0YXRpYyBib29sIHNob3VsZEVtaXROZXdsaW5l
Rm9yTm9kZShOb2RlKiBub2RlKQogewogICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRl
ZCBieSBhIHNpbmdsZSBuZXdsaW5lLgogICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRl
cmVyKCk7CisKKyAgICAvLyBDaGVja2luZyBpZiB0aGlzIG5vZGUgaXMgYSA8YnI+IGVsZW1lbnQg
d2l0aGluIGEgc2hhZG93IHRyZWUgb2YgYW4gaW5wdXQgZWxlbWVudC4KKyAgICBib29sIGlzTm9k
ZUluc2lkZUlucHV0U2hhZG93VHJlZSA9IG5vZGUtPmlzSW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+
c2hhZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpOwogICAgIGlmICghcikKLSAgICAgICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUoYnJUYWcpOwotICAgICAgICAKLSAgICByZXR1cm4gci0+aXNC
UigpOworICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZykgJiYgIWlzTm9kZUlu
c2lkZUlucHV0U2hhZG93VHJlZTsKKworICAgIHJldHVybiByLT5pc0JSKCkgJiYgIWlzTm9kZUlu
c2lkZUlucHV0U2hhZG93VHJlZTsKIH0KIAogc3RhdGljIGJvb2wgc2hvdWxkRW1pdE5ld2xpbmVz
QmVmb3JlQW5kQWZ0ZXJOb2RlKE5vZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGEzZjcyN2NhOWQ2ZmNkMDEx
OWNkODI2YWRkNmNmNGJlYWM0NTAxMC4uN2E4YTAzN2Y0MzdmYzU4YWU0NjYyMTU0ZWQ1YTExNjRh
MjMxM2E5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAzLTE0ICBBdXJpbWFzIExpdXRp
a2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJhdG9yIGVtaXRz
IExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1lbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy90ZXh0
LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGlu
Zy90ZXh0LWl0ZXJhdG9yL3NjcmlwdC10ZXN0cy9iYXNpYy1pdGVyYXRpb24uanM6CisKIDIwMTMt
MDMtMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Tm90IHJldmlld2VkOiBjaHJvbWl1bSBiYXNlbGluZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDY5MzEyZDlkMmZlNjRjMTc0MjdjYzRkYmFiZGU1OGVmYTgzMmI2Y2UuLmFjYWZk
ODk4YWNkOGE3OTZkMDE4Y2MyYjM4MTkzMjcwYjQxM2FlZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0xNCw2ICsxNCwxMCBAQCBGQUlMIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50
cyh0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgcwogLgog
UEFTUyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHModGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5h
bHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJoZXkiCiBQQVNTIHJhbmdlLnNldFN0YXJ0QmVmb3Jl
KHRlc3REb2N1bWVudC5ib2R5KTsgcmFuZ2Uuc2V0RW5kQWZ0ZXIodGVzdERvY3VtZW50LmJvZHkp
OyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJoZXkiCitQQVNTIHJhbmdlLnNlbGVj
dE5vZGVDb250ZW50cyhzaGFkb3cpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJi
IgorUEFTUyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoc2hhZG93KTsgaW50ZXJuYWxzLnJhbmdl
QXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BBU1MgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHNoYWRv
dyk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgIiIKK1BBU1MgcmFuZ2Uuc2VsZWN0
Tm9kZUNvbnRlbnRzKHNoYWRvdyk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgIlxu
IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3Ivc2NyaXB0LXRlc3RzL2Jh
c2ljLWl0ZXJhdGlvbi5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3Jp
cHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCmluZGV4IDRmNWU1ZmY2NDk2NmYzMDliZGY3Mjhm
ZmIzMzRiM2JiMDBmYjZmMGMuLjNlMmZkYzA5ZjM2MDZiMGY4OWFhMTg1ZDI5NWRmZGY2MjUyNGM0
MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQt
dGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1p
dGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCkBAIC0zMSw2ICszMSwyNCBA
QCB0ZXN0RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0ibm90ZS1ydWxlLXZl
cnRpY2FsIiBzdHlsZT0ibGVmdDoyMnB4Igogc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVDb250
ZW50cyh0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSknLCAn
ImhleSInKTsKIHNob3VsZEJlKCdyYW5nZS5zZXRTdGFydEJlZm9yZSh0ZXN0RG9jdW1lbnQuYm9k
eSk7IHJhbmdlLnNldEVuZEFmdGVyKHRlc3REb2N1bWVudC5ib2R5KTsgaW50ZXJuYWxzLnJhbmdl
QXNUZXh0KHJhbmdlKScsICciaGV5IicpOwogCit0ZXN0RG9jdW1lbnQuYm9keS5pbm5lckhUTUwg
PSAnPGlucHV0IGlkPSJhIiB2YWx1ZT0iYiIgLz4nOwordmFyIGlucHV0ID0gdGVzdERvY3VtZW50
LmJvZHkuY2hpbGRyZW5bMF07Cit2YXIgc2hhZG93ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jv
b3QoaW5wdXQpOworc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhzaGFkb3cpOyBp
bnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJiIicpOworCit2YXIgbXlkaXYgPSBzaGFk
b3cuY2hpbGROb2Rlc1swXTsKK3ZhciBteWJyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnIn
KTsKK215ZGl2LmFwcGVuZENoaWxkKG15YnIpOworc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVD
b250ZW50cyhzaGFkb3cpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJiIicpOwor
Cit0ZXN0RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGRpdj5hPC9kaXY+JzsKK3ZhciBtYWlu
ZGl2ID0gdGVzdERvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXTsKK3ZhciBzaGFkb3cgPSBtYWlu
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Nob3VsZEJlKCdyYW5nZS5zZWxlY3ROb2Rl
Q29udGVudHMoc2hhZG93KTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciIicpOwor
CitzaGFkb3cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7CitzaG91
bGRCZSgncmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHNoYWRvdyk7IGludGVybmFscy5yYW5nZUFz
VGV4dChyYW5nZSknLCAnIlxcbiInKTsKKwogZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdWJm
cmFtZSk7CiAKIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193182</attachid>
            <date>2013-03-14 14:09:45 -0700</date>
            <delta_ts>2013-03-14 18:25:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130314140541.patch</filename>
            <type>text/plain</type>
            <size>5871</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uNDU2OTFlN2FlMDEzYTkyMzI2MTkyMTVlOGEzMWNj
ZWZkNGE0ZTRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgKiBlZGl0
aW5nL1RleHRJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRFbWl0TmV3bGlu
ZUZvck5vZGUpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGdldCByaWQgb2YgaGlkZGVuUGFuZWxz
IGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZh
ZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNkZDUuLjVjYzIwY2JkMDg0NTQyZGNlZmJl
MDNjNzk3MWQ0ZGRhYTYxYzgxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5jcHAKQEAgLTc0OSwxMiArNzQ5LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZEVtaXRUYWJCZWZv
cmVOb2RlKE5vZGUqIG5vZGUpCiAKIHN0YXRpYyBib29sIHNob3VsZEVtaXROZXdsaW5lRm9yTm9k
ZShOb2RlKiBub2RlKQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBh
IHNpbmdsZSBuZXdsaW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7
Ci0gICAgaWYgKCFyKQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0g
ICAgICAgIAotICAgIHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciA9IG5vZGUtPnJlbmRlcmVyKCk7CisKKyAgICBib29sIG5vZGVJc0luc2lkZUlucHV0RWxlbWVu
dCA9IG5vZGUtPmlzSW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+c2hhZG93SG9zdCgpLT50b0lucHV0
RWxlbWVudCgpOworICAgIGlmICghcmVuZGVyZXIpCisgICAgICAgIHJldHVybiBub2RlLT5oYXNU
YWdOYW1lKGJyVGFnKSAmJiAhbm9kZUlzSW5zaWRlSW5wdXRFbGVtZW50OworCisgICAgcmV0dXJu
IHJlbmRlcmVyLT5pc0JSKCkgJiYgIW5vZGVJc0luc2lkZUlucHV0RWxlbWVudDsKIH0KIAogc3Rh
dGljIGJvb2wgc2hvdWxkRW1pdE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKE5vZGUqIG5vZGUp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMGEzZjcyN2NhOWQ2ZmNkMDExOWNkODI2YWRkNmNmNGJlYWM0NTAxMC4uN2E4YTAz
N2Y0MzdmYzU4YWU0NjYyMTU0ZWQ1YTExNjRhMjMxM2E5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEzLTAzLTE0ICBBdXJpbWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVGV4dEl0ZXJhdG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFu
IGVtcHR5IGlucHV0IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMjI3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJhdG9yL3NjcmlwdC10ZXN0cy9i
YXNpYy1pdGVyYXRpb24uanM6CisKIDIwMTMtMDMtMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBjaHJvbWl1bSBiYXNlbGlu
ZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMt
aXRlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRv
ci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDY5MzEyZDlkMmZlNjRjMTc0Mjdj
YzRkYmFiZGU1OGVmYTgzMmI2Y2UuLmY5MTcyZjAwZDYxYTlkZWMzNDBlYTQzYWI0ZDYxZDc0Yzcw
YmJiNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNp
Yy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1p
dGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xNCw2ICsxNCwxMCBAQCBG
QUlMIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFs
cy5yYW5nZUFzVGV4dChyYW5nZSkgcwogLgogUEFTUyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
dGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJoZXki
CiBQQVNTIHJhbmdlLnNldFN0YXJ0QmVmb3JlKHRlc3REb2N1bWVudC5ib2R5KTsgcmFuZ2Uuc2V0
RW5kQWZ0ZXIodGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2Up
IGlzICJoZXkiCitQQVNTIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0
U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJiIgor
UEFTUyBhcHBlbmRCckVsZW1lbnQoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLmNo
aWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNo
YWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BB
U1MgYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50KGRpdik7IHJhbmdlLnNlbGVjdE5vZGVDb250
ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNU
ZXh0KHJhbmdlKSBpcyAiYiIKK1BBU1MgYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RT
aGFkb3dSb290KGRpdikuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhp
bnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJh
bmdlKSBpcyAiYlxuIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3Ivc2Ny
aXB0LXRlc3RzL2Jhc2ljLWl0ZXJhdGlvbi5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1p
dGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCmluZGV4IDRmNWU1ZmY2NDk2
NmYzMDliZGY3MjhmZmIzMzRiM2JiMDBmYjZmMGMuLmNmZDNjNjE0MTZjMjdhY2Y0OTIzMGEzNDcx
NDBlN2I3NWI1MDcwMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVy
YXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCkBAIC0z
LDYgKzMsMTcgQEAgZGVzY3JpcHRpb24oJ1VuaXQgdGVzdHMgZm9yIFdlYkNvcmUgdGV4dCBpdGVy
YXRvcicpOwogdmFyIHN1YmZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7
CiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN1YmZyYW1lKTsKIAorZnVuY3Rpb24gYXBwZW5k
QnJFbGVtZW50KG5vZGUpCit7CisgICAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdicicpKTsKK30KKworZnVuY3Rpb24gYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50
KG5vZGUpCit7CisgICAgbm9kZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgaW50ZXJu
YWxzLm9sZGVzdFNoYWRvd1Jvb3Qobm9kZSkuaW5uZXJIVE1MID0gJzxkaXY+YjwvZGl2Pic7Cit9
CisKIHZhciB0ZXN0RG9jdW1lbnQgPSBzdWJmcmFtZS5jb250ZW50RG9jdW1lbnQ7CiB2YXIgcmFu
Z2UgPSB0ZXN0RG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKIApAQCAtMzEsNiArNDIsMTggQEAgdGVz
dERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9Im5vdGUtcnVsZS12ZXJ0aWNh
bCIgc3R5bGU9ImxlZnQ6MjJweCIKIHNob3VsZEJlKCdyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
dGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJoZXki
Jyk7CiBzaG91bGRCZSgncmFuZ2Uuc2V0U3RhcnRCZWZvcmUodGVzdERvY3VtZW50LmJvZHkpOyBy
YW5nZS5zZXRFbmRBZnRlcih0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5nZUFzVGV4
dChyYW5nZSknLCAnImhleSInKTsKIAordGVzdERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxp
bnB1dCBpZD0iYSIgdmFsdWU9ImIiIC8+JzsKK3ZhciBpbnB1dCA9IHRlc3REb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdpbnB1dCcpOworc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhp
bnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQo
cmFuZ2UpJywgJyJiIicpOworCitzaG91bGRCZSgnYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5v
bGRlc3RTaGFkb3dSb290KGlucHV0KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNv
bnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSknLCAnImIiJyk7CisKK3Rlc3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICc8ZGl2PmE8L2Rpdj4nOwordmFyIGRpdiA9IHRlc3REb2N1bWVudC5ib2R5LmNoaWxkTm9kZXNb
MF07CitzaG91bGRCZSgnYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50KGRpdik7IHJhbmdlLnNl
bGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJu
YWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciYiInKTsKKworc2hvdWxkQmUoJ2FwcGVuZEJyRWxl
bWVudChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpLmNoaWxkTm9kZXNbMF0pOyByYW5n
ZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGlu
dGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSknLCAnImJcXG4iJyk7CisKIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoc3ViZnJhbWUpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193216</attachid>
            <date>2013-03-14 18:25:13 -0700</date>
            <delta_ts>2013-03-14 20:03:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130314182109.patch</filename>
            <type>text/plain</type>
            <size>10194</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uOWM2MGQwOWZhOTdlZWRlMjc4NzUzOGY0NGNlZmM4
ODhjNjdiY2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hv
dWxkRW1pdE5ld2xpbmVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6
aGFuZGxlTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJk
c1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9y
OjpleGl0Tm9kZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKyAgICAgICAg
KFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNk
ZDUuLmRhOGM3NDBiMmZhZTNlMjRhYTFjZDQ5ZjllODNiYWY0NjU2MGRjZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTc0NywxNCArNzQ3LDE1IEBAIHN0YXRp
YyBib29sIHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHQg
JiYgKHQtPmNlbGxCZWZvcmUocmMpIHx8IHQtPmNlbGxBYm92ZShyYykpOwogfQogCi1zdGF0aWMg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSkKK3N0YXRpYyBib29sIHNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZShOb2RlKiBub2RlLCBib29sIGVtaXRzT3JpZ2luYWxUZXh0
KQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIHNpbmdsZSBuZXds
aW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgaWYgKCFy
KQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0gICAgICAgIAotICAg
IHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJl
bmRlcmVyKCk7CisKKyAgICBib29sIG5vZGVJc0luc2lkZUlucHV0RWxlbWVudCA9IG5vZGUtPmlz
SW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+c2hhZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpOwor
ICAgIGlmICghcmVuZGVyZXIpCisgICAgICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKGJyVGFn
KSAmJiAoZW1pdHNPcmlnaW5hbFRleHQgfHwgIW5vZGVJc0luc2lkZUlucHV0RWxlbWVudCk7CisK
KyAgICByZXR1cm4gcmVuZGVyZXItPmlzQlIoKSAmJiAoZW1pdHNPcmlnaW5hbFRleHQgfHwgIW5v
ZGVJc0luc2lkZUlucHV0RWxlbWVudCk7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZEVtaXROZXds
aW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlKiBub2RlKQpAQCAtOTU2LDcgKzk1Nyw3IEBAIHZv
aWQgVGV4dEl0ZXJhdG9yOjpyZXByZXNlbnROb2RlT2Zmc2V0WmVybygpCiAKIGJvb2wgVGV4dEl0
ZXJhdG9yOjpoYW5kbGVOb25UZXh0Tm9kZSgpCiB7Ci0gICAgaWYgKHNob3VsZEVtaXROZXdsaW5l
Rm9yTm9kZShtX25vZGUpKQorICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2Rl
LCBtX2VtaXRzT3JpZ2luYWxUZXh0KSkKICAgICAgICAgZW1pdENoYXJhY3RlcignXG4nLCBtX25v
ZGUtPnBhcmVudE5vZGUoKSwgbV9ub2RlLCAwLCAxKTsKICAgICBlbHNlIGlmIChtX2VtaXRzQ2hh
cmFjdGVyc0JldHdlZW5BbGxWaXNpYmxlUG9zaXRpb25zICYmIG1fbm9kZS0+cmVuZGVyZXIoKSAm
JiBtX25vZGUtPnJlbmRlcmVyKCktPmlzSFIoKSkKICAgICAgICAgZW1pdENoYXJhY3RlcignICcs
IG1fbm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwpAQCAtMTExMCw2ICsxMTExLDcg
QEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1Rl
eHRJdGVyYXRvcigpCiAgICAgLCBtX3Nob3VsZEhhbmRsZUZpcnN0TGV0dGVyKGZhbHNlKQogICAg
ICwgbV9zdG9wc09uRm9ybUNvbnRyb2xzKGZhbHNlKQogICAgICwgbV9zaG91bGRTdG9wKGZhbHNl
KQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChmYWxzZSkKIHsKIH0KIApAQCAtMTEzNCw2ICsx
MTM2LDcgQEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3
YXJkc1RleHRJdGVyYXRvcihjb25zdCBSYW5nZSogciwKICAgICAsIG1fc2hvdWxkSGFuZGxlRmly
c3RMZXR0ZXIoZmFsc2UpCiAgICAgLCBtX3N0b3BzT25Gb3JtQ29udHJvbHMoYmVoYXZpb3IgJiBU
ZXh0SXRlcmF0b3JTdG9wc09uRm9ybUNvbnRyb2xzKQogICAgICwgbV9zaG91bGRTdG9wKGZhbHNl
KQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChiZWhhdmlvciAmIFRleHRJdGVyYXRvckVtaXRz
T3JpZ2luYWxUZXh0KQogewogICAgIEFTU0VSVChiZWhhdmlvciA9PSBUZXh0SXRlcmF0b3JEZWZh
dWx0QmVoYXZpb3IgfHwgYmVoYXZpb3IgPT0gVGV4dEl0ZXJhdG9yU3RvcHNPbkZvcm1Db250cm9s
cyk7CiAKQEAgLTEzNDIsNyArMTM0NSw3IEBAIGJvb2wgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJ
dGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUoKQogeyAgICAKICAgICAvLyBXZSBjYW4gdXNlIGEg
bGluZWZlZWQgaW4gcGxhY2Ugb2YgYSB0YWIgYmVjYXVzZSB0aGlzIHNpbXBsZSBpdGVyYXRvciBp
cyBvbmx5IHVzZWQgdG8KICAgICAvLyBmaW5kIGJvdW5kYXJpZXMsIG5vdCBhY3R1YWwgY29udGVu
dC4gIEEgbGluZWZlZWQgYnJlYWtzIHdvcmRzLCBzZW50ZW5jZXMsIGFuZCBwYXJhZ3JhcGhzLgot
ICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0TmV3
bGluZUFmdGVyTm9kZShtX25vZGUpIHx8IHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKG1fbm9kZSkp
IHsKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1fbm9kZSwgbV9lbWl0c09yaWdp
bmFsVGV4dCkgfHwgc2hvdWxkRW1pdE5ld2xpbmVBZnRlck5vZGUobV9ub2RlKSB8fCBzaG91bGRF
bWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gbV9u
b2RlLT5ub2RlSW5kZXgoKTsKICAgICAgICAgLy8gVGhlIHN0YXJ0IG9mIHRoaXMgZW1pdHRlZCBy
YW5nZSBpcyB3cm9uZy4gRW5zdXJpbmcgY29ycmVjdG5lc3Mgd291bGQgcmVxdWlyZQogICAgICAg
ICAvLyBWaXNpYmxlUG9zaXRpb25zIGFuZCBzbyB3b3VsZCBiZSBzbG93LiBwcmV2aW91c0JvdW5k
YXJ5IGV4cGVjdHMgdGhpcy4KQEAgLTEzNTMsNyArMTM1Niw3IEBAIGJvb2wgU2ltcGxpZmllZEJh
Y2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUoKQogCiB2b2lkIFNpbXBsaWZp
ZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmV4aXROb2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1p
dE5ld2xpbmVGb3JOb2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdE5ld2xpbmVCZWZvcmVOb2RlKG1f
bm9kZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgeworICAgIGlmIChzaG91
bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2RlLCBtX2VtaXRzT3JpZ2luYWxUZXh0KSB8fCBzaG91
bGRFbWl0TmV3bGluZUJlZm9yZU5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0VGFiQmVmb3JlTm9k
ZShtX25vZGUpKSB7CiAgICAgICAgIC8vIFRoZSBzdGFydCBvZiB0aGlzIGVtaXR0ZWQgcmFuZ2Ug
aXMgd3JvbmcuIEVuc3VyaW5nIGNvcnJlY3RuZXNzIHdvdWxkIHJlcXVpcmUKICAgICAgICAgLy8g
VmlzaWJsZVBvc2l0aW9ucyBhbmQgc28gd291bGQgYmUgc2xvdy4gcHJldmlvdXNCb3VuZGFyeSBl
eHBlY3RzIHRoaXMuCiAgICAgICAgIGVtaXRDaGFyYWN0ZXIoJ1xuJywgbV9ub2RlLCAwLCAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCmluZGV4IDQ4YWZjN2JjZWQyYWFmYmE3
MzZkNTQ3YjQyNWVjNWRlMWI1OWM4MDkuLjY4ZDgwMTBkZDUxMjQ2ZDA3NmYwZDVlYWFkM2JlN2Yx
NDdjZWZmYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaApAQCAtMjYwLDYg
KzI2MCw5IEBAIHByaXZhdGU6CiAKICAgICAvLyBVc2VkIHdoZW4gbV9zdG9wc09uRm9ybUNvbnRy
b2xzIGlzIHNldCB0byBkZXRlcm1pbmUgaWYgdGhlIGl0ZXJhdG9yIHNob3VsZCBrZWVwIGFkdmFu
Y2luZy4KICAgICBib29sIG1fc2hvdWxkU3RvcDsKKworICAgIC8vIFVzZWQgaW4gcGFzdGluZyBp
bnNpZGUgcGFzc3dvcmQgZmllbGQuCisgICAgYm9vbCBtX2VtaXRzT3JpZ2luYWxUZXh0OwogfTsK
IAogLy8gQnVpbGRzIG9uIHRoZSB0ZXh0IGl0ZXJhdG9yLCBhZGRpbmcgYSBjaGFyYWN0ZXIgcG9z
aXRpb24gc28gd2UgY2FuIHdhbGsgb25lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGEzZjcyN2NhOWQ2ZmNkMDExOWNkODI2
YWRkNmNmNGJlYWM0NTAxMC4uZDhjMDBmNTE0ZTE2ZWMyY2RjZTM3MzA2ZTJiY2UzYmY0ZTM0ODIy
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAzLTE0ICBBdXJpbWFzIExpdXRpa2FzICA8
YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJhdG9yIGVtaXRzIExGIGZv
ciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1lbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJh
dG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAx
My0wMy0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBOb3QgcmV2aWV3ZWQ6IGNocm9taXVtIGJhc2VsaW5lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRp
b24tc2hhZG93ZG9tLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDZlNDNiMDY0NThmMzU5NTYz
Njk3ZjNhMDJhMTNiMjQ3MzdjYjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1VuaXQgdGVzdHMgZm9yIFdlYkNvcmUgdGV4dCBpdGVyYXRvciB3
aXRoIHNoYWRvdyB0cmVlIHN1cHBvcnQgZW5hYmxlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNo
YWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BB
U1MgYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KS5jaGls
ZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFk
b3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgImIiCitQQVNT
IGFkZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVudChkaXYpOyByYW5nZS5zZWxlY3ROb2RlQ29udGVu
dHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4
dChyYW5nZSkgaXMgImIiCitQQVNTIGFwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMub2xkZXN0U2hh
ZG93Um9vdChkaXYpLmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50
ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5n
ZSkgaXMgImJcbiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFz
aWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0
ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmI5Mzg3
ZmM5MTk3NmUzNDFjNTM4ZGI4YTg1ZWNjMjY2NzUyNzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20u
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvanMtdGVzdC1zZWxlY3Rpb24tc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbignVW5pdCB0ZXN0cyBmb3IgV2ViQ29yZSB0ZXh0IGl0ZXJhdG9y
IHdpdGggc2hhZG93IHRyZWUgc3VwcG9ydCBlbmFibGVkJyk7CisKK3ZhciBzdWJmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzdWJmcmFtZSk7CisKK2Z1bmN0aW9uIGFwcGVuZEJyRWxlbWVudChub2RlKQoreworICAgIG5v
ZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7Cit9CisKK2Z1bmN0
aW9uIGFkZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVudChub2RlKQoreworICAgIG5vZGUud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KG5vZGUp
LmlubmVySFRNTCA9ICc8ZGl2PmI8L2Rpdj4nOworfQorCit2YXIgdGVzdERvY3VtZW50ID0gc3Vi
ZnJhbWUuY29udGVudERvY3VtZW50OwordmFyIHJhbmdlID0gdGVzdERvY3VtZW50LmNyZWF0ZVJh
bmdlKCk7CisKK3ZhciBoZWFkID0gdGVzdERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKTsK
K3Rlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKGhlYWQsIHRlc3REb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RDaGlsZCk7CisKK3Rlc3REb2N1bWVudC5ib2R5Lmlu
bmVySFRNTCA9ICc8aW5wdXQgaWQ9ImEiIHZhbHVlPSJiIiAvPic7Cit2YXIgaW5wdXQgPSB0ZXN0
RG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTsKK3Nob3VsZEJlKCdyYW5nZS5zZWxlY3RO
b2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxz
LnJhbmdlQXNUZXh0KHJhbmdlKScsICciYiInKTsKKworc2hvdWxkQmUoJ2FwcGVuZEJyRWxlbWVu
dChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkuY2hpbGROb2Rlc1swXSk7IHJhbmdl
LnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBp
bnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJiIicpOworCit0ZXN0RG9jdW1lbnQuYm9k
eS5pbm5lckhUTUwgPSAnPGRpdj5hPC9kaXY+JzsKK3ZhciBkaXYgPSB0ZXN0RG9jdW1lbnQuYm9k
eS5jaGlsZE5vZGVzWzBdOworc2hvdWxkQmUoJ2FkZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVudChk
aXYpOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3Qo
ZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSknLCAnImIiJyk7CisKK3Nob3VsZEJl
KCdhcHBlbmRCckVsZW1lbnQoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KS5jaGlsZE5v
ZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dS
b290KGRpdikpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJiXFxuIicpOworCitk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHN1YmZyYW1lKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4ZTJjMDU3MTJlMDE3MzFm
ZjlmMzA0MmZiMWY4NThkNmMzZjA0MDM5Li44NTViOGM5MzE0YWMwZGRlYjVjMjZlZjM5MjU2Y2Uw
MTQxYTNiNDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDQ4LDYgKzQ0OCw3IEBAIGZhc3QvZG9tL3NoYWRvdwogZWRpdGluZy9zaGFkb3cKIGluc3Bl
Y3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9tLmh0bWwKIGFjY2Vzc2liaWxpdHkvY29ycmVz
cG9uZGluZy1jb250cm9sLWRlbGV0ZWQtY3Jhc2guaHRtbAorZWRpdGluZy90ZXh0LWl0ZXJhdG9y
L2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAogCiAjIEVOQUJMRShURU1QTEFURV9FTEVN
RU5UKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193224</attachid>
            <date>2013-03-14 20:03:57 -0700</date>
            <delta_ts>2013-03-14 20:53:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130314195953.patch</filename>
            <type>text/plain</type>
            <size>10159</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uOWM2MGQwOWZhOTdlZWRlMjc4NzUzOGY0NGNlZmM4
ODhjNjdiY2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hv
dWxkRW1pdE5ld2xpbmVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6
aGFuZGxlTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJk
c1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9y
OjpleGl0Tm9kZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKyAgICAgICAg
KFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNk
ZDUuLjkwZTYxNzcyMTA5YTM2YzRmMDk1ZjgxYWRiYmEzODlmNWI0NTY4MmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTc0NywxNCArNzQ3LDE1IEBAIHN0YXRp
YyBib29sIHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHQg
JiYgKHQtPmNlbGxCZWZvcmUocmMpIHx8IHQtPmNlbGxBYm92ZShyYykpOwogfQogCi1zdGF0aWMg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSkKK3N0YXRpYyBib29sIHNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZShOb2RlKiBub2RlLCBib29sIGVtaXRzT3JpZ2luYWxUZXh0
KQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIHNpbmdsZSBuZXds
aW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgaWYgKCFy
KQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0gICAgICAgIAotICAg
IHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJl
bmRlcmVyKCk7CisKKyAgICBib29sIG5vZGVJc0luc2lkZUlucHV0RWxlbWVudCA9IG5vZGUtPmlz
SW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+c2hhZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpOwor
ICAgIGlmICghcmVuZGVyZXIpCisgICAgICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKGJyVGFn
KSAmJiAoZW1pdHNPcmlnaW5hbFRleHQgfHwgIW5vZGVJc0luc2lkZUlucHV0RWxlbWVudCk7CisK
KyAgICByZXR1cm4gcmVuZGVyZXItPmlzQlIoKSAmJiAoZW1pdHNPcmlnaW5hbFRleHQgfHwgIW5v
ZGVJc0luc2lkZUlucHV0RWxlbWVudCk7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZEVtaXROZXds
aW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlKiBub2RlKQpAQCAtOTU2LDcgKzk1Nyw3IEBAIHZv
aWQgVGV4dEl0ZXJhdG9yOjpyZXByZXNlbnROb2RlT2Zmc2V0WmVybygpCiAKIGJvb2wgVGV4dEl0
ZXJhdG9yOjpoYW5kbGVOb25UZXh0Tm9kZSgpCiB7Ci0gICAgaWYgKHNob3VsZEVtaXROZXdsaW5l
Rm9yTm9kZShtX25vZGUpKQorICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2Rl
LCBtX2VtaXRzT3JpZ2luYWxUZXh0KSkKICAgICAgICAgZW1pdENoYXJhY3RlcignXG4nLCBtX25v
ZGUtPnBhcmVudE5vZGUoKSwgbV9ub2RlLCAwLCAxKTsKICAgICBlbHNlIGlmIChtX2VtaXRzQ2hh
cmFjdGVyc0JldHdlZW5BbGxWaXNpYmxlUG9zaXRpb25zICYmIG1fbm9kZS0+cmVuZGVyZXIoKSAm
JiBtX25vZGUtPnJlbmRlcmVyKCktPmlzSFIoKSkKICAgICAgICAgZW1pdENoYXJhY3RlcignICcs
IG1fbm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwpAQCAtMTExMCw2ICsxMTExLDcg
QEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1Rl
eHRJdGVyYXRvcigpCiAgICAgLCBtX3Nob3VsZEhhbmRsZUZpcnN0TGV0dGVyKGZhbHNlKQogICAg
ICwgbV9zdG9wc09uRm9ybUNvbnRyb2xzKGZhbHNlKQogICAgICwgbV9zaG91bGRTdG9wKGZhbHNl
KQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChmYWxzZSkKIHsKIH0KIApAQCAtMTEzNCw2ICsx
MTM2LDcgQEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3
YXJkc1RleHRJdGVyYXRvcihjb25zdCBSYW5nZSogciwKICAgICAsIG1fc2hvdWxkSGFuZGxlRmly
c3RMZXR0ZXIoZmFsc2UpCiAgICAgLCBtX3N0b3BzT25Gb3JtQ29udHJvbHMoYmVoYXZpb3IgJiBU
ZXh0SXRlcmF0b3JTdG9wc09uRm9ybUNvbnRyb2xzKQogICAgICwgbV9zaG91bGRTdG9wKGZhbHNl
KQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChmYWxzZSkKIHsKICAgICBBU1NFUlQoYmVoYXZp
b3IgPT0gVGV4dEl0ZXJhdG9yRGVmYXVsdEJlaGF2aW9yIHx8IGJlaGF2aW9yID09IFRleHRJdGVy
YXRvclN0b3BzT25Gb3JtQ29udHJvbHMpOwogCkBAIC0xMzQyLDcgKzEzNDUsNyBAQCBib29sIFNp
bXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHROb2RlKCkKIHsgICAg
CiAgICAgLy8gV2UgY2FuIHVzZSBhIGxpbmVmZWVkIGluIHBsYWNlIG9mIGEgdGFiIGJlY2F1c2Ug
dGhpcyBzaW1wbGUgaXRlcmF0b3IgaXMgb25seSB1c2VkIHRvCiAgICAgLy8gZmluZCBib3VuZGFy
aWVzLCBub3QgYWN0dWFsIGNvbnRlbnQuICBBIGxpbmVmZWVkIGJyZWFrcyB3b3Jkcywgc2VudGVu
Y2VzLCBhbmQgcGFyYWdyYXBocy4KLSAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1f
bm9kZSkgfHwgc2hvdWxkRW1pdE5ld2xpbmVBZnRlck5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0
VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9k
ZShtX25vZGUsIG1fZW1pdHNPcmlnaW5hbFRleHQpIHx8IHNob3VsZEVtaXROZXdsaW5lQWZ0ZXJO
b2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgewogICAgICAg
ICB1bnNpZ25lZCBpbmRleCA9IG1fbm9kZS0+bm9kZUluZGV4KCk7CiAgICAgICAgIC8vIFRoZSBz
dGFydCBvZiB0aGlzIGVtaXR0ZWQgcmFuZ2UgaXMgd3JvbmcuIEVuc3VyaW5nIGNvcnJlY3RuZXNz
IHdvdWxkIHJlcXVpcmUKICAgICAgICAgLy8gVmlzaWJsZVBvc2l0aW9ucyBhbmQgc28gd291bGQg
YmUgc2xvdy4gcHJldmlvdXNCb3VuZGFyeSBleHBlY3RzIHRoaXMuCkBAIC0xMzUzLDcgKzEzNTYs
NyBAQCBib29sIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHRO
b2RlKCkKIAogdm9pZCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpleGl0Tm9kZSgp
CiB7Ci0gICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZShtX25vZGUpIHx8IHNob3VsZEVt
aXROZXdsaW5lQmVmb3JlTm9kZShtX25vZGUpIHx8IHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKG1f
bm9kZSkpIHsKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1fbm9kZSwgbV9lbWl0
c09yaWdpbmFsVGV4dCkgfHwgc2hvdWxkRW1pdE5ld2xpbmVCZWZvcmVOb2RlKG1fbm9kZSkgfHwg
c2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgewogICAgICAgICAvLyBUaGUgc3RhcnQg
b2YgdGhpcyBlbWl0dGVkIHJhbmdlIGlzIHdyb25nLiBFbnN1cmluZyBjb3JyZWN0bmVzcyB3b3Vs
ZCByZXF1aXJlCiAgICAgICAgIC8vIFZpc2libGVQb3NpdGlvbnMgYW5kIHNvIHdvdWxkIGJlIHNs
b3cuIHByZXZpb3VzQm91bmRhcnkgZXhwZWN0cyB0aGlzLgogICAgICAgICBlbWl0Q2hhcmFjdGVy
KCdcbicsIG1fbm9kZSwgMCwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1RleHRJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaApp
bmRleCA0OGFmYzdiY2VkMmFhZmJhNzM2ZDU0N2I0MjVlYzVkZTFiNTljODA5Li42OGQ4MDEwZGQ1
MTI0NmQwNzZmMGQ1ZWFhZDNiZTdmMTQ3Y2VmZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmgKQEAgLTI2MCw2ICsyNjAsOSBAQCBwcml2YXRlOgogCiAgICAgLy8gVXNlZCB3
aGVuIG1fc3RvcHNPbkZvcm1Db250cm9scyBpcyBzZXQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBpdGVy
YXRvciBzaG91bGQga2VlcCBhZHZhbmNpbmcuCiAgICAgYm9vbCBtX3Nob3VsZFN0b3A7CisKKyAg
ICAvLyBVc2VkIGluIHBhc3RpbmcgaW5zaWRlIHBhc3N3b3JkIGZpZWxkLgorICAgIGJvb2wgbV9l
bWl0c09yaWdpbmFsVGV4dDsKIH07CiAKIC8vIEJ1aWxkcyBvbiB0aGUgdGV4dCBpdGVyYXRvciwg
YWRkaW5nIGEgY2hhcmFjdGVyIHBvc2l0aW9uIHNvIHdlIGNhbiB3YWxrIG9uZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBh
M2Y3MjdjYTlkNmZjZDAxMTljZDgyNmFkZDZjZjRiZWFjNDUwMTAuLmQ4YzAwZjUxNGUxNmVjMmNk
Y2UzNzMwNmUyYmNlM2JmNGUzNDgyMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMy0x
NCAgQXVyaW1hcyBMaXV0aWthcyAgPGF1cmltYXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRl
eHRJdGVyYXRvciBlbWl0cyBMRiBmb3IgYSBiciBlbGVtZW50IGluc2lkZSBhbiBlbXB0eSBpbnB1
dCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTIyNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0
ZXJhdGlvbi1zaGFkb3dkb20uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDMtMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBjaHJvbWl1bSBiYXNlbGluZXMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRl
cmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQt
aXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTA2ZTQzYjA2NDU4ZjM1OTU2MzY5N2YzYTAyYTEzYjI0NzM3Y2I2YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24t
c2hhZG93ZG9tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitVbml0IHRlc3RzIGZvciBX
ZWJDb3JlIHRleHQgaXRlcmF0b3Igd2l0aCBzaGFkb3cgdHJlZSBzdXBwb3J0IGVuYWJsZWQKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRl
bnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5nZUFz
VGV4dChyYW5nZSkgaXMgImIiCitQQVNTIGFwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMub2xkZXN0
U2hhZG93Um9vdChpbnB1dCkuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50
cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1Rl
eHQocmFuZ2UpIGlzICJiIgorUEFTUyBhZGRTaGFkb3dUcmVlV2l0aERpdkVsZW1lbnQoZGl2KTsg
cmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikp
OyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJiIgorUEFTUyBhcHBlbmRCckVsZW1l
bnQoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uu
c2VsZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikpOyBpbnRl
cm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJiXG4iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWJiOTM4N2ZjOTE5NzZlMzQxYzUzOGRiOGE4NWVjYzI2Njc1Mjc1Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNp
Yy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qtc2VsZWN0aW9uLXNoYXJlZC5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1VuaXQgdGVzdHMgZm9y
IFdlYkNvcmUgdGV4dCBpdGVyYXRvciB3aXRoIHNoYWRvdyB0cmVlIHN1cHBvcnQgZW5hYmxlZCcp
OworCit2YXIgc3ViZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3ViZnJhbWUpOworCitmdW5jdGlvbiBhcHBlbmRCckVs
ZW1lbnQobm9kZSkKK3sKKyAgICBub2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2JyJykpOworfQorCitmdW5jdGlvbiBhZGRTaGFkb3dUcmVlV2l0aERpdkVsZW1lbnQobm9k
ZSkKK3sKKyAgICBub2RlLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBpbnRlcm5hbHMu
b2xkZXN0U2hhZG93Um9vdChub2RlKS5pbm5lckhUTUwgPSAnPGRpdj5iPC9kaXY+JzsKK30KKwor
dmFyIHRlc3REb2N1bWVudCA9IHN1YmZyYW1lLmNvbnRlbnREb2N1bWVudDsKK3ZhciByYW5nZSA9
IHRlc3REb2N1bWVudC5jcmVhdGVSYW5nZSgpOworCit2YXIgaGVhZCA9IHRlc3REb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJoZWFkIik7Cit0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmluc2Vy
dEJlZm9yZShoZWFkLCB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQpOwor
Cit0ZXN0RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGlucHV0IGlkPSJhIiB2YWx1ZT0iYiIg
Lz4nOwordmFyIGlucHV0ID0gdGVzdERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7Citz
aG91bGRCZSgncmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dS
b290KGlucHV0KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSknLCAnImIiJyk7CisKK3No
b3VsZEJlKCdhcHBlbmRCckVsZW1lbnQoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQp
LmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVz
dFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciYiIn
KTsKKwordGVzdERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxkaXY+YTwvZGl2Pic7Cit2YXIg
ZGl2ID0gdGVzdERvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXTsKK3Nob3VsZEJlKCdhZGRTaGFk
b3dUcmVlV2l0aERpdkVsZW1lbnQoZGl2KTsgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVy
bmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2Up
JywgJyJiIicpOworCitzaG91bGRCZSgnYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RT
aGFkb3dSb290KGRpdikuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhp
bnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJh
bmdlKScsICciYlxcbiInKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdWJmcmFtZSk7
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggOGUyYzA1NzEyZTAxNzMxZmY5ZjMwNDJmYjFmODU4ZDZjM2YwNDAzOS4uODU1YjhjOTMx
NGFjMGRkZWI1YzI2ZWYzOTI1NmNlMDE0MWEzYjQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0OCw2ICs0NDgsNyBAQCBmYXN0L2RvbS9zaGFkb3cK
IGVkaXRpbmcvc2hhZG93CiBpbnNwZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1s
CiBhY2Nlc3NpYmlsaXR5L2NvcnJlc3BvbmRpbmctY29udHJvbC1kZWxldGVkLWNyYXNoLmh0bWwK
K2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0bWwKIAog
IyBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkgaXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193226</attachid>
            <date>2013-03-14 20:53:32 -0700</date>
            <delta_ts>2013-03-15 09:18:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130314204928.patch</filename>
            <type>text/plain</type>
            <size>10055</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uOWM2MGQwOWZhOTdlZWRlMjc4NzUzOGY0NGNlZmM4
ODhjNjdiY2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hv
dWxkRW1pdE5ld2xpbmVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6
aGFuZGxlTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJk
c1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9y
OjpleGl0Tm9kZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKyAgICAgICAg
KFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNk
ZDUuLmNlOTkxODk1YjZlYzM4ZjY3NDEzZmZiMGIwOTAzZWM1ODIxY2U0N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTc0NywxNCArNzQ3LDEzIEBAIHN0YXRp
YyBib29sIHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHQg
JiYgKHQtPmNlbGxCZWZvcmUocmMpIHx8IHQtPmNlbGxBYm92ZShyYykpOwogfQogCi1zdGF0aWMg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSkKK3N0YXRpYyBib29sIHNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZShOb2RlKiBub2RlLCBib29sIGVtaXRzT3JpZ2luYWxUZXh0
KQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIHNpbmdsZSBuZXds
aW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgaWYgKCFy
KQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0gICAgICAgIAotICAg
IHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJl
bmRlcmVyKCk7CisKKyAgICBpZiAoKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQlIoKSkgJiYg
IW5vZGUtPmhhc1RhZ05hbWUoYnJUYWcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuIGVtaXRzT3JpZ2luYWxUZXh0IHx8ICEobm9kZS0+aXNJblNoYWRvd1RyZWUoKSAmJiBub2Rl
LT5zaGFkb3dIb3N0KCktPnRvSW5wdXRFbGVtZW50KCkpOwogfQogCiBzdGF0aWMgYm9vbCBzaG91
bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUoTm9kZSogbm9kZSkKQEAgLTk1Niw3ICs5
NTUsNyBAQCB2b2lkIFRleHRJdGVyYXRvcjo6cmVwcmVzZW50Tm9kZU9mZnNldFplcm8oKQogCiBi
b29sIFRleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUoKQogewotICAgIGlmIChzaG91bGRF
bWl0TmV3bGluZUZvck5vZGUobV9ub2RlKSkKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JO
b2RlKG1fbm9kZSwgbV9lbWl0c09yaWdpbmFsVGV4dCkpCiAgICAgICAgIGVtaXRDaGFyYWN0ZXIo
J1xuJywgbV9ub2RlLT5wYXJlbnROb2RlKCksIG1fbm9kZSwgMCwgMSk7CiAgICAgZWxzZSBpZiAo
bV9lbWl0c0NoYXJhY3RlcnNCZXR3ZWVuQWxsVmlzaWJsZVBvc2l0aW9ucyAmJiBtX25vZGUtPnJl
bmRlcmVyKCkgJiYgbV9ub2RlLT5yZW5kZXJlcigpLT5pc0hSKCkpCiAgICAgICAgIGVtaXRDaGFy
YWN0ZXIoJyAnLCBtX25vZGUtPnBhcmVudE5vZGUoKSwgbV9ub2RlLCAwLCAxKTsKQEAgLTExMTAs
NiArMTEwOSw3IEBAIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OlNpbXBsaWZpZWRC
YWNrd2FyZHNUZXh0SXRlcmF0b3IoKQogICAgICwgbV9zaG91bGRIYW5kbGVGaXJzdExldHRlcihm
YWxzZSkKICAgICAsIG1fc3RvcHNPbkZvcm1Db250cm9scyhmYWxzZSkKICAgICAsIG1fc2hvdWxk
U3RvcChmYWxzZSkKKyAgICAsIG1fZW1pdHNPcmlnaW5hbFRleHQoZmFsc2UpCiB7CiB9CiAKQEAg
LTExMzQsNiArMTEzNCw3IEBAIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OlNpbXBs
aWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IoY29uc3QgUmFuZ2UqIHIsCiAgICAgLCBtX3Nob3Vs
ZEhhbmRsZUZpcnN0TGV0dGVyKGZhbHNlKQogICAgICwgbV9zdG9wc09uRm9ybUNvbnRyb2xzKGJl
aGF2aW9yICYgVGV4dEl0ZXJhdG9yU3RvcHNPbkZvcm1Db250cm9scykKICAgICAsIG1fc2hvdWxk
U3RvcChmYWxzZSkKKyAgICAsIG1fZW1pdHNPcmlnaW5hbFRleHQoZmFsc2UpCiB7CiAgICAgQVNT
RVJUKGJlaGF2aW9yID09IFRleHRJdGVyYXRvckRlZmF1bHRCZWhhdmlvciB8fCBiZWhhdmlvciA9
PSBUZXh0SXRlcmF0b3JTdG9wc09uRm9ybUNvbnRyb2xzKTsKIApAQCAtMTM0Miw3ICsxMzQzLDcg
QEAgYm9vbCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0Tm9k
ZSgpCiB7ICAgIAogICAgIC8vIFdlIGNhbiB1c2UgYSBsaW5lZmVlZCBpbiBwbGFjZSBvZiBhIHRh
YiBiZWNhdXNlIHRoaXMgc2ltcGxlIGl0ZXJhdG9yIGlzIG9ubHkgdXNlZCB0bwogICAgIC8vIGZp
bmQgYm91bmRhcmllcywgbm90IGFjdHVhbCBjb250ZW50LiAgQSBsaW5lZmVlZCBicmVha3Mgd29y
ZHMsIHNlbnRlbmNlcywgYW5kIHBhcmFncmFwaHMuCi0gICAgaWYgKHNob3VsZEVtaXROZXdsaW5l
Rm9yTm9kZShtX25vZGUpIHx8IHNob3VsZEVtaXROZXdsaW5lQWZ0ZXJOb2RlKG1fbm9kZSkgfHwg
c2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgeworICAgIGlmIChzaG91bGRFbWl0TmV3
bGluZUZvck5vZGUobV9ub2RlLCBtX2VtaXRzT3JpZ2luYWxUZXh0KSB8fCBzaG91bGRFbWl0TmV3
bGluZUFmdGVyTm9kZShtX25vZGUpIHx8IHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKG1fbm9kZSkp
IHsKICAgICAgICAgdW5zaWduZWQgaW5kZXggPSBtX25vZGUtPm5vZGVJbmRleCgpOwogICAgICAg
ICAvLyBUaGUgc3RhcnQgb2YgdGhpcyBlbWl0dGVkIHJhbmdlIGlzIHdyb25nLiBFbnN1cmluZyBj
b3JyZWN0bmVzcyB3b3VsZCByZXF1aXJlCiAgICAgICAgIC8vIFZpc2libGVQb3NpdGlvbnMgYW5k
IHNvIHdvdWxkIGJlIHNsb3cuIHByZXZpb3VzQm91bmRhcnkgZXhwZWN0cyB0aGlzLgpAQCAtMTM1
Myw3ICsxMzU0LDcgQEAgYm9vbCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5k
bGVOb25UZXh0Tm9kZSgpCiAKIHZvaWQgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6
ZXhpdE5vZGUoKQogewotICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2RlKSB8
fCBzaG91bGRFbWl0TmV3bGluZUJlZm9yZU5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0VGFiQmVm
b3JlTm9kZShtX25vZGUpKSB7CisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZShtX25v
ZGUsIG1fZW1pdHNPcmlnaW5hbFRleHQpIHx8IHNob3VsZEVtaXROZXdsaW5lQmVmb3JlTm9kZSht
X25vZGUpIHx8IHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKG1fbm9kZSkpIHsKICAgICAgICAgLy8g
VGhlIHN0YXJ0IG9mIHRoaXMgZW1pdHRlZCByYW5nZSBpcyB3cm9uZy4gRW5zdXJpbmcgY29ycmVj
dG5lc3Mgd291bGQgcmVxdWlyZQogICAgICAgICAvLyBWaXNpYmxlUG9zaXRpb25zIGFuZCBzbyB3
b3VsZCBiZSBzbG93LiBwcmV2aW91c0JvdW5kYXJ5IGV4cGVjdHMgdGhpcy4KICAgICAgICAgZW1p
dENoYXJhY3RlcignXG4nLCBtX25vZGUsIDAsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0
ZXJhdG9yLmgKaW5kZXggNDhhZmM3YmNlZDJhYWZiYTczNmQ1NDdiNDI1ZWM1ZGUxYjU5YzgwOS4u
NjhkODAxMGRkNTEyNDZkMDc2ZjBkNWVhYWQzYmU3ZjE0N2NlZmZhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5oCkBAIC0yNjAsNiArMjYwLDkgQEAgcHJpdmF0ZToKIAogICAg
IC8vIFVzZWQgd2hlbiBtX3N0b3BzT25Gb3JtQ29udHJvbHMgaXMgc2V0IHRvIGRldGVybWluZSBp
ZiB0aGUgaXRlcmF0b3Igc2hvdWxkIGtlZXAgYWR2YW5jaW5nLgogICAgIGJvb2wgbV9zaG91bGRT
dG9wOworCisgICAgLy8gVXNlZCBpbiBwYXN0aW5nIGluc2lkZSBwYXNzd29yZCBmaWVsZC4KKyAg
ICBib29sIG1fZW1pdHNPcmlnaW5hbFRleHQ7CiB9OwogCiAvLyBCdWlsZHMgb24gdGhlIHRleHQg
aXRlcmF0b3IsIGFkZGluZyBhIGNoYXJhY3RlciBwb3NpdGlvbiBzbyB3ZSBjYW4gd2FsayBvbmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYTNmNzI3Y2E5ZDZmY2QwMTE5Y2Q4MjZhZGQ2Y2Y0YmVhYzQ1MDEwLi5kOGMwMGY1
MTRlMTZlYzJjZGNlMzczMDZlMmJjZTNiZjRlMzQ4MjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDMtMTQgIEF1cmltYXMgTGl1dGlrYXMgIDxhdXJpbWFzQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBUZXh0SXRlcmF0b3IgZW1pdHMgTEYgZm9yIGEgYnIgZWxlbWVudCBpbnNpZGUgYW4g
ZW1wdHkgaW5wdXQgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEyMjc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRv
d2RvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvdGV4dC1pdGVyYXRv
ci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAzLTEzICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogY2hyb21pdW0g
YmFzZWxpbmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9y
L2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEwNmU0M2IwNjQ1OGYzNTk1NjM2OTdmM2EwMmExM2IyNDczN2NiNmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMt
aXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVW5pdCB0
ZXN0cyBmb3IgV2ViQ29yZSB0ZXh0IGl0ZXJhdG9yIHdpdGggc2hhZG93IHRyZWUgc3VwcG9ydCBl
bmFibGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJhbmdlLnNlbGVj
dE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5h
bHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJiIgorUEFTUyBhcHBlbmRCckVsZW1lbnQoaW50ZXJu
YWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3RO
b2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxz
LnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BBU1MgYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVt
ZW50KGRpdik7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93
Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BBU1MgYXBw
ZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikuY2hpbGROb2Rlc1sw
XSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChk
aXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYlxuIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNo
YWRvd2RvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliYjkzODdmYzkxOTc2ZTM0MWM1MzhkYjhhODVlY2My
NjY3NTI3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRl
cmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXNlbGVjdGlvbi1zaGFy
ZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdVbml0
IHRlc3RzIGZvciBXZWJDb3JlIHRleHQgaXRlcmF0b3Igd2l0aCBzaGFkb3cgdHJlZSBzdXBwb3J0
IGVuYWJsZWQnKTsKKwordmFyIHN1YmZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZy
YW1lJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN1YmZyYW1lKTsKKworZnVuY3Rpb24g
YXBwZW5kQnJFbGVtZW50KG5vZGUpCit7CisgICAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdicicpKTsKK30KKworZnVuY3Rpb24gYWRkU2hhZG93VHJlZVdpdGhEaXZF
bGVtZW50KG5vZGUpCit7CisgICAgbm9kZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAg
aW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3Qobm9kZSkuaW5uZXJIVE1MID0gJzxkaXY+YjwvZGl2
Pic7Cit9CisKK3ZhciB0ZXN0RG9jdW1lbnQgPSBzdWJmcmFtZS5jb250ZW50RG9jdW1lbnQ7Cit2
YXIgcmFuZ2UgPSB0ZXN0RG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKwordmFyIGhlYWQgPSB0ZXN0
RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpOwordGVzdERvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5pbnNlcnRCZWZvcmUoaGVhZCwgdGVzdERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJz
dENoaWxkKTsKKwordGVzdERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxpbnB1dCBpZD0iYSIg
dmFsdWU9ImIiIC8+JzsKK3ZhciBpbnB1dCA9IHRlc3REb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdp
bnB1dCcpOworc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xk
ZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJi
IicpOworCitzaG91bGRCZSgnYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RTaGFkb3dS
b290KGlucHV0KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGludGVy
bmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5n
ZSknLCAnImIiJyk7CisKK3Rlc3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8ZGl2PmE8L2Rp
dj4nOwordmFyIGRpdiA9IHRlc3REb2N1bWVudC5ib2R5LmNoaWxkTm9kZXNbMF07CitzaG91bGRC
ZSgnYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50KGRpdik7IHJhbmdlLnNlbGVjdE5vZGVDb250
ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNU
ZXh0KHJhbmdlKScsICciYiInKTsKKworc2hvdWxkQmUoJ2FwcGVuZEJyRWxlbWVudChpbnRlcm5h
bHMub2xkZXN0U2hhZG93Um9vdChkaXYpLmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2Rl
Q29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSknLCAnImJcXG4iJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo
c3ViZnJhbWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDhlMmMwNTcxMmUwMTczMWZmOWYzMDQyZmIxZjg1OGQ2YzNmMDQwMzku
Ljg1NWI4YzkzMTRhYzBkZGViNWMyNmVmMzkyNTZjZTAxNDFhM2I0OGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDgsNiArNDQ4LDcgQEAgZmFzdC9k
b20vc2hhZG93CiBlZGl0aW5nL3NoYWRvdwogaW5zcGVjdG9yL2VsZW1lbnRzL3VwZGF0ZS1zaGFk
b3dkb20uaHRtbAogYWNjZXNzaWJpbGl0eS9jb3JyZXNwb25kaW5nLWNvbnRyb2wtZGVsZXRlZC1j
cmFzaC5odG1sCitlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2Rv
bS5odG1sCiAKICMgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpIGlzIGRpc2FibGVkLgogZmFzdC9k
b20vSFRNTFRlbXBsYXRlRWxlbWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193321</attachid>
            <date>2013-03-15 09:18:13 -0700</date>
            <delta_ts>2013-03-15 12:04:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130315091409.patch</filename>
            <type>text/plain</type>
            <size>10050</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uOWM2MGQwOWZhOTdlZWRlMjc4NzUzOGY0NGNlZmM4
ODhjNjdiY2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hv
dWxkRW1pdE5ld2xpbmVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6
aGFuZGxlTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJk
c1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9y
OjpleGl0Tm9kZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKyAgICAgICAg
KFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNk
ZDUuLjQ3NGEyYWRkODRmN2E3ZDJmNzg4ZWQ2MDgyN2E3NDc0ZGMwM2EzNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTc0NywxNCArNzQ3LDEzIEBAIHN0YXRp
YyBib29sIHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHQg
JiYgKHQtPmNlbGxCZWZvcmUocmMpIHx8IHQtPmNlbGxBYm92ZShyYykpOwogfQogCi1zdGF0aWMg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSkKK3N0YXRpYyBib29sIHNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZShOb2RlKiBub2RlLCBib29sIGVtaXRzT3JpZ2luYWxUZXh0
KQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIHNpbmdsZSBuZXds
aW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgaWYgKCFy
KQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0gICAgICAgIAotICAg
IHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJl
bmRlcmVyKCk7CisKKyAgICBpZiAocmVuZGVyZXIgPyAhcmVuZGVyZXItPmlzQlIoKSA6ICFub2Rl
LT5oYXNUYWdOYW1lKGJyVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBl
bWl0c09yaWdpbmFsVGV4dCB8fCAhKG5vZGUtPmlzSW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+c2hh
ZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpKTsKIH0KIAogc3RhdGljIGJvb2wgc2hvdWxkRW1p
dE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKE5vZGUqIG5vZGUpCkBAIC05NTYsNyArOTU1LDcg
QEAgdm9pZCBUZXh0SXRlcmF0b3I6OnJlcHJlc2VudE5vZGVPZmZzZXRaZXJvKCkKIAogYm9vbCBU
ZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHROb2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1pdE5l
d2xpbmVGb3JOb2RlKG1fbm9kZSkpCisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZSht
X25vZGUsIG1fZW1pdHNPcmlnaW5hbFRleHQpKQogICAgICAgICBlbWl0Q2hhcmFjdGVyKCdcbics
IG1fbm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwogICAgIGVsc2UgaWYgKG1fZW1p
dHNDaGFyYWN0ZXJzQmV0d2VlbkFsbFZpc2libGVQb3NpdGlvbnMgJiYgbV9ub2RlLT5yZW5kZXJl
cigpICYmIG1fbm9kZS0+cmVuZGVyZXIoKS0+aXNIUigpKQogICAgICAgICBlbWl0Q2hhcmFjdGVy
KCcgJywgbV9ub2RlLT5wYXJlbnROb2RlKCksIG1fbm9kZSwgMCwgMSk7CkBAIC0xMTEwLDYgKzEx
MDksNyBAQCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpTaW1wbGlmaWVkQmFja3dh
cmRzVGV4dEl0ZXJhdG9yKCkKICAgICAsIG1fc2hvdWxkSGFuZGxlRmlyc3RMZXR0ZXIoZmFsc2Up
CiAgICAgLCBtX3N0b3BzT25Gb3JtQ29udHJvbHMoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFN0b3Ao
ZmFsc2UpCisgICAgLCBtX2VtaXRzT3JpZ2luYWxUZXh0KGZhbHNlKQogewogfQogCkBAIC0xMTM0
LDYgKzExMzQsNyBAQCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpTaW1wbGlmaWVk
QmFja3dhcmRzVGV4dEl0ZXJhdG9yKGNvbnN0IFJhbmdlKiByLAogICAgICwgbV9zaG91bGRIYW5k
bGVGaXJzdExldHRlcihmYWxzZSkKICAgICAsIG1fc3RvcHNPbkZvcm1Db250cm9scyhiZWhhdmlv
ciAmIFRleHRJdGVyYXRvclN0b3BzT25Gb3JtQ29udHJvbHMpCiAgICAgLCBtX3Nob3VsZFN0b3Ao
ZmFsc2UpCisgICAgLCBtX2VtaXRzT3JpZ2luYWxUZXh0KGZhbHNlKQogewogICAgIEFTU0VSVChi
ZWhhdmlvciA9PSBUZXh0SXRlcmF0b3JEZWZhdWx0QmVoYXZpb3IgfHwgYmVoYXZpb3IgPT0gVGV4
dEl0ZXJhdG9yU3RvcHNPbkZvcm1Db250cm9scyk7CiAKQEAgLTEzNDIsNyArMTM0Myw3IEBAIGJv
b2wgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUoKQog
eyAgICAKICAgICAvLyBXZSBjYW4gdXNlIGEgbGluZWZlZWQgaW4gcGxhY2Ugb2YgYSB0YWIgYmVj
YXVzZSB0aGlzIHNpbXBsZSBpdGVyYXRvciBpcyBvbmx5IHVzZWQgdG8KICAgICAvLyBmaW5kIGJv
dW5kYXJpZXMsIG5vdCBhY3R1YWwgY29udGVudC4gIEEgbGluZWZlZWQgYnJlYWtzIHdvcmRzLCBz
ZW50ZW5jZXMsIGFuZCBwYXJhZ3JhcGhzLgotICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5v
ZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0TmV3bGluZUFmdGVyTm9kZShtX25vZGUpIHx8IHNob3Vs
ZEVtaXRUYWJCZWZvcmVOb2RlKG1fbm9kZSkpIHsKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVG
b3JOb2RlKG1fbm9kZSwgbV9lbWl0c09yaWdpbmFsVGV4dCkgfHwgc2hvdWxkRW1pdE5ld2xpbmVB
ZnRlck5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIGluZGV4ID0gbV9ub2RlLT5ub2RlSW5kZXgoKTsKICAgICAgICAgLy8g
VGhlIHN0YXJ0IG9mIHRoaXMgZW1pdHRlZCByYW5nZSBpcyB3cm9uZy4gRW5zdXJpbmcgY29ycmVj
dG5lc3Mgd291bGQgcmVxdWlyZQogICAgICAgICAvLyBWaXNpYmxlUG9zaXRpb25zIGFuZCBzbyB3
b3VsZCBiZSBzbG93LiBwcmV2aW91c0JvdW5kYXJ5IGV4cGVjdHMgdGhpcy4KQEAgLTEzNTMsNyAr
MTM1NCw3IEBAIGJvb2wgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9u
VGV4dE5vZGUoKQogCiB2b2lkIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmV4aXRO
b2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1fbm9kZSkgfHwgc2hv
dWxkRW1pdE5ld2xpbmVCZWZvcmVOb2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5v
ZGUobV9ub2RlKSkgeworICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2RlLCBt
X2VtaXRzT3JpZ2luYWxUZXh0KSB8fCBzaG91bGRFbWl0TmV3bGluZUJlZm9yZU5vZGUobV9ub2Rl
KSB8fCBzaG91bGRFbWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CiAgICAgICAgIC8vIFRoZSBz
dGFydCBvZiB0aGlzIGVtaXR0ZWQgcmFuZ2UgaXMgd3JvbmcuIEVuc3VyaW5nIGNvcnJlY3RuZXNz
IHdvdWxkIHJlcXVpcmUKICAgICAgICAgLy8gVmlzaWJsZVBvc2l0aW9ucyBhbmQgc28gd291bGQg
YmUgc2xvdy4gcHJldmlvdXNCb3VuZGFyeSBleHBlY3RzIHRoaXMuCiAgICAgICAgIGVtaXRDaGFy
YWN0ZXIoJ1xuJywgbV9ub2RlLCAwLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5oCmluZGV4IDQ4YWZjN2JjZWQyYWFmYmE3MzZkNTQ3YjQyNWVjNWRlMWI1OWM4MDkuLjY4ZDgw
MTBkZDUxMjQ2ZDA3NmYwZDVlYWFkM2JlN2YxNDdjZWZmYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuaApAQCAtMjYwLDYgKzI2MCw5IEBAIHByaXZhdGU6CiAKICAgICAvLyBV
c2VkIHdoZW4gbV9zdG9wc09uRm9ybUNvbnRyb2xzIGlzIHNldCB0byBkZXRlcm1pbmUgaWYgdGhl
IGl0ZXJhdG9yIHNob3VsZCBrZWVwIGFkdmFuY2luZy4KICAgICBib29sIG1fc2hvdWxkU3RvcDsK
KworICAgIC8vIFVzZWQgaW4gcGFzdGluZyBpbnNpZGUgcGFzc3dvcmQgZmllbGQuCisgICAgYm9v
bCBtX2VtaXRzT3JpZ2luYWxUZXh0OwogfTsKIAogLy8gQnVpbGRzIG9uIHRoZSB0ZXh0IGl0ZXJh
dG9yLCBhZGRpbmcgYSBjaGFyYWN0ZXIgcG9zaXRpb24gc28gd2UgY2FuIHdhbGsgb25lCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMGEzZjcyN2NhOWQ2ZmNkMDExOWNkODI2YWRkNmNmNGJlYWM0NTAxMC4uZDhjMDBmNTE0ZTE2
ZWMyY2RjZTM3MzA2ZTJiY2UzYmY0ZTM0ODIyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEz
LTAzLTE0ICBBdXJpbWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVGV4dEl0ZXJhdG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5
IGlucHV0IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjI3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFz
aWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMy0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQ6IGNocm9taXVtIGJhc2Vs
aW5lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNp
Yy1pdGVyYXRpb24tc2hhZG93ZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDZlNDNiMDY0NThmMzU5NTYzNjk3ZjNhMDJhMTNiMjQ3MzdjYjZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJh
dGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1VuaXQgdGVzdHMg
Zm9yIFdlYkNvcmUgdGV4dCBpdGVyYXRvciB3aXRoIHNoYWRvdyB0cmVlIHN1cHBvcnQgZW5hYmxl
ZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByYW5nZS5zZWxlY3ROb2Rl
Q29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJh
bmdlQXNUZXh0KHJhbmdlKSBpcyAiYiIKK1BBU1MgYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5v
bGRlc3RTaGFkb3dSb290KGlucHV0KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNv
bnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSkgaXMgImIiCitQQVNTIGFkZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVudChk
aXYpOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3Qo
ZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgImIiCitQQVNTIGFwcGVuZEJy
RWxlbWVudChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpLmNoaWxkTm9kZXNbMF0pOyBy
YW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7
IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgImJcbiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dk
b20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YmI5Mzg3ZmM5MTk3NmUzNDFjNTM4ZGI4YTg1ZWNjMjY2NzUy
NzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9y
L2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1zZWxlY3Rpb24tc2hhcmVkLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVW5pdCB0ZXN0
cyBmb3IgV2ViQ29yZSB0ZXh0IGl0ZXJhdG9yIHdpdGggc2hhZG93IHRyZWUgc3VwcG9ydCBlbmFi
bGVkJyk7CisKK3ZhciBzdWJmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdWJmcmFtZSk7CisKK2Z1bmN0aW9uIGFwcGVu
ZEJyRWxlbWVudChub2RlKQoreworICAgIG5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYnInKSk7Cit9CisKK2Z1bmN0aW9uIGFkZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVu
dChub2RlKQoreworICAgIG5vZGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIGludGVy
bmFscy5vbGRlc3RTaGFkb3dSb290KG5vZGUpLmlubmVySFRNTCA9ICc8ZGl2PmI8L2Rpdj4nOwor
fQorCit2YXIgdGVzdERvY3VtZW50ID0gc3ViZnJhbWUuY29udGVudERvY3VtZW50OwordmFyIHJh
bmdlID0gdGVzdERvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisKK3ZhciBoZWFkID0gdGVzdERvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKTsKK3Rlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu
aW5zZXJ0QmVmb3JlKGhlYWQsIHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RDaGls
ZCk7CisKK3Rlc3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8aW5wdXQgaWQ9ImEiIHZhbHVl
PSJiIiAvPic7Cit2YXIgaW5wdXQgPSB0ZXN0RG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQn
KTsKK3Nob3VsZEJlKCdyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNo
YWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciYiInKTsK
Kworc2hvdWxkQmUoJ2FwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChp
bnB1dCkuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMu
b2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywg
JyJiIicpOworCit0ZXN0RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGRpdj5hPC9kaXY+JzsK
K3ZhciBkaXYgPSB0ZXN0RG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdOworc2hvdWxkQmUoJ2Fk
ZFNoYWRvd1RyZWVXaXRoRGl2RWxlbWVudChkaXYpOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
aW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChy
YW5nZSknLCAnImIiJyk7CisKK3Nob3VsZEJlKCdhcHBlbmRCckVsZW1lbnQoaW50ZXJuYWxzLm9s
ZGVzdFNoYWRvd1Jvb3QoZGl2KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRl
bnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikpOyBpbnRlcm5hbHMucmFuZ2VBc1Rl
eHQocmFuZ2UpJywgJyJiXFxuIicpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHN1YmZy
YW1lKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA4ZTJjMDU3MTJlMDE3MzFmZjlmMzA0MmZiMWY4NThkNmMzZjA0MDM5Li44NTVi
OGM5MzE0YWMwZGRlYjVjMjZlZjM5MjU2Y2UwMTQxYTNiNDhhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDQ4LDYgKzQ0OCw3IEBAIGZhc3QvZG9tL3No
YWRvdwogZWRpdGluZy9zaGFkb3cKIGluc3BlY3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9t
Lmh0bWwKIGFjY2Vzc2liaWxpdHkvY29ycmVzcG9uZGluZy1jb250cm9sLWRlbGV0ZWQtY3Jhc2gu
aHRtbAorZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRt
bAogCiAjIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193346</attachid>
            <date>2013-03-15 12:04:25 -0700</date>
            <delta_ts>2013-03-15 13:44:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130315120020.patch</filename>
            <type>text/plain</type>
            <size>12181</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uOWM2MGQwOWZhOTdlZWRlMjc4NzUzOGY0NGNlZmM4
ODhjNjdiY2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hv
dWxkRW1pdE5ld2xpbmVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6
aGFuZGxlTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJk
c1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9y
OjpleGl0Tm9kZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKyAgICAgICAg
KFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorCiAyMDEzLTAzLTEzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGRhNzZhZDRmMWQ1NjM3YzRjZWE4MThiMjcwNGJmZmFiNzVlZmNk
ZDUuLjQ3NGEyYWRkODRmN2E3ZDJmNzg4ZWQ2MDgyN2E3NDc0ZGMwM2EzNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTc0NywxNCArNzQ3LDEzIEBAIHN0YXRp
YyBib29sIHNob3VsZEVtaXRUYWJCZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHQg
JiYgKHQtPmNlbGxCZWZvcmUocmMpIHx8IHQtPmNlbGxBYm92ZShyYykpOwogfQogCi1zdGF0aWMg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSkKK3N0YXRpYyBib29sIHNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZShOb2RlKiBub2RlLCBib29sIGVtaXRzT3JpZ2luYWxUZXh0
KQogewotICAgIC8vIGJyIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIHNpbmdsZSBuZXds
aW5lLgotICAgIFJlbmRlck9iamVjdCogciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgaWYgKCFy
KQotICAgICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShiclRhZyk7Ci0gICAgICAgIAotICAg
IHJldHVybiByLT5pc0JSKCk7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJl
bmRlcmVyKCk7CisKKyAgICBpZiAocmVuZGVyZXIgPyAhcmVuZGVyZXItPmlzQlIoKSA6ICFub2Rl
LT5oYXNUYWdOYW1lKGJyVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBl
bWl0c09yaWdpbmFsVGV4dCB8fCAhKG5vZGUtPmlzSW5TaGFkb3dUcmVlKCkgJiYgbm9kZS0+c2hh
ZG93SG9zdCgpLT50b0lucHV0RWxlbWVudCgpKTsKIH0KIAogc3RhdGljIGJvb2wgc2hvdWxkRW1p
dE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKE5vZGUqIG5vZGUpCkBAIC05NTYsNyArOTU1LDcg
QEAgdm9pZCBUZXh0SXRlcmF0b3I6OnJlcHJlc2VudE5vZGVPZmZzZXRaZXJvKCkKIAogYm9vbCBU
ZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHROb2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1pdE5l
d2xpbmVGb3JOb2RlKG1fbm9kZSkpCisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZSht
X25vZGUsIG1fZW1pdHNPcmlnaW5hbFRleHQpKQogICAgICAgICBlbWl0Q2hhcmFjdGVyKCdcbics
IG1fbm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwogICAgIGVsc2UgaWYgKG1fZW1p
dHNDaGFyYWN0ZXJzQmV0d2VlbkFsbFZpc2libGVQb3NpdGlvbnMgJiYgbV9ub2RlLT5yZW5kZXJl
cigpICYmIG1fbm9kZS0+cmVuZGVyZXIoKS0+aXNIUigpKQogICAgICAgICBlbWl0Q2hhcmFjdGVy
KCcgJywgbV9ub2RlLT5wYXJlbnROb2RlKCksIG1fbm9kZSwgMCwgMSk7CkBAIC0xMTEwLDYgKzEx
MDksNyBAQCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpTaW1wbGlmaWVkQmFja3dh
cmRzVGV4dEl0ZXJhdG9yKCkKICAgICAsIG1fc2hvdWxkSGFuZGxlRmlyc3RMZXR0ZXIoZmFsc2Up
CiAgICAgLCBtX3N0b3BzT25Gb3JtQ29udHJvbHMoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFN0b3Ao
ZmFsc2UpCisgICAgLCBtX2VtaXRzT3JpZ2luYWxUZXh0KGZhbHNlKQogewogfQogCkBAIC0xMTM0
LDYgKzExMzQsNyBAQCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpTaW1wbGlmaWVk
QmFja3dhcmRzVGV4dEl0ZXJhdG9yKGNvbnN0IFJhbmdlKiByLAogICAgICwgbV9zaG91bGRIYW5k
bGVGaXJzdExldHRlcihmYWxzZSkKICAgICAsIG1fc3RvcHNPbkZvcm1Db250cm9scyhiZWhhdmlv
ciAmIFRleHRJdGVyYXRvclN0b3BzT25Gb3JtQ29udHJvbHMpCiAgICAgLCBtX3Nob3VsZFN0b3Ao
ZmFsc2UpCisgICAgLCBtX2VtaXRzT3JpZ2luYWxUZXh0KGZhbHNlKQogewogICAgIEFTU0VSVChi
ZWhhdmlvciA9PSBUZXh0SXRlcmF0b3JEZWZhdWx0QmVoYXZpb3IgfHwgYmVoYXZpb3IgPT0gVGV4
dEl0ZXJhdG9yU3RvcHNPbkZvcm1Db250cm9scyk7CiAKQEAgLTEzNDIsNyArMTM0Myw3IEBAIGJv
b2wgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4dE5vZGUoKQog
eyAgICAKICAgICAvLyBXZSBjYW4gdXNlIGEgbGluZWZlZWQgaW4gcGxhY2Ugb2YgYSB0YWIgYmVj
YXVzZSB0aGlzIHNpbXBsZSBpdGVyYXRvciBpcyBvbmx5IHVzZWQgdG8KICAgICAvLyBmaW5kIGJv
dW5kYXJpZXMsIG5vdCBhY3R1YWwgY29udGVudC4gIEEgbGluZWZlZWQgYnJlYWtzIHdvcmRzLCBz
ZW50ZW5jZXMsIGFuZCBwYXJhZ3JhcGhzLgotICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5v
ZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0TmV3bGluZUFmdGVyTm9kZShtX25vZGUpIHx8IHNob3Vs
ZEVtaXRUYWJCZWZvcmVOb2RlKG1fbm9kZSkpIHsKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVG
b3JOb2RlKG1fbm9kZSwgbV9lbWl0c09yaWdpbmFsVGV4dCkgfHwgc2hvdWxkRW1pdE5ld2xpbmVB
ZnRlck5vZGUobV9ub2RlKSB8fCBzaG91bGRFbWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIGluZGV4ID0gbV9ub2RlLT5ub2RlSW5kZXgoKTsKICAgICAgICAgLy8g
VGhlIHN0YXJ0IG9mIHRoaXMgZW1pdHRlZCByYW5nZSBpcyB3cm9uZy4gRW5zdXJpbmcgY29ycmVj
dG5lc3Mgd291bGQgcmVxdWlyZQogICAgICAgICAvLyBWaXNpYmxlUG9zaXRpb25zIGFuZCBzbyB3
b3VsZCBiZSBzbG93LiBwcmV2aW91c0JvdW5kYXJ5IGV4cGVjdHMgdGhpcy4KQEAgLTEzNTMsNyAr
MTM1NCw3IEBAIGJvb2wgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9u
VGV4dE5vZGUoKQogCiB2b2lkIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmV4aXRO
b2RlKCkKIHsKLSAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1fbm9kZSkgfHwgc2hv
dWxkRW1pdE5ld2xpbmVCZWZvcmVOb2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5v
ZGUobV9ub2RlKSkgeworICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUobV9ub2RlLCBt
X2VtaXRzT3JpZ2luYWxUZXh0KSB8fCBzaG91bGRFbWl0TmV3bGluZUJlZm9yZU5vZGUobV9ub2Rl
KSB8fCBzaG91bGRFbWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CiAgICAgICAgIC8vIFRoZSBz
dGFydCBvZiB0aGlzIGVtaXR0ZWQgcmFuZ2UgaXMgd3JvbmcuIEVuc3VyaW5nIGNvcnJlY3RuZXNz
IHdvdWxkIHJlcXVpcmUKICAgICAgICAgLy8gVmlzaWJsZVBvc2l0aW9ucyBhbmQgc28gd291bGQg
YmUgc2xvdy4gcHJldmlvdXNCb3VuZGFyeSBleHBlY3RzIHRoaXMuCiAgICAgICAgIGVtaXRDaGFy
YWN0ZXIoJ1xuJywgbV9ub2RlLCAwLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5oCmluZGV4IDQ4YWZjN2JjZWQyYWFmYmE3MzZkNTQ3YjQyNWVjNWRlMWI1OWM4MDkuLjY4ZDgw
MTBkZDUxMjQ2ZDA3NmYwZDVlYWFkM2JlN2YxNDdjZWZmYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuaApAQCAtMjYwLDYgKzI2MCw5IEBAIHByaXZhdGU6CiAKICAgICAvLyBV
c2VkIHdoZW4gbV9zdG9wc09uRm9ybUNvbnRyb2xzIGlzIHNldCB0byBkZXRlcm1pbmUgaWYgdGhl
IGl0ZXJhdG9yIHNob3VsZCBrZWVwIGFkdmFuY2luZy4KICAgICBib29sIG1fc2hvdWxkU3RvcDsK
KworICAgIC8vIFVzZWQgaW4gcGFzdGluZyBpbnNpZGUgcGFzc3dvcmQgZmllbGQuCisgICAgYm9v
bCBtX2VtaXRzT3JpZ2luYWxUZXh0OwogfTsKIAogLy8gQnVpbGRzIG9uIHRoZSB0ZXh0IGl0ZXJh
dG9yLCBhZGRpbmcgYSBjaGFyYWN0ZXIgcG9zaXRpb24gc28gd2UgY2FuIHdhbGsgb25lCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMGEzZjcyN2NhOWQ2ZmNkMDExOWNkODI2YWRkNmNmNGJlYWM0NTAxMC4uM2YwYWFmNDUyM2I2
NmMyMDBjODJmMDdhZjFiZGE5YWZkZGNjOGQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEz
LTAzLTE0ICBBdXJpbWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVGV4dEl0ZXJhdG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5
IGlucHV0IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjI3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1leHBlY3RlZC50
eHQ6IEV4dGVuZGVkIHRvIGFkZCB0d28gbW9yZSBjYXNlcy4KKyAgICAgICAgKiBlZGl0aW5nL3Rl
eHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93
ZG9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQt
dGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzOiBFeHRlbmRlZCB0byBhZGQgdHdvIG1yb2UgY2FzZXMu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDMtMTMg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJl
dmlld2VkOiBjaHJvbWl1bSBiYXNlbGluZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY5MzEyZDlkMmZlNjRjMTc0MjdjYzRkYmFiZGU1OGVmYTgzMmI2Y2UuLmUyZTQwZjNjYzY3
M2ExMDllYzE4OGI3MDZhNGMxZGZlYmIyZjc4ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0xNCw2ICsxNCw4IEBAIEZBSUwgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRlc3RE
b2N1bWVudC5ib2R5KTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBzCiAuCiBQQVNTIHJh
bmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSkgaXMgImhleSIKIFBBU1MgcmFuZ2Uuc2V0U3RhcnRCZWZvcmUodGVzdERv
Y3VtZW50LmJvZHkpOyByYW5nZS5zZXRFbmRBZnRlcih0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVy
bmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgImhleSIKK1BBU1MgcmFuZ2Uuc2VsZWN0Tm9kZUNv
bnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSkgaXMgImIiCitQQVNTIGFwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMub2xk
ZXN0U2hhZG93Um9vdChpbnB1dCkuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250
ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VB
c1RleHQocmFuZ2UpIGlzICJiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0
b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTM2NGE1MzY4MTExZTQxMWVlYTAyNjk0ZjAzMzVhYjc1YjBlYzUzNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNp
Yy1pdGVyYXRpb24tc2hhZG93ZG9tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitVbml0
IHRlc3RzIGZvciBXZWJDb3JlIHRleHQgaXRlcmF0b3Igd2l0aCBzaGFkb3cgdHJlZSBzdXBwb3J0
IGVuYWJsZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYWRkU2hhZG93
VHJlZVdpdGhEaXZFbGVtZW50KGRpdik7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5h
bHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBp
cyAiYiIKK1BBU1MgYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRp
dikuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xk
ZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKSBpcyAiYlxu
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRp
b24tc2hhZG93ZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFz
aWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOWJlOWQ4MjdlODIzODY5
NmNiYzg1MzdjZjlmMTljNzQ1OWQzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sCkBAIC0w
LDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0
LXNlbGVjdGlvbi1zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdVbml0IHRlc3RzIGZvciBXZWJDb3JlIHRleHQgaXRlcmF0b3Igd2l0aCBzaGFk
b3cgdHJlZSBzdXBwb3J0IGVuYWJsZWQnKTsKKwordmFyIHN1YmZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaWZyYW1lJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN1YmZyYW1l
KTsKKworZnVuY3Rpb24gYXBwZW5kQnJFbGVtZW50KG5vZGUpCit7CisgICAgbm9kZS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKK30KKworZnVuY3Rpb24gYWRkU2hh
ZG93VHJlZVdpdGhEaXZFbGVtZW50KG5vZGUpCit7CisgICAgbm9kZS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3Qobm9kZSkuaW5uZXJIVE1M
ID0gJzxkaXY+YjwvZGl2Pic7Cit9CisKK3ZhciB0ZXN0RG9jdW1lbnQgPSBzdWJmcmFtZS5jb250
ZW50RG9jdW1lbnQ7Cit2YXIgcmFuZ2UgPSB0ZXN0RG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKwor
dmFyIGhlYWQgPSB0ZXN0RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpOwordGVzdERvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5pbnNlcnRCZWZvcmUoaGVhZCwgdGVzdERvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5maXJzdENoaWxkKTsKKwordGVzdERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0g
JzxkaXY+YTwvZGl2Pic7Cit2YXIgZGl2ID0gdGVzdERvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1sw
XTsKK3Nob3VsZEJlKCdhZGRTaGFkb3dUcmVlV2l0aERpdkVsZW1lbnQoZGl2KTsgcmFuZ2Uuc2Vs
ZWN0Tm9kZUNvbnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikpOyBpbnRlcm5h
bHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJiIicpOworCitzaG91bGRCZSgnYXBwZW5kQnJFbGVt
ZW50KGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGRpdikuY2hpbGROb2Rlc1swXSk7IHJhbmdl
LnNlbGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50
ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciYlxcbiInKTsKKworZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChzdWJmcmFtZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpz
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL3NjcmlwdC10ZXN0cy9iYXNpYy1p
dGVyYXRpb24uanMKaW5kZXggNGY1ZTVmZjY0OTY2ZjMwOWJkZjcyOGZmYjMzNGIzYmIwMGZiNmYw
Yy4uZGM5NjQ2YmE4NWNkNTY5ODM0ZjdkZmYzZDFlZjNmYjlhYzg4ZWQyNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL3NjcmlwdC10ZXN0cy9iYXNpYy1pdGVy
YXRpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL3NjcmlwdC10
ZXN0cy9iYXNpYy1pdGVyYXRpb24uanMKQEAgLTEsNSArMSwxNiBAQAogZGVzY3JpcHRpb24oJ1Vu
aXQgdGVzdHMgZm9yIFdlYkNvcmUgdGV4dCBpdGVyYXRvcicpOwogCitmdW5jdGlvbiBhcHBlbmRC
ckVsZW1lbnQobm9kZSkKK3sKKyAgICBub2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2JyJykpOworfQorCitmdW5jdGlvbiBhZGRTaGFkb3dUcmVlV2l0aERpdkVsZW1lbnQo
bm9kZSkKK3sKKyAgICBub2RlLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBpbnRlcm5h
bHMub2xkZXN0U2hhZG93Um9vdChub2RlKS5pbm5lckhUTUwgPSAnPGRpdj5iPC9kaXY+JzsKK30K
KwogdmFyIHN1YmZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHN1YmZyYW1lKTsKIApAQCAtMzEsNiArNDIsMTIgQEAgdGVz
dERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9Im5vdGUtcnVsZS12ZXJ0aWNh
bCIgc3R5bGU9ImxlZnQ6MjJweCIKIHNob3VsZEJlKCdyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
dGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpJywgJyJoZXki
Jyk7CiBzaG91bGRCZSgncmFuZ2Uuc2V0U3RhcnRCZWZvcmUodGVzdERvY3VtZW50LmJvZHkpOyBy
YW5nZS5zZXRFbmRBZnRlcih0ZXN0RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5nZUFzVGV4
dChyYW5nZSknLCAnImhleSInKTsKIAordGVzdERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxp
bnB1dCBpZD0iYSIgdmFsdWU9ImIiIC8+JzsKK3ZhciBpbnB1dCA9IHRlc3REb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdpbnB1dCcpOworc2hvdWxkQmUoJ3JhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhp
bnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFuZ2VBc1RleHQo
cmFuZ2UpJywgJyJiIicpOworCitzaG91bGRCZSgnYXBwZW5kQnJFbGVtZW50KGludGVybmFscy5v
bGRlc3RTaGFkb3dSb290KGlucHV0KS5jaGlsZE5vZGVzWzBdKTsgcmFuZ2Uuc2VsZWN0Tm9kZUNv
bnRlbnRzKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KSk7IGludGVybmFscy5yYW5n
ZUFzVGV4dChyYW5nZSknLCAnImIiJyk7CisKIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3Vi
ZnJhbWUpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOGUyYzA1NzEyZTAxNzMxZmY5ZjMwNDJm
YjFmODU4ZDZjM2YwNDAzOS4uODU1YjhjOTMxNGFjMGRkZWI1YzI2ZWYzOTI1NmNlMDE0MWEzYjQ4
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0OCw2
ICs0NDgsNyBAQCBmYXN0L2RvbS9zaGFkb3cKIGVkaXRpbmcvc2hhZG93CiBpbnNwZWN0b3IvZWxl
bWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sCiBhY2Nlc3NpYmlsaXR5L2NvcnJlc3BvbmRpbmct
Y29udHJvbC1kZWxldGVkLWNyYXNoLmh0bWwKK2VkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1p
dGVyYXRpb24tc2hhZG93ZG9tLmh0bWwKIAogIyBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkgaXMg
ZGlzYWJsZWQuCiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193370</attachid>
            <date>2013-03-15 13:44:30 -0700</date>
            <delta_ts>2013-03-15 15:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112275-20130315134025.patch</filename>
            <type>text/plain</type>
            <size>12239</size>
            <attacher name="Aurimas Liutikas">aurimas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmNWYxYWE4MWFlOTRj
ZmYzYWI0N2E5ZjYxMWQ4YmZhNzFiNTRiMi4uZTZjMTZmMWMxNzQzZDU3MDQ0Y2Y0NDc0MzNlODBi
MjBjZjZjNTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTE0ICBBdXJp
bWFzIExpdXRpa2FzICA8YXVyaW1hc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dEl0ZXJh
dG9yIGVtaXRzIExGIGZvciBhIGJyIGVsZW1lbnQgaW5zaWRlIGFuIGVtcHR5IGlucHV0IGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGlu
ZyBhIGNoZWNrIHRvIGF2b2lkIGVtaXRpbmcgTEYgZm9yIGJyIGVsZW1lbnRzIGluc2lkZSBhIHNo
YWRvdyB0cmVlCisgICAgICAgIG9mIGFuIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDog
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi5odG1sCisgICAgICAgICAgICAg
IGVkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tc2hhZG93ZG9tLmh0bWwKKwor
ICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEVtaXROZXdsaW5lRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6
OmhhbmRsZU5vblRleHROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsaWZpZWRCYWNrd2Fy
ZHNUZXh0SXRlcmF0b3I6OlNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6aGFuZGxlTm9uVGV4
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRv
cjo6ZXhpdE5vZGUpOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmg6CisgICAgICAg
IChTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yKToKKwogMjAxMy0wMy0xMyAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBnZXQgcmlkIG9mIGhpZGRlblBhbmVscyBmaWx0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcAppbmRleCBkYTc2YWQ0ZjFkNTYzN2M0Y2VhODE4YjI3MDRiZmZhYjc1ZWZj
ZGQ1Li40NzRhMmFkZDg0ZjdhN2QyZjc4OGVkNjA4MjdhNzQ3NGRjMDNhMzY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC03NDcsMTQgKzc0NywxMyBAQCBzdGF0
aWMgYm9vbCBzaG91bGRFbWl0VGFiQmVmb3JlTm9kZShOb2RlKiBub2RlKQogICAgIHJldHVybiB0
ICYmICh0LT5jZWxsQmVmb3JlKHJjKSB8fCB0LT5jZWxsQWJvdmUocmMpKTsKIH0KIAotc3RhdGlj
IGJvb2wgc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKE5vZGUqIG5vZGUpCitzdGF0aWMgYm9vbCBz
aG91bGRFbWl0TmV3bGluZUZvck5vZGUoTm9kZSogbm9kZSwgYm9vbCBlbWl0c09yaWdpbmFsVGV4
dCkKIHsKLSAgICAvLyBiciBlbGVtZW50cyBhcmUgcmVwcmVzZW50ZWQgYnkgYSBzaW5nbGUgbmV3
bGluZS4KLSAgICBSZW5kZXJPYmplY3QqIHIgPSBub2RlLT5yZW5kZXJlcigpOwotICAgIGlmICgh
cikKLSAgICAgICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoYnJUYWcpOwotICAgICAgICAKLSAg
ICByZXR1cm4gci0+aXNCUigpOworICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBub2RlLT5y
ZW5kZXJlcigpOworCisgICAgaWYgKHJlbmRlcmVyID8gIXJlbmRlcmVyLT5pc0JSKCkgOiAhbm9k
ZS0+aGFzVGFnTmFtZShiclRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
ZW1pdHNPcmlnaW5hbFRleHQgfHwgIShub2RlLT5pc0luU2hhZG93VHJlZSgpICYmIG5vZGUtPnNo
YWRvd0hvc3QoKS0+dG9JbnB1dEVsZW1lbnQoKSk7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZEVt
aXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlKiBub2RlKQpAQCAtOTU2LDcgKzk1NSw3
IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjpyZXByZXNlbnROb2RlT2Zmc2V0WmVybygpCiAKIGJvb2wg
VGV4dEl0ZXJhdG9yOjpoYW5kbGVOb25UZXh0Tm9kZSgpCiB7Ci0gICAgaWYgKHNob3VsZEVtaXRO
ZXdsaW5lRm9yTm9kZShtX25vZGUpKQorICAgIGlmIChzaG91bGRFbWl0TmV3bGluZUZvck5vZGUo
bV9ub2RlLCBtX2VtaXRzT3JpZ2luYWxUZXh0KSkKICAgICAgICAgZW1pdENoYXJhY3RlcignXG4n
LCBtX25vZGUtPnBhcmVudE5vZGUoKSwgbV9ub2RlLCAwLCAxKTsKICAgICBlbHNlIGlmIChtX2Vt
aXRzQ2hhcmFjdGVyc0JldHdlZW5BbGxWaXNpYmxlUG9zaXRpb25zICYmIG1fbm9kZS0+cmVuZGVy
ZXIoKSAmJiBtX25vZGUtPnJlbmRlcmVyKCktPmlzSFIoKSkKICAgICAgICAgZW1pdENoYXJhY3Rl
cignICcsIG1fbm9kZS0+cGFyZW50Tm9kZSgpLCBtX25vZGUsIDAsIDEpOwpAQCAtMTExMCw2ICsx
MTA5LDcgQEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmllZEJhY2t3
YXJkc1RleHRJdGVyYXRvcigpCiAgICAgLCBtX3Nob3VsZEhhbmRsZUZpcnN0TGV0dGVyKGZhbHNl
KQogICAgICwgbV9zdG9wc09uRm9ybUNvbnRyb2xzKGZhbHNlKQogICAgICwgbV9zaG91bGRTdG9w
KGZhbHNlKQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChmYWxzZSkKIHsKIH0KIApAQCAtMTEz
NCw2ICsxMTM0LDcgQEAgU2ltcGxpZmllZEJhY2t3YXJkc1RleHRJdGVyYXRvcjo6U2ltcGxpZmll
ZEJhY2t3YXJkc1RleHRJdGVyYXRvcihjb25zdCBSYW5nZSogciwKICAgICAsIG1fc2hvdWxkSGFu
ZGxlRmlyc3RMZXR0ZXIoZmFsc2UpCiAgICAgLCBtX3N0b3BzT25Gb3JtQ29udHJvbHMoYmVoYXZp
b3IgJiBUZXh0SXRlcmF0b3JTdG9wc09uRm9ybUNvbnRyb2xzKQogICAgICwgbV9zaG91bGRTdG9w
KGZhbHNlKQorICAgICwgbV9lbWl0c09yaWdpbmFsVGV4dChmYWxzZSkKIHsKICAgICBBU1NFUlQo
YmVoYXZpb3IgPT0gVGV4dEl0ZXJhdG9yRGVmYXVsdEJlaGF2aW9yIHx8IGJlaGF2aW9yID09IFRl
eHRJdGVyYXRvclN0b3BzT25Gb3JtQ29udHJvbHMpOwogCkBAIC0xMzQyLDcgKzEzNDMsNyBAQCBi
b29sIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmhhbmRsZU5vblRleHROb2RlKCkK
IHsgICAgCiAgICAgLy8gV2UgY2FuIHVzZSBhIGxpbmVmZWVkIGluIHBsYWNlIG9mIGEgdGFiIGJl
Y2F1c2UgdGhpcyBzaW1wbGUgaXRlcmF0b3IgaXMgb25seSB1c2VkIHRvCiAgICAgLy8gZmluZCBi
b3VuZGFyaWVzLCBub3QgYWN0dWFsIGNvbnRlbnQuICBBIGxpbmVmZWVkIGJyZWFrcyB3b3Jkcywg
c2VudGVuY2VzLCBhbmQgcGFyYWdyYXBocy4KLSAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JO
b2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdE5ld2xpbmVBZnRlck5vZGUobV9ub2RlKSB8fCBzaG91
bGRFbWl0VGFiQmVmb3JlTm9kZShtX25vZGUpKSB7CisgICAgaWYgKHNob3VsZEVtaXROZXdsaW5l
Rm9yTm9kZShtX25vZGUsIG1fZW1pdHNPcmlnaW5hbFRleHQpIHx8IHNob3VsZEVtaXROZXdsaW5l
QWZ0ZXJOb2RlKG1fbm9kZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgewog
ICAgICAgICB1bnNpZ25lZCBpbmRleCA9IG1fbm9kZS0+bm9kZUluZGV4KCk7CiAgICAgICAgIC8v
IFRoZSBzdGFydCBvZiB0aGlzIGVtaXR0ZWQgcmFuZ2UgaXMgd3JvbmcuIEVuc3VyaW5nIGNvcnJl
Y3RuZXNzIHdvdWxkIHJlcXVpcmUKICAgICAgICAgLy8gVmlzaWJsZVBvc2l0aW9ucyBhbmQgc28g
d291bGQgYmUgc2xvdy4gcHJldmlvdXNCb3VuZGFyeSBleHBlY3RzIHRoaXMuCkBAIC0xMzUzLDcg
KzEzNTQsNyBAQCBib29sIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmhhbmRsZU5v
blRleHROb2RlKCkKIAogdm9pZCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpleGl0
Tm9kZSgpCiB7Ci0gICAgaWYgKHNob3VsZEVtaXROZXdsaW5lRm9yTm9kZShtX25vZGUpIHx8IHNo
b3VsZEVtaXROZXdsaW5lQmVmb3JlTm9kZShtX25vZGUpIHx8IHNob3VsZEVtaXRUYWJCZWZvcmVO
b2RlKG1fbm9kZSkpIHsKKyAgICBpZiAoc2hvdWxkRW1pdE5ld2xpbmVGb3JOb2RlKG1fbm9kZSwg
bV9lbWl0c09yaWdpbmFsVGV4dCkgfHwgc2hvdWxkRW1pdE5ld2xpbmVCZWZvcmVOb2RlKG1fbm9k
ZSkgfHwgc2hvdWxkRW1pdFRhYkJlZm9yZU5vZGUobV9ub2RlKSkgewogICAgICAgICAvLyBUaGUg
c3RhcnQgb2YgdGhpcyBlbWl0dGVkIHJhbmdlIGlzIHdyb25nLiBFbnN1cmluZyBjb3JyZWN0bmVz
cyB3b3VsZCByZXF1aXJlCiAgICAgICAgIC8vIFZpc2libGVQb3NpdGlvbnMgYW5kIHNvIHdvdWxk
IGJlIHNsb3cuIHByZXZpb3VzQm91bmRhcnkgZXhwZWN0cyB0aGlzLgogICAgICAgICBlbWl0Q2hh
cmFjdGVyKCdcbicsIG1fbm9kZSwgMCwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuaAppbmRleCA0OGFmYzdiY2VkMmFhZmJhNzM2ZDU0N2I0MjVlYzVkZTFiNTljODA5Li42OGQ4
MDEwZGQ1MTI0NmQwNzZmMGQ1ZWFhZDNiZTdmMTQ3Y2VmZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmgKQEAgLTI2MCw2ICsyNjAsOSBAQCBwcml2YXRlOgogCiAgICAgLy8g
VXNlZCB3aGVuIG1fc3RvcHNPbkZvcm1Db250cm9scyBpcyBzZXQgdG8gZGV0ZXJtaW5lIGlmIHRo
ZSBpdGVyYXRvciBzaG91bGQga2VlcCBhZHZhbmNpbmcuCiAgICAgYm9vbCBtX3Nob3VsZFN0b3A7
CisKKyAgICAvLyBVc2VkIGluIHBhc3RpbmcgaW5zaWRlIHBhc3N3b3JkIGZpZWxkLgorICAgIGJv
b2wgbV9lbWl0c09yaWdpbmFsVGV4dDsKIH07CiAKIC8vIEJ1aWxkcyBvbiB0aGUgdGV4dCBpdGVy
YXRvciwgYWRkaW5nIGEgY2hhcmFjdGVyIHBvc2l0aW9uIHNvIHdlIGNhbiB3YWxrIG9uZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBhM2Y3MjdjYTlkNmZjZDAxMTljZDgyNmFkZDZjZjRiZWFjNDUwMTAuLjNmMGFhZjQ1MjNi
NjZjMjAwYzgyZjA3YWYxYmRhOWFmZGRjYzhkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
My0wMy0xNCAgQXVyaW1hcyBMaXV0aWthcyAgPGF1cmltYXNAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFRleHRJdGVyYXRvciBlbWl0cyBMRiBmb3IgYSBiciBlbGVtZW50IGluc2lkZSBhbiBlbXB0
eSBpbnB1dCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTIyNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9iYXNpYy1pdGVyYXRpb24tZXhwZWN0ZWQu
dHh0OiBFeHRlbmRlZCB0byBhZGQgdHdvIG1vcmUgY2FzZXMuCisgICAgICAgICogZWRpdGluZy90
ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLXNoYWRv
d2RvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3RleHQtaXRlcmF0b3Ivc2NyaXB0
LXRlc3RzL2Jhc2ljLWl0ZXJhdGlvbi5qczogRXh0ZW5kZWQgdG8gYWRkIHR3byBtcm9lIGNhc2Vz
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAzLTEz
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCBy
ZXZpZXdlZDogY2hyb21pdW0gYmFzZWxpbmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLWV4cGVjdGVkLnR4dApp
bmRleCA2OTMxMmQ5ZDJmZTY0YzE3NDI3Y2M0ZGJhYmRlNThlZmE4MzJiNmNlLi5lMmU0MGYzY2M2
NzNhMTA5ZWMxODhiNzA2YTRjMWRmZWJiMmY3OGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMTQsNiArMTQsOCBAQCBGQUlMIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXN0
RG9jdW1lbnQuYm9keSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgcwogLgogUEFTUyBy
YW5nZS5zZWxlY3ROb2RlQ29udGVudHModGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFu
Z2VBc1RleHQocmFuZ2UpIGlzICJoZXkiCiBQQVNTIHJhbmdlLnNldFN0YXJ0QmVmb3JlKHRlc3RE
b2N1bWVudC5ib2R5KTsgcmFuZ2Uuc2V0RW5kQWZ0ZXIodGVzdERvY3VtZW50LmJvZHkpOyBpbnRl
cm5hbHMucmFuZ2VBc1RleHQocmFuZ2UpIGlzICJoZXkiCitQQVNTIHJhbmdlLnNlbGVjdE5vZGVD
b250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFu
Z2VBc1RleHQocmFuZ2UpIGlzICJiIgorUEFTUyBhcHBlbmRCckVsZW1lbnQoaW50ZXJuYWxzLm9s
ZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2RlQ29u
dGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdl
QXNUZXh0KHJhbmdlKSBpcyAiYiIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJh
dG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkzNjRhNTM2ODExMWU0MTFlZWEwMjY5NGYwMzM1YWI3NWIwZWM1MzcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFz
aWMtaXRlcmF0aW9uLXNoYWRvd2RvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVW5p
dCB0ZXN0cyBmb3IgV2ViQ29yZSB0ZXh0IGl0ZXJhdG9yIHdpdGggc2hhZG93IHRyZWUgc3VwcG9y
dCBlbmFibGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGFkZFNoYWRv
d1RyZWVXaXRoRGl2RWxlbWVudChkaXYpOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJu
YWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkg
aXMgImIiCitQQVNTIGFwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChk
aXYpLmNoaWxkTm9kZXNbMF0pOyByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9s
ZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGludGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSkgaXMgImJc
biIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMtaXRlcmF0
aW9uLXNoYWRvd2RvbS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jh
c2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTliZTlkODI3ZTgyMzg2
OTZjYmM4NTM3Y2Y5ZjE5Yzc0NTlkM2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2Jhc2ljLWl0ZXJhdGlvbi1zaGFkb3dkb20uaHRtbApAQCAt
MCwwICsxLDQ1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVz
dC1zZWxlY3Rpb24tc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVW5pdCB0ZXN0cyBmb3IgV2ViQ29yZSB0ZXh0IGl0ZXJhdG9yIHdpdGggc2hh
ZG93IHRyZWUgc3VwcG9ydCBlbmFibGVkJyk7CisKK3ZhciBzdWJmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdWJmcmFt
ZSk7CisKK2Z1bmN0aW9uIGFwcGVuZEJyRWxlbWVudChub2RlKQoreworICAgIG5vZGUuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7Cit9CisKK2Z1bmN0aW9uIGFkZFNo
YWRvd1RyZWVXaXRoRGl2RWxlbWVudChub2RlKQoreworICAgIG5vZGUud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOworICAgIGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KG5vZGUpLmlubmVySFRN
TCA9ICc8ZGl2PmI8L2Rpdj4nOworfQorCit2YXIgdGVzdERvY3VtZW50ID0gc3ViZnJhbWUuY29u
dGVudERvY3VtZW50OwordmFyIHJhbmdlID0gdGVzdERvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisK
K3ZhciBoZWFkID0gdGVzdERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKTsKK3Rlc3REb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKGhlYWQsIHRlc3REb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuZmlyc3RDaGlsZCk7CisKK3Rlc3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICc8ZGl2PmE8L2Rpdj4nOwordmFyIGRpdiA9IHRlc3REb2N1bWVudC5ib2R5LmNoaWxkTm9kZXNb
MF07CitzaG91bGRCZSgnYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50KGRpdik7IHJhbmdlLnNl
bGVjdE5vZGVDb250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpKTsgaW50ZXJu
YWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciYiInKTsKKworc2hvdWxkQmUoJ2FwcGVuZEJyRWxl
bWVudChpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkaXYpLmNoaWxkTm9kZXNbMF0pOyByYW5n
ZS5zZWxlY3ROb2RlQ29udGVudHMoaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoZGl2KSk7IGlu
dGVybmFscy5yYW5nZUFzVGV4dChyYW5nZSknLCAnImJcXG4iJyk7CisKK2RvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoc3ViZnJhbWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3RleHQtaXRlcmF0b3Ivc2NyaXB0LXRlc3RzL2Jhc2ljLWl0ZXJhdGlvbi5q
cyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMt
aXRlcmF0aW9uLmpzCmluZGV4IDRmNWU1ZmY2NDk2NmYzMDliZGY3MjhmZmIzMzRiM2JiMDBmYjZm
MGMuLmRjOTY0NmJhODVjZDU2OTgzNGY3ZGZmM2QxZWYzZmI5YWM4OGVkMjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQtdGVzdHMvYmFzaWMtaXRl
cmF0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdGV4dC1pdGVyYXRvci9zY3JpcHQt
dGVzdHMvYmFzaWMtaXRlcmF0aW9uLmpzCkBAIC0xLDUgKzEsMTYgQEAKIGRlc2NyaXB0aW9uKCdV
bml0IHRlc3RzIGZvciBXZWJDb3JlIHRleHQgaXRlcmF0b3InKTsKIAorZnVuY3Rpb24gYXBwZW5k
QnJFbGVtZW50KG5vZGUpCit7CisgICAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdicicpKTsKK30KKworZnVuY3Rpb24gYWRkU2hhZG93VHJlZVdpdGhEaXZFbGVtZW50
KG5vZGUpCit7CisgICAgbm9kZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgaW50ZXJu
YWxzLm9sZGVzdFNoYWRvd1Jvb3Qobm9kZSkuaW5uZXJIVE1MID0gJzxkaXY+YjwvZGl2Pic7Cit9
CisKIHZhciBzdWJmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdWJmcmFtZSk7CiAKQEAgLTMxLDYgKzQyLDEyIEBAIHRl
c3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJub3RlLXJ1bGUtdmVydGlj
YWwiIHN0eWxlPSJsZWZ0OjIycHgiCiBzaG91bGRCZSgncmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRz
KHRlc3REb2N1bWVudC5ib2R5KTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0KHJhbmdlKScsICciaGV5
IicpOwogc2hvdWxkQmUoJ3JhbmdlLnNldFN0YXJ0QmVmb3JlKHRlc3REb2N1bWVudC5ib2R5KTsg
cmFuZ2Uuc2V0RW5kQWZ0ZXIodGVzdERvY3VtZW50LmJvZHkpOyBpbnRlcm5hbHMucmFuZ2VBc1Rl
eHQocmFuZ2UpJywgJyJoZXkiJyk7CiAKK3Rlc3REb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8
aW5wdXQgaWQ9ImEiIHZhbHVlPSJiIiAvPic7Cit2YXIgaW5wdXQgPSB0ZXN0RG9jdW1lbnQucXVl
cnlTZWxlY3RvcignaW5wdXQnKTsKK3Nob3VsZEJlKCdyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
aW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpKTsgaW50ZXJuYWxzLnJhbmdlQXNUZXh0
KHJhbmdlKScsICciYiInKTsKKworc2hvdWxkQmUoJ2FwcGVuZEJyRWxlbWVudChpbnRlcm5hbHMu
b2xkZXN0U2hhZG93Um9vdChpbnB1dCkuY2hpbGROb2Rlc1swXSk7IHJhbmdlLnNlbGVjdE5vZGVD
b250ZW50cyhpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkpOyBpbnRlcm5hbHMucmFu
Z2VBc1RleHQocmFuZ2UpJywgJyJiIicpOworCiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHN1
YmZyYW1lKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhlMmMwNTcxMmUwMTczMWZmOWYzMDQy
ZmIxZjg1OGQ2YzNmMDQwMzkuLjg1NWI4YzkzMTRhYzBkZGViNWMyNmVmMzkyNTZjZTAxNDFhM2I0
OGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDgs
NiArNDQ4LDcgQEAgZmFzdC9kb20vc2hhZG93CiBlZGl0aW5nL3NoYWRvdwogaW5zcGVjdG9yL2Vs
ZW1lbnRzL3VwZGF0ZS1zaGFkb3dkb20uaHRtbAogYWNjZXNzaWJpbGl0eS9jb3JyZXNwb25kaW5n
LWNvbnRyb2wtZGVsZXRlZC1jcmFzaC5odG1sCitlZGl0aW5nL3RleHQtaXRlcmF0b3IvYmFzaWMt
aXRlcmF0aW9uLXNoYWRvd2RvbS5odG1sCiAKICMgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpIGlz
IGRpc2FibGVkLgogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>