<?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>55927</bug_id>
          
          <creation_ts>2011-03-08 00:33:29 -0800</creation_ts>
          <short_desc>Emulate shebang on Win32</short_desc>
          <delta_ts>2011-04-02 04:19:31 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>55925</dependson>
          <blocked>55811</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>363870</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-08 00:33:29 -0800</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363873</commentid>
    <comment_count>1</comment_count>
      <attachid>85031</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-08 00:41:27 -0800</bug_when>
    <thetext>Created attachment 85031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363877</commentid>
    <comment_count>2</comment_count>
      <attachid>85032</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-08 00:47:53 -0800</bug_when>
    <thetext>Created attachment 85032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363888</commentid>
    <comment_count>3</comment_count>
      <attachid>85032</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-08 01:06:51 -0800</bug_when>
    <thetext>Comment on attachment 85032
Patch

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

&gt; Tools/Scripts/webkitpy/common/config/ports.py:56
&gt; +                if first_line.find(&quot;python&quot;) &gt; -1:
&gt; +                    return [sys.executable, script_file]
&gt; +                if first_line.find(&quot;perl&quot;) &gt; -1:
&gt; +                    return [&quot;perl&quot;, script_file]

Should we generate some kind of error if we can&apos;t figure out the right interpreter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363891</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-08 01:12:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 85032 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85032&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/config/ports.py:56
&gt; &gt; +                if first_line.find(&quot;python&quot;) &gt; -1:
&gt; &gt; +                    return [sys.executable, script_file]
&gt; &gt; +                if first_line.find(&quot;perl&quot;) &gt; -1:
&gt; &gt; +                    return [&quot;perl&quot;, script_file]
&gt; 
&gt; Should we generate some kind of error if we can&apos;t figure out the right interpreter?

Might be an option. At the moment we can pass a file with a file extention and no shebang to this function and windows can detect the correct interpreter via file extension. So it&apos;s not wrong all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363975</commentid>
    <comment_count>5</comment_count>
      <attachid>85032</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-08 08:38:55 -0800</bug_when>
    <thetext>Comment on attachment 85032
Patch

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

&gt; Tools/Scripts/webkitpy/common/config/ports.py:55
&gt; +            first_line = open(script_file, &quot;r&quot;).readline()
&gt; +            if first_line.startswith(&quot;#!&quot;):
&gt; +                if first_line.find(&quot;python&quot;) &gt; -1:
&gt; +                    return [sys.executable, script_file]
&gt; +                if first_line.find(&quot;perl&quot;) &gt; -1:

I would have split this off into a separate function (which would then be unit-testable).  Something like interpreter_for_script, or something.

In general this looks fine. I&apos;m not sure how much this slows down execution.

I&apos;m ready to r+ this with a unit test.  (See filesystem.py and filesystem_mock.py for how we do open and test open)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364710</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-09 12:47:13 -0800</bug_when>
    <thetext>Searching the first line using find() seems perhaps a bit dangerous to me. I&apos;d be happier if we did some exact string matches instead. That way things like shebangs that reference python2.5 instead of python will fail in a more reliable manner.

Dunno how many different shebangs we have though, but it wouldn&apos;t be a bad thing to standardize on a couple ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364711</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-09 12:47:51 -0800</bug_when>
    <thetext>Also, at some point you might want to handle ruby as well (thank you, pretty patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376614</commentid>
    <comment_count>8</comment_count>
      <attachid>87602</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-30 13:12:24 -0700</bug_when>
    <thetext>Created attachment 87602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376663</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-30 14:14:38 -0700</bug_when>
    <thetext>command_for_file() and and read_text_file_line() are too specialized to belong in the filesystem class. I would just use read_text_file().splitlines()[0] and a local function in config/ports.py. In the unlikely case that this turns out to be a performance problem, we can add something like open_binary_file_for_reading() that returns an Iterable that would be more generically useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376699</commentid>
    <comment_count>10</comment_count>
      <attachid>87621</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-30 14:51:43 -0700</bug_when>
    <thetext>Created attachment 87621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376730</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-30 15:23:13 -0700</bug_when>
    <thetext>Looks good, and is simpler than the last patch to boot. Thanks! (note that I am not actualy a reviewer so can&apos;t r+ it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376928</commentid>
    <comment_count>12</comment_count>
      <attachid>87621</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-30 21:24:50 -0700</bug_when>
    <thetext>Comment on attachment 87621
Patch

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

This patch is great!

&gt; Tools/Scripts/webkitpy/common/config/ports.py:47
&gt; +    def interpreter_for_script(cls, script_path):

Maybe we should put this in executive.py?  It&apos;s a win32 feature, not releated to any specific webkit port.

&gt; Tools/Scripts/webkitpy/common/config/ports.py:66
&gt; +        # Win32 does not suppot shebang. We need to detect the interpreter ourself.

support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376929</commentid>
    <comment_count>13</comment_count>
      <attachid>87621</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-30 21:26:20 -0700</bug_when>
    <thetext>Comment on attachment 87621
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/config/ports.py:47
&gt;&gt; +    def interpreter_for_script(cls, script_path):
&gt; 
&gt; Maybe we should put this in executive.py?  It&apos;s a win32 feature, not releated to any specific webkit port.

You should pass in a FileSystem for mocking.  Then your test doesn&apos;t need to even write out to disk if you use a MockFileSystem.

Please be sure to make that change before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378377</commentid>
    <comment_count>14</comment_count>
      <attachid>87972</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-02 03:04:16 -0700</bug_when>
    <thetext>Created attachment 87972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378382</commentid>
    <comment_count>15</comment_count>
      <attachid>87972</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-02 04:19:21 -0700</bug_when>
    <thetext>Comment on attachment 87972
Patch

Clearing flags on attachment: 87972

Committed r82770: &lt;http://trac.webkit.org/changeset/82770&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378383</commentid>
    <comment_count>16</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-02 04:19:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85031</attachid>
            <date>2011-03-08 00:41:27 -0800</date>
            <delta_ts>2011-03-08 00:47:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55927.patch</filename>
            <type>text/plain</type>
            <size>1706</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYTVk
MzU4Li4wNmM3YzA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMDggIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW11bGF0ZSBzaGViYW5nIG9uIFdpbjMyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTkyNworCisgICAgICAgIFNjcmlwdHMgb24g
V2luZG93cyB3b3JrIG9ubHkgaWYgdGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIGV4cGxpY2l0IGlu
dGVycHJldGVyCisgICAgICAgIFJlYWQgdGhlIGZpcnN0IGxpbmUgb2Ygc2NyaXB0cyB0byBkZXRl
Y3QgdGhlIGNvcnJlY3QgZXhlY3V0YWJsZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy9wb3J0cy5weToKKwogMjAxMS0wMy0wNyAgT2phbiBWYWZhaSAgPG9qYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkKaW5kZXggOWE1YTI2OS4u
YjQ2YjQ1MiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmln
L3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0
cy5weQpAQCAtMzAsNiArMzAsNyBAQAogCiBpbXBvcnQgb3MKIGltcG9ydCBwbGF0Zm9ybQoraW1w
b3J0IHN5cwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBF
eGVjdXRpdmUKIApAQCAtNDMsNyArNDQsMTggQEAgY2xhc3MgV2ViS2l0UG9ydChvYmplY3QpOgog
CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHNjcmlwdF9zaGVsbF9jb21tYW5kKGNscywgc2Ny
aXB0X25hbWUpOgotICAgICAgICByZXR1cm4gW2Nscy5zY3JpcHRfcGF0aChzY3JpcHRfbmFtZSld
CisgICAgICAgIHNjcmlwdF9maWxlID0gY2xzLnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKQorCisg
ICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgIyBXaW4zMiBk
b2VzIG5vdCBzdXBwb3Qgc2hlYmFuZy4gV2UgbmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVy
IG91cnNlbGZzLgorICAgICAgICAgICAgZmlyc3RfbGluZSA9IG9wZW4oc2NyaXB0X2ZpbGUsICJy
IikucmVhZGxpbmUoKQorICAgICAgICAgICAgaWYgZmlyc3RfbGluZS5zdGFydHN3aXRoKCIjISIp
OgorICAgICAgICAgICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgicHl0aG9uIik6CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBbc3lzLmV4ZWN1dGFibGUsIHNjcmlwdF9maWxlXQorICAgICAg
ICAgICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgicGVybCIpOgorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gWyJwZXJsIiwgc2NyaXB0X2ZpbGVdCisKKyAgICAgICAgcmV0dXJuIFtzY3JpcHRf
ZmlsZV0KIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgcG9ydChwb3J0X25hbWUpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85032</attachid>
            <date>2011-03-08 00:47:53 -0800</date>
            <delta_ts>2011-03-30 13:12:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55927.patch</filename>
            <type>text/plain</type>
            <size>1715</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYTVk
MzU4Li4wNmM3YzA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMDggIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW11bGF0ZSBzaGViYW5nIG9uIFdpbjMyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTkyNworCisgICAgICAgIFNjcmlwdHMgb24g
V2luZG93cyB3b3JrIG9ubHkgaWYgdGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIGV4cGxpY2l0IGlu
dGVycHJldGVyCisgICAgICAgIFJlYWQgdGhlIGZpcnN0IGxpbmUgb2Ygc2NyaXB0cyB0byBkZXRl
Y3QgdGhlIGNvcnJlY3QgZXhlY3V0YWJsZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy9wb3J0cy5weToKKwogMjAxMS0wMy0wNyAgT2phbiBWYWZhaSAgPG9qYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkKaW5kZXggOWE1YTI2OS4u
MTk5ZDdhMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmln
L3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0
cy5weQpAQCAtMzAsNiArMzAsNyBAQAogCiBpbXBvcnQgb3MKIGltcG9ydCBwbGF0Zm9ybQoraW1w
b3J0IHN5cwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBF
eGVjdXRpdmUKIApAQCAtNDMsNyArNDQsMTggQEAgY2xhc3MgV2ViS2l0UG9ydChvYmplY3QpOgog
CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHNjcmlwdF9zaGVsbF9jb21tYW5kKGNscywgc2Ny
aXB0X25hbWUpOgotICAgICAgICByZXR1cm4gW2Nscy5zY3JpcHRfcGF0aChzY3JpcHRfbmFtZSld
CisgICAgICAgIHNjcmlwdF9maWxlID0gY2xzLnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKQorCisg
ICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgIyBXaW4zMiBk
b2VzIG5vdCBzdXBwb3Qgc2hlYmFuZy4gV2UgbmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVy
IG91cnNlbGYuCisgICAgICAgICAgICBmaXJzdF9saW5lID0gb3BlbihzY3JpcHRfZmlsZSwgInIi
KS5yZWFkbGluZSgpCisgICAgICAgICAgICBpZiBmaXJzdF9saW5lLnN0YXJ0c3dpdGgoIiMhIik6
CisgICAgICAgICAgICAgICAgaWYgZmlyc3RfbGluZS5maW5kKCJweXRob24iKSA+IC0xOgorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gW3N5cy5leGVjdXRhYmxlLCBzY3JpcHRfZmlsZV0KKyAg
ICAgICAgICAgICAgICBpZiBmaXJzdF9saW5lLmZpbmQoInBlcmwiKSA+IC0xOgorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gWyJwZXJsIiwgc2NyaXB0X2ZpbGVdCisKKyAgICAgICAgcmV0dXJu
IFtzY3JpcHRfZmlsZV0KIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgcG9ydChwb3J0X25h
bWUpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87602</attachid>
            <date>2011-03-30 13:12:24 -0700</date>
            <delta_ts>2011-03-30 14:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55927-20110330221221.patch</filename>
            <type>text/plain</type>
            <size>7126</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0NjUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzN2Y4YjhiYzM4ZTE4NzU3ZDBkYzgwMTA0MDVlODJkN2U4
NGI3M2EyLi42OTU3ZTBjYjg2YjI1ZjJmNWI4Y2I5N2JlOTA0Zjk2ZWFmMzA0NGY4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDMtMzAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW11bGF0ZSBz
aGViYW5nIG9uIFdpbjMyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NTkyNworCisgICAgICAgIFNjcmlwdHMgb24gV2luZG93cyB3b3JrIG9ubHkgaWYg
dGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIGV4cGxpY2l0IGludGVycHJldGVyLgorICAgICAgICBS
ZWFkIHRoZSBmaXJzdCBsaW5lIG9mIHNjcmlwdHMgdG8gZGV0ZWN0IHRoZSBjb3JyZWN0IGV4ZWN1
dGFibGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW0u
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1f
dW5pdHRlc3QucHk6CisKIDIwMTEtMDMtMzAgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkKaW5kZXggOWE1YTI2OWM2YWJlNDU0
OGU1OTc4MTk5MWY5MGI0MjI5NWJhOTNkZi4uMjVlMDVkN2RhOWIyYjMzOTc3NjUzNGQ2YTVmNmQx
MmM2YjFkNTJjOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29u
ZmlnL3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9w
b3J0cy5weQpAQCAtMzAsOCArMzAsMTAgQEAKIAogaW1wb3J0IG9zCiBpbXBvcnQgcGxhdGZvcm0K
K2ltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBv
cnQgRXhlY3V0aXZlCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbSBpbXBv
cnQgRmlsZVN5c3RlbQogCiAKIGNsYXNzIFdlYktpdFBvcnQob2JqZWN0KToKQEAgLTQzLDcgKzQ1
LDEyIEBAIGNsYXNzIFdlYktpdFBvcnQob2JqZWN0KToKIAogICAgIEBjbGFzc21ldGhvZAogICAg
IGRlZiBzY3JpcHRfc2hlbGxfY29tbWFuZChjbHMsIHNjcmlwdF9uYW1lKToKLSAgICAgICAgcmV0
dXJuIFtjbHMuc2NyaXB0X3BhdGgoc2NyaXB0X25hbWUpXQorICAgICAgICBzY3JpcHRfcGF0aCA9
IGNscy5zY3JpcHRfcGF0aChzY3JpcHRfbmFtZSkKKyAgICAgICAgIyBXaW4zMiBkb2VzIG5vdCBz
dXBwb3Qgc2hlYmFuZy4gV2UgbmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVyIG91cnNlbGYu
CisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgZnMgPSBG
aWxlU3lzdGVtKCkKKyAgICAgICAgICAgIHJldHVybiBmcy5jb21tYW5kX2Zvcl9maWxlKHNjcmlw
dF9wYXRoKQorICAgICAgICByZXR1cm4gW3NjcmlwdF9wYXRoXQogCiAgICAgQHN0YXRpY21ldGhv
ZAogICAgIGRlZiBwb3J0KHBvcnRfbmFtZSk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5CmluZGV4IDE5ODg1NDZjNjE3MWM5MDM4NmIy
NmE0MjYzYzNiOGE3MzRjMjA3NTcuLjhjNjI2MTY0YjgzNWJhYzk1MTk3YTYwNjZhM2RlODM4ZDhm
NGIzNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9m
aWxlc3lzdGVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9m
aWxlc3lzdGVtLnB5CkBAIC0zNiw2ICszNiw3IEBAIGltcG9ydCBleGNlcHRpb25zCiBpbXBvcnQg
Z2xvYgogaW1wb3J0IG9zCiBpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZp
bGUKIGltcG9ydCB0aW1lCiAKQEAgLTYxLDYgKzYyLDE4IEBAIGNsYXNzIEZpbGVTeXN0ZW0ob2Jq
ZWN0KToKICAgICAgICAgIiIiV3JhcHMgb3MucGF0aC5iYXNlbmFtZSgpLiIiIgogICAgICAgICBy
ZXR1cm4gb3MucGF0aC5iYXNlbmFtZShwYXRoKQogCisgICAgZGVmIGNvbW1hbmRfZm9yX2ZpbGUo
c2VsZiwgcGF0aCk6CisgICAgICAgICIiIlJldHVybnMgdGhlIHBhdGggYW5kIHRoZSBpbnRlcnBy
ZXRlciB0byBleGVjdXRlIHRoZSBnaXZlbiBmaWxlLiIiIgorICAgICAgICBmaXJzdF9saW5lID0g
c2VsZi5yZWFkX3RleHRfZmlsZV9saW5lKHBhdGgpCisgICAgICAgIGlmIGZpcnN0X2xpbmUuc3Rh
cnRzd2l0aCgnIyEnKToKKyAgICAgICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgncHl0aG9uJykg
PiAtMToKKyAgICAgICAgICAgICAgICByZXR1cm4gW3N5cy5leGVjdXRhYmxlLCBwYXRoXQorICAg
ICAgICAgICAgaWYgZmlyc3RfbGluZS5maW5kKCdwZXJsJykgPiAtMToKKyAgICAgICAgICAgICAg
ICByZXR1cm4gWydwZXJsJywgcGF0aF0KKyAgICAgICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgn
cnVieScpID4gLTE6CisgICAgICAgICAgICAgICAgcmV0dXJuIFsncnVieScsIHBhdGhdCisgICAg
ICAgIHJldHVybiBbcGF0aF0KKwogICAgIGRlZiBjb3B5ZmlsZShzZWxmLCBzb3VyY2UsIGRlc3Rp
bmF0aW9uKToKICAgICAgICAgIiIiQ29waWVzIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBhdCB0
aGUgZ2l2ZW4gcGF0aCB0byB0aGUgZGVzdGluYXRpb24KICAgICAgICAgcGF0aC4iIiIKQEAgLTI1
NSw2ICsyNjgsMTMgQEAgY2xhc3MgRmlsZVN5c3RlbShvYmplY3QpOgogICAgICAgICB3aXRoIGNv
ZGVjcy5vcGVuKHBhdGgsICdyJywgJ3V0ZjgnKSBhcyBmOgogICAgICAgICAgICAgcmV0dXJuIGYu
cmVhZCgpCiAKKyAgICBkZWYgcmVhZF90ZXh0X2ZpbGVfbGluZShzZWxmLCBwYXRoKToKKyAgICAg
ICAgIiIiUmV0dXJuIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBwYXRo
IGFzIGEgVW5pY29kZSBzdHJpbmcuCisKKyAgICAgICAgVGhlIGZpbGUgaXMgcmVhZCBhc3N1bWlu
ZyBpdCBpcyBhIFVURi04IGVuY29kZWQgZmlsZSB3aXRoIG5vIEJPTS4iIiIKKyAgICAgICAgd2l0
aCBjb2RlY3Mub3BlbihwYXRoLCAncicsICd1dGY4JykgYXMgZjoKKyAgICAgICAgICAgIHJldHVy
biBmLnJlYWRsaW5lKCkKKwogICAgIGRlZiBzcGxpdGV4dChzZWxmLCBwYXRoKToKICAgICAgICAg
IiIiUmV0dXJuIChkaXJuYW1lICsgb3Muc2VwICsgYmFzZW5hbWUsICcuJyArIGV4dCkiIiIKICAg
ICAgICAgcmV0dXJuIG9zLnBhdGguc3BsaXRleHQocGF0aCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fdW5pdHRlc3QucHkK
aW5kZXggODQ1NWQ3MjkwMGM0NjFhNWU5Y2RjOTAxZTA3ZjkxNzRiM2U5ZWY4MS4uZTkxYTQ2MDYz
OWZjZTVjNmNmYjQ4N2M4NjU5OWIxNjkwMDM3NzBjNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fdW5pdHRlc3QucHkK
QEAgLTQ4LDYgKzQ4LDM5IEBAIGNsYXNzIEZpbGVTeXN0ZW1UZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgc2VsZi5fbWlzc2luZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuX3RoaXNf
ZGlyLCAnbWlzc2luZ19maWxlLnB5JykKICAgICAgICAgc2VsZi5fdGhpc19maWxlID0gb3MucGF0
aC5qb2luKHNlbGYuX3RoaXNfZGlyLCAnZmlsZXN5c3RlbV91bml0dGVzdC5weScpCiAKKyAgICBk
ZWYgYXNzZXJ0X2NvbW1hbmRfZm9yX2ZpbGUoc2VsZiwgZXhlY3V0YWJsZSwgY29udGVudCk6Cisg
ICAgICAgIGZzID0gRmlsZVN5c3RlbSgpCisgICAgICAgIGZpbGVfcGF0aCA9IE5vbmUKKyAgICAg
ICAgY29tbWFuZCA9IE5vbmUKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBmaWxlX3BhdGgg
PSB0ZW1wZmlsZS5ta3RlbXAocHJlZml4PSd0cmVlX3VuaXR0ZXN0XycpCisgICAgICAgICAgICBm
cy53cml0ZV90ZXh0X2ZpbGUoZmlsZV9wYXRoLCBjb250ZW50KQorICAgICAgICAgICAgY29tbWFu
ZCA9IGZzLmNvbW1hbmRfZm9yX2ZpbGUoZmlsZV9wYXRoKQorICAgICAgICBleGNlcHQ6CisgICAg
ICAgICAgICBpZiBmaWxlX3BhdGg6CisgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVfcGF0
aCkKKworICAgICAgICBpZiBleGVjdXRhYmxlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChjb21tYW5kLCBbZXhlY3V0YWJsZSwgZmlsZV9wYXRoXSkKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tbWFuZCwgW2ZpbGVfcGF0aF0pCisKKyAgICBkZWYg
dGVzdF9jb21tYW5kX2Zvcl9maWxlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF9jb21tYW5k
X2Zvcl9maWxlKE5vbmUsICcnKQorICAgICAgICBzZWxmLmFzc2VydF9jb21tYW5kX2Zvcl9maWxl
KE5vbmUsICdhYmNkXG5lZmdoXG5pamtsbScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2NvbW1hbmRf
Zm9yX2ZpbGUoTm9uZSwgJyMjL3Vzci9iaW4vcGVybCcpCisgICAgICAgIHNlbGYuYXNzZXJ0X2Nv
bW1hbmRfZm9yX2ZpbGUoJ3BlcmwnLCAnIyEvdXNyL2Jpbi9lbnYgcGVybCcpCisgICAgICAgIHNl
bGYuYXNzZXJ0X2NvbW1hbmRfZm9yX2ZpbGUoJ3BlcmwnLCAnIyEvdXNyL2Jpbi9lbnYgcGVybFxu
Zmlyc3RcbnNlY29uZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0X2NvbW1hbmRfZm9yX2ZpbGUoJ3Bl
cmwnLCAnIyEvdXNyL2Jpbi9wZXJsJykKKyAgICAgICAgc2VsZi5hc3NlcnRfY29tbWFuZF9mb3Jf
ZmlsZSgncGVybCcsICcjIS91c3IvYmluL3BlcmwgLXcnKQorICAgICAgICBzZWxmLmFzc2VydF9j
b21tYW5kX2Zvcl9maWxlKHN5cy5leGVjdXRhYmxlLCAnIyEvdXNyL2Jpbi9lbnYgcHl0aG9uJykK
KyAgICAgICAgc2VsZi5hc3NlcnRfY29tbWFuZF9mb3JfZmlsZShzeXMuZXhlY3V0YWJsZSwgJyMh
L3Vzci9iaW4vZW52IHB5dGhvblxuZmlyc3RcbnNlY29uZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0
X2NvbW1hbmRfZm9yX2ZpbGUoc3lzLmV4ZWN1dGFibGUsICcjIS91c3IvYmluL3B5dGhvbicpCisg
ICAgICAgIHNlbGYuYXNzZXJ0X2NvbW1hbmRfZm9yX2ZpbGUoJ3J1YnknLCAnIyEvdXNyL2Jpbi9l
bnYgcnVieScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2NvbW1hbmRfZm9yX2ZpbGUoJ3J1YnknLCAn
IyEvdXNyL2Jpbi9lbnYgcnVieVxuZmlyc3RcbnNlY29uZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0
X2NvbW1hbmRfZm9yX2ZpbGUoJ3J1YnknLCAnIyEvdXNyL2Jpbi9ydWJ5JykKKwogICAgIGRlZiB0
ZXN0X2V4aXN0c19fdHJ1ZShzZWxmKToKICAgICAgICAgZnMgPSBGaWxlU3lzdGVtKCkKICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKGZzLmV4aXN0cyhzZWxmLl90aGlzX2ZpbGUpKQpAQCAtMTQ0LDYg
KzE3NywyMSBAQCBjbGFzcyBGaWxlU3lzdGVtVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICAgICBpZiBiaW5hcnlfcGF0aDoKICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoYmluYXJ5
X3BhdGgpCiAKKyAgICBkZWYgdGVzdF9yZWFkX2FuZF93cml0ZV9maWxlKHNlbGYpOgorICAgICAg
ICBmcyA9IEZpbGVTeXN0ZW0oKQorICAgICAgICBmaWxlX3BhdGggPSBOb25lCisKKyAgICAgICAg
Zmlyc3RfbGluZSA9IHUnxapuxK1jxY1kZcy9JworICAgICAgICBtdXRpbGluZV9zdHJpbmcgPSBm
aXJzdF9saW5lICsgdSdcblNlY29uZCBMaW5lXG5UaGlyZCBMaW5lJyArIGZpcnN0X2xpbmUKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgZmlsZV9wYXRoID0gdGVtcGZpbGUubWt0ZW1wKHByZWZp
eD0ndHJlZV91bml0dGVzdF8nKQorICAgICAgICAgICAgZnMud3JpdGVfdGV4dF9maWxlKGZpbGVf
cGF0aCwgbXV0aWxpbmVfc3RyaW5nKQorICAgICAgICAgICAgZmlsZV9maXJzdF9saW5lID0gZnMu
cmVhZF90ZXh0X2ZpbGVfbGluZShmaWxlX3BhdGgzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChmaWxlX2ZpcnN0X2xpbmUsIGZpcnN0X2xpbmUpCisgICAgICAgIGV4Y2VwdDoKKyAgICAg
ICAgICAgIGlmIGZpbGVfcGF0aDoKKyAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZmlsZV9wYXRo
KQorCiAgICAgZGVmIHRlc3RfcmVhZF9iaW5hcnlfZmlsZV9fbWlzc2luZyhzZWxmKToKICAgICAg
ICAgZnMgPSBGaWxlU3lzdGVtKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwg
ZnMucmVhZF9iaW5hcnlfZmlsZSwgc2VsZi5fbWlzc2luZ19maWxlKQpAQCAtMTUyLDYgKzIwMCwx
MCBAQCBjbGFzcyBGaWxlU3lzdGVtVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZz
ID0gRmlsZVN5c3RlbSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGZzLnJl
YWRfdGV4dF9maWxlLCBzZWxmLl9taXNzaW5nX2ZpbGUpCiAKKyAgICBkZWYgdGVzdF9yZWFkX3Rl
eHRfZmlsZV9saW5lX19taXNzaW5nKHNlbGYpOgorICAgICAgICBmcyA9IEZpbGVTeXN0ZW0oKQor
ICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBmcy5yZWFkX3RleHRfZmlsZV9saW5l
LCBzZWxmLl9taXNzaW5nX2ZpbGUpCisKICAgICBkZWYgdGVzdF9yZW1vdmVfZmlsZV93aXRoX3Jl
dHJ5KHNlbGYpOgogICAgICAgICBGaWxlU3lzdGVtVGVzdC5fcmVtb3ZlX2ZhaWx1cmVzID0gMgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87621</attachid>
            <date>2011-03-30 14:51:43 -0700</date>
            <delta_ts>2011-04-02 03:04:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55927-20110330235140.patch</filename>
            <type>text/plain</type>
            <size>4813</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0OTkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0NzlmZDQxODAyNDZhZmMzYzRiZmU0MjgzYWJjNWNiZWU5
M2VmNzQzLi45MTRlZWViMjYyMmRkMjdlYWYyMTgyYTA3MjI3YzI5MmZkYjFiYWExIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDMtMzAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW11bGF0ZSBz
aGViYW5nIG9uIFdpbjMyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NTkyNworCisgICAgICAgIFNjcmlwdHMgb24gV2luZG93cyB3b3JrIG9ubHkgaWYg
dGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIGV4cGxpY2l0IGludGVycHJldGVyLgorICAgICAgICBS
ZWFkIHRoZSBmaXJzdCBsaW5lIG9mIHNjcmlwdHMgdG8gZGV0ZWN0IHRoZSBjb3JyZWN0IGV4ZWN1
dGFibGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0
ZXN0LnB5OgorCiAyMDExLTAzLTMwICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQppbmRleCA5YTVhMjY5YzZhYmU0NTQ4ZTU5
NzgxOTkxZjkwYjQyMjk1YmE5M2RmLi41MjJiODI0YTkyMGVjMTNmZDMxNWI1ODY5NWM0ZjRmZmEw
NjI2YmQxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcv
cG9ydHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRz
LnB5CkBAIC0zMCw4ICszMCwxMCBAQAogCiBpbXBvcnQgb3MKIGltcG9ydCBwbGF0Zm9ybQoraW1w
b3J0IHN5cwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBF
eGVjdXRpdmUKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBG
aWxlU3lzdGVtCiAKIAogY2xhc3MgV2ViS2l0UG9ydChvYmplY3QpOgpAQCAtNDIsOCArNDQsMzEg
QEAgY2xhc3MgV2ViS2l0UG9ydChvYmplY3QpOgogICAgICAgICByZXR1cm4gb3MucGF0aC5qb2lu
KCJUb29scyIsICJTY3JpcHRzIiwgc2NyaXB0X25hbWUpCiAKICAgICBAY2xhc3NtZXRob2QKKyAg
ICBkZWYgaW50ZXJwcmV0ZXJfZm9yX3NjcmlwdChjbHMsIHNjcmlwdF9wYXRoKToKKyAgICAgICAg
ZnMgPSBGaWxlU3lzdGVtKCkKKyAgICAgICAgbGluZXMgPSBmcy5yZWFkX3RleHRfZmlsZShzY3Jp
cHRfcGF0aCkuc3BsaXRsaW5lcygpCisgICAgICAgIGlmIG5vdCBsZW4obGluZXMpOgorICAgICAg
ICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZmlyc3RfbGluZSA9IGxpbmVzWzBdCisgICAgICAg
IGlmIG5vdCBmaXJzdF9saW5lLnN0YXJ0c3dpdGgoJyMhJyk6CisgICAgICAgICAgICByZXR1cm4g
Tm9uZQorICAgICAgICBpZiBmaXJzdF9saW5lLmZpbmQoJ3B5dGhvbicpID4gLTE6CisgICAgICAg
ICAgICByZXR1cm4gc3lzLmV4ZWN1dGFibGUKKyAgICAgICAgaWYgZmlyc3RfbGluZS5maW5kKCdw
ZXJsJykgPiAtMToKKyAgICAgICAgICAgIHJldHVybiAncGVybCcKKyAgICAgICAgaWYgZmlyc3Rf
bGluZS5maW5kKCdydWJ5JykgPiAtMToKKyAgICAgICAgICAgIHJldHVybiAncnVieScKKyAgICAg
ICAgcmV0dXJuIE5vbmUKKworICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBzY3JpcHRfc2hlbGxf
Y29tbWFuZChjbHMsIHNjcmlwdF9uYW1lKToKLSAgICAgICAgcmV0dXJuIFtjbHMuc2NyaXB0X3Bh
dGgoc2NyaXB0X25hbWUpXQorICAgICAgICBzY3JpcHRfcGF0aCA9IGNscy5zY3JpcHRfcGF0aChz
Y3JpcHRfbmFtZSkKKyAgICAgICAgIyBXaW4zMiBkb2VzIG5vdCBzdXBwb3Qgc2hlYmFuZy4gV2Ug
bmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVyIG91cnNlbGYuCisgICAgICAgIGlmIHN5cy5w
bGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgaW50ZXJwcmV0ZXIgPSBzZWxmLmludGVy
cHJldGVyX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgpCisgICAgICAgICAgICBpZiBpbnRlcnByZXRl
cjoKKyAgICAgICAgICAgICAgICByZXR1cm4gW2ludGVycHJldGVyLCBzY3JpcHRfcGF0aF0KKyAg
ICAgICAgcmV0dXJuIFtzY3JpcHRfcGF0aF0KIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYg
cG9ydChwb3J0X25hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5CmluZGV4IGJhMjU1YzAyZDZlMzIzNzJjYzhmYzA0
NmI2Yzc3ZTgxMWEwNjU5NjkuLmYyOWRjNGJlNzYzNjU1M2ZkZGE0MmJkYjVmMGUwMTQyOTFjZTMw
ZjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0
c191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcv
cG9ydHNfdW5pdHRlc3QucHkKQEAgLTI3LDEyICsyNyw0MyBAQAogIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAoraW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3
ZWJraXRweS5jb21tb24uY29uZmlnLnBvcnRzIGltcG9ydCAqCiAKIAogY2xhc3MgV2ViS2l0UG9y
dFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBhc3NlcnRfaW50ZXJwcmV0ZXJfZm9y
X2NvbnRlbnQoc2VsZiwgaW50ZXByZXRlciwgY29udGVudCk6CisgICAgICAgIGZzID0gRmlsZVN5
c3RlbSgpCisgICAgICAgIGZpbGVfcGF0aCA9IE5vbmUKKyAgICAgICAgZmlsZV9pbnRlcnByZXRl
ciA9IE5vbmUKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBmaWxlX3BhdGggPSB0ZW1wZmls
ZS5ta3RlbXAocHJlZml4PSd0cmVlX3VuaXR0ZXN0XycpCisgICAgICAgICAgICBmcy53cml0ZV90
ZXh0X2ZpbGUoZmlsZV9wYXRoLCBjb250ZW50KQorICAgICAgICAgICAgZmlsZV9pbnRlcnByZXRl
ciA9IFdlYktpdFBvcnQuaW50ZXJwcmV0ZXJfZm9yX3NjcmlwdChmaWxlX3BhdGgpCisgICAgICAg
IGV4Y2VwdDoKKyAgICAgICAgICAgIGlmIGZpbGVfcGF0aDoKKyAgICAgICAgICAgICAgICBvcy5y
ZW1vdmUoZmlsZV9wYXRoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZV9pbnRlcnBy
ZXRlciwgaW50ZXByZXRlcikKKworICAgIGRlZiB0ZXN0X2ludGVycHJldGVyX2Zvcl9zY3JpcHQo
c2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0X2ludGVycHJldGVyX2Zvcl9jb250ZW50KE5vbmUs
ICcnKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChOb25lLCAn
YWJjZFxuZWZnaFxuaWprbG0nKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3Jf
Y29udGVudChOb25lLCAnIyMvdXNyL2Jpbi9wZXJsJykKKyAgICAgICAgc2VsZi5hc3NlcnRfaW50
ZXJwcmV0ZXJfZm9yX2NvbnRlbnQoJ3BlcmwnLCAnIyEvdXNyL2Jpbi9lbnYgcGVybCcpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2ludGVycHJldGVyX2Zvcl9jb250ZW50KCdwZXJsJywgJyMhL3Vzci9i
aW4vZW52IHBlcmxcbmZpcnN0XG5zZWNvbmQnKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnBy
ZXRlcl9mb3JfY29udGVudCgncGVybCcsICcjIS91c3IvYmluL3BlcmwnKQorICAgICAgICBzZWxm
LmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudCgncGVybCcsICcjIS91c3IvYmluL3Blcmwg
LXcnKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChzeXMuZXhl
Y3V0YWJsZSwgJyMhL3Vzci9iaW4vZW52IHB5dGhvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2lu
dGVycHJldGVyX2Zvcl9jb250ZW50KHN5cy5leGVjdXRhYmxlLCAnIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uXG5maXJzdFxuc2Vjb25kJykKKyAgICAgICAgc2VsZi5hc3NlcnRfaW50ZXJwcmV0ZXJfZm9y
X2NvbnRlbnQoc3lzLmV4ZWN1dGFibGUsICcjIS91c3IvYmluL3B5dGhvbicpCisgICAgICAgIHNl
bGYuYXNzZXJ0X2ludGVycHJldGVyX2Zvcl9jb250ZW50KCdydWJ5JywgJyMhL3Vzci9iaW4vZW52
IHJ1YnknKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudCgncnVi
eScsICcjIS91c3IvYmluL2VudiBydWJ5XG5maXJzdFxuc2Vjb25kJykKKyAgICAgICAgc2VsZi5h
c3NlcnRfaW50ZXJwcmV0ZXJfZm9yX2NvbnRlbnQoJ3J1YnknLCAnIyEvdXNyL2Jpbi9ydWJ5JykK
KwogICAgIGRlZiB0ZXN0X21hY19wb3J0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhNYWNQb3J0Lm5hbWUoKSwgIk1hYyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKE1hY1Bv
cnQuZmxhZygpLCAiLS1wb3J0PW1hYyIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87972</attachid>
            <date>2011-04-02 03:04:16 -0700</date>
            <delta_ts>2011-04-02 04:19:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55927-20110402120413.patch</filename>
            <type>text/plain</type>
            <size>5533</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3MjcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNTk5MTRmZTg5ZmU1MWU1YWJmMTgwYTcwYjc1MTY3YTI4
N2M5NDVjLi4xOWI1Zjg0Y2QzMTg1ZDk5Y2M0NjUxZGVkZGFiNWYyYmZhMmRlODIyIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDQtMDIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW11bGF0ZSBz
aGViYW5nIG9uIFdpbjMyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NTkyNworCisgICAgICAgIFNjcmlwdHMgb24gV2luZG93cyB3b3JrIG9ubHkgaWYg
dGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIGV4cGxpY2l0IGludGVycHJldGVyLgorICAgICAgICBS
ZWFkIHRoZSBmaXJzdCBsaW5lIG9mIHNjcmlwdHMgdG8gZGV0ZWN0IHRoZSBjb3JyZWN0IGV4ZWN1
dGFibGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5w
eTogQWRkZWQgaW50ZXJwcmV0ZXJfZm9yX3NjcmlwdCgpLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHk6CisKIDIwMTEtMDQtMDEg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IFJvYmVuLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmln
L3BvcnRzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5
CmluZGV4IDlhNWEyNjljNmFiZTQ1NDhlNTk3ODE5OTFmOTBiNDIyOTViYTkzZGYuLjEzOWQwMzkx
NDEyNWIxZWZlNGUyMTkzMzMzYTYxOGI1MWVhNWE1NzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkKQEAgLTMwLDYgKzMwLDcgQEAKIAogaW1wb3J0
IG9zCiBpbXBvcnQgcGxhdGZvcm0KK2ltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCiAKQEAgLTQzLDcgKzQ0LDEzIEBAIGNs
YXNzIFdlYktpdFBvcnQob2JqZWN0KToKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBzY3Jp
cHRfc2hlbGxfY29tbWFuZChjbHMsIHNjcmlwdF9uYW1lKToKLSAgICAgICAgcmV0dXJuIFtjbHMu
c2NyaXB0X3BhdGgoc2NyaXB0X25hbWUpXQorICAgICAgICBzY3JpcHRfcGF0aCA9IGNscy5zY3Jp
cHRfcGF0aChzY3JpcHRfbmFtZSkKKyAgICAgICAgIyBXaW4zMiBkb2VzIG5vdCBzdXBwb3J0IHNo
ZWJhbmcuIFdlIG5lZWQgdG8gZGV0ZWN0IHRoZSBpbnRlcnByZXRlciBvdXJzZWxmLgorICAgICAg
ICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICAgICAgICAgIGludGVycHJldGVyID0g
RXhlY3V0aXZlLmludGVycHJldGVyX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgpCisgICAgICAgICAg
ICBpZiBpbnRlcnByZXRlcjoKKyAgICAgICAgICAgICAgICByZXR1cm4gW2ludGVycHJldGVyLCBz
Y3JpcHRfcGF0aF0KKyAgICAgICAgcmV0dXJuIFtzY3JpcHRfcGF0aF0KIAogICAgIEBzdGF0aWNt
ZXRob2QKICAgICBkZWYgcG9ydChwb3J0X25hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkKaW5kZXggMDI2MTlkYjRkNWQ3YjQxYmQ3
NzQ0YzQ2ZWE5NDk1MzY1OWRlZTJiMy4uN2QxOThkZDQzZWEyNTMyZjhhYzAwMjRjYWM0NDE2YzQ2
ZmJkZmQ3MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
ZXhlY3V0aXZlLnB5CkBAIC00NSw2ICs0NSw3IEBAIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCiAK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IHRl
ZQorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0
ZW0KIGZyb20gd2Via2l0cHkucHl0aG9uMjQgaW1wb3J0IHZlcnNpb25pbmcKIAogCkBAIC0xNzks
NiArMTgwLDIyIEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogICAgICAgICAjIG1hY2hpbmVz
LgogICAgICAgICByZXR1cm4gMgogCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBpbnRlcnBy
ZXRlcl9mb3Jfc2NyaXB0KHNjcmlwdF9wYXRoLCBmcz1GaWxlU3lzdGVtKCkpOgorICAgICAgICBs
aW5lcyA9IGZzLnJlYWRfdGV4dF9maWxlKHNjcmlwdF9wYXRoKS5zcGxpdGxpbmVzKCkKKyAgICAg
ICAgaWYgbm90IGxlbihsaW5lcyk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBm
aXJzdF9saW5lID0gbGluZXNbMF0KKyAgICAgICAgaWYgbm90IGZpcnN0X2xpbmUuc3RhcnRzd2l0
aCgnIyEnKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGlmIGZpcnN0X2xpbmUu
ZmluZCgncHl0aG9uJykgPiAtMToKKyAgICAgICAgICAgIHJldHVybiBzeXMuZXhlY3V0YWJsZQor
ICAgICAgICBpZiBmaXJzdF9saW5lLmZpbmQoJ3BlcmwnKSA+IC0xOgorICAgICAgICAgICAgcmV0
dXJuICdwZXJsJworICAgICAgICBpZiBmaXJzdF9saW5lLmZpbmQoJ3J1YnknKSA+IC0xOgorICAg
ICAgICAgICAgcmV0dXJuICdydWJ5JworICAgICAgICByZXR1cm4gTm9uZQorCiAgICAgZGVmIGtp
bGxfcHJvY2VzcyhzZWxmLCBwaWQpOgogICAgICAgICAiIiJBdHRlbXB0cyB0byBraWxsIHRoZSBn
aXZlbiBwaWQuCiAgICAgICAgIFdpbGwgZmFpbCBzaWxlbnRseSBpZiBwaWQgZG9lcyBub3QgZXhp
c3Qgb3IgaW5zdWZmaWNpZW50IHBlcm1pc3NzaW9ucy4iIiIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDFkYWRjMzY4YTc4YjM2YTI1YjdlZWI5NGZlMDhiYmZiMDdhZjdiMTEuLjlhMTRkNmIxNzUw
N2Y3NTJkY2IwZjU2NTk2ZTQzN2VkNDVmOGE1ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQpAQCAt
MzQsNiArMzQsNyBAQCBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBydW5fY29tbWFuZCwg
U2NyaXB0RXJyb3IKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sg
aW1wb3J0IE1vY2tGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LnRlc3QgaW1wb3J0IGNhdCwgZWNo
bwogCiAKQEAgLTY1LDYgKzY2LDMzIEBAIGRlZiBuZXZlcl9lbmRpbmdfY29tbWFuZCgpOgogCiBj
bGFzcyBFeGVjdXRpdmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgIGRlZiBhc3NlcnRf
aW50ZXJwcmV0ZXJfZm9yX2NvbnRlbnQoc2VsZiwgaW50ZXByZXRlciwgY29udGVudCk6CisgICAg
ICAgIGZzID0gTW9ja0ZpbGVTeXN0ZW0oKQorICAgICAgICBmaWxlX3BhdGggPSBOb25lCisgICAg
ICAgIGZpbGVfaW50ZXJwcmV0ZXIgPSBOb25lCisKKyAgICAgICAgdGVtcGZpbGUsIHRlbXBfbmFt
ZSA9IGZzLm9wZW5fYmluYXJ5X3RlbXBmaWxlKCcnKQorICAgICAgICB0ZW1wZmlsZS53cml0ZShj
b250ZW50KQorICAgICAgICB0ZW1wZmlsZS5jbG9zZSgpCisgICAgICAgIGZpbGVfaW50ZXJwcmV0
ZXIgPSBFeGVjdXRpdmUuaW50ZXJwcmV0ZXJfZm9yX3NjcmlwdCh0ZW1wX25hbWUsIGZzKQorCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZV9pbnRlcnByZXRlciwgaW50ZXByZXRlcikKKwor
ICAgIGRlZiB0ZXN0X2ludGVycHJldGVyX2Zvcl9zY3JpcHQoc2VsZik6CisgICAgICAgIHNlbGYu
YXNzZXJ0X2ludGVycHJldGVyX2Zvcl9jb250ZW50KE5vbmUsICcnKQorICAgICAgICBzZWxmLmFz
c2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChOb25lLCAnYWJjZFxuZWZnaFxuaWprbG0nKQor
ICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChOb25lLCAnIyMvdXNy
L2Jpbi9wZXJsJykKKyAgICAgICAgc2VsZi5hc3NlcnRfaW50ZXJwcmV0ZXJfZm9yX2NvbnRlbnQo
J3BlcmwnLCAnIyEvdXNyL2Jpbi9lbnYgcGVybCcpCisgICAgICAgIHNlbGYuYXNzZXJ0X2ludGVy
cHJldGVyX2Zvcl9jb250ZW50KCdwZXJsJywgJyMhL3Vzci9iaW4vZW52IHBlcmxcbmZpcnN0XG5z
ZWNvbmQnKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudCgncGVy
bCcsICcjIS91c3IvYmluL3BlcmwnKQorICAgICAgICBzZWxmLmFzc2VydF9pbnRlcnByZXRlcl9m
b3JfY29udGVudCgncGVybCcsICcjIS91c3IvYmluL3BlcmwgLXcnKQorICAgICAgICBzZWxmLmFz
c2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChzeXMuZXhlY3V0YWJsZSwgJyMhL3Vzci9iaW4v
ZW52IHB5dGhvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2ludGVycHJldGVyX2Zvcl9jb250ZW50
KHN5cy5leGVjdXRhYmxlLCAnIyEvdXNyL2Jpbi9lbnYgcHl0aG9uXG5maXJzdFxuc2Vjb25kJykK
KyAgICAgICAgc2VsZi5hc3NlcnRfaW50ZXJwcmV0ZXJfZm9yX2NvbnRlbnQoc3lzLmV4ZWN1dGFi
bGUsICcjIS91c3IvYmluL3B5dGhvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2ludGVycHJldGVy
X2Zvcl9jb250ZW50KCdydWJ5JywgJyMhL3Vzci9iaW4vZW52IHJ1YnknKQorICAgICAgICBzZWxm
LmFzc2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudCgncnVieScsICcjIS91c3IvYmluL2VudiBy
dWJ5XG5maXJzdFxuc2Vjb25kJykKKyAgICAgICAgc2VsZi5hc3NlcnRfaW50ZXJwcmV0ZXJfZm9y
X2NvbnRlbnQoJ3J1YnknLCAnIyEvdXNyL2Jpbi9ydWJ5JykKKwogICAgIGRlZiB0ZXN0X3J1bl9j
b21tYW5kX3dpdGhfYmFkX2NvbW1hbmQoc2VsZik6CiAgICAgICAgIGRlZiBydW5fYmFkX2NvbW1h
bmQoKToKICAgICAgICAgICAgIHJ1bl9jb21tYW5kKFsiZm9vX2Jhcl9jb21tYW5kX2JsYWgiXSwg
ZXJyb3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yLCByZXR1cm5fZXhpdF9jb2RlPVRy
dWUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>