<?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>83952</bug_id>
          
          <creation_ts>2012-04-13 15:51:08 -0700</creation_ts>
          <short_desc>IDB: Pending setVersion call in worker prevents document from opening the db, even after worker termination</short_desc>
          <delta_ts>2012-04-18 11:40:52 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>602471</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-13 15:51:08 -0700</bug_when>
    <thetext>Pending setVersion transaction prevents document from opening that db, even after worker termination</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602472</commentid>
    <comment_count>1</comment_count>
      <attachid>137168</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-13 15:51:30 -0700</bug_when>
    <thetext>Created attachment 137168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603471</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-16 15:02:16 -0700</bug_when>
    <thetext>Josh, Alec, could you take a look at these layout tests before I ask ojan or tony to review?

The chrome bug these exercise is http://code.google.com/p/chromium/issues/detail?id=123418.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604132</commentid>
    <comment_count>3</comment_count>
      <attachid>137168</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-04-17 10:36:23 -0700</bug_when>
    <thetext>Comment on attachment 137168
Patch

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

The logic of the test lgtm

&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:15
&gt; +  request.onsuccess = startTheWorker;

I&apos;d put this assignment in an &quot;else&quot; clause to the if block below, to improve readability.

&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:28
&gt; +  realFinishJSTest = finishJSTest;

Rather than this IMHO fragile hooking into the finishJSTest mechanism, how about adding a new worker script that does a custom postMessage?

(At some point we should add a better hook mechanism, e.g. startWorker(script, function myfilter(message) { if (handled) { return true; } })</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604469</commentid>
    <comment_count>4</comment_count>
      <attachid>137633</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-17 16:38:36 -0700</bug_when>
    <thetext>Created attachment 137633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604471</commentid>
    <comment_count>5</comment_count>
      <attachid>137168</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-17 16:39:48 -0700</bug_when>
    <thetext>Comment on attachment 137168
Patch

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

&gt;&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:15
&gt;&gt; +  request.onsuccess = startTheWorker;
&gt; 
&gt; I&apos;d put this assignment in an &quot;else&quot; clause to the if block below, to improve readability.

Done.

&gt;&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:28
&gt;&gt; +  realFinishJSTest = finishJSTest;
&gt; 
&gt; Rather than this IMHO fragile hooking into the finishJSTest mechanism, how about adding a new worker script that does a custom postMessage?
&gt; 
&gt; (At some point we should add a better hook mechanism, e.g. startWorker(script, function myfilter(message) { if (handled) { return true; } })

Done.  Agreed on the better hook mechanism.  My plan was to add a method to the worker object that would let scripts assign handlers to codes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604478</commentid>
    <comment_count>6</comment_count>
      <attachid>137633</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-17 16:45:02 -0700</bug_when>
    <thetext>Comment on attachment 137633
Patch

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

&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:35
&gt; +    originalOnMessage = worker.onmessage;

This is still hacky but less hacky than the old patch. Just this bit of marginal unhackiness was enough to reveal that the tests did not pass in DRT either, so thanks for the suggestion.

The unexpectedSuccessCallback from the worker was calling finishJSTest which reloaded the page with &quot;?second&quot;, something I thought was being done by the finishJSTest call in the blocked handler.

&gt; LayoutTests/storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:38
&gt; +            worker.terminate();

This line is the only difference between pending-version-change-stuck.html and pending-version-change-stuck-works-with-terminate.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604481</commentid>
    <comment_count>7</comment_count>
      <attachid>137633</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-04-17 16:48:01 -0700</bug_when>
    <thetext>Comment on attachment 137633
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604551</commentid>
    <comment_count>8</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-04-17 19:00:09 -0700</bug_when>
    <thetext>Ojan, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604946</commentid>
    <comment_count>9</comment_count>
      <attachid>137633</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 11:40:47 -0700</bug_when>
    <thetext>Comment on attachment 137633
Patch

Clearing flags on attachment: 137633

Committed r114540: &lt;http://trac.webkit.org/changeset/114540&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604947</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 11:40:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137168</attachid>
            <date>2012-04-13 15:51:30 -0700</date>
            <delta_ts>2012-04-17 16:39:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83952-20120413155129.patch</filename>
            <type>text/plain</type>
            <size>5846</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MTMxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWNmYjg4NWJiYmE5MDVlZWFlOGYz
NzNmYTQwMjUzMmQyNDU5OWM2Yy4uNmViZTVkNzlkYzA2MTk2ZjIyZWI3NDc2ZGI2Njk5MzRmODM0
YzQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTEzICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBQZW5kaW5nIHNldFZlcnNpb24gdHJhbnNh
Y3Rpb24gcHJldmVudHMgZG9jdW1lbnQgZnJvbSBvcGVuaW5nIHRoYXQgZGIsIGV2ZW4gYWZ0ZXIg
d29ya2VyIHRlcm1pbmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Mzk1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVj
ay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRp
bmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2std29ya3Mtd2l0aC10ZXJtaW5hdGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hh
bmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWluYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2suaHRtbDogQWRkZWQu
CisKIDIwMTItMDQtMTMgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9raWEuY29tPgogCiAgICAgICAg
IEluc2VydEhUTUwgZmFpbHMgdG8gaW5zZXJ0IGg2IGlmIHRoZSBpbnNlcnRpb24gcG9pbnQgaXMg
YmVmb3JlIHNvbWUgdGV4dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTM0MmU2MWU2NmFmMWJmMjk2N2FiMTMxYTIwMTg4Mzk1YzM4YzI4
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRp
bmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0lt
cGxpY2l0bHkgdGVybWluYXRpbmcgd29ya2VyIHdpdGggYmxvY2tlZCBzZXRWZXJzaW9uIGNhbGwg
c2hvdWxkIGFsbG93IGxhdGVyIG9wZW4gY2FsbHMgdG8gcHJvY2VlZAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJr
aXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBz
ZWxmLk9JbmRleGVkREI7CisKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbigicGVuZGluZy12ZXJz
aW9uLWNoYW5nZS1vbi1leGl0IikKK1BBU1MgT3BlbiB3b3JrZWQgYWZ0ZXIgcGFnZSByZWxvYWQu
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNo
YW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdp
dGgtdGVybWluYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Y2I1YTAxMzUzZjllOTFkZjFh
ODliNjA5YjNmNDkwNjc1MTI3ZDI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13aXRoLXRl
cm1pbmF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorRXhwbGljaXRseSB0ZXJtaW5h
dGluZyB3b3JrZXIgd2l0aCBibG9ja2VkIHNldFZlcnNpb24gY2FsbCBzaG91bGQgYWxsb3cgbGF0
ZXIgb3BlbiBjYWxscyB0byBwcm9jZWVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBz
ZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsK
KworcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCJwZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4
aXQiKQorUEFTUyBPcGVuIHdvcmtlZCBhZnRlciBwYWdlIHJlbG9hZC4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtz
LXdpdGgtdGVybWluYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5k
aW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWluYXRlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmYyNGNkODRjYjY3MzhiZWJiNmY0OGVlMzlhYjk2YWNjODBhZTMwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1j
aGFuZ2Utc3R1Y2std29ya3Mtd2l0aC10ZXJtaW5hdGUuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIkV4cGxp
Y2l0bHkgdGVybWluYXRpbmcgd29ya2VyIHdpdGggYmxvY2tlZCBzZXRWZXJzaW9uIGNhbGwgc2hv
dWxkIGFsbG93IGxhdGVyIG9wZW4gY2FsbHMgdG8gcHJvY2VlZCIpOworCitmdW5jdGlvbiB0ZXN0
KCkgeworICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICBkYm5hbWUgPSAicGVuZGluZy12ZXJz
aW9uLWNoYW5nZS1vbi1leGl0IjsKKyAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKFwiIiArIGRibmFtZSArICJcIikiKTsKKyAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzdGFydFRo
ZVdvcmtlcjsKKyAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNr
OworICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgaWYgKHNl
bGYubG9jYXRpb24uc2VhcmNoID09ICI/c2Vjb25kIikgeworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oKSB7CisgICAgICB0ZXN0UGFzc2VkKCJPcGVuIHdvcmtlZCBhZnRlciBwYWdl
IHJlbG9hZC4iKTsKKyAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH07CisgIH0KK30KKworZnVu
Y3Rpb24gc3RhcnRUaGVXb3JrZXIoKSB7CisgIHZhciB3b3JrZXIgPSBzdGFydFdvcmtlcigicmVz
b3VyY2VzL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utb24tZXhpdC5qcyIpOworICByZWFsRmluaXNo
SlNUZXN0ID0gZmluaXNoSlNUZXN0OworICB3b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGUpIHsK
KyAgICB0ZXN0RmFpbGVkKGUubWVzc2FnZSk7CisgICAgcmVhbEZpbmlzaEpTVGVzdCgpOworICB9
OworICBmaW5pc2hKU1Rlc3QgPSBmdW5jdGlvbigpIHsKKyAgICB3b3JrZXIudGVybWluYXRlKCk7
CisgICAgc2VsZi5sb2NhdGlvbiA9IHNlbGYubG9jYXRpb24gKyAiP3NlY29uZCI7CisgIH0KK30K
KwordGVzdCgpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5n
ZS1zdHVjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJz
aW9uLWNoYW5nZS1zdHVjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZjllZGQ5ODQ2YjcxZjMyY2FmYjQz
MTk2ZDhlMTVkMmFmZGIzMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLmh0bWwKQEAgLTAsMCArMSw0
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJl
ZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9u
KCJJbXBsaWNpdGx5IHRlcm1pbmF0aW5nIHdvcmtlciB3aXRoIGJsb2NrZWQgc2V0VmVyc2lvbiBj
YWxsIHNob3VsZCBhbGxvdyBsYXRlciBvcGVuIGNhbGxzIHRvIHByb2NlZWQiKTsKKworZnVuY3Rp
b24gdGVzdCgpIHsKKyAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKKyAgZGJuYW1lID0gInBlbmRp
bmctdmVyc2lvbi1jaGFuZ2Utb24tZXhpdCI7CisgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRl
eGVkREIub3BlbihcIiIgKyBkYm5hbWUgKyAiXCIpIik7CisgIHJlcXVlc3Qub25zdWNjZXNzID0g
c3RhcnRUaGVXb3JrZXI7CisgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRD
YWxsYmFjazsKKyAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
IGlmIChzZWxmLmxvY2F0aW9uLnNlYXJjaCA9PSAiP3NlY29uZCIpIHsKKyAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgdGVzdFBhc3NlZCgiT3BlbiB3b3JrZWQgYWZ0
ZXIgcGFnZSByZWxvYWQuIik7CisgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9OworICB9Cit9
CisKK2Z1bmN0aW9uIHN0YXJ0VGhlV29ya2VyKCkgeworICB2YXIgd29ya2VyID0gc3RhcnRXb3Jr
ZXIoInJlc291cmNlcy9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4aXQuanMiKTsKKyAgcmVh
bEZpbmlzaEpTVGVzdCA9IGZpbmlzaEpTVGVzdDsKKyAgd29ya2VyLm9uZXJyb3IgPSBmdW5jdGlv
bihlKSB7CisgICAgdGVzdEZhaWxlZChlLm1lc3NhZ2UpOworICAgIHJlYWxGaW5pc2hKU1Rlc3Qo
KTsKKyAgfTsKKyAgZmluaXNoSlNUZXN0ID0gZnVuY3Rpb24oKSB7CisgICAgc2VsZi5sb2NhdGlv
biA9IHNlbGYubG9jYXRpb24gKyAiP3NlY29uZCI7CisgIH0KK30KKwordGVzdCgpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137633</attachid>
            <date>2012-04-17 16:38:36 -0700</date>
            <delta_ts>2012-04-18 11:40:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83952-20120417163835.patch</filename>
            <type>text/plain</type>
            <size>9497</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MTMxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWNmYjg4NWJiYmE5MDVlZWFlOGYz
NzNmYTQwMjUzMmQyNDU5OWM2Yy4uOWI4YjhhOTY4NzYzZTRjNGNjMmExZmI5ZTZlMTgyNzQxNDE0
YTk2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTE3ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJREI6IFBlbmRpbmcgc2V0VmVyc2lvbiBj
YWxsIGluIHdvcmtlciBwcmV2ZW50cyBkb2N1bWVudCBmcm9tIG9wZW5pbmcgdGhlIGRiLCBldmVu
IGFmdGVyIHdvcmtlciB0ZXJtaW5hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODM5NTIKKworICAgICAgICBUaGVzZSB0d28gdGVzdHMgZmFpbCBp
biBEUlQgbW9zdCBwcm94aW1hdGVseSBiZWNhdXNlIERSVCBwcm92aWRlcworICAgICAgICBkaWZm
ZXJlbnQgaW5zdGFuY2VzIG9mIElEQkZhY3RvcnlCYWNrZW5kIHRvIGEgZG9jdW1lbnQgYW5kIHdv
cmtlcjoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgy
Nzc2LgorCisgICAgICAgIE9uZSBmYWlscyBpbiBjaHJvbWl1bSBiZWNhdXNlIG9mIGEgbG9naWMg
ZXJyb3IgdHJhY2tlZCBieQorICAgICAgICBodHRwOi8vY3JidWcuY29tLzEyMzQxOC4gVGhlIHBs
YW4gaXMgdG8gcnVuIHRoZW0gYm90aCBhcyBicm93c2VyIHRlc3RzCisgICAgICAgIHdoZW4gdGhl
IGxvZ2ljIGlzIGZpeGVkLCBidXQganVzdCBvbmUgaW4gdGhlIG1lYW50aW1lLgorCisgICAgICAg
IEFsc28gYWRkZWQgU0tJUCBmb3Igc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxv
Y2tlZC5odG1sCisgICAgICAgIHNpbmNlIGl0IGFsc28gY2FuJ3QgcGFzcyBpbiBEUlQgYW5kIGp1
c3QgdHVybnMgdGhlIGZsYWtpbmVzcyBkYXNoYm9hcmQKKyAgICAgICAgYWxsIHJlZC4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jr
cy13aXRoLXRlcm1pbmF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2std29ya3Mtd2l0aC10ZXJtaW5h
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJz
aW9uLWNoYW5nZS1zdHVjay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0LnJlcXVlc3Qub25zdWNjZXNzLnJlcXVlc3Qub25ibG9ja2VkKToKKyAgICAgICAg
KHRlc3QucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAodGVzdCk6CisKIDIwMTItMDQtMTMg
IFlpIFNoZW4gIDx5aS40LnNoZW5Abm9raWEuY29tPgogCiAgICAgICAgIEluc2VydEhUTUwgZmFp
bHMgdG8gaW5zZXJ0IGg2IGlmIHRoZSBpbnNlcnRpb24gcG9pbnQgaXMgYmVmb3JlIHNvbWUgdGV4
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAppbmRleCBkMmI4YTM0MWY2N2VkYjdlNzQxODc5ZGMxYWJmMDQ2OTI5NjA1ZTA1Li42
OTY2MWQ0ZWYzMGIzY2Q5MDRjMWRmODIyYzI1ZmFjNWMyYjZhODk3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zNzQw
LDggKzM3NDAsMTAgQEAgQlVHQ1IxMTk2NjcgOiBtZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUv
Y2FuUGxheVR5cGVfc3VwcG9ydGVkX2J1dF9ub19jb2RlY3NfcGEKIEJVR0NSMTE5NjY3IDogbWVk
aWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV8xLmh0
bWwgPSBQQVNTIEZBSUwKIEJVR0NSMTE5NjY3IDogbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBl
L2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV8yLmh0bWwgPSBQQVNTIEZBSUwKIAotLy8gVGhp
cyB0ZXN0IGRlcGVuZHMgb24gV29ya2VyIGJlaGF2aW9yIHRoYXQgaXMgYnJva2VuIGluIERSVAot
QlVHV0s4Mjc3NiA6IHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRt
bCA9IFBBU1MgRkFJTAorLy8gVGhlc2UgdGVzdHMgZGVwZW5kcyBvbiBXb3JrZXIgYmVoYXZpb3Ig
dGhhdCBpcyBicm9rZW4gaW4gRFJUCitCVUdXSzgyNzc2IFNLSVAgOiBzdG9yYWdlL2luZGV4ZWRk
Yi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLmh0bWwgPSBQQVNTIEZBSUwKK0JVR1dLODI3NzYgU0tJ
UCA6IHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2suaHRtbCA9
IFBBU1MgRkFJTAorQlVHV0s4Mjc3NiBTS0lQIDogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12
ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS5odG1sID0gUEFTUyBGQUlM
CiAKIEJVR1dLIFdJTiBSRUxFQVNFIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWRpcmVj
dC1jcm9zcy1vcmlnaW4tcG9zdC5odG1sID0gUEFTUyBURVhUCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9u
LWNoYW5nZS1zdHVjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTEzNGRkYjhmOTE0M2IzNjRj
OTQ5ODQ3MjRhOTZhMTRkNzBlYWFlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK0ltcGxpY2l0bHkgdGVybWluYXRpbmcgd29ya2VyIHdpdGggYmxv
Y2tlZCBzZXRWZXJzaW9uIGNhbGwgc2hvdWxkIGFsbG93IGxhdGVyIG9wZW4gY2FsbHMgdG8gcHJv
Y2VlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5p
bmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwg
c2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK3JlcXVlc3QgPSBpbmRleGVk
REIub3BlbigicGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay5odG1sIikKK1BBU1MgT3BlbiB3
b3JrZWQgYWZ0ZXIgcGFnZSByZWxvYWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNp
b24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWluYXRlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mM2IyOWI1YzdiN2I3Yjk1YjQwYjc4NmZlMDRjNjRkZWFkYWZiZTVmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNo
YW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorRXhwbGljaXRseSB0ZXJtaW5hdGluZyB3b3JrZXIgd2l0aCBibG9ja2VkIHNldFZlcnNp
b24gY2FsbCBzaG91bGQgYWxsb3cgbGF0ZXIgb3BlbiBjYWxscyB0byBwcm9jZWVkCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBz
ZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhl
ZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCJwZW5k
aW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWluYXRlLmh0bWwiKQorUEFT
UyBPcGVuIHdvcmtlZCBhZnRlciBwYWdlIHJlbG9hZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVy
bWluYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNp
b24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWluYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Ix
ZDM3N2UyZDNhYjkzN2FlMThmZmM3OTYxMjgxNDViOWE1MGQwYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1
Y2std29ya3Mtd2l0aC10ZXJtaW5hdGUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIkV4cGxpY2l0bHkgdGVy
bWluYXRpbmcgd29ya2VyIHdpdGggYmxvY2tlZCBzZXRWZXJzaW9uIGNhbGwgc2hvdWxkIGFsbG93
IGxhdGVyIG9wZW4gY2FsbHMgdG8gcHJvY2VlZCIpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICAgIGRibmFtZSA9IHNlbGYubG9jYXRpb24ucGF0
aG5hbWUuc3Vic3RyaW5nKDEgKyBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lLmxhc3RJbmRleE9mKCIv
IikpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihcIiIgKyBkYm5h
bWUgKyAiXCIpIik7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENh
bGxiYWNrOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwor
ICAgIGlmIChzZWxmLmxvY2F0aW9uLnNlYXJjaCA9PSAiP3NlY29uZCIpIHsKKyAgICAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIk9w
ZW4gd29ya2VkIGFmdGVyIHBhZ2UgcmVsb2FkLiIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgIH07CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBzdGFydFRoZVdvcmtlcjsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHN0YXJ0VGhlV29ya2VyKCkK
K3sKKyAgICB2YXIgd29ya2VyID0gc3RhcnRXb3JrZXIoInJlc291cmNlcy9wZW5kaW5nLXZlcnNp
b24tY2hhbmdlLXN0dWNrLmpzPyIgKyBlbmNvZGVVUkkoZGJuYW1lKSk7CisgICAgd29ya2VyLm9u
ZXJyb3IgPSBmdW5jdGlvbihlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoZS5tZXNzYWdlKTsKKyAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfTsKKyAgICBvcmlnaW5hbE9uTWVzc2FnZSA9IHdv
cmtlci5vbm1lc3NhZ2U7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7
CisgICAgICAgIGlmIChldmVudC5kYXRhID09ICJnb3RibG9ja2VkIikgeworICAgICAgICAgICAg
d29ya2VyLnRlcm1pbmF0ZSgpOworICAgICAgICAgICAgc2VsZi5sb2NhdGlvbiA9IHNlbGYubG9j
YXRpb24gKyAiP3NlY29uZCI7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
b3JpZ2luYWxPbk1lc3NhZ2UoZXZlbnQpOworICAgIH07Cit9CisKK3Rlc3QoKTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2suaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2suaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNWQ0ZWQ1YmU4Yzg1MjU2MjVhNWJhNDNlYjFmYjU2MDc4YjBmNGI1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12
ZXJzaW9uLWNoYW5nZS1zdHVjay5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiSW1wbGljaXRseSB0ZXJtaW5h
dGluZyB3b3JrZXIgd2l0aCBibG9ja2VkIHNldFZlcnNpb24gY2FsbCBzaG91bGQgYWxsb3cgbGF0
ZXIgb3BlbiBjYWxscyB0byBwcm9jZWVkIik7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7CisgICAgZGJuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFt
ZS5zdWJzdHJpbmcoMSArIHNlbGYubG9jYXRpb24ucGF0aG5hbWUubGFzdEluZGV4T2YoIi8iKSk7
CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKFwiIiArIGRibmFtZSAr
ICJcIikiKTsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAg
aWYgKHNlbGYubG9jYXRpb24uc2VhcmNoID09ICI/c2Vjb25kIikgeworICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiT3BlbiB3
b3JrZWQgYWZ0ZXIgcGFnZSByZWxvYWQuIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHN0
YXJ0VGhlV29ya2VyOworICAgIH0KK30KKworZnVuY3Rpb24gc3RhcnRUaGVXb3JrZXIoKQorewor
ICAgIHZhciB3b3JrZXIgPSBzdGFydFdvcmtlcigicmVzb3VyY2VzL3BlbmRpbmctdmVyc2lvbi1j
aGFuZ2Utc3R1Y2suanM/IiArIGVuY29kZVVSSShkYm5hbWUpKTsKKyAgICB3b3JrZXIub25lcnJv
ciA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZChlLm1lc3NhZ2UpOworICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9OworICAgIG9yaWdpbmFsT25NZXNzYWdlID0gd29ya2Vy
Lm9ubWVzc2FnZTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICAgICAgaWYgKGV2ZW50LmRhdGEgPT0gImdvdGJsb2NrZWQiKQorICAgICAgICAgICAgc2VsZi5s
b2NhdGlvbiA9IHNlbGYubG9jYXRpb24gKyAiP3NlY29uZCI7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIG9yaWdpbmFsT25NZXNzYWdlKGV2ZW50KTsKKyAgICB9OworfQorCit0ZXN0KCk7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1z
dHVjay5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5n
LXZlcnNpb24tY2hhbmdlLXN0dWNrLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNDU1ZjZlYzBiMTQ2ZTM1MzIw
OThmYzllOTI3MjlmM2Q4NjQ5N2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay5qcwpA
QCAtMCwwICsxLDIzIEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1wb3J0U2Ny
aXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKKyAgICBp
bXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
cmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKKyAgICBkYm5hbWUgPSBkZWNvZGVVUkkoc2VsZi5sb2Nh
dGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oXCIiICsgZGJuYW1lICsgIlwiKSIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oZSkgeworICAgICAgICBkYiA9IHJlcXVlc3QucmVzdWx0OworICAgICAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigxKSIpOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJ3b3JrZXIgcmVjZWl2ZWQg
YmxvY2tlZCBldmVudC4iKTsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKCJnb3RibG9ja2VkIik7
CisgICAgICAgIH07CisgICAgfTsKK30KKwordGVzdCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>