<?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>78027</bug_id>
          
          <creation_ts>2012-02-07 13:20:47 -0800</creation_ts>
          <short_desc>CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail</short_desc>
          <delta_ts>2012-03-17 03:49:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          <blocked>47141</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>jchaffraix</cc>
    
    <cc>robert</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>551293</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-07 13:20:47 -0800</bug_when>
    <thetext>Col-group width does not influence column width in fixed table layout apparently..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551350</commentid>
    <comment_count>1</comment_count>
      <attachid>125920</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-07 13:58:39 -0800</bug_when>
    <thetext>Created attachment 125920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551483</commentid>
    <comment_count>2</comment_count>
      <attachid>125920</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-07 15:43:58 -0800</bug_when>
    <thetext>Comment on attachment 125920
Patch

Can we just break this block out into a helper function?  It&apos;t not immediately obvious to me why moving this code is correct here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551732</commentid>
    <comment_count>3</comment_count>
      <attachid>125920</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-07 20:14:49 -0800</bug_when>
    <thetext>Comment on attachment 125920
Patch

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

I agree with Darin, this change is good but could be cleaner and less confusing.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:91
&gt;      Length grpWidth;

This variable is unused now, it should be removed.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:-129
&gt; -        col-&gt;computePreferredLogicalWidths();

I concur with Eric here. You are moving the code after the following block which is:
1) useless as the code you touch don&apos;t use |child| and you actually may end up doing more work (if you have column-group)!
2) makes your change look artificially bigger / scarier / different.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:103
&gt; +        if (col-&gt;firstChild())

Would be nice to make this an helper function in RenderTableCol (like isColumnGroup()).

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:106
&gt; +        Length w = col-&gt;style()-&gt;logicalWidth();

It should be columnStyleLogicalWidth.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:107
&gt; +        int effWidth = 0;

effectiveColumnLogicalWidth?

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:108
&gt; +        if (w.isFixed() &amp;&amp; w.value() &gt; 0)

Interestingly we don&apos;t handle percent width here which is a discrepancy with the check below... Sounds like a bug to file or a big FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552084</commentid>
    <comment_count>4</comment_count>
      <attachid>125920</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-08 06:43:48 -0800</bug_when>
    <thetext>Comment on attachment 125920
Patch

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

&gt;&gt; Source/WebCore/rendering/FixedTableLayout.cpp:-129
&gt;&gt; -        col-&gt;computePreferredLogicalWidths();
&gt; 
&gt; I concur with Eric here. You are moving the code after the following block which is:
&gt; 1) useless as the code you touch don&apos;t use |child| and you actually may end up doing more work (if you have column-group)!
&gt; 2) makes your change look artificially bigger / scarier / different.

I take this one back after sleeping on it. You need to make sure |child| is progressing in your loop, however it sounds like you could achieve the same result if you used a for loop now, which would make the logic cleared and more bullet proof.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552467</commentid>
    <comment_count>5</comment_count>
      <attachid>126147</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-08 13:56:00 -0800</bug_when>
    <thetext>Created attachment 126147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552472</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-08 14:03:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; 
&gt; Interestingly we don&apos;t handle percent width here which is a discrepancy with the check below... Sounds like a bug to file or a big FIXME.

I&apos;ll take a closer look at this one in another bug. Addressing your comments has made the patch even harder to read unfortunately. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553160</commentid>
    <comment_count>7</comment_count>
      <attachid>126147</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-09 07:45:40 -0800</bug_when>
    <thetext>Comment on attachment 126147
Patch

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

r- for the missing |else| as I would like to see the new patch before landing.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:80
&gt; +static RenderObject* nextCol(RenderObject* child)

Please use a verb in the function name: findNextCol for example is a good name.

As discussed on IRC, this function is equivalent to the previous code block and is more readable. I don&apos;t think this area of the code is performance sensitive so the change should be fine.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:105
&gt; +    for (;child &amp;&amp; child-&gt;isTableCol(); child = nextCol(child)) {

I think you found a bug in our style checker (filed bug 78238) :-)

There should be a space after the first semi-colon. Also please just move the initialization of |child| in the loop.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:109
&gt; +        if (col-&gt;isTableColGroup())

I don&apos;t like using isTableColGroup() here as it sounds like one of the RenderObject::isTable*() functions which are virtual. I would like to see it renamed to isColGroup(), renderColIsColGroup() or equivalent.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:130
&gt; -                } else {
&gt; -                    if (span &lt; m_table-&gt;spanOfEffCol(currentEffectiveColumn)) {
&gt; -                        m_table-&gt;splitColumn(currentEffectiveColumn, span);
&gt; -                        nEffCols++;
&gt; -                        m_width.append(Length());
&gt; -                    }
&gt; -                    spanInCurrentEffectiveColumn = m_table-&gt;spanOfEffCol(currentEffectiveColumn);
&gt;                  }

This branch has disappeared in your change. It is possible it is unneeded but this is a separate change.

&gt; Source/WebCore/rendering/RenderTableCol.h:46
&gt; +    bool isTableColGroup() { return firstChild() ? true : false; }

return firstChild(); is enough here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553326</commentid>
    <comment_count>8</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-09 11:02:17 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; This branch has disappeared in your change. It is possible it is unneeded but this is a separate change.

No, it&apos;s still there. It&apos;s just very fragmented in the diff.

r+ ? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553458</commentid>
    <comment_count>9</comment_count>
      <attachid>126147</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-09 13:30:38 -0800</bug_when>
    <thetext>Comment on attachment 126147
Patch

&gt; r+ ? :)

Your deadly kawai eyes won me :-)

(and the fact that if I had followed more closely the logic, I would have seen the change did not miss anything).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558443</commentid>
    <comment_count>10</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-16 12:40:58 -0800</bug_when>
    <thetext>Committed r107970: &lt;http://trac.webkit.org/changeset/107970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560206</commentid>
    <comment_count>11</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-20 06:04:33 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Committed r107970: &lt;http://trac.webkit.org/changeset/107970&gt;

This patch was rolled out: 
Committed r108237: &lt;http://trac.webkit.org/changeset/108237&gt;

It breaks column widths updates from javascript, (e.g. inspector&apos;s network panel).
I am attaching a reduced reproduction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560207</commentid>
    <comment_count>12</comment_count>
      <attachid>127816</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-20 06:06:18 -0800</bug_when>
    <thetext>Created attachment 127816
column-width-problem

Button should change column width from 100 to 50 and back.
It does so in firefox and it did it in chrome before this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560298</commentid>
    <comment_count>13</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-20 11:12:19 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=127816) [details]
&gt; column-width-problem
&gt; 
&gt; Button should change column width from 100 to 50 and back.
&gt; It does so in firefox and it did it in chrome before this patch.

Thanks for spotting this and rolling out. Unfortunately, this regression was caused by a dumb mistake in the refactoring that wasn&apos;t caught by any layout-tests. So I need to write a few more tests before fixing and re-landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579736</commentid>
    <comment_count>14</comment_count>
      <attachid>132119</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-03-15 14:23:43 -0700</bug_when>
    <thetext>Created attachment 132119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579741</commentid>
    <comment_count>15</comment_count>
      <attachid>132119</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-03-15 14:27:17 -0700</bug_when>
    <thetext>Comment on attachment 132119
Patch

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

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:110
&gt; +            col-&gt;computePreferredLogicalWidths();

This was the culprit. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579827</commentid>
    <comment_count>16</comment_count>
      <attachid>132119</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-15 15:43:38 -0700</bug_when>
    <thetext>Comment on attachment 132119
Patch

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

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:105
&gt; +    for (;child &amp;&amp; child-&gt;isTableCol(); child = nextCol(child)) {

The initialization (&quot;RenderObject* child = m_table-&gt;firstChild();&quot;) should be moved here too. Also space after &apos;;&apos; please.

&gt; Source/WebCore/rendering/FixedTableLayout.cpp:143
&gt;          col-&gt;computePreferredLogicalWidths();

AFAICT this doesn&apos;t depend on any of the computation we are doing here so it could just be hoisted before your |if| (around line 109) to avoid another breakage down the line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581299</commentid>
    <comment_count>17</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-03-17 03:49:23 -0700</bug_when>
    <thetext>Committed r111118: &lt;http://trac.webkit.org/changeset/111118&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125920</attachid>
            <date>2012-02-07 13:58:39 -0800</date>
            <delta_ts>2012-02-08 13:55:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78027-20120207215837.patch</filename>
            <type>text/plain</type>
            <size>12669</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI1MmEzOWMzNjc5MjE2
NDFlMDEwMjIyNDA4NTEzOTI2NWQ3MWE3Yi4uM2QwMTMwYmVmNDM2ZGEwNzk2Y2MzNjIxNWYwZjNh
YWRlOTViZTM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTA3ICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBDU1MgMi4xIGZhaWx1cmU6
IGZpeGVkLXRhYmxlLWxheW91dC0wMTMgYW5kIGZpeGVkLXRhYmxlLWxheW91dC0wMTUgZmFpbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCb3RoIG9mIHRo
ZXNlIHRlc3QgdGhlIChzbGlnaHRseSBpbXBsaWNpdCkgcnVsZSB0aGF0IHdpZHRoIHNldCBvbiBj
b2x1bW4tZ3JvdXBzIGNhbm5vdAorICAgICAgICBhZmZlY3QgdGhlIHdpZHRoIG9mIGNvbHVtbnMg
aW4gYSBmaXhlZCBsYXlvdXQgdGFibGU6IGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3RhYmxl
cy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dAorICAgICAgICBGRiwgT3BlcmEgYW5kIElFIGFsbCBw
YXNzIHRoZXNlIHR3byB0ZXN0cy4KKworICAgICAgICBUZXN0czogY3NzMi4xLzIwMTEwMzIzL2Zp
eGVkLXRhYmxlLWxheW91dC0wMTMuaHRtCisgICAgICAgICAgICAgICBjc3MyLjEvMjAxMTAzMjMv
Zml4ZWQtdGFibGUtbGF5b3V0LTAxNS5odG0KKworICAgICAgICAqIHJlbmRlcmluZy9GaXhlZFRh
YmxlTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpeGVkVGFibGVMYXlvdXQ6OmNhbGNX
aWR0aEFycmF5KTogSWdub3JlIHdpZHRoIHNwZWNpZmllZCBieSBjb2x1bW4gZ3JvdXBzCisKIDIw
MTItMDEtMjQgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBQb2ludGVyIExvY2s6IEltcGxlbWVudCBwb2ludGVyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwCmluZGV4IGZlOTdjNjM2ZjJhZTg2
MThkY2U1MjZjNmJmNzUyNGU2Zjc0YzFlZWUuLmZmNTNiZjBhMjVkZWZhOGEwZDMzYTRkNzY4Mjkw
YzNlYmU2ZWE5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRh
YmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRml4ZWRUYWJsZUxh
eW91dC5jcHAKQEAgLTkxLDUxICs5MSw0OCBAQCBpbnQgRml4ZWRUYWJsZUxheW91dDo6Y2FsY1dp
ZHRoQXJyYXkoaW50KQogICAgIExlbmd0aCBncnBXaWR0aDsKICAgICB3aGlsZSAoY2hpbGQgJiYg
Y2hpbGQtPmlzVGFibGVDb2woKSkgewogICAgICAgICBSZW5kZXJUYWJsZUNvbCogY29sID0gdG9S
ZW5kZXJUYWJsZUNvbChjaGlsZCk7Ci0gICAgICAgIGlmIChjb2wtPmZpcnN0Q2hpbGQoKSkKLSAg
ICAgICAgICAgIGdycFdpZHRoID0gY29sLT5zdHlsZSgpLT5sb2dpY2FsV2lkdGgoKTsKLSAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBMZW5ndGggdyA9IGNvbC0+c3R5bGUoKS0+bG9naWNhbFdp
ZHRoKCk7Ci0gICAgICAgICAgICBpZiAody5pc0F1dG8oKSkKLSAgICAgICAgICAgICAgICB3ID0g
Z3JwV2lkdGg7Ci0gICAgICAgICAgICBpbnQgZWZmV2lkdGggPSAwOwotICAgICAgICAgICAgaWYg
KHcuaXNGaXhlZCgpICYmIHcudmFsdWUoKSA+IDApCi0gICAgICAgICAgICAgICAgZWZmV2lkdGgg
PSB3LnZhbHVlKCk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIHNwYW4gPSBjb2wtPnNwYW4oKTsK
LSAgICAgICAgICAgIHdoaWxlIChzcGFuKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgc3Bh
bkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKLSAgICAgICAgICAgICAgICBpZiAoY3VycmVudEVm
ZmVjdGl2ZUNvbHVtbiA+PSBuRWZmQ29scykgewotICAgICAgICAgICAgICAgICAgICBtX3RhYmxl
LT5hcHBlbmRDb2x1bW4oc3Bhbik7Ci0gICAgICAgICAgICAgICAgICAgIG5FZmZDb2xzKys7Ci0g
ICAgICAgICAgICAgICAgICAgIG1fd2lkdGguYXBwZW5kKExlbmd0aCgpKTsKLSAgICAgICAgICAg
ICAgICAgICAgc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbiA9IHNwYW47Ci0gICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW4gPCBtX3RhYmxlLT5z
cGFuT2ZFZmZDb2woY3VycmVudEVmZmVjdGl2ZUNvbHVtbikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fdGFibGUtPnNwbGl0Q29sdW1uKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4sIHNwYW4p
OwotICAgICAgICAgICAgICAgICAgICAgICAgbkVmZkNvbHMrKzsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fd2lkdGguYXBwZW5kKExlbmd0aCgpKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uID0gbV90YWJs
ZS0+c3Bhbk9mRWZmQ29sKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4pOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBpZiAoKHcuaXNGaXhlZCgpIHx8IHcuaXNQZXJjZW50KCkpICYm
IHcuaXNQb3NpdGl2ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fd2lkdGhbY3VycmVudEVm
ZmVjdGl2ZUNvbHVtbl0gPSB3OwotICAgICAgICAgICAgICAgICAgICBtX3dpZHRoW2N1cnJlbnRF
ZmZlY3RpdmVDb2x1bW5dICo9IHNwYW5JbkN1cnJlbnRFZmZlY3RpdmVDb2x1bW47Ci0gICAgICAg
ICAgICAgICAgICAgIHVzZWRXaWR0aCArPSBlZmZXaWR0aCAqIHNwYW5JbkN1cnJlbnRFZmZlY3Rp
dmVDb2x1bW47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHNwYW4gLT0gc3Bh
bkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKLSAgICAgICAgICAgICAgICBjdXJyZW50RWZmZWN0
aXZlQ29sdW1uKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgY29sLT5jb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpOwotCiAgICAgICAgIFJlbmRlck9iamVjdCogbmV4
dCA9IGNoaWxkLT5maXJzdENoaWxkKCk7CiAgICAgICAgIGlmICghbmV4dCkKICAgICAgICAgICAg
IG5leHQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKTsKICAgICAgICAgaWYgKCFuZXh0ICYmIGNoaWxk
LT5wYXJlbnQoKS0+aXNUYWJsZUNvbCgpKSB7CiAgICAgICAgICAgICBuZXh0ID0gY2hpbGQtPnBh
cmVudCgpLT5uZXh0U2libGluZygpOwotICAgICAgICAgICAgZ3JwV2lkdGggPSBMZW5ndGgoKTsK
ICAgICAgICAgfQogICAgICAgICBjaGlsZCA9IG5leHQ7CisKKyAgICAgICAgLy8gV2lkdGggc3Bl
Y2lmaWVkIGJ5IGNvbHVtbi1ncm91cHMgZG9lcyBub3QgYWZmZWN0IGNvbHVtbiB3aWR0aCBpbiBm
aXhlZCBsYXlvdXQgdGFibGVzCisgICAgICAgIGlmIChjb2wtPmZpcnN0Q2hpbGQoKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgTGVuZ3RoIHcgPSBjb2wtPnN0eWxl
KCktPmxvZ2ljYWxXaWR0aCgpOworICAgICAgICBpbnQgZWZmV2lkdGggPSAwOworICAgICAgICBp
ZiAody5pc0ZpeGVkKCkgJiYgdy52YWx1ZSgpID4gMCkKKyAgICAgICAgICAgIGVmZldpZHRoID0g
dy52YWx1ZSgpOworCisgICAgICAgIHVuc2lnbmVkIHNwYW4gPSBjb2wtPnNwYW4oKTsKKyAgICAg
ICAgd2hpbGUgKHNwYW4pIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIHNwYW5JbkN1cnJlbnRFZmZl
Y3RpdmVDb2x1bW47CisgICAgICAgICAgICBpZiAoY3VycmVudEVmZmVjdGl2ZUNvbHVtbiA+PSBu
RWZmQ29scykgeworICAgICAgICAgICAgICAgIG1fdGFibGUtPmFwcGVuZENvbHVtbihzcGFuKTsK
KyAgICAgICAgICAgICAgICBuRWZmQ29scysrOworICAgICAgICAgICAgICAgIG1fd2lkdGguYXBw
ZW5kKExlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29s
dW1uID0gc3BhbjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHNw
YW4gPCBtX3RhYmxlLT5zcGFuT2ZFZmZDb2woY3VycmVudEVmZmVjdGl2ZUNvbHVtbikpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbV90YWJsZS0+c3BsaXRDb2x1bW4oY3VycmVudEVmZmVjdGl2ZUNv
bHVtbiwgc3Bhbik7CisgICAgICAgICAgICAgICAgICAgIG5FZmZDb2xzKys7CisgICAgICAgICAg
ICAgICAgICAgIG1fd2lkdGguYXBwZW5kKExlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbiA9IG1fdGFibGUtPnNw
YW5PZkVmZkNvbChjdXJyZW50RWZmZWN0aXZlQ29sdW1uKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGlmICgody5pc0ZpeGVkKCkgfHwgdy5pc1BlcmNlbnQoKSkgJiYgdy5pc1Bvc2l0aXZl
KCkpIHsKKyAgICAgICAgICAgICAgICBtX3dpZHRoW2N1cnJlbnRFZmZlY3RpdmVDb2x1bW5dID0g
dzsKKyAgICAgICAgICAgICAgICBtX3dpZHRoW2N1cnJlbnRFZmZlY3RpdmVDb2x1bW5dICo9IHNw
YW5JbkN1cnJlbnRFZmZlY3RpdmVDb2x1bW47CisgICAgICAgICAgICAgICAgdXNlZFdpZHRoICs9
IGVmZldpZHRoICogc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHNwYW4gLT0gc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKKyAgICAg
ICAgICAgIGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4rKzsKKyAgICAgICAgfQorICAgICAgICBjb2wt
PmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CiAgICAgfQogCiAgICAgLy8gSXRlcmF0
ZSBvdmVyIHRoZSBmaXJzdCByb3cgaW4gY2FzZSBzb21lIGFyZSB1bnNwZWNpZmllZC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBjOGFmMGZkMzQ4NWNkZjdhNGRmZDA2MWViNTI0ZmE0ZjYzODU1NDY5Li5lNzdjYjQ5NjBjMjRi
ZjYyZTExN2RkODEwMGMzMWNhODJhOTg2NjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTIt
MDItMDcgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIENTUyAy
LjEgZmFpbHVyZTogZml4ZWQtdGFibGUtbGF5b3V0LTAxMyBhbmQgZml4ZWQtdGFibGUtbGF5b3V0
LTAxNSBmYWlsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03ODAyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTMtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTMu
aHRtOiBBZGRlZC4KKyAgICAgICAgKiBjc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0
LTAxNS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MyLjEvMjAxMTAzMjMvZml4
ZWQtdGFibGUtbGF5b3V0LTAxNS5odG06IEFkZGVkLgorCiAyMDEyLTAxLTI3ICBMZXZpIFdlaW50
cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmlu
Zy4gVXBkYXRpbmcgbGludXggZXhwZWN0YXRpb25zIGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzEwNjEwOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMi4xLzIwMTEw
MzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEzLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzU4M2VjMDcxMWQ1YjVkMjRhMmUzOTVlZDQ2MWY5Mzk1ZGMyZmYyOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQt
MDEzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElD
ICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
c3RyaWN0LmR0ZCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkNTUyBUZXN0
OiBSZWZlcmVuY2UgUmVzdWx0PC90aXRsZT4KKyAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4KKyAgICAgICAgICAgIHRhYmxlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9y
ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZp
eGVkOworICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICNjZWxsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDog
YmxhY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgI2RpdjEKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5k
OiBibHVlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICNkaXYxLCAjY2VsbAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhl
aWdodDogMWVtOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlIGJveGVzIGJlbG93IGFy
ZSB0aGUgc2FtZSB3aWR0aC48L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAgIDx0cj4K
KyAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwiPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRk
PjwvdGQ+CisgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYg
aWQ9ImRpdjEiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQt
dGFibGUtbGF5b3V0LTAxMy5odG0gYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQt
dGFibGUtbGF5b3V0LTAxMy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRhZGM5YWY3MTUxZTE0YWIxYzc4ZjUw
NDI3NWRlMzc2NzQ4ZGU1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczIuMS8y
MDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEzLmh0bQpAQCAtMCwwICsxLDUxIEBACis8IURP
Q1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3
LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8dGl0bGU+Q1NTIFRlc3Q6IEZpeGVkIHRhYmxlIGxheW91dCAtIHNwZWNpZmllZCBjb2x1bW4t
Z3JvdXAgd2lkdGg8L3RpdGxlPgorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1p
Y3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyI+CisgICAgICAgIDxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvdGFibGVzLmh0bWwj
Zml4ZWQtdGFibGUtbGF5b3V0Ij4KKyAgICAgICAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRlbnQ9
IiI+CisgICAgICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iU3BlY2lmaWVkIGNvbHVt
bi1ncm91cCB3aWR0aCBpcyBpZ25vcmVkIGluIGZpeGVkIHRhYmxlIGxheW91dC4iPgorICAgICAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAgdGFibGUKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgICAgICAg
ICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7CisgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2NvbGdyb3VwCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAj
Y2VsbAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgI2RpdjEKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBiYWNrZ3JvdW5kOiBibHVlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNkaXYxLCAjY2VsbAorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGhlaWdodDogMWVtOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYg
dGhlIGJveGVzIGJlbG93IGFyZSB0aGUgc2FtZSB3aWR0aC48L3A+CisgICAgICAgIDx0YWJsZT4K
KyAgICAgICAgICAgIDxjb2xncm91cCBpZD0iY29sZ3JvdXAiPgorICAgICAgICAgICAgICAgIDxj
b2w+CisgICAgICAgICAgICA8L2NvbGdyb3VwPgorICAgICAgICAgICAgPGNvbGdyb3VwPgorICAg
ICAgICAgICAgICAgIDxjb2w+CisgICAgICAgICAgICA8L2NvbGdyb3VwPgorICAgICAgICAgICAg
PHRyPgorICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbCI+PC90ZD4KKyAgICAgICAgICAgICAg
ICA8dGQ+PC90ZD4KKyAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAg
PGRpdiBpZD0iZGl2MSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9m
aXhlZC10YWJsZS1sYXlvdXQtMDE1LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MyLjEv
MjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxNS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUyNTc4MTU3ZTU2ZTRmOTY1NWM2ZjI4ZDVjYTZlYjMxMDlhOWZhYjcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxNS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmlj
dC5kdGQiPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5DU1MgVGVzdDogUmVm
ZXJlbmNlIFJlc3VsdDwvdGl0bGU+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cisg
ICAgICAgICAgICB0YWJsZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJvcmRlci1z
cGFjaW5nOiAwOworICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2NlbGwK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjazsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0ZAor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAjZGl2MQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tn
cm91bmQ6IGJsdWU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICAgICAgI2RpdjEsIHRkCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxZW07CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHBhc3NlcyBpZiB0aGUgYm94ZXMgYmVsb3cg
YXJlIHRoZSBzYW1lIHdpZHRoLjwvcD4KKyAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgPHRy
PgorICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbCI+PC90ZD4KKyAgICAgICAgICAgICAgICA8
dGQ+PC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxk
aXYgaWQ9ImRpdjEiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4
ZWQtdGFibGUtbGF5b3V0LTAxNS5odG0gYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4
ZWQtdGFibGUtbGF5b3V0LTAxNS5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRkYTUyMDNhYThiNmEyOWI4ZmIy
NDc1MzI0ODk4NjBkMzBlMDRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczIu
MS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDE1Lmh0bQpAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8v
d3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8dGl0bGU+Q1NTIFRlc3Q6IEZpeGVkIHRhYmxlIGxheW91dCAtIHNwZWNpZmllZCBjZWxs
IHdpZHRoIG92ZXJyaWRlcyBzcGVjaWZpZWQgY29sdW1uLWdyb3VwIHdpZHRoPC90aXRsZT4KKyAg
ICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93
d3cubWljcm9zb2Z0LmNvbS8iPgorICAgICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL0NTUzIxL3RhYmxlcy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dCI+Cisg
ICAgICAgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSIiPgorICAgICAgICA8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9IkEgY29sdW1uIHRoYXQgaGFzIGJvdGggYSBjZWxsIHdpZHRoIGFu
ZCBjb2x1bW4tZ3JvdXAgd2lkdGggc3BlY2lmaWVkIHdpbGwgdXNlIGl0cyBjZWxsIHNwZWNpZmll
ZCB3aWR0aC4iPgorICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAg
dGFibGUKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDsK
KyAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOworICAgICAgICAgICAgICAgIHdp
ZHRoOiAyMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNjb2xncm91cAorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4OworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgI2NlbGwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5k
OiBibGFjazsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB0ZAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjZGl2MQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2RpdjEsIHRkCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHBhc3NlcyBpZiB0
aGUgYm94ZXMgYmVsb3cgYXJlIHRoZSBzYW1lIHdpZHRoLjwvcD4KKyAgICAgICAgPHRhYmxlPgor
ICAgICAgICAgICAgPGNvbGdyb3VwIGlkPSJjb2xncm91cCI+CisgICAgICAgICAgICAgICAgPGNv
bD4KKyAgICAgICAgICAgIDwvY29sZ3JvdXA+CisgICAgICAgICAgICA8Y29sZ3JvdXA+CisgICAg
ICAgICAgICAgICAgPGNvbD4KKyAgICAgICAgICAgIDwvY29sZ3JvdXA+CisgICAgICAgICAgICA8
dHI+CisgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsIj48L3RkPgorICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAg
PGRpdiBpZD0iZGl2MSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126147</attachid>
            <date>2012-02-08 13:56:00 -0800</date>
            <delta_ts>2012-03-15 14:23:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78027-20120208215558.patch</filename>
            <type>text/plain</type>
            <size>15342</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjZTA1YTU4N2M5NTM0
ZDBjYjJkNzcxZTkwNzAwM2IzNjg5MTYxNC4uMDRkZjEzMmVhZTk1NzI2YTA5YWQ3YmU1ZDU3NGUz
ZTFjODQ2ZmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTA3ICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBDU1MgMi4xIGZhaWx1cmU6
IGZpeGVkLXRhYmxlLWxheW91dC0wMTMgYW5kIGZpeGVkLXRhYmxlLWxheW91dC0wMTUgZmFpbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCb3RoIG9mIHRo
ZXNlIHRlc3QgdGhlIChzbGlnaHRseSBpbXBsaWNpdCkgcnVsZSB0aGF0IHdpZHRoIHNldCBvbiBj
b2x1bW4tZ3JvdXBzIGNhbm5vdAorICAgICAgICBhZmZlY3QgdGhlIHdpZHRoIG9mIGNvbHVtbnMg
aW4gYSBmaXhlZCBsYXlvdXQgdGFibGU6IGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3RhYmxl
cy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dAorICAgICAgICBGRiwgT3BlcmEgYW5kIElFIGFsbCBw
YXNzIHRoZXNlIHR3byB0ZXN0cy4KKworICAgICAgICBUZXN0czogY3NzMi4xLzIwMTEwMzIzL2Zp
eGVkLXRhYmxlLWxheW91dC0wMTMuaHRtCisgICAgICAgICAgICAgICBjc3MyLjEvMjAxMTAzMjMv
Zml4ZWQtdGFibGUtbGF5b3V0LTAxNS5odG0KKworICAgICAgICAqIHJlbmRlcmluZy9GaXhlZFRh
YmxlTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5leHRDb2wpOiBBIGhlbHBlciBmdW5j
dGlvbiBmb3IgZmluZGluZyB0aGUgbmV4dCBjb2x1bW4gYWxvbmcuCisgICAgICAgIChXZWJDb3Jl
OjpGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheSk6IElnbm9yZSB3aWR0aCBzcGVjaWZp
ZWQgYnkgY29sdW1uIGdyb3Vwcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ29sOjppc1RhYmxlQ29sR3JvdXApOiBD
b252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgaWRlbnRpZnlpbmcgY29sdW1uIGdyb3Vwcy4KKwogMjAx
Mi0wMi0wNyAgTWF0dGhldyBEZWxhbmV5ICA8bWRlbGFuZXlAYXBwbGUuY29tPgogCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkxMgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwCmluZGV4IGZlOTdjNjM2ZjJh
ZTg2MThkY2U1MjZjNmJmNzUyNGU2Zjc0YzFlZWUuLjBlN2NkMjkyNTAzNDQ4YjdiNzkxYWExMjgx
MjFmNDgwYmE1ODE1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhl
ZFRhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRml4ZWRUYWJs
ZUxheW91dC5jcHAKQEAgLTc3LDYgKzc3LDIwIEBAIEZpeGVkVGFibGVMYXlvdXQ6OkZpeGVkVGFi
bGVMYXlvdXQoUmVuZGVyVGFibGUqIHRhYmxlKQogewogfQogCitzdGF0aWMgUmVuZGVyT2JqZWN0
KiBuZXh0Q29sKFJlbmRlck9iamVjdCogY2hpbGQpCit7CisgICAgLy8gSWYgY2hpbGQgaXMgYSBj
b2xncm91cCwgdGhlIG5leHQgY29sIGlzIHRoZSBjb2xncm91cCdzIGZpcnN0IGNoaWxkIGNvbC4K
KyAgICBpZiAoUmVuZGVyT2JqZWN0KiBuZXh0ID0gY2hpbGQtPmZpcnN0Q2hpbGQoKSkKKyAgICAg
ICAgcmV0dXJuIG5leHQ7CisgICAgLy8gT3RoZXJ3aXNlIGl0J3MgdGhlIG5leHQgY29sIGFsb25n
LgorICAgIGlmIChSZW5kZXJPYmplY3QqIG5leHQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkKKyAg
ICAgICAgcmV0dXJuIG5leHQ7CisgICAgLy8gRmFpbGluZyB0aGF0LCB0aGUgY2hpbGQgaXMgdGhl
IGxhc3QgY29sIGluIGEgY29sZ3JvdXAsIHNvIHRoZSBuZXh0IGNvbCBpcyB0aGUgbmV4dCBjb2wv
Y29sZ3JvdXAgYWZ0ZXIgaXRzIGNvbGdyb3VwLgorICAgIGlmIChjaGlsZC0+cGFyZW50KCktPmlz
VGFibGVDb2woKSkKKyAgICAgICAgcmV0dXJuIGNoaWxkLT5wYXJlbnQoKS0+bmV4dFNpYmxpbmco
KTsKKyAgICByZXR1cm4gMDsKK30KKwogaW50IEZpeGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0aEFy
cmF5KGludCkKIHsKICAgICBpbnQgdXNlZFdpZHRoID0gMDsKQEAgLTg4LDU0ICsxMDIsNDMgQEAg
aW50IEZpeGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0aEFycmF5KGludCkKICAgICBtX3dpZHRoLmZp
bGwoTGVuZ3RoKEF1dG8pKTsKIAogICAgIHVuc2lnbmVkIGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4g
PSAwOwotICAgIExlbmd0aCBncnBXaWR0aDsKLSAgICB3aGlsZSAoY2hpbGQgJiYgY2hpbGQtPmlz
VGFibGVDb2woKSkgeworICAgIGZvciAoO2NoaWxkICYmIGNoaWxkLT5pc1RhYmxlQ29sKCk7IGNo
aWxkID0gbmV4dENvbChjaGlsZCkpIHsKKworICAgICAgICAvLyBXaWR0aCBzcGVjaWZpZWQgYnkg
Y29sdW1uLWdyb3VwcyBkb2VzIG5vdCBhZmZlY3QgY29sdW1uIHdpZHRoIGluIGZpeGVkIGxheW91
dCB0YWJsZXMKICAgICAgICAgUmVuZGVyVGFibGVDb2wqIGNvbCA9IHRvUmVuZGVyVGFibGVDb2wo
Y2hpbGQpOwotICAgICAgICBpZiAoY29sLT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICBncnBX
aWR0aCA9IGNvbC0+c3R5bGUoKS0+bG9naWNhbFdpZHRoKCk7Ci0gICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgTGVuZ3RoIHcgPSBjb2wtPnN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpOwotICAgICAg
ICAgICAgaWYgKHcuaXNBdXRvKCkpCi0gICAgICAgICAgICAgICAgdyA9IGdycFdpZHRoOwotICAg
ICAgICAgICAgaW50IGVmZldpZHRoID0gMDsKLSAgICAgICAgICAgIGlmICh3LmlzRml4ZWQoKSAm
JiB3LnZhbHVlKCkgPiAwKQotICAgICAgICAgICAgICAgIGVmZldpZHRoID0gdy52YWx1ZSgpOwot
Ci0gICAgICAgICAgICB1bnNpZ25lZCBzcGFuID0gY29sLT5zcGFuKCk7Ci0gICAgICAgICAgICB3
aGlsZSAoc3BhbikgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNwYW5JbkN1cnJlbnRFZmZl
Y3RpdmVDb2x1bW47Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4g
Pj0gbkVmZkNvbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgbV90YWJsZS0+YXBwZW5kQ29sdW1u
KHNwYW4pOworICAgICAgICBpZiAoY29sLT5pc1RhYmxlQ29sR3JvdXAoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgTGVuZ3RoIGNvbFN0eWxlTG9naWNhbFdpZHRo
ID0gY29sLT5zdHlsZSgpLT5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgaW50IGVmZmVjdGl2ZUNv
bFdpZHRoID0gMDsKKyAgICAgICAgaWYgKGNvbFN0eWxlTG9naWNhbFdpZHRoLmlzRml4ZWQoKSAm
JiBjb2xTdHlsZUxvZ2ljYWxXaWR0aC52YWx1ZSgpID4gMCkKKyAgICAgICAgICAgIGVmZmVjdGl2
ZUNvbFdpZHRoID0gY29sU3R5bGVMb2dpY2FsV2lkdGgudmFsdWUoKTsKKworICAgICAgICB1bnNp
Z25lZCBzcGFuID0gY29sLT5zcGFuKCk7CisgICAgICAgIHdoaWxlIChzcGFuKSB7CisgICAgICAg
ICAgICB1bnNpZ25lZCBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uOworICAgICAgICAgICAg
aWYgKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4gPj0gbkVmZkNvbHMpIHsKKyAgICAgICAgICAgICAg
ICBtX3RhYmxlLT5hcHBlbmRDb2x1bW4oc3Bhbik7CisgICAgICAgICAgICAgICAgbkVmZkNvbHMr
KzsKKyAgICAgICAgICAgICAgICBtX3dpZHRoLmFwcGVuZChMZW5ndGgoKSk7CisgICAgICAgICAg
ICAgICAgc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbiA9IHNwYW47CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChzcGFuIDwgbV90YWJsZS0+c3Bhbk9mRWZmQ29s
KGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4pKSB7CisgICAgICAgICAgICAgICAgICAgIG1fdGFibGUt
PnNwbGl0Q29sdW1uKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4sIHNwYW4pOwogICAgICAgICAgICAg
ICAgICAgICBuRWZmQ29scysrOwogICAgICAgICAgICAgICAgICAgICBtX3dpZHRoLmFwcGVuZChM
ZW5ndGgoKSk7Ci0gICAgICAgICAgICAgICAgICAgIHNwYW5JbkN1cnJlbnRFZmZlY3RpdmVDb2x1
bW4gPSBzcGFuOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChzcGFuIDwgbV90YWJsZS0+c3Bhbk9mRWZmQ29sKGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4p
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3RhYmxlLT5zcGxpdENvbHVtbihjdXJyZW50
RWZmZWN0aXZlQ29sdW1uLCBzcGFuKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5FZmZDb2xz
Kys7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3dpZHRoLmFwcGVuZChMZW5ndGgoKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgc3BhbkluQ3VycmVudEVm
ZmVjdGl2ZUNvbHVtbiA9IG1fdGFibGUtPnNwYW5PZkVmZkNvbChjdXJyZW50RWZmZWN0aXZlQ29s
dW1uKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKCh3LmlzRml4ZWQo
KSB8fCB3LmlzUGVyY2VudCgpKSAmJiB3LmlzUG9zaXRpdmUoKSkgewotICAgICAgICAgICAgICAg
ICAgICBtX3dpZHRoW2N1cnJlbnRFZmZlY3RpdmVDb2x1bW5dID0gdzsKLSAgICAgICAgICAgICAg
ICAgICAgbV93aWR0aFtjdXJyZW50RWZmZWN0aXZlQ29sdW1uXSAqPSBzcGFuSW5DdXJyZW50RWZm
ZWN0aXZlQ29sdW1uOwotICAgICAgICAgICAgICAgICAgICB1c2VkV2lkdGggKz0gZWZmV2lkdGgg
KiBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBzcGFuIC09IHNwYW5JbkN1cnJlbnRFZmZlY3RpdmVDb2x1bW47Ci0gICAgICAg
ICAgICAgICAgY3VycmVudEVmZmVjdGl2ZUNvbHVtbisrOworICAgICAgICAgICAgICAgIHNwYW5J
bkN1cnJlbnRFZmZlY3RpdmVDb2x1bW4gPSBtX3RhYmxlLT5zcGFuT2ZFZmZDb2woY3VycmVudEVm
ZmVjdGl2ZUNvbHVtbik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKGNvbFN0eWxl
TG9naWNhbFdpZHRoLmlzRml4ZWQoKSB8fCBjb2xTdHlsZUxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQo
KSkgJiYgY29sU3R5bGVMb2dpY2FsV2lkdGguaXNQb3NpdGl2ZSgpKSB7CisgICAgICAgICAgICAg
ICAgbV93aWR0aFtjdXJyZW50RWZmZWN0aXZlQ29sdW1uXSA9IGNvbFN0eWxlTG9naWNhbFdpZHRo
OworICAgICAgICAgICAgICAgIG1fd2lkdGhbY3VycmVudEVmZmVjdGl2ZUNvbHVtbl0gKj0gc3Bh
bkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKKyAgICAgICAgICAgICAgICB1c2VkV2lkdGggKz0g
ZWZmZWN0aXZlQ29sV2lkdGggKiBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uOwogICAgICAg
ICAgICAgfQorICAgICAgICAgICAgc3BhbiAtPSBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1u
OworICAgICAgICAgICAgY3VycmVudEVmZmVjdGl2ZUNvbHVtbisrOwogICAgICAgICB9CiAgICAg
ICAgIGNvbC0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKLQotICAgICAgICBSZW5k
ZXJPYmplY3QqIG5leHQgPSBjaGlsZC0+Zmlyc3RDaGlsZCgpOwotICAgICAgICBpZiAoIW5leHQp
Ci0gICAgICAgICAgICBuZXh0ID0gY2hpbGQtPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgIGlmICgh
bmV4dCAmJiBjaGlsZC0+cGFyZW50KCktPmlzVGFibGVDb2woKSkgewotICAgICAgICAgICAgbmV4
dCA9IGNoaWxkLT5wYXJlbnQoKS0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgIGdycFdpZHRo
ID0gTGVuZ3RoKCk7Ci0gICAgICAgIH0KLSAgICAgICAgY2hpbGQgPSBuZXh0OwogICAgIH0KIAog
ICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgZmlyc3Qgcm93IGluIGNhc2Ugc29tZSBhcmUgdW5zcGVj
aWZpZWQuCkBAIC0xNTIsOSArMTU1LDkgQEAgaW50IEZpeGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0
aEFycmF5KGludCkKIAogICAgICAgICAgICAgICAgIExlbmd0aCB3ID0gY2VsbC0+c3R5bGVPckNv
bExvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNwYW4gPSBjZWxsLT5j
b2xTcGFuKCk7Ci0gICAgICAgICAgICAgICAgaW50IGVmZldpZHRoID0gMDsKKyAgICAgICAgICAg
ICAgICBpbnQgZWZmZWN0aXZlQ29sV2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGlmICh3Lmlz
Rml4ZWQoKSAmJiB3LmlzUG9zaXRpdmUoKSkKLSAgICAgICAgICAgICAgICAgICAgZWZmV2lkdGgg
PSB3LnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZUNvbFdpZHRoID0gdy52
YWx1ZSgpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHVzZWRT
cGFuID0gMDsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpID0gMDsKQEAgLTE2NCw3ICsxNjcs
NyBAQCBpbnQgRml4ZWRUYWJsZUxheW91dDo6Y2FsY1dpZHRoQXJyYXkoaW50KQogICAgICAgICAg
ICAgICAgICAgICBpZiAobV93aWR0aFtjQ29sICsgaV0uaXNBdXRvKCkgJiYgdy50eXBlKCkgIT0g
QXV0bykgewogICAgICAgICAgICAgICAgICAgICAgICAgbV93aWR0aFtjQ29sICsgaV0gPSB3Owog
ICAgICAgICAgICAgICAgICAgICAgICAgbV93aWR0aFtjQ29sICsgaV0gKj0gZVNwYW4gLyBzcGFu
OwotICAgICAgICAgICAgICAgICAgICAgICAgdXNlZFdpZHRoICs9IGVmZldpZHRoICogZVNwYW4g
LyBzcGFuOworICAgICAgICAgICAgICAgICAgICAgICAgdXNlZFdpZHRoICs9IGVmZmVjdGl2ZUNv
bFdpZHRoICogZVNwYW4gLyBzcGFuOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgIHVzZWRTcGFuICs9IGVTcGFuOwogICAgICAgICAgICAgICAgICAgICBpKys7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCmluZGV4IDc2YzI4YTNhNTdi
ZmZjZjNjNmE0NGYyZDYwOGFkZmRiYTZlODY4ZjkuLmRhMDM3Yjg2MzE5NTcwZDQ4NTYyMGFmN2M2
NjE2NTVlOTE5ZjgxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNvbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNv
bC5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHNwYW4oKSBjb25z
dCB7IHJldHVybiBtX3NwYW47IH0KICAgICB2b2lkIHNldFNwYW4odW5zaWduZWQgc3BhbikgeyBt
X3NwYW4gPSBzcGFuOyB9Ci0KKyAgICBib29sIGlzVGFibGVDb2xHcm91cCgpIHsgcmV0dXJuIGZp
cnN0Q2hpbGQoKSA/IHRydWUgOiBmYWxzZTsgfQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsg
fQogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRy
ZW4oKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbigpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzA1MjM2ZWExOGViYjg4
ODJmOGQ2NWEzMTRhYTVkZmU1NmU5NDRjNS4uYzg5NWY4NDdlNmMzNDNlYmIyYTdhZmU2N2FlNWMx
Mjk4YjQ1ZGVhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTA3ICBSb2JlcnQgSG9n
YW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGZpeGVk
LXRhYmxlLWxheW91dC0wMTMgYW5kIGZpeGVkLXRhYmxlLWxheW91dC0wMTUgZmFpbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczIuMS8yMDExMDMy
My9maXhlZC10YWJsZS1sYXlvdXQtMDEzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEzLmh0bTogQWRkZWQuCisgICAg
ICAgICogY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTUtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0w
MTUuaHRtOiBBZGRlZC4KKwogMjAxMi0wMi0wNyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHBhaW50IHRo
ZSBib3RzIGdyZWVuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2Zp
eGVkLXRhYmxlLWxheW91dC0wMTMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczIuMS8y
MDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzU4M2VjMDcxMWQ1YjVkMjRhMmUzOTVlZDQ2MWY5Mzk1ZGMyZmYyOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEzLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0
LmR0ZCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkNTUyBUZXN0OiBSZWZl
cmVuY2UgUmVzdWx0PC90aXRsZT4KKyAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgICAgICAgIHRhYmxlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9yZGVyLWNv
bGxhcHNlOiBjb2xsYXBzZTsKKyAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOwor
ICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICNjZWxsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgI2RpdjEKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVl
OworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICNkaXYxLCAjY2VsbAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhlaWdodDog
MWVtOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlIGJveGVzIGJlbG93IGFyZSB0aGUg
c2FtZSB3aWR0aC48L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAgIDx0cj4KKyAgICAg
ICAgICAgICAgICA8dGQgaWQ9ImNlbGwiPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjwvdGQ+
CisgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYgaWQ9ImRp
djEiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUt
bGF5b3V0LTAxMy5odG0gYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUt
bGF5b3V0LTAxMy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRhZGM5YWY3MTUxZTE0YWIxYzc4ZjUwNDI3NWRl
Mzc2NzQ4ZGU1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMy
My9maXhlZC10YWJsZS1sYXlvdXQtMDEzLmh0bQpAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUg
aHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+Q1NTIFRlc3Q6IEZpeGVkIHRhYmxlIGxheW91dCAtIHNwZWNpZmllZCBjb2x1bW4tZ3JvdXAg
d2lkdGg8L3RpdGxlPgorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29m
dCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyI+CisgICAgICAgIDxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvdGFibGVzLmh0bWwjZml4ZWQt
dGFibGUtbGF5b3V0Ij4KKyAgICAgICAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRlbnQ9IiI+Cisg
ICAgICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iU3BlY2lmaWVkIGNvbHVtbi1ncm91
cCB3aWR0aCBpcyBpZ25vcmVkIGluIGZpeGVkIHRhYmxlIGxheW91dC4iPgorICAgICAgICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAgdGFibGUKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgICAgICAgICAgICAg
IHRhYmxlLWxheW91dDogZml4ZWQ7CisgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgI2NvbGdyb3VwCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDUwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjY2VsbAor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgI2RpdjEKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBiYWNrZ3JvdW5kOiBibHVlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICNkaXYxLCAjY2VsbAorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGhlaWdodDogMWVtOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlIGJv
eGVzIGJlbG93IGFyZSB0aGUgc2FtZSB3aWR0aC48L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAg
ICAgICAgIDxjb2xncm91cCBpZD0iY29sZ3JvdXAiPgorICAgICAgICAgICAgICAgIDxjb2w+Cisg
ICAgICAgICAgICA8L2NvbGdyb3VwPgorICAgICAgICAgICAgPGNvbGdyb3VwPgorICAgICAgICAg
ICAgICAgIDxjb2w+CisgICAgICAgICAgICA8L2NvbGdyb3VwPgorICAgICAgICAgICAgPHRyPgor
ICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbCI+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+
PC90ZD4KKyAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPGRpdiBp
ZD0iZGl2MSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9maXhlZC10
YWJsZS1sYXlvdXQtMDE1LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAz
MjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxNS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNTc4
MTU3ZTU2ZTRmOTY1NWM2ZjI4ZDVjYTZlYjMxMDlhOWZhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxNS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9E
VEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQi
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5DU1MgVGVzdDogUmVmZXJlbmNl
IFJlc3VsdDwvdGl0bGU+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAg
ICAgICB0YWJsZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJvcmRlci1zcGFjaW5n
OiAwOworICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2NlbGwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjazsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0ZAorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAjZGl2MQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6
IGJsdWU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgI2RpdjEsIHRkCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxZW07CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5PgorICAgICAgICA8cD5UZXN0IHBhc3NlcyBpZiB0aGUgYm94ZXMgYmVsb3cgYXJlIHRo
ZSBzYW1lIHdpZHRoLjwvcD4KKyAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgPHRyPgorICAg
ICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbCI+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PC90
ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYgaWQ9
ImRpdjEiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFi
bGUtbGF5b3V0LTAxNS5odG0gYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFi
bGUtbGF5b3V0LTAxNS5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRkYTUyMDNhYThiNmEyOWI4ZmIyNDc1MzI0
ODk4NjBkMzBlMDRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczIuMS8yMDEx
MDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDE1Lmh0bQpAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
dGl0bGU+Q1NTIFRlc3Q6IEZpeGVkIHRhYmxlIGxheW91dCAtIHNwZWNpZmllZCBjZWxsIHdpZHRo
IG92ZXJyaWRlcyBzcGVjaWZpZWQgY29sdW1uLWdyb3VwIHdpZHRoPC90aXRsZT4KKyAgICAgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWlj
cm9zb2Z0LmNvbS8iPgorICAgICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL0NTUzIxL3RhYmxlcy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dCI+CisgICAgICAg
IDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSIiPgorICAgICAgICA8bWV0YSBuYW1lPSJhc3Nl
cnQiIGNvbnRlbnQ9IkEgY29sdW1uIHRoYXQgaGFzIGJvdGggYSBjZWxsIHdpZHRoIGFuZCBjb2x1
bW4tZ3JvdXAgd2lkdGggc3BlY2lmaWVkIHdpbGwgdXNlIGl0cyBjZWxsIHNwZWNpZmllZCB3aWR0
aC4iPgorICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAgdGFibGUK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICAg
ICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOworICAgICAgICAgICAgICAgIHdpZHRoOiAy
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNjb2xncm91cAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4OworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgI2NlbGwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFj
azsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB0ZAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAjZGl2MQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgI2RpdjEsIHRkCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxZW07CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHBhc3NlcyBpZiB0aGUgYm94
ZXMgYmVsb3cgYXJlIHRoZSBzYW1lIHdpZHRoLjwvcD4KKyAgICAgICAgPHRhYmxlPgorICAgICAg
ICAgICAgPGNvbGdyb3VwIGlkPSJjb2xncm91cCI+CisgICAgICAgICAgICAgICAgPGNvbD4KKyAg
ICAgICAgICAgIDwvY29sZ3JvdXA+CisgICAgICAgICAgICA8Y29sZ3JvdXA+CisgICAgICAgICAg
ICAgICAgPGNvbD4KKyAgICAgICAgICAgIDwvY29sZ3JvdXA+CisgICAgICAgICAgICA8dHI+Cisg
ICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsIj48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48
L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPGRpdiBp
ZD0iZGl2MSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>127816</attachid>
            <date>2012-02-20 06:06:18 -0800</date>
            <delta_ts>2012-02-20 06:06:18 -0800</delta_ts>
            <desc>column-width-problem</desc>
            <filename>fixed-table-layout-0132.htm</filename>
            <type>text/html</type>
            <size>1276</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPgogICAgPGhlYWQ+CiAgICAg
ICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAgICAgdGFibGUKICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgICAgICAg
ICAgIHRhYmxlLWxheW91dDogZml4ZWQ7CiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7CiAg
ICAgICAgICAgIH0KICAgICAgICAgICAgI2NlbGwKICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgYmFja2dyb3VuZDogYmxhY2s7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgI2RpdjEKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsKICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAjZGl2MSwgI2NlbGwK
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07CiAgICAgICAgICAgIH0K
ICAgICAgICA8L3N0eWxlPgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGZ1bmN0aW9uIHRv
Z2dsZVdpZHRoKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGNvbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb2xncm91cCcpLmNoaWxkcmVuWzBdOwogICAgICAgICAgICAg
ICAgY29sLnN0eWxlLndpZHRoID0gd2luZG93LnRvZ2dsZWQgPyAiNTBweCIgOiAiMTAwcHgiOwog
ICAgICAgICAgICAgICAgd2luZG93LnRvZ2dsZWQgPSAhd2luZG93LnRvZ2dsZWQ7CiAgICAgICAg
ICAgIH0KICAgICAgICA8L3NjcmlwdD4KICAgIDwvaGVhZD4KICAgIDxib2R5PgogICAgICAgIDx0
YWJsZT4KICAgICAgICAgICAgPGNvbGdyb3VwIGlkPSJjb2xncm91cCI+CiAgICAgICAgICAgICAg
ICA8Y29sIHN0eWxlPSJ3aWR0aDogNTBweCI+CiAgICAgICAgICAgICAgICA8Y29sPgogICAgICAg
ICAgICA8L2NvbGdyb3VwPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQgaWQ9
ImNlbGwiPjwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICA8L3RyPgog
ICAgICAgIDwvdGFibGU+CiAgICAgICAgPGRpdiBpZD0iZGl2MSI+PC9kaXY+CiAgICAgICAgPGJ1
dHRvbiBvbmNsaWNrPSJ0b2dnbGVXaWR0aCgpIj5Ub2dnbGUgY29sdW1uIHdpZHRoLjwvYnV0dG9u
PgogICAgPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132119</attachid>
            <date>2012-03-15 14:23:43 -0700</date>
            <delta_ts>2012-03-15 15:43:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78027-20120315212341.patch</filename>
            <type>text/plain</type>
            <size>18680</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2E5ZDI3NTEzNTk5ZDI5
ZGZmMzhjODM5ZTQ5OTU2NGQyNzNiYjhjNS4uZDM3MjBjZWE1N2E4MzZmMzczYzAxMmY1MzU3Nzc2
MzY0ZTRmY2VmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAyLTA3ICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBDU1MgMi4xIGZhaWx1cmU6
IGZpeGVkLXRhYmxlLWxheW91dC0wMTMgYW5kIGZpeGVkLXRhYmxlLWxheW91dC0wMTUgZmFpbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCb3RoIG9mIHRo
ZXNlIHRlc3QgdGhlIChzbGlnaHRseSBpbXBsaWNpdCkgcnVsZSB0aGF0IHdpZHRoIHNldCBvbiBj
b2x1bW4tZ3JvdXBzIGNhbm5vdAorICAgICAgICBhZmZlY3QgdGhlIHdpZHRoIG9mIGNvbHVtbnMg
aW4gYSBmaXhlZCBsYXlvdXQgdGFibGU6IGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3RhYmxl
cy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dAorICAgICAgICBGRiwgT3BlcmEgYW5kIElFIGFsbCBw
YXNzIHRoZXNlIHR3byB0ZXN0cy4KKworICAgICAgICBUZXN0czogY3NzMi4xLzIwMTEwMzIzL2Zp
eGVkLXRhYmxlLWxheW91dC0wMTMuaHRtCisgICAgICAgICAgICAgICBjc3MyLjEvMjAxMTAzMjMv
Zml4ZWQtdGFibGUtbGF5b3V0LTAxNS5odG0KKyAgICAgICAgICAgICAgIGZhc3QvdGFibGUvZml4
ZWQtdGFibGUtbGF5b3V0LXRvZ2dsZS1jb2x3aWR0aC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvRml4ZWRUYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZXh0Q29sKTogQSBo
ZWxwZXIgZnVuY3Rpb24gZm9yIGZpbmRpbmcgdGhlIG5leHQgY29sdW1uIGFsb25nLgorICAgICAg
ICAoV2ViQ29yZTo6Rml4ZWRUYWJsZUxheW91dDo6Y2FsY1dpZHRoQXJyYXkpOiBJZ25vcmUgd2lk
dGggc3BlY2lmaWVkIGJ5IGNvbHVtbiBncm91cHMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ29sLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6aXNUYWJsZUNv
bEdyb3VwKTogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGlkZW50aWZ5aW5nIGNvbHVtbiBncm91
cHMuCisKIDIwMTItMDMtMTUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBub3JtYWxpemUgdmVydGljYWwgb3ZlcnZpZXcgYmFy
cyBieSBsb25nZXN0IGJhciwgbm90IGJ5IGxvbmdlc3QgZnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNwcAppbmRleCBmZTk3YzYzNmYyYWU4NjE4ZGNl
NTI2YzZiZjc1MjRlNmY3NGMxZWVlLi5jMTYxODc0YjI2OTQ1YzYzY2I0MzIzZTg3YTExZmZiZTA5
NWExMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRml4ZWRUYWJsZUxh
eW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQu
Y3BwCkBAIC03Nyw2ICs3NywyMCBAQCBGaXhlZFRhYmxlTGF5b3V0OjpGaXhlZFRhYmxlTGF5b3V0
KFJlbmRlclRhYmxlKiB0YWJsZSkKIHsKIH0KIAorc3RhdGljIFJlbmRlck9iamVjdCogbmV4dENv
bChSZW5kZXJPYmplY3QqIGNoaWxkKQoreworICAgIC8vIElmIGNoaWxkIGlzIGEgY29sZ3JvdXAs
IHRoZSBuZXh0IGNvbCBpcyB0aGUgY29sZ3JvdXAncyBmaXJzdCBjaGlsZCBjb2wuCisgICAgaWYg
KFJlbmRlck9iamVjdCogbmV4dCA9IGNoaWxkLT5maXJzdENoaWxkKCkpCisgICAgICAgIHJldHVy
biBuZXh0OworICAgIC8vIE90aGVyd2lzZSBpdCdzIHRoZSBuZXh0IGNvbCBhbG9uZy4KKyAgICBp
ZiAoUmVuZGVyT2JqZWN0KiBuZXh0ID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCisgICAgICAgIHJl
dHVybiBuZXh0OworICAgIC8vIEZhaWxpbmcgdGhhdCwgdGhlIGNoaWxkIGlzIHRoZSBsYXN0IGNv
bCBpbiBhIGNvbGdyb3VwLCBzbyB0aGUgbmV4dCBjb2wgaXMgdGhlIG5leHQgY29sL2NvbGdyb3Vw
IGFmdGVyIGl0cyBjb2xncm91cC4KKyAgICBpZiAoY2hpbGQtPnBhcmVudCgpLT5pc1RhYmxlQ29s
KCkpCisgICAgICAgIHJldHVybiBjaGlsZC0+cGFyZW50KCktPm5leHRTaWJsaW5nKCk7CisgICAg
cmV0dXJuIDA7Cit9CisKIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShpbnQp
CiB7CiAgICAgaW50IHVzZWRXaWR0aCA9IDA7CkBAIC04OCw1NCArMTAyLDQ1IEBAIGludCBGaXhl
ZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShpbnQpCiAgICAgbV93aWR0aC5maWxsKExlbmd0
aChBdXRvKSk7CiAKICAgICB1bnNpZ25lZCBjdXJyZW50RWZmZWN0aXZlQ29sdW1uID0gMDsKLSAg
ICBMZW5ndGggZ3JwV2lkdGg7Ci0gICAgd2hpbGUgKGNoaWxkICYmIGNoaWxkLT5pc1RhYmxlQ29s
KCkpIHsKKyAgICBmb3IgKDtjaGlsZCAmJiBjaGlsZC0+aXNUYWJsZUNvbCgpOyBjaGlsZCA9IG5l
eHRDb2woY2hpbGQpKSB7CisKKyAgICAgICAgLy8gV2lkdGggc3BlY2lmaWVkIGJ5IGNvbHVtbi1n
cm91cHMgZG9lcyBub3QgYWZmZWN0IGNvbHVtbiB3aWR0aCBpbiBmaXhlZCBsYXlvdXQgdGFibGVz
CiAgICAgICAgIFJlbmRlclRhYmxlQ29sKiBjb2wgPSB0b1JlbmRlclRhYmxlQ29sKGNoaWxkKTsK
LSAgICAgICAgaWYgKGNvbC0+Zmlyc3RDaGlsZCgpKQotICAgICAgICAgICAgZ3JwV2lkdGggPSBj
b2wtPnN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IExlbmd0aCB3ID0gY29sLT5zdHlsZSgpLT5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgIGlm
ICh3LmlzQXV0bygpKQotICAgICAgICAgICAgICAgIHcgPSBncnBXaWR0aDsKLSAgICAgICAgICAg
IGludCBlZmZXaWR0aCA9IDA7Ci0gICAgICAgICAgICBpZiAody5pc0ZpeGVkKCkgJiYgdy52YWx1
ZSgpID4gMCkKLSAgICAgICAgICAgICAgICBlZmZXaWR0aCA9IHcudmFsdWUoKTsKLQotICAgICAg
ICAgICAgdW5zaWduZWQgc3BhbiA9IGNvbC0+c3BhbigpOwotICAgICAgICAgICAgd2hpbGUgKHNw
YW4pIHsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29s
dW1uOwotICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWZmZWN0aXZlQ29sdW1uID49IG5FZmZD
b2xzKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fdGFibGUtPmFwcGVuZENvbHVtbihzcGFuKTsK
KyAgICAgICAgaWYgKGNvbC0+aXNUYWJsZUNvbEdyb3VwKCkpIHsKKyAgICAgICAgICAgIGNvbC0+
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICB9IAorCisgICAgICAgIExlbmd0aCBjb2xTdHlsZUxvZ2ljYWxXaWR0aCA9IGNvbC0+
c3R5bGUoKS0+bG9naWNhbFdpZHRoKCk7CisgICAgICAgIGludCBlZmZlY3RpdmVDb2xXaWR0aCA9
IDA7CisgICAgICAgIGlmIChjb2xTdHlsZUxvZ2ljYWxXaWR0aC5pc0ZpeGVkKCkgJiYgY29sU3R5
bGVMb2dpY2FsV2lkdGgudmFsdWUoKSA+IDApCisgICAgICAgICAgICBlZmZlY3RpdmVDb2xXaWR0
aCA9IGNvbFN0eWxlTG9naWNhbFdpZHRoLnZhbHVlKCk7CisKKyAgICAgICAgdW5zaWduZWQgc3Bh
biA9IGNvbC0+c3BhbigpOworICAgICAgICB3aGlsZSAoc3BhbikgeworICAgICAgICAgICAgdW5z
aWduZWQgc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKKyAgICAgICAgICAgIGlmIChjdXJy
ZW50RWZmZWN0aXZlQ29sdW1uID49IG5FZmZDb2xzKSB7CisgICAgICAgICAgICAgICAgbV90YWJs
ZS0+YXBwZW5kQ29sdW1uKHNwYW4pOworICAgICAgICAgICAgICAgIG5FZmZDb2xzKys7CisgICAg
ICAgICAgICAgICAgbV93aWR0aC5hcHBlbmQoTGVuZ3RoKCkpOworICAgICAgICAgICAgICAgIHNw
YW5JbkN1cnJlbnRFZmZlY3RpdmVDb2x1bW4gPSBzcGFuOworICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICBpZiAoc3BhbiA8IG1fdGFibGUtPnNwYW5PZkVmZkNvbChjdXJyZW50
RWZmZWN0aXZlQ29sdW1uKSkgeworICAgICAgICAgICAgICAgICAgICBtX3RhYmxlLT5zcGxpdENv
bHVtbihjdXJyZW50RWZmZWN0aXZlQ29sdW1uLCBzcGFuKTsKICAgICAgICAgICAgICAgICAgICAg
bkVmZkNvbHMrKzsKICAgICAgICAgICAgICAgICAgICAgbV93aWR0aC5hcHBlbmQoTGVuZ3RoKCkp
OwotICAgICAgICAgICAgICAgICAgICBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uID0gc3Bh
bjsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoc3Bh
biA8IG1fdGFibGUtPnNwYW5PZkVmZkNvbChjdXJyZW50RWZmZWN0aXZlQ29sdW1uKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbV90YWJsZS0+c3BsaXRDb2x1bW4oY3VycmVudEVmZmVjdGl2
ZUNvbHVtbiwgc3Bhbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuRWZmQ29scysrOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbV93aWR0aC5hcHBlbmQoTGVuZ3RoKCkpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHNwYW5JbkN1cnJlbnRFZmZlY3RpdmVD
b2x1bW4gPSBtX3RhYmxlLT5zcGFuT2ZFZmZDb2woY3VycmVudEVmZmVjdGl2ZUNvbHVtbik7CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgody5pc0ZpeGVkKCkgfHwgdy5p
c1BlcmNlbnQoKSkgJiYgdy5pc1Bvc2l0aXZlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV93
aWR0aFtjdXJyZW50RWZmZWN0aXZlQ29sdW1uXSA9IHc7Ci0gICAgICAgICAgICAgICAgICAgIG1f
d2lkdGhbY3VycmVudEVmZmVjdGl2ZUNvbHVtbl0gKj0gc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNv
bHVtbjsKLSAgICAgICAgICAgICAgICAgICAgdXNlZFdpZHRoICs9IGVmZldpZHRoICogc3Bhbklu
Q3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgc3BhbiAtPSBzcGFuSW5DdXJyZW50RWZmZWN0aXZlQ29sdW1uOwotICAgICAgICAgICAgICAg
IGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4rKzsKKyAgICAgICAgICAgICAgICBzcGFuSW5DdXJyZW50
RWZmZWN0aXZlQ29sdW1uID0gbV90YWJsZS0+c3Bhbk9mRWZmQ29sKGN1cnJlbnRFZmZlY3RpdmVD
b2x1bW4pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKChjb2xTdHlsZUxvZ2ljYWxX
aWR0aC5pc0ZpeGVkKCkgfHwgY29sU3R5bGVMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkpICYmIGNv
bFN0eWxlTG9naWNhbFdpZHRoLmlzUG9zaXRpdmUoKSkgeworICAgICAgICAgICAgICAgIG1fd2lk
dGhbY3VycmVudEVmZmVjdGl2ZUNvbHVtbl0gPSBjb2xTdHlsZUxvZ2ljYWxXaWR0aDsKKyAgICAg
ICAgICAgICAgICBtX3dpZHRoW2N1cnJlbnRFZmZlY3RpdmVDb2x1bW5dICo9IHNwYW5JbkN1cnJl
bnRFZmZlY3RpdmVDb2x1bW47CisgICAgICAgICAgICAgICAgdXNlZFdpZHRoICs9IGVmZmVjdGl2
ZUNvbFdpZHRoICogc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHNwYW4gLT0gc3BhbkluQ3VycmVudEVmZmVjdGl2ZUNvbHVtbjsKKyAgICAg
ICAgICAgIGN1cnJlbnRFZmZlY3RpdmVDb2x1bW4rKzsKICAgICAgICAgfQogICAgICAgICBjb2wt
PmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7Ci0KLSAgICAgICAgUmVuZGVyT2JqZWN0
KiBuZXh0ID0gY2hpbGQtPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgaWYgKCFuZXh0KQotICAgICAg
ICAgICAgbmV4dCA9IGNoaWxkLT5uZXh0U2libGluZygpOwotICAgICAgICBpZiAoIW5leHQgJiYg
Y2hpbGQtPnBhcmVudCgpLT5pc1RhYmxlQ29sKCkpIHsKLSAgICAgICAgICAgIG5leHQgPSBjaGls
ZC0+cGFyZW50KCktPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICBncnBXaWR0aCA9IExlbmd0
aCgpOwotICAgICAgICB9Ci0gICAgICAgIGNoaWxkID0gbmV4dDsKICAgICB9CiAKICAgICAvLyBJ
dGVyYXRlIG92ZXIgdGhlIGZpcnN0IHJvdyBpbiBjYXNlIHNvbWUgYXJlIHVuc3BlY2lmaWVkLgpA
QCAtMTUyLDkgKzE1Nyw5IEBAIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShp
bnQpCiAKICAgICAgICAgICAgICAgICBMZW5ndGggdyA9IGNlbGwtPnN0eWxlT3JDb2xMb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzcGFuID0gY2VsbC0+Y29sU3Bhbigp
OwotICAgICAgICAgICAgICAgIGludCBlZmZXaWR0aCA9IDA7CisgICAgICAgICAgICAgICAgaW50
IGVmZmVjdGl2ZUNvbFdpZHRoID0gMDsKICAgICAgICAgICAgICAgICBpZiAody5pc0ZpeGVkKCkg
JiYgdy5pc1Bvc2l0aXZlKCkpCi0gICAgICAgICAgICAgICAgICAgIGVmZldpZHRoID0gdy52YWx1
ZSgpOworICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVDb2xXaWR0aCA9IHcudmFsdWUoKTsK
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICB1bnNpZ25lZCB1c2VkU3BhbiA9IDA7
CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaSA9IDA7CkBAIC0xNjQsNyArMTY5LDcgQEAgaW50
IEZpeGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0aEFycmF5KGludCkKICAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fd2lkdGhbY0NvbCArIGldLmlzQXV0bygpICYmIHcudHlwZSgpICE9IEF1dG8pIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fd2lkdGhbY0NvbCArIGldID0gdzsKICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fd2lkdGhbY0NvbCArIGldICo9IGVTcGFuIC8gc3BhbjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHVzZWRXaWR0aCArPSBlZmZXaWR0aCAqIGVTcGFuIC8gc3BhbjsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHVzZWRXaWR0aCArPSBlZmZlY3RpdmVDb2xXaWR0aCAq
IGVTcGFuIC8gc3BhbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICB1c2VkU3BhbiArPSBlU3BhbjsKICAgICAgICAgICAgICAgICAgICAgaSsrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaAppbmRleCA3NmMyOGEzYTU3YmZmY2YzYzZh
NDRmMmQ2MDhhZGZkYmE2ZTg2OGY5Li5kYTAzN2I4NjMxOTU3MGQ0ODU2MjBhZjdjNjYxNjU1ZTkx
OWY4MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVD
b2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaApAQCAt
NDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBzcGFuKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFuOyB9CiAgICAgdm9pZCBzZXRTcGFuKHVuc2lnbmVkIHNwYW4pIHsgbV9zcGFuID0g
c3BhbjsgfQotCisgICAgYm9vbCBpc1RhYmxlQ29sR3JvdXAoKSB7IHJldHVybiBmaXJzdENoaWxk
KCkgPyB0cnVlIDogZmFsc2U7IH0KIHByaXZhdGU6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3RD
aGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgY29u
c3QgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgwMWRmOTQ3YTNlNjMyNjAzMzUyYTBk
NTMxMzUxODJhNzU2Nzg3ZjguLjU4NjU4MGZiZWU1ZjNiZGE1NTEwMmNjZTA4MmUwN2IyOTQxNjlj
OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMy0xNSAgUm9iZXJ0IEhvZ2FuICA8cm9i
ZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ1NTIDIuMSBmYWlsdXJlOiBmaXhlZC10YWJsZS1s
YXlvdXQtMDEzIGFuZCBmaXhlZC10YWJsZS1sYXlvdXQtMDE1IGZhaWwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDI3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MyLjEvMjAxMTAzMjMvZml4ZWQt
dGFibGUtbGF5b3V0LTAxMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MyLjEv
MjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxMy5odG06IEFkZGVkLgorICAgICAgICAqIGNz
czIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDE1LWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNzczIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDE1Lmh0bTog
QWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS9maXhlZC10YWJsZS1sYXlvdXQtdG9nZ2xlLWNv
bHdpZHRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS9maXhlZC10
YWJsZS1sYXlvdXQtdG9nZ2xlLWNvbHdpZHRoLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE1ICBQ
aGlsaXAgUm9nZXJzICA8cGRyQGdvb2dsZS5jb20+CiAKICAgICAgICAgVGVtcG9yYXJpbHkgc2tp
cCBzdmcvY3VzdG9tL2RlbGV0ZS10ZXh0LWNyYXNoLmh0bWwgb24gbWFjIGFuZCB3aW4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9maXhlZC10YWJsZS1sYXlvdXQtMDEz
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUt
bGF5b3V0LTAxMy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1ODNlYzA3MTFkNWI1ZDI0YTJl
Mzk1ZWQ0NjFmOTM5NWRjMmZmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3My
LjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxMy1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMzggQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9F
TiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDx0aXRsZT5DU1MgVGVzdDogUmVmZXJlbmNlIFJlc3VsdDwvdGl0bGU+
CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgICAgICB0YWJsZQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cisg
ICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMjAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjY2VsbAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrOworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNkaXYxCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjZGl2MSwgI2NlbGwKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDFlbTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRl
c3QgcGFzc2VzIGlmIHRoZSBib3hlcyBiZWxvdyBhcmUgdGhlIHNhbWUgd2lkdGguPC9wPgorICAg
ICAgICA8dGFibGU+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHRkIGlkPSJj
ZWxsIj48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICA8L3RyPgor
ICAgICAgICA8L3RhYmxlPgorICAgICAgICA8ZGl2IGlkPSJkaXYxIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTMuaHRtIGIvTGF5
b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTMuaHRtCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjhkYWRjOWFmNzE1MWUxNGFiMWM3OGY1MDQyNzVkZTM3Njc0OGRlNTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0
LTAxMy5odG0KQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0Mv
L0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0
ZCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkNTUyBUZXN0OiBGaXhlZCB0
YWJsZSBsYXlvdXQgLSBzcGVjaWZpZWQgY29sdW1uLWdyb3VwIHdpZHRoPC90aXRsZT4KKyAgICAg
ICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cu
bWljcm9zb2Z0LmNvbS8iPgorICAgICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL0NTUzIxL3RhYmxlcy5odG1sI2ZpeGVkLXRhYmxlLWxheW91dCI+CisgICAg
ICAgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSIiPgorICAgICAgICA8bWV0YSBuYW1lPSJh
c3NlcnQiIGNvbnRlbnQ9IlNwZWNpZmllZCBjb2x1bW4tZ3JvdXAgd2lkdGggaXMgaWdub3JlZCBp
biBmaXhlZCB0YWJsZSBsYXlvdXQuIj4KKyAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KyAgICAgICAgICAgIHRhYmxlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVk
OworICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICNjb2xncm91cAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2NlbGwKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICNkaXYxCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICAjZGl2MSwgI2NlbGwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDFl
bTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZSBib3hlcyBiZWxvdyBhcmUgdGhlIHNh
bWUgd2lkdGguPC9wPgorICAgICAgICA8dGFibGU+CisgICAgICAgICAgICA8Y29sZ3JvdXAgaWQ9
ImNvbGdyb3VwIj4KKyAgICAgICAgICAgICAgICA8Y29sPgorICAgICAgICAgICAgPC9jb2xncm91
cD4KKyAgICAgICAgICAgIDxjb2xncm91cD4KKyAgICAgICAgICAgICAgICA8Y29sPgorICAgICAg
ICAgICAgPC9jb2xncm91cD4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQg
aWQ9ImNlbGwiPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgIDwv
dHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYgaWQ9ImRpdjEiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5b3V0LTAxNS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91
dC0wMTUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjU3ODE1N2U1NmU0Zjk2NTVjNmYyOGQ1
Y2E2ZWIzMTA5YTlmYWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMi4xLzIw
MTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8dGl0bGU+Q1NTIFRlc3Q6IFJlZmVyZW5jZSBSZXN1bHQ8L3RpdGxlPgorICAg
ICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAgdGFibGUKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICAgICAgICAgICAg
ICB0YWJsZS1sYXlvdXQ6IGZpeGVkOworICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICNjZWxsCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgYmFja2dyb3VuZDogYmxhY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgdGQKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBwYWRkaW5nOiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2RpdjEKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVlOworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNkaXYxLCB0ZAor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhlaWdodDogMWVtOworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+
VGVzdCBwYXNzZXMgaWYgdGhlIGJveGVzIGJlbG93IGFyZSB0aGUgc2FtZSB3aWR0aC48L3A+Cisg
ICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9
ImNlbGwiPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgICA8L3Ry
PgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8ZGl2IGlkPSJkaXYxIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTUuaHRtIGIv
TGF5b3V0VGVzdHMvY3NzMi4xLzIwMTEwMzIzL2ZpeGVkLXRhYmxlLWxheW91dC0wMTUuaHRtCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI0ZGE1MjAzYWE4YjZhMjliOGZiMjQ3NTMyNDg5ODYwZDMwZTA0ZmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvZml4ZWQtdGFibGUtbGF5
b3V0LTAxNS5odG0KQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0
LmR0ZCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkNTUyBUZXN0OiBGaXhl
ZCB0YWJsZSBsYXlvdXQgLSBzcGVjaWZpZWQgY2VsbCB3aWR0aCBvdmVycmlkZXMgc3BlY2lmaWVk
IGNvbHVtbi1ncm91cCB3aWR0aDwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIj4KKyAgICAg
ICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS90YWJs
ZXMuaHRtbCNmaXhlZC10YWJsZS1sYXlvdXQiPgorICAgICAgICA8bWV0YSBuYW1lPSJmbGFncyIg
Y29udGVudD0iIj4KKyAgICAgICAgPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJBIGNvbHVt
biB0aGF0IGhhcyBib3RoIGEgY2VsbCB3aWR0aCBhbmQgY29sdW1uLWdyb3VwIHdpZHRoIHNwZWNp
ZmllZCB3aWxsIHVzZSBpdHMgY2VsbCBzcGVjaWZpZWQgd2lkdGguIj4KKyAgICAgICAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgICAgIHRhYmxlCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgICAgICAgICAgICAgdGFibGUtbGF5
b3V0OiBmaXhlZDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAjY29sZ3JvdXAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogNzVweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNjZWxsCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGQKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgI2RpdjEKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVl
OworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICNkaXYxLCB0ZAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhlaWdodDogMWVt
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlIGJveGVzIGJlbG93IGFyZSB0aGUgc2Ft
ZSB3aWR0aC48L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAgIDxjb2xncm91cCBpZD0i
Y29sZ3JvdXAiPgorICAgICAgICAgICAgICAgIDxjb2w+CisgICAgICAgICAgICA8L2NvbGdyb3Vw
PgorICAgICAgICAgICAgPGNvbGdyb3VwPgorICAgICAgICAgICAgICAgIDxjb2w+CisgICAgICAg
ICAgICA8L2NvbGdyb3VwPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgIDx0ZCBp
ZD0iY2VsbCI+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgIDwv
dHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYgaWQ9ImRpdjEiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2ZpeGVkLXRhYmxlLWxheW91dC10b2dnbGUtY29sd2lk
dGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9maXhlZC10YWJsZS1sYXlv
dXQtdG9nZ2xlLWNvbHdpZHRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGNiOTlkNTlmOTMw
NGE0MjBjODg0ZjUwZTY0MDJiNzI0MGY2OWQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9maXhlZC10YWJsZS1sYXlvdXQtdG9nZ2xlLWNvbHdpZHRoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKK0NlbGwgd2lkdGggd2FzIDQ4cHgKK0NlbGwgd2lkdGggaXMg
OThweAorUEFTU0VEOiBDZWxsIGNoYW5nZWQgd2lkdGgKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9maXhlZC10YWJsZS1sYXlvdXQtdG9nZ2xlLWNvbHdpZHRoLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL2ZpeGVkLXRhYmxlLWxheW91dC10b2dnbGUtY29sd2lkdGgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNTA2ZmEzZWRmNzgwOTVlMjRlOWNlZDc1ZmIxNDJlMTUxZmRjMjQ1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9maXhlZC10YWJsZS1s
YXlvdXQtdG9nZ2xlLWNvbHdpZHRoLmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPCFET0NUWVBFIGh0
bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcv
VFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgICAgIHRhYmxlCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICAgICAgICAgICAgICB0
YWJsZS1sYXlvdXQ6IGZpeGVkOworICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICNjZWxsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgYmFja2dyb3VuZDogYmxhY2s7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjZGl2MQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2RpdjEs
ICNjZWxsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGZ1bmN0aW9uIGxvZyhtc2cpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGNv
bnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnKSk7Cisg
ICAgICAgICAgICAgICAgY29uc29sZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdicicpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHRvZ2dsZVdpZHRo
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgY29sID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbGdyb3VwJykuY2hpbGRyZW5bMF07CisgICAgICAgICAgICAgICAgdmFy
IG9sZENlbGxXaWR0aCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2NlbGwnKSkud2lkdGg7CisgICAgICAgICAgICAgICAgY29sLnN0eWxlLndpZHRoID0gIjEwMHB4
IjsKKyAgICAgICAgICAgICAgICB2YXIgbmV3Q2VsbFdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2VsbCcpKS53aWR0aDsKKworICAgICAgICAgICAgICAg
IGxvZygiQ2VsbCB3aWR0aCB3YXMgIiArIG9sZENlbGxXaWR0aCk7CisgICAgICAgICAgICAgICAg
bG9nKCJDZWxsIHdpZHRoIGlzICIgKyBuZXdDZWxsV2lkdGgpOworICAgICAgICAgICAgICAgIGlm
IChvbGRDZWxsV2lkdGggIT0gbmV3Q2VsbFdpZHRoKQorICAgICAgICAgICAgICAgICAgICBsb2co
IlBBU1NFRDogQ2VsbCBjaGFuZ2VkIHdpZHRoIik7CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICBsb2coIkZBSUxFRDogQ2VsbCBkaWQgbm90IGNoYW5nZSB3aWR0aCIp
OworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD0idG9nZ2xlV2lkdGgoKTsiPgorICAgICAgICA8dGFibGUgaWQ9InRhYmxlIj4KKyAgICAg
ICAgICAgIDxjb2xncm91cCBpZD0iY29sZ3JvdXAiPgorICAgICAgICAgICAgICAgIDxjb2wgc3R5
bGU9IndpZHRoOiA1MHB4Ij4KKyAgICAgICAgICAgICAgICA8Y29sPgorICAgICAgICAgICAgPC9j
b2xncm91cD4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwi
PjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgIDwvdHI+CisgICAg
ICAgIDwvdGFibGU+CisgICAgICAgIDxkaXYgaWQ9ImRpdjEiPjwvZGl2PgorICAgICAgICA8cCBp
ZD0iY29uc29sZSI+PC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwo=
</data>
<flag name="review"
          id="135664"
          type_id="1"
          status="+"
          setter="jchaffraix"
    />
    <flag name="commit-queue"
          id="135683"
          type_id="3"
          status="-"
          setter="jchaffraix"
    />
          </attachment>
      

    </bug>

</bugzilla>