<?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>103597</bug_id>
          
          <creation_ts>2012-11-28 21:08:44 -0800</creation_ts>
          <short_desc>CSS3 Multicolumn: cannot set &quot;auto &lt;length&gt;&quot; to columns property.</short_desc>
          <delta_ts>2022-06-16 23:00:36 -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>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/syoichi/ERREh/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79073</blocked>
    
    <blocked>46590</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Syoichi Tsuyuhara">syoichi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>kenneth</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mstensho</cc>
    
    <cc>odinho</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>778647</commentid>
    <comment_count>0</comment_count>
    <who name="Syoichi Tsuyuhara">syoichi</who>
    <bug_when>2012-11-28 21:08:44 -0800</bug_when>
    <thetext>According to CSS Multi-column Layout Module...
&gt;Name: columns
&gt;Value: &lt;‘column-width’&gt; || &lt;‘column-count’&gt;

&gt;Example XV
&gt;Here are some valid declarations using the ‘columns’ property:
&gt;columns: 12em;      /* column-width: 12em; column-count: auto */
&gt;columns: auto 12em; /* column-width: 12em; column-count: auto */
http://www.w3.org/TR/css3-multicol/#columns

On Windows 7 Home Premium SP1 64bit, Firefox 17.0 and Opera 12.11 correspond to this.
But WebKit r131444 and Chromium 25.0.1338.0 (169999) cannot set &quot;auto 12em&quot; to columns property.
http://jsfiddle.net/syoichi/ERREh/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833983</commentid>
    <comment_count>1</comment_count>
      <attachid>188558</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-02-15 06:53:29 -0800</bug_when>
    <thetext>Created attachment 188558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836043</commentid>
    <comment_count>2</comment_count>
      <attachid>188558</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-18 23:48:03 -0800</bug_when>
    <thetext>Comment on attachment 188558
Patch

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

r- because of the test.

I am not familiar with multicolumn so someone will have to look at this.

&gt; Source/WebCore/css/CSSParser.cpp:3346
&gt; +            /* &apos;auto&apos; may be a valid value for more than one longhand, and at this point
&gt; +               we don&apos;t know which longhand(s) it&apos;s meant for. We need to look at the
&gt; +               other values first. Just ignore &apos;auto&apos;, since it means the same as setting
&gt; +               properties to the initial value, which we will take care of after having
&gt; +               processed the value list. */

We don&apos;t use this style of comments in WebKit.

&gt; Source/WebCore/css/CSSParser.cpp:3359
&gt; +            // if we didn&apos;t find at least one match, this is an
&gt; +            // invalid shorthand and we have to ignore it

WebKit comments needs to be proper sentences. In this case, it misses the uppercase for the first character en the ending period.
When editing existing code, do not hesitate to fix the style.

&gt; LayoutTests/fast/multicol/columns-shorthand-parsing-2.html:49
&gt; +      val[count] = document.getElementById(&apos;elm1&apos;).style.WebkitColumnCount;
&gt; +      pass &amp;= val[count++] == 3;
&gt; +      val[count] = document.getElementById(&apos;elm2&apos;).style.WebkitColumnWidth;
&gt; +      pass &amp;= val[count++] == &quot;10em&quot;;
&gt; +      val[count] = document.getElementById(&apos;elm4&apos;).style.WebkitColumnWidth;
&gt; +      pass &amp;= val[count++] != &quot;7em&quot;;
&gt; +      val[count] = document.getElementById(&apos;elm4&apos;).style.WebkitColumnCount;
&gt; +      pass &amp;= val[count++] != 7;
&gt; +      val[count] = document.getElementById(&apos;elm5&apos;).style.WebkitColumnWidth;
&gt; +      pass &amp;= val[count++] == &quot;7em&quot;;
&gt; +      val[count] = document.getElementById(&apos;elm5&apos;).style.WebkitColumnCount;
&gt; +      pass &amp;= val[count++] == 7;
&gt; +      val[count] = document.getElementById(&apos;elm6&apos;).style.WebkitColumnWidth;
&gt; +      pass &amp;= val[count++] == &quot;7em&quot;;
&gt; +      val[count] = document.getElementById(&apos;elm6&apos;).style.WebkitColumnCount;
&gt; +      pass &amp;= val[count++] == 7;
&gt; +      val[count] = document.getElementById(&apos;elm7&apos;).style.WebkitColumnCount;
&gt; +      pass &amp;= val[count++] == 3;
&gt; +      val[count] = document.getElementById(&apos;elm8&apos;).style.WebkitColumnWidth;
&gt; +      pass &amp;= val[count++] == &quot;10em&quot;;
&gt; +      var text;
&gt; +      if (pass)
&gt; +        text = &quot;PASS&quot;;
&gt; +      else {
&gt; +        text = &quot;FAIL.&lt;br&gt;&quot;;
&gt; +        for (var i = 0; i &lt; val.length; i++)
&gt; +          text += val[i] + &quot;&lt;br&gt;&quot;;
&gt; +      }

The layout tests have some scripts to make tests a cleaner than this.
See LayoutTests/fast/js/resources/js-test-pre.js &amp;&amp; js-test-post.js	

For the conditions, you can you shouldBe.
The test also need a description, and possibly an explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836266</commentid>
    <comment_count>3</comment_count>
      <attachid>189064</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-02-19 05:14:42 -0800</bug_when>
    <thetext>Created attachment 189064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838080</commentid>
    <comment_count>4</comment_count>
      <attachid>189064</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-20 19:07:05 -0800</bug_when>
    <thetext>Comment on attachment 189064
Patch

r-

I&apos;m not sure about this. If auto is explicitly specified, that needs to be remembered so that clients (such as the Web Inspector) will see that the value was explicitly set. I don&apos;t think &quot;initial&quot; is the expected result here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838186</commentid>
    <comment_count>5</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-02-21 00:27:05 -0800</bug_when>
    <thetext>Yeah, I was surprised about &quot;initial&quot; too. Even without my change, a longhand that&apos;s omitted becomes &quot;initial&quot;, e.g. style=&quot;-webkit-columns:20em;&quot; gives you a style.WebkitColumnCount of &quot;initial&quot;. No other engine does this, but it could be that WebKit is the only engine to support &quot;initial&quot;, of course, and CSSParser::parseShorthand() does indeed seem very deliberate about setting it to &quot;initial&quot; if a longhand is omitted (unless you have propertiesForInitialization).

So I will have to make them &quot;auto&quot;, if &quot;auto&quot; is specified. How would you prefer that I do that? By modifying CSSParser::parseShorthand() even further, or by making a separate method for &quot;columns&quot; shorthand parsing? Or could I actually modify webkitColumnsShorthand() to set propertiesForInitialization (&quot;auto&quot;, &quot;auto&quot;)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838932</commentid>
    <comment_count>6</comment_count>
      <attachid>189064</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-21 15:40:22 -0800</bug_when>
    <thetext>Comment on attachment 189064
Patch

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

&gt; LayoutTests/fast/multicol/columns-shorthand-parsing-2.html:23
&gt; +      shouldBe(&quot;document.getElementById(&apos;elm1&apos;).style.WebkitColumnWidth&quot;, &quot;&apos;initial&apos;&quot;);

Thanks for updating the test.

One more comment :)
When the output of an expression is a string, you should use: shouldBeEqualToString.
E.g.:
    shouldBeEqualToString(&quot;document.getElementById(&apos;elm1&apos;).style.WebkitColumnWidth&quot;, &apos;initial&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839342</commentid>
    <comment_count>7</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-02-22 00:59:16 -0800</bug_when>
    <thetext>Thanks, I&apos;ll do that. But I&apos;ll wait until I get some feedback on how to avoid the &quot;auto&quot; -&gt; &quot;initial&quot; conversions (comment #5).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853825</commentid>
    <comment_count>8</comment_count>
      <attachid>192819</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-03-12 15:09:26 -0700</bug_when>
    <thetext>Created attachment 192819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853832</commentid>
    <comment_count>9</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-03-12 15:14:30 -0700</bug_when>
    <thetext>OK, I think I&apos;ve got the &quot;auto&quot; vs. &quot;initial&quot; thing right (use &quot;auto&quot; if &quot;auto&quot; is in the value list; otherwise use &quot;initial&quot;, like any other property).

I also addressed the review issue regarding using shouldBeEqualToString().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861212</commentid>
    <comment_count>10</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-03-22 01:18:33 -0700</bug_when>
    <thetext>Any further comments from the reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900531</commentid>
    <comment_count>11</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-14 06:14:03 -0700</bug_when>
    <thetext>Can we get reviewing started again here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912253</commentid>
    <comment_count>12</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-07-27 09:03:30 -0700</bug_when>
    <thetext>Fixed in Blink: http://code.google.com/p/chromium/issues/detail?id=235415

Unassigning myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976981</commentid>
    <comment_count>13</comment_count>
      <attachid>192819</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-05 11:17:01 -0800</bug_when>
    <thetext>Comment on attachment 192819
Patch

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876350</commentid>
    <comment_count>14</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-06-16 16:23:07 -0700</bug_when>
    <thetext>I am unable to reproduce this bug in Safari 15.5 on macOS 12.4 using attached JSFiddle in URL field.

The results are as follow:

** Safari 15.5

-webkit-column-width: 12em
-webkit-column-count: auto

** Chrome Canary 105

-webkit-column-width: 12em
-webkit-column-count: auto

I tried the test case in Firefox Nightly 103 but JSFiddle didn&apos;t work for some reason and I tried to tweak by removing -webkit- prefixes etc. but it just showed &quot;undefined&quot; for both values.

Additionally, the test case attached to linked Blink (Chrome) bug in Comment 12 also show &quot;PASS&quot; now for Safari 15.5 on macOS 12.4.

As per Comment 01, these are valid declarations and test case from Chrome bug also passes - can we consider this as &quot;RESOLVED CONFIGURATION CHANGED&quot; or &quot;RESOLVED INVALID&quot;? Thank!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876414</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-06-16 23:00:36 -0700</bug_when>
    <thetext>This works now whether we use webkit prefix or not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188558</attachid>
            <date>2013-02-15 06:53:29 -0800</date>
            <delta_ts>2013-02-19 05:14:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103597-20130215155000.patch</filename>
            <type>text/plain</type>
            <size>10673</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2OGZmYzU0NTQyYTMz
ODY2OWZmOTJiN2YxOTI5YTczMDQwNzJkOC4uY2ViNjhmYjk4ODA2OGUyMjVmZWMxNzgwOGRmZWQw
MmNmMjU3ZDYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAyLTE1ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBDU1MzIE11bHRp
Y29sdW1uOiBjYW5ub3Qgc2V0ICJhdXRvIDxsZW5ndGg+IiB0byBjb2x1bW5zIHByb3BlcnR5Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNTk3CisK
KyAgICAgICAgVGhlIHR3byBsb25naGFuZHMgZm9yIHRoZSAnY29sdW1ucycgcHJvcGVydHkgKCdj
b2x1bW4tY291bnQnIGFuZAorICAgICAgICAnY29sdW1uLXdpZHRoJykgbWF5IGJvdGggdGFrZSAn
YXV0bycgYXMgYSB2YWx1ZS4gV2hlbiB3ZSBlbmNvdW50ZXIKKyAgICAgICAgJ2F1dG8nIGR1cmlu
ZyBwYXJzaW5nIG9mIGEgZGVjbGFyYXRpb24sIHdlIGNhbm5vdCBqdXN0IG1ha2UgYSBndWVzcyBh
dAorICAgICAgICB3aGljaCBwcm9wZXJ0eS9wcm9wZXJ0aWVzIHRoYXQgaXQncyBtZWFudCBmb3Iu
IEluc3RlYWQsIGp1c3QgYWNjZXB0CisgICAgICAgIGFuZCBpZ25vcmUgJ2F1dG8nLiBMb25naGFu
ZHMgdGhhdCBoYXZlbid0IGdvdCBhIHZhbHVlIGFmdGVyIHByb2Nlc3NpbmcKKyAgICAgICAgdGhl
IGxpc3Qgb2YgdmFsdWVzIGdldCB0aGVpciBpbml0aWFsIHZhbHVlIGFueXdheS4gV2hldGhlciBv
ciBub3QKKyAgICAgICAgJ2F1dG8nIGlzIGFtb25nIHRoZSB2YWx1ZXMgbWFrZXMgbm8gZGlmZmVy
ZW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBmYXN0L211bHRpY29sL2NvbHVtbnMtc2hvcnRoYW5kLXBhcnNpbmctMi5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VTaG9ydGhhbmQpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdENvbHVtbnNTaG9ydGhhbmQpOgorICAgICAgICAq
IGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kOjpTdHlsZVByb3BlcnR5U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUHJvcGVydHlTaG9ydGhhbmQ6Omlnbm9yZUF1dG9WYWx1ZSk6CisgICAgICAgIChT
dHlsZVByb3BlcnR5U2hvcnRoYW5kKToKKwogMjAxMy0wMi0xMyAgSWx5YSBUaWtob25vdnNreSAg
PGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmF0aXZlIE1l
bW9yeSBJbnN0cnVtZW50YXRpb246IFJlcG9ydCBjaGlsZCBub2RlcyBhcyBkaXJlY3QgbWVtYmVy
cyBvZiBhIGNvbnRhaW5lciBub2RlIHRvIG1ha2UgdGhlbSBsb29rIGxpa2UgYSB0cmVlIGluIHRo
ZSBzbmFwc2hvdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMDg4OTU5ZDUzYmVlYWFi
ZmUyZTMxZTMwYTEwOGM3NjVlYTcyNDc3NS4uNzUwODM4ZTk0OGMwNWNhY2Q4NjBjZTljZjIwMWI0
N2QwNmJlNjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTMzMzEsMjMgKzMzMzEs
MzUgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2hvcnRoYW5kKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW4KICAgICAvLyBhbmQgd2UgdHJ5IHRvIHNlYXJj
aCBmb3IgcHJvcGVydGllcyB1bnRpbCBpdCBtYWtlcyBubyBsb25nZXIgYW55IHNlbnNlLgogICAg
IFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIHByb3BJZCk7CiAKLSAgICBib29sIGZvdW5kID0g
ZmFsc2U7CiAgICAgdW5zaWduZWQgcHJvcGVydGllc1BhcnNlZCA9IDA7CisgICAgdW5zaWduZWQg
YXV0b1ZhbHVlc1NraXBwZWQgPSAwOwogICAgIGJvb2wgcHJvcGVydHlGb3VuZFs2XT0geyBmYWxz
ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlIH07IC8vIDYgaXMgZW5vdWdoIHNp
emUuCiAKLSAgICB3aGlsZSAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkgewotICAgICAgICBmb3Vu
ZCA9IGZhbHNlOwotICAgICAgICBmb3IgKHVuc2lnbmVkIHByb3BJbmRleCA9IDA7ICFmb3VuZCAm
JiBwcm9wSW5kZXggPCBzaG9ydGhhbmQubGVuZ3RoKCk7ICsrcHJvcEluZGV4KSB7Ci0gICAgICAg
ICAgICBpZiAoIXByb3BlcnR5Rm91bmRbcHJvcEluZGV4XSAmJiBwYXJzZVZhbHVlKHNob3J0aGFu
ZC5wcm9wZXJ0aWVzKClbcHJvcEluZGV4XSwgaW1wb3J0YW50KSkgeworICAgIHdoaWxlIChDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAgIGlm
IChwcm9wZXJ0aWVzUGFyc2VkICsgYXV0b1ZhbHVlc1NraXBwZWQgPj0gc2hvcnRoYW5kLmxlbmd0
aCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBUb28gbWFueSB2YWx1ZXMuIEludmFs
aWQgZGVjbGFyYXRpb24uCisgICAgICAgIGlmIChzaG9ydGhhbmQuaWdub3JlQXV0b1ZhbHVlKCkg
JiYgdmFsdWUtPmlkID09IENTU1ZhbHVlQXV0bykgeworICAgICAgICAgICAgLyogJ2F1dG8nIG1h
eSBiZSBhIHZhbGlkIHZhbHVlIGZvciBtb3JlIHRoYW4gb25lIGxvbmdoYW5kLCBhbmQgYXQgdGhp
cyBwb2ludAorICAgICAgICAgICAgICAgd2UgZG9uJ3Qga25vdyB3aGljaCBsb25naGFuZChzKSBp
dCdzIG1lYW50IGZvci4gV2UgbmVlZCB0byBsb29rIGF0IHRoZQorICAgICAgICAgICAgICAgb3Ro
ZXIgdmFsdWVzIGZpcnN0LiBKdXN0IGlnbm9yZSAnYXV0bycsIHNpbmNlIGl0IG1lYW5zIHRoZSBz
YW1lIGFzIHNldHRpbmcKKyAgICAgICAgICAgICAgIHByb3BlcnRpZXMgdG8gdGhlIGluaXRpYWwg
dmFsdWUsIHdoaWNoIHdlIHdpbGwgdGFrZSBjYXJlIG9mIGFmdGVyIGhhdmluZworICAgICAgICAg
ICAgICAgcHJvY2Vzc2VkIHRoZSB2YWx1ZSBsaXN0LiAqLworICAgICAgICAgICAgbV92YWx1ZUxp
c3QtPm5leHQoKTsKKyAgICAgICAgICAgIGF1dG9WYWx1ZXNTa2lwcGVkKys7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIHByb3BJbmRleCA9IDA7ICFmb3VuZCAmJiBwcm9wSW5kZXggPCBzaG9ydGhhbmQu
bGVuZ3RoKCk7ICsrcHJvcEluZGV4KSB7CisgICAgICAgICAgICAgICAgaWYgKCFwcm9wZXJ0eUZv
dW5kW3Byb3BJbmRleF0gJiYgcGFyc2VWYWx1ZShzaG9ydGhhbmQucHJvcGVydGllcygpW3Byb3BJ
bmRleF0sIGltcG9ydGFudCkpIHsKICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlGb3VuZFtw
cm9wSW5kZXhdID0gZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVz
UGFyc2VkKys7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9CiAK
LSAgICAgICAgLy8gaWYgd2UgZGlkbid0IGZpbmQgYXQgbGVhc3Qgb25lIG1hdGNoLCB0aGlzIGlz
IGFuCi0gICAgICAgIC8vIGludmFsaWQgc2hvcnRoYW5kIGFuZCB3ZSBoYXZlIHRvIGlnbm9yZSBp
dAotICAgICAgICBpZiAoIWZvdW5kKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgLy8gaWYgd2UgZGlkbid0IGZpbmQgYXQgbGVhc3Qgb25lIG1hdGNoLCB0aGlzIGlzIGFu
CisgICAgICAgICAgICAvLyBpbnZhbGlkIHNob3J0aGFuZCBhbmQgd2UgaGF2ZSB0byBpZ25vcmUg
aXQKKyAgICAgICAgICAgIGlmICghZm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHByb3BlcnRpZXNQYXJzZWQgPT0gc2hvcnRo
YW5kLmxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVy
dHlTaG9ydGhhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhh
bmQuY3BwCmluZGV4IGI1MThlOTg3YzJhZDIwZmI4MmZjMjc1Y2E2MTY4MmMzM2FhMGQwOTAuLjhm
NjRjOTVjZGJkMGFjZDUxOWVjYzJkNWQzNTFjODZlZjRiNjIzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHAKQEAgLTMxNyw3ICszMTcsNyBAQCBj
b25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJTdGFydFNob3J0aGFuZCgp
CiBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRDb2x1bW5zU2hvcnRoYW5kKCkK
IHsKICAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb2x1bW5zUHJvcGVydGllc1tdID0g
eyBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkNv
dW50IH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3
ZWJraXRDb2x1bW5zTG9uZ2hhbmRzLCAoY29sdW1uc1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5H
VEgoY29sdW1uc1Byb3BlcnRpZXMpKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRDb2x1bW5zTG9uZ2hhbmRzLCAoY29sdW1uc1Byb3BlcnRp
ZXMsIFdURl9BUlJBWV9MRU5HVEgoY29sdW1uc1Byb3BlcnRpZXMpLCB0cnVlKSk7CiAgICAgcmV0
dXJuIHdlYmtpdENvbHVtbnNMb25naGFuZHM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZC5oCmluZGV4IDVlYWQ4YWI5YWU3MzEyNDFhYTE2N2UwZGIxZjFi
MjJkN2Q4MWI5YmYuLmNiYTUxZWJkMGUwOGFmNWFlNThmOGQyOGY0NzIxZGRhMjIwNzJiZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaApAQCAtMzIsMzEg
KzMyLDM2IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX3Byb3BlcnRpZXMoMCkKICAgICAgICAgLCBt
X3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbigwKQogICAgICAgICAsIG1fbGVuZ3RoKDApCisg
ICAgICAgICwgbV9pZ25vcmVBdXRvVmFsdWUoZmFsc2UpCiAgICAgewogICAgIH0KIAotICAgIFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcywgdW5z
aWduZWQgbnVtUHJvcGVydGllcykKKyAgICBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IENT
U1Byb3BlcnR5SUQqIHByb3BlcnRpZXMsIHVuc2lnbmVkIG51bVByb3BlcnRpZXMsIGJvb2wgaWdu
b3JlQXV0b1ZhbHVlID0gZmFsc2UpCiAgICAgICAgIDogbV9wcm9wZXJ0aWVzKHByb3BlcnRpZXMp
CiAgICAgICAgICwgbV9wcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oMCkKICAgICAgICAgLCBt
X2xlbmd0aChudW1Qcm9wZXJ0aWVzKQorICAgICAgICAsIG1faWdub3JlQXV0b1ZhbHVlKGlnbm9y
ZUF1dG9WYWx1ZSkKICAgICB7CiAgICAgfQogCi0gICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChj
b25zdCBDU1NQcm9wZXJ0eUlEKiBwcm9wZXJ0aWVzLCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kKiogcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uLCB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVz
KQorICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVy
dGllcywgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCoqIHByb3BlcnRpZXNGb3JJbml0aWFs
aXphdGlvbiwgdW5zaWduZWQgbnVtUHJvcGVydGllcywgYm9vbCBpZ25vcmVBdXRvVmFsdWUgPSBm
YWxzZSkKICAgICAgICAgOiBtX3Byb3BlcnRpZXMocHJvcGVydGllcykKICAgICAgICAgLCBtX3By
b3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbihwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24pCiAg
ICAgICAgICwgbV9sZW5ndGgobnVtUHJvcGVydGllcykKKyAgICAgICAgLCBtX2lnbm9yZUF1dG9W
YWx1ZShpZ25vcmVBdXRvVmFsdWUpCiAgICAgewogICAgIH0KIAogICAgIGNvbnN0IENTU1Byb3Bl
cnR5SUQqIHByb3BlcnRpZXMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXM7IH0KICAgICBj
b25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiogcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb247IH0KICAgICB1
bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorICAgIGJvb2wgaWdu
b3JlQXV0b1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pZ25vcmVBdXRvVmFsdWU7IH0KIAogcHJp
dmF0ZToKICAgICBjb25zdCBDU1NQcm9wZXJ0eUlEKiBtX3Byb3BlcnRpZXM7CiAgICAgY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCoqIG1fcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uOwog
ICAgIHVuc2lnbmVkIG1fbGVuZ3RoOworICAgIGJvb2wgbV9pZ25vcmVBdXRvVmFsdWU7CiB9Owog
CiBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kU2hvcnRoYW5kKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggODA3MWI1NDFiOTQ4YzNmMDUxZGU3OGUxMjVkNDZjZmRhZDliMzgyZi4uMmZjYzQyMjNm
YmQ3NzZjZjFjYTc0ZTQ3MGI5NTExODViZjU4Y2U4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEzLTAyLTE1ICBNb3J0ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAg
ICAgICBDU1MzIE11bHRpY29sdW1uOiBjYW5ub3Qgc2V0ICJhdXRvIDxsZW5ndGg+IiB0byBjb2x1
bW5zIHByb3BlcnR5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzNTk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L211bHRpY29sL2NvbHVtbnMtc2hvcnRoYW5kLXBhcnNpbmctMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQt
cGFyc2luZy0yLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8Z21h
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2UgVGVz
dHMgbGltaXRzIGZvbGRlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
Y29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jb2x1bW5zLXNob3J0aGFuZC1w
YXJzaW5nLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NvbHVtbnMtc2hvcnRoYW5kLXBhcnNpbmctMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU2NDBkZjc2ZThlMDJmNjgwZWUxOWQ0MGIzNTUzMTA4NThjMGE4NjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NvbHVtbnMtc2hv
cnRoYW5kLXBhcnNpbmctMi5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT4nY29sdW1ucycgcHJvcGVydHkgd2l0aCAnYXV0
bycgYW5kIHNvbWV0aGluZyBlbHNlPC90aXRsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8
ZGl2IGlkPSJlbG0xIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOmF1dG8gMzsiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImVsbTIiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6YXV0byAxMGVtOyI+PC9kaXY+
CisgICAgPGRpdiBpZD0iZWxtMyIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczo3IDdlbTsgLXdlYmtp
dC1jb2x1bW5zOmF1dG87Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJlbG00IiBzdHlsZT0iLXdlYmtp
dC1jb2x1bW5zOjcgN2VtOyAtd2Via2l0LWNvbHVtbnM6YXV0byBhdXRvOyI+PC9kaXY+CisgICAg
PGRpdiBpZD0iZWxtNSIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczo3IDdlbTsgLXdlYmtpdC1jb2x1
bW5zOmF1dG8gYXV0byBhdXRvOyI+PC9kaXY+CisgICAgPGRpdiBpZD0iZWxtNiIgc3R5bGU9Ii13
ZWJraXQtY29sdW1uczo3IDdlbTsgLXdlYmtpdC1jb2x1bW5zOjEwZW0gYXV0byBhdXRvOyI+PC9k
aXY+CisgICAgPGRpdiBpZD0iZWxtNyIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozIGF1dG87Ij48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJlbG04IiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjEwZW0gYXV0
bzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICB2YXIgcGFzcyA9IHRydWU7CisgICAgICB2YXIgdmFsID0gbmV3IEFycmF5Owor
ICAgICAgdmFyIGNvdW50ID0gMDsKKyAgICAgIHZhbFtjb3VudF0gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZWxtMScpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50OworICAgICAgcGFzcyAmPSB2
YWxbY291bnQrK10gPT0gMzsKKyAgICAgIHZhbFtjb3VudF0gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZWxtMicpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoOworICAgICAgcGFzcyAmPSB2YWxb
Y291bnQrK10gPT0gIjEwZW0iOworICAgICAgdmFsW2NvdW50XSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlbG00Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGg7CisgICAgICBwYXNzICY9IHZh
bFtjb3VudCsrXSAhPSAiN2VtIjsKKyAgICAgIHZhbFtjb3VudF0gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZWxtNCcpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50OworICAgICAgcGFzcyAmPSB2
YWxbY291bnQrK10gIT0gNzsKKyAgICAgIHZhbFtjb3VudF0gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZWxtNScpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoOworICAgICAgcGFzcyAmPSB2YWxb
Y291bnQrK10gPT0gIjdlbSI7CisgICAgICB2YWxbY291bnRdID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2VsbTUnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudDsKKyAgICAgIHBhc3MgJj0gdmFs
W2NvdW50KytdID09IDc7CisgICAgICB2YWxbY291bnRdID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTYnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aDsKKyAgICAgIHBhc3MgJj0gdmFsW2Nv
dW50KytdID09ICI3ZW0iOworICAgICAgdmFsW2NvdW50XSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdlbG02Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQ7CisgICAgICBwYXNzICY9IHZhbFtj
b3VudCsrXSA9PSA3OworICAgICAgdmFsW2NvdW50XSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdlbG03Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQ7CisgICAgICBwYXNzICY9IHZhbFtjb3Vu
dCsrXSA9PSAzOworICAgICAgdmFsW2NvdW50XSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
bG04Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGg7CisgICAgICBwYXNzICY9IHZhbFtjb3VudCsr
XSA9PSAiMTBlbSI7CisgICAgICB2YXIgdGV4dDsKKyAgICAgIGlmIChwYXNzKQorICAgICAgICB0
ZXh0ID0gIlBBU1MiOworICAgICAgZWxzZSB7CisgICAgICAgIHRleHQgPSAiRkFJTC48YnI+IjsK
KyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpKyspCisgICAgICAgICAg
dGV4dCArPSB2YWxbaV0gKyAiPGJyPiI7CisgICAgICB9CisgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gdGV4dDsKKyAgICA8L3NjcmlwdD4KKyAgPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189064</attachid>
            <date>2013-02-19 05:14:42 -0800</date>
            <delta_ts>2013-03-12 15:09:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103597-20130219141108.patch</filename>
            <type>text/plain</type>
            <size>12268</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2OGZmYzU0NTQyYTMz
ODY2OWZmOTJiN2YxOTI5YTczMDQwNzJkOC4uY2ViNjhmYjk4ODA2OGUyMjVmZWMxNzgwOGRmZWQw
MmNmMjU3ZDYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAyLTE1ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBDU1MzIE11bHRp
Y29sdW1uOiBjYW5ub3Qgc2V0ICJhdXRvIDxsZW5ndGg+IiB0byBjb2x1bW5zIHByb3BlcnR5Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNTk3CisK
KyAgICAgICAgVGhlIHR3byBsb25naGFuZHMgZm9yIHRoZSAnY29sdW1ucycgcHJvcGVydHkgKCdj
b2x1bW4tY291bnQnIGFuZAorICAgICAgICAnY29sdW1uLXdpZHRoJykgbWF5IGJvdGggdGFrZSAn
YXV0bycgYXMgYSB2YWx1ZS4gV2hlbiB3ZSBlbmNvdW50ZXIKKyAgICAgICAgJ2F1dG8nIGR1cmlu
ZyBwYXJzaW5nIG9mIGEgZGVjbGFyYXRpb24sIHdlIGNhbm5vdCBqdXN0IG1ha2UgYSBndWVzcyBh
dAorICAgICAgICB3aGljaCBwcm9wZXJ0eS9wcm9wZXJ0aWVzIHRoYXQgaXQncyBtZWFudCBmb3Iu
IEluc3RlYWQsIGp1c3QgYWNjZXB0CisgICAgICAgIGFuZCBpZ25vcmUgJ2F1dG8nLiBMb25naGFu
ZHMgdGhhdCBoYXZlbid0IGdvdCBhIHZhbHVlIGFmdGVyIHByb2Nlc3NpbmcKKyAgICAgICAgdGhl
IGxpc3Qgb2YgdmFsdWVzIGdldCB0aGVpciBpbml0aWFsIHZhbHVlIGFueXdheS4gV2hldGhlciBv
ciBub3QKKyAgICAgICAgJ2F1dG8nIGlzIGFtb25nIHRoZSB2YWx1ZXMgbWFrZXMgbm8gZGlmZmVy
ZW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBmYXN0L211bHRpY29sL2NvbHVtbnMtc2hvcnRoYW5kLXBhcnNpbmctMi5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VTaG9ydGhhbmQpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdENvbHVtbnNTaG9ydGhhbmQpOgorICAgICAgICAq
IGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kOjpTdHlsZVByb3BlcnR5U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUHJvcGVydHlTaG9ydGhhbmQ6Omlnbm9yZUF1dG9WYWx1ZSk6CisgICAgICAgIChT
dHlsZVByb3BlcnR5U2hvcnRoYW5kKToKKwogMjAxMy0wMi0xMyAgSWx5YSBUaWtob25vdnNreSAg
PGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmF0aXZlIE1l
bW9yeSBJbnN0cnVtZW50YXRpb246IFJlcG9ydCBjaGlsZCBub2RlcyBhcyBkaXJlY3QgbWVtYmVy
cyBvZiBhIGNvbnRhaW5lciBub2RlIHRvIG1ha2UgdGhlbSBsb29rIGxpa2UgYSB0cmVlIGluIHRo
ZSBzbmFwc2hvdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMDg4OTU5ZDUzYmVlYWFi
ZmUyZTMxZTMwYTEwOGM3NjVlYTcyNDc3NS4uZDYwM2UxODlmOWVhMzk1M2FhYzI2M2RlNTY5MGZi
NWNhMGY1MGY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTMzMzEsMjMgKzMzMzEs
MzQgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2hvcnRoYW5kKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW4KICAgICAvLyBhbmQgd2UgdHJ5IHRvIHNlYXJj
aCBmb3IgcHJvcGVydGllcyB1bnRpbCBpdCBtYWtlcyBubyBsb25nZXIgYW55IHNlbnNlLgogICAg
IFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIHByb3BJZCk7CiAKLSAgICBib29sIGZvdW5kID0g
ZmFsc2U7CiAgICAgdW5zaWduZWQgcHJvcGVydGllc1BhcnNlZCA9IDA7CisgICAgdW5zaWduZWQg
YXV0b1ZhbHVlc1NraXBwZWQgPSAwOwogICAgIGJvb2wgcHJvcGVydHlGb3VuZFs2XT0geyBmYWxz
ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlIH07IC8vIDYgaXMgZW5vdWdoIHNp
emUuCiAKLSAgICB3aGlsZSAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkgewotICAgICAgICBmb3Vu
ZCA9IGZhbHNlOwotICAgICAgICBmb3IgKHVuc2lnbmVkIHByb3BJbmRleCA9IDA7ICFmb3VuZCAm
JiBwcm9wSW5kZXggPCBzaG9ydGhhbmQubGVuZ3RoKCk7ICsrcHJvcEluZGV4KSB7Ci0gICAgICAg
ICAgICBpZiAoIXByb3BlcnR5Rm91bmRbcHJvcEluZGV4XSAmJiBwYXJzZVZhbHVlKHNob3J0aGFu
ZC5wcm9wZXJ0aWVzKClbcHJvcEluZGV4XSwgaW1wb3J0YW50KSkgeworICAgIHdoaWxlIChDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAgIGlm
IChwcm9wZXJ0aWVzUGFyc2VkICsgYXV0b1ZhbHVlc1NraXBwZWQgPj0gc2hvcnRoYW5kLmxlbmd0
aCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBUb28gbWFueSB2YWx1ZXMuIEludmFs
aWQgZGVjbGFyYXRpb24uCisgICAgICAgIGlmIChzaG9ydGhhbmQuaWdub3JlQXV0b1ZhbHVlKCkg
JiYgdmFsdWUtPmlkID09IENTU1ZhbHVlQXV0bykgeworICAgICAgICAgICAgLy8gJ2F1dG8nIG1h
eSBiZSBhIHZhbGlkIHZhbHVlIGZvciBtb3JlIHRoYW4gb25lIGxvbmdoYW5kLCBhbmQgYXQgdGhp
cyBwb2ludCB3ZSBkb24ndAorICAgICAgICAgICAgLy8ga25vdyB3aGljaCBsb25naGFuZChzKSBp
dCdzIG1lYW50IGZvci4gV2UgbmVlZCB0byBsb29rIGF0IHRoZSBvdGhlciB2YWx1ZXMKKyAgICAg
ICAgICAgIC8vIGZpcnN0LiBKdXN0IGlnbm9yZSAnYXV0bycsIHNpbmNlIGl0IG1lYW5zIHRoZSBz
YW1lIGFzIHNldHRpbmcgcHJvcGVydGllcyB0byB0aGUKKyAgICAgICAgICAgIC8vIGluaXRpYWwg
dmFsdWUsIHdoaWNoIHdlIHdpbGwgdGFrZSBjYXJlIG9mIGFmdGVyIGhhdmluZyBwcm9jZXNzZWQg
dGhlIHZhbHVlIGxpc3QuCisgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgICAg
ICAgICAgYXV0b1ZhbHVlc1NraXBwZWQrKzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGJvb2wgZm91bmQgPSBmYWxzZTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgcHJvcEluZGV4
ID0gMDsgIWZvdW5kICYmIHByb3BJbmRleCA8IHNob3J0aGFuZC5sZW5ndGgoKTsgKytwcm9wSW5k
ZXgpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3BlcnR5Rm91bmRbcHJvcEluZGV4XSAmJiBw
YXJzZVZhbHVlKHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbcHJvcEluZGV4XSwgaW1wb3J0YW50KSkg
ewogICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUZvdW5kW3Byb3BJbmRleF0gPSBmb3VuZCA9
IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXNQYXJzZWQrKzsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KIAotICAgICAgICAvLyBpZiB3ZSBk
aWRuJ3QgZmluZCBhdCBsZWFzdCBvbmUgbWF0Y2gsIHRoaXMgaXMgYW4KLSAgICAgICAgLy8gaW52
YWxpZCBzaG9ydGhhbmQgYW5kIHdlIGhhdmUgdG8gaWdub3JlIGl0Ci0gICAgICAgIGlmICghZm91
bmQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBJZiB3ZSBkaWRu
J3QgZmluZCBhdCBsZWFzdCBvbmUgbWF0Y2gsIHRoaXMgaXMgYW4KKyAgICAgICAgICAgIC8vIGlu
dmFsaWQgc2hvcnRoYW5kIGFuZCB3ZSBoYXZlIHRvIGlnbm9yZSBpdC4KKyAgICAgICAgICAgIGlm
ICghZm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
fQogCiAgICAgaWYgKHByb3BlcnRpZXNQYXJzZWQgPT0gc2hvcnRoYW5kLmxlbmd0aCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwCmluZGV4IGI1MThl
OTg3YzJhZDIwZmI4MmZjMjc1Y2E2MTY4MmMzM2FhMGQwOTAuLjhmNjRjOTVjZGJkMGFjZDUxOWVj
YzJkNWQzNTFjODZlZjRiNjIzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnR5U2hvcnRoYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZC5jcHAKQEAgLTMxNyw3ICszMTcsNyBAQCBjb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJTdGFydFNob3J0aGFuZCgpCiBjb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiB3ZWJraXRDb2x1bW5zU2hvcnRoYW5kKCkKIHsKICAgICBzdGF0aWMgY29u
c3QgQ1NTUHJvcGVydHlJRCBjb2x1bW5zUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtp
dENvbHVtbldpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkNvdW50IH07Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRDb2x1bW5zTG9uZ2hh
bmRzLCAoY29sdW1uc1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoY29sdW1uc1Byb3BlcnRp
ZXMpKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3
ZWJraXRDb2x1bW5zTG9uZ2hhbmRzLCAoY29sdW1uc1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5H
VEgoY29sdW1uc1Byb3BlcnRpZXMpLCB0cnVlKSk7CiAgICAgcmV0dXJuIHdlYmtpdENvbHVtbnNM
b25naGFuZHM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZC5oCmluZGV4IDVlYWQ4YWI5YWU3MzEyNDFhYTE2N2UwZGIxZjFiMjJkN2Q4MWI5YmYuLmNiYTUx
ZWJkMGUwOGFmNWFlNThmOGQyOGY0NzIxZGRhMjIwNzJiZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaApAQCAtMzIsMzEgKzMyLDM2IEBAIHB1YmxpYzoK
ICAgICAgICAgOiBtX3Byb3BlcnRpZXMoMCkKICAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0
aWFsaXphdGlvbigwKQogICAgICAgICAsIG1fbGVuZ3RoKDApCisgICAgICAgICwgbV9pZ25vcmVB
dXRvVmFsdWUoZmFsc2UpCiAgICAgewogICAgIH0KIAotICAgIFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcywgdW5zaWduZWQgbnVtUHJvcGVydGll
cykKKyAgICBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3Bl
cnRpZXMsIHVuc2lnbmVkIG51bVByb3BlcnRpZXMsIGJvb2wgaWdub3JlQXV0b1ZhbHVlID0gZmFs
c2UpCiAgICAgICAgIDogbV9wcm9wZXJ0aWVzKHByb3BlcnRpZXMpCiAgICAgICAgICwgbV9wcm9w
ZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oMCkKICAgICAgICAgLCBtX2xlbmd0aChudW1Qcm9wZXJ0
aWVzKQorICAgICAgICAsIG1faWdub3JlQXV0b1ZhbHVlKGlnbm9yZUF1dG9WYWx1ZSkKICAgICB7
CiAgICAgfQogCi0gICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChjb25zdCBDU1NQcm9wZXJ0eUlE
KiBwcm9wZXJ0aWVzLCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiogcHJvcGVydGllc0Zv
ckluaXRpYWxpemF0aW9uLCB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVzKQorICAgIFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcywgY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCoqIHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbiwgdW5zaWduZWQg
bnVtUHJvcGVydGllcywgYm9vbCBpZ25vcmVBdXRvVmFsdWUgPSBmYWxzZSkKICAgICAgICAgOiBt
X3Byb3BlcnRpZXMocHJvcGVydGllcykKICAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFs
aXphdGlvbihwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24pCiAgICAgICAgICwgbV9sZW5ndGgo
bnVtUHJvcGVydGllcykKKyAgICAgICAgLCBtX2lnbm9yZUF1dG9WYWx1ZShpZ25vcmVBdXRvVmFs
dWUpCiAgICAgewogICAgIH0KIAogICAgIGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3BlcnRpZXMo
KSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXM7IH0KICAgICBjb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kKiogcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb247IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorICAgIGJvb2wgaWdub3JlQXV0b1ZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9pZ25vcmVBdXRvVmFsdWU7IH0KIAogcHJpdmF0ZToKICAgICBjb25zdCBD
U1NQcm9wZXJ0eUlEKiBtX3Byb3BlcnRpZXM7CiAgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCoqIG1fcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uOwogICAgIHVuc2lnbmVkIG1fbGVu
Z3RoOworICAgIGJvb2wgbV9pZ25vcmVBdXRvVmFsdWU7CiB9OwogCiBjb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kU2hvcnRoYW5kKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA3MWI1NDFiOTQ4
YzNmMDUxZGU3OGUxMjVkNDZjZmRhZDliMzgyZi4uMmZjYzQyMjNmYmQ3NzZjZjFjYTc0ZTQ3MGI5
NTExODViZjU4Y2U4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAyLTE1ICBNb3J0ZW4g
U3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBDU1MzIE11bHRpY29s
dW1uOiBjYW5ub3Qgc2V0ICJhdXRvIDxsZW5ndGg+IiB0byBjb2x1bW5zIHByb3BlcnR5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNTk3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L211bHRp
Y29sL2NvbHVtbnMtc2hvcnRoYW5kLXBhcnNpbmctMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLmh0bWw6IEFk
ZGVkLgorCiAyMDEzLTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8Z21hbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2UgVGVzdHMgbGltaXRzIGZvbGRlci4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQt
cGFyc2luZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1u
cy1zaG9ydGhhbmQtcGFyc2luZy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2FmOWQyOGE5
OTgxYmI0Mzg4ZDkyOWRjODBmOGU5YmQxNjVlNTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9jb2x1bW5zLXNob3J0aGFuZC1wYXJzaW5nLTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3QgdGhlIGJlaGF2aW9yIHdoZW4gJ2F1dG8nIGlzIHBh
cnQgb2YgdGhlICdjb2x1bW5zJyBwcm9wZXJ0eSB2YWx1ZS4gU2VlIGh0dHA6Ly93d3cudzMub3Jn
L1RSL2NzczMtbXVsdGljb2wvI2NvbHVtbnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTEnKS5zdHlsZS5XZWJraXRDb2x1
bW5XaWR0aCBpcyAnaW5pdGlhbCcKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTEn
KS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAnMycKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2VsbTInKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAnMTBlbScKK1BBU1MgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTInKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAn
aW5pdGlhbCcKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTMnKS5zdHlsZS5XZWJr
aXRDb2x1bW5XaWR0aCBpcyAnaW5pdGlhbCcKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2VsbTMnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAnMycKK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VsbTQnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAnMTBlbScKK1BB
U1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTQnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3Vu
dCBpcyAnaW5pdGlhbCcKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTUnKS5zdHls
ZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAnN2VtJworUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZWxtNScpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50IGlzICc3JworUEFTUyBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZWxtNicpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIGlzICc3ZW0nCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG02Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291
bnQgaXMgJzcnCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG03Jykuc3R5bGUuV2Vi
a2l0Q29sdW1uV2lkdGggaXMgJ2luaXRpYWwnCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdlbG03Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQgaXMgJ2luaXRpYWwnCitQQVNTIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGggaXMgJ2lu
aXRpYWwnCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUuV2Via2l0
Q29sdW1uQ291bnQgaXMgJ2luaXRpYWwnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNv
bC9jb2x1bW5zLXNob3J0aGFuZC1wYXJzaW5nLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZjYzA5
YzA1OTg2M2NmYzZmMTU2NGMwYjRhODNiOTY1YTNlYzJjMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLmh0bWwK
QEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAg
PHRpdGxlPidjb2x1bW5zJyBwcm9wZXJ0eSB3aXRoICdhdXRvJyBhbmQgc29tZXRoaW5nIGVsc2U8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGUgYmVo
YXZpb3Igd2hlbiAnYXV0bycgaXMgcGFydCBvZiB0aGUgJ2NvbHVtbnMnIHByb3BlcnR5IHZhbHVl
LiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tdWx0aWNvbC8jY29sdW1ucyIpOworICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJlbG0x
IiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOmF1dG8gMzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVs
bTIiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6YXV0byAxMGVtOyI+PC9kaXY+CisgICAgPGRpdiBp
ZD0iZWxtMyIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozIGF1dG87Ij48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJlbG00IiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjEwZW0gYXV0bzsiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImVsbTUiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6NyA3ZW07IC13ZWJraXQtY29s
dW1uczphdXRvIGF1dG8gYXV0bzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTYiIHN0eWxlPSIt
d2Via2l0LWNvbHVtbnM6NyA3ZW07IC13ZWJraXQtY29sdW1uczoxMGVtIGF1dG8gYXV0bzsiPjwv
ZGl2PgorICAgIDxkaXYgaWQ9ImVsbTciIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6NyA3ZW07IC13
ZWJraXQtY29sdW1uczphdXRvOyI+PC9kaXY+CisgICAgPGRpdiBpZD0iZWxtOCIgc3R5bGU9Ii13
ZWJraXQtY29sdW1uczo3IDdlbTsgLXdlYmtpdC1jb2x1bW5zOmF1dG8gYXV0bzsiPjwvZGl2Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vs
bTEnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCIsICInaW5pdGlhbCciKTsKKyAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMScpLnN0eWxlLldlYmtpdENvbHVtbkNv
dW50IiwgIiczJyIpOworICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
bG0yJykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiJzEwZW0nIik7CisgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTInKS5zdHlsZS5XZWJraXRDb2x1bW5Db3Vu
dCIsICInaW5pdGlhbCciKTsKKyAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZWxtMycpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIiwgIidpbml0aWFsJyIpOworICAgICAg
c2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0zJykuc3R5bGUuV2Via2l0Q29s
dW1uQ291bnQiLCAiJzMnIik7CisgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTQnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCIsICInMTBlbSciKTsKKyAgICAgIHNo
b3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtNCcpLnN0eWxlLldlYmtpdENvbHVt
bkNvdW50IiwgIidpbml0aWFsJyIpOworICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlbG01Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiJzdlbSciKTsKKyAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtNScpLnN0eWxlLldlYmtpdENv
bHVtbkNvdW50IiwgIic3JyIpOworICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdlbG02Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiJzdlbSciKTsKKyAgICAgIHNo
b3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtNicpLnN0eWxlLldlYmtpdENvbHVt
bkNvdW50IiwgIic3JyIpOworICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdlbG03Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiJ2luaXRpYWwnIik7CisgICAgICBz
aG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTcnKS5zdHlsZS5XZWJraXRDb2x1
bW5Db3VudCIsICInaW5pdGlhbCciKTsKKyAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZWxtOCcpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIiwgIidpbml0aWFsJyIpOwor
ICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUuV2Vi
a2l0Q29sdW1uQ291bnQiLCAiJ2luaXRpYWwnIik7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192819</attachid>
            <date>2013-03-12 15:09:26 -0700</date>
            <delta_ts>2014-02-05 11:17:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103597-20130312230523.patch</filename>
            <type>text/plain</type>
            <size>17352</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThhYjJkMjUyM2ZlY2Jh
YWUwYzJkMTcyMjc3MjU0MmVlNDA2ZmFlMy4uMGVhMTgyODEzZDhjYjg3MzEzYjhiZjFhMWUwZjRl
YjMxNzEzNWQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAzLTEyICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBDU1MzIE11bHRp
Y29sdW1uOiBjYW5ub3Qgc2V0ICJhdXRvIDxsZW5ndGg+IiB0byBjb2x1bW5zIHByb3BlcnR5Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNTk3CisK
KyAgICAgICAgVGhlIHR3byBsb25naGFuZHMgZm9yIHRoZSAnY29sdW1ucycgcHJvcGVydHkgKCdj
b2x1bW4tY291bnQnIGFuZAorICAgICAgICAnY29sdW1uLXdpZHRoJykgbWF5IGJvdGggdGFrZSAn
YXV0bycgYXMgYSB2YWx1ZS4gV2hlbiB3ZSBlbmNvdW50ZXIKKyAgICAgICAgJ2F1dG8nIGR1cmlu
ZyBwYXJzaW5nIHRoZSB2YWx1ZSBsaXN0IG9mIGEgZGVjbGFyYXRpb24sIHdlIGNhbm5vdCBqdXN0
CisgICAgICAgIG1ha2UgYSBndWVzcyBhdCB3aGljaCBwcm9wZXJ0eS9wcm9wZXJ0aWVzIHRoYXQn
cyBtZWFudCBmb3IuIEluc3RlYWQsCisgICAgICAgIGRvbid0IGFzc2lnbiBhbnl0aGluZyB0byAn
YXV0bycgcmlnaHQgYXdheSwgYnV0IHdhaXQgdW50aWwgYWxsIHZhbHVlcworICAgICAgICBoYXZl
IGJlZW4gcHJvY2Vzc2VkIGFuZCBhdCB0aGF0IHBvaW50IHNldCB0aGUgc3RpbGwgdW5hc3NpZ25l
ZAorICAgICAgICBwcm9wZXJ0aWVzIHRvICdhdXRvJy4gSWYgJ2F1dG8nIGlzbid0IGluIHRoZSB2
YWx1ZSBsaXN0IGF0IGFsbCwgc2V0CisgICAgICAgIHVuYXNzaWduZWQgcHJvcGVydGllcyB0byAn
aW5pdGlhbCcgZm9yIHRoZSAnLXdlYmtpdC1jb2x1bW5zJyBwcm9wZXJ0eSwKKyAgICAgICAganVz
dCBsaWtlIHdlIGRvIGZvciBhbnkgb3RoZXIgcHJvcGVydHkuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9tdWx0aWNvbC9jb2x1bW5z
LXNob3J0aGFuZC1wYXJzaW5nLTIuaHRtbAorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU2hvcnRoYW5kKTogUGF5IHNwZWNp
YWwgYXR0ZW50aW9uIHRvICdhdXRvJworICAgICAgICB2YWx1ZXMgd2hlbiB0b2xkIHRvIGRvIHNv
LiBUaGlzIG1heSBiZSBjb25zaWRlcmVkIGEgc29tZXdoYXQgaW50cnVzaXZlCisgICAgICAgIGNo
YW5nZSwgcHJvdmlkZWQgdGhhdCBpdCBvbmx5IG1ha2VzIGEgZGlmZmVyZW5jZSBmb3IgdGhlICct
d2Via2l0LWNvbHVtbnMnCisgICAgICAgIHNob3J0aGFuZCwgYnV0IGl0IGhvcGVmdWxseSBiZWF0
cyBjb2RlIGR1cGxpY2F0aW9uLgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdENvbHVtbnNTaG9ydGhhbmQpOgorICAgICAg
ICAqIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVByb3BlcnR5U2hvcnRoYW5kOjpTdHlsZVByb3BlcnR5U2hvcnRoYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUHJvcGVydHlTaG9ydGhhbmQ6OmFsbEFjY2VwdEF1dG8pOgorICAgICAgICAo
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCk6CisKIDIwMTMtMDMtMTIgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wcm92ZSBsb2dnaW5nIGluIFJlc291cmNl
SGFuZGxlTWFjLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQxYjg5NzU1MTBjM2Uw
YWM2NGU2OTJjNzZmZTI0YTczN2JiOWM3NjEuLmNiZmM0MjA0ZjM4ZDZlZTA0ZmZiZWM2MzAxZDBk
YWZhMmUzODkwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0zNDI1LDQ3ICszNDI1
LDc3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRyYW5zaXRpb25TaG9ydGhhbmQoQ1NTUHJvcGVy
dHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogCiBib29sIENTU1BhcnNlcjo6cGFyc2VTaG9y
dGhhbmQoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IHNob3J0aGFuZCwgYm9vbCBpbXBvcnRhbnQpCiB7Ci0gICAgLy8gV2UgdHJ5IHRvIG1hdGNoIGFz
IG1hbnkgcHJvcGVydGllcyBhcyBwb3NzaWJsZQorICAgIC8vIFdlIHRyeSB0byBtYXRjaCBhcyBt
YW55IHByb3BlcnRpZXMgYXMgcG9zc2libGUuCiAgICAgLy8gV2Ugc2V0IHVwIGFuIGFycmF5IG9m
IGJvb2xlYW5zIHRvIG1hcmsgd2hpY2ggcHJvcGVydHkgaGFzIGJlZW4gZm91bmQsCiAgICAgLy8g
YW5kIHdlIHRyeSB0byBzZWFyY2ggZm9yIHByb3BlcnRpZXMgdW50aWwgaXQgbWFrZXMgbm8gbG9u
Z2VyIGFueSBzZW5zZS4KICAgICBTaG9ydGhhbmRTY29wZSBzY29wZSh0aGlzLCBwcm9wSWQpOwog
Ci0gICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogICAgIHVuc2lnbmVkIHByb3BlcnRpZXNQYXJzZWQg
PSAwOwogICAgIGJvb2wgcHJvcGVydHlGb3VuZFs2XT0geyBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIGZhbHNlIH07IC8vIDYgaXMgZW5vdWdoIHNpemUuCisgICAgdW5zaWduZWQg
YXV0b0NvdW50ID0gMDsKIAotICAgIHdoaWxlIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSB7Ci0g
ICAgICAgIGZvdW5kID0gZmFsc2U7Ci0gICAgICAgIGZvciAodW5zaWduZWQgcHJvcEluZGV4ID0g
MDsgIWZvdW5kICYmIHByb3BJbmRleCA8IHNob3J0aGFuZC5sZW5ndGgoKTsgKytwcm9wSW5kZXgp
IHsKLSAgICAgICAgICAgIGlmICghcHJvcGVydHlGb3VuZFtwcm9wSW5kZXhdICYmIHBhcnNlVmFs
dWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtwcm9wSW5kZXhdLCBpbXBvcnRhbnQpKSB7CisgICAg
d2hpbGUgKENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpIHsK
KyAgICAgICAgaWYgKHByb3BlcnRpZXNQYXJzZWQgPj0gc2hvcnRoYW5kLmxlbmd0aCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBUb28gbWFueSB2YWx1ZXMuIEludmFsaWQgZGVjbGFy
YXRpb24uCisgICAgICAgIGlmIChzaG9ydGhhbmQuYWxsQWNjZXB0QXV0bygpICYmIHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZUF1dG8pIHsKKyAgICAgICAgICAgIC8vICdhdXRvJyBpcyBhIHZhbGlkIHZh
bHVlIGZvciBhbGwgbG9uZ2hhbmRzLCBhbmQgYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93IHdo
aWNoIG9uZQorICAgICAgICAgICAgLy8gaXQgaXMgbWVhbnQgZm9yLiBXZSBuZWVkIHRvIGxvb2sg
YXQgdGhlIG90aGVyIHZhbHVlcyBmaXJzdC4gSnVzdCBpZ25vcmUgJ2F1dG8nIGZvcgorICAgICAg
ICAgICAgLy8gbm93LiBBZnRlciBoYXZpbmcgcHJvY2Vzc2VkIHRoZSB2YWx1ZSBsaXN0LCBzZXQg
dW5hc3NpZ25lZCBwcm9wZXJ0aWVzIHRvICdhdXRvJy4KKyAgICAgICAgICAgIG1fdmFsdWVMaXN0
LT5uZXh0KCk7CisgICAgICAgICAgICBwcm9wZXJ0aWVzUGFyc2VkKys7CisgICAgICAgICAgICBh
dXRvQ291bnQrKzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGJvb2wgZm91bmQgPSBm
YWxzZTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgcHJvcEluZGV4ID0gMDsgcHJvcEluZGV4
IDwgc2hvcnRoYW5kLmxlbmd0aCgpOyArK3Byb3BJbmRleCkgeworICAgICAgICAgICAgICAgIGlm
ICghcHJvcGVydHlGb3VuZFtwcm9wSW5kZXhdICYmIHBhcnNlVmFsdWUoc2hvcnRoYW5kLnByb3Bl
cnRpZXMoKVtwcm9wSW5kZXhdLCBpbXBvcnRhbnQpKSB7CiAgICAgICAgICAgICAgICAgICAgIHBy
b3BlcnR5Rm91bmRbcHJvcEluZGV4XSA9IGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAg
ICAgcHJvcGVydGllc1BhcnNlZCsrOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KIAotICAgICAgICAvLyBpZiB3
ZSBkaWRuJ3QgZmluZCBhdCBsZWFzdCBvbmUgbWF0Y2gsIHRoaXMgaXMgYW4KLSAgICAgICAgLy8g
aW52YWxpZCBzaG9ydGhhbmQgYW5kIHdlIGhhdmUgdG8gaWdub3JlIGl0Ci0gICAgICAgIGlmICgh
Zm91bmQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBJZiB3ZSBk
aWRuJ3QgZmluZCBhdCBsZWFzdCBvbmUgbWF0Y2gsIHRoaXMgaXMgYW4KKyAgICAgICAgICAgIC8v
IGludmFsaWQgc2hvcnRoYW5kIGFuZCB3ZSBoYXZlIHRvIGlnbm9yZSBpdC4KKyAgICAgICAgICAg
IGlmICghZm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAg
ICAgfQogCi0gICAgaWYgKHByb3BlcnRpZXNQYXJzZWQgPT0gc2hvcnRoYW5kLmxlbmd0aCgpKQor
ICAgIGlmIChwcm9wZXJ0aWVzUGFyc2VkID09IHNob3J0aGFuZC5sZW5ndGgoKSAmJiAhYXV0b0Nv
dW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIEZpbGwgaW4gYW55IHJlbWFpbmlu
ZyBwcm9wZXJ0aWVzIHdpdGggdGhlIGluaXRpYWwgdmFsdWUuCi0gICAgSW1wbGljaXRTY29wZSBp
bXBsaWNpdFNjb3BlKHRoaXMsIFByb3BlcnR5SW1wbGljaXQpOworICAgIC8vIEZpbGwgaW4gYW55
IHJlbWFpbmluZyBwcm9wZXJ0aWVzIHdpdGggdGhlICdpbml0aWFsJyBvciAnYXV0bycgdmFsdWUu
CisgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZTsKKyAgICBpZiAoYXV0b0NvdW50KQorICAgICAg
ICB2YWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1
dG8pOworICAgIGVsc2UgeworICAgICAgICB2YWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlt
cGxpY2l0SW5pdGlhbFZhbHVlKCk7CisgICAgICAgIG1faW1wbGljaXRTaG9ydGhhbmQgPSB0cnVl
OworICAgIH0KKwogICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqIGNvbnN0KiBjb25z
dCBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24gPSBzaG9ydGhhbmQucHJvcGVydGllc0Zvcklu
aXRpYWxpemF0aW9uKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNob3J0aGFuZC5s
ZW5ndGgoKTsgKytpKSB7CiAgICAgICAgIGlmIChwcm9wZXJ0eUZvdW5kW2ldKQogICAgICAgICAg
ICAgY29udGludWU7CiAKICAgICAgICAgaWYgKHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbikg
eworICAgICAgICAgICAgQVNTRVJUKCFhdXRvQ291bnQpOyAvLyBOb3QgcHJvcGVybHkgc3VwcG9y
dGVkLgogICAgICAgICAgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgaW5pdFByb3Bl
cnRpZXMgPSAqKHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbltpXSk7CiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIHByb3BJbmRleCA9IDA7IHByb3BJbmRleCA8IGluaXRQcm9wZXJ0aWVzLmxl
bmd0aCgpOyArK3Byb3BJbmRleCkKLSAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShpbml0UHJv
cGVydGllcy5wcm9wZXJ0aWVzKClbcHJvcEluZGV4XSwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSW1w
bGljaXRJbml0aWFsVmFsdWUoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgICAgICBhZGRQcm9w
ZXJ0eShpbml0UHJvcGVydGllcy5wcm9wZXJ0aWVzKClbcHJvcEluZGV4XSwgdmFsdWUsIGltcG9y
dGFudCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgYWRkUHJvcGVydHkoc2hvcnRoYW5k
LnByb3BlcnRpZXMoKVtpXSwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSW1wbGljaXRJbml0aWFsVmFs
dWUoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIGFkZFByb3BlcnR5KHNob3J0aGFuZC5wcm9w
ZXJ0aWVzKClbaV0sIHZhbHVlLCBpbXBvcnRhbnQpOworICAgICAgICBpZiAoYXV0b0NvdW50KSB7
CisgICAgICAgICAgICBhdXRvQ291bnQtLTsKKyAgICAgICAgICAgIGlmICghYXV0b0NvdW50KSB7
CisgICAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBhc3NpZ25lZCBhcyBtYW55ICdhdXRvJyB2YWx1
ZXMgYXMgd2VyZSBzcGVjaWZpZWQuIE5vdyBtYWtlIHRoZSByZW1haW5pbmcKKyAgICAgICAgICAg
ICAgICAvLyBvbmVzIGltcGxpY2l0LCBzbyB0aGF0IHdlIGRvbid0IGdldCB0b28gbWFueSBvZiB0
aGVtIGlmIHdlIGxhdGVyIGRlY2lkZSB0bworICAgICAgICAgICAgICAgIC8vIHJlY29uc3RydWN0
IGEgc2hvcnRoYW5kIGJhc2VkIG9uIGxvbmdoYW5kcy4KKyAgICAgICAgICAgICAgICBtX2ltcGxp
Y2l0U2hvcnRoYW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KKyAg
ICBtX2ltcGxpY2l0U2hvcnRoYW5kID0gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcAppbmRleCA4ODdm
MDI3Y2JkZjY4NDk0MjhhNjAxNzBiOGUxZGQyZWNiNTM4ZDZiLi5jMmQzNGEzYWEwYTViOTIxNGE0
ODQxZDlhNTMxNmNiMWM3ZTg2YWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJv
cGVydHlTaG9ydGhhbmQuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyU3RhcnRTaG9ydGhhbmQoKQogY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgd2Via2l0Q29sdW1uc1Nob3J0aGFuZCgpCiB7CiAgICAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgY29sdW1uc1Byb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJr
aXRDb2x1bW5XaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCB9OwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Q29sdW1uc0xvbmdo
YW5kcywgKGNvbHVtbnNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGNvbHVtbnNQcm9wZXJ0
aWVzKSkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwg
d2Via2l0Q29sdW1uc0xvbmdoYW5kcywgKGNvbHVtbnNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVO
R1RIKGNvbHVtbnNQcm9wZXJ0aWVzKSwgdHJ1ZSkpOwogICAgIHJldHVybiB3ZWJraXRDb2x1bW5z
TG9uZ2hhbmRzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhh
bmQuaAppbmRleCBlNDIxZjE3OWQyNjg1NmQxMDc2NjAxNWE1OGQ0ODkwMDRmYWUyZGRiLi4xM2E3
NjkxZGJiMDY2ZjljNTZhNDUyZTIzM2UxMzFmYzQyNjY4OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKQEAgLTMyLDMxICszMiwzNiBAQCBwdWJsaWM6
CiAgICAgICAgIDogbV9wcm9wZXJ0aWVzKDApCiAgICAgICAgICwgbV9wcm9wZXJ0aWVzRm9ySW5p
dGlhbGl6YXRpb24oMCkKICAgICAgICAgLCBtX2xlbmd0aCgwKQorICAgICAgICAsIG1fYWxsQWNj
ZXB0QXV0byhmYWxzZSkKICAgICB7CiAgICAgfQogCi0gICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZChjb25zdCBDU1NQcm9wZXJ0eUlEKiBwcm9wZXJ0aWVzLCB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVz
KQorICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVy
dGllcywgdW5zaWduZWQgbnVtUHJvcGVydGllcywgYm9vbCBhbGxBY2NlcHRBdXRvID0gZmFsc2Up
CiAgICAgICAgIDogbV9wcm9wZXJ0aWVzKHByb3BlcnRpZXMpCiAgICAgICAgICwgbV9wcm9wZXJ0
aWVzRm9ySW5pdGlhbGl6YXRpb24oMCkKICAgICAgICAgLCBtX2xlbmd0aChudW1Qcm9wZXJ0aWVz
KQorICAgICAgICAsIG1fYWxsQWNjZXB0QXV0byhhbGxBY2NlcHRBdXRvKQogICAgIHsKICAgICB9
CiAKLSAgICBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3Bl
cnRpZXMsIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqKiBwcm9wZXJ0aWVzRm9ySW5pdGlh
bGl6YXRpb24sIHVuc2lnbmVkIG51bVByb3BlcnRpZXMpCisgICAgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZChjb25zdCBDU1NQcm9wZXJ0eUlEKiBwcm9wZXJ0aWVzLCBjb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kKiogcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uLCB1bnNpZ25lZCBudW1Qcm9w
ZXJ0aWVzLCBib29sIGFsbEFjY2VwdEF1dG8gPSBmYWxzZSkKICAgICAgICAgOiBtX3Byb3BlcnRp
ZXMocHJvcGVydGllcykKICAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbihw
cm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24pCiAgICAgICAgICwgbV9sZW5ndGgobnVtUHJvcGVy
dGllcykKKyAgICAgICAgLCBtX2FsbEFjY2VwdEF1dG8oYWxsQWNjZXB0QXV0bykKICAgICB7CiAg
ICAgfQogCiAgICAgY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcygpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvcGVydGllczsgfQogICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqKiBw
cm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXNG
b3JJbml0aWFsaXphdGlvbjsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGVuZ3RoOyB9CisgICAgYm9vbCBhbGxBY2NlcHRBdXRvKCkgY29uc3QgeyByZXR1cm4gbV9h
bGxBY2NlcHRBdXRvOyB9CiAKIHByaXZhdGU6CiAgICAgY29uc3QgQ1NTUHJvcGVydHlJRCogbV9w
cm9wZXJ0aWVzOwogICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqKiBtX3Byb3BlcnRp
ZXNGb3JJbml0aWFsaXphdGlvbjsKICAgICB1bnNpZ25lZCBtX2xlbmd0aDsKKyAgICBib29sIG1f
YWxsQWNjZXB0QXV0bzsKIH07CiAKIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tn
cm91bmRTaG9ydGhhbmQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMDNhNDNhYmNkYTdjZDVmOTc4MzQ2ZDQ4NGVhYTVi
MTBjMDJjMjc5Li45NmM5YzJjY2E5MjdiZjRhNTE3ODBlNTc4ZDc1YTdlOGJiMmU5NDY0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMTIgIE1vcnRlbiBTdGVuc2hvcm5lICA8bXN0ZW5z
aG9Ab3BlcmEuY29tPgorCisgICAgICAgIENTUzMgTXVsdGljb2x1bW46IGNhbm5vdCBzZXQgImF1
dG8gPGxlbmd0aD4iIHRvIGNvbHVtbnMgcHJvcGVydHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM1OTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhh
bmQtcGFyc2luZy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNv
bC9jb2x1bW5zLXNob3J0aGFuZC1wYXJzaW5nLTIuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMTIg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU29tZSBjYW52YXMg
dGVzdHMgb25seSBmYWlsIG9uIE1hYyBFV1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40ZGRmOTY4ZTFmMzkwZWE1Nzc5YTMxZjRjMjY5OTY5YjYyNGZiNTYx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jb2x1bW5zLXNo
b3J0aGFuZC1wYXJzaW5nLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzcgQEAKK1Rlc3QgdGhl
IGJlaGF2aW9yIHdoZW4gJ2F1dG8nIGlzIHBhcnQgb2YgdGhlICdjb2x1bW5zJyBwcm9wZXJ0eSB2
YWx1ZS4gU2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbXVsdGljb2wvI2NvbHVtbnMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTEnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAiYXV0byIKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTEnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAiMyIK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTInKS5zdHlsZS5XZWJraXRDb2x1bW5X
aWR0aCBpcyAiMTBlbSIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTInKS5zdHls
ZS5XZWJraXRDb2x1bW5Db3VudCBpcyAiYXV0byIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTMnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAiYXV0byIKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTMnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAiMyIK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTQnKS5zdHlsZS5XZWJraXRDb2x1bW5X
aWR0aCBpcyAiMTBlbSIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTQnKS5zdHls
ZS5XZWJraXRDb2x1bW5Db3VudCBpcyAiYXV0byIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTUnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAiN2VtIgorUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZWxtNScpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50IGlzICI3Igor
UEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtNicpLnN0eWxlLldlYmtpdENvbHVtbldp
ZHRoIGlzICI3ZW0iCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG02Jykuc3R5bGUu
V2Via2l0Q29sdW1uQ291bnQgaXMgIjciCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
bG03Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGggaXMgImF1dG8iCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdlbG03Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQgaXMgImF1dG8iCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lk
dGggaXMgImF1dG8iCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUu
V2Via2l0Q29sdW1uQ291bnQgaXMgImF1dG8iCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdlbG05Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQgaXMgImluaXRpYWwiCitQQVNTIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdlbG05Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGggaXMgImlu
aXRpYWwiCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xMCcpLnN0eWxlLldlYmtp
dENvbHVtbkNvdW50IGlzICJhdXRvIgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxt
MTAnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCBpcyAiYXV0byIKK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VsbTExJykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQgaXMgImluaGVyaXQi
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xMScpLnN0eWxlLldlYmtpdENvbHVt
bldpZHRoIGlzICJpbmhlcml0IgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMTIn
KS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCBpcyAiYXV0byIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2VsbTEyJykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGggaXMgImF1dG8iCitQQVNT
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xMycpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50
IGlzICI3IgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMTMnKS5zdHlsZS5XZWJr
aXRDb2x1bW5XaWR0aCBpcyAiaW5pdGlhbCIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2VsbTE0Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQgaXMgImluaXRpYWwiCitQQVNTIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xNCcpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIGlzICI3
ZW0iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jb2x1bW5zLXNob3J0aGFuZC1w
YXJzaW5nLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY29sdW1ucy1zaG9ydGhh
bmQtcGFyc2luZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFhYjU4Y2NkNzQzMGUzZmZjOTA4Yjc3ZTMz
ZmIwN2VkZTBhMTk0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvY29sdW1ucy1zaG9ydGhhbmQtcGFyc2luZy0yLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPidjb2x1bW5zJyBwcm9w
ZXJ0eSB3aXRoICdhdXRvJyBhbmQgc29tZXRoaW5nIGVsc2U8L3RpdGxlPgorICAgIDxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGUgYmVoYXZpb3Igd2hlbiAnYXV0bycgaXMg
cGFydCBvZiB0aGUgJ2NvbHVtbnMnIHByb3BlcnR5IHZhbHVlLiBTZWUgaHR0cDovL3d3dy53My5v
cmcvVFIvY3NzMy1tdWx0aWNvbC8jY29sdW1ucyIpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3NjcmlwdD4KKyAg
PC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJlbG0xIiBzdHlsZT0iLXdlYmtpdC1jb2x1
bW5zOmF1dG8gMzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTIiIHN0eWxlPSItd2Via2l0LWNv
bHVtbnM6YXV0byAxMGVtOyI+PC9kaXY+CisgICAgPGRpdiBpZD0iZWxtMyIgc3R5bGU9Ii13ZWJr
aXQtY29sdW1uczozIGF1dG87Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJlbG00IiBzdHlsZT0iLXdl
YmtpdC1jb2x1bW5zOjEwZW0gYXV0bzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTUiIHN0eWxl
PSItd2Via2l0LWNvbHVtbnM6NyA3ZW07IC13ZWJraXQtY29sdW1uczphdXRvIGF1dG8gYXV0bzsi
PjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTYiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6NyA3ZW07
IC13ZWJraXQtY29sdW1uczoxMGVtIGF1dG8gYXV0bzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVs
bTciIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6NyA3ZW07IC13ZWJraXQtY29sdW1uczphdXRvOyI+
PC9kaXY+CisgICAgPGRpdiBpZD0iZWxtOCIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczo3IDdlbTsg
LXdlYmtpdC1jb2x1bW5zOmF1dG8gYXV0bzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTkiIHN0
eWxlPSItd2Via2l0LWNvbHVtbnM6YXV0bzsgLXdlYmtpdC1jb2x1bW5zOmluaXRpYWw7Ij48L2Rp
dj4KKyAgICA8ZGl2IGlkPSJlbG0xMCIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczphdXRvOyAtd2Vi
a2l0LWNvbHVtbnM6aW5pdGlhbCBpbml0aWFsOyI+PC9kaXY+CisgICAgPGRpdiBpZD0iZWxtMTEi
IHN0eWxlPSItd2Via2l0LWNvbHVtbnM6YXV0bzsgLXdlYmtpdC1jb2x1bW5zOmluaGVyaXQ7Ij48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJlbG0xMiIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczphdXRvOyAt
d2Via2l0LWNvbHVtbnM6aW5oZXJpdCBpbmhlcml0OyI+PC9kaXY+CisgICAgPGRpdiBpZD0iZWxt
MTMiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6NzsiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImVsbTE0
IiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjdlbTsiPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xJyku
c3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiYXV0byIpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMScpLnN0eWxlLldlYmtpdENvbHVt
bkNvdW50IiwgIjMiKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VsbTInKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCIsICIxMGVtIik7Cisg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0y
Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQiLCAiYXV0byIpOworICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMycpLnN0eWxlLldlYmtpdENv
bHVtbldpZHRoIiwgImF1dG8iKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTMnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCIsICIzIik7
CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
bG00Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiMTBlbSIpOworICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtNCcpLnN0eWxlLldlYmtp
dENvbHVtbkNvdW50IiwgImF1dG8iKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTUnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCIsICI3
ZW0iKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTUnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCIsICI3Iik7CisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG02Jykuc3R5bGUuV2Vi
a2l0Q29sdW1uV2lkdGgiLCAiN2VtIik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG02Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQiLCAi
NyIpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZWxtNycpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIiwgImF1dG8iKTsKKyAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTcnKS5zdHlsZS5X
ZWJraXRDb2x1bW5Db3VudCIsICJhdXRvIik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG04Jykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgi
LCAiYXV0byIpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZWxtOCcpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50IiwgImF1dG8iKTsKKyAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTknKS5z
dHlsZS5XZWJraXRDb2x1bW5Db3VudCIsICJpbml0aWFsIik7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG05Jykuc3R5bGUuV2Via2l0Q29s
dW1uV2lkdGgiLCAiaW5pdGlhbCIpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMTAnKS5zdHlsZS5XZWJraXRDb2x1bW5Db3VudCIsICJh
dXRvIik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdlbG0xMCcpLnN0eWxlLldlYmtpdENvbHVtbldpZHRoIiwgImF1dG8iKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsbTExJykuc3R5
bGUuV2Via2l0Q29sdW1uQ291bnQiLCAiaW5oZXJpdCIpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMTEnKS5zdHlsZS5XZWJraXRDb2x1
bW5XaWR0aCIsICJpbmhlcml0Iik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xMicpLnN0eWxlLldlYmtpdENvbHVtbkNvdW50IiwgImF1
dG8iKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VsbTEyJykuc3R5bGUuV2Via2l0Q29sdW1uV2lkdGgiLCAiYXV0byIpOworICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxtMTMnKS5zdHls
ZS5XZWJraXRDb2x1bW5Db3VudCIsICI3Iik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbG0xMycpLnN0eWxlLldlYmtpdENvbHVtbldpZHRo
IiwgImluaXRpYWwiKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VsbTE0Jykuc3R5bGUuV2Via2l0Q29sdW1uQ291bnQiLCAiaW5pdGlhbCIp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZWxtMTQnKS5zdHlsZS5XZWJraXRDb2x1bW5XaWR0aCIsICI3ZW0iKTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CisgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>