<?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>59995</bug_id>
          
          <creation_ts>2011-05-02 18:15:16 -0700</creation_ts>
          <short_desc>Port Mozilla&apos;s IndexedDB tests: cursor update updates indexes</short_desc>
          <delta_ts>2011-05-03 12:11:54 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>pilgrim</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396860</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 18:15:16 -0700</bug_when>
    <thetext>Original test: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_cursor_update_updates_indexes.html?force=1

This is a port of a test from Mozilla&apos;s IndexedDB test suite. It checks that mutating records with a r/w cursor updates both unique and non-unique indexes on those records.

WebKit passes this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396867</commentid>
    <comment_count>1</comment_count>
      <attachid>92027</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 18:18:00 -0700</bug_when>
    <thetext>Created attachment 92027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397026</commentid>
    <comment_count>2</comment_count>
      <attachid>92027</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-03 03:09:52 -0700</bug_when>
    <thetext>Comment on attachment 92027
Patch

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

&gt; LayoutTests/storage/indexeddb/mozilla/cursor-update-updates-indexes.html:44
&gt; +    START_DATA = evalAndLog(&quot;START_DATA = &apos;hi&apos;;&quot;);

Hmm, START_DATA and END_DATA don&apos;t feel like WebKit-style names.


Looks good otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397056</commentid>
    <comment_count>3</comment_count>
      <attachid>92067</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-03 06:35:03 -0700</bug_when>
    <thetext>Created attachment 92067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397057</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-03 06:35:36 -0700</bug_when>
    <thetext>Updated variable names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397062</commentid>
    <comment_count>5</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-03 06:52:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Updated variable names.

Unofficial r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397248</commentid>
    <comment_count>6</comment_count>
      <attachid>92067</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-03 12:11:49 -0700</bug_when>
    <thetext>Comment on attachment 92067
Patch

Clearing flags on attachment: 92067

Committed r85631: &lt;http://trac.webkit.org/changeset/85631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397249</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-03 12:11:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92027</attachid>
            <date>2011-05-02 18:18:00 -0700</date>
            <delta_ts>2011-05-03 06:34:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59995-20110502211757.patch</filename>
            <type>text/plain</type>
            <size>10178</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTY5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogY3Vyc29yIHVwZGF0
ZSB1cGRhdGVzIGluZGV4ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5OTk1CisKKyAgICAgICAgVGhpcyB0ZXN0IGNyZWF0ZXMgYW4gb2JqZWN0IHN0
b3JlLCBhZGRzIGJvdGggYSB1bmlxdWUgYW5kIGEgbm9uLXVuaXF1ZSBpbmRleCwKKyAgICAgICAg
YWRkcyBhIHJlY29yZCwgb3BlbnMgYSBjdXJzb3IsIGNoYW5nZXMgdGhlIHJlY29yZCwgYW5kIHZl
cmlmaWVzIHRoYXQgYm90aAorICAgICAgICBpbmRleGVzIGNvcnJlY3RseSB1cGRhdGVkIHRvIHJl
ZmxlY3QgdGhlIG1vZGlmaWVkIHJlY29yZC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBk
YXRlcy1pbmRleGVzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA1LTAyICBBbHBoYSBMYW0gIDxoY2xh
bUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBCdWlsZCBmaXguCkluZGV4
OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBk
YXRlcy1pbmRleGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEwMyBAQAorVGVzdCBJbmRleGVkREI6IG11dGF0aW5nIHJlY29yZHMg
d2l0aCBhIHIvdyBjdXJzb3IgdXBkYXRlcyBpbmRleGVzIG9uIHRob3NlIHJlY29yZHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIg
fHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBp
bmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cu
SURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
OworUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2Fj
dGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rp
b247CitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKQorb3BlblN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAorU1RBUlRfREFUQSA9ICdoaSc7CitFTkRfREFUQSA9ICdieWUnOworb2JqZWN0U3RvcmVJ
bmZvID0gWworICAgICAgICB7IG5hbWU6ICcxJywgb3B0aW9uczoge30sIGtleTogMSwKKyAgICAg
ICAgICBlbnRyeTogeyBkYXRhOiBTVEFSVF9EQVRBIH0gfSwKKyAgICAgICAgeyBuYW1lOiAnMics
IG9wdGlvbnM6IHsga2V5UGF0aDogJ2ZvbycgfSwKKyAgICAgICAgICBlbnRyeTogeyBmb286IDEs
IGRhdGE6IFNUQVJUX0RBVEEgfSB9LAorICAgICAgICB7IG5hbWU6ICczJywgb3B0aW9uczogeyBh
dXRvSW5jcmVtZW50OiB0cnVlIH0sCisgICAgICAgICAgZW50cnk6IHsgZGF0YTogU1RBUlRfREFU
QSB9IH0sCisgICAgICAgIHsgbmFtZTogJzQnLCBvcHRpb25zOiB7IGtleVBhdGg6ICdmb28nLCBh
dXRvSW5jcmVtZW50OiB0cnVlIH0sCisgICAgICAgICAgZW50cnk6IHsgZGF0YTogU1RBUlRfREFU
QSB9IH0sCisgICAgXTsKK2kgPSAwOworaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsKK3JlcXVl
c3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3NldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgp
OgorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZvLm9wdGlvbnMpOworaW5kZXggPSBvYmplY3RTdG9yZS5j
cmVhdGVJbmRleCgnZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwordW5p
cXVlSW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnLCAn
ZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0pOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZv
LmVudHJ5LCBpbmZvLmtleSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigpOwor
Y3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7Cit2YWx1ZSA9IGN1cnNvci52YWx1ZTsKK3ZhbHVlLmRh
dGEgPSBFTkRfREFUQTsKK3JlcXVlc3QgPSBjdXJzb3IudXBkYXRlKHZhbHVlKTsKK3JlcXVlc3Qg
PSBpbmRleC5nZXQoRU5EX0RBVEEpOworUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5y
ZXN1bHQuZGF0YQorcmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChFTkRfREFUQSk7CitQQVNTIHZh
bHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCitpKys7CitpbmZvID0gb2JqZWN0
U3RvcmVJbmZvW2ldOworcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorc2V0dXBPYmplY3RT
dG9yZUFuZENyZWF0ZUluZGV4KCk6CitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0
U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7Citp
bmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdkYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVu
aXF1ZTogZmFsc2UgfSk7Cit1bmlxdWVJbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCd1
bmlxdWVfZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IHRydWUgfSk7CityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuYWRkKGluZm8uZW50cnkpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5D
dXJzb3IoKTsKK2N1cnNvciA9IHJlcXVlc3QucmVzdWx0OwordmFsdWUgPSBjdXJzb3IudmFsdWU7
Cit2YWx1ZS5kYXRhID0gRU5EX0RBVEE7CityZXF1ZXN0ID0gY3Vyc29yLnVwZGF0ZSh2YWx1ZSk7
CityZXF1ZXN0ID0gaW5kZXguZ2V0KEVORF9EQVRBKTsKK1BBU1MgdmFsdWUuZGF0YSBpcyBldmVu
dC50YXJnZXQucmVzdWx0LmRhdGEKK3JlcXVlc3QgPSB1bmlxdWVJbmRleC5nZXQoRU5EX0RBVEEp
OworUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQuZGF0YQoraSsrOworaW5m
byA9IG9iamVjdFN0b3JlSW5mb1tpXTsKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3Nl
dHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgpOgorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jl
cy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZvLm9w
dGlvbnMpOworaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcsICdk
YXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwordW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5jcmVh
dGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0pOwor
cmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZvLmVudHJ5KTsKK3JlcXVlc3QgPSBvYmplY3RT
dG9yZS5vcGVuQ3Vyc29yKCk7CitjdXJzb3IgPSByZXF1ZXN0LnJlc3VsdDsKK3ZhbHVlID0gY3Vy
c29yLnZhbHVlOwordmFsdWUuZGF0YSA9IEVORF9EQVRBOworcmVxdWVzdCA9IGN1cnNvci51cGRh
dGUodmFsdWUpOworcmVxdWVzdCA9IGluZGV4LmdldChFTkRfREFUQSk7CitQQVNTIHZhbHVlLmRh
dGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCityZXF1ZXN0ID0gdW5pcXVlSW5kZXguZ2V0
KEVORF9EQVRBKTsKK1BBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEK
K2krKzsKK2luZm8gPSBvYmplY3RTdG9yZUluZm9baV07CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lv
bignMScpCitzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXgoKToKK0RlbGV0ZWQgYWxsIG9i
amVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFt
ZSwgaW5mby5vcHRpb25zKTsKK2luZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFf
aW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsKK3VuaXF1ZUluZGV4ID0gb2JqZWN0
U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTog
dHJ1ZSB9KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7CityZXF1ZXN0
ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigpOworY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7Cit2
YWx1ZSA9IGN1cnNvci52YWx1ZTsKK3ZhbHVlLmRhdGEgPSBFTkRfREFUQTsKK3JlcXVlc3QgPSBj
dXJzb3IudXBkYXRlKHZhbHVlKTsKK3JlcXVlc3QgPSBpbmRleC5nZXQoRU5EX0RBVEEpOworUEFT
UyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQuZGF0YQorcmVxdWVzdCA9IHVuaXF1
ZUluZGV4LmdldChFTkRfREFUQSk7CitQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJl
c3VsdC5kYXRhCitpKys7CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9j
dXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4
ZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQorICBvcmlnaW5hbCB0ZXN0OiBo
dHRwOi8vbXhyLm1vemlsbGEub3JnL21vemlsbGEyLjAvc291cmNlL2RvbS9pbmRleGVkREIvdGVz
dC90ZXN0X2N1cnNvcl91cGRhdGVfdXBkYXRlc19pbmRleGVzLmh0bWw/Zm9yY2U9MQorICBsaWNl
bnNlIG9mIG9yaWdpbmFsIHRlc3Q6CisgICAgIiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0
byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1
YmxpY2RvbWFpbi96ZXJvLzEuMC8gIgorLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNj
cmlwdGlvbigiVGVzdCBJbmRleGVkREI6IG11dGF0aW5nIHJlY29yZHMgd2l0aCBhIHIvdyBjdXJz
b3IgdXBkYXRlcyBpbmRleGVzIG9uIHRob3NlIHJlY29yZHMiKTsKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2lu
ZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVs
bCIpOworICAgIElEQkRhdGFiYXNlRXhjZXB0aW9uID0gZXZhbEFuZExvZygiSURCRGF0YWJhc2VF
eGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhj
ZXB0aW9uID09IG51bGwiKTsKKyAgICBJREJUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coIklEQlRy
YW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFu
c2FjdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7
CisKKyAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIGRlc2NyaXB0aW9u
ID0gIk15IFRlc3QgRGF0YWJhc2UiOworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVk
REIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9w
ZW5TdWNjZXNzOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OworfQorCitmdW5jdGlvbiBvcGVuU3VjY2VzcygpCit7CisgICAgZGVidWcoIm9wZW5TdWNjZXNz
KCk6Iik7CisgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBTVEFSVF9EQVRBID0gZXZhbEFuZExvZygiU1RBUlRfREFUQSA9ICdoaSc7Iik7CisgICAg
RU5EX0RBVEEgPSBldmFsQW5kTG9nKCJFTkRfREFUQSA9ICdieWUnOyIpOworICAgIG9iamVjdFN0
b3JlSW5mbyA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlSW5mbyA9IFtcbiIgKworIiAgICAgICAg
eyBuYW1lOiAnMScsIG9wdGlvbnM6IHt9LCBrZXk6IDEsXG4iICsKKyIgICAgICAgICAgZW50cnk6
IHsgZGF0YTogU1RBUlRfREFUQSB9IH0sXG4iICsKKyIgICAgICAgIHsgbmFtZTogJzInLCBvcHRp
b25zOiB7IGtleVBhdGg6ICdmb28nIH0sXG4iICsKKyIgICAgICAgICAgZW50cnk6IHsgZm9vOiAx
LCBkYXRhOiBTVEFSVF9EQVRBIH0gfSxcbiIgKworIiAgICAgICAgeyBuYW1lOiAnMycsIG9wdGlv
bnM6IHsgYXV0b0luY3JlbWVudDogdHJ1ZSB9LFxuIiArCisiICAgICAgICAgIGVudHJ5OiB7IGRh
dGE6IFNUQVJUX0RBVEEgfSB9LFxuIiArCisiICAgICAgICB7IG5hbWU6ICc0Jywgb3B0aW9uczog
eyBrZXlQYXRoOiAnZm9vJywgYXV0b0luY3JlbWVudDogdHJ1ZSB9LFxuIiArCisiICAgICAgICAg
IGVudHJ5OiB7IGRhdGE6IFNUQVJUX0RBVEEgfSB9LFxuIiArCisiICAgIF07Iik7CisgICAgaSA9
IGV2YWxBbmRMb2coImkgPSAwOyIpOworICAgIHNldFZlcnNpb24oKTsKK30KKworZnVuY3Rpb24g
c2V0VmVyc2lvbigpCit7CisgICAgaWYgKGkgPCBvYmplY3RTdG9yZUluZm8ubGVuZ3RoKSB7Cisg
ICAgICAgIGluZm8gPSBldmFsQW5kTG9nKCJpbmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOyIpOwor
ICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEn
KSIpOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldHVwT2JqZWN0U3RvcmVBbmRDcmVh
dGVJbmRleEFuZEFkZDsKKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZG9uZSgpOworICAgIH0KK30KKworZnVu
Y3Rpb24gc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkKCkKK3sKKyAgICBkZWJ1
Zygic2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4KCk6Iik7CisgICAgZGVsZXRlQWxsT2Jq
ZWN0U3RvcmVzKGRiKTsKKworICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7Iik7CisK
KyAgICBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgo
J2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsiKTsKKyAgICB1bmlxdWVJ
bmRleCA9IGV2YWxBbmRMb2coInVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgo
J3VuaXF1ZV9kYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsiKTsKKyAgICBp
ZiAoaW5mby5rZXkpIHsKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBv
YmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSwgaW5mby5rZXkpOyIpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGlu
Zm8uZW50cnkpOyIpOworICAgIH0KKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5DdXJzb3I7
CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1
bmN0aW9uIG9wZW5DdXJzb3IoKQoreworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0
ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
dXBkYXRlQ3Vyc29yOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworfQorCitmdW5jdGlvbiB1cGRhdGVDdXJzb3IoKQoreworICAgIGN1cnNvciA9IGV2YWxB
bmRMb2coImN1cnNvciA9IHJlcXVlc3QucmVzdWx0OyIpOworICAgIHZhbHVlID0gZXZhbEFuZExv
ZygidmFsdWUgPSBjdXJzb3IudmFsdWU7Iik7CisgICAgdmFsdWUuZGF0YSA9IGV2YWxBbmRMb2co
InZhbHVlLmRhdGEgPSBFTkRfREFUQTsiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IGN1cnNvci51cGRhdGUodmFsdWUpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
Z2V0SW5kZXgxOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OworfQorCitmdW5jdGlvbiBnZXRJbmRleDEoKQoreworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gaW5kZXguZ2V0KEVORF9EQVRBKTsiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGNoZWNrSW5kZXgxQW5kR2V0SW5kZXgyOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBjaGVja0luZGV4MUFuZEdldEluZGV4
MigpCit7CisgICAgc2hvdWxkQmUoInZhbHVlLmRhdGEiLCAiZXZlbnQudGFyZ2V0LnJlc3VsdC5k
YXRhIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB1bmlxdWVJbmRleC5n
ZXQoRU5EX0RBVEEpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hlY2tJbmRleDI7Cisg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0
aW9uIGNoZWNrSW5kZXgyKCkKK3sKKyAgICBzaG91bGRCZSgidmFsdWUuZGF0YSIsICJldmVudC50
YXJnZXQucmVzdWx0LmRhdGEiKTsKKyAgICBldmFsQW5kTG9nKCJpKys7Iik7CisgICAgc2V0VmVy
c2lvbigpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwordGVzdCgpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92067</attachid>
            <date>2011-05-03 06:35:03 -0700</date>
            <delta_ts>2011-05-03 12:11:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59995-20110503093501.patch</filename>
            <type>text/plain</type>
            <size>10232</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTY5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogY3Vyc29yIHVwZGF0
ZSB1cGRhdGVzIGluZGV4ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5OTk1CisKKyAgICAgICAgVGhpcyB0ZXN0IGNyZWF0ZXMgYW4gb2JqZWN0IHN0
b3JlLCBhZGRzIGJvdGggYSB1bmlxdWUgYW5kIGEgbm9uLXVuaXF1ZSBpbmRleCwKKyAgICAgICAg
YWRkcyBhIHJlY29yZCwgb3BlbnMgYSBjdXJzb3IsIGNoYW5nZXMgdGhlIHJlY29yZCwgYW5kIHZl
cmlmaWVzIHRoYXQgYm90aAorICAgICAgICBpbmRleGVzIGNvcnJlY3RseSB1cGRhdGVkIHRvIHJl
ZmxlY3QgdGhlIG1vZGlmaWVkIHJlY29yZC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBk
YXRlcy1pbmRleGVzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA1LTAyICBBbHBoYSBMYW0gIDxoY2xh
bUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBCdWlsZCBmaXguCkluZGV4
OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBk
YXRlcy1pbmRleGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEwMyBAQAorVGVzdCBJbmRleGVkREI6IG11dGF0aW5nIHJlY29yZHMg
d2l0aCBhIHIvdyBjdXJzb3IgdXBkYXRlcyBpbmRleGVzIG9uIHRob3NlIHJlY29yZHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIg
fHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBp
bmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cu
SURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
OworUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2Fj
dGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rp
b247CitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKQorb3BlblN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAorZmlyc3RWYWx1ZSA9ICdoaSc7CitzZWNvbmRWYWx1ZSA9ICdieWUnOworb2JqZWN0U3Rv
cmVJbmZvID0gWworICAgICAgICB7IG5hbWU6ICcxJywgb3B0aW9uczoge30sIGtleTogMSwKKyAg
ICAgICAgICBlbnRyeTogeyBkYXRhOiBmaXJzdFZhbHVlIH0gfSwKKyAgICAgICAgeyBuYW1lOiAn
MicsIG9wdGlvbnM6IHsga2V5UGF0aDogJ2ZvbycgfSwKKyAgICAgICAgICBlbnRyeTogeyBmb286
IDEsIGRhdGE6IGZpcnN0VmFsdWUgfSB9LAorICAgICAgICB7IG5hbWU6ICczJywgb3B0aW9uczog
eyBhdXRvSW5jcmVtZW50OiB0cnVlIH0sCisgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmlyc3RW
YWx1ZSB9IH0sCisgICAgICAgIHsgbmFtZTogJzQnLCBvcHRpb25zOiB7IGtleVBhdGg6ICdmb28n
LCBhdXRvSW5jcmVtZW50OiB0cnVlIH0sCisgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmlyc3RW
YWx1ZSB9IH0sCisgICAgXTsKK2kgPSAwOworaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsKK3Jl
cXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3NldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRl
eCgpOgorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZvLm9wdGlvbnMpOworaW5kZXggPSBvYmplY3RTdG9y
ZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwor
dW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgn
LCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0pOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChp
bmZvLmVudHJ5LCBpbmZvLmtleSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigp
OworY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7Cit2YWx1ZSA9IGN1cnNvci52YWx1ZTsKK3ZhbHVl
LmRhdGEgPSBzZWNvbmRWYWx1ZTsKK3JlcXVlc3QgPSBjdXJzb3IudXBkYXRlKHZhbHVlKTsKK3Jl
cXVlc3QgPSBpbmRleC5nZXQoc2Vjb25kVmFsdWUpOworUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50
LnRhcmdldC5yZXN1bHQuZGF0YQorcmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1
ZSk7CitQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCitpKys7Citp
bmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOworcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQor
c2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4KCk6CitEZWxldGVkIGFsbCBvYmplY3Qgc3Rv
cmVzLgorb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8u
b3B0aW9ucyk7CitpbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdkYXRhX2luZGV4Jywg
J2RhdGEnLCB7IHVuaXF1ZTogZmFsc2UgfSk7Cit1bmlxdWVJbmRleCA9IG9iamVjdFN0b3JlLmNy
ZWF0ZUluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IHRydWUgfSk7
CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGluZm8uZW50cnkpOworcmVxdWVzdCA9IG9iamVj
dFN0b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IHJlcXVlc3QucmVzdWx0OwordmFsdWUgPSBj
dXJzb3IudmFsdWU7Cit2YWx1ZS5kYXRhID0gc2Vjb25kVmFsdWU7CityZXF1ZXN0ID0gY3Vyc29y
LnVwZGF0ZSh2YWx1ZSk7CityZXF1ZXN0ID0gaW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKK1BBU1Mg
dmFsdWUuZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEKK3JlcXVlc3QgPSB1bmlxdWVJ
bmRleC5nZXQoc2Vjb25kVmFsdWUpOworUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5y
ZXN1bHQuZGF0YQoraSsrOworaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsKK3JlcXVlc3QgPSBk
Yi5zZXRWZXJzaW9uKCcxJykKK3NldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgpOgorRGVs
ZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoaW5mby5uYW1lLCBpbmZvLm9wdGlvbnMpOworaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJ
bmRleCgnZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwordW5pcXVlSW5k
ZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnLCAnZGF0YScs
IHsgdW5pcXVlOiB0cnVlIH0pOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZvLmVudHJ5
KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7CitjdXJzb3IgPSByZXF1ZXN0
LnJlc3VsdDsKK3ZhbHVlID0gY3Vyc29yLnZhbHVlOwordmFsdWUuZGF0YSA9IHNlY29uZFZhbHVl
OworcmVxdWVzdCA9IGN1cnNvci51cGRhdGUodmFsdWUpOworcmVxdWVzdCA9IGluZGV4LmdldChz
ZWNvbmRWYWx1ZSk7CitQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRh
CityZXF1ZXN0ID0gdW5pcXVlSW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKK1BBU1MgdmFsdWUuZGF0
YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEKK2krKzsKK2luZm8gPSBvYmplY3RTdG9yZUlu
Zm9baV07CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitzZXR1cE9iamVjdFN0b3JlQW5k
Q3JlYXRlSW5kZXgoKToKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFtZSwgaW5mby5vcHRpb25zKTsKK2luZGV4ID0g
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBm
YWxzZSB9KTsKK3VuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9k
YXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsKK3JlcXVlc3QgPSBvYmplY3RT
dG9yZS5hZGQoaW5mby5lbnRyeSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigp
OworY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7Cit2YWx1ZSA9IGN1cnNvci52YWx1ZTsKK3ZhbHVl
LmRhdGEgPSBzZWNvbmRWYWx1ZTsKK3JlcXVlc3QgPSBjdXJzb3IudXBkYXRlKHZhbHVlKTsKK3Jl
cXVlc3QgPSBpbmRleC5nZXQoc2Vjb25kVmFsdWUpOworUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50
LnRhcmdldC5yZXN1bHQuZGF0YQorcmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1
ZSk7CitQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCitpKys7CitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItdXBkYXRlLXVwZGF0
ZXMtaW5kZXhlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0
ZS11cGRhdGVzLWluZGV4ZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMzYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPCEtLQorICBvcmlnaW5hbCB0ZXN0OiBodHRwOi8vbXhyLm1vemlsbGEu
b3JnL21vemlsbGEyLjAvc291cmNlL2RvbS9pbmRleGVkREIvdGVzdC90ZXN0X2N1cnNvcl91cGRh
dGVfdXBkYXRlc19pbmRleGVzLmh0bWw/Zm9yY2U9MQorICBsaWNlbnNlIG9mIG9yaWdpbmFsIHRl
c3Q6CisgICAgIiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFp
bi4KKyAgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEu
MC8gIgorLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5j
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBJbmRl
eGVkREI6IG11dGF0aW5nIHJlY29yZHMgd2l0aCBhIHIvdyBjdXJzb3IgdXBkYXRlcyBpbmRleGVz
IG9uIHRob3NlIHJlY29yZHMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5k
ZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsi
KTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworICAgIElEQkRhdGFi
YXNlRXhjZXB0aW9uID0gZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cu
SURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
OyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwiKTsK
KyAgICBJREJUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93
LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbjsiKTsKKyAgICBz
aG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisKKyAgICBuYW1lID0gd2lu
ZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBv
cGVuU3VjY2VzcygpCit7CisgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CisgICAgZGIgPSBl
dmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBmaXJzdFZhbHVlID0g
ZXZhbEFuZExvZygiZmlyc3RWYWx1ZSA9ICdoaSc7Iik7CisgICAgc2Vjb25kVmFsdWUgPSBldmFs
QW5kTG9nKCJzZWNvbmRWYWx1ZSA9ICdieWUnOyIpOworICAgIG9iamVjdFN0b3JlSW5mbyA9IGV2
YWxBbmRMb2coIm9iamVjdFN0b3JlSW5mbyA9IFtcbiIgKworIiAgICAgICAgeyBuYW1lOiAnMScs
IG9wdGlvbnM6IHt9LCBrZXk6IDEsXG4iICsKKyIgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmly
c3RWYWx1ZSB9IH0sXG4iICsKKyIgICAgICAgIHsgbmFtZTogJzInLCBvcHRpb25zOiB7IGtleVBh
dGg6ICdmb28nIH0sXG4iICsKKyIgICAgICAgICAgZW50cnk6IHsgZm9vOiAxLCBkYXRhOiBmaXJz
dFZhbHVlIH0gfSxcbiIgKworIiAgICAgICAgeyBuYW1lOiAnMycsIG9wdGlvbnM6IHsgYXV0b0lu
Y3JlbWVudDogdHJ1ZSB9LFxuIiArCisiICAgICAgICAgIGVudHJ5OiB7IGRhdGE6IGZpcnN0VmFs
dWUgfSB9LFxuIiArCisiICAgICAgICB7IG5hbWU6ICc0Jywgb3B0aW9uczogeyBrZXlQYXRoOiAn
Zm9vJywgYXV0b0luY3JlbWVudDogdHJ1ZSB9LFxuIiArCisiICAgICAgICAgIGVudHJ5OiB7IGRh
dGE6IGZpcnN0VmFsdWUgfSB9LFxuIiArCisiICAgIF07Iik7CisgICAgaSA9IGV2YWxBbmRMb2co
ImkgPSAwOyIpOworICAgIHNldFZlcnNpb24oKTsKK30KKworZnVuY3Rpb24gc2V0VmVyc2lvbigp
Cit7CisgICAgaWYgKGkgPCBvYmplY3RTdG9yZUluZm8ubGVuZ3RoKSB7CisgICAgICAgIGluZm8g
PSBldmFsQW5kTG9nKCJpbmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOyIpOworICAgICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleEFuZEFk
ZDsKKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgZG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2V0dXBP
YmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkKCkKK3sKKyAgICBkZWJ1Zygic2V0dXBPYmpl
Y3RTdG9yZUFuZENyZWF0ZUluZGV4KCk6Iik7CisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRi
KTsKKworICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7Iik7CisKKyAgICBpbmRleCA9
IGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgn
LCAnZGF0YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsiKTsKKyAgICB1bmlxdWVJbmRleCA9IGV2YWxB
bmRMb2coInVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9kYXRh
X2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsiKTsKKyAgICBpZiAoaW5mby5rZXkp
IHsKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5h
ZGQoaW5mby5lbnRyeSwgaW5mby5rZXkpOyIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGluZm8uZW50cnkpOyIp
OworICAgIH0KKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5DdXJzb3I7CisgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5D
dXJzb3IoKQoreworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3Rv
cmUub3BlbkN1cnNvcigpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdXBkYXRlQ3Vyc29y
OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitm
dW5jdGlvbiB1cGRhdGVDdXJzb3IoKQoreworICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNv
ciA9IHJlcXVlc3QucmVzdWx0OyIpOworICAgIHZhbHVlID0gZXZhbEFuZExvZygidmFsdWUgPSBj
dXJzb3IudmFsdWU7Iik7CisgICAgdmFsdWUuZGF0YSA9IGV2YWxBbmRMb2coInZhbHVlLmRhdGEg
PSBzZWNvbmRWYWx1ZTsiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGN1
cnNvci51cGRhdGUodmFsdWUpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0SW5kZXgx
OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitm
dW5jdGlvbiBnZXRJbmRleDEoKQoreworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0
ID0gaW5kZXguZ2V0KHNlY29uZFZhbHVlKTsiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNo
ZWNrSW5kZXgxQW5kR2V0SW5kZXgyOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBjaGVja0luZGV4MUFuZEdldEluZGV4MigpCit7
CisgICAgc2hvdWxkQmUoInZhbHVlLmRhdGEiLCAiZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhIik7
CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB1bmlxdWVJbmRleC5nZXQoc2Vj
b25kVmFsdWUpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hlY2tJbmRleDI7CisgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrSW5kZXgyKCkKK3sKKyAgICBzaG91bGRCZSgidmFsdWUuZGF0YSIsICJldmVudC50YXJn
ZXQucmVzdWx0LmRhdGEiKTsKKyAgICBldmFsQW5kTG9nKCJpKys7Iik7CisgICAgc2V0VmVyc2lv
bigpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwordGVzdCgpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>