<?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>86749</bug_id>
          
          <creation_ts>2012-05-17 10:26:57 -0700</creation_ts>
          <short_desc>add skia test_expectations override file to chromium NRWT</short_desc>
          <delta_ts>2012-05-21 09:07:51 -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>Tools / Tests</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="Elliot Poger">epoger</reporter>
          <assigned_to name="Elliot Poger">epoger</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>reed</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626681</commentid>
    <comment_count>0</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 10:26:57 -0700</bug_when>
    <thetext>I plan to add another test_expectations override file to NRWT when running for a chromium-flavored port.

This new file will be similar to the expectations override file we already pull from the Chromium repo ( http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/layout_tests/test_expectations.txt ), but this one will be pulled from the Skia repo.  If the file is not found, then NRWT will just continue without it.

This work is to help with the issues discussed in https://goto.google.com/SkiaRebaseliningProcess (Googler-only link, sorry)

I&apos;m working on the CL now, and will attach it for review here once it&apos;s done; in the meanwhile, feedback on the idea is welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626776</commentid>
    <comment_count>1</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 11:39:42 -0700</bug_when>
    <thetext>+rniwa , he might have something to say about this too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626779</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-17 11:42:37 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; This new file will be similar to the expectations override file we already pull from the Chromium repo ( http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/layout_tests/test_expectations.txt ), but this one will be pulled from the Skia repo.  If the file is not found, then NRWT will just continue without it.
&gt; 
&gt; This work is to help with the issues discussed in https://goto.google.com/SkiaRebaseliningProcess (Googler-only link, sorry)

Please post the relevant part of the discussion here so that people can see it.


Presumably, this expectation file is only used as a temporary place to put test expectations? Given that Skia folks were the only people who were interested in keeping the chromium version of test_expectation anyway, I&apos;m inclined to say that we should just get rid of the test_expectation file in Chromium tree once this is implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626780</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-17 11:43:16 -0700</bug_when>
    <thetext>I don&apos;t want to live in a world where I have 3 different test_expectations.txt each living in a separate repository. That&apos;s just a maintenance hell to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626811</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-17 12:02:53 -0700</bug_when>
    <thetext>Elliot, how long do you expect entries to live in the skia-specific file? I think if the lifetime is roughly equivalent to the lifetime of entries in the chromium overrides file (i.e., the file is usually empty and entries are upstreamed as soon as possible), then this seems reasonable.

Also, I agree that if we can get rid of the chromium overrides by switching to this that would be a good thing. I&apos;m not sure how often we have downstream failures that are caused by things other than skia changes at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626827</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-17 12:13:29 -0700</bug_when>
    <thetext>On my second thought, V8 folks also use the test_expectations.txt file in the chromium repository as well. So maybe this isn&apos;t such a great idea after all.

Also, WebKit gardeners have been trained to pay attention to the test_expectations.txt file in the chromium repository so I&apos;m afraid moving it to the Skia repository will result in the file getting less attention, and entries not being removed from the file promptly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626841</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-05-17 12:19:04 -0700</bug_when>
    <thetext>The skia team will be on the hook to remove entries from this file in a timely fashion, not the gardeners. This is meant to keep the bots green during a big rebaseline event, not to hide long-term bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626851</commentid>
    <comment_count>7</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 12:32:29 -0700</bug_when>
    <thetext>&gt; Elliot, how long do you expect entries to live in the skia-specific file? I think if the lifetime is roughly equivalent to the lifetime of entries in the chromium overrides file (i.e., the file is usually empty and entries are upstreamed as soon as possible), then this seems reasonable.

The idea is that the skia test_expectations.txt file would typically be empty, and tests would never stay in there for more than a week or two (enough time for all the back-n-forth deps rolls to go through, and new baselines to be generated/checked in).

The idea is NOT for entries in this file to be &quot;upstreamed&quot; to the main webkit test_expectations file.  See more details below.

Here&apos;s the most relevant section of the March 9 discussion notes, as linked to within https://goto.google.com/SkiaRebaseliningProcess :

&gt; Currently, overlapping test expectations rules aren’t allowed
&gt; - Should we have a separate override file just for Skia?
&gt; - There are some concerns about changing the lint rules for the test_expectations file
&gt;  - Disambiguation: which one of these expectations is “right”?
&gt;  - File will grow without bounds

As I recall, the general takeaway of that discussion was: &quot;the Skia guys really will rebaseline their tests rather than leaving expected failures in place forever, so we should allow their test_expectations to be overlapping with existing ones and we should let the Skia team rebaseline those tests themselves&quot;.

Another way of putting it, with a concrete use case:
- We (Skia) have a fix for http://crbug.com/124881 (&apos;Calendar rasters very slowly through tiled SkPicture playback path&apos;) that will require us to rebaseline ~900 webkit layout_tests.
- Adding those expectations to the main webkit test_expectations file is extremely painful, because overlapping rules are not allowed in there.
- We want to be able to simply disable large groups of layout_tests while we work on the rebaseline, keeping layout_test results green for everyone else.
- We don&apos;t want gardeners to rebaseline our tests; we want to look at the pixel diffs and verify that they are as expected.
- We don&apos;t want gardeners to move our expectations into the main webkit test_expectations file, because they will often overlap with existing rules and thus fail the lint check (even though they work just fine).

From our discussion, it seemed that a Skia-specific test_expectations file was the best way to accomplish those goals.

&gt; Also, WebKit gardeners have been trained to pay attention to the test_expectations.txt file in the chromium repository so I&apos;m afraid moving it to the Skia repository will result in the file getting less attention, and entries not being removed from the file promptly.

That&apos;s actually a good thing!  The problem we have had with the chromium test_expectations file is that gardeners always want to clean out chromium test_expectations, which requires the new expectations to be written into webkit test_expectations, which requires the new expectations to NOT overlap with any of the thousands of expectations already in that file.

&gt; I&apos;m inclined to say that we should just get rid of the test_expectation file in Chromium tree once this is implemented.

Getting rid of the chromium version of test_expectations.txt is fine with me (if we add the one in Skia); I don&apos;t care either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626864</commentid>
    <comment_count>8</comment_count>
      <attachid>142531</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 12:40:45 -0700</bug_when>
    <thetext>Created attachment 142531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626869</commentid>
    <comment_count>9</comment_count>
      <attachid>142531</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 12:44:51 -0700</bug_when>
    <thetext>Comment on attachment 142531
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:328
&gt;          if builder_name != &apos;DUMMY_BUILDER_NAME&apos; and not &apos;(deps)&apos; in builder_name and not builder_name in self.try_builder_names:

This patch handles the new skia test_expectations file exactly the same as the chromium test_expectations file (only is observed on certain builders, etc.)

Given the comments in https://bugs.webkit.org/show_bug.cgi?id=86749 , I think it actually makes more sense to handle the skia test_expectations file a bit differently... so I will be uploading a second patch to this same bug soon.  Then we can decide which approach is better...

So, no need to review this patch until the next one shows up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626906</commentid>
    <comment_count>10</comment_count>
      <attachid>142538</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 13:30:28 -0700</bug_when>
    <thetext>Created attachment 142538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626912</commentid>
    <comment_count>11</comment_count>
      <attachid>142538</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 13:35:25 -0700</bug_when>
    <thetext>Comment on attachment 142538
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:345
&gt; +        # Always add Skia test_expectations overrides, if they exist.

Patch #2 adds the Skia test_expectations file on *all* builders, while maintaining the current behavior of only adding the Chromium test_expectations file on *certain* builders.

The difference in behavior is because expectations are only supposed to live in the Chromium test_expectations file &quot;on their way&quot; to living in the main webkit test_expectations file, while the Skia test_expectations should NOT be migrated over by gardeners.

Ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626925</commentid>
    <comment_count>12</comment_count>
      <attachid>142538</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-17 13:49:59 -0700</bug_when>
    <thetext>Comment on attachment 142538
Patch

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

IMO, this is a little gross, but if it makes doing Skia rolls considerably easier, then I think it&apos;s a worthwhile tradeoff.

Code looks fine to me except for the style nits, but I&apos;d like dpranke to weigh do the final r+.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:323
&gt; +    def get_expectations_file_contents(self, filetype, filepath):

Nit: webkit generally avoids putting &quot;get&quot; in method names. expectations_file_contents would be fine. A lot of the layout_tests code doesn&apos;t adhere to this since it came from the Chromium tree initially, but we&apos;re slowly moving it over to a more webkitty style.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:330
&gt; +        &quot;&quot;&quot;Return the contents of a test_expectations file, or &apos;&apos; if not found.
&gt; +
&gt; +        Args:
&gt; +            filetype: which type of test_expectations override file (only for
&gt; +                      logging purposes)
&gt; +            filepath: path to the file
&gt; +        &quot;&quot;&quot;

Ditto: webkit is allergic to &quot;what&quot; comments. This comment states what the code does pretty clearly if you take a quick look at it. Comments in webkit should only be to explain why (e.g. why are we doing some crazy, non-obvious thing).

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:345
&gt;&gt; +        # Always add Skia test_expectations overrides, if they exist.
&gt; 
&gt; Patch #2 adds the Skia test_expectations file on *all* builders, while maintaining the current behavior of only adding the Chromium test_expectations file on *certain* builders.
&gt; 
&gt; The difference in behavior is because expectations are only supposed to live in the Chromium test_expectations file &quot;on their way&quot; to living in the main webkit test_expectations file, while the Skia test_expectations should NOT be migrated over by gardeners.
&gt; 
&gt; Ready for review.

This behavior seems fine to me, this comment doesn&apos;t add much though == another what comment.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:350
&gt; +        # Only add Chromium test_expectations on certain builders.

Ditto: re: what comments. The code pretty clearly shows that we only do this on certain builders, so this comment doesn&apos;t add value.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:359
&gt; +        # Add base-platform overrides last.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626957</commentid>
    <comment_count>13</comment_count>
      <attachid>142550</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 14:11:29 -0700</bug_when>
    <thetext>Created attachment 142550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626958</commentid>
    <comment_count>14</comment_count>
      <attachid>142538</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-17 14:12:16 -0700</bug_when>
    <thetext>Comment on attachment 142538
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:323
&gt;&gt; +    def get_expectations_file_contents(self, filetype, filepath):
&gt; 
&gt; Nit: webkit generally avoids putting &quot;get&quot; in method names. expectations_file_contents would be fine. A lot of the layout_tests code doesn&apos;t adhere to this since it came from the Chromium tree initially, but we&apos;re slowly moving it over to a more webkitty style.

Done.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:330
&gt;&gt; +        &quot;&quot;&quot;
&gt; 
&gt; Ditto: webkit is allergic to &quot;what&quot; comments. This comment states what the code does pretty clearly if you take a quick look at it. Comments in webkit should only be to explain why (e.g. why are we doing some crazy, non-obvious thing).

Removed.

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:345
&gt;&gt;&gt; +        # Always add Skia test_expectations overrides, if they exist.
&gt;&gt; 
&gt;&gt; Patch #2 adds the Skia test_expectations file on *all* builders, while maintaining the current behavior of only adding the Chromium test_expectations file on *certain* builders.
&gt;&gt; 
&gt;&gt; The difference in behavior is because expectations are only supposed to live in the Chromium test_expectations file &quot;on their way&quot; to living in the main webkit test_expectations file, while the Skia test_expectations should NOT be migrated over by gardeners.
&gt;&gt; 
&gt;&gt; Ready for review.
&gt; 
&gt; This behavior seems fine to me, this comment doesn&apos;t add much though == another what comment.

Removed the comment.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:350
&gt;&gt; +        # Only add Chromium test_expectations on certain builders.
&gt; 
&gt; Ditto: re: what comments. The code pretty clearly shows that we only do this on certain builders, so this comment doesn&apos;t add value.

Removed.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:359
&gt;&gt; +        # Add base-platform overrides last.
&gt; 
&gt; Ditto.

OK, even I think this comment was overkill. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627690</commentid>
    <comment_count>15</comment_count>
      <attachid>142718</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 07:44:33 -0700</bug_when>
    <thetext>Created attachment 142718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627693</commentid>
    <comment_count>16</comment_count>
      <attachid>142718</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 07:48:02 -0700</bug_when>
    <thetext>Comment on attachment 142718
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:339
&gt; +                &apos;skia&apos;, &apos;skia_test_expectations.txt&apos;))

In this latest patch, I made just one change... I changed the path to Skia&apos;s test_expectations file so that it lives within the Chrome repository instead of the Skia repository.  I realized this morning that doing so would fit better with our process for rolling Skia changes into Chrome and WebKit.

See https://chromiumcodereview.appspot.com/10387188 for my addition of this file to the Chrome repo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627849</commentid>
    <comment_count>17</comment_count>
      <attachid>142718</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 11:26:49 -0700</bug_when>
    <thetext>Comment on attachment 142718
Patch

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

I&apos;m a little concerned about having the skia overrides live in the chromium repo and still apply to all builds, rather than just the deps bots; this means that we can&apos;t be sure that all the suppressions necessary for a green roll are present in just the upstream files; they&apos;re no way to ignore the skia suppressions. The chromium overrides initially applied everywhere, but we ended up changing that for just this reason.

That said, it&apos;s not clear to me that there&apos;s a better solution, and in theory most of the time the skia overrides will be empty, so this won&apos;t be an issue. I&apos;m willing to give this a shot.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:323
&gt; +    def expectations_file_contents(self, filetype, filepath):

Nit: I think this is a protected method, right? It should be _expectations_file_contents (leading underscore).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627853</commentid>
    <comment_count>18</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-18 11:31:44 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 142718 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142718&amp;action=review
&gt; 
&gt; That said, it&apos;s not clear to me that there&apos;s a better solution, and in theory most of the time the skia overrides will be empty, so this won&apos;t be an issue. I&apos;m willing to give this a shot.

I realized I was making the same assumption. Elliot, you do intend that most of the time the file will be empty, right? As in, it will only have entries around the time of a skia roll. Any longer-lived entries would move the to regular test_expectations.txt file, right? I&apos;d like the file to have a big comment at the top emphasizing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627873</commentid>
    <comment_count>19</comment_count>
      <attachid>142752</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 11:45:43 -0700</bug_when>
    <thetext>Created attachment 142752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627874</commentid>
    <comment_count>20</comment_count>
      <attachid>142718</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 11:46:38 -0700</bug_when>
    <thetext>Comment on attachment 142718
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:323
&gt;&gt; +    def expectations_file_contents(self, filetype, filepath):
&gt; 
&gt; Nit: I think this is a protected method, right? It should be _expectations_file_contents (leading underscore).

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627878</commentid>
    <comment_count>21</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 11:49:46 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt; That said, it&apos;s not clear to me that there&apos;s a better solution, and in theory most of the time the skia overrides will be empty, so this won&apos;t be an issue. I&apos;m willing to give this a shot.
&gt; 
&gt; I realized I was making the same assumption. Elliot, you do intend that most of the time the file will be empty, right? As in, it will only have entries around the time of a skia roll. Any longer-lived entries would move the to regular test_expectations.txt file, right? I&apos;d like the file to have a big comment at the top emphasizing this.

Yes, most of the time the skia_test_expectations.txt file will be empty.

I have added you (Ojan) as a reviewer on https://chromiumcodereview.appspot.com/10387188/ (&apos;Add skia_test_expectations file&apos;).  I will make a couple of adjustments to that in a few minutes; once I have done so, please suggest any further adjustments you would like to see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627908</commentid>
    <comment_count>22</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-18 12:13:47 -0700</bug_when>
    <thetext>Hmmm...thinking about this more, there&apos;s a downside that hadn&apos;t occurred to me. The chromium bots at build.webkit.org will fall all the tests listed in this file if the skia version on those bots is updated. Any ideas how we can avoid that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627912</commentid>
    <comment_count>23</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 12:17:58 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Hmmm...thinking about this more, there&apos;s a downside that hadn&apos;t occurred to me. The chromium bots at build.webkit.org will fall all the tests listed in this file if the skia version on those bots is updated. Any ideas how we can avoid that?

You&apos;re worried if we roll skia on those bots but not roll chromium? We pull the skia rev from the chromium deps file, so it seems like that can&apos;t happen?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627933</commentid>
    <comment_count>24</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-18 12:34:16 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; Hmmm...thinking about this more, there&apos;s a downside that hadn&apos;t occurred to me. The chromium bots at build.webkit.org will fall all the tests listed in this file if the skia version on those bots is updated. Any ideas how we can avoid that?
&gt; 
&gt; You&apos;re worried if we roll skia on those bots but not roll chromium? We pull the skia rev from the chromium deps file, so it seems like that can&apos;t happen?

No. Those bots don&apos;t have a chromium checkout, so they don&apos;t have the new skia test_expectations.txt file. I suppose we could make it part of the DEPS for those bots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627953</commentid>
    <comment_count>25</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 12:56:48 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (In reply to comment #22)
&gt; &gt; &gt; Hmmm...thinking about this more, there&apos;s a downside that hadn&apos;t occurred to me. The chromium bots at build.webkit.org will fall all the tests listed in this file if the skia version on those bots is updated. Any ideas how we can avoid that?
&gt; &gt; 
&gt; &gt; You&apos;re worried if we roll skia on those bots but not roll chromium? We pull the skia rev from the chromium deps file, so it seems like that can&apos;t happen?
&gt; 
&gt; No. Those bots don&apos;t have a chromium checkout, so they don&apos;t have the new skia test_expectations.txt file. I suppose we could make it part of the DEPS for those bots?

They have all the parts of chrome needed to actually build DRT, and that includes skia (and hence would include the new skia test_expectations file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627961</commentid>
    <comment_count>26</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 12:58:46 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; No. Those bots don&apos;t have a chromium checkout, so they don&apos;t have the new skia test_expectations.txt file. I suppose we could make it part of the DEPS for those bots?

Oh, lordy.  The chromium bots at build.webkit.org don&apos;t have a chromium checkout?  Seems very strange.

Can you please point me at the DEPS file used by those bots?  I&apos;m curious as to how they are selecting their Skia revision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627991</commentid>
    <comment_count>27</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 13:31:16 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #24)
&gt; &gt; No. Those bots don&apos;t have a chromium checkout, so they don&apos;t have the new skia test_expectations.txt file. I suppose we could make it part of the DEPS for those bots?
&gt; 
&gt; Oh, lordy.  The chromium bots at build.webkit.org don&apos;t have a chromium checkout?  Seems very strange.
&gt; 
&gt; Can you please point me at the DEPS file used by those bots?  I&apos;m curious as to how they are selecting their Skia revision.

http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/DEPS#L56

They pick up the version of skia specified in chromium&apos;s deps file. Ignore Ojan :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627998</commentid>
    <comment_count>28</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-18 13:33:13 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; They have all the parts of chrome needed to actually build DRT, and that includes skia (and hence would include the new skia test_expectations file).

Eliot&apos;s recent change move it to the chromium repo. Eliot, maybe this is a good reason to keep it in the skia repo?

(In reply to comment #26)
&gt; Oh, lordy.  The chromium bots at build.webkit.org don&apos;t have a chromium checkout?  Seems very strange.

It makes sense for the goal of being able to build and run the chromium ports from a pure webkit checkout, which is important for having non-chromium webkit contributors be able to checkout and build the chromium port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628010</commentid>
    <comment_count>29</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-18 13:37:59 -0700</bug_when>
    <thetext>Oh, we pull in the chromium skia directory from DEPS. Dirk is right, ignore me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628015</commentid>
    <comment_count>30</comment_count>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 13:40:31 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Oh, we pull in the chromium skia directory from DEPS. Dirk is right, ignore me.

Ignoring you.

For the record, there is a strong reason to keep that file in the Chromium repo... it will work much better with the process of rolling Skia changes into Chromium (and, by extension, WebKit).  Basically: it&apos;s when we test the Skia DEPS roll into Chromium that we will typically discover the broken layout tests, so it&apos;s best if the expectations change is in the same CL as that DEPS roll.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628037</commentid>
    <comment_count>31</comment_count>
      <attachid>142752</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-18 13:57:15 -0700</bug_when>
    <thetext>Comment on attachment 142752
Patch

Removing from the slooow commitqueue for now, since it&apos;s 5pm on a Friday.  I&apos;ll put it back on the commitqueue Monday morning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629034</commentid>
    <comment_count>32</comment_count>
      <attachid>142752</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-21 06:31:48 -0700</bug_when>
    <thetext>Comment on attachment 142752
Patch

back into the commit-queue...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629044</commentid>
    <comment_count>33</comment_count>
      <attachid>142752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 06:43:57 -0700</bug_when>
    <thetext>Comment on attachment 142752
Patch

Rejecting attachment 142752 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Tools/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/12736553</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629129</commentid>
    <comment_count>34</comment_count>
      <attachid>143042</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-21 08:43:17 -0700</bug_when>
    <thetext>Created attachment 143042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629130</commentid>
    <comment_count>35</comment_count>
      <attachid>143042</attachid>
    <who name="Elliot Poger">epoger</who>
    <bug_when>2012-05-21 08:44:34 -0700</bug_when>
    <thetext>Comment on attachment 143042
Patch

manually added &quot;Reviewed by Dirk Pranke&quot; to ChangeLog, trying the commit-queue again...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629155</commentid>
    <comment_count>36</comment_count>
      <attachid>143042</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 09:07:42 -0700</bug_when>
    <thetext>Comment on attachment 143042
Patch

Clearing flags on attachment: 143042

Committed r117789: &lt;http://trac.webkit.org/changeset/117789&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629157</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 09:07:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142531</attachid>
            <date>2012-05-17 12:40:45 -0700</date>
            <delta_ts>2012-05-17 13:30:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120517124043.patch</filename>
            <type>text/plain</type>
            <size>7242</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTE3ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21p
dW1Qb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorCiAy
MDEyLTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggTWluaUJyb3dzZXIgYnkgdXNpbmcg
Y29ycmVjdCBzeW50YXggZm9yIHFyYyBVUkxzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lvbiAxMTc0NjApCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTg5MSw5ICs4OTEsMTAgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBv
dmVycmlkZXMgPSAnJwogICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0
aW9uYWxfZXhwZWN0YXRpb25zJywgW10pOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3Rl
bS5leGlzdHMoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKToKKyAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJyZWFkaW5nIGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIGZyb20gcGF0
aCAnJXMnIiAlIHBhdGgpCiAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVz
eXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIm92ZXJyaWRl
cyBwYXRoICclcycgZG9lcyBub3QgZXhpc3QiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBfbG9n
Lndhcm5pbmcoImFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlz
dCIgJSBwYXRoKQogICAgICAgICByZXR1cm4gb3ZlcnJpZGVzIG9yIE5vbmUKIAogICAgIGRlZiBy
ZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiAxMTc0NjApCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zMjgsMTMgKzMyOCwyOSBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9y
dCk6CiAgICAgICAgIGlmIGJ1aWxkZXJfbmFtZSAhPSAnRFVNTVlfQlVJTERFUl9OQU1FJyBhbmQg
bm90ICcoZGVwcyknIGluIGJ1aWxkZXJfbmFtZSBhbmQgbm90IGJ1aWxkZXJfbmFtZSBpbiBzZWxm
LnRyeV9idWlsZGVyX25hbWVzOgogICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3ZlcnJpZGVzCiAK
KyAgICAgICAgb3ZlcnJpZGVzX3BhdGhfbGlzdCA9IFtdCiAgICAgICAgIHRyeToKLSAgICAgICAg
ICAgIG92ZXJyaWRlc19wYXRoID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0
JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQorICAg
ICAgICAgICAgb3ZlcnJpZGVzX3BhdGhfbGlzdC5hcHBlbmQoc2VsZi5wYXRoX2Zyb21fY2hyb21p
dW1fYmFzZSgKKyAgICAgICAgICAgICAgICAndGhpcmRfcGFydHknLCAnc2tpYScsICdzcmMnLCAn
d2Via2l0X3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpKQorICAgICAgICAgICAgb3ZlcnJpZGVzX3Bh
dGhfbGlzdC5hcHBlbmQoc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKKyAgICAgICAgICAg
ICAgICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9u
cy50eHQnKSkKICAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yLCBlOgorICAgICAgICAgICAg
cGFzcworCisgICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyA9ICcnCisgICAgICAgIGZvciBvdmVy
cmlkZXNfcGF0aCBpbiBvdmVycmlkZXNfcGF0aF9saXN0OgorICAgICAgICAgICAgaWYgc2VsZi5f
ZmlsZXN5c3RlbS5leGlzdHMob3ZlcnJpZGVzX3BhdGgpOgorICAgICAgICAgICAgICAgIF9sb2cu
ZGVidWcoInJlYWRpbmcgZXhwZWN0YXRpb25zIG92ZXJyaWRlcyBmcm9tIGZpbGUgJyVzJyIgJQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzX3BhdGgpCisgICAgICAgICAgICAg
ICAgY29tYmluZWRfb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUo
b3ZlcnJpZGVzX3BhdGgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIF9sb2cu
d2FybmluZygiZXhwZWN0YXRpb25zIG92ZXJyaWRlcyBmaWxlICclcycgZG9lcyBub3QgZXhpc3Qi
ICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzX3BhdGgpCisKKyAgICAg
ICAgaWYgY29tYmluZWRfb3ZlcnJpZGVzOgorICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVkX292
ZXJyaWRlcyArIChiYXNlX292ZXJyaWRlcyBvciAnJykKKyAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIHJldHVybiBiYXNlX292ZXJyaWRlcwotICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZXN5c3Rl
bS5leGlzdHMob3ZlcnJpZGVzX3BhdGgpOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3ZlcnJp
ZGVzCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKG92ZXJy
aWRlc19wYXRoKSArIChiYXNlX292ZXJyaWRlcyBvciAnJykKIAogICAgIGRlZiByZXBvc2l0b3J5
X3BhdGhzKHNlbGYpOgogICAgICAgICByZXBvcyA9IHN1cGVyKENocm9taXVtUG9ydCwgc2VsZiku
cmVwb3NpdG9yeV9wYXRocygpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkJKHJldmlz
aW9uIDExNzQ2MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTI5MCwzMiArMjkwLDQ2IEBA
IGNsYXNzIENocm9taXVtUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3IKICAgICAgICAgcG9ydC5f
ZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW0KICAgICAgICAgcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSA9IGxhbWJkYSAqY29tcHM6ICcvJyArICcvJy5qb2luKGNvbXBzKQogCi0gICAgICAgIGNo
cm9taXVtX292ZXJyaWRlc19wYXRoID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKLSAg
ICAgICAgICAgICd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCcpCi0gICAgICAgIENIUk9NSVVNX09WRVJSSURFUyA9ICdjb250ZW50cyBvZiAl
c1xuJyAlIGNocm9taXVtX292ZXJyaWRlc19wYXRoCi0KLSAgICAgICAgZmlsZXN5c3RlbS53cml0
ZV90ZXh0X2ZpbGUoY2hyb21pdW1fb3ZlcnJpZGVzX3BhdGgsIENIUk9NSVVNX09WRVJSSURFUykK
LQogICAgICAgICBhZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoID0gcG9ydC5wYXRoX2Zyb21f
Y2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICdhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucy50eHQn
KQogICAgICAgICBBRERJVElPTkFMX0VYUEVDVEFUSU9OUyA9ICdjb250ZW50cyBvZiAlc1xuJyAl
IGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGgKICAgICAgICAgZmlsZXN5c3RlbS53cml0ZV90
ZXh0X2ZpbGUoYWRkaXRpb25hbF9leHBlY3RhdGlvbnNfcGF0aCwgQURESVRJT05BTF9FWFBFQ1RB
VElPTlMpCiAKKyAgICAgICAgIyBJZiB0aGUgY2hyb21pdW0gcG9ydCdzIGFkZGl0aW9uYWwgZXhw
ZWN0YXRpb25zIGZpbGVzIGFyZSBtaXNzaW5nLAorICAgICAgICAjIHdlIHNob3VsZCBsaXZlIHdp
dGhvdXQgdGhlbS4KKyAgICAgICAgcG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnRFVNTVlf
QlVJTERFUl9OQU1FJworICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRp
b25zID0gW10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9u
c19vdmVycmlkZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSkKKyAgICAgICAg
cG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVj
dGF0aW9uc19wYXRoXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0
YXRpb25zX292ZXJyaWRlcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBBRERJVElPTkFM
X0VYUEVDVEFUSU9OUykKKworICAgICAgICAjIE5vdyBhZGQgdGhlIGNocm9taXVtIHBvcnQncyBh
ZGRpdGlvbmFsIGV4cGVjdGF0aW9ucyBmaWxlcy4KKyAgICAgICAgc2tpYV9vdmVycmlkZXNfcGF0
aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCisgICAgICAgICAgICAndGhpcmRfcGFy
dHknLCAnc2tpYScsICdzcmMnLCAnd2Via2l0X3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCisgICAg
ICAgIGNocm9taXVtX292ZXJyaWRlc19wYXRoID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFz
ZSgKKyAgICAgICAgICAgICd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dCcpCisgICAgICAgIFNLSUFfT1ZFUlJJREVTID0gJ2NvbnRlbnRzIG9m
ICVzXG4nICUgc2tpYV9vdmVycmlkZXNfcGF0aAorICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMg
PSAnY29udGVudHMgb2YgJXNcbicgJSBjaHJvbWl1bV9vdmVycmlkZXNfcGF0aAorICAgICAgICBm
aWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShza2lhX292ZXJyaWRlc19wYXRoLCBTS0lBX09WRVJS
SURFUykKKyAgICAgICAgZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoY2hyb21pdW1fb3ZlcnJp
ZGVzX3BhdGgsIENIUk9NSVVNX09WRVJSSURFUykKKwogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1
aWxkZXJfbmFtZSA9ICdEVU1NWV9CVUlMREVSX05BTUUnCiAgICAgICAgIHBvcnQuX29wdGlvbnMu
YWRkaXRpb25hbF9leHBlY3RhdGlvbnMgPSBbXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhw
b3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBDSFJPTUlVTV9PVkVSUklERVMpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFNLSUFf
T1ZFUlJJREVTICsgQ0hST01JVU1fT1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFk
ZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVz
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIUk9NSVVNX09WRVJSSURFUyArIEFERElU
SU9OQUxfRVhQRUNUQVRJT05TKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJS
SURFUyArIENIUk9NSVVNX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQogCiAg
ICAgICAgIHBvcnQuX29wdGlvbnMuYnVpbGRlcl9uYW1lID0gJ2J1aWxkZXIgKGRlcHMpJwogICAg
ICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ0hST01JVU1fT1ZFUlJJREVTKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIENIUk9NSVVNX09WRVJSSURFUykKICAgICAg
ICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4
cGVjdGF0aW9uc19wYXRoXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhw
ZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlV
TV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgU0tJQV9PVkVSUklERVMgKyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFM
X0VYUEVDVEFUSU9OUykKIAogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdi
dWlsZGVyJwogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0g
W10K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142538</attachid>
            <date>2012-05-17 13:30:28 -0700</date>
            <delta_ts>2012-05-18 07:44:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120517133027.patch</filename>
            <type>text/plain</type>
            <size>7756</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTE3ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21p
dW1Qb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorCiAy
MDEyLTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggTWluaUJyb3dzZXIgYnkgdXNpbmcg
Y29ycmVjdCBzeW50YXggZm9yIHFyYyBVUkxzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lvbiAxMTc0NjApCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTg5MSw5ICs4OTEsMTAgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBv
dmVycmlkZXMgPSAnJwogICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0
aW9uYWxfZXhwZWN0YXRpb25zJywgW10pOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3Rl
bS5leGlzdHMoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKToKKyAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJyZWFkaW5nIGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIGZyb20gcGF0
aCAnJXMnIiAlIHBhdGgpCiAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVz
eXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIm92ZXJyaWRl
cyBwYXRoICclcycgZG9lcyBub3QgZXhpc3QiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBfbG9n
Lndhcm5pbmcoImFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlz
dCIgJSBwYXRoKQogICAgICAgICByZXR1cm4gb3ZlcnJpZGVzIG9yIE5vbmUKIAogICAgIGRlZiBy
ZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiAxMTc0NjApCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAsMjEgKzMyMCw0NyBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9y
dCk6CiAgICAgICAgICd3aW5fbGF5b3V0X3JlbCcsCiAgICAgXSkKIAorICAgIGRlZiBnZXRfZXhw
ZWN0YXRpb25zX2ZpbGVfY29udGVudHMoc2VsZiwgZmlsZXR5cGUsIGZpbGVwYXRoKToKKyAgICAg
ICAgIiIiUmV0dXJuIHRoZSBjb250ZW50cyBvZiBhIHRlc3RfZXhwZWN0YXRpb25zIGZpbGUsIG9y
ICcnIGlmIG5vdCBmb3VuZC4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZmlsZXR5cGU6
IHdoaWNoIHR5cGUgb2YgdGVzdF9leHBlY3RhdGlvbnMgb3ZlcnJpZGUgZmlsZSAob25seSBmb3IK
KyAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nIHB1cnBvc2VzKQorICAgICAgICAgICAgZmls
ZXBhdGg6IHBhdGggdG8gdGhlIGZpbGUKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2Zp
bGVzeXN0ZW0uZXhpc3RzKGZpbGVwYXRoKToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoCisgICAg
ICAgICAgICAgICAgInJlYWRpbmcgJXMgdGVzdF9leHBlY3RhdGlvbnMgb3ZlcnJpZGVzIGZyb20g
ZmlsZSAnJXMnIiAlCisgICAgICAgICAgICAgICAgKGZpbGV0eXBlLCBmaWxlcGF0aCkpCisgICAg
ICAgICAgICByZXR1cm4gKHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoZmlsZXBhdGgp
IG9yICcnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgX2xvZy53YXJuaW5nKAorICAgICAg
ICAgICAgICAgICIlcyB0ZXN0X2V4cGVjdGF0aW9ucyBvdmVycmlkZXMgZmlsZSAnJXMnIGRvZXMg
bm90IGV4aXN0IiAlCisgICAgICAgICAgICAgICAgKGZpbGV0eXBlLCBmaWxlcGF0aCkpCisgICAg
ICAgICAgICByZXR1cm4gJycKKwogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMo
c2VsZik6CisgICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyA9ICcnCisKKyAgICAgICAgIyBBbHdh
eXMgYWRkIFNraWEgdGVzdF9leHBlY3RhdGlvbnMgb3ZlcnJpZGVzLCBpZiB0aGV5IGV4aXN0Lgor
ICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5nZXRfZXhwZWN0YXRpb25zX2ZpbGVf
Y29udGVudHMoCisgICAgICAgICAgICAnc2tpYScsIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jh
c2UoCisgICAgICAgICAgICAgICAgJ3RoaXJkX3BhcnR5JywgJ3NraWEnLCAnc3JjJywgJ3dlYmtp
dF90ZXN0X2V4cGVjdGF0aW9ucy50eHQnKSkKKworICAgICAgICAjIE9ubHkgYWRkIENocm9taXVt
IHRlc3RfZXhwZWN0YXRpb25zIG9uIGNlcnRhaW4gYnVpbGRlcnMuCiAgICAgICAgICMgRklYTUU6
IEl0IHNlZW1zIGJhZCB0aGF0IHJ1bl93ZWJraXRfdGVzdHMucHkgdXNlcyBhIGhhcmRjb2RlZCBk
dW1teQogICAgICAgICAjIGJ1aWxkZXIgc3RyaW5nIGluc3RlYWQgb2YganVzdCB1c2luZyBOb25l
LgogICAgICAgICBidWlsZGVyX25hbWUgPSBzZWxmLmdldF9vcHRpb24oJ2J1aWxkZXJfbmFtZScs
ICdEVU1NWV9CVUlMREVSX05BTUUnKQorICAgICAgICBpZiBidWlsZGVyX25hbWUgPT0gJ0RVTU1Z
X0JVSUxERVJfTkFNRScgb3IgJyhkZXBzKScgaW4gYnVpbGRlcl9uYW1lIG9yIGJ1aWxkZXJfbmFt
ZSBpbiBzZWxmLnRyeV9idWlsZGVyX25hbWVzOgorICAgICAgICAgICAgY29tYmluZWRfb3ZlcnJp
ZGVzICs9IHNlbGYuZ2V0X2V4cGVjdGF0aW9uc19maWxlX2NvbnRlbnRzKAorICAgICAgICAgICAg
ICAgICdjaHJvbWl1bScsIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCisgICAgICAgICAg
ICAgICAgICAgICd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCcpKQorCisgICAgICAgICMgQWRkIGJhc2UtcGxhdGZvcm0gb3ZlcnJpZGVzIGxh
c3QuCiAgICAgICAgIGJhc2Vfb3ZlcnJpZGVzID0gc3VwZXIoQ2hyb21pdW1Qb3J0LCBzZWxmKS50
ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKQotICAgICAgICBpZiBidWlsZGVyX25hbWUgIT0g
J0RVTU1ZX0JVSUxERVJfTkFNRScgYW5kIG5vdCAnKGRlcHMpJyBpbiBidWlsZGVyX25hbWUgYW5k
IG5vdCBidWlsZGVyX25hbWUgaW4gc2VsZi50cnlfYnVpbGRlcl9uYW1lczoKLSAgICAgICAgICAg
IHJldHVybiBiYXNlX292ZXJyaWRlcworICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgKz0gKGJh
c2Vfb3ZlcnJpZGVzIG9yICcnKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG92ZXJyaWRl
c19wYXRoID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0JywgJ3Rvb2xzJywg
J2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQotICAgICAgICBleGNlcHQg
QXNzZXJ0aW9uRXJyb3IsIGU6Ci0gICAgICAgICAgICByZXR1cm4gYmFzZV9vdmVycmlkZXMKLSAg
ICAgICAgaWYgbm90IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKG92ZXJyaWRlc19wYXRoKToKLSAg
ICAgICAgICAgIHJldHVybiBiYXNlX292ZXJyaWRlcwotICAgICAgICByZXR1cm4gc2VsZi5fZmls
ZXN5c3RlbS5yZWFkX3RleHRfZmlsZShvdmVycmlkZXNfcGF0aCkgKyAoYmFzZV9vdmVycmlkZXMg
b3IgJycpCisgICAgICAgIHJldHVybiBjb21iaW5lZF9vdmVycmlkZXMKIAogICAgIGRlZiByZXBv
c2l0b3J5X3BhdGhzKHNlbGYpOgogICAgICAgICByZXBvcyA9IHN1cGVyKENocm9taXVtUG9ydCwg
c2VsZikucmVwb3NpdG9yeV9wYXRocygpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkJ
KHJldmlzaW9uIDExNzQ2MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTI5Myw4ICsyOTMs
MTEgQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcgogICAgICAgICBj
aHJvbWl1bV9vdmVycmlkZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCiAg
ICAgICAgICAgICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVj
dGF0aW9ucy50eHQnKQogICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgPSAnY29udGVudHMgb2Yg
JXNcbicgJSBjaHJvbWl1bV9vdmVycmlkZXNfcGF0aAotCiAgICAgICAgIGZpbGVzeXN0ZW0ud3Jp
dGVfdGV4dF9maWxlKGNocm9taXVtX292ZXJyaWRlc19wYXRoLCBDSFJPTUlVTV9PVkVSUklERVMp
CisgICAgICAgIHNraWFfb3ZlcnJpZGVzX3BhdGggPSBwb3J0LnBhdGhfZnJvbV9jaHJvbWl1bV9i
YXNlKAorICAgICAgICAgICAgJ3RoaXJkX3BhcnR5JywgJ3NraWEnLCAnc3JjJywgJ3dlYmtpdF90
ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQorICAgICAgICBTS0lBX09WRVJSSURFUyA9ICdjb250ZW50
cyBvZiAlc1xuJyAlIHNraWFfb3ZlcnJpZGVzX3BhdGgKKyAgICAgICAgZmlsZXN5c3RlbS53cml0
ZV90ZXh0X2ZpbGUoc2tpYV9vdmVycmlkZXNfcGF0aCwgU0tJQV9PVkVSUklERVMpCiAKICAgICAg
ICAgYWRkaXRpb25hbF9leHBlY3RhdGlvbnNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVt
X2Jhc2UoCiAgICAgICAgICAgICAnYWRkaXRpb25hbF9leHBlY3RhdGlvbnMudHh0JykKQEAgLTMw
NCwyNiArMzA3LDI4IEBAIGNsYXNzIENocm9taXVtUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3IK
ICAgICAgICAgcG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnRFVNTVlfQlVJTERFUl9OQU1F
JwogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hST01JVU1fT1ZFUlJJREVTKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIENIUk9NSVVNX09WRVJSSURFUykK
ICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlv
bmFsX2V4cGVjdGF0aW9uc19wYXRoXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRl
c3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBD
SFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgU0tJQV9PVkVSUklERVMgKyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJ
VElPTkFMX0VYUEVDVEFUSU9OUykKIAogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFt
ZSA9ICdidWlsZGVyIChkZXBzKScKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4
cGVjdGF0aW9ucyA9IFtdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBl
Y3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIUk9NSVVN
X09WRVJSSURFUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9PVkVSUklERVMgKyBD
SFJPTUlVTV9PVkVSUklERVMpCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBl
Y3RhdGlvbnMgPSBbYWRkaXRpb25hbF9leHBlY3RhdGlvbnNfcGF0aF0KICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ0hST01JVU1fT1ZFUlJJREVTICsgQURESVRJT05BTF9FWFBFQ1RB
VElPTlMpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQ0hST01J
VU1fT1ZFUlJJREVTICsgQURESVRJT05BTF9FWFBFQ1RBVElPTlMpCiAKKyAgICAgICAgIyBBIGJ1
aWxkZXIgd2hpY2ggZG9lcyBOT1Qgb2JzZXJ2ZSB0aGUgQ2hyb21pdW0gdGVzdF9leHBlY3RhdGlv
bnMsCisgICAgICAgICMgYnV0IHN0aWxsIG9ic2VydmVzIHRoZSBTa2lhIHRlc3RfZXhwZWN0YXRp
b25zLi4uCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYnVpbGRlcl9uYW1lID0gJ2J1aWxkZXInCiAg
ICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBlY3RhdGlvbnMgPSBbXQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICBTS0lBX09WRVJSSURFUykKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVj
dGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoXQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgU0tJQV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAog
CiBjbGFzcyBDaHJvbWl1bVBvcnRMb2dnaW5nVGVzdChsb2d0ZXN0aW5nLkxvZ2dpbmdUZXN0Q2Fz
ZSk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142550</attachid>
            <date>2012-05-17 14:11:29 -0700</date>
            <delta_ts>2012-05-18 07:44:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120517141127.patch</filename>
            <type>text/plain</type>
            <size>7365</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTE3ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21p
dW1Qb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorCiAy
MDEyLTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggTWluaUJyb3dzZXIgYnkgdXNpbmcg
Y29ycmVjdCBzeW50YXggZm9yIHFyYyBVUkxzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lvbiAxMTc0NjApCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTg5MSw5ICs4OTEsMTAgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBv
dmVycmlkZXMgPSAnJwogICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0
aW9uYWxfZXhwZWN0YXRpb25zJywgW10pOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3Rl
bS5leGlzdHMoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKToKKyAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJyZWFkaW5nIGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIGZyb20gcGF0
aCAnJXMnIiAlIHBhdGgpCiAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVz
eXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIm92ZXJyaWRl
cyBwYXRoICclcycgZG9lcyBub3QgZXhpc3QiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBfbG9n
Lndhcm5pbmcoImFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlz
dCIgJSBwYXRoKQogICAgICAgICByZXR1cm4gb3ZlcnJpZGVzIG9yIE5vbmUKIAogICAgIGRlZiBy
ZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiAxMTc0NjApCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAsMjEgKzMyMCwzNCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9y
dCk6CiAgICAgICAgICd3aW5fbGF5b3V0X3JlbCcsCiAgICAgXSkKIAorICAgIGRlZiBleHBlY3Rh
dGlvbnNfZmlsZV9jb250ZW50cyhzZWxmLCBmaWxldHlwZSwgZmlsZXBhdGgpOgorICAgICAgICBp
ZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhmaWxlcGF0aCk6CisgICAgICAgICAgICBfbG9nLmRl
YnVnKAorICAgICAgICAgICAgICAgICJyZWFkaW5nICVzIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJy
aWRlcyBmcm9tIGZpbGUgJyVzJyIgJQorICAgICAgICAgICAgICAgIChmaWxldHlwZSwgZmlsZXBh
dGgpKQorICAgICAgICAgICAgcmV0dXJuIChzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
KGZpbGVwYXRoKSBvciAnJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIF9sb2cud2Fybmlu
ZygKKyAgICAgICAgICAgICAgICAiJXMgdGVzdF9leHBlY3RhdGlvbnMgb3ZlcnJpZGVzIGZpbGUg
JyVzJyBkb2VzIG5vdCBleGlzdCIgJQorICAgICAgICAgICAgICAgIChmaWxldHlwZSwgZmlsZXBh
dGgpKQorICAgICAgICAgICAgcmV0dXJuICcnCisKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNf
b3ZlcnJpZGVzKHNlbGYpOgorICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgPSAnJworICAgICAg
ICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5leHBlY3RhdGlvbnNfZmlsZV9jb250ZW50cygK
KyAgICAgICAgICAgICdza2lhJywgc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKKyAgICAg
ICAgICAgICAgICAndGhpcmRfcGFydHknLCAnc2tpYScsICdzcmMnLCAnd2Via2l0X3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dCcpKQogICAgICAgICAjIEZJWE1FOiBJdCBzZWVtcyBiYWQgdGhhdCBydW5f
d2Via2l0X3Rlc3RzLnB5IHVzZXMgYSBoYXJkY29kZWQgZHVtbXkKICAgICAgICAgIyBidWlsZGVy
IHN0cmluZyBpbnN0ZWFkIG9mIGp1c3QgdXNpbmcgTm9uZS4KICAgICAgICAgYnVpbGRlcl9uYW1l
ID0gc2VsZi5nZXRfb3B0aW9uKCdidWlsZGVyX25hbWUnLCAnRFVNTVlfQlVJTERFUl9OQU1FJykK
LSAgICAgICAgYmFzZV9vdmVycmlkZXMgPSBzdXBlcihDaHJvbWl1bVBvcnQsIHNlbGYpLnRlc3Rf
ZXhwZWN0YXRpb25zX292ZXJyaWRlcygpCi0gICAgICAgIGlmIGJ1aWxkZXJfbmFtZSAhPSAnRFVN
TVlfQlVJTERFUl9OQU1FJyBhbmQgbm90ICcoZGVwcyknIGluIGJ1aWxkZXJfbmFtZSBhbmQgbm90
IGJ1aWxkZXJfbmFtZSBpbiBzZWxmLnRyeV9idWlsZGVyX25hbWVzOgotICAgICAgICAgICAgcmV0
dXJuIGJhc2Vfb3ZlcnJpZGVzCisgICAgICAgIGlmIGJ1aWxkZXJfbmFtZSA9PSAnRFVNTVlfQlVJ
TERFUl9OQU1FJyBvciAnKGRlcHMpJyBpbiBidWlsZGVyX25hbWUgb3IgYnVpbGRlcl9uYW1lIGlu
IHNlbGYudHJ5X2J1aWxkZXJfbmFtZXM6CisgICAgICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMg
Kz0gc2VsZi5leHBlY3RhdGlvbnNfZmlsZV9jb250ZW50cygKKyAgICAgICAgICAgICAgICAnY2hy
b21pdW0nLCBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKAorICAgICAgICAgICAgICAgICAg
ICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50
eHQnKSkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvdmVycmlkZXNfcGF0aCA9IHNlbGYu
cGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3dlYmtpdCcsICd0b29scycsICdsYXlvdXRfdGVzdHMn
LCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykKLSAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9y
LCBlOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3ZlcnJpZGVzCi0gICAgICAgIGlmIG5vdCBz
ZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhvdmVycmlkZXNfcGF0aCk6Ci0gICAgICAgICAgICByZXR1
cm4gYmFzZV9vdmVycmlkZXMKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90
ZXh0X2ZpbGUob3ZlcnJpZGVzX3BhdGgpICsgKGJhc2Vfb3ZlcnJpZGVzIG9yICcnKQorICAgICAg
ICBiYXNlX292ZXJyaWRlcyA9IHN1cGVyKENocm9taXVtUG9ydCwgc2VsZikudGVzdF9leHBlY3Rh
dGlvbnNfb3ZlcnJpZGVzKCkKKyAgICAgICAgY29tYmluZWRfb3ZlcnJpZGVzICs9IChiYXNlX292
ZXJyaWRlcyBvciAnJykKKyAgICAgICAgcmV0dXJuIGNvbWJpbmVkX292ZXJyaWRlcwogCiAgICAg
ZGVmIHJlcG9zaXRvcnlfcGF0aHMoc2VsZik6CiAgICAgICAgIHJlcG9zID0gc3VwZXIoQ2hyb21p
dW1Qb3J0LCBzZWxmKS5yZXBvc2l0b3J5X3BhdGhzKCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQkocmV2aXNpb24gMTE3NDYwKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjkz
LDggKzI5MywxMSBAQCBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9yCiAg
ICAgICAgIGNocm9taXVtX292ZXJyaWRlc19wYXRoID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSgKICAgICAgICAgICAgICd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rl
c3RfZXhwZWN0YXRpb25zLnR4dCcpCiAgICAgICAgIENIUk9NSVVNX09WRVJSSURFUyA9ICdjb250
ZW50cyBvZiAlc1xuJyAlIGNocm9taXVtX292ZXJyaWRlc19wYXRoCi0KICAgICAgICAgZmlsZXN5
c3RlbS53cml0ZV90ZXh0X2ZpbGUoY2hyb21pdW1fb3ZlcnJpZGVzX3BhdGgsIENIUk9NSVVNX09W
RVJSSURFUykKKyAgICAgICAgc2tpYV9vdmVycmlkZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2No
cm9taXVtX2Jhc2UoCisgICAgICAgICAgICAndGhpcmRfcGFydHknLCAnc2tpYScsICdzcmMnLCAn
d2Via2l0X3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCisgICAgICAgIFNLSUFfT1ZFUlJJREVTID0g
J2NvbnRlbnRzIG9mICVzXG4nICUgc2tpYV9vdmVycmlkZXNfcGF0aAorICAgICAgICBmaWxlc3lz
dGVtLndyaXRlX3RleHRfZmlsZShza2lhX292ZXJyaWRlc19wYXRoLCBTS0lBX09WRVJSSURFUykK
IAogICAgICAgICBhZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoID0gcG9ydC5wYXRoX2Zyb21f
Y2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICdhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucy50eHQn
KQpAQCAtMzA0LDI2ICszMDcsMjggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChwb3J0X3Rlc3Rj
YXNlLlBvcgogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdEVU1NWV9CVUlM
REVSX05BTUUnCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBlY3RhdGlvbnMg
PSBbXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292
ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMp
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQ0hST01JVU1fT1ZF
UlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0g
W2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIENIUk9NSVVNX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIENIUk9NSVVNX09WRVJSSURF
UyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQogCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYnVp
bGRlcl9uYW1lID0gJ2J1aWxkZXIgKGRlcHMpJwogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0
aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50
ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
Q0hST01JVU1fT1ZFUlJJREVTKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJS
SURFUyArIENIUk9NSVVNX09WRVJSSURFUykKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlv
bmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoXQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFM
X0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9PVkVSUklERVMg
KyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAorICAgICAg
ICAjIEEgYnVpbGRlciB3aGljaCBkb2VzIE5PVCBvYnNlcnZlIHRoZSBDaHJvbWl1bSB0ZXN0X2V4
cGVjdGF0aW9ucywKKyAgICAgICAgIyBidXQgc3RpbGwgb2JzZXJ2ZXMgdGhlIFNraWEgdGVzdF9l
eHBlY3RhdGlvbnMuLi4KICAgICAgICAgcG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnYnVp
bGRlcicKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFtd
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJp
ZGVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNLSUFfT1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9u
YWxfZXhwZWN0YXRpb25zID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJ
T05TKQogCiAKIGNsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rlc3RpbmcuTG9nZ2lu
Z1Rlc3RDYXNlKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142718</attachid>
            <date>2012-05-18 07:44:33 -0700</date>
            <delta_ts>2012-05-18 11:46:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120518074432.patch</filename>
            <type>text/plain</type>
            <size>7317</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTE3ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhX3Rlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21p
dW1Qb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorCiAy
MDEyLTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggTWluaUJyb3dzZXIgYnkgdXNpbmcg
Y29ycmVjdCBzeW50YXggZm9yIHFyYyBVUkxzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lvbiAxMTc0NjApCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTg5MSw5ICs4OTEsMTAgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBv
dmVycmlkZXMgPSAnJwogICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0
aW9uYWxfZXhwZWN0YXRpb25zJywgW10pOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3Rl
bS5leGlzdHMoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKToKKyAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJyZWFkaW5nIGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIGZyb20gcGF0
aCAnJXMnIiAlIHBhdGgpCiAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVz
eXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIm92ZXJyaWRl
cyBwYXRoICclcycgZG9lcyBub3QgZXhpc3QiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBfbG9n
Lndhcm5pbmcoImFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlz
dCIgJSBwYXRoKQogICAgICAgICByZXR1cm4gb3ZlcnJpZGVzIG9yIE5vbmUKIAogICAgIGRlZiBy
ZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiAxMTc0NjApCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAsMjEgKzMyMCwzNCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9y
dCk6CiAgICAgICAgICd3aW5fbGF5b3V0X3JlbCcsCiAgICAgXSkKIAorICAgIGRlZiBleHBlY3Rh
dGlvbnNfZmlsZV9jb250ZW50cyhzZWxmLCBmaWxldHlwZSwgZmlsZXBhdGgpOgorICAgICAgICBp
ZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhmaWxlcGF0aCk6CisgICAgICAgICAgICBfbG9nLmRl
YnVnKAorICAgICAgICAgICAgICAgICJyZWFkaW5nICVzIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJy
aWRlcyBmcm9tIGZpbGUgJyVzJyIgJQorICAgICAgICAgICAgICAgIChmaWxldHlwZSwgZmlsZXBh
dGgpKQorICAgICAgICAgICAgcmV0dXJuIChzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
KGZpbGVwYXRoKSBvciAnJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIF9sb2cud2Fybmlu
ZygKKyAgICAgICAgICAgICAgICAiJXMgdGVzdF9leHBlY3RhdGlvbnMgb3ZlcnJpZGVzIGZpbGUg
JyVzJyBkb2VzIG5vdCBleGlzdCIgJQorICAgICAgICAgICAgICAgIChmaWxldHlwZSwgZmlsZXBh
dGgpKQorICAgICAgICAgICAgcmV0dXJuICcnCisKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNf
b3ZlcnJpZGVzKHNlbGYpOgorICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgPSAnJworICAgICAg
ICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5leHBlY3RhdGlvbnNfZmlsZV9jb250ZW50cygK
KyAgICAgICAgICAgICdza2lhJywgc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKKyAgICAg
ICAgICAgICAgICAnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpKQogICAgICAg
ICAjIEZJWE1FOiBJdCBzZWVtcyBiYWQgdGhhdCBydW5fd2Via2l0X3Rlc3RzLnB5IHVzZXMgYSBo
YXJkY29kZWQgZHVtbXkKICAgICAgICAgIyBidWlsZGVyIHN0cmluZyBpbnN0ZWFkIG9mIGp1c3Qg
dXNpbmcgTm9uZS4KICAgICAgICAgYnVpbGRlcl9uYW1lID0gc2VsZi5nZXRfb3B0aW9uKCdidWls
ZGVyX25hbWUnLCAnRFVNTVlfQlVJTERFUl9OQU1FJykKLSAgICAgICAgYmFzZV9vdmVycmlkZXMg
PSBzdXBlcihDaHJvbWl1bVBvcnQsIHNlbGYpLnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygp
Ci0gICAgICAgIGlmIGJ1aWxkZXJfbmFtZSAhPSAnRFVNTVlfQlVJTERFUl9OQU1FJyBhbmQgbm90
ICcoZGVwcyknIGluIGJ1aWxkZXJfbmFtZSBhbmQgbm90IGJ1aWxkZXJfbmFtZSBpbiBzZWxmLnRy
eV9idWlsZGVyX25hbWVzOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3ZlcnJpZGVzCisgICAg
ICAgIGlmIGJ1aWxkZXJfbmFtZSA9PSAnRFVNTVlfQlVJTERFUl9OQU1FJyBvciAnKGRlcHMpJyBp
biBidWlsZGVyX25hbWUgb3IgYnVpbGRlcl9uYW1lIGluIHNlbGYudHJ5X2J1aWxkZXJfbmFtZXM6
CisgICAgICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5leHBlY3RhdGlvbnNfZmls
ZV9jb250ZW50cygKKyAgICAgICAgICAgICAgICAnY2hyb21pdW0nLCBzZWxmLnBhdGhfZnJvbV9j
aHJvbWl1bV9iYXNlKAorICAgICAgICAgICAgICAgICAgICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xh
eW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKSkKIAotICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICBvdmVycmlkZXNfcGF0aCA9IHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2Uo
J3dlYmtpdCcsICd0b29scycsICdsYXlvdXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0
JykKLSAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yLCBlOgotICAgICAgICAgICAgcmV0dXJu
IGJhc2Vfb3ZlcnJpZGVzCi0gICAgICAgIGlmIG5vdCBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhv
dmVycmlkZXNfcGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4gYmFzZV9vdmVycmlkZXMKLSAgICAg
ICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUob3ZlcnJpZGVzX3BhdGgp
ICsgKGJhc2Vfb3ZlcnJpZGVzIG9yICcnKQorICAgICAgICBiYXNlX292ZXJyaWRlcyA9IHN1cGVy
KENocm9taXVtUG9ydCwgc2VsZikudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkKKyAgICAg
ICAgY29tYmluZWRfb3ZlcnJpZGVzICs9IChiYXNlX292ZXJyaWRlcyBvciAnJykKKyAgICAgICAg
cmV0dXJuIGNvbWJpbmVkX292ZXJyaWRlcwogCiAgICAgZGVmIHJlcG9zaXRvcnlfcGF0aHMoc2Vs
Zik6CiAgICAgICAgIHJlcG9zID0gc3VwZXIoQ2hyb21pdW1Qb3J0LCBzZWxmKS5yZXBvc2l0b3J5
X3BhdGhzKCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQkocmV2aXNpb24gMTE3NDYw
KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91
bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjkzLDggKzI5MywxMSBAQCBjbGFzcyBDaHJv
bWl1bVBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9yCiAgICAgICAgIGNocm9taXVtX292ZXJyaWRl
c19wYXRoID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICd3ZWJr
aXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCiAg
ICAgICAgIENIUk9NSVVNX09WRVJSSURFUyA9ICdjb250ZW50cyBvZiAlc1xuJyAlIGNocm9taXVt
X292ZXJyaWRlc19wYXRoCi0KICAgICAgICAgZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoY2hy
b21pdW1fb3ZlcnJpZGVzX3BhdGgsIENIUk9NSVVNX09WRVJSSURFUykKKyAgICAgICAgc2tpYV9v
dmVycmlkZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCisgICAgICAgICAg
ICAnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCisgICAgICAgIFNLSUFfT1ZF
UlJJREVTID0gJ2NvbnRlbnRzIG9mICVzXG4nICUgc2tpYV9vdmVycmlkZXNfcGF0aAorICAgICAg
ICBmaWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShza2lhX292ZXJyaWRlc19wYXRoLCBTS0lBX09W
RVJSSURFUykKIAogICAgICAgICBhZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoID0gcG9ydC5w
YXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICdhZGRpdGlvbmFsX2V4cGVjdGF0
aW9ucy50eHQnKQpAQCAtMzA0LDI2ICszMDcsMjggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChw
b3J0X3Rlc3RjYXNlLlBvcgogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdE
VU1NWV9CVUlMREVSX05BTUUnCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBl
Y3RhdGlvbnMgPSBbXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0
YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9P
VkVSUklERVMpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQ0hS
T01JVU1fT1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0
YXRpb25zID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIENIUk9NSVVNX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJ
T05TKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIENIUk9NSVVN
X09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQogCiAgICAgICAgIHBvcnQuX29w
dGlvbnMuYnVpbGRlcl9uYW1lID0gJ2J1aWxkZXIgKGRlcHMpJwogICAgICAgICBwb3J0Ll9vcHRp
b25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMocG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ0hST01JVU1fT1ZFUlJJREVTKQorICAgICAgICAgICAgICAgICAgICAgICAgICBT
S0lBX09WRVJSSURFUyArIENIUk9NSVVNX09WRVJSSURFUykKICAgICAgICAgcG9ydC5fb3B0aW9u
cy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRo
XQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJy
aWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgKyBB
RERJVElPTkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9P
VkVSUklERVMgKyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykK
IAorICAgICAgICAjIEEgYnVpbGRlciB3aGljaCBkb2VzIE5PVCBvYnNlcnZlIHRoZSBDaHJvbWl1
bSB0ZXN0X2V4cGVjdGF0aW9ucywKKyAgICAgICAgIyBidXQgc3RpbGwgb2JzZXJ2ZXMgdGhlIFNr
aWEgdGVzdF9leHBlY3RhdGlvbnMuLi4KICAgICAgICAgcG9ydC5fb3B0aW9ucy5idWlsZGVyX25h
bWUgPSAnYnVpbGRlcicKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0
aW9ucyA9IFtdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlv
bnNfb3ZlcnJpZGVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25z
LmFkZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhd
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJp
ZGVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEFERElUSU9OQUxfRVhQRUNUQVRJT05T
KQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIEFERElUSU9OQUxf
RVhQRUNUQVRJT05TKQogCiAKIGNsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rlc3Rp
bmcuTG9nZ2luZ1Rlc3RDYXNlKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142752</attachid>
            <date>2012-05-18 11:45:43 -0700</date>
            <delta_ts>2012-05-21 08:43:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120518114541.patch</filename>
            <type>text/plain</type>
            <size>7311</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzYwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTE4ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhX3Rlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21p
dW1Qb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorCiAy
MDEyLTA1LTE4ICBIdWdvIFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgog
CiAgICAgICAgIFtRdF1bV0syXSBmYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktaWZyYW1lLW1v
dmUtdGVzdC5odG1sIGZhaWxzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lvbiAxMTc2MDkpCisrKyBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHdvcmtpbmcgY29weSkKQEAg
LTg5MSw5ICs4OTEsMTAgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBvdmVycmlkZXMg
PSAnJwogICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0aW9uYWxfZXhw
ZWN0YXRpb25zJywgW10pOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMo
c2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKToKKyAgICAgICAgICAgICAgICBfbG9n
LmRlYnVnKCJyZWFkaW5nIGFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIGZyb20gcGF0aCAnJXMnIiAl
IHBhdGgpCiAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzICs9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVh
ZF90ZXh0X2ZpbGUoc2VsZi5fZmlsZXN5c3RlbS5leHBhbmR1c2VyKHBhdGgpKQogICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIm92ZXJyaWRlcyBwYXRoICcl
cycgZG9lcyBub3QgZXhpc3QiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmco
ImFkZGl0aW9uYWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIgJSBwYXRo
KQogICAgICAgICByZXR1cm4gb3ZlcnJpZGVzIG9yIE5vbmUKIAogICAgIGRlZiByZXBvc2l0b3J5
X3BhdGhzKHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiAxMTc2MDkpCisrKyBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0zMjAsMjEgKzMyMCwzNCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9ydCk6CiAgICAg
ICAgICd3aW5fbGF5b3V0X3JlbCcsCiAgICAgXSkKIAorICAgIGRlZiBfZXhwZWN0YXRpb25zX2Zp
bGVfY29udGVudHMoc2VsZiwgZmlsZXR5cGUsIGZpbGVwYXRoKToKKyAgICAgICAgaWYgc2VsZi5f
ZmlsZXN5c3RlbS5leGlzdHMoZmlsZXBhdGgpOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygKKyAg
ICAgICAgICAgICAgICAicmVhZGluZyAlcyB0ZXN0X2V4cGVjdGF0aW9ucyBvdmVycmlkZXMgZnJv
bSBmaWxlICclcyciICUKKyAgICAgICAgICAgICAgICAoZmlsZXR5cGUsIGZpbGVwYXRoKSkKKyAg
ICAgICAgICAgIHJldHVybiAoc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShmaWxlcGF0
aCkgb3IgJycpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBfbG9nLndhcm5pbmcoCisgICAg
ICAgICAgICAgICAgIiVzIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlcyBmaWxlICclcycgZG9l
cyBub3QgZXhpc3QiICUKKyAgICAgICAgICAgICAgICAoZmlsZXR5cGUsIGZpbGVwYXRoKSkKKyAg
ICAgICAgICAgIHJldHVybiAnJworCiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRl
cyhzZWxmKToKKyAgICAgICAgY29tYmluZWRfb3ZlcnJpZGVzID0gJycKKyAgICAgICAgY29tYmlu
ZWRfb3ZlcnJpZGVzICs9IHNlbGYuX2V4cGVjdGF0aW9uc19maWxlX2NvbnRlbnRzKAorICAgICAg
ICAgICAgJ3NraWEnLCBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKAorICAgICAgICAgICAg
ICAgICdza2lhJywgJ3NraWFfdGVzdF9leHBlY3RhdGlvbnMudHh0JykpCiAgICAgICAgICMgRklY
TUU6IEl0IHNlZW1zIGJhZCB0aGF0IHJ1bl93ZWJraXRfdGVzdHMucHkgdXNlcyBhIGhhcmRjb2Rl
ZCBkdW1teQogICAgICAgICAjIGJ1aWxkZXIgc3RyaW5nIGluc3RlYWQgb2YganVzdCB1c2luZyBO
b25lLgogICAgICAgICBidWlsZGVyX25hbWUgPSBzZWxmLmdldF9vcHRpb24oJ2J1aWxkZXJfbmFt
ZScsICdEVU1NWV9CVUlMREVSX05BTUUnKQotICAgICAgICBiYXNlX292ZXJyaWRlcyA9IHN1cGVy
KENocm9taXVtUG9ydCwgc2VsZikudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkKLSAgICAg
ICAgaWYgYnVpbGRlcl9uYW1lICE9ICdEVU1NWV9CVUlMREVSX05BTUUnIGFuZCBub3QgJyhkZXBz
KScgaW4gYnVpbGRlcl9uYW1lIGFuZCBub3QgYnVpbGRlcl9uYW1lIGluIHNlbGYudHJ5X2J1aWxk
ZXJfbmFtZXM6Ci0gICAgICAgICAgICByZXR1cm4gYmFzZV9vdmVycmlkZXMKKyAgICAgICAgaWYg
YnVpbGRlcl9uYW1lID09ICdEVU1NWV9CVUlMREVSX05BTUUnIG9yICcoZGVwcyknIGluIGJ1aWxk
ZXJfbmFtZSBvciBidWlsZGVyX25hbWUgaW4gc2VsZi50cnlfYnVpbGRlcl9uYW1lczoKKyAgICAg
ICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyArPSBzZWxmLl9leHBlY3RhdGlvbnNfZmlsZV9jb250
ZW50cygKKyAgICAgICAgICAgICAgICAnY2hyb21pdW0nLCBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1
bV9iYXNlKAorICAgICAgICAgICAgICAgICAgICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90
ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKSkKIAotICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICBvdmVycmlkZXNfcGF0aCA9IHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3dlYmtp
dCcsICd0b29scycsICdsYXlvdXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykKLSAg
ICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yLCBlOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vf
b3ZlcnJpZGVzCi0gICAgICAgIGlmIG5vdCBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhvdmVycmlk
ZXNfcGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4gYmFzZV9vdmVycmlkZXMKLSAgICAgICAgcmV0
dXJuIHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUob3ZlcnJpZGVzX3BhdGgpICsgKGJh
c2Vfb3ZlcnJpZGVzIG9yICcnKQorICAgICAgICBiYXNlX292ZXJyaWRlcyA9IHN1cGVyKENocm9t
aXVtUG9ydCwgc2VsZikudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkKKyAgICAgICAgY29t
YmluZWRfb3ZlcnJpZGVzICs9IChiYXNlX292ZXJyaWRlcyBvciAnJykKKyAgICAgICAgcmV0dXJu
IGNvbWJpbmVkX292ZXJyaWRlcwogCiAgICAgZGVmIHJlcG9zaXRvcnlfcGF0aHMoc2VsZik6CiAg
ICAgICAgIHJlcG9zID0gc3VwZXIoQ2hyb21pdW1Qb3J0LCBzZWxmKS5yZXBvc2l0b3J5X3BhdGhz
KCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQkocmV2aXNpb24gMTE3NjA5KQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVz
dC5weQkod29ya2luZyBjb3B5KQpAQCAtMjkzLDggKzI5MywxMSBAQCBjbGFzcyBDaHJvbWl1bVBv
cnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9yCiAgICAgICAgIGNocm9taXVtX292ZXJyaWRlc19wYXRo
ID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICd3ZWJraXQnLCAn
dG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCiAgICAgICAg
IENIUk9NSVVNX09WRVJSSURFUyA9ICdjb250ZW50cyBvZiAlc1xuJyAlIGNocm9taXVtX292ZXJy
aWRlc19wYXRoCi0KICAgICAgICAgZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoY2hyb21pdW1f
b3ZlcnJpZGVzX3BhdGgsIENIUk9NSVVNX09WRVJSSURFUykKKyAgICAgICAgc2tpYV9vdmVycmlk
ZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCisgICAgICAgICAgICAnc2tp
YScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpCisgICAgICAgIFNLSUFfT1ZFUlJJREVT
ID0gJ2NvbnRlbnRzIG9mICVzXG4nICUgc2tpYV9vdmVycmlkZXNfcGF0aAorICAgICAgICBmaWxl
c3lzdGVtLndyaXRlX3RleHRfZmlsZShza2lhX292ZXJyaWRlc19wYXRoLCBTS0lBX09WRVJSSURF
UykKIAogICAgICAgICBhZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoID0gcG9ydC5wYXRoX2Zy
b21fY2hyb21pdW1fYmFzZSgKICAgICAgICAgICAgICdhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucy50
eHQnKQpAQCAtMzA0LDI2ICszMDcsMjggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChwb3J0X3Rl
c3RjYXNlLlBvcgogICAgICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdEVU1NWV9C
VUlMREVSX05BTUUnCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBlY3RhdGlv
bnMgPSBbXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25z
X292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklE
RVMpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQ0hST01JVU1f
T1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0aW9uYWxfZXhwZWN0YXRpb25z
ID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIENIUk9NSVVNX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIENIUk9NSVVNX09WRVJS
SURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQogCiAgICAgICAgIHBvcnQuX29wdGlvbnMu
YnVpbGRlcl9uYW1lID0gJ2J1aWxkZXIgKGRlcHMpJwogICAgICAgICBwb3J0Ll9vcHRpb25zLmFk
ZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9y
dC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgQ0hST01JVU1fT1ZFUlJJREVTKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09W
RVJSSURFUyArIENIUk9NSVVNX09WRVJSSURFUykKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRp
dGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoXQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElP
TkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9PVkVSUklE
RVMgKyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAorICAg
ICAgICAjIEEgYnVpbGRlciB3aGljaCBkb2VzIE5PVCBvYnNlcnZlIHRoZSBDaHJvbWl1bSB0ZXN0
X2V4cGVjdGF0aW9ucywKKyAgICAgICAgIyBidXQgc3RpbGwgb2JzZXJ2ZXMgdGhlIFNraWEgdGVz
dF9leHBlY3RhdGlvbnMuLi4KICAgICAgICAgcG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAn
YnVpbGRlcicKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9
IFtdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3Zl
cnJpZGVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTKQogICAgICAgICBwb3J0Ll9vcHRpb25zLmFkZGl0
aW9uYWxfZXhwZWN0YXRpb25zID0gW2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zX3BhdGhdCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNU
QVRJT05TKQogCiAKIGNsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rlc3RpbmcuTG9n
Z2luZ1Rlc3RDYXNlKToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143042</attachid>
            <date>2012-05-21 08:43:17 -0700</date>
            <delta_ts>2012-05-21 09:07:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86749-20120521084316.patch</filename>
            <type>text/plain</type>
            <size>7330</size>
            <attacher name="Elliot Poger">epoger</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNzc4MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA1LTIxICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBza2lhX3Rlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlIGZpbGUgdG8g
Y2hyb21pdW0gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODY3NDkKKworICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFByYW5rZQorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAo
UG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgIChDaHJvbWl1bVBv
cnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hy
b21pdW1Qb3J0VGVzdC50ZXN0X292ZXJyaWRlc19hbmRfYnVpbGRlcl9uYW1lcyk6CisKIDIwMTIt
MDUtMjEgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBNb3ZlIHNldEVkaXRpbmdCZWhhdmlvcigpIGZyb20gbGF5
b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscwpJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkocmV2aXNpb24gMTE3
NzgzKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC04OTEsOSArODkxLDEwIEBAIGNsYXNzIFBvcnQob2JqZWN0KToK
ICAgICAgICAgb3ZlcnJpZGVzID0gJycKICAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5nZXRfb3B0
aW9uKCdhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucycsIFtdKToKICAgICAgICAgICAgIGlmIHNlbGYu
X2ZpbGVzeXN0ZW0uZXhpc3RzKHNlbGYuX2ZpbGVzeXN0ZW0uZXhwYW5kdXNlcihwYXRoKSk6Cisg
ICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygicmVhZGluZyBhZGRpdGlvbmFsX2V4cGVjdGF0aW9u
cyBmcm9tIHBhdGggJyVzJyIgJSBwYXRoKQogICAgICAgICAgICAgICAgIG92ZXJyaWRlcyArPSBz
ZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKHNlbGYuX2ZpbGVzeXN0ZW0uZXhwYW5kdXNl
cihwYXRoKSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgX2xvZy53YXJuaW5n
KCJvdmVycmlkZXMgcGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IiAlIHBhdGgpCisgICAgICAgICAg
ICAgICAgX2xvZy53YXJuaW5nKCJhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyBwYXRoICclcycgZG9l
cyBub3QgZXhpc3QiICUgcGF0aCkKICAgICAgICAgcmV0dXJuIG92ZXJyaWRlcyBvciBOb25lCiAK
ICAgICBkZWYgcmVwb3NpdG9yeV9wYXRocyhzZWxmKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQkocmV2aXNpb24g
MTE3NzgzKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bS5weQkod29ya2luZyBjb3B5KQpAQCAtMzIwLDIxICszMjAsMzQgQEAgY2xhc3MgQ2hyb21p
dW1Qb3J0KFBvcnQpOgogICAgICAgICAnd2luX2xheW91dF9yZWwnLAogICAgIF0pCiAKKyAgICBk
ZWYgX2V4cGVjdGF0aW9uc19maWxlX2NvbnRlbnRzKHNlbGYsIGZpbGV0eXBlLCBmaWxlcGF0aCk6
CisgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKGZpbGVwYXRoKToKKyAgICAgICAg
ICAgIF9sb2cuZGVidWcoCisgICAgICAgICAgICAgICAgInJlYWRpbmcgJXMgdGVzdF9leHBlY3Rh
dGlvbnMgb3ZlcnJpZGVzIGZyb20gZmlsZSAnJXMnIiAlCisgICAgICAgICAgICAgICAgKGZpbGV0
eXBlLCBmaWxlcGF0aCkpCisgICAgICAgICAgICByZXR1cm4gKHNlbGYuX2ZpbGVzeXN0ZW0ucmVh
ZF90ZXh0X2ZpbGUoZmlsZXBhdGgpIG9yICcnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
X2xvZy53YXJuaW5nKAorICAgICAgICAgICAgICAgICIlcyB0ZXN0X2V4cGVjdGF0aW9ucyBvdmVy
cmlkZXMgZmlsZSAnJXMnIGRvZXMgbm90IGV4aXN0IiAlCisgICAgICAgICAgICAgICAgKGZpbGV0
eXBlLCBmaWxlcGF0aCkpCisgICAgICAgICAgICByZXR1cm4gJycKKwogICAgIGRlZiB0ZXN0X2V4
cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZik6CisgICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyA9
ICcnCisgICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyArPSBzZWxmLl9leHBlY3RhdGlvbnNfZmls
ZV9jb250ZW50cygKKyAgICAgICAgICAgICdza2lhJywgc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSgKKyAgICAgICAgICAgICAgICAnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4
dCcpKQogICAgICAgICAjIEZJWE1FOiBJdCBzZWVtcyBiYWQgdGhhdCBydW5fd2Via2l0X3Rlc3Rz
LnB5IHVzZXMgYSBoYXJkY29kZWQgZHVtbXkKICAgICAgICAgIyBidWlsZGVyIHN0cmluZyBpbnN0
ZWFkIG9mIGp1c3QgdXNpbmcgTm9uZS4KICAgICAgICAgYnVpbGRlcl9uYW1lID0gc2VsZi5nZXRf
b3B0aW9uKCdidWlsZGVyX25hbWUnLCAnRFVNTVlfQlVJTERFUl9OQU1FJykKLSAgICAgICAgYmFz
ZV9vdmVycmlkZXMgPSBzdXBlcihDaHJvbWl1bVBvcnQsIHNlbGYpLnRlc3RfZXhwZWN0YXRpb25z
X292ZXJyaWRlcygpCi0gICAgICAgIGlmIGJ1aWxkZXJfbmFtZSAhPSAnRFVNTVlfQlVJTERFUl9O
QU1FJyBhbmQgbm90ICcoZGVwcyknIGluIGJ1aWxkZXJfbmFtZSBhbmQgbm90IGJ1aWxkZXJfbmFt
ZSBpbiBzZWxmLnRyeV9idWlsZGVyX25hbWVzOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3Zl
cnJpZGVzCisgICAgICAgIGlmIGJ1aWxkZXJfbmFtZSA9PSAnRFVNTVlfQlVJTERFUl9OQU1FJyBv
ciAnKGRlcHMpJyBpbiBidWlsZGVyX25hbWUgb3IgYnVpbGRlcl9uYW1lIGluIHNlbGYudHJ5X2J1
aWxkZXJfbmFtZXM6CisgICAgICAgICAgICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5fZXhw
ZWN0YXRpb25zX2ZpbGVfY29udGVudHMoCisgICAgICAgICAgICAgICAgJ2Nocm9taXVtJywgc2Vs
Zi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKKyAgICAgICAgICAgICAgICAgICAgJ3dlYmtpdCcs
ICd0b29scycsICdsYXlvdXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykpCiAKLSAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgb3ZlcnJpZGVzX3BhdGggPSBzZWxmLnBhdGhfZnJvbV9j
aHJvbWl1bV9iYXNlKCd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dCcpCi0gICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvciwgZToKLSAgICAg
ICAgICAgIHJldHVybiBiYXNlX292ZXJyaWRlcwotICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZXN5
c3RlbS5leGlzdHMob3ZlcnJpZGVzX3BhdGgpOgotICAgICAgICAgICAgcmV0dXJuIGJhc2Vfb3Zl
cnJpZGVzCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKG92
ZXJyaWRlc19wYXRoKSArIChiYXNlX292ZXJyaWRlcyBvciAnJykKKyAgICAgICAgYmFzZV9vdmVy
cmlkZXMgPSBzdXBlcihDaHJvbWl1bVBvcnQsIHNlbGYpLnRlc3RfZXhwZWN0YXRpb25zX292ZXJy
aWRlcygpCisgICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyArPSAoYmFzZV9vdmVycmlkZXMgb3Ig
JycpCisgICAgICAgIHJldHVybiBjb21iaW5lZF9vdmVycmlkZXMKIAogICAgIGRlZiByZXBvc2l0
b3J5X3BhdGhzKHNlbGYpOgogICAgICAgICByZXBvcyA9IHN1cGVyKENocm9taXVtUG9ydCwgc2Vs
ZikucmVwb3NpdG9yeV9wYXRocygpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkJKHJl
dmlzaW9uIDExNzc4MykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTI5Myw4ICsyOTMsMTEg
QEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcgogICAgICAgICBjaHJv
bWl1bV9vdmVycmlkZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCiAgICAg
ICAgICAgICAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0
aW9ucy50eHQnKQogICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgPSAnY29udGVudHMgb2YgJXNc
bicgJSBjaHJvbWl1bV9vdmVycmlkZXNfcGF0aAotCiAgICAgICAgIGZpbGVzeXN0ZW0ud3JpdGVf
dGV4dF9maWxlKGNocm9taXVtX292ZXJyaWRlc19wYXRoLCBDSFJPTUlVTV9PVkVSUklERVMpCisg
ICAgICAgIHNraWFfb3ZlcnJpZGVzX3BhdGggPSBwb3J0LnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNl
KAorICAgICAgICAgICAgJ3NraWEnLCAnc2tpYV90ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQorICAg
ICAgICBTS0lBX09WRVJSSURFUyA9ICdjb250ZW50cyBvZiAlc1xuJyAlIHNraWFfb3ZlcnJpZGVz
X3BhdGgKKyAgICAgICAgZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoc2tpYV9vdmVycmlkZXNf
cGF0aCwgU0tJQV9PVkVSUklERVMpCiAKICAgICAgICAgYWRkaXRpb25hbF9leHBlY3RhdGlvbnNf
cGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCiAgICAgICAgICAgICAnYWRkaXRp
b25hbF9leHBlY3RhdGlvbnMudHh0JykKQEAgLTMwNCwyNiArMzA3LDI4IEBAIGNsYXNzIENocm9t
aXVtUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3IKICAgICAgICAgcG9ydC5fb3B0aW9ucy5idWls
ZGVyX25hbWUgPSAnRFVNTVlfQlVJTERFUl9OQU1FJwogICAgICAgICBwb3J0Ll9vcHRpb25zLmFk
ZGl0aW9uYWxfZXhwZWN0YXRpb25zID0gW10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9y
dC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgQ0hST01JVU1fT1ZFUlJJREVTKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09W
RVJSSURFUyArIENIUk9NSVVNX09WRVJSSURFUykKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRp
dGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVjdGF0aW9uc19wYXRoXQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElP
TkFMX0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9PVkVSUklE
RVMgKyBDSFJPTUlVTV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAogICAg
ICAgICBwb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdidWlsZGVyIChkZXBzKScKICAgICAg
ICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFtdCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIENIUk9NSVVNX09WRVJSSURFUykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgU0tJQV9PVkVSUklERVMgKyBDSFJPTUlVTV9PVkVSUklERVMpCiAgICAgICAg
IHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9leHBlY3RhdGlvbnMgPSBbYWRkaXRpb25hbF9leHBl
Y3RhdGlvbnNfcGF0aF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVj
dGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hST01JVU1f
T1ZFUlJJREVTICsgQURESVRJT05BTF9FWFBFQ1RBVElPTlMpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQ0hST01JVU1fT1ZFUlJJREVTICsgQURESVRJT05BTF9F
WFBFQ1RBVElPTlMpCiAKKyAgICAgICAgIyBBIGJ1aWxkZXIgd2hpY2ggZG9lcyBOT1Qgb2JzZXJ2
ZSB0aGUgQ2hyb21pdW0gdGVzdF9leHBlY3RhdGlvbnMsCisgICAgICAgICMgYnV0IHN0aWxsIG9i
c2VydmVzIHRoZSBTa2lhIHRlc3RfZXhwZWN0YXRpb25zLi4uCiAgICAgICAgIHBvcnQuX29wdGlv
bnMuYnVpbGRlcl9uYW1lID0gJ2J1aWxkZXInCiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWRkaXRp
b25hbF9leHBlY3RhdGlvbnMgPSBbXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRl
c3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBO
b25lKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTS0lBX09WRVJSSURFUykKICAgICAgICAg
cG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2V4cGVjdGF0aW9ucyA9IFthZGRpdGlvbmFsX2V4cGVj
dGF0aW9uc19wYXRoXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnRlc3RfZXhwZWN0
YXRpb25zX292ZXJyaWRlcygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBBRERJVElPTkFM
X0VYUEVDVEFUSU9OUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0tJQV9PVkVSUklERVMg
KyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAogCiBjbGFzcyBDaHJvbWl1bVBvcnRMb2dnaW5n
VGVzdChsb2d0ZXN0aW5nLkxvZ2dpbmdUZXN0Q2FzZSk6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>