<?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>87467</bug_id>
          
          <creation_ts>2012-05-25 00:07:44 -0700</creation_ts>
          <short_desc>[Forms][PerfTest] Performance test for select element rendering</short_desc>
          <delta_ts>2017-07-18 08:29:57 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>87466</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>yosin</reporter>
          <assigned_to>yosin</assigned_to>
          <cc>abarth</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>633629</commentid>
    <comment_count>0</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-05-25 00:07:44 -0700</bug_when>
    <thetext>Rendering of select element is sometimes slow, such as BUG-87466, CR-90094.

We would like to have perf test for select element to detect performance regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633666</commentid>
    <comment_count>1</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-05-25 01:08:21 -0700</bug_when>
    <thetext>This bug is preparation for fixing BUG-87466.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633669</commentid>
    <comment_count>2</comment_count>
      <attachid>143997</attachid>
    <who name="">yosin</who>
    <bug_when>2012-05-25 01:09:35 -0700</bug_when>
    <thetext>Created attachment 143997
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633674</commentid>
    <comment_count>3</comment_count>
      <attachid>143997</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-25 01:14:38 -0700</bug_when>
    <thetext>Comment on attachment 143997
Patch 1

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

&gt; PerformanceTests/ChangeLog:4
&gt; +        [Forms][PerfTest] Performance test for select element rendering
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=87467

Do we really need to add tests for this? Unlike layout tests, perf tests need to be ran sequentially and hence the cost of adding a new perf test is significantly higher than adding a new layout test. For example, each test that uses runPerSecond would run for at least 18s in total. Here, we&apos;re adding 90+ seconds to the perf bots&apos; cycle time. I&apos;m not sure how long these tests take to finish but we have to be careful not to add lots of micro benchmarks since we can write millions of micro benchmarks that won&apos;t matter much in practice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633770</commentid>
    <comment_count>4</comment_count>
      <attachid>144023</attachid>
    <who name="">yosin</who>
    <bug_when>2012-05-25 03:04:47 -0700</bug_when>
    <thetext>Created attachment 144023
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633779</commentid>
    <comment_count>5</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-05-25 03:12:10 -0700</bug_when>
    <thetext>Yes, we would like to have these perf test for avoiding regression of execution speed.

It seems this performance regression is caused by re-factoring of HTMLOptGroupElement class. If we had had perf test at re-factor time, we could catch it before users saw.

On my linux box (Z600), it takes 58 second to run 16 tests in this patch.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633791</commentid>
    <comment_count>6</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-05-25 03:27:47 -0700</bug_when>
    <thetext>It is hard to guess that changing base class from HTMLFormControlElement to HTMLElement caused performance regression... :-&lt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633987</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-25 09:28:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It seems this performance regression is caused by re-factoring of HTMLOptGroupElement class. If we had had perf test at re-factor time, we could catch it before users saw.
&gt; 
&gt; On my linux box (Z600), it takes 58 second to run 16 tests in this patch.

That means we&apos;re going to add 2-3 minutes if not 5 minutes on cr-mac perf bots since they&apos;re mac minis. That&apos;s not an acceptable amount of the cycle time increase for this feature. Performance tests aren&apos;t regression tests. We can&apos;t have 1,000 perf. tests. It doesn&apos;t scale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634047</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-25 10:34:47 -0700</bug_when>
    <thetext>I&apos;ve talked with tony^work, kling, &amp; anttik about this. I think everyone agrees with me that adding 16 tests for just rendering select element rendering is excessive. We could imagine adding other kinds of form elements and creating a form-control rendering test however.

Also, popup menu, etc... uses completely different code path in DRT so I&apos;m not even sure if these tests are testing what you&apos;re intending to test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639014</commentid>
    <comment_count>9</comment_count>
      <attachid>144023</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-31 23:57:35 -0700</bug_when>
    <thetext>Comment on attachment 144023
Patch 2

I don&apos;t think we want to land this patch as is.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143997</attachid>
            <date>2012-05-25 01:09:35 -0700</date>
            <delta_ts>2012-05-25 03:04:43 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-87467-20120525170934.patch</filename>
            <type>text/plain</type>
            <size>6946</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MzM5CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBhNGU0MWU5NTZj
ZDA1N2E2NTQyYTcwZTc4ZDk2YjQxNGZmZGIxMDAuLmYwY2JmMDliOTgxZTdiZGJmZjFkMGYzNjY3
N2ZlZTQ0NzAzNmM5NDUgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUt
MjUgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9y
bXNdW1BlcmZUZXN0XSBQZXJmb3JtYW5jZSB0ZXN0IGZvciBzZWxlY3QgZWxlbWVudCByZW5kZXJp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDY3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBMYXlv
dXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRDaGlsZC1vcHRncm91cC1vcHRpb24tMS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBMYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRDaGls
ZC1vcHRncm91cC1vcHRpb24tMTAuaHRtbDogQWRkZWQuCisgICAgICAgICogTGF5b3V0L0Zvcm1z
L3NlbGVjdC9zZWxlY3QtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAuaHRtbDogQWRkZWQuCisgICAgICAg
ICogTGF5b3V0L0Zvcm1zL3NlbGVjdC9zZWxlY3QtYXBwZW5kQ2hpbGQtb3B0aW9uLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIExheW91dC9Gb3Jtcy9zZWxlY3Qvc2VsZWN0LWlubmVySFRNTC1vcHRp
b24uaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhlYXBQcm9maWxlcjogdXBz
dHJlYW0gcmV0YWluZWRTaXplIGNhbGN1bGF0aW9uLgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRDaGlsZC1vcHRncm91cC1vcHRp
b24tMS5odG1sIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1h
cHBlbmRDaGlsZC1vcHRncm91cC1vcHRpb24tMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZWFhYjVlMzQ3
NGMyYmZmMzcxYmFlOTU0ZTY0MWQ0NTRmYzkwY2IKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3Jt
YW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3Qvc2VsZWN0LWFwcGVuZENoaWxkLW9wdGdyb3Vw
LW9wdGlvbi0xLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3Jl
YXRlIG1hbnkgb3B0Z3JvdXAgZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50Ljxi
cj4KK0luZm86IDxzZWxlY3QgaWQ9Im1lbnUiIHNpemU9IjEwIj48L3NlbGVjdD4KK0luZm86IDxz
ZWxlY3QgaWQ9InBvcHVwIj48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwb3B1
bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRvY3VtZW50
LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICAgICAgdmFyIG9wdGdyb3VwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0Z3JvdXAi
KTsKKyAgICAgICAgb3B0Z3JvdXAubGFiZWwgPSAiR3JvdXAgIiArIGk7CisgICAgICAgIHNlbGVj
dC5hcHBlbmRDaGlsZChvcHRncm91cCk7CisKKyAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICAgICAgICBvcHRpb24udGV4dCA9ICJpdGVtICIg
KyBpOworICAgICAgICBvcHRpb24udmFsdWUgPSBpOworICAgICAgICBvcHRncm91cC5hcHBlbmRD
aGlsZChvcHRpb24pOworICAgIH0KKyAgICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKK30K
KwordmFyIG1lbnUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpOwordmFyIHBvcHVw
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvcHVwIik7CisKK1BlcmZUZXN0UnVubmVyLnJ1
bihmdW5jdGlvbigpIHsKKyAgICBwb3B1bGF0ZShtZW51KTsKKyAgICBwb3B1bGF0ZShwb3B1cCk7
Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9y
bXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRDaGlsZC1vcHRncm91cC1vcHRpb24tMTAuaHRtbCBiL1Bl
cmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9zZWxlY3QtYXBwZW5kQ2hpbGQtb3B0
Z3JvdXAtb3B0aW9uLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2UyMGU0ZGQ2ODNlMWYxOTE5ZjZlNDU3
NzA5NjRlNDc3NzI5NzkxOQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5
b3V0L0Zvcm1zL3NlbGVjdC9zZWxlY3QtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0
bWwKQEAgLTAsMCArMSwzNCBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3JlYXRlIG9wdGdyb3Vw
IHBlciAxMCBvcHRpb25zLjxicj4KK0luZm86IDxzZWxlY3QgaWQ9Im1lbnUiIHNpemU9IjEwIj48
L3NlbGVjdD4KK0luZm86IDxzZWxlY3QgaWQ9InBvcHVwIj48L3NlbGVjdD4KKzwvYm9keT4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9
ICIiOworICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIHZhciBvcHRncm91cCA9
IG51bGw7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgaWYg
KGkgJSAxMCA9PSAwKSB7CisgICAgICAgICAgICBvcHRncm91cCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm9wdGdyb3VwIik7CisgICAgICAgICAgICBvcHRncm91cC5sYWJlbCA9ICJHcm91cCAi
ICsgaTsKKyAgICAgICAgICAgIHNlbGVjdC5hcHBlbmRDaGlsZChvcHRncm91cCk7CisgICAgICAg
IH0KKyAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIp
OworICAgICAgICBvcHRpb24udGV4dCA9ICJpdGVtICIgKyBpOworICAgICAgICBvcHRpb24udmFs
dWUgPSBpOworICAgICAgICBvcHRncm91cC5hcHBlbmRDaGlsZChvcHRpb24pOworICAgIH0KKyAg
ICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIG1lbnUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibWVudSIpOwordmFyIHBvcHVwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBvcHVwIik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5jdGlvbigpIHsKKyAgICBwb3B1
bGF0ZShtZW51KTsKKyAgICBwb3B1bGF0ZShwb3B1cCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRD
aGlsZC1vcHRncm91cC5odG1sIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0
L3NlbGVjdC1hcHBlbmRDaGlsZC1vcHRncm91cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlYTU2MzJjMDA2
NTNjODZjNDYzYzRlZTQ2YWJlYzJiZjgwZTc1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3Jt
YW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3Qvc2VsZWN0LWFwcGVuZENoaWxkLW9wdGdyb3Vw
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3JlYXRlIG1hbnkg
b3B0Z3JvdXAgZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50Ljxicj4KK0luZm86
IDxzZWxlY3QgaWQ9Im1lbnUiIHNpemU9IjEwIj48L3NlbGVjdD4KK0luZm86IDxzZWxlY3QgaWQ9
InBvcHVwIj48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwb3B1bGF0ZShzZWxl
Y3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRvY3VtZW50LmJvZHkuY2xp
ZW50SGVpZ2h0OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAg
IG9wdGdyb3VwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0Z3JvdXAiKTsKKyAgICAgICAg
b3B0Z3JvdXAubGFiZWwgPSAiR3JvdXAgIiArIGk7CisgICAgICAgIHNlbGVjdC5hcHBlbmRDaGls
ZChvcHRncm91cCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworfQor
Cit2YXIgbWVudSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZW51Iik7Cit2YXIgcG9wdXAg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicG9wdXAiKTsKKworUGVyZlRlc3RSdW5uZXIucnVu
KGZ1bmN0aW9uKCkgeworICAgIHBvcHVsYXRlKG1lbnUpOworICAgIHBvcHVsYXRlKHBvcHVwKTsK
K30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jt
cy9zZWxlY3Qvc2VsZWN0LWFwcGVuZENoaWxkLW9wdGlvbi5odG1sIGIvUGVyZm9ybWFuY2VUZXN0
cy9MYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1hcHBlbmRDaGlsZC1vcHRpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MzQxZDExN2UwN2FiMzgyZjY0ZGJhMzZhNWM2OThhNDlhYmNjMTcxCi0tLSAvZGV2
L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L3NlbGVjdC1h
cHBlbmRDaGlsZC1vcHRpb24uaHRtbApAQCAtMCwwICsxLDI4IEBACis8Ym9keT4KK0Rlc2NyaXB0
aW9uOiBDcmVhdGUgbWFueSBvcHRpb24gZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVt
ZW50Ljxicj4KK0luZm86IDxzZWxlY3QgaWQ9Im1lbnUiIHNpemU9IjEwIj48L3NlbGVjdD4KK0lu
Zm86IDxzZWxlY3QgaWQ9InBvcHVwIj48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRv
Y3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRp
b24iKTsKKyAgICAgICAgb3B0aW9uLnRleHQgPSAiaXRlbSAiICsgaTsKKyAgICAgICAgb3B0aW9u
LnZhbHVlID0gaTsKKyAgICAgICAgc2VsZWN0LmFwcGVuZENoaWxkKG9wdGlvbik7CisgICAgfQor
ICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworfQorCit2YXIgbWVudSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtZW51Iik7Cit2YXIgcG9wdXAgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicG9wdXAiKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgeworICAgIHBv
cHVsYXRlKG1lbnUpOworICAgIHBvcHVsYXRlKHBvcHVwKTsKK30pOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3Qvc2VsZWN0LWlubmVy
SFRNTC1vcHRpb24uaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9z
ZWxlY3QtaW5uZXJIVE1MLW9wdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMDM3ZTdkN2U4YTdjMDRk
Y2JjODc3MDU3YTVlYTBkMjA1YzMyZjUKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRl
c3RzL0xheW91dC9Gb3Jtcy9zZWxlY3Qvc2VsZWN0LWlubmVySFRNTC1vcHRpb24uaHRtbApAQCAt
MCwwICsxLDI3IEBACis8Ym9keT4KK0Rlc2NyaXB0aW9uOiBDcmVhdGUgbWFueSBvcHRpb24gZWxl
bWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50LgorSW5mbzogPHNlbGVjdCBpZD0ibWVu
dSIgc2l6ZT0iMTAiPjwvc2VsZWN0PgorSW5mbzogPHNlbGVjdCBpZD0icG9wdXAiPjwvc2VsZWN0
PgorPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9ydW5uZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRlKHNlbGVjdCkKK3sKKyAgICBzZWxl
Y3QuaW5uZXJIVE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CisgICAg
dmFyIG9wdGlvbnMgPSAiIjsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkgewor
ICAgICAgICBvcHRpb25zICs9ICI8b3B0aW9uIHZhbHVlPSIgKyBpICsgIj5pdGVtICIgKyBpICsg
Ijwvb3B0aW9uPiI7CisgICAgfQorICAgIHNlbGVjdC5pbm5lckhUTUwgPSBvcHRpb25zOworICAg
IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworfQorCit2YXIgbWVudSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtZW51Iik7Cit2YXIgcG9wdXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicG9wdXAiKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgeworICAgIHBvcHVs
YXRlKG1lbnUpOworICAgIHBvcHVsYXRlKHBvcHVwKTsKK30pOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144023</attachid>
            <date>2012-05-25 03:04:47 -0700</date>
            <delta_ts>2012-05-31 23:57:35 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-87467-20120525190446.patch</filename>
            <type>text/plain</type>
            <size>19420</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MzM5CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBhNGU0MWU5NTZj
ZDA1N2E2NTQyYTcwZTc4ZDk2YjQxNGZmZGIxMDAuLmI4MGEwM2JmZTk4NDk5ODg3NjU2MjcxNDE0
NDc4MWE0NmNmY2FlMWUgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDUt
MjUgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9y
bXNdW1BlcmZUZXN0XSBQZXJmb3JtYW5jZSB0ZXN0IGZvciBzZWxlY3QgZWxlbWVudCByZW5kZXJp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDY3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBMYXlv
dXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0aW9uLTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVuZENo
aWxkLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBMYXlvdXQvRm9y
bXMvc2VsZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVuZENoaWxkLW9wdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBMYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtaW5uZXJIVE1M
LW9wdGdyb3VwLW9wdGlvbi0xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIExheW91dC9Gb3Jtcy9z
ZWxlY3QvbGlzdGJveC1pbm5lckhUTUwtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIExheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJveC1pbm5lckhUTUwtb3B0Z3JvdXAu
aHRtbDogQWRkZWQuCisgICAgICAgICogTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWlubmVy
SFRNTC1vcHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogTGF5b3V0L0Zvcm1zL3NlbGVjdC9t
ZW51bGlzdC1hcHBlbmRDaGlsZC1vcHRncm91cC1vcHRpb24tMS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBMYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWFwcGVuZENoaWxkLW9wdGdyb3VwLW9w
dGlvbi0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBMYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVs
aXN0LWFwcGVuZENoaWxkLW9wdGdyb3VwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIExheW91dC9G
b3Jtcy9zZWxlY3QvbWVudWxpc3QtYXBwZW5kQ2hpbGQtb3B0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIExheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtaW5uZXJIVE1MLW9wdGdyb3VwLW9w
dGlvbi0xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIExheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxp
c3QtaW5uZXJIVE1MLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBM
YXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWlubmVySFRNTC1vcHRncm91cC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBMYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWlubmVySFRNTC1vcHRp
b24uaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhlYXBQcm9maWxlcjogdXBz
dHJlYW0gcmV0YWluZWRTaXplIGNhbGN1bGF0aW9uLgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0
aW9uLTEuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94
LWFwcGVuZENoaWxkLW9wdGdyb3VwLW9wdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMzNjNiNDlk
MTdmMzJhY2RjMWVjMTQxM2UyNjIwODA4NzMwYjFkYwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZv
cm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVuZENoaWxkLW9wdGdy
b3VwLW9wdGlvbi0xLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjog
Q3JlYXRlIG1hbnkgb3B0Z3JvdXAgZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50
Ljxicj4KK0luZm86IDxzZWxlY3QgaWQ9Imxpc3Rib3giIHNpemU9IjEwIj48L3NlbGVjdD4KKzwv
Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0Lmlu
bmVySFRNTCA9ICIiOworICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAgIHZhciBvcHRncm91cCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGdyb3VwIik7CisgICAgICAgIG9wdGdyb3VwLmxhYmVsID0g
Ikdyb3VwICIgKyBpOworICAgICAgICBzZWxlY3QuYXBwZW5kQ2hpbGQob3B0Z3JvdXApOworCisg
ICAgICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAg
ICAgICAgb3B0aW9uLnRleHQgPSAiaXRlbSAiICsgaTsKKyAgICAgICAgb3B0aW9uLnZhbHVlID0g
aTsKKyAgICAgICAgb3B0Z3JvdXAuYXBwZW5kQ2hpbGQob3B0aW9uKTsKKyAgICB9CisgICAgZG9j
dW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7Cit9CisKK3ZhciBsaXN0Ym94ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxpc3Rib3giKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkg
eworICAgIHBvcHVsYXRlKGxpc3Rib3gpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVuZENoaWxkLW9w
dGdyb3VwLW9wdGlvbi0xMC5odG1sIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2Vs
ZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzBmM2ZmMGMwZjgxYTlmODJiYTUxN2ZkZTA4OTBiNjFjMDY5NDI2OQotLS0gL2Rldi9udWxs
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVu
ZENoaWxkLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxib2R5Pgor
RGVzY3JpcHRpb246IENyZWF0ZSBvcHRncm91cCBwZXIgMTAgb3B0aW9ucy48YnI+CitJbmZvOiA8
c2VsZWN0IGlkPSJsaXN0Ym94IiBzaXplPSIxMCI+PC9zZWxlY3Q+Cis8L2JvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcG9wdWxhdGUoc2VsZWN0KQoreworICAgIHNlbGVjdC5pbm5lckhUTUwgPSAiIjsK
KyAgICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKKyAgICB2YXIgb3B0Z3JvdXAgPSBudWxs
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAgIGlmIChpICUg
MTAgPT0gMCkgeworICAgICAgICAgICAgb3B0Z3JvdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJvcHRncm91cCIpOworICAgICAgICAgICAgb3B0Z3JvdXAubGFiZWwgPSAiR3JvdXAgIiArIGk7
CisgICAgICAgICAgICBzZWxlY3QuYXBwZW5kQ2hpbGQob3B0Z3JvdXApOworICAgICAgICB9Cisg
ICAgICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAg
ICAgICAgb3B0aW9uLnRleHQgPSAiaXRlbSAiICsgaTsKKyAgICAgICAgb3B0aW9uLnZhbHVlID0g
aTsKKyAgICAgICAgb3B0Z3JvdXAuYXBwZW5kQ2hpbGQob3B0aW9uKTsKKyAgICB9CisgICAgZG9j
dW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7Cit9CisKK3ZhciBsaXN0Ym94ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxpc3Rib3giKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkg
eworICAgIHBvcHVsYXRlKGxpc3Rib3gpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWFwcGVuZENoaWxkLW9w
dGdyb3VwLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJv
eC1hcHBlbmRDaGlsZC1vcHRncm91cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNmI0Y2Q1YThiZDlkZTU1
YTkyM2Y2OTNkMjljNzFmMTYwMDhmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRl
c3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJveC1hcHBlbmRDaGlsZC1vcHRncm91cC5odG1s
CkBAIC0wLDAgKzEsMjQgQEAKKzxib2R5PgorRGVzY3JpcHRpb246IENyZWF0ZSBtYW55IG9wdGdy
b3VwIGVsZW1lbnQgYW5kIGFwcGVuZCB0byBzZWxlY3QgZWxlbWVudC48YnI+CitJbmZvOiA8c2Vs
ZWN0IGlkPSJsaXN0Ym94IiBzaXplPSIxMCI+PC9zZWxlY3Q+Cis8L2JvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gcG9wdWxhdGUoc2VsZWN0KQoreworICAgIHNlbGVjdC5pbm5lckhUTUwgPSAiIjsKKyAg
ICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgICAgICBvcHRncm91cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9w
dGdyb3VwIik7CisgICAgICAgIG9wdGdyb3VwLmxhYmVsID0gIkdyb3VwICIgKyBpOworICAgICAg
ICBzZWxlY3QuYXBwZW5kQ2hpbGQob3B0Z3JvdXApOworICAgIH0KKyAgICBkb2N1bWVudC5ib2R5
LmNsaWVudEhlaWdodDsKK30KKwordmFyIGxpc3Rib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibGlzdGJveCIpOworCitQZXJmVGVzdFJ1bm5lci5ydW4oZnVuY3Rpb24oKSB7CisgICAgcG9w
dWxhdGUobGlzdGJveCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0aW9uLmh0bWwg
Yi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJveC1hcHBlbmRDaGls
ZC1vcHRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWI3MDkwYzg3NzFjMzRlNTNkYjNkYjgwZGJiMmNj
NWJhMGViZjE2Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9y
bXMvc2VsZWN0L2xpc3Rib3gtYXBwZW5kQ2hpbGQtb3B0aW9uLmh0bWwKQEAgLTAsMCArMSwyNSBA
QAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3JlYXRlIG1hbnkgb3B0aW9uIGVsZW1lbnQgYW5kIGFw
cGVuZCB0byBzZWxlY3QgZWxlbWVudC48YnI+CitJbmZvOiA8c2VsZWN0IGlkPSJsaXN0Ym94IiBz
aXplPSIxMCI+PC9zZWxlY3Q+Cis8L2JvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcG9wdWxhdGUoc2Vs
ZWN0KQoreworICAgIHNlbGVjdC5pbm5lckhUTUwgPSAiIjsKKyAgICBkb2N1bWVudC5ib2R5LmNs
aWVudEhlaWdodDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgICAg
ICB2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgICAgICAg
IG9wdGlvbi50ZXh0ID0gIml0ZW0gIiArIGk7CisgICAgICAgIG9wdGlvbi52YWx1ZSA9IGk7Cisg
ICAgICAgIHNlbGVjdC5hcHBlbmRDaGlsZChvcHRpb24pOworICAgIH0KKyAgICBkb2N1bWVudC5i
b2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIGxpc3Rib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGlzdGJveCIpOworCitQZXJmVGVzdFJ1bm5lci5ydW4oZnVuY3Rpb24oKSB7CisgICAg
cG9wdWxhdGUobGlzdGJveCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFu
Y2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtaW5uZXJIVE1MLW9wdGdyb3VwLW9w
dGlvbi0xLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJv
eC1pbm5lckhUTUwtb3B0Z3JvdXAtb3B0aW9uLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGMzOGEwMjI1
NjRhNmQ5NGIzZjYzMWM0ZGRmMTUzZGEzZjllNzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9y
bWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtaW5uZXJIVE1MLW9wdGdyb3Vw
LW9wdGlvbi0xLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3Jl
YXRlIG9wdGdyb3VwIHBlciAxIG9wdGlvbnMuPGJyPgorSW5mbzogPHNlbGVjdCBpZD0ibGlzdGJv
eCIgc2l6ZT0iMTAiPjwvc2VsZWN0PgorPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9ydW5uZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRl
KHNlbGVjdCkKK3sKKyAgICBzZWxlY3QuaW5uZXJIVE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9k
eS5jbGllbnRIZWlnaHQ7CisgICAgdmFyIG9wdGlvbnMgPSAiIjsKKyAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgICAgICBvcHRpb25zICs9ICI8b3B0Z3JvdXAgbGFiZWw9
J0dyb3VwICIgKyBpICsgIic+IjsKKyAgICAgICAgb3B0aW9ucyArPSAiPG9wdGlvbiB2YWx1ZT0i
ICsgaSArICI+aXRlbSAiICsgaSArICI8L29wdGlvbj4iOworICAgICAgICBvcHRpb25zICs9ICI8
L29wdGdyb3VwPiIKKyAgICB9CisgICAgc2VsZWN0LmlubmVySFRNTCA9IG9wdGlvbnM7CisgICAg
ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7Cit9CisKK3ZhciBsaXN0Ym94ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxpc3Rib3giKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9u
KCkgeworICAgIHBvcHVsYXRlKGxpc3Rib3gpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWlubmVySFRNTC1v
cHRncm91cC1vcHRpb24tMTAuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3Nl
bGVjdC9saXN0Ym94LWlubmVySFRNTC1vcHRncm91cC1vcHRpb24tMTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYTY2NThkZmY5NjA2ZTg0ZWM0MDBmMzYyNWI1ZDkyMzM2ZTRhYjJmCi0tLSAvZGV2L251bGwK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gtaW5uZXJI
VE1MLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxib2R5PgorRGVz
Y3JpcHRpb246IENyZWF0ZSBvcHRncm91cCBwZXIgMTAgb3B0aW9ucy48YnI+CitJbmZvOiA8c2Vs
ZWN0IGlkPSJsaXN0Ym94IiBzaXplPSIxMCI+PC9zZWxlY3Q+Cis8L2JvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gcG9wdWxhdGUoc2VsZWN0KQoreworICAgIHNlbGVjdC5pbm5lckhUTUwgPSAiIjsKKyAg
ICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKKyAgICB2YXIgb3B0aW9ucyA9ICIiOworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAgIGlmIChpICUgMTAgPT0g
MCkgeworICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgb3B0aW9ucyArPSAiPC9v
cHRncm91cD4iCisgICAgICAgICAgICBvcHRpb25zICs9ICI8b3B0Z3JvdXAgbGFiZWw9J0dyb3Vw
ICIgKyBpICsgIic+IjsKKyAgICAgICAgfQorICAgICAgICBvcHRpb25zICs9ICI8b3B0aW9uIHZh
bHVlPSIgKyBpICsgIj5pdGVtICIgKyBpICsgIjwvb3B0aW9uPiI7CisgICAgfQorICAgIG9wdGlv
bnMgKz0gIjwvb3B0Z3JvdXA+IgorICAgIHNlbGVjdC5pbm5lckhUTUwgPSBvcHRpb25zOworICAg
IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworfQorCit2YXIgbGlzdGJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsaXN0Ym94Iik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5jdGlv
bigpIHsKKyAgICBwb3B1bGF0ZShsaXN0Ym94KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJveC1pbm5lckhUTUwt
b3B0Z3JvdXAuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0
Ym94LWlubmVySFRNTC1vcHRncm91cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4Y2JlYzJhOTdiZDU1OWM0
ZDQ4YzA2ZGYwNDcyZThlMTU1NjdmNjMKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRl
c3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbGlzdGJveC1pbm5lckhUTUwtb3B0Z3JvdXAuaHRtbApA
QCAtMCwwICsxLDI0IEBACis8Ym9keT4KK0Rlc2NyaXB0aW9uOiBDcmVhdGUgbWFueSBvcHRpb24g
ZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50Ljxicj4KK0luZm86IDxzZWxlY3Qg
aWQ9Imxpc3Rib3giIHNpemU9IjEwIj48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRv
Y3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIHZhciBvcHRpb25zID0gIiI7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgb3B0aW9ucyArPSAiPG9wdGdy
b3VwIGxhYmVsPSdHcm91cCAiICsgaSArICInPjwvb3B0Z3JvdXA+IjsKKyAgICB9CisgICAgc2Vs
ZWN0LmlubmVySFRNTCA9IG9wdGlvbnM7CisgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7
Cit9CisKK3ZhciBsaXN0Ym94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpc3Rib3giKTsK
KworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgeworICAgIHBvcHVsYXRlKGxpc3Rib3gp
OworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zv
cm1zL3NlbGVjdC9saXN0Ym94LWlubmVySFRNTC1vcHRpb24uaHRtbCBiL1BlcmZvcm1hbmNlVGVz
dHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9saXN0Ym94LWlubmVySFRNTC1vcHRpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40Mjk1NzA3NTIyMzQ1ZmRjMTFhN2EwNGRiYmFkNTU1YWY1YTFhZmYzCi0tLSAvZGV2
L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L2xpc3Rib3gt
aW5uZXJIVE1MLW9wdGlvbi5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxib2R5PgorRGVzY3JpcHRp
b246IENyZWF0ZSBtYW55IG9wdGlvbiBlbGVtZW50IGFuZCBhcHBlbmQgdG8gc2VsZWN0IGVsZW1l
bnQuPGJyPgorSW5mbzogPHNlbGVjdCBpZD0ibGlzdGJveCIgc2l6ZT0iMTAiPjwvc2VsZWN0Pgor
PC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9ydW5uZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRlKHNlbGVjdCkKK3sKKyAgICBzZWxlY3Qu
aW5uZXJIVE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CisgICAgdmFy
IG9wdGlvbnMgPSAiIjsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAg
ICAgICBvcHRpb25zICs9ICI8b3B0aW9uIHZhbHVlPSIgKyBpICsgIj5pdGVtICIgKyBpICsgIjwv
b3B0aW9uPiI7CisgICAgfQorICAgIHNlbGVjdC5pbm5lckhUTUwgPSBvcHRpb25zOworICAgIGRv
Y3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworfQorCit2YXIgbGlzdGJveCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsaXN0Ym94Iik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5jdGlvbigp
IHsKKyAgICBwb3B1bGF0ZShsaXN0Ym94KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Q
ZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtYXBwZW5kQ2hpbGQt
b3B0Z3JvdXAtb3B0aW9uLTEuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3Nl
bGVjdC9tZW51bGlzdC1hcHBlbmRDaGlsZC1vcHRncm91cC1vcHRpb24tMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMzNjViZWQ3OGIwMzViMTgxZjNmMGVkODZhYjU5NDFjMTgwOTkzOTUKLS0tIC9kZXYvbnVs
bAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtYXBw
ZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0aW9uLTEuaHRtbApAQCAtMCwwICsxLDI5IEBACis8Ym9keT4K
K0Rlc2NyaXB0aW9uOiBDcmVhdGUgbWFueSBvcHRncm91cCBlbGVtZW50IGFuZCBhcHBlbmQgdG8g
c2VsZWN0IGVsZW1lbnQuPGJyPgorSW5mbzogPHNlbGVjdCBpZD0ibWVudWxpc3QiPjwvc2VsZWN0
PgorPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9ydW5uZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRlKHNlbGVjdCkKK3sKKyAgICBzZWxl
Y3QuaW5uZXJIVE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIG9wdGdyb3VwID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0Z3JvdXAiKTsKKyAgICAgICAgb3B0Z3JvdXAubGFi
ZWwgPSAiR3JvdXAgIiArIGk7CisgICAgICAgIHNlbGVjdC5hcHBlbmRDaGlsZChvcHRncm91cCk7
CisKKyAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIp
OworICAgICAgICBvcHRpb24udGV4dCA9ICJpdGVtICIgKyBpOworICAgICAgICBvcHRpb24udmFs
dWUgPSBpOworICAgICAgICBvcHRncm91cC5hcHBlbmRDaGlsZChvcHRpb24pOworICAgIH0KKyAg
ICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIG1lbnVsaXN0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnVsaXN0Iik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5j
dGlvbigpIHsKKyAgICBwb3B1bGF0ZShtZW51bGlzdCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWFwcGVu
ZENoaWxkLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1sIGIvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQv
Rm9ybXMvc2VsZWN0L21lbnVsaXN0LWFwcGVuZENoaWxkLW9wdGdyb3VwLW9wdGlvbi0xMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY4ZWViMDU3ZDdhYTVjNDY1NjFmNjQxYzQ3N2VkOWQ1OWI5ZWFiYzUKLS0t
IC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVu
dWxpc3QtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0bWwKQEAgLTAsMCArMSwzMSBA
QAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3JlYXRlIG9wdGdyb3VwIHBlciAxMCBvcHRpb25zLjxi
cj4KK0luZm86IDxzZWxlY3QgaWQ9Im1lbnVsaXN0Ij48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIi
OworICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIHZhciBvcHRncm91cCA9IG51
bGw7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgaWYgKGkg
JSAxMCA9PSAwKSB7CisgICAgICAgICAgICBvcHRncm91cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoIm9wdGdyb3VwIik7CisgICAgICAgICAgICBvcHRncm91cC5sYWJlbCA9ICJHcm91cCAiICsg
aTsKKyAgICAgICAgICAgIHNlbGVjdC5hcHBlbmRDaGlsZChvcHRncm91cCk7CisgICAgICAgIH0K
KyAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwor
ICAgICAgICBvcHRpb24udGV4dCA9ICJpdGVtICIgKyBpOworICAgICAgICBvcHRpb24udmFsdWUg
PSBpOworICAgICAgICBvcHRncm91cC5hcHBlbmRDaGlsZChvcHRpb24pOworICAgIH0KKyAgICBk
b2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIG1lbnVsaXN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1lbnVsaXN0Iik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5jdGlv
bigpIHsKKyAgICBwb3B1bGF0ZShtZW51bGlzdCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWFwcGVuZENo
aWxkLW9wdGdyb3VwLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3Qv
bWVudWxpc3QtYXBwZW5kQ2hpbGQtb3B0Z3JvdXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWYwODY3MTAz
MmE5ZjIyNjNjMzNmYTdlZGMwYjBlZjkzYjgwZGQ2Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9y
bWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWFwcGVuZENoaWxkLW9wdGdy
b3VwLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3JlYXRlIG1h
bnkgb3B0Z3JvdXAgZWxlbWVudCBhbmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50Ljxicj4KK0lu
Zm86IDxzZWxlY3QgaWQ9Im1lbnVsaXN0Ij48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBwb3B1bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAg
IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDsgKytpKSB7CisgICAgICAgIG9wdGdyb3VwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0
Z3JvdXAiKTsKKyAgICAgICAgb3B0Z3JvdXAubGFiZWwgPSAiR3JvdXAgIiArIGk7CisgICAgICAg
IHNlbGVjdC5hcHBlbmRDaGlsZChvcHRncm91cCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHku
Y2xpZW50SGVpZ2h0OworfQorCit2YXIgbWVudWxpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibWVudWxpc3QiKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgeworICAgIHBv
cHVsYXRlKG1lbnVsaXN0KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtYXBwZW5kQ2hpbGQtb3B0aW9uLmh0
bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtYXBwZW5k
Q2hpbGQtb3B0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNlN2ZmMGE5ZDIxNDMyODRkNjI5MGUzMTM5
Y2YzMjAwNzExYmI2ZAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0
L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1hcHBlbmRDaGlsZC1vcHRpb24uaHRtbApAQCAtMCwwICsx
LDI1IEBACis8Ym9keT4KK0Rlc2NyaXB0aW9uOiBDcmVhdGUgbWFueSBvcHRpb24gZWxlbWVudCBh
bmQgYXBwZW5kIHRvIHNlbGVjdCBlbGVtZW50Ljxicj4KK0luZm86IDxzZWxlY3QgaWQ9Im1lbnVs
aXN0Ij48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
cnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwb3B1bGF0ZShzZWxlY3Qp
Cit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRvY3VtZW50LmJvZHkuY2xpZW50
SGVpZ2h0OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAgIHZh
ciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAgICAgICAgb3B0
aW9uLnRleHQgPSAiaXRlbSAiICsgaTsKKyAgICAgICAgb3B0aW9uLnZhbHVlID0gaTsKKyAgICAg
ICAgc2VsZWN0LmFwcGVuZENoaWxkKG9wdGlvbik7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHku
Y2xpZW50SGVpZ2h0OworfQorCit2YXIgbWVudWxpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibWVudWxpc3QiKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgeworICAgIHBv
cHVsYXRlKG1lbnVsaXN0KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxpc3QtaW5uZXJIVE1MLW9wdGdyb3VwLW9w
dGlvbi0xLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0xheW91dC9Gb3Jtcy9zZWxlY3QvbWVudWxp
c3QtaW5uZXJIVE1MLW9wdGdyb3VwLW9wdGlvbi0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjVkMjA1MzEx
NGEzZjM0YjNmMjc4MDhmY2U1ZDkwM2I2NmYyMTQ3YwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZv
cm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1pbm5lckhUTUwtb3B0Z3Jv
dXAtb3B0aW9uLTEuaHRtbApAQCAtMCwwICsxLDI2IEBACis8Ym9keT4KK0Rlc2NyaXB0aW9uOiBD
cmVhdGUgb3B0Z3JvdXAgcGVyIDEgb3B0aW9ucy48YnI+CitJbmZvOiA8c2VsZWN0IGlkPSJtZW51
bGlzdCI+PC9zZWxlY3Q+Cis8L2JvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcG9wdWxhdGUoc2VsZWN0
KQoreworICAgIHNlbGVjdC5pbm5lckhUTUwgPSAiIjsKKyAgICBkb2N1bWVudC5ib2R5LmNsaWVu
dEhlaWdodDsKKyAgICB2YXIgb3B0aW9ucyA9ICIiOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDsgKytpKSB7CisgICAgICAgIG9wdGlvbnMgKz0gIjxvcHRncm91cCBsYWJlbD0nR3JvdXAg
IiArIGkgKyAiJz4iOworICAgICAgICBvcHRpb25zICs9ICI8b3B0aW9uIHZhbHVlPSIgKyBpICsg
Ij5pdGVtICIgKyBpICsgIjwvb3B0aW9uPiI7CisgICAgICAgIG9wdGlvbnMgKz0gIjwvb3B0Z3Jv
dXA+IgorICAgIH0KKyAgICBzZWxlY3QuaW5uZXJIVE1MID0gb3B0aW9uczsKKyAgICBkb2N1bWVu
dC5ib2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIG1lbnVsaXN0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm1lbnVsaXN0Iik7CisKK1BlcmZUZXN0UnVubmVyLnJ1bihmdW5jdGlvbigpIHsK
KyAgICBwb3B1bGF0ZShtZW51bGlzdCk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWlubmVySFRNTC1vcHRn
cm91cC1vcHRpb24tMTAuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVj
dC9tZW51bGlzdC1pbm5lckhUTUwtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTdkN2RlZmNhMzg4MWZhOTY1ZDBjNzA2ZjczN2E0NTE2OWM3MzNkMwotLS0gL2Rldi9udWxsCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1pbm5lckhU
TUwtb3B0Z3JvdXAtb3B0aW9uLTEwLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGJvZHk+CitEZXNj
cmlwdGlvbjogQ3JlYXRlIG9wdGdyb3VwIHBlciAxMCBvcHRpb25zLjxicj4KK0luZm86IDxzZWxl
Y3QgaWQ9Im1lbnVsaXN0Ij48L3NlbGVjdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwb3B1
bGF0ZShzZWxlY3QpCit7CisgICAgc2VsZWN0LmlubmVySFRNTCA9ICIiOworICAgIGRvY3VtZW50
LmJvZHkuY2xpZW50SGVpZ2h0OworICAgIHZhciBvcHRpb25zID0gIiI7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgaWYgKGkgJSAxMCA9PSAwKSB7CisgICAg
ICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICBvcHRpb25zICs9ICI8L29wdGdyb3VwPiIK
KyAgICAgICAgICAgIG9wdGlvbnMgKz0gIjxvcHRncm91cCBsYWJlbD0nR3JvdXAgIiArIGkgKyAi
Jz4iOworICAgICAgICB9CisgICAgICAgIG9wdGlvbnMgKz0gIjxvcHRpb24gdmFsdWU9IiArIGkg
KyAiPml0ZW0gIiArIGkgKyAiPC9vcHRpb24+IjsKKyAgICB9CisgICAgb3B0aW9ucyArPSAiPC9v
cHRncm91cD4iCisgICAgc2VsZWN0LmlubmVySFRNTCA9IG9wdGlvbnM7CisgICAgZG9jdW1lbnQu
Ym9keS5jbGllbnRIZWlnaHQ7Cit9CisKK3ZhciBtZW51bGlzdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJtZW51bGlzdCIpOworCitQZXJmVGVzdFJ1bm5lci5ydW4oZnVuY3Rpb24oKSB7Cisg
ICAgcG9wdWxhdGUobWVudWxpc3QpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1pbm5lckhUTUwtb3B0Z3Jv
dXAuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1p
bm5lckhUTUwtb3B0Z3JvdXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTIwZWU5ZTM3YjUzODQ5ODQ0ZGQ3
ZDk5ZDIzMDRlYzg3MDUzMTliCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9M
YXlvdXQvRm9ybXMvc2VsZWN0L21lbnVsaXN0LWlubmVySFRNTC1vcHRncm91cC5odG1sCkBAIC0w
LDAgKzEsMjQgQEAKKzxib2R5PgorRGVzY3JpcHRpb246IENyZWF0ZSBtYW55IG9wdGlvbiBlbGVt
ZW50IGFuZCBhcHBlbmQgdG8gc2VsZWN0IGVsZW1lbnQuPGJyPgorSW5mbzogPHNlbGVjdCBpZD0i
bWVudWxpc3QiPjwvc2VsZWN0PgorPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9ydW5uZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRlKHNl
bGVjdCkKK3sKKyAgICBzZWxlY3QuaW5uZXJIVE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9keS5j
bGllbnRIZWlnaHQ7CisgICAgdmFyIG9wdGlvbnMgPSAiIjsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDA7ICsraSkgeworICAgICAgICBvcHRpb25zICs9ICI8b3B0Z3JvdXAgbGFiZWw9J0dy
b3VwICIgKyBpICsgIic+PC9vcHRncm91cD4iOworICAgIH0KKyAgICBzZWxlY3QuaW5uZXJIVE1M
ID0gb3B0aW9uczsKKyAgICBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKK30KKwordmFyIG1l
bnVsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnVsaXN0Iik7CisKK1BlcmZUZXN0
UnVubmVyLnJ1bihmdW5jdGlvbigpIHsKKyAgICBwb3B1bGF0ZShtZW51bGlzdCk7Cit9KTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvRm9ybXMvc2VsZWN0
L21lbnVsaXN0LWlubmVySFRNTC1vcHRpb24uaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0
L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1pbm5lckhUTUwtb3B0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2RkMDk1MDJiNWFiMjJlY2VhYmE0NWM4MzY0ZmRjOTI2OWQ4YjE5ZAotLS0gL2Rldi9udWxsCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvTGF5b3V0L0Zvcm1zL3NlbGVjdC9tZW51bGlzdC1pbm5lckhU
TUwtb3B0aW9uLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGJvZHk+CitEZXNjcmlwdGlvbjogQ3Jl
YXRlIG1hbnkgb3B0aW9uIGVsZW1lbnQgYW5kIGFwcGVuZCB0byBzZWxlY3QgZWxlbWVudC48YnI+
CitJbmZvOiA8c2VsZWN0IGlkPSJtZW51bGlzdCIgc2l6ZT0iMTAiPjwvc2VsZWN0PgorPC9ib2R5
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9ydW5uZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHBvcHVsYXRlKHNlbGVjdCkKK3sKKyAgICBzZWxlY3QuaW5uZXJI
VE1MID0gIiI7CisgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CisgICAgdmFyIG9wdGlv
bnMgPSAiIjsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgICAgICBv
cHRpb25zICs9ICI8b3B0aW9uIHZhbHVlPSIgKyBpICsgIj5pdGVtICIgKyBpICsgIjwvb3B0aW9u
PiI7CisgICAgfQorICAgIHNlbGVjdC5pbm5lckhUTUwgPSBvcHRpb25zOworICAgIGRvY3VtZW50
LmJvZHkuY2xpZW50SGVpZ2h0OworfQorCit2YXIgbWVudWxpc3QgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibWVudWxpc3QiKTsKKworUGVyZlRlc3RSdW5uZXIucnVuKGZ1bmN0aW9uKCkgewor
ICAgIHBvcHVsYXRlKG1lbnVsaXN0KTsKK30pOworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="150735"
          type_id="1"
          status="-"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="150736"
          type_id="3"
          status="-"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>