<?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>79490</bug_id>
          
          <creation_ts>2012-02-24 08:04:14 -0800</creation_ts>
          <short_desc>Percent width/height SVG not always scaled on window resize</short_desc>
          <delta_ts>2012-03-01 04:31:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>79888</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Florin Malita">fmalita</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fmalita</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564330</commentid>
    <comment_count>0</comment_count>
      <attachid>128737</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-24 08:04:14 -0800</bug_when>
    <thetext>Created attachment 128737
SVG not scaling on window resize

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

In the attached sample the SVG element is 75%x75% of its container (a 100% absolute div). The initial layout/paint is correct, but resizing the browser window (say half the original width) clips the SVG root element instead of scaling it to fit its container.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564337</commentid>
    <comment_count>1</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-24 08:23:35 -0800</bug_when>
    <thetext>I tracked this down to a couple of problems:

* After the SVG/CSS width/height property separation, RenderReplaced::computePreferredLogicalWidths() no longer catches SVG percent widths; m_minPreferredLogicalWidth is set on the first layout and never reset again (even if the window is shrunk).

* For vertical-only resize, no layout is being triggered on the SVG root element as RenderBlock short-circuits the process. There is some infrastructure for making RenderBlock aware of percent-height descendants - I think we&apos;ll have to make use of it and register percent-height SVG elements as such.

I have a patch addressing these issues coming shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564464</commentid>
    <comment_count>2</comment_count>
      <attachid>128762</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-24 10:59:26 -0800</bug_when>
    <thetext>Created attachment 128762
Patch

First pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564902</commentid>
    <comment_count>3</comment_count>
      <attachid>128762</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-25 00:31:05 -0800</bug_when>
    <thetext>Comment on attachment 128762
Patch

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

Nice patch &amp; testcases - here are some suggestions/questions:

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1453
&gt; +    layoutPercentHeightDescendants();

Doesn&apos;t this cause changes for inline children of RenderBlocks in general? Are we doing unnecessary work for HTML? Is HTML maybe affected as well by this bug (inline percent height elements not reacting to size changes).

&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:195
&gt; +            containingBlock()-&gt;addPercentHeightDescendant(const_cast&lt;RenderSVGRoot*&gt;(this));

Excellent catch.

&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:288
&gt; +        RenderBlock::removePercentHeightDescendant(const_cast&lt;RenderSVGRoot*&gt;(this));

Hrm, I&apos;m slightly worried about this approach. What happens if the &lt;svg&gt; height attribute gets dynamically changed from a percentage to a non-perc value?
Grepping through rendering/, shows another callee of removePercentHeightDescendant: RenderBox::styleDidChange. It always deregisteres itself as percent-height descendant, based on the oldStyle information. The direct calls to oldStyle-&gt;logicalHeight().isPercent() have to be avoided. See below for an idea how to fix it:

&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:419
&gt; +

Hm, this feels hackish. How about changing RenderReplaced::computePreferredLogicalWidths() to avoid asking the style() whether its dimensions are relative. Changing
if (style()-&gt;width().isPercent() || style()-&gt;height().isPercent() || ....
    m_minPrefLogWidth = 0;
..

to

if (hasRelativeLogicalWidth(style()) || hasRelativeLogicalHeight(style())))
    m_minPrefLogWidth = 0;

and move style()-&gt;logicalWidth().isPercent() etc. checks into RenderBox::hasRelativeLogicalWidth/Height(RenderStyle*), mark it virtual and override it in RenderSVGRoot, to respect SVG width/height properties. It needs to be in RenderBox, so styleDidChange can use it as well.

if (oldStyle &amp;&amp; (oldStyle-&gt;logicalHeight().isPercent() ..
-&gt; if (oldStyle &amp;&amp; hasRelativeLogicalWidth(oldStyle)...

This should fix all issues I&apos;m having with it right now :-)

(If this shows hot in profiles, we can always refactor it to use non-virtual calls to a fastHasRelativeLogicalWidth/Height inline implementation right in RenderReplaced for non-SVG RenderReplaced objects to avoid both function call overhead &amp; virtual function call overhead)

&gt; LayoutTests/svg/custom/svg-percent-scale-expected.html:16
&gt; +    window.resizeTo(400, 300);

Oh my! I wasn&apos;t aware that this exists! In the past I always simulated that by enclosing the &lt;svg&gt; in a &lt;div&gt; and changing that &lt;div&gt;&apos;s width/height CSS property, to simulate a window resize -- hence I never ran into this bug!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565740</commentid>
    <comment_count>4</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-27 09:40:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1453
&gt; &gt; +    layoutPercentHeightDescendants();
&gt; 
&gt; Doesn&apos;t this cause changes for inline children of RenderBlocks in general? Are we doing unnecessary work for HTML? Is HTML maybe affected as well by this bug (inline percent height elements not reacting to size changes).

Good point. Based on my initial tracing, it seemed that this is needed to get percent height/width inline elements working. But thanks to your question I took another dive and realized that HTML inline percent elements work just fine (and without using the global percent-height descendant map) thanks to this little nugget I missed in RenderBlock::layoutInlineChildren():

  if (relayoutChildren || o-&gt;style()-&gt;width().isPercent() || o-&gt;style()-&gt;height().isPercent())
    o-&gt;setChildNeedsLayout(true, false);

We can refactor this to take advantage of your RenderBox::hasRelativeLogical{Height,Width} suggestion and then the whole percentHeightDescendantMap dance is no longer needed. It changes the HTML semantics slightly - testing max{Height,Width} &amp; min{Height,Width} for percent units also - but I think that should be the correct behavior.


&gt; Hm, this feels hackish. How about changing RenderReplaced::computePreferredLogicalWidths() to avoid asking the style() whether its dimensions are relative. Changing
&gt; if (style()-&gt;width().isPercent() || style()-&gt;height().isPercent() || ....
&gt;     m_minPrefLogWidth = 0;
&gt; ..
&gt; 
&gt; to
&gt; 
&gt; if (hasRelativeLogicalWidth(style()) || hasRelativeLogicalHeight(style())))
&gt;     m_minPrefLogWidth = 0;
&gt; 
&gt; and move style()-&gt;logicalWidth().isPercent() etc. checks into RenderBox::hasRelativeLogicalWidth/Height(RenderStyle*), mark it virtual and override it in RenderSVGRoot, to respect SVG width/height properties. It needs to be in RenderBox, so styleDidChange can use it as well.

Excellent suggestion. Now that I figured how to avoid messing with the percent height descendant map, this actually simplifies the patch quite a bit - thanks!


&gt; &gt; LayoutTests/svg/custom/svg-percent-scale-expected.html:16
&gt; &gt; +    window.resizeTo(400, 300);
&gt; 
&gt; Oh my! I wasn&apos;t aware that this exists! In the past I always simulated that by enclosing the &lt;svg&gt; in a &lt;div&gt; and changing that &lt;div&gt;&apos;s width/height CSS property, to simulate a window resize -- hence I never ran into this bug!

It&apos;s a bit confusing because current browsers don&apos;t observe it, but thankfully it works with NRWT :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565796</commentid>
    <comment_count>5</comment_count>
      <attachid>129066</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-27 10:35:14 -0800</bug_when>
    <thetext>Created attachment 129066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565865</commentid>
    <comment_count>6</comment_count>
      <attachid>129066</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-27 11:51:18 -0800</bug_when>
    <thetext>Comment on attachment 129066
Patch

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

Almost there, still some perf issues that should be resolved:

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1489
&gt; +                if (relayoutChildren || box-&gt;hasRelativeLogicalWidth() || box-&gt;hasRelativeLogicalHeight())

Hm, I think you can now merge these two methods. no place needs either width or height information, all callers need both width and height info.
To avoid doing two virtual calls, just use hasRelativeDimensions() - this way you can also omit the logical everywhere, as it won&apos;t matter.

Note: You&apos;re also changing HTML behavior here, which is probably a bug fix. maxWidth/maxHeight is now included in this check. Needs a testcase.

&gt; Source/WebCore/rendering/RenderBox.cpp:3967
&gt; +

One newline too much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565866</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-27 11:53:29 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1453
&gt; &gt; &gt; +    layoutPercentHeightDescendants();
&gt; &gt; 
&gt; &gt; Doesn&apos;t this cause changes for inline children of RenderBlocks in general? Are we doing unnecessary work for HTML? Is HTML maybe affected as well by this bug (inline percent height elements not reacting to size changes).
&gt; 
&gt; Good point. Based on my initial tracing, it seemed that this is needed to get percent height/width inline elements working. But thanks to your question I took another dive and realized that HTML inline percent elements work just fine (and without using the global percent-height descendant map) thanks to this little nugget I missed in RenderBlock::layoutInlineChildren():

Are there cases where we still need that map? Can you investigate again to construct a testcase for this? I feel we&apos;re still failing in some cases of the percentage calculations. (I&apos;d compare which HTML construct depends on the map, and see how it affects svg)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566109</commentid>
    <comment_count>8</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-27 16:41:32 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1489
&gt; &gt; +                if (relayoutChildren || box-&gt;hasRelativeLogicalWidth() || box-&gt;hasRelativeLogicalHeight())
&gt; 
&gt; Hm, I think you can now merge these two methods. no place needs either width or height information, all callers need both width and height info.
&gt; To avoid doing two virtual calls, just use hasRelativeDimensions() - this way you can also omit the logical everywhere, as it won&apos;t matter.

Done.


&gt; Note: You&apos;re also changing HTML behavior here, which is probably a bug fix. maxWidth/maxHeight is now included in this check. Needs a testcase.

Done.

&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:3967
&gt; &gt; +
&gt; 
&gt; One newline too much.

Done.

&gt; Are there cases where we still need that map? Can you investigate again to construct a testcase for this? I feel we&apos;re still failing in some cases of the percentage calculations. (I&apos;d compare which HTML construct depends on the map, and see how it affects svg)

Yup, looks like it breaks when anonymous blocks are inserted. I&apos;m updating the patch to walk the anonymous container block chain similarly to RenderBox::computeReplacedLogicalHeightUsing(), and register the percent height descendant. Also adding a vertical-only SVG resize test to cover this.

The cleanup gets a bit tricky because we&apos;re not hitting the usual styleDidChange() on SVG attribute changes. One place to handle it is in RenderSVGRoot::computeReplacedLogicalHeight(), same place where we&apos;re adding to the map: if the (new) height is a percent, add ourself to the anonymous parent(s) descendant map, if not remove ourself from said map. I think this should cover the height unit change just fine - the alternative would be to hook somewhere into SVGSVGElement&apos;s svgAttributeChange().

Updating patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566126</commentid>
    <comment_count>9</comment_count>
      <attachid>129134</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-27 16:57:12 -0800</bug_when>
    <thetext>Created attachment 129134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566250</commentid>
    <comment_count>10</comment_count>
      <attachid>129134</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 18:45:35 -0800</bug_when>
    <thetext>Comment on attachment 129134
Patch

Attachment 129134 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11640363</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566252</commentid>
    <comment_count>11</comment_count>
      <attachid>129134</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-27 18:52:33 -0800</bug_when>
    <thetext>Comment on attachment 129134
Patch

Attachment 129134 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11643339</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566288</commentid>
    <comment_count>12</comment_count>
      <attachid>129168</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-27 19:25:30 -0800</bug_when>
    <thetext>Created attachment 129168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566616</commentid>
    <comment_count>13</comment_count>
      <attachid>129168</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-28 06:46:03 -0800</bug_when>
    <thetext>Comment on attachment 129168
Patch

Wonderful patch, r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566681</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-28 07:59:17 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 129168:

perf/object-keys.html bug 63769 (author: ojan@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566683</commentid>
    <comment_count>15</comment_count>
      <attachid>129168</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-28 08:01:35 -0800</bug_when>
    <thetext>Comment on attachment 129168
Patch

Clearing flags on attachment: 129168

Committed r109104: &lt;http://trac.webkit.org/changeset/109104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566684</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-28 08:01:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567507</commentid>
    <comment_count>17</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-29 01:33:31 -0800</bug_when>
    <thetext>svg/custom/svg-percent-scale-vonly.html &amp; svg/custom/svg-percent-scale.html	both fail for me locally, when running pixel tests.
Bug 79888, that Ossy filed, also shows that the other fast/repaint test you&apos;ve added doesn&apos;t work as expected. I guess it&apos;s window.resizeTo which makes problems :(

Can you investigate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567576</commentid>
    <comment_count>18</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-29 07:03:32 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; I guess it&apos;s window.resizeTo which makes problems :(

Yup, looks like on some platforms resizeTo has no effect. Which is strange because I picked the idea from other (presumably working) tests...

&gt; Can you investigate?

Sure thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567781</commentid>
    <comment_count>19</comment_count>
      <attachid>129483</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-02-29 11:41:15 -0800</bug_when>
    <thetext>Created attachment 129483
Patch

Updated tests to use &lt;div&gt; resizing instead of window.resize{To,By}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568436</commentid>
    <comment_count>20</comment_count>
      <attachid>129483</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-01 00:38:41 -0800</bug_when>
    <thetext>Comment on attachment 129483
Patch

Looks great, thanks Florin! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568491</commentid>
    <comment_count>21</comment_count>
      <attachid>129483</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-01 02:24:18 -0800</bug_when>
    <thetext>Comment on attachment 129483
Patch

Rejecting attachment 129483 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/11779361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568550</commentid>
    <comment_count>22</comment_count>
      <attachid>129483</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-01 04:30:41 -0800</bug_when>
    <thetext>Comment on attachment 129483
Patch

Landed this patch manually, after verifying this indeed fixes the problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568551</commentid>
    <comment_count>23</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-01 04:31:33 -0800</bug_when>
    <thetext>Landed fix in r109334.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128737</attachid>
            <date>2012-02-24 08:04:14 -0800</date>
            <delta_ts>2012-02-24 08:04:14 -0800</delta_ts>
            <desc>SVG not scaling on window resize</desc>
            <filename>svg-percent-scale.html</filename>
            <type>text/html</type>
            <size>313</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAw
OyBvdmVyZmxvdzogaGlkZGVuOyI+Cgo8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAx
MDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij4KPHN2ZyB3aWR0aD0iNzUlIiBoZWlnaHQ9Ijc1JSIg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODAwIDYwMCI+
CiAgPHJlY3QgZmlsbD0iZ3JlZW4iIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L3JlY3Q+Cjwv
c3ZnPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128762</attachid>
            <date>2012-02-24 10:59:26 -0800</date>
            <delta_ts>2012-02-27 10:35:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79490-20120224135925.patch</filename>
            <type>text/plain</type>
            <size>14373</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmOWU0NjVkYzcwZjc1
OTllMzVkMWY3NWE3MTQ5OGY4MmZjNTNiYy4uZmViNzQ0NDQzZmQ1MDljNDQ4NDViM2U2MmVmNmY4
MDY2MzU3ZDk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTAyLTI0ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQgd2lkdGgv
aGVpZ2h0IFNWRyBub3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBzdmcvY3VzdG9tL3N2
Zy1wZXJjZW50LXNjYWxlLWV4cGVjdGVkLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20v
c3ZnLXBlcmNlbnQtc2NhbGUuaHRtbAorCisgICAgICAgIEZpeCBhIGNvdXBsZSBvZiBwcm9ibGVt
cyBwcmV2ZW50aW5nIGNvcnJlY3QgU1ZHIHNjYWxpbmcgb24gd2luZG93IHJlc2l6ZToKKworICAg
ICAgICAtIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBpcyBu
b3QgU1ZHIGF0dHJpYnV0ZSBhd2FyZSBhbmQgY29tcHV0ZXMKKyAgICAgICAgYSBub24temVybyBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCBldmVuIHdoZW4gdGhlIFNWRyB3aWRoL2hlaWdodCBh
cmUgcGVyY2VudGFnZXMuCisKKyAgICAgICAgLSBGb3IgdmVydGljYWwtb25seSByZXNpemUsIG5v
IGxheW91dCBpcyBwZXJmb3JtZWQgb24gdGhlIFNWRyByb290IGVsZW1lbnQgYmVjYXVzZSB0aGUK
KyAgICAgICAgY29udGFpbmluZyBSZW5kZXJCbG9jayBzaG9ydC1jaXJjdWl0cyB0aGUgcHJvY2Vz
cy4gVGhlIFNWRyBlbGVtZW50IG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQKKyAgICAgICAgYXMgYSBw
ZXJjZW50LWhlaWdodCBkZXNjZW5kYW50IGZvciBSZW5kZXJCbG9jayB0byBkbyB0aGUgcmlnaHQg
dGhpbmcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dEJsb2NrQ2hpbGRyZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmxheW91dFBlcmNlbnRIZWlnaHREZXNjZW5kYW50cyk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAg
ICAgKFJlbmRlckJsb2NrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5
b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGls
ZHJlbik6CisgICAgICAgIEV4dHJhY3QgdGhlIGxheW91dCBsb2dpYyBmb3IgcGVyY2VudC1oZWln
aHQgZGVzY2VuZGFudHMgaW50byBhIHNlcGFyYXRlIG1ldGhvZCB0byBiZSBjYWxsZWQKKyAgICAg
ICAgZnJvbSBib3RoIGxheW91dEJsb2NrQ2hpbGRyZW4oKSBhbmQgbGF5b3V0SW5saW5lQ2hpbGRy
ZW4oKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFJlbmRl
ckJveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaDoKKyAgICAg
ICAgKFJlbmRlclJlcGxhY2VkKToKKyAgICAgICAgQnVtcCBjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocygpJ3MgdmlzaWJpbGl0eSB0byBwcm90ZWN0ZWQgc28gaXQgY2FuIGJlIGludm9rZWQK
KyAgICAgICAgZnJvbSBSZW5kZXJTVkdSb290Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygpLgorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQp
OgorICAgICAgICBXaGVuIHRoZSBoZWlnaHQgdXNlcyBwZXJjZW50IHVuaXRzLCByZWdpc3RlciB0
aGUgU1ZHIGVsZW1lbnQgYXMgYSBwZXJjZW50LWhlaWdodCBkZXNjZW5kYW50CisgICAgICAgIG9m
IGl0cyBjb250YWluaW5nIGJsb2NrLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290
Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICBQZXJjZW50LWhlaWdodCBkZXNjZW5kYW50IGNs
ZWFudXAuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5oOgorICAgICAgICAoUmVuZGVyU1ZHUm9vdCk6CisgICAgICAg
IFJlc2V0IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoIHRvIDAgaWYgdGhlIHdpZHRoIGlzIHNw
ZWNpZmllZCBpbiBwZXJjZW50IHVuaXRzLgorCiAyMDEyLTAyLTI0ICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gQWxsb3cgdG8gdXNlIFdlYkNvcmUg
aW1hZ2VkZWNvZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5k
ZXggNDEzYzYwZWNlYmVmODMwYTc5YjQ5ZTMxOTU3Njk5ODVlN2NiOWM4Zi4uZDg4MmQ1ZGIxNGZk
MWNmOTgwZWZkMjIwZThhN2QyYmU3MmZlNzg3YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCkBAIC0yMTA0LDIzICsyMTA0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6
c2V0TG9naWNhbFRvcEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbG9naWNh
bFRvcCwKIAogdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2tDaGlsZHJlbihib29sIHJlbGF5
b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIG1heEZsb2F0TG9naWNhbEJvdHRvbSkKIHsKLSAgICBp
ZiAoZ1BlcmNlbnRIZWlnaHREZXNjZW5kYW50c01hcCkgewotICAgICAgICBpZiAoSGFzaFNldDxS
ZW5kZXJCb3gqPiogZGVzY2VuZGFudHMgPSBnUGVyY2VudEhlaWdodERlc2NlbmRhbnRzTWFwLT5n
ZXQodGhpcykpIHsKLSAgICAgICAgICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj46Oml0ZXJhdG9yIGVu
ZCA9IGRlc2NlbmRhbnRzLT5lbmQoKTsKLSAgICAgICAgICAgIGZvciAoSGFzaFNldDxSZW5kZXJC
b3gqPjo6aXRlcmF0b3IgaXQgPSBkZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSAqaXQ7Ci0gICAgICAgICAgICAg
ICAgd2hpbGUgKGJveCAhPSB0aGlzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChib3gtPm5v
cm1hbENoaWxkTmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgICAgICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2Up
OwotICAgICAgICAgICAgICAgICAgICBib3ggPSBib3gtPmNvbnRhaW5pbmdCbG9jaygpOwotICAg
ICAgICAgICAgICAgICAgICBBU1NFUlQoYm94KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFi
b3gpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9CisgICAgbGF5b3V0UGVyY2VudEhlaWdodERl
c2NlbmRhbnRzKCk7CiAKICAgICBMYXlvdXRVbml0IGJlZm9yZUVkZ2UgPSBib3JkZXJCZWZvcmUo
KSArIHBhZGRpbmdCZWZvcmUoKTsKICAgICBMYXlvdXRVbml0IGFmdGVyRWRnZSA9IGJvcmRlckFm
dGVyKCkgKyBwYWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKQEAgLTIz
MTcsNiArMjMwMSwyOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9ja0NoaWxkKFJlbmRl
ckJveCogY2hpbGQsIE1hcmdpbkluZm8mIG1hcmdpbkluZm8sIExheQogICAgIEFTU0VSVChvbGRM
YXlvdXREZWx0YSA9PSB2aWV3KCktPmxheW91dERlbHRhKCkpOwogfQogCit2b2lkIFJlbmRlckJs
b2NrOjpsYXlvdXRQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoKQoreworICAgIEhhc2hTZXQ8UmVu
ZGVyQm94Kj4qIGRlc2NlbmRhbnRzOworCisgICAgaWYgKCFnUGVyY2VudEhlaWdodERlc2NlbmRh
bnRzTWFwIHx8ICEoZGVzY2VuZGFudHMgPSBnUGVyY2VudEhlaWdodERlc2NlbmRhbnRzTWFwLT5n
ZXQodGhpcykpKQorICAgICAgICByZXR1cm47CisKKyAgICBIYXNoU2V0PFJlbmRlckJveCo+Ojpp
dGVyYXRvciBlbmQgPSBkZXNjZW5kYW50cy0+ZW5kKCk7CisgICAgZm9yIChIYXNoU2V0PFJlbmRl
ckJveCo+OjppdGVyYXRvciBpdCA9IGRlc2NlbmRhbnRzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsr
aXQpIHsKKyAgICAgICAgUmVuZGVyQm94KiBib3ggPSAqaXQ7CisgICAgICAgIHdoaWxlIChib3gg
IT0gdGhpcykgeworICAgICAgICAgICAgaWYgKGJveC0+bm9ybWFsQ2hpbGROZWVkc0xheW91dCgp
KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgYm94LT5zZXRDaGlsZE5lZWRz
TGF5b3V0KHRydWUsIGZhbHNlKTsKKyAgICAgICAgICAgIGJveCA9IGJveC0+Y29udGFpbmluZ0Js
b2NrKCk7CisgICAgICAgICAgICBBU1NFUlQoYm94KTsKKyAgICAgICAgICAgIGlmICghYm94KQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIFJlbmRl
ckJsb2NrOjpzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCiB7CiAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggODk5
NmRhNWVmM2FmZDBjNTFkZDVjMjhlNTY4MmY5NDZmZjgxYTg1YS4uNjkxMTk5ZmJkNzJhNTNkYTBj
MGMwMGZlMTY3M2FmOTYwNjBjYWVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKQEAgLTExMzEsNiArMTEzMSw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8g
VXNlZCB0byBzdG9yZSBzdGF0ZSBiZXR3ZWVuIHN0eWxlV2lsbENoYW5nZSBhbmQgc3R5bGVEaWRD
aGFuZ2UKICAgICBzdGF0aWMgYm9vbCBzX2NhblByb3BhZ2F0ZUZsb2F0SW50b1NpYmxpbmc7CisK
KyAgICB2b2lkIGxheW91dFBlcmNlbnRIZWlnaHREZXNjZW5kYW50cygpOwogfTsKIAogaW5saW5l
IFJlbmRlckJsb2NrKiB0b1JlbmRlckJsb2NrKFJlbmRlck9iamVjdCogb2JqZWN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRl
eCA0N2I2MzI0NjRjNzE1MTAxZmVhZDE5MWJkMjgzYzBmNjkzMmI3ODFkLi5mNDY4MzMyYTBmZjM2
MTI1ODdlMGEwZDUyOWNkMDIwZmFiMjhmN2M2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMTQ0OCw2ICsxNDQ4LDExIEBA
IHZvaWQgUmVuZGVyQmxvY2s6OnJlcGFpbnREaXJ0eUZsb2F0cyhWZWN0b3I8RmxvYXRXaXRoUmVj
dD4mIGZsb2F0cykKIAogdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYm9v
bCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaW50TG9naWNhbFRvcCwgTGF5b3V0
VW5pdCYgcmVwYWludExvZ2ljYWxCb3R0b20pCiB7CisjaWYgRU5BQkxFKFNWRykKKyAgICAvLyBJ
bmxpbmUgU1ZHIHBlcmNlbnQtaGVpZ2h0IGRlc2NlbmRhbnRzLgorICAgIGxheW91dFBlcmNlbnRI
ZWlnaHREZXNjZW5kYW50cygpOworI2VuZGlmCisKICAgICBtX292ZXJmbG93LmNsZWFyKCk7CiAK
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KGJvcmRlckJlZm9yZSgpICsgcGFkZGluZ0JlZm9yZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAzMWVjMzlhMjAzN2MwMDY1ZTgw
ZDhiYWE3YjM1YzQwYjYyYjBlNmEyLi42NzFkYWUyYWUzMzA1NTc1ODQzYTRmZjQ0NjExOTNmYzE4
MGYwNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00NzksNiArNDc5
LDExIEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgcGFpbnRSb290Qm94RmlsbExheWVycyhjb25z
dCBQYWludEluZm8mKTsKIAorICAgIC8vIFRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgbWlu
aW11bSBhbmQgbWF4aW11bSBwcmVmZXJyZWQgd2lkdGhzIGZvciBhbiBvYmplY3QuCisgICAgLy8g
VGhlc2UgdmFsdWVzIGFyZSB1c2VkIGluIHNocmluay10by1maXQgbGF5b3V0IHN5c3RlbXMuCisg
ICAgLy8gVGhlc2UgaW5jbHVkZSB0YWJsZXMsIHBvc2l0aW9uZWQgb2JqZWN0cywgZmxvYXRzIGFu
ZCBmbGV4aWJsZSBib3hlcy4KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoKSB7IHNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7IH0KKwog
cHJpdmF0ZToKICAgICBib29sIGZpeGVkRWxlbWVudExheXNPdXRSZWxhdGl2ZVRvRnJhbWUoRnJh
bWUqLCBGcmFtZVZpZXcqKSBjb25zdDsKIApAQCAtNTA1LDExICs1MTAsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0UmVwbGFjZWQoKTsKICAgICB2
b2lkIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoUmVwbGFjZWQoKTsKIAotICAgIC8vIFRo
aXMgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBwcmVmZXJyZWQg
d2lkdGhzIGZvciBhbiBvYmplY3QuCi0gICAgLy8gVGhlc2UgdmFsdWVzIGFyZSB1c2VkIGluIHNo
cmluay10by1maXQgbGF5b3V0IHN5c3RlbXMuCi0gICAgLy8gVGhlc2UgaW5jbHVkZSB0YWJsZXMs
IHBvc2l0aW9uZWQgb2JqZWN0cywgZmxvYXRzIGFuZCBmbGV4aWJsZSBib3hlcy4KLSAgICB2aXJ0
dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSB7IHNldFByZWZlcnJlZExv
Z2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7IH0KLQogcHJpdmF0ZToKICAgICAvLyBUaGUgd2lkdGgv
aGVpZ2h0IG9mIHRoZSBjb250ZW50cyArIGJvcmRlcnMgKyBwYWRkaW5nLiAgVGhlIHgveSBsb2Nh
dGlvbiBpcyByZWxhdGl2ZSB0byBvdXIgY29udGFpbmVyICh3aGljaCBpcyBub3QgYWx3YXlzIG91
ciBwYXJlbnQpLgogICAgIExheW91dFJlY3QgbV9mcmFtZVJlY3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCmluZGV4IDFjNmViYmMxNDlkMmUzMjk2ZTMyOGU4NTRm
MTM3YThiOGExMDA1MjIuLjg5N2JlMWM1NDAwOWJlNTlhZDljNmM3OGE4ODc0ZThmZjAwZTRiODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC02MSw2ICs2
MSw4IEBAIHByb3RlY3RlZDoKICAgICBib29sIHNob3VsZFBhaW50KFBhaW50SW5mbyYsIGNvbnN0
IExheW91dFBvaW50Jik7CiAgICAgSW50UmVjdCBsb2NhbFNlbGVjdGlvblJlY3QoYm9vbCBjaGVj
a1doZXRoZXJTZWxlY3RlZCA9IHRydWUpIGNvbnN0OyAvLyBUaGlzIGlzIGluIGxvY2FsIGNvb3Jk
aW5hdGVzLCBidXQgaXQncyBhIHBoeXNpY2FsIHJlY3QgKHNvIHRoZSB0b3AgbGVmdCBjb3JuZXIg
aXMgcGh5c2ljYWwgdG9wIGxlZnQpLgogCisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKCk7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBSZW5kZXJCb3gqIGVt
YmVkZGVkQ29udGVudEJveCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICBpbnQgY29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aChSZW5kZXJCb3gqIGNvbnRlbnRSZW5kZXJlciwgYm9vbCBpbmNs
dWRlTWF4V2lkdGgpIGNvbnN0OwpAQCAtNzAsOCArNzIsNiBAQCBwcml2YXRlOgogCiAgICAgdmly
dHVhbCBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKLQogICAgIGlu
dCBjYWxjQXNwZWN0UmF0aW9Mb2dpY2FsV2lkdGgoKSBjb25zdDsKICAgICBpbnQgY2FsY0FzcGVj
dFJhdGlvTG9naWNhbEhlaWdodCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCA3YmFhNGZjMzgwODhmMzI5MzQzN2Y5ZWU4
NTM1ZmI4ODY0NjdmNjc2Li4zNDM4YWIzOTFkZDUzOTRkMzc5YjQzMjlhMmRhNzdkMzgzZTZjN2Rm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAK
QEAgLTE4OCw4ICsxODgsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVw
bGFjZWRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICBpZiAoaGFzUmVwbGFjZWRMb2dpY2FsSGVp
Z2h0KCkpCiAgICAgICAgIHJldHVybiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9n
aWNhbEhlaWdodCgpOwogCi0gICAgaWYgKHN2Zy0+aGVpZ2h0QXR0cmlidXRlRXN0YWJsaXNoZXNW
aWV3cG9ydCgpKQotICAgICAgICByZXR1cm4gcmVzb2x2ZUxlbmd0aEF0dHJpYnV0ZUZvclNWRyhz
dmctPmludHJpbnNpY0hlaWdodChTVkdTVkdFbGVtZW50OjpJZ25vcmVDU1NQcm9wZXJ0aWVzKSwg
c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpLCBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9n
aWNhbEhlaWdodCgpKTsKKyAgICBpZiAoc3ZnLT5oZWlnaHRBdHRyaWJ1dGVFc3RhYmxpc2hlc1Zp
ZXdwb3J0KCkpIHsKKyAgICAgICAgTGVuZ3RoIGhlaWdodCA9IHN2Zy0+aW50cmluc2ljSGVpZ2h0
KFNWR1NWR0VsZW1lbnQ6Oklnbm9yZUNTU1Byb3BlcnRpZXMpOworICAgICAgICBpZiAoaGVpZ2h0
LmlzUGVyY2VudCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrKCkpOwor
ICAgICAgICAgICAgY29udGFpbmluZ0Jsb2NrKCktPmFkZFBlcmNlbnRIZWlnaHREZXNjZW5kYW50
KGNvbnN0X2Nhc3Q8UmVuZGVyU1ZHUm9vdCo+KHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAg
IHJldHVybiByZXNvbHZlTGVuZ3RoQXR0cmlidXRlRm9yU1ZHKGhlaWdodCwgc3R5bGUoKS0+ZWZm
ZWN0aXZlWm9vbSgpLCBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbEhlaWdodCgp
KTsKKyAgICB9CiAKICAgICAvLyBPbmx5IFNWR3MgZW1iZWRkZWQgaW4gPG9iamVjdD4gcmVhY2gg
dGhpcyBwb2ludC4KICAgICBBU1NFUlQoaXNFbWJlZGRlZFRocm91Z2hGcmFtZUNvbnRhaW5pbmdT
VkdEb2N1bWVudCgpKTsKQEAgLTI3NSw2ICsyODIsMTEgQEAgdm9pZCBSZW5kZXJTVkdSb290Ojpw
YWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgYWRq
dXMKIAogdm9pZCBSZW5kZXJTVkdSb290Ojp3aWxsQmVEZXN0cm95ZWQoKQogeworICAgIFNWR1NW
R0VsZW1lbnQqIHN2ZyA9IHN0YXRpY19jYXN0PFNWR1NWR0VsZW1lbnQqPihub2RlKCkpOworICAg
IEFTU0VSVChzdmcpOworICAgIGlmIChzdmctPmhlaWdodEF0dHJpYnV0ZUVzdGFibGlzaGVzVmll
d3BvcnQoKSAmJiBzdmctPmludHJpbnNpY0hlaWdodChTVkdTVkdFbGVtZW50OjpJZ25vcmVDU1NQ
cm9wZXJ0aWVzKS5pc1BlcmNlbnQoKSkKKyAgICAgICAgUmVuZGVyQmxvY2s6OnJlbW92ZVBlcmNl
bnRIZWlnaHREZXNjZW5kYW50KGNvbnN0X2Nhc3Q8UmVuZGVyU1ZHUm9vdCo+KHRoaXMpKTsKKwog
ICAgIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnREZXN0cm95ZWQodGhpcyk7CiAgICAgUmVuZGVy
UmVwbGFjZWQ6OndpbGxCZURlc3Ryb3llZCgpOwogfQpAQCAtNDAxLDYgKzQxMywxOCBAQCBib29s
IFJlbmRlclNWR1Jvb3Q6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0
LCBIaXRUZXN0UmVzdWx0JiByZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBSZW5kZXJT
VkdSb290Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCit7CisgICAgUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CisKKyAgICAvLyBSZW5kZXJS
ZXBsYWNlZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMgaXMgbm90IGF3YXJlIG9mIFNW
RyBhdHRyaWJ1dGVzLAorICAgIC8vIHNvIHdlIG92ZXJ3cml0ZSBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCBpZiB1c2luZyBwZXJjZW50IGRpbWVuc2lvbnMgaGVyZS4KKyAgICBTVkdTVkdFbGVt
ZW50KiBzdmcgPSBzdGF0aWNfY2FzdDxTVkdTVkdFbGVtZW50Kj4obm9kZSgpKTsKKyAgICBBU1NF
UlQoc3ZnKTsKKyAgICBpZiAoc3ZnLT53aWR0aCgpLnVuaXRUeXBlKCkgPT0gTGVuZ3RoVHlwZVBl
cmNlbnRhZ2UpCisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKK30KKwog
fQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSb290LmgKaW5kZXggNzAxMTM3ZjQ0NDBhZjI0YjlmNWRjNzk4ODI4MTBiYjlh
Nzk3ZWZjZC4uZjQyMTJlNGQwNDY2NDk3NjgwZGEzM2VmMWUwYWMwODliOWI2YWI1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKQEAgLTkxLDYgKzkx
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZUNhY2hlZEJvdW5kYXJpZXMoKTsKICAgICB2
b2lkIGJ1aWxkTG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybSgpOwogCisgICAgdmlydHVhbCB2b2lk
IGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CisKICAgICBSZW5kZXJPYmplY3RDaGls
ZExpc3QgbV9jaGlsZHJlbjsKICAgICBJbnRTaXplIG1fY29udGFpbmVyU2l6ZTsKICAgICBGbG9h
dFJlY3QgbV9vYmplY3RCb3VuZGluZ0JveDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjM2OTg2NDNkY2ZkMDZiMjJmZjdl
NTA3MTI0ZTFjNDMwMTg0MzQ5Li42ZTk3YmFhY2Y3NzZhNWYwNTM4NTAwYWMzYWZkMGU5NWM5NzFl
Y2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjQgIEZsb3JpbiBNYWxpdGEgIDxm
bWFsaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUGVyY2VudCB3aWR0aC9oZWlnaHQgU1ZHIG5v
dCBhbHdheXMgc2NhbGVkIG9uIHdpbmRvdyByZXNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2Nh
bGUuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMjQgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGVzdHMgZm9yIHNob3dNb2RhbERpYWxvZyBuZWVkIHRv
IGFzayBmb3IgcGVybWlzc2lvbiB0byBvcGVuIHdpbmRvd3MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NDYxODkzN2I5ODU4Y2FhZjBmODE2YTUyYWUwZTU4MWY0MzIyZGY4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVy
ZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPgorPHN2ZyB3aWR0
aD0iMjAwIiBoZWlnaHQ9IjE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4K
KyAgPHJlY3QgZmlsbD0iZ3JlZW4iIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz4KKzwvc3Zn
PgorPC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAgIHdp
bmRvdy5yZXNpemVUbyg0MDAsIDMwMCk7CisgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBmZDJkNjA0OTQ0YWMwMDY1YzRhMDA4YTQ3ODZkYWU4ZTU5OGFmZTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLmh0bWwK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93
OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorCis8ZGl2IHN0eWxlPSJ3aWR0
aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij4KKzwhLS0gQWZ0ZXIg
d2luZG93IHJlc2l6aW5nLCB0aGlzIFNWRyBlbGVtZW50IHNob3VsZCBub3QgYmUgdmlzaWJsZSAt
LT4KKzxzdmcgd2lkdGg9IjUwJSIgaGVpZ2h0PSI1MCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDgwMCA2MDAiPgorICA8cmVjdCBmaWxsPSJyZWQiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L3JlY3Q+Cis8L3N2Zz4KKzwvZGl2PgorCis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij4KKzxz
dmcgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyI+CisgIDxyZWN0IGZpbGw9ImdyZWVuIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+
Cis8L3N2Zz4KKzwvZGl2PgorCis8c2NyaXB0PgorICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsK
KyAgICB3aW5kb3cucmVzaXplVG8oNDAwLCAzMDApOworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129066</attachid>
            <date>2012-02-27 10:35:14 -0800</date>
            <delta_ts>2012-02-27 16:57:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79490-20120227133512.patch</filename>
            <type>text/plain</type>
            <size>9724</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNjYzk5YjEzOGI1NzI2
Mjc3MTE4NWUzY2MwZDFiYWY4OGRlZGQ1Yy4uODliYjIzYmEzN2JlMzE0NjNiZjFjMjkyM2NjN2E0
MzYxYjkxYWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTAyLTI3ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQgd2lkdGgv
aGVpZ2h0IFNWRyBub3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBzdmcvY3VzdG9tL3N2
Zy1wZXJjZW50LXNjYWxlLWV4cGVjdGVkLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20v
c3ZnLXBlcmNlbnQtc2NhbGUuaHRtbAorCisgICAgICAgIEZpeCBhIGNvdXBsZSBvZiBwcm9ibGVt
cyBwcmV2ZW50aW5nIGNvcnJlY3QgU1ZHIHNjYWxpbmcgb24gd2luZG93IHJlc2l6ZToKKworICAg
ICAgICAtIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBpcyBu
b3QgU1ZHIGF0dHJpYnV0ZSBhd2FyZSBhbmQgY29tcHV0ZXMKKyAgICAgICAgYSBub24temVybyBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCBldmVuIHdoZW4gdGhlIFNWRyB3aWRoL2hlaWdodCBh
cmUgcGVyY2VudGFnZXMuCisKKyAgICAgICAgLSBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hp
bGRyZW4gaXMgYWxzbyBub3QgU1ZHIGF0dHJpYnV0ZSBhd2FyZSBhbmQgZG9lcyBub3QgdHJpZ2dl
cgorICAgICAgICBwZXJjZW50IGhlaWdodCBjaGlsZCBsYXlvdXRzIG9uIHZlcnRpY2FsLW9ubHkg
cmVzaXplcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKToK
KyAgICAgICAgVXNlIHZpcnR1YWwgaGFzUmVsYXRpdmVMb2dpY2Fse0hlaWdodCxXaWR0aH0gaW5z
dGVhZCBvZiBkaXJlY3Qgd2lkdGgvaGVpZ2h0LT5pc1BlcmNlbnQgdGVzdHMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
aGFzUmVsYXRpdmVMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjpoYXNSZWxhdGl2ZUxvZ2ljYWxXaWR0aCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgQWRk
IHZpcnR1YWwgaGFzUmVsYXRpdmVMb2dpY2FsSGVpZ2h0ICYgaGFzUmVsYXRpdmVMb2dpY2FsV2lk
dGggbWV0aG9kcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMpOgorICAgICAgICBVc2UgdmlydHVhbCBoYXNSZWxhdGl2ZUxvZ2ljYWx7SGVpZ2h0LFdp
ZHRofSBpbnN0ZWFkIG9mIGRpcmVjdCB3aWR0aC9oZWlnaHQtPmlzUGVyY2VudCB0ZXN0cy4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSb290OjpoYXNSZWxhdGl2ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpoYXNSZWxhdGl2ZUxv
Z2ljYWxXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6Cisg
ICAgICAgIChSZW5kZXJTVkdSb290KToKKyAgICAgICAgU1ZHLWF3YXJlIGhhc1JlbGF0aXZlTG9n
aWNhbHtIZWlnaHQsV2lkdGh9IG92ZXJyaWRlLgorCiAyMDEyLTAyLTI3ICBJbHlhIFRpa2hvbm92
c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHNpbmdsZSBs
aW5lIGZpeCBmb3IgcjEwODk4My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggMjk2Y2IwNmMwOTgwYjg4ZGFiZmY2ODFmM2E5
NmE4ODdiMjg4ZjY3OC4uZjg3OTc2NjlkNzk5Mzg3ZWNjYmFlYWRiNmZmYjgwZDY5MzNmMWJhMyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAKQEAgLTE0ODYsNyArMTQ4Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwYWluCiAgICAg
ICAgICAgICBpZiAoby0+aXNSZXBsYWNlZCgpIHx8IG8tPmlzRmxvYXRpbmcoKSB8fCBvLT5pc1Bv
c2l0aW9uZWQoKSkgewogICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJC
b3gobyk7CiAKLSAgICAgICAgICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCBvLT5zdHls
ZSgpLT53aWR0aCgpLmlzUGVyY2VudCgpIHx8IG8tPnN0eWxlKCktPmhlaWdodCgpLmlzUGVyY2Vu
dCgpKQorICAgICAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IGJveC0+aGFzUmVs
YXRpdmVMb2dpY2FsV2lkdGgoKSB8fCBib3gtPmhhc1JlbGF0aXZlTG9naWNhbEhlaWdodCgpKQog
ICAgICAgICAgICAgICAgICAgICBvLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIGZhbHNlKTsK
IAogICAgICAgICAgICAgICAgIC8vIElmIHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFuZCB0aGUg
Y2hpbGQgaGFzIHBlcmNlbnRhZ2UgcGFkZGluZyBvciBhbiBlbWJlZGRlZCBjb250ZW50IGJveCwg
d2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkcyBwcmVmIHdpZHRocy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZDQzOWU3ODg3NTMwNDc5ZmU3MWJh
Mzc1OWNiOGI3ZDc1ZmRmMjQ5Yy4uMjU2MDFhMmNiZDdlZDZjOWUwMTYzOTNmM2UwNjIzNTM1MTgy
NjdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTM5NjAsNCAr
Mzk2MCwxNSBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uT2Zmc2V0KCkg
Y29uc3QKICAgICByZXR1cm4gTGF5b3V0U2l6ZShyZWN0LngoKSwgcmVjdC55KCkpOwogfQogCiti
b29sIFJlbmRlckJveDo6aGFzUmVsYXRpdmVMb2dpY2FsSGVpZ2h0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc3R5bGUoKS0+aGVpZ2h0KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS0+bWF4SGVpZ2h0
KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS0+bWluSGVpZ2h0KCkuaXNQZXJjZW50KCk7Cit9CisK
KworYm9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlTG9naWNhbFdpZHRoKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gc3R5bGUoKS0+d2lkdGgoKS5pc1BlcmNlbnQoKSB8fCBzdHlsZSgpLT5tYXhXaWR0
aCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPm1pbldpZHRoKCkuaXNQZXJjZW50KCk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApp
bmRleCAzMWVjMzlhMjAzN2MwMDY1ZTgwZDhiYWE3YjM1YzQwYjYyYjBlNmEyLi41MzM5NzYyYjNj
YmY0Yzk0OTdlODFmNzYwM2IwMzllODMxYzIyYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCkBAIC00NDksNiArNDQ5LDkgQEAgcHVibGljOgogCiAgICAgSW50U2l6ZSBzY3Jv
bGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2
ZUxvZ2ljYWxIZWlnaHQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVMb2dp
Y2FsV2lkdGgoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVE
ZXN0cm95ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKaW5kZXggNmJkYjE4MzFjNzExMGJmZTYxYzM0YmQxNDU4OTk2ZDdmODU0YTA5My4uNDMyYjdl
ZmY5NWEwYWUwYzFmOWQwMjI5YjdlZWY0Yjc4OTQ2MGNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00NDAsOSArNDQwLDcgQEAgdm9pZCBSZW5k
ZXJSZXBsYWNlZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGlmIChzdHls
ZSgpLT5tYXhXaWR0aCgpLmlzRml4ZWQoKSkKICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBtaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIHN0eWxlKCktPm1heFdpZHRo
KCkudmFsdWUoKSArIChzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IGJvcmRl
ckFuZFBhZGRpbmcgOiB6ZXJvTGF5b3V0VW5pdCkpOwogCi0gICAgaWYgKHN0eWxlKCktPndpZHRo
KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS0+aGVpZ2h0KCkuaXNQZXJjZW50KCkKLSAgICAgICAg
fHwgc3R5bGUoKS0+bWF4V2lkdGgoKS5pc1BlcmNlbnQoKSB8fCBzdHlsZSgpLT5tYXhIZWlnaHQo
KS5pc1BlcmNlbnQoKQotICAgICAgICB8fCBzdHlsZSgpLT5taW5XaWR0aCgpLmlzUGVyY2VudCgp
IHx8IHN0eWxlKCktPm1pbkhlaWdodCgpLmlzUGVyY2VudCgpKQorICAgIGlmIChoYXNSZWxhdGl2
ZUxvZ2ljYWxXaWR0aCgpIHx8IGhhc1JlbGF0aXZlTG9naWNhbEhlaWdodCgpKQogICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IDA7CiAgICAgZWxzZQogICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggZTY1YmRj
NjNlYmRjNWYyZjA0NzQ0NTRhZTJhMzAyMjg0N2I1NWUxZi4uNDdmN2E3MDcyYWJjODVlZTZhZGFl
NThkOWZkMDZlNTNlYTRlMDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jvb3QuY3BwCkBAIC00MDEsNiArNDAxLDIyIEBAIGJvb2wgUmVuZGVyU1ZHUm9v
dDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1
bHQmIHJlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFJlbmRlclNWR1Jvb3Q6Omhhc1Jl
bGF0aXZlTG9naWNhbEhlaWdodCgpIGNvbnN0Cit7CisgICAgU1ZHU1ZHRWxlbWVudCogc3ZnID0g
c3RhdGljX2Nhc3Q8U1ZHU1ZHRWxlbWVudCo+KG5vZGUoKSk7CisgICAgQVNTRVJUKHN2Zyk7CisK
KyAgICByZXR1cm4gc3ZnLT5pbnRyaW5zaWNIZWlnaHQoU1ZHU1ZHRWxlbWVudDo6SWdub3JlQ1NT
UHJvcGVydGllcykuaXNQZXJjZW50KCk7Cit9CisKK2Jvb2wgUmVuZGVyU1ZHUm9vdDo6aGFzUmVs
YXRpdmVMb2dpY2FsV2lkdGgoKSBjb25zdAoreworICAgIFNWR1NWR0VsZW1lbnQqIHN2ZyA9IHN0
YXRpY19jYXN0PFNWR1NWR0VsZW1lbnQqPihub2RlKCkpOworICAgIEFTU0VSVChzdmcpOworCisg
ICAgcmV0dXJuIHN2Zy0+aW50cmluc2ljV2lkdGgoU1ZHU1ZHRWxlbWVudDo6SWdub3JlQ1NTUHJv
cGVydGllcykuaXNQZXJjZW50KCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4IDcwMTEz
N2Y0NDQwYWYyNGI5ZjVkYzc5ODgyODEwYmI5YTc5N2VmY2QuLjA1YzExZWY1ZDgwNzY2ZDM3ODYw
Njg1ZDNiZTY5N2FiNGRlYWJkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5oCkBAIC01Myw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICBJbnRTaXplIGNv
bnRhaW5lclNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5lclNpemU7IH0KICAgICB2b2lk
IHNldENvbnRhaW5lclNpemUoY29uc3QgSW50U2l6ZSYgY29udGFpbmVyU2l6ZSkgeyBtX2NvbnRh
aW5lclNpemUgPSBjb250YWluZXJTaXplOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRp
dmVMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlTG9n
aWNhbFdpZHRoKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3RD
aGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgY29u
c3QgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQyOTU2YTVmOGE2MWQzNGIyMGE2M2E0
OGYxZDA0OTM5NDMxNzVkZWMuLmJhNDdkY2IzZjIyZTdlMzcxNjY3MmRmNmQzMWEyMDIwYmZlYTJj
Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yNyAgRmxvcmluIE1hbGl0YSAgPGZt
YWxpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBQZXJjZW50IHdpZHRoL2hlaWdodCBTVkcgbm90
IGFsd2F5cyBzY2FsZWQgb24gd2luZG93IHJlc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2Fs
ZS5odG1sOiBBZGRlZC4KKwogMjAxMi0wMi0yNyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBTa2lwIG9uZSBtb3JlIGNyYXNoaW5nIHRl
c3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxl
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxl
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ2MTg5MzdiOTg1OGNhYWYwZjgxNmE1MmFlMGU1
ODFmNDMyMmRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXBlcmNlbnQtc2NhbGUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9yZXBhaW50L3Jl
c291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgc3R5bGU9Im1h
cmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiIG9ubG9hZD0icnVuUmVwYWlu
dFRlc3QoKSI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlv
bjogYWJzb2x1dGU7Ij4KKzxzdmcgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxNTAiIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgIDxyZWN0IGZpbGw9ImdyZWVuIiB3aWR0aD0iMTAw
JSIgaGVpZ2h0PSIxMDAlIi8+Cis8L3N2Zz4KKzwvZGl2PgorCis8c2NyaXB0PgorICBmdW5jdGlv
biByZXBhaW50VGVzdCgpIHsKKyAgICB3aW5kb3cucmVzaXplVG8oNDAwLCAzMDApOworICB9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXBlcmNlbnQtc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZmQyZDYwNDk0NGFjMDA2NWM0YTAwOGE0
Nzg2ZGFlOGU1OThhZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zdmctcGVyY2VudC1zY2FsZS5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3Vy
Y2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVz
dCgpIj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246
IGFic29sdXRlOyI+Cis8IS0tIEFmdGVyIHdpbmRvdyByZXNpemluZywgdGhpcyBTVkcgZWxlbWVu
dCBzaG91bGQgbm90IGJlIHZpc2libGUgLS0+Cis8c3ZnIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAl
IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNjAw
Ij4KKyAgPHJlY3QgZmlsbD0icmVkIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9yZWN0Pgor
PC9zdmc+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsg
cG9zaXRpb246IGFic29sdXRlOyI+Cis8c3ZnIHdpZHRoPSIyMDAiIGhlaWdodD0iMTUwIiB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICA8cmVjdCBmaWxsPSJncmVlbiIgd2lk
dGg9IjEwMCUiIGhlaWdodD0iMTAwJSIvPgorPC9zdmc+Cis8L2Rpdj4KKworPHNjcmlwdD4KKyAg
ZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CisgICAgd2luZG93LnJlc2l6ZVRvKDQwMCwgMzAwKTsK
KyAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129134</attachid>
            <date>2012-02-27 16:57:12 -0800</date>
            <delta_ts>2012-02-27 19:25:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79490-20120227195711.patch</filename>
            <type>text/plain</type>
            <size>15352</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNjYzk5YjEzOGI1NzI2
Mjc3MTE4NWUzY2MwZDFiYWY4OGRlZGQ1Yy4uNzViZDg4YWQ4NDVjMjFjYjQ1OTIxZjE1NWNjMDJm
NzMxNzdkNzUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAyLTI3ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQgd2lkdGgv
aGVpZ2h0IFNWRyBub3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQv
cGVyY2VudC1taW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvcmVwYWludC9wZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbAorICAgICAgICAgICAgICAg
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAg
ICBzdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLXZvbmx5LWV4cGVjdGVkLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbAorICAgICAg
ICAgICAgICAgc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5odG1sCisKKyAgICAgICAgRml4
IGEgY291cGxlIG9mIHByb2JsZW1zIHByZXZlbnRpbmcgY29ycmVjdCBTVkcgc2NhbGluZyBvbiB3
aW5kb3cgcmVzaXplOgorCisgICAgICAgIC0gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzIGlzIG5vdCBTVkcgYXR0cmlidXRlIGF3YXJlIGFuZCBjb21wdXRlcwor
ICAgICAgICBhIG5vbi16ZXJvIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoIGV2ZW4gd2hlbiB0
aGUgU1ZHIHdpZGgvaGVpZ2h0IGFyZSBwZXJjZW50YWdlcy4KKworICAgICAgICAtIFJlbmRlckJs
b2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbiBpcyBhbHNvIG5vdCBTVkcgYXR0cmlidXRlIGF3YXJl
IGFuZCBkb2VzIG5vdCB0cmlnZ2VyCisgICAgICAgIHBlcmNlbnQgaGVpZ2h0IGNoaWxkIGxheW91
dHMgb24gdmVydGljYWwtb25seSByZXNpemVzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAgICBVc2UgaGFzUmVsYXRpdmVEaW1lbnNpb25zKCkg
aW5zdGVhZCBvZiBkaXJlY3Qgd2lkdGgvaGVpZ2h0LT5pc1BlcmNlbnQgdGVzdHMuIFRoaXMgYWxz
byBmaXhlcworICAgICAgICBhbiBIVE1MIGlzc3VlIHdoZXJlIHBlcmNlbnQge21pbixtYXh9SGVp
Z2h0IGlubGluZSBlbGVtZW50cyBhcmUgbm90IHVwZGF0ZWQgb24gdmVydGljYWwtb25seSByZXNp
emVzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChSZW5kZXJCb3gp
OgorICAgICAgICBBZGQgdmlydHVhbCBoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBtZXRob2QuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAg
ICAgVXNlIGhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGluc3RlYWQgb2YgZGlyZWN0IHdpZHRoL2hl
aWdodC0+aXNQZXJjZW50IHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBs
YWNlZExvZ2ljYWxIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6d2ls
bEJlRGVzdHJveWVkKToKKyAgICAgICAgUmVnaXN0ZXIgcGVyY2VudC1oZWlnaHQgU1ZHIGVsZW1l
bnRzIHdpdGggdGhlIGdQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHNNYXAsIGFuZCBjbGVhbi11cCBv
biBkZXN0cnVjdGlvbgorICAgICAgICBvciBoZWlnaHQgdW5pdCBjaGFuZ2UuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6Omhhc1JlbGF0aXZlRGltZW5zaW9ucyk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaDoKKyAg
ICAgICAgKFJlbmRlclNWR1Jvb3QpOgorICAgICAgICBTVkctYXdhcmUgaGFzUmVsYXRpdmVEaW1l
bnNpb25zKCkgb3ZlcnJpZGUuCisKIDIwMTItMDItMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgc2luZ2xlIGxpbmUgZml4IGZv
ciByMTA4OTgzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAppbmRleCAyOTZjYjA2YzA5ODBiODhkYWJmZjY4MWYzYTk2YTg4N2IyODhm
Njc4Li45ZGY5ZjYxODE3MWU2MWVmNTA2MzA2ZGI2NDYyMmYwZTkwMjM5MjBjIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAt
MTQ4Niw3ICsxNDg2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4o
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaW4KICAgICAgICAgICAgIGlm
IChvLT5pc1JlcGxhY2VkKCkgfHwgby0+aXNGbG9hdGluZygpIHx8IG8tPmlzUG9zaXRpb25lZCgp
KSB7CiAgICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChvKTsKIAot
ICAgICAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IG8tPnN0eWxlKCktPndpZHRo
KCkuaXNQZXJjZW50KCkgfHwgby0+c3R5bGUoKS0+aGVpZ2h0KCkuaXNQZXJjZW50KCkpCisgICAg
ICAgICAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgYm94LT5oYXNSZWxhdGl2ZURpbWVu
c2lvbnMoKSkKICAgICAgICAgICAgICAgICAgICAgby0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVl
LCBmYWxzZSk7CiAKICAgICAgICAgICAgICAgICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNl
dCBhbmQgdGhlIGNoaWxkIGhhcyBwZXJjZW50YWdlIHBhZGRpbmcgb3IgYW4gZW1iZWRkZWQgY29u
dGVudCBib3gsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZHMgcHJlZiB3aWR0
aHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGQ0MzllNzg4NzUz
MDQ3OWZlNzFiYTM3NTljYjhiN2Q3NWZkZjI0OWMuLjcyMzBiZDY3N2U0MjJmZmQwYmQ5Y2M5MmE3
YzFhNGQ5YTY4NDhjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC0zOTYwLDQgKzM5NjAsMTEgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OnRvcExlZnRMb2NhdGlv
bk9mZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIExheW91dFNpemUocmVjdC54KCksIHJlY3QueSgp
KTsKIH0KIAorYm9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHN0eWxlKCktPmhlaWdodCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPndp
ZHRoKCkuaXNQZXJjZW50KCkKKyAgICAgICAgICAgIHx8IHN0eWxlKCktPm1heEhlaWdodCgpLmlz
UGVyY2VudCgpIHx8IHN0eWxlKCktPm1heFdpZHRoKCkuaXNQZXJjZW50KCkKKyAgICAgICAgICAg
IHx8IHN0eWxlKCktPm1pbkhlaWdodCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPm1pbldpZHRo
KCkuaXNQZXJjZW50KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAzMWVjMzlhMjAzN2MwMDY1ZTgwZDhiYWE3YjM1YzQw
YjYyYjBlNmEyLi5lMjNiNWQyNmU2N2ViMGM1NTg1ZjNhYjM2MWYzZTc4MTdkYTRmZGI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00NDksNiArNDQ5LDggQEAgcHVibGlj
OgogCiAgICAgSW50U2l6ZSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKIAorICAgIHZp
cnR1YWwgYm9vbCBoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNmJkYjE4MzFjNzExMGJmZTYxYzM0YmQx
NDU4OTk2ZDdmODU0YTA5My4uMzYwOGEwN2ZlZTUzYWY1NmJlOWM0OWNlZWVlNzQ4NDA5MzI1MTFj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00
NDAsOSArNDQwLDcgQEAgdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoKQogICAgIGlmIChzdHlsZSgpLT5tYXhXaWR0aCgpLmlzRml4ZWQoKSkKICAgICAg
ICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtaW4obV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIHN0eWxlKCktPm1heFdpZHRoKCkudmFsdWUoKSArIChzdHlsZSgpLT5ib3hTaXppbmco
KSA9PSBDT05URU5UX0JPWCA/IGJvcmRlckFuZFBhZGRpbmcgOiB6ZXJvTGF5b3V0VW5pdCkpOwog
Ci0gICAgaWYgKHN0eWxlKCktPndpZHRoKCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS0+aGVpZ2h0
KCkuaXNQZXJjZW50KCkKLSAgICAgICAgfHwgc3R5bGUoKS0+bWF4V2lkdGgoKS5pc1BlcmNlbnQo
KSB8fCBzdHlsZSgpLT5tYXhIZWlnaHQoKS5pc1BlcmNlbnQoKQotICAgICAgICB8fCBzdHlsZSgp
LT5taW5XaWR0aCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPm1pbkhlaWdodCgpLmlzUGVyY2Vu
dCgpKQorICAgIGlmIChoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSkKICAgICAgICAgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSAwOwogICAgIGVsc2UKICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGU2NWJkYzYzZWJkYzVm
MmYwNDc0NDU0YWUyYTMwMjI4NDdiNTVlMWYuLjA0YjNhM2U3ZGViMjQyMjQxMDQ0ZGQxYzQyMDg2
Y2QwMDA5ZTU0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcApAQCAtMTg4LDggKzE4OCwyMCBAQCBMYXlvdXRVbml0IFJlbmRlclNWR1Jvb3Q6
OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogICAgIGlmIChoYXNSZXBsYWNl
ZExvZ2ljYWxIZWlnaHQoKSkKICAgICAgICAgcmV0dXJuIFJlbmRlclJlcGxhY2VkOjpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCk7CiAKLSAgICBpZiAoc3ZnLT5oZWlnaHRBdHRyaWJ1dGVF
c3RhYmxpc2hlc1ZpZXdwb3J0KCkpCi0gICAgICAgIHJldHVybiByZXNvbHZlTGVuZ3RoQXR0cmli
dXRlRm9yU1ZHKHN2Zy0+aW50cmluc2ljSGVpZ2h0KFNWR1NWR0VsZW1lbnQ6Oklnbm9yZUNTU1By
b3BlcnRpZXMpLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCksIGNvbnRhaW5pbmdCbG9jaygpLT5h
dmFpbGFibGVMb2dpY2FsSGVpZ2h0KCkpOworICAgIGlmIChzdmctPmhlaWdodEF0dHJpYnV0ZUVz
dGFibGlzaGVzVmlld3BvcnQoKSkgeworICAgICAgICBMZW5ndGggaGVpZ2h0ID0gc3ZnLT5pbnRy
aW5zaWNIZWlnaHQoU1ZHU1ZHRWxlbWVudDo6SWdub3JlQ1NTUHJvcGVydGllcyk7CisgICAgICAg
IGlmIChoZWlnaHQuaXNQZXJjZW50KCkpIHsKKyAgICAgICAgICAgIFJlbmRlckJsb2NrKiBjYiA9
IGNvbnRhaW5pbmdCbG9jaygpOworICAgICAgICAgICAgQVNTRVJUKGNiKTsKKyAgICAgICAgICAg
IHdoaWxlIChjYi0+aXNBbm9ueW1vdXMoKSkgeworICAgICAgICAgICAgICAgIGNiID0gY2ItPmNv
bnRhaW5pbmdCbG9jaygpOworICAgICAgICAgICAgICAgIGNiLT5hZGRQZXJjZW50SGVpZ2h0RGVz
Y2VuZGFudChjb25zdF9jYXN0PFJlbmRlclNWR1Jvb3QqPih0aGlzKSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgUmVuZGVyQmxvY2s6OnJlbW92ZVBlcmNlbnRI
ZWlnaHREZXNjZW5kYW50KGNvbnN0X2Nhc3Q8UmVuZGVyU1ZHUm9vdCo+KHRoaXMpKTsKKworICAg
ICAgICByZXR1cm4gcmVzb2x2ZUxlbmd0aEF0dHJpYnV0ZUZvclNWRyhoZWlnaHQsIHN0eWxlKCkt
PmVmZmVjdGl2ZVpvb20oKSwgY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxIZWln
aHQoKSk7CisgICAgfQogCiAgICAgLy8gT25seSBTVkdzIGVtYmVkZGVkIGluIDxvYmplY3Q+IHJl
YWNoIHRoaXMgcG9pbnQuCiAgICAgQVNTRVJUKGlzRW1iZWRkZWRUaHJvdWdoRnJhbWVDb250YWlu
aW5nU1ZHRG9jdW1lbnQoKSk7CkBAIC0yNzUsNiArMjg3LDEwIEBAIHZvaWQgUmVuZGVyU1ZHUm9v
dDo6cGFpbnRSZXBsYWNlZChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IGFkanVzCiAKIHZvaWQgUmVuZGVyU1ZHUm9vdDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKKyAgICBT
VkdTVkdFbGVtZW50KiBzdmcgPSBzdGF0aWNfY2FzdDxTVkdTVkdFbGVtZW50Kj4obm9kZSgpKTsK
KyAgICBBU1NFUlQoc3ZnKTsKKyAgICBSZW5kZXJCbG9jazo6cmVtb3ZlUGVyY2VudEhlaWdodERl
c2NlbmRhbnQoY29uc3RfY2FzdDxSZW5kZXJTVkdSb290Kj4odGhpcykpOworCiAgICAgU1ZHUmVz
b3VyY2VzQ2FjaGU6OmNsaWVudERlc3Ryb3llZCh0aGlzKTsKICAgICBSZW5kZXJSZXBsYWNlZDo6
d2lsbEJlRGVzdHJveWVkKCk7CiB9CkBAIC00MDEsNiArNDE3LDE0IEBAIGJvb2wgUmVuZGVyU1ZH
Um9vdDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFJlbmRlclNWR1Jvb3Q6Omhh
c1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0Cit7CisgICAgU1ZHU1ZHRWxlbWVudCogc3ZnID0g
c3RhdGljX2Nhc3Q8U1ZHU1ZHRWxlbWVudCo+KG5vZGUoKSk7CisgICAgQVNTRVJUKHN2Zyk7CisK
KyAgICByZXR1cm4gc3ZnLT5pbnRyaW5zaWNIZWlnaHQoU1ZHU1ZHRWxlbWVudDo6SWdub3JlQ1NT
UHJvcGVydGllcykuaXNQZXJjZW50KCkgfHwgc3ZnLT5pbnRyaW5zaWNXaWR0aChTVkdTVkdFbGVt
ZW50OjpJZ25vcmVDU1NQcm9wZXJ0aWVzKS5pc1BlcmNlbnQoKTsKK30KKwogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290LmgKaW5kZXggNzAxMTM3ZjQ0NDBhZjI0YjlmNWRjNzk4ODI4MTBiYjlhNzk3ZWZjZC4uYWRj
MTg4NGU0YTYyNDE5Zjc3YWZmN2IwYjRhNjgyYzdlMTk2YTRmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKQEAgLTUzLDYgKzUzLDggQEAgcHVibGlj
OgogICAgIEludFNpemUgY29udGFpbmVyU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGFpbmVy
U2l6ZTsgfQogICAgIHZvaWQgc2V0Q29udGFpbmVyU2l6ZShjb25zdCBJbnRTaXplJiBjb250YWlu
ZXJTaXplKSB7IG1fY29udGFpbmVyU2l6ZSA9IGNvbnRhaW5lclNpemU7IH0KIAorICAgIHZpcnR1
YWwgYm9vbCBoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgeyByZXR1cm4g
Y2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2
aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbigpOyB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDI5
NTZhNWY4YTYxZDM0YjIwYTYzYTQ4ZjFkMDQ5Mzk0MzE3NWRlYy4uZTYyNTgzMDgxZTE4MTI2ODY4
OWEyZGU1ZTdmMDg4OTg0OWRkZTBiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTI3
ICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQg
d2lkdGgvaGVpZ2h0IFNWRyBub3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZXBhaW50
L3BlcmNlbnQtbWluaGVpZ2h0LXJlc2l6ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLXZvbmx5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUuaHRt
bDogQWRkZWQuCisKIDIwMTItMDItMjcgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gU2tpcCBvbmUgbW9yZSBjcmFzaGluZyB0ZXN0Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3BlcmNlbnQtbWluaGVpZ2h0LXJl
c2l6ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3BlcmNlbnQtbWlu
aGVpZ2h0LXJlc2l6ZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YTY5YmEwOTFmN2ZkZWIz
ZTA5MmQwYjg0OWRkMjBiMWQ3MWIwMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgc3R5bGU9
Im1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiIG9ubG9hZD0icnVuUmVw
YWludFRlc3QoKSI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij48L2Rpdj4KKworPHNj
cmlwdD4KKyAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CisgICAgd2luZG93LnJlc2l6ZUJ5KDAs
IC13aW5kb3cuaW5uZXJIZWlnaHQgLyAyKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWln
aHQtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWln
aHQtcmVzaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEyNTI1OTU3YTdhYzBmZGRmN2IwOTc5MmZmM2Zm
MGM5ODc0YzZiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9w
ZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlcGFpbnQuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAw
OyBvdmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKzxkaXYgc3R5
bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPgorICA8
IS0tIEFmdGVyIHdpbmRvdyByZXNpemluZywgdGhpcyBESVYgZWxlbWVudCBzaG91bGQgbm90IGJl
IHZpc2libGUgLS0+CisgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgbWluLWhlaWdodDogMzMl
OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IGRpc3BsYXk6IGlubGluZS1ibG9jazsiPjwvZGl2Pgor
PC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPjwvZGl2PgorCis8c2NyaXB0
PgorICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICB3aW5kb3cucmVzaXplQnkoMCwgLXdp
bmRvdy5pbm5lckhlaWdodCAvIDIpOworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjNmMjlmODUyZjNlMjIyZWVlZjk3ZDVjOWRjZmU4ODQx
MThjODc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVy
Y2VudC1zY2FsZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3Vy
Y2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVz
dCgpIj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsiPgorPHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjE1MCIgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIj4KKyAgPHJlY3QgZmlsbD0iZ3JlZW4iIHdpZHRoPSIxMDAlIiBo
ZWlnaHQ9IjEwMCUiLz4KKzwvc3ZnPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJl
cGFpbnRUZXN0KCkgeworICAgIHdpbmRvdy5yZXNpemVUbyh3aW5kb3cuaW5uZXJXaWR0aCAvIDIs
IHdpbmRvdy5pbm5lckhlaWdodCAvIDIpOworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUt
dm9ubHktZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQt
c2NhbGUtdm9ubHktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTMwN2NlOWI2NTA2M2FjZDQ3
M2ZmM2NmZWMyZGFlYjMwMTkxMjU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyIg
b25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVp
Z2h0OiAxMDBweDsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsi
PjwvZGl2PgorCis8c2NyaXB0PgorICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICB3aW5k
b3cucmVzaXplQnkoMCwgLXdpbmRvdy5pbm5lckhlaWdodCAvIDIpOworICB9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBl
cmNlbnQtc2NhbGUtdm9ubHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2VmZjI3MzM3NWZjY2U2ZTcyZmFh
ZTgzZGE2ZGVkODBlYjQwY2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFp
bnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHls
ZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5S
ZXBhaW50VGVzdCgpIj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsg
cG9zaXRpb246IGFic29sdXRlOyBhbGlnbjogbGVmdDsiPgorPCEtLSBBZnRlciB2ZXJ0aWNhbCB3
aW5kb3cgcmVzaXppbmcsIHRoaXMgU1ZHIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIC0t
PgorPHN2ZyB3aWR0aD0iNTAlIiBoZWlnaHQ9IjEwMCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDgwMCA2MDAiPgorICA8cmVjdCBmaWxsPSJyZWQiIHdp
ZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48L3JlY3Q+Cis8L3N2Zz4KKworPCEtLSBmb3JjZSBhbiBh
bm9ueW1vdXMgYmxvY2sgY3JlYXRpb24gdG8gZXhlcmNpc2UgdGhlIHBlcmNlbnQtaGVpZ2h0IGRl
c2NlbmRhbnRzIG1hcCAtLT4KKzxkaXY+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOyI+PC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0
KCkgeworICAgIHdpbmRvdy5yZXNpemVCeSgwLCAtd2luZG93LmlubmVySGVpZ2h0IC8gMik7Cisg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zdmctcGVyY2VudC1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExMGRlMDAwODNhMWFlNTM4MDc1
YzVhYzEwZGU4ZDY4NDZmMDcyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9y
ZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IHN0eWxlPSJt
YXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFp
bnRUZXN0KCkiPgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3Np
dGlvbjogYWJzb2x1dGU7Ij4KKzwhLS0gQWZ0ZXIgd2luZG93IHJlc2l6aW5nLCB0aGlzIFNWRyBl
bGVtZW50IHNob3VsZCBub3QgYmUgdmlzaWJsZSAtLT4KKzxzdmcgd2lkdGg9IjUwJSIgaGVpZ2h0
PSI1MCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDgw
MCA2MDAiPgorICA8cmVjdCBmaWxsPSJyZWQiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L3Jl
Y3Q+Cis8L3N2Zz4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAx
MDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij4KKzxzdmcgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxNTAi
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgIDxyZWN0IGZpbGw9ImdyZWVu
IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+Cis8L3N2Zz4KKzwvZGl2PgorCis8c2NyaXB0
PgorICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICB3aW5kb3cucmVzaXplVG8od2luZG93
LmlubmVyV2lkdGggLyAyLCB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyKTsKKyAgfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129168</attachid>
            <date>2012-02-27 19:25:30 -0800</date>
            <delta_ts>2012-02-29 11:41:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79490-20120227222529.patch</filename>
            <type>text/plain</type>
            <size>15270</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNjYzk5YjEzOGI1NzI2
Mjc3MTE4NWUzY2MwZDFiYWY4OGRlZGQ1Yy4uNzViZDg4YWQ4NDVjMjFjYjQ1OTIxZjE1NWNjMDJm
NzMxNzdkNzUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAyLTI3ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQgd2lkdGgv
aGVpZ2h0IFNWRyBub3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQv
cGVyY2VudC1taW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvcmVwYWludC9wZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbAorICAgICAgICAgICAgICAg
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAg
ICBzdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLXZvbmx5LWV4cGVjdGVkLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbAorICAgICAg
ICAgICAgICAgc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5odG1sCisKKyAgICAgICAgRml4
IGEgY291cGxlIG9mIHByb2JsZW1zIHByZXZlbnRpbmcgY29ycmVjdCBTVkcgc2NhbGluZyBvbiB3
aW5kb3cgcmVzaXplOgorCisgICAgICAgIC0gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzIGlzIG5vdCBTVkcgYXR0cmlidXRlIGF3YXJlIGFuZCBjb21wdXRlcwor
ICAgICAgICBhIG5vbi16ZXJvIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoIGV2ZW4gd2hlbiB0
aGUgU1ZHIHdpZGgvaGVpZ2h0IGFyZSBwZXJjZW50YWdlcy4KKworICAgICAgICAtIFJlbmRlckJs
b2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbiBpcyBhbHNvIG5vdCBTVkcgYXR0cmlidXRlIGF3YXJl
IGFuZCBkb2VzIG5vdCB0cmlnZ2VyCisgICAgICAgIHBlcmNlbnQgaGVpZ2h0IGNoaWxkIGxheW91
dHMgb24gdmVydGljYWwtb25seSByZXNpemVzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAgICBVc2UgaGFzUmVsYXRpdmVEaW1lbnNpb25zKCkg
aW5zdGVhZCBvZiBkaXJlY3Qgd2lkdGgvaGVpZ2h0LT5pc1BlcmNlbnQgdGVzdHMuIFRoaXMgYWxz
byBmaXhlcworICAgICAgICBhbiBIVE1MIGlzc3VlIHdoZXJlIHBlcmNlbnQge21pbixtYXh9SGVp
Z2h0IGlubGluZSBlbGVtZW50cyBhcmUgbm90IHVwZGF0ZWQgb24gdmVydGljYWwtb25seSByZXNp
emVzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChSZW5kZXJCb3gp
OgorICAgICAgICBBZGQgdmlydHVhbCBoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBtZXRob2QuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAg
ICAgVXNlIGhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGluc3RlYWQgb2YgZGlyZWN0IHdpZHRoL2hl
aWdodC0+aXNQZXJjZW50IHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBs
YWNlZExvZ2ljYWxIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6d2ls
bEJlRGVzdHJveWVkKToKKyAgICAgICAgUmVnaXN0ZXIgcGVyY2VudC1oZWlnaHQgU1ZHIGVsZW1l
bnRzIHdpdGggdGhlIGdQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHNNYXAsIGFuZCBjbGVhbi11cCBv
biBkZXN0cnVjdGlvbgorICAgICAgICBvciBoZWlnaHQgdW5pdCBjaGFuZ2UuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6Omhhc1JlbGF0aXZlRGltZW5zaW9ucyk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaDoKKyAg
ICAgICAgKFJlbmRlclNWR1Jvb3QpOgorICAgICAgICBTVkctYXdhcmUgaGFzUmVsYXRpdmVEaW1l
bnNpb25zKCkgb3ZlcnJpZGUuCisKIDIwMTItMDItMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgc2luZ2xlIGxpbmUgZml4IGZv
ciByMTA4OTgzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAppbmRleCAyOTZjYjA2YzA5ODBiODhkYWJmZjY4MWYzYTk2YTg4N2IyODhm
Njc4Li45ZGY5ZjYxODE3MWU2MWVmNTA2MzA2ZGI2NDYyMmYwZTkwMjM5MjBjIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAt
MTQ4Niw3ICsxNDg2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4o
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaW4KICAgICAgICAgICAgIGlm
IChvLT5pc1JlcGxhY2VkKCkgfHwgby0+aXNGbG9hdGluZygpIHx8IG8tPmlzUG9zaXRpb25lZCgp
KSB7CiAgICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChvKTsKIAot
ICAgICAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IG8tPnN0eWxlKCktPndpZHRo
KCkuaXNQZXJjZW50KCkgfHwgby0+c3R5bGUoKS0+aGVpZ2h0KCkuaXNQZXJjZW50KCkpCisgICAg
ICAgICAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgYm94LT5oYXNSZWxhdGl2ZURpbWVu
c2lvbnMoKSkKICAgICAgICAgICAgICAgICAgICAgby0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVl
LCBmYWxzZSk7CiAKICAgICAgICAgICAgICAgICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNl
dCBhbmQgdGhlIGNoaWxkIGhhcyBwZXJjZW50YWdlIHBhZGRpbmcgb3IgYW4gZW1iZWRkZWQgY29u
dGVudCBib3gsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZHMgcHJlZiB3aWR0
aHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGQ0MzllNzg4NzUz
MDQ3OWZlNzFiYTM3NTljYjhiN2Q3NWZkZjI0OWMuLjcyMzBiZDY3N2U0MjJmZmQwYmQ5Y2M5MmE3
YzFhNGQ5YTY4NDhjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC0zOTYwLDQgKzM5NjAsMTEgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OnRvcExlZnRMb2NhdGlv
bk9mZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIExheW91dFNpemUocmVjdC54KCksIHJlY3QueSgp
KTsKIH0KIAorYm9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHN0eWxlKCktPmhlaWdodCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPndp
ZHRoKCkuaXNQZXJjZW50KCkKKyAgICAgICAgICAgIHx8IHN0eWxlKCktPm1heEhlaWdodCgpLmlz
UGVyY2VudCgpIHx8IHN0eWxlKCktPm1heFdpZHRoKCkuaXNQZXJjZW50KCkKKyAgICAgICAgICAg
IHx8IHN0eWxlKCktPm1pbkhlaWdodCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPm1pbldpZHRo
KCkuaXNQZXJjZW50KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAzMWVjMzlhMjAzN2MwMDY1ZTgwZDhiYWE3YjM1YzQw
YjYyYjBlNmEyLi5lMjNiNWQyNmU2N2ViMGM1NTg1ZjNhYjM2MWYzZTc4MTdkYTRmZGI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00NDksNiArNDQ5LDggQEAgcHVibGlj
OgogCiAgICAgSW50U2l6ZSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKIAorICAgIHZp
cnR1YWwgYm9vbCBoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNmJkYjE4MzFjNzExMGJmZTYxYzM0YmQx
NDU4OTk2ZDdmODU0YTA5My4uMzYwOGEwN2ZlZTUzYWY1NmJlOWM0OWNlZWVlNzQ4NDA5MzI1MTFj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00
NDAsOSArNDQwLDcgQEAgdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoKQogICAgIGlmIChzdHlsZSgpLT5tYXhXaWR0aCgpLmlzRml4ZWQoKSkKICAgICAg
ICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtaW4obV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIHN0eWxlKCktPm1heFdpZHRoKCkudmFsdWUoKSArIChzdHlsZSgpLT5ib3hTaXppbmco
KSA9PSBDT05URU5UX0JPWCA/IGJvcmRlckFuZFBhZGRpbmcgOiB6ZXJvTGF5b3V0VW5pdCkpOwog
Ci0gICAgaWYgKHN0eWxlKCktPndpZHRoKCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS0+aGVpZ2h0
KCkuaXNQZXJjZW50KCkKLSAgICAgICAgfHwgc3R5bGUoKS0+bWF4V2lkdGgoKS5pc1BlcmNlbnQo
KSB8fCBzdHlsZSgpLT5tYXhIZWlnaHQoKS5pc1BlcmNlbnQoKQotICAgICAgICB8fCBzdHlsZSgp
LT5taW5XaWR0aCgpLmlzUGVyY2VudCgpIHx8IHN0eWxlKCktPm1pbkhlaWdodCgpLmlzUGVyY2Vu
dCgpKQorICAgIGlmIChoYXNSZWxhdGl2ZURpbWVuc2lvbnMoKSkKICAgICAgICAgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSAwOwogICAgIGVsc2UKICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGU2NWJkYzYzZWJkYzVm
MmYwNDc0NDU0YWUyYTMwMjI4NDdiNTVlMWYuLjkwZjc5YmFlYzAxZWRmYmI3NDA5NTg5Zjg2M2U5
YzVmYWRhNWU3NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcApAQCAtMTg4LDggKzE4OCwyMCBAQCBMYXlvdXRVbml0IFJlbmRlclNWR1Jvb3Q6
OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogICAgIGlmIChoYXNSZXBsYWNl
ZExvZ2ljYWxIZWlnaHQoKSkKICAgICAgICAgcmV0dXJuIFJlbmRlclJlcGxhY2VkOjpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCk7CiAKLSAgICBpZiAoc3ZnLT5oZWlnaHRBdHRyaWJ1dGVF
c3RhYmxpc2hlc1ZpZXdwb3J0KCkpCi0gICAgICAgIHJldHVybiByZXNvbHZlTGVuZ3RoQXR0cmli
dXRlRm9yU1ZHKHN2Zy0+aW50cmluc2ljSGVpZ2h0KFNWR1NWR0VsZW1lbnQ6Oklnbm9yZUNTU1By
b3BlcnRpZXMpLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCksIGNvbnRhaW5pbmdCbG9jaygpLT5h
dmFpbGFibGVMb2dpY2FsSGVpZ2h0KCkpOworICAgIGlmIChzdmctPmhlaWdodEF0dHJpYnV0ZUVz
dGFibGlzaGVzVmlld3BvcnQoKSkgeworICAgICAgICBMZW5ndGggaGVpZ2h0ID0gc3ZnLT5pbnRy
aW5zaWNIZWlnaHQoU1ZHU1ZHRWxlbWVudDo6SWdub3JlQ1NTUHJvcGVydGllcyk7CisgICAgICAg
IGlmIChoZWlnaHQuaXNQZXJjZW50KCkpIHsKKyAgICAgICAgICAgIFJlbmRlckJsb2NrKiBjYiA9
IGNvbnRhaW5pbmdCbG9jaygpOworICAgICAgICAgICAgQVNTRVJUKGNiKTsKKyAgICAgICAgICAg
IHdoaWxlIChjYi0+aXNBbm9ueW1vdXMoKSkgeworICAgICAgICAgICAgICAgIGNiID0gY2ItPmNv
bnRhaW5pbmdCbG9jaygpOworICAgICAgICAgICAgICAgIGNiLT5hZGRQZXJjZW50SGVpZ2h0RGVz
Y2VuZGFudChjb25zdF9jYXN0PFJlbmRlclNWR1Jvb3QqPih0aGlzKSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgUmVuZGVyQmxvY2s6OnJlbW92ZVBlcmNlbnRI
ZWlnaHREZXNjZW5kYW50KGNvbnN0X2Nhc3Q8UmVuZGVyU1ZHUm9vdCo+KHRoaXMpKTsKKworICAg
ICAgICByZXR1cm4gcmVzb2x2ZUxlbmd0aEF0dHJpYnV0ZUZvclNWRyhoZWlnaHQsIHN0eWxlKCkt
PmVmZmVjdGl2ZVpvb20oKSwgY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxIZWln
aHQoKSk7CisgICAgfQogCiAgICAgLy8gT25seSBTVkdzIGVtYmVkZGVkIGluIDxvYmplY3Q+IHJl
YWNoIHRoaXMgcG9pbnQuCiAgICAgQVNTRVJUKGlzRW1iZWRkZWRUaHJvdWdoRnJhbWVDb250YWlu
aW5nU1ZHRG9jdW1lbnQoKSk7CkBAIC0yNzUsNiArMjg3LDggQEAgdm9pZCBSZW5kZXJTVkdSb290
OjpwYWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
YWRqdXMKIAogdm9pZCBSZW5kZXJTVkdSb290Ojp3aWxsQmVEZXN0cm95ZWQoKQogeworICAgIFJl
bmRlckJsb2NrOjpyZW1vdmVQZXJjZW50SGVpZ2h0RGVzY2VuZGFudChjb25zdF9jYXN0PFJlbmRl
clNWR1Jvb3QqPih0aGlzKSk7CisKICAgICBTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50RGVzdHJv
eWVkKHRoaXMpOwogICAgIFJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KQEAg
LTQwMSw2ICs0MTUsMTQgQEAgYm9vbCBSZW5kZXJTVkdSb290Ojpub2RlQXRQb2ludChjb25zdCBI
aXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmUKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHUm9vdDo6aGFzUmVsYXRpdmVEaW1lbnNpb25zKCkgY29u
c3QKK3sKKyAgICBTVkdTVkdFbGVtZW50KiBzdmcgPSBzdGF0aWNfY2FzdDxTVkdTVkdFbGVtZW50
Kj4obm9kZSgpKTsKKyAgICBBU1NFUlQoc3ZnKTsKKworICAgIHJldHVybiBzdmctPmludHJpbnNp
Y0hlaWdodChTVkdTVkdFbGVtZW50OjpJZ25vcmVDU1NQcm9wZXJ0aWVzKS5pc1BlcmNlbnQoKSB8
fCBzdmctPmludHJpbnNpY1dpZHRoKFNWR1NWR0VsZW1lbnQ6Oklnbm9yZUNTU1Byb3BlcnRpZXMp
LmlzUGVyY2VudCgpOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCA3MDExMzdmNDQ0MGFm
MjRiOWY1ZGM3OTg4MjgxMGJiOWE3OTdlZmNkLi5hZGMxODg0ZTRhNjI0MTlmNzdhZmY3YjBiNGE2
ODJjN2UxOTZhNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAgICAgSW50U2l6ZSBjb250YWluZXJT
aXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluZXJTaXplOyB9CiAgICAgdm9pZCBzZXRDb250
YWluZXJTaXplKGNvbnN0IEludFNpemUmIGNvbnRhaW5lclNpemUpIHsgbV9jb250YWluZXJTaXpl
ID0gY29udGFpbmVyU2l6ZTsgfQogCisgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlRGltZW5z
aW9ucygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0Q2hpbGRM
aXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CiAgICAgdmlydHVh
bCBjb25zdCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIGNvbnN0IHsg
cmV0dXJuIGNoaWxkcmVuKCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0Mjk1NmE1ZjhhNjFkMzRiMjBhNjNhNDhmMWQw
NDkzOTQzMTc1ZGVjLi5lNjI1ODMwODFlMTgxMjY4Njg5YTJkZTVlN2YwODg5ODQ5ZGRlMGJkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMjcgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRh
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUGVyY2VudCB3aWR0aC9oZWlnaHQgU1ZHIG5vdCBhbHdh
eXMgc2NhbGVkIG9uIHdpbmRvdyByZXNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc5NDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXpl
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9wZXJjZW50LW1p
bmhlaWdodC1yZXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctcGVy
Y2VudC1zY2FsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2
Zy1wZXJjZW50LXNjYWxlLXZvbmx5LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2
Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMi0wMi0yNyAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0sy
XSBTa2lwIG9uZSBtb3JlIGNyYXNoaW5nIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTlhNjliYTA5MWY3ZmRlYjNlMDkyZDBiODQ5ZGQyMGIxZDcxYjAxNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9wZXJjZW50LW1pbmhl
aWdodC1yZXNpemUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlcGFpbnQuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBv
dmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBv
c2l0aW9uOiBhYnNvbHV0ZTsiPjwvZGl2PgorCis8c2NyaXB0PgorICBmdW5jdGlvbiByZXBhaW50
VGVzdCgpIHsKKyAgICB3aW5kb3cucmVzaXplQnkoMCwgLXdpbmRvdy5pbm5lckhlaWdodCAvIDIp
OworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9wZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9wZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTI1MjU5NTdhN2FjMGZkZGY3YjA5NzkyZmYzZmYwYzk4NzRjNmI3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3BlcmNlbnQtbWluaGVpZ2h0LXJlc2l6ZS5o
dG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IiBvbmxv
YWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDog
MTAwJTsgcG9zaXRpb246IGFic29sdXRlOyI+CisgIDwhLS0gQWZ0ZXIgd2luZG93IHJlc2l6aW5n
LCB0aGlzIERJViBlbGVtZW50IHNob3VsZCBub3QgYmUgdmlzaWJsZSAtLT4KKyAgPGRpdiBzdHls
ZT0id2lkdGg6IDEwMHB4OyBtaW4taGVpZ2h0OiAzMyU7IGJhY2tncm91bmQtY29sb3I6IHJlZDsg
ZGlzcGxheTogaW5saW5lLWJsb2NrOyI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRp
b246IGFic29sdXRlOyI+PC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0
KCkgeworICAgIHdpbmRvdy5yZXNpemVCeSgwLCAtd2luZG93LmlubmVySGVpZ2h0IC8gMik7Cisg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
M2YyOWY4NTJmM2UyMjJlZWVmOTdkNWM5ZGNmZTg4NDExOGM4NzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93
OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorPGRpdiBzdHlsZT0id2lkdGg6
IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyI+Cis8c3ZnIHdpZHRoPSIy
MDAiIGhlaWdodD0iMTUwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICA8
cmVjdCBmaWxsPSJncmVlbiIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIvPgorPC9zdmc+Cis8
L2Rpdj4KKworPHNjcmlwdD4KKyAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CisgICAgd2luZG93
LnJlc2l6ZVRvKHdpbmRvdy5pbm5lcldpZHRoIC8gMiwgd2luZG93LmlubmVySGVpZ2h0IC8gMik7
CisgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ5MzA3Y2U5YjY1MDYzYWNkNDczZmYzY2ZlYzJkYWViMzAxOTEyNTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxl
LXZvbmx5LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMv
cmVwYWludC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7
IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCki
PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBwb3NpdGlvbjogYWJz
b2x1dGU7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1
bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAgIHdpbmRvdy5yZXNpemVCeSgwLCAtd2luZG93Lmlu
bmVySGVpZ2h0IC8gMik7CisgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc3ZWZmMjczMzc1ZmNjZTZlNzJmYWFlODNkYTZkZWQ4MGViNDBjYzEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLXZv
bmx5Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7
IG92ZXJmbG93OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorCis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7IGFsaWdu
OiBsZWZ0OyI+Cis8IS0tIEFmdGVyIHZlcnRpY2FsIHdpbmRvdyByZXNpemluZywgdGhpcyBTVkcg
ZWxlbWVudCBzaG91bGQgbm90IGJlIHZpc2libGUgLS0+Cis8c3ZnIHdpZHRoPSI1MCUiIGhlaWdo
dD0iMTAwJSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAg
ODAwIDYwMCI+CisgIDxyZWN0IGZpbGw9InJlZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwv
cmVjdD4KKzwvc3ZnPgorCis8IS0tIGZvcmNlIGFuIGFub255bW91cyBibG9jayBjcmVhdGlvbiB0
byBleGVyY2lzZSB0aGUgcGVyY2VudC1oZWlnaHQgZGVzY2VuZGFudHMgbWFwIC0tPgorPGRpdj48
L2Rpdj4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKwor
PHNjcmlwdD4KKyAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CisgICAgd2luZG93LnJlc2l6ZUJ5
KDAsIC13aW5kb3cuaW5uZXJIZWlnaHQgLyAyKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNj
YWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTEwZGUwMDA4M2ExYWU1MzgwNzVjNWFjMTBkZThkNjg0NmYwNzIxMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUu
aHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgc3R5bGU9Im1hcmdpbjogMDsgcGFkZGluZzogMDsgb3Zl
cmZsb3c6IGhpZGRlbjsiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CisKKzxkaXYgc3R5bGU9
IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPgorPCEtLSBB
ZnRlciB3aW5kb3cgcmVzaXppbmcsIHRoaXMgU1ZHIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNp
YmxlIC0tPgorPHN2ZyB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODAwIDYwMCI+CisgIDxyZWN0IGZpbGw9InJl
ZCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvcmVjdD4KKzwvc3ZnPgorPC9kaXY+CisKKzxk
aXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsi
PgorPHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIj4KKyAgPHJlY3QgZmlsbD0iZ3JlZW4iIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw
MCUiLz4KKzwvc3ZnPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0
KCkgeworICAgIHdpbmRvdy5yZXNpemVUbyh3aW5kb3cuaW5uZXJXaWR0aCAvIDIsIHdpbmRvdy5p
bm5lckhlaWdodCAvIDIpOworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129483</attachid>
            <date>2012-02-29 11:41:15 -0800</date>
            <delta_ts>2012-03-01 04:30:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79490-20120229144114.patch</filename>
            <type>text/plain</type>
            <size>10302</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MjE3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWY1ZjdiZTU0NDc2MDdjMjFmMjQ1
OGJiMmMzOTdmMTI5NWIwZDAzMS4uM2Y2ZTY4MWUzZjU0ZjE1MzQ0M2FkOGIwOWUwZGNhYjQzNjg3
ZGVlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAyLTI5ICBGbG9yaW4gTWFsaXRhICA8
Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIFBlcmNlbnQgd2lkdGgvaGVpZ2h0IFNWRyBu
b3QgYWx3YXlzIHNjYWxlZCBvbiB3aW5kb3cgcmVzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0byBhdm9pZCB0aGUgdXNlIG9m
IHdpbmRvdy5yZXNpemV7VG8sQnl9LgorCisgICAgICAgICogZmFzdC9yZXBhaW50L3BlcmNlbnQt
bWluaGVpZ2h0LXJlc2l6ZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvcmVwYWludC9w
ZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1w
ZXJjZW50LXNjYWxlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctcGVy
Y2VudC1zY2FsZS12b25seS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vc3Zn
LXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1wZXJj
ZW50LXNjYWxlLmh0bWw6CisKIDIwMTItMDItMjkgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBGaW5hbCBzZXQgb2YgcGl4
ZWwgdGVzdHMgZm9yIFNub3cgTGVvcGFyZCwgc3ZnLyBwYXNzZXMgd2l0aCB0b2xlcmFuY2UgMCBh
Z2FpbiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9wZXJjZW50LW1pbmhl
aWdodC1yZXNpemUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9wZXJj
ZW50LW1pbmhlaWdodC1yZXNpemUtZXhwZWN0ZWQuaHRtbAppbmRleCA1OWE2OWJhMDkxZjdmZGVi
M2UwOTJkMGI4NDlkZDIwYjFkNzFiMDE1Li5jNDI3ZTcyZjU4ZmYzMzkxZGY3MTMwMTc4MWIzYmYx
MTE1MDVjZGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcGVyY2VudC1t
aW5oZWlnaHQtcmVzaXplLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L3BlcmNlbnQtbWluaGVpZ2h0LXJlc2l6ZS1leHBlY3RlZC5odG1sCkBAIC0xLDE2ICsxLDE4
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlcGFp
bnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkK
KyAgICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzaXplLXRhcmdldCcpLnN0
eWxlLmhlaWdodCA9ICcyMDBweCc7IAorICAgIH0KKyAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiAKIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IiBvbmxv
YWQ9InJ1blJlcGFpbnRUZXN0KCkiPgotPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6
IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRpb246IGFic29sdXRlOyI+PC9k
aXY+CisgIDxkaXYgaWQ9InJlc2l6ZS10YXJnZXQiIHN0eWxlPSJ3aWR0aDogNDAwcHg7IGhlaWdo
dDogNDAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPjwvZGl2PgogCi08c2NyaXB0PgotICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICB3aW5kb3cucmVzaXplQnkoMCwgLXdpbmRvdy5pbm5l
ckhlaWdodCAvIDIpOwotICB9Ci08L3NjcmlwdD4KKyAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRpb246IGFic29s
dXRlOyI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvcGVyY2VudC1taW5oZWlnaHQtcmVzaXplLmh0bWwKaW5kZXggYWEyNTI1OTU3
YTdhYzBmZGRmN2IwOTc5MmZmM2ZmMGM5ODc0YzZiNy4uYzhiMmQyNmYxZTQwNGEzODM4ZmI4ZWFk
YTU0NzUzYzg0YmFjODM1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3Bl
cmNlbnQtbWluaGVpZ2h0LXJlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9wZXJjZW50LW1pbmhlaWdodC1yZXNpemUuaHRtbApAQCAtMSwyMSArMSwyMiBAQAogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXBhaW50
LmpzIj48L3NjcmlwdD4KKyAgPHRpdGxlPlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5NDkwPC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9y
ZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdD4KKyAgICBmdW5jdGlvbiByZXBhaW50VGVz
dCgpCisgICAgeworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc2l6ZS10YXJnZXQn
KS5zdHlsZS5oZWlnaHQgPSAnMjAwcHgnOworICAgIH0KKyAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiAK
IDxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IiBv
bmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgotPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdo
dDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyI+Ci0gIDwhLS0gQWZ0ZXIgd2luZG93IHJlc2l6
aW5nLCB0aGlzIERJViBlbGVtZW50IHNob3VsZCBub3QgYmUgdmlzaWJsZSAtLT4KLSAgPGRpdiBz
dHlsZT0id2lkdGg6IDEwMHB4OyBtaW4taGVpZ2h0OiAzMyU7IGJhY2tncm91bmQtY29sb3I6IHJl
ZDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyI+PC9kaXY+Ci08L2Rpdj4KKyAgPGRpdiBpZD0icmVz
aXplLXRhcmdldCIgc3R5bGU9IndpZHRoOiA0MDBweDsgaGVpZ2h0OiA0MDBweDsgcG9zaXRpb246
IGFic29sdXRlOyI+CisgICAgPCEtLSBBZnRlciB3aW5kb3cgcmVzaXppbmcsIHRoaXMgRElWIGVs
ZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIC0tPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAx
MDBweDsgbWluLWhlaWdodDogNTAlOyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IGRpc3BsYXk6IGlu
bGluZS1ibG9jazsiPjwvZGl2PgorICA8L2Rpdj4KIAotPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRpb246IGFic29s
dXRlOyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0gIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewotICAg
IHdpbmRvdy5yZXNpemVCeSgwLCAtd2luZG93LmlubmVySGVpZ2h0IC8gMik7Ci0gIH0KLTwvc2Ny
aXB0PgorICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogYWJzb2x1dGU7Ij48L2Rpdj4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2Nh
bGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2Nh
bGUtZXhwZWN0ZWQuaHRtbAppbmRleCBhZjNmMjlmODUyZjNlMjIyZWVlZjk3ZDVjOWRjZmU4ODQx
MThjODc1Li4zNWViZmVjMTU3MTE5MDUxZDIyMDRkMGZjMzJkNGMyMjMzOTc0NDAyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLWV4cGVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS1leHBlY3Rl
ZC5odG1sCkBAIC0xLDIwICsxLDE4IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48
L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVw
YWludC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gcmVwYWludFRlc3Qo
KQorICAgIHsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNpemUtdGFyZ2V0Jyku
c3R5bGUud2lkdGggPSAnMjAwcHgnOworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c2l6ZS10YXJnZXQnKS5zdHlsZS5oZWlnaHQgPSAnMjAwcHgnOyAKKyAgICB9CisgIDwvc2NyaXB0
PgogPC9oZWFkPgogCiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxv
dzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KLTxkaXYgc3R5bGU9IndpZHRo
OiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPgotPHN2ZyB3aWR0aD0i
MjAwIiBoZWlnaHQ9IjE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KLSAg
PHJlY3QgZmlsbD0iZ3JlZW4iIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz4KLTwvc3ZnPgot
PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0gIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewotICAgIHdpbmRv
dy5yZXNpemVUbyh3aW5kb3cuaW5uZXJXaWR0aCAvIDIsIHdpbmRvdy5pbm5lckhlaWdodCAvIDIp
OwotICB9Ci08L3NjcmlwdD4KKyAgPGRpdiBpZD0icmVzaXplLXRhcmdldCIgc3R5bGU9IndpZHRo
OiA0MDBweDsgaGVpZ2h0OiA0MDBweDsgcG9zaXRpb246IGFic29sdXRlOyI+PC9kaXY+CisgIDxk
aXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgcG9zaXRpb246IGFic29sdXRl
OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12
b25seS1leHBlY3RlZC5odG1sCmluZGV4IDQ5MzA3Y2U5YjY1MDYzYWNkNDczZmYzY2ZlYzJkYWVi
MzAxOTEyNTQuLmI5YjViNmU3NGMyOWU0MTkxODgwYWNhYzFjMjM5OGRkYjM1MTdhNTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHktZXhw
ZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxl
LXZvbmx5LWV4cGVjdGVkLmh0bWwKQEAgLTEsMTYgKzEsMTcgQEAKIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2Vz
L3JlcGFpbnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9yZXBhaW50
L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdD4KKyAgICBmdW5jdGlv
biByZXBhaW50VGVzdCgpCisgICAgeworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c2l6ZS10YXJnZXQnKS5zdHlsZS5oZWlnaHQgPSAnMjAwcHgnOworICAgIH0KKyAgPC9zY3JpcHQ+
CiA8L2hlYWQ+CiAKIDxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93
OiBoaWRkZW47IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgotPGRpdiBzdHlsZT0id2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0gIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkg
ewotICAgIHdpbmRvdy5yZXNpemVCeSgwLCAtd2luZG93LmlubmVySGVpZ2h0IC8gMik7Ci0gIH0K
LTwvc2NyaXB0PgorICA8ZGl2IGlkPSJyZXNpemUtdGFyZ2V0IiBzdHlsZT0id2lkdGg6IDQwMHB4
OyBoZWlnaHQ6IDQwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7Ij48L2Rpdj4gIAorICA8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUtdm9ubHkuaHRtbAppbmRl
eCA3N2VmZjI3MzM3NWZjY2U2ZTcyZmFhZTgzZGE2ZGVkODBlYjQwY2MxLi5iYWE1NWZkZjBlM2U2
NTg2ZmE1NDZlNGExZGRmZDBjM2NiNTVmOTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy1wZXJjZW50LXNjYWxlLXZvbmx5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9zdmctcGVyY2VudC1zY2FsZS12b25seS5odG1sCkBAIC0xLDI3ICsxLDI3IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9y
ZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHRpdGxlPlRlc3QgZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ5MDwvdGl0bGU+Cisg
IDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwv
c2NyaXB0PgorICA8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkKKyAgICB7Cisg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzaXplLXRhcmdldCcpLnN0eWxlLmhlaWdo
dCA9ICcyMDBweCc7CisgICAgfQorICA8L3NjcmlwdD4KIDwvaGVhZD4KIAogPGJvZHkgc3R5bGU9
Im1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiIG9ubG9hZD0icnVuUmVw
YWludFRlc3QoKSI+CisgIDxkaXYgaWQ9InJlc2l6ZS10YXJnZXQiIHN0eWxlPSJ3aWR0aDogNDAw
cHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPgorICAgIDwhLS0gQWZ0ZXIg
dmVydGljYWwgd2luZG93IHJlc2l6aW5nLCB0aGlzIFNWRyBlbGVtZW50IHNob3VsZCBub3QgYmUg
dmlzaWJsZSAtLT4KKyAgICA8c3ZnIHdpZHRoPSIyNSUiIGhlaWdodD0iNTAlIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgICAgPHJlY3QgZmlsbD0icmVkIiB3aWR0aD0i
MTAwJSIgaGVpZ2h0PSIxMDAlIj48L3JlY3Q+CisgICAgPC9zdmc+CiAKLTxkaXYgc3R5bGU9Indp
ZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYWxpZ246IGxlZnQ7
Ij4KLTwhLS0gQWZ0ZXIgdmVydGljYWwgd2luZG93IHJlc2l6aW5nLCB0aGlzIFNWRyBlbGVtZW50
IHNob3VsZCBub3QgYmUgdmlzaWJsZSAtLT4KLTxzdmcgd2lkdGg9IjUwJSIgaGVpZ2h0PSIxMDAl
IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNjAw
Ij4KLSAgPHJlY3QgZmlsbD0icmVkIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PC9yZWN0Pgot
PC9zdmc+CisgICAgPCEtLSBmb3JjZSBhbiBhbm9ueW1vdXMgYmxvY2sgY3JlYXRpb24gdG8gZXhl
cmNpc2UgdGhlIHBlcmNlbnQtaGVpZ2h0IGRlc2NlbmRhbnRzIG1hcCAtLT4KKyAgICA8ZGl2Pjwv
ZGl2PgorICA8L2Rpdj4KIAotPCEtLSBmb3JjZSBhbiBhbm9ueW1vdXMgYmxvY2sgY3JlYXRpb24g
dG8gZXhlcmNpc2UgdGhlIHBlcmNlbnQtaGVpZ2h0IGRlc2NlbmRhbnRzIG1hcCAtLT4KLTxkaXY+
PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0K
LTxzY3JpcHQ+Ci0gIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewotICAgIHdpbmRvdy5yZXNpemVC
eSgwLCAtd2luZG93LmlubmVySGVpZ2h0IC8gMik7Ci0gIH0KLTwvc2NyaXB0PgorICA8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUuaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBlcmNlbnQtc2NhbGUuaHRtbAppbmRleCBhMTBkZTAwMDgz
YTFhZTUzODA3NWM1YWMxMGRlOGQ2ODQ2ZjA3MjEwLi44NzRlMWFiMTdkMjU0OWJmNGU1M2MzZTZm
OGI2ZWVmMzExNjY5Y2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1w
ZXJjZW50LXNjYWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGVyY2Vu
dC1zY2FsZS5odG1sCkBAIC0xLDI4ICsxLDI1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50
LmpzIj48L3NjcmlwdD4KKyAgPHRpdGxlPlRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03OTQ5MDwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkKKyAgICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncmVzaXplLXRhcmdldCcpLnN0eWxlLndpZHRoID0gJzIwMHB4JzsKKyAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXNpemUtdGFyZ2V0Jykuc3R5bGUuaGVpZ2h0ID0gJzIwMHB4
JzsKKyAgICB9CisgIDwvc2NyaXB0PgogPC9oZWFkPgogCiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAw
OyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgp
Ij4KKyAgPGRpdiBpZD0icmVzaXplLXRhcmdldCIgc3R5bGU9IndpZHRoOiA0MDBweDsgaGVpZ2h0
OiA0MDBweDsgcG9zaXRpb246IGFic29sdXRlOyI+CisgICAgPCEtLSBBZnRlciB3aW5kb3cgcmVz
aXppbmcsIHRoaXMgU1ZHIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIC0tPgorICAgIDxz
dmcgd2lkdGg9IjUwJSIgaGVpZ2h0PSI1MCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgorICAgICAgPHJlY3QgZmlsbD0icmVkIiB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PC9yZWN0PgorICAgIDwvc3ZnPgorICA8L2Rpdj4KIAotPGRp
diBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyI+
Ci08IS0tIEFmdGVyIHdpbmRvdyByZXNpemluZywgdGhpcyBTVkcgZWxlbWVudCBzaG91bGQgbm90
IGJlIHZpc2libGUgLS0+Ci08c3ZnIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNjAwIj4KLSAgPHJlY3Qg
ZmlsbD0icmVkIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9yZWN0PgotPC9zdmc+Ci08L2Rp
dj4KLQotPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGFi
c29sdXRlOyI+Ci08c3ZnIHdpZHRoPSIyMDAiIGhlaWdodD0iMTUwIiB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciPgotICA8cmVjdCBmaWxsPSJncmVlbiIgd2lkdGg9IjEwMCUiIGhl
aWdodD0iMTAwJSIvPgotPC9zdmc+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLSAgZnVuY3Rpb24gcmVw
YWludFRlc3QoKSB7Ci0gICAgd2luZG93LnJlc2l6ZVRvKHdpbmRvdy5pbm5lcldpZHRoIC8gMiwg
d2luZG93LmlubmVySGVpZ2h0IC8gMik7Ci0gIH0KLTwvc2NyaXB0PgorICA8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="132209"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
    <flag name="commit-queue"
          id="132210"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>