<?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>140914</bug_id>
          
          <creation_ts>2015-01-26 18:25:09 -0800</creation_ts>
          <short_desc>[Win] Unable to reliably run tests in parallel</short_desc>
          <delta_ts>2016-08-11 10:44:05 -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>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>160597</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>aroben</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1064329</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-26 18:25:09 -0800</bug_when>
    <thetext>Whenever I increase the number of shards on our Windows tests bots above one I encounter variation in test failures and results. There seems to be some kind of cross-talk between tests that prevent us from running more jobs in parallel.

We need to fix this to improve our test throughput.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064330</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-26 18:25:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/19609178&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071190</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2015-02-23 06:40:04 -0800</bug_when>
    <thetext>Could the different test executables be stomping on each other&apos;s preferences? A number of tests change particular preferences while they run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071519</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-23 20:42:18 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Could the different test executables be stomping on each other&apos;s
&gt; preferences? A number of tests change particular preferences while they run.

Definitely. However, I tried to account for this in &quot;libraryPathForDumpRenderTree()&quot;, which is based on the Mac implementation. It looks for DUMPRENDERTREE_TEMP in the environment, and uses that as the basis for its local preference storage. This is supposed to be unique per running test instance.

I guess the first thing to check is that this is unique for each running test shard. If they are not, that might explain the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071544</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-23 22:20:25 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Could the different test executables be stomping on each other&apos;s
&gt; &gt; preferences? A number of tests change particular preferences while they run.
&gt; 
&gt; Definitely. However, I tried to account for this in
&gt; &quot;libraryPathForDumpRenderTree()&quot;, which is based on the Mac implementation.
&gt; It looks for DUMPRENDERTREE_TEMP in the environment, and uses that as the
&gt; basis for its local preference storage. This is supposed to be unique per
&gt; running test instance.
&gt; 
&gt; I guess the first thing to check is that this is unique for each running
&gt; test shard. If they are not, that might explain the problem.

So I added a printf to the libraryPathForDumpRenderTree, and confirmed that each shard is getting its own temporary directory, which it uses to seed the following preferences:

    CFPreferencesSetAppValue(WebDatabaseDirectoryDefaultsKey, WebCore::pathByAppendingComponent(libraryPath, &quot;Databases&quot;).createCFString().get(), kCFPreferencesCurrentApplication);
    CFPreferencesSetAppValue(WebStorageDirectoryDefaultsKey, WebCore::pathByAppendingComponent(libraryPath, &quot;LocalStorage&quot;).createCFString().get(), kCFPreferencesCurrentApplication);
    CFPreferencesSetAppValue(WebKitLocalCacheDefaultsKey, WebCore::pathByAppendingComponent(libraryPath, &quot;LocalCache&quot;).createCFString().get(), kCFPreferencesCurrentApplication);

The question, is whether CFPreferencesSetAppValue is sticking these values in the exact same place, causing all the different shards to see the same values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071646</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2015-02-24 06:53:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; The question, is whether CFPreferencesSetAppValue is sticking these values
&gt; in the exact same place, causing all the different shards to see the same
&gt; values.

I&apos;m pretty sure it does.

You&apos;ll probably also need to audit uses of localUserSpecificStorageDirectory() and roamingUserSpecificStorageDirectory().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071933</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-24 20:22:06 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; The question, is whether CFPreferencesSetAppValue is sticking these values
&gt; &gt; in the exact same place, causing all the different shards to see the same
&gt; &gt; values.
&gt; 
&gt; I&apos;m pretty sure it does.
&gt; 
&gt; You&apos;ll probably also need to audit uses of
&gt; localUserSpecificStorageDirectory() and
&gt; roamingUserSpecificStorageDirectory().

After talking with a few people, I think it may NOT be possible to do this on Windows with CoreFoundation. The CFPreference store is going to end up being shared between the different processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072049</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2015-02-25 06:18:43 -0800</bug_when>
    <thetext>Maybe you could give each process a unique CFBundle name? That should give them separate preferences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217392</commentid>
    <comment_count>8</comment_count>
      <attachid>285319</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-04 07:29:35 -0700</bug_when>
    <thetext>Created attachment 285319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217409</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-04 08:30:17 -0700</bug_when>
    <thetext>There might be additional issues we need to fix, but this patch fixes the failures I see when running the dom tests in parallel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217426</commentid>
    <comment_count>10</comment_count>
      <attachid>285319</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-04 09:38:40 -0700</bug_when>
    <thetext>Comment on attachment 285319
Patch

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

Fantastic! r=me

&gt; Tools/Scripts/webkitpy/common/system/path.py:58
&gt; +        path = re.sub(&apos;/cygdrive/c&apos;, &apos;c:&apos;, path)

I think this would be better if we could capture the drive letter and pass it to the substitution so that &quot;/cygdrive/d&apos; -&gt; &apos;d:&apos;.

This would be fine to do as a follow-up to this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217441</commentid>
    <comment_count>11</comment_count>
      <attachid>285319</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-04 10:04:03 -0700</bug_when>
    <thetext>Comment on attachment 285319
Patch

Clearing flags on attachment: 285319

Committed r204123: &lt;http://trac.webkit.org/changeset/204123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217442</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-04 10:04:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217865</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 06:41:37 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 160597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217878</commentid>
    <comment_count>14</comment_count>
      <attachid>285424</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-05 09:03:55 -0700</bug_when>
    <thetext>Created attachment 285424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217880</commentid>
    <comment_count>15</comment_count>
      <attachid>285424</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 09:09:32 -0700</bug_when>
    <thetext>Comment on attachment 285424
Patch

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

Thanks for improving the change! I&apos;m not sure what the cause of the timeout was that you fixed this time around, but these changes look good on their own merits. If the tests pass please land it.

&gt; Tools/Scripts/webkitpy/common/system/path.py:67
&gt; +                fileSystemRoot = _CygPath.convert_using_singleton(match.group(1))

Is it possible that someone might run tools from one root (e.g., &apos;C:&apos;), and also run separate tools from another root (e.g., &apos;D:&apos;) during the same tool run? I guess that&apos;s pretty unlikely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218485</commentid>
    <comment_count>16</comment_count>
      <attachid>285564</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-08 07:05:46 -0700</bug_when>
    <thetext>Created attachment 285564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218486</commentid>
    <comment_count>17</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-08 07:21:16 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Comment on attachment 285424 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=285424&amp;action=review
&gt; 
&gt; Thanks for improving the change! I&apos;m not sure what the cause of the timeout
&gt; was that you fixed this time around, but these changes look good on their
&gt; own merits. If the tests pass please land it.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/system/path.py:67
&gt; &gt; +                fileSystemRoot = _CygPath.convert_using_singleton(match.group(1))
&gt; 
&gt; Is it possible that someone might run tools from one root (e.g., &apos;C:&apos;), and
&gt; also run separate tools from another root (e.g., &apos;D:&apos;) during the same tool
&gt; run? I guess that&apos;s pretty unlikely.

Thanks for reviewing :) I updated the patch to handle this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219303</commentid>
    <comment_count>18</comment_count>
      <attachid>285826</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2016-08-11 04:37:44 -0700</bug_when>
    <thetext>Created attachment 285826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219325</commentid>
    <comment_count>19</comment_count>
      <attachid>285826</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-11 09:54:29 -0700</bug_when>
    <thetext>Comment on attachment 285826
Patch

Excellent! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219338</commentid>
    <comment_count>20</comment_count>
      <attachid>285826</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-11 10:44:00 -0700</bug_when>
    <thetext>Comment on attachment 285826
Patch

Clearing flags on attachment: 285826

Committed r204376: &lt;http://trac.webkit.org/changeset/204376&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219339</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-11 10:44:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285319</attachid>
            <date>2016-08-04 07:29:35 -0700</date>
            <delta_ts>2016-08-05 08:54:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140914-20160804072811.patch</filename>
            <type>text/plain</type>
            <size>2327</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDExOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE2LTA4LTA0ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2luXSBVbmFibGUgdG8gcmVsaWFibHkgcnVuIHRlc3RzIGluIHBhcmFs
bGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA5
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Y3lncGF0aCB1dGlsaXR5IGZ1bmN0aW9uIGNhbiBmYWlsIGJhZGx5IHdoZW4gcnVubmluZyB3aXRo
IG11bHRpcGxlIER1bXBSZW5kZXJUcmVlCisgICAgICAgIHByb2Nlc3Nlcy4gV2UgY2FuIHVzZSBz
dHJpbmcgcmVwbGFjZW1lbnQgdG8gY29udmVydCB0aGUgQ3lnd2luIHBhdGggdG8gYSBXaW5kb3dz
IHBhdGgKKyAgICAgICAgaW5zdGVhZC4KKyAKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9zeXN0ZW0vcGF0aC5weToKKyAgICAgICAgKGN5Z3BhdGhGYXN0KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5OgorICAgICAgICAoRHJpdmVyLl9jb21tYW5k
X2Zyb21fZHJpdmVyX2lucHV0KToKKwogMjAxNi0wOC0wMyAgQWFrYXNoIEphaW4gIDxhYWthc2hf
amFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9jdW1lbnQgaW5zdHJ1Y3Rpb25zIGZvciBpbmNy
ZWFzaW5nIHByb2Nlc3MgYW5kIGZpbGUgbGltaXRzCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQkocmV2aXNpb24gMjA0MDIzKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BhdGgucHkJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDYgKzMwLDcgQEAKIAogaW1wb3J0IGF0ZXhpdAogaW1wb3J0IG9zCitpbXBvcnQgcmUKIGlt
cG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgbG9nZ2luZwpAQCAtNTEsNiArNTIs
MTMgQEAgZGVmIGN5Z3BhdGgocGF0aCk6CiAgICAgcmV0dXJuIHBhdGgKIAogCitkZWYgY3lncGF0
aEZhc3QocGF0aCk6CisgICAgIiIiQ29udmVydHMgYW4gYWJzb2x1dGUgY3lnd2luIHBhdGggdG8g
YW4gYWJzb2x1dGUgV2luZG93cyBwYXRoIHdpdGggc3RyaW5nIHJlcGxhY2VtZW50LiIiIgorICAg
IGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKKyAgICAgICAgcGF0aCA9IHJlLnN1YignL2N5
Z2RyaXZlL2MnLCAnYzonLCBwYXRoKQorICAgICAgICBwYXRoID0gcmUuc3ViKCcvJywgcidcXCcs
IHBhdGgpCisgICAgcmV0dXJuIHBhdGgKKwogIyBOb3RlIHRoYXQgdGhpcyBvYmplY3QgaXMgbm90
IHRocmVhZHNhZmUgYW5kIG11c3Qgb25seSBiZSBjYWxsZWQKICMgZnJvbSBtdWx0aXBsZSB0aHJl
YWRzIHVuZGVyIHByb3RlY3Rpb24gb2YgYSBsb2NrIChhcyBpcyBkb25lIGluIGN5Z3BhdGgoKSkK
IGNsYXNzIF9DeWdQYXRoKG9iamVjdCk6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZHJpdmVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9k
cml2ZXIucHkJKHJldmlzaW9uIDIwNDAyMykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9kcml2ZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ1Niw3ICs0NTYsNyBAQCBjbGFzcyBEcml2
ZXIob2JqZWN0KToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGNvbW1hbmQgPSBzZWxmLl9w
b3J0LmFic3BhdGhfZm9yX3Rlc3QoZHJpdmVyX2lucHV0LnRlc3RfbmFtZSkKICAgICAgICAgICAg
IGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKLSAgICAgICAgICAgICAgICBjb21tYW5kID0g
cGF0aC5jeWdwYXRoKGNvbW1hbmQpCisgICAgICAgICAgICAgICAgY29tbWFuZCA9IHBhdGguY3ln
cGF0aEZhc3QoY29tbWFuZCkKIAogICAgICAgICBhc3NlcnQgbm90IGRyaXZlcl9pbnB1dC5pbWFn
ZV9oYXNoIG9yIGRyaXZlcl9pbnB1dC5zaG91bGRfcnVuX3BpeGVsX3Rlc3QKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285424</attachid>
            <date>2016-08-05 09:03:55 -0700</date>
            <delta_ts>2016-08-08 07:05:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140914-20160805090230.patch</filename>
            <type>text/plain</type>
            <size>2725</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDE2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE2LTA4LTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2luXSBVbmFibGUgdG8gcmVsaWFibHkgcnVuIHRlc3RzIGluIHBhcmFs
bGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA5
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Y3lncGF0aCB1dGlsaXR5IGZ1bmN0aW9uIGNhbiBmYWlsIGJhZGx5IHdoZW4gcnVubmluZyB3aXRo
IG11bHRpcGxlIER1bXBSZW5kZXJUcmVlCisgICAgICAgIHByb2Nlc3Nlcy4gV2UgY2FuIHVzZSBz
dHJpbmcgcmVwbGFjZW1lbnQgdG8gY29udmVydCB0aGUgQ3lnd2luIHBhdGggdG8gYSBXaW5kb3dz
IHBhdGgKKyAgICAgICAgaW5zdGVhZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9wYXRoLnB5OgorICAgICAgICAoY3lncGF0aEZhc3QpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHk6CisgICAgICAgIChEcml2ZXIuX2NvbW1hbmRf
ZnJvbV9kcml2ZXJfaW5wdXQpOgorCiAyMDE2LTA4LTA1ICBLb25zdGFudGluIFRva2FyZXYgIDxh
bm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBQcmludCB0ZXN0IG5hbWUgaW4gIkxhc3QgY2hh
cmFjdGVyIHJlYWQgZnJvbSBEUlQuLi4iIGVycm9yIG1lc3NhZ2UuCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQkocmV2aXNpb24gMjA0MTY3KQor
KysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BhdGgucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogaW1wb3J0IGF0ZXhpdAogaW1wb3J0IG9zCitpbXBv
cnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgbG9nZ2luZwpAQCAt
NTEsNiArNTIsMjcgQEAgZGVmIGN5Z3BhdGgocGF0aCk6CiAgICAgcmV0dXJuIHBhdGgKIAogCitm
aWxlU3lzdGVtUm9vdCA9ICcnCisKKworZGVmIGN5Z3BhdGhGYXN0KHBhdGgpOgorICAgICIiIkNv
bnZlcnRzIGFuIGFic29sdXRlIGN5Z3dpbiBwYXRoIHRvIGFuIGFic29sdXRlIFdpbmRvd3MgcGF0
aCB3aXRoIHN0cmluZyByZXBsYWNlbWVudC4iIiIKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2N5
Z3dpbic6CisgICAgICAgIGdsb2JhbCBmaWxlU3lzdGVtUm9vdAorICAgICAgICBtYXRjaCA9IHJl
Lm1hdGNoKCcoXi9jeWdkcml2ZS8uLykoLispJywgcGF0aCkKKyAgICAgICAgaWYgbm90IG1hdGNo
OgorICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgnKF4vKSguKyknLCBwYXRoKQorICAgICAg
ICBpZiBtYXRjaDoKKyAgICAgICAgICAgIGlmIGZpbGVTeXN0ZW1Sb290ID09ICcnOgorICAgICAg
ICAgICAgICAgIGZpbGVTeXN0ZW1Sb290ID0gX0N5Z1BhdGguY29udmVydF91c2luZ19zaW5nbGV0
b24obWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBwYXRoID0gZmlsZVN5c3RlbVJvb3QgKyBt
YXRjaC5ncm91cCgyKQorICAgICAgICAgICAgcGF0aCA9IHJlLnN1YignLycsIHInXFwnLCBwYXRo
KQorICAgICAgICAgICAgcmV0dXJuIHBhdGgKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJh
aXNlCisKKyAgICByZXR1cm4gcGF0aAorCiAjIE5vdGUgdGhhdCB0aGlzIG9iamVjdCBpcyBub3Qg
dGhyZWFkc2FmZSBhbmQgbXVzdCBvbmx5IGJlIGNhbGxlZAogIyBmcm9tIG11bHRpcGxlIHRocmVh
ZHMgdW5kZXIgcHJvdGVjdGlvbiBvZiBhIGxvY2sgKGFzIGlzIGRvbmUgaW4gY3lncGF0aCgpKQog
Y2xhc3MgX0N5Z1BhdGgob2JqZWN0KToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9kcml2ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Ry
aXZlci5weQkocmV2aXNpb24gMjA0MTY3KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2RyaXZlci5weQkod29ya2luZyBjb3B5KQpAQCAtNDU2LDcgKzQ1Niw3IEBAIGNsYXNzIERyaXZl
cihvYmplY3QpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgY29tbWFuZCA9IHNlbGYuX3Bv
cnQuYWJzcGF0aF9mb3JfdGVzdChkcml2ZXJfaW5wdXQudGVzdF9uYW1lKQogICAgICAgICAgICAg
aWYgc3lzLnBsYXRmb3JtID09ICdjeWd3aW4nOgotICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBw
YXRoLmN5Z3BhdGgoY29tbWFuZCkKKyAgICAgICAgICAgICAgICBjb21tYW5kID0gcGF0aC5jeWdw
YXRoRmFzdChjb21tYW5kKQogCiAgICAgICAgIGFzc2VydCBub3QgZHJpdmVyX2lucHV0LmltYWdl
X2hhc2ggb3IgZHJpdmVyX2lucHV0LnNob3VsZF9ydW5fcGl4ZWxfdGVzdAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285564</attachid>
            <date>2016-08-08 07:05:46 -0700</date>
            <delta_ts>2016-08-11 04:37:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140914-20160808070417.patch</filename>
            <type>text/plain</type>
            <size>3537</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDE2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE2LTA4LTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2luXSBVbmFibGUgdG8gcmVsaWFibHkgcnVuIHRlc3RzIGluIHBhcmFs
bGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA5
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Y3lncGF0aCB1dGlsaXR5IGZ1bmN0aW9uIGNhbiBmYWlsIGJhZGx5IHdoZW4gcnVubmluZyB3aXRo
IG11bHRpcGxlIER1bXBSZW5kZXJUcmVlCisgICAgICAgIHByb2Nlc3Nlcy4gV2UgY2FuIHVzZSBz
dHJpbmcgcmVwbGFjZW1lbnQgdG8gY29udmVydCB0aGUgQ3lnd2luIHBhdGggdG8gYSBXaW5kb3dz
IHBhdGgKKyAgICAgICAgaW5zdGVhZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9wYXRoLnB5OgorICAgICAgICAoY3lncGF0aEZhc3QpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHk6CisgICAgICAgIChEcml2ZXIuX2NvbW1hbmRf
ZnJvbV9kcml2ZXJfaW5wdXQpOgorCiAyMDE2LTA4LTA1ICBLb25zdGFudGluIFRva2FyZXYgIDxh
bm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBQcmludCB0ZXN0IG5hbWUgaW4gIkxhc3QgY2hh
cmFjdGVyIHJlYWQgZnJvbSBEUlQuLi4iIGVycm9yIG1lc3NhZ2UuCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQkocmV2aXNpb24gMjA0MTY3KQor
KysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BhdGgucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogaW1wb3J0IGF0ZXhpdAogaW1wb3J0IG9zCitpbXBv
cnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgbG9nZ2luZwpAQCAt
NTEsNiArNTIsMTMgQEAgZGVmIGN5Z3BhdGgocGF0aCk6CiAgICAgcmV0dXJuIHBhdGgKIAogCitk
ZWYgY3lncGF0aEZhc3QocGF0aCk6CisgICAgIiIiQ29udmVydHMgYW4gYWJzb2x1dGUgY3lnd2lu
IHBhdGggdG8gYW4gYWJzb2x1dGUgV2luZG93cyBwYXRoIHdpdGggc3RyaW5nIHJlcGxhY2VtZW50
LiIiIgorICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKKyAgICAgICAgcmV0dXJuIF9D
eWdQYXRoRmFzdCgpLmNvbnZlcnQocGF0aCkKKyAgICByZXR1cm4gcGF0aAorCisKICMgTm90ZSB0
aGF0IHRoaXMgb2JqZWN0IGlzIG5vdCB0aHJlYWRzYWZlIGFuZCBtdXN0IG9ubHkgYmUgY2FsbGVk
CiAjIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB1bmRlciBwcm90ZWN0aW9uIG9mIGEgbG9jayAoYXMg
aXMgZG9uZSBpbiBjeWdwYXRoKCkpCiBjbGFzcyBfQ3lnUGF0aChvYmplY3QpOgpAQCAtMTE5LDYg
KzEyNywzMCBAQCBjbGFzcyBfQ3lnUGF0aChvYmplY3QpOgogICAgICAgICByZXR1cm4gd2luZG93
c19wYXRoCiAKIAorY2xhc3MgX0N5Z1BhdGhGYXN0KG9iamVjdCk6CisgICAgIiIiQ29udmVydHMg
ZnJvbSBDeWd3aW4gcGF0aHMgdG8gV2luZG93cyBwYXRocyB1c2luZyBzdHJpbmcgcmVwbGFjZW1l
bnQuIiIiCisgICAgX2xvY2sgPSB0aHJlYWRpbmcuTG9jaygpCisgICAgX2ZpbGVTeXN0ZW1Sb290
ID0gJycKKyAgICBfbGFzdE1hdGNoZWRSb290ID0gJycKKworICAgIGRlZiBjb252ZXJ0KHNlbGYs
IHBhdGgpOgorICAgICAgICBfQ3lnUGF0aEZhc3QuX2xvY2suYWNxdWlyZSgpCisgICAgICAgIG1h
dGNoID0gcmUubWF0Y2goJyheL2N5Z2RyaXZlLy4vKSguKyknLCBwYXRoKQorICAgICAgICBpZiBu
b3QgbWF0Y2g6CisgICAgICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCcoXi8pKC4rKScsIHBhdGgp
CisgICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgaWYgX0N5Z1BhdGhGYXN0Ll9maWxlU3lz
dGVtUm9vdCA9PSAnJyBvciBfQ3lnUGF0aEZhc3QuX2xhc3RNYXRjaGVkUm9vdCAhPSBtYXRjaC5n
cm91cCgxKToKKyAgICAgICAgICAgICAgICBfQ3lnUGF0aEZhc3QuX2ZpbGVTeXN0ZW1Sb290ID0g
X0N5Z1BhdGguY29udmVydF91c2luZ19zaW5nbGV0b24obWF0Y2guZ3JvdXAoMSkpCisgICAgICAg
ICAgICAgICAgX0N5Z1BhdGhGYXN0Ll9sYXN0TWF0Y2hlZFJvb3QgPSBtYXRjaC5ncm91cCgxKQor
ICAgICAgICAgICAgaWYgbm90IF9DeWdQYXRoRmFzdC5fZmlsZVN5c3RlbVJvb3QuZW5kc3dpdGgo
J1xcJyk6CisgICAgICAgICAgICAgICAgX0N5Z1BhdGhGYXN0Ll9maWxlU3lzdGVtUm9vdCArPSAn
XFwnCisgICAgICAgICAgICBwYXRoID0gX0N5Z1BhdGhGYXN0Ll9maWxlU3lzdGVtUm9vdCArIG1h
dGNoLmdyb3VwKDIpCisgICAgICAgICAgICBwYXRoID0gcmUuc3ViKCcvJywgcidcXCcsIHBhdGgp
CisgICAgICAgICAgICBfQ3lnUGF0aEZhc3QuX2xvY2sucmVsZWFzZSgpCisgICAgICAgICAgICBy
ZXR1cm4gcGF0aAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UKKwogZGVmIF9lc2Nh
cGUocGF0aCk6CiAgICAgIiIiSGFuZGxlIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIHRoYXQg
c2hvdWxkIGJlIGVzY2FwZWQuIiIiCiAgICAgIyBGSVhNRTogd2ViIGJyb3dzZXJzIGRvbid0IGFw
cGVhciB0byBibGluZGx5IHF1b3RlIGV2ZXJ5IGNoYXJhY3RlcgpJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2RyaXZlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZHJpdmVyLnB5CShyZXZpc2lvbiAyMDQxNjcpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00NTYsNyArNDU2LDcg
QEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBjb21t
YW5kID0gc2VsZi5fcG9ydC5hYnNwYXRoX2Zvcl90ZXN0KGRyaXZlcl9pbnB1dC50ZXN0X25hbWUp
CiAgICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbic6Ci0gICAgICAgICAgICAg
ICAgY29tbWFuZCA9IHBhdGguY3lncGF0aChjb21tYW5kKQorICAgICAgICAgICAgICAgIGNvbW1h
bmQgPSBwYXRoLmN5Z3BhdGhGYXN0KGNvbW1hbmQpCiAKICAgICAgICAgYXNzZXJ0IG5vdCBkcml2
ZXJfaW5wdXQuaW1hZ2VfaGFzaCBvciBkcml2ZXJfaW5wdXQuc2hvdWxkX3J1bl9waXhlbF90ZXN0
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285826</attachid>
            <date>2016-08-11 04:37:44 -0700</date>
            <delta_ts>2016-08-11 10:44:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140914-20160811043606.patch</filename>
            <type>text/plain</type>
            <size>2676</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDE2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE2LTA4LTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2luXSBVbmFibGUgdG8gcmVsaWFibHkgcnVuIHRlc3RzIGluIHBhcmFs
bGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA5
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Y3lncGF0aCB1dGlsaXR5IGZ1bmN0aW9uIGNhbiBmYWlsIGJhZGx5IHdoZW4gcnVubmluZyB3aXRo
IG11bHRpcGxlIER1bXBSZW5kZXJUcmVlCisgICAgICAgIHByb2Nlc3Nlcy4gV2UgY2FuIHVzZSBz
dHJpbmcgcmVwbGFjZW1lbnQgdG8gY29udmVydCB0aGUgQ3lnd2luIHBhdGggdG8gYSBXaW5kb3dz
IHBhdGgKKyAgICAgICAgaW5zdGVhZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9wYXRoLnB5OgorICAgICAgICAoY3lncGF0aEZhc3QpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHk6CisgICAgICAgIChEcml2ZXIuX2NvbW1hbmRf
ZnJvbV9kcml2ZXJfaW5wdXQpOgorCiAyMDE2LTA4LTA1ICBLb25zdGFudGluIFRva2FyZXYgIDxh
bm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBQcmludCB0ZXN0IG5hbWUgaW4gIkxhc3QgY2hh
cmFjdGVyIHJlYWQgZnJvbSBEUlQuLi4iIGVycm9yIG1lc3NhZ2UuCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGF0aC5weQkocmV2aXNpb24gMjA0MTY3KQor
KysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BhdGgucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogaW1wb3J0IGF0ZXhpdAogaW1wb3J0IG9zCitpbXBv
cnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgbG9nZ2luZwpAQCAt
NzgsMTAgKzc5LDExIEBAIGNsYXNzIF9DeWdQYXRoKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
IyBNYWtlIHN1cmUgdGhlIGN5Z3BhdGggc3VicHJvY2VzcyBhbHdheXMgZ2V0cyBzaHV0ZG93biBj
bGVhbmx5LgogICAgICAgICAgICAgICAgIGF0ZXhpdC5yZWdpc3RlcihfQ3lnUGF0aC5zdG9wX2N5
Z3BhdGhfc3VicHJvY2VzcykKIAotICAgICAgICAgICAgcmV0dXJuIF9DeWdQYXRoLl9zaW5nbGV0
b24uY29udmVydChwYXRoKQorICAgICAgICAgICAgcmV0dXJuIF9DeWdQYXRoLl9zaW5nbGV0b24u
Y29udmVydEZhc3QocGF0aCkKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2Vs
Zi5fY2hpbGRfcHJvY2VzcyA9IE5vbmUKKyAgICAgICAgc2VsZi5fcm9vdERpY3QgPSB7fQogCiAg
ICAgZGVmIHN0YXJ0KHNlbGYpOgogICAgICAgICBhc3NlcnQoc2VsZi5fY2hpbGRfcHJvY2VzcyBp
cyBOb25lKQpAQCAtMTE4LDYgKzEyMCwyNCBAQCBjbGFzcyBfQ3lnUGF0aChvYmplY3QpOgogICAg
ICAgICB3aW5kb3dzX3BhdGggPSAnJXMlcycgJSAod2luZG93c19wYXRoWzBdLnVwcGVyKCksIHdp
bmRvd3NfcGF0aFsxOl0pCiAgICAgICAgIHJldHVybiB3aW5kb3dzX3BhdGgKIAorICAgIGRlZiBj
b252ZXJ0RmFzdChzZWxmLCBwYXRoKToKKyAgICAgICAgIyBVc2UgYSBkaWN0aW9uYXJ5IHRvIHN0
b3JlIHByZXZpb3VzbHkgY29udmVydGVkIGZpbGUgc3lzdGVtIHJvb3RzLgorICAgICAgICBtYXRj
aCA9IHJlLm1hdGNoKCcoXi9jeWdkcml2ZS8uLykoLispJywgcGF0aCkKKyAgICAgICAgaWYgbm90
IG1hdGNoOgorICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgnKF4vKSguKyknLCBwYXRoKQor
ICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByb290
ID0gc2VsZi5fcm9vdERpY3RbbWF0Y2guZ3JvdXAoMSldCisgICAgICAgICAgICBleGNlcHQ6Cisg
ICAgICAgICAgICAgICAgc2VsZi5fcm9vdERpY3RbbWF0Y2guZ3JvdXAoMSldID0gc2VsZi5jb252
ZXJ0KG1hdGNoLmdyb3VwKDEpKQorICAgICAgICAgICAgICAgIHJvb3QgPSBzZWxmLl9yb290RGlj
dFttYXRjaC5ncm91cCgxKV0KKyAgICAgICAgICAgIGlmIG5vdCByb290LmVuZHN3aXRoKCdcXCcp
OgorICAgICAgICAgICAgICAgIHJvb3QgKz0gJ1xcJworICAgICAgICAgICAgcGF0aCA9IHJvb3Qg
KyBtYXRjaC5ncm91cCgyKQorICAgICAgICAgICAgcGF0aCA9IHJlLnN1YignLycsIHInXFwnLCBw
YXRoKQorICAgICAgICAgICAgcmV0dXJuIHBhdGgKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAg
IHNlbGYuY29udmVydChwYXRoKQogCiBkZWYgX2VzY2FwZShwYXRoKToKICAgICAiIiJIYW5kbGUg
YW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggdGhhdCBzaG91bGQgYmUgZXNjYXBlZC4iIiIK
</data>

          </attachment>
      

    </bug>

</bugzilla>