<?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>116333</bug_id>
          
          <creation_ts>2013-05-17 10:59:21 -0700</creation_ts>
          <short_desc>[webkitpy] Explicitly specify the reference file extensions</short_desc>
          <delta_ts>2013-05-28 06:34:09 -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>
          
          <blocked>116312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
    
    <cc>santosh.mahto</cc>
    
    <cc>santosh.ma</cc>
    
    <cc>vivekg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>890522</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 10:59:21 -0700</bug_when>
    <thetext>[webkitpy] Explicitly specify the reference file extensions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890524</commentid>
    <comment_count>1</comment_count>
      <attachid>202119</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 11:11:50 -0700</bug_when>
    <thetext>Created attachment 202119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890536</commentid>
    <comment_count>2</comment_count>
      <attachid>202125</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 11:24:49 -0700</bug_when>
    <thetext>Created attachment 202125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890634</commentid>
    <comment_count>3</comment_count>
      <attachid>202125</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-17 13:32:31 -0700</bug_when>
    <thetext>Comment on attachment 202125
Patch

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

Why do we need or want to make this distinction? I&apos;m not sure I understand ...

&gt; Tools/Scripts/webkitpy/port/base.py:617
&gt; +        filename_wihout_ext, ext = filesystem.splitext(filename)

typo: &quot;without&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890654</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 13:51:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 202125 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202125&amp;action=review
&gt; 
&gt; Why do we need or want to make this distinction? I&apos;m not sure I understand ...
&gt; 

There&apos;s undergoing work in bug #116312 that introduces running MHTML-dumping tests. The dumped output is then compared to the *-expected.mht MHTML archive baselines, much like the webarchive baselines under LayoutTests/webarchive.

But .mht is also an extension used by various test files and is as such required to be listed in the _supported_file_extensions set (that I propose renaming). This same set is also used when searching for possible reference files in Port.reference_files, meaning that given a MHTML-dumping page.html layout test, its baseline, page-expected.mht, is actually recognized as a reference file, leading to considering the page.html test to be a reftest and comparing the pixel output etc. This is of course not welcomed as the .mht baseline should be treated as a text baseline, just like the .webarchive baselines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890668</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-17 14:18:00 -0700</bug_when>
    <thetext>I see. Thanks for explaining.

It seems like a mistake to me to have .mht be both a valid extension for a test file and a result that *isn&apos;t* a valid reference file. That requires the users to be aware that .html is fine for both tests and references, but .mht isn&apos;t, and that perhaps a better solution is to either dump the file as -expected.txt, or to pick a different suffix for the thing that is a baseline. 

I imagine this tradeoff was considered before; what do y&apos;all think of this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890926</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-18 12:25:57 -0700</bug_when>
    <thetext>CC-ing more people to hopefully get their opinion.

I&apos;ll have to agree on the premise that a valid test file extension must also be a valid reference file extension, it makes total sense.

Given that, I think it would make most sense to have the dumped MHTML archive compared against a *-expected.txt baseline. Another possibility would be to have the *.html test files and *.mht reference files. These would then have the pixel output compared, but I&apos;m not sure how much coverage this would yield in regards to testing the proper format of the dumped MHTML archive. Another possibility that I would rather avoid is to have the test (and reference) files use .mht extension while the text baselines would use the .mhtml extension, but IMO that just brings additional complexity to the extensions support.

FWIW, The current MHTML tests consist of .mht test files that are loaded and then dump text and pixel output. I think these can be easily converted into reference tests. Though, as mentioned before, I&apos;m not sure of testing MHTML behavior the other way around (loading HTML test files and using MHTML files as the reference output).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892595</commentid>
    <comment_count>7</comment_count>
      <attachid>202125</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-22 17:03:59 -0700</bug_when>
    <thetext>Comment on attachment 202125
Patch

Nothing against this, but why not differentiate based on the -expected?

For MHTML, maybe we should have -expected.mht and -binary-expected.mht simultaneously for all tests don&apos;t you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892603</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-22 17:23:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 202125 [details])
&gt; Nothing against this, but why not differentiate based on the -expected?
&gt; 
&gt; For MHTML, maybe we should have -expected.mht and -binary-expected.mht simultaneously for all tests don&apos;t you think?

MHTML is a text-based format, so the word &quot;binary&quot; confuses me in this context. We need to distinguish between &quot;here is the reference MHTML to compare against&quot; and &quot;here is the dumped MHTML archive from the test&quot; (although I&apos;m not actually sure we need reference MHTML files, we could probably just use regular html files). 

Which of those two types of files is which of yours?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892619</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-22 18:03:11 -0700</bug_when>
    <thetext>&gt; MHTML is a text-based format, so the word &quot;binary&quot; confuses me in this context. We need to distinguish between &quot;here is the reference MHTML to compare against&quot; and &quot;here is the dumped MHTML archive from the test&quot; (although I&apos;m not actually sure we need reference MHTML files, we could probably just use regular html files). 

I don&apos;t know much about MHTML but the API has a &quot;useBinaryEncoding&quot; boolean. Which is why I ask about that.

&gt; Which of those two types of files is which of yours?

We have tests taking MHTML as the input test file (existing tests loading MHTML).
What GTK/EFL/Qt need now is new tests that take HTML and generate MHTML.

So we will have tests with &quot;.mht&quot; as input in some cases, and &quot;-expected.mht&quot; as output in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892626</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-22 18:22:47 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; MHTML is a text-based format, so the word &quot;binary&quot; confuses me in this context. We need to distinguish between &quot;here is the reference MHTML to compare against&quot; and &quot;here is the dumped MHTML archive from the test&quot; (although I&apos;m not actually sure we need reference MHTML files, we could probably just use regular html files). 
&gt; 
&gt; I don&apos;t know much about MHTML but the API has a &quot;useBinaryEncoding&quot; boolean. Which is why I ask about that.
&gt; 

I see. I have no idea what that would do :)

&gt; &gt; Which of those two types of files is which of yours?
&gt; 
&gt; We have tests taking MHTML as the input test file (existing tests loading MHTML).
&gt; What GTK/EFL/Qt need now is new tests that take HTML and generate MHTML.
&gt; 
&gt; So we will have tests with &quot;.mht&quot; as input in some cases, and &quot;-expected.mht&quot; as output in some cases.

Right, so to recap my earlier objection, -expected.mht (a baseline) would conflict as a name with -expected.mht (the reference for a reftest). Given that the regular encoding for MHTML is as text (mime/multipart + base64-encoded subresources), I was suggesting that we just use -expected.txt for the baseline. 

If we were to use -expected.mht for the baseline we&apos;d have to forbid it from also being used as a reftest (which this patch does), but that seems confusing to me, because then we&apos;d have the same extension being used for two different things.

I&apos;m not sure what your opinion is of this dilemma yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892631</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-22 18:43:26 -0700</bug_when>
    <thetext>&gt; Right, so to recap my earlier objection, -expected.mht (a baseline) would conflict as a name with -expected.mht (the reference for a reftest). Given that the regular encoding for MHTML is as text (mime/multipart + base64-encoded subresources), I was suggesting that we just use -expected.txt for the baseline. 
&gt; 
&gt; If we were to use -expected.mht for the baseline we&apos;d have to forbid it from also being used as a reftest (which this patch does), but that seems confusing to me, because then we&apos;d have the same extension being used for two different things.
&gt; 
&gt; I&apos;m not sure what your opinion is of this dilemma yet.

What I don&apos;t like about &quot;-expected.txt&quot; for MHTML is it kills readability of the test. If we go down that path, people cannot just open the file in their browser to see the expectations live.

Your objection about ref-tests is valid and I have no solution to propose for that issue. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892633</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-22 19:15:20 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; 
&gt; What I don&apos;t like about &quot;-expected.txt&quot; for MHTML is it kills readability of the test. If we go down that path, people cannot just open the file in their browser to see the expectations live.
&gt;

That is a good point. Hrm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892920</commentid>
    <comment_count>13</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2013-05-23 09:27:09 -0700</bug_when>
    <thetext>It seems there is a confusion related to  useBinaryEncoding
First:  MHTML is only text base format.
        and MHTML is independent of any type of encoding format.
it just append all the resource in one file  with header

If the resource is not in Text based format( like images) then :--- 
     By default resources data inside MHTML archive  are encoded as          base64 .setting useBinaryEncoding = true just override base64 
encoding of resource data to binary encoding. But the format of MHTML archive is not changed.
So useBinaryEncoding == true in only simple html file(no images) is useless as all content is in text format

e.g if useBinaryEncoding ==  false then Image will be appened as base64 in MHTMl archive
    if useBinaryEncoding ==  true then Image will be appened as Binary in MHTML archive
 
In webarchive format we append data in  &lt;data&gt; &lt;/data&gt; section with particular 
encoding but in general webarchive foramt is independent of encoding.

So there is only one MHTML format(text, as webarchive is XML )  and encoding is just used to encode resource that are not in text format(pritnatble) 

so useBinaryEncoding(false) has not any  dependancy on MHTML format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892969</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-23 11:25:55 -0700</bug_when>
    <thetext>Thanks for clarifying the binary format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892974</commentid>
    <comment_count>15</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-23 11:32:18 -0700</bug_when>
    <thetext>Back to the expectations:

Unless I missed it, I did not find any ref-test using MHTML.

I would go forward with Zan and Santosh work and use -expected.mht for a dump format for seralized MHTML using the public API.

One can still write a ref-test by comparing a .mht with a -expected.html. &lt;- Dirk, how much cannot be covered like this?

Any opinion before I r-/r+ this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892996</commentid>
    <comment_count>16</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-23 12:39:03 -0700</bug_when>
    <thetext>I&apos;m OK with either way, really.

Also, FWIW, bug #116443 has a patch that converts the current MHTML tests into reftests (meaning that the tested MHTML archive output is compared against the output of the originating on equivalent HTML).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893025</commentid>
    <comment_count>17</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-05-23 13:29:46 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Back to the expectations:
&gt; 
&gt; Unless I missed it, I did not find any ref-test using MHTML.
&gt; 
&gt; I would go forward with Zan and Santosh work and use -expected.mht for a dump format for seralized MHTML using the public API.
&gt; 
&gt; One can still write a ref-test by comparing a .mht with a -expected.html. &lt;- Dirk, how much cannot be covered like this?
&gt;

I can&apos;t think of any reason you&apos;d need a ref test to be mhtml, so in theory this patch&apos;s approach is fine, I just find it kind of confusing.
 
&gt; Any opinion before I r-/r+ this?

another alternative we can consider is to not use -expected as the extension for reference tests. The W3C actually uses -ref instead. I know when we initially started supporting ref tests we wanted to use -expected for consistency with the text and pixel baselines, but that seems less compelling to me these days, and frankly following the W3C&apos;s conventions seems more valuable in the long run (I&apos;m probably going to add support for it into Blink, for what that&apos;s worth).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893883</commentid>
    <comment_count>18</comment_count>
    <who name="Santosh Mahto">santosh.ma</who>
    <bug_when>2013-05-26 20:45:19 -0700</bug_when>
    <thetext>

(In reply to comment #17)
&gt; (In reply to comment #15)
&gt; &gt; Back to the expectations:
&gt; &gt; 
&gt; &gt; Unless I missed it, I did not find any ref-test using MHTML.
&gt; &gt; 
&gt; &gt; I would go forward with Zan and Santosh work and use -expected.mht for a dump format for seralized MHTML using the public API.
&gt; &gt; 
&gt; &gt; One can still write a ref-test by comparing a .mht with a -expected.html. &lt;- Dirk, how much cannot be covered like this?
 
 -expected.mht for a dump format for seralized MHTML using the public API  :
   looks ok to me as same  way we do for webarchive

&gt; I can&apos;t think of any reason you&apos;d need a ref test to be mhtml, so in theory this patch&apos;s approach is fine, I just find it kind of confusing.

&gt; another alternative we can consider is to not use -expected as the extension for reference tests. The W3C actually uses -ref instead. I know when we initially started supporting ref tests we wanted to use -expected for consistency with the text and pixel baselines, but that seems less compelling to me these days, and frankly following the W3C&apos;s conventions seems more valuable in the long run (I&apos;m probably going to add support for it into Blink, for what that&apos;s worth).

   This looks out of scope of this bug although seems good suggestion. Until
anyone take this  in his/her own hand in seperate bug  i think we should follow the baseline comparsion with *.mht
it makes sense to follow the  WebArchive dump testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894332</commentid>
    <comment_count>19</comment_count>
      <attachid>202125</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-28 06:34:02 -0700</bug_when>
    <thetext>Comment on attachment 202125
Patch

Clearing flags on attachment: 202125

Committed r150800: &lt;http://trac.webkit.org/changeset/150800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894333</commentid>
    <comment_count>20</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-28 06:34:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202119</attachid>
            <date>2013-05-17 11:11:50 -0700</date>
            <delta_ts>2013-05-17 11:24:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116333-20130517201043.patch</filename>
            <type>text/plain</type>
            <size>4008</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMjYwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWZjZTY4ZGU5NTkwY2U2NGI4ZDVjNTU2YjU2YWU0MGFm
ZjNkZTAzYy4uMmQwNWUyY2MzMjdhNGM2YmJkYmY0MWJmZGU2MzhiZjA2NWFmNWFkMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDEzLTA1LTE3ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbd2Via2l0cHldIEV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgcmVmZXJlbmNlIGZpbGUg
ZXh0ZW5zaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE2MzMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRXhwbGljaXRseSBzcGVjaWZ5IHRoZSBleHRlbnNpb25zIHRoYXQgYXJlIHZhbGlkIGZvciB0
aGUgcmVmZXJlbmNlIGZpbGVzLiBUaGlzIGhlbHBzIHRvIGRpZmZlcmVudGlhdGUKKyAgICAgICAg
YmV0d2VlbiB2YWxpZCByZWZlcmVuY2UgZmlsZXMgcmVxdWlyZWQgYnkgcmVmdGVzdHMgYW5kIHRl
eHQgYmFzZWxpbmVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBleHRlbnNpb24gYXMKKyAgICAgICAgcG90
ZW50aWFsIHRlc3QgZmlsZXMgKHNwZWNpZmljYWxseSB0aGUgY3VycmVudCBNSFRNTCB0ZXN0cyBp
biB0aGUgLm1odCBmaWxlcyBhbmQgdGhlIGZ1dHVyZSAubWh0IGJhc2VsaW5lcworICAgICAgICB0
aGF0IHdlcmUgdW50aWwgdGhpcyBjaGFuZ2UgcmVjb2duaXplZCBhcyByZWZlcmVuY2UgZmlsZXMp
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQ
b3J0LnJlZmVyZW5jZV9maWxlcyk6IEl0ZXJhdGUgdGhyb3VnaCB0aGUgX3N1cHBvcnRlZF9yZWZl
cmVuY2VfZXh0ZW5zaW9ucyBzZXQuCisgICAgICAgIChQb3J0KTogUmVuYW1lIHRoZSBfc3VwcG9y
dGVkX2ZpbGVfZXh0ZW5zaW9ucyBzZXQgdG8gX3N1cHBvcnRlZF90ZXN0X2V4dGVuc2lvbnMuIEFk
ZCB0aGUKKyAgICAgICAgX3N1cHBvcnRlZF9yZWZlcmVuY2VfZXh0ZW5zaW9ucyBzZXQsIGNvbnRh
aW5pbmcgdGhlIGV4dGVuc2lvbnMgYWxsb3dlZCBmb3IgcmVmZXJlbmNlIGZpbGVzLgorICAgICAg
ICAoUG9ydC5pc19yZWZlcmVuY2VfaHRtbF9maWxlKTogUmV0dXJuIEZhbHNlIGlmIHRoZSBmaWxl
J3MgZXh0ZW5zaW9uIGlzIG5vdCBhIHN1cHBvcnRlZCByZWZlcmVuY2UgZmlsZSBleHRlbnNpb24u
CisgICAgICAgIChQb3J0Ll9oYXNfc3VwcG9ydGVkX2V4dGVuc2lvbik6IFVzZSBfc3VwcG9ydGVk
X3Rlc3RfZXh0ZW5zaW9ucy4KKwogMjAxMy0wNS0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEFkZCB2YXJpYW50cyBvZiB0aGUgbG9hZGluZyBBUElzIHRoYXQgdGFr
ZSB1c2VyIGRhdGEgYW5kIGEgd2F5IGZvciB0aGUgaW5qZWN0ZWQgYnVuZGxlIHRvIGZpbmQgb3V0
IGFib3V0IHRoZW0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggYTkwYzQzNTg0
MmIwMjYwZDBjMDJkMGNmY2Q2OWQ3ZWFjZjgyYzVhMC4uNzhiOThhNGUxYjQ0NDhmZDdhNTQ1M2Y1
MjY2ZWRkMGEyNDVlNzhlOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTU3
MSw3ICs1NzEsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIGlmIG5vdCByZWZ0ZXN0
X2xpc3Q6CiAgICAgICAgICAgICByZWZ0ZXN0X2xpc3QgPSBbXQogICAgICAgICAgICAgZm9yIGV4
cGVjdGF0aW9uLCBwcmVmaXggaW4gKCgnPT0nLCAnJyksICgnIT0nLCAnLW1pc21hdGNoJykpOgot
ICAgICAgICAgICAgICAgIGZvciBleHRlbnRpb24gaW4gUG9ydC5fc3VwcG9ydGVkX2ZpbGVfZXh0
ZW5zaW9uczoKKyAgICAgICAgICAgICAgICBmb3IgZXh0ZW50aW9uIGluIFBvcnQuX3N1cHBvcnRl
ZF9yZWZlcmVuY2VfZXh0ZW5zaW9uczoKICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHNlbGYu
ZXhwZWN0ZWRfZmlsZW5hbWUodGVzdF9uYW1lLCBwcmVmaXggKyBleHRlbnRpb24pCiAgICAgICAg
ICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAg
ICAgICAgICAgICAgICAgcmVmdGVzdF9saXN0LmFwcGVuZCgoZXhwZWN0YXRpb24sIHBhdGgpKQpA
QCAtNjA2LDE1ICs2MDYsMTcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICByZXR1cm4g
W3NlbGYucmVsYXRpdmVfdGVzdF9maWxlbmFtZShmKSBmb3IgZiBpbiBmaWxlc10KIAogICAgICMg
V2hlbiBjb2xsZWN0aW5nIHRlc3QgY2FzZXMsIHdlIGluY2x1ZGUgYW55IGZpbGUgd2l0aCB0aGVz
ZSBleHRlbnNpb25zLgotICAgIF9zdXBwb3J0ZWRfZmlsZV9leHRlbnNpb25zID0gc2V0KFsnLmh0
bWwnLCAnLnNodG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5wbCcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcuaHRtJywgJy5waHAnLCAnLnN2ZycsICcubWh0J10pCisg
ICAgX3N1cHBvcnRlZF90ZXN0X2V4dGVuc2lvbnMgPSBzZXQoWycuaHRtbCcsICcuc2h0bWwnLCAn
LnhtbCcsICcueGh0bWwnLCAnLnBsJywgJy5odG0nLCAnLnBocCcsICcuc3ZnJywgJy5taHQnXSkK
KyAgICBfc3VwcG9ydGVkX3JlZmVyZW5jZV9leHRlbnNpb25zID0gc2V0KFsnLmh0bWwnLCAnLnht
bCcsICcueGh0bWwnLCAnLmh0bScsICcuc3ZnJ10pCiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAg
IyBJZiBhbnkgY2hhbmdlcyBhcmUgbWFkZSBoZXJlIGJlIHN1cmUgdG8gdXBkYXRlIHRoZSBpc1Vz
ZWRJblJlZnRlc3QgbWV0aG9kIGluIG9sZC1ydW4td2Via2l0LXRlc3RzIGFzIHdlbGwuCiAgICAg
ZGVmIGlzX3JlZmVyZW5jZV9odG1sX2ZpbGUoZmlsZXN5c3RlbSwgZGlybmFtZSwgZmlsZW5hbWUp
OgogICAgICAgICBpZiBmaWxlbmFtZS5zdGFydHN3aXRoKCdyZWYtJykgb3IgZmlsZW5hbWUuc3Rh
cnRzd2l0aCgnbm90cmVmLScpOgogICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgZmls
ZW5hbWVfd2lob3V0X2V4dCwgdW51c2VkID0gZmlsZXN5c3RlbS5zcGxpdGV4dChmaWxlbmFtZSkK
KyAgICAgICAgZmlsZW5hbWVfd2lob3V0X2V4dCwgZXh0ID0gZmlsZXN5c3RlbS5zcGxpdGV4dChm
aWxlbmFtZSkKKyAgICAgICAgaWYgZXh0IG5vdCBpbiBQb3J0Ll9zdXBwb3J0ZWRfcmVmZXJlbmNl
X2V4dGVuc2lvbnM6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgZm9yIHN1ZmZp
eCBpbiBbJy1leHBlY3RlZCcsICctZXhwZWN0ZWQtbWlzbWF0Y2gnLCAnLXJlZicsICctbm90cmVm
J106CiAgICAgICAgICAgICBpZiBmaWxlbmFtZV93aWhvdXRfZXh0LmVuZHN3aXRoKHN1ZmZpeCk6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTYyNCw3ICs2MjYsNyBAQCBjbGFzcyBQ
b3J0KG9iamVjdCk6CiAgICAgZGVmIF9oYXNfc3VwcG9ydGVkX2V4dGVuc2lvbihmaWxlc3lzdGVt
LCBmaWxlbmFtZSk6CiAgICAgICAgICIiIlJldHVybiB0cnVlIGlmIGZpbGVuYW1lIGlzIG9uZSBv
ZiB0aGUgZmlsZSBleHRlbnNpb25zIHdlIHdhbnQgdG8gcnVuIGEgdGVzdCBvbi4iIiIKICAgICAg
ICAgZXh0ZW5zaW9uID0gZmlsZXN5c3RlbS5zcGxpdGV4dChmaWxlbmFtZSlbMV0KLSAgICAgICAg
cmV0dXJuIGV4dGVuc2lvbiBpbiBQb3J0Ll9zdXBwb3J0ZWRfZmlsZV9leHRlbnNpb25zCisgICAg
ICAgIHJldHVybiBleHRlbnNpb24gaW4gUG9ydC5fc3VwcG9ydGVkX3Rlc3RfZXh0ZW5zaW9ucwog
CiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBfaXNfdGVzdF9maWxlKGZpbGVzeXN0ZW0sIGRp
cm5hbWUsIGZpbGVuYW1lKToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202125</attachid>
            <date>2013-05-17 11:24:49 -0700</date>
            <delta_ts>2013-05-28 06:34:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116333-20130517202341.patch</filename>
            <type>text/plain</type>
            <size>5929</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMjYwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWZjZTY4ZGU5NTkwY2U2NGI4ZDVjNTU2YjU2YWU0MGFm
ZjNkZTAzYy4uYzM1ZGUwMDAzYzY2Y2I3ZTU1YmY5YWNiN2U2NzYxZWEyMDE3ZmYwZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDEzLTA1LTE3ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbd2Via2l0cHldIEV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgcmVmZXJlbmNlIGZpbGUg
ZXh0ZW5zaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE2MzMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRXhwbGljaXRseSBzcGVjaWZ5IHRoZSBleHRlbnNpb25zIHRoYXQgYXJlIHZhbGlkIGZvciB0
aGUgcmVmZXJlbmNlIGZpbGVzLiBUaGlzIGhlbHBzIHRvIGRpZmZlcmVudGlhdGUKKyAgICAgICAg
YmV0d2VlbiB2YWxpZCByZWZlcmVuY2UgZmlsZXMgcmVxdWlyZWQgYnkgcmVmdGVzdHMgYW5kIHRl
eHQgYmFzZWxpbmVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBleHRlbnNpb24gYXMKKyAgICAgICAgcG90
ZW50aWFsIHRlc3QgZmlsZXMgKHNwZWNpZmljYWxseSB0aGUgY3VycmVudCBNSFRNTCB0ZXN0cyBp
biB0aGUgLm1odCBmaWxlcyBhbmQgdGhlIGZ1dHVyZSAubWh0IGJhc2VsaW5lcworICAgICAgICB0
aGF0IHdlcmUgdW50aWwgdGhpcyBjaGFuZ2UgcmVjb2duaXplZCBhcyByZWZlcmVuY2UgZmlsZXMp
LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgYW5kIHRoZSBuZXcgdGVzdF9p
c19yZWZlcmVuY2VfaHRtbF9maWxlIHRlc3QgaW4gd2Via2l0cHkucG9ydC5iYXNlX3VuaXR0ZXN0
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQ
b3J0LnJlZmVyZW5jZV9maWxlcyk6IEl0ZXJhdGUgdGhyb3VnaCB0aGUgX3N1cHBvcnRlZF9yZWZl
cmVuY2VfZXh0ZW5zaW9ucyBzZXQuCisgICAgICAgIChQb3J0KTogUmVuYW1lIHRoZSBfc3VwcG9y
dGVkX2ZpbGVfZXh0ZW5zaW9ucyBzZXQgdG8gX3N1cHBvcnRlZF90ZXN0X2V4dGVuc2lvbnMuIEFk
ZCB0aGUKKyAgICAgICAgX3N1cHBvcnRlZF9yZWZlcmVuY2VfZXh0ZW5zaW9ucyBzZXQsIGNvbnRh
aW5pbmcgdGhlIGV4dGVuc2lvbnMgYWxsb3dlZCBmb3IgcmVmZXJlbmNlIGZpbGVzLgorICAgICAg
ICAoUG9ydC5pc19yZWZlcmVuY2VfaHRtbF9maWxlKTogUmV0dXJuIEZhbHNlIGlmIHRoZSBmaWxl
J3MgZXh0ZW5zaW9uIGlzIG5vdCBhIHN1cHBvcnRlZCByZWZlcmVuY2UgZmlsZSBleHRlbnNpb24u
CisgICAgICAgIChQb3J0Ll9oYXNfc3VwcG9ydGVkX2V4dGVuc2lvbik6IFVzZSBfc3VwcG9ydGVk
X3Rlc3RfZXh0ZW5zaW9ucy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZV91
bml0dGVzdC5weToKKyAgICAgICAgKFBvcnRUZXN0LnRlc3RfaXNfcmVmZXJlbmNlX2h0bWxfZmls
ZSk6IEFkZCB0aGUgdW5pdCB0ZXN0LCB0ZXN0aW5nIHZhcmlvdXMgdGVzdCBjYXNlcyBhcm91bmQg
dGhlCisgICAgICAgIFBvcnQuaXNfcmVmZXJlbmNlX2h0bWxfZmlsZSBtZXRob2QuCisKIDIwMTMt
MDUtMTQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdmFyaWFu
dHMgb2YgdGhlIGxvYWRpbmcgQVBJcyB0aGF0IHRha2UgdXNlciBkYXRhIGFuZCBhIHdheSBmb3Ig
dGhlIGluamVjdGVkIGJ1bmRsZSB0byBmaW5kIG91dCBhYm91dCB0aGVtCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlLnB5CmluZGV4IGE5MGM0MzU4NDJiMDI2MGQwYzAyZDBjZmNkNjlkN2VhY2Y4
MmM1YTAuLjc4Yjk4YTRlMWI0NDQ4ZmQ3YTU0NTNmNTI2NmVkZDBhMjQ1ZTc4ZTggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC01NzEsNyArNTcxLDcgQEAgY2xhc3MgUG9ydChv
YmplY3QpOgogICAgICAgICBpZiBub3QgcmVmdGVzdF9saXN0OgogICAgICAgICAgICAgcmVmdGVz
dF9saXN0ID0gW10KICAgICAgICAgICAgIGZvciBleHBlY3RhdGlvbiwgcHJlZml4IGluICgoJz09
JywgJycpLCAoJyE9JywgJy1taXNtYXRjaCcpKToKLSAgICAgICAgICAgICAgICBmb3IgZXh0ZW50
aW9uIGluIFBvcnQuX3N1cHBvcnRlZF9maWxlX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAg
Zm9yIGV4dGVudGlvbiBpbiBQb3J0Ll9zdXBwb3J0ZWRfcmVmZXJlbmNlX2V4dGVuc2lvbnM6CiAg
ICAgICAgICAgICAgICAgICAgIHBhdGggPSBzZWxmLmV4cGVjdGVkX2ZpbGVuYW1lKHRlc3RfbmFt
ZSwgcHJlZml4ICsgZXh0ZW50aW9uKQogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9maWxl
c3lzdGVtLmV4aXN0cyhwYXRoKToKICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnRlc3RfbGlz
dC5hcHBlbmQoKGV4cGVjdGF0aW9uLCBwYXRoKSkKQEAgLTYwNiwxNSArNjA2LDE3IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAgICAgcmV0dXJuIFtzZWxmLnJlbGF0aXZlX3Rlc3RfZmlsZW5h
bWUoZikgZm9yIGYgaW4gZmlsZXNdCiAKICAgICAjIFdoZW4gY29sbGVjdGluZyB0ZXN0IGNhc2Vz
LCB3ZSBpbmNsdWRlIGFueSBmaWxlIHdpdGggdGhlc2UgZXh0ZW5zaW9ucy4KLSAgICBfc3VwcG9y
dGVkX2ZpbGVfZXh0ZW5zaW9ucyA9IHNldChbJy5odG1sJywgJy5zaHRtbCcsICcueG1sJywgJy54
aHRtbCcsICcucGwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLmh0
bScsICcucGhwJywgJy5zdmcnLCAnLm1odCddKQorICAgIF9zdXBwb3J0ZWRfdGVzdF9leHRlbnNp
b25zID0gc2V0KFsnLmh0bWwnLCAnLnNodG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5wbCcsICcu
aHRtJywgJy5waHAnLCAnLnN2ZycsICcubWh0J10pCisgICAgX3N1cHBvcnRlZF9yZWZlcmVuY2Vf
ZXh0ZW5zaW9ucyA9IHNldChbJy5odG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5odG0nLCAnLnN2
ZyddKQogCiAgICAgQHN0YXRpY21ldGhvZAogICAgICMgSWYgYW55IGNoYW5nZXMgYXJlIG1hZGUg
aGVyZSBiZSBzdXJlIHRvIHVwZGF0ZSB0aGUgaXNVc2VkSW5SZWZ0ZXN0IG1ldGhvZCBpbiBvbGQt
cnVuLXdlYmtpdC10ZXN0cyBhcyB3ZWxsLgogICAgIGRlZiBpc19yZWZlcmVuY2VfaHRtbF9maWxl
KGZpbGVzeXN0ZW0sIGRpcm5hbWUsIGZpbGVuYW1lKToKICAgICAgICAgaWYgZmlsZW5hbWUuc3Rh
cnRzd2l0aCgncmVmLScpIG9yIGZpbGVuYW1lLnN0YXJ0c3dpdGgoJ25vdHJlZi0nKToKICAgICAg
ICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGZpbGVuYW1lX3dpaG91dF9leHQsIHVudXNlZCA9
IGZpbGVzeXN0ZW0uc3BsaXRleHQoZmlsZW5hbWUpCisgICAgICAgIGZpbGVuYW1lX3dpaG91dF9l
eHQsIGV4dCA9IGZpbGVzeXN0ZW0uc3BsaXRleHQoZmlsZW5hbWUpCisgICAgICAgIGlmIGV4dCBu
b3QgaW4gUG9ydC5fc3VwcG9ydGVkX3JlZmVyZW5jZV9leHRlbnNpb25zOgorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCiAgICAgICAgIGZvciBzdWZmaXggaW4gWyctZXhwZWN0ZWQnLCAnLWV4cGVj
dGVkLW1pc21hdGNoJywgJy1yZWYnLCAnLW5vdHJlZiddOgogICAgICAgICAgICAgaWYgZmlsZW5h
bWVfd2lob3V0X2V4dC5lbmRzd2l0aChzdWZmaXgpOgogICAgICAgICAgICAgICAgIHJldHVybiBU
cnVlCkBAIC02MjQsNyArNjI2LDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgIGRlZiBfaGFz
X3N1cHBvcnRlZF9leHRlbnNpb24oZmlsZXN5c3RlbSwgZmlsZW5hbWUpOgogICAgICAgICAiIiJS
ZXR1cm4gdHJ1ZSBpZiBmaWxlbmFtZSBpcyBvbmUgb2YgdGhlIGZpbGUgZXh0ZW5zaW9ucyB3ZSB3
YW50IHRvIHJ1biBhIHRlc3Qgb24uIiIiCiAgICAgICAgIGV4dGVuc2lvbiA9IGZpbGVzeXN0ZW0u
c3BsaXRleHQoZmlsZW5hbWUpWzFdCi0gICAgICAgIHJldHVybiBleHRlbnNpb24gaW4gUG9ydC5f
c3VwcG9ydGVkX2ZpbGVfZXh0ZW5zaW9ucworICAgICAgICByZXR1cm4gZXh0ZW5zaW9uIGluIFBv
cnQuX3N1cHBvcnRlZF90ZXN0X2V4dGVuc2lvbnMKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBk
ZWYgX2lzX3Rlc3RfZmlsZShmaWxlc3lzdGVtLCBkaXJuYW1lLCBmaWxlbmFtZSk6CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CmluZGV4IDUzYWE5MDI3MWNh
MDQwN2E3NzhkYTgxN2FiZjliODVmY2UyMjM4NTkuLjFlODE4NTkxZGM3ZjgwZTUyMTQxMzM4ZWMx
NjM5ZDUzZGVlY2JlMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3Vu
aXR0ZXN0LnB5CkBAIC0zNDcsNiArMzQ3LDE4IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShQb3J0Ll9pc190ZXN0X2ZpbGUoZmls
ZXN5c3RlbSwgJycsICdyZWYtZm9vLmh0bWwnKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShQ
b3J0Ll9pc190ZXN0X2ZpbGUoZmlsZXN5c3RlbSwgJycsICdub3RyZWYtZm9vLnhocicpKQogCisg
ICAgZGVmIHRlc3RfaXNfcmVmZXJlbmNlX2h0bWxfZmlsZShzZWxmKToKKyAgICAgICAgZmlsZXN5
c3RlbSA9IE1vY2tGaWxlU3lzdGVtKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFBvcnQuaXNf
cmVmZXJlbmNlX2h0bWxfZmlsZShmaWxlc3lzdGVtLCAnJywgJ2Zvby1leHBlY3RlZC5odG1sJykp
CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShQb3J0LmlzX3JlZmVyZW5jZV9odG1sX2ZpbGUoZmls
ZXN5c3RlbSwgJycsICdmb28tZXhwZWN0ZWQtbWlzbWF0Y2gueG1sJykpCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShQb3J0LmlzX3JlZmVyZW5jZV9odG1sX2ZpbGUoZmlsZXN5c3RlbSwgJycsICdm
b28tcmVmLnhodG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShQb3J0LmlzX3JlZmVyZW5j
ZV9odG1sX2ZpbGUoZmlsZXN5c3RlbSwgJycsICdmb28tbm90cmVmLnN2ZycpKQorICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKFBvcnQuaXNfcmVmZXJlbmNlX2h0bWxfZmlsZShmaWxlc3lzdGVtLCAn
JywgJ2Zvby5odG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoUG9ydC5pc19yZWZlcmVu
Y2VfaHRtbF9maWxlKGZpbGVzeXN0ZW0sICcnLCAnZm9vLWV4cGVjdGVkLnR4dCcpKQorICAgICAg
ICBzZWxmLmFzc2VydEZhbHNlKFBvcnQuaXNfcmVmZXJlbmNlX2h0bWxfZmlsZShmaWxlc3lzdGVt
LCAnJywgJ2Zvby1leHBlY3RlZC5zaHRtbCcpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFBv
cnQuaXNfcmVmZXJlbmNlX2h0bWxfZmlsZShmaWxlc3lzdGVtLCAnJywgJ2Zvby1leHBlY3RlZC5w
aHAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShQb3J0LmlzX3JlZmVyZW5jZV9odG1sX2Zp
bGUoZmlsZXN5c3RlbSwgJycsICdmb28tZXhwZWN0ZWQubWh0JykpCisKICAgICBkZWYgdGVzdF9w
YXJzZV9yZWZ0ZXN0X2xpc3Qoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCh3
aXRoX3Rlc3RzPVRydWUpCiAgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWydiYXIv
cmVmdGVzdC5saXN0J10gPSAiXG4iLmpvaW4oWyI9PSB0ZXN0Lmh0bWwgdGVzdC1yZWYuaHRtbCIs
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>